@@ -201,26 +201,31 @@ href_topic_remote <- function(topic, package) {
201
201
return (NA_character_ )
202
202
}
203
203
204
- if (rdname == " reexports" ) {
205
- return (href_topic_reexported(topic , package ))
204
+ if (is_reexported(topic , package )) {
205
+ href_topic_reexported(topic , package )
206
+ } else {
207
+ paste0(href_package_ref(package ), " /" , rdname , " .html" )
206
208
}
209
+ }
207
210
208
- paste0(href_package_ref(package ), " /" , rdname , " .html" )
211
+ is_reexported <- function (name , package ) {
212
+ is_imported <- env_has(ns_imports_env(package ), name )
213
+ is_exported <- name %in% getNamespaceExports(ns_env(package ))
214
+
215
+ is_imported && is_exported
209
216
}
210
217
211
218
# If it's a re-exported function, we need to work a little harder to
212
219
# find out its source so that we can link to it.
213
220
href_topic_reexported <- function (topic , package ) {
214
221
ns <- ns_env(package )
215
- exports <- .getNamespaceInfo(ns , " exports" )
216
-
217
- if (! env_has(exports , topic )) {
218
- NA_character_
219
- } else {
220
- obj <- env_get(ns , topic , inherit = TRUE )
221
- package <- find_reexport_source(obj , ns , topic )
222
- href_topic_remote(topic , package )
222
+ if (! env_has(ns , topic , inherit = TRUE )) {
223
+ return (NA_character_ )
223
224
}
225
+
226
+ obj <- env_get(ns , topic , inherit = TRUE )
227
+ ex_package <- find_reexport_source(obj , ns , topic )
228
+ href_topic_remote(topic , ex_package )
224
229
}
225
230
226
231
find_reexport_source <- function (obj , ns , topic ) {
0 commit comments