summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Heytings <gregory@heytings.org>2022-07-30 12:02:28 +0000
committerGregory Heytings <gregory@heytings.org>2022-07-30 14:03:37 +0200
commita5adcbdf28eb8ad376a1004f4a6c9eda1f1447fb (patch)
treea0d741168c8cc1814d8c3458f7a1d400e06b771f
parent6ce75b19797abcf65a93307260a6688bbf76f287 (diff)
downloademacs-a5adcbdf28eb8ad376a1004f4a6c9eda1f1447fb.tar.gz
emacs-a5adcbdf28eb8ad376a1004f4a6c9eda1f1447fb.tar.bz2
emacs-a5adcbdf28eb8ad376a1004f4a6c9eda1f1447fb.zip
Handle the optional argument of 'narrow-to-region' in byte-compiled code.
* lisp/emacs-lisp/bytecomp.el: Adapt the specifications. * src/bytecode.c (exec_byte_code): Get the optional argument.
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
-rw-r--r--src/bytecode.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index b4954eee9ff..1ecd77f7517 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -767,7 +767,7 @@ Each element is (INDEX . VALUE)")
(byte-defop 122 0 byte-char-syntax)
(byte-defop 123 -1 byte-buffer-substring)
(byte-defop 124 -1 byte-delete-region)
-(byte-defop 125 -1 byte-narrow-to-region)
+(byte-defop 125 -2 byte-narrow-to-region)
(byte-defop 126 1 byte-widen)
(byte-defop 127 0 byte-end-of-line)
@@ -3833,7 +3833,7 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\""
(byte-defop-compiler setcdr 2)
(byte-defop-compiler buffer-substring 2)
(byte-defop-compiler delete-region 2)
-(byte-defop-compiler narrow-to-region 2)
+(byte-defop-compiler narrow-to-region 2-3)
(byte-defop-compiler (% byte-rem) 2)
(byte-defop-compiler aset 3)
diff --git a/src/bytecode.c b/src/bytecode.c
index 241cbaf04f6..2b1eccdc518 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1480,8 +1480,8 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
CASE (Bnarrow_to_region):
{
- Lisp_Object v1 = POP;
- TOP = Fnarrow_to_region (TOP, v1, Qnil);
+ Lisp_Object v2 = POP, v1 = POP;
+ TOP = Fnarrow_to_region (TOP, v1, v2);
NEXT;
}