]> git.eshelyaron.com Git - emacs.git/commitdiff
Execute commands in the Emacs package
authorGerd Moellmann <gerd.moellmann@gmail.com>
Mon, 4 Sep 2023 07:47:04 +0000 (09:47 +0200)
committerGerd Moellmann <gerd.moellmann@gmail.com>
Mon, 4 Sep 2023 07:47:04 +0000 (09:47 +0200)
* lisp/emacs-lisp/pkg.el (buffer-package): New function.
* lisp/simple.el (command-execute): Bind *package* to the Emacs
package.

lisp/emacs-lisp/pkg.el
lisp/simple.el

index 8e9cba049c689a506af5869e11c5f3b5562cc130..494cf0eb437b1b8e90716abd011d01b424c8d644 100644 (file)
@@ -172,6 +172,13 @@ Otherwise assume that "
       (error "%s does not contain a symbol %s"
              (package-name package) name))))
 
+(defun buffer-package (buffer)
+  "Return the value of *package* in BUFFER.
+BUFFER must be either a buffer object or the name of an existing buffer."
+  (buffer-local-value '*package*
+                     (if (bufferp buffer)
+                         buffer
+                       (get-buffer buffer))))
 \f
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;                                  Macros
index 05a3c4b93d67c7a547f9abf46ffde75110bb5f9f..14bbcbab60daf98efb2263605d09481937d16ccb 100644 (file)
@@ -2769,7 +2769,8 @@ The argument SPECIAL, if non-nil, means that this command is
 executing a special event, so ignore the prefix argument and
 don't clear it."
   (setq debug-on-next-call nil)
-  (let ((prefixarg (unless special
+  (let ((*package* *emacs-package*)
+        (prefixarg (unless special
                      ;; FIXME: This should probably be done around
                      ;; pre-command-hook rather than here!
                      (prog1 prefix-arg