mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-19 02:10:10 +00:00
Rework `comp-c-func-name' arguments
* lisp/emacs-lisp/comp.el (comp-c-func-name): Add FIRST argument to ignore the compiler context and return the first name. * lisp/emacs-lisp/disass.el (disassemble-internal): Update the `comp-c-func-name' call.
This commit is contained in:
parent
b67e156041
commit
8f81859497
2 changed files with 6 additions and 4 deletions
|
@ -566,9 +566,11 @@ instruction."
|
|||
(or (comp-spill-decl-spec function-name 'speed)
|
||||
comp-speed))
|
||||
|
||||
(defun comp-c-func-name (name prefix)
|
||||
(defun comp-c-func-name (name prefix &optional first)
|
||||
"Given NAME return a name suitable for the native code.
|
||||
Put PREFIX in front of it."
|
||||
Add PREFIX in front of it. If FIRST is not nil pick the first
|
||||
available name ignoring compilation context and potential name
|
||||
clashes."
|
||||
;; Unfortunatelly not all symbol names are valid as C function names...
|
||||
;; Nassi's algorithm here:
|
||||
(let* ((orig-name (if (symbolp name) (symbol-name name) name))
|
||||
|
@ -583,7 +585,7 @@ Put PREFIX in front of it."
|
|||
"-" "_" orig-name))
|
||||
(human-readable (replace-regexp-in-string
|
||||
(rx (not (any "0-9a-z_"))) "" human-readable)))
|
||||
(if comp-ctxt
|
||||
(if (null first)
|
||||
;; Prevent C namespace conflicts.
|
||||
(cl-loop
|
||||
with h = (comp-ctxt-funcs-h comp-ctxt)
|
||||
|
|
|
@ -96,7 +96,7 @@ redefine OBJECT if it is a symbol."
|
|||
(regexp-quote
|
||||
(concat "<"
|
||||
(comp-c-func-name
|
||||
(subr-name obj) "F")
|
||||
(subr-name obj) "F" t)
|
||||
">:"))))
|
||||
(beginning-of-line)
|
||||
(delete-region (point-min) (point))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue