@@ -16,10 +16,16 @@
(let ((desc (substring-no-properties
(with-output-to-string
(help-fns-function-description-header ',fun)))))
- (cond ((string-search "native-compiled" desc) 'native)
- ((string-search "byte-compiled" desc) 'byte)
- ((string-search "built-in" desc) 'built-in)
- (t nil))))))))
+ (cond ((or (string-search "native-compiled" desc) ;; Emacs <= 29
+ (string-search "subr-native-elisp" desc)) ;; Emacs >= 30
+ 'native)
+ ((or (string-search "byte-compiled" desc) ;; Emacs <= 29
+ (string-search "byte-code-function" desc)) ;; Emacs >= 30
+ 'byte)
+ ((or (string-search "built-in" desc) ;; Emacs <= 29
+ (string-search "primitive-function" desc)) ;; Emacs >= 30
+ 'built-in)
+ (t desc))))))))
(defmacro expect-native (fun &optional feature)
`(progn (expect-help ,fun native ,feature)))