[MacPorts] #71875: emacs-devel build segfaults on 10.6.8
MacPorts
noreply at macports.org
Fri Jan 17 23:36:38 UTC 2025
#71875: emacs-devel build segfaults on 10.6.8
---------------------------+-------------------------
Reporter: barracuda156 | Owner: drkp
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.10.5
Resolution: | Keywords: snowleopard
Port: emacs-devel |
---------------------------+-------------------------
Comment (by barracuda156):
Differently, but also fails with `+x11`:
{{{
/opt/local/bin/gcc-mp-14 -c -isystem/opt/local/include/LegacySupport
-I/opt/local/include -Demacs -I. -I. -I../lib -I../lib
-I/opt/local/include/libpng16 -I/opt/local/include/libxml2
-I/opt/local/include/webp -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -MMD -MF
deps/textconv.d -MP -I/opt/local/include/p11-kit-1
-I/opt/local/include/cairo -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-Wno-deprecated-declarations -pipe -Os -Wno-attributes -arch ppc
textconv.c
/opt/local/bin/gcc-mp-14 -c -isystem/opt/local/include/LegacySupport
-I/opt/local/include -Demacs -I. -I. -I../lib -I../lib
-I/opt/local/include/libpng16 -I/opt/local/include/libxml2
-I/opt/local/include/webp -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -MMD -MF
deps/xgselect.d -MP -I/opt/local/include/p11-kit-1
-I/opt/local/include/cairo -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-Wno-deprecated-declarations -pipe -Os -Wno-attributes -arch ppc
xgselect.c
/opt/local/bin/gcc-mp-14 -c -isystem/opt/local/include/LegacySupport
-I/opt/local/include -Demacs -I. -I. -I../lib -I../lib
-I/opt/local/include/libpng16 -I/opt/local/include/libxml2
-I/opt/local/include/webp -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -MMD -MF
deps/terminfo.d -MP -I/opt/local/include/p11-kit-1
-I/opt/local/include/cairo -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-Wno-deprecated-declarations -pipe -Os -Wno-attributes -arch ppc
terminfo.c
image.c: In function 'my_error_exit':
image.c:8744:1: warning: 'noreturn' function does return
8744 | }
| ^
/opt/local/bin/gcc-mp-14 -c -isystem/opt/local/include/LegacySupport
-I/opt/local/include -Demacs -I. -I. -I../lib -I../lib
-I/opt/local/include/libpng16 -I/opt/local/include/libxml2
-I/opt/local/include/webp -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -MMD -MF
deps/lastfile.d -MP -I/opt/local/include/p11-kit-1
-I/opt/local/include/cairo -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-Wno-deprecated-declarations -pipe -Os -Wno-attributes -arch ppc
lastfile.c
/opt/local/bin/gcc-mp-14 -c -isystem/opt/local/include/LegacySupport
-I/opt/local/include -Demacs -I. -I. -I../lib -I../lib
-I/opt/local/include/libpng16 -I/opt/local/include/libxml2
-I/opt/local/include/webp -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -MMD -MF
deps/widget.d -MP -I/opt/local/include/p11-kit-1
-I/opt/local/include/cairo -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-Wno-deprecated-declarations -pipe -Os -Wno-attributes -arch ppc widget.c
/opt/local/bin/gcc-mp-14 -o temacs.tmp \
-Demacs -I. -I. -I../lib -I../lib
-I/opt/local/include/libpng16 -I/opt/local/include/libxml2
-I/opt/local/include/webp -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz
-I/opt/local/include/freetype2 -I/opt/local/include/libpng16
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -MMD -MF
deps/.d -MP -I/opt/local/include/p11-kit-1 -I/opt/local/include/cairo
-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include
-I/opt/local/include/pixman-1 -I/opt/local/include/freetype2
-I/opt/local/include/libpng16 -Wno-deprecated-declarations
-pipe -Os -Wno-attributes -arch ppc -Wl,-headerpad_max_install_names
-lfreetype -lfontconfig -L/opt/local/lib -lMacportsLegacySupport -arch ppc
\
dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o window.o
charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o
term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o xsmfns.o
xsettings.o emacs.o keyboard.o macros.o keymap.o sysdep.o bignum.o
buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o
casetab.o casefiddle.o indent.o search.o regex-emacs.o undo.o alloc.o
pdumper.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o sort.o
font.o print.o lread.o emacs-module.o syntax.o bytecode.o comp.o dynlib.o
process.o gnutls.o callproc.o region-cache.o sound.o timefns.o atimer.o
doprnt.o intervals.o textprop.o composite.o xml.o lcms.o kqueue.o
profiler.o decompress.o thread.o systhread.o sqlite.o treesit.o itree.o
json.o xfont.o ftfont.o ftcrfont.o hbfont.o fontset.o fringe.o
image.o textconv.o xgselect.o terminfo.o lastfile.o widget.o
../lib/libgnu.a ../lwlib/liblw.a -ltiff -ljpeg -L/opt/local/lib
-lpng16 -lgif -lXpm -L/opt/local/lib -lwebpdemux -lwebpdecoder -lXaw -lXmu
-lXt -lSM -lICE -lXext -lX11 -lX11-xcb -lxcb -lXrender
-L/opt/local/lib -lXrandr -L/opt/local/lib -lXinerama -L/opt/local/lib
-lXfixes -lXext -lXext -L/opt/local/lib -lxml2 -L/opt/local/lib -lcairo
-lncurses -L/opt/local/lib -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
-L/opt/local/lib -lgobject-2.0 -lglib-2.0 -lintl -L/opt/local/lib
-lfreetype -L/opt/local/lib -lfontconfig -lfreetype -L/opt/local/lib
-lharfbuzz -L/opt/local/lib -lgnutls -L/opt/local/lib -llcms2 -lz
-lgmp -L/opt/local/lib -lXi -L/opt/local/lib -ltree-sitter -lsqlite3
-lXcomposite -lXext -lxcb-shape
/opt/local/bin/gmkdir -p ../etc
rm -f ../etc/DOC
../lib-src/make-docfile -d . \
dosfns.o msdos.o xterm.o xfns.o xmenu.o xselect.o xrdb.o
xsmfns.o fringe.o image.o fontset.o dbusbind.o cygw32.o nsterm.o nsfns.o
nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o nsxwidget.o w32.o
w32console.o w32cygwinx.o w32fns.o w32heap.o w32inevt.o w32notify.o
w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o w16select.o
widget.o xfont.o ftfont.o xftfont.o gtkutil.o xsettings.o xgselect.o
termcap.o hbfont.o haikuterm.o haikufns.o haikumenu.o haikufont.o
androidterm.o androidfns.o androidfont.o androidselect.c androidvfs.c
sfntfont-android.c sfntfont.c dispnew.o frame.o scroll.o xdisp.o menu.o
xmenu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o
bidi.o cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o
xsmfns.o xsettings.o emacs.o keyboard.o macros.o keymap.o sysdep.o
bignum.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o
cmds.o casetab.o casefiddle.o indent.o search.o regex-emacs.o undo.o
alloc.o pdumper.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o
sort.o font.o print.o lread.o emacs-module.o syntax.o bytecode.o comp.o
dynlib.o process.o gnutls.o callproc.o region-cache.o sound.o timefns.o
atimer.o doprnt.o intervals.o textprop.o composite.o xml.o lcms.o kqueue.o
profiler.o decompress.o thread.o systhread.o sqlite.o treesit.o itree.o
json.o xfont.o ftfont.o ftcrfont.o hbfont.o fontset.o fringe.o
image.o textconv.o xgselect.o > ../etc/DOC
../lib-src/make-fingerprint temacs.tmp
mv temacs.tmp temacs
/opt/local/bin/gmkdir -p ../etc
/usr/bin/make -C ../lisp update-subdirs
make[3]: Entering directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec/lisp'
for file in . ./calc ./calendar ./emacs-lisp ./emulation ./erc ./eshell
./gnus ./image ./international ./language ./mail ./mh-e ./net ./nxml
./obsolete ./org ./play ./progmodes ./term ./textmodes ./url ./use-package
./vc; do \
./../build-aux/update-subdirs $file; \
done;
make[3]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec/lisp'
cp -f temacs bootstrap-emacs
rm -f bootstrap-emacs.pdmp
./temacs --batch -l loadup --temacs=pbootstrap \
--bin-dest '/opt/local/bin/' --eln-dest
'/opt/local/lib/emacs/31.0.50/'
Loading loadup.el (source)...
Dump mode: pbootstrap
Using load-path
(/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec/lisp
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec/lisp
/emacs-lisp
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-
b3af195213518514f78ac6f66f9598e45befd1ec/lisp/progmodes
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-
b3af195213518514f78ac6f66f9598e45befd1ec/lisp/language
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-
b3af195213518514f78ac6f66f9598e45befd1ec/lisp/international
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-
b3af195213518514f78ac6f66f9598e45befd1ec/lisp/textmodes
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec/lisp/vc)
Loading emacs-lisp/debug-early (source)...
Loading emacs-lisp/byte-run (source)...
Loading emacs-lisp/backquote (source)...
Loading subr (source)...
Loading keymap (source)...
Loading version (source)...
Loading widget (source)...
Loading custom (source)...
Loading emacs-lisp/map-ynp (source)...
Loading international/mule (source)...
Loading international/mule-conf (source)...
Loading env (source)...
Loading format (source)...
Loading bindings (source)...
Loading window (source)...
Error: void-variable (list)
(cons item list)
(setq list (cons item list))
(cond ((= (car item) 2) (if (null lists) (setq firstlist list list nil))
(if list (push (backquote-listify list '(0)) lists)) (push (cdr item)
lists) (setq list nil)) (t (setq list (cons item list))))
(while (and (consp rest) (not (or (eq (car rest) backquote-unquote-
symbol) (eq (car rest) backquote-backquote-symbol)))) (setq item
(backquote-process (car rest) level)) (cond ((= (car item) 2) (if (null
lists) (setq firstlist list list nil)) (if list (push (backquote-listify
list '(0)) lists)) (push (cdr item) lists) (setq list nil)) (t (setq list
(cons item list)))) (setq rest (cdr rest)))
(let ((rest s) item firstlist list lists expression) (while (and (consp
rest) (not (or (eq (car rest) backquote-unquote-symbol) (eq (car rest)
backquote-backquote-symbol)))) (setq item (backquote-process (car rest)
level)) (cond ((= (car item) 2) (if (null lists) (setq firstlist list list
nil)) (if list (push (backquote-listify list '(0)) lists)) (push (cdr
item) lists) (setq list nil)) (t (setq list (cons item list)))) (setq rest
(cdr rest))) (if (or rest list) (push (backquote-listify list (backquote-
process rest level)) lists)) (setq expression (if (or (cdr lists) (eq
(car-safe (car lists)) backquote-splice-symbol)) (cons 'append (nreverse
lists)) (car lists))) (if firstlist (setq expression (backquote-listify
firstlist (cons 1 expression)))) (cons (if (eq (car-safe expression)
'quote) 0 1) expression))
(cond ((vectorp s) (let ((n (backquote-process (append s nil) level)))
(if (= (car n) 0) (cons 0 s) (cons 1 (cond ((not (listp (cdr n))) (list
'vconcat (cdr n))) ((eq (nth 1 n) 'list) (cons 'vector (nthcdr 2 n))) ((eq
(nth 1 n) 'append) (cons 'vconcat (nthcdr 2 n))) (t (list 'apply '#'vector
(cdr n)))))))) ((atom s) (cons 0 (if (or (null s) (eq s t) (not (symbolp
s))) s (list 'quote s)))) ((eq (car s) backquote-unquote-symbol) (if (<=
level 0) (cond ((> (length s) 2) (error "Multiple args to , are not
supported: %S" s)) (t (cons (if (eq (car-safe (nth 1 s)) 'quote) 0 1) (nth
1 s)))) (backquote-delay-process s (1- level)))) ((eq (car s) backquote-
splice-symbol) (if (<= level 0) (if (> (length s) 2) (error "Multiple args
to ,@ are not supported: %S" s) (cons 2 (nth 1 s))) (backquote-delay-
process s (1- level)))) ((eq (car s) backquote-backquote-symbol)
(backquote-delay-process s (1+ level))) (t (let ((rest s) item firstlist
list lists expression) (while (and (consp rest) (not (or (eq (car rest)
backquote-unquote-symbol) (eq (car rest) backquote-backquote-symbol))))
(setq item (backquote-process (car rest) level)) (cond ((= (car item) 2)
(if (null lists) (setq firstlist list list nil)) (if list (push
(backquote-listify list '(0)) lists)) (push (cdr item) lists) (setq list
nil)) (t (setq list (cons item list)))) (setq rest (cdr rest))) (if (or
rest list) (push (backquote-listify list (backquote-process rest level))
lists)) (setq expression (if (or (cdr lists) (eq (car-safe (car lists))
backquote-splice-symbol)) (cons 'append (nreverse lists)) (car lists)))
(if firstlist (setq expression (backquote-listify firstlist (cons 1
expression)))) (cons (if (eq (car-safe expression) 'quote) 0 1)
expression))))
backquote-process((let (((\, (car spec)) (car (\, tail)))) (\,@ body)
(setq (\, tail) (cdr (\, tail)))) 0)
(setq item (backquote-process (car rest) level))
(while (and (consp rest) (not (or (eq (car rest) backquote-unquote-
symbol) (eq (car rest) backquote-backquote-symbol)))) (setq item
(backquote-process (car rest) level)) (cond ((= (car item) 2) (if (null
lists) (setq firstlist list list nil)) (if list (push (backquote-listify
list '(0)) lists)) (push (cdr item) lists) (setq list nil)) (t (setq list
(cons item list)))) (setq rest (cdr rest)))
(let ((rest s) item firstlist list lists expression) (while (and (consp
rest) (not (or (eq (car rest) backquote-unquote-symbol) (eq (car rest)
backquote-backquote-symbol)))) (setq item (backquote-process (car rest)
level)) (cond ((= (car item) 2) (if (null lists) (setq firstlist list list
nil)) (if list (push (backquote-listify list '(0)) lists)) (push (cdr
item) lists) (setq list nil)) (t (setq list (cons item list)))) (setq rest
(cdr rest))) (if (or rest list) (push (backquote-listify list (backquote-
process rest level)) lists)) (setq expression (if (or (cdr lists) (eq
(car-safe (car lists)) backquote-splice-symbol)) (cons 'append (nreverse
lists)) (car lists))) (if firstlist (setq expression (backquote-listify
firstlist (cons 1 expression)))) (cons (if (eq (car-safe expression)
'quote) 0 1) expression))
(cond ((vectorp s) (let ((n (backquote-process (append s nil) level)))
(if (= (car n) 0) (cons 0 s) (cons 1 (cond ((not (listp (cdr n))) (list
'vconcat (cdr n))) ((eq (nth 1 n) 'list) (cons 'vector (nthcdr 2 n))) ((eq
(nth 1 n) 'append) (cons 'vconcat (nthcdr 2 n))) (t (list 'apply '#'vector
(cdr n)))))))) ((atom s) (cons 0 (if (or (null s) (eq s t) (not (symbolp
s))) s (list 'quote s)))) ((eq (car s) backquote-unquote-symbol) (if (<=
level 0) (cond ((> (length s) 2) (error "Multiple args to , are not
supported: %S" s)) (t (cons (if (eq (car-safe (nth 1 s)) 'quote) 0 1) (nth
1 s)))) (backquote-delay-process s (1- level)))) ((eq (car s) backquote-
splice-symbol) (if (<= level 0) (if (> (length s) 2) (error "Multiple args
to ,@ are not supported: %S" s) (cons 2 (nth 1 s))) (backquote-delay-
process s (1- level)))) ((eq (car s) backquote-backquote-symbol)
(backquote-delay-process s (1+ level))) (t (let ((rest s) item firstlist
list lists expression) (while (and (consp rest) (not (or (eq (car rest)
backquote-unquote-symbol) (eq (car rest) backquote-backquote-symbol))))
(setq item (backquote-process (car rest) level)) (cond ((= (car item) 2)
(if (null lists) (setq firstlist list list nil)) (if list (push
(backquote-listify list '(0)) lists)) (push (cdr item) lists) (setq list
nil)) (t (setq list (cons item list)))) (setq rest (cdr rest))) (if (or
rest list) (push (backquote-listify list (backquote-process rest level))
lists)) (setq expression (if (or (cdr lists) (eq (car-safe (car lists))
backquote-splice-symbol)) (cons 'append (nreverse lists)) (car lists)))
(if firstlist (setq expression (backquote-listify firstlist (cons 1
expression)))) (cons (if (eq (car-safe expression) 'quote) 0 1)
expression))))
backquote-process((while (\, tail) (let (((\, (car spec)) (car (\,
tail)))) (\,@ body) (setq (\, tail) (cdr (\, tail))))) 0)
(setq item (backquote-process (car rest) level))
(while (and (consp rest) (not (or (eq (car rest) backquote-unquote-
symbol) (eq (car rest) backquote-backquote-symbol)))) (setq item
(backquote-process (car rest) level)) (cond ((= (car item) 2) (if (null
lists) (setq firstlist list list nil)) (if list (push (backquote-listify
list '(0)) lists)) (push (cdr item) lists) (setq list nil)) (t (setq list
(cons item list)))) (setq rest (cdr rest)))
(let ((rest s) item firstlist list lists expression) (while (and (consp
rest) (not (or (eq (car rest) backquote-unquote-symbol) (eq (car rest)
backquote-backquote-symbol)))) (setq item (backquote-process (car rest)
level)) (cond ((= (car item) 2) (if (null lists) (setq firstlist list list
nil)) (if list (push (backquote-listify list '(0)) lists)) (push (cdr
item) lists) (setq list nil)) (t (setq list (cons item list)))) (setq rest
(cdr rest))) (if (or rest list) (push (backquote-listify list (backquote-
process rest level)) lists)) (setq expression (if (or (cdr lists) (eq
(car-safe (car lists)) backquote-splice-symbol)) (cons 'append (nreverse
lists)) (car lists))) (if firstlist (setq expression (backquote-listify
firstlist (cons 1 expression)))) (cons (if (eq (car-safe expression)
'quote) 0 1) expression))
(cond ((vectorp s) (let ((n (backquote-process (append s nil) level)))
(if (= (car n) 0) (cons 0 s) (cons 1 (cond ((not (listp (cdr n))) (list
'vconcat (cdr n))) ((eq (nth 1 n) 'list) (cons 'vector (nthcdr 2 n))) ((eq
(nth 1 n) 'append) (cons 'vconcat (nthcdr 2 n))) (t (list 'apply '#'vector
(cdr n)))))))) ((atom s) (cons 0 (if (or (null s) (eq s t) (not (symbolp
s))) s (list 'quote s)))) ((eq (car s) backquote-unquote-symbol) (if (<=
level 0) (cond ((> (length s) 2) (error "Multiple args to , are not
supported: %S" s)) (t (cons (if (eq (car-safe (nth 1 s)) 'quote) 0 1) (nth
1 s)))) (backquote-delay-process s (1- level)))) ((eq (car s) backquote-
splice-symbol) (if (<= level 0) (if (> (length s) 2) (error "Multiple args
to ,@ are not supported: %S" s) (cons 2 (nth 1 s))) (backquote-delay-
process s (1- level)))) ((eq (car s) backquote-backquote-symbol)
(backquote-delay-process s (1+ level))) (t (let ((rest s) item firstlist
list lists expression) (while (and (consp rest) (not (or (eq (car rest)
backquote-unquote-symbol) (eq (car rest) backquote-backquote-symbol))))
(setq item (backquote-process (car rest) level)) (cond ((= (car item) 2)
(if (null lists) (setq firstlist list list nil)) (if list (push
(backquote-listify list '(0)) lists)) (push (cdr item) lists) (setq list
nil)) (t (setq list (cons item list)))) (setq rest (cdr rest))) (if (or
rest list) (push (backquote-listify list (backquote-process rest level))
lists)) (setq expression (if (or (cdr lists) (eq (car-safe (car lists))
backquote-splice-symbol)) (cons 'append (nreverse lists)) (car lists)))
(if firstlist (setq expression (backquote-listify firstlist (cons 1
expression)))) (cons (if (eq (car-safe expression) 'quote) 0 1)
expression))))
backquote-process((let (((\, tail) (\, (nth 1 spec)))) (while (\, tail)
(let (((\, (car spec)) (car (\, tail)))) (\,@ body) (setq (\, tail) (cdr
(\, tail))))) (\,@ (cdr (cdr spec)))))
(cdr (backquote-process structure))
#[(structure) ((cdr (backquote-process structure))) (t) nil "Argument
STRUCTURE describes a template to build.\n\nThe whole structure acts as if
it were quoted except for certain\nplaces where expressions are evaluated
and inserted or spliced in.\n\nFor example:\n\nb => (ba bb
bc)\11\11; assume b has this value\n\\=`(a b c) => (a b c)\11\11;
backquote acts like quote\n\\=`(a ,b c) => (a (ba bb bc) c)\11;
insert the value of b\n\\=`(a , at b c) => (a ba bb bc c)\11; splice in
the value of b\n\nVectors work just like lists. Nested backquotes are
permitted.\n\nNote that some macros, such as `pcase', use this symbol for
other\npurposes."]((let (((\, tail) (\, (nth 1 spec)))) (while (\, tail)
(let (((\, (car spec)) (car (\, tail)))) (\,@ body) (setq (\, tail) (cdr
(\, tail))))) (\,@ (cdr (cdr spec)))))
(\` (let (((\, tail) (\, (nth 1 spec)))) (while (\, tail) (let (((\,
(car spec)) (car (\, tail)))) (\,@ body) (setq (\, tail) (cdr (\,
tail))))) (\,@ (cdr (cdr spec)))))
(let ((tail (make-symbol "tail"))) `(let ((,tail ,(nth 1 spec))) (while
,tail (let ((,(car spec) (car ,tail))) , at body (setq ,tail (cdr ,tail))))
,@(cdr (cdr spec))))
#[(spec &rest body) ((unless (consp spec) (signal 'wrong-type-argument
(list 'consp spec))) (unless (<= 2 (length spec) 3) (signal 'wrong-number-
of-arguments (list '(2 . 3) (length spec)))) (let ((tail (make-symbol
"tail"))) `(let ((,tail ,(nth 1 spec))) (while ,tail (let ((,(car spec)
(car ,tail))) , at body (setq ,tail (cdr ,tail)))) ,@(cdr (cdr spec))))) (t)
nil "Loop over a list.\nEvaluate BODY with VAR bound to each car from
LIST, in turn.\nThen evaluate RESULT to get return value, default
nil.\n\n(fn (VAR LIST [RESULT]) BODY...)"]((_ (number-sequence 1 times))
(setq res (vconcat res key)))
(dolist (_ (number-sequence 1 times)) (setq res (vconcat res key)))
(progn (dolist (_ (number-sequence 1 times)) (setq res (vconcat res
key))))
(if key (progn (dolist (_ (number-sequence 1 times)) (setq res (vconcat
res key)))))
(when key (dolist (_ (number-sequence 1 times)) (setq res (vconcat res
key))))
(let* ((word-beg (match-beginning 0)) (word-end (match-end 0)) (word
(substring keys word-beg len)) (times 1) key) (if (string-match "\\`<[^
<>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word) pos (+
word-beg (match-end 0))) (setq word (substring keys word-beg word-end) pos
word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq times
(string-to-number (substring word 0 (match-end 1)))) (setq word (substring
word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$" word) (setq key
(vconcat (if (eq (key-binding [134217848]) 'execute-extended-command)
[134217848] (or (car (where-is-internal 'execute-extended-command))
[134217848])) (substring word 2 -2) "\15"))) ((and (string-match
"^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word (concat
(match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key)))))
(while (and (< pos len) (string-match "[^ \11\n\f]+" keys pos)) (let*
((word-beg (match-beginning 0)) (word-end (match-end 0)) (word (substring
keys word-beg len)) (times 1) key) (if (string-match "\\`<[^
<>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word) pos (+
word-beg (match-end 0))) (setq word (substring keys word-beg word-end) pos
word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq times
(string-to-number (substring word 0 (match-end 1)))) (setq word (substring
word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$" word) (setq key
(vconcat (if (eq (key-binding [134217848]) 'execute-extended-command)
[134217848] (or (car (where-is-internal 'execute-extended-command))
[134217848])) (substring word 2 -2) "\15"))) ((and (string-match
"^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word (concat
(match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key))))))
(let ((case-fold-search nil) (len (length keys)) (pos 0) (res []))
(while (and (< pos len) (string-match "[^ \11\n\f]+" keys pos)) (let*
((word-beg (match-beginning 0)) (word-end (match-end 0)) (word (substring
keys word-beg len)) (times 1) key) (if (string-match "\\`<[^
<>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word) pos (+
word-beg (match-end 0))) (setq word (substring keys word-beg word-end) pos
word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq times
(string-to-number (substring word 0 (match-end 1)))) (setq word (substring
word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$" word) (setq key
(vconcat (if (eq (key-binding [134217848]) 'execute-extended-command)
[134217848] (or (car (where-is-internal 'execute-extended-command))
[134217848])) (substring word 2 -2) "\15"))) ((and (string-match
"^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word (concat
(match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key)))))) res)
(progn (let ((case-fold-search nil) (len (length keys)) (pos 0) (res
[])) (while (and (< pos len) (string-match "[^ \11\n\f]+" keys pos)) (let*
((word-beg (match-beginning 0)) (word-end (match-end 0)) (word (substring
keys word-beg len)) (times 1) key) (if (string-match "\\`<[^
<>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word) pos (+
word-beg (match-end 0))) (setq word (substring keys word-beg word-end) pos
word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq times
(string-to-number (substring word 0 (match-end 1)))) (setq word (substring
word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$" word) (setq key
(vconcat (if (eq (key-binding [134217848]) 'execute-extended-command)
[134217848] (or (car (where-is-internal 'execute-extended-command))
[134217848])) (substring word 2 -2) "\15"))) ((and (string-match
"^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word (concat
(match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key)))))) res))
(unwind-protect (progn (let ((case-fold-search nil) (len (length keys))
(pos 0) (res [])) (while (and (< pos len) (string-match "[^ \11\n\f]+"
keys pos)) (let* ((word-beg (match-beginning 0)) (word-end (match-end 0))
(word (substring keys word-beg len)) (times 1) key) (if (string-match
"\\`<[^ <>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word)
pos (+ word-beg (match-end 0))) (setq word (substring keys word-beg word-
end) pos word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq
times (string-to-number (substring word 0 (match-end 1)))) (setq word
(substring word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$"
word) (setq key (vconcat (if (eq (key-binding [134217848]) 'execute-
extended-command) [134217848] (or (car (where-is-internal 'execute-
extended-command)) [134217848])) (substring word 2 -2) "\15"))) ((and
(string-match "^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word
(concat (match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key)))))) res)) (set-match-data saved-
match-data t))
(let ((saved-match-data (match-data))) (unwind-protect (progn (let
((case-fold-search nil) (len (length keys)) (pos 0) (res [])) (while (and
(< pos len) (string-match "[^ \11\n\f]+" keys pos)) (let* ((word-beg
(match-beginning 0)) (word-end (match-end 0)) (word (substring keys word-
beg len)) (times 1) key) (if (string-match "\\`<[^
<>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word) pos (+
word-beg (match-end 0))) (setq word (substring keys word-beg word-end) pos
word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq times
(string-to-number (substring word 0 (match-end 1)))) (setq word (substring
word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$" word) (setq key
(vconcat (if (eq (key-binding [134217848]) 'execute-extended-command)
[134217848] (or (car (where-is-internal 'execute-extended-command))
[134217848])) (substring word 2 -2) "\15"))) ((and (string-match
"^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word (concat
(match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key)))))) res)) (set-match-data saved-
match-data t)))
(save-match-data (let ((case-fold-search nil) (len (length keys)) (pos
0) (res [])) (while (and (< pos len) (string-match "[^ \11\n\f]+" keys
pos)) (let* ((word-beg (match-beginning 0)) (word-end (match-end 0)) (word
(substring keys word-beg len)) (times 1) key) (if (string-match "\\`<[^
<>\11\n\f][^>\11\n\f]*>" word) (setq word (match-string 0 word) pos (+
word-beg (match-end 0))) (setq word (substring keys word-beg word-end) pos
word-end)) (when (string-match "\\([0-9]+\\)\\*." word) (setq times
(string-to-number (substring word 0 (match-end 1)))) (setq word (substring
word (1+ (match-end 1))))) (cond ((string-match "^<<.+>>$" word) (setq key
(vconcat (if (eq (key-binding [134217848]) 'execute-extended-command)
[134217848] (or (car (where-is-internal 'execute-extended-command))
[134217848])) (substring word 2 -2) "\15"))) ((and (string-match
"^\\(\\([ACHMsS]-\\)*\\)<\\(.+\\)>$" word) (progn (setq word (concat
(match-string 1 word) (match-string 3 word))) (not (string-match
"\\<\\(NUL\\|RET\\|LFD\\|TAB\\|ESC\\|SPC\\|DEL\\)$" word)))) (setq key
(list (intern word)))) ((or (equal word "REM") (string-match "^;;" word))
(setq pos (string-match "$" keys pos))) (t (let ((orig-word word) (prefix
0) (bits 0)) (while (string-match "^[ACHMsS]-." word) (setq bits (+ bits
(cdr (assq (aref word 0) '((65 . 4194304) (67 . 67108864) (72 . 16777216)
(77 . 134217728) (115 . 8388608) (83 . 33554432)))))) (setq prefix (+
prefix 2)) (setq word (substring word 2))) (when (string-match "^\\^.$"
word) (setq bits (+ bits 67108864)) (setq prefix (1+ prefix)) (setq word
(substring word 1))) (let ((found (assoc word '(("NUL" . "\0") ("RET" .
"\15") ("LFD" . "\n") ("TAB" . "\11") ("ESC" . "\33") ("SPC" . " ") ("DEL"
. "\177"))))) (when found (setq word (cdr found)))) (when (string-match
"^\\\\[0-7]+$" word) (let ((n 0)) (dolist (ch (cdr (string-to-list word)))
(setq n (+ (* n 8) ch -48))) (setq word (vector n)))) (cond ((= bits 0)
(setq key word)) ((and (= bits 134217728) (stringp word) (string-match
"^-?[0-9]+$" word)) (setq key (mapcar (lambda (x) (+ x bits)) (append word
nil)))) ((/= (length word) 1) (error "%s must prefix a single character,
not %s" (substring orig-word 0 prefix) word)) ((and (/= (logand bits
67108864) 0) (stringp word) (string-match "[@-_a-z]" word)) (setq key
(list (+ bits (- 67108864) (logand (aref word 0) 31))))) (t (setq key
(list (+ bits (aref word 0))))))))) (when key (dolist (_ (number-sequence
1 times)) (setq res (vconcat res key)))))) res))
key-parse("v")
(define-key keymap (key-parse key) definition)
keymap-set((keymap (123 . shrink-window-horizontally) (125 . enlarge-
window-horizontally) (94 . enlarge-window)) "v" shrink-window)
(if (eq key :menu) (easy-menu-define nil keymap "" def) (when (member
key seen-keys) (message "Duplicate definition for key: %S %s" key keymap))
(push key seen-keys) (keymap-set keymap key def))
(let ((def (pop definitions))) (if (eq key :menu) (easy-menu-define nil
keymap "" def) (when (member key seen-keys) (message "Duplicate definition
for key: %S %s" key keymap)) (push key seen-keys) (keymap-set keymap key
def)))
(let ((key (pop definitions))) (unless definitions (error "Uneven number
of key/definition pairs")) (let ((def (pop definitions))) (if (eq key
:menu) (easy-menu-define nil keymap "" def) (when (member key seen-keys)
(message "Duplicate definition for key: %S %s" key keymap)) (push key
seen-keys) (keymap-set keymap key def))))
(while definitions (let ((key (pop definitions))) (unless definitions
(error "Uneven number of key/definition pairs")) (let ((def (pop
definitions))) (if (eq key :menu) (easy-menu-define nil keymap "" def)
(when (member key seen-keys) (message "Duplicate definition for key: %S
%s" key keymap)) (push key seen-keys) (keymap-set keymap key def)))))
(let ((keymap (cond (keymap keymap) (prefix (define-prefix-command
prefix nil name)) (full (make-keymap name)) (t (make-sparse-keymap
name)))) seen-keys) (when suppress (suppress-keymap keymap (eq suppress
'nodigits))) (when parent (set-keymap-parent keymap parent)) (while
definitions (let ((key (pop definitions))) (unless definitions (error
"Uneven number of key/definition pairs")) (let ((def (pop definitions)))
(if (eq key :menu) (easy-menu-define nil keymap "" def) (when (member key
seen-keys) (message "Duplicate definition for key: %S %s" key keymap))
(push key seen-keys) (keymap-set keymap key def))))) keymap)
(let (full suppress parent name prefix keymap) (while (and definitions
(keywordp (car definitions)) (not (eq (car definitions) :menu))) (let
((keyword (pop definitions))) (unless definitions (error "Missing keyword
value for %s" keyword)) (let ((value (pop definitions))) (pcase keyword
(:full (setq full value)) (:keymap (setq keymap value)) (:parent (setq
parent value)) (:suppress (setq suppress value)) (:name (setq name value))
(:prefix (setq prefix value)) (_ (error "Invalid keyword: %s"
keyword)))))) (when (and prefix (or full parent suppress keymap)) (error
"A prefix keymap can't be defined with :full/:parent/:suppress/:keymap
keywords")) (when (and keymap full) (error "Invalid combination: :keymap
with :full")) (let ((keymap (cond (keymap keymap) (prefix (define-prefix-
command prefix nil name)) (full (make-keymap name)) (t (make-sparse-keymap
name)))) seen-keys) (when suppress (suppress-keymap keymap (eq suppress
'nodigits))) (when parent (set-keymap-parent keymap parent)) (while
definitions (let ((key (pop definitions))) (unless definitions (error
"Uneven number of key/definition pairs")) (let ((def (pop definitions)))
(if (eq key :menu) (easy-menu-define nil keymap "" def) (when (member key
seen-keys) (message "Duplicate definition for key: %S %s" key keymap))
(push key seen-keys) (keymap-set keymap key def))))) keymap))
define-keymap("^" enlarge-window "}" enlarge-window-horizontally "{"
shrink-window-horizontally "v" shrink-window)
(defvar resize-window-repeat-map (define-keymap "^" #'enlarge-window "}"
#'enlarge-window-horizontally "{" #'shrink-window-horizontally "v"
#'shrink-window) "Keymap to repeat window resizing commands.\nRepeatable
commands are `enlarge-window' and `shrink-window',\nand also `enlarge-
window-horizontally' and `Symbol's value as variable is void: list
shrink-window-horizontally'.\nUsed in `repeat-mode'.")
(progn (defvar resize-window-repeat-map (define-keymap "^" #'enlarge-
window "}" #'enlarge-window-horizontally "{" #'shrink-window-horizontally
"v" #'shrink-window) "Keymap to repeat window resizing
commands.\nRepeatable commands are `enlarge-window' and `shrink-
window',\nand also `enlarge-window-horizontally' and `shrink-window-
horizontally'.\nUsed in `repeat-mode'.") (put #'enlarge-window 'repeat-map
'resize-window-repeat-map) (put #'enlarge-window-horizontally 'repeat-map
'resize-window-repeat-map) (put #'shrink-window-horizontally 'repeat-map
'resize-window-repeat-map) (put #'shrink-window 'repeat-map 'resize-
window-repeat-map))
(defvar-keymap resize-window-repeat-map :doc "Keymap to repeat window
resizing commands.\nRepeatable commands are `enlarge-window' and `shrink-
window',\nand also `enlarge-window-horizontally' and `shrink-window-
horizontally'.\nUsed in `repeat-mode'." :repeat t "^" #'enlarge-window "}"
#'enlarge-window-horizontally "{" #'shrink-window-horizontally "v"
#'shrink-window)
load("window")
load("loadup.el")
make[2]: *** [bootstrap-emacs.pdmp] Error 255
make[2]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec/src'
make[1]: *** [src] Error 2
make[1]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec'
make[1]: Entering directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs
/emacs-devel/work/emacs-b3af195213518514f78ac6f66f9598e45befd1ec'
***
*** "make all" failed with exit status 2.
***
*** You could try to:
*** - run "make bootstrap", which might fix the problem
*** - run "make V=1", which displays the full commands invoked by make,
*** to further investigate the problem
***
make[1]: *** [advice-on-failure] Error 2
}}}
--
Ticket URL: <https://trac.macports.org/ticket/71875#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list