[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkg 1424d2c6b7 61/76: Fix intern-soft
From: |
Gerd Moellmann |
Subject: |
pkg 1424d2c6b7 61/76: Fix intern-soft |
Date: |
Fri, 21 Oct 2022 00:16:15 -0400 (EDT) |
branch: pkg
commit 1424d2c6b70e9a20502ce607d7af74588f7f0c31
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Fix intern-soft
* src/pkg.c (conflicting_package): Remove unused function.
(pkg_emacs_intern_soft): If checking a symbol, return non-nil only if
we found exactly that symbol.
---
src/pkg.c | 36 ++++++++----------------------------
1 file changed, 8 insertions(+), 28 deletions(-)
diff --git a/src/pkg.c b/src/pkg.c
index bb6cd5d2c1..80e9ed7cc3 100644
--- a/src/pkg.c
+++ b/src/pkg.c
@@ -186,27 +186,6 @@ package_or_default (Lisp_Object designator)
return package_from_designator (designator);
}
-/* Check for conflicts of NAME and NICKNAMES with registered packages.
- Value is the conflicting package or nil. */
-
-static Lisp_Object
-conflicting_package (Lisp_Object name, Lisp_Object nicknames)
-{
- const Lisp_Object conflict = pkg_find_package (name);
- if (!NILP (conflict))
- return conflict;
-
- Lisp_Object tail = nicknames;
- FOR_EACH_TAIL (tail)
- {
- const Lisp_Object conflict = pkg_find_package (XCAR (tail));
- if (!NILP (conflict))
- return conflict;
- }
-
- return Qnil;
-}
-
/* Register package PACKAGE in the package registry, that is, make it
known under its name and all its nicknames. */
@@ -565,6 +544,7 @@ Lisp_Object
pkg_emacs_intern_soft (Lisp_Object name, Lisp_Object package)
{
/* intern-soft allows symbols. */
+ Lisp_Object orig = name;
if (SYMBOLP (name))
name = SYMBOL_NAME (name);
CHECK_STRING (name);
@@ -582,14 +562,14 @@ pkg_emacs_intern_soft (Lisp_Object name, Lisp_Object
package)
package = package_or_default (package);
Lisp_Object found = lookup_symbol (name, package);
- if (!EQ (found, Qunbound))
- {
- /* We should never find an uninterned symbol in a package. */
- eassert (!NILP (SYMBOL_PACKAGE (found)));
- return found;
- }
+ if (EQ (found, Qunbound))
+ return Qnil;
+ if (SYMBOLP (orig) && !EQ (found, orig))
+ return Qnil;
- return Qnil;
+ /* We should never find an uninterned symbol in a package. */
+ eassert (!NILP (SYMBOL_PACKAGE (found)));
+ return found;
}
/* Implements Emacs' old Funintern function. */
- pkg 8615f5b048 15/76: Can now pdumg withput warnings from cl-defstruct, (continued)
- pkg 8615f5b048 15/76: Can now pdumg withput warnings from cl-defstruct, Gerd Moellmann, 2022/10/21
- pkg 0e5323c908 16/76: Remove Lisp_Symbol::interned, Gerd Moellmann, 2022/10/21
- pkg aa00af4e17 26/76: Consider shorthands out of scope, Gerd Moellmann, 2022/10/21
- pkg 4c1bbd4fd7 31/76: intern-soft with ':' trick, Gerd Moellmann, 2022/10/21
- pkg ea65e35cf3 28/76: src/alloc.c: Remove all uses of `pure_alloc`, Gerd Moellmann, 2022/10/21
- pkg a5f6912c6d 30/76: Mapatoms differently, Gerd Moellmann, 2022/10/21
- pkg 2edc30628a 27/76: Use build_pure_c_string, Gerd Moellmann, 2022/10/21
- pkg 85c0eb1682 36/76: Merge remote-tracking branch 'origin/master' into pkg, Gerd Moellmann, 2022/10/21
- pkg 07f0b758ae 62/76: hash_remove_from_table returns bool, Gerd Moellmann, 2022/10/21
- pkg e1a730849e 42/76: Fix printing uninterned symbols, Gerd Moellmann, 2022/10/21
- pkg 1424d2c6b7 61/76: Fix intern-soft,
Gerd Moellmann <=
- pkg bdca01dd38 29/76: Workaround for something Stefan missed, Gerd Moellmann, 2022/10/21
- pkg 62582ea927 72/76: Fix completion for new symbol table layout, Gerd Moellmann, 2022/10/21
- pkg a93ec52542 76/76: Work on Lisp interface, Gerd Moellmann, 2022/10/21
- pkg 9ab00f542f 70/76: Introduce PACKAGE_NAMEX, Gerd Moellmann, 2022/10/21
- pkg 51cd0e05d6 71/76: De-duplicate packages for mapatoms, Gerd Moellmann, 2022/10/21
- pkg 9a263a0782 57/76: Move more package stuff to Lisp, Gerd Moellmann, 2022/10/21
- pkg d374cb202a 43/76: Revert "Use make-package instead of make-vector", Gerd Moellmann, 2022/10/21
- pkg 77543a203a 45/76: Revert "Dpn't assume symbol-name of keywords starts with colon", Gerd Moellmann, 2022/10/21
- pkg 0a345a1181 53/76: Make internals of Lisp_Package visible to Lisp, Gerd Moellmann, 2022/10/21
- pkg 13010d7bd0 47/76: Partially revert "Remove obarrays", Gerd Moellmann, 2022/10/21