From 9a1a4d48c826cfadba03f63a28aad64edb5eef41 Mon Sep 17 00:00:00 2001 From: Daniel Kochmanski Date: Sun, 30 Apr 2017 12:38:48 +0200 Subject: [PATCH] packages: accessors: allocate new objects There were two fixme's which returned internal data structure (without copying it). --- src/c/package.d | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/c/package.d b/src/c/package.d index 5b7c33029..636d045b5 100644 --- a/src/c/package.d +++ b/src/c/package.d @@ -900,17 +900,15 @@ cl_find_package(cl_object p) cl_object cl_package_name(cl_object p) { - /* FIXME: name should be a fresh one */ p = si_coerce_to_package(p); - @(return p->pack.name); + return cl_copy_seq(p->pack.name); } cl_object cl_package_nicknames(cl_object p) { - /* FIXME: list should be a fresh one */ p = si_coerce_to_package(p); - @(return p->pack.nicknames); + return cl_copy_list(p->pack.nicknames); } @(defun rename_package (pack new_name &o new_nicknames)