I tried to determine if Emacs returned object by reference or value, but could not find a clear answer (searching google and Emacs Lisp manual). I guess it must be "by reference", and I just overlooked it somewhere..
(defun my-get-hash () (let ((h (make-hash-table :test 'equal))) (puthash "a" 1 h) h)) (let ((h2 (my-get-hash))) (message (prin1-to-string h2)))
Here the hash
h is created with a
let binding, and then return to the caller. Does the caller receive a reference or a copy of