aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/compress.js1
-rw-r--r--test/compress/arguments.js71
2 files changed, 72 insertions, 0 deletions
diff --git a/lib/compress.js b/lib/compress.js
index ab68c45d..f33b97bc 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -9905,6 +9905,7 @@ merge(Compressor.prototype, {
} else if (argname instanceof AST_Destructured) {
argname = null;
} else if (argname && (compressor.has_directive("use strict")
+ || fn.name
|| !(fn_parent instanceof AST_Call && index < fn_parent.args.length)
|| !all(fn.argnames, function(argname) {
return !(argname instanceof AST_Destructured);
diff --git a/test/compress/arguments.js b/test/compress/arguments.js
index c3ef226e..39628b50 100644
--- a/test/compress/arguments.js
+++ b/test/compress/arguments.js
@@ -871,3 +871,74 @@ issue_4397: {
}
expect_stdout: "string"
}
+
+issue_4410_1: {
+ options = {
+ arguments: true,
+ conditionals: true,
+ evaluate: true,
+ reduce_vars: true,
+ }
+ input: {
+ (function(a) {
+ console.log(arguments[0] === (a = 0) ? "FAIL" : "PASS");
+ })(1);
+ }
+ expect: {
+ (function(a) {
+ console.log(a === (a = 0) ? "FAIL" : "PASS");
+ })(1);
+ }
+ expect_stdout: "PASS"
+}
+
+issue_4410_2: {
+ options = {
+ arguments: true,
+ conditionals: true,
+ evaluate: true,
+ reduce_vars: true,
+ }
+ input: {
+ (function f(a) {
+ console.log(arguments[0] === (a = 0) ? "FAIL" : "PASS");
+ })(1);
+ }
+ expect: {
+ (function f(a) {
+ console.log(arguments[0] === (a = 0) ? "FAIL" : "PASS");
+ })(1);
+ }
+ expect_stdout: "PASS"
+}
+
+issue_4410_3: {
+ options = {
+ arguments: true,
+ }
+ input: {
+ var a = 1;
+ (function f(b) {
+ a-- && f();
+ for (var c = 2; c--;)
+ switch (arguments[0]) {
+ case b = 42:
+ case 42:
+ console.log("PASS");
+ }
+ })(null);
+ }
+ expect: {
+ var a = 1;
+ (function f(b) {
+ a-- && f();
+ for (var c = 2; c--;)
+ switch (arguments[0]) {
+ case b = 42:
+ case 42:
+ console.log("PASS");
+ }
+ })(null);
+ }
+ expect_stdout: "PASS"
+}
Add auto-update? field to mpd-configuration....* gnu/services/audio.scm (mpd-configuration) [auto-update?]: New field. * doc/guix.texi (Audio Services): Update doc. Maxim Cournoyer 2023-04-02services: mympd: Use records for user and group fields....* gnu/services/audio.scm (%mympd-user, %mympd-group) (mympd-user-sanitizer, mympd-group-sanitizer): New variables. (mympd-configuration)[user]: Use user-account as value type. Sanitize via mympd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mympd-group-sanitizer. (mympd-serialize-configuration): Adjust accordingly. (mympd-accounts): Likewise. * doc/guix.texi (Audio Services)[myMPD]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal 2023-04-02services: mpd: Use proper records for user and group fields....Deprecate using strings for these fields and prefer user-account (resp. user-group) instead to avoid duplication within account-service-type. Fixes #61570 <https://issues.guix.gnu.org/61570>. * gnu/services/audio.scm (%mpd-user, %mpd-group) (mpd-serialize-user-account, mpd-serialize-user-group) (mpd-user-sanitizer, mpd-group-sanitizer): New variables. (mpd-configuration)[user]: Use user-account as value type. Sanitize via mpd-user-sanitizer. [group]: Use user-group as value type. Sanitize via mpd-group-sanitizer. (mpd-shepherd-service): Adjust accordingly. (mpd-accounts): Likewise. * doc/guix.texi (Audio Services)[Music Player Daemon]: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal 2023-04-02services: mpd: Fix unintentional API breakage for mixer-type field....* gnu/services/audio.scm (mpd-output)[mixer-type]: Use sanitizer to accept both strings and symbols as values. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal 2023-04-02services: replace bare serializers with (serializer ...)...* gnu/home/services/shells.scm (home-zsh-configuration)[environment-variables]: Use (serializer ...). (home-bash-configuration)[aliases, environment-variables]: Likewise. (home-fish-configuration)[abbreviations, aliases] [environment-variables]: Likewise. * gnu/services/audio.scm (mpd-configuration)[music-dir, playlist-dir] [endpoints, address, inputs, archive-plugins, input-cache-size] [decoders, filters, playlist-plugins]: Likewise. * gnu/services/linux.scm (fstrim-configuration)[extra-arguments]: Likewise. * gnu/services/security.scm (fail2ban-jail-configuration)[backend] [log-encoding, extra-content]: Likewise. * tests/services/configuration.scm: Update tests. ("serialize-configuration [deprecated]"): New test. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal 2023-03-24services: mpd: Set PulseAudio-related variables....These variables are necessary for PulseAudio to work properly out-of-the-box for 'non-interactive' users. * doc/guix.texi (Audio Services): Update environment-variables field description for mpd-configuration data type. * gnu/services/audio.scm (mpd-configuration)[environment-variables]: Set PULSE_CLIENTCONFIG and PULSE_CONFIG environment variables to the system-wide PulseAudio configuration. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal 2023-03-24services: audio: Remove redundant list-of-string? predicate....Use list-of-strings? predicate defined in (gnu services configuration). * gnu/services/audio.scm (list-of-string?): Remove predicate. (mpd-serialize-list-of-string): Rename procedure to ... (mpd-serialize-list-of-strings): ... this. (mpd-configuration)[environment-variables]: Switch to list-of-strings. [endpoints]: Switch to maybe-list-of-strings. (mympd-ip-acl)[allow, deny]: Switch to list-of-strings. (mympd-serialize-configuration): Rename serialize-list-of-string to serialize-list-of-strings. * doc/guix.texi (Audio Services): Update it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal 2023-03-24services: mympd: Require 'syslog service when configured to log to syslog....* gnu/services/audio.scm (mympd-shepherd-service): Depend on 'syslog when configured to log to syslog. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal