Opened 14 months ago
Last modified 14 months ago
#71875 assigned defect
emacs-devel build segfaults on 10.6.8
| Reported by: | barracuda156 | Owned by: | drkp (Dan Ports) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.10.5 |
| Keywords: | snowleopard | Cc: | |
| Port: | emacs-devel |
Description
On PowerPC:
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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/eucjp-ms.el 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' 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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/fontset.el "../../src/bootstrap-emacs" -batch --no-site-file --no-site-lisp -f batch-byte-compile unidata-gen.el 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' sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' \ < UnicodeData.txt > unidata.txt INFO Scraping 1521 files for loaddefs...50% 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' "../../src/bootstrap-emacs" -batch --no-site-file --no-site-lisp -l emoji.el -f emoji--generate-file ../../lisp/international/emoji-labels.el 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' 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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/iso-transl.el INFO Scraping 1521 files for loaddefs...60% 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' 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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/mule-cmds.el 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' 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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/mule-conf.el Backtrace: 0 bootstrap-emacs 0x000fe358 emacs_backtrace + 104 1 bootstrap-emacs 0x0020e4c8 terminate_due_to_signal + 164 2 bootstrap-emacs 0x0020e6e0 emacs_abort + 0 3 bootstrap-emacs 0x000fc8c4 handle_sigsegv + 0 4 libSystem.B.dylib 0x9254f4bc _sigtramp + 68 5 ??? 0x0000000a 0x0 + 10 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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/mule-util.el 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' 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' '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval "(setq load-prefer-newer t byte-compile-warnings 'all)" --eval "(setq org--inhibit-version-check t)" \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile ../lisp/international/mule.el make[3]: *** [autoloads] Bus error 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' make[2]: *** [../lisp/loaddefs.el] Error 2 make[2]: *** Waiting for unfinished jobs....
Note: See
TracTickets for help on using
tickets.

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 ,@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))) ,@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))) ,@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