summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2003-09-08 11:56:09 +0000
committerKenichi Handa <handa@m17n.org>2003-09-08 11:56:09 +0000
commit463f5630a5e7cbe7f042bc1175d1fa1c4e98860f (patch)
tree3287d0c628fea2249abf4635b3a4f45bedd6f8c4 /lisp
parent4256310de631bd57c78b88b5131caa073315b3d7 (diff)
downloademacs-463f5630a5e7cbe7f042bc1175d1fa1c4e98860f.tar.gz
New directory
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog555
-rw-r--r--lisp/ChangeLog.12
-rw-r--r--lisp/ChangeLog.22
-rw-r--r--lisp/ChangeLog.32
-rw-r--r--lisp/ChangeLog.42
-rw-r--r--lisp/ChangeLog.52
-rw-r--r--lisp/ChangeLog.62
-rw-r--r--lisp/ChangeLog.72
-rw-r--r--lisp/ChangeLog.82
-rw-r--r--lisp/ChangeLog.92
-rw-r--r--lisp/Makefile.in5
-rw-r--r--lisp/abbrev.el1
-rw-r--r--lisp/abbrevlist.el1
-rw-r--r--lisp/add-log.el1
-rw-r--r--lisp/align.el1
-rw-r--r--lisp/allout.el5
-rw-r--r--lisp/ansi-color.el1
-rw-r--r--lisp/apropos.el1
-rw-r--r--lisp/arc-mode.el1
-rw-r--r--lisp/array.el1
-rw-r--r--lisp/autoarg.el1
-rw-r--r--lisp/autoinsert.el1
-rw-r--r--lisp/autorevert.el1
-rw-r--r--lisp/avoid.el1
-rw-r--r--lisp/battery.el1
-rw-r--r--lisp/bindings.el1
-rw-r--r--lisp/bookmark.el294
-rw-r--r--lisp/bs.el115
-rw-r--r--lisp/buff-menu.el1
-rw-r--r--lisp/button.el1
-rw-r--r--lisp/calc/calc-aent.el1
-rw-r--r--lisp/calc/calc-alg.el1
-rw-r--r--lisp/calc/calc-arith.el1
-rw-r--r--lisp/calc/calc-bin.el1
-rw-r--r--lisp/calc/calc-comb.el1
-rw-r--r--lisp/calc/calc-cplx.el1
-rw-r--r--lisp/calc/calc-embed.el1
-rw-r--r--lisp/calc/calc-ext.el1
-rw-r--r--lisp/calc/calc-fin.el1
-rw-r--r--lisp/calc/calc-forms.el1
-rw-r--r--lisp/calc/calc-frac.el1
-rw-r--r--lisp/calc/calc-funcs.el1
-rw-r--r--lisp/calc/calc-graph.el1
-rw-r--r--lisp/calc/calc-help.el1
-rw-r--r--lisp/calc/calc-incom.el1
-rw-r--r--lisp/calc/calc-keypd.el1
-rw-r--r--lisp/calc/calc-lang.el1
-rw-r--r--lisp/calc/calc-macs.el1
-rw-r--r--lisp/calc/calc-maint.el1
-rw-r--r--lisp/calc/calc-map.el1
-rw-r--r--lisp/calc/calc-math.el1
-rw-r--r--lisp/calc/calc-misc.el1
-rw-r--r--lisp/calc/calc-mode.el1
-rw-r--r--lisp/calc/calc-mtx.el1
-rw-r--r--lisp/calc/calc-poly.el1
-rw-r--r--lisp/calc/calc-prog.el1
-rw-r--r--lisp/calc/calc-rewr.el1
-rw-r--r--lisp/calc/calc-rules.el1
-rw-r--r--lisp/calc/calc-sel.el1
-rw-r--r--lisp/calc/calc-stat.el1
-rw-r--r--lisp/calc/calc-store.el1
-rw-r--r--lisp/calc/calc-stuff.el1
-rw-r--r--lisp/calc/calc-trail.el1
-rw-r--r--lisp/calc/calc-undo.el1
-rw-r--r--lisp/calc/calc-units.el1
-rw-r--r--lisp/calc/calc-vec.el1
-rw-r--r--lisp/calc/calc-yank.el1
-rw-r--r--lisp/calc/calc.el1
-rw-r--r--lisp/calc/calcalg2.el1
-rw-r--r--lisp/calc/calcalg3.el1
-rw-r--r--lisp/calc/calccomp.el1
-rw-r--r--lisp/calc/calcsel2.el1
-rw-r--r--lisp/calculator.el1
-rw-r--r--lisp/calendar/appt.el1
-rw-r--r--lisp/calendar/cal-china.el1
-rw-r--r--lisp/calendar/cal-coptic.el1
-rw-r--r--lisp/calendar/cal-dst.el1
-rw-r--r--lisp/calendar/cal-french.el1
-rw-r--r--lisp/calendar/cal-hebrew.el1
-rw-r--r--lisp/calendar/cal-islam.el1
-rw-r--r--lisp/calendar/cal-iso.el1
-rw-r--r--lisp/calendar/cal-julian.el1
-rw-r--r--lisp/calendar/cal-mayan.el1
-rw-r--r--lisp/calendar/cal-menu.el83
-rw-r--r--lisp/calendar/cal-move.el22
-rw-r--r--lisp/calendar/cal-persia.el1
-rw-r--r--lisp/calendar/cal-tex.el1
-rw-r--r--lisp/calendar/cal-x.el1
-rw-r--r--lisp/calendar/calendar.el21
-rw-r--r--lisp/calendar/diary-lib.el46
-rw-r--r--lisp/calendar/holidays.el1
-rw-r--r--lisp/calendar/lunar.el1
-rw-r--r--lisp/calendar/parse-time.el1
-rw-r--r--lisp/calendar/solar.el1
-rw-r--r--lisp/calendar/time-date.el1
-rw-r--r--lisp/calendar/timeclock.el1
-rw-r--r--lisp/calendar/todo-mode.el5
-rw-r--r--lisp/case-table.el1
-rw-r--r--lisp/cdl.el1
-rw-r--r--lisp/chistory.el1
-rw-r--r--lisp/cmuscheme.el1
-rw-r--r--lisp/comint.el1
-rw-r--r--lisp/compare-w.el1
-rw-r--r--lisp/complete.el1
-rw-r--r--lisp/completion.el1
-rw-r--r--lisp/composite.el2
-rw-r--r--lisp/cus-dep.el2
-rw-r--r--lisp/cus-edit.el17
-rw-r--r--lisp/cus-face.el1
-rw-r--r--lisp/cus-start.el6
-rw-r--r--lisp/cus-theme.el1
-rw-r--r--lisp/custom.el9
-rw-r--r--lisp/cvs-status.el1
-rw-r--r--lisp/dabbrev.el4
-rw-r--r--lisp/delim-col.el1
-rw-r--r--lisp/delsel.el1
-rw-r--r--lisp/descr-text.el1
-rw-r--r--lisp/desktop.el14
-rw-r--r--lisp/diff-mode.el1
-rw-r--r--lisp/diff.el1
-rw-r--r--lisp/dired-aux.el1
-rw-r--r--lisp/dired-x.el3
-rw-r--r--lisp/dired.el51
-rw-r--r--lisp/dirtrack.el1
-rw-r--r--lisp/disp-table.el1
-rw-r--r--lisp/dos-fns.el1
-rw-r--r--lisp/dos-vars.el1
-rw-r--r--lisp/dos-w32.el1
-rw-r--r--lisp/double.el1
-rw-r--r--lisp/ebuff-menu.el1
-rw-r--r--lisp/echistory.el1
-rw-r--r--lisp/ediff-diff.el1
-rw-r--r--lisp/ediff-help.el1
-rw-r--r--lisp/ediff-hook.el1
-rw-r--r--lisp/ediff-init.el1
-rw-r--r--lisp/ediff-merg.el1
-rw-r--r--lisp/ediff-mult.el1
-rw-r--r--lisp/ediff-ptch.el1
-rw-r--r--lisp/ediff-util.el1
-rw-r--r--lisp/ediff-vers.el1
-rw-r--r--lisp/ediff-wind.el1
-rw-r--r--lisp/ediff.el1
-rw-r--r--lisp/edmacro.el18
-rw-r--r--lisp/ehelp.el1
-rw-r--r--lisp/electric.el1
-rw-r--r--lisp/elide-head.el1
-rw-r--r--lisp/emacs-lisp/advice.el1
-rw-r--r--lisp/emacs-lisp/assoc.el1
-rw-r--r--lisp/emacs-lisp/authors.el1
-rw-r--r--lisp/emacs-lisp/autoload.el1
-rw-r--r--lisp/emacs-lisp/backquote.el1
-rw-r--r--lisp/emacs-lisp/benchmark.el2
-rw-r--r--lisp/emacs-lisp/bindat.el1
-rw-r--r--lisp/emacs-lisp/byte-opt.el1
-rw-r--r--lisp/emacs-lisp/byte-run.el1
-rw-r--r--lisp/emacs-lisp/bytecomp.el26
-rw-r--r--lisp/emacs-lisp/checkdoc.el1
-rw-r--r--lisp/emacs-lisp/cl-compat.el1
-rw-r--r--lisp/emacs-lisp/cl-extra.el1
-rw-r--r--lisp/emacs-lisp/cl-indent.el1
-rw-r--r--lisp/emacs-lisp/cl-macs.el1
-rw-r--r--lisp/emacs-lisp/cl-seq.el1
-rw-r--r--lisp/emacs-lisp/cl-specs.el3
-rw-r--r--lisp/emacs-lisp/cl.el1
-rw-r--r--lisp/emacs-lisp/copyright.el8
-rw-r--r--lisp/emacs-lisp/crm.el1
-rw-r--r--lisp/emacs-lisp/cust-print.el1
-rw-r--r--lisp/emacs-lisp/debug.el1
-rw-r--r--lisp/emacs-lisp/derived.el1
-rw-r--r--lisp/emacs-lisp/disass.el1
-rw-r--r--lisp/emacs-lisp/easy-mmode.el1
-rw-r--r--lisp/emacs-lisp/easymenu.el1
-rw-r--r--lisp/emacs-lisp/edebug.el1
-rw-r--r--lisp/emacs-lisp/eldoc.el3
-rw-r--r--lisp/emacs-lisp/elint.el1
-rw-r--r--lisp/emacs-lisp/elp.el1
-rw-r--r--lisp/emacs-lisp/ewoc.el1
-rw-r--r--lisp/emacs-lisp/find-func.el1
-rw-r--r--lisp/emacs-lisp/find-gc.el1
-rw-r--r--lisp/emacs-lisp/float-sup.el1
-rw-r--r--lisp/emacs-lisp/gulp.el1
-rw-r--r--lisp/emacs-lisp/helper.el1
-rw-r--r--lisp/emacs-lisp/levents.el1
-rw-r--r--lisp/emacs-lisp/lisp-mnt.el1
-rw-r--r--lisp/emacs-lisp/lisp-mode.el49
-rw-r--r--lisp/emacs-lisp/lisp.el6
-rw-r--r--lisp/emacs-lisp/lmenu.el1
-rw-r--r--lisp/emacs-lisp/lselect.el1
-rw-r--r--lisp/emacs-lisp/lucid.el1
-rw-r--r--lisp/emacs-lisp/map-ynp.el1
-rw-r--r--lisp/emacs-lisp/pp.el1
-rw-r--r--lisp/emacs-lisp/re-builder.el1
-rw-r--r--lisp/emacs-lisp/regexp-opt.el1
-rw-r--r--lisp/emacs-lisp/regi.el1
-rw-r--r--lisp/emacs-lisp/ring.el1
-rw-r--r--lisp/emacs-lisp/rx.el1
-rw-r--r--lisp/emacs-lisp/shadow.el1
-rw-r--r--lisp/emacs-lisp/sregex.el1
-rw-r--r--lisp/emacs-lisp/syntax.el2
-rw-r--r--lisp/emacs-lisp/testcover-ses.el712
-rw-r--r--lisp/emacs-lisp/testcover-unsafep.el140
-rw-r--r--lisp/emacs-lisp/testcover.el13
-rw-r--r--lisp/emacs-lisp/timer.el1
-rw-r--r--lisp/emacs-lisp/tq.el1
-rw-r--r--lisp/emacs-lisp/trace.el1
-rw-r--r--lisp/emacs-lisp/unsafep.el1
-rw-r--r--lisp/emacs-lisp/warnings.el67
-rw-r--r--lisp/emacs-lock.el1
-rw-r--r--lisp/emerge.el1
-rw-r--r--lisp/emulation/crisp.el1
-rw-r--r--lisp/emulation/cua-base.el1
-rw-r--r--lisp/emulation/cua-gmrk.el1
-rw-r--r--lisp/emulation/cua-rect.el1
-rw-r--r--lisp/emulation/edt-lk201.el1
-rw-r--r--lisp/emulation/edt-mapper.el1
-rw-r--r--lisp/emulation/edt-pc.el1
-rw-r--r--lisp/emulation/edt-vt100.el1
-rw-r--r--lisp/emulation/edt.el1
-rw-r--r--lisp/emulation/keypad.el1
-rw-r--r--lisp/emulation/pc-mode.el1
-rw-r--r--lisp/emulation/pc-select.el1
-rw-r--r--lisp/emulation/tpu-edt.el1
-rw-r--r--lisp/emulation/tpu-extras.el1
-rw-r--r--lisp/emulation/tpu-mapper.el1
-rw-r--r--lisp/emulation/vi.el1
-rw-r--r--lisp/emulation/vip.el1
-rw-r--r--lisp/emulation/viper-cmd.el1
-rw-r--r--lisp/emulation/viper-ex.el1
-rw-r--r--lisp/emulation/viper-init.el1
-rw-r--r--lisp/emulation/viper-keym.el1
-rw-r--r--lisp/emulation/viper-macs.el1
-rw-r--r--lisp/emulation/viper-mous.el1
-rw-r--r--lisp/emulation/viper-util.el1
-rw-r--r--lisp/emulation/viper.el1
-rw-r--r--lisp/emulation/ws-mode.el1
-rw-r--r--lisp/env.el1
-rw-r--r--lisp/eshell/em-alias.el1
-rw-r--r--lisp/eshell/em-banner.el1
-rw-r--r--lisp/eshell/em-basic.el1
-rw-r--r--lisp/eshell/em-cmpl.el1
-rw-r--r--lisp/eshell/em-dirs.el1
-rw-r--r--lisp/eshell/em-glob.el1
-rw-r--r--lisp/eshell/em-hist.el1
-rw-r--r--lisp/eshell/em-ls.el1
-rw-r--r--lisp/eshell/em-pred.el1
-rw-r--r--lisp/eshell/em-prompt.el1
-rw-r--r--lisp/eshell/em-rebind.el1
-rw-r--r--lisp/eshell/em-script.el1
-rw-r--r--lisp/eshell/em-smart.el1
-rw-r--r--lisp/eshell/em-term.el1
-rw-r--r--lisp/eshell/em-unix.el1
-rw-r--r--lisp/eshell/em-xtra.el1
-rw-r--r--lisp/eshell/esh-arg.el1
-rw-r--r--lisp/eshell/esh-cmd.el1
-rw-r--r--lisp/eshell/esh-ext.el1
-rw-r--r--lisp/eshell/esh-io.el1
-rw-r--r--lisp/eshell/esh-maint.el1
-rw-r--r--lisp/eshell/esh-mode.el1
-rw-r--r--lisp/eshell/esh-module.el1
-rw-r--r--lisp/eshell/esh-opt.el1
-rw-r--r--lisp/eshell/esh-proc.el1
-rw-r--r--lisp/eshell/esh-test.el1
-rw-r--r--lisp/eshell/esh-util.el1
-rw-r--r--lisp/eshell/esh-var.el1
-rw-r--r--lisp/eshell/eshell.el1
-rw-r--r--lisp/expand.el1
-rw-r--r--lisp/facemenu.el2
-rw-r--r--lisp/faces.el1
-rw-r--r--lisp/fast-lock.el1
-rw-r--r--lisp/ffap.el2
-rw-r--r--lisp/filecache.el1
-rw-r--r--lisp/files.el3
-rw-r--r--lisp/filesets.el1
-rw-r--r--lisp/find-dired.el1
-rw-r--r--lisp/find-file.el1
-rw-r--r--lisp/find-lisp.el1
-rw-r--r--lisp/finder.el1
-rw-r--r--lisp/flow-ctrl.el1
-rw-r--r--lisp/foldout.el1
-rw-r--r--lisp/follow.el1
-rw-r--r--lisp/font-core.el1
-rw-r--r--lisp/font-lock.el1
-rw-r--r--lisp/format.el1
-rw-r--r--lisp/forms-d2.el1
-rw-r--r--lisp/forms-pass.el1
-rw-r--r--lisp/forms.el5
-rw-r--r--lisp/frame.el1
-rw-r--r--lisp/fringe.el1
-rw-r--r--lisp/gdb-ui.el2430
-rw-r--r--lisp/generic-x.el1
-rw-r--r--lisp/generic.el1
-rw-r--r--lisp/gnus/ChangeLog2
-rw-r--r--lisp/gnus/ChangeLog.12
-rw-r--r--lisp/gnus/binhex.el1
-rw-r--r--lisp/gnus/earcon.el1
-rw-r--r--lisp/gnus/flow-fill.el1
-rw-r--r--lisp/gnus/format-spec.el1
-rw-r--r--lisp/gnus/gnus-agent.el1
-rw-r--r--lisp/gnus/gnus-art.el1
-rw-r--r--lisp/gnus/gnus-async.el1
-rw-r--r--lisp/gnus/gnus-audio.el1
-rw-r--r--lisp/gnus/gnus-bcklg.el1
-rw-r--r--lisp/gnus/gnus-cache.el1
-rw-r--r--lisp/gnus/gnus-cite.el1
-rw-r--r--lisp/gnus/gnus-cus.el1
-rw-r--r--lisp/gnus/gnus-demon.el1
-rw-r--r--lisp/gnus/gnus-draft.el1
-rw-r--r--lisp/gnus/gnus-dup.el1
-rw-r--r--lisp/gnus/gnus-eform.el1
-rw-r--r--lisp/gnus/gnus-ems.el1
-rw-r--r--lisp/gnus/gnus-gl.el1
-rw-r--r--lisp/gnus/gnus-group.el1
-rw-r--r--lisp/gnus/gnus-int.el1
-rw-r--r--lisp/gnus/gnus-kill.el1
-rw-r--r--lisp/gnus/gnus-logic.el1
-rw-r--r--lisp/gnus/gnus-mh.el1
-rw-r--r--lisp/gnus/gnus-ml.el1
-rw-r--r--lisp/gnus/gnus-mlspl.el1
-rw-r--r--lisp/gnus/gnus-move.el1
-rw-r--r--lisp/gnus/gnus-msg.el1
-rw-r--r--lisp/gnus/gnus-mule.el1
-rw-r--r--lisp/gnus/gnus-nocem.el1
-rw-r--r--lisp/gnus/gnus-range.el1
-rw-r--r--lisp/gnus/gnus-salt.el1
-rw-r--r--lisp/gnus/gnus-score.el1
-rw-r--r--lisp/gnus/gnus-setup.el1
-rw-r--r--lisp/gnus/gnus-soup.el1
-rw-r--r--lisp/gnus/gnus-spec.el1
-rw-r--r--lisp/gnus/gnus-srvr.el1
-rw-r--r--lisp/gnus/gnus-start.el1
-rw-r--r--lisp/gnus/gnus-sum.el1
-rw-r--r--lisp/gnus/gnus-topic.el1
-rw-r--r--lisp/gnus/gnus-undo.el1
-rw-r--r--lisp/gnus/gnus-util.el1
-rw-r--r--lisp/gnus/gnus-uu.el1
-rw-r--r--lisp/gnus/gnus-vm.el1
-rw-r--r--lisp/gnus/gnus-win.el1
-rw-r--r--lisp/gnus/gnus.el1
-rw-r--r--lisp/gnus/ietf-drums.el1
-rw-r--r--lisp/gnus/imap.el1
-rw-r--r--lisp/gnus/mail-parse.el1
-rw-r--r--lisp/gnus/mail-prsvr.el1
-rw-r--r--lisp/gnus/mail-source.el1
-rw-r--r--lisp/gnus/mailcap.el1
-rw-r--r--lisp/gnus/message.el1
-rw-r--r--lisp/gnus/messcompat.el1
-rw-r--r--lisp/gnus/mm-bodies.el1
-rw-r--r--lisp/gnus/mm-decode.el1
-rw-r--r--lisp/gnus/mm-encode.el1
-rw-r--r--lisp/gnus/mm-partial.el1
-rw-r--r--lisp/gnus/mm-util.el1
-rw-r--r--lisp/gnus/mm-uu.el1
-rw-r--r--lisp/gnus/mm-view.el1
-rw-r--r--lisp/gnus/mml.el1
-rw-r--r--lisp/gnus/nnagent.el1
-rw-r--r--lisp/gnus/nnbabyl.el1
-rw-r--r--lisp/gnus/nndir.el1
-rw-r--r--lisp/gnus/nndoc.el1
-rw-r--r--lisp/gnus/nndraft.el1
-rw-r--r--lisp/gnus/nneething.el1
-rw-r--r--lisp/gnus/nnfolder.el1
-rw-r--r--lisp/gnus/nngateway.el1
-rw-r--r--lisp/gnus/nnheader.el1
-rw-r--r--lisp/gnus/nnimap.el1
-rw-r--r--lisp/gnus/nnkiboze.el1
-rw-r--r--lisp/gnus/nnlistserv.el1
-rw-r--r--lisp/gnus/nnmail.el1
-rw-r--r--lisp/gnus/nnmbox.el1
-rw-r--r--lisp/gnus/nnmh.el1
-rw-r--r--lisp/gnus/nnml.el1
-rw-r--r--lisp/gnus/nnoo.el1
-rw-r--r--lisp/gnus/nnslashdot.el1
-rw-r--r--lisp/gnus/nnsoup.el1
-rw-r--r--lisp/gnus/nnspool.el1
-rw-r--r--lisp/gnus/nntp.el1
-rw-r--r--lisp/gnus/nnultimate.el1
-rw-r--r--lisp/gnus/nnvirtual.el1
-rw-r--r--lisp/gnus/nnwarchive.el1
-rw-r--r--lisp/gnus/nnweb.el1
-rw-r--r--lisp/gnus/pop3.el1
-rw-r--r--lisp/gnus/qp.el1
-rw-r--r--lisp/gnus/rfc1843.el1
-rw-r--r--lisp/gnus/rfc2045.el1
-rw-r--r--lisp/gnus/rfc2047.el1
-rw-r--r--lisp/gnus/rfc2104.el1
-rw-r--r--lisp/gnus/rfc2231.el1
-rw-r--r--lisp/gnus/score-mode.el1
-rw-r--r--lisp/gnus/smiley-ems.el1
-rw-r--r--lisp/gnus/starttls.el1
-rw-r--r--lisp/gnus/utf7.el1
-rw-r--r--lisp/gnus/uudecode.el1
-rw-r--r--lisp/gnus/webmail.el1
-rw-r--r--lisp/gs.el1
-rw-r--r--lisp/help-fns.el1
-rw-r--r--lisp/help-macro.el1
-rw-r--r--lisp/help-mode.el1
-rw-r--r--lisp/help.el1
-rw-r--r--lisp/hexl.el1
-rw-r--r--lisp/hi-lock.el1
-rw-r--r--lisp/hilit-chg.el1
-rw-r--r--lisp/hippie-exp.el1
-rw-r--r--lisp/hl-line.el1
-rw-r--r--lisp/ibuf-ext.el1
-rw-r--r--lisp/ibuf-macs.el1
-rw-r--r--lisp/ibuffer.el5
-rw-r--r--lisp/icomplete.el1
-rw-r--r--lisp/ido.el1
-rw-r--r--lisp/ielm.el1
-rw-r--r--lisp/image-file.el1
-rw-r--r--lisp/image.el4
-rw-r--r--lisp/imenu.el1
-rw-r--r--lisp/indent.el1
-rw-r--r--lisp/info-look.el1
-rw-r--r--lisp/info-xref.el1
-rw-r--r--lisp/info.el5
-rw-r--r--lisp/informat.el1
-rw-r--r--lisp/international/ccl.el1
-rw-r--r--lisp/international/characters.el1
-rw-r--r--lisp/international/code-pages.el1
-rw-r--r--lisp/international/codepage.el1
-rw-r--r--lisp/international/encoded-kb.el1
-rw-r--r--lisp/international/fontset.el104
-rw-r--r--lisp/international/isearch-x.el1
-rw-r--r--lisp/international/iso-acc.el1
-rw-r--r--lisp/international/iso-ascii.el1
-rw-r--r--lisp/international/iso-cvt.el1
-rw-r--r--lisp/international/iso-insert.el1
-rw-r--r--lisp/international/iso-swed.el1
-rw-r--r--lisp/international/iso-transl.el1
-rw-r--r--lisp/international/ja-dic-cnv.el1
-rw-r--r--lisp/international/ja-dic-utl.el1
-rw-r--r--lisp/international/kinsoku.el28
-rw-r--r--lisp/international/kkc.el1
-rw-r--r--lisp/international/latin-1.el1
-rw-r--r--lisp/international/latin-2.el1
-rw-r--r--lisp/international/latin-3.el1
-rw-r--r--lisp/international/latin-4.el1
-rw-r--r--lisp/international/latin-5.el1
-rw-r--r--lisp/international/latin-8.el1
-rw-r--r--lisp/international/latin-9.el1
-rw-r--r--lisp/international/latin1-disp.el54
-rw-r--r--lisp/international/mule-cmds.el23
-rw-r--r--lisp/international/mule-conf.el1
-rw-r--r--lisp/international/mule-diag.el1
-rw-r--r--lisp/international/mule-util.el41
-rw-r--r--lisp/international/mule.el36
-rw-r--r--lisp/international/ogonek.el1
-rw-r--r--lisp/international/quail.el1
-rw-r--r--lisp/international/subst-big5.el1
-rw-r--r--lisp/international/subst-gb2312.el1
-rw-r--r--lisp/international/subst-jis.el1
-rw-r--r--lisp/international/subst-ksc.el1
-rw-r--r--lisp/international/swedish.el1
-rw-r--r--lisp/international/titdic-cnv.el8
-rw-r--r--lisp/international/ucs-tables.el1
-rw-r--r--lisp/international/utf-16.el14
-rw-r--r--lisp/international/utf-7.el2
-rw-r--r--lisp/international/utf-8.el3
-rw-r--r--lisp/isearch.el1
-rw-r--r--lisp/iswitchb.el3
-rw-r--r--lisp/jit-lock.el1
-rw-r--r--lisp/jka-compr.el1
-rw-r--r--lisp/kermit.el1
-rw-r--r--lisp/kmacro.el175
-rw-r--r--lisp/language/china-util.el1
-rw-r--r--lisp/language/chinese.el1
-rw-r--r--lisp/language/cyril-util.el1
-rw-r--r--lisp/language/cyrillic.el1
-rw-r--r--lisp/language/czech.el1
-rw-r--r--lisp/language/devan-util.el1
-rw-r--r--lisp/language/devanagari.el1
-rw-r--r--lisp/language/english.el1
-rw-r--r--lisp/language/ethio-util.el1
-rw-r--r--lisp/language/ethiopic.el1
-rw-r--r--lisp/language/european.el1
-rw-r--r--lisp/language/georgian.el1
-rw-r--r--lisp/language/greek.el1
-rw-r--r--lisp/language/hebrew.el1
-rw-r--r--lisp/language/ind-util.el1
-rw-r--r--lisp/language/indian.el1
-rw-r--r--lisp/language/japan-util.el1
-rw-r--r--lisp/language/japanese.el1
-rw-r--r--lisp/language/korea-util.el1
-rw-r--r--lisp/language/korean.el1
-rw-r--r--lisp/language/lao-util.el1
-rw-r--r--lisp/language/lao.el1
-rw-r--r--lisp/language/malayalam.el1
-rw-r--r--lisp/language/misc-lang.el1
-rw-r--r--lisp/language/mlm-util.el1
-rw-r--r--lisp/language/romanian.el1
-rw-r--r--lisp/language/slovak.el1
-rw-r--r--lisp/language/tamil.el1
-rw-r--r--lisp/language/thai-util.el1
-rw-r--r--lisp/language/thai.el1
-rw-r--r--lisp/language/tibet-util.el1
-rw-r--r--lisp/language/tibetan.el1
-rw-r--r--lisp/language/tml-util.el1
-rw-r--r--lisp/language/utf-8-lang.el2
-rw-r--r--lisp/language/viet-util.el1
-rw-r--r--lisp/language/vietnamese.el1
-rw-r--r--lisp/lazy-lock.el1
-rw-r--r--lisp/ledit.el1
-rw-r--r--lisp/loadhist.el1
-rw-r--r--lisp/loadup.el2
-rw-r--r--lisp/locate.el1
-rw-r--r--lisp/log-edit.el1
-rw-r--r--lisp/log-view.el1
-rw-r--r--lisp/lpr.el1
-rw-r--r--lisp/ls-lisp.el1
-rw-r--r--lisp/macros.el1
-rw-r--r--lisp/mail/blessmail.el1
-rw-r--r--lisp/mail/emacsbug.el1
-rw-r--r--lisp/mail/feedmail.el1
-rw-r--r--lisp/mail/footnote.el1
-rw-r--r--lisp/mail/mail-extr.el1
-rw-r--r--lisp/mail/mail-hist.el1
-rw-r--r--lisp/mail/mail-utils.el1
-rw-r--r--lisp/mail/mailabbrev.el14
-rw-r--r--lisp/mail/mailalias.el1
-rw-r--r--lisp/mail/mailheader.el1
-rw-r--r--lisp/mail/mailpost.el1
-rw-r--r--lisp/mail/metamail.el3
-rw-r--r--lisp/mail/mspools.el1
-rw-r--r--lisp/mail/reporter.el2
-rw-r--r--lisp/mail/rfc2368.el1
-rw-r--r--lisp/mail/rfc822.el1
-rw-r--r--lisp/mail/rmail-spam-filter.el1
-rw-r--r--lisp/mail/rmail.el80
-rw-r--r--lisp/mail/rmailedit.el1
-rw-r--r--lisp/mail/rmailkwd.el1
-rw-r--r--lisp/mail/rmailmsc.el1
-rw-r--r--lisp/mail/rmailout.el1
-rw-r--r--lisp/mail/rmailsort.el1
-rw-r--r--lisp/mail/rmailsum.el1
-rw-r--r--lisp/mail/sendmail.el22
-rw-r--r--lisp/mail/smtpmail.el33
-rw-r--r--lisp/mail/supercite.el1
-rw-r--r--lisp/mail/uce.el1
-rw-r--r--lisp/mail/undigest.el1
-rw-r--r--lisp/mail/unrmail.el1
-rw-r--r--lisp/mail/vms-pmail.el1
-rw-r--r--lisp/makefile.nt2
-rw-r--r--lisp/makefile.w32-in2
-rw-r--r--lisp/makesum.el1
-rw-r--r--lisp/man.el11
-rw-r--r--lisp/master.el1
-rw-r--r--lisp/menu-bar.el20
-rw-r--r--lisp/mh-e/ChangeLog2
-rw-r--r--lisp/mh-e/mh-alias.el1
-rw-r--r--lisp/mh-e/mh-comp.el1
-rw-r--r--lisp/mh-e/mh-customize.el1
-rw-r--r--lisp/mh-e/mh-e.el1
-rw-r--r--lisp/mh-e/mh-funcs.el1
-rw-r--r--lisp/mh-e/mh-identity.el1
-rw-r--r--lisp/mh-e/mh-inc.el1
-rw-r--r--lisp/mh-e/mh-index.el1
-rw-r--r--lisp/mh-e/mh-junk.el1
-rw-r--r--lisp/mh-e/mh-loaddefs.el2
-rw-r--r--lisp/mh-e/mh-mime.el1
-rw-r--r--lisp/mh-e/mh-pick.el1
-rw-r--r--lisp/mh-e/mh-seq.el1
-rw-r--r--lisp/mh-e/mh-speed.el1
-rw-r--r--lisp/mh-e/mh-utils.el1
-rw-r--r--lisp/mh-e/mh-xemacs-compat.el1
-rw-r--r--lisp/mh-e/mh-xemacs-icons.el1
-rw-r--r--lisp/midnight.el1
-rw-r--r--lisp/minibuf-eldef.el1
-rw-r--r--lisp/misc.el1
-rw-r--r--lisp/mouse-copy.el1
-rw-r--r--lisp/mouse-drag.el1
-rw-r--r--lisp/mouse-sel.el1
-rw-r--r--lisp/mouse.el13
-rw-r--r--lisp/msb.el1
-rw-r--r--lisp/mwheel.el1
-rw-r--r--lisp/net/ange-ftp.el18
-rw-r--r--lisp/net/browse-url.el1
-rw-r--r--lisp/net/eudc-bob.el1
-rw-r--r--lisp/net/eudc-export.el1
-rw-r--r--lisp/net/eudc-hotlist.el1
-rw-r--r--lisp/net/eudc-vars.el1
-rw-r--r--lisp/net/eudc.el1
-rw-r--r--lisp/net/eudcb-bbdb.el1
-rw-r--r--lisp/net/eudcb-ldap.el1
-rw-r--r--lisp/net/eudcb-ph.el1
-rw-r--r--lisp/net/goto-addr.el1
-rw-r--r--lisp/net/ldap.el1
-rw-r--r--lisp/net/net-utils.el1
-rw-r--r--lisp/net/netrc.el1
-rw-r--r--lisp/net/quickurl.el1
-rw-r--r--lisp/net/rcompile.el1
-rw-r--r--lisp/net/rlogin.el3
-rw-r--r--lisp/net/snmp-mode.el1
-rw-r--r--lisp/net/telnet.el1
-rw-r--r--lisp/net/tls.el1
-rw-r--r--lisp/net/tramp-ftp.el1
-rw-r--r--lisp/net/tramp-smb.el1
-rw-r--r--lisp/net/tramp-util.el2
-rw-r--r--lisp/net/tramp-uu.el2
-rw-r--r--lisp/net/tramp-vc.el1
-rw-r--r--lisp/net/tramp.el1
-rw-r--r--lisp/net/trampver.el1
-rw-r--r--lisp/net/webjump.el1
-rw-r--r--lisp/net/zone-mode.el1
-rw-r--r--lisp/newcomment.el1
-rw-r--r--lisp/novice.el1
-rw-r--r--lisp/obsolete/auto-show.el1
-rw-r--r--lisp/obsolete/awk-mode.el1
-rw-r--r--lisp/obsolete/float.el1
-rw-r--r--lisp/obsolete/hilit19.el1
-rw-r--r--lisp/obsolete/hscroll.el1
-rw-r--r--lisp/obsolete/mlsupport.el1
-rw-r--r--lisp/obsolete/ooutline.el1
-rw-r--r--lisp/obsolete/options.el1
-rw-r--r--lisp/obsolete/profile.el1
-rw-r--r--lisp/obsolete/rnews.el1
-rw-r--r--lisp/obsolete/rnewspost.el1
-rw-r--r--lisp/obsolete/rsz-mini.el3
-rw-r--r--lisp/obsolete/sc.el1
-rw-r--r--lisp/obsolete/scribe.el1
-rw-r--r--lisp/obsolete/sun-curs.el1
-rw-r--r--lisp/obsolete/sun-fns.el1
-rw-r--r--lisp/obsolete/uncompress.el1
-rw-r--r--lisp/obsolete/x-apollo.el1
-rw-r--r--lisp/obsolete/x-menu.el1
-rw-r--r--lisp/outline.el1
-rw-r--r--lisp/paren.el1
-rw-r--r--lisp/patcomp.el1
-rw-r--r--lisp/paths.el1
-rw-r--r--lisp/pcmpl-cvs.el1
-rw-r--r--lisp/pcmpl-gnu.el1
-rw-r--r--lisp/pcmpl-linux.el1
-rw-r--r--lisp/pcmpl-rpm.el1
-rw-r--r--lisp/pcmpl-unix.el1
-rw-r--r--lisp/pcomplete.el1
-rw-r--r--lisp/pcvs-defs.el1
-rw-r--r--lisp/pcvs-info.el1
-rw-r--r--lisp/pcvs-parse.el1
-rw-r--r--lisp/pcvs-util.el1
-rw-r--r--lisp/pcvs.el8
-rw-r--r--lisp/play/5x5.el1
-rw-r--r--lisp/play/animate.el1
-rw-r--r--lisp/play/blackbox.el1
-rw-r--r--lisp/play/bruce.el1
-rw-r--r--lisp/play/cookie1.el1
-rw-r--r--lisp/play/decipher.el1
-rw-r--r--lisp/play/dissociate.el1
-rw-r--r--lisp/play/doctor.el1
-rw-r--r--lisp/play/dunnet.el1
-rw-r--r--lisp/play/fortune.el1
-rw-r--r--lisp/play/gamegrid.el1
-rw-r--r--lisp/play/gametree.el1
-rw-r--r--lisp/play/gomoku.el1
-rw-r--r--lisp/play/handwrite.el1
-rw-r--r--lisp/play/hanoi.el1
-rw-r--r--lisp/play/landmark.el1
-rw-r--r--lisp/play/life.el1
-rw-r--r--lisp/play/meese.el1
-rw-r--r--lisp/play/morse.el1
-rw-r--r--lisp/play/mpuz.el1
-rw-r--r--lisp/play/pong.el1
-rw-r--r--lisp/play/snake.el1
-rw-r--r--lisp/play/solitaire.el1
-rw-r--r--lisp/play/spook.el1
-rw-r--r--lisp/play/studly.el1
-rw-r--r--lisp/play/tetris.el1
-rw-r--r--lisp/play/yow.el1
-rw-r--r--lisp/play/zone.el1
-rw-r--r--lisp/printing.el1
-rw-r--r--lisp/progmodes/ada-mode.el3
-rw-r--r--lisp/progmodes/ada-prj.el3
-rw-r--r--lisp/progmodes/ada-stmt.el3
-rw-r--r--lisp/progmodes/ada-xref.el1
-rw-r--r--lisp/progmodes/antlr-mode.el2
-rw-r--r--lisp/progmodes/asm-mode.el1
-rw-r--r--lisp/progmodes/autoconf.el3
-rw-r--r--lisp/progmodes/cc-align.el17
-rw-r--r--lisp/progmodes/cc-awk.el2
-rw-r--r--lisp/progmodes/cc-bytecomp.el1
-rw-r--r--lisp/progmodes/cc-cmds.el16
-rw-r--r--lisp/progmodes/cc-compat.el2
-rw-r--r--lisp/progmodes/cc-defs.el3
-rw-r--r--lisp/progmodes/cc-engine.el19
-rw-r--r--lisp/progmodes/cc-fonts.el1
-rw-r--r--lisp/progmodes/cc-langs.el35
-rw-r--r--lisp/progmodes/cc-menus.el1
-rw-r--r--lisp/progmodes/cc-mode.el2
-rw-r--r--lisp/progmodes/cc-styles.el1
-rw-r--r--lisp/progmodes/cc-vars.el5
-rw-r--r--lisp/progmodes/cmacexp.el1
-rw-r--r--lisp/progmodes/compile.el21
-rw-r--r--lisp/progmodes/cperl-mode.el1
-rw-r--r--lisp/progmodes/cpp.el1
-rw-r--r--lisp/progmodes/cwarn.el1
-rw-r--r--lisp/progmodes/dcl-mode.el1
-rw-r--r--lisp/progmodes/delphi.el3
-rw-r--r--lisp/progmodes/ebnf-bnf.el1
-rw-r--r--lisp/progmodes/ebnf-iso.el8
-rw-r--r--lisp/progmodes/ebnf-otz.el1
-rw-r--r--lisp/progmodes/ebnf-yac.el1
-rw-r--r--lisp/progmodes/ebnf2ps.el11
-rw-r--r--lisp/progmodes/ebrowse.el1
-rw-r--r--lisp/progmodes/etags.el1
-rw-r--r--lisp/progmodes/executable.el1
-rw-r--r--lisp/progmodes/f90.el1
-rw-r--r--lisp/progmodes/fortran.el1
-rw-r--r--lisp/progmodes/glasses.el1
-rw-r--r--lisp/progmodes/gud.el17
-rw-r--r--lisp/progmodes/hideif.el1
-rw-r--r--lisp/progmodes/hideshow.el1
-rw-r--r--lisp/progmodes/icon.el1
-rw-r--r--lisp/progmodes/idlw-rinfo.el1
-rw-r--r--lisp/progmodes/idlw-shell.el4
-rw-r--r--lisp/progmodes/idlw-toolbar.el3
-rw-r--r--lisp/progmodes/idlwave.el3
-rw-r--r--lisp/progmodes/inf-lisp.el1
-rw-r--r--lisp/progmodes/ld-script.el127
-rw-r--r--lisp/progmodes/m4-mode.el1
-rw-r--r--lisp/progmodes/make-mode.el1
-rw-r--r--lisp/progmodes/mantemp.el1
-rw-r--r--lisp/progmodes/meta-mode.el1
-rw-r--r--lisp/progmodes/mixal-mode.el2
-rw-r--r--lisp/progmodes/modula2.el1
-rw-r--r--lisp/progmodes/octave-hlp.el1
-rw-r--r--lisp/progmodes/octave-inf.el1
-rw-r--r--lisp/progmodes/octave-mod.el1
-rw-r--r--lisp/progmodes/pascal.el1
-rw-r--r--lisp/progmodes/perl-mode.el1
-rw-r--r--lisp/progmodes/prolog.el1
-rw-r--r--lisp/progmodes/ps-mode.el1
-rw-r--r--lisp/progmodes/scheme.el1
-rw-r--r--lisp/progmodes/sh-script.el38
-rw-r--r--lisp/progmodes/simula.el1
-rw-r--r--lisp/progmodes/sql.el1574
-rw-r--r--lisp/progmodes/tcl.el3
-rw-r--r--lisp/progmodes/vhdl-mode.el3
-rw-r--r--lisp/progmodes/which-func.el1
-rw-r--r--lisp/progmodes/xscheme.el1
-rw-r--r--lisp/ps-bdf.el1
-rw-r--r--lisp/ps-mule.el1
-rw-r--r--lisp/ps-print.el1
-rw-r--r--lisp/recentf.el3
-rw-r--r--lisp/rect.el1
-rw-r--r--lisp/register.el1
-rw-r--r--lisp/repeat.el1
-rw-r--r--lisp/replace.el1
-rw-r--r--lisp/reposition.el1
-rw-r--r--lisp/resume.el1
-rw-r--r--lisp/reveal.el1
-rw-r--r--lisp/rfn-eshadow.el1
-rw-r--r--lisp/rot13.el1
-rw-r--r--lisp/ruler-mode.el1
-rw-r--r--lisp/s-region.el1
-rw-r--r--lisp/saveplace.el1
-rw-r--r--lisp/scroll-all.el1
-rw-r--r--lisp/scroll-bar.el1
-rw-r--r--lisp/select.el1
-rw-r--r--lisp/server.el1
-rw-r--r--lisp/ses.el1
-rw-r--r--lisp/shadowfile.el1
-rw-r--r--lisp/shell.el4
-rw-r--r--lisp/simple.el45
-rw-r--r--lisp/skeleton.el1
-rw-r--r--lisp/smerge-mode.el4
-rw-r--r--lisp/sort.el1
-rw-r--r--lisp/soundex.el1
-rw-r--r--lisp/speedbar.el1
-rw-r--r--lisp/startup.el1
-rw-r--r--lisp/strokes.el1
-rw-r--r--lisp/subr.el17
-rw-r--r--lisp/tabify.el1
-rw-r--r--lisp/talk.el1
-rw-r--r--lisp/tar-mode.el1
-rw-r--r--lisp/tempo.el1
-rw-r--r--lisp/term.el3
-rw-r--r--lisp/term/AT386.el1
-rw-r--r--lisp/term/apollo.el1
-rw-r--r--lisp/term/bg-mouse.el1
-rw-r--r--lisp/term/bobcat.el1
-rw-r--r--lisp/term/internal.el1
-rw-r--r--lisp/term/iris-ansi.el1
-rw-r--r--lisp/term/keyswap.el1
-rw-r--r--lisp/term/linux.el1
-rw-r--r--lisp/term/lk201.el1
-rw-r--r--lisp/term/mac-win.el1
-rw-r--r--lisp/term/news.el1
-rw-r--r--lisp/term/pc-win.el1
-rw-r--r--lisp/term/rxvt.el1
-rw-r--r--lisp/term/sun-mouse.el1
-rw-r--r--lisp/term/sun.el1
-rw-r--r--lisp/term/sup-mouse.el1
-rw-r--r--lisp/term/tty-colors.el1
-rw-r--r--lisp/term/tvi970.el1
-rw-r--r--lisp/term/vt100.el1
-rw-r--r--lisp/term/vt102.el1
-rw-r--r--lisp/term/vt125.el1
-rw-r--r--lisp/term/vt200.el1
-rw-r--r--lisp/term/vt201.el1
-rw-r--r--lisp/term/vt220.el1
-rw-r--r--lisp/term/vt240.el1
-rw-r--r--lisp/term/vt300.el1
-rw-r--r--lisp/term/vt320.el1
-rw-r--r--lisp/term/vt400.el1
-rw-r--r--lisp/term/vt420.el1
-rw-r--r--lisp/term/w32-win.el1
-rw-r--r--lisp/term/wyse50.el1
-rw-r--r--lisp/term/x-win.el1
-rw-r--r--lisp/term/xterm.el1
-rw-r--r--lisp/terminal.el1
-rw-r--r--lisp/textmodes/artist.el1
-rw-r--r--lisp/textmodes/bib-mode.el2
-rw-r--r--lisp/textmodes/bibtex.el1
-rw-r--r--lisp/textmodes/enriched.el1
-rw-r--r--lisp/textmodes/fill.el1
-rw-r--r--lisp/textmodes/flyspell.el1
-rw-r--r--lisp/textmodes/ispell.el1
-rw-r--r--lisp/textmodes/makeinfo.el1
-rw-r--r--lisp/textmodes/nroff-mode.el1
-rw-r--r--lisp/textmodes/page-ext.el2
-rw-r--r--lisp/textmodes/page.el1
-rw-r--r--lisp/textmodes/paragraphs.el1
-rw-r--r--lisp/textmodes/picture.el1
-rw-r--r--lisp/textmodes/po.el1
-rw-r--r--lisp/textmodes/refbib.el1
-rw-r--r--lisp/textmodes/refer.el1
-rw-r--r--lisp/textmodes/refill.el2
-rw-r--r--lisp/textmodes/reftex-auc.el103
-rw-r--r--lisp/textmodes/reftex-cite.el821
-rw-r--r--lisp/textmodes/reftex-dcr.el415
-rw-r--r--lisp/textmodes/reftex-global.el251
-rw-r--r--lisp/textmodes/reftex-index.el1839
-rw-r--r--lisp/textmodes/reftex-parse.el869
-rw-r--r--lisp/textmodes/reftex-ref.el728
-rw-r--r--lisp/textmodes/reftex-sel.el485
-rw-r--r--lisp/textmodes/reftex-toc.el833
-rw-r--r--lisp/textmodes/reftex-vars.el356
-rw-r--r--lisp/textmodes/reftex.el1292
-rw-r--r--lisp/textmodes/sgml-mode.el1
-rw-r--r--lisp/textmodes/spell.el1
-rw-r--r--lisp/textmodes/table.el1
-rw-r--r--lisp/textmodes/tex-mode.el3
-rw-r--r--lisp/textmodes/texinfmt.el1
-rw-r--r--lisp/textmodes/texinfo.el1
-rw-r--r--lisp/textmodes/texnfo-upd.el1
-rw-r--r--lisp/textmodes/text-mode.el1
-rw-r--r--lisp/textmodes/tildify.el1
-rw-r--r--lisp/textmodes/two-column.el1
-rw-r--r--lisp/textmodes/underline.el1
-rw-r--r--lisp/thingatpt.el1
-rw-r--r--lisp/time-stamp.el1
-rw-r--r--lisp/time.el1
-rw-r--r--lisp/timezone.el1
-rw-r--r--lisp/tmm.el1
-rw-r--r--lisp/toolbar/gud-display.pbmbin81 -> 0 bytes
-rw-r--r--lisp/toolbar/gud-display.xpm29
-rw-r--r--lisp/toolbar/gud-next.pbmbin81 -> 0 bytes
-rw-r--r--lisp/toolbar/gud-next.xpm34
-rw-r--r--lisp/toolbar/gud-nexti.pbmbin81 -> 0 bytes
-rw-r--r--lisp/toolbar/gud-nexti.xpm33
-rw-r--r--lisp/toolbar/gud-step.pbmbin81 -> 0 bytes
-rw-r--r--lisp/toolbar/gud-step.xpm33
-rw-r--r--lisp/toolbar/gud-stepi.pbmbin81 -> 0 bytes
-rw-r--r--lisp/toolbar/gud-stepi.xpm32
-rw-r--r--lisp/toolbar/tool-bar.el1
-rw-r--r--lisp/tooltip.el1
-rw-r--r--lisp/type-break.el3
-rw-r--r--lisp/uniquify.el2
-rw-r--r--lisp/userlock.el1
-rw-r--r--lisp/vc-cvs.el3
-rw-r--r--lisp/vc-hooks.el15
-rw-r--r--lisp/vc-mcvs.el2
-rw-r--r--lisp/vc-rcs.el3
-rw-r--r--lisp/vc-sccs.el17
-rw-r--r--lisp/vc-svn.el1
-rw-r--r--lisp/vc.el3
-rw-r--r--lisp/vcursor.el1
-rw-r--r--lisp/version.el3
-rw-r--r--lisp/view.el1
-rw-r--r--lisp/vms-patch.el1
-rw-r--r--lisp/vmsproc.el1
-rw-r--r--lisp/vt-control.el1
-rw-r--r--lisp/vt100-led.el1
-rw-r--r--lisp/w32-fns.el1
-rw-r--r--lisp/w32-vars.el1
-rw-r--r--lisp/whitespace.el4
-rw-r--r--lisp/wid-browse.el1
-rw-r--r--lisp/wid-edit.el4
-rw-r--r--lisp/widget.el1
-rw-r--r--lisp/windmove.el1
-rw-r--r--lisp/window.el1
-rw-r--r--lisp/winner.el1
-rw-r--r--lisp/woman.el1
-rw-r--r--lisp/xml.el1
-rw-r--r--lisp/xt-mouse.el1
893 files changed, 5005 insertions, 11486 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 86bb9ddcf3c..b9b8390d04a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,536 +1,9 @@
-2003-09-02 Jason Rumney <jasonr@gnu.org>
-
- * international/titdic-cnv.el (tsang-quick-converter): Fix broken
- line-ends from CVS before doing conversion.
-
-2003-09-02 Glenn Morris <gmorris@ast.cam.ac.uk>
-
- * calendar/diary-lib.el (diary-header-line-flag)
- (diary-header-line-format): New variables.
- (list-diary-entries): Use them to set header line in simple diary.
-
- * progmodes/sh-script.el (sh-font-lock-keywords): Use something
- other than font-lock-string-face to highlight backslashes.
-
-2003-09-01 Jason Rumney <jasonr@gnu.org>
-
- * international/titdic-cnv.el (tit-read-key-value): Include \r in
- regexp.
-
-2003-09-01 Dave Love <fx@gnu.org>
-
- * mouse.el (mouse-popup-menubar, mouse-skip-word): Doc fix.
-
- * menu-bar.el (menu-bar-showhide-menu): Amend date and time label
- and :help; also line and column numbers labels.
-
- * international/mule-util.el (char-displayable-p): Moved from
- latin1-disp, renamed and autoloaded.
-
- * international/latin1-disp.el (latin1-char-displayable-p): Now
- obsolete alias. Replace uses with char-displayable-p.
- (latin1-display-ucs-per-lynx): Fix last change.
-
- * international/mule-cmds.el (standard-display-european-internal):
- Don't use char code for Latin-1 NBSP.
- <XFree86 4>: Unfrob NBSP display table. Set display table to use
- U+2018, U+2019 for `'.
- (select-safe-coding-system): Message fix.
-
-2003-09-01 Kenichi Handa <handa@m17n.org>
-
- * international/fontset.el (setup-default-fontset): For Thai
- font, specify "*" family.
-
-2003-09-01 Kevin Rodgers <ihs_4664@yahoo.com> (tiny change)
-
- * progmodes/compile.el (previous-error): Accept a prefix
- argument, similarly to next-error.
-
-2003-08-31 Masatake YAMATO <jet@gyve.org>
-
- * pcvs.el (cvs-do-removal): Use = instead of eq to check
- the numbre of files. Bind the numbre of files to a a local
- variable. Suggestd by Kevin Rodgers <ihs_4664@yahoo.com>.
-
-2003-08-30 Eli Zaretskii <eliz@elta.co.il>
-
- * vc-hooks.el (vc-make-version-backup): Fix the change made on
- 2003-07-26: msdos-long-file-names is a function, not a variable.
-
-2003-08-29 Richard M. Stallman <rms@gnu.org>
-
- * mail/sendmail.el (sendmail-sync-aliases, mail-setup):
- Do nothing with mail-personal-alias-file if it is nil.
-
- * mail/mailabbrev.el (mail-abbrevs-sync-aliases):
- Do nothing if mail-personal-alias-file is nil.
-
- * term.el (term-exec-1): Bind coding-system-for-read.
-
- * dired.el (dired-mouse-find-file-other-window):
- Use dired-view-command-alist here, as in dired-view-file.
- (dired-view-command-alist): Use %s to substitute file name.
- Handle .ps_pages, .eps, .jpg, .gif, .png.
-
-2003-08-29 Paul Pogonyshev <pogonyshev@gmx.net>
-
- * info.el (Info-mode-map): Bind S-tab and <backtab> to
- `Info-prev-reference', instead of M-tab.
-
-2003-08-29 Martin Stjernholm <mast@lysator.liu.se>
-
- * simple.el (blink-matching-open): Work correctly on chars that
- are designated as parens through the syntax-table text property.
-
-2003-08-29 Thierry Emery <thierry.emery@club-internet.fr> (tiny change)
-
- * kinsoku.el (kinsoku-longer, kinsoku-shorter): Do not choose a
- line break position in the middle of a non-kinsoku (e.g. latin)
- word, making it skip until either a space or a character with
- category "|".
- (kinsoku-longer): Test for end of buffer.
-
-2003-08-28 Eli Zaretskii <eliz@elta.co.il>
-
- * mail/rmail.el (rmail-convert-to-babyl-format): Detect
- quoted-printable- and base64-encoded messages and decode them
- automatically. Set the message's encoding from the charset=
- header, if any. Decode base64-encoded messages in Mail format as
- well.
-
-2003-08-26 Glenn Morris <gmorris@ast.cam.ac.uk>
-
- * mail/smtpmail.el Fix previous change:
- (smtpmail-send-queued-mail): Set smtpmail-mail-address before
- calling smtpmail-via-smtp.
- (smtpmail-via-smtp): Add fall-back values for envelope-from.
-
-2003-08-26 John Paul Wallington <jpw@gnu.org>
-
- * image.el (image-jpeg-p): Don't search beyond length of data.
-
-2003-08-26 Martin Stjernholm <bug-cc-mode@gnu.org>
-
- * progmodes/cc-cmds.el (c-electric-brace): Work around for a
- misfeature in `expand-abbrev' which caused electric keywords like
- "else" to disappear if an open brace was typed directly
- afterwards.
-
-2003-08-26 Martin Stjernholm <bug-cc-mode@gnu.org>
-
- * progmodes/cc-vars.el (c-extra-types-widget): The doc string is
- mandatory in `define-widget'.
-
- * progmodes/cc-align.el, progmodes/cc-langs.el (c-lineup-math):
- Don't align the operators "!=", "<=" and ">=" as assignment
- operators.
-
- (c-assignment-operators): New language constant that only contains
- the assignment operators.
-
- (c-assignment-op-regexp): New language variable used by
- `c-lineup-math'.
-
-2003-08-26 Martin Stjernholm <bug-cc-mode@gnu.org>
-
- * progmodes/cc-engine.el (c-just-after-func-arglist-p): Safeguard
- against unbalanced sexps.
-
-2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
-
- * version.el (emacs-version): Check for gtk. Include gtk version
- info.
-
-2003-08-25 John Paul Wallington <jpw@gnu.org>
-
- * man.el (Man-default-man-entry): Don't whizz past the section
- number before looking for it.
-
-2003-08-24 Nick Roberts <nick@nick.uklinux.net>
-
- * progmodes/gud.el (gud-display-line): Don't set window-point if
- source buffer is not visible. (Only happens with M-x gdba).
-
- * gdb-ui.el (gdba): Remove gdb-quit (previously removed) from
- documentation.
- (gdb-source, gdb-source-info): Update to assembler unnecessary
- as its done after each GDB command anyway.
- (gdb-pre-prompt): Use with-current-buffer.
- (gdb-insert-field): Add help-echo text.
- (gdb-invalidate-assembler): Re-display of assembler now done in
- gdb-info-breakpoints-custom.
- (gdb-info-breakpoints-custom): Force re-display of assembler to
- happen *after* update of breakpoints buffer.
- (gdb-display-source-buffer): Don't choke if gdb-source-window
- isn't visible.
- (gdb-put-string, gdb-put-arrow): Remove free variables.
-
-2003-08-24 John Paul Wallington <jpw@gnu.org>
-
- * ibuffer.el (ibuffer-formats): Make name and size columns wider.
-
- * man.el (Man-default-man-entry): Strip text properties when
- snarfing parts of entry because `format' preserves properties.
-
-2003-08-24 Glenn Morris <gmorris@ast.cam.ac.uk>
-
- * files.el (file-newest-backup): Use `expand-file-name'.
-
- * calendar/diary-lib.el (simple-diary-display, make-diary-entry):
- Allow the diary to pop up a new frame, if needed.
-
- * mail/sendmail.el (mail-specify-envelope-from): Doc change.
- * mail/smtpmail.el (smtpmail-mail-address): Doc change.
- (smtpmail-send-it): Make treatment of envelope-from consistent with
- sendmail.el.
-
- * progmodes/sh-script.el (sh-builtins): Add some bash builtins.
- (sh-leading-keywords): Add the bash `time' reserved word.
- (sh-variables): Add some bash variables.
- (sh-add-completer): Fix nil branch of case statement.
-
-2003-08-24 Masatake YAMATO <jet@gyve.org>
-
- * progmodes/ld-script.el: New file.
-
-2003-08-23 Markus Rost <rost@math.ohio-state.edu>
-
- * vc-hooks.el (vc-ignore-vc-files, vc-master-templates): Doc fix.
-
-2003-08-23 Andre Spiegel <spiegel@gnu.org>
-
- * vc-hooks.el (vc-ignore-vc-files, vc-master-templates): Better
- explain obsolescence, and what to use instead.
-
-2003-08-23 Masatake YAMATO <jet@gyve.org>
-
- * pcvs.el (cvs-do-removal): Show the deleted file name
- on the prompt.
-
-2003-08-20 Dave Love <fx@gnu.org>
-
- * international/mule.el (make-coding-system)
- (set-buffer-file-coding-system): Doc fix.
-
- * emacs-lisp/lisp-mode.el (common-lisp-mode): New.
-
- * emacs-lisp/lisp.el (beginning-of-defun-function): Doc fix.
-
- * international/utf-8.el (ucs-unicode-to-mule-cjk): Use smaller
- :size.
-
- * international/utf-16.el: Add mime-text-unsuitable coding system
- properties.
-
- * international/latin1-disp.el (latin1-display): Add ?$,1s"(B.
-
- * cus-edit.el: Add some :links.
- (bib): Remove.
-
- * textmodes/bib-mode.el (bib): Add :group external.
-
-2003-08-18 Luc Teirlinck <teirllm@mail.auburn.edu>
-
- * wid-edit.el (widget-echo-help): Make it handle expressions that
- evaluate to strings.
-
-2003-08-18 Michael Mauger <mmaug@yahoo.com>
-
- Version 1.8.0 of sql-mode. (Patch submitted 2003-06-21)
-
- Simplify selection of SQL products to define highlighting and
- interactive mode. Includes detailed instructions on adding
- support for new products.
-
- * progmodes/sql.el (sql-product): New variable. Identifies SQL
- product for use in highlighting and interactive mode.
- (sql-interactive-product): New variable. SQL product for
- sql-interactive-mode.
- (sql-product-support): New variable. Specifies product-specific
- parameters to drive highlighting and interactive mode.
- (sql-imenu-generic-expression): Add more object types.
- (sql-sqlite-options): Correct comment.
- (sql-ms-program): Use "osql" rather than "isql".
- (sql-prompt-regexp, sql-prompt-length): Update comment.
- (sql-mode-menu): Add "Start SQLi session" entry. Replace
- Highlighting submenu with Product menu. Fix Send Region entry.
- (sql-mode-abbrev-table): Add abbreviations. Support of
- SYSTEM-FLAG on define-abbrev. Support was removed with last
- check-in; it now handles older Emacsen without the SYSTEM-FLAG.
- (sql-mode-font-lock-object-name): Add font-lock pattern for object
- names.
- (sql-mode-ansi-font-lock-keywords): Set as default value.
- (sql-mode-oracle-font-lock-keywords): Set as default value.
- Support Oracle 9i keywords.
- (sql-mode-postgres-font-lock-keywords): Set as default value.
- (sql-mode-linter-font-lock-keywords): Set as default value.
- (sql-mode-ms-font-lock-keywords): New variable. Support Microsoft
- SQLServer 2000.
- (sql-mode-sybase-font-lock-keywords)
- (sql-mode-interbase-font-lock-keywords)
- (sql-mode-sqlite-font-lock-keywords)
- (sql-mode-strong-font-lock-keywords)
- (sql-mode-mysql-font-lock-keywords)
- (sql-mode-db2-font-lock-keywords): New variables. Default to ANSI
- keywords.
- (sql-mode-font-lock-defaults): Update comment.
- (sql-product-feature): New function. Returns feature associated
- with a product from `sql-product-support' alist.
- (sql-product-font-lock): New function. Set font-lock support
- based on `sql-product'.
- (sql-add-product-keywords): New function. Add font-lock rules to
- product-specific keyword variables.
- (sql-set-product): New function. Set `sql-product' and apply
- appropriate font-lock highlighting.
- (sql-highlight-product): New function. Set font-lock support
- based on a product. Also set mode name to include product name.
- (sql-highlight-ansi-keywords, sql-highlight-oracle-keywords)
- (sql-highlight-postgres-keywords, sql-highlight-linter-keywords):
- Use `sql-set-product'.
- (sql-highlight-ms-keywords)
- (sql-highlight-sybase-keywords)
- (sql-highlight-interbase-keywords)
- (sql-highlight-strong-keywords)
- (sql-highlight-mysql-keywords)
- (sql-highlight-sqlite-keywords)
- (sql-highlight-db2-keywords): New functions. Use
- `sql-set-product'.
- (sql-get-login): Prompt in the same order as the tokens.
- (sql-mode): Uses `sql-product-highlight' and
- `sql-product-font-lock'.
- (sql-product-interactive): New function. Common portions of
- product-specific interactive mode wrappers.
- (sql-interactive-mode): Rewritten to use product features.
- (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
- (sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
- (sql-db2, sql-linter): Use `sql-product-interactive'.
- (sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
- (sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
- (sql-connect-ingres, sql-connect-postgres)
- (sql-connect-interbase, sql-connect-db2, sql-connect-linter): New
- functions. Format command line parameters and invoke comint on
- the appropriate interpreter. Code was in the corresponding
- `sql-xyz' function before.
- (sql-connect-ms): New function. Support -E argument to use
- operating system credentials for authentication.
-
-2003-08-18 Kenichi Handa <handa@m17n.org>
-
- * international/mule.el (encode-char): Fix for the ASCII case.
-
-2003-08-15 Kenichi Handa <handa@m17n.org>
-
- * international/fontset.el (setup-default-fontset): Change "*" to
- nil in the specifications of font family.
-
-2003-08-18 Kim F. Storm <storm@cua.dk>
-
- * kmacro.el (kmacro-keymap): Group related bindings in
- initialization for clarity. Bind C-s to start macro.
- Remove C-r binding.
- (kmacro-initial-counter-value): New defvar to hold initial counter
- value in case we set the value before defining a macro.
- (kmacro-insert-counter): Clear kmacro-initial-counter-value..
- (kmacro-set-counter): Set kmacro-initial-counter-value if we are
- not defining or executing macro. Doc fix.
- (kmacro-add-counter): Clear kmacro-initial-counter-value.
- (kmacro-view-last-item, kmacro-view-item-no): New defvars used to
- temporarily view older elements on the macro ring without cycling
- the ring.
- (kmacro-display): Doc fix.
- (kmacro-exec-ring-item): New helper function.
- (kmacro-call-ring-2nd): Use it.
- (kmacro-call-ring-2nd-repeat): Doc fix.
- (kmacro-start-macro): Use (and clear) kmacro-initial-counter-value.
- (kmacro-end-or-call-macro): Execute last viewed macro (using
- kmacro-exec-ring-item) from ring if this follows
- kmacro-view-macro. This allows us to find a macro on the ring
- with C-x C-k C-v C-v ... and execute it (with C-k) without cycling
- the ring to bring it to the head of the ring.
- (kmacro-bind-to-key): Doc fix (describe reserved bindings).
- Allow binding to reserved keys without specifying C-x C-k prefix.
- Ask for confirmation if entered key sequence is already bound to
- a non-macro command.
- (kmacro-view-macro): Repeating command will show older elements
- on the macro ring; C-k will execute the last viewed macro.
- (kmacro-view-macro-repeat): Doc fix. Change its kmacro-repeat
- property from 'ring to 'head.
-
-2003-08-17 Alan Shutko <ats@acm.org>
-
- * calendar/calendar.el (calendar-make-alist): Correct off-by-one
- keeping December out of the alist.
-
-2003-08-17 Edward M. Reingold <reingold@emr.cs.iit.edu>
-
- * calendar/cal-move.el (calendar-goto-day-of-year): New function.
- * calendar/calendar.el (calendar-mode-map): Bind it to key.
- * calendar/cal-menu.el (calendar-mode-map): Add it to menu.
- (calendar-flatten): New function.
- (calendar-mouse-view-other-diary-entries)
- (calendar-mouse-view-diary-entries): Rewritten to put any holidays
- in the menu title and to show multi-line diary entries correctly
- in the menu.
-
-2003-08-17 Luc Teirlinck <teirllm@mail.auburn.edu>
-
- * info.el (Info-scroll-prefer-subnodes): Add :version keyword to
- defcustom, because the default was recently changed.
-
-2003-08-16 Richard M. Stallman <rms@gnu.org>
-
- * net/ange-ftp.el (ange-ftp-error): Add save-excursion.
-
- * emacs-lisp/lisp-mode.el (eval-last-sexp-print-value):
- New subroutine, broken out of eval-last-sexp-1.
- (eval-last-sexp-1): Use eval-last-sexp-print-value.
-
- * custom.el (custom-load-symbol): Load cus-load and cus-start first.
-
- * dabbrev.el (dabbrev--safe-replace-match): Use with-no-warnings.
-
- * simple.el (eval-expression): Use eval-last-sexp-print-value.
-
-2003-08-14 Jari Aalto <jari.aalto@poboxes.com>
-
- * progmodes/compile.el (compilation-error-regexp-alist):
- Added Java ANt error detection as described in document
- http://ant.apache.org/faq.html
-
-2003-08-12 Juri Linkov <juri@jurta.org> (tiny change)
-
- * simple.el (backward-word, forward-to-indentation)
- (backward-to-indentation): Argument changed to optional.
- (next-line, previous-line): Use `or' instead of `unless'.
-
-2003-08-12 Vinicius Jose Latorre <viniciusjl@ig.com.br>
-
- * progmodes/ebnf-iso.el (ebnf-no-meta-identifier): Becomes a var
- instead of a constant.
-
-2003-08-12 Markus Rost <rost@math.ohio-state.edu>
-
- * shell.el (shell): With prefix-arg, suggest a new buffer name.
-
-2003-08-12 Andre Spiegel <spiegel@gnu.org>
-
- * vc-sccs.el (vc-sccs-state-heuristic): Fix parentheses.
- (vc-sccs-workfile-version): Search the entire delta table, rather
- than just the first entry, because that might be a deleted version.
-
-2003-08-11 Karl Fogel <kfogel@red-bean.com>
-
- * menu-bar.el (menu-bar-options-menu): Supply a body for the
- [save-place] binding in the Options menu. Have it require
- 'saveplace' and then toggle the variable manually, to avoid an an
- unbound variable error. Thanks to <Sebastien.Kirche@sage.com>
- for the bug report.
-
-2003-08-11 Nick Roberts <nick@nick.uklinux.net>
-
- * gdb-ui.el (gdb-insert-field, gdb-array-format1)
- (gdb-info-breakpoints-custom, gdb-info-frames-custom)
- (gdb-info-threads-custom): Add help-echo text.
- (gdb-display-back): Don't use purecopy.
- (gdb-info-breakpoints-custom, gdb-reset)
- (gdb-assembler-custom): Use display-images-p to test if breakpoint
- icons can be displayed.
-
-2003-08-11 Markus Rost <rost@math.ohio-state.edu>
-
- * textmodes/reftex-vars.el (reftex-auto-recenter-toc): Fix typo.
-
-2003-08-11 Stefan Monnier <monnier@cs.yale.edu>
-
- * bookmark.el (bookmark-completing-read):
- Return a string, instead of a list of one string.
- Use a popup menu if activated from the mouse.
- (bookmark-edit-annotation): Remove unused vars.
- (bookmark-jump, bookmark-relocate, bookmark-insert-location)
- (bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
- to bookmark-completing-read.
- (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
- (bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
- (bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
- and erase-buffer.
- (bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
- (bookmark-menu-jump, bookmark-menu-insert)
- (bookmark-popup-menu-and-apply-function)
- (bookmark-menu-popup-paned-bookmark-menu): Remove.
- (bookmark-menu-build-paned-menu): Remove by folding it into
- bookmark-menu-popup-paned-menu.
- (menu-bar-bookmark-map): Move the define-key statements here.
- Use the "non-menu" commands since they now pop up a menu if needed.
- (bookmark-exit-hook-internal): Simplify.
-
-2003-08-11 Carsten Dominik <dominik@sand.science.uva.nl>
-
- * textmodes/reftex.el: Updated to version 4.21
- * reftex-auc.el: likewise.
- * reftex-cite.el: likewise.
- * reftex-dcr.el: likewise.
- * reftex-global.el: likewise.
- * reftex-index.el: likewise.
- * reftex-parse.el: likewise.
- * reftex-ref.el: likewise.
- * reftex-sel.el: likewise.
- * reftex-toc.el: likewise.
- * reftex-vars.el: likewise.
-
-2003-08-08 Vinicius Jose Latorre <viniciusjl@ig.com.br>
-
- * progmodes/ebnf2ps.el (ebnf-total, ebnf-nprod): Move defvar before
- first use.
-
-2003-08-07 Vinicius Jose Latorre <viniciusjl@ig.com.br>
-
- * progmodes/ebnf2ps.el (ebnf-begin-job): Code fix.
-
-2003-08-06 Glenn Morris <gmorris@ast.cam.ac.uk>
-
- * calendar/calendar.el (list-diary-entries-hook)
- (diary-display-hook, nongregorian-diary-listing-hook)
- (mark-diary-entries-hook, nongregorian-diary-marking-hook):
- Add some customize options for these hooks.
- (calendar-abbrev-construct): Don't try to take a substring longer
- than the original string.
-
-2003-08-05 Richard M. Stallman <rms@gnu.org>
-
- * emacs-lisp/testcover.el (noreturn): Report error if does return.
- (testcover-reinstrument-clauses): Doc fix.
-
- * emacs-lisp/warnings.el: Doc fixes, args renamed.
- (warning-type-format): Rename from warning-group-format.
-
- * emacs-lisp/bytecomp.el (byte-compile-not-obsolete-var): New var.
- (byte-compile-variable-ref): Handle byte-compile-not-obsolete-var.
- (byte-compile-defvar): Bind byte-compile-not-obsolete-var
- to prevent warnings about defvar for an obsolete variable.
-
- * emacs-lisp/bytecomp.el (byte-compile-log-warning):
- warning-group-format renamed to warning-type-format.
-
- * subr.el (read-passwd): Use clear-string instead of fillarray.
-
- * edmacro.el (edmacro-format-keys): Use edmacro-sanitize-for-string.
- Use vconcat instead of concat.
- (edmacro-sanitize-for-string): New function.
-
-2003-08-05 Dave Love <fx@gnu.org>
-
- * cus-start.el: Add open-paren-in-column-0-is-defun-start,
- line-number-display-limit-width.
-
- * textmodes/tex-mode.el (tex-dvi-view-command): Fix quoted quotes.
-
2003-08-05 Kenichi Handa <handa@m17n.org>
* international/code-pages.el: Don't require mule-diag.
- * international/mule-diag.el (non-iso-charset-alist):
- Add autoload cookie.
+ * international/mule-diag.el (non-iso-charset-alist): Add
+ autoload cookie.
* language/devan-util.el (dev-glyph-order): Add an entry for the
glyph code #xC4.
@@ -552,7 +25,8 @@
`calendar-day-name' and `calendar-month-name' functions.
* calendar/diary-lib.el (list-diary-entries): Adapt for new
- behaviour of `calendar-day-name' and `calendar-month-name' functions.
+ behaviour of `calendar-day-name' and `calendar-month-name'
+ functions.
(diary-name-pattern): Use abbrev arrays, rather than fixing
abbrevs at three chars. Calling syntax change.
(mark-diary-entries): Adapt for new behaviours of
@@ -573,8 +47,8 @@
(mark-hebrew-diary-entries): Adapt for new behaviours of
`diary-name-pattern' and `calendar-make-alist' functions.
- * calendar/cal-islam.el (calendar-islamic-month-name-array):
- Add doc string.
+ * calendar/cal-islam.el (calendar-islamic-month-name-array): Add
+ doc string.
(list-islamic-diary-entries): Adapt for new behaviours of
`calendar-day-name' and `add-to-diary-list' functions.
(mark-islamic-diary-entries): Adapt for new behaviours of
@@ -617,8 +91,8 @@
(c-search-decl-header-end): Don't trip up on operator identifiers
in C++ and operators like == in all languages.
- * progmodes/cc-engine.el (c-backward-to-decl-anchor):
- Detect leading labels correctly.
+ * progmodes/cc-engine.el (c-backward-to-decl-anchor): Detect
+ leading labels correctly.
2003-08-02 Andreas Schwab <schwab@suse.de>
@@ -644,8 +118,8 @@
2003-07-30 Kenichi Handa <handa@m17n.org>
- * international/fontset.el (setup-default-fontset):
- Change registry names of Akurti fonts.
+ * international/fontset.el (setup-default-fontset): Change
+ registry names of Akurti fonts.
2003-07-29 Jesper Harder <harder@ifa.au.dk> (tiny change)
@@ -658,8 +132,8 @@
2003-07-28 Nick Roberts <nick@nick.uklinux.net>
- * gdb-ui.el (gdb-setup-windows, gdb-restore-windows):
- Restore assembler in source window if that is what has been selected.
+ * gdb-ui.el (gdb-setup-windows, gdb-restore-windows): Restore
+ assembler in source window if that is what has been selected.
(menu): Add gdb-restore-windows to menu. Make gdba
specific menus only visible from gdba.
@@ -692,7 +166,8 @@
2003-07-26 Markus Rost <rost@math.ohio-state.edu>
- * international/quail.el (quail-translate-key): Fix previous change.
+ * international/quail.el (quail-translate-key): Fix previous
+ change.
2003-07-25 John Paul Wallington <jpw@gnu.org>
@@ -25029,5 +24504,3 @@ See ChangeLog.9 for earlier changes.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: 5fcf8004-6f58-452a-b9d6-6950323a19c1
diff --git a/lisp/ChangeLog.1 b/lisp/ChangeLog.1
index c903f0a2e97..35123abd07c 100644
--- a/lisp/ChangeLog.1
+++ b/lisp/ChangeLog.1
@@ -3249,5 +3249,3 @@
Copyright (C) 1985, 1986 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: b6060738-7fac-4c9c-80ae-67995bae78a7
diff --git a/lisp/ChangeLog.2 b/lisp/ChangeLog.2
index fd97c5a07aa..ef5c6b1a071 100644
--- a/lisp/ChangeLog.2
+++ b/lisp/ChangeLog.2
@@ -3997,5 +3997,3 @@ See ChangeLog.1 for earlier changes.
Copyright (C) 1986, 1987, 1988 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: c315ba16-14ba-4b07-86e6-013a18f11be7
diff --git a/lisp/ChangeLog.3 b/lisp/ChangeLog.3
index 90604fc8e6f..16cab8d1276 100644
--- a/lisp/ChangeLog.3
+++ b/lisp/ChangeLog.3
@@ -12618,5 +12618,3 @@ See ChangeLog.2 for earlier changes.
Copyright (C) 1989, 1993 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: f07a3446-5672-464a-8fdc-2ca92e8e7b2a
diff --git a/lisp/ChangeLog.4 b/lisp/ChangeLog.4
index 2e852552f05..fda04b07fab 100644
--- a/lisp/ChangeLog.4
+++ b/lisp/ChangeLog.4
@@ -8942,5 +8942,3 @@ See ChangeLog.3 for earlier changes.
Copyright (C) 1993, 1994 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: 91035822-35c7-44a9-8417-2454b88c3db2
diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5
index 5d3125b3ffc..5dfac95e9c9 100644
--- a/lisp/ChangeLog.5
+++ b/lisp/ChangeLog.5
@@ -9264,5 +9264,3 @@ See ChangeLog.4 for earlier changes.
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: 1a8fbb45-25d0-48e2-a926-29ca4e3d343a
diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6
index 356715b8d09..49ca67fe5de 100644
--- a/lisp/ChangeLog.6
+++ b/lisp/ChangeLog.6
@@ -8024,5 +8024,3 @@ See ChangeLog.5 for earlier changes.
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: f90e8ffe-6bd0-4423-97d9-637ac4382520
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7
index 85dfaeaf35f..be3b42d8eda 100644
--- a/lisp/ChangeLog.7
+++ b/lisp/ChangeLog.7
@@ -23143,5 +23143,3 @@ See ChangeLog.6 for earlier changes.
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: 0995d517-13da-45ab-9c2d-7911aa25512b
diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8
index b59c0bd27ec..60bb4e6813d 100644
--- a/lisp/ChangeLog.8
+++ b/lisp/ChangeLog.8
@@ -10015,5 +10015,3 @@ See ChangeLog.7 for earlier changes.
Copyright (C) 1999 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: efdc1531-ed46-4e14-be59-bee4b23088f3
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9
index a0688eefe37..d35bab0532a 100644
--- a/lisp/ChangeLog.9
+++ b/lisp/ChangeLog.9
@@ -20698,5 +20698,3 @@ See ChangeLog.8 for earlier changes.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: a7cd2b86-43eb-409b-883f-3700fa85334f
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 4e7e911fad0..c09597b6d03 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -1,5 +1,5 @@
# Maintenance productions for the Lisp directory
-# Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@@ -129,7 +129,7 @@ emacs = EMACSLOADPATH=$(lisp) $(EMACS) $(EMACSOPT)
setwins=subdirs=`find $$wd -type d -print`; \
for file in $$subdirs; do \
- case $$file in */Old | */RCS | */CVS | */CVS/* | */.arch-ids | */.arch-ids/* | */=* ) ;; \
+ case $$file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; \
*) wins="$$wins $$file" ;; \
esac; \
done
@@ -296,5 +296,4 @@ bootstrap-after: finder-data custom-deps
distclean:
-rm -f ./Makefile
-# arch-tag: d4ea703a-b91c-405c-a171-8dde30b163a7
# Makefile ends here.
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index 13c1f71099a..929724dd995 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -335,5 +335,4 @@ If called from a Lisp program, arguments are START END &optional NOQUERY."
(if (or noquery (y-or-n-p (format "Expand `%s'? " string)))
(expand-abbrev)))))))
-;;; arch-tag: dbd6f3ae-dfe3-40ba-b00f-f9e3ff960df5
;;; abbrev.el ends here
diff --git a/lisp/abbrevlist.el b/lisp/abbrevlist.el
index 77cf920b422..8ffa7cb5294 100644
--- a/lisp/abbrevlist.el
+++ b/lisp/abbrevlist.el
@@ -52,5 +52,4 @@
(provide 'abbrevlist)
-;;; arch-tag: 178f0638-6597-4c16-bcee-576c3d8e9217
;;; abbrevlist.el ends here
diff --git a/lisp/add-log.el b/lisp/add-log.el
index e6ec96baa74..32eb5e8e403 100644
--- a/lisp/add-log.el
+++ b/lisp/add-log.el
@@ -1044,5 +1044,4 @@ old-style time formats for entries are supported."
(provide 'add-log)
-;;; arch-tag: 81eee6fc-088f-4372-a37f-80ad9620e762
;;; add-log.el ends here
diff --git a/lisp/align.el b/lisp/align.el
index bae09d749db..4f638950484 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -1588,5 +1588,4 @@ aligner would have dealt with are."
(run-hooks 'align-load-hook)
-;;; arch-tag: ef79cccf-1db8-4888-a8a1-d7ce2d1532f7
;;; align.el ends here
diff --git a/lisp/allout.el b/lisp/allout.el
index c5f6c16d812..34c8defaf45 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -5,7 +5,7 @@
;; Author: Ken Manheimer <klm@zope.com>
;; Maintainer: Ken Manheimer <klm@zope.com>
;; Created: Dec 1991 - first release to usenet
-;; Version: $Id: allout.el,v 1.43 2003/05/06 17:38:32 lektu Exp $||
+;; Version: $Id: allout.el,v 1.42 2003/02/24 17:29:49 lektu Exp $||
;; Keywords: outlines mode wp languages
;; This file is part of GNU Emacs.
@@ -508,7 +508,7 @@ behavior."
;;;_ : Version
;;;_ = allout-version
(defvar allout-version
- (let ((rcs-rev "$Revision: 1.43 $"))
+ (let ((rcs-rev "$Revision: 1.42 $"))
(condition-case err
(save-match-data
(string-match "Revision: \\([0-9]+\\.[0-9]+\\)" rcs-rev)
@@ -4770,5 +4770,4 @@ so pass them along when appropriate."
;;;allout-layout: (0 : -1 -1 0)
;;;End:
-;;; arch-tag: cf38fbc3-c044-450f-8bff-afed8ba5681c
;;; allout.el ends here
diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el
index 30350d69a9a..af491b6793e 100644
--- a/lisp/ansi-color.el
+++ b/lisp/ansi-color.el
@@ -648,5 +648,4 @@ ESCAPE-SEQ is a SGR control sequences such as \\033[34m. The parameter
(provide 'ansi-color)
-;;; arch-tag: 00726118-9432-44fd-b72d-d2af7591c99c
;;; ansi-color.el ends here
diff --git a/lisp/apropos.el b/lisp/apropos.el
index 9750683fd85..677c43b756d 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -921,5 +921,4 @@ separate items with that string."
(provide 'apropos)
-;;; arch-tag: d56fa2ac-e56b-4ce3-84ff-852f9c0dc66e
;;; apropos.el ends here
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 9f254b54d69..563b71f940e 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1801,5 +1801,4 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(provide 'arc-mode)
-;;; arch-tag: e5966a01-35ec-4f27-8095-a043a79b457b
;;; arc-mode.el ends here
diff --git a/lisp/array.el b/lisp/array.el
index 3aa5d4bd319..40462968951 100644
--- a/lisp/array.el
+++ b/lisp/array.el
@@ -964,5 +964,4 @@ Entering array mode calls the function `array-mode-hook'."
(provide 'array)
-;;; arch-tag: 0086605d-79fe-4a1a-992a-456417261f80
;;; array.el ends here
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 78e71ef2186..8763c917773 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -145,5 +145,4 @@ which invoked this function, excluding the Autoarg keymap."
(provide 'autoarg)
-;;; arch-tag: 2ba2ab4f-d60e-402a-ae4d-37e29af723c2
;;; autoarg.el ends here
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 489593aa925..b13fe3ce503 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -331,5 +331,4 @@ insert a template for the file depending on the mode of the buffer."
(provide 'autoinsert)
-;;; arch-tag: 5b6630ac-c735-43cf-b097-b78c622af909
;;; autoinsert.el ends here
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index f366d5c7547..9ccb8b89641 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -329,5 +329,4 @@ the timer when no buffers need to be checked."
(run-hooks 'auto-revert-load-hook)
-;;; arch-tag: f6bcb07b-4841-477e-9e44-b18678e58876
;;; autorevert.el ends here
diff --git a/lisp/avoid.el b/lisp/avoid.el
index 5a5a09622cd..4bc59de14a7 100644
--- a/lisp/avoid.el
+++ b/lisp/avoid.el
@@ -416,5 +416,4 @@ definition of \"random distance\".)"
(if mouse-avoidance-mode
(mouse-avoidance-mode mouse-avoidance-mode))
-;;; arch-tag: 64ad4ef8-a870-4183-8d96-3aa93b7a6800
;;; avoid.el ends here
diff --git a/lisp/battery.el b/lisp/battery.el
index 1ac157ccbf2..5980a839a4a 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -271,5 +271,4 @@ The following %-sequences are provided:
(provide 'battery)
-;;; arch-tag: 65916f50-4754-4b6b-ac21-0b510f545a37
;;; battery.el ends here
diff --git a/lisp/bindings.el b/lisp/bindings.el
index fe16b2bcb34..967713e9734 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -1035,5 +1035,4 @@ language you are using."
;; no-update-autoloads: t
;; End:
-;;; arch-tag: 23b5c7e6-e47b-49ed-8c6c-ed213c5fffe0
;;; bindings.el ends here
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 762de7323a2..2e1a7595094 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -456,21 +456,21 @@ probably don't want to include one yourself.
Optional second arg DEFAULT is a string to return if the user enters
the empty string."
(bookmark-maybe-load-default-file) ; paranoia
- (if (listp last-nonmenu-event)
- (bookmark-menu-popup-paned-menu t prompt (bookmark-all-names))
- (let* ((completion-ignore-case bookmark-completion-ignore-case)
- (default default)
- (prompt (if default
- (concat prompt (format " (%s): " default))
- (concat prompt ": ")))
- (str
- (completing-read prompt
- bookmark-alist
- nil
- 0
- nil
- 'bookmark-history)))
- (if (string-equal "" str) default str))))
+ (let* ((completion-ignore-case bookmark-completion-ignore-case)
+ (default default)
+ (prompt (if default
+ (concat prompt (format " (%s): " default))
+ (concat prompt ": ")))
+ (str
+ (completing-read prompt
+ bookmark-alist
+ nil
+ 0
+ nil
+ 'bookmark-history)))
+ (if (string-equal "" str)
+ (list default)
+ (list str))))
(defmacro bookmark-maybe-historicize-string (string)
@@ -924,8 +924,10 @@ When you have finished composing, type \\[bookmark-send-annotation].
(defun bookmark-edit-annotation (bookmark)
"Pop up a buffer for editing bookmark BOOKMARK's annotation."
- (pop-to-buffer (generate-new-buffer-name "*Bookmark Annotation Compose*"))
- (bookmark-edit-annotation-mode bookmark))
+ (let ((buf (current-buffer))
+ (point (point)))
+ (pop-to-buffer (generate-new-buffer-name "*Bookmark Annotation Compose*"))
+ (bookmark-edit-annotation-mode bookmark)))
(defun bookmark-insert-current-bookmark ()
@@ -1044,8 +1046,7 @@ if you wish to give the bookmark a new location, and bookmark-jump
will then jump to the new location, as well as recording it in place
of the old one in the permanent bookmark record."
(interactive
- (list (bookmark-completing-read "Jump to bookmark"
- bookmark-current-bookmark)))
+ (bookmark-completing-read "Jump to bookmark" bookmark-current-bookmark))
(bookmark-maybe-historicize-string bookmark)
(let ((cell (bookmark-jump-noselect bookmark)))
(and cell
@@ -1138,7 +1139,7 @@ be retrieved from a VC backend, else return nil."
This makes an already existing bookmark point to that file, instead of
the one it used to point at. Useful when a file has been renamed
after a bookmark was set in it."
- (interactive (list (bookmark-completing-read "Bookmark to relocate")))
+ (interactive (bookmark-completing-read "Bookmark to relocate"))
(bookmark-maybe-historicize-string bookmark)
(bookmark-maybe-load-default-file)
(let* ((bmrk-filename (bookmark-get-filename bookmark))
@@ -1155,7 +1156,7 @@ after a bookmark was set in it."
"Insert the name of the file associated with BOOKMARK.
Optional second arg NO-HISTORY means don't record this in the
minibuffer history list `bookmark-history'."
- (interactive (list (bookmark-completing-read "Insert bookmark location")))
+ (interactive (bookmark-completing-read "Insert bookmark location"))
(or no-history (bookmark-maybe-historicize-string bookmark))
(let ((start (point)))
(prog1
@@ -1190,7 +1191,7 @@ must pass at least OLD when calling from Lisp.
While you are entering the new name, consecutive C-w's insert
consecutive words from the text of the buffer into the new bookmark
name."
- (interactive (list (bookmark-completing-read "Old bookmark name")))
+ (interactive (bookmark-completing-read "Old bookmark name"))
(bookmark-maybe-historicize-string old)
(bookmark-maybe-load-default-file)
@@ -1223,7 +1224,7 @@ You may have a problem using this function if the value of variable
`bookmark-alist' is nil. If that happens, you need to load in some
bookmarks. See help on function `bookmark-load' for more about
this."
- (interactive (list (bookmark-completing-read "Insert bookmark contents")))
+ (interactive (bookmark-completing-read "Insert bookmark contents"))
(bookmark-maybe-historicize-string bookmark)
(bookmark-maybe-load-default-file)
(let ((orig-point (point))
@@ -1246,8 +1247,7 @@ one most recently used in this file, if any\).
Optional second arg BATCH means don't update the bookmark list buffer,
probably because we were called from there."
(interactive
- (list (bookmark-completing-read "Delete bookmark"
- bookmark-current-bookmark)))
+ (bookmark-completing-read "Delete bookmark" bookmark-current-bookmark))
(bookmark-maybe-historicize-string bookmark)
(bookmark-maybe-load-default-file)
(let ((will-go (bookmark-get-bookmark bookmark)))
@@ -1533,8 +1533,9 @@ deletion, or > if it is flagged for displaying."
(if (interactive-p)
(switch-to-buffer (get-buffer-create "*Bookmark List*"))
(set-buffer (get-buffer-create "*Bookmark List*")))
- (let ((inhibit-read-only t))
- (erase-buffer)
+ (let ((buffer-read-only nil))
+ (delete-region (point-max) (point-min))
+ (goto-char (point-min)) ;sure are playing it safe...
(insert "% Bookmark\n- --------\n")
(bookmark-maybe-sort-alist)
(mapcar
@@ -1637,7 +1638,7 @@ Optional argument SHOW means show them unconditionally."
(goto-char (point-min))
(forward-line 2)
(setq bookmark-bmenu-hidden-bookmarks ())
- (let ((inhibit-read-only t))
+ (let ((buffer-read-only nil))
(while (< (point) (point-max))
(let ((bmrk (bookmark-bmenu-bookmark)))
(setq bookmark-bmenu-hidden-bookmarks
@@ -1670,7 +1671,7 @@ Optional argument SHOW means show them unconditionally."
(backward-word 1)
(setq bookmark-bmenu-bookmark-column (current-column)))
(save-excursion
- (let ((inhibit-read-only t))
+ (let ((buffer-read-only nil))
(while bookmark-bmenu-hidden-bookmarks
(move-to-column bookmark-bmenu-bookmark-column t)
(bookmark-kill-line)
@@ -1773,7 +1774,7 @@ if an annotation exists."
(interactive)
(beginning-of-line)
(if (bookmark-bmenu-check-position)
- (let ((inhibit-read-only t))
+ (let ((buffer-read-only nil))
(delete-char 1)
(insert ?>)
(forward-line 1)
@@ -1792,7 +1793,7 @@ You can mark bookmarks with the \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-mar
(goto-char (point-min))
(while (re-search-forward "^>" nil t)
(setq tem (bookmark-bmenu-bookmark))
- (let ((inhibit-read-only t))
+ (let ((buffer-read-only nil))
(delete-char -1)
(insert ?\ ))
(or (string-equal tem bmrk)
@@ -1939,7 +1940,7 @@ Optional BACKUP means move up."
(beginning-of-line)
(if (bookmark-bmenu-check-position)
(progn
- (let ((inhibit-read-only t))
+ (let ((buffer-read-only nil))
(delete-char 1)
;; any flags to reset according to circumstances? How about a
;; flag indicating whether this bookmark is being visited?
@@ -1966,7 +1967,7 @@ To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\
(interactive)
(beginning-of-line)
(if (bookmark-bmenu-check-position)
- (let ((inhibit-read-only t))
+ (let ((buffer-read-only nil))
(delete-char 1)
(insert ?D)
(forward-line 1)
@@ -2046,38 +2047,149 @@ To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\
;;; Menu bar stuff. Prefix is "bookmark-menu".
+(defun bookmark-menu-build-paned-menu (name entries)
+ "Build a multi-paned menu named NAME from the strings in ENTRIES.
+That is, ENTRIES is a list of strings which appear as the choices
+in the menu. The number of panes depends on the number of entries.
+The visible entries are truncated to `bookmark-menu-length', but the
+strings returned are not."
+ (let* ((f-height (/ (frame-height) 2))
+ (pane-list
+ (let (temp-pane-list
+ (iter 0))
+ (while entries
+ (let (lst
+ (count 0))
+ (while (and (< count f-height) entries)
+ (let ((str (car entries)))
+ (setq lst (cons
+ (cons
+ (if (> (length str) bookmark-menu-length)
+ (substring str 0 bookmark-menu-length)
+ str)
+ str)
+ lst))
+ (setq entries (cdr entries))
+ (setq count (1+ count))))
+ (setq iter (1+ iter))
+ (setq
+ temp-pane-list
+ (cons
+ (cons
+ (format "-*- %s (%d) -*-" name iter)
+ (nreverse lst))
+ temp-pane-list))))
+ (nreverse temp-pane-list))))
+
+ ;; Return the menu:
+ (cons (concat "-*- " name " -*-") pane-list)))
+
+
(defun bookmark-menu-popup-paned-menu (event name entries)
"Pop up multi-paned menu at EVENT, return string chosen from ENTRIES.
That is, ENTRIES is a list of strings which appear as the choices
in the menu.
-The number of panes depends on the number of entries.
-The visible entries are truncated to `bookmark-menu-length', but the
-strings returned are not."
- (let ((f-height (/ (frame-height) 2))
- (pane-list nil)
- (iter 0))
- (while entries
- (let (lst
- (count 0))
- (while (and (< count f-height) entries)
- (let ((str (car entries)))
- (push (cons
- (if (> (length str) bookmark-menu-length)
- (substring str 0 bookmark-menu-length)
- str)
- str)
- lst)
- (setq entries (cdr entries))
- (setq count (1+ count))))
- (setq iter (1+ iter))
- (push (cons
- (format "-*- %s (%d) -*-" name iter)
- (nreverse lst))
- pane-list)))
-
- ;; Popup the menu and return the string.
- (x-popup-menu event (cons (concat "-*- " name " -*-")
- (nreverse pane-list)))))
+The number of panes depends on the number of entries."
+ (interactive "e")
+ (x-popup-menu event (bookmark-menu-build-paned-menu name entries)))
+
+
+(defun bookmark-menu-popup-paned-bookmark-menu (event name)
+ "Pop up menu of bookmarks, return chosen bookmark.
+Pop up at EVENT, menu's name is NAME.
+The number of panes depends on the number of bookmarks."
+ (bookmark-menu-popup-paned-menu event name (bookmark-all-names)))
+
+
+(defun bookmark-popup-menu-and-apply-function (func-sym menu-label event)
+ ;; help function for making menus that need to apply a bookmark
+ ;; function to a string.
+ (let* ((choice (bookmark-menu-popup-paned-bookmark-menu
+ event menu-label)))
+ (if choice (apply func-sym (list choice)))))
+
+
+;;;###autoload
+(defun bookmark-menu-insert (event)
+ "Insert the text of the file pointed to by bookmark BOOKMARK.
+You may have a problem using this function if the value of variable
+`bookmark-alist' is nil. If that happens, you need to load in some
+bookmarks. See help on function `bookmark-load' for more about
+this.
+
+Warning: this function only takes an EVENT as argument. Use the
+corresponding bookmark function from Lisp \(the one without the
+\"-menu-\" in its name\)."
+ (interactive "e")
+ (bookmark-popup-menu-and-apply-function
+ 'bookmark-insert "Insert Bookmark Contents" event))
+
+
+;;;###autoload
+(defun bookmark-menu-jump (event)
+ "Jump to bookmark BOOKMARK (a point in some file).
+You may have a problem using this function if the value of variable
+`bookmark-alist' is nil. If that happens, you need to load in some
+bookmarks. See help on function `bookmark-load' for more about
+this.
+
+Warning: this function only takes an EVENT as argument. Use the
+corresponding bookmark function from Lisp \(the one without the
+\"-menu-\" in its name\)."
+ (interactive "e")
+ (bookmark-popup-menu-and-apply-function
+ 'bookmark-jump "Jump to Bookmark" event))
+
+
+;;;###autoload
+(defun bookmark-menu-locate (event)
+ "Insert the name of the file associated with BOOKMARK.
+\(This is not the same as the contents of that file\).
+
+Warning: this function only takes an EVENT as argument. Use the
+corresponding bookmark function from Lisp \(the one without the
+\"-menu-\" in its name\)."
+ (interactive "e")
+ (bookmark-popup-menu-and-apply-function
+ 'bookmark-insert-location "Insert Bookmark Location" event))
+
+
+;;;###autoload
+(defun bookmark-menu-rename (event)
+ "Change the name of OLD-BOOKMARK to NEWNAME.
+If called from keyboard, prompts for OLD-BOOKMARK and NEWNAME.
+If called from menubar, OLD-BOOKMARK is selected from a menu, and
+prompts for NEWNAME.
+If called from Lisp, prompts for NEWNAME if only OLD-BOOKMARK was
+passed as an argument. If called with two strings, then no prompting
+is done. You must pass at least OLD-BOOKMARK when calling from Lisp.
+
+While you are entering the new name, consecutive C-w's insert
+consecutive words from the text of the buffer into the new bookmark
+name.
+
+Warning: this function only takes an EVENT as argument. Use the
+corresponding bookmark function from Lisp \(the one without the
+\"-menu-\" in its name\)."
+ (interactive "e")
+ (bookmark-popup-menu-and-apply-function
+ 'bookmark-rename "Rename Bookmark" event))
+
+
+;;;###autoload
+(defun bookmark-menu-delete (event)
+ "Delete the bookmark named NAME from the bookmark list.
+Removes only the first instance of a bookmark with that name. If
+there are one or more other bookmarks with the same name, they will
+not be deleted. Defaults to the \"current\" bookmark \(that is, the
+one most recently used in this file, if any\).
+
+Warning: this function only takes an EVENT as argument. Use the
+corresponding bookmark function from Lisp \(the one without the
+\"-menu-\" in its name\)."
+ (interactive "e")
+ (bookmark-popup-menu-and-apply-function
+ 'bookmark-delete "Delete Bookmark" event))
;; Thanks to Roland McGrath for fixing menubar.el so that the
@@ -2089,22 +2201,10 @@ strings returned are not."
;; Emacs menubar stuff.
;;;###autoload
-(defvar menu-bar-bookmark-map
- (let ((map (make-sparse-keymap "Bookmark functions")))
- (define-key map [load] '("Load a Bookmark File..." . bookmark-load))
- (define-key map [write] '("Save Bookmarks As..." . bookmark-write))
- (define-key map [save] '("Save Bookmarks" . bookmark-save))
- (define-key map [edit] '("Edit Bookmark List" . bookmark-bmenu-list))
- (define-key map [delete] '("Delete Bookmark" . bookmark-delete))
- (define-key map [rename] '("Rename Bookmark" . bookmark-rename))
- (define-key map [locate] '("Insert Location" . bookmark-locate))
- (define-key map [insert] '("Insert Contents" . bookmark-insert))
- (define-key map [set] '("Set Bookmark" . bookmark-set))
- (define-key map [jump] '("Jump to Bookmark" . bookmark-jump))
- map))
+(defvar menu-bar-bookmark-map (make-sparse-keymap "Bookmark functions"))
;;;###autoload
-(defalias 'menu-bar-bookmark-map menu-bar-bookmark-map)
+(defalias 'menu-bar-bookmark-map (symbol-value 'menu-bar-bookmark-map))
;; make bookmarks appear toward the right side of the menu.
(if (boundp 'menu-bar-final-items)
@@ -2113,24 +2213,55 @@ strings returned are not."
(cons 'bookmark menu-bar-final-items)))
(setq menu-bar-final-items '(bookmark)))
+;;;###autoload (define-key menu-bar-bookmark-map [load]
+;;;###autoload '("Load a Bookmark File..." . bookmark-load))
+
+;;;###autoload (define-key menu-bar-bookmark-map [write]
+;;;###autoload '("Save Bookmarks As..." . bookmark-write))
+
+;;;###autoload (define-key menu-bar-bookmark-map [save]
+;;;###autoload '("Save Bookmarks" . bookmark-save))
+
+;;;###autoload (define-key menu-bar-bookmark-map [edit]
+;;;###autoload '("Edit Bookmark List" . bookmark-bmenu-list))
+
+;;;###autoload (define-key menu-bar-bookmark-map [delete]
+;;;###autoload '("Delete Bookmark" . bookmark-menu-delete))
+
+;;;###autoload (define-key menu-bar-bookmark-map [rename]
+;;;###autoload '("Rename Bookmark" . bookmark-menu-rename))
+
+;;;###autoload (define-key menu-bar-bookmark-map [locate]
+;;;###autoload '("Insert Location" . bookmark-menu-locate))
+
+;;;###autoload (define-key menu-bar-bookmark-map [insert]
+;;;###autoload '("Insert Contents" . bookmark-menu-insert))
+
+;;;###autoload (define-key menu-bar-bookmark-map [set]
+;;;###autoload '("Set Bookmark" . bookmark-set))
+
+;;;###autoload (define-key menu-bar-bookmark-map [jump]
+;;;###autoload '("Jump to Bookmark" . bookmark-menu-jump))
+
;;;; end bookmark menu stuff ;;;;
;;; Load Hook
(defvar bookmark-load-hook nil
- "Hook run at the end of loading bookmark.")
+ "Hook to run at the end of loading bookmark.")
;;; Exit Hook, called from kill-emacs-hook
(defvar bookmark-exit-hook nil
- "Hook run when emacs exits.")
+ "Hook to run when emacs exits")
(defun bookmark-exit-hook-internal ()
"Save bookmark state, if necessary, at Emacs exit time.
This also runs `bookmark-exit-hooks'."
- (run-hooks 'bookmark-exit-hooks)
- (and bookmark-alist
- (bookmark-time-to-save-p t)
- (bookmark-save)))
+ (and
+ (progn (run-hooks 'bookmark-exit-hooks) t)
+ bookmark-alist
+ (bookmark-time-to-save-p t)
+ (bookmark-save)))
(add-hook 'kill-emacs-hook 'bookmark-exit-hook-internal)
@@ -2139,5 +2270,4 @@ This also runs `bookmark-exit-hooks'."
(provide 'bookmark)
-;;; arch-tag: 139f519a-dd0c-4b8d-8b5d-f9fcf53ca8f6
;;; bookmark.el ends here
diff --git a/lisp/bs.el b/lisp/bs.el
index 9fdc8922cc2..ab46f205fba 100644
--- a/lisp/bs.el
+++ b/lisp/bs.el
@@ -457,61 +457,69 @@ Used internally, only.")
(defvar bs--marked-buffers nil
"Currently marked buffers in Buffer Selection Menu.")
-(defvar bs-mode-map
- (let ((map (make-sparse-keymap)))
- (define-key map " " 'bs-select)
- (define-key map "f" 'bs-select)
- (define-key map "v" 'bs-view)
- (define-key map "!" 'bs-select-in-one-window)
- (define-key map [mouse-2] 'bs-mouse-select) ;; for GNU EMACS
- (define-key map [button2] 'bs-mouse-select) ;; for XEmacs
- (define-key map "F" 'bs-select-other-frame)
- (let ((key ?1))
- (while (<= key ?9)
- (define-key map (char-to-string key) 'digit-argument)
- (setq key (1+ key))))
- (define-key map "-" 'negative-argument)
- (define-key map "\e-" 'negative-argument)
- (define-key map "o" 'bs-select-other-window)
- (define-key map "\C-o" 'bs-tmp-select-other-window)
- ;; for GNU EMACS
- (define-key map [mouse-3] 'bs-mouse-select-other-frame)
- ;; for XEmacs
- (define-key map [button3] 'bs-mouse-select-other-frame)
- (define-key map [up] 'bs-up)
- (define-key map "n" 'bs-down)
- (define-key map "p" 'bs-up)
- (define-key map [down] 'bs-down)
- (define-key map "\C-m" 'bs-select)
- (define-key map "b" 'bs-bury-buffer)
- (define-key map "s" 'bs-save)
- (define-key map "S" 'bs-show-sorted)
- (define-key map "a" 'bs-toggle-show-all)
- (define-key map "d" 'bs-delete)
- (define-key map "\C-d" 'bs-delete-backward)
- (define-key map "k" 'bs-delete)
- (define-key map "g" 'bs-refresh)
- (define-key map "C" 'bs-set-configuration-and-refresh)
- (define-key map "c" 'bs-select-next-configuration)
- (define-key map "q" 'bs-kill)
- ;; (define-key map "z" 'bs-kill)
- (define-key map "\C-c\C-c" 'bs-kill)
- (define-key map "\C-g" 'bs-abort)
- (define-key map "\C-]" 'bs-abort)
- (define-key map "%" 'bs-toggle-readonly)
- (define-key map "~" 'bs-clear-modified)
- (define-key map "M" 'bs-toggle-current-to-show)
- (define-key map "+" 'bs-set-current-buffer-to-show-always)
- ;;(define-key map "-" 'bs-set-current-buffer-to-show-never)
- (define-key map "t" 'bs-visit-tags-table)
- (define-key map "m" 'bs-mark-current)
- (define-key map "u" 'bs-unmark-current)
- (define-key map ">" 'scroll-right)
- (define-key map "<" 'scroll-left)
- (define-key map "?" 'bs-help)
- map)
+(defvar bs-mode-map ()
"Keymap of `bs-mode'.")
+(if bs-mode-map
+ ()
+ (setq bs-mode-map (make-sparse-keymap))
+ (define-key bs-mode-map " " 'bs-select)
+ (define-key bs-mode-map "f" 'bs-select)
+ (define-key bs-mode-map "v" 'bs-view)
+ (define-key bs-mode-map "!" 'bs-select-in-one-window)
+ (define-key bs-mode-map [mouse-2] 'bs-mouse-select) ;; for GNU EMACS
+ (define-key bs-mode-map [button2] 'bs-mouse-select) ;; for XEmacs
+ (define-key bs-mode-map "F" 'bs-select-other-frame)
+
+ (let ((key ?1))
+ (while (<= key ?9)
+ (define-key bs-mode-map (char-to-string key) 'digit-argument)
+ (setq key (1+ key))))
+
+ (define-key bs-mode-map "-" 'negative-argument)
+ (define-key bs-mode-map "\e-" 'negative-argument)
+
+ (define-key bs-mode-map "o" 'bs-select-other-window)
+ (define-key bs-mode-map "\C-o" 'bs-tmp-select-other-window)
+ ;; for GNU EMACS
+ (define-key bs-mode-map [mouse-3] 'bs-mouse-select-other-frame)
+ ;; for XEmacs
+ (define-key bs-mode-map [button3] 'bs-mouse-select-other-frame)
+ (define-key bs-mode-map [up] 'bs-up)
+ (define-key bs-mode-map "n" 'bs-down)
+ (define-key bs-mode-map "p" 'bs-up)
+ (define-key bs-mode-map [down] 'bs-down)
+ (define-key bs-mode-map "\C-m" 'bs-select)
+ (define-key bs-mode-map "b" 'bs-bury-buffer)
+ (define-key bs-mode-map "s" 'bs-save)
+ (define-key bs-mode-map "S" 'bs-show-sorted)
+ (define-key bs-mode-map "a" 'bs-toggle-show-all)
+ (define-key bs-mode-map "d" 'bs-delete)
+ (define-key bs-mode-map "\C-d" 'bs-delete-backward)
+ (define-key bs-mode-map "k" 'bs-delete)
+ (define-key bs-mode-map "g" 'bs-refresh)
+ (define-key bs-mode-map "C" 'bs-set-configuration-and-refresh)
+ (define-key bs-mode-map "c" 'bs-select-next-configuration)
+ (define-key bs-mode-map "q" 'bs-kill)
+ ;; (define-key bs-mode-map "z" 'bs-kill)
+ (define-key bs-mode-map "\C-c\C-c" 'bs-kill)
+ (define-key bs-mode-map "\C-g" 'bs-abort)
+ (define-key bs-mode-map "\C-]" 'bs-abort)
+ (define-key bs-mode-map "%" 'bs-toggle-readonly)
+ (define-key bs-mode-map "~" 'bs-clear-modified)
+ (define-key bs-mode-map "M" 'bs-toggle-current-to-show)
+ (define-key bs-mode-map "+" 'bs-set-current-buffer-to-show-always)
+ ;;(define-key bs-mode-map "-" 'bs-set-current-buffer-to-show-never)
+ (define-key bs-mode-map "t" 'bs-visit-tags-table)
+ (define-key bs-mode-map "m" 'bs-mark-current)
+ (define-key bs-mode-map "u" 'bs-unmark-current)
+ (define-key bs-mode-map ">" 'scroll-right)
+ (define-key bs-mode-map "<" 'scroll-left)
+ (define-key bs-mode-map "\e\e" nil)
+ (define-key bs-mode-map "\e\e\e" 'bs-kill)
+ (define-key bs-mode-map [escape escape escape] 'bs-kill)
+ (define-key bs-mode-map "?" 'bs-help))
+
;; ----------------------------------------------------------------------
;; Functions
;; ----------------------------------------------------------------------
@@ -1507,5 +1515,4 @@ name of buffer configuration."
;; Now provide feature bs
(provide 'bs)
-;;; arch-tag: c0d9ab34-bf06-4368-ae9d-af88878e6802
;;; bs.el ends here
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 800f8693eda..e2a263e33ad 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -664,5 +664,4 @@ For more information, see the function `buffer-menu'."
(goto-char desired-point))
(current-buffer))))
-;;; arch-tag: e7dfcfc9-6cb2-46e4-bf55-8ef1936d83c6
;;; buff-menu.el ends here
diff --git a/lisp/button.el b/lisp/button.el
index 35905b9e1e4..d6f089327a2 100644
--- a/lisp/button.el
+++ b/lisp/button.el
@@ -444,5 +444,4 @@ Returns the button found."
(provide 'button)
-;;; arch-tag: 5f2c7627-413b-4097-b282-630f89d9c5e9
;;; button.el ends here
diff --git a/lisp/calc/calc-aent.el b/lisp/calc/calc-aent.el
index bc2f8f3b15f..5c0c27e703a 100644
--- a/lisp/calc/calc-aent.el
+++ b/lisp/calc/calc-aent.el
@@ -1133,5 +1133,4 @@
(math-read-angle-brackets))
(t (throw 'syntax "Expected a number")))))
-;;; arch-tag: 5599e45d-e51e-44bb-9a20-9f4ed8c96c32
;;; calc-aent.el ends here
diff --git a/lisp/calc/calc-alg.el b/lisp/calc/calc-alg.el
index 45ffff8baca..fe2ca52ed9b 100644
--- a/lisp/calc/calc-alg.el
+++ b/lisp/calc/calc-alg.el
@@ -1618,5 +1618,4 @@
(math-scale-int 1 (- (nth 2 f)))))))
f))
-;;; arch-tag: 52e7dcdf-9688-464d-a02b-4bbe789348d0
;;; calc-alg.el ends here
diff --git a/lisp/calc/calc-arith.el b/lisp/calc/calc-arith.el
index b8893bb3e1d..0faef258b8d 100644
--- a/lisp/calc/calc-arith.el
+++ b/lisp/calc/calc-arith.el
@@ -2793,5 +2793,4 @@
(math-commutative-collect (nth 2 b) (not neg)))
(setq bterms (cons (if neg (math-neg b) b) bterms)))))
-;;; arch-tag: 6c396b5b-14c6-40ed-bb2a-7cc2e8111465
;;; calc-arith.el ends here
diff --git a/lisp/calc/calc-bin.el b/lisp/calc/calc-bin.el
index aaaa4683fcf..c32ac9e34ab 100644
--- a/lisp/calc/calc-bin.el
+++ b/lisp/calc/calc-bin.el
@@ -804,5 +804,4 @@
math-radix-float-cache))))))))
-;;; arch-tag: f6dba7bc-53b2-41ae-919c-c266ab0ca8b3
;;; calc-bin.el ends here
diff --git a/lisp/calc/calc-comb.el b/lisp/calc/calc-comb.el
index c7ecbecc80b..5772a90f6ac 100644
--- a/lisp/calc/calc-comb.el
+++ b/lisp/calc/calc-comb.el
@@ -1001,5 +1001,4 @@
-;;; arch-tag: 1d75ee9b-0815-42bd-a321-bb3dc001cc02
;;; calc-comb.el ends here
diff --git a/lisp/calc/calc-cplx.el b/lisp/calc/calc-cplx.el
index 0f9c0d1cf9b..3730254403a 100644
--- a/lisp/calc/calc-cplx.el
+++ b/lisp/calc/calc-cplx.el
@@ -358,5 +358,4 @@
(t (calc-record-why 'numberp a)
(list 'calcFunc-im a)))))
-;;; arch-tag: de73a331-941c-4507-ae76-46c76adc70dd
;;; calc-cplx.el ends here
diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el
index 2542a8f648a..61299b6d68c 100644
--- a/lisp/calc/calc-embed.el
+++ b/lisp/calc/calc-embed.el
@@ -1202,5 +1202,4 @@ The command \\[yank] can retrieve it from there."
(setq bp (if buf nil (cdr bp))))
(or first calc-embedded-quiet (message "")))))
-;;; arch-tag: 1b8f311e-fba1-40d3-b8c3-1d6f68fd26fc
;;; calc-embed.el ends here
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el
index 3fa254cc05d..5907688baa0 100644
--- a/lisp/calc/calc-ext.el
+++ b/lisp/calc/calc-ext.el
@@ -3287,5 +3287,4 @@ A key may contain additional specs for Inverse, Hyperbolic, and Inv+Hyp.")
(run-hooks 'calc-ext-load-hook)
-;;; arch-tag: 1814ba7f-a390-49dc-9e25-a5adc205e97e
;;; calc-ext.el ends here
diff --git a/lisp/calc/calc-fin.el b/lisp/calc/calc-fin.el
index 74b5b0dbee2..adb74b0e3a7 100644
--- a/lisp/calc/calc-fin.el
+++ b/lisp/calc/calc-fin.el
@@ -413,5 +413,4 @@
book salvage)))
res)))
-;;; arch-tag: 82f30ca8-d02f-4b33-84b4-bb6ecd84597b
;;; calc-fin.el ends here
diff --git a/lisp/calc/calc-forms.el b/lisp/calc/calc-forms.el
index e5a0d6ae7fd..1791f03430a 100644
--- a/lisp/calc/calc-forms.el
+++ b/lisp/calc/calc-forms.el
@@ -1822,5 +1822,4 @@ and ends on the last Sunday of October at 2 a.m."
(math-read-token)
res))
-;;; arch-tag: a3d8f33b-9508-4043-8060-d02b8c9c750c
;;; calc-forms.el ends here
diff --git a/lisp/calc/calc-frac.el b/lisp/calc/calc-frac.el
index 3aa3bbdae41..443b647b4e9 100644
--- a/lisp/calc/calc-frac.el
+++ b/lisp/calc/calc-frac.el
@@ -225,5 +225,4 @@
(math-reject-arg b 'integerp))
(math-reject-arg a 'integerp)))
-;;; arch-tag: 89d65274-0b3b-42d8-aacd-eaf86da5b4ea
;;; calc-frac.el ends here
diff --git a/lisp/calc/calc-funcs.el b/lisp/calc/calc-funcs.el
index fcf11bd65e9..65da1376da3 100644
--- a/lisp/calc/calc-funcs.el
+++ b/lisp/calc/calc-funcs.el
@@ -973,5 +973,4 @@
(put 'calcFunc-ltpt 'math-expandable t)
-;;; arch-tag: 421ddb7a-550f-4dda-a31c-06638ebfc43a
;;; calc-funcs.el ends here
diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el
index df7bbe377ab..032575048c4 100644
--- a/lisp/calc/calc-graph.el
+++ b/lisp/calc/calc-graph.el
@@ -1437,5 +1437,4 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
(goto-char (point-max))
(insert "\n"))))))
-;;; arch-tag: e4b06a52-c386-4d54-a2bb-7c0a0ef533c2
;;; calc-graph.el ends here
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el
index e66f50bd40c..ba776055669 100644
--- a/lisp/calc/calc-help.el
+++ b/lisp/calc/calc-help.el
@@ -655,5 +655,4 @@ C-w Describe how there is no warranty for Calc."
"} (matrix brackets); . (abbreviate); / (multi-lines)")
"vec/mat" ?v))
-;;; arch-tag: 2d347593-7591-449e-a64a-93dab5f2f686
;;; calc-help.el ends here
diff --git a/lisp/calc/calc-incom.el b/lisp/calc/calc-incom.el
index b8bb7ab4f9a..8d85a9edef6 100644
--- a/lisp/calc/calc-incom.el
+++ b/lisp/calc/calc-incom.el
@@ -226,5 +226,4 @@
(error "Interval form is incomplete"))
(t (error "Object is incomplete"))))
-;;; arch-tag: b8001270-4dc7-481b-a3e3-a952e19b390d
;;; calc-incom.el ends here
diff --git a/lisp/calc/calc-keypd.el b/lisp/calc/calc-keypd.el
index 1ad703eb9cf..7d94a239cf5 100644
--- a/lisp/calc/calc-keypd.el
+++ b/lisp/calc/calc-keypd.el
@@ -613,5 +613,4 @@
(error "Not a Calc command: %s" (key-description keys)))))
-;;; arch-tag: 4ba0d360-2bb6-40b8-adfa-eb373765b3f9
;;; calc-keypd.el ends here
diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el
index bb6699a4ac9..661905b207e 100644
--- a/lisp/calc/calc-lang.el
+++ b/lisp/calc/calc-lang.el
@@ -1113,5 +1113,4 @@
(setq h (1+ h))))
h))
-;;; arch-tag: 483bfe15-f290-4fef-bb7d-ce65be687f2e
;;; calc-lang.el ends here
diff --git a/lisp/calc/calc-macs.el b/lisp/calc/calc-macs.el
index 68a92159d05..1782a346118 100644
--- a/lisp/calc/calc-macs.el
+++ b/lisp/calc/calc-macs.el
@@ -201,5 +201,4 @@
(or (consp b)
(< a b))))
-;;; arch-tag: 08ba8ec2-fcff-4b80-a079-ec661bdb057e
;;; calc-macs.el ends here
diff --git a/lisp/calc/calc-maint.el b/lisp/calc/calc-maint.el
index 9e73b85381f..a597fb80868 100644
--- a/lisp/calc/calc-maint.el
+++ b/lisp/calc/calc-maint.el
@@ -388,5 +388,4 @@ Usage: C-x C-f calc.texinfo RET
(save-buffer))
(message "Wrote file calcsum.tex"))
-;;; arch-tag: 46cf3de8-6248-4a11-9034-d9850195761d
;;; calc-maint.el ends here
diff --git a/lisp/calc/calc-map.el b/lisp/calc/calc-map.el
index 07279a677aa..b7cf8f71ba5 100644
--- a/lisp/calc/calc-map.el
+++ b/lisp/calc/calc-map.el
@@ -1261,5 +1261,4 @@
(setq mat (cons (cons 'vec row) mat)))
(cons 'vec (nreverse mat))))
-;;; arch-tag: 980eac49-00e0-4870-b72a-e726b74c7990
;;; calc-map.el ends here
diff --git a/lisp/calc/calc-math.el b/lisp/calc/calc-math.el
index 1456a8e2b57..093679232e5 100644
--- a/lisp/calc/calc-math.el
+++ b/lisp/calc/calc-math.el
@@ -1676,5 +1676,4 @@
(t (list 'calcFunc-deg a))))
(put 'calcFunc-deg 'math-expandable t)
-;;; arch-tag: c7367e8e-d0b8-4f70-8577-2fb3f31dbb4c
;;; calc-math.el ends here
diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el
index 772b39ffed4..648840a5bbf 100644
--- a/lisp/calc/calc-misc.el
+++ b/lisp/calc/calc-misc.el
@@ -746,5 +746,4 @@ doing 'M-x toggle-debug-on-error', then reproducing the bug.
" )))
(defalias 'calc-report-bug 'report-calc-bug)
-;;; arch-tag: 7984d9d0-62e5-41dc-afb8-e904b975f250
;;; calc-misc.el ends here
diff --git a/lisp/calc/calc-mode.el b/lisp/calc/calc-mode.el
index 00f5658022f..5febb343e3f 100644
--- a/lisp/calc/calc-mode.el
+++ b/lisp/calc/calc-mode.el
@@ -674,5 +674,4 @@
(error "Unrecognized character: %c" (aref arg bad)))
(calc-change-mode 'calc-matrix-brackets code t))))
-;;; arch-tag: ecc70eea-c712-43f2-9085-4205e58d6ddf
;;; calc-mode.el ends here
diff --git a/lisp/calc/calc-mtx.el b/lisp/calc/calc-mtx.el
index 99442d4d33d..8f331e3e965 100644
--- a/lisp/calc/calc-mtx.el
+++ b/lisp/calc/calc-mtx.el
@@ -365,5 +365,4 @@
(math-reject-arg m "*Singular matrix"))
(math-reject-arg m 'square-matrixp)))
-;;; arch-tag: fc0947b1-90e1-4a23-8950-d8ead9c3a306
;;; calc-mtx.el ends here
diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el
index 213b7dc4474..21318deede4 100644
--- a/lisp/calc/calc-poly.el
+++ b/lisp/calc/calc-poly.el
@@ -1139,5 +1139,4 @@
(defun calcFunc-expandpow (x n)
(math-normalize (math-expand-power x n)))
-;;; arch-tag: d2566c51-2ccc-45f1-8c50-f3462c2953ff
;;; calc-poly.el ends here
diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el
index 5733938ad7a..84bcbdd7a8b 100644
--- a/lisp/calc/calc-prog.el
+++ b/lisp/calc/calc-prog.el
@@ -2242,5 +2242,4 @@
(math-read-expr-level (nth 3 op)) (nth 1 x))
(throw 'syntax "Syntax error"))))))
-;;; arch-tag: 4c5a183b-c9e5-4632-bb3f-e41a764518b0
;;; calc-prog.el ends here
diff --git a/lisp/calc/calc-rewr.el b/lisp/calc/calc-rewr.el
index 51cffb753fc..21553ed0ddb 100644
--- a/lisp/calc/calc-rewr.el
+++ b/lisp/calc/calc-rewr.el
@@ -2043,5 +2043,4 @@
nil nil)
(cdr rules)))))))
-;;; arch-tag: ca8d7b7d-bff1-4535-90f3-e2241f5e786b
;;; calc-rewr.el ends here
diff --git a/lisp/calc/calc-rules.el b/lisp/calc/calc-rules.el
index f11df8e1f56..90abce22186 100644
--- a/lisp/calc/calc-rules.el
+++ b/lisp/calc/calc-rules.el
@@ -438,5 +438,4 @@ fitsystem(y, xv, pv, 0) := fitsystem(y, xv, cons(fvh,fvt))
hasfitparams(pv)))),
fitparam(n) = x := x ]"))
-;;; arch-tag: 0ed54a52-38f3-4ed7-9ca7-b8ecf8f2febe
;;; calc-rules.el ends here
diff --git a/lisp/calc/calc-sel.el b/lisp/calc/calc-sel.el
index abc90d80e5a..07820a44b22 100644
--- a/lisp/calc/calc-sel.el
+++ b/lisp/calc/calc-sel.el
@@ -825,5 +825,4 @@
(interactive "P")
(calc-sel-add-both-sides no-simp t))
-;;; arch-tag: e5169792-777d-428f-bff5-acca66813fa2
;;; calc-sel.el ends here
diff --git a/lisp/calc/calc-stat.el b/lisp/calc/calc-stat.el
index 42d58776a47..2f844969bdb 100644
--- a/lisp/calc/calc-stat.el
+++ b/lisp/calc/calc-stat.el
@@ -586,5 +586,4 @@
(math-div (math-mul suminvsqrwts (1- len)) len))
(if pop len (1- len)))))))))
-;;; arch-tag: 423858e9-8513-489c-9f35-710cd9d9c307
;;; calc-stat.el ends here
diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el
index cb7156bfc78..dadc2e45aba 100644
--- a/lisp/calc/calc-store.el
+++ b/lisp/calc/calc-store.el
@@ -619,5 +619,4 @@
(calc-slow-wrapper
(calc-binary-op "sub" 'calcFunc-subscr arg)))
-;;; arch-tag: 2fbfec82-a521-42ca-bcd8-4f254ae6313e
;;; calc-store.el ends here
diff --git a/lisp/calc/calc-stuff.el b/lisp/calc/calc-stuff.el
index 6b261398842..33f8d964e67 100644
--- a/lisp/calc/calc-stuff.el
+++ b/lisp/calc/calc-stuff.el
@@ -288,5 +288,4 @@ With a prefix, push that prefix as a number onto the stack."
(nth 2 expr)))
(t (cons (car expr) (mapcar 'math-map-over-constants-rec (cdr expr))))))
-;;; arch-tag: 789332ef-a178-49d3-8fb7-5d7ed7e21f56
;;; calc-stuff.el ends here
diff --git a/lisp/calc/calc-trail.el b/lisp/calc/calc-trail.el
index cee2b4fc461..ebea9a4868b 100644
--- a/lisp/calc/calc-trail.el
+++ b/lisp/calc/calc-trail.el
@@ -177,5 +177,4 @@
(kill-line n)))
(calc-trail-here)))
-;;; arch-tag: 59b76655-d882-4aab-a3ee-b83870e530d0
;;; calc-trail.el ends here
diff --git a/lisp/calc/calc-undo.el b/lisp/calc/calc-undo.el
index 4e9a14f4aa5..a90a3e16680 100644
--- a/lisp/calc/calc-undo.el
+++ b/lisp/calc/calc-undo.el
@@ -150,5 +150,4 @@
(or (eq (car (car list)) 'pop)
(calc-undo-does-pushes (cdr list)))))
-;;; arch-tag: eeb485d2-fb3d-454a-9d79-450af1f50d6c
;;; calc-undo.el ends here
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el
index b8735a9dc38..952606788e5 100644
--- a/lisp/calc/calc-units.el
+++ b/lisp/calc/calc-units.el
@@ -1300,5 +1300,4 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
;; coding: iso-latin-1
;; End:
-;;; arch-tag: e993314f-3adc-4191-be61-4ef8874881c4
;;; calc-units.el ends here
diff --git a/lisp/calc/calc-vec.el b/lisp/calc/calc-vec.el
index 51d7450278e..9762eab7584 100644
--- a/lisp/calc/calc-vec.el
+++ b/lisp/calc/calc-vec.el
@@ -1577,5 +1577,4 @@
(setq mat (nconc mat (list (math-read-vector)))))
mat)
-;;; arch-tag: 7902a7af-ec69-440a-8635-ebb4db263402
;;; calc-vec.el ends here
diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el
index 6d9db84c369..351a8ed2e5a 100644
--- a/lisp/calc/calc-yank.el
+++ b/lisp/calc/calc-yank.el
@@ -571,5 +571,4 @@ To cancel the edit, simply kill the *Calc Edit* buffer."
(calc-enter-result num "edit" vals)
(calc-enter-result 1 "edit" vals (- num))))))))))
-;;; arch-tag: ca61019e-caca-4daa-b32c-b6afe372d5b5
;;; calc-yank.el ends here
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index bf06b68ac99..6312b20919d 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -3375,5 +3375,4 @@ Also looks for the equivalent TeX words, \\gets and \\evalto."
(run-hooks 'calc-load-hook)
-;;; arch-tag: 0c3b170c-4ce6-4eaf-8d9b-5834d1fe938f
;;; calc.el ends here
diff --git a/lisp/calc/calcalg2.el b/lisp/calc/calcalg2.el
index 2a463009e58..9bde5fad57e 100644
--- a/lisp/calc/calcalg2.el
+++ b/lisp/calc/calcalg2.el
@@ -3418,5 +3418,4 @@
(math-normalize accum))))
(list 'calcFunc-taylor expr var num))))
-;;; arch-tag: f2932ec8-dd63-418b-a542-11a644b9d4c4
;;; calcalg2.el ends here
diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el
index 56ee7f69878..4025e337ae1 100644
--- a/lisp/calc/calcalg3.el
+++ b/lisp/calc/calcalg3.el
@@ -1775,5 +1775,4 @@
(while (setq expr (cdr expr))
(math-all-vars-rec (car expr)))))
-;;; arch-tag: ff9f2920-8111-48b5-b3fa-b0682c3e44a6
;;; calcalg3.el ends here
diff --git a/lisp/calc/calccomp.el b/lisp/calc/calccomp.el
index 59bbbebdc0e..2379b2ff5fd 100644
--- a/lisp/calc/calccomp.el
+++ b/lisp/calc/calccomp.el
@@ -1707,5 +1707,4 @@
(math-comp-to-string-raw-step (cdr cl) indent))
""))
-;;; arch-tag: 7c45d10a-a286-4dab-af49-7ae8989fbf78
;;; calccomp.el ends here
diff --git a/lisp/calc/calcsel2.el b/lisp/calc/calcsel2.el
index 66f6ce88bc3..25a5b529e6f 100644
--- a/lisp/calc/calcsel2.el
+++ b/lisp/calc/calcsel2.el
@@ -296,5 +296,4 @@
(interactive "P")
(calc-rewrite-selection "InvertRules" many "jinv"))
-;;; arch-tag: 7c5b8d65-b8f0-45d9-820d-9930f8ee114b
;;; calcsel2.el ends here
diff --git a/lisp/calculator.el b/lisp/calculator.el
index a9410ae961c..64f6ea8af1b 100644
--- a/lisp/calculator.el
+++ b/lisp/calculator.el
@@ -1687,5 +1687,4 @@ To use this, apply a binary operator (evaluate it), then call this."
(provide 'calculator)
-;;; arch-tag: a1b9766c-af8a-4a74-b466-65ad8eeb0c73
;;; calculator.el ends here
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index 6c018667af4..c3f4d77fcae 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -625,5 +625,4 @@ it from the original list."
(setq global-mode-string
(append global-mode-string '(appt-mode-string))))
-;;; arch-tag: bf5791c4-8921-499e-a26f-772b1788d347
;;; appt.el ends here
diff --git a/lisp/calendar/cal-china.el b/lisp/calendar/cal-china.el
index 6e506b93f7d..3749b4c6287 100644
--- a/lisp/calendar/cal-china.el
+++ b/lisp/calendar/cal-china.el
@@ -501,5 +501,4 @@ Echo Chinese date unless NOECHO is t."
(provide 'cal-china)
-;;; arch-tag: 7e5b7e0d-676c-47e3-8696-93e7ea0ab644
;;; cal-china.el ends here
diff --git a/lisp/calendar/cal-coptic.el b/lisp/calendar/cal-coptic.el
index f33e80d6991..13c731f98ff 100644
--- a/lisp/calendar/cal-coptic.el
+++ b/lisp/calendar/cal-coptic.el
@@ -234,5 +234,4 @@ Echo Ethiopic date unless NOECHO is t."
(provide 'cal-coptic)
-;;; arch-tag: 72d49161-25df-4072-9312-b182cdca7627
;;; cal-coptic.el ends here
diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el
index 68943b77b28..2c6c2a30335 100644
--- a/lisp/calendar/cal-dst.el
+++ b/lisp/calendar/cal-dst.el
@@ -394,5 +394,4 @@ Conversion to daylight savings time is done according to
(provide 'cal-dst)
-;;; arch-tag: a141d204-213c-4ca5-bdc6-f9df3aa92aad
;;; cal-dst.el ends here
diff --git a/lisp/calendar/cal-french.el b/lisp/calendar/cal-french.el
index 7c855e4127a..c21375e28cd 100644
--- a/lisp/calendar/cal-french.el
+++ b/lisp/calendar/cal-french.el
@@ -254,5 +254,4 @@ Echo French Revolutionary date unless NOECHO is t."
(provide 'cal-french)
-;;; arch-tag: 7e8045a3-8609-46b5-9cde-cf40ce541cf9
;;; cal-french.el ends here
diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el
index acdac6ce5c6..46d593bae64 100644
--- a/lisp/calendar/cal-hebrew.el
+++ b/lisp/calendar/cal-hebrew.el
@@ -1205,5 +1205,4 @@ have 30 days), and has Passover start on Tuesday.")
(provide 'cal-hebrew)
-;;; arch-tag: aaab6718-7712-42ac-a32d-28fe1f944f3c
;;; cal-hebrew.el ends here
diff --git a/lisp/calendar/cal-islam.el b/lisp/calendar/cal-islam.el
index 482b77d74d9..c4eb50b4773 100644
--- a/lisp/calendar/cal-islam.el
+++ b/lisp/calendar/cal-islam.el
@@ -497,5 +497,4 @@ Prefix arg will make the entry nonmarking."
(provide 'cal-islam)
-;;; arch-tag: a951b6c1-6f47-48d5-bac3-1b505cd719f7
;;; cal-islam.el ends here
diff --git a/lisp/calendar/cal-iso.el b/lisp/calendar/cal-iso.el
index 0d9ad45c7d6..97c9cbeee62 100644
--- a/lisp/calendar/cal-iso.el
+++ b/lisp/calendar/cal-iso.el
@@ -127,5 +127,4 @@ Defaults to today's date if DATE is not given."
(provide 'cal-iso)
-;;; arch-tag: 3c0154cc-d30f-4981-9f60-42bdf7a468f6
;;; cal-iso.el ends here
diff --git a/lisp/calendar/cal-julian.el b/lisp/calendar/cal-julian.el
index ac422602dc4..95482cff8a2 100644
--- a/lisp/calendar/cal-julian.el
+++ b/lisp/calendar/cal-julian.el
@@ -210,5 +210,4 @@ Echo astronomical (Julian) day number unless NOECHO is t."
(provide 'cal-julian)
-;;; arch-tag: 0520acdd-1c60-4188-9aa8-9b8c24d856ae
;;; cal-julian.el ends here
diff --git a/lisp/calendar/cal-mayan.el b/lisp/calendar/cal-mayan.el
index acaa1709080..b19d3fac014 100644
--- a/lisp/calendar/cal-mayan.el
+++ b/lisp/calendar/cal-mayan.el
@@ -376,5 +376,4 @@ Defaults to today's date if DATE is not given."
(provide 'cal-mayan)
-;;; arch-tag: 54f35144-cd0f-4873-935a-a60129de07df
;;; cal-mayan.el ends here
diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el
index 3c6cc78eb7b..3b973586ca0 100644
--- a/lisp/calendar/cal-menu.el
+++ b/lisp/calendar/cal-menu.el
@@ -117,8 +117,6 @@
'("Astronomical Date" . calendar-goto-astro-day-number))
(define-key calendar-mode-map [menu-bar goto iso]
'("ISO Date" . calendar-goto-iso-date))
-(define-key calendar-mode-map [menu-bar goto day-of-year]
- '("Day of Year" . calendar-goto-day-of-year))
(define-key calendar-mode-map [menu-bar goto gregorian]
'("Other Date" . calendar-goto-date))
(define-key calendar-mode-map [menu-bar goto end-of-year]
@@ -166,15 +164,6 @@
(define-key calendar-mode-map [menu-bar scroll fwd-1]
'("Forward 1 Month" . scroll-calendar-left))
-(defun calendar-flatten (list)
- "Flatten LIST eliminating sublists structure; result is a list of atoms.
-This is the same as the preorder list of leaves in a rooted forest."
- (if (atom list)
- (list list)
- (if (cdr list)
- (append (calendar-flatten (car list)) (calendar-flatten (cdr list)))
- (calendar-flatten (car list)))))
-
(defun cal-menu-x-popup-menu (position menu)
"Like `x-popup-menu', but prints an error message if popup menus are
not available."
@@ -318,48 +307,53 @@ ERROR is t, otherwise just returns nil."
(if l l '("None")))))))
(and selection (call-interactively selection))))
-(defun calendar-mouse-view-diary-entries (&optional date diary)
- "Pop up menu of diary entries for mouse-selected date.
-Use optional DATE and alternative file DIARY.
-
-Any holidays are shown if `holidays-in-diary-buffer' is t."
+(defun calendar-mouse-view-diary-entries ()
+ "Pop up menu of diary entries for mouse selected date."
(interactive)
- (let* ((date (if date date (calendar-event-to-date)))
- (diary-file (if diary diary diary-file))
- (diary-list-include-blanks nil)
- (diary-display-hook 'ignore)
- (diary-entries
- (mapcar '(lambda (x) (split-string (car (cdr x)) "\^M\\|\n"))
- (list-diary-entries date 1)))
- (holidays (if holidays-in-diary-buffer
- (mapcar '(lambda (x) (list x))
- (check-calendar-holidays date))))
- (title (concat "Diary entries "
- (if diary (format "from %s " diary) "")
- "for "
- (calendar-date-string date)))
+ (let* ((date (calendar-event-to-date))
+ (l (mapcar '(lambda (x) (list (car (cdr x))))
+ (let ((diary-list-include-blanks nil)
+ (diary-display-hook 'ignore))
+ (list-diary-entries date 1))))
(selection
(cal-menu-x-popup-menu
event
- (list title
- (append
- (list title)
- (if holidays
- (mapcar '(lambda (x) (list (concat " " (car x))))
- holidays))
- (if holidays
- (list "--shadow-etched-in" "--shadow-etched-in"))
- (if diary-entries
- (mapcar 'list (calendar-flatten diary-entries))
- '("None")))))))
+ (list
+ (format "Diary entries for %s" (calendar-date-string date))
+ (append
+ (list (format "Diary entries for %s" (calendar-date-string date)))
+ (if l l '("None")))))))
(and selection (call-interactively selection))))
(defun calendar-mouse-view-other-diary-entries ()
"Pop up menu of diary entries from alternative file on mouse-selected date."
(interactive)
- (calendar-mouse-view-diary-entries
- (calendar-event-to-date)
- (read-file-name "Enter diary file name: " default-directory nil t)))
+ (let* ((date (calendar-event-to-date))
+ (diary-list-include-blanks nil)
+ (diary-display-hook 'ignore)
+ (diary-file (read-file-name
+ "Enter diary file name: "
+ default-directory nil t))
+ ; The following doesn't really do the right thing. The problem is
+ ; that a newline in the diary entry does not give a newline in a
+ ; pop-up menu; for that you need a separate list item. When the (car
+ ; (cdr x)) contains newlines, the item should be split into a list of
+ ; items. Too minor and messy to worry about.
+ (l (mapcar '(lambda (x) (list (car (cdr x))))
+ (list-diary-entries date 1)))
+ (selection
+ (cal-menu-x-popup-menu
+ event
+ (list
+ (format "Diary entries from %s for %s"
+ diary-file
+ (calendar-date-string date))
+ (append
+ (list (format "Diary entries from %s for %s"
+ diary-file
+ (calendar-date-string date)))
+ (if l l '("None")))))))
+ (and selection (call-interactively selection))))
(defun calendar-mouse-insert-diary-entry ()
"Insert diary entry for mouse-selected date."
@@ -618,5 +612,4 @@ The output is in landscape format, one month to a page."
(provide 'cal-menu)
-;;; arch-tag: aa81cf73-ce89-48a4-97ec-9ef861e87fe9
;;; cal-menu.el ends here
diff --git a/lisp/calendar/cal-move.el b/lisp/calendar/cal-move.el
index 045c11ba1d7..b711e226a0e 100644
--- a/lisp/calendar/cal-move.el
+++ b/lisp/calendar/cal-move.el
@@ -327,28 +327,6 @@ Moves forward if ARG is negative."
(calendar-cursor-to-visible-date date)
(run-hooks 'calendar-move-hook))
-(defun calendar-goto-day-of-year (year day &optional noecho)
- "Move cursor to YEAR, DAY number; echo DAY/YEAR unless NOECHO is t.
-Negative DAY counts backward from end of year."
- (interactive
- (let* ((year (calendar-read
- "Year (>0): "
- (lambda (x) (> x 0))
- (int-to-string (extract-calendar-year
- (calendar-current-date)))))
- (last (if (calendar-leap-year-p year) 366 365))
- (day (calendar-read
- (format "Day number (+/- 1-%d): " last)
- '(lambda (x) (and (<= 1 (abs x)) (<= (abs x) last))))))
- (list year day)))
- (calendar-goto-date
- (calendar-gregorian-from-absolute
- (if (< 0 day)
- (+ -1 day (calendar-absolute-from-gregorian (list 1 1 year)))
- (+ 1 day (calendar-absolute-from-gregorian (list 12 31 year))))))
- (or noecho (calendar-print-day-of-year)))
-
(provide 'cal-move)
-;;; arch-tag: d0883c46-7e16-4914-8ff8-8f67e699b781
;;; cal-move.el ends here
diff --git a/lisp/calendar/cal-persia.el b/lisp/calendar/cal-persia.el
index ff09c14b47d..c9b8a2af07d 100644
--- a/lisp/calendar/cal-persia.el
+++ b/lisp/calendar/cal-persia.el
@@ -206,5 +206,4 @@ Echo Persian date unless NOECHO is t."
(provide 'cal-persia)
-;;; arch-tag: 2832383c-e4b4-4dc2-8ee9-cfbdd53e5e2d
;;; cal-persia.el ends here
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el
index ac6fad4ed67..5af65a380bb 100644
--- a/lisp/calendar/cal-tex.el
+++ b/lisp/calendar/cal-tex.el
@@ -1781,5 +1781,4 @@ without erasing current contents."
(provide 'cal-tex)
-;;; arch-tag: ca8168a4-5a00-4508-a565-17e3bccce6d0
;;; cal-tex.el ends here
diff --git a/lisp/calendar/cal-x.el b/lisp/calendar/cal-x.el
index 0e46e8d3cd8..416230ef52d 100644
--- a/lisp/calendar/cal-x.el
+++ b/lisp/calendar/cal-x.el
@@ -162,5 +162,4 @@ Can be used to change frame parameters, such as font, color, location, etc.")
(provide 'cal-x)
-;;; arch-tag: c6dbddca-ae84-442d-87fc-244b76e38e17
;;; cal-x.el ends here
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 902d8f58c49..88d389072c2 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -753,7 +753,6 @@ in your `.emacs' file to cause the fancy diary buffer to be displayed with
diary entries from various included files, each day's entries sorted into
lexicographic order."
:type 'hook
- :options '(include-other-diary-files sort-diary-entries)
:group 'diary)
;;;###autoload
@@ -786,7 +785,6 @@ diary buffer will not show days for which there are no diary entries, even
if that day is a holiday; if you want such days to be shown in the fancy
diary buffer, set the variable `diary-list-include-blanks' to t."
:type 'hook
- :options '(fancy-diary-display)
:group 'diary)
;;;###autoload
@@ -797,7 +795,6 @@ relevant entries. You can use either or both of `list-hebrew-diary-entries'
and `list-islamic-diary-entries'. The documentation for these functions
describes the style of such diary entries."
:type 'hook
- :options '(list-hebrew-diary-entries list-islamic-diary-entries)
:group 'diary)
;;;###autoload
@@ -815,7 +812,6 @@ variable `diary-include-string'. When you use `mark-included-diary-files' as
part of the mark-diary-entries-hook, you will probably also want to use the
function `include-other-diary-files' as part of `list-diary-entries-hook'."
:type 'hook
- :options '(mark-included-diary-files)
:group 'diary)
;;;###autoload
@@ -826,7 +822,6 @@ relevant entries. You can use either or both of `mark-hebrew-diary-entries'
and `mark-islamic-diary-entries'. The documentation for these functions
describes the style of such diary entries."
:type 'hook
- :options '(mark-hebrew-diary-entries mark-islamic-diary-entries)
:group 'diary)
;;;###autoload
@@ -1406,10 +1401,6 @@ The Gregorian date Sunday, December 31, 1 BC is imaginary."
"Move cursor to DATE."
t)
-(autoload 'calendar-goto-day-of-year "cal-move"
- "Move cursor to day of year."
- t)
-
(autoload 'calendar-only-one-frame-setup "cal-x"
"Start calendar and display it in a dedicated frame.")
@@ -2020,7 +2011,6 @@ the inserted text. Value is always t."
(define-key calendar-mode-map "\C-x\C-x" 'calendar-exchange-point-and-mark)
(define-key calendar-mode-map "\e=" 'calendar-count-days-region)
(define-key calendar-mode-map "gd" 'calendar-goto-date)
- (define-key calendar-mode-map "gD" 'calendar-goto-day-of-year)
(define-key calendar-mode-map "gj" 'calendar-goto-julian-date)
(define-key calendar-mode-map "ga" 'calendar-goto-astro-day-number)
(define-key calendar-mode-map "gh" 'calendar-goto-hebrew-date)
@@ -2574,12 +2564,10 @@ of full names. The return value is the ABBREV array, with any nil
elements replaced by the first three characters taken from the
corresponding element of FULL. If optional argument PERIOD is non-nil,
each element returned has a final `.' character."
- (let (elem array name)
+ (let (elem array)
(dotimes (i (length full))
- (setq name (aref full i)
- elem (or (aref abbrev i)
- (substring name 0
- (min calendar-abbrev-length (length name))))
+ (setq elem (or (aref abbrev i)
+ (substring (aref full i) 0 calendar-abbrev-length))
elem (format "%s%s" elem (if period "." ""))
array (append array (list elem))))
(vconcat array)))
@@ -2627,7 +2615,7 @@ If FILTER is provided, apply it to each key in the alist."
(aseqp (if abbrevs (calendar-abbrev-construct abbrevs sequence
'period)))
alist elem)
- (dotimes (i (length sequence) (reverse alist))
+ (dotimes (i (1- (length sequence)) (reverse alist))
(setq index (+ i offset)
elem (elt sequence i)
alist
@@ -2897,5 +2885,4 @@ Defaults to today's date if DATE is not given."
;;; byte-compile-dynamic: t
;;; End:
-;;; arch-tag: 19c61596-c8fb-4c69-bcf1-7dd739919cd8
;;; calendar.el ends here
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index 02103b9958d..3e516aed3b9 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -258,27 +258,6 @@ search."
(list entry ret-attr))))
-;; This can be removed once the kill/yank treatment of invisible text
-;; (see etc/TODO) is fixed. -- gm
-(defcustom diary-header-line-flag t
- "*If non-nil, `simple-diary-display' will show a header line.
-The format of the header is specified by `diary-header-line-format'."
- :group 'diary
- :type 'boolean
- :version "21.4")
-
-(defcustom diary-header-line-format
- '(:eval (calendar-string-spread
- (list (if selective-display
- "Selective display active - press \"s\" in calendar \
-before edit/copy"
- "Diary"))
- ?\ (frame-width)))
- "*Format of the header line displayed by `simple-diary-display'.
-Only used if `diary-header-line-flag' is non-nil."
- :group 'diary
- :type 'sexp
- :version "21.4")
(defun list-diary-entries (date number)
"Create and display a buffer containing the relevant lines in diary-file.
@@ -332,8 +311,6 @@ These hooks have the following distinct roles:
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil "")))
(setq selective-display t)
(setq selective-display-ellipses nil)
- (if diary-header-line-flag
- (setq header-line-format diary-header-line-format))
(setq old-diary-syntax-table (syntax-table))
(set-syntax-table diary-syntax-table)
(unwind-protect
@@ -432,6 +409,7 @@ These hooks have the following distinct roles:
'list-diary-entries-hook)
(if diary-display-hook
(run-hooks 'diary-display-hook)
+ ;; FIXME Error if calendar-setup 'calendar-only -- gm.
(simple-diary-display))
(run-hooks 'diary-hook)
diary-entries-list))))
@@ -488,19 +466,17 @@ changing the variable `diary-include-string'."
"Display the diary buffer if there are any relevant entries or holidays."
(let* ((holiday-list (if holidays-in-diary-buffer
(check-calendar-holidays original-date)))
- (hol-string (format "%s%s%s"
- date-string
- (if holiday-list ": " "")
- (mapconcat 'identity holiday-list "; ")))
- (msg (format "No diary entries for %s" hol-string))
- ;; If selected window is dedicated (to the calendar),
- ;; need a new one to display the diary.
- (pop-up-frames (window-dedicated-p (selected-window))))
- (calendar-set-mode-line (format "Diary for %s" hol-string))
+ (msg (format "No diary entries for %s %s"
+ (concat date-string (if holiday-list ":" ""))
+ (mapconcat 'identity holiday-list "; "))))
+ (calendar-set-mode-line
+ (concat "Diary for " date-string
+ (if holiday-list ": " "")
+ (mapconcat 'identity holiday-list "; ")))
(if (or (not diary-entries-list)
(and (not (cdr diary-entries-list))
(string-equal (car (cdr (car diary-entries-list))) "")))
- (if (< (length msg) (frame-width))
+ (if (<= (length msg) (frame-width))
(message "%s" msg)
(set-buffer (get-buffer-create holiday-buffer))
(setq buffer-read-only nil)
@@ -1613,8 +1589,7 @@ Do nothing if DATE or STRING is nil."
(defun make-diary-entry (string &optional nonmarking file)
"Insert a diary entry STRING which may be NONMARKING in FILE.
If omitted, NONMARKING defaults to nil and FILE defaults to `diary-file'."
- (let ((pop-up-frames (window-dedicated-p (selected-window))))
- (find-file-other-window (substitute-in-file-name (or file diary-file))))
+ (find-file-other-window (substitute-in-file-name (or file diary-file)))
(widen)
(goto-char (point-max))
(when (let ((case-fold-search t))
@@ -1855,5 +1830,4 @@ names."
(provide 'diary-lib)
-;;; arch-tag: 22dd506e-2e33-410d-9ae1-095a0c1b2010
;;; diary-lib.el ends here
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index b262ac50a38..0678135e2ce 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -510,5 +510,4 @@ date. If date is nil, or if the date is not visible, there is no holiday."
(provide 'holidays)
-;;; arch-tag: 48eb3117-75a7-4dbe-8fd9-873c3cbb0d37
;;; holidays.el ends here
diff --git a/lisp/calendar/lunar.el b/lisp/calendar/lunar.el
index 7efed3ff275..183e28b5b6f 100644
--- a/lisp/calendar/lunar.el
+++ b/lisp/calendar/lunar.el
@@ -398,5 +398,4 @@ calendar-time-zone."
(provide 'lunar)
-;;; arch-tag: 72f0b8a4-7bcc-4a1b-b67a-ff53c4a1d222
;;; lunar.el ends here
diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el
index 9eea37fc7a8..7020e490b4b 100644
--- a/lisp/calendar/parse-time.el
+++ b/lisp/calendar/parse-time.el
@@ -216,5 +216,4 @@ unknown are returned as nil."
(provide 'parse-time)
-;;; arch-tag: 07066094-45a8-4c68-b307-86195e2c1103
;;; parse-time.el ends here
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el
index 8a514fa6415..51558d9d128 100644
--- a/lisp/calendar/solar.el
+++ b/lisp/calendar/solar.el
@@ -1096,5 +1096,4 @@ Requires floating point."
(provide 'solar)
-;;; arch-tag: bc0ff693-df58-4666-bde4-2a7837ccb8fe
;;; solar.el ends here
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el
index b36d5ab2f31..c3a738a9932 100644
--- a/lisp/calendar/time-date.el
+++ b/lisp/calendar/time-date.el
@@ -186,5 +186,4 @@ If DATE is malformed, return a time value of zeros."
(provide 'time-date)
-;;; arch-tag: addcf07b-b20a-465b-af72-550b8ac5190f
;;; time-date.el ends here
diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el
index 6e4a380133b..f4b68764d0d 100644
--- a/lisp/calendar/timeclock.el
+++ b/lisp/calendar/timeclock.el
@@ -1363,5 +1363,4 @@ HTML-P is non-nil html markup is added."
(if (file-readable-p timeclock-file)
(timeclock-reread-log))
-;;; arch-tag: a0be3377-deb6-44ec-b9a2-a7be28436a40
;;; timeclock.el ends here
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index 7962a446eab..884e547b2d5 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -5,7 +5,7 @@
;; Author: Oliver Seidel <os10000@seidel-space.de>
;; [Not clear the above works, July 2000]
;; Created: 2 Aug 1997
-;; Version: $Id: todo-mode.el,v 1.50 2001/12/11 07:36:30 pj Exp $
+;; Version: $Id: todo-mode.el,v 1.49 2001/11/17 04:01:31 rms Exp $
;; Keywords: calendar, todo
;; This file is part of GNU Emacs.
@@ -97,7 +97,7 @@
;;
;; Which version of todo-mode.el does this documentation refer to?
;;
-;; $Id: todo-mode.el,v 1.50 2001/12/11 07:36:30 pj Exp $
+;; $Id: todo-mode.el,v 1.49 2001/11/17 04:01:31 rms Exp $
;;
;; Pre-Requisites
;;
@@ -961,5 +961,4 @@ Number of entries for each category is given by `todo-print-priorities'."
(provide 'todo-mode)
-;;; arch-tag: 6fd91be5-776e-4464-a109-da4ea0e4e497
;;; todo-mode.el ends here
diff --git a/lisp/case-table.el b/lisp/case-table.el
index 1936977c779..f83123bf19f 100644
--- a/lisp/case-table.el
+++ b/lisp/case-table.el
@@ -131,5 +131,4 @@ SYNTAX should be \" \", \"w\", \".\" or \"_\"."
(provide 'case-table)
-;;; arch-tag: 3c2cf885-2c9a-449a-9972-2e269191896d
;;; case-table.el ends here
diff --git a/lisp/cdl.el b/lisp/cdl.el
index 53c9ced9cec..5dd87f45db0 100644
--- a/lisp/cdl.el
+++ b/lisp/cdl.el
@@ -46,5 +46,4 @@
(provide 'cdl)
-;;; arch-tag: b8e95a6e-2387-4077-ad9a-af54b09b8615
;;; cdl.el ends here
diff --git a/lisp/chistory.el b/lisp/chistory.el
index dde30c75e0e..8b9c6394046 100644
--- a/lisp/chistory.el
+++ b/lisp/chistory.el
@@ -191,5 +191,4 @@ and runs the normal hook `command-history-hook'."
(provide 'chistory)
-;;; arch-tag: c201a0cd-89f2-4d39-a532-4cb309391dbd
;;; chistory.el ends here
diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el
index a9190d32100..2e95658004f 100644
--- a/lisp/cmuscheme.el
+++ b/lisp/cmuscheme.el
@@ -437,5 +437,4 @@ This is a good place to put keybindings."
(provide 'cmuscheme)
-;;; arch-tag: e8795f4a-c496-45a2-97b4-8e0f2a2c57d2
;;; cmuscheme.el ends here
diff --git a/lisp/comint.el b/lisp/comint.el
index 8405e8afcb6..0fa6c36330c 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -3394,5 +3394,4 @@ REGEXP-GROUP is the regular expression group in REGEXP to use."
(provide 'comint)
-;;; arch-tag: 1793314c-09db-40be-9549-9aeae3e75164
;;; comint.el ends here
diff --git a/lisp/compare-w.el b/lisp/compare-w.el
index da2b3b27c0b..8772cfcc6df 100644
--- a/lisp/compare-w.el
+++ b/lisp/compare-w.el
@@ -161,5 +161,4 @@ If `compare-ignore-case' is non-nil, changes in case are also ignored."
(provide 'compare-w)
-;;; arch-tag: 4177aab1-48e6-4a98-b7a1-000ee285de46
;;; compare-w.el ends here
diff --git a/lisp/complete.el b/lisp/complete.el
index 567e0fee105..4f223365202 100644
--- a/lisp/complete.el
+++ b/lisp/complete.el
@@ -954,5 +954,4 @@ absolute rather than relative to some directory on the SEARCH-PATH."
(provide 'complete)
-;;; arch-tag: fc7e2768-ff44-4e22-b579-4d825b968458
;;; complete.el ends here
diff --git a/lisp/completion.el b/lisp/completion.el
index 2fb0ef0a3b2..6f7eb569f71 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2505,5 +2505,4 @@ TYPE is the type of the wrapper to be added. Can be :before or :under."
(provide 'completion)
-;;; arch-tag: 6990dafe-4abd-4a1f-8c42-ffb25e120f5e
;;; completion.el ends here
diff --git a/lisp/composite.el b/lisp/composite.el
index fa69ac6ff83..1f279cd6a17 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -386,6 +386,4 @@ Optional 3rd arg WITH-COMPOSITION-RULE is ignored."
(make-obsolete 'decompose-composite-char 'char-to-string "21.1")
-
-;;; arch-tag: ee703d77-1723-45d4-a31f-e9f0f867aa33
;;; composite.el ends here
diff --git a/lisp/cus-dep.el b/lisp/cus-dep.el
index bd9fd71b579..e448f279917 100644
--- a/lisp/cus-dep.el
+++ b/lisp/cus-dep.el
@@ -187,6 +187,4 @@ Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS"
(kill-emacs))
-
-;;; arch-tag: b7b6421a-bf7a-44fd-a382-6f44976bdf68
;;; cus-dep.el ends here
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index f33e56a02aa..9041ec3c14c 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -74,7 +74,6 @@
(defgroup emulations nil
"Emulations of other editors."
- :link '(custom-manual "(emacs)Emulation")
:group 'editing)
(defgroup mouse nil
@@ -89,6 +88,11 @@
"Interfacing to external utilities."
:group 'emacs)
+(defgroup bib nil
+ "Code related to the `bib' bibliography processor."
+ :tag "Bibliography"
+ :group 'external)
+
(defgroup processes nil
"Process, subshell, compilation, and job control support."
:group 'external
@@ -113,7 +117,6 @@
(defgroup c nil
"Support for the C language and related languages."
- :link '(custom-manual "(ccmode)")
:group 'languages)
(defgroup tools nil
@@ -138,7 +141,6 @@
(defgroup news nil
"Support for netnews reading and posting."
- :link '(custom-manual "(gnus)")
:group 'applications)
(defgroup games nil
@@ -193,7 +195,6 @@
(defgroup i18n nil
"Internationalization and alternate character-set support."
- :link '(custom-manual "(emacs)International")
:group 'environment
:group 'editing)
@@ -244,6 +245,8 @@
(defgroup customize '((widgets custom-group))
"Customization of the Customization support."
:link '(custom-manual "(elisp)Customization")
+ :link '(url-link :tag "(Old?) Development Page"
+ "http://www.dina.kvl.dk/~abraham/custom/")
:prefix "custom-"
:group 'help)
@@ -269,7 +272,6 @@
(defgroup abbrev-mode nil
"Word abbreviations mode."
- :link '(custom-manual "(emacs)Abbrevs")
:group 'abbrev)
(defgroup alloc nil
@@ -279,7 +281,6 @@
(defgroup undo nil
"Undoing changes in buffers."
- :link '(custom-manual "(emacs)Undo")
:group 'editing)
(defgroup modeline nil
@@ -288,7 +289,6 @@
(defgroup fill nil
"Indenting and filling text."
- :link '(custom-manual "(emacs)Filling Text")
:group 'editing)
(defgroup editing-basics nil
@@ -321,7 +321,6 @@
(defgroup minibuffer nil
"Controling the behaviour of the minibuffer."
- :link '(custom-manual "(emacs)Minibuffer")
:group 'environment)
(defgroup keyboard nil
@@ -350,7 +349,6 @@
(defgroup windows nil
"Windows within a frame."
- :link '(custom-manual "(emacs)Windows")
:group 'environment)
;;; Utilities.
@@ -4113,5 +4111,4 @@ if that value is non-nil."
(provide 'cus-edit)
-;;; arch-tag: 64533aa4-1b1a-48c3-8812-f9dc718e8a6f
;;; cus-edit.el ends here
diff --git a/lisp/cus-face.el b/lisp/cus-face.el
index 1ff07c4c361..f1744cc9e65 100644
--- a/lisp/cus-face.el
+++ b/lisp/cus-face.el
@@ -394,5 +394,4 @@ ARGS is defined as for `custom-theme-reset-faces'"
(provide 'cus-face)
-;;; arch-tag: 9a5c4b63-0d27-4c92-a5af-f2c7ed764c2b
;;; cus-face.el ends here
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index f858be4baf2..9ece1e8d2f0 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -200,8 +200,6 @@
;; syntax.c
(parse-sexp-ignore-comments editing-basics boolean)
(words-include-escapes editing-basics boolean)
- (open-paren-in-column-0-is-defun-start editing-basics boolean
- "21.1")
;; window.c
(temp-buffer-show-function windows (choice (const nil) function))
(display-buffer-function windows (choice (const nil) function))
@@ -256,7 +254,6 @@
(line-number-display-limit display
(choice integer
(const :tag "No limit" nil)))
- (line-number-display-limit-width display integer)
(highlight-nonselected-windows display boolean)
(message-log-max debug (choice (const :tag "Disable" nil)
(integer :menu-tag "lines"
@@ -322,8 +319,6 @@
(put symbol 'custom-version version)))))
(custom-add-to-group 'iswitchb 'read-buffer-function 'custom-variable)
-(custom-add-to-group 'font-lock 'open-paren-in-column-0-is-defun-start
- 'custom-variable)
(put 'selection-coding-system 'custom-set
(lambda (symbol value)
(set-selection-coding-system value)
@@ -336,5 +331,4 @@
(unless purify-flag
(provide 'cus-start))
-;;; arch-tag: 4502730d-bcb3-4f5e-99a3-a86f2d54af60
;;; cus-start.el ends here
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el
index f1001990d3c..02ba2de194d 100644
--- a/lisp/cus-theme.el
+++ b/lisp/cus-theme.el
@@ -154,5 +154,4 @@ It includes all faces in list FACES."
(unless (looking-at "\n")
(princ "\n")))))
-;;; arch-tag: cd6919bc-63af-410e-bae2-b6702e762344
;;; cus-theme.el ends here
diff --git a/lisp/custom.el b/lisp/custom.el
index 976787d3483..bcec5904fd8 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -502,14 +502,6 @@ LOAD should be either a library file name, or a feature name."
"Load all dependencies for SYMBOL."
(unless custom-load-recursion
(let ((custom-load-recursion t))
- ;; Load these files if not already done,
- ;; to make sure we know all the dependencies of SYMBOL.
- (condition-case nil
- (require 'cus-load)
- (error nil))
- (condition-case nil
- (require 'cus-start)
- (error nil))
(dolist (load (get symbol 'custom-loads))
(cond ((symbolp load) (condition-case nil (require load) (error nil)))
;; This is subsumed by the test below, but it's much faster.
@@ -1071,5 +1063,4 @@ This means reset VARIABLE to its value in TO-THEME."
(provide 'custom)
-;;; arch-tag: 041b6116-aabe-4f9a-902d-74092bc3dab2
;;; custom.el ends here
diff --git a/lisp/cvs-status.el b/lisp/cvs-status.el
index b2945ca21be..27c5c20649a 100644
--- a/lisp/cvs-status.el
+++ b/lisp/cvs-status.el
@@ -513,5 +513,4 @@ Optional prefix ARG chooses between two representations."
(provide 'cvs-status)
-;;; arch-tag: db8b5094-d02a-473e-a476-544e89ff5ad0
;;; cvs-status.el ends here
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el
index c9591950f50..11a8aac6f6e 100644
--- a/lisp/dabbrev.el
+++ b/lisp/dabbrev.el
@@ -851,8 +851,7 @@ of the start of the occurrence."
(defun dabbrev--safe-replace-match (string &optional fixedcase literal)
(if (eq major-mode 'picture-mode)
- (with-no-warnings
- (picture-replace-match string fixedcase literal))
+ (picture-replace-match string fixedcase literal)
(replace-match string fixedcase literal)))
;;;----------------------------------------------------------------
@@ -1028,5 +1027,4 @@ Leaves point at the location of the start of the expansion."
(provide 'dabbrev)
-;;; arch-tag: 29e58596-f080-4306-a409-70296cf9d46f
;;; dabbrev.el ends here
diff --git a/lisp/delim-col.el b/lisp/delim-col.el
index b05a25fe809..70791a3dae2 100644
--- a/lisp/delim-col.el
+++ b/lisp/delim-col.el
@@ -479,5 +479,4 @@ START and END delimits the corners of text rectangle."
(provide 'delim-col)
-;;; arch-tag: 1cc0c5c5-1b2a-43e4-9ba5-bf9441cfd1a9
;;; delim-col.el ends here
diff --git a/lisp/delsel.el b/lisp/delsel.el
index 88e23cb218e..9305dfbf31f 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -151,5 +151,4 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(provide 'delsel)
-;;; arch-tag: 1e388890-1b50-4ed0-9347-763b1343b6ed
;;; delsel.el ends here
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index ff38c21ed50..229e1b57e3f 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -583,5 +583,4 @@ as well as widgets, buttons, overlays, and text properties."
(provide 'descr-text)
-;;; arch-tag: fc55a498-f3e9-4312-b5bd-98cc02480af1
;;; descr-text.el ends here
diff --git a/lisp/desktop.el b/lisp/desktop.el
index a681697ea86..a5a898e2cd5 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -37,17 +37,18 @@
;; - buffer-read-only
;; - some local variables
-;; To use this, add these lines to the bottom of your .emacs file:
+;; To use this, first put these two lines in the bottom of your .emacs
+;; file (the later the better):
;;
-;; (require 'desktop)
-;; (setq desktop-enable t)
+;; (desktop-load-default)
+;; (desktop-read)
;;
-;; Between the first two lines you may wish to add something that updates the
+;; Between these two lines you may wish to add something that updates the
;; variables `desktop-globals-to-save' and/or `desktop-locals-to-save'. If
;; for instance you want to save the local variable `foobar' for every buffer
;; in which it is local, you could add the line
;;
-;; (add-to-list 'desktop-locals-to-save 'foobar)
+;; (setq desktop-locals-to-save (cons 'foobar desktop-locals-to-save))
;;
;; To avoid saving excessive amounts of data you may also wish to add
;; something like the following
@@ -396,7 +397,7 @@ is nil, ask the user where to save the desktop."
desktop-enable
(let ((exists (file-exists-p (expand-file-name desktop-base-file-name desktop-dirname))))
(or
- (eq desktop-save t)
+ (eq desktop-save 't)
(and exists (memq desktop-save '(ask-if-new if-exists)))
(and
(or
@@ -977,5 +978,4 @@ This function always sets `desktop-enable' to t."
(provide 'desktop)
-;;; arch-tag: 221907c3-1771-4fd3-9c2e-c6f700c6ede9
;;; desktop.el ends here
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el
index 54a582256ba..30b9467c727 100644
--- a/lisp/diff-mode.el
+++ b/lisp/diff-mode.el
@@ -1242,5 +1242,4 @@ For use in `add-log-current-defun-function'."
;; use `combine-after-change-calls' to minimize the slowdown of font-lock.
;;
-;;; arch-tag: 2571d7ff-bc28-4cf9-8585-42e21890be66
;;; diff-mode.el ends here
diff --git a/lisp/diff.el b/lisp/diff.el
index 9f1d3fa1732..a5fa7026505 100644
--- a/lisp/diff.el
+++ b/lisp/diff.el
@@ -301,5 +301,4 @@ The backup file is the first file given to `diff'."
(provide 'diff)
-;;; arch-tag: 7de2c29b-7ea5-4b85-9b9d-72dd860de2bd
;;; diff.el ends here
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index ab3b65abac0..5bba250b67b 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -2037,5 +2037,4 @@ true then the type of the file linked to by FILE is printed instead."
(provide 'dired-aux)
-;;; arch-tag: 4b508de9-a153-423d-8d3f-a1bbd86f4f60
;;; dired-aux.el ends here
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 2e8087bd213..5c6df8f87eb 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -2,7 +2,7 @@
;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
;; Lawrence R. Dodd <dodd@roebling.poly.edu>
-;; Maintainer: nobody (want to volunteer?)
+;; Maintainer: FSF (unless Dodd can be found)
;; Version: 2.37+
;; Date: 1994/08/18 19:27:42
;; Keywords: dired extensions files
@@ -1665,5 +1665,4 @@ variables `dired-x-variable-list' in the message."
;; As Barry Warsaw would say: "This might be useful..."
(provide 'dired-x)
-;;; arch-tag: 71a43ba2-7a00-4793-a028-0613dd7765ae
;;; dired-x.el ends here
diff --git a/lisp/dired.el b/lisp/dired.el
index 34fdff9c13f..e01299f5eba 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -192,20 +192,6 @@ with the buffer narrowed to the listing."
;; Note this can't simply be run inside function `dired-ls' as the hook
;; functions probably depend on the dired-subdir-alist to be OK.
-(defcustom dired-view-command-alist
- '(("[.]\\(ps\\|ps_pages\\|eps\\)\\'" . "gv -spartan -color -watch %s")
- ("[.]pdf\\'" . "xpdf %s")
- ("[.]\\(jpe?g\\|gif\\|png\\)\\'" . "eog %s")
- ("[.]dvi\\'" . "xdvi -sidemargin 0.5 -topmargin 1 %s"))
- "Alist specifying how to view special types of files.
-Each element has the form (REGEXP . SHELL-COMMAND).
-When the file name matches REGEXP, `dired-view-file'
-invokes SHELL-COMMAND to view the file, processing it through `format'.
-Use `%s' in SHELL-COMMAND to specify where to put the file name."
- :group 'dired
- :type '(alist :key-type regexp :value-type string)
- :version "21.4")
-
;; Internal variables
(defvar dired-marker-char ?* ; the answer is 42
@@ -1406,24 +1392,21 @@ Creates a buffer if necessary."
(set-buffer (window-buffer window))
(goto-char pos)
(setq file (dired-get-file-for-visit)))
- (if (file-directory-p file)
- (or (and (cdr dired-subdir-alist)
- (dired-goto-subdir file))
- (progn
- (select-window window)
- (dired-other-window file)))
- (let (cmd)
- ;; Look for some other way to view a certain file.
- (dolist (elt dired-view-command-alist)
- (if (string-match (car elt) file)
- (setq cmd (cdr elt))))
- (if cmd
- (call-process shell-file-name nil 0 nil
- "-c"
- (concat (format cmd (shell-quote-argument file))
- " &"))
- (select-window window)
- (find-file-other-window (file-name-sans-versions file t)))))))
+ (select-window window)
+ (find-file-other-window (file-name-sans-versions file t))))
+
+(defcustom dired-view-command-alist
+ '(("[.]ps\\'" . "gv -spartan -color -watch")
+ ("[.]pdf\\'" . "xpdf")
+ ("[.]dvi\\'" . "xdvi -sidemargin 0.5 -topmargin 1"))
+ "Alist specifying how to view special types of files.
+Each element has the form (REGEXP . SHELL-COMMAND).
+When the file name matches REGEXP, `dired-view-file'
+invokes SHELL-COMMAND to view the file, putting the file name
+at the end of the command."
+ :group 'dired
+ :type '(alist :key-type regexp :value-type string)
+ :version "21.4")
(defun dired-view-file ()
"In Dired, examine a file in view mode, returning to dired when done.
@@ -1444,7 +1427,8 @@ see `dired-view-command-alist'. Otherwise, display it in another buffer."
(if cmd
(call-process shell-file-name nil 0 nil
"-c"
- (concat (format cmd (shell-quote-argument file))
+ (concat cmd " "
+ (shell-quote-argument file)
" &"))
(view-file file))))))
@@ -3130,5 +3114,4 @@ true then the type of the file linked to by FILE is printed instead."
(run-hooks 'dired-load-hook) ; for your customizations
-;;; arch-tag: e1af7a8f-691c-41a0-aac1-ddd4d3c87517
;;; dired.el ends here
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index 41aea04988b..75fbf244f9d 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -334,5 +334,4 @@ You can enable directory tracking by adding this function to
(provide 'dirtrack)
-;;; arch-tag: 168de071-be88-4937-aff6-2aba9f328d5a
;;; dirtrack.el ends here
diff --git a/lisp/disp-table.el b/lisp/disp-table.el
index 028c293f221..174b5d27211 100644
--- a/lisp/disp-table.el
+++ b/lisp/disp-table.el
@@ -227,5 +227,4 @@ for users who call this function in `.emacs'."
(provide 'disp-table)
-;;; arch-tag: ffe4c28c-960c-47aa-b8a8-ae89d371ffc7
;;; disp-table.el ends here
diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el
index 65b6c0063c0..ba2aff981e7 100644
--- a/lisp/dos-fns.el
+++ b/lisp/dos-fns.el
@@ -252,5 +252,4 @@ that your video hardware might not support 50-line mode."
(provide 'dos-fns)
-;;; arch-tag: 00b03579-8ebb-4a02-8762-5c5a929774ad
;;; dos-fns.el ends here
diff --git a/lisp/dos-vars.el b/lisp/dos-vars.el
index 93ff681796e..ee008d2094a 100644
--- a/lisp/dos-vars.el
+++ b/lisp/dos-vars.el
@@ -44,5 +44,4 @@ in `standard-display-table' as appropriate for your codepage, if
:type '(hook)
:version "20.3.3")
-;;; arch-tag: dce8a0d9-ab29-413f-84ed-8b89d6190546
;;; dos-vars.el ends here
diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el
index c1c189166bb..4768586b331 100644
--- a/lisp/dos-w32.el
+++ b/lisp/dos-w32.el
@@ -424,5 +424,4 @@ indicates a specific program should be invoked."
(provide 'dos-w32)
-;;; arch-tag: dcfefdd2-362f-4fbc-9141-9634f5f4d6a7
;;; dos-w32.el ends here
diff --git a/lisp/double.el b/lisp/double.el
index fc931992bd1..b658f007923 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -207,5 +207,4 @@ when pressed twice. See variable `double-map' for details."
(provide 'double)
-;;; arch-tag: 2e170036-44cb-4493-bc32-ada0a4395221
;;; double.el ends here
diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el
index bed46c71618..03309415437 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -282,5 +282,4 @@ Returns to Electric Buffer Menu when done."
(provide 'ebuff-menu)
-;;; arch-tag: 1d4509b3-eece-4d4f-95ea-77c83eaf0275
;;; ebuff-menu.el ends here
diff --git a/lisp/echistory.el b/lisp/echistory.el
index a01cad89f40..dd6b4298727 100644
--- a/lisp/echistory.el
+++ b/lisp/echistory.el
@@ -152,5 +152,4 @@ The Command History listing is recomputed each time this mode is invoked."
(provide 'echistory)
-;;; arch-tag: 1e5018fe-190f-44a7-9109-a895dcac4c50
;;; echistory.el ends here
diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el
index e7dcd6f16c5..99b9a23f7c0 100644
--- a/lisp/ediff-diff.el
+++ b/lisp/ediff-diff.el
@@ -1346,5 +1346,4 @@ arguments to `skip-chars-forward'."
;;; End:
-;;; arch-tag: a86d448e-58d7-4572-a1d9-fdedfa22f648
;;; ediff-diff.el ends here
diff --git a/lisp/ediff-help.el b/lisp/ediff-help.el
index bdd92f5c12d..640b9e5ec2e 100644
--- a/lisp/ediff-help.el
+++ b/lisp/ediff-help.el
@@ -324,5 +324,4 @@ the value of this variable and the variables `ediff-help-message-*' in
(customize-group "ediff"))
-;;; arch-tag: 05659813-7fcf-4274-964f-d2f577431a9d
;;; ediff-help.el ends here
diff --git a/lisp/ediff-hook.el b/lisp/ediff-hook.el
index 7ea6f24d7bb..e8cf252f99b 100644
--- a/lisp/ediff-hook.el
+++ b/lisp/ediff-hook.el
@@ -370,5 +370,4 @@
(provide 'ediff-hook)
-;;; arch-tag: 512f8656-8a4b-4789-af5d-5c6144498df3
;;; ediff-hook.el ends here
diff --git a/lisp/ediff-init.el b/lisp/ediff-init.el
index 4f5786651f5..0ce7e4323ec 100644
--- a/lisp/ediff-init.el
+++ b/lisp/ediff-init.el
@@ -1762,5 +1762,4 @@ Unless optional argument INPLACE is non-nil, return a new string."
(provide 'ediff-init)
-;;; arch-tag: fa31d384-1e70-4d4b-82a7-3e96307c46f5
;;; ediff-init.el ends here
diff --git a/lisp/ediff-merg.el b/lisp/ediff-merg.el
index 237ce514cbb..e7f6de3e861 100644
--- a/lisp/ediff-merg.el
+++ b/lisp/ediff-merg.el
@@ -388,5 +388,4 @@ Combining is done according to the specifications in variable
;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body))
;;; End:
-;;; arch-tag: 9b798cf9-02ba-487f-a62e-b63aa823dbfb
;;; ediff-merg.el ends here
diff --git a/lisp/ediff-mult.el b/lisp/ediff-mult.el
index 536fdf4d47b..a89902e8d3d 100644
--- a/lisp/ediff-mult.el
+++ b/lisp/ediff-mult.el
@@ -2363,5 +2363,4 @@ last-command-char is used to decide which action to take."
;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body))
;;; End:
-;;; arch-tag: c8a76898-f96f-4d9c-be9d-129134017188
;;; ediff-mult.el ends here
diff --git a/lisp/ediff-ptch.el b/lisp/ediff-ptch.el
index 8b69bc686df..9590c9a181a 100644
--- a/lisp/ediff-ptch.el
+++ b/lisp/ediff-ptch.el
@@ -802,5 +802,4 @@ you can still examine the changes via M-x ediff-files"
;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body))
;;; End:
-;;; arch-tag: 2fe2161e-e116-469b-90fa-5cbb44c1bd1b
;;; ediff-ptch.el ends here
diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el
index c4f8ae52657..b551f056432 100644
--- a/lisp/ediff-util.el
+++ b/lisp/ediff-util.el
@@ -4286,5 +4286,4 @@ Mail anyway? (y or n) ")
;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body))
;;; End:
-;;; arch-tag: f51099b6-ef4b-470f-88a1-3a0e0b03a879
;;; ediff-util.el ends here
diff --git a/lisp/ediff-vers.el b/lisp/ediff-vers.el
index effce2a1adf..6438b4b380f 100644
--- a/lisp/ediff-vers.el
+++ b/lisp/ediff-vers.el
@@ -312,5 +312,4 @@
(provide 'ediff-vers)
-;;; arch-tag: bbb34f0c-2a90-426a-a77a-c75f479ebbbf
;;; ediff-vers.el ends here
diff --git a/lisp/ediff-wind.el b/lisp/ediff-wind.el
index dde306a3857..f2a0ccdd790 100644
--- a/lisp/ediff-wind.el
+++ b/lisp/ediff-wind.el
@@ -1318,5 +1318,4 @@ It assumes that it is called from within the control buffer."
;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body))
;;; End:
-;;; arch-tag: 73d9a5d7-eed7-4d9c-8b4b-21d5d78eb597
;;; ediff-wind.el ends here
diff --git a/lisp/ediff.el b/lisp/ediff.el
index 259bd657338..edc16265b02 100644
--- a/lisp/ediff.el
+++ b/lisp/ediff.el
@@ -1455,5 +1455,4 @@ With optional NODE, goes to that node."
(run-hooks 'ediff-load-hook)
-;;; arch-tag: 97c71396-db02-4f41-8b48-6a51c3348fcc
;;; ediff.el ends here
diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index 77ebc07f304..4ec62152db5 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -418,7 +418,7 @@ doubt, use whitespace."
(while (memq (aref rest-mac i) (cdr mdigs))
(incf i))
(and (not (memq (aref rest-mac i) pkeys))
- (prog1 (vconcat "M-" (edmacro-subseq rest-mac 0 i) " ")
+ (prog1 (concat "M-" (edmacro-subseq rest-mac 0 i) " ")
(callf edmacro-subseq rest-mac i)))))
(and (eq (aref rest-mac 0) ?\C-u)
(eq (key-binding [?\C-u]) 'universal-argument)
@@ -437,7 +437,7 @@ doubt, use whitespace."
'(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9))
(incf i))
(and (not (memq (aref rest-mac i) pkeys))
- (prog1 (vconcat "C-u " (edmacro-subseq rest-mac 1 i) " ")
+ (prog1 (concat "C-u " (edmacro-subseq rest-mac 1 i) " ")
(callf edmacro-subseq rest-mac i)))))))
(bind-len (apply 'max 1
(loop for map in maps
@@ -525,8 +525,7 @@ doubt, use whitespace."
(t
(error "Unrecognized item in macro: %s" ch)))))
(or fkey key) " "))))
- (if prefix
- (setq desc (concat (edmacro-sanitize-for-string prefix) desc)))
+ (if prefix (setq desc (concat prefix desc)))
(unless (string-match " " desc)
(let ((times 1) (pos bind-len))
(while (not (edmacro-mismatch rest-mac rest-mac
@@ -609,16 +608,6 @@ If START or END is negative, it counts from the end."
(setq i (1+ i) start (1+ start)))
res))))))
-(defun edmacro-sanitize-for-string (seq)
- "Convert a key sequence vector into a string.
-The string represents the same events; Meta is indicated by bit 7.
-This function assumes that the events can be stored in a string."
- (setq seq (copy-sequence seq))
- (loop for i below (length seq) do
- (when (< (aref seq i) 0)
- (setf (aref seq i) (logand (aref seq i) 127))))
- seq)
-
(defun edmacro-fix-menu-commands (macro &optional noerror)
(if (vectorp macro)
(let (result)
@@ -738,5 +727,4 @@ This function assumes that the events can be stored in a string."
(provide 'edmacro)
-;;; arch-tag: 726807b4-3ae6-49de-b0ae-b9590973e0d7
;;; edmacro.el ends here
diff --git a/lisp/ehelp.el b/lisp/ehelp.el
index 12ebbeb0c0d..51ba11d4c86 100644
--- a/lisp/ehelp.el
+++ b/lisp/ehelp.el
@@ -426,5 +426,4 @@ will select it.)"
(provide 'ehelp)
-;;; arch-tag: e0e3037f-42c0-433e-ba18-322c5d951f46
;;; ehelp.el ends here
diff --git a/lisp/electric.el b/lisp/electric.el
index 776a99035cc..87a151b4808 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -175,5 +175,4 @@
(provide 'electric)
-;;; arch-tag: dae045eb-dc2d-4fb7-9f27-9cc2ce277be8
;;; electric.el ends here
diff --git a/lisp/elide-head.el b/lisp/elide-head.el
index 8fc8e12a3fb..8a5f62d0e50 100644
--- a/lisp/elide-head.el
+++ b/lisp/elide-head.el
@@ -119,5 +119,4 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks."
(provide 'elide-head)
-;;; arch-tag: a00e6b5b-6aeb-45b1-b734-63e23df80928
;;; elide-head.el ends here
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 93ce7776d2f..bc047802720 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -3983,5 +3983,4 @@ Use only in REAL emergencies."
(provide 'advice)
-;;; arch-tag: 29f8c9a1-8c88-471f-95d7-e28541c6b7c0
;;; advice.el ends here
diff --git a/lisp/emacs-lisp/assoc.el b/lisp/emacs-lisp/assoc.el
index 42ce33ad7b7..997badc1732 100644
--- a/lisp/emacs-lisp/assoc.el
+++ b/lisp/emacs-lisp/assoc.el
@@ -137,5 +137,4 @@ extra values are ignored. Returns the created alist."
(provide 'assoc)
-;;; arch-tag: 3e58bd89-d912-4b74-a0dc-6ed9735922bc
;;; assoc.el ends here
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 671935ec7d0..325d3903e89 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -638,5 +638,4 @@ the Emacs source tree, from which to build the file."
(authors root)
(write-file file)))
-;;; arch-tag: 659d5900-5ff2-43b0-954c-a315cc1e4dc1
;;; authors.el ends here
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 43da3d09827..7aafeb3bebc 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -567,5 +567,4 @@ Calls `update-directory-autoloads' on the command line arguments."
(provide 'autoload)
-;;; arch-tag: 00244766-98f4-4767-bf42-8a22103441c6
;;; autoload.el ends here
diff --git a/lisp/emacs-lisp/backquote.el b/lisp/emacs-lisp/backquote.el
index 81e1a91f76c..eafa63d6e32 100644
--- a/lisp/emacs-lisp/backquote.el
+++ b/lisp/emacs-lisp/backquote.el
@@ -214,5 +214,4 @@ Vectors work just like lists. Nested backquotes are permitted."
tail))
(t (cons 'list heads)))))
-;;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a
;;; backquote.el ends here
diff --git a/lisp/emacs-lisp/benchmark.el b/lisp/emacs-lisp/benchmark.el
index acf9806c519..cc8a7bf96f6 100644
--- a/lisp/emacs-lisp/benchmark.el
+++ b/lisp/emacs-lisp/benchmark.el
@@ -114,6 +114,4 @@ non-interactive use see also `benchmark-run' and
(nth 2 result) (nth 1 result)))))
(provide 'benchmark)
-
-;;; arch-tag: be570e24-4b51-4784-adf3-fa2b56c31946
;;; benchmark.el ends here
diff --git a/lisp/emacs-lisp/bindat.el b/lisp/emacs-lisp/bindat.el
index d8b4b4f6c19..312d4b386b3 100644
--- a/lisp/emacs-lisp/bindat.el
+++ b/lisp/emacs-lisp/bindat.el
@@ -619,5 +619,4 @@ If optional second arg SEP is a string, use that as separator."
(provide 'bindat)
-;;; arch-tag: 5e6708c3-03e2-4ad7-9885-5041b779c3fb
;;; bindat.el ends here
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index a07eb64d737..c02e8b02dea 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -2025,5 +2025,4 @@
byte-optimize-lapcode))))
nil)
-;;; arch-tag: 0f14076b-737e-4bef-aae6-908826ec1ff1
;;; byte-opt.el ends here
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 15377c033d9..a28f89cd91a 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -169,5 +169,4 @@ The result of the body appears to the compiler as a quoted constant."
;; (file-format emacs19))"
;; nil)
-;;; arch-tag: 76f8328a-1f66-4df2-9b6d-5c3666dc05e9
;;; byte-run.el ends here
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 077c68523c2..43ce86921e8 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -10,7 +10,7 @@
;;; This version incorporates changes up to version 2.10 of the
;;; Zawinski-Furuseth compiler.
-(defconst byte-compile-version "$Revision: 2.136 $")
+(defconst byte-compile-version "$Revision: 2.134 $")
;; This file is part of GNU Emacs.
@@ -351,9 +351,6 @@ Elements of the list may be be:
(const callargs) (const redefine)
(const obsolete) (const noruntime) (const cl-functions))))
-(defvar byte-compile-not-obsolete-var nil
- "If non-nil, this is a variable that shouldn't be reported as obsolete.")
-
(defcustom byte-compile-generate-call-tree nil
"*Non-nil means collect call-graph information when compiling.
This records functions were called and from where.
@@ -985,7 +982,7 @@ Each function's symbol gets marked with the `byte-compile-noruntime' property."
;; Also log the current function and file if not already done.
(defun byte-compile-log-warning (string &optional fill level)
(let ((warning-prefix-function 'byte-compile-warning-prefix)
- (warning-type-format "")
+ (warning-group-format "")
(warning-fill-prefix (if fill " ")))
(display-warning 'bytecomp string level "*Compile-Log*")))
@@ -2708,8 +2705,7 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(if (symbolp var) "constant" "nonvariable")
(prin1-to-string var))
(if (and (get var 'byte-obsolete-variable)
- (memq 'obsolete byte-compile-warnings)
- (not (eq var byte-compile-not-obsolete-var)))
+ (memq 'obsolete byte-compile-warnings))
(let* ((ob (get var 'byte-obsolete-variable))
(when (cdr ob)))
(byte-compile-warn "%s is an obsolete variable%s; %s" var
@@ -3612,14 +3608,13 @@ If FORM is a lambda or a macro, byte-compile it as a function."
fun var string))
`(put ',var 'variable-documentation ,string))
(if (cddr form) ; `value' provided
- (let ((byte-compile-not-obsolete-var var))
- (if (eq fun 'defconst)
- ;; `defconst' sets `var' unconditionally.
- (let ((tmp (make-symbol "defconst-tmp-var")))
- `(funcall '(lambda (,tmp) (defconst ,var ,tmp))
- ,value))
- ;; `defvar' sets `var' only when unbound.
- `(if (not (default-boundp ',var)) (setq-default ,var ,value))))
+ (if (eq fun 'defconst)
+ ;; `defconst' sets `var' unconditionally.
+ (let ((tmp (make-symbol "defconst-tmp-var")))
+ `(funcall '(lambda (,tmp) (defconst ,var ,tmp))
+ ,value))
+ ;; `defvar' sets `var' only when unbound.
+ `(if (not (default-boundp ',var)) (setq-default ,var ,value)))
(when (eq fun 'defconst)
;; This will signal an appropriate error at runtime.
`(eval ',form)))
@@ -4039,5 +4034,4 @@ For example, invoke `emacs -batch -f batch-byte-recompile-directory .'."
(run-hooks 'bytecomp-load-hook)
-;;; arch-tag: 9c97b0f0-8745-4571-bfc3-8dceb677292a
;;; bytecomp.el ends here
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 05f0bb0977d..a5fb3cede5e 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -2696,5 +2696,4 @@ function called to create the messages."
(provide 'checkdoc)
-;;; arch-tag: c49a7ec8-3bb7-46f2-bfbc-d5f26e033b26
;;; checkdoc.el ends here
diff --git a/lisp/emacs-lisp/cl-compat.el b/lisp/emacs-lisp/cl-compat.el
index c3fbbe0993b..9afe4fe426a 100644
--- a/lisp/emacs-lisp/cl-compat.el
+++ b/lisp/emacs-lisp/cl-compat.el
@@ -185,5 +185,4 @@
(provide 'cl-compat)
-;;; arch-tag: 9996bb4f-aaf5-4592-b436-bf64759a3163
;;; cl-compat.el ends here
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
index bfd21e27d05..b0b8d3379f2 100644
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -749,5 +749,4 @@ This also does some trivial optimizations to make the form prettier."
(run-hooks 'cl-extra-load-hook)
-;;; arch-tag: bcd03437-0871-43fb-a8f1-ad0e0b5427ed
;;; cl-extra.el ends here
diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el
index 2e6265d4dfd..485a0522952 100644
--- a/lisp/emacs-lisp/cl-indent.el
+++ b/lisp/emacs-lisp/cl-indent.el
@@ -605,5 +605,4 @@ If nil, indent backquoted lists as data, i.e., like quoted lists."
;(put 'defclass 'common-lisp-indent-function '((&whole 2 &rest (&whole 2 &rest 1) &rest (&whole 2 &rest 1)))
;(put 'defgeneric 'common-lisp-indent-function 'defun)
-;;; arch-tag: 7914d50f-92ec-4476-93fc-0f043a380e03
;;; cl-indent.el ends here
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 038786bb944..ad757149509 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2657,5 +2657,4 @@ surrounded by (block NAME ...).
;;; byte-compile-warnings: (redefine callargs free-vars unresolved obsolete noruntime)
;;; End:
-;;; arch-tag: afd947a6-b553-4df1-bba5-000be6388f46
;;; cl-macs.el ends here
diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el
index 93237f0206f..8cb6412f774 100644
--- a/lisp/emacs-lisp/cl-seq.el
+++ b/lisp/emacs-lisp/cl-seq.el
@@ -903,5 +903,4 @@ Keywords supported: :test :test-not :key"
(run-hooks 'cl-seq-load-hook)
-;;; arch-tag: ec1cc072-9006-4225-b6ba-d6b07ed1710c
;;; cl-seq.el ends here
diff --git a/lisp/emacs-lisp/cl-specs.el b/lisp/emacs-lisp/cl-specs.el
index 10aade7dc75..077f006ec3b 100644
--- a/lisp/emacs-lisp/cl-specs.el
+++ b/lisp/emacs-lisp/cl-specs.el
@@ -7,7 +7,7 @@
;; LCD Archive Entry:
;; cl-specs.el|Daniel LaLiberte|liberte@holonexus.org
;; |Edebug specs for cl.el
-;; |$Date: 2003/06/16 16:27:27 $|1.1|
+;; |$Date: 2003/02/04 12:53:34 $|1.1|
;; This file is part of GNU Emacs.
@@ -470,5 +470,4 @@
(def-edebug-spec loop-d-type-spec
(&or (loop-d-type-spec . [&or nil loop-d-type-spec]) cl-type-spec))
-;;; arch-tag: b29aa3c2-cf67-4af8-9ee1-318fea61b478
;;; cl-specs.el ends here
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index dc56262272f..f2ced20e59e 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -695,5 +695,4 @@ Keywords supported: :test :test-not :key"
(run-hooks 'cl-load-hook)
-;;; arch-tag: 5f07fa74-f153-4524-9303-21f5be125851
;;; cl.el ends here
diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el
index fc0a5b74726..c2ad007e3a8 100644
--- a/lisp/emacs-lisp/copyright.el
+++ b/lisp/emacs-lisp/copyright.el
@@ -42,8 +42,11 @@ A value of nil means to search whole buffer."
:type '(choice (integer :tag "Limit")
(const :tag "No limit")))
-;; The character classes have the Latin-1 version and the Latin-9
-;; version, which is probably enough.
+;; Would it be cleaner to specify Latin-1 coding for this file,
+;; and not use both unibyte and multibyte copyright symbol characters?
+
+;; The character classes include the unibyte (C) sign,
+;; the Latin-1 version, and the Latin-9 version.
(defcustom copyright-regexp
"\\([©Ž©]\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *\\(?:(C)\\)?\
\\|[Cc]opyright\\s *:?\\s *[©Ž©]\\)\
@@ -191,5 +194,4 @@ version \\([0-9]+\\), or (at"
;; coding: emacs-mule
;; End:
-;;; arch-tag: b4991afb-b6b1-4590-bebe-e076d9d4aee8
;;; copyright.el ends here
diff --git a/lisp/emacs-lisp/crm.el b/lisp/emacs-lisp/crm.el
index 572c658d0fc..46293bf94f3 100644
--- a/lisp/emacs-lisp/crm.el
+++ b/lisp/emacs-lisp/crm.el
@@ -629,5 +629,4 @@ INHERIT-INPUT-METHOD."
(provide 'crm)
-;;; arch-tag: db1911d9-86c6-4a42-b32a-4910701b15a6
;;; crm.el ends here
diff --git a/lisp/emacs-lisp/cust-print.el b/lisp/emacs-lisp/cust-print.el
index 929989b618a..a8cf6acd177 100644
--- a/lisp/emacs-lisp/cust-print.el
+++ b/lisp/emacs-lisp/cust-print.el
@@ -688,5 +688,4 @@ See `custom-format' for the details."
(provide 'cust-print)
-;;; arch-tag: 3a5a8650-622c-48c4-87d8-e01bf72ec580
;;; cust-print.el ends here
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 6e10b596e23..10c4fd4f734 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -733,5 +733,4 @@ If argument is nil or an empty string, cancel for all functions."
(provide 'debug)
-;;; arch-tag: b6ec7047-f801-4103-9c63-d69322db9d3b
;;; debug.el ends here
diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el
index 811511a1f00..4aa85290801 100644
--- a/lisp/emacs-lisp/derived.el
+++ b/lisp/emacs-lisp/derived.el
@@ -437,5 +437,4 @@ Where the new table already has an entry, nothing is copied from the old one."
(provide 'derived)
-;;; arch-tag: 630be248-47d1-4f02-afa0-8207de0ebea0
;;; derived.el ends here
diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el
index d8890bd0239..6b7f9bc1b3e 100644
--- a/lisp/emacs-lisp/disass.el
+++ b/lisp/emacs-lisp/disass.el
@@ -265,5 +265,4 @@ OBJ should be a call to BYTE-CODE generated by the byte compiler."
(provide 'disass)
-;;; arch-tag: 89482fe4-a087-4761-8dc6-d771054e763a
;;; disass.el ends here
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 9d73a8cdac8..9175f692aae 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -464,5 +464,4 @@ ENDFUN should return the end position (with or without moving point)."
(provide 'easy-mmode)
-;;; arch-tag: d48a5250-6961-4528-9cb0-3c9ea042a66a
;;; easy-mmode.el ends here
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el
index a5b35a7d018..2bed70866a1 100644
--- a/lisp/emacs-lisp/easymenu.el
+++ b/lisp/emacs-lisp/easymenu.el
@@ -620,5 +620,4 @@ In some cases we use that to select between the local and global maps."
(provide 'easymenu)
-;;; arch-tag: 2a04020d-90d2-476d-a7c6-71e072007a4a
;;; easymenu.el ends here
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 41b473f6d3f..8fd8bf95ea9 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -4415,5 +4415,4 @@ With prefix argument, make it a temporary breakpoint."
(provide 'edebug)
-;;; arch-tag: 19c8d05c-4554-426e-ac72-e0fa1fcb0808
;;; edebug.el ends here
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index b5f37487ac5..cbcd5b2a555 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -7,7 +7,7 @@
;; Keywords: extensions
;; Created: 1995-10-06
-;; $Id: eldoc.el,v 1.25 2003/05/06 17:36:16 lektu Exp $
+;; $Id: eldoc.el,v 1.24 2003/02/11 00:11:55 monnier Exp $
;; This file is part of GNU Emacs.
@@ -451,5 +451,4 @@ With prefix ARG, turn ElDoc mode on if and only if ARG is positive."
(provide 'eldoc)
-;;; arch-tag: c9a58f9d-2055-46c1-9b82-7248b71a8375
;;; eldoc.el ends here
diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el
index 75ca3122773..502094fd376 100644
--- a/lisp/emacs-lisp/elint.el
+++ b/lisp/emacs-lisp/elint.el
@@ -801,5 +801,4 @@ If no documentation could be found args will be `unknown'."
(provide 'elint)
-;;; arch-tag: b2f061e2-af84-4ddc-8e39-f5e969ac228f
;;; elint.el ends here
diff --git a/lisp/emacs-lisp/elp.el b/lisp/emacs-lisp/elp.el
index 44400dcaa2c..01544e3aa14 100644
--- a/lisp/emacs-lisp/elp.el
+++ b/lisp/emacs-lisp/elp.el
@@ -603,5 +603,4 @@ displayed."
(provide 'elp)
-;;; arch-tag: c4eef311-9b3e-4bb2-8a54-3485d41b4eb1
;;; elp.el ends here
diff --git a/lisp/emacs-lisp/ewoc.el b/lisp/emacs-lisp/ewoc.el
index a0c2e3c0d70..7194d4e54d4 100644
--- a/lisp/emacs-lisp/ewoc.el
+++ b/lisp/emacs-lisp/ewoc.el
@@ -609,5 +609,4 @@ Returns nil if the buffer has been deleted."
;;; eval: (put 'ewoc--set-buffer-bind-dll-let* 'lisp-indent-hook 2)
;;; End:
-;;; arch-tag: d78915b9-9a07-44bf-aac6-04a1fc1bd6d4
;;; ewoc.el ends here
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 5a7cd1093c4..c4ae7f12b38 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -403,5 +403,4 @@ Point is saved if FUNCTION is in the current buffer."
(provide 'find-func)
-;;; arch-tag: 43ecd81c-74dc-4d9a-8f63-a61e55670d64
;;; find-func.el ends here
diff --git a/lisp/emacs-lisp/find-gc.el b/lisp/emacs-lisp/find-gc.el
index 1c127295216..a52ae3631fd 100644
--- a/lisp/emacs-lisp/find-gc.el
+++ b/lisp/emacs-lisp/find-gc.el
@@ -151,5 +151,4 @@
(provide 'find-gc)
-;;; arch-tag: 4a26a538-a008-40d9-a1ef-23bb6dbecef4
;;; find-gc.el ends here
diff --git a/lisp/emacs-lisp/float-sup.el b/lisp/emacs-lisp/float-sup.el
index ce5d6124ad7..4c45112e980 100644
--- a/lisp/emacs-lisp/float-sup.el
+++ b/lisp/emacs-lisp/float-sup.el
@@ -60,5 +60,4 @@
(provide 'lisp-float-type)
-;;; arch-tag: e7837072-a4af-4d08-9953-8a3e755abf9d
;;; float-sup.el ends here
diff --git a/lisp/emacs-lisp/gulp.el b/lisp/emacs-lisp/gulp.el
index 589be6fb771..a176a7ac013 100644
--- a/lisp/emacs-lisp/gulp.el
+++ b/lisp/emacs-lisp/gulp.el
@@ -173,5 +173,4 @@ That is a list of elements, each of the form (MAINTAINER PACKAGES...)."
(provide 'gulp)
-;;; arch-tag: 42750a11-460a-4efc-829f-342d075530e5
;;; gulp.el ends here
diff --git a/lisp/emacs-lisp/helper.el b/lisp/emacs-lisp/helper.el
index 9d22735e1d0..0e02f05955f 100644
--- a/lisp/emacs-lisp/helper.el
+++ b/lisp/emacs-lisp/helper.el
@@ -157,5 +157,4 @@
(provide 'helper)
-;;; arch-tag: a0984577-d3e9-4124-ae0d-c46fe740f6a9
;;; helper.el ends here
diff --git a/lisp/emacs-lisp/levents.el b/lisp/emacs-lisp/levents.el
index cd3fe2764c2..13d13beb998 100644
--- a/lisp/emacs-lisp/levents.el
+++ b/lisp/emacs-lisp/levents.el
@@ -290,5 +290,4 @@ GNU Emacs 19 does not currently generate process-output events."
(provide 'levents)
-;;; arch-tag: a80c21da-69d7-46de-9cdb-5f68577b5525
;;; levents.el ends here
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el
index d8593442620..18967677b38 100644
--- a/lisp/emacs-lisp/lisp-mnt.el
+++ b/lisp/emacs-lisp/lisp-mnt.el
@@ -607,5 +607,4 @@ Prompts for bug subject TOPIC. Leaves you in a mail buffer."
(provide 'lisp-mnt)
-;;; arch-tag: fa3c5ab4-a37b-4e46-b7cf-b6d78b90e69e
;;; lisp-mnt.el ends here
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 04d00a2bdb5..fa9661f54a5 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -358,9 +358,6 @@ if that value is non-nil."
(set-syntax-table lisp-mode-syntax-table)
(run-mode-hooks 'lisp-mode-hook))
-;; Used in old LispM code.
-(defalias 'common-lisp-mode 'lisp-mode)
-
;; This will do unless inf-lisp.el is loaded.
(defun lisp-eval-defun (&optional and-go)
"Send the current defun to the Lisp process made by \\[run-lisp]."
@@ -515,30 +512,27 @@ With argument, print output into current buffer."
expr
'args)))))
expr)))))))
- (eval-last-sexp-print-value value))))
-
-(defun eval-last-sexp-print-value (value)
- (let ((unabbreviated (let ((print-length nil) (print-level nil))
- (prin1-to-string value)))
- (print-length eval-expression-print-length)
- (print-level eval-expression-print-level)
- (char-string (prin1-char value))
- (beg (point))
- end)
- (prog1
- (prin1 value)
- (if (and (eq standard-output t) char-string)
- (princ (concat " = " char-string)))
- (setq end (point))
- (when (and (bufferp standard-output)
- (or (not (null print-length))
- (not (null print-level)))
- (not (string= unabbreviated
- (buffer-substring-no-properties beg end))))
- (last-sexp-setup-props beg end value
- unabbreviated
- (buffer-substring-no-properties beg end))
- ))))
+ (let ((unabbreviated (let ((print-length nil) (print-level nil))
+ (prin1-to-string value)))
+ (print-length eval-expression-print-length)
+ (print-level eval-expression-print-level)
+ (char-string (prin1-char value))
+ (beg (point))
+ end)
+ (prog1
+ (prin1 value)
+ (if (and (eq standard-output t) char-string)
+ (princ (concat " = " char-string)))
+ (setq end (point))
+ (when (and (bufferp standard-output)
+ (or (not (null print-length))
+ (not (null print-level)))
+ (not (string= unabbreviated
+ (buffer-substring-no-properties beg end))))
+ (last-sexp-setup-props beg end value
+ unabbreviated
+ (buffer-substring-no-properties beg end))
+ ))))))
(defun eval-last-sexp (eval-last-sexp-arg-internal)
@@ -1173,5 +1167,4 @@ means don't indent that line."
(provide 'lisp-mode)
-;;; arch-tag: 414c7f93-c245-4b77-8ed5-ed05ef7ff1bf
;;; lisp-mode.el ends here
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 7f059d3f99f..c6ec7cf5b9e 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -157,9 +157,8 @@ normal recipe (see `beginning-of-defun'). Major modes can define this
if defining `defun-prompt-regexp' is not sufficient to handle the mode's
needs.
-The function (of no args) should go to the line on which the current
-defun starts, and return non-nil, or should return nil if it can't
-find the beginning.")
+The function should go to the line on which the current defun starts,
+and return non-nil, or should return nil if it can't find the beginning.")
(defun beginning-of-defun (&optional arg)
"Move backward to the beginning of a defun.
@@ -446,5 +445,4 @@ considered."
(display-completion-list list)))
(message "Making completion list...%s" "done")))))))
-;;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e
;;; lisp.el ends here
diff --git a/lisp/emacs-lisp/lmenu.el b/lisp/emacs-lisp/lmenu.el
index ab29ed972fc..b97b3577edb 100644
--- a/lisp/emacs-lisp/lmenu.el
+++ b/lisp/emacs-lisp/lmenu.el
@@ -436,5 +436,4 @@ BEFORE, if provided, is the name of a menu before which this menu should
(provide 'lmenu)
-;;; arch-tag: 7051c396-2837-435a-ae11-b2d2e2af8fc1
;;; lmenu.el ends here
diff --git a/lisp/emacs-lisp/lselect.el b/lisp/emacs-lisp/lselect.el
index b292eefbaec..693e6474f0a 100644
--- a/lisp/emacs-lisp/lselect.el
+++ b/lisp/emacs-lisp/lselect.el
@@ -232,5 +232,4 @@ the kill ring or the Clipboard."
(provide 'lselect)
-;;; arch-tag: 92fa54d4-c5d1-4e9b-ad58-cf1e13930556
;;; lselect.el ends here
diff --git a/lisp/emacs-lisp/lucid.el b/lisp/emacs-lisp/lucid.el
index 80e5ef330d3..d039fcea9ca 100644
--- a/lisp/emacs-lisp/lucid.el
+++ b/lisp/emacs-lisp/lucid.el
@@ -263,5 +263,4 @@ This is an XEmacs compatibility function."
(provide 'lucid)
-;;; arch-tag: 80f9ab46-0b36-4151-86ed-3edb6d449c9e
;;; lucid.el ends here
diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el
index 1f493e746fe..2fa97f163d7 100644
--- a/lisp/emacs-lisp/map-ynp.el
+++ b/lisp/emacs-lisp/map-ynp.el
@@ -261,5 +261,4 @@ the current %s and exit."
;; Return the number of actions that were taken.
actions))
-;;; arch-tag: 1d0a3201-a151-4c10-b231-4da47c9e6dc3
;;; map-ynp.el ends here
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el
index 85ec7dbae78..2e54f224a47 100644
--- a/lisp/emacs-lisp/pp.el
+++ b/lisp/emacs-lisp/pp.el
@@ -167,5 +167,4 @@ Ignores leading comment characters."
(provide 'pp) ; so (require 'pp) works
-;;; arch-tag: b0f7c65b-02c7-42bb-9ee3-508a59b8fbb9
;;; pp.el ends here
diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el
index 9c904e6c0bc..8740a68911f 100644
--- a/lisp/emacs-lisp/re-builder.el
+++ b/lisp/emacs-lisp/re-builder.el
@@ -682,5 +682,4 @@ If SUBEXP is non-nil mark only the corresponding sub-expressions."
(provide 're-builder)
-;;; arch-tag: 5c5515ac-4085-4524-a421-033f44f032e7
;;; re-builder.el ends here
diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el
index f24789eb4a1..11a66aa2a14 100644
--- a/lisp/emacs-lisp/regexp-opt.el
+++ b/lisp/emacs-lisp/regexp-opt.el
@@ -299,5 +299,4 @@ in REGEXP."
(provide 'regexp-opt)
-;;; arch-tag: 6c5a66f4-29af-4fd6-8c3b-4b554d5b4370
;;; regexp-opt.el ends here
diff --git a/lisp/emacs-lisp/regi.el b/lisp/emacs-lisp/regi.el
index ae9151585fe..c0cae5b5771 100644
--- a/lisp/emacs-lisp/regi.el
+++ b/lisp/emacs-lisp/regi.el
@@ -255,5 +255,4 @@ useful information:
(provide 'regi)
-;;; arch-tag: 804b4e45-4109-4f76-9a88-21887b881747
;;; regi.el ends here
diff --git a/lisp/emacs-lisp/ring.el b/lisp/emacs-lisp/ring.el
index fce07953ba9..6891619c20e 100644
--- a/lisp/emacs-lisp/ring.el
+++ b/lisp/emacs-lisp/ring.el
@@ -162,5 +162,4 @@ will be performed."
(provide 'ring)
-;;; arch-tag: e707682b-ed69-47c9-b20f-cf2c68cc92d2
;;; ring.el ends here
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index 8e38aed10d2..3ac3538822d 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -791,5 +791,4 @@ CHAR
(provide 'rx)
-;;; arch-tag: 12d01a63-0008-42bb-ab8c-1c7d63be370b
;;; rx.el ends here
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index 571ee7ee1c9..82230b1d2ec 100644
--- a/lisp/emacs-lisp/shadow.el
+++ b/lisp/emacs-lisp/shadow.el
@@ -257,5 +257,4 @@ version unless you know what you are doing.\n")
(provide 'shadow)
-;;; arch-tag: 0480e8a7-62ed-4a12-a9f6-f44ded9b0830
;;; shadow.el ends here
diff --git a/lisp/emacs-lisp/sregex.el b/lisp/emacs-lisp/sregex.el
index 3f7aaa16bce..1200e7b3c30 100644
--- a/lisp/emacs-lisp/sregex.el
+++ b/lisp/emacs-lisp/sregex.el
@@ -605,5 +605,4 @@ has one of the following forms:
(provide 'sregex)
-;;; arch-tag: 460c1f5a-eb6e-42ec-a451-ffac78bdf492
;;; sregex.el ends here
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index 793306adda5..7bd8378ab86 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -289,6 +289,4 @@ Point is at POS when this function returns."
;; (syntax-ppss-depth (syntax-ppss))))
(provide 'syntax)
-
-;;; arch-tag: 302f1eeb-e77c-4680-a8c5-c543e01161a5
;;; syntax.el ends here
diff --git a/lisp/emacs-lisp/testcover-ses.el b/lisp/emacs-lisp/testcover-ses.el
deleted file mode 100644
index 48ec9fa64da..00000000000
--- a/lisp/emacs-lisp/testcover-ses.el
+++ /dev/null
@@ -1,712 +0,0 @@
-;;;; testcover-ses.el -- Example use of `testcover' to test "SES"
-
-;; Copyright (C) 2002 Free Software Foundation, Inc.
-
-;; Author: Jonathan Yavner <jyavner@engineer.com>
-;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
-;; Keywords: spreadsheet lisp utility
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-(require 'testcover)
-
-;;;Here are some macros that exercise SES. Set `pause' to t if you want the
-;;;macros to pause after each step.
-(let* ((pause nil)
- (x (if pause "q" ""))
- (y "ses-test.ses\r<"))
- ;;Fiddle with the existing spreadsheet
- (fset 'ses-exercise-example
- (concat "" data-directory "ses-example.ses\r<"
- x "10"
- x " "
- x ""
- x "pses-center\r"
- x "p\r"
- x "\t\t"
- x "\r A9 B9\r"
- x ""
- x "\r 2\r"
- x ""
- x "50\r"
- x "4"
- x " "
- x ""
- x "(+ o\0"
- x "-1o \r"
- x ""
- x))
- ;;Create a new spreadsheet
- (fset 'ses-exercise-new
- (concat y
- x "\"%.8g\"\r"
- x "2\r"
- x ""
- x ""
- x "2"
- x "\"Header\r"
- x "(sqrt 1\r"
- x "pses-center\r"
- x "\t"
- x "(+ A2 A3\r"
- x "(* B2 A3\r"
- x "2"
- x "\rB3\r"
- x ""
- x))
- ;;Basic cell display
- (fset 'ses-exercise-display
- (concat y ":(revert-buffer t t)\r"
- x ""
- x "\"Very long\r"
- x "w3\r"
- x "w3\r"
- x "(/ 1 0\r"
- x "234567\r"
- x "5w"
- x "\t1\r"
- x ""
- x "234567\r"
- x "\t"
- x ""
- x "345678\r"
- x "3w"
- x "\0>"
- x ""
- x ""
- x ""
- x ""
- x ""
- x ""
- x ""
- x "1\r"
- x ""
- x ""
- x "\"1234567-1234567-1234567\r"
- x "123\r"
- x "2"
- x "\"1234567-1234567-1234567\r"
- x "123\r"
- x "w8\r"
- x "\"1234567\r"
- x "w5\r"
- x))
- ;;Cell formulas
- (fset 'ses-exercise-formulas
- (concat y ":(revert-buffer t t)\r"
- x "\t\t"
- x "\t"
- x "(* B1 B2 D1\r"
- x "(* B2 B3\r"
- x "(apply '+ (ses-range B1 B3)\r"
- x "(apply 'ses+ (ses-range B1 B3)\r"
- x "(apply 'ses+ (ses-range A2 A3)\r"
- x "(mapconcat'number-to-string(ses-range B2 B4) \"-\"\r"
- x "(apply 'concat (reverse (ses-range A3 D3))\r"
- x "(* (+ A2 A3) (ses+ B2 B3)\r"
- x ""
- x "2"
- x "5\t"
- x "(apply 'ses+ (ses-range E1 E2)\r"
- x "(apply 'ses+ (ses-range A5 B5)\r"
- x "(apply 'ses+ (ses-range E1 F1)\r"
- x "(apply 'ses+ (ses-range D1 E1)\r"
- x "\t"
- x "(ses-average (ses-range A2 A5)\r"
- x "(apply 'ses+ (ses-range A5 A6)\r"
- x "k"
- x " "
- x ""
- x "2"
- x "3 "
- x "o"
- x "2o"
- x "3k"
- x "(ses-average (ses-range B3 E3)\r"
- x "k"
- x "12345678\r"
- x))
- ;;Recalculating and reconstructing
- (fset 'ses-exercise-recalc
- (concat y ":(revert-buffer t t)\r"
- x " "
- x "\t\t"
- x ""
- x "(/ 1 0\r"
- x ""
- x "\n"
- x ""
- x "\"%.6g\"\r"
- x " "
- x ">nw"
- x "\0>xdelete-region\r"
- x " "
- x "8"
- x "\0>xdelete-region\r"
- x " "
- x ""
- x " k"
- x " "
- x "\"Very long\r"
- x ""
- x "\r\r"
- x ""
- x "o"
- x ""
- x "\"Very long2\r"
- x "o"
- x ""
- x "\rC3\r"
- x "\rC2\r"
- x "\0"
- x "\rC4\r"
- x "\rC2\r"
- x "\0"
- x ""
- x "xses-mode\r"
- x "<"
- x "2k"
- x))
- ;;Header line
- (fset 'ses-exercise-header-row
- (concat y ":(revert-buffer t t)\r"
- x "<"
- x ">"
- x "6<"
- x ">"
- x "7<"
- x ">"
- x "8<"
- x "2<"
- x ">"
- x "3w"
- x "10<"
- x ">"
- x "2 "
- x))
- ;;Detecting unsafe formulas and printers
- (fset 'ses-exercise-unsafe
- (concat y ":(revert-buffer t t)\r"
- x "p(lambda (x) (delete-file x))\rn"
- x "p(lambda (x) (delete-file \"ses-nothing\"))\ry"
- x "\0n"
- x "(delete-file \"x\"\rn"
- x "(delete-file \"ses-nothing\"\ry"
- x "\0n"
- x "(open-network-stream \"x\" nil \"localhost\" \"smtp\"\ry"
- x "\0n"
- x))
- ;;Inserting and deleting rows
- (fset 'ses-exercise-rows
- (concat y ":(revert-buffer t t)\r"
- x ""
- x "\"%s=\"\r"
- x "20"
- x "p\"%s+\"\r"
- x ""
- x "123456789\r"
- x "\021"
- x ""
- x " "
- x "(not B25\r"
- x "k"
- x "jA3\r"
- x "19 "
- x " "
- x "100" ;Make this approx your CPU speed in MHz
- x))
- ;;Inserting and deleting columns
- (fset 'ses-exercise-columns
- (concat y ":(revert-buffer t t)\r"
- x "\"%s@\"\r"
- x "o"
- x ""
- x "o"
- x " "
- x "k"
- x "w8\r"
- x "p\"%.7s*\"\r"
- x "o"
- x ""
- x "2o"
- x "3k"
- x "\"%.6g\"\r"
- x "26o"
- x "\026\t"
- x "26o"
- x "0\r"
- x "26\t"
- x "400"
- x "50k"
- x "\0D"
- x))
- (fset 'ses-exercise-editing
- (concat y ":(revert-buffer t t)\r"
- x "1\r"
- x "('x\r"
- x ""
- x ""
- x "\r\r"
- x "w9\r"
- x "\r.5\r"
- x "\r 10\r"
- x "w12\r"
- x "\r'\r"
- x "\r\r"
- x "jA4\r"
- x "(+ A2 100\r"
- x "3\r"
- x "jB1\r"
- x "(not A1\r"
- x "\"Very long\r"
- x ""
- x "h"
- x "H"
- x ""
- x ">\t"
- x ""
- x ""
- x "2"
- x ""
- x "o"
- x "h"
- x "\0"
- x "\"Also very long\r"
- x "H"
- x "\0'\r"
- x "'Trial\r"
- x "'qwerty\r"
- x "(concat o<\0"
- x "-1o\r"
- x "(apply '+ o<\0-1o\r"
- x "2"
- x "-2"
- x "-2"
- x "2"
- x " "
- x "H"
- x "\0"
- x "\"Another long one\r"
- x "H"
- x ""
- x "<"
- x ""
- x ">"
- x "\0"
- x))
- ;;Sorting of columns
- (fset 'ses-exercise-sort-column
- (concat y ":(revert-buffer t t)\r"
- x "\"Very long\r"
- x "99\r"
- x "o13\r"
- x "(+ A3 B3\r"
- x "7\r8\r(* A4 B4\r"
- x "\0A\r"
- x "\0B\r"
- x "\0C\r"
- x "o"
- x "\0C\r"
- x))
- ;;Simple cell printers
- (fset 'ses-exercise-cell-printers
- (concat y ":(revert-buffer t t)\r"
- x "\"4\t76\r"
- x "\"4\n7\r"
- x "p\"{%S}\"\r"
- x "p(\"[%s]\")\r"
- x "p(\"<%s>\")\r"
- x "\0"
- x "p\r"
- x "pnil\r"
- x "pses-dashfill\r"
- x "48\r"
- x "\t"
- x "\0p\r"
- x "p\r"
- x "pses-dashfill\r"
- x "\0pnil\r"
- x "5\r"
- x "pses-center\r"
- x "\"%s\"\r"
- x "w8\r"
- x "p\r"
- x "p\"%.7g@\"\r"
- x "\r"
- x "\"%.6g#\"\r"
- x "\"%.6g.\"\r"
- x "\"%.6g.\"\r"
- x "pidentity\r"
- x "6\r"
- x "\"UPCASE\r"
- x "pdowncase\r"
- x "(* 3 4\r"
- x "p(lambda (x) '(\"Hi\"))\r"
- x "p(lambda (x) '(\"Bye\"))\r"
- x))
- ;;Spanning cell printers
- (fset 'ses-exercise-spanning-printers
- (concat y ":(revert-buffer t t)\r"
- x "p\"%.6g*\"\r"
- x "pses-dashfill-span\r"
- x "5\r"
- x "pses-tildefill-span\r"
- x "\"4\r"
- x "p\"$%s\"\r"
- x "p(\"$%s\")\r"
- x "8\r"
- x "p(\"!%s!\")\r"
- x "\t\"12345678\r"
- x "pses-dashfill-span\r"
- x "\"23456789\r"
- x "\t"
- x "(not t\r"
- x "w6\r"
- x "\"5\r"
- x "o"
- x "k"
- x "k"
- x "\t"
- x ""
- x "o"
- x "2k"
- x "k"
- x))
- ;;Cut/copy/paste - within same buffer
- (fset 'ses-exercise-paste-1buf
- (concat y ":(revert-buffer t t)\r"
- x "\0w"
- x ""
- x "o"
- x "\"middle\r"
- x "\0"
- x "w"
- x "\0"
- x "w"
- x ""
- x ""
- x "2y"
- x "y"
- x "y"
- x ">"
- x "y"
- x ">y"
- x "<"
- x "p\"<%s>\"\r"
- x "pses-dashfill\r"
- x "\0"
- x ""
- x ""
- x "y"
- x "\r\0w"
- x "\r"
- x "3(+ G2 H1\r"
- x "\0w"
- x ">"
- x ""
- x "8(ses-average (ses-range G2 H2)\r"
- x "\0k"
- x "7"
- x ""
- x "(ses-average (ses-range E7 E9)\r"
- x "\0 "
- x ""
- x "(ses-average (ses-range E7 F7)\r"
- x "\0k"
- x ""
- x "(ses-average (ses-range D6 E6)\r"
- x "\0k"
- x ""
- x "2"
- x "\"Line A\r"
- x "pses-tildefill-span\r"
- x "\"Subline A(1)\r"
- x "pses-dashfill-span\r"
- x "\0w"
- x ""
- x ""
- x "\0w"
- x ""
- x))
- ;;Cut/copy/paste - between two buffers
- (fset 'ses-exercise-paste-2buf
- (concat y ":(revert-buffer t t)\r"
- x "o\"middle\r\0"
- x ""
- x "4bses-test.txt\r"
- x " "
- x "\"xxx\0"
- x "wo"
- x ""
- x ""
- x "o\"\0"
- x "wo"
- x "o123.45\0"
- x "o"
- x "o1 \0"
- x "o"
- x ">y"
- x "o symb\0"
- x "oy2y"
- x "o1\t\0"
- x "o"
- x "w9\np\"<%s>\"\n"
- x "o\n2\t\"3\nxxx\t5\n\0"
- x "oy"
- x))
- ;;Export text, import it back
- (fset 'ses-exercise-import-export
- (concat y ":(revert-buffer t t)\r"
- x "\0xt"
- x "4bses-test.txt\r"
- x "\n-1o"
- x "xTo-1o"
- x "'crunch\r"
- x "pses-center-span\r"
- x "\0xT"
- x "o\n-1o"
- x "\0y"
- x "\0xt"
- x "\0y"
- x "12345678\r"
- x "'bunch\r"
- x "\0xtxT"
- x)))
-
-(defun ses-exercise-macros ()
- "Executes all SES coverage-test macros."
- (dolist (x '(ses-exercise-example
- ses-exercise-new
- ses-exercise-display
- ses-exercise-formulas
- ses-exercise-recalc
- ses-exercise-header-row
- ses-exercise-unsafe
- ses-exercise-rows
- ses-exercise-columns
- ses-exercise-editing
- ses-exercise-sort-column
- ses-exercise-cell-printers
- ses-exercise-spanning-printers
- ses-exercise-paste-1buf
- ses-exercise-paste-2buf
- ses-exercise-import-export))
- (message "<Testing %s>" x)
- (execute-kbd-macro x)))
-
-(defun ses-exercise-signals ()
- "Exercise code paths that lead to error signals, other than those for
-spreadsheet files with invalid formatting."
- (message "<Checking for expected errors>")
- (switch-to-buffer "ses-test.ses")
- (deactivate-mark)
- (ses-jump 'A1)
- (ses-set-curcell)
- (dolist (x '((ses-column-widths 14)
- (ses-column-printers "%s")
- (ses-column-printers ["%s" "%s" "%s"]) ;Should be two
- (ses-column-widths [14])
- (ses-delete-column -99)
- (ses-delete-column 2)
- (ses-delete-row -1)
- (ses-goto-data 'hogwash)
- (ses-header-row -56)
- (ses-header-row 99)
- (ses-insert-column -14)
- (ses-insert-row 0)
- (ses-jump 'B8) ;Covered by preceding cell
- (ses-printer-validate '("%s" t))
- (ses-printer-validate '([47]))
- (ses-read-header-row -1)
- (ses-read-header-row 32767)
- (ses-relocate-all 0 0 -1 1)
- (ses-relocate-all 0 0 1 -1)
- (ses-select (ses-range A1 A2) 'x (ses-range B1 B1))
- (ses-set-cell 0 0 'hogwash nil)
- (ses-set-column-width 0 0)
- (ses-yank-cells #("a\nb"
- 0 1 (ses (A1 nil nil))
- 2 3 (ses (A3 nil nil)))
- nil)
- (ses-yank-cells #("ab"
- 0 1 (ses (A1 nil nil))
- 1 2 (ses (A2 nil nil)))
- nil)
- (ses-yank-pop nil)
- (ses-yank-tsf "1\t2\n3" nil)
- (let ((curcell nil)) (ses-check-curcell))
- (let ((curcell 'A1)) (ses-check-curcell 'needrange))
- (let ((curcell '(A1 . A2))) (ses-check-curcell 'end))
- (let ((curcell '(A1 . A2))) (ses-sort-column "B"))
- (let ((curcell '(C1 . D2))) (ses-sort-column "B"))
- (execute-kbd-macro "jB10\n2")
- (execute-kbd-macro [?j ?B ?9 ?\n ?\C-@ ?\C-f ?\C-f cut])
- (progn (kill-new "x") (execute-kbd-macro ">n"))
- (execute-kbd-macro "\0w")))
- (condition-case nil
- (progn
- (eval x)
- (signal 'singularity-error nil)) ;Shouldn't get here
- (singularity-error (error "No error from %s?" x))
- (error nil)))
- ;;Test quit-handling in ses-update-cells. Cant' use `eval' here.
- (let ((inhibit-quit t))
- (setq quit-flag t)
- (condition-case nil
- (progn
- (ses-update-cells '(A1))
- (signal 'singularity-error nil))
- (singularity-error (error "Quit failure in ses-update-cells"))
- (error nil))
- (setq quit-flag nil)))
-
-(defun ses-exercise-invalid-spreadsheets ()
- "Execute code paths that detect invalid spreadsheet files."
- ;;Detect invalid spreadsheets
- (let ((p&d "\n\n \n(ses-cell A1 nil nil nil nil)\n\n")
- (cw "(ses-column-widths [7])\n")
- (cp "(ses-column-printers [ses-center])\n")
- (dp "(ses-default-printer \"%.7g\")\n")
- (hr "(ses-header-row 0)\n")
- (p11 "(2 1 1)")
- (igp ses-initial-global-parameters))
- (dolist (x (list "(1)"
- "(x 2 3)"
- "(1 x 3)"
- "(1 -1 0)"
- "(1 2 x)"
- "(1 2 -1)"
- "(3 1 1)"
- "\n\n (2 1 1)"
- "\n\n \n(ses-cell)(2 1 1)"
- "\n\n \n(x)\n(2 1 1)"
- "\n\n\n \n(ses-cell A2)\n(2 2 2)"
- "\n\n\n \n(ses-cell B1)\n(2 2 2)"
- "\n\n \n(ses-cell A1 nil nil nil nil)\n(2 1 1)"
- (concat p&d "(x)\n(x)\n(x)\n(x)\n" p11)
- (concat p&d "(ses-column-widths)(x)\n(x)\n(x)\n" p11)
- (concat p&d cw "(x)\n(x)\n(x)\n(2 1 1)")
- (concat p&d cw "(ses-column-printers)(x)\n(x)\n" p11)
- (concat p&d cw cp "(x)\n(x)\n" p11)
- (concat p&d cw cp "(ses-default-printer)(x)\n" p11)
- (concat p&d cw cp dp "(x)\n" p11)
- (concat p&d cw cp dp "(ses-header-row)" p11)
- (concat p&d cw cp dp hr p11)
- (concat p&d cw cp dp "\n" hr igp)))
- (condition-case nil
- (with-temp-buffer
- (insert x)
- (ses-load)
- (signal 'singularity-error nil)) ;Shouldn't get here
- (singularity-error (error "%S is an invalid spreadsheet!" x))
- (error nil)))))
-
-(defun ses-exercise-startup ()
- "Prepare for coverage tests"
- ;;Clean up from any previous runs
- (condition-case nil (kill-buffer "ses-example.ses") (error nil))
- (condition-case nil (kill-buffer "ses-test.ses") (error nil))
- (condition-case nil (delete-file "ses-test.ses") (file-error nil))
- (delete-other-windows) ;Needed for "\C-xo" in ses-exercise-editing
- (setq ses-mode-map nil) ;Force rebuild
- (testcover-unmark-all "ses.el")
- ;;Enable
- (let ((testcover-1value-functions
- ;;forward-line always returns 0, for us.
- ;;remove-text-properties always returns t for us.
- ;;ses-recalculate-cell returns the same " " any time curcell is a cons
- ;;Macros ses-dorange and ses-dotimes-msg generate code that always
- ;; returns nil
- (append '(forward-line remove-text-properties ses-recalculate-cell
- ses-dorange ses-dotimes-msg)
- testcover-1value-functions))
- (testcover-constants
- ;;These maps get initialized, then never changed again
- (append '(ses-mode-map ses-mode-print-map ses-mode-edit-map)
- testcover-constants)))
- (testcover-start "ses.el" t))
- (require 'unsafep)) ;In case user has safe-functions = t!
-
-
-;;;#########################################################################
-(defun ses-exercise ()
- "Executes all SES coverage tests and displays the results."
- (interactive)
- (ses-exercise-startup)
- ;;Run the keyboard-macro tests
- (let ((safe-functions nil)
- (ses-initial-size '(1 . 1))
- (ses-initial-column-width 7)
- (ses-initial-default-printer "%.7g")
- (ses-after-entry-functions '(forward-char))
- (ses-mode-hook nil))
- (ses-exercise-macros)
- (ses-exercise-signals)
- (ses-exercise-invalid-spreadsheets)
- ;;Upgrade of old-style spreadsheet
- (with-temp-buffer
- (insert " \n\n \n(ses-cell A1 nil nil nil nil)\n\n(ses-column-widths [7])\n(ses-column-printers [nil])\n(ses-default-printer \"%.7g\")\n\n( ;Global parameters (these are read first)\n 1 ;SES file-format\n 1 ;numrows\n 1 ;numcols\n)\n\n")
- (ses-load))
- ;;ses-vector-delete is always called from buffer-undo-list with the same
- ;;symbol as argument. We'll give it a different one here.
- (let ((x [1 2 3]))
- (ses-vector-delete 'x 0 0))
- ;;ses-create-header-string behaves differently in a non-window environment
- ;;but we always test under windows.
- (let ((window-system (not window-system)))
- (scroll-left 7)
- (ses-create-header-string))
- ;;Test for nonstandard after-entry functions
- (let ((ses-after-entry-functions '(forward-line))
- ses-mode-hook)
- (ses-read-cell 0 0 1)
- (ses-read-symbol 0 0 t)))
- ;;Tests with unsafep disabled
- (let ((safe-functions t)
- ses-mode-hook)
- (message "<Checking safe-functions = t>")
- (kill-buffer "ses-example.ses")
- (find-file "ses-example.ses"))
- ;;Checks for nonstandard default values for new spreadsheets
- (let (ses-mode-hook)
- (dolist (x '(("%.6g" 8 (2 . 2))
- ("%.8g" 6 (3 . 3))))
- (let ((ses-initial-size (nth 2 x))
- (ses-initial-column-width (nth 1 x))
- (ses-initial-default-printer (nth 0 x)))
- (with-temp-buffer
- (set-buffer-modified-p t)
- (ses-mode)))))
- ;;Test error-handling in command hook, outside a macro.
- ;;This will ring the bell.
- (let (curcell-overlay)
- (ses-command-hook))
- ;;Due to use of run-with-timer, ses-command-hook sometimes gets called
- ;;after we switch to another buffer.
- (switch-to-buffer "*scratch*")
- (ses-command-hook)
- ;;Print results
- (message "<Marking source code>")
- (testcover-mark-all "ses.el")
- (testcover-next-mark)
- ;;Cleanup
- (delete-other-windows)
- (kill-buffer "ses-test.txt")
- ;;Could do this here: (testcover-end "ses.el")
- (message "Done"))
-
-;;; arch-tag: 87052ba4-5cf8-46cf-9375-fe245f3360b8
-;; testcover-ses.el ends here.
diff --git a/lisp/emacs-lisp/testcover-unsafep.el b/lisp/emacs-lisp/testcover-unsafep.el
deleted file mode 100644
index 4359209b4d4..00000000000
--- a/lisp/emacs-lisp/testcover-unsafep.el
+++ /dev/null
@@ -1,140 +0,0 @@
-;;;; testcover-unsafep.el -- Use testcover to test unsafep's code coverage
-
-;; Copyright (C) 2002 Free Software Foundation, Inc.
-
-;; Author: Jonathan Yavner <jyavner@engineer.com>
-;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
-;; Keywords: safety lisp utility
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-(require 'testcover)
-
-;;;These forms are all considered safe
-(defconst testcover-unsafep-safe
- '(((lambda (x) (* x 2)) 14)
- (apply 'cdr (mapcar '(lambda (x) (car x)) y))
- (cond ((= x 4) 5) (t 27))
- (condition-case x (car y) (error (car x)))
- (dolist (x y) (message "here: %s" x))
- (dotimes (x 14 (* x 2)) (message "here: %d" x))
- (let (x) (dolist (y '(1 2 3) (1+ y)) (push y x)))
- (let (x) (apply '(lambda (x) (* x 2)) 14))
- (let ((x '(2))) (push 1 x) (pop x) (add-to-list 'x 2))
- (let ((x 1) (y 2)) (setq x (+ x y)))
- (let ((x 1)) (let ((y (+ x 3))) (* x y)))
- (let* nil (current-time))
- (let* ((x 1) (y (+ x 3))) (* x y))
- (mapcar (lambda (x &optional y &rest z) (setq y (+ x 2)) (* y 3)) '(1 2 3))
- (mapconcat #'(lambda (var) (propertize var 'face 'bold)) '("1" "2") ", ")
- (setq buffer-display-count 14 mark-active t)
- ;;This is not safe if you insert it into a buffer!
- (propertize "x" 'display '(height (progn (delete-file "x") 1))))
- "List of forms that `unsafep' should decide are safe.")
-
-;;;These forms are considered unsafe
-(defconst testcover-unsafep-unsafe
- '(( (add-to-list x y)
- . (unquoted x))
- ( (add-to-list y x)
- . (unquoted y))
- ( (add-to-list 'y x)
- . (global-variable y))
- ( (not (delete-file "unsafep.el"))
- . (function delete-file))
- ( (cond (t (aset local-abbrev-table 0 0)))
- . (function aset))
- ( (cond (t (setq unsafep-vars "")))
- . (risky-local-variable unsafep-vars))
- ( (condition-case format-alist 1)
- . (risky-local-variable format-alist))
- ( (condition-case x 1 (error (setq format-alist "")))
- . (risky-local-variable format-alist))
- ( (dolist (x (sort globalvar 'car)) (princ x))
- . (function sort))
- ( (dotimes (x 14) (delete-file "x"))
- . (function delete-file))
- ( (let ((post-command-hook "/tmp/")) 1)
- . (risky-local-variable post-command-hook))
- ( (let ((x (delete-file "x"))) 2)
- . (function delete-file))
- ( (let (x) (add-to-list 'x (delete-file "x")))
- . (function delete-file))
- ( (let (x) (condition-case y (setq x 1 z 2)))
- . (global-variable z))
- ( (let (x) (condition-case z 1 (error (delete-file "x"))))
- . (function delete-file))
- ( (let (x) (mapc (lambda (x) (setcar x 1)) '((1 . 2) (3 . 4))))
- . (function setcar))
- ( (let (y) (push (delete-file "x") y))
- . (function delete-file))
- ( (let* ((x 1)) (setq y 14))
- . (global-variable y))
- ( (mapc 'car (list '(1 . 2) (cons 3 4) (kill-buffer "unsafep.el")))
- . (function kill-buffer))
- ( (mapcar x y)
- . (unquoted x))
- ( (mapcar '(lambda (x) (rename-file x "x")) '("unsafep.el"))
- . (function rename-file))
- ( (mapconcat x1 x2 " ")
- . (unquoted x1))
- ( (pop format-alist)
- . (risky-local-variable format-alist))
- ( (push 1 format-alist)
- . (risky-local-variable format-alist))
- ( (setq buffer-display-count (delete-file "x"))
- . (function delete-file))
- ;;These are actualy safe (they signal errors)
- ( (apply '(x) '(1 2 3))
- . (function (x)))
- ( (let (((x))) 1)
- . (variable (x)))
- ( (let (1) 2)
- . (variable 1))
- )
- "A-list of (FORM . REASON)... that`unsafep' should decide are unsafe.")
-
-
-;;;#########################################################################
-(defun testcover-unsafep ()
- "Executes all unsafep tests and displays the coverage results."
- (interactive)
- (testcover-unmark-all "unsafep.el")
- (testcover-start "unsafep.el")
- (let (save-functions)
- (dolist (x testcover-unsafep-safe)
- (if (unsafep x)
- (error "%S should be safe" x)))
- (dolist (x testcover-unsafep-unsafe)
- (if (not (equal (unsafep (car x)) (cdr x)))
- (error "%S should be unsafe: %s" (car x) (cdr x))))
- (setq safe-functions t)
- (if (or (unsafep '(delete-file "x"))
- (unsafep-function 'delete-file))
- (error "safe-functions=t should allow delete-file"))
- (setq safe-functions '(setcar))
- (if (unsafep '(setcar x 1))
- (error "safe-functions=(setcar) should allow setcar"))
- (if (not (unsafep '(setcdr x 1)))
- (error "safe-functions=(setcar) should not allow setcdr")))
- (testcover-mark-all "unsafep.el")
- (testcover-end "unsafep.el")
- (message "Done"))
-
-;;; arch-tag: a7616c27-1998-47ae-9304-76d1439dbf29
-;; testcover-unsafep.el ends here.
diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el
index 4d668a78678..d422a42374b 100644
--- a/lisp/emacs-lisp/testcover.el
+++ b/lisp/emacs-lisp/testcover.el
@@ -334,8 +334,8 @@ always be nil, so we return t for 1-valued."
result))
(defun testcover-reinstrument-clauses (clauselist)
- "Reinstrument each list in CLAUSELIST.
-Result is t if every clause is 1-valued."
+ "Reinstruments each list in CLAUSELIST. Result is t if every
+clause is 1-valued."
(let ((result t))
(mapc #'(lambda (x)
(setq result (and (testcover-reinstrument-list x) result)))
@@ -349,13 +349,13 @@ Result is t if every clause is 1-valued."
(eval-buffer buf t)))
(defmacro 1value (form)
- "For coverage testing, indicate FORM should always have the same value."
+ "For code-coverage testing, indicate that FORM is expected to always have
+the same value."
form)
(defmacro noreturn (form)
- "For coverage testing, indicate that FORM will never return."
- `(prog1 ,form
- (error "Form marked with `noreturn' did return")))
+ "For code-coverage testing, indicate that FORM will always signal an error."
+ form)
;;;=========================================================================
@@ -445,5 +445,4 @@ coverage tests. This function creates many overlays."
(goto-char (next-overlay-change (point)))
(end-of-line))
-;;; arch-tag: 72324a4a-4a2e-4142-9249-cc56d6757588
;; testcover.el ends here.
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el
index 4ab2ac8e0d4..b7db0d01dc1 100644
--- a/lisp/emacs-lisp/timer.el
+++ b/lisp/emacs-lisp/timer.el
@@ -476,5 +476,4 @@ If the user does not answer after SECONDS seconds, return DEFAULT-VALUE."
(provide 'timer)
-;;; arch-tag: b1a9237b-7787-4382-9e46-8f2c3b3273e0
;;; timer.el ends here
diff --git a/lisp/emacs-lisp/tq.el b/lisp/emacs-lisp/tq.el
index 516816b4320..917309e3b98 100644
--- a/lisp/emacs-lisp/tq.el
+++ b/lisp/emacs-lisp/tq.el
@@ -120,5 +120,4 @@ that's how we tell where the answer ends."
(provide 'tq)
-;;; arch-tag: 65dea08c-4edd-4cde-83a5-e8a15b993b79
;;; tq.el ends here
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el
index a6ff9b15286..b2cbb529809 100644
--- a/lisp/emacs-lisp/trace.el
+++ b/lisp/emacs-lisp/trace.el
@@ -309,5 +309,4 @@ was not traced this is a noop."
(provide 'trace)
-;;; arch-tag: cfd170a7-4932-4331-8c8b-b7151942e5a1
;;; trace.el ends here
diff --git a/lisp/emacs-lisp/unsafep.el b/lisp/emacs-lisp/unsafep.el
index 197728d2327..5daa345dbcf 100644
--- a/lisp/emacs-lisp/unsafep.el
+++ b/lisp/emacs-lisp/unsafep.el
@@ -259,5 +259,4 @@ is okay if GLOBAL-OKAY is non-nil."
(local-variable-p sym)))
`(global-variable ,sym))))
-;;; arch-tag: 6216f98b-eb8f-467a-9c33-7a7644f50658
;; unsafep.el ends here.
diff --git a/lisp/emacs-lisp/warnings.el b/lisp/emacs-lisp/warnings.el
index ff6d074fd1f..4d0354236a8 100644
--- a/lisp/emacs-lisp/warnings.el
+++ b/lisp/emacs-lisp/warnings.el
@@ -43,7 +43,7 @@
Each element looks like (LEVEL STRING FUNCTION) and
defines LEVEL as a severity level. STRING specifies the
description of this level. STRING should use `%s' to
-specify where to put the warning type information,
+specify where to put the warning group information,
or it can omit the `%s' so as not to include that information.
The optional FUNCTION, if non-nil, is a function to call
@@ -91,26 +91,26 @@ the warning is completely ignored."
(defcustom warning-suppress-log-types nil
"List of warning types that should not be logged.
-If any element of this list matches the TYPE argument to `display-warning',
+If any element of this list matches the GROUP argument to `display-warning',
the warning is completely ignored.
-The element must match the first elements of TYPE.
+The element must match the first elements of GROUP.
Thus, (foo bar) as an element matches (foo bar)
-or (foo bar ANYTHING...) as TYPE.
-If TYPE is a symbol FOO, that is equivalent to the list (FOO),
+or (foo bar ANYTHING...) as GROUP.
+If GROUP is a symbol FOO, that is equivalent to the list (FOO),
so only the element (FOO) will match it."
:group 'warnings
:type '(repeat (repeat symbol))
:version "21.4")
(defcustom warning-suppress-types nil
- "List of warning types not to display immediately.
-If any element of this list matches the TYPE argument to `display-warning',
+ "Custom groups for warnings not to display immediately.
+If any element of this list matches the GROUP argument to `display-warning',
the warning is logged nonetheless, but the warnings buffer is
not immediately displayed.
-The element must match an initial segment of the list TYPE.
+The element must match an initial segment of the list GROUP.
Thus, (foo bar) as an element matches (foo bar)
-or (foo bar ANYTHING...) as TYPE.
-If TYPE is a symbol FOO, that is equivalent to the list (FOO),
+or (foo bar ANYTHING...) as GROUP.
+If GROUP is a symbol FOO, that is equivalent to the list (FOO),
so only the element (FOO) will match it.
See also `warning-suppress-log-types'."
:group 'warnings
@@ -155,9 +155,9 @@ also call that function before the next warning.")
;;; safely, testing the existing value, before they call one of the
;;; warnings functions.
;;;###autoload
-(defvar warning-type-format " (%s)"
- "Format for displaying the warning type in the warning message.
-The result of formatting the type this way gets included in the
+(defvar warning-group-format " (%s)"
+ "Format for displaying the warning group in the warning message.
+The result of formatting the group this way gets included in the
message under the control of the string in `warning-levels'.")
(defun warning-numeric-level (level)
@@ -166,19 +166,19 @@ message under the control of the string in `warning-levels'.")
(link (memq elt warning-levels)))
(length link)))
-(defun warning-suppress-p (type suppress-list)
- "Non-nil if a warning with type TYPE should be suppressed.
+(defun warning-suppress-p (group suppress-list)
+ "Non-nil if a warning with group GROUP should be suppressed.
SUPPRESS-LIST is the list of kinds of warnings to suppress."
(let (some-match)
(dolist (elt suppress-list)
- (if (symbolp type)
- ;; If TYPE is a symbol, the ELT must be (TYPE).
+ (if (symbolp group)
+ ;; If GROUP is a symbol, the ELT must be (GROUP).
(if (and (consp elt)
- (eq (car elt) type)
+ (eq (car elt) group)
(null (cdr elt)))
(setq some-match t))
- ;; If TYPE is a list, ELT must match it or some initial segment of it.
- (let ((tem1 type)
+ ;; If GROUP is a list, ELT must match it or some initial segment of it.
+ (let ((tem1 group)
(tem2 elt)
(match t))
;; Check elements of ELT until we run out of them.
@@ -187,7 +187,7 @@ SUPPRESS-LIST is the list of kinds of warnings to suppress."
(setq match nil))
(setq tem1 (cdr tem1)
tem2 (cdr tem2)))
- ;; If ELT is an initial segment of TYPE, MATCH is t now.
+ ;; If ELT is an initial segment of GROUP, MATCH is t now.
;; So set SOME-MATCH.
(if match
(setq some-match t)))))
@@ -196,10 +196,10 @@ SUPPRESS-LIST is the list of kinds of warnings to suppress."
some-match))
;;;###autoload
-(defun display-warning (type message &optional level buffer-name)
+(defun display-warning (group message &optional level buffer-name)
"Display a warning message, MESSAGE.
-TYPE is the warning type: either a custom group name (a symbol),
-or a list of symbols whose first element is a custom group name.
+GROUP should be a custom group name (a symbol),
+or else a list of symbols whose first element is a custom group name.
\(The rest of the symbols represent subcategories, for warning purposes
only, and you can use whatever symbols you like.)
@@ -224,8 +224,8 @@ See also `warning-series', `warning-prefix-function' and
(setq level (cdr (assq level warning-level-aliases))))
(or (< (warning-numeric-level level)
(warning-numeric-level warning-minimum-log-level))
- (warning-suppress-p type warning-suppress-log-types)
- (let* ((typename (if (consp type) (car type) type))
+ (warning-suppress-p group warning-suppress-log-types)
+ (let* ((groupname (if (consp group) (car group) group))
(buffer (get-buffer-create (or buffer-name "*Warnings*")))
(level-info (assq level warning-levels))
start end)
@@ -243,7 +243,7 @@ See also `warning-series', `warning-prefix-function' and
(setq level-info (funcall warning-prefix-function
level level-info)))
(insert (format (nth 1 level-info)
- (format warning-type-format typename))
+ (format warning-group-format groupname))
message)
(newline)
(when (and warning-fill-prefix (not (string-match "\n" message)))
@@ -273,7 +273,7 @@ See also `warning-series', `warning-prefix-function' and
;; immediate display.
(or (< (warning-numeric-level level)
(warning-numeric-level warning-minimum-level))
- (warning-suppress-p type warning-suppress-types)
+ (warning-suppress-p group warning-suppress-types)
(let ((window (display-buffer buffer)))
(when (and (markerp warning-series)
(eq (marker-buffer warning-series) buffer))
@@ -281,13 +281,13 @@ See also `warning-series', `warning-prefix-function' and
(sit-for 0)))))))
;;;###autoload
-(defun lwarn (type level message &rest args)
+(defun lwarn (group level message &rest args)
"Display a warning message made from (format MESSAGE ARGS...).
Aside from generating the message with `format',
this is equivalent to `display-warning'.
-TYPE is the warning type: either a custom group name (a symbol).
-or a list of symbols whose first element is a custom group name.
+GROUP should be a custom group name (a symbol).
+or else a list of symbols whose first element is a custom group name.
\(The rest of the symbols represent subcategories and
can be whatever you like.)
@@ -296,17 +296,16 @@ LEVEL should be either :warning, :error, or :emergency.
if you do not attend to it promptly.
:error -- invalid data or circumstances.
:warning -- suspicious data or circumstances."
- (display-warning type (apply 'format message args) level))
+ (display-warning group (apply 'format message args) level))
;;;###autoload
(defun warn (message &rest args)
"Display a warning message made from (format MESSAGE ARGS...).
Aside from generating the message with `format',
this is equivalent to `display-warning', using
-`emacs' as the type and `:warning' as the level."
+`emacs' as the group and `:warning' as the level."
(display-warning 'emacs (apply 'format message args)))
(provide 'warnings)
-;;; arch-tag: faaad1c8-7b2a-4161-af38-5ab4afde0496
;;; warnings.el ends here
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index 26ed4ffa39e..f060e9f789b 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -103,5 +103,4 @@ If t is found, signal error and display the locked buffer name."
(provide 'emacs-lock)
-;;; arch-tag: 58e6cb43-7cf0-401a-bcb6-4902a0b8bdc1
;;; emacs-lock.el ends here
diff --git a/lisp/emerge.el b/lisp/emerge.el
index e1fd33587ce..f3972ac5973 100644
--- a/lisp/emerge.el
+++ b/lisp/emerge.el
@@ -3209,5 +3209,4 @@ More precisely, a [...] regexp to match any one such character."
(provide 'emerge)
-;;; arch-tag: a575f092-6e44-400e-b8a2-4124e9377585
;;; emerge.el ends here
diff --git a/lisp/emulation/crisp.el b/lisp/emulation/crisp.el
index 2ca819c0424..0f19d9e4cc4 100644
--- a/lisp/emulation/crisp.el
+++ b/lisp/emulation/crisp.el
@@ -394,5 +394,4 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise."
(run-hooks 'crisp-load-hook)
(provide 'crisp)
-;;; arch-tag: e5369375-fafb-4240-b7ae-4cb460ef05ee
;;; crisp.el ends here
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 71c1c847ee3..0de58dbf408 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1248,5 +1248,4 @@ paste (in addition to the normal emacs bindings)."
(provide 'cua)
-;;; arch-tag: 21fb6289-ba25-4fee-bfdc-f9fb351acf05
;;; cua-base.el ends here
diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el
index 8280691ae18..4055fb2b1cc 100644
--- a/lisp/emulation/cua-gmrk.el
+++ b/lisp/emulation/cua-gmrk.el
@@ -390,5 +390,4 @@ With prefix argument, don't jump to global mark when cancelling it."
(setq cua--global-mark-initialized t))
-;;; arch-tag: 553d8076-a91d-48ae-825d-6cb962a5f67f
;;; cua-gmrk.el ends here
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el
index fefd7001029..47b315d062a 100644
--- a/lisp/emulation/cua-rect.el
+++ b/lisp/emulation/cua-rect.el
@@ -1382,5 +1382,4 @@ With prefix arg, indent to that column."
(setq cua--rectangle-initialized t))
-;;; arch-tag: b730df53-17b9-4a89-bd63-4a71ec196731
;;; cua-rect.el ends here
diff --git a/lisp/emulation/edt-lk201.el b/lisp/emulation/edt-lk201.el
index e63fd84cbe7..6afadd6c167 100644
--- a/lisp/emulation/edt-lk201.el
+++ b/lisp/emulation/edt-lk201.el
@@ -57,5 +57,4 @@
("HELP" . [help]) ("DO" . [menu]) ("F17" . [f17]) ("F18" . [f18])
("F19" . [f19]) ("F20" . [f20])))
-;;; arch-tag: 36f498cf-c3f6-41b0-911b-83b1348855ec
;;; edt-lk201.el ends here
diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el
index e4943ff4a0a..d983ea8e714 100644
--- a/lisp/emulation/edt-mapper.el
+++ b/lisp/emulation/edt-mapper.el
@@ -521,5 +521,4 @@
(sit-for 600)
(kill-emacs t)
-;;; arch-tag: 9eea59c8-b8b7-4d66-b858-c8920624c518
;;; edt-mapper.el ends here
diff --git a/lisp/emulation/edt-pc.el b/lisp/emulation/edt-pc.el
index 509f4f498ce..30e1b535469 100644
--- a/lisp/emulation/edt-pc.el
+++ b/lisp/emulation/edt-pc.el
@@ -87,5 +87,4 @@
("HELP" . "" ) ("DO" . "" ) ("F17" . "" ) ("F18" . "" )
("F19" . "" ) ("F20" . "" )))
-;;; arch-tag: 4593d053-183a-4062-97de-57b8877595ce
;;; edt-pc.el ends here
diff --git a/lisp/emulation/edt-vt100.el b/lisp/emulation/edt-vt100.el
index 0ad749ec13f..283b7827c73 100644
--- a/lisp/emulation/edt-vt100.el
+++ b/lisp/emulation/edt-vt100.el
@@ -46,5 +46,4 @@
"Set terminal width to 132 columns."
(vt100-wide-mode 1))
-;;; arch-tag: c9f10c95-915f-44b5-93ff-4654abca4dd4
;;; edt-vt100.el ends here
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el
index ff0298e9a17..427a803da88 100644
--- a/lisp/emulation/edt.el
+++ b/lisp/emulation/edt.el
@@ -2701,5 +2701,4 @@ G-C-\\: Split Window | FNDNXT | Yank | CUT |
(provide 'edt)
-;;; arch-tag: 18d1c54f-6900-4078-8bbc-7c2292f48941
;;; edt.el ends here
diff --git a/lisp/emulation/keypad.el b/lisp/emulation/keypad.el
index 3fb7cd753bc..69dc8a3d3b0 100644
--- a/lisp/emulation/keypad.el
+++ b/lisp/emulation/keypad.el
@@ -271,5 +271,4 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'"
(setq i (1+ i)))))
-;;; arch-tag: 0899d2bd-9e12-4b4e-9aef-d0014d3b6414
;;; keypad.el ends here
diff --git a/lisp/emulation/pc-mode.el b/lisp/emulation/pc-mode.el
index 8b4d0d79f28..22c5b289f08 100644
--- a/lisp/emulation/pc-mode.el
+++ b/lisp/emulation/pc-mode.el
@@ -54,5 +54,4 @@ C-Escape does list-buffers."
(provide 'pc-mode)
-;;; arch-tag: df007c05-f885-4cd0-8c1e-487d0f8dd9c9
;;; pc-mode.el ends here
diff --git a/lisp/emulation/pc-select.el b/lisp/emulation/pc-select.el
index c7ea973467f..6b7b7ece9c8 100644
--- a/lisp/emulation/pc-select.el
+++ b/lisp/emulation/pc-select.el
@@ -982,5 +982,4 @@ You must modify via \\[customize] for this variable to have an effect."
:group 'pc-select
:require 'pc-select)
-;;; arch-tag: 10697b70-ae07-4f3e-ad23-7814a3f418c2
;;; pc-select.el ends here
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el
index 8e290553a61..1296d497960 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/emulation/tpu-edt.el
@@ -2522,5 +2522,4 @@ If FILE is nil, try to load a default file. The default file names are
(provide 'tpu-edt)
-;;; arch-tag: f3dfe61c-2cbd-4f73-b9cc-eb215020b857
;;; tpu-edt.el ends here
diff --git a/lisp/emulation/tpu-extras.el b/lisp/emulation/tpu-extras.el
index ced88ff3fdf..465b923f891 100644
--- a/lisp/emulation/tpu-extras.el
+++ b/lisp/emulation/tpu-extras.el
@@ -480,5 +480,4 @@ version that respects the bottom scroll margin."
GOLD-map)
(message "The cursor is now bound to the flow of your text."))
-;;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a
;;; tpu-extras.el ends here
diff --git a/lisp/emulation/tpu-mapper.el b/lisp/emulation/tpu-mapper.el
index 68a760e2011..e6a50c074dc 100644
--- a/lisp/emulation/tpu-mapper.el
+++ b/lisp/emulation/tpu-mapper.el
@@ -392,5 +392,4 @@
")
(goto-char (point-min))
-;;; arch-tag: bab5872f-cd3a-4c1c-aedb-047b67646f6c
;;; tpu-mapper.el ends here
diff --git a/lisp/emulation/vi.el b/lisp/emulation/vi.el
index b0a6b4c2666..7ae43c8b162 100644
--- a/lisp/emulation/vi.el
+++ b/lisp/emulation/vi.el
@@ -1486,5 +1486,4 @@ With ARG, inserts that many newlines."
(provide 'vi)
-;;; arch-tag: ac9bdac3-8acb-4ddd-bdae-c6dd873153b3
;;; vi.el ends here
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el
index cbb0aa55aa8..80e941d2ed6 100644
--- a/lisp/emulation/vip.el
+++ b/lisp/emulation/vip.el
@@ -3072,5 +3072,4 @@ vip-s-string"
(provide 'vip)
-;;; arch-tag: bff623ef-48f7-41d4-9aa3-2e840c9ab415
;;; vip.el ends here
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index eb5e5ede4c7..02bffa64bd3 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -4947,5 +4947,4 @@ Mail anyway (y or n)? ")
-;;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2
;;; viper-cmd.el ends here
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el
index eab8ebab591..f4d3e8c766e 100644
--- a/lisp/emulation/viper-ex.el
+++ b/lisp/emulation/viper-ex.el
@@ -2318,5 +2318,4 @@ Type 'mak ' (including the space) to run make with no args."
-;;; arch-tag: 56b80d36-f880-4d10-bd66-85ad91a295db
;;; viper-ex.el ends here
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el
index 2a13f00535e..8787e2eaa6f 100644
--- a/lisp/emulation/viper-init.el
+++ b/lisp/emulation/viper-init.el
@@ -1009,5 +1009,4 @@ Should be set in `~/.viper' file."
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;;; End:
-;;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250
;;; viper-init.el ends here
diff --git a/lisp/emulation/viper-keym.el b/lisp/emulation/viper-keym.el
index 146b54b7034..2369346a3ff 100644
--- a/lisp/emulation/viper-keym.el
+++ b/lisp/emulation/viper-keym.el
@@ -637,5 +637,4 @@ form ((key . function) (key . function) ... )."
;;; End:
-;;; arch-tag: 43af4b2f-0bea-400b-889e-221ebc00acb1
;;; viper-keym.el ends here
diff --git a/lisp/emulation/viper-macs.el b/lisp/emulation/viper-macs.el
index c6a3fdfe1fe..b13c922188b 100644
--- a/lisp/emulation/viper-macs.el
+++ b/lisp/emulation/viper-macs.el
@@ -929,5 +929,4 @@ name from there."
(call-last-kbd-macro)))
-;;; arch-tag: ecd3cc5c-8cd0-4bbe-b2ec-7e75a4b7d0aa
;;; viper-macs.el ends here
diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el
index 250f7cf5a53..1889a901e88 100644
--- a/lisp/emulation/viper-mous.el
+++ b/lisp/emulation/viper-mous.el
@@ -674,5 +674,4 @@ This buffer may be different from the one where the click occurred."
;;; End:
-;;; arch-tag: e56b2390-06c4-4dd1-96f5-c7876e2d8c2f
;;; viper-mous.el ends here
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el
index 8e913e90599..fc7f0c8223b 100644
--- a/lisp/emulation/viper-util.el
+++ b/lisp/emulation/viper-util.el
@@ -1517,5 +1517,4 @@ This option is appropriate if you like Emacs-style words."
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;;; End:
-;;; arch-tag: 7f023fd5-dd9e-4378-a397-9c179553b0e3
;;; viper-util.el ends here
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el
index 15ec74b41f1..f5837192ce1 100644
--- a/lisp/emulation/viper.el
+++ b/lisp/emulation/viper.el
@@ -1285,5 +1285,4 @@ These two lines must come in the order given.
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;;; End:
-;;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79
;;; viper.el ends here
diff --git a/lisp/emulation/ws-mode.el b/lisp/emulation/ws-mode.el
index 54be36299c5..330506b1029 100644
--- a/lisp/emulation/ws-mode.el
+++ b/lisp/emulation/ws-mode.el
@@ -755,5 +755,4 @@ sWith: " )
(provide 'ws-mode)
-;;; arch-tag: 6dd864bf-2ccb-4d59-af6e-492eba2890a3
;;; ws-mode.el ends here
diff --git a/lisp/env.el b/lisp/env.el
index 3d92501279e..6aef5457a1c 100644
--- a/lisp/env.el
+++ b/lisp/env.el
@@ -180,5 +180,4 @@ for its value."
(provide 'env)
-;;; arch-tag: b7d6a8f7-bc81-46db-8e39-8d721d4ed0b8
;;; env.el ends here
diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el
index 214375e496c..ff6d66eb9e9 100644
--- a/lisp/eshell/em-alias.el
+++ b/lisp/eshell/em-alias.el
@@ -272,5 +272,4 @@ These are all the command aliases which begin with NAME."
eshell-prevent-alias-expansion))))
(eshell-parse-command alias))))))))))
-;;; arch-tag: 8b018fc1-4e07-4ccc-aa73-c0a1ba361f82
;;; em-alias.el ends here
diff --git a/lisp/eshell/em-banner.el b/lisp/eshell/em-banner.el
index c6f65ccd779..dc5f52bcdc1 100644
--- a/lisp/eshell/em-banner.el
+++ b/lisp/eshell/em-banner.el
@@ -89,5 +89,4 @@ This can be any sexp, and should end with at least two newlines."
(goto-char (point-min))
(looking-at msg)))
-;;; arch-tag: e738b4ef-8671-42ae-a757-291779b92491
;;; em-banner.el ends here
diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el
index 5972ffc28bd..49947eede77 100644
--- a/lisp/eshell/em-basic.el
+++ b/lisp/eshell/em-basic.el
@@ -182,5 +182,4 @@ or `eshell-printn' for display."
(eval-when-compile
(defvar print-func))
-;;; arch-tag: 385a31b1-cb95-46f0-9829-9d352ee77db8
;;; em-basic.el ends here
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index 695a9fb4ed8..4851804d387 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -449,5 +449,4 @@ to writing a completion function."
;;; Code:
-;;; arch-tag: 0e914699-673a-45f8-8cbf-82e1dbc571bc
;;; em-cmpl.el ends here
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index 73837c324a5..2838ec5e8bf 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -569,5 +569,4 @@ in the minibuffer:
;;; Code:
-;;; arch-tag: 1e9c5a95-f1bd-45f8-ad36-55aac706e787
;;; em-dirs.el ends here
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index 24447c3e66d..08a92de1c8f 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -357,5 +357,4 @@ the form:
(eshell-glob-entries (car rdirs) globs recurse-p)
(setq rdirs (cdr rdirs)))))
-;;; arch-tag: d0548f54-fb7c-4978-a88e-f7c26f7f68ca
;;; em-glob.el ends here
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 438e296d9c1..0f94f741b8f 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -984,5 +984,4 @@ If N is negative, search backwards for the -Nth previous match."
(isearch-done)
(eshell-send-input))
-;;; arch-tag: 1a847333-f864-4b96-9acd-b549d620b6c6
;;; em-hist.el ends here
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index aced2223327..dc8d09eac9c 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -898,5 +898,4 @@ Use TRUENAME for predicate tests, if passed."
;;; Code:
-;;; arch-tag: 9295181c-0cb2-499c-999b-89f5359842cb
;;; em-ls.el ends here
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index 3be32fde10d..1c00156cf8d 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -600,5 +600,4 @@ that 'ls -l' will show in the first column of its display. "
(lambda (str)
(split-string str ,sep))) lst))))
-;;; arch-tag: 8b5ce022-17f3-4c40-93c7-5faafaa63f31
;;; em-pred.el ends here
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el
index e1446d9a8bd..1eff7acf344 100644
--- a/lisp/eshell/em-prompt.el
+++ b/lisp/eshell/em-prompt.el
@@ -172,5 +172,4 @@ If this takes us past the end of the current line, don't skip at all."
;;; Code:
-;;; arch-tag: 01c1574b-ce70-4e89-bc38-e6619f61e208
;;; em-prompt.el ends here
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el
index 1f79990855d..e3aefd9b554 100644
--- a/lisp/eshell/em-rebind.el
+++ b/lisp/eshell/em-rebind.el
@@ -243,5 +243,4 @@ input."
;;; Code:
-;;; arch-tag: 76d84f12-cc56-4d67-9b7d-c6b44ad20530
;;; em-rebind.el ends here
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el
index 192a520fcb8..ebb33f7ed48 100644
--- a/lisp/eshell/em-script.el
+++ b/lisp/eshell/em-script.el
@@ -138,5 +138,4 @@ environment, binding ARGS to $1, $2, etc.")
;;; Code:
-;;; arch-tag: a346439d-5ba8-4faf-ac2b-3aacfeaa4647
;;; em-script.el ends here
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el
index 6725f96cc84..4002914027a 100644
--- a/lisp/eshell/em-smart.el
+++ b/lisp/eshell/em-smart.el
@@ -323,5 +323,4 @@ and the end of the buffer are still visible."
;;; Code:
-;;; arch-tag: 8c0112c7-379c-4d54-9a1c-204d68786a4b
;;; em-smart.el ends here
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index e8a38f15218..afd8e9596ef 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -265,5 +265,4 @@ allowed."
;;; Code:
-;;; arch-tag: ab7c8fe4-3101-4257-925b-1354c6b2fe9d
;;; em-term.el ends here
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index 8446eb1aa9d..3c14635842e 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -1015,5 +1015,4 @@ Show wall-clock time elapsed during execution of COMMAND.")
;;; Code:
-;;; arch-tag: 2462edd2-a76a-4cf2-897d-92e9a82ac1c9
;;; em-unix.el ends here
diff --git a/lisp/eshell/em-xtra.el b/lisp/eshell/em-xtra.el
index 46e8da998c1..427eed3c1e2 100644
--- a/lisp/eshell/em-xtra.el
+++ b/lisp/eshell/em-xtra.el
@@ -118,5 +118,4 @@ naturally accessible within Emacs."
;;; Code:
-;;; arch-tag: f944cfda-a118-470c-a0d6-b41a3a5c99c7
;;; em-xtra.el ends here
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index 0659912a58e..ff863042962 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -385,5 +385,4 @@ special character that is not itself a backslash."
(char-to-string (char-after)))))
(goto-char end)))))))
-;;; arch-tag: 7f593a2b-8fc1-4def-8f84-8f51ed0198d6
;;; esh-arg.el ends here
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index 54f4d6c7739..a47e2ba4c9a 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -1416,5 +1416,4 @@ messages, and errors."
(defalias 'eshell-lisp-command* 'eshell-lisp-command)
-;;; arch-tag: 8e4f3867-a0c5-441f-96ba-ddd142d94366
;;; esh-cmd.el ends here
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index 9730536ac37..9ebb0962f49 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -316,5 +316,4 @@ line of the form #!<interp>."
;;; Code:
-;;; arch-tag: 178d4064-7e60-4745-b81f-bab5d8d7c40f
;;; esh-ext.el ends here
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index 8d1036b736e..fad9df29bbc 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -508,5 +508,4 @@ Returns what was actually sent, or nil if nothing was sent."
;;; Code:
-;;; arch-tag: 9ca2080f-d5e0-4b26-aa0b-d59194a905a2
;;; esh-io.el ends here
diff --git a/lisp/eshell/esh-maint.el b/lisp/eshell/esh-maint.el
index 4ae19603a4c..c2dfe83a513 100644
--- a/lisp/eshell/esh-maint.el
+++ b/lisp/eshell/esh-maint.el
@@ -141,5 +141,4 @@
;; (delete-file "README.texi")
;; (kill-buffer "README.texi"))
-;;; arch-tag: 662089b6-78ec-48c5-b94f-d212279e8902
;;; esh-maint.el ends here
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index 579d1200caf..d4df95ea0f7 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -1077,5 +1077,4 @@ This function could be in the list `eshell-output-filter-functions'."
;;; Code:
-;;; arch-tag: ec65bc2b-da14-4547-81d3-a32af3a4dc57
;;; esh-mode.el ends here
diff --git a/lisp/eshell/esh-module.el b/lisp/eshell/esh-module.el
index 4c8ffceef78..a7a2a280c93 100644
--- a/lisp/eshell/esh-module.el
+++ b/lisp/eshell/esh-module.el
@@ -153,5 +153,4 @@ customization group. Example: `eshell-cmpl' for that module."
(unload-feature module)
(message "Unloading %s...done" (symbol-name module))))))
-;;; arch-tag: 97a3fa16-9d08-40e6-bc2c-36bd70986507
;;; esh-module.el ends here
diff --git a/lisp/eshell/esh-opt.el b/lisp/eshell/esh-opt.el
index 02bd6f1dca3..6807e1a4f02 100644
--- a/lisp/eshell/esh-opt.el
+++ b/lisp/eshell/esh-opt.el
@@ -225,5 +225,4 @@ This assumes that symbols have been intern'd by `eshell-with-options'."
;;; Code:
-;;; arch-tag: 45c6c2d0-8091-46a1-a205-2f4bafd8230c
;;; esh-opt.el ends here
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el
index c16e93e6872..d5ffa4c1c95 100644
--- a/lisp/eshell/esh-proc.el
+++ b/lisp/eshell/esh-proc.el
@@ -503,5 +503,4 @@ See the variable `eshell-kill-processes-on-exit'."
;;; Code:
-;;; arch-tag: ac477a3e-ee4d-4b44-8ec6-212010e607bb
;;; esh-proc.el ends here
diff --git a/lisp/eshell/esh-test.el b/lisp/eshell/esh-test.el
index 54edf5e35ab..0145e171810 100644
--- a/lisp/eshell/esh-test.el
+++ b/lisp/eshell/esh-test.el
@@ -239,5 +239,4 @@
"\n"))))
nil t))
-;;; arch-tag: 6e32275a-8285-4a4e-b7cf-819aa7c86b8e
;;; esh-test.el ends here
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index a2fd0915cf4..ce1fa52c375 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -789,5 +789,4 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
;;; Code:
-;;; arch-tag: 70159778-5c7a-480a-bae4-3ad332fca19d
;;; esh-util.el ends here
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index 3578b5d1ef6..c966dd1451f 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -650,5 +650,4 @@ For example, to retrieve the second element of a user's record in
;;; Code:
-;;; arch-tag: 393654fe-bdad-4f27-9a10-b1472ded14cf
;;; esh-var.el ends here
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el
index e76bcb17055..926b4031a87 100644
--- a/lisp/eshell/eshell.el
+++ b/lisp/eshell/eshell.el
@@ -561,5 +561,4 @@ Emacs."
(run-hooks 'eshell-load-hook)
-;;; arch-tag: 9d4d5214-0e4e-4e02-b349-39add640d63f
;;; eshell.el ends here
diff --git a/lisp/expand.el b/lisp/expand.el
index 2e2767289ce..bb024e5866b 100644
--- a/lisp/expand.el
+++ b/lisp/expand.el
@@ -504,5 +504,4 @@ This is used only in conjunction with `expand-add-abbrevs'."
;; run load hooks
(run-hooks 'expand-load-hook)
-;;; arch-tag: fee53e9e-30e3-4ef3-b191-9785e1f8e885
;;; expand.el ends here
diff --git a/lisp/facemenu.el b/lisp/facemenu.el
index 3893e320655..78bdfc6115b 100644
--- a/lisp/facemenu.el
+++ b/lisp/facemenu.el
@@ -734,6 +734,4 @@ Returns the non-nil value it found, or nil if all were nil."
(facemenu-update)
(provide 'facemenu)
-
-;;; arch-tag: 85f6d02b-9085-420e-b651-0678f0e9c7eb
;;; facemenu.el ends here
diff --git a/lisp/faces.el b/lisp/faces.el
index 49652175f41..2cf9f7dcdc6 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2214,5 +2214,4 @@ If that can't be done, return nil."
(provide 'faces)
-;;; arch-tag: 19a4759f-2963-445f-b004-425b9aadd7d6
;;; faces.el ends here
diff --git a/lisp/fast-lock.el b/lisp/fast-lock.el
index 6812361a28b..c37a4adb192 100644
--- a/lisp/fast-lock.el
+++ b/lisp/fast-lock.el
@@ -859,5 +859,4 @@ See `fast-lock-get-face-properties'."
(provide 'fast-lock)
-;;; arch-tag: 638c431e-8cae-4538-80a1-963ff97d233e
;;; fast-lock.el ends here
diff --git a/lisp/ffap.el b/lisp/ffap.el
index 5711150e264..5bea298f4df 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -1704,6 +1704,4 @@ Of course if you do not like these bindings, just roll your own!")
(eval (cons 'progn ffap-bindings)))
-
-;;; arch-tag: 9dd3e88a-5dec-4607-bd57-60ae9ede8ebc
;;; ffap.el ends here
diff --git a/lisp/filecache.el b/lisp/filecache.el
index d315a3b1c8b..b8cb51ae1e5 100644
--- a/lisp/filecache.el
+++ b/lisp/filecache.el
@@ -753,5 +753,4 @@ match REGEXP."
(provide 'filecache)
-;;; arch-tag: 433d3ca4-4af2-47ce-b2cf-1f727460f538
;;; filecache.el ends here
diff --git a/lisp/files.el b/lisp/files.el
index 57d43a1bcc6..5ec82a39206 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3343,7 +3343,7 @@ saying what text to write."
;; ordinary or numeric backups. It might create a directory for
;; backups as a side-effect, according to `backup-directory-alist'.
(let* ((filename (file-name-sans-versions
- (make-backup-file-name (expand-file-name filename))))
+ (make-backup-file-name filename)))
(file (file-name-nondirectory filename))
(dir (file-name-directory filename))
(comp (file-name-all-completions file dir))
@@ -4475,5 +4475,4 @@ With prefix arg, silently save all file-visiting buffers, then kill."
(define-key ctl-x-5-map "\C-f" 'find-file-other-frame)
(define-key ctl-x-5-map "r" 'find-file-read-only-other-frame)
-;;; arch-tag: bc68d3ea-19ca-468b-aac6-3a4a7766101f
;;; files.el ends here
diff --git a/lisp/filesets.el b/lisp/filesets.el
index cd42be63738..489a1035499 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -2519,5 +2519,4 @@ Set up hooks, load the cache file -- if existing -- and build the menu."
;;; sentence-end-double-space:t
;;; End:
-;;; arch-tag: 2c03f85f-c3df-4cec-b0a3-b46fd5592d70
;;; filesets.el ends here
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index b1051acf7fd..8ea6bbc61da 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -252,5 +252,4 @@ Thus ARG can also contain additional grep options."
(provide 'find-dired)
-;;; arch-tag: 8edece95-af00-4221-bc74-a4bd2f75f9b0
;;; find-dired.el ends here
diff --git a/lisp/find-file.el b/lisp/find-file.el
index 033fd0e762e..0831b164272 100644
--- a/lisp/find-file.el
+++ b/lisp/find-file.el
@@ -966,5 +966,4 @@ That name was previously determined by `ff-which-function-are-we-in'."
(provide 'find-file)
-;;; arch-tag: 5a2fc49e-3b0a-4708-9acf-fb14e471a97a
;;; find-file.el ends here
diff --git a/lisp/find-lisp.el b/lisp/find-lisp.el
index f8130043177..937a82348f3 100644
--- a/lisp/find-lisp.el
+++ b/lisp/find-lisp.el
@@ -360,5 +360,4 @@ It is a function which takes two arguments, the directory and its parent."
;; autocompile: t
;; End:
-;;; arch-tag: a711374c-f12a-46f6-aa18-ba7d77b9602a
;;; find-lisp.el ends here
diff --git a/lisp/finder.el b/lisp/finder.el
index c9e51970f49..21ff1c91063 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -362,5 +362,4 @@ finder directory, \\[finder-exit] = quit, \\[finder-summary] = help")))
(provide 'finder)
-;;; arch-tag: ec85ff49-8cb8-41f5-a63f-9131d53ce2c5
;;; finder.el ends here
diff --git a/lisp/flow-ctrl.el b/lisp/flow-ctrl.el
index 63654572f9b..44b496357a4 100644
--- a/lisp/flow-ctrl.el
+++ b/lisp/flow-ctrl.el
@@ -123,5 +123,4 @@ to get the effect of a C-q."
(provide 'flow-ctrl)
-;;; arch-tag: 0eb7b19e-0d93-4e0b-9ea2-72b574076a56
;;; flow-ctrl.el ends here
diff --git a/lisp/foldout.el b/lisp/foldout.el
index 0d7c79ec6f7..21f2208723b 100644
--- a/lisp/foldout.el
+++ b/lisp/foldout.el
@@ -567,5 +567,4 @@ Valid modifiers are shift, control, meta, alt, hyper and super.")
(provide 'foldout)
-;;; arch-tag: 19d095a2-1f09-42a7-a5ac-e2a3078cfe95
;;; foldout.el ends here
diff --git a/lisp/follow.el b/lisp/follow.el
index 0ae6e175386..4480ba6b849 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -2347,5 +2347,4 @@ This prevents `mouse-drag-region' from messing things up."
;; | save it". -- Douglas Adams, "Last Chance to See" |
;; \------------------------------------------------------------------------/
-;;; arch-tag: 7b16bb1a-808c-4991-a8cc-66d3822936d0
;;; follow.el ends here
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ce4a35a0ec3..e5e3aea920f 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -297,4 +297,3 @@ means that Font Lock mode is turned on for buffers in C and C++ modes only."
;;; font-core.el ends here
-;;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 1be0b724590..ff0d56a41af 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1929,5 +1929,4 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item."
(when (eq font-lock-support-mode 'jit-lock-mode)
(require 'jit-lock))
-;;; arch-tag: 682327e4-64d8-4057-b20b-1fbb9f1fc54c
;;; font-lock.el ends here
diff --git a/lisp/format.el b/lisp/format.el
index aeadb68d60f..97818c79ef4 100644
--- a/lisp/format.el
+++ b/lisp/format.el
@@ -1049,5 +1049,4 @@ OLD and NEW are the values."
(provide 'format)
-;;; arch-tag: c387e9c7-a93d-47bf-89bc-8ca67e96755a
;;; format.el ends here
diff --git a/lisp/forms-d2.el b/lisp/forms-d2.el
index 19164b6a6db..ae338abf108 100644
--- a/lisp/forms-d2.el
+++ b/lisp/forms-d2.el
@@ -85,5 +85,4 @@ used to fill to the column."
;; That's all, folks!
-;;; arch-tag: 8e5d5dac-7abf-4722-ab5e-03eb749beaca
;;; forms-d2.el ends here
diff --git a/lisp/forms-pass.el b/lisp/forms-pass.el
index 4b3cb3a17bb..b635c965cf0 100644
--- a/lisp/forms-pass.el
+++ b/lisp/forms-pass.el
@@ -30,5 +30,4 @@
"Shell: " 7
"\n"))
-;;; arch-tag: 74801012-1a2d-4173-b9e4-fcfa241e2305
;;; forms-pass.el ends here
diff --git a/lisp/forms.el b/lisp/forms.el
index 76d4bc48c4d..39ee142dc2f 100644
--- a/lisp/forms.el
+++ b/lisp/forms.el
@@ -301,10 +301,10 @@
(provide 'forms) ;;; official
(provide 'forms-mode) ;;; for compatibility
-(defconst forms-version (substring "$Revision: 2.48 $" 11 -2)
+(defconst forms-version (substring "$Revision: 2.47 $" 11 -2)
"The version number of forms-mode (as string). The complete RCS id is:
- $Id: forms.el,v 2.48 2003/05/29 23:53:21 monnier Exp $")
+ $Id: forms.el,v 2.47 2003/05/28 11:19:48 rms Exp $")
(defcustom forms-mode-hook nil
"Hook run upon entering Forms mode."
@@ -2059,5 +2059,4 @@ Usage: (setq forms-number-of-fields
(goto-char (point-max))
(insert ret)))))
-;;; arch-tag: 4a6695c7-d47a-4a21-809b-5cec7f8ec7a1
;;; forms.el ends here
diff --git a/lisp/frame.el b/lisp/frame.el
index 7cef0f3e977..f8df2c7a2ec 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1327,5 +1327,4 @@ Use Custom to set this variable to get the display updated."
(provide 'frame)
-;;; arch-tag: 82979c70-b8f2-4306-b2ad-ddbd6b328b56
;;; frame.el ends here
diff --git a/lisp/fringe.el b/lisp/fringe.el
index 5aeeef6c09f..bbc27d5839f 100644
--- a/lisp/fringe.el
+++ b/lisp/fringe.el
@@ -169,5 +169,4 @@ If you want to set appearance of fringes on all frames, see `fringe-mode'."
(provide 'fringe)
-;;; arch-tag: 6611ef60-0869-47ed-8b93-587ee7d3ff5d
;;; fringe.el ends here
diff --git a/lisp/gdb-ui.el b/lisp/gdb-ui.el
deleted file mode 100644
index be7348aa650..00000000000
--- a/lisp/gdb-ui.el
+++ /dev/null
@@ -1,2430 +0,0 @@
-;;; gdb-ui.el --- User Interface for running GDB
-
-;; Author: Nick Roberts <nick@nick.uklinux.net>
-;; Maintainer: FSF
-;; Keywords: unix, tools
-
-;; Copyright (C) 2002 Free Software Foundation, Inc.
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;; This mode acts as a graphical user interface to GDB. You can interact with
-;; GDB through the GUD buffer in the usual way, but there are also further
-;; buffers which control the execution and describe the state of your program.
-;; It separates the input/output of your program from that of GDB and displays
-;; expressions and their current values in their own buffers. It also uses
-;; features of Emacs 21 such as the display margin for breakpoints, and the
-;; toolbar (see the GDB Graphical Interface section in the Emacs info manual).
-
-;; Start the debugger with M-x gdba.
-
-;; This file is based on gdba.el from GDB 5.0 written by Tom Lord and Jim
-;; Kingdon and uses GDB's annotation interface. You don't need to know about
-;; annotations to use this mode as a debugger, but if you are interested
-;; developing the mode itself, then see the Annotations section in the GDB
-;; info manual.
-;;
-;; Known Bugs:
-;; Does not auto-display arrays of structures or structures containing arrays.
-;; On MS Windows, Gdb 5.1.1 from MinGW 2.0 does not flush the output from the
-;; inferior.
-
-;;; Code:
-
-(require 'gud)
-
-(defcustom gdb-window-height 20
- "Number of lines in a frame for a displayed expression in GDB-UI."
- :type 'integer
- :group 'gud)
-
-(defcustom gdb-window-width 30
- "Width of a frame for a displayed expression in GDB-UI."
- :type 'integer
- :group 'gud)
-
-(defvar gdb-current-address "main" "Initialisation for Assembler buffer.")
-(defvar gdb-previous-address nil)
-(defvar gdb-previous-frame nil)
-(defvar gdb-current-frame "main")
-(defvar gdb-display-in-progress nil)
-(defvar gdb-dive nil)
-(defvar gdb-view-source t "Non-nil means that source code can be viewed")
-(defvar gdb-selected-view 'source "Code type that user wishes to view")
-(defvar gdb-buffer-type nil)
-(defvar gdb-variables '()
- "A list of variables that are local to the GUD buffer.")
-
-
-;;;###autoload
-(defun gdba (command-line)
- "Run gdb on program FILE in buffer *gud-FILE*.
-The directory containing FILE becomes the initial working directory
-and source-file directory for your debugger.
-
-If `gdb-many-windows' is nil (the default value) then gdb starts with
-just two windows : the GUD and the source buffer. If it is t the
-following layout will appear (keybindings given in relevant buffer) :
-
----------------------------------------------------------------------
- GDB Toolbar
----------------------------------------------------------------------
-GUD buffer (I/O of GDB) | Locals buffer
- |
- |
- |
----------------------------------------------------------------------
-Source buffer | Input/Output (of debuggee) buffer
- | (comint-mode)
- |
- |
- |
- |
- |
- |
----------------------------------------------------------------------
-Stack buffer | Breakpoints buffer
- RET gdb-frames-select | SPC gdb-toggle-breakpoint
- | RET gdb-goto-breakpoint
- | d gdb-delete-breakpoint
----------------------------------------------------------------------
-
-All the buffers share the toolbar and source should always display in the same
-window e.g after typing g on a breakpoint in the breakpoints buffer. Breakpoint
-icons are displayed both by setting a break with gud-break and by typing break
-in the GUD buffer.
-
-This works best (depending on the size of your monitor) using most of the
-screen.
-
-Displayed expressions appear in separate frames. Arrays may be displayed
-as slices and visualised using the graph program from plotutils if installed.
-Pointers in structures may be followed in a tree-like fashion.
-
-The following interactive lisp functions help control operation :
-
-`gdb-many-windows' - Toggle the number of windows gdb uses.
-`gdb-restore-windows' - To restore the window layout."
- ;;
- (interactive (list (gud-query-cmdline 'gdba)))
- ;;
- ;; Let's start with a basic gud-gdb buffer and then modify it a bit.
- (gdb command-line)
- ;;
- (set (make-local-variable 'gud-minor-mode) 'gdba)
- (set (make-local-variable 'gud-marker-filter) 'gud-gdba-marker-filter)
- ;;
- (gud-def gud-break (if (not (string-equal mode-name "Assembler"))
- (gud-call "break %f:%l" arg)
- (save-excursion
- (beginning-of-line)
- (forward-char 2)
- (gud-call "break *%a" arg)))
- "\C-b" "Set breakpoint at current line or address.")
- ;;
- (gud-def gud-remove (if (not (string-equal mode-name "Assembler"))
- (gud-call "clear %f:%l" arg)
- (save-excursion
- (beginning-of-line)
- (forward-char 2)
- (gud-call "clear *%a" arg)))
- "\C-d" "Remove breakpoint at current line or address.")
- ;;
- (gud-def gud-until (if (not (string-equal mode-name "Assembler"))
- (gud-call "until %f:%l" arg)
- (save-excursion
- (beginning-of-line)
- (forward-char 2)
- (gud-call "until *%a" arg)))
- "\C-u" "Continue to current line or address.")
-
- (setq comint-input-sender 'gdb-send)
- ;;
- ;; (re-)initialise
- (setq gdb-current-address "main")
- (setq gdb-previous-address nil)
- (setq gdb-previous-frame nil)
- (setq gdb-current-frame "main")
- (setq gdb-display-in-progress nil)
- (setq gdb-dive nil)
- (setq gdb-view-source t)
- (setq gdb-selected-view 'source)
- ;;
- (mapc 'make-local-variable gdb-variables)
- (setq gdb-buffer-type 'gdba)
- ;;
- (gdb-clear-inferior-io)
- ;;
- (if (eq window-system 'w32)
- (gdb-enqueue-input (list "set new-console off\n" 'ignore)))
- (gdb-enqueue-input (list "set height 0\n" 'ignore))
- ;; find source file and compilation directory here
- (gdb-enqueue-input (list "server list main\n" 'ignore)) ; C program
- (gdb-enqueue-input (list "server list MAIN__\n" 'ignore)) ; Fortran program
- (gdb-enqueue-input (list "server info source\n" 'gdb-source-info))
- ;;
- (run-hooks 'gdba-mode-hook))
-
-(defun gud-display ()
- "Auto-display (possibly dereferenced) C expression at point."
- (interactive)
- (save-excursion
- (let ((expr (gud-find-c-expr)))
- (gdb-enqueue-input
- (list (concat "server ptype " expr "\n")
- `(lambda () (gud-display1 ,expr)))))))
-
-(defun gud-display1 (expr)
- (goto-char (point-min))
- (if (looking-at "No symbol")
- (progn
- (gdb-set-output-sink 'user)
- (gud-call (concat "server ptype " expr)))
- (goto-char (- (point-max) 1))
- (if (equal (char-before) (string-to-char "\*"))
- (gdb-enqueue-input
- (list (concat "display* " expr "\n") 'ignore))
- (gdb-enqueue-input
- (list (concat "display " expr "\n") 'ignore)))))
-
-; this would messy because these bindings don't work with M-x gdb
-; (define-key global-map "\C-x\C-a\C-a" 'gud-display)
-; (define-key gud-minor-mode-map "\C-c\C-a" 'gud-display)
-
-
-
-;; ======================================================================
-;;
-;; In this world, there are gdb variables (of unspecified
-;; representation) and buffers associated with those objects.
-;; The list of variables is built up by the expansions of
-;; def-gdb-variable
-
-(defmacro def-gdb-var (root-symbol &optional default doc)
- (let* ((root (symbol-name root-symbol))
- (accessor (intern (concat "gdb-get-" root)))
- (setter (intern (concat "gdb-set-" root)))
- (name (intern (concat "gdb-" root))))
- `(progn
- (defvar ,name ,default ,doc)
- (if (not (memq ',name gdb-variables))
- (push ',name gdb-variables))
- (defun ,accessor ()
- (buffer-local-value ',name gud-comint-buffer))
- (defun ,setter (val)
- (with-current-buffer gud-comint-buffer
- (setq ,name val))))))
-
-(def-gdb-var buffer-type nil
- "One of the symbols bound in gdb-buffer-rules")
-
-(def-gdb-var burst ""
- "A string of characters from gdb that have not yet been processed.")
-
-(def-gdb-var input-queue ()
- "A list of high priority gdb command objects.")
-
-(def-gdb-var idle-input-queue ()
- "A list of low priority gdb command objects.")
-
-(def-gdb-var prompting nil
- "True when gdb is idle with no pending input.")
-
-(def-gdb-var output-sink 'user
- "The disposition of the output of the current gdb command.
-Possible values are these symbols:
-
- user -- gdb output should be copied to the GUD buffer
- for the user to see.
-
- inferior -- gdb output should be copied to the inferior-io buffer
-
- pre-emacs -- output should be ignored util the post-prompt
- annotation is received. Then the output-sink
- becomes:...
- emacs -- output should be collected in the partial-output-buffer
- for subsequent processing by a command. This is the
- disposition of output generated by commands that
- gdb mode sends to gdb on its own behalf.
- post-emacs -- ignore input until the prompt annotation is
- received, then go to USER disposition.
-")
-
-(def-gdb-var current-item nil
- "The most recent command item sent to gdb.")
-
-(def-gdb-var pending-triggers '()
- "A list of trigger functions that have run later than their output
-handlers.")
-
-;; end of gdb variables
-
-(defun gdb-get-target-string ()
- (with-current-buffer gud-comint-buffer
- gud-target-name))
-
-
-;;
-;; gdb buffers.
-;;
-;; Each buffer has a TYPE -- a symbol that identifies the function
-;; of that particular buffer.
-;;
-;; The usual gdb interaction buffer is given the type `gdba' and
-;; is constructed specially.
-;;
-;; Others are constructed by gdb-get-create-buffer and
-;; named according to the rules set forth in the gdb-buffer-rules-assoc
-
-(defvar gdb-buffer-rules-assoc '())
-
-(defun gdb-get-buffer (key)
- "Return the gdb buffer tagged with type KEY.
-The key should be one of the cars in `gdb-buffer-rules-assoc'."
- (save-excursion
- (gdb-look-for-tagged-buffer key (buffer-list))))
-
-(defun gdb-get-create-buffer (key)
- "Create a new gdb buffer of the type specified by KEY.
-The key should be one of the cars in `gdb-buffer-rules-assoc'."
- (or (gdb-get-buffer key)
- (let* ((rules (assoc key gdb-buffer-rules-assoc))
- (name (funcall (gdb-rules-name-maker rules)))
- (new (get-buffer-create name)))
- (with-current-buffer new
- ;; FIXME: This should be set after calling the function, since the
- ;; function should run kill-all-local-variables.
- (set (make-local-variable 'gdb-buffer-type) key)
- (if (cdr (cdr rules))
- (funcall (car (cdr (cdr rules)))))
- (set (make-local-variable 'gud-comint-buffer) gud-comint-buffer)
- (set (make-local-variable 'gud-minor-mode) 'gdba)
- (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)
- new))))
-
-(defun gdb-rules-name-maker (rules) (car (cdr rules)))
-
-(defun gdb-look-for-tagged-buffer (key bufs)
- (let ((retval nil))
- (while (and (not retval) bufs)
- (set-buffer (car bufs))
- (if (eq gdb-buffer-type key)
- (setq retval (car bufs)))
- (setq bufs (cdr bufs)))
- retval))
-
-;;
-;; This assoc maps buffer type symbols to rules. Each rule is a list of
-;; at least one and possible more functions. The functions have these
-;; roles in defining a buffer type:
-;;
-;; NAME - Return a name for this buffer type.
-;;
-;; The remaining function(s) are optional:
-;;
-;; MODE - called in a new buffer with no arguments, should establish
-;; the proper mode for the buffer.
-;;
-
-(defun gdb-set-buffer-rules (buffer-type &rest rules)
- (let ((binding (assoc buffer-type gdb-buffer-rules-assoc)))
- (if binding
- (setcdr binding rules)
- (push (cons buffer-type rules)
- gdb-buffer-rules-assoc))))
-
-;; GUD buffers are an exception to the rules
-(gdb-set-buffer-rules 'gdba 'error)
-
-;;
-;; Partial-output buffer : This accumulates output from a command executed on
-;; behalf of emacs (rather than the user).
-;;
-(gdb-set-buffer-rules 'gdb-partial-output-buffer
- 'gdb-partial-output-name)
-
-(defun gdb-partial-output-name ()
- (concat "*partial-output-"
- (gdb-get-target-string)
- "*"))
-
-
-(gdb-set-buffer-rules 'gdb-inferior-io
- 'gdb-inferior-io-name
- 'gdb-inferior-io-mode)
-
-(defun gdb-inferior-io-name ()
- (concat "*input/output of "
- (gdb-get-target-string)
- "*"))
-
-(defvar gdb-inferior-io-mode-map
- (let ((map (make-sparse-keymap)))
- (define-key map "\C-c\C-c" 'gdb-inferior-io-interrupt)
- (define-key map "\C-c\C-z" 'gdb-inferior-io-stop)
- (define-key map "\C-c\C-\\" 'gdb-inferior-io-quit)
- (define-key map "\C-c\C-d" 'gdb-inferior-io-eof)
- map))
-
-(define-derived-mode gdb-inferior-io-mode comint-mode "Debuggee I/O"
- "Major mode for gdb inferior-io."
- :syntax-table nil :abbrev-table nil
- ;; We want to use comint because it has various nifty and familiar
- ;; features. We don't need a process, but comint wants one, so create
- ;; a dummy one.
- (make-comint-in-buffer
- (substring (buffer-name) 1 (- (length (buffer-name)) 1))
- (current-buffer) "hexl")
- (setq comint-input-sender 'gdb-inferior-io-sender))
-
-(defun gdb-inferior-io-sender (proc string)
- ;; PROC is the pseudo-process created to satisfy comint.
- (with-current-buffer (process-buffer proc)
- (setq proc (get-buffer-process gud-comint-buffer))
- (process-send-string proc string)
- (process-send-string proc "\n")))
-
-(defun gdb-inferior-io-interrupt ()
- "Interrupt the program being debugged."
- (interactive)
- (interrupt-process
- (get-buffer-process gud-comint-buffer) comint-ptyp))
-
-(defun gdb-inferior-io-quit ()
- "Send quit signal to the program being debugged."
- (interactive)
- (quit-process
- (get-buffer-process gud-comint-buffer) comint-ptyp))
-
-(defun gdb-inferior-io-stop ()
- "Stop the program being debugged."
- (interactive)
- (stop-process
- (get-buffer-process gud-comint-buffer) comint-ptyp))
-
-(defun gdb-inferior-io-eof ()
- "Send end-of-file to the program being debugged."
- (interactive)
- (process-send-eof
- (get-buffer-process gud-comint-buffer)))
-
-
-;;
-;; gdb communications
-;;
-
-;; INPUT: things sent to gdb
-;;
-;; There is a high and low priority input queue. Low priority input is sent
-;; only when the high priority queue is idle.
-;;
-;; The queues are lists. Each element is either a string (indicating user or
-;; user-like input) or a list of the form:
-;;
-;; (INPUT-STRING HANDLER-FN)
-;;
-;; The handler function will be called from the partial-output buffer when the
-;; command completes. This is the way to write commands which invoke gdb
-;; commands autonomously.
-;;
-;; These lists are consumed tail first.
-;;
-
-(defun gdb-send (proc string)
- "A comint send filter for gdb.
-This filter may simply queue output for a later time."
- (gdb-enqueue-input (concat string "\n")))
-
-;; Note: Stuff enqueued here will be sent to the next prompt, even if it
-;; is a query, or other non-top-level prompt. To guarantee stuff will get
-;; sent to the top-level prompt, currently it must be put in the idle queue.
-;; ^^^^^^^^^
-;; [This should encourage gdb extensions that invoke gdb commands to let
-;; the user go first; it is not a bug. -t]
-;;
-
-(defun gdb-enqueue-input (item)
- (if (gdb-get-prompting)
- (progn
- (gdb-send-item item)
- (gdb-set-prompting nil))
- (gdb-set-input-queue
- (cons item (gdb-get-input-queue)))))
-
-(defun gdb-dequeue-input ()
- (let ((queue (gdb-get-input-queue)))
- (and queue
- (if (not (cdr queue))
- (let ((answer (car queue)))
- (gdb-set-input-queue '())
- answer)
- (gdb-take-last-elt queue)))))
-
-(defun gdb-enqueue-idle-input (item)
- (if (and (gdb-get-prompting)
- (not (gdb-get-input-queue)))
- (progn
- (gdb-send-item item)
- (gdb-set-prompting nil))
- (gdb-set-idle-input-queue
- (cons item (gdb-get-idle-input-queue)))))
-
-(defun gdb-dequeue-idle-input ()
- (let ((queue (gdb-get-idle-input-queue)))
- (and queue
- (if (not (cdr queue))
- (let ((answer (car queue)))
- (gdb-set-idle-input-queue '())
- answer)
- (gdb-take-last-elt queue)))))
-
-;; Don't use this in general.
-(defun gdb-take-last-elt (l)
- (if (cdr (cdr l))
- (gdb-take-last-elt (cdr l))
- (let ((answer (car (cdr l))))
- (setcdr l '())
- answer)))
-
-
-;;
-;; output -- things gdb prints to emacs
-;;
-;; GDB output is a stream interrupted by annotations.
-;; Annotations can be recognized by their beginning
-;; with \C-j\C-z\C-z<tag><opt>\C-j
-;;
-;; The tag is a string obeying symbol syntax.
-;;
-;; The optional part `<opt>' can be either the empty string
-;; or a space followed by more data relating to the annotation.
-;; For example, the SOURCE annotation is followed by a filename,
-;; line number and various useless goo. This data must not include
-;; any newlines.
-;;
-
-(defcustom gud-gdba-command-name "gdb -annotate=2 -noasync"
- "Default command to execute an executable under the GDB-UI debugger."
- :type 'string
- :group 'gud)
-
-(defvar gdb-annotation-rules
- '(("pre-prompt" gdb-pre-prompt)
- ("prompt" gdb-prompt)
- ("commands" gdb-subprompt)
- ("overload-choice" gdb-subprompt)
- ("query" gdb-subprompt)
- ("prompt-for-continue" gdb-subprompt)
- ("post-prompt" gdb-post-prompt)
- ("source" gdb-source)
- ("starting" gdb-starting)
- ("exited" gdb-stopping)
- ("signalled" gdb-stopping)
- ("signal" gdb-stopping)
- ("breakpoint" gdb-stopping)
- ("watchpoint" gdb-stopping)
- ("frame-begin" gdb-frame-begin)
- ("stopped" gdb-stopped)
- ("display-begin" gdb-display-begin)
- ("display-end" gdb-display-end)
-; GDB commands info stack, info locals and frame generate an error-begin
-; annotation at start when there is no stack but this is a quirk/bug in
-; annotations.
-; ("error-begin" gdb-error-begin)
- ("display-number-end" gdb-display-number-end)
- ("array-section-begin" gdb-array-section-begin)
- ("array-section-end" gdb-array-section-end)
- ;; ("elt" gdb-elt)
- ("field-begin" gdb-field-begin)
- ("field-end" gdb-field-end)
- ) "An assoc mapping annotation tags to functions which process them.")
-
-(defconst gdb-source-spec-regexp
- "\\(.*\\):\\([0-9]*\\):[0-9]*:[a-z]*:\\(0x[a-f0-9]*\\)")
-
-;; Do not use this except as an annotation handler.
-(defun gdb-source (args)
- (string-match gdb-source-spec-regexp args)
- ;; Extract the frame position from the marker.
- (setq gud-last-frame
- (cons
- (match-string 1 args)
- (string-to-int (match-string 2 args))))
- (setq gdb-current-address (match-string 3 args))
- (setq gdb-view-source t))
-
-(defun gdb-send-item (item)
- (gdb-set-current-item item)
- (if (stringp item)
- (progn
- (gdb-set-output-sink 'user)
- (process-send-string (get-buffer-process gud-comint-buffer) item))
- (progn
- (gdb-clear-partial-output)
- (gdb-set-output-sink 'pre-emacs)
- (process-send-string (get-buffer-process gud-comint-buffer)
- (car item)))))
-
-(defun gdb-pre-prompt (ignored)
- "An annotation handler for `pre-prompt'. This terminates the collection of
-output from a previous command if that happens to be in effect."
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'user) t)
- ((eq sink 'emacs)
- (gdb-set-output-sink 'post-emacs)
- (let ((handler
- (car (cdr (gdb-get-current-item)))))
- (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
- (funcall handler))))
- (t
- (gdb-set-output-sink 'user)
- (error "Phase error in gdb-pre-prompt (got %s)" sink)))))
-
-(defun gdb-prompt (ignored)
- "An annotation handler for `prompt'.
-This sends the next command (if any) to gdb."
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'user) t)
- ((eq sink 'post-emacs)
- (gdb-set-output-sink 'user))
- (t
- (gdb-set-output-sink 'user)
- (error "Phase error in gdb-prompt (got %s)" sink))))
- (let ((highest (gdb-dequeue-input)))
- (if highest
- (gdb-send-item highest)
- (let ((lowest (gdb-dequeue-idle-input)))
- (if lowest
- (gdb-send-item lowest)
- (progn
- (gdb-set-prompting t)
- (gud-display-frame)))))))
-
-(defun gdb-subprompt (ignored)
- "An annotation handler for non-top-level prompts."
- (let ((highest (gdb-dequeue-input)))
- (if highest
- (gdb-send-item highest)
- (gdb-set-prompting t))))
-
-(defun gdb-starting (ignored)
- "An annotation handler for `starting'. This says that I/O for the
-subprocess is now the program being debugged, not GDB."
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'user)
- (progn
- (setq gud-running t)
- (gdb-set-output-sink 'inferior)))
- (t (error "Unexpected `starting' annotation")))))
-
-(defun gdb-stopping (ignored)
- "An annotation handler for `exited' and other annotations which say that I/O
-for the subprocess is now GDB, not the program being debugged."
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'inferior)
- (gdb-set-output-sink 'user))
- (t (error "Unexpected stopping annotation")))))
-
-(defun gdb-frame-begin (ignored)
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'inferior)
- (gdb-set-output-sink 'user))
- ((eq sink 'user) t)
- ((eq sink 'emacs) t)
- (t (error "Unexpected frame-begin annotation (%S)" sink)))))
-
-(defun gdb-stopped (ignored)
- "An annotation handler for `stopped'. It is just like gdb-stopping, except
-that if we already set the output sink to 'user in gdb-stopping, that is fine."
- (setq gud-running nil)
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'inferior)
- (gdb-set-output-sink 'user))
- ((eq sink 'user) t)
- (t (error "Unexpected stopped annotation")))))
-
-(defun gdb-post-prompt (ignored)
- "An annotation handler for `post-prompt'. This begins the collection of
-output from the current command if that happens to be appropriate."
- (if (not (gdb-get-pending-triggers))
- (progn
- (gdb-get-current-frame)
- (gdb-invalidate-frames)
- (gdb-invalidate-breakpoints)
- (gdb-invalidate-assembler)
- (gdb-invalidate-registers)
- (gdb-invalidate-locals)
- (gdb-invalidate-display)
- (gdb-invalidate-threads)))
- (let ((sink (gdb-get-output-sink)))
- (cond
- ((eq sink 'user) t)
- ((eq sink 'pre-emacs)
- (gdb-set-output-sink 'emacs))
- (t
- (gdb-set-output-sink 'user)
- (error "Phase error in gdb-post-prompt (got %s)" sink)))))
-
-;; If we get an error whilst evaluating one of the expressions
-;; we won't get the display-end annotation. Set the sink back to
-;; user to make sure that the error message is seen.
-;; NOT USED: see annotation-rules for reason.
-;(defun gdb-error-begin (ignored)
-; (gdb-set-output-sink 'user))
-
-(defun gdb-display-begin (ignored)
- (gdb-set-output-sink 'emacs)
- (gdb-clear-partial-output)
- (setq gdb-display-in-progress t))
-
-(defvar gdb-expression-buffer-name nil)
-(defvar gdb-display-number nil)
-(defvar gdb-dive-display-number nil)
-
-(defun gdb-display-number-end (ignored)
- (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer))
- (setq gdb-display-number (buffer-string))
- (setq gdb-expression-buffer-name
- (concat "*display " gdb-display-number "*"))
- (save-excursion
- (if (progn
- (set-buffer (window-buffer))
- gdb-dive)
- (progn
- (let ((number gdb-display-number))
- (switch-to-buffer
- (set-buffer (get-buffer-create gdb-expression-buffer-name)))
- (gdb-expressions-mode)
- (setq gdb-dive-display-number number)))
- (set-buffer (get-buffer-create gdb-expression-buffer-name))
- (if (display-graphic-p)
- (catch 'frame-exists
- (dolist (frame (frame-list))
- (if (string-equal (frame-parameter frame 'name)
- gdb-expression-buffer-name)
- (throw 'frame-exists nil)))
- (gdb-expressions-mode)
- (make-frame `((height . ,gdb-window-height)
- (width . ,gdb-window-width)
- (tool-bar-lines . nil)
- (menu-bar-lines . nil)
- (minibuffer . nil))))
- (gdb-expressions-mode)
- (gdb-display-buffer (get-buffer gdb-expression-buffer-name)))))
- (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer))
- (setq gdb-dive nil))
-
-(defvar gdb-nesting-level nil)
-(defvar gdb-expression nil)
-(defvar gdb-point nil)
-(defvar gdb-annotation-arg nil)
-
-(defun gdb-delete-line ()
- "Delete the current line."
- (delete-region (line-beginning-position) (line-beginning-position 2)))
-
-(defun gdb-display-end (ignored)
- (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer))
- (goto-char (point-min))
- (search-forward ": ")
- (looking-at "\\(.*?\\) =")
- (let ((char "")
- (gdb-temp-value (match-string 1)))
- ;;move * to front of expression if necessary
- (if (looking-at ".*\\*")
- (progn
- (setq char "*")
- (setq gdb-temp-value (substring gdb-temp-value 1 nil))))
- (with-current-buffer gdb-expression-buffer-name
- (setq gdb-expression gdb-temp-value)
- (if (not (string-match "::" gdb-expression))
- (setq gdb-expression (concat char gdb-current-frame
- "::" gdb-expression))
- ;;else put * back on if necessary
- (setq gdb-expression (concat char gdb-expression)))
- (if (not header-line-format)
- (setq header-line-format (concat "-- " gdb-expression " %-")))))
- ;;
- ;;-if scalar/string
- (if (not (re-search-forward "##" nil t))
- (progn
- (with-current-buffer gdb-expression-buffer-name
- (let ((buffer-read-only nil))
- (delete-region (point-min) (point-max))
- (insert-buffer-substring
- (gdb-get-buffer 'gdb-partial-output-buffer)))))
- ;; display expression name...
- (goto-char (point-min))
- (let ((start (progn (point)))
- (end (progn (end-of-line) (point))))
- (with-current-buffer gdb-expression-buffer-name
- (let ((buffer-read-only nil))
- (delete-region (point-min) (point-max))
- (insert-buffer-substring (gdb-get-buffer
- 'gdb-partial-output-buffer)
- start end)
- (insert "\n"))))
- (goto-char (point-min))
- (re-search-forward "##" nil t)
- (setq gdb-nesting-level 0)
- (if (looking-at "array-section-begin")
- (progn
- (gdb-delete-line)
- (setq gdb-point (point))
- (gdb-array-format)))
- (if (looking-at "field-begin \\(.\\)")
- (progn
- (setq gdb-annotation-arg (match-string 1))
- (gdb-field-format-begin))))
- (with-current-buffer gdb-expression-buffer-name
- (if gdb-dive-display-number
- (progn
- (let ((buffer-read-only nil))
- (goto-char (point-max))
- (insert "\n")
- (insert-text-button "[back]" 'type 'gdb-display-back)))))
- (gdb-clear-partial-output)
- (gdb-set-output-sink 'user)
- (setq gdb-display-in-progress nil))
-
-(define-button-type 'gdb-display-back
- 'help-echo "mouse-2, RET: go back to previous display buffer"
- 'action (lambda (button) (gdb-display-go-back)))
-
-(defun gdb-display-go-back ()
- ;; delete display so they don't accumulate and delete buffer
- (let ((number gdb-display-number))
- (gdb-enqueue-input
- (list (concat "server delete display " number "\n") 'ignore))
- (switch-to-buffer (concat "*display " gdb-dive-display-number "*"))
- (kill-buffer (get-buffer (concat "*display " number "*")))))
-
-;; prefix annotations with ## and process whole output in one chunk
-;; in gdb-partial-output-buffer (to allow recursion).
-
-;; array-section flags are just removed again but after counting. They
-;; might also be useful for arrays of structures and structures with arrays.
-(defun gdb-array-section-begin (args)
- (if gdb-display-in-progress
- (progn
- (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
- (goto-char (point-max))
- (insert (concat "\n##array-section-begin " args "\n"))))))
-
-(defun gdb-array-section-end (ignored)
- (if gdb-display-in-progress
- (progn
- (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
- (goto-char (point-max))
- (insert "\n##array-section-end\n")))))
-
-(defun gdb-field-begin (args)
- (if gdb-display-in-progress
- (progn
- (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
- (goto-char (point-max))
- (insert (concat "\n##field-begin " args "\n"))))))
-
-(defun gdb-field-end (ignored)
- (if gdb-display-in-progress
- (progn
- (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
- (goto-char (point-max))
- (insert "\n##field-end\n")))))
-
-(defun gdb-elt (ignored)
- (if gdb-display-in-progress
- (progn
- (goto-char (point-max))
- (insert "\n##elt\n"))))
-
-(defun gdb-field-format-begin ()
- ;; get rid of ##field-begin
- (gdb-delete-line)
- (gdb-insert-field)
- (setq gdb-nesting-level (+ gdb-nesting-level 1))
- (while (re-search-forward "##" nil t)
- ;; keep making recursive calls...
- (if (looking-at "field-begin \\(.\\)")
- (progn
- (setq gdb-annotation-arg (match-string 1))
- (gdb-field-format-begin)))
- ;; until field-end.
- (if (looking-at "field-end") (gdb-field-format-end))))
-
-(defun gdb-field-format-end ()
- ;; get rid of ##field-end and `,' or `}'
- (gdb-delete-line)
- (gdb-delete-line)
- (setq gdb-nesting-level (- gdb-nesting-level 1)))
-
-(defvar gdb-dive-map
- (let ((map (make-sparse-keymap)))
- (define-key map [mouse-2] 'gdb-dive)
- (define-key map [S-mouse-2] 'gdb-dive-new-frame)
- map))
-
-(defun gdb-dive (event)
- "Dive into structure."
- (interactive "e")
- (setq gdb-dive t)
- (gdb-dive-new-frame event))
-
-(defun gdb-dive-new-frame (event)
- "Dive into structure and display in a new frame."
- (interactive "e")
- (save-excursion
- (mouse-set-point event)
- (let ((point (point)) (gdb-full-expression gdb-expression)
- (end (progn (end-of-line) (point)))
- (gdb-part-expression "") (gdb-last-field nil) (gdb-display-char nil))
- (beginning-of-line)
- (if (looking-at "\*") (setq gdb-display-char "*"))
- (re-search-forward "\\(\\S-+\\) = " end t)
- (setq gdb-last-field (match-string-no-properties 1))
- (goto-char (match-beginning 1))
- (let ((last-column (current-column)))
- (while (re-search-backward "\\s-\\(\\S-+\\) = {" nil t)
- (goto-char (match-beginning 1))
- (if (and (< (current-column) last-column)
- (> (count-lines 1 (point)) 1))
- (progn
- (setq gdb-part-expression
- (concat "." (match-string-no-properties 1)
- gdb-part-expression))
- (setq last-column (current-column))))))
- ;; * not needed for components of a pointer to a structure in gdb
- (if (string-equal "*" (substring gdb-full-expression 0 1))
- (setq gdb-full-expression (substring gdb-full-expression 1 nil)))
- (setq gdb-full-expression
- (concat gdb-full-expression gdb-part-expression "." gdb-last-field))
- (gdb-enqueue-input
- (list (concat "server display" gdb-display-char
- " " gdb-full-expression "\n")
- 'ignore)))))
-
-(defun gdb-insert-field ()
- (let ((start (progn (point)))
- (end (progn (next-line) (point)))
- (num 0))
- (with-current-buffer gdb-expression-buffer-name
- (let ((buffer-read-only nil))
- (if (string-equal gdb-annotation-arg "\*") (insert "\*"))
- (while (<= num gdb-nesting-level)
- (insert "\t")
- (setq num (+ num 1)))
- (insert-buffer-substring (gdb-get-buffer
- 'gdb-partial-output-buffer)
- start end)
- (add-text-properties
- (- (point) (- end start)) (- (point) 1)
- `(mouse-face highlight
- local-map ,gdb-dive-map
- help-echo "mouse-2: dive, S-mouse-2: dive in a new frame"))))
- (delete-region start end)))
-
-(defvar gdb-values nil)
-
-(defun gdb-array-format ()
- (while (re-search-forward "##" nil t)
- ;; keep making recursive calls...
- (if (looking-at "array-section-begin")
- (progn
- ;;get rid of ##array-section-begin
- (gdb-delete-line)
- (setq gdb-nesting-level (+ gdb-nesting-level 1))
- (gdb-array-format)))
- ;;until *matching* array-section-end is found
- (if (looking-at "array-section-end")
- (if (eq gdb-nesting-level 0)
- (progn
- (let ((values (buffer-substring gdb-point (- (point) 2))))
- (with-current-buffer gdb-expression-buffer-name
- (setq gdb-values
- (concat "{" (replace-regexp-in-string "\n" "" values)
- "}"))
- (gdb-array-format1))))
- ;;else get rid of ##array-section-end etc
- (gdb-delete-line)
- (setq gdb-nesting-level (- gdb-nesting-level 1))
- (gdb-array-format)))))
-
-(defvar gdb-array-start nil)
-(defvar gdb-array-stop nil)
-
-(defvar gdb-array-slice-map
- (let ((map (make-sparse-keymap)))
- (define-key map "\r" 'gdb-array-slice)
- (define-key map [mouse-2] 'gdb-mouse-array-slice)
- map))
-
-(defun gdb-mouse-array-slice (event)
- "Select an array slice to display."
- (interactive "e")
- (mouse-set-point event)
- (gdb-array-slice))
-
-(defun gdb-array-slice ()
- (interactive)
- (save-excursion
- (let ((n -1) (stop 0) (start 0) (point (point)))
- (beginning-of-line)
- (while (search-forward "[" point t)
- (setq n (+ n 1)))
- (setq start (string-to-int (read-string "Start index: ")))
- (aset gdb-array-start n start)
- (setq stop (string-to-int (read-string "Stop index: ")))
- (aset gdb-array-stop n stop)))
- (gdb-array-format1))
-
-(defvar gdb-display-string nil)
-(defvar gdb-array-size nil)
-
-(defun gdb-array-format1 ()
- (setq gdb-display-string "")
- (let ((buffer-read-only nil))
- (delete-region (point-min) (point-max))
- (let ((gdb-value-list (split-string gdb-values ", ")))
- (string-match "\\({+\\)" (car gdb-value-list))
- (let* ((depth (- (match-end 1) (match-beginning 1)))
- (indices (make-vector depth '0))
- (index 0) (num 0) (array-start "")
- (array-stop "") (array-slice "") (array-range nil)
- (flag t) (indices-string ""))
- (dolist (gdb-value gdb-value-list)
- (string-match "{*\\([^}]*\\)\\(}*\\)" gdb-value)
- (setq num 0)
- (while (< num depth)
- (setq indices-string
- (concat indices-string
- "[" (int-to-string (aref indices num)) "]"))
- (if (not (= (aref gdb-array-start num) -1))
- (if (or (< (aref indices num) (aref gdb-array-start num))
- (> (aref indices num) (aref gdb-array-stop num)))
- (setq flag nil))
- (aset gdb-array-size num (aref indices num)))
- (setq num (+ num 1)))
- (if flag
- (let ((gdb-display-value (match-string 1 gdb-value)))
- (setq gdb-display-string (concat gdb-display-string " "
- gdb-display-value))
- (insert
- (concat indices-string "\t" gdb-display-value "\n"))))
- (setq indices-string "")
- (setq flag t)
- ;; 0<= index < depth, start at right : (- depth 1)
- (setq index (- (- depth 1)
- (- (match-end 2) (match-beginning 2))))
- ;;don't set for very last brackets
- (when (>= index 0)
- (aset indices index (+ 1 (aref indices index)))
- (setq num (+ 1 index))
- (while (< num depth)
- (aset indices num 0)
- (setq num (+ num 1)))))
- (setq num 0)
- (while (< num depth)
- (if (= (aref gdb-array-start num) -1)
- (progn
- (aset gdb-array-start num 0)
- (aset gdb-array-stop num (aref indices num))))
- (setq array-start (int-to-string (aref gdb-array-start num)))
- (setq array-stop (int-to-string (aref gdb-array-stop num)))
- (setq array-range (concat "[" array-start
- ":" array-stop "]"))
- (add-text-properties
- 1 (+ (length array-start) (length array-stop) 2)
- `(mouse-face highlight
- local-map ,gdb-array-slice-map
- help-echo "mouse-2, RET: select slice for this index") array-range)
- (goto-char (point-min))
- (setq array-slice (concat array-slice array-range))
- (setq num (+ num 1)))
- (goto-char (point-min))
- (insert "Array Size : ")
- (setq num 0)
- (while (< num depth)
- (insert
- (concat "["
- (int-to-string (+ (aref gdb-array-size num) 1)) "]"))
- (setq num (+ num 1)))
- (insert
- (concat "\n Slice : " array-slice "\n\nIndex\tValues\n\n"))))))
-
-(defun gud-gdba-marker-filter (string)
- "A gud marker filter for gdb. Handle a burst of output from GDB."
- (let (
- ;; Recall the left over burst from last time
- (burst (concat (gdb-get-burst) string))
- ;; Start accumulating output for the GUD buffer
- (output ""))
- ;;
- ;; Process all the complete markers in this chunk.
- (while (string-match "\n\032\032\\(.*\\)\n" burst)
- (let ((annotation (match-string 1 burst)))
- ;;
- ;; Stuff prior to the match is just ordinary output.
- ;; It is either concatenated to OUTPUT or directed
- ;; elsewhere.
- (setq output
- (gdb-concat-output
- output
- (substring burst 0 (match-beginning 0))))
-
- ;; Take that stuff off the burst.
- (setq burst (substring burst (match-end 0)))
-
- ;; Parse the tag from the annotation, and maybe its arguments.
- (string-match "\\(\\S-*\\) ?\\(.*\\)" annotation)
- (let* ((annotation-type (match-string 1 annotation))
- (annotation-arguments (match-string 2 annotation))
- (annotation-rule (assoc annotation-type
- gdb-annotation-rules)))
- ;; Call the handler for this annotation.
- (if annotation-rule
- (funcall (car (cdr annotation-rule))
- annotation-arguments)
- ;; Else the annotation is not recognized. Ignore it silently,
- ;; so that GDB can add new annotations without causing
- ;; us to blow up.
- ))))
- ;;
- ;; Does the remaining text end in a partial line?
- ;; If it does, then keep part of the burst until we get more.
- (if (string-match "\n\\'\\|\n\032\\'\\|\n\032\032.*\\'"
- burst)
- (progn
- ;; Everything before the potential marker start can be output.
- (setq output
- (gdb-concat-output output
- (substring burst 0 (match-beginning 0))))
- ;;
- ;; Everything after, we save, to combine with later input.
- (setq burst (substring burst (match-beginning 0))))
- ;;
- ;; In case we know the burst contains no partial annotations:
- (progn
- (setq output (gdb-concat-output output burst))
- (setq burst "")))
- ;;
- ;; Save the remaining burst for the next call to this function.
- (gdb-set-burst burst)
- output))
-
-(defun gdb-concat-output (so-far new)
- (let ((sink (gdb-get-output-sink )))
- (cond
- ((eq sink 'user) (concat so-far new))
- ((or (eq sink 'pre-emacs) (eq sink 'post-emacs)) so-far)
- ((eq sink 'emacs)
- (gdb-append-to-partial-output new)
- so-far)
- ((eq sink 'inferior)
- (gdb-append-to-inferior-io new)
- so-far)
- (t (error "Bogon output sink %S" sink)))))
-
-(defun gdb-append-to-partial-output (string)
- (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
- (goto-char (point-max))
- (insert string)))
-
-(defun gdb-clear-partial-output ()
- (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
- (delete-region (point-min) (point-max))))
-
-(defun gdb-append-to-inferior-io (string)
- (with-current-buffer (gdb-get-create-buffer 'gdb-inferior-io)
- (goto-char (point-max))
- (insert-before-markers string))
- (if (not (string-equal string ""))
- (gdb-display-buffer (gdb-get-create-buffer 'gdb-inferior-io))))
-
-(defun gdb-clear-inferior-io ()
- (with-current-buffer (gdb-get-create-buffer 'gdb-inferior-io)
- (delete-region (point-min) (point-max))))
-
-
-;; One trick is to have a command who's output is always available in a buffer
-;; of it's own, and is always up to date. We build several buffers of this
-;; type.
-;;
-;; There are two aspects to this: gdb has to tell us when the output for that
-;; command might have changed, and we have to be able to run the command
-;; behind the user's back.
-;;
-;; The idle input queue and the output phasing associated with the variable
-;; gdb-output-sink help us to run commands behind the user's back.
-;;
-;; Below is the code for specificly managing buffers of output from one
-;; command.
-;;
-
-;; The trigger function is suitable for use in the assoc GDB-ANNOTATION-RULES
-;; It adds an idle input for the command we are tracking. It should be the
-;; annotation rule binding of whatever gdb sends to tell us this command
-;; might have changed it's output.
-;;
-;; NAME is the function name. DEMAND-PREDICATE tests if output is really needed.
-;; GDB-COMMAND is a string of such. OUTPUT-HANDLER is the function bound to the
-;; input in the input queue (see comment about ``gdb communications'' above).
-
-(defmacro def-gdb-auto-update-trigger (name demand-predicate gdb-command
- output-handler)
- `(defun ,name (&optional ignored)
- (if (and (,demand-predicate)
- (not (member ',name
- (gdb-get-pending-triggers))))
- (progn
- (gdb-enqueue-idle-input
- (list ,gdb-command ',output-handler))
- (gdb-set-pending-triggers
- (cons ',name
- (gdb-get-pending-triggers)))))))
-
-(defmacro def-gdb-auto-update-handler (name trigger buf-key custom-defun)
- `(defun ,name ()
- (gdb-set-pending-triggers
- (delq ',trigger
- (gdb-get-pending-triggers)))
- (let ((buf (gdb-get-buffer ',buf-key)))
- (and buf
- (with-current-buffer buf
- (let ((p (point))
- (buffer-read-only nil))
- (delete-region (point-min) (point-max))
- (insert-buffer-substring (gdb-get-create-buffer
- 'gdb-partial-output-buffer))
- (goto-char p)))))
- ;; put customisation here
- (,custom-defun)))
-
-(defmacro def-gdb-auto-updated-buffer (buffer-key trigger-name gdb-command
- output-handler-name custom-defun)
- `(progn
- (def-gdb-auto-update-trigger ,trigger-name
- ;; The demand predicate:
- (lambda () (gdb-get-buffer ',buffer-key))
- ,gdb-command
- ,output-handler-name)
- (def-gdb-auto-update-handler ,output-handler-name
- ,trigger-name ,buffer-key ,custom-defun)))
-
-
-;;
-;; Breakpoint buffer : This displays the output of `info breakpoints'.
-;;
-(gdb-set-buffer-rules 'gdb-breakpoints-buffer
- 'gdb-breakpoints-buffer-name
- 'gdb-breakpoints-mode)
-
-(def-gdb-auto-updated-buffer gdb-breakpoints-buffer
- ;; This defines the auto update rule for buffers of type
- ;; `gdb-breakpoints-buffer'.
- ;;
- ;; It defines a function to serve as the annotation handler that
- ;; handles the `foo-invalidated' message. That function is called:
- gdb-invalidate-breakpoints
- ;;
- ;; To update the buffer, this command is sent to gdb.
- "server info breakpoints\n"
- ;;
- ;; This also defines a function to be the handler for the output
- ;; from the command above. That function will copy the output into
- ;; the appropriately typed buffer. That function will be called:
- gdb-info-breakpoints-handler
- ;; buffer specific functions
- gdb-info-breakpoints-custom)
-
-(defvar gdb-cdir nil "Compilation directory.")
-
-(defconst breakpoint-xpm-data "/* XPM */
-static char *magick[] = {
-/* columns rows colors chars-per-pixel */
-\"12 12 2 1\",
-\" c red\",
-\"+ c None\",
-/* pixels */
-\"++++++++++++\",
-\"+++ +++\",
-\"++ ++\",
-\"+ +\",
-\"+ +\",
-\"+ +\",
-\"+ +\",
-\"+ +\",
-\"+ +\",
-\"++ ++\",
-\"+++ +++\",
-\"++++++++++++\"
-};"
- "XPM data used for breakpoint icon.")
-
-(defconst breakpoint-enabled-pbm-data
-"P1
-12 12\",
-0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 1 1 1 1 1 1 0 0 0
-0 0 1 1 1 1 1 1 1 1 0 0
-0 1 1 1 1 1 1 1 1 1 1 0
-0 1 1 1 1 1 1 1 1 1 1 0
-0 1 1 1 1 1 1 1 1 1 1 0
-0 1 1 1 1 1 1 1 1 1 1 0
-0 1 1 1 1 1 1 1 1 1 1 0
-0 1 1 1 1 1 1 1 1 1 1 0
-0 0 1 1 1 1 1 1 1 1 0 0
-0 0 0 1 1 1 1 1 1 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0"
- "PBM data used for enabled breakpoint icon.")
-
-(defconst breakpoint-disabled-pbm-data
-"P1
-12 12\",
-0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 1 0 1 0 1 0 0 0 0
-0 0 1 0 1 0 1 0 1 0 0 0
-0 1 0 1 0 1 0 1 0 1 0 0
-0 0 1 0 1 0 1 0 1 0 1 0
-0 1 0 1 0 1 0 1 0 1 0 0
-0 0 1 0 1 0 1 0 1 0 1 0
-0 1 0 1 0 1 0 1 0 1 0 0
-0 0 1 0 1 0 1 0 1 0 1 0
-0 0 0 1 0 1 0 1 0 1 0 0
-0 0 0 0 1 0 1 0 1 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0"
- "PBM data used for disabled breakpoint icon.")
-
-(defvar breakpoint-enabled-icon
- (find-image `((:type xpm :data ,breakpoint-xpm-data)
- (:type pbm :data ,breakpoint-enabled-pbm-data)))
- "Icon for enabled breakpoint in display margin")
-
-(defvar breakpoint-disabled-icon
- (find-image `((:type xpm :data ,breakpoint-xpm-data :conversion disabled)
- (:type pbm :data ,breakpoint-disabled-pbm-data)))
- "Icon for disabled breakpoint in display margin")
-
-;;-put breakpoint icons in relevant margins (even those set in the GUD buffer)
-(defun gdb-info-breakpoints-custom ()
- (let ((flag)(address))
- ;;
- ;; remove all breakpoint-icons in source buffers but not assembler buffer
- (dolist (buffer (buffer-list))
- (with-current-buffer buffer
- (if (and (eq gud-minor-mode 'gdba)
- (not (string-match "^\*" (buffer-name))))
- (if (display-images-p)
- (remove-images (point-min) (point-max))
- (gdb-remove-strings (point-min) (point-max))))))
- (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer)
- (save-excursion
- (goto-char (point-min))
- (while (< (point) (- (point-max) 1))
- (forward-line 1)
- (if (looking-at "[^\t].*breakpoint")
- (progn
- (looking-at "[0-9]*\\s-*\\S-*\\s-*\\S-*\\s-*\\(.\\)")
- (setq flag (char-after (match-beginning 1)))
- (beginning-of-line)
- (if (re-search-forward "in\\s-+\\S-+\\s-+at\\s-+" nil t)
- (progn
- (looking-at "\\(\\S-*\\):\\([0-9]+\\)")
- (let ((line (match-string 2)) (buffer-read-only nil)
- (file (match-string 1)))
- (add-text-properties (point-at-bol) (point-at-eol)
- '(mouse-face highlight
- help-echo "mouse-2, RET: visit breakpoint"))
- (with-current-buffer
- (find-file-noselect
- (if (file-exists-p file) file
- (expand-file-name file gdb-cdir)))
- (save-current-buffer
- (set (make-local-variable 'gud-minor-mode) 'gdba)
- (set (make-local-variable 'tool-bar-map)
- gud-tool-bar-map)
- (setq left-margin-width 2)
- (if (get-buffer-window (current-buffer))
- (set-window-margins (get-buffer-window
- (current-buffer))
- left-margin-width
- right-margin-width)))
- ;; only want one breakpoint icon at each location
- (save-excursion
- (goto-line (string-to-number line))
- (let ((start (progn (beginning-of-line)
- (- (point) 1)))
- (end (progn (end-of-line) (+ (point) 1))))
- (if (display-images-p)
- (progn
- (remove-images start end)
- (if (eq ?y flag)
- (put-image breakpoint-enabled-icon
- (+ start 1)
- "breakpoint icon enabled"
- 'left-margin)
- (put-image breakpoint-disabled-icon
- (+ start 1)
- "breakpoint icon disabled"
- 'left-margin)))
- (gdb-remove-strings start end)
- (if (eq ?y flag)
- (gdb-put-string "B" (+ start 1))
- (gdb-put-string "b" (+ start 1))))))))))))
- (end-of-line)))))
- (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom)))
-
-(defun gdb-breakpoints-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*breakpoints of " (gdb-get-target-string) "*")))
-
-(defun gdb-display-breakpoints-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-breakpoints-buffer)))
-
-(defun gdb-frame-breakpoints-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-breakpoints-buffer)))
-
-(defvar gdb-breakpoints-mode-map
- (let ((map (make-sparse-keymap))
- (menu (make-sparse-keymap "Breakpoints")))
- (define-key menu [toggle] '("Toggle" . gdb-toggle-breakpoint))
- (define-key menu [delete] '("Delete" . gdb-delete-breakpoint))
- (define-key menu [goto] '("Goto" . gdb-goto-breakpoint))
-
- (suppress-keymap map)
- (define-key map [menu-bar breakpoints] (cons "Breakpoints" menu))
- (define-key map " " 'gdb-toggle-breakpoint)
- (define-key map "d" 'gdb-delete-breakpoint)
- (define-key map "\r" 'gdb-goto-breakpoint)
- (define-key map [mouse-2] 'gdb-mouse-goto-breakpoint)
- map))
-
-(defun gdb-breakpoints-mode ()
- "Major mode for gdb breakpoints.
-
-\\{gdb-breakpoints-mode-map}"
- (setq major-mode 'gdb-breakpoints-mode)
- (setq mode-name "Breakpoints")
- (use-local-map gdb-breakpoints-mode-map)
- (setq buffer-read-only t)
- (gdb-invalidate-breakpoints))
-
-(defun gdb-toggle-breakpoint ()
- "Enable/disable the breakpoint at current line."
- (interactive)
- (save-excursion
- (beginning-of-line 1)
- (if (not (looking-at "\\([0-9]+\\).*point\\s-*\\S-*\\s-*\\(.\\)"))
- (error "Not recognized as break/watchpoint line")
- (gdb-enqueue-input
- (list
- (concat
- (if (eq ?y (char-after (match-beginning 2)))
- "server disable "
- "server enable ")
- (match-string 1) "\n")
- 'ignore)))))
-
-(defun gdb-delete-breakpoint ()
- "Delete the breakpoint at current line."
- (interactive)
- (beginning-of-line 1)
- (if (not (looking-at "\\([0-9]+\\).*point\\s-*\\S-*\\s-*\\(.\\)"))
- (error "Not recognized as break/watchpoint line")
- (gdb-enqueue-input
- (list (concat "server delete " (match-string 1) "\n") 'ignore))))
-
-(defvar gdb-source-window nil)
-
-(defun gdb-goto-breakpoint ()
- "Display the file in the source buffer at the breakpoint specified on the
-current line."
- (interactive)
- (save-excursion
- (beginning-of-line 1)
- (re-search-forward "in\\s-+\\S-+\\s-+at\\s-+" nil t)
- (looking-at "\\(\\S-*\\):\\([0-9]+\\)"))
- (if (match-string 2)
- (let ((line (match-string 2))
- (file (match-string 1)))
- (save-selected-window
- (select-window gdb-source-window)
- (switch-to-buffer (find-file-noselect
- (if (file-exists-p file)
- file
- (expand-file-name file gdb-cdir))))
- (goto-line (string-to-number line))))))
-
-(defun gdb-mouse-goto-breakpoint (event)
- "Display the file in the source buffer at the selected breakpoint."
- (interactive "e")
- (mouse-set-point event)
- (gdb-goto-breakpoint))
-
-;;
-;; Frames buffer. This displays a perpetually correct bactracktrace
-;; (from the command `where').
-;;
-;; Alas, if your stack is deep, it is costly.
-;;
-(gdb-set-buffer-rules 'gdb-stack-buffer
- 'gdb-stack-buffer-name
- 'gdb-frames-mode)
-
-(def-gdb-auto-updated-buffer gdb-stack-buffer
- gdb-invalidate-frames
- "server where\n"
- gdb-info-frames-handler
- gdb-info-frames-custom)
-
-(defun gdb-info-frames-custom ()
- (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer)
- (save-excursion
- (let ((buffer-read-only nil))
- (goto-char (point-min))
- (while (< (point) (point-max))
- (add-text-properties (point-at-bol) (point-at-eol)
- '(mouse-face highlight
- help-echo "mouse-2, RET: Select frame"))
- (beginning-of-line)
- (if (or (looking-at "^#[0-9]*\\s-*\\S-* in \\(\\S-*\\)")
- (looking-at "^#[0-9]*\\s-*\\(\\S-*\\)"))
- (if (equal (match-string 1) gdb-current-frame)
- (put-text-property (point-at-bol) (point-at-eol)
- 'face
- `(:background ,(face-attribute 'default :foreground)
- :foreground ,(face-attribute 'default :background)))))
- (forward-line 1))))))
-
-(defun gdb-stack-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*stack frames of " (gdb-get-target-string) "*")))
-
-(defun gdb-display-stack-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-stack-buffer)))
-
-(defun gdb-frame-stack-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-stack-buffer)))
-
-(defvar gdb-frames-mode-map
- (let ((map (make-sparse-keymap)))
- (suppress-keymap map)
- (define-key map "\r" 'gdb-frames-select)
- (define-key map [mouse-2] 'gdb-frames-mouse-select)
- map))
-
-(defun gdb-frames-mode ()
- "Major mode for gdb frames.
-
-\\{gdb-frames-mode-map}"
- (setq major-mode 'gdb-frames-mode)
- (setq mode-name "Frames")
- (setq buffer-read-only t)
- (use-local-map gdb-frames-mode-map)
- (font-lock-mode -1)
- (gdb-invalidate-frames))
-
-(defun gdb-get-frame-number ()
- (save-excursion
- (let* ((pos (re-search-backward "^#\\([0-9]*\\)" nil t))
- (n (or (and pos (match-string-no-properties 1)) "0")))
- n)))
-
-(defun gdb-frames-select ()
- "Make the frame on the current line become the current frame and display the
-source in the source buffer."
- (interactive)
- (gdb-enqueue-input
- (list (concat "server frame " (gdb-get-frame-number) "\n") 'ignore))
- (gud-display-frame))
-
-(defun gdb-frames-mouse-select (event)
- "Make the selected frame become the current frame and display the source in
-the source buffer."
- (interactive "e")
- (mouse-set-point event)
- (gdb-frames-select))
-
-;;
-;; Threads buffer. This displays a selectable thread list.
-;;
-(gdb-set-buffer-rules 'gdb-threads-buffer
- 'gdb-threads-buffer-name
- 'gdb-threads-mode)
-
-(def-gdb-auto-updated-buffer gdb-threads-buffer
- gdb-invalidate-threads
- "info threads\n"
- gdb-info-threads-handler
- gdb-info-threads-custom)
-
-(defun gdb-info-threads-custom ()
- (with-current-buffer (gdb-get-buffer 'gdb-threads-buffer)
- (let ((buffer-read-only nil))
- (goto-char (point-min))
- (while (< (point) (point-max))
- (add-text-properties (point-at-bol) (point-at-eol)
- '(mouse-face highlight
- help-echo "mouse-2, RET: select thread"))
- (forward-line 1)))))
-
-(defun gdb-threads-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*threads of " (gdb-get-target-string) "*")))
-
-(defun gdb-display-threads-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-threads-buffer)))
-
-(defun gdb-frame-threads-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-threads-buffer)))
-
-(defvar gdb-threads-mode-map
- (let ((map (make-sparse-keymap)))
- (suppress-keymap map)
- (define-key map "\r" 'gdb-threads-select)
- (define-key map [mouse-2] 'gdb-threads-mouse-select)
- map))
-
-(defun gdb-threads-mode ()
- "Major mode for gdb frames.
-
-\\{gdb-frames-mode-map}"
- (setq major-mode 'gdb-threads-mode)
- (setq mode-name "Threads")
- (setq buffer-read-only t)
- (use-local-map gdb-threads-mode-map)
- (gdb-invalidate-threads))
-
-(defun gdb-get-thread-number ()
- (save-excursion
- (re-search-backward "^\\s-*\\([0-9]*\\)" nil t)
- (match-string-no-properties 1)))
-
-
-(defun gdb-threads-select ()
- "Make the thread on the current line become the current thread and display the
-source in the source buffer."
- (interactive)
- (gdb-enqueue-input
- (list (concat "thread " (gdb-get-thread-number) "\n") 'ignore))
- (gud-display-frame))
-
-(defun gdb-threads-mouse-select (event)
- "Make the selected frame become the current frame and display the source in
-the source buffer."
- (interactive "e")
- (mouse-set-point event)
- (gdb-threads-select))
-
-;;
-;; Registers buffer.
-;;
-(gdb-set-buffer-rules 'gdb-registers-buffer
- 'gdb-registers-buffer-name
- 'gdb-registers-mode)
-
-(def-gdb-auto-updated-buffer gdb-registers-buffer
- gdb-invalidate-registers
- "server info registers\n"
- gdb-info-registers-handler
- gdb-info-registers-custom)
-
-(defun gdb-info-registers-custom ())
-
-(defvar gdb-registers-mode-map
- (let ((map (make-sparse-keymap)))
- (suppress-keymap map)
- map))
-
-(defun gdb-registers-mode ()
- "Major mode for gdb registers.
-
-\\{gdb-registers-mode-map}"
- (setq major-mode 'gdb-registers-mode)
- (setq mode-name "Registers")
- (setq buffer-read-only t)
- (use-local-map gdb-registers-mode-map)
- (gdb-invalidate-registers))
-
-(defun gdb-registers-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*registers of " (gdb-get-target-string) "*")))
-
-(defun gdb-display-registers-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-registers-buffer)))
-
-(defun gdb-frame-registers-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-registers-buffer)))
-
-;;
-;; Locals buffer.
-;;
-(gdb-set-buffer-rules 'gdb-locals-buffer
- 'gdb-locals-buffer-name
- 'gdb-locals-mode)
-
-(def-gdb-auto-updated-buffer gdb-locals-buffer
- gdb-invalidate-locals
- "server info locals\n"
- gdb-info-locals-handler
- gdb-info-locals-custom)
-
-;; Abbreviate for arrays and structures.
-;; These can be expanded using gud-display.
-(defun gdb-info-locals-handler nil
- (gdb-set-pending-triggers (delq 'gdb-invalidate-locals
- (gdb-get-pending-triggers)))
- (let ((buf (gdb-get-buffer 'gdb-partial-output-buffer)))
- (with-current-buffer buf
- (goto-char (point-min))
- (while (re-search-forward "^ .*\n" nil t)
- (replace-match "" nil nil))
- (goto-char (point-min))
- (while (re-search-forward "{[-0-9, {}\]*\n" nil t)
- (replace-match "(array);\n" nil nil))
- (goto-char (point-min))
- (while (re-search-forward "{.*=.*\n" nil t)
- (replace-match "(structure);\n" nil nil))))
- (let ((buf (gdb-get-buffer 'gdb-locals-buffer)))
- (and buf (with-current-buffer buf
- (let ((p (point))
- (buffer-read-only nil))
- (delete-region (point-min) (point-max))
- (insert-buffer-substring (gdb-get-create-buffer
- 'gdb-partial-output-buffer))
- (goto-char p)))))
- (run-hooks 'gdb-info-locals-hook))
-
-(defun gdb-info-locals-custom ()
- nil)
-
-(defvar gdb-locals-mode-map
- (let ((map (make-sparse-keymap)))
- (suppress-keymap map)
- map))
-
-(defun gdb-locals-mode ()
- "Major mode for gdb locals.
-
-\\{gdb-locals-mode-map}"
- (setq major-mode 'gdb-locals-mode)
- (setq mode-name "Locals")
- (setq buffer-read-only t)
- (use-local-map gdb-locals-mode-map)
- (gdb-invalidate-locals))
-
-(defun gdb-locals-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*locals of " (gdb-get-target-string) "*")))
-
-(defun gdb-display-locals-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-locals-buffer)))
-
-(defun gdb-frame-locals-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-locals-buffer)))
-
-;;
-;; Display expression buffer.
-;;
-(gdb-set-buffer-rules 'gdb-display-buffer
- 'gdb-display-buffer-name
- 'gdb-display-mode)
-
-(def-gdb-auto-updated-buffer gdb-display-buffer
- ;; `gdb-display-buffer'.
- gdb-invalidate-display
- "server info display\n"
- gdb-info-display-handler
- gdb-info-display-custom)
-
-(defun gdb-info-display-custom ()
- (let ((display-list nil))
- (with-current-buffer (gdb-get-buffer 'gdb-display-buffer)
- (goto-char (point-min))
- (while (< (point) (- (point-max) 1))
- (forward-line 1)
- (if (looking-at "\\([0-9]+\\): \\([ny]\\)")
- (setq display-list
- (cons (string-to-int (match-string 1)) display-list)))
- (end-of-line)))
- (if (not (display-graphic-p))
- (progn
- (dolist (buffer (buffer-list))
- (if (string-match "\\*display \\([0-9]+\\)\\*" (buffer-name buffer))
- (progn
- (let ((number
- (match-string 1 (buffer-name buffer))))
- (if (not (memq (string-to-int number) display-list))
- (kill-buffer
- (get-buffer (concat "*display " number "*")))))))))
- (gdb-delete-frames display-list))))
-
-(defun gdb-delete-frames (display-list)
- (dolist (frame (frame-list))
- (let ((frame-name (frame-parameter frame 'name)))
- (if (string-match "\\*display \\([0-9]+\\)\\*" frame-name)
- (progn
- (let ((number (match-string 1 frame-name)))
- (if (not (memq (string-to-int number) display-list))
- (progn (kill-buffer
- (get-buffer (concat "*display " number "*")))
- (delete-frame frame)))))))))
-
-(defvar gdb-display-mode-map
- (let ((map (make-sparse-keymap))
- (menu (make-sparse-keymap "Display")))
- (define-key menu [toggle] '("Toggle" . gdb-toggle-display))
- (define-key menu [delete] '("Delete" . gdb-delete-display))
-
- (suppress-keymap map)
- (define-key map [menu-bar display] (cons "Display" menu))
- (define-key map " " 'gdb-toggle-display)
- (define-key map "d" 'gdb-delete-display)
- map))
-
-(defun gdb-display-mode ()
- "Major mode for gdb display.
-
-\\{gdb-display-mode-map}"
- (setq major-mode 'gdb-display-mode)
- (setq mode-name "Display")
- (setq buffer-read-only t)
- (use-local-map gdb-display-mode-map)
- (gdb-invalidate-display))
-
-(defun gdb-display-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*Displayed expressions of " (gdb-get-target-string) "*")))
-
-(defun gdb-display-display-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-display-buffer)))
-
-(defun gdb-frame-display-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-display-buffer)))
-
-(defun gdb-toggle-display ()
- "Enable/disable the displayed expression at current line."
- (interactive)
- (save-excursion
- (beginning-of-line 1)
- (if (not (looking-at "\\([0-9]+\\): \\([ny]\\)"))
- (error "No expression on this line")
- (gdb-enqueue-input
- (list
- (concat
- (if (eq ?y (char-after (match-beginning 2)))
- "server disable display "
- "server enable display ")
- (match-string 1) "\n")
- 'ignore)))))
-
-(defun gdb-delete-display ()
- "Delete the displayed expression at current line."
- (interactive)
- (with-current-buffer (gdb-get-buffer 'gdb-display-buffer)
- (beginning-of-line 1)
- (if (not (looking-at "\\([0-9]+\\): \\([ny]\\)"))
- (error "No expression on this line")
- (let ((number (match-string 1)))
- (gdb-enqueue-input
- (list (concat "server delete display " number "\n") 'ignore))))))
-
-(defvar gdb-expressions-mode-map
- (let ((map (make-sparse-keymap)))
- (suppress-keymap map)
- (define-key map "v" 'gdb-array-visualise)
- (define-key map "q" 'gdb-delete-expression)
- (define-key map [mouse-3] 'gdb-expressions-popup-menu)
- map))
-
-(defvar gdb-expressions-mode-menu
- '("GDB Expressions Commands"
- "----"
- ["Visualise" gdb-array-visualise t]
- ["Delete" gdb-delete-expression t])
- "Menu for `gdb-expressions-mode'.")
-
-(defun gdb-expressions-popup-menu (event)
- "Explicit Popup menu as this buffer doesn't have a menubar."
- (interactive "@e")
- (mouse-set-point event)
- (popup-menu gdb-expressions-mode-menu))
-
-(defun gdb-expressions-mode ()
- "Major mode for display expressions.
-
-\\{gdb-expressions-mode-map}"
- (setq major-mode 'gdb-expressions-mode)
- (setq mode-name "Expressions")
- (use-local-map gdb-expressions-mode-map)
- (make-local-variable 'gdb-display-number)
- (make-local-variable 'gdb-values)
- (make-local-variable 'gdb-expression)
- (set (make-local-variable 'gdb-display-string) nil)
- (set (make-local-variable 'gdb-dive-display-number) nil)
- (set (make-local-variable 'gud-minor-mode) 'gdba)
- (set (make-local-variable 'gdb-array-start) (make-vector 16 '-1))
- (set (make-local-variable 'gdb-array-stop) (make-vector 16 '-1))
- (set (make-local-variable 'gdb-array-size) (make-vector 16 '-1))
- (setq buffer-read-only t))
-
-
-;;;; Window management
-
-;;; The way we abuse the dedicated-p flag is pretty gross, but seems
-;;; to do the right thing. Seeing as there is no way for Lisp code to
-;;; get at the use_time field of a window, I'm not sure there exists a
-;;; more elegant solution without writing C code.
-
-(defun gdb-display-buffer (buf &optional size)
- (let ((must-split nil)
- (answer nil))
- (unwind-protect
- (progn
- (walk-windows
- #'(lambda (win)
- (if (or (eq gud-comint-buffer (window-buffer win))
- (eq gdb-source-window win))
- (set-window-dedicated-p win t))))
- (setq answer (get-buffer-window buf))
- (if (not answer)
- (let ((window (get-lru-window)))
- (if window
- (progn
- (set-window-buffer window buf)
- (setq answer window))
- (setq must-split t)))))
- (walk-windows
- #'(lambda (win)
- (if (or (eq gud-comint-buffer (window-buffer win))
- (eq gdb-source-window win))
- (set-window-dedicated-p win nil)))))
- (if must-split
- (let* ((largest (get-largest-window))
- (cur-size (window-height largest))
- (new-size (and size (< size cur-size) (- cur-size size))))
- (setq answer (split-window largest new-size))
- (set-window-buffer answer buf)))
- answer))
-
-(defun gdb-display-source-buffer (buffer)
- (if (eq gdb-selected-view 'source)
- (progn
- (if (window-live-p gdb-source-window)
- (set-window-buffer gdb-source-window buffer)
- (gdb-display-buffer buffer)
- (setq gdb-source-window (get-buffer-window buffer)))
- gdb-source-window)
- (if (window-live-p gdb-source-window)
- (set-window-buffer gdb-source-window
- (gdb-get-buffer 'gdb-assembler-buffer))
- (let ((buf (gdb-get-buffer 'gdb-assembler-buffer)))
- (gdb-display-buffer buf)
- (setq gdb-source-window (get-buffer-window buf))))
- nil))
-
-
-;;; Shared keymap initialization:
-
-(let ((menu (make-sparse-keymap "GDB-Frames")))
- (define-key gud-menu-map [frames]
- `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
- (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
- (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer))
- (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer))
- (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer))
- (define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer))
- (define-key menu [display] '("Display" . gdb-frame-display-buffer))
- (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
-; (define-key menu [assembler] '("Assembler" . gdb-frame-assembler-buffer))
-)
-
-(let ((menu (make-sparse-keymap "GDB-Windows")))
- (define-key gud-menu-map [displays]
- `(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba)))
- (define-key menu [gdb] '("Gdb" . gdb-display-gdb-buffer))
- (define-key menu [locals] '("Locals" . gdb-display-locals-buffer))
- (define-key menu [registers] '("Registers" . gdb-display-registers-buffer))
- (define-key menu [frames] '("Stack" . gdb-display-stack-buffer))
- (define-key menu [breakpoints] '("Breakpoints" . gdb-display-breakpoints-buffer))
- (define-key menu [display] '("Display" . gdb-display-display-buffer))
- (define-key menu [threads] '("Threads" . gdb-display-threads-buffer))
-; (define-key menu [assembler] '("Assembler" . gdb-display-assembler-buffer))
-)
-
-(let ((menu (make-sparse-keymap "View")))
- (define-key gud-menu-map [view]
- `(menu-item "View" ,menu :visible (eq gud-minor-mode 'gdba)))
-; (define-key menu [both] '(menu-item "Both" gdb-view-both
-; :help "Display both source and assembler"
-; :button (:radio . (eq gdb-selected-view 'both))))
- (define-key menu [assembler] '(menu-item "Assembler" gdb-view-assembler
- :help "Display assembler only"
- :button (:radio . (eq gdb-selected-view 'assembler))))
- (define-key menu [source] '(menu-item "Source" gdb-view-source-function
- :help "Display source only"
- :button (:radio . (eq gdb-selected-view 'source)))))
-
-(let ((menu (make-sparse-keymap "GDB-UI")))
- (define-key gud-menu-map [ui]
- `(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba)))
- (define-key menu [gdb-restore-windows]
- '("Restore window layout" . gdb-restore-windows))
- (define-key menu [gdb-many-windows]
- (menu-bar-make-toggle gdb-many-windows gdb-many-windows
- "Display other windows" "Many Windows %s"
- "Display locals, stack and breakpoint information")))
-
-(defun gdb-frame-gdb-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdba)))
-
-(defun gdb-display-gdb-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdba)))
-
-(defvar gdb-main-file nil "Source file from which program execution begins.")
-
-(defun gdb-view-source-function ()
- (interactive)
- (if gdb-view-source
- (if gud-last-last-frame
- (set-window-buffer gdb-source-window
- (gud-find-file (car gud-last-last-frame)))
- (set-window-buffer gdb-source-window (gud-find-file gdb-main-file))))
- (setq gdb-selected-view 'source))
-
-(defun gdb-view-assembler()
- (interactive)
- (set-window-buffer gdb-source-window
- (gdb-get-create-buffer 'gdb-assembler-buffer))
- (setq gdb-selected-view 'assembler))
-
-;(defun gdb-view-both()
-;(interactive)
-;(setq gdb-selected-view 'both))
-
-;; layout for all the windows
-(defun gdb-setup-windows ()
- (gdb-display-locals-buffer)
- (gdb-display-stack-buffer)
- (delete-other-windows)
- (gdb-display-breakpoints-buffer)
- (gdb-display-display-buffer)
- (delete-other-windows)
- (switch-to-buffer gud-comint-buffer)
- (split-window nil ( / ( * (window-height) 3) 4))
- (split-window nil ( / (window-height) 3))
- (split-window-horizontally)
- (other-window 1)
- (switch-to-buffer (gdb-locals-buffer-name))
- (other-window 1)
- (if (and gdb-view-source
- (eq gdb-selected-view 'source))
- (switch-to-buffer
- (if gud-last-last-frame
- (gud-find-file (car gud-last-last-frame))
- (gud-find-file gdb-main-file)))
- (switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)))
- (setq gdb-source-window (get-buffer-window (current-buffer)))
- (split-window-horizontally)
- (other-window 1)
- (switch-to-buffer (gdb-inferior-io-name))
- (other-window 1)
- (switch-to-buffer (gdb-stack-buffer-name))
- (split-window-horizontally)
- (other-window 1)
- (switch-to-buffer (gdb-breakpoints-buffer-name))
- (other-window 1))
-
-(defcustom gdb-many-windows nil
- "Nil means that gdb starts with just two windows : the GUD and
-the source buffer."
- :type 'boolean
- :group 'gud)
-
-(defun gdb-many-windows (arg)
-"Toggle the number of windows in the basic arrangement."
- (interactive "P")
- (setq gdb-many-windows
- (if (null arg)
- (not gdb-many-windows)
- (> (prefix-numeric-value arg) 0)))
- (gdb-restore-windows))
-
-(defun gdb-restore-windows ()
- "Restore the basic arrangement of windows used by gdba.
-This arrangement depends on the value of `gdb-many-windows'."
- (interactive)
- (if gdb-many-windows
- (progn
- (switch-to-buffer gud-comint-buffer)
- (delete-other-windows)
- (gdb-setup-windows))
- (switch-to-buffer gud-comint-buffer)
- (delete-other-windows)
- (split-window)
- (other-window 1)
- (if (and gdb-view-source
- (eq gdb-selected-view 'source))
- (switch-to-buffer
- (if gud-last-last-frame
- (gud-find-file (car gud-last-last-frame))
- (gud-find-file gdb-main-file)))
- (switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)))
- (setq gdb-source-window (get-buffer-window (current-buffer)))
- (other-window 1)))
-
-(defun gdb-reset ()
- "Exit a debugging session cleanly by killing the gdb buffers and resetting
- the source buffers."
- (gdb-delete-frames '())
- (dolist (buffer (buffer-list))
- (if (not (eq buffer gud-comint-buffer))
- (with-current-buffer buffer
- (if (eq gud-minor-mode 'gdba)
- (if (string-match "^\*.+*$" (buffer-name))
- (kill-buffer nil)
- (if (display-images-p)
- (remove-images (point-min) (point-max))
- (gdb-remove-strings (point-min) (point-max)))
- (setq left-margin-width 0)
- (setq gud-minor-mode nil)
- (kill-local-variable 'tool-bar-map)
- (setq gud-running nil)
- (if (get-buffer-window (current-buffer))
- (set-window-margins (get-buffer-window
- (current-buffer))
- left-margin-width
- right-margin-width))))))))
-
-(defun gdb-source-info ()
- "Find the source file where the program starts and displays it with related
-buffers."
- (goto-char (point-min))
- (if (search-forward "directory is " nil t)
- (progn
- (if (looking-at "\\S-*:\\(\\S-*\\)")
- (setq gdb-cdir (match-string 1))
- (looking-at "\\S-*")
- (setq gdb-cdir (match-string 0)))
- (search-forward "Located in ")
- (looking-at "\\S-*")
- (setq gdb-main-file (match-string 0)))
- (setq gdb-view-source nil))
- (delete-other-windows)
- (switch-to-buffer gud-comint-buffer)
- (if gdb-many-windows
- (gdb-setup-windows)
- (gdb-display-breakpoints-buffer)
- (gdb-display-display-buffer)
- (delete-other-windows)
- (split-window)
- (other-window 1)
- (if gdb-view-source
- (switch-to-buffer
- (if gud-last-last-frame
- (gud-find-file (car gud-last-last-frame))
- (gud-find-file gdb-main-file)))
- (switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)))
- (setq gdb-source-window (get-buffer-window (current-buffer)))
- (other-window 1)))
-
-;;from put-image
-(defun gdb-put-string (putstring pos)
- "Put string PUTSTRING in front of POS in the current buffer.
-PUTSTRING is displayed by putting an overlay into the current buffer with a
-`before-string' STRING that has a `display' property whose value is
-PUTSTRING."
- (let ((gdb-string "x")
- (buffer (current-buffer)))
- (let ((overlay (make-overlay pos pos buffer))
- (prop (list (list 'margin 'left-margin) putstring)))
- (put-text-property 0 (length gdb-string) 'display prop gdb-string)
- (overlay-put overlay 'put-break t)
- (overlay-put overlay 'before-string gdb-string))))
-
-;;from remove-images
-(defun gdb-remove-strings (start end &optional buffer)
- "Remove strings between START and END in BUFFER.
-Remove only strings that were put in BUFFER with calls to `put-string'.
-BUFFER nil or omitted means use the current buffer."
- (unless buffer
- (setq buffer (current-buffer)))
- (let ((overlays (overlays-in start end)))
- (while overlays
- (let ((overlay (car overlays)))
- (when (overlay-get overlay 'put-break)
- (delete-overlay overlay)))
- (setq overlays (cdr overlays)))))
-
-(defun gdb-put-arrow (putstring pos)
- "Put arrow string PUTSTRING in the left margin in front of POS
-in the current buffer. PUTSTRING is displayed by putting an
-overlay into the current buffer with a `before-string'
-\"gdb-arrow\" that has a `display' property whose value is
-PUTSTRING. POS may be an integer or marker."
- (let ((gdb-string "gdb-arrow")
- (buffer (current-buffer)))
- (let ((overlay (make-overlay pos pos buffer))
- (prop (list (list 'margin 'left-margin) putstring)))
- (put-text-property 0 (length gdb-string) 'display prop gdb-string)
- (overlay-put overlay 'put-arrow t)
- (overlay-put overlay 'before-string gdb-string))))
-
-(defun gdb-remove-arrow (&optional buffer)
- "Remove arrow in BUFFER.
-Remove only images that were put in BUFFER with calls to `put-arrow'.
-BUFFER nil or omitted means use the current buffer."
- (unless buffer
- (setq buffer (current-buffer)))
- (let ((overlays (overlays-in (point-min) (point-max))))
- (while overlays
- (let ((overlay (car overlays)))
- (when (overlay-get overlay 'put-arrow)
- (delete-overlay overlay)))
- (setq overlays (cdr overlays)))))
-
-(defun gdb-array-visualise ()
- "Visualise arrays and slices using graph program from plotutils."
- (interactive)
- (when (and (display-graphic-p) gdb-display-string)
- (let ((n 0) m)
- (catch 'multi-dimensional
- (while (eq (aref gdb-array-start n) (aref gdb-array-stop n))
- (setq n (+ n 1)))
- (setq m (+ n 1))
- (while (< m (length gdb-array-start))
- (if (not (eq (aref gdb-array-start m) (aref gdb-array-stop m)))
- (progn
- (x-popup-dialog
- t `(,(concat "Only one dimensional data can be visualised.\n"
- "Use an array slice to reduce the number of\n"
- "dimensions") ("OK" t)))
- (throw 'multi-dimensional nil))
- (setq m (+ m 1))))
- (shell-command (concat "echo" gdb-display-string " | graph -a 1 "
- (int-to-string (aref gdb-array-start n))
- " -x "
- (int-to-string (aref gdb-array-start n))
- " "
- (int-to-string (aref gdb-array-stop n))
- " 1 -T X"))))))
-
-(defun gdb-delete-expression ()
- "Delete displayed expression and its frame."
- (interactive)
- (gdb-enqueue-input
- (list (concat "server delete display " gdb-display-number "\n")
- 'ignore)))
-
-;;
-;; Assembler buffer.
-;;
-(gdb-set-buffer-rules 'gdb-assembler-buffer
- 'gdb-assembler-buffer-name
- 'gdb-assembler-mode)
-
-(def-gdb-auto-updated-buffer gdb-assembler-buffer
- gdb-invalidate-assembler
- (concat "server disassemble " gdb-current-address "\n")
- gdb-assembler-handler
- gdb-assembler-custom)
-
-(defun gdb-assembler-custom ()
- (let ((buffer (gdb-get-buffer 'gdb-assembler-buffer))
- (gdb-arrow-position 1) (address) (flag))
- (with-current-buffer buffer
- (if (not (equal gdb-current-address "main"))
- (progn
- (gdb-remove-arrow)
- (goto-char (point-min))
- (if (re-search-forward gdb-current-address nil t)
- (progn
- (setq gdb-arrow-position (point))
- (gdb-put-arrow "=>" (point))))))
- ;; remove all breakpoint-icons in assembler buffer before updating.
- (if (display-images-p)
- (remove-images (point-min) (point-max))
- (gdb-remove-strings (point-min) (point-max))))
- (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer)
- (goto-char (point-min))
- (while (< (point) (- (point-max) 1))
- (forward-line 1)
- (if (looking-at "[^\t].*breakpoint")
- (progn
- (looking-at
- "[0-9]*\\s-*\\S-*\\s-*\\S-*\\s-*\\(.\\)\\s-*0x\\(\\S-*\\)")
- (setq flag (char-after (match-beginning 1)))
- (setq address (match-string 2))
- ;; remove leading 0s from output of info break.
- (if (string-match "^0+\\(.*\\)" address)
- (setq address (match-string 1 address)))
- (with-current-buffer buffer
- (goto-char (point-min))
- (if (re-search-forward address nil t)
- (let ((start (progn (beginning-of-line) (- (point) 1)))
- (end (progn (end-of-line) (+ (point) 1))))
- (if (display-images-p)
- (progn
- (remove-images start end)
- (if (eq ?y flag)
- (put-image breakpoint-enabled-icon
- (+ start 1)
- "breakpoint icon enabled"
- 'left-margin)
- (put-image breakpoint-disabled-icon
- (+ start 1)
- "breakpoint icon disabled"
- 'left-margin)))
- (gdb-remove-strings start end)
- (if (eq ?y flag)
- (gdb-put-string "B" (+ start 1))
- (gdb-put-string "b" (+ start 1)))))))))))
- (if (not (equal gdb-current-address "main"))
- (set-window-point (get-buffer-window buffer) gdb-arrow-position))))
-
-(defvar gdb-assembler-mode-map
- (let ((map (make-sparse-keymap)))
- (suppress-keymap map)
- map))
-
-(defun gdb-assembler-mode ()
- "Major mode for viewing code assembler.
-
-\\{gdb-assembler-mode-map}"
- (setq major-mode 'gdb-assembler-mode)
- (setq mode-name "Assembler")
- (setq left-margin-width 2)
- (setq fringes-outside-margins t)
- (setq buffer-read-only t)
- (use-local-map gdb-assembler-mode-map)
- (gdb-invalidate-assembler))
-
-(defun gdb-assembler-buffer-name ()
- (with-current-buffer gud-comint-buffer
- (concat "*Machine Code " (gdb-get-target-string) "*")))
-
-(defun gdb-display-assembler-buffer ()
- (interactive)
- (gdb-display-buffer
- (gdb-get-create-buffer 'gdb-assembler-buffer)))
-
-(defun gdb-frame-assembler-buffer ()
- (interactive)
- (switch-to-buffer-other-frame
- (gdb-get-create-buffer 'gdb-assembler-buffer)))
-
-;; modified because if gdb-current-address has changed value a new command
-;; must be enqueued to update the buffer with the new output
-(defun gdb-invalidate-assembler (&optional ignored)
- (if (gdb-get-buffer 'gdb-assembler-buffer)
- (progn
- (unless (string-equal gdb-current-frame gdb-previous-frame)
- (if (or (not (member 'gdb-invalidate-assembler
- (gdb-get-pending-triggers)))
- (not (string-equal gdb-current-address
- gdb-previous-address)))
- (progn
- ;; take previous disassemble command off the queue
- (with-current-buffer gud-comint-buffer
- (let ((queue (gdb-get-idle-input-queue)) (item))
- (dolist (item queue)
- (if (equal (cdr item) '(gdb-assembler-handler))
- (gdb-set-idle-input-queue
- (delete item (gdb-get-idle-input-queue)))))))
- (gdb-enqueue-idle-input
- (list (concat "server disassemble " gdb-current-address "\n")
- 'gdb-assembler-handler))
- (gdb-set-pending-triggers
- (cons 'gdb-invalidate-assembler
- (gdb-get-pending-triggers)))
- (setq gdb-previous-address gdb-current-address)
- (setq gdb-previous-frame gdb-current-frame)))))))
-
-(defun gdb-get-current-frame ()
- (if (not (member 'gdb-get-current-frame (gdb-get-pending-triggers)))
- (progn
- (gdb-enqueue-idle-input
- (list (concat "server info frame\n") 'gdb-frame-handler))
- (gdb-set-pending-triggers
- (cons 'gdb-get-current-frame
- (gdb-get-pending-triggers))))))
-
-(defun gdb-frame-handler ()
- (gdb-set-pending-triggers
- (delq 'gdb-get-current-frame (gdb-get-pending-triggers)))
- (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
- (goto-char (point-min))
- (forward-line)
- (if (looking-at ".*= 0x\\(\\S-*\\) in \\(\\S-*\\)")
- (progn
- (setq gdb-current-frame (match-string 2))
- (let ((address (match-string 1)))
- ;; remove leading 0s from output of info frame command.
- (if (string-match "^0+\\(.*\\)" address)
- (setq gdb-current-address
- (concat "0x" (match-string 1 address)))
- (setq gdb-current-address (concat "0x" address))))
- (if (or (if (not (looking-at ".*(\\S-*:[0-9]*)"))
- (progn (setq gdb-view-source nil) t))
- (eq gdb-selected-view 'assembler))
- (progn
- (set-window-buffer
- gdb-source-window
- (gdb-get-create-buffer 'gdb-assembler-buffer))
- ;;update with new frame for machine code if necessary
- (gdb-invalidate-assembler)))))))
-
-(provide 'gdb-ui)
-
-;;; arch-tag: e9fb00c5-74ef-469f-a088-37384caae352
-;;; gdb-ui.el ends here
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index fcc84a4a1d6..03ef7a5113b 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1879,5 +1879,4 @@ you must reload generic-x to enable the specified modes."
(provide 'generic-x)
-;;; arch-tag: cde692a5-9ff6-4506-9999-c67999c2bdb5
;;; generic-x.el ends here
diff --git a/lisp/generic.el b/lisp/generic.el
index 8f13dc375e7..7f2051329c9 100644
--- a/lisp/generic.el
+++ b/lisp/generic.el
@@ -417,5 +417,4 @@ The regexp is highlighted with FACE."
(provide 'generic)
-;;; arch-tag: 239c1fc4-1303-48d9-9ac0-657d655669ea
;;; generic.el ends here
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index e48f5823c4b..6c3f1b5b6a5 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -11178,5 +11178,3 @@
Copyright (C) 2002 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: 3f33a3e7-090d-492b-bedd-02a1417d32b4
diff --git a/lisp/gnus/ChangeLog.1 b/lisp/gnus/ChangeLog.1
index bb4da4dbcad..ea351cef9f0 100644
--- a/lisp/gnus/ChangeLog.1
+++ b/lisp/gnus/ChangeLog.1
@@ -3729,5 +3729,3 @@
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
-
-;;; arch-tag: c2f4e9c8-94fb-4c63-bdfd-4ab680cc9db7
diff --git a/lisp/gnus/binhex.el b/lisp/gnus/binhex.el
index e73903de77f..40e9051e134 100644
--- a/lisp/gnus/binhex.el
+++ b/lisp/gnus/binhex.el
@@ -298,5 +298,4 @@ If HEADER-ONLY is non-nil only decode header and return filename."
(provide 'binhex)
-;;; arch-tag: 8476badd-1e76-4f1d-a640-f9a38c72eed8
;;; binhex.el ends here
diff --git a/lisp/gnus/earcon.el b/lisp/gnus/earcon.el
index 41aa66238c6..2b1d9b1dcbc 100644
--- a/lisp/gnus/earcon.el
+++ b/lisp/gnus/earcon.el
@@ -232,5 +232,4 @@ If N is negative, move backward instead."
(run-hooks 'earcon-load-hook)
-;;; arch-tag: 844dfeea-980c-4ed0-907f-a30bf139691c
;;; earcon.el ends here
diff --git a/lisp/gnus/flow-fill.el b/lisp/gnus/flow-fill.el
index 2d2e3e1c44d..e8a39846c60 100644
--- a/lisp/gnus/flow-fill.el
+++ b/lisp/gnus/flow-fill.el
@@ -100,5 +100,4 @@
(provide 'flow-fill)
-;;; arch-tag: addc0040-bc53-4f17-b4bc-1eb44eed6f0b
;;; flow-fill.el ends here
diff --git a/lisp/gnus/format-spec.el b/lisp/gnus/format-spec.el
index 05a7f3b51d0..6cd39ede721 100644
--- a/lisp/gnus/format-spec.el
+++ b/lisp/gnus/format-spec.el
@@ -68,5 +68,4 @@ starting with a character."
(provide 'format-spec)
-;;; arch-tag: c22d49cf-d167-445d-b7f1-2504d4173f53
;;; format-spec.el ends here
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 1ecade30b5f..77e3043f823 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -1697,5 +1697,4 @@ The following commands are available:
(provide 'gnus-agent)
-;;; arch-tag: b0ba4afc-5229-4cee-ad25-9956daa4e91e
;;; gnus-agent.el ends here
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 0a9920c0387..b03c3e71919 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4910,5 +4910,4 @@ For example:
(run-hooks 'gnus-art-load-hook)
-;;; arch-tag: 2654516f-6279-48f9-a83b-05c1fa450c33
;;; gnus-art.el ends here
diff --git a/lisp/gnus/gnus-async.el b/lisp/gnus/gnus-async.el
index 6c34859ee71..e6616588cd6 100644
--- a/lisp/gnus/gnus-async.el
+++ b/lisp/gnus/gnus-async.el
@@ -372,5 +372,4 @@ It should return non-nil if the article is to be prefetched."
(provide 'gnus-async)
-;;; arch-tag: fee61de5-3ea2-4de6-8578-2f90ce89391d
;;; gnus-async.el ends here
diff --git a/lisp/gnus/gnus-audio.el b/lisp/gnus/gnus-audio.el
index 349e3ff7732..b94de4bbd16 100644
--- a/lisp/gnus/gnus-audio.el
+++ b/lisp/gnus/gnus-audio.el
@@ -146,5 +146,4 @@
(run-hooks 'gnus-audio-load-hook)
-;;; arch-tag: 6f129e78-3416-4fc9-973f-6cf5ac8d654b
;;; gnus-audio.el ends here
diff --git a/lisp/gnus/gnus-bcklg.el b/lisp/gnus/gnus-bcklg.el
index 34a80924ed9..5a9cbf6c10f 100644
--- a/lisp/gnus/gnus-bcklg.el
+++ b/lisp/gnus/gnus-bcklg.el
@@ -155,5 +155,4 @@
(provide 'gnus-bcklg)
-;;; arch-tag: 66259e56-505a-4bba-8a0d-3552c5b94e39
;;; gnus-bcklg.el ends here
diff --git a/lisp/gnus/gnus-cache.el b/lisp/gnus/gnus-cache.el
index 834a1788123..dd664c2886a 100644
--- a/lisp/gnus/gnus-cache.el
+++ b/lisp/gnus/gnus-cache.el
@@ -679,5 +679,4 @@ If LOW, update the lower bound instead."
(provide 'gnus-cache)
-;;; arch-tag: 05a79442-8c58-4e65-bd0a-3cbb1b89a33a
;;; gnus-cache.el ends here
diff --git a/lisp/gnus/gnus-cite.el b/lisp/gnus/gnus-cite.el
index 5a041d11197..34acee59514 100644
--- a/lisp/gnus/gnus-cite.el
+++ b/lisp/gnus/gnus-cite.el
@@ -998,5 +998,4 @@ See also the documentation for `gnus-article-highlight-citation'."
;; coding: iso-8859-1
;; End:
-;;; arch-tag: 1997b044-6067-471e-8c8f-dc903093098a
;;; gnus-cite.el ends here
diff --git a/lisp/gnus/gnus-cus.el b/lisp/gnus/gnus-cus.el
index dc5a9f39cc5..a20852796f4 100644
--- a/lisp/gnus/gnus-cus.el
+++ b/lisp/gnus/gnus-cus.el
@@ -818,5 +818,4 @@ articles in the thread.
(provide 'gnus-cus)
-;;; arch-tag: a37c285a-49bc-4235-8244-804536effeaf
;;; gnus-cus.el ends here
diff --git a/lisp/gnus/gnus-demon.el b/lisp/gnus/gnus-demon.el
index 600d60af6ee..6a77b8efcdb 100644
--- a/lisp/gnus/gnus-demon.el
+++ b/lisp/gnus/gnus-demon.el
@@ -320,5 +320,4 @@ minutes, the connection is closed."
(provide 'gnus-demon)
-;;; arch-tag: 8dd5cd3d-6ae4-46b4-9b15-f5fca09fd392
;;; gnus-demon.el ends here
diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el
index 8ce449b72f3..182f4b3ef05 100644
--- a/lisp/gnus/gnus-draft.el
+++ b/lisp/gnus/gnus-draft.el
@@ -221,5 +221,4 @@
(provide 'gnus-draft)
-;;; arch-tag: 3d92af58-8c97-4a5c-9db4-a98e85198022
;;; gnus-draft.el ends here
diff --git a/lisp/gnus/gnus-dup.el b/lisp/gnus/gnus-dup.el
index 97a92ed36ee..e148f4574bd 100644
--- a/lisp/gnus/gnus-dup.el
+++ b/lisp/gnus/gnus-dup.el
@@ -162,5 +162,4 @@ seen in the same session."
(provide 'gnus-dup)
-;;; arch-tag: 903e94db-7b00-4d19-83ee-cf34a81fa5fb
;;; gnus-dup.el ends here
diff --git a/lisp/gnus/gnus-eform.el b/lisp/gnus/gnus-eform.el
index e4c581b3d03..9fe72420fc3 100644
--- a/lisp/gnus/gnus-eform.el
+++ b/lisp/gnus/gnus-eform.el
@@ -128,5 +128,4 @@ of the buffer."
(provide 'gnus-eform)
-;;; arch-tag: ef50678c-2c28-49ef-affc-e53b3b2c0bf6
;;; gnus-eform.el ends here
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index 10fdb2dc7be..b52c0f75231 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -267,5 +267,4 @@ for XEmacs."
(provide 'gnus-ems)
-;;; arch-tag: e7360b45-14b5-4171-aa39-69a44aed3cdb
;;; gnus-ems.el ends here
diff --git a/lisp/gnus/gnus-gl.el b/lisp/gnus/gnus-gl.el
index 4b6fb257a25..a17e0ce9193 100644
--- a/lisp/gnus/gnus-gl.el
+++ b/lisp/gnus/gnus-gl.el
@@ -856,5 +856,4 @@ If prefix argument ALL is non-nil, all articles are marked as read."
(provide 'gnus-gl)
-;;; arch-tag: 6f1bab2c-c2a3-4764-9ef6-0714cd5902a4
;;; gnus-gl.el ends here
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index bf31115a1cf..73733cc4f13 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -3822,5 +3822,4 @@ This command may read the active file."
(provide 'gnus-group)
-;;; arch-tag: 2eb5440f-0bca-4091-814c-e37817536af6
;;; gnus-group.el ends here
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el
index 89961281bbe..a0ecd934255 100644
--- a/lisp/gnus/gnus-int.el
+++ b/lisp/gnus/gnus-int.el
@@ -539,5 +539,4 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
(provide 'gnus-int)
-;;; arch-tag: bbc90087-9b7f-4017-a92c-3abf180ac86d
;;; gnus-int.el ends here
diff --git a/lisp/gnus/gnus-kill.el b/lisp/gnus/gnus-kill.el
index 73ea066617b..dfed2898ca5 100644
--- a/lisp/gnus/gnus-kill.el
+++ b/lisp/gnus/gnus-kill.el
@@ -715,5 +715,4 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score"
(provide 'gnus-kill)
-;;; arch-tag: b30c0f53-df1a-490b-b81e-17b13474f395
;;; gnus-kill.el ends here
diff --git a/lisp/gnus/gnus-logic.el b/lisp/gnus/gnus-logic.el
index 28704b205e6..9d2c009219f 100644
--- a/lisp/gnus/gnus-logic.el
+++ b/lisp/gnus/gnus-logic.el
@@ -227,5 +227,4 @@
(provide 'gnus-logic)
-;;; arch-tag: 9651a100-4a59-4b69-a55b-e511e67c0f8d
;;; gnus-logic.el ends here
diff --git a/lisp/gnus/gnus-mh.el b/lisp/gnus/gnus-mh.el
index 454feeb40c4..dd54c8134df 100644
--- a/lisp/gnus/gnus-mh.el
+++ b/lisp/gnus/gnus-mh.el
@@ -108,5 +108,4 @@ Otherwise, it is like +news/group."
(provide 'gnus-mh)
-;;; arch-tag: 2d5696d3-b363-48e5-8749-c256be56acca
;;; gnus-mh.el ends here
diff --git a/lisp/gnus/gnus-ml.el b/lisp/gnus/gnus-ml.el
index f99957971a8..156250e7f84 100644
--- a/lisp/gnus/gnus-ml.el
+++ b/lisp/gnus/gnus-ml.el
@@ -179,5 +179,4 @@
(provide 'gnus-ml)
-;;; arch-tag: 936c0fe6-acce-4c16-87d0-eded88078896
;;; gnus-ml.el ends here
diff --git a/lisp/gnus/gnus-mlspl.el b/lisp/gnus/gnus-mlspl.el
index 6b63a19707d..9fd4d2b6692 100644
--- a/lisp/gnus/gnus-mlspl.el
+++ b/lisp/gnus/gnus-mlspl.el
@@ -230,5 +230,4 @@ Calling (gnus-group-split-fancy nil nil \"mail.misc\") returns:
(provide 'gnus-mlspl)
-;;; arch-tag: 62b3381f-1e45-4b61-be1a-29fb27703322
;;; gnus-mlspl.el ends here
diff --git a/lisp/gnus/gnus-move.el b/lisp/gnus/gnus-move.el
index 25ed57b75ba..36839c8d07e 100644
--- a/lisp/gnus/gnus-move.el
+++ b/lisp/gnus/gnus-move.el
@@ -182,5 +182,4 @@ Update the .newsrc.eld file to reflect the change of nntp server."
(provide 'gnus-move)
-;;; arch-tag: 503742b8-7d66-4d79-bb31-4a698070707b
;;; gnus-move.el ends here
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index 6a77c283661..528789b6fe6 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -1311,5 +1311,4 @@ this is a reply."
(provide 'gnus-msg)
-;;; arch-tag: 9f22b2f5-1c0a-49de-916e-4c88e984852b
;;; gnus-msg.el ends here
diff --git a/lisp/gnus/gnus-mule.el b/lisp/gnus/gnus-mule.el
index 835311d0ea2..9c1117b2199 100644
--- a/lisp/gnus/gnus-mule.el
+++ b/lisp/gnus/gnus-mule.el
@@ -71,5 +71,4 @@ rather than using this function."
(provide 'gnus-mule)
-;;; arch-tag: 525e6b69-85de-4dfc-9dbb-764c795d63af
;;; gnus-mule.el ends here
diff --git a/lisp/gnus/gnus-nocem.el b/lisp/gnus/gnus-nocem.el
index 5ccb92b70e7..9b76ede9856 100644
--- a/lisp/gnus/gnus-nocem.el
+++ b/lisp/gnus/gnus-nocem.el
@@ -386,5 +386,4 @@ valid issuer, which is much faster if you are selective about the issuers."
(provide 'gnus-nocem)
-;;; arch-tag: 0e0c74ea-2f8e-4f3e-8fff-09f767c1adef
;;; gnus-nocem.el ends here
diff --git a/lisp/gnus/gnus-range.el b/lisp/gnus/gnus-range.el
index b31fc673bb8..9994be1e8c4 100644
--- a/lisp/gnus/gnus-range.el
+++ b/lisp/gnus/gnus-range.el
@@ -389,5 +389,4 @@ modified."
(provide 'gnus-range)
-;;; arch-tag: 4780bdd8-5a15-4aff-be28-18727895b6ad
;;; gnus-range.el ends here
diff --git a/lisp/gnus/gnus-salt.el b/lisp/gnus/gnus-salt.el
index a2c8d0609fb..dd2aa1f9d06 100644
--- a/lisp/gnus/gnus-salt.el
+++ b/lisp/gnus/gnus-salt.el
@@ -1037,5 +1037,4 @@ The following commands are available:
(provide 'gnus-salt)
-;;; arch-tag: 35449164-77b3-4398-bcbd-a2e3e998f810
;;; gnus-salt.el ends here
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 7e716fc028a..997d3b04274 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -2961,5 +2961,4 @@ See `(Gnus)Scoring Tips' for examples of good regular expressions."
(provide 'gnus-score)
-;;; arch-tag: d3922589-764d-46ae-9954-9330fd192634
;;; gnus-score.el ends here
diff --git a/lisp/gnus/gnus-setup.el b/lisp/gnus/gnus-setup.el
index 1c8bb7c0f9e..54c5b1b38ce 100644
--- a/lisp/gnus/gnus-setup.el
+++ b/lisp/gnus/gnus-setup.el
@@ -191,5 +191,4 @@ score the alt hierarchy, you'd say \"!alt.all\"." t nil))
(run-hooks 'gnus-setup-load-hook)
-;;; arch-tag: 08e4af93-8565-46bf-905c-36229400609d
;;; gnus-setup.el ends here
diff --git a/lisp/gnus/gnus-soup.el b/lisp/gnus/gnus-soup.el
index c02e23e9eae..1f430686948 100644
--- a/lisp/gnus/gnus-soup.el
+++ b/lisp/gnus/gnus-soup.el
@@ -573,5 +573,4 @@ Return whether the unpacking was successful."
(provide 'gnus-soup)
-;;; arch-tag: eddfa69d-13e8-4aea-84ef-62a526ef185c
;;; gnus-soup.el ends here
diff --git a/lisp/gnus/gnus-spec.el b/lisp/gnus/gnus-spec.el
index 9daf599c076..57c9997d26b 100644
--- a/lisp/gnus/gnus-spec.el
+++ b/lisp/gnus/gnus-spec.el
@@ -553,5 +553,4 @@ If PROPS, insert the result."
;; coding: iso-8859-1
;; End:
-;;; arch-tag: a4328fa1-1f84-4b09-97ad-4b5767cfd50f
;;; gnus-spec.el ends here
diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el
index 31ad693a544..db638fcc2c9 100644
--- a/lisp/gnus/gnus-srvr.el
+++ b/lisp/gnus/gnus-srvr.el
@@ -808,5 +808,4 @@ buffer.
(provide 'gnus-srvr)
-;;; arch-tag: c0117f64-27ca-475d-9406-8da6854c7a25
;;; gnus-srvr.el ends here
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 63d551c4b40..d21857982b3 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -2667,5 +2667,4 @@ If this variable is nil, don't do anything."
(provide 'gnus-start)
-;;; arch-tag: f4584a22-b7b7-4853-abfc-a637329af5d2
;;; gnus-start.el ends here
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 776d0a53df9..024230c5074 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -9900,5 +9900,4 @@ returned."
(run-hooks 'gnus-sum-load-hook)
-;;; arch-tag: 17c6748f-6d00-4d36-bf01-835c42f31235
;;; gnus-sum.el ends here
diff --git a/lisp/gnus/gnus-topic.el b/lisp/gnus/gnus-topic.el
index ce5c381f72c..521269e6e9e 100644
--- a/lisp/gnus/gnus-topic.el
+++ b/lisp/gnus/gnus-topic.el
@@ -1616,5 +1616,4 @@ If REVERSE, reverse the sorting order."
(provide 'gnus-topic)
-;;; arch-tag: bf176856-f30c-40f0-ae77-e41529a1134c
;;; gnus-topic.el ends here
diff --git a/lisp/gnus/gnus-undo.el b/lisp/gnus/gnus-undo.el
index e812e032f46..7dd333f1c93 100644
--- a/lisp/gnus/gnus-undo.el
+++ b/lisp/gnus/gnus-undo.el
@@ -192,5 +192,4 @@ A numeric argument serves as a repeat count."
(provide 'gnus-undo)
-;;; arch-tag: 0d787bc7-787d-499a-837f-211d2cb07f2e
;;; gnus-undo.el ends here
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index ca46e52fc30..fa2f2a0eccb 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1010,5 +1010,4 @@ If you find some problem with the directory separator character, try
(provide 'gnus-util)
-;;; arch-tag: f94991af-d32b-4c97-8c26-ca12a934de49
;;; gnus-util.el ends here
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index 55beb8eb263..e92a7686763 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -2134,5 +2134,4 @@ If no file has been included, the user will be asked for a file."
(provide 'gnus-uu)
-;;; arch-tag: 05312384-0a83-4720-9a58-b3160b888853
;;; gnus-uu.el ends here
diff --git a/lisp/gnus/gnus-vm.el b/lisp/gnus/gnus-vm.el
index 36925fdff91..9024926e441 100644
--- a/lisp/gnus/gnus-vm.el
+++ b/lisp/gnus/gnus-vm.el
@@ -105,5 +105,4 @@ save those articles instead."
(provide 'gnus-vm)
-;;; arch-tag: 42ca7f88-a12f-461d-be3e-cac7efb44866
;;; gnus-vm.el ends here
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el
index fa082e7c1d0..a7d424414da 100644
--- a/lisp/gnus/gnus-win.el
+++ b/lisp/gnus/gnus-win.el
@@ -552,5 +552,4 @@ should have point."
(provide 'gnus-win)
-;;; arch-tag: ccd5a394-2ddf-4397-b8f8-6d80d3e46e2b
;;; gnus-win.el ends here
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 97a8d8587cf..9ce98cd05ac 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -2950,5 +2950,4 @@ prompt the user for the name of an NNTP server to use."
(provide 'gnus)
-;;; arch-tag: acebeeab-f331-4f8f-a7ea-89c58c84f636
;;; gnus.el ends here
diff --git a/lisp/gnus/ietf-drums.el b/lisp/gnus/ietf-drums.el
index a6e118ab5cf..1dc3cc7691f 100644
--- a/lisp/gnus/ietf-drums.el
+++ b/lisp/gnus/ietf-drums.el
@@ -248,5 +248,4 @@ backslash and doublequote.")
(provide 'ietf-drums)
-;;; arch-tag: 379a0191-dbae-4ca6-a0f5-d4202c209ef9
;;; ietf-drums.el ends here
diff --git a/lisp/gnus/imap.el b/lisp/gnus/imap.el
index 0fe3ed88501..b6cb9a7fe0b 100644
--- a/lisp/gnus/imap.el
+++ b/lisp/gnus/imap.el
@@ -2603,5 +2603,4 @@ Return nil if no complete line has arrived."
(provide 'imap)
-;;; arch-tag: 27369ed6-33e4-482f-96f1-8bb906ba70f7
;;; imap.el ends here
diff --git a/lisp/gnus/mail-parse.el b/lisp/gnus/mail-parse.el
index 3d0394c43e5..13ecd48fac6 100644
--- a/lisp/gnus/mail-parse.el
+++ b/lisp/gnus/mail-parse.el
@@ -67,5 +67,4 @@
(provide 'mail-parse)
-;;; arch-tag: 3e63d75c-c962-4784-ab01-7ba07ca9d2d4
;;; mail-parse.el ends here
diff --git a/lisp/gnus/mail-prsvr.el b/lisp/gnus/mail-prsvr.el
index 16dd50f4f07..a22accf11b0 100644
--- a/lisp/gnus/mail-prsvr.el
+++ b/lisp/gnus/mail-prsvr.el
@@ -41,5 +41,4 @@ what the desired charsets is to be ignored.")
(provide 'mail-prsvr)
-;;; arch-tag: 9ba878cc-8b43-4f7a-85b1-69b1a9a5d9f5
;;; mail-prsvr.el ends here
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el
index 334d2755053..e9fc96087f1 100644
--- a/lisp/gnus/mail-source.el
+++ b/lisp/gnus/mail-source.el
@@ -929,5 +929,4 @@ This only works when `display-time' is enabled."
(provide 'mail-source)
-;;; arch-tag: 72948025-1d17-4d6c-bb12-ef1aa2c490fd
;;; mail-source.el ends here
diff --git a/lisp/gnus/mailcap.el b/lisp/gnus/mailcap.el
index 1663bd3f5f8..4a029d812cc 100644
--- a/lisp/gnus/mailcap.el
+++ b/lisp/gnus/mailcap.el
@@ -946,5 +946,4 @@ If FORCE, re-parse even if already parsed."
(provide 'mailcap)
-;;; arch-tag: 1fd4f9c9-c305-4d2e-9747-3a4d45baa0bd
;;; mailcap.el ends here
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 8edb5142ddd..5aa9eabccdf 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4720,5 +4720,4 @@ regexp varstr."
;; coding: iso-8859-1
;; End:
-;;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0
;;; message.el ends here
diff --git a/lisp/gnus/messcompat.el b/lisp/gnus/messcompat.el
index 796b346c9d9..fc3d52cc23f 100644
--- a/lisp/gnus/messcompat.el
+++ b/lisp/gnus/messcompat.el
@@ -91,5 +91,4 @@ variable `mail-header-separator'.")
(provide 'messcompat)
-;;; arch-tag: a76673be-905e-4bbd-8966-615370494a7b
;;; messcompat.el ends here
diff --git a/lisp/gnus/mm-bodies.el b/lisp/gnus/mm-bodies.el
index b3c7e31bd8d..ab8ab1ccacb 100644
--- a/lisp/gnus/mm-bodies.el
+++ b/lisp/gnus/mm-bodies.el
@@ -229,5 +229,4 @@ The characters in CHARSET should then be decoded."
(provide 'mm-bodies)
-;;; arch-tag: 41104bb6-4443-4ca9-8d5c-ff87ecf27d8d
;;; mm-bodies.el ends here
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 8dab45c2bab..201ed291b7b 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -850,5 +850,4 @@ external if displayed external."
(provide 'mm-decode)
-;;; arch-tag: 4f35d360-56b8-4030-9388-3ed82d359b9b
;;; mm-decode.el ends here
diff --git a/lisp/gnus/mm-encode.el b/lisp/gnus/mm-encode.el
index dd6974a7090..0d585a651a5 100644
--- a/lisp/gnus/mm-encode.el
+++ b/lisp/gnus/mm-encode.el
@@ -172,5 +172,4 @@ The encoding used is returned."
(provide 'mm-encode)
-;;; arch-tag: 7d01bba4-d469-4851-952b-dc863f84ed66
;;; mm-encode.el ends here
diff --git a/lisp/gnus/mm-partial.el b/lisp/gnus/mm-partial.el
index f424062130b..3598d5fa691 100644
--- a/lisp/gnus/mm-partial.el
+++ b/lisp/gnus/mm-partial.el
@@ -149,5 +149,4 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
(error nil))
(delete-region ,(point-min-marker) ,(point-max-marker))))))))))
-;;; arch-tag: 460e7424-05f2-4a1d-a0f2-70ec081eff7d
;;; mm-partial.el ends here
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index 0fbf90a8074..f80560e63c1 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -726,5 +726,4 @@ If INHIBIT is non-nil, inhibit mm-inhibit-file-name-handlers."
(provide 'mm-util)
-;;; arch-tag: 94dc5388-825d-4fd1-bfa5-2100aa351238
;;; mm-util.el ends here
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el
index 671f9550525..a9609a72216 100644
--- a/lisp/gnus/mm-uu.el
+++ b/lisp/gnus/mm-uu.el
@@ -247,5 +247,4 @@ To disable dissecting shar codes, for instance, add
(provide 'mm-uu)
-;;; arch-tag: 7db076bf-53db-4320-aa19-ca76a1d2ab2c
;;; mm-uu.el ends here
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index f7dfdb60f02..02827262a84 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -303,5 +303,4 @@
(provide 'mm-view)
-;;; arch-tag: b60e749a-d05c-47f2-bccd-bdaa59327cb2
;;; mm-view.el ends here
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index 8b1e4b63e55..2dd4cd43f29 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -867,5 +867,4 @@ If RAW, don't highlight the article."
(provide 'mml)
-;;; arch-tag: 583c96cf-1ffe-451b-a5e5-4733ae9ddd12
;;; mml.el ends here
diff --git a/lisp/gnus/nnagent.el b/lisp/gnus/nnagent.el
index 653f89c9d99..8cc48f15f6b 100644
--- a/lisp/gnus/nnagent.el
+++ b/lisp/gnus/nnagent.el
@@ -201,5 +201,4 @@
(provide 'nnagent)
-;;; arch-tag: af710b77-f816-4969-af31-6fd94fb42245
;;; nnagent.el ends here
diff --git a/lisp/gnus/nnbabyl.el b/lisp/gnus/nnbabyl.el
index b3b67da5cbd..4dd06ea632b 100644
--- a/lisp/gnus/nnbabyl.el
+++ b/lisp/gnus/nnbabyl.el
@@ -660,5 +660,4 @@
(provide 'nnbabyl)
-;;; arch-tag: aa7ddedb-8c07-4c0e-beb0-58e795c2b81b
;;; nnbabyl.el ends here
diff --git a/lisp/gnus/nndir.el b/lisp/gnus/nndir.el
index b72a152368f..f1a6635c69e 100644
--- a/lisp/gnus/nndir.el
+++ b/lisp/gnus/nndir.el
@@ -98,5 +98,4 @@
(provide 'nndir)
-;;; arch-tag: 56f09f68-0e4e-4816-818a-df80b4a394c8
;;; nndir.el ends here
diff --git a/lisp/gnus/nndoc.el b/lisp/gnus/nndoc.el
index 85f13d9372d..3d28f8ea716 100644
--- a/lisp/gnus/nndoc.el
+++ b/lisp/gnus/nndoc.el
@@ -993,5 +993,4 @@ symbol in the alist."
(provide 'nndoc)
-;;; arch-tag: f5c2970e-0387-47ac-a0b3-6cc317dffabe
;;; nndoc.el ends here
diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el
index 517f08aacf4..1d320a55292 100644
--- a/lisp/gnus/nndraft.el
+++ b/lisp/gnus/nndraft.el
@@ -264,5 +264,4 @@
(provide 'nndraft)
-;;; arch-tag: 3ce26ca0-41cb-48b1-8703-4dad35e188aa
;;; nndraft.el ends here
diff --git a/lisp/gnus/nneething.el b/lisp/gnus/nneething.el
index 715c3d890c4..70c5fcea2c0 100644
--- a/lisp/gnus/nneething.el
+++ b/lisp/gnus/nneething.el
@@ -370,5 +370,4 @@ included.")
(provide 'nneething)
-;;; arch-tag: 1277f386-88f2-4459-bb24-f3f45962a6c5
;;; nneething.el ends here
diff --git a/lisp/gnus/nnfolder.el b/lisp/gnus/nnfolder.el
index b4699c4e5be..b054d817449 100644
--- a/lisp/gnus/nnfolder.el
+++ b/lisp/gnus/nnfolder.el
@@ -901,5 +901,4 @@ This command does not work if you use short group names."
(provide 'nnfolder)
-;;; arch-tag: a040d0f4-4f4e-445f-8972-839575c5f7e6
;;; nnfolder.el ends here
diff --git a/lisp/gnus/nngateway.el b/lisp/gnus/nngateway.el
index 8d8d4f900a9..65bd2cc81c2 100644
--- a/lisp/gnus/nngateway.el
+++ b/lisp/gnus/nngateway.el
@@ -90,5 +90,4 @@ parameter -- the gateway address.")
(provide 'nngateway)
-;;; arch-tag: f7ecb92e-b10c-43d5-9a9b-1314233341fc
;;; nngateway.el ends here
diff --git a/lisp/gnus/nnheader.el b/lisp/gnus/nnheader.el
index bfe50364e62..53ab2d88ebb 100644
--- a/lisp/gnus/nnheader.el
+++ b/lisp/gnus/nnheader.el
@@ -925,5 +925,4 @@ find-file-hooks, etc.
(provide 'nnheader)
-;;; arch-tag: a9c4b7d9-52ae-4ec9-b196-dfd93124d202
;;; nnheader.el ends here
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 02cb87af28b..145fd994364 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1383,5 +1383,4 @@ sure of changing the value of `foo'."
(provide 'nnimap)
-;;; arch-tag: 2b001f20-3ff9-4094-a0ad-46807c1ba70b
;;; nnimap.el ends here
diff --git a/lisp/gnus/nnkiboze.el b/lisp/gnus/nnkiboze.el
index 1cd1d1d1789..58157c0f3ae 100644
--- a/lisp/gnus/nnkiboze.el
+++ b/lisp/gnus/nnkiboze.el
@@ -387,5 +387,4 @@ Finds out what articles are to be part of the nnkiboze groups."
(provide 'nnkiboze)
-;;; arch-tag: 66068271-bdc9-4801-bcde-779702e73a05
;;; nnkiboze.el ends here
diff --git a/lisp/gnus/nnlistserv.el b/lisp/gnus/nnlistserv.el
index 12978435f7f..bc5991c05fc 100644
--- a/lisp/gnus/nnlistserv.el
+++ b/lisp/gnus/nnlistserv.el
@@ -154,5 +154,4 @@
(provide 'nnlistserv)
-;;; arch-tag: 7705176f-d332-4a5e-a520-d0d319445617
;;; nnlistserv.el ends here
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index 5153921a8da..99c856a702c 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -1746,5 +1746,4 @@ Doesn't change point."
(provide 'nnmail)
-;;; arch-tag: fe8f671a-50db-428a-bb5d-f00462f72ed7
;;; nnmail.el ends here
diff --git a/lisp/gnus/nnmbox.el b/lisp/gnus/nnmbox.el
index 099d82c3c29..8624fb3c376 100644
--- a/lisp/gnus/nnmbox.el
+++ b/lisp/gnus/nnmbox.el
@@ -596,5 +596,4 @@
(provide 'nnmbox)
-;;; arch-tag: 611dd95f-be37-413a-b3ae-8b059ba93659
;;; nnmbox.el ends here
diff --git a/lisp/gnus/nnmh.el b/lisp/gnus/nnmh.el
index 301a3492853..27ff9f11f52 100644
--- a/lisp/gnus/nnmh.el
+++ b/lisp/gnus/nnmh.el
@@ -578,5 +578,4 @@ as unread by Gnus.")
(provide 'nnmh)
-;;; arch-tag: 36c12a98-3bad-44b3-9953-628078ef0e04
;;; nnmh.el ends here
diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el
index 90902f31aac..ad7d040560a 100644
--- a/lisp/gnus/nnml.el
+++ b/lisp/gnus/nnml.el
@@ -827,5 +827,4 @@ all. This may very well take some time.")
(provide 'nnml)
-;;; arch-tag: 52c97dc3-9735-45de-b439-9e4d23b52004
;;; nnml.el ends here
diff --git a/lisp/gnus/nnoo.el b/lisp/gnus/nnoo.el
index f2baa64267b..272a247e221 100644
--- a/lisp/gnus/nnoo.el
+++ b/lisp/gnus/nnoo.el
@@ -306,5 +306,4 @@ All functions will return nil and report an error."
backend function))))))))
(provide 'nnoo)
-;;; arch-tag: 0196b5ed-6f34-4778-a455-73a971f837e7
;;; nnoo.el ends here
diff --git a/lisp/gnus/nnslashdot.el b/lisp/gnus/nnslashdot.el
index b2730e561f4..45a3db8737c 100644
--- a/lisp/gnus/nnslashdot.el
+++ b/lisp/gnus/nnslashdot.el
@@ -509,5 +509,4 @@
(provide 'nnslashdot)
-;;; arch-tag: aa73df7a-f7e6-4eef-bdea-5ce2f8c691b3
;;; nnslashdot.el ends here
diff --git a/lisp/gnus/nnsoup.el b/lisp/gnus/nnsoup.el
index 2e877190cea..eaa56aa934f 100644
--- a/lisp/gnus/nnsoup.el
+++ b/lisp/gnus/nnsoup.el
@@ -814,5 +814,4 @@ backend for the messages.")
(provide 'nnsoup)
-;;; arch-tag: b0451389-5703-4450-9425-f66f6b38c828
;;; nnsoup.el ends here
diff --git a/lisp/gnus/nnspool.el b/lisp/gnus/nnspool.el
index 6a50fb787a7..a21bb648295 100644
--- a/lisp/gnus/nnspool.el
+++ b/lisp/gnus/nnspool.el
@@ -462,5 +462,4 @@ there.")
(provide 'nnspool)
-;;; arch-tag: bdac8d27-2934-4eee-bad0-49e6b90c0d05
;;; nnspool.el ends here
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index 8791c652a45..de2299c77f7 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -1406,5 +1406,4 @@ password contained in '~/.nntp-authinfo'."
(provide 'nntp)
-;;; arch-tag: 8655466a-b1b5-4929-9c45-7b1b2e767271
;;; nntp.el ends here
diff --git a/lisp/gnus/nnultimate.el b/lisp/gnus/nnultimate.el
index 4ab84e0b983..5ce8446da11 100644
--- a/lisp/gnus/nnultimate.el
+++ b/lisp/gnus/nnultimate.el
@@ -477,5 +477,4 @@
;; coding: iso-8859-1
;; End:
-;;; arch-tag: ab6bfc45-8fe1-4647-9c78-41050eb152b8
;;; nnultimate.el ends here
diff --git a/lisp/gnus/nnvirtual.el b/lisp/gnus/nnvirtual.el
index b8233dd9551..0b7091fec8e 100644
--- a/lisp/gnus/nnvirtual.el
+++ b/lisp/gnus/nnvirtual.el
@@ -816,5 +816,4 @@ based on the marks on the component groups."
(provide 'nnvirtual)
-;;; arch-tag: ca8c8ad9-1bd8-4b0f-9722-90dc645a45f5
;;; nnvirtual.el ends here
diff --git a/lisp/gnus/nnwarchive.el b/lisp/gnus/nnwarchive.el
index 00bcb79bb99..aae57a431f6 100644
--- a/lisp/gnus/nnwarchive.el
+++ b/lisp/gnus/nnwarchive.el
@@ -749,5 +749,4 @@
(provide 'nnwarchive)
-;;; arch-tag: 1ab7a15c-777a-40e0-95c0-0c41b3963578
;;; nnwarchive.el ends here
diff --git a/lisp/gnus/nnweb.el b/lisp/gnus/nnweb.el
index cae4079845f..e62dec067e9 100644
--- a/lisp/gnus/nnweb.el
+++ b/lisp/gnus/nnweb.el
@@ -994,5 +994,4 @@ If FOLLOW-REFRESH is non-nil, redirect refresh url in META."
(provide 'nnweb)
-;;; arch-tag: f59307eb-c90f-479f-b7d2-dbd8bf51b697
;;; nnweb.el ends here
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el
index 7bcfa962eb0..479aa519976 100644
--- a/lisp/gnus/pop3.el
+++ b/lisp/gnus/pop3.el
@@ -514,5 +514,4 @@ and close the connection."
(provide 'pop3)
-;;; arch-tag: 2facc142-1d74-498e-82af-4659b64cac12
;;; pop3.el ends here
diff --git a/lisp/gnus/qp.el b/lisp/gnus/qp.el
index febf827ef42..50ccf065226 100644
--- a/lisp/gnus/qp.el
+++ b/lisp/gnus/qp.el
@@ -163,5 +163,4 @@ encode lines starting with \"From\"."
(provide 'qp)
-;;; arch-tag: db89e52a-e4a1-4b69-926f-f434f04216ba
;;; qp.el ends here
diff --git a/lisp/gnus/rfc1843.el b/lisp/gnus/rfc1843.el
index 5c50ad2ef07..e34957ac962 100644
--- a/lisp/gnus/rfc1843.el
+++ b/lisp/gnus/rfc1843.el
@@ -181,5 +181,4 @@ ftp://ftp.math.psu.edu/pub/simpson/chinese/hzp/hzp.doc"
(provide 'rfc1843)
-;;; arch-tag: 5149c301-a6ca-4731-9c9d-ba616e2cb687
;;; rfc1843.el ends here
diff --git a/lisp/gnus/rfc2045.el b/lisp/gnus/rfc2045.el
index 3c57837265d..bce3b8a55d9 100644
--- a/lisp/gnus/rfc2045.el
+++ b/lisp/gnus/rfc2045.el
@@ -40,5 +40,4 @@
(provide 'rfc2045)
-;;; arch-tag: 9ca54127-97bc-432c-b6e2-8c59cadba306
;;; rfc2045.el ends here
diff --git a/lisp/gnus/rfc2047.el b/lisp/gnus/rfc2047.el
index 7c93160c455..fbe10012182 100644
--- a/lisp/gnus/rfc2047.el
+++ b/lisp/gnus/rfc2047.el
@@ -591,5 +591,4 @@ If your Emacs implementation can't decode CHARSET, return nil."
(provide 'rfc2047)
-;;; arch-tag: a07fe3d4-22b5-4c4a-bd89-b1f82d5d36f6
;;; rfc2047.el ends here
diff --git a/lisp/gnus/rfc2104.el b/lisp/gnus/rfc2104.el
index a70ba16c164..5496a4f81bf 100644
--- a/lisp/gnus/rfc2104.el
+++ b/lisp/gnus/rfc2104.el
@@ -114,5 +114,4 @@
(provide 'rfc2104)
-;;; arch-tag: cf671d5c-a45f-4a09-815e-704e59e43950
;;; rfc2104.el ends here
diff --git a/lisp/gnus/rfc2231.el b/lisp/gnus/rfc2231.el
index 36c85841862..3b3345f40b2 100644
--- a/lisp/gnus/rfc2231.el
+++ b/lisp/gnus/rfc2231.el
@@ -206,5 +206,4 @@ These look like \"us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A\"."
(provide 'rfc2231)
-;;; arch-tag: c3ab751d-d108-406a-b301-68882ad8cd63
;;; rfc2231.el ends here
diff --git a/lisp/gnus/score-mode.el b/lisp/gnus/score-mode.el
index da6c447d115..cfc5cc3c624 100644
--- a/lisp/gnus/score-mode.el
+++ b/lisp/gnus/score-mode.el
@@ -112,5 +112,4 @@ This mode is an extended emacs-lisp mode.
(provide 'score-mode)
-;;; arch-tag: a74a416b-2505-4ad4-bc4e-a418c96b8845
;;; score-mode.el ends here
diff --git a/lisp/gnus/smiley-ems.el b/lisp/gnus/smiley-ems.el
index 7fce284e500..6ded76685f7 100644
--- a/lisp/gnus/smiley-ems.el
+++ b/lisp/gnus/smiley-ems.el
@@ -162,5 +162,4 @@ With arg, turn displaying on if and only if arg is positive."
(provide 'smiley)
-;;; arch-tag: e726728a-14fb-4e6a-9aef-889941bdf7ad
;;; smiley-ems.el ends here
diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el
index 0fd14cead55..d0fb68263e9 100644
--- a/lisp/gnus/starttls.el
+++ b/lisp/gnus/starttls.el
@@ -74,5 +74,4 @@ specifying a port number to connect to."
(provide 'starttls)
-;;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
;;; starttls.el ends here
diff --git a/lisp/gnus/utf7.el b/lisp/gnus/utf7.el
index 8f81d787fdb..2a5e7527069 100644
--- a/lisp/gnus/utf7.el
+++ b/lisp/gnus/utf7.el
@@ -177,5 +177,4 @@ Characters are in raw byte pairs in narrowed buffer."
(provide 'utf7)
-;;; arch-tag: 96078b55-85c7-4161-aed2-932c24b282c7
;;; utf7.el ends here
diff --git a/lisp/gnus/uudecode.el b/lisp/gnus/uudecode.el
index 3e92cbcb832..18f04c2053e 100644
--- a/lisp/gnus/uudecode.el
+++ b/lisp/gnus/uudecode.el
@@ -214,5 +214,4 @@ If FILE-NAME is non-nil, save the result to FILE-NAME."
(provide 'uudecode)
-;;; arch-tag: e1f09ed5-62b4-4677-9f13-4e81c4fe8ce3
;;; uudecode.el ends here
diff --git a/lisp/gnus/webmail.el b/lisp/gnus/webmail.el
index 981e8e367fe..32d89fc921b 100644
--- a/lisp/gnus/webmail.el
+++ b/lisp/gnus/webmail.el
@@ -1191,5 +1191,4 @@
(provide 'webmail)
-;;; arch-tag: f75a4558-a8f6-46ec-b1c3-7a6434b3dd71
;;; webmail.el ends here
diff --git a/lisp/gs.el b/lisp/gs.el
index f160dca197a..d3bec85f141 100644
--- a/lisp/gs.el
+++ b/lisp/gs.el
@@ -212,5 +212,4 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful."
(provide 'gs)
-;;; arch-tag: 06ab51b8-4932-4cfe-9f60-b924a8edb3f0
;;; gs.el ends here
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 9769d613cbc..71a5044002d 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -566,5 +566,4 @@ The descriptions are inserted in a buffer, which is then displayed."
(provide 'help-fns)
-;;; arch-tag: 9e10331c-ae81-4d13-965d-c4819aaab0b3
;;; help-fns.el ends here
diff --git a/lisp/help-macro.el b/lisp/help-macro.el
index a36eed86d01..567b2c1a2f1 100644
--- a/lisp/help-macro.el
+++ b/lisp/help-macro.el
@@ -196,5 +196,4 @@ and then returns."
(provide 'help-macro)
-;;; arch-tag: 59fee949-1686-485a-8a05-83418073e257
;;; help-macro.el ends here
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 4ef3072ca53..368aa370983 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -592,5 +592,4 @@ For the cross-reference format, see `help-make-xrefs'."
(provide 'help-mode)
-;;; arch-tag: 850954ae-3725-4cb4-8e91-0bf6d52d6b0b
;;; help-mode.el ends here
diff --git a/lisp/help.el b/lisp/help.el
index f24eef298f9..a4b28d2e457 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -744,5 +744,4 @@ out of view."
;; defcustoms which require 'help'.
(provide 'help)
-;;; arch-tag: cf427352-27e9-49b7-9a6f-741ebab02423
;;; help.el ends here
diff --git a/lisp/hexl.el b/lisp/hexl.el
index a4e9792dc6b..e4f6423bb8a 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -953,5 +953,4 @@ Customize the variable `hexl-follow-ascii' to disable this feature."
(provide 'hexl)
-;;; arch-tag: d5a7aa8a-9bce-480b-bcff-6c4c7ca5ea4a
;;; hexl.el ends here
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index 99eeb698171..2d96ac9848d 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -564,5 +564,4 @@ Optional argument END is maximum excursion."
(provide 'hi-lock)
-;;; arch-tag: d2e8fd07-4cc9-4c6f-a200-1e729bc54066
;;; hi-lock.el ends here
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 77e47216b2d..8eb3a6ea37e 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -1116,5 +1116,4 @@ from `global-highlight-changes' when turning on global Highlight Changes mode."
(provide 'hilit-chg)
-;;; arch-tag: de00301d-5bad-44da-aa82-e0e010b0c463
;;; hilit-chg.el ends here
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el
index 91eb01b5193..499e99352e2 100644
--- a/lisp/hippie-exp.el
+++ b/lisp/hippie-exp.el
@@ -1222,5 +1222,4 @@ string). It returns t if a new completion is found, nil otherwise."
(provide 'hippie-exp)
-;;; arch-tag: 5e6e00bf-b061-4a7a-9b46-de0ae105ab99
;;; hippie-exp.el ends here
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index f55b9625d2b..3ad75ae78fa 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -167,5 +167,4 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
(provide 'hl-line)
-;;; arch-tag: ac806940-0876-4959-8c89-947563ee2833
;;; hl-line.el ends here
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 9492d5565f6..b0faa408339 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -1460,5 +1460,4 @@ defaults to one."
(provide 'ibuf-ext)
-;;; arch-tag: 9af21953-deda-4c30-b76d-f81d9128e76d
;;; ibuf-ext.el ends here
diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el
index d6b4c2e1da8..27f12df6e5e 100644
--- a/lisp/ibuf-macs.el
+++ b/lisp/ibuf-macs.el
@@ -286,5 +286,4 @@ bound to the current value of the filter."
(provide 'ibuf-macs)
-;;; arch-tag: 2748edce-82c9-4cd9-9d9d-bd73e43c20c5
;;; ibuf-macs.el ends here
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 668db8ea041..23bf4e55d68 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -47,8 +47,8 @@ Operations include sorting, marking by regular expression, and
the ability to filter the displayed buffers by various criteria."
:group 'convenience)
-(defcustom ibuffer-formats '((mark modified read-only " " (name 18 18 :left :elide)
- " " (size 9 -1 :right)
+(defcustom ibuffer-formats '((mark modified read-only " " (name 16 16 :left :elide)
+ " " (size 7 -1 :right)
" " (mode 16 16 :right :elide) " " filename-and-process)
(mark " " (name 16 -1) " " filename))
"A list of ways to display buffer lines.
@@ -2492,5 +2492,4 @@ will be inserted before the group at point."
;; coding: iso-8859-1
;; End:
-;;; arch-tag: 72581688-0603-4954-b8cf-837c700f62e8
;;; ibuffer.el ends here
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 6317662d394..4e368c8c806 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -363,5 +363,4 @@ are exhibited within the square braces.)"
;;;outline-layout: (-2 :)
;;;End:
-;;; arch-tag: 339ec25a-0741-4eb6-be63-997532e89b0f
;;; icomplete.el ends here
diff --git a/lisp/ido.el b/lisp/ido.el
index 46da5b92e52..bdf830f92fc 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -3753,5 +3753,4 @@ See `read-file-name' for additional parameters."
ido-current-directory
(concat ido-current-directory filename)))))
-;;; arch-tag: b63a3500-1735-41bd-8a01-05373f0864da
;;; ido.el ends here
diff --git a/lisp/ielm.el b/lisp/ielm.el
index b03820616ab..16235f065e2 100644
--- a/lisp/ielm.el
+++ b/lisp/ielm.el
@@ -550,5 +550,4 @@ Switches to the buffer `*ielm*', or creates it if it does not exist."
(provide 'ielm)
-;;; arch-tag: ef60e4c0-9c4f-4bdb-8402-271313329790
;;; ielm.el ends here
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 4a13019a090..13a2eeb591e 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -181,5 +181,4 @@ Image files are those whose name has an extension in
(provide 'image-file)
-;;; arch-tag: 04cafe36-f7ba-4c80-9f47-4cb656520ce1
;;; image-file.el ends here
diff --git a/lisp/image.el b/lisp/image.el
index 0e71bd4a349..25d05c9902f 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -67,8 +67,7 @@ We accept the tag Exif because that is the same format."
(when (and (>= code #xe0) (<= code #xef))
;; APP0 LEN1 LEN2 "JFIF\0"
(throw 'jfif
- (string-match "JFIF\\|Exif"
- (substring data i (min (+ i nbytes) len)))))
+ (string-match "JFIF\\|Exif" (substring data i (+ i nbytes)))))
(setq i (+ i 1 nbytes))))))))
@@ -293,5 +292,4 @@ Example:
(provide 'image)
-;;; arch-tag: 8e76a07b-eb48-4f3e-a7a0-1a7ba9f096b3
;;; image.el ends here
diff --git a/lisp/imenu.el b/lisp/imenu.el
index 63da70f0923..f4c378a5e15 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -1055,5 +1055,4 @@ for more information."
(provide 'imenu)
-;;; arch-tag: 98a2f5f5-4b91-4704-b18c-3aacf77d77a7
;;; imenu.el ends here
diff --git a/lisp/indent.el b/lisp/indent.el
index e56db11b6f1..f742f254321 100644
--- a/lisp/indent.el
+++ b/lisp/indent.el
@@ -535,5 +535,4 @@ Use \\[edit-tab-stops] to edit them interactively."
(define-key ctl-x-map "\t" 'indent-rigidly)
(define-key esc-map "i" 'tab-to-tab-stop)
-;;; arch-tag: f402b2a7-e44f-492f-b5b8-38996020b7c3
;;; indent.el ends here
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 21f265199dd..afdf123ecb0 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -878,5 +878,4 @@ Return nil if there is nothing appropriate in the buffer near point."
(provide 'info-look)
-;;; arch-tag: 0f1e3ea3-32a2-4461-bbab-3cff93539a74
;;; info-look.el ends here
diff --git a/lisp/info-xref.el b/lisp/info-xref.el
index 91c78e2a5c5..bc959cee8a7 100644
--- a/lisp/info-xref.el
+++ b/lisp/info-xref.el
@@ -261,5 +261,4 @@ This should be the raw file contents, not `Info-mode'."
(provide 'info-xref)
-;;; arch-tag: 69d4d528-69ed-4cc2-8eb4-c666a0c1d5ac
;;; info-xref.el ends here
diff --git a/lisp/info.el b/lisp/info.el
index 5777bc4451e..3082aa7231c 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -149,7 +149,6 @@ that you visit a subnode before getting to the end of the menu.
Setting this option to nil results in behavior similar to the stand-alone
Info reader program, which visits the first subnode from the menu only
when you hit the end of the current node."
- :version "21.4"
:type 'boolean
:group 'info)
@@ -2256,8 +2255,7 @@ if point is in a menu item description, follow that menu item."
(define-key Info-mode-map " " 'Info-scroll-up)
(define-key Info-mode-map "\C-m" 'Info-follow-nearest-node)
(define-key Info-mode-map "\t" 'Info-next-reference)
- (define-key Info-mode-map [(shift tab)] 'Info-prev-reference)
- (define-key Info-mode-map [backtab] 'Info-prev-reference)
+ (define-key Info-mode-map "\e\t" 'Info-prev-reference)
(define-key Info-mode-map "1" 'Info-nth-menu-item)
(define-key Info-mode-map "2" 'Info-nth-menu-item)
(define-key Info-mode-map "3" 'Info-nth-menu-item)
@@ -3202,5 +3200,4 @@ BUFFER is the buffer speedbar is requesting buttons for."
(provide 'info)
-;;; arch-tag: f2480fe2-2139-40c1-a49b-6314991164ac
;;; info.el ends here
diff --git a/lisp/informat.el b/lisp/informat.el
index acfb093c064..1b07792fa66 100644
--- a/lisp/informat.el
+++ b/lisp/informat.el
@@ -503,5 +503,4 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
(provide 'informat)
-;;; arch-tag: 581c440e-5be1-4f31-b005-2d5824bbf569
;;; informat.el ends here
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el
index 4ffea66caeb..300a977c4fb 100644
--- a/lisp/international/ccl.el
+++ b/lisp/international/ccl.el
@@ -1539,5 +1539,4 @@ See the documentation of `define-ccl-program' for the detail of CCL program."
(provide 'ccl)
-;;; arch-tag: 836bcd27-63a1-4a56-b232-1145ecf823fb
;;; ccl.el ends here
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index abb94ecff07..68a1fa9ead1 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -1219,5 +1219,4 @@
;;; coding: iso-2022-7bit
;;; End:
-;;; arch-tag: 85889c35-9f4d-4912-9bf5-82de31b0d42d
;;; characters.el ends here
diff --git a/lisp/international/code-pages.el b/lisp/international/code-pages.el
index 43ac5891a0f..c0c4a2e93f5 100644
--- a/lisp/international/code-pages.el
+++ b/lisp/international/code-pages.el
@@ -4761,5 +4761,4 @@ corresponding args of `make-coding-system'. If MNEMONIC isn't given,
(provide 'code-pages)
-;;; arch-tag: 8b6e3c73-b271-4198-866d-ea6d0ceff1b2
;;; code-pages.el ends here
diff --git a/lisp/international/codepage.el b/lisp/international/codepage.el
index fabf4fdd6ac..1b6caaebd5b 100644
--- a/lisp/international/codepage.el
+++ b/lisp/international/codepage.el
@@ -668,5 +668,4 @@ read/written by MS-DOS software, or for display on the MS-DOS terminal."
(provide 'codepage)
-;;; arch-tag: 80328de8-b94e-4386-be26-5876105731f0
;;; codepage.el ends here
diff --git a/lisp/international/encoded-kb.el b/lisp/international/encoded-kb.el
index 6eae1011c40..6d8982b4934 100644
--- a/lisp/international/encoded-kb.el
+++ b/lisp/international/encoded-kb.el
@@ -358,5 +358,4 @@ as a multilingual text encoded in a coding system set by
(provide 'encoded-kb)
-;;; arch-tag: 76f0f9b3-65e7-45c3-b692-59509a87ad44
;;; encoded-kb.el ends here
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 2d98cd25406..90e98dba8f5 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -47,97 +47,94 @@
(latin-iso8859-2 . (nil . "ISO8859-2"))
(latin-iso8859-3 . (nil . "ISO8859-3"))
(latin-iso8859-4 . (nil . "ISO8859-4"))
- ;; Setting "*" family is for a workaround of the problem
- ;; that a font of wrong size is preferred if the font
- ;; family matches with a requested one.
(thai-tis620 . ("*" . "TIS620"))
- (greek-iso8859-7 . (nil . "ISO8859-7"))
- (arabic-iso8859-6 . (nil . "ISO8859-6"))
- (hebrew-iso8859-8 . (nil . "ISO8859-8"))
- (katakana-jisx0201 . (nil . "JISX0201"))
+ (greek-iso8859-7 . ("*" . "ISO8859-7"))
+ (arabic-iso8859-6 . ("*" . "ISO8859-6"))
+ (hebrew-iso8859-8 . ("*" . "ISO8859-8"))
+ (katakana-jisx0201 . ("*" . "JISX0201"))
(latin-jisx0201 . (nil . "JISX0201"))
- (cyrillic-iso8859-5 . (nil . "ISO8859-5"))
+ (cyrillic-iso8859-5 . ("*" . "ISO8859-5"))
(latin-iso8859-9 . (nil . "ISO8859-9"))
- (japanese-jisx0208-1978 . (nil . "JISX0208.1978"))
- (chinese-gb2312 . (nil . "GB2312.1980"))
- (japanese-jisx0208 . (nil . "JISX0208.1990"))
- (korean-ksc5601 . (nil . "KSC5601.1989"))
- (japanese-jisx0212 . (nil . "JISX0212"))
- (chinese-cns11643-1 . (nil . "CNS11643.1992-1"))
- (chinese-cns11643-2 . (nil . "CNS11643.1992-2"))
- (chinese-cns11643-3 . (nil . "CNS11643.1992-3"))
- (chinese-cns11643-4 . (nil . "CNS11643.1992-4"))
- (chinese-cns11643-5 . (nil . "CNS11643.1992-5"))
- (chinese-cns11643-6 . (nil . "CNS11643.1992-6"))
- (chinese-cns11643-7 . (nil . "CNS11643.1992-7"))
- (chinese-big5-1 . (nil . "Big5"))
- (chinese-big5-2 . (nil . "Big5"))
+ (japanese-jisx0208-1978 . ("*" . "JISX0208.1978"))
+ (chinese-gb2312 . ("*" . "GB2312.1980"))
+ (japanese-jisx0208 . ("*" . "JISX0208.1990"))
+ (korean-ksc5601 . ("*" . "KSC5601.1989"))
+ (japanese-jisx0212 . ("*" . "JISX0212"))
+ (chinese-cns11643-1 . ("*" . "CNS11643.1992-1"))
+ (chinese-cns11643-2 . ("*" . "CNS11643.1992-2"))
+ (chinese-cns11643-3 . ("*" . "CNS11643.1992-3"))
+ (chinese-cns11643-4 . ("*" . "CNS11643.1992-4"))
+ (chinese-cns11643-5 . ("*" . "CNS11643.1992-5"))
+ (chinese-cns11643-6 . ("*" . "CNS11643.1992-6"))
+ (chinese-cns11643-7 . ("*" . "CNS11643.1992-7"))
+ (chinese-big5-1 . ("*" . "Big5"))
+ (chinese-big5-2 . ("*" . "Big5"))
(chinese-sisheng . (nil . "sisheng_cwnn"))
(vietnamese-viscii-lower . (nil . "VISCII1.1"))
(vietnamese-viscii-upper . (nil . "VISCII1.1"))
- (arabic-digit . (nil . "MuleArabic-0"))
- (arabic-1-column . (nil . "MuleArabic-1"))
- (arabic-2-column . (nil . "MuleArabic-2"))
+ (arabic-digit . ("*" . "MuleArabic-0"))
+ (arabic-1-column . ("*" . "MuleArabic-1"))
+ (arabic-2-column . ("*" . "MuleArabic-2"))
(ipa . (nil . "MuleIPA"))
- (ethiopic . (nil . "Ethiopic-Unicode"))
+ (ethiopic . ("*" . "Ethiopic-Unicode"))
(ascii-right-to-left . (nil . "ISO8859-1"))
- (indian-is13194 . (nil . "IS13194-Devanagari"))
- (indian-2-column . (nil . "MuleIndian-2"))
- (lao . (nil . "MuleLao-1"))
+ (indian-is13194 . ("*" . "IS13194-Devanagari"))
+ (indian-2-column . ("*" . "MuleIndian-2"))
+ (lao . ("*" . "MuleLao-1"))
(tibetan . ("proportional" . "MuleTibetan-2"))
- (tibetan-1-column . (nil . "MuleTibetan-1"))
+ (tibetan-1-column . ("*" . "MuleTibetan-1"))
(latin-iso8859-14 . (nil . "ISO8859-14"))
(latin-iso8859-15 . (nil . "ISO8859-15"))
(mule-unicode-0100-24ff . (nil . "ISO10646-1"))
(mule-unicode-2500-33ff . (nil . "ISO10646-1"))
(mule-unicode-e000-ffff . (nil . "ISO10646-1"))
- (japanese-jisx0213-1 . (nil . "JISX0213.2000-1"))
- (japanese-jisx0213-2 . (nil . "JISX0213.2000-2"))
+ (japanese-jisx0213-1 . ("*" . "JISX0213.2000-1"))
+ (japanese-jisx0213-2 . ("*" . "JISX0213.2000-2"))
;; unicode
((,(decode-char 'ucs #x0900) . ,(decode-char 'ucs #x097F))
- . (nil . "ISO10646.indian-1"))
+ . ("*" . "ISO10646.indian-1"))
;; Indian CDAC
(,(indian-font-char-range 'cdac:dv-ttsurekh)
- . (nil . "Devanagari-CDAC"))
+ . ("*" . "Devanagari-CDAC"))
(,(indian-font-char-range 'cdac:sd-ttsurekh)
- . (nil . "Sanskrit-CDAC"))
+ . ("*" . "Sanskrit-CDAC"))
(,(indian-font-char-range 'cdac:bn-ttdurga)
- . (nil . "Bengali-CDAC"))
+ . ("*" . "Bengali-CDAC"))
(,(indian-font-char-range 'cdac:as-ttdurga)
- . (nil . "Assamese-CDAC"))
+ . ("*" . "Assamese-CDAC"))
(,(indian-font-char-range 'cdac:pn-ttamar)
- . (nil . "Punjabi-CDAC"))
+ . ("*" . "Punjabi-CDAC"))
(,(indian-font-char-range 'cdac:gj-ttavantika)
- . (nil . "Gujarati-CDAC"))
+ . ("*" . "Gujarati-CDAC"))
(,(indian-font-char-range 'cdac:or-ttsarala)
- . (nil . "Oriya-CDAC"))
+ . ("*" . "Oriya-CDAC"))
(,(indian-font-char-range 'cdac:tm-ttvalluvar)
- . (nil . "Tamil-CDAC"))
+ . ("*" . "Tamil-CDAC"))
(,(indian-font-char-range 'cdac:tl-tthemalatha)
- . (nil . "Telugu-CDAC"))
+ . ("*" . "Telugu-CDAC"))
(,(indian-font-char-range 'cdac:kn-ttuma)
- . (nil . "Kannada-CDAC"))
+ . ("*" . "Kannada-CDAC"))
(,(indian-font-char-range 'cdac:ml-ttkarthika)
- . (nil . "Malayalam-CDAC"))
+ . ("*" . "Malayalam-CDAC"))
;; Indian AKRUTI
(,(indian-font-char-range 'akruti:dev)
- . (nil . "Devanagari-Akruti"))
+ . ("*" . "Devanagari-Akruti"))
(,(indian-font-char-range 'akruti:bng)
- . (nil . "Bengali-Akruti"))
+ . ("*" . "Bengali-Akruti"))
(,(indian-font-char-range 'akruti:pnj)
- . (nil . "Punjabi-Akruti"))
+ . ("*" . "Punjabi-Akruti"))
(,(indian-font-char-range 'akruti:guj)
- . (nil . "Gujarati-Akruti"))
+ . ("*" . "Gujarati-Akruti"))
(,(indian-font-char-range 'akruti:ori)
- . (nil . "Oriay-Akruti"))
+ . ("*" . "Oriay-Akruti"))
(,(indian-font-char-range 'akruti:tml)
- . (nil . "Tamil-Akruti"))
+ . ("*" . "Tamil-Akruti"))
(,(indian-font-char-range 'akruti:tlg)
- . (nil . "Telugu-Akruti"))
+ . ("*" . "Telugu-Akruti"))
(,(indian-font-char-range 'akruti:knd)
- . (nil . "Kannada-Akruti"))
+ . ("*" . "Kannada-Akruti"))
(,(indian-font-char-range 'akruti:mal)
- . (nil . "Malayalam-Akruti"))
+ . ("*" . "Malayalam-Akruti"))
))
(set-fontset-font "fontset-default" (car elt) (cdr elt))))
@@ -641,5 +638,4 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
;;
(provide 'fontset)
-;;; arch-tag: bb53e629-0234-403c-950e-551e61554849
;;; fontset.el ends here
diff --git a/lisp/international/isearch-x.el b/lisp/international/isearch-x.el
index 60736277b97..64df952de68 100644
--- a/lisp/international/isearch-x.el
+++ b/lisp/international/isearch-x.el
@@ -130,5 +130,4 @@
(isearch-update)))
(isearch-process-search-char last-char)))
-;;; arch-tag: 1a90a6cf-2cb2-477a-814a-9ff895852822
;;; isearch-x.el ends here
diff --git a/lisp/international/iso-acc.el b/lisp/international/iso-acc.el
index 971d1d128e6..840a564800d 100644
--- a/lisp/international/iso-acc.el
+++ b/lisp/international/iso-acc.el
@@ -475,5 +475,4 @@ Noninteractively, this operates on text from START to END."
(add-hook 'minibuffer-setup-hook 'iso-acc-minibuf-setup)
-;;; arch-tag: 149ff409-7c3e-4574-9b5d-ac038939c0a6
;;; iso-acc.el ends here
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el
index 3bffb1795f0..86f3d2b4348 100644
--- a/lisp/international/iso-ascii.el
+++ b/lisp/international/iso-ascii.el
@@ -175,5 +175,4 @@
(provide 'iso-ascii)
-;;; arch-tag: 687edf0d-f792-471e-b50e-be805938359a
;;; iso-ascii.el ends here
diff --git a/lisp/international/iso-cvt.el b/lisp/international/iso-cvt.el
index b0dffc40f50..6c8a31a8fac 100644
--- a/lisp/international/iso-cvt.el
+++ b/lisp/international/iso-cvt.el
@@ -892,5 +892,4 @@ Optional arg BUFFER is ignored (for use in `format-alist')."
(provide 'iso-cvt)
-;;; arch-tag: 64ae843f-ed0e-43e1-ba50-ffd581b90840
;;; iso-cvt.el ends here
diff --git a/lisp/international/iso-insert.el b/lisp/international/iso-insert.el
index e181d16588a..9dcfb123b81 100644
--- a/lisp/international/iso-insert.el
+++ b/lisp/international/iso-insert.el
@@ -628,5 +628,4 @@
(provide 'iso-insert)
-;;; arch-tag: eb5f97bd-a034-4851-92ff-ab1f1bf92814
;;; iso-insert.el ends here
diff --git a/lisp/international/iso-swed.el b/lisp/international/iso-swed.el
index 60cc7fd632a..156e3452693 100644
--- a/lisp/international/iso-swed.el
+++ b/lisp/international/iso-swed.el
@@ -148,5 +148,4 @@
(provide 'iso-swed)
-;;; arch-tag: 6b3dc269-660c-44b6-a25f-680b921eaf2c
;;; iso-swed.el ends here
diff --git a/lisp/international/iso-transl.el b/lisp/international/iso-transl.el
index a071b14b3d2..ea5f9ff53ae 100644
--- a/lisp/international/iso-transl.el
+++ b/lisp/international/iso-transl.el
@@ -292,5 +292,4 @@ sequence VECTOR. (VECTOR is normally one character long.)")
(provide 'iso-transl)
-;;; arch-tag: 034cfedf-7ebd-461d-bcd0-5c79e6dc0b61
;;; iso-transl.el ends here
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el
index ff9769cb136..a3df26cdd9b 100644
--- a/lisp/international/ja-dic-cnv.el
+++ b/lisp/international/ja-dic-cnv.el
@@ -568,5 +568,4 @@ To get complete usage, invoke:
;; coding: iso-2022-7bit
;; End:
-;;; arch-tag: dec06fb0-8118-45b1-80d7-dc360b6fd3b2
;;; ja-dic-cnv.el ends here
diff --git a/lisp/international/ja-dic-utl.el b/lisp/international/ja-dic-utl.el
index c25be8aae93..6afeceb9a9e 100644
--- a/lisp/international/ja-dic-utl.el
+++ b/lisp/international/ja-dic-utl.el
@@ -217,5 +217,4 @@ LEIM is available from the same ftp directory as Emacs."))
;; coding: iso-2022-7bit
;; End:
-;;; arch-tag: df2218fa-469c-40f6-bace-7f89a053f9c0
;;; ja-dic-utl.el ends here
diff --git a/lisp/international/kinsoku.el b/lisp/international/kinsoku.el
index 28d6409d46b..b551161a6f3 100644
--- a/lisp/international/kinsoku.el
+++ b/lisp/international/kinsoku.el
@@ -121,17 +121,11 @@ The value 0 means there's no limitation.")
;; Try to resolve `kinsoku' restriction by making the current line longer.
(defun kinsoku-longer ()
- (let ((pos-and-column
- (save-excursion
- (forward-char 1)
- (while (and (not (eobp))
- (or (aref (char-category-set (following-char)) ?>)
- ;; protect non-kinsoku words
- (not (or (eq (preceding-char) ? )
- (aref (char-category-set (preceding-char))
- ?|)))))
- (forward-char 1))
- (cons (point) (current-column)))))
+ (let ((pos-and-column (save-excursion
+ (forward-char 1)
+ (while (aref (char-category-set (following-char)) ?>)
+ (forward-char 1))
+ (cons (point) (current-column)))))
(if (or (<= kinsoku-limit 0)
(< (cdr pos-and-column) (+ (current-fill-column) kinsoku-limit)))
(goto-char (car pos-and-column)))))
@@ -141,14 +135,9 @@ The value 0 means there's no limitation.")
(defun kinsoku-shorter (linebeg)
(let ((pos (save-excursion
(forward-char -1)
- (while (and
- (< linebeg (point))
- (or (aref (char-category-set (preceding-char)) ?<)
- (aref (char-category-set (following-char)) ?>)
- ;; protect non-kinsoku words
- (not (or (eq (preceding-char) ? )
- (aref (char-category-set (preceding-char))
- ?|)))))
+ (while (and (< linebeg (point))
+ (or (aref (char-category-set (preceding-char)) ?<)
+ (aref (char-category-set (following-char)) ?>)))
(forward-char -1))
(point))))
(if (< linebeg pos)
@@ -181,5 +170,4 @@ the context of text formatting."
(aref (char-category-set (preceding-char)) ?<))
(kinsoku-shorter linebeg))))
-;;; arch-tag: e6b036bc-9e5b-4e9f-a22c-4ed04e37777e
;;; kinsoku.el ends here
diff --git a/lisp/international/kkc.el b/lisp/international/kkc.el
index 972bbbfdddf..a25cab5f4d1 100644
--- a/lisp/international/kkc.el
+++ b/lisp/international/kkc.el
@@ -656,5 +656,4 @@ and change the current conversion to the last one in the group."
;;
(provide 'kkc)
-;;; arch-tag: 3cbfd56e-74e6-4f60-bb46-ba7c2d366fbf
;;; kkc.el ends here
diff --git a/lisp/international/latin-1.el b/lisp/international/latin-1.el
index 3c30ba0721b..4fe2cbbe970 100644
--- a/lisp/international/latin-1.el
+++ b/lisp/international/latin-1.el
@@ -117,5 +117,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: c2ee6895-edc3-40b2-9518-8c09f1d56c54
;;; latin-1.el ends here
diff --git a/lisp/international/latin-2.el b/lisp/international/latin-2.el
index bc7fbe84274..e96ed8c39b3 100644
--- a/lisp/international/latin-2.el
+++ b/lisp/international/latin-2.el
@@ -106,5 +106,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: 2b9f9c30-1a63-4877-8a80-e95a5e4c57c9
;;; latin-2.el ends here
diff --git a/lisp/international/latin-3.el b/lisp/international/latin-3.el
index 99debf3983d..1880b525548 100644
--- a/lisp/international/latin-3.el
+++ b/lisp/international/latin-3.el
@@ -104,5 +104,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: 64d9d46d-fe0b-4a8e-9c28-ba7e20bbc552
;;; latin-3.el ends here
diff --git a/lisp/international/latin-4.el b/lisp/international/latin-4.el
index 7fa901dba0b..50b9b9f33a2 100644
--- a/lisp/international/latin-4.el
+++ b/lisp/international/latin-4.el
@@ -104,5 +104,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: c6b2558b-1943-4626-beb5-139630c8e352
;;; latin-4.el ends here
diff --git a/lisp/international/latin-5.el b/lisp/international/latin-5.el
index 5d96c1132a7..51c9ede9d34 100644
--- a/lisp/international/latin-5.el
+++ b/lisp/international/latin-5.el
@@ -117,5 +117,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: 7f91a36a-39fb-4b5d-806f-f171abee71ad
;;; latin-5.el ends here
diff --git a/lisp/international/latin-8.el b/lisp/international/latin-8.el
index 91ea40198db..bf366609e35 100644
--- a/lisp/international/latin-8.el
+++ b/lisp/international/latin-8.el
@@ -110,5 +110,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: a916b4b5-4204-485b-8b57-8ab3a43a2e29
;;; latin-8.el ends here
diff --git a/lisp/international/latin-9.el b/lisp/international/latin-9.el
index 1a221f024de..7639d2501e7 100644
--- a/lisp/international/latin-9.el
+++ b/lisp/international/latin-9.el
@@ -123,5 +123,4 @@
;;; no-byte-compile: t
;;; End:
-;;; arch-tag: 84d442ad-d595-4016-8b84-ea92704fd235
;;; latin-9.el ends here
diff --git a/lisp/international/latin1-disp.el b/lisp/international/latin1-disp.el
index fae82cdb8bc..1ab79c4f1ac 100644
--- a/lisp/international/latin1-disp.el
+++ b/lisp/international/latin1-disp.el
@@ -106,7 +106,7 @@ a Unicode font with which to display them."
(if sets
(progn
(mapc #'latin1-display-setup sets)
- (unless (char-displayable-p
+ (unless (latin1-char-displayable-p
(make-char 'mule-unicode-0100-24ff 32 33))
;; It doesn't look as though we have a Unicode font.
(map-char-table
@@ -133,7 +133,6 @@ a Unicode font with which to display them."
(?\$,1rt(B "--") ;; EM DASH
(?\$,1ub(B "TM") ;; TRADE MARK SIGN
(?\$,1s:(B ">") ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- (?$,1s"(B ",A7(B")
)))
(setq latin1-display t))
(mapc #'latin1-display-reset latin1-display-sets)
@@ -221,11 +220,47 @@ character set: `latin-2', `hebrew' etc."
(setq language 'cyrillic-iso))
(let* ((info (get-language-info language 'charset))
(char (and info (make-char (car (remq 'ascii info)) ?\ ))))
- (and char (char-displayable-p char))))
+ (and char (latin1-char-displayable-p char))))
-;; Backwards compatibility.
-(defalias 'latin1-char-displayable-p 'char-displayable-p)
-(make-obsolete 'latin1-char-displayable-p 'char-displayable-p "21.5")
+;; This should be moved into mule-utils or somewhere after 21.1.
+(defun latin1-char-displayable-p (char)
+ "Return non-nil if we should be able to display CHAR.
+On a multi-font display, the test is only whether there is an
+appropriate font from the selected frame's fontset to display CHAR's
+charset in general. Since fonts may be specified on a per-character
+basis, this may not be accurate."
+ (cond ((< char 256)
+ ;; Single byte characters are always displayable.
+ t)
+ ((display-multi-font-p)
+ ;; On a window system, a character is displayable if we have
+ ;; a font for that character in the default face of the
+ ;; currently selected frame.
+ (let ((fontset (frame-parameter (selected-frame) 'font))
+ font-pattern)
+ (if (query-fontset fontset)
+ (setq font-pattern (fontset-font fontset char)))
+ (or font-pattern
+ (setq font-pattern (fontset-font "fontset-default" char)))
+ (if font-pattern
+ (progn
+ ;; Now FONT-PATTERN is a string or a cons of family
+ ;; field pattern and registry field pattern.
+ (or (stringp font-pattern)
+ (setq font-pattern (concat "-"
+ (or (car font-pattern) "*")
+ "-*-"
+ (cdr font-pattern))))
+ (x-list-fonts font-pattern 'default (selected-frame) 1)))))
+ (t
+ (let ((coding (terminal-coding-system)))
+ (if coding
+ (let ((safe-chars (coding-system-get coding 'safe-chars))
+ (safe-charsets (coding-system-get coding 'safe-charsets)))
+ (or (and safe-chars
+ (aref safe-chars char))
+ (and safe-charsets
+ (memq (char-charset char) safe-charsets)))))))))
(defun latin1-display-setup (set &optional force)
"Set up Latin-1 display for characters in the given SET.
@@ -790,7 +825,7 @@ turn it off and display Unicode characters literally. The display
is't changed if the display can render Unicode characters."
(interactive "p")
(if (> arg 0)
- (unless (char-displayable-p
+ (unless (latin1-char-displayable-p
(make-char 'mule-unicode-0100-24ff 32 33))
;; It doesn't look as though we have a Unicode font.
(let ((latin1-display-format "%s"))
@@ -3209,8 +3244,8 @@ is't changed if the display can render Unicode characters."
(?\$,3sc(B "\"")
(?\$,3sd(B ",")
;; Not from Lynx
- (?$,3r_(B "")
- (?$,3u=(B "?")))))
+ (?$,3r_(B . "")
+ (?$,3u=(B . "?")))))
(aset standard-display-table
(make-char 'mule-unicode-0100-24ff) nil)
(aset standard-display-table
@@ -3222,5 +3257,4 @@ is't changed if the display can render Unicode characters."
(provide 'latin1-disp)
-;;; arch-tag: 68b2872e-d667-4f48-8e2f-ec2ba2d29406
;;; latin1-disp.el ends here
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index c9b2330e75f..3d2372b4f75 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -1,4 +1,4 @@
-;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*-
+;;; mule-cmds.el --- commands for mulitilingual environment
;; Copyright (C) 1995, 2003 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
@@ -887,7 +887,7 @@ one of the following safe coding systems, or edit the buffer:\n")
(insert "\n")
(fill-region-as-paragraph pos (point)))
(insert "Or specify any other coding system
-at the risk of losing the problematic characters.\n")))
+on your risk of losing the problematic characters.\n")))
;; Read a coding system.
(setq default-coding-system (or (car safe) (car codings)))
@@ -1800,7 +1800,7 @@ specifies the character set for the major languages of Western Europe."
(aset standard-display-table 160 [32])
;; With luck, non-Latin-1 fonts are more recent and so don't
;; have this bug.
- (aset standard-display-table (make-char 'latin-iso8859-1 160) [32])
+ (aset standard-display-table 2208 [32]) ; Latin-1 NBSP
;; Most Windows programs send out apostrophes as \222. Most X fonts
;; don't contain a character at that position. Map it to the ASCII
;; apostrophe. [This is actually RIGHT SINGLE QUOTATION MARK,
@@ -1808,21 +1808,7 @@ specifies the character set for the major languages of Western Europe."
;; fonts probably have the appropriate glyph at this position,
;; so they could use standard-display-8bit. It's better to use a
;; proper windows-1252 coding system. --fx]
- (aset standard-display-table 146 [39])
- ;; XFree86 4 has changed most of the fonts from their designed
- ;; versions such that `' no longer appears as balanced quotes.
- ;; Assume it has iso10646 fonts installed, so we can display
- ;; balanced quotes.
- (when (and (eq window-system 'x)
- (string= "The XFree86 Project, Inc" (x-server-vendor))
- (> (aref (number-to-string (nth 2 (x-server-version))) 0)
- ?3))
- (aset standard-display-table ?' [?$,1ry(B])
- (aset standard-display-table ?` [?$,1rx(B])
- ;; The fonts don't have the relevant bug.
- (aset standard-display-table 160 nil)
- (aset standard-display-table (make-char 'latin-iso8859-1 160)
- nil)))))
+ (aset standard-display-table 146 [39]))))
(defun set-language-environment-coding-systems (language-name
&optional eol-type)
@@ -2439,5 +2425,4 @@ If CODING-SYSTEM can't safely encode CHAR, return nil."
(substring enc2 0 i2))))
-;;; arch-tag: b382c432-4b36-460e-bf4c-05efd0bb18dc
;;; mule-cmds.el ends here
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el
index 53a02e5caef..04bc47d3de2 100644
--- a/lisp/international/mule-conf.el
+++ b/lisp/international/mule-conf.el
@@ -555,5 +555,4 @@ for decoding and encoding files, process I/O, etc."
(update-coding-systems-internal)
-;;; arch-tag: 7d5fed55-b6df-42f6-8d3d-0011190551f5
;;; mule-conf.el ends here
diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index bbfa2540f5d..6f03ff8aeea 100644
--- a/lisp/international/mule-diag.el
+++ b/lisp/international/mule-diag.el
@@ -1319,5 +1319,4 @@ system which uses fontsets)."
(provide 'mule-diag)
-;;; arch-tag: cd3b607c-2893-45a0-a4fa-a6535754dbee
;;; mule-diag.el ends here
diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el
index b667ec9227a..9ed3d8a3880 100644
--- a/lisp/international/mule-util.el
+++ b/lisp/international/mule-util.el
@@ -2,7 +2,6 @@
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
-;; Copyright (C) 2000, 2002 Free Software Foundation, Inc.
;; Keywords: mule, multilingual
@@ -359,45 +358,6 @@ language environment LANG-ENV."
coding-priority))
(detect-coding-region from to))))
-;;;###autoload
-(defun char-displayable-p (char)
- "Return non-nil if we should be able to display CHAR.
-On a multi-font display, the test is only whether there is an
-appropriate font from the selected frame's fontset to display CHAR's
-charset in general. Since fonts may be specified on a per-character
-basis, this may not be accurate."
- (cond ((< char 256)
- ;; Single byte characters are always displayable.
- t)
- ((display-multi-font-p)
- ;; On a window system, a character is displayable if we have
- ;; a font for that character in the default face of the
- ;; currently selected frame.
- (let ((fontset (frame-parameter (selected-frame) 'font))
- font-pattern)
- (if (query-fontset fontset)
- (setq font-pattern (fontset-font fontset char)))
- (or font-pattern
- (setq font-pattern (fontset-font "fontset-default" char)))
- (if font-pattern
- (progn
- ;; Now FONT-PATTERN is a string or a cons of family
- ;; field pattern and registry field pattern.
- (or (stringp font-pattern)
- (setq font-pattern (concat "-"
- (or (car font-pattern) "*")
- "-*-"
- (cdr font-pattern))))
- (x-list-fonts font-pattern 'default (selected-frame) 1)))))
- (t
- (let ((coding (terminal-coding-system)))
- (if coding
- (let ((safe-chars (coding-system-get coding 'safe-chars))
- (safe-charsets (coding-system-get coding 'safe-charsets)))
- (or (and safe-chars
- (aref safe-chars char))
- (and safe-charsets
- (memq (char-charset char) safe-charsets)))))))))
(provide 'mule-util)
@@ -405,5 +365,4 @@ basis, this may not be accurate."
;; coding: iso-2022-7bit
;; End:
-;;; arch-tag: 5bdb52b6-a3a5-4529-b7a0-37d01b0e570b
;;; mule-util.el ends here
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 12419ee4681..f37c3704cf2 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -370,7 +370,7 @@ code-point in CCS. Currently not supported and just ignored."
(setq split (split-char trans)
charset (car split)))
(cond ((eq charset 'ascii)
- (or trans char))
+ char)
((eq charset 'latin-iso8859-1)
(+ (nth 1 split) 128))
((eq charset 'mule-unicode-0100-24ff)
@@ -815,11 +815,6 @@ following properties are recognized:
The value is a symbol whose name is the `MIME-charset' parameter of
the coding system.
- o mime-text-unsuitable
-
- A non-nil value means the `mime-charset' property names a charset
- which is unsuitable for the top-level media type \"text\".
-
o valid-codes (meaningful only for a coding system based on CCL)
The value is a list to indicate valid byte ranges of the encoded
@@ -1129,7 +1124,7 @@ If CODING-SYSTEM leaves the text conversion unspecified, or if it
leaves the end-of-line conversion unspecified, FORCE controls what to
do. If FORCE is nil, get the unspecified aspect (or aspects) from the
buffer's previous `buffer-file-coding-system' value (if it is
-specified there). Otherwise, leave it unspecified.
+specified there). Otherwise, levae it unspecified.
This marks the buffer modified so that the succeeding \\[save-buffer]
surely saves the buffer with CODING-SYSTEM. From a program, if you
@@ -1385,32 +1380,6 @@ This alist is used to decode an extened segment of a compound text.")
(goto-char (point-min))
(- (point-max) (point)))))
-;; From X registry 2001/06/01
-;; 20. NON-STANDARD CHARACTER SET ENCODINGS
-
-;; See Section 6 of the Compound Text standard.
-
-;; Name Reference
-;; ---- ---------
-;; "DEC.CNS11643.1986-2" [53]
-;; CNS11643 2-plane using the recommended
-;; internal representation scheme
-;; "DEC.DTSCS.1990-2" [54]
-;; DEC Taiwan Supplemental Character Set
-;; "fujitsu.u90x03" [87]
-;; "ILA" [62]
-;; registry prefix
-;; "IPSYS" [59]
-;; registry prefix
-;; "omron_UDC" [45]
-;; omron User Defined Charset
-;; "omron_UDC_ja" [45]
-;; omron User Defined Charset for Japanese
-;; "omron_UDC_zh" [45]
-;; omron User Defined Charset for Chinese(Main land)
-;; "omron_UDC_tw" [45]
-;; omron User Defined Charset for Chinese(Taiwan)
-
;; If you add charsets here, be sure to modify the regexp used by
;; ctext-pre-write-conversion to look up non-standard charsets.
(defvar ctext-non-standard-designations-alist
@@ -2079,5 +2048,4 @@ This function is intended to be added to `auto-coding-functions'."
;;;
(provide 'mule)
-;;; arch-tag: 9aebaa6e-0e8a-40a9-b857-cb5d04a39e7c
;;; mule.el ends here
diff --git a/lisp/international/ogonek.el b/lisp/international/ogonek.el
index ebe2eaec900..05dc2bd520b 100644
--- a/lisp/international/ogonek.el
+++ b/lisp/international/ogonek.el
@@ -500,5 +500,4 @@ followed by a non-Polish character, that is one not listed in the
(provide 'ogonek)
-;;; arch-tag: 672d7744-28ac-412b-965e-06a27e50d1d7
;;; ogonek.el ends here
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index f1a351432bd..36f597b36f8 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -2820,5 +2820,4 @@ call it with one argument STRING."
;;
(provide 'quail)
-;;; arch-tag: 46d7db54-5467-42c4-a2a9-53ca90a1e886
;;; quail.el ends here
diff --git a/lisp/international/subst-big5.el b/lisp/international/subst-big5.el
index f80d7a8f4a4..407487906ac 100644
--- a/lisp/international/subst-big5.el
+++ b/lisp/international/subst-big5.el
@@ -13937,5 +13937,4 @@
(#xffe3 ?¡Ã)
(#xffe5 ?¢D)))
-;;; arch-tag: 4fbf5312-bb44-4f23-8ae2-7ab2ee1c540f
;;; subst-big5.el ends here
diff --git a/lisp/international/subst-gb2312.el b/lisp/international/subst-gb2312.el
index 5620d211895..cabcc074f4b 100644
--- a/lisp/international/subst-gb2312.el
+++ b/lisp/international/subst-gb2312.el
@@ -7481,5 +7481,4 @@
(#xffe3 ?£þ)
(#xffe5 ?£¤)))
-;;; arch-tag: 369bc330-663d-4cc0-8ca9-45567586fb04
;;; subst-gb2312.el ends here
diff --git a/lisp/international/subst-jis.el b/lisp/international/subst-jis.el
index 7fb7f1ac883..5d3330ef2b0 100644
--- a/lisp/international/subst-jis.el
+++ b/lisp/international/subst-jis.el
@@ -13002,5 +13002,4 @@
(#x9fa5 ?íã)
(#xff5e ?¢·)))
-;;; arch-tag: 7f320453-b293-4159-af5e-6f0bab03048c
;;; subst-jis.el ends here
diff --git a/lisp/international/subst-ksc.el b/lisp/international/subst-ksc.el
index 16671015189..57395111d27 100644
--- a/lisp/international/subst-ksc.el
+++ b/lisp/international/subst-ksc.el
@@ -8261,5 +8261,4 @@
(#xffe5 ?¡Í)
(#xffe6 ?£Ü)))
-;;; arch-tag: b978fd7b-d182-4f63-af47-a028e074c57f
;;; subst-ksc.el ends here
diff --git a/lisp/international/swedish.el b/lisp/international/swedish.el
index 424f052e327..05229b2e9e5 100644
--- a/lisp/international/swedish.el
+++ b/lisp/international/swedish.el
@@ -153,5 +153,4 @@ Leaves point just after the word that looks Swedish."
(provide 'swedish)
-;;; arch-tag: a117019d-acac-4ac4-8eac-0dbd49a41d32
;;; swedish.el ends here
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index 759df5fd949..1caabcce587 100644
--- a/lisp/international/titdic-cnv.el
+++ b/lisp/international/titdic-cnv.el
@@ -206,7 +206,7 @@ SPC, 6, 3, 4, or 7 specifing a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy
;; Return a value of the key in the current line.
(defsubst tit-read-key-value ()
- (if (looking-at "[^ \t\r\n]+")
+ (if (looking-at "[^ \t\n]+")
(car (read-from-string (concat "\"" (match-string 0) "\"")))))
;; Return an appropriate quail-package filename from FILENAME (TIT
@@ -768,11 +768,6 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
(insert "(quail-define-rules\n")
(save-excursion
(set-buffer dicbuf)
- ;; Handle double CR line ends, which result when checking out of
- ;; CVS on MS-Windows.
- (goto-char (point-min))
- (while (re-search-forward "\r\r$" nil t)
- (replace-match ""))
(goto-char (point-min))
(search-forward "A440")
(beginning-of-line)
@@ -1183,5 +1178,4 @@ to store generated Quail packages."
;; coding: iso-2022-7bit
;; End:
-;;; arch-tag: 8ad478b2-a985-4da2-b47f-d8ee5d7c24a3
;;; titdic-cnv.el ends here
diff --git a/lisp/international/ucs-tables.el b/lisp/international/ucs-tables.el
index d91a4b9fbf2..b694165860f 100644
--- a/lisp/international/ucs-tables.el
+++ b/lisp/international/ucs-tables.el
@@ -2531,5 +2531,4 @@ Intended to be added to `minibuffer-setup-hook'."
(provide 'ucs-tables)
-;;; arch-tag: b497e22b-7fe1-486a-9352-e2d7f7d76a76
;;; ucs-tables.el ends here
diff --git a/lisp/international/utf-16.el b/lisp/international/utf-16.el
index 0d58bf14716..6e416c91f6d 100644
--- a/lisp/international/utf-16.el
+++ b/lisp/international/utf-16.el
@@ -1,6 +1,6 @@
;;; utf-16.el --- UTF-16 encoding/decoding
-;; Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: Unicode, UTF-16, i18n
@@ -25,11 +25,11 @@
;;; Commentary:
;; Support for UTF-16, which is a two-byte encoding (modulo
-;; surrogates) of Unicode, defined in RFC 2781. It is written either
-;; in little or big endian order and either with or without the
-;; leading BOM (a two-byte signature which identifies their byte sex).
+;; surrogates) of Unicode, written either in little or big endian
+;; order and either with or without the leading BOM (a two-byte
+;; signature which identifies their byte sex)a.
;;
-;; We provide these base coding systems.
+;; We provides these base coding systems.
;; name endian BOM
;; ---- ------ ---
;; mule-utf-16le little no
@@ -346,7 +346,6 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER)."))
mule-unicode-2500-33ff
mule-unicode-e000-ffff)
(mime-charset . utf-16le)
- (mime-text-unsuitable . t)
(valid-codes (0 . 255))
(dependency unify-8859-on-encoding-mode
unify-8859-on-decoding-mode
@@ -391,7 +390,6 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER)."))
mule-unicode-e000-ffff)
(coding-category . coding-category-utf-16-le)
(mime-charset . utf-16)
- (mime-text-unsuitable . t)
(valid-codes (0 . 255))
(dependency unify-8859-on-encoding-mode
unify-8859-on-decoding-mode
@@ -437,7 +435,6 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER)."))
mule-unicode-e000-ffff)
(coding-category . coding-category-utf-16-be)
(mime-charset . utf-16)
- (mime-text-unsuitable . t)
(valid-codes (0 . 255))
(dependency unify-8859-on-encoding-mode
unify-8859-on-decoding-mode
@@ -460,5 +457,4 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER)."))
(define-coding-system-alias 'mule-utf-16-be 'mule-utf-16be-with-signature)
(define-coding-system-alias 'utf-16-be 'mule-utf-16be-with-signature)
-;;; arch-tag: 85455d46-d9c9-466d-a6f3-c3582a7367c4
;;; utf-16.el ends here
diff --git a/lisp/international/utf-7.el b/lisp/international/utf-7.el
index 8d98b442ac4..842d81c92a1 100644
--- a/lisp/international/utf-7.el
+++ b/lisp/international/utf-7.el
@@ -136,6 +136,4 @@ ESC and SKIP-CHARS are adjusted for the normal and IMAP versions."
;; (utf-7-encode from to t))
(provide 'utf-7)
-
-;;; arch-tag: 975ee403-90a4-4286-97d2-4ed1323f4ef9
;;; utf-7.el ends here
diff --git a/lisp/international/utf-8.el b/lisp/international/utf-8.el
index de2a481704b..e0b3fae2540 100644
--- a/lisp/international/utf-8.el
+++ b/lisp/international/utf-8.el
@@ -221,7 +221,7 @@ default. Also, installing them may be rather slow."
(setq ucs-mule-cjk-to-unicode
(make-hash-table :test 'eq :size 43000 :rehash-size 1000)
ucs-unicode-to-mule-cjk
- (make-hash-table :test 'eq :size 21500 :rehash-size 1000))
+ (make-hash-table :test 'eq :size 43000 :rehash-size 1000))
;; Load the files explicitly, to avoid having to keep
;; around the large tables they contain (as well as the
;; ones which get built).
@@ -831,5 +831,4 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER)."
;;; `((,(string-as-multibyte "[\200-\237\240-\377]")
;;; . utf-8-compose-function))))
-;;; arch-tag: b08735b7-753b-4ae6-b754-0f3efe4515c5
;;; utf-8.el ends here
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 01285aedf05..04f8c4464ef 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2124,5 +2124,4 @@ CASE-FOLD non-nil means the search was case-insensitive."
isearch-case-fold-search case-fold)
(isearch-search))
-;;; arch-tag: 74850515-f7d8-43a6-8a2c-ca90a4c1e675
;;; isearch.el ends here
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index d8f2a5cb214..239c8d6eb0d 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -29,8 +29,6 @@
;; Installation:
;; To get the functions in this package bound to keys, use
;; M-x iswitchb-mode or customize the option `iswitchb-mode'.
-;; Alternatively, add the following line to your .emacs:
-;; (iswitchb-mode 1)
;; As you type in a substring, the list of buffers currently matching
;; the substring is displayed as you type. The list is ordered so
@@ -1348,5 +1346,4 @@ This mode enables switching between buffers using substrings. See
(provide 'iswitchb)
-;;; arch-tag: d74198ae-753f-44f2-b34f-0c515398d90a
;;; iswitchb.el ends here
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index 8efd214ca17..b143393c867 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -528,5 +528,4 @@ will take place when text is fontified stealthily."
(provide 'jit-lock)
-;;; arch-tag: 56b5de6e-f581-453b-bb97-49c39372ff9e
;;; jit-lock.el ends here
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el
index dd56c9c0f31..3d14089349f 100644
--- a/lisp/jka-compr.el
+++ b/lisp/jka-compr.el
@@ -940,5 +940,4 @@ Returns the new status of auto compression (non-nil means on)."
(provide 'jka-compr)
-;;; arch-tag: 3f15b630-e9a7-46c4-a22a-94afdde86ebc
;;; jka-compr.el ends here
diff --git a/lisp/kermit.el b/lisp/kermit.el
index cf56a6216bb..a11163133ba 100644
--- a/lisp/kermit.el
+++ b/lisp/kermit.el
@@ -149,5 +149,4 @@ command `kermit | tr -d '\\015''."
(provide 'kermit)
-;;; arch-tag: 6633215d-6c47-4e66-9f27-16fba02a8dce
;;; kermit.el ends here
diff --git a/lisp/kmacro.el b/lisp/kmacro.el
index 68717653eb8..a4cb27f5280 100644
--- a/lisp/kmacro.el
+++ b/lisp/kmacro.el
@@ -174,37 +174,29 @@ macro to be executed before appending to it."
(defvar kmacro-keymap
(let ((map (make-sparse-keymap)))
- ;; Start, end, execute macros
(define-key map "s" 'kmacro-start-macro)
- (define-key map "\C-s" 'kmacro-start-macro)
(define-key map "\C-k" 'kmacro-end-or-call-macro-repeat)
- (define-key map "r" 'apply-macro-to-region-lines)
- (define-key map "q" 'kbd-macro-query) ;; Like C-x q
-
- ;; macro ring
- (define-key map "\C-n" 'kmacro-cycle-ring-next)
- (define-key map "\C-p" 'kmacro-cycle-ring-previous)
+ (define-key map "\C-e" 'kmacro-edit-macro-repeat)
+ (define-key map "\r" 'kmacro-edit-macro)
+ (define-key map " " 'kmacro-step-edit-macro)
+ (define-key map "l" 'kmacro-edit-lossage)
+ (define-key map "\C-i" 'kmacro-insert-counter)
+ (define-key map "\C-a" 'kmacro-add-counter)
(define-key map "\C-v" 'kmacro-view-macro-repeat)
- (define-key map "\C-d" 'kmacro-delete-ring-head)
- (define-key map "\C-t" 'kmacro-swap-ring)
(define-key map "\C-l" 'kmacro-call-ring-2nd-repeat)
-
- ;; macro counter
+ (define-key map "\C-r" 'kmacro-view-ring-2nd)
+ (define-key map "\C-n" 'kmacro-cycle-ring-next)
+ (define-key map "\C-p" 'kmacro-cycle-ring-previous)
(define-key map "\C-f" 'kmacro-set-format)
(define-key map "\C-c" 'kmacro-set-counter)
- (define-key map "\C-i" 'kmacro-insert-counter)
- (define-key map "\C-a" 'kmacro-add-counter)
-
- ;; macro editing
- (define-key map "\C-e" 'kmacro-edit-macro-repeat)
- (define-key map "\r" 'kmacro-edit-macro)
- (define-key map "e" 'edit-kbd-macro)
- (define-key map "l" 'kmacro-edit-lossage)
- (define-key map " " 'kmacro-step-edit-macro)
-
- ;; naming and binding
+ (define-key map "\C-t" 'kmacro-swap-ring)
(define-key map "b" 'kmacro-bind-to-key)
+ (define-key map "\C-d" 'kmacro-delete-ring-head)
+ ;; Compatibility bindings
+ (define-key map "q" 'kbd-macro-query)
(define-key map "n" 'name-last-kbd-macro)
+ (define-key map "e" 'edit-kbd-macro)
+ (define-key map "r" 'apply-macro-to-region-lines)
map)
"Keymap for keyboard macro commands.")
(defalias 'kmacro-keymap kmacro-keymap)
@@ -237,18 +229,13 @@ macro to be executed before appending to it."
(defvar kmacro-counter-value-start kmacro-counter
"Macro counter at start of macro execution.")
-(defvar kmacro-last-counter 0
- "Last counter inserted by key macro.")
-
-(defvar kmacro-initial-counter-value nil
- "Initial counter value for the next keyboard macro to be defined.")
+(defvar kmacro-last-counter 0 "Last counter inserted by key macro.")
(defun kmacro-insert-counter (arg)
"Insert macro counter and increment with ARG or 1 if missing.
With \\[universal-argument], insert previous kmacro-counter (but do not modify counter)."
(interactive "P")
- (setq kmacro-initial-counter-value nil)
(if (and arg (listp arg))
(insert (format kmacro-counter-format kmacro-last-counter))
(insert (format kmacro-counter-format kmacro-counter))
@@ -273,16 +260,12 @@ With \\[universal-argument], insert previous kmacro-counter (but do not modify c
(defun kmacro-set-counter (arg)
"Set kmacro-counter to ARG or prompt if missing.
-With \\[universal-argument] prefix, reset counter to its value prior to this iteration of the macro."
+With \\[universal-argument], reset counter to its value prior to this iteration of the macro."
(interactive "NMacro counter value: ")
(setq kmacro-last-counter kmacro-counter
kmacro-counter (if (and current-prefix-arg (listp current-prefix-arg))
kmacro-counter-value-start
arg))
- ;; setup initial macro counter value if we are not executing a macro.
- (setq kmacro-initial-counter-value
- (and (not (or defining-kbd-macro executing-kbd-macro))
- kmacro-counter))
(unless executing-kbd-macro
(kmacro-display-counter)))
@@ -291,7 +274,6 @@ With \\[universal-argument] prefix, reset counter to its value prior to this ite
"Add numeric prefix arg (prompt if missing) to macro counter.
With \\[universal-argument], restore previous counter value."
(interactive "NAdd to macro counter: ")
- (setq kmacro-initial-counter-value nil)
(let ((last kmacro-last-counter))
(setq kmacro-last-counter kmacro-counter
kmacro-counter (if (and current-prefix-arg (listp current-prefix-arg))
@@ -321,11 +303,6 @@ the macro ring (when defining or executing) is not stored in the ring;
instead it is available in the variables `last-kbd-macro', `kmacro-counter',
and `kmacro-counter-format'.")
-;; Remember what we are currently looking at with kmacro-view-macro.
-
-(defvar kmacro-view-last-item nil)
-(defvar kmacro-view-item-no 0)
-
(defun kmacro-ring-head ()
"Return pseudo head element in macro ring."
@@ -384,11 +361,8 @@ Check only `last-kbd-macro' if optional arg NONE is non-nil."
(t nil)))
-(defun kmacro-display (macro &optional trunc descr empty)
- "Display a keyboard MACRO.
-Optional arg TRUNC non-nil specifies to limit width of macro to 60 chars.
-Optional arg DESCR is descriptive text for macro; default is \"Macro:\".
-Optional arg EMPTY is message to print if no macros are defined."
+(defun kmacro-display (macro &optional trunc descr empty )
+ "Display a keyboard MACRO."
(if macro
(let* ((x 60)
(m (format-kbd-macro macro))
@@ -436,26 +410,19 @@ Optional arg EMPTY is message to print if no macros are defined."
keys)))
-(defun kmacro-exec-ring-item (item arg)
- "Execute item ITEM from the macro ring."
- ;; Use counter and format specific to the macro on the ring!
- (let ((kmacro-counter (nth 1 item))
- (kmacro-counter-format-start (nth 2 item)))
- (execute-kbd-macro (car item) arg #'kmacro-loop-setup-function)
- (setcar (cdr item) kmacro-counter)))
-
-
(defun kmacro-call-ring-2nd (arg)
"Execute second keyboard macro at in macro ring."
(interactive "P")
(unless (kmacro-ring-empty-p)
- (kmacro-exec-ring-item (car kmacro-ring) arg)))
+ ;; should use counter format specific to the macro on the ring!
+ (let ((kmacro-counter (nth 1 (car kmacro-ring)))
+ (kmacro-counter-format-start (nth 2 (car kmacro-ring))))
+ (execute-kbd-macro (car (car kmacro-ring)) arg #'kmacro-loop-setup-function)
+ (setcar (cdr (car kmacro-ring)) kmacro-counter))))
(defun kmacro-call-ring-2nd-repeat (arg)
- "Execute second keyboard macro at in macro ring.
-This is like `kmacro-call-ring-2nd', but allows repeating macro commands
-without repeating the prefix."
+ "Like `kmacro-call-ring-2nd', but allow repeat without repeating prefix."
(interactive "P")
(let ((keys (kmacro-get-repeat-prefix)))
(kmacro-call-ring-2nd arg)
@@ -472,6 +439,7 @@ without repeating the prefix."
(kmacro-display (car (car kmacro-ring)) "2nd macro")))
+
(defun kmacro-cycle-ring-next (&optional arg)
"Move to next keyboard macro in keyboard macro ring.
Displays the selected macro in the echo area."
@@ -565,10 +533,7 @@ The format of the counter can be modified via \\[kmacro-set-format]."
kmacro-ring))
(if (>= len kmacro-ring-max)
(setcdr (nthcdr len kmacro-ring) nil))))
- (setq kmacro-counter (or (if arg (prefix-numeric-value arg))
- kmacro-initial-counter-value
- 0)
- kmacro-initial-counter-value nil
+ (setq kmacro-counter (if arg (prefix-numeric-value arg) 0)
kmacro-counter-value-start kmacro-counter
kmacro-last-counter kmacro-counter
kmacro-counter-format-start kmacro-counter-format))
@@ -680,9 +645,6 @@ With \\[universal-argument], call second macro in macro ring."
(if kmacro-call-repeat-key
(kmacro-call-macro arg no-repeat t)
(kmacro-end-macro arg)))
- ((and (eq this-command 'kmacro-view-macro) ;; We are in repeat mode!
- kmacro-view-last-item)
- (kmacro-exec-ring-item (car kmacro-view-last-item) arg))
((and arg (listp arg))
(kmacro-call-ring-2nd 1))
(t
@@ -727,97 +689,34 @@ If kbd macro currently being defined end it before activating it."
;;; Misc. commands
-;; An idea for macro bindings:
-;; Create a separate keymap installed as a minor-mode keymap (e.g. in
-;; the emulation-mode-map-alists) in which macro bindings are made
-;; independent of any other bindings. When first binding is made,
-;; the kemap is created, installed, and enabled. Key seq. C-x C-k +
-;; can then be used to toggle the use of this keymap on and off.
-;; This means that it would be safe(r) to bind ordinary keys like
-;; letters and digits, provided that we inhibit the keymap while
-;; executing the macro later on (but that's controversial...)
-
(defun kmacro-bind-to-key (arg)
- "When not defining or executing a macro, offer to bind last macro to a key.
-The key sequences [C-x C-k 0] through [C-x C-k 9] and [C-x C-k A]
-through [C-x C-k Z] are reserved for user bindings, and to bind to
-one of these sequences, just enter the digit or letter, rather than
-the whole sequence.
-
-You can bind to any valid key sequence, but if you try to bind to
-a key with an existing command binding, you will be asked for
-confirmation whether to replace that binding. Note that the
-binding is made in the `global-map' keymap, so the macro binding
-may be shaded by a local key binding."
+ "When not defining or executing a macro, offer to bind last macro to a key."
(interactive "p")
(if (or defining-kbd-macro executing-kbd-macro)
(if defining-kbd-macro
(message "Cannot save macro while defining it."))
(unless last-kbd-macro
(error "No keyboard macro defined"))
- (let ((key-seq (read-key-sequence "Bind last macro to key: "))
- ok cmd)
- (when (= (length key-seq) 1)
- (let ((ch (aref key-seq 0)))
- (if (or (and (>= ch ?0) (<= ch ?9))
- (and (>= ch ?A) (<= ch ?Z)))
- (setq key-seq (concat "\C-x\C-k" key-seq)
- ok t))))
- (when (and (not (equal key-seq ""))
- (or ok
- (not (setq cmd (key-binding key-seq)))
- (stringp cmd)
- (vectorp cmd)
- (yes-or-no-p (format "%s runs command %S. Bind anyway? "
- (format-kbd-macro key-seq)
- cmd))))
- (define-key global-map key-seq last-kbd-macro)
- (message "Keyboard macro bound to %s" (format-kbd-macro key-seq))))))
+ (let ((key-seq (read-key-sequence "Bind last macro to key: ")))
+ (unless (equal key-seq "")
+ (define-key global-map key-seq last-kbd-macro)))))
(defun kmacro-view-macro (&optional arg)
- "Display the last keyboard macro.
-If repeated, it shows previous elements in the macro ring."
+ "Display the last keyboard macro."
(interactive)
- (cond
- ((or (kmacro-ring-empty-p)
- (not (eq last-command 'kmacro-view-macro)))
- (setq kmacro-view-last-item nil))
- ((null kmacro-view-last-item)
- (setq kmacro-view-last-item kmacro-ring
- kmacro-view-item-no 2))
- ((consp kmacro-view-last-item)
- (setq kmacro-view-last-item (cdr kmacro-view-last-item)
- kmacro-view-item-no (1+ kmacro-view-item-no)))
- (t
- (setq kmacro-view-last-item nil)))
- (setq this-command 'kmacro-view-macro
- last-command this-command) ;; in case we repeat
- (kmacro-display (if kmacro-view-last-item
- (car (car kmacro-view-last-item))
- last-kbd-macro)
- nil
- (if kmacro-view-last-item
- (concat (cond ((= kmacro-view-item-no 2) "2nd")
- ((= kmacro-view-item-no 3) "3nd")
- (t (format "%dth" kmacro-view-item-no)))
- " previous macro")
- "Last macro")))
+ (kmacro-display last-kbd-macro))
+
(defun kmacro-view-macro-repeat (&optional arg)
- "Display the last keyboard macro.
-If repeated, it shows previous elements in the macro ring.
-To execute the displayed macro ring item without changing the macro ring,
-just enter C-k.
-This is like `kmacro-view-macro', but allows repeating macro commands
-without repeating the prefix."
+ "Like `kmacro-view-macro', but allow repeat without repeating prefix."
(interactive)
(let ((keys (kmacro-get-repeat-prefix)))
(kmacro-view-macro arg)
(if (and last-kbd-macro keys)
(kmacro-repeat-on-last-key keys))))
-(put 'kmacro-view-macro-repeat 'kmacro-repeat 'ring)
+(put 'kmacro-view-macro-repeat 'kmacro-repeat 'head)
(defun kmacro-edit-macro-repeat (&optional arg)
@@ -1205,6 +1104,4 @@ To customize possible responses, change the \"bindings\" in `kmacro-step-edit-ma
(setq last-kbd-macro kmacro-step-edit-new-macro))))
(provide 'kmacro)
-
-;;; arch-tag: d3fe0b24-ae41-47de-a4d6-41a77d5559f0
;;; kmacro.el ends here
diff --git a/lisp/language/china-util.el b/lisp/language/china-util.el
index cc7aaa65c67..57590d8a665 100644
--- a/lisp/language/china-util.el
+++ b/lisp/language/china-util.el
@@ -417,5 +417,4 @@ The return value is the filled translation table."
;;
(provide 'china-util)
-;;; arch-tag: 5a47b084-b9ac-420e-8191-70c5b3a14836
;;; china-util.el ends here
diff --git a/lisp/language/chinese.el b/lisp/language/chinese.el
index b43c0e9d7d3..14546edbf89 100644
--- a/lisp/language/chinese.el
+++ b/lisp/language/chinese.el
@@ -343,5 +343,4 @@ converted to CNS)."))
(provide 'chinese)
-;;; arch-tag: b82fcf7a-84f6-4e0b-b38c-1742dac0e09f
;;; chinese.el ends here
diff --git a/lisp/language/cyril-util.el b/lisp/language/cyril-util.el
index 1ccc97a2754..ed9125aa03f 100644
--- a/lisp/language/cyril-util.el
+++ b/lisp/language/cyril-util.el
@@ -311,5 +311,4 @@ If the argument is nil, we return the display table to its standard state."
;; coding: iso-2022-7bit
;; End:
-;;; arch-tag: f6d9dd5d-685c-45d6-a5d8-1e2178228b7e
;;; cyril-util.el ends here
diff --git a/lisp/language/cyrillic.el b/lisp/language/cyrillic.el
index 8549a6de55d..742da4fc5a0 100644
--- a/lisp/language/cyrillic.el
+++ b/lisp/language/cyrillic.el
@@ -486,5 +486,4 @@ Support for Russian using koi8-r and the russian-computer input method.")
(provide 'cyrillic)
-;;; arch-tag: bda71ae0-ba41-4cb6-a6e0-1dff542313d3
;;; cyrillic.el ends here
diff --git a/lisp/language/czech.el b/lisp/language/czech.el
index 3d7467ccb43..cba9673596c 100644
--- a/lisp/language/czech.el
+++ b/lisp/language/czech.el
@@ -47,5 +47,4 @@ and selects the Czech tutorial."))
(provide 'czech)
-;;; arch-tag: 45ac0d83-ca13-4b5e-9e82-821e44080c24
;;; czech.el ends here
diff --git a/lisp/language/devan-util.el b/lisp/language/devan-util.el
index bef403fc074..ccbaf36e64c 100644
--- a/lisp/language/devan-util.el
+++ b/lisp/language/devan-util.el
@@ -646,5 +646,4 @@ preferred rule from the sanskrit fonts." )
(provide 'devan-util)
-;;; arch-tag: 9bc4d6e3-f2b9-4110-886e-ff9b66b7eebc
;;; devan-util.el ends here
diff --git a/lisp/language/devanagari.el b/lisp/language/devanagari.el
index bf590d0a00a..4360c0c6df3 100644
--- a/lisp/language/devanagari.el
+++ b/lisp/language/devanagari.el
@@ -44,5 +44,4 @@ are supported in this language environment."))
(provide 'devanagari)
-;;; arch-tag: fd13667d-868b-41e8-81ef-79dd28bbfed2
;;; devanagari.el ends here
diff --git a/lisp/language/english.el b/lisp/language/english.el
index bff51f89644..af7dbafdb71 100644
--- a/lisp/language/english.el
+++ b/lisp/language/english.el
@@ -42,5 +42,4 @@ Nothing special is needed to handle English.")
(set-language-info-alist
"ASCII" (cdr (assoc "English" language-info-alist)))
-;;; arch-tag: e440bdb0-91b0-4fb4-ae38-425780f8f745
;;; english.el ends here
diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el
index 90eed288d6c..3b59ddca661 100644
--- a/lisp/language/ethio-util.el
+++ b/lisp/language/ethio-util.el
@@ -2005,5 +2005,4 @@ mark."
;;
(provide 'ethio-util)
-;;; arch-tag: c8feb3d6-39bf-4b0a-b6ef-26f03fbc8140
;;; ethio-util.el ends here
diff --git a/lisp/language/ethiopic.el b/lisp/language/ethiopic.el
index a0140b585fb..b198cf43084 100644
--- a/lisp/language/ethiopic.el
+++ b/lisp/language/ethiopic.el
@@ -80,5 +80,4 @@
(provide 'ethiopic)
-;;; arch-tag: e81329d9-1286-43ba-92fd-54ce5c7b213c
;;; ethiopic.el ends here
diff --git a/lisp/language/european.el b/lisp/language/european.el
index 15f3885df9d..7c8d728523c 100644
--- a/lisp/language/european.el
+++ b/lisp/language/european.el
@@ -684,5 +684,4 @@ The return value is the number of composed characters."
(provide 'european)
-;;; arch-tag: 9e018b12-fb02-4120-907b-9adeaf84b5c2
;;; european.el ends here
diff --git a/lisp/language/georgian.el b/lisp/language/georgian.el
index c106fea1d65..027c361c00b 100644
--- a/lisp/language/georgian.el
+++ b/lisp/language/georgian.el
@@ -39,5 +39,4 @@
(provide 'georgian)
-;;; arch-tag: 15499fbb-26d4-4a13-9d78-135eef7d32f5
;;; georgian.el ends here
diff --git a/lisp/language/greek.el b/lisp/language/greek.el
index 0283f0fbfde..b8843960723 100644
--- a/lisp/language/greek.el
+++ b/lisp/language/greek.el
@@ -49,5 +49,4 @@
(provide 'greek)
-;;; arch-tag: 9ba48d79-84bc-45e1-9318-685dc3921410
;;; greek.el ends here
diff --git a/lisp/language/hebrew.el b/lisp/language/hebrew.el
index 07407c8848d..2bc79ff810d 100644
--- a/lisp/language/hebrew.el
+++ b/lisp/language/hebrew.el
@@ -68,5 +68,4 @@ Right-to-left writing is not yet supported.")))
(provide 'hebrew)
-;;; arch-tag: 3ca04f32-3f1e-498e-af46-8267498ba5d9
;;; hebrew.el ends here
diff --git a/lisp/language/ind-util.el b/lisp/language/ind-util.el
index 5a4a9bd07b0..60008cce48c 100644
--- a/lisp/language/ind-util.el
+++ b/lisp/language/ind-util.el
@@ -1259,5 +1259,4 @@ See also the function `indian-glyph-char'."
(provide 'ind-util)
-;;; arch-tag: 59aacd71-46c2-4cb3-bb26-e12bbad55545
;;; ind-util.el ends here
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 9c6184364bd..47803f22342 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -171,5 +171,4 @@ The default value is `devanagari'.")
(provide 'indian)
-;;; arch-tag: 83aa8fc7-7ee2-4364-a6e5-498f5e3b8c2f
;;; indian.el ends here
diff --git a/lisp/language/japan-util.el b/lisp/language/japan-util.el
index e9a80fc99a7..7c2cc069241 100644
--- a/lisp/language/japan-util.el
+++ b/lisp/language/japan-util.el
@@ -320,5 +320,4 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading."
;;
(provide 'japan-util)
-;;; arch-tag: b579595c-c9ad-4b57-9314-98cd8b214f89
;;; japan-util.el ends here
diff --git a/lisp/language/japanese.el b/lisp/language/japanese.el
index 2ee04e04e88..64c74e02a0d 100644
--- a/lisp/language/japanese.el
+++ b/lisp/language/japanese.el
@@ -109,5 +109,4 @@
(provide 'japanese)
-;;; arch-tag: 450f5537-9d53-4d5e-b731-4cf116d8cbc9
;;; japanese.el ends here
diff --git a/lisp/language/korea-util.el b/lisp/language/korea-util.el
index 222832022ac..9a945668c76 100644
--- a/lisp/language/korea-util.el
+++ b/lisp/language/korea-util.el
@@ -135,5 +135,4 @@
;;
(provide 'korea-util)
-;;; arch-tag: b17d0981-05da-4577-99f8-1db87fff8b44
;;; korea-util.el ends here
diff --git a/lisp/language/korean.el b/lisp/language/korean.el
index 72811b9e5e0..4dbc2cb5b8a 100644
--- a/lisp/language/korean.el
+++ b/lisp/language/korean.el
@@ -69,5 +69,4 @@ The following key bindings are available while using Korean input methods:
(provide 'korean)
-;;; arch-tag: ca7c7348-5ca3-4623-887a-7fd33d725d0e
;;; korean.el ends here
diff --git a/lisp/language/lao-util.el b/lisp/language/lao-util.el
index 8a0c89dc048..7105ae1beb6 100644
--- a/lisp/language/lao-util.el
+++ b/lisp/language/lao-util.el
@@ -615,5 +615,4 @@ The return value is number of composed characters."
;;
(provide 'lao-util)
-;;; arch-tag: 1f828781-3cb8-4695-88af-8f33222338ce
;;; lao-util.el ends here
diff --git a/lisp/language/lao.el b/lisp/language/lao.el
index b26a8f389ed..72e90930abb 100644
--- a/lisp/language/lao.el
+++ b/lisp/language/lao.el
@@ -65,5 +65,4 @@
(provide 'lao)
-;;; arch-tag: ba540fd9-6352-4449-a9cd-669afd21fa57
;;; lao.el ends here
diff --git a/lisp/language/malayalam.el b/lisp/language/malayalam.el
index 0b5c6d64038..3a7c19892c7 100644
--- a/lisp/language/malayalam.el
+++ b/lisp/language/malayalam.el
@@ -43,5 +43,4 @@ South Indian language Malayalam is supported in this language environment."))
(provide 'malayalam)
-;;; arch-tag: 5f500e53-1e4f-4bb2-aa93-ad8736f0349f
;;; malayalam.el ends here
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 537267ce9ba..a4c72742d78 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -43,5 +43,4 @@ and Italian.")))
(provide 'misc-lang)
-;;; arch-tag: 6953585c-1a1a-4c09-be82-a2518afb6074
;;; misc-lang.el ends here
diff --git a/lisp/language/mlm-util.el b/lisp/language/mlm-util.el
index 688fc979972..a01f3c4a88f 100644
--- a/lisp/language/mlm-util.el
+++ b/lisp/language/mlm-util.el
@@ -407,5 +407,4 @@ PATTERN regexp."
(provide 'mlm-util)
-;;; arch-tag: 7f25ee67-8f9d-49f2-837b-35c412c00eba
;;; devan-util.el ends here
diff --git a/lisp/language/romanian.el b/lisp/language/romanian.el
index d8e33f96d47..2c4d2de94ab 100644
--- a/lisp/language/romanian.el
+++ b/lisp/language/romanian.el
@@ -43,5 +43,4 @@
(provide 'romanian)
-;;; arch-tag: a0bf93ee-2f02-4678-a477-c08acc35366b
;;; romanian.el ends here
diff --git a/lisp/language/slovak.el b/lisp/language/slovak.el
index f4b2a14374c..a03c84d7c3f 100644
--- a/lisp/language/slovak.el
+++ b/lisp/language/slovak.el
@@ -48,5 +48,4 @@ and selects the Slovak tutorial."))
(provide 'slovak)
-;;; arch-tag: 1bae098a-33b2-4426-8c29-59e44fe05484
;;; slovak.el ends here
diff --git a/lisp/language/tamil.el b/lisp/language/tamil.el
index 452b84ba0d9..be02f07376c 100644
--- a/lisp/language/tamil.el
+++ b/lisp/language/tamil.el
@@ -40,5 +40,4 @@ South Indian Language Tamil supported in this language environment."))
(provide 'tamil)
-;;; arch-tag: 2201ac78-7d1e-4674-9bcb-9923c7a2bd9c
;;; tamil.el ends here
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index fb7c8a59243..58588f974d7 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -295,5 +295,4 @@ The return value is number of composed characters."
;;
(provide 'thai-util)
-;;; arch-tag: 59425d6a-8cf9-4e06-a6ab-8ab7dc7a7a97
;;; thai-util.el ends here
diff --git a/lisp/language/thai.el b/lisp/language/thai.el
index 3f51272cc13..f822e93bd1b 100644
--- a/lisp/language/thai.el
+++ b/lisp/language/thai.el
@@ -65,5 +65,4 @@
(provide 'thai)
-;;; arch-tag: c7eb0e91-4db0-4619-81f8-8762e7d51e15
;;; thai.el ends here
diff --git a/lisp/language/tibet-util.el b/lisp/language/tibet-util.el
index 3b9e6afbce7..2336b988fd0 100644
--- a/lisp/language/tibet-util.el
+++ b/lisp/language/tibet-util.el
@@ -427,5 +427,4 @@ before writing buffer in Unicode. See also
(provide 'tibet-util)
-;;; arch-tag: 7a7333e8-1584-446c-b39c-a02b9def265d
;;; tibet-util.el ends here
diff --git a/lisp/language/tibetan.el b/lisp/language/tibetan.el
index c9e67bd0b01..3ca1da9d839 100644
--- a/lisp/language/tibetan.el
+++ b/lisp/language/tibetan.el
@@ -610,5 +610,4 @@ This also matches some punctuation characters which need conversion.")
(provide 'tibetan)
-;;; arch-tag: 8d37c8d7-f95d-450f-9ec2-819e61fc79a7
;;; tibetan.el ends here
diff --git a/lisp/language/tml-util.el b/lisp/language/tml-util.el
index 6a5d7d14ca4..bb8c8f19e04 100644
--- a/lisp/language/tml-util.el
+++ b/lisp/language/tml-util.el
@@ -364,5 +364,4 @@ PATTERN regexp."
(provide 'tml-util)
-;;; arch-tag: 4d1c9737-e7b1-44cf-a040-4f64c50e773e
;;; tml-util.el ends here
diff --git a/lisp/language/utf-8-lang.el b/lisp/language/utf-8-lang.el
index 96fe617de18..11e51dbec2b 100644
--- a/lisp/language/utf-8-lang.el
+++ b/lisp/language/utf-8-lang.el
@@ -50,6 +50,4 @@ character set encoded in UTF-8."))
nil)
(provide 'utf-8-lang)
-
-;;; arch-tag: dfa339e1-296f-4b1e-9fe8-2b65279ec813
;;; utf-8-lang.el ends here
diff --git a/lisp/language/viet-util.el b/lisp/language/viet-util.el
index 5a92bf203a0..1b72ff07d8b 100644
--- a/lisp/language/viet-util.el
+++ b/lisp/language/viet-util.el
@@ -290,5 +290,4 @@ positions (integers or markers) specifying the stretch of the region."
;;;
(provide 'viet-util)
-;;; arch-tag: 082a4d3b-168f-45b4-b3e1-82bfa1b5a194
;;; viet-util.el ends here
diff --git a/lisp/language/vietnamese.el b/lisp/language/vietnamese.el
index 1c1e3bd6094..742ceafda69 100644
--- a/lisp/language/vietnamese.el
+++ b/lisp/language/vietnamese.el
@@ -321,5 +321,4 @@ default setting.")
(provide 'vietnamese)
-;;; arch-tag: 5bd4f1aa-2d4e-4f33-b7d8-0679c6a19ee6
;;; vietnamese.el ends here
diff --git a/lisp/lazy-lock.el b/lisp/lazy-lock.el
index 3547674bf36..b335fb84058 100644
--- a/lisp/lazy-lock.el
+++ b/lisp/lazy-lock.el
@@ -1050,5 +1050,4 @@ verbosity is controlled via the variable `lazy-lock-stealth-verbose'."
(provide 'lazy-lock)
-;;; arch-tag: c1776846-f046-4a45-9684-54b951b12fc9
;;; lazy-lock.el ends here
diff --git a/lisp/ledit.el b/lisp/ledit.el
index 8568740fd0b..0094d515de4 100644
--- a/lisp/ledit.el
+++ b/lisp/ledit.el
@@ -156,5 +156,4 @@ do (setq lisp-mode-hook 'ledit-from-lisp-mode)"
(provide 'ledit)
-;;; arch-tag: f0f1ca13-8d31-478c-ae1b-b448c55a8faf
;;; ledit.el ends here
diff --git a/lisp/loadhist.el b/lisp/loadhist.el
index 19d940a6450..e609596e4a8 100644
--- a/lisp/loadhist.el
+++ b/lisp/loadhist.el
@@ -189,5 +189,4 @@ is nil, raise an error."
(provide 'loadhist)
-;;; arch-tag: 70bb846a-c413-4f01-bf88-78dba4ac0798
;;; loadhist.el ends here
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 52b94f9bbb9..f0ce160c666 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -356,6 +356,4 @@
;;; no-byte-compile: t
;;; no-update-autoloads: t
;;; End:
-
-;;; arch-tag: 121e1dd4-36e1-45ac-860e-239f577a6335
;;; loadup.el ends here
diff --git a/lisp/locate.el b/lisp/locate.el
index eb8074c9f6c..40e8ddc65c3 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -516,5 +516,4 @@ Database is updated using the shell command in `locate-update-command'."
(provide 'locate)
-;;; arch-tag: 60c4d098-b5d5-4b3c-a3e0-51a2e9f43898
;;; locate.el ends here
diff --git a/lisp/log-edit.el b/lisp/log-edit.el
index 31bf7add457..9526a39123c 100644
--- a/lisp/log-edit.el
+++ b/lisp/log-edit.el
@@ -630,5 +630,4 @@ Sort REGIONS front-to-back first."
(provide 'log-edit)
-;;; arch-tag: 8089b39c-983b-4e83-93cd-ed0a64c7fdcc
;;; log-edit.el ends here
diff --git a/lisp/log-view.el b/lisp/log-view.el
index a6f736d16f7..8885354bdcc 100644
--- a/lisp/log-view.el
+++ b/lisp/log-view.el
@@ -204,5 +204,4 @@ Otherwise, get the diff between the revisions
(provide 'log-view)
-;;; arch-tag: 0d64220b-ce7e-4f62-9c2a-6b04c2f81f4f
;;; log-view.el ends here
diff --git a/lisp/lpr.el b/lisp/lpr.el
index 0eac7b7ba31..7b827704cad 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -326,5 +326,4 @@ The characters tab, linefeed, space, return and formfeed are not affected."
(provide 'lpr)
-;;; arch-tag: 21c3f821-ebec-4ca9-ac67-a81e4b75c62a
;;; lpr.el ends here
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 69fb873f971..b6621b08566 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -603,5 +603,4 @@ All ls time options, namely c, t and u, are handled."
(provide 'ls-lisp)
-;;; arch-tag: e55f399b-05ec-425c-a6d5-f5e349c35ab4
;;; ls-lisp.el ends here
diff --git a/lisp/macros.el b/lisp/macros.el
index 72ba3f11721..b708683bdfa 100644
--- a/lisp/macros.el
+++ b/lisp/macros.el
@@ -310,5 +310,4 @@ and then select the region of un-tablified names and use
(provide 'macros)
-;;; arch-tag: 346ed1a5-1220-4bc8-b533-961ee704361f
;;; macros.el ends here
diff --git a/lisp/mail/blessmail.el b/lisp/mail/blessmail.el
index 70438811dcf..d87f1f3232d 100644
--- a/lisp/mail/blessmail.el
+++ b/lisp/mail/blessmail.el
@@ -66,5 +66,4 @@
(write-region (point-min) (point-max) "blessmail")
(kill-emacs)
-;;; arch-tag: c3329fe2-f945-41a9-8b00-b4b038ff182f
;;; blessmail.el ends here
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index 59521ebf678..c86c1827261 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -255,5 +255,4 @@ and send the mail again using \\[mail-send-and-exit].")))
(provide 'emacsbug)
-;;; arch-tag: 248b6523-c3b5-4fec-9a3f-0411fafa7d49
;;; emacsbug.el ends here
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el
index 3d1b1951421..735bcd36353 100644
--- a/lisp/mail/feedmail.el
+++ b/lisp/mail/feedmail.el
@@ -2670,5 +2670,4 @@ been weeded out."
(provide 'feedmail)
-;;; arch-tag: ec27b380-11c0-4dfd-8436-f636cf2bb992
;;; feedmail.el ends here
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index 4644d36ad25..b4e8d20c4ef 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -752,5 +752,4 @@ key binding
(provide 'footnote)
-;;; arch-tag: 9bcfb6d7-2161-4caf-8793-700f62400398
;;; footnote.el ends here
diff --git a/lisp/mail/mail-extr.el b/lisp/mail/mail-extr.el
index 1995933382f..8bcc4c72d3a 100644
--- a/lisp/mail/mail-extr.el
+++ b/lisp/mail/mail-extr.el
@@ -2144,5 +2144,4 @@ consing a string.)"
(provide 'mail-extr)
-;;; arch-tag: 7785fade-1073-4ed6-b4f6-28db34a7982d
;;; mail-extr.el ends here
diff --git a/lisp/mail/mail-hist.el b/lisp/mail/mail-hist.el
index ba66ca079fe..da27b726efa 100644
--- a/lisp/mail/mail-hist.el
+++ b/lisp/mail/mail-hist.el
@@ -293,5 +293,4 @@ received mail."
(provide 'mail-hist)
-;;; arch-tag: 9ff9a07c-9dca-482d-ba87-54f42778559d
;;; mail-hist.el ends here
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index 628b937529c..42be6b57040 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -346,5 +346,4 @@ If 4th arg LIST is non-nil, return a list of all such fields."
(provide 'mail-utils)
-;;; arch-tag: b24aec2f-fd65-4ceb-9e39-3cc2827036fd
;;; mail-utils.el ends here
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index c67d8062afd..b2edf777861 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -161,13 +161,12 @@ no aliases, which is represented by this being a table with no entries.)")
"The modification time of your mail alias file when it was last examined.")
(defun mail-abbrevs-sync-aliases ()
- (when mail-personal-alias-file
- (if (file-exists-p mail-personal-alias-file)
- (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
- (if (not (equal mail-abbrev-modtime modtime))
- (progn
- (setq mail-abbrev-modtime modtime)
- (build-mail-abbrevs)))))))
+ (if (file-exists-p mail-personal-alias-file)
+ (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
+ (if (not (equal mail-abbrev-modtime modtime))
+ (progn
+ (setq mail-abbrev-modtime modtime)
+ (build-mail-abbrevs))))))
;;;###autoload
(defun mail-abbrevs-setup ()
@@ -626,5 +625,4 @@ Don't use this command in Lisp programs!
(if mail-abbrevs-mode
(mail-abbrevs-enable))
-;;; arch-tag: 5aa2d901-73f8-4ad7-b73c-4802282ad2ff
;;; mailabbrev.el ends here
diff --git a/lisp/mail/mailalias.el b/lisp/mail/mailalias.el
index 18f52e6434f..6d0c2e12125 100644
--- a/lisp/mail/mailalias.el
+++ b/lisp/mail/mailalias.el
@@ -540,5 +540,4 @@ See `mail-directory-stream'."
(provide 'mailalias)
-;;; arch-tag: 1d6a0f87-eb34-4d45-8816-60c1b952cf46
;;; mailalias.el ends here
diff --git a/lisp/mail/mailheader.el b/lisp/mail/mailheader.el
index 1eac0dfa3a3..163b2ecd5ec 100644
--- a/lisp/mail/mailheader.el
+++ b/lisp/mail/mailheader.el
@@ -191,5 +191,4 @@ A key of nil has as its value a list of defaulted headers to ignore."
(provide 'mailheader)
-;;; arch-tag: 6e7aa221-80b5-4b3d-b46f-fd66ab567be0
;;; mailheader.el ends here
diff --git a/lisp/mail/mailpost.el b/lisp/mail/mailpost.el
index 8d57de6ede7..f8198c9e97d 100644
--- a/lisp/mail/mailpost.el
+++ b/lisp/mail/mailpost.el
@@ -105,5 +105,4 @@ site-init."
(provide 'mailpost)
-;;; arch-tag: 1f8ca085-60a6-4eac-8efb-69ffec2fa124
;;; mailpost.el ends here
diff --git a/lisp/mail/metamail.el b/lisp/mail/metamail.el
index d64616dba8e..7cfc4312a79 100644
--- a/lisp/mail/metamail.el
+++ b/lisp/mail/metamail.el
@@ -3,7 +3,7 @@
;; Copyright (C) 1993, 1996 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
-;; Version: $Id: metamail.el,v 1.15 2003/02/04 13:14:00 lektu Exp $
+;; Version: $Id: metamail.el,v 1.14 2000/11/12 00:22:02 fx Exp $
;; Keywords: mail, news, mime, multimedia
;; This file is part of GNU Emacs.
@@ -190,5 +190,4 @@ redisplayed as output is inserted."
(provide 'metamail)
-;;; arch-tag: 52c0cb6f-d800-4776-9789-f0275cb5490e
;;; metamail.el ends here
diff --git a/lisp/mail/mspools.el b/lisp/mail/mspools.el
index 8dc165dcc5e..1f8651727ec 100644
--- a/lisp/mail/mspools.el
+++ b/lisp/mail/mspools.el
@@ -404,5 +404,4 @@ nil."
(provide 'mspools)
-;;; arch-tag: 8990b3ee-68c8-4892-98f1-51a735c8bac6
;;; mspools.el ends here
diff --git a/lisp/mail/reporter.el b/lisp/mail/reporter.el
index 6e609a1f365..c1d5839babd 100644
--- a/lisp/mail/reporter.el
+++ b/lisp/mail/reporter.el
@@ -407,6 +407,4 @@ mail-sending package is used for editing and sending the message."
(provide 'reporter)
-
-;;; arch-tag: 33612ff4-fbbc-4be2-b183-560ce9e0199b
;;; reporter.el ends here
diff --git a/lisp/mail/rfc2368.el b/lisp/mail/rfc2368.el
index 4bfeb911063..25456523657 100644
--- a/lisp/mail/rfc2368.el
+++ b/lisp/mail/rfc2368.el
@@ -162,5 +162,4 @@ calling this function."
(provide 'rfc2368)
-;;; arch-tag: ea804934-ad96-4f69-957b-857a76e4fd95
;;; rfc2368.el ends here
diff --git a/lisp/mail/rfc822.el b/lisp/mail/rfc822.el
index 9b3d5c18d4c..989f43cd5a5 100644
--- a/lisp/mail/rfc822.el
+++ b/lisp/mail/rfc822.el
@@ -316,5 +316,4 @@
(provide 'rfc822)
-;;; arch-tag: 5d388a24-e173-40fb-9b8e-85269de44b37
;;; rfc822.el ends here
diff --git a/lisp/mail/rmail-spam-filter.el b/lisp/mail/rmail-spam-filter.el
index c0ccf7f4289..0ae87fe5179 100644
--- a/lisp/mail/rmail-spam-filter.el
+++ b/lisp/mail/rmail-spam-filter.el
@@ -629,5 +629,4 @@ prevents this. Also, don't create entries for messages in the `rmail-spam-file'
(provide 'rmail-spam-filter)
-;;; arch-tag: 03e1d45d-b72f-4dd7-8f04-e7fd78249746
;;; rmail-spam-filter ends here
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index ae3fbbd7e3f..deb043ffba9 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -1652,66 +1652,12 @@ It returns t if it got any new messages."
(save-excursion
(skip-chars-forward " \t\n")
(point)))
- (save-excursion
- (let* ((header-end
- (progn
- (save-excursion
- (goto-char start)
- (forward-line 1)
- (if (looking-at "0")
- (forward-line 1)
- (forward-line 2))
- (save-restriction
- (narrow-to-region (point) (point-max))
- (rfc822-goto-eoh)
- (point)))))
- (case-fold-search t)
- (quoted-printable-header-field-end
- (save-excursion
- (goto-char start)
- (re-search-forward
- "^content-transfer-encoding:\\(\n?[\t ]\\)*quoted-printable\\(\n?[\t ]\\)*"
- header-end t)))
- (base64-header-field-end
- (save-excursion
- (goto-char start)
- (re-search-forward
- "^content-transfer-encoding:\\(\n?[\t ]\\)*base64\\(\n?[\t ]\\)*"
- header-end t))))
- (if quoted-printable-header-field-end
- (save-excursion
- (rmail-decode-quoted-printable header-end (point))
- ;; Change "quoted-printable" to "8bit",
- ;; to reflect the decoding we just did.
- (goto-char quoted-printable-header-field-end)
- (delete-region (point) (search-backward ":"))
- (insert ": 8bit")))
- (if base64-header-field-end
- (save-excursion
- (base64-decode-region (1+ header-end)
- (- (point) 2))
- ;; Change "base64" to "8bit", to reflect the
- ;; decoding we just did.
- (goto-char (1+ header-end))
- (while (search-forward "\r\n" (point-max) t)
- (replace-match "\n"))
- (goto-char base64-header-field-end)
- (delete-region (point) (search-backward ":"))
- (insert ": 8bit")))
- (setq last-coding-system-used nil)
- (or rmail-enable-mime
- (not rmail-enable-multibyte)
- (let ((mime-charset
- (if (and rmail-decode-mime-charset
- (save-excursion
- (goto-char start)
- (search-forward "\n\n" nil t)
- (let ((case-fold-search t))
- (re-search-backward
- rmail-mime-charset-pattern
- start t))))
- (intern (downcase (match-string 1))))))
- (rmail-decode-region start (point) mime-charset)))))
+ (setq last-coding-system-used nil)
+ (or rmail-enable-mime
+ (not rmail-enable-multibyte)
+ (decode-coding-region start (point)
+ (or rmail-file-coding-system
+ 'undecided)))
;; Add an X-Coding-System: header if we don't have one.
(save-excursion
(goto-char start)
@@ -1768,11 +1714,6 @@ It returns t if it got any new messages."
(re-search-forward
"^content-transfer-encoding:\\(\n?[\t ]\\)*quoted-printable\\(\n?[\t ]\\)*"
header-end t)))
- (base64-header-field-end
- (save-excursion
- (re-search-forward
- "^content-transfer-encoding:\\(\n?[\t ]\\)*base64\\(\n?[\t ]\\)*"
- header-end t)))
(size
;; Get the numeric value from the Content-Length field.
(save-excursion
@@ -1821,14 +1762,6 @@ It returns t if it got any new messages."
;; to reflect the decoding we just did.
(goto-char quoted-printable-header-field-end)
(delete-region (point) (search-backward ":"))
- (insert ": 8bit")))
- (if base64-header-field-end
- (save-excursion
- (base64-decode-region header-end (point))
- ;; Change "base64" to "8bit", to reflect the
- ;; decoding we just did.
- (goto-char base64-header-field-end)
- (delete-region (point) (search-backward ":"))
(insert ": 8bit"))))
(save-excursion
@@ -3822,5 +3755,4 @@ encoded string (and the same mask) will decode the string."
(provide 'rmail)
-;;; arch-tag: cff0a950-57fe-4f73-a86e-91ff75afd06c
;;; rmail.el ends here
diff --git a/lisp/mail/rmailedit.el b/lisp/mail/rmailedit.el
index a057c019b82..3835070b341 100644
--- a/lisp/mail/rmailedit.el
+++ b/lisp/mail/rmailedit.el
@@ -156,5 +156,4 @@ This functions runs the normal hook `rmail-edit-mode-hook'.
(provide 'rmailedit)
-;;; arch-tag: 93c22709-a14a-46c1-ab91-52c3f5a0ec12
;;; rmailedit.el ends here
diff --git a/lisp/mail/rmailkwd.el b/lisp/mail/rmailkwd.el
index 6772817637f..693fbc68428 100644
--- a/lisp/mail/rmailkwd.el
+++ b/lisp/mail/rmailkwd.el
@@ -271,5 +271,4 @@ With prefix argument N moves forward N messages with these labels."
(- (buffer-size) omax)))))
keyword))
-;;; arch-tag: b26b3392-99ca-4e1d-933a-dab59b04e9a8
;;; rmailkwd.el ends here
diff --git a/lisp/mail/rmailmsc.el b/lisp/mail/rmailmsc.el
index ea0a9d0cf80..7a0871f1414 100644
--- a/lisp/mail/rmailmsc.el
+++ b/lisp/mail/rmailmsc.el
@@ -58,5 +58,4 @@ If FILE-NAME is empty, remove any existing inbox list."
(setq rmail-inbox-list (rmail-parse-file-inboxes))
(rmail-show-message rmail-current-message))
-;;; arch-tag: 74ed1d50-2c25-4cbd-b5ae-d29ed8aba6e4
;;; rmailmsc.el ends here
diff --git a/lisp/mail/rmailout.el b/lisp/mail/rmailout.el
index 0dd23d71d33..e23f73a9db2 100644
--- a/lisp/mail/rmailout.el
+++ b/lisp/mail/rmailout.el
@@ -413,5 +413,4 @@ FILE-NAME defaults, interactively, from the Subject field of the message."
(if rmail-delete-after-output
(rmail-delete-forward)))
-;;; arch-tag: 447117c6-1a9a-4b88-aa43-3101b043e3a4
;;; rmailout.el ends here
diff --git a/lisp/mail/rmailsort.el b/lisp/mail/rmailsort.el
index 3194358451c..c4e95c80541 100644
--- a/lisp/mail/rmailsort.el
+++ b/lisp/mail/rmailsort.el
@@ -246,5 +246,4 @@ Arguments are MSG and FIELD."
(provide 'rmailsort)
-;;; arch-tag: 0d90896b-0c35-46ac-b240-38be5ada2360
;;; rmailsort.el ends here
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 3affdf88bb5..cb14d6a7c44 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -1650,5 +1650,4 @@ KEYWORDS is a comma-separated list of labels."
(provide 'rmailsum)
-;;; arch-tag: 556079ee-75c1-47f5-9884-2e0a0bc6c5a1
;;; rmailsum.el ends here
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index d7c00148ba3..fa6fd8952ff 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -68,12 +68,11 @@ controlled by a separate variable, `mail-specify-envelope-from'."
(defcustom mail-specify-envelope-from nil
"*If non-nil, specify the envelope-from address when sending mail.
The value used to specify it is whatever is found in
-the variable `mail-envelope-from', with `user-mail-address' as fallback.
+`mail-envelope-from', with `user-mail-address' as fallback.
On most systems, specifying the envelope-from address is a
-privileged operation. This variable affects sendmail and
-smtpmail -- if you use feedmail to send mail, see instead the
-variable `feedmail-deduce-envelope-from'."
+privileged operation. This variable is only used if
+`send-mail-function' is set to `sendmail-send-it'."
:version "21.1"
:type 'boolean
:group 'sendmail)
@@ -387,11 +386,10 @@ actually occur.")
(defun sendmail-sync-aliases ()
- (when mail-personal-alias-file
- (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
- (or (equal mail-alias-modtime modtime)
- (setq mail-alias-modtime modtime
- mail-aliases t)))))
+ (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
+ (or (equal mail-alias-modtime modtime)
+ (setq mail-alias-modtime modtime
+ mail-aliases t))))
(defun mail-setup (to subject in-reply-to cc replybuffer actions)
(or mail-default-reply-to
@@ -400,9 +398,8 @@ actually occur.")
(if (eq mail-aliases t)
(progn
(setq mail-aliases nil)
- (when mail-personal-alias-file
- (if (file-exists-p mail-personal-alias-file)
- (build-mail-aliases)))))
+ (if (file-exists-p mail-personal-alias-file)
+ (build-mail-aliases))))
;; Don't leave this around from a previous message.
(kill-local-variable 'buffer-file-coding-system)
;; This doesn't work for enable-multibyte-characters.
@@ -1727,5 +1724,4 @@ you can move to one of them and type C-c C-c to recover that one."
(provide 'sendmail)
-;;; arch-tag: 48bc1025-d993-4d31-8d81-2a29491f0626
;;; sendmail.el ends here
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 35c01201b3c..e24f20b8691 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -212,7 +212,7 @@ This is relative to `smtpmail-queue-dir'.")
;;;
(defvar smtpmail-mail-address nil
- "Value to use for envelope-from address for mail from ambient buffer.")
+ "Value of `user-mail-address' in ambient buffer.")
;;;###autoload
(defun smtpmail-send-it ()
@@ -223,11 +223,7 @@ This is relative to `smtpmail-queue-dir'.")
(case-fold-search nil)
delimline
(mailbuf (current-buffer))
- ;; Examine this variable now, so that
- ;; local binding in the mail buffer will take effect.
- (smtpmail-mail-address
- (or (and mail-specify-envelope-from (mail-envelope-from))
- user-mail-address))
+ (smtpmail-mail-address user-mail-address)
(smtpmail-code-conv-from
(if enable-multibyte-characters
(let ((sendmail-coding-system smtpmail-code-conv-from))
@@ -403,14 +399,11 @@ This is relative to `smtpmail-queue-dir'.")
(with-temp-buffer
(let ((coding-system-for-read 'no-conversion))
(insert-file-contents file-msg))
- (let ((smtpmail-mail-address
- (or (and mail-specify-envelope-from (mail-envelope-from))
- user-mail-address)))
- (if (not (null smtpmail-recipient-address-list))
- (if (not (smtpmail-via-smtp smtpmail-recipient-address-list
- (current-buffer)))
- (error "Sending failed; SMTP protocol error"))
- (error "Sending failed; no recipients"))))
+ (if (not (null smtpmail-recipient-address-list))
+ (if (not (smtpmail-via-smtp smtpmail-recipient-address-list
+ (current-buffer)))
+ (error "Sending failed; SMTP protocol error"))
+ (error "Sending failed; no recipients")))
(delete-file file-msg)
(delete-file (concat file-msg ".el"))
(delete-region (point-at-bol) (point-at-bol 2)))
@@ -552,12 +545,9 @@ This is relative to `smtpmail-queue-dir'.")
(host (or smtpmail-smtp-server
(error "`smtpmail-smtp-server' not defined")))
(port smtpmail-smtp-service)
- ;; smtpmail-mail-address should be set to the appropriate
- ;; buffer-local value by the caller, but in case not:
- (envelope-from (or smtpmail-mail-address
- (and mail-specify-envelope-from
- (mail-envelope-from))
- user-mail-address))
+ (envelope-from (or (mail-envelope-from)
+ smtpmail-mail-address
+ user-mail-address))
response-code
greeting
process-buffer
@@ -707,7 +697,7 @@ This is relative to `smtpmail-queue-dir'.")
"")))
; (smtpmail-send-command process (format "MAIL FROM:%s@%s" (user-login-name) (smtpmail-fqdn)))
(smtpmail-send-command process (format "MAIL FROM: <%s>%s%s"
- envelope-from
+ envelope-from
size-part
body-part))
@@ -960,5 +950,4 @@ many continuation lines."
(provide 'smtpmail)
-;;; arch-tag: a76992df-6d71-43b7-9e72-4bacc6c05466
;;; smtpmail.el ends here
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el
index 40c43af5823..558b9f9e388 100644
--- a/lisp/mail/supercite.el
+++ b/lisp/mail/supercite.el
@@ -2045,5 +2045,4 @@ more information. Info node `(SC)Top'."
(provide 'supercite)
(run-hooks 'sc-load-hook)
-;;; arch-tag: a5d5bfa6-3bd5-4414-8c65-0afc83e45cd3
;;; supercite.el ends here
diff --git a/lisp/mail/uce.el b/lisp/mail/uce.el
index 08f76359abb..93b3e430e7a 100644
--- a/lisp/mail/uce.el
+++ b/lisp/mail/uce.el
@@ -392,5 +392,4 @@ address, and postmaster of the mail relay used."
(provide 'uce)
-;;; arch-tag: 44b68c87-9b29-47bd-822c-3feee3883221
;;; uce.el ends here
diff --git a/lisp/mail/undigest.el b/lisp/mail/undigest.el
index 2c447065643..1890353c33b 100644
--- a/lisp/mail/undigest.el
+++ b/lisp/mail/undigest.el
@@ -307,5 +307,4 @@ following the containing message."
(provide 'undigest)
-;;; arch-tag: 3a28b9fb-c1f5-43ef-9278-285f3e4b874d
;;; undigest.el ends here
diff --git a/lisp/mail/unrmail.el b/lisp/mail/unrmail.el
index 55f611b53ad..f0e4bbf38bb 100644
--- a/lisp/mail/unrmail.el
+++ b/lisp/mail/unrmail.el
@@ -173,4 +173,3 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'."
;;; unrmail.el ends here
-;;; arch-tag: 14c6290d-60b2-456f-8909-5c2387de6acb
diff --git a/lisp/mail/vms-pmail.el b/lisp/mail/vms-pmail.el
index 675d9112c7b..7fe7771d350 100644
--- a/lisp/mail/vms-pmail.el
+++ b/lisp/mail/vms-pmail.el
@@ -119,5 +119,4 @@ If neither file exists, fails quietly."
(provide 'vms-pmail)
-;;; arch-tag: 336850fc-7812-4663-8e4d-b9c13f47dce1
;;; vms-pmail.el ends here
diff --git a/lisp/makefile.nt b/lisp/makefile.nt
index 069ef96ac98..2b6b435a263 100644
--- a/lisp/makefile.nt
+++ b/lisp/makefile.nt
@@ -280,5 +280,3 @@ clean:
- $(DEL) term\*.orig term\*.rej term\*.crlf
- $(DEL) textmodes\*.orig textmodes\*.rej textmodes\*.crlf
- $(DEL_TREE) deleted
-
-# arch-tag: 01ddeb44-fb4c-4366-8478-4a6c21a68fb3
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in
index e7f020e33b7..a55c43667d3 100644
--- a/lisp/makefile.w32-in
+++ b/lisp/makefile.w32-in
@@ -406,5 +406,3 @@ install:
#
clean:
- $(DEL) *~
-
-# arch-tag: bd03b562-c58d-4403-99db-c7bccd8c49a0
diff --git a/lisp/makesum.el b/lisp/makesum.el
index 21a69d5f541..262f14e63b4 100644
--- a/lisp/makesum.el
+++ b/lisp/makesum.el
@@ -113,5 +113,4 @@ Previous contents of that buffer are killed first."
(provide 'makesum)
-;;; arch-tag: c2383336-fc89-46ad-8110-ded42bffaee3
;;; makesum.el ends here
diff --git a/lisp/man.el b/lisp/man.el
index 075c38866fb..a2ff8ad3d53 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -569,15 +569,19 @@ This guess is based on the text surrounding the cursor."
(skip-chars-backward "-a-zA-Z0-9._+:")
(let ((start (point)))
(skip-chars-forward "-a-zA-Z0-9._+:")
- (setq word (buffer-substring-no-properties start (point))))
+ (setq word (buffer-substring start (point))))
(if (string-match "[._]+$" word)
(setq word (substring word 0 (match-beginning 0))))
;; If looking at something like ioctl(2) or brc(1M), include the
;; section number in the returned value. Remove text properties.
- (concat word
+ (forward-word 1)
+ ;; Use `format' here to clear any text props from `word'.
+ (format "%s%s"
+ word
(if (looking-at
(concat "[ \t]*([ \t]*\\(" Man-section-regexp "\\)[ \t]*)"))
- (format "(%s)" (match-string-no-properties 1)))))))
+ (format "(%s)" (match-string 1))
+ "")))))
;; ======================================================================
@@ -1304,5 +1308,4 @@ Specify which REFERENCE to use; default is based on word at point."
(provide 'man)
-;;; arch-tag: 587cda76-8e23-4594-b1f3-89b6b09a0d47
;;; man.el ends here
diff --git a/lisp/master.el b/lisp/master.el
index ce4144f087c..2ef728cdcdf 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -160,5 +160,4 @@ See `recenter'."
(provide 'master)
-;;; arch-tag: dca08daa-8127-45ae-b77e-b135160dce98
;;; master.el ends here
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 7db5f96e6d7..da5def67510 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -526,12 +526,10 @@ Do the same for the keys of the same name."
(cons "Cut" (cons "Delete text in region and copy it to the clipboard"
'clipboard-kill-region)))
- ;; These are Sun server keysyms for the Cut, Copy and Paste keys
- ;; (also for XFree86 on Sun keyboard):
(define-key global-map [f20] 'clipboard-kill-region)
(define-key global-map [f16] 'clipboard-kill-ring-save)
(define-key global-map [f18] 'clipboard-yank)
- ;; X11R6 versions:
+ ;; X11R6 versions
(define-key global-map [cut] 'clipboard-kill-region)
(define-key global-map [copy] 'clipboard-kill-ring-save)
(define-key global-map [paste] 'clipboard-yank))
@@ -667,12 +665,12 @@ PROPS are additional properties."
(define-key menu-bar-showhide-menu [column-number-mode]
(menu-bar-make-mm-toggle column-number-mode
- "Column Numbers"
+ "Show Column Numbers"
"Show the current column number in the mode line"))
(define-key menu-bar-showhide-menu [line-number-mode]
(menu-bar-make-mm-toggle line-number-mode
- "Line Numbers"
+ "Show Line Numbers"
"Show the current line number in the mode line"))
(define-key menu-bar-showhide-menu [linecolumn-separator]
@@ -687,8 +685,8 @@ PROPS are additional properties."
(customize-mark-as-set 'display-time-mode))
(define-key menu-bar-showhide-menu [showhide-date-time]
- '(menu-item "Date, Time and Mail" showhide-date-time
- :help "Display date, time, mail status in mode line"
+ '(menu-item "Date and Time" showhide-date-time
+ :help "Display date and time in the mode line"
:button (:toggle . display-time-mode)))
(define-key menu-bar-showhide-menu [datetime-separator]
@@ -872,12 +870,7 @@ PROPS are additional properties."
(menu-bar-make-toggle toggle-save-place-globally save-place
"Save Place in Files between Sessions"
"Saving place in files %s"
- "Visit files of previous session when restarting Emacs"
- (require 'saveplace)
- ;; Do it by name, to avoid a free-variable
- ;; warning during byte compilation.
- (set-default
- 'save-place (not (symbol-value 'save-place)))))
+ "Visit files of previous session when restarting Emacs"))
(define-key menu-bar-options-menu [uniquify]
(menu-bar-make-toggle toggle-uniquify-buffer-names uniquify-buffer-name-style
@@ -1650,5 +1643,4 @@ turn on menu bars; otherwise, turn off menu bars."
(provide 'menu-bar)
-;;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced
;;; menu-bar.el ends here
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 92c2600560f..c41a2532551 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -7582,5 +7582,3 @@ Copyright (C) 2003 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
-
-;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51
diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el
index 09c689de845..7978fbdc32f 100644
--- a/lisp/mh-e/mh-alias.el
+++ b/lisp/mh-e/mh-alias.el
@@ -624,5 +624,4 @@ already has an alias."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 49879e46-5aa3-4569-bece-e5a58731d690
;;; mh-alias.el ends here
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index 1d6cef7a831..b3b588e72a5 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -1582,5 +1582,4 @@ passing the prefix ARG if any."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 62865511-e610-4923-b0b5-f45a8ab70a34
;;; mh-comp.el ends here
diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el
index bcbfaf0586a..12f024eefec 100644
--- a/lisp/mh-e/mh-customize.el
+++ b/lisp/mh-e/mh-customize.el
@@ -1922,5 +1922,4 @@ The background and foreground is used in the image."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 778d2a20-82e2-4276-be9d-309386776a68
;;; mh-customize.el ends here
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index c4b027f382f..ea3a202fe6d 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -2448,5 +2448,4 @@ well.")
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: cce884de-bd37-4104-9963-e4439d5ed22b
;;; mh-e.el ends here
diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el
index 15534b02a0e..d6928a28e86 100644
--- a/lisp/mh-e/mh-funcs.el
+++ b/lisp/mh-e/mh-funcs.el
@@ -442,5 +442,4 @@ Default directory is the last directory used, or initially the value of
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 1936c4f1-4843-438e-bc4b-a63bb75a7762
;;; mh-funcs.el ends here
diff --git a/lisp/mh-e/mh-identity.el b/lisp/mh-e/mh-identity.el
index 982a743a227..9b9a879407e 100644
--- a/lisp/mh-e/mh-identity.el
+++ b/lisp/mh-e/mh-identity.el
@@ -210,5 +210,4 @@ Edit the `mh-identity-list' variable to define identity."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 07d66ef6-8726-4ac6-9ecf-e566cd5bfb45
;;; mh-identity.el ends here
diff --git a/lisp/mh-e/mh-inc.el b/lisp/mh-e/mh-inc.el
index 1c052b140bd..e1b35f31061 100644
--- a/lisp/mh-e/mh-inc.el
+++ b/lisp/mh-e/mh-inc.el
@@ -101,5 +101,4 @@ This is called after 'customize is used to alter `mh-inc-spool-list'."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835
;;; mh-inc.el ends here
diff --git a/lisp/mh-e/mh-index.el b/lisp/mh-e/mh-index.el
index ef08c6e890a..1d136469ec9 100644
--- a/lisp/mh-e/mh-index.el
+++ b/lisp/mh-e/mh-index.el
@@ -1410,5 +1410,4 @@ system."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 607762ad-0dff-4fe1-a27e-6c0dde0dcc47
;;; mh-index ends here
diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el
index 2b839408b63..30840c5032a 100644
--- a/lisp/mh-e/mh-junk.el
+++ b/lisp/mh-e/mh-junk.el
@@ -413,5 +413,4 @@ such as:
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 603335f1-77ff-4306-8828-5d3dad51abe1
;;; mh-junk.el ends here
diff --git a/lisp/mh-e/mh-loaddefs.el b/lisp/mh-e/mh-loaddefs.el
index dfee534147e..006dff15c6a 100644
--- a/lisp/mh-e/mh-loaddefs.el
+++ b/lisp/mh-e/mh-loaddefs.el
@@ -1079,6 +1079,4 @@ Insert an alias for email address under point." t nil)
;;; no-byte-compile: t
;;; no-update-autoloads: t
;;; End:
-
-;;; arch-tag: bc36a104-1edb-45d5-8aad-a85b45648378
;;; mh-loaddefs.el ends here
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el
index 2cd950550b2..76bda78b70e 100644
--- a/lisp/mh-e/mh-mime.el
+++ b/lisp/mh-e/mh-mime.el
@@ -1354,5 +1354,4 @@ message multiple times."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 0dd36518-1b64-4a84-8f4e-59f422d3f002
;;; mh-mime.el ends here
diff --git a/lisp/mh-e/mh-pick.el b/lisp/mh-e/mh-pick.el
index a888f02154f..f9a30e75bc2 100644
--- a/lisp/mh-e/mh-pick.el
+++ b/lisp/mh-e/mh-pick.el
@@ -304,5 +304,4 @@ COMPONENT is the component to search."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: aef2b271-7768-42bd-a782-9a14ba9f83f7
;;; mh-pick.el ends here
diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el
index e441466a7b4..f5356509256 100644
--- a/lisp/mh-e/mh-seq.el
+++ b/lisp/mh-e/mh-seq.el
@@ -1485,5 +1485,4 @@ Use \\<mh-folder-mode-map>\\[mh-widen] to undo this command."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 8e952711-01a2-485b-bf21-c9e3ad4de942
;;; mh-seq.el ends here
diff --git a/lisp/mh-e/mh-speed.el b/lisp/mh-e/mh-speed.el
index fd3e984bc3c..ebde825195f 100644
--- a/lisp/mh-e/mh-speed.el
+++ b/lisp/mh-e/mh-speed.el
@@ -538,5 +538,4 @@ The function invalidates the latest ancestor that is present."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: d38ddcd4-3c00-4e37-99bf-8b89dda7b32c
;;; mh-speed.el ends here
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index 3e9c87f5eb5..3e83988a49b 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -2290,5 +2290,4 @@ Put the output into buffer after point. Set mark after inserted text."
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 1af39fdf-f66f-4b06-9b48-18a7656c8e36
;;; mh-utils.el ends here
diff --git a/lisp/mh-e/mh-xemacs-compat.el b/lisp/mh-e/mh-xemacs-compat.el
index 5d4bf63a453..e16a9fe012c 100644
--- a/lisp/mh-e/mh-xemacs-compat.el
+++ b/lisp/mh-e/mh-xemacs-compat.el
@@ -95,5 +95,4 @@ static char * file[] = {
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: f531e3cc-98ba-4f9f-b6a1-e282173a6aa9
;;; mh-xemacs-compat.el ends here
diff --git a/lisp/mh-e/mh-xemacs-icons.el b/lisp/mh-e/mh-xemacs-icons.el
index 7c4947df2fa..bb3651d572d 100644
--- a/lisp/mh-e/mh-xemacs-icons.el
+++ b/lisp/mh-e/mh-xemacs-icons.el
@@ -1303,5 +1303,4 @@ static char * widen_xpm[] = {
;;; sentence-end-double-space: nil
;;; End:
-;;; arch-tag: 5b06d860-a468-4a0f-a61b-255a148985e4
;;; mh-xemacs-icons.el ends here
diff --git a/lisp/midnight.el b/lisp/midnight.el
index 6678925eedb..fe89a9d7bd3 100644
--- a/lisp/midnight.el
+++ b/lisp/midnight.el
@@ -234,5 +234,4 @@ first argument to `run-at-time'."
(provide 'midnight)
-;;; arch-tag: a5979be9-2890-46a3-ba84-791f0a4a6e80
;;; midnight.el ends here
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index 10bf38f945f..a9fa32d1273 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -157,5 +157,4 @@ Returns non-nil if the new state is enabled."
(provide 'minibuf-eldef)
-;;; arch-tag: 7e421fae-c275-4729-b0da-7836af377d3d
;;; minibuf-eldef.el ends here
diff --git a/lisp/misc.el b/lisp/misc.el
index 2ca39f7b1e5..a477fec5b0e 100644
--- a/lisp/misc.el
+++ b/lisp/misc.el
@@ -92,5 +92,4 @@ With argument, do this that many times."
(provide 'misc)
-;;; arch-tag: 908f7884-c19e-4388-920c-9cfa425e449b
;;; misc.el ends here
diff --git a/lisp/mouse-copy.el b/lisp/mouse-copy.el
index 528cfb8d824..259eb629568 100644
--- a/lisp/mouse-copy.el
+++ b/lisp/mouse-copy.el
@@ -224,5 +224,4 @@ by johnh@ficus.cs.ucla.edu."
(provide 'mouse-copy)
-;;; arch-tag: 3d50293b-c089-4273-b412-4fc96a5f26ff
;;; mouse-copy.el ends here
diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el
index 9906114ca30..50b248a9ec3 100644
--- a/lisp/mouse-drag.el
+++ b/lisp/mouse-drag.el
@@ -341,5 +341,4 @@ To test this function, evaluate:
(provide 'mouse-drag)
-;;; arch-tag: e47354ff-82f5-42c4-b3dc-88dd9c04b770
;;; mouse-drag.el ends here
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el
index 92e837657f6..bbbb1e54595 100644
--- a/lisp/mouse-sel.el
+++ b/lisp/mouse-sel.el
@@ -704,5 +704,4 @@ If `mouse-yank-at-point' is non-nil, insert at point instead."
(provide 'mouse-sel)
-;;; arch-tag: 86e6c73f-deaa-48d3-a24e-c565fda1f7d7
;;; mouse-sel.el ends here
diff --git a/lisp/mouse.el b/lisp/mouse.el
index ecf642caeed..70fee40b53e 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -166,7 +166,7 @@ Default to the Edit menu if the major mode doesn't define a menu."
(lookup-key menubar (vector (car submap)))))))
(defun mouse-popup-menubar (event prefix)
- "Pop up a menu equivalent to the menu bar for keyboard EVENT with PREFIX.
+ "Pops up a menu equivalent to the menu bar a keyboard EVENT with PREFIX.
The contents are the items that would be in the menu bar whether or
not it is actually displayed."
(interactive "@e \nP")
@@ -895,12 +895,12 @@ If DIR is positive skip forward; if negative, skip backward."
(while (and (not (eobp)) (= (following-char) char))
(forward-char 1))))))
+;; Return a list of region bounds based on START and END according to MODE.
+;; If MODE is 0 then set point to (min START END), mark to (max START END).
+;; If MODE is 1 then set point to start of word at (min START END),
+;; mark to end of word at (max START END).
+;; If MODE is 2 then do the same for lines.
(defun mouse-start-end (start end mode)
-"Return a list of region bounds based on START and END according to MODE.
-If MODE is 0 then set point to (min START END), mark to (max START END).
-If MODE is 1 then set point to start of word at (min START END),
-mark to end of word at (max START END).
-If MODE is 2 then do the same for lines."
(if (> start end)
(let ((temp start))
(setq start end
@@ -2245,5 +2245,4 @@ and selects that window."
(make-obsolete 'mldrag-drag-vertical-line 'mouse-drag-vertical-line "21.1")
(provide 'mldrag)
-;;; arch-tag: 9a710ce1-914a-4923-9b81-697f7bf82ab3
;;; mouse.el ends here
diff --git a/lisp/msb.el b/lisp/msb.el
index e352150a57d..453dcb71995 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1157,5 +1157,4 @@ different buffer menu using the function `msb'."
(provide 'msb)
(eval-after-load "msb" '(run-hooks 'msb-after-load-hook 'msb-after-load-hooks))
-;;; arch-tag: 403f9e82-b92e-4e7a-a797-5d6d9b76da36
;;; msb.el ends here
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index de47081b84f..47ec9a0eaff 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -250,5 +250,4 @@ Returns non-nil if the new state is enabled."
(provide 'mwheel)
-;;; arch-tag: 50ed00e7-3686-4b7a-8037-fb31aa5c237f
;;; mwheel.el ends here
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index 159b276716d..a315482fd1e 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -1469,15 +1469,14 @@ only return the directory part of FILE."
;; Display the last chunk of output from the ftp process for the given HOST
;; USER pair, and signal an error including MSG in the text.
(defun ange-ftp-error (host user msg)
- (save-excursion ;; Prevent pop-to-buffer from changing current buffer.
- (let ((cur (selected-window))
- (pop-up-windows t))
- (pop-to-buffer
- (get-buffer-create
- (ange-ftp-ftp-process-buffer host user)))
- (goto-char (point-max))
- (select-window cur))
- (signal 'ftp-error (list (format "FTP Error: %s" msg)))))
+ (let ((cur (selected-window))
+ (pop-up-windows t))
+ (pop-to-buffer
+ (get-buffer-create
+ (ange-ftp-ftp-process-buffer host user)))
+ (goto-char (point-max))
+ (select-window cur))
+ (signal 'ftp-error (list (format "FTP Error: %s" msg))))
(defun ange-ftp-set-buffer-mode ()
"Set correct modes for the current buffer if visiting a remote file."
@@ -6049,5 +6048,4 @@ be recognized automatically (they are all valid BS2000 hosts too)."
(provide 'ange-ftp)
-;;; arch-tag: 2987ef88-cb56-4ec1-87a9-79132572e316
;;; ange-ftp.el ends here
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 5a25801458e..b97eda6472b 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -1355,5 +1355,4 @@ Default to the URL around or before point."
(provide 'browse-url)
-;;; arch-tag: d2079573-5c06-4097-9598-f550fba19430
;;; browse-url.el ends here
diff --git a/lisp/net/eudc-bob.el b/lisp/net/eudc-bob.el
index df20007cfb7..78593fe5c19 100644
--- a/lisp/net/eudc-bob.el
+++ b/lisp/net/eudc-bob.el
@@ -365,5 +365,4 @@ display a button."
"Display a button for the JPEG DATA."
(eudc-bob-display-jpeg data nil))
-;;; arch-tag: 8f1853df-c9b6-4c5a-bdb1-d94dbd651fb3
;;; eudc-bob.el ends here
diff --git a/lisp/net/eudc-export.el b/lisp/net/eudc-export.el
index 704792f6b68..9bd3ad7ca7e 100644
--- a/lisp/net/eudc-export.el
+++ b/lisp/net/eudc-export.el
@@ -215,5 +215,4 @@ This function can only be called from a directory query result buffer."
(overlay-get (car (overlays-at (point))) 'eudc-record)
(eudc-insert-record-at-point-into-bbdb)))
-;;; arch-tag: 8cbda7dc-3163-47e6-921c-6ec5083df2d7
;;; eudc-export.el ends here
diff --git a/lisp/net/eudc-hotlist.el b/lisp/net/eudc-hotlist.el
index 9dc81ce2bc9..c03cf0219f8 100644
--- a/lisp/net/eudc-hotlist.el
+++ b/lisp/net/eudc-hotlist.el
@@ -194,5 +194,4 @@ These are the special commands of this mode:
""
eudc-hotlist-menu))
-;;; arch-tag: 9b633ab3-6a6e-4b46-b12e-d96739a7e0e8
;;; eudc-hotlist.el ends here
diff --git a/lisp/net/eudc-vars.el b/lisp/net/eudc-vars.el
index 1b9da92da67..b44f7f74607 100644
--- a/lisp/net/eudc-vars.el
+++ b/lisp/net/eudc-vars.el
@@ -406,5 +406,4 @@ Otherwise records must match queries exactly."
(provide 'eudc-vars)
-;;; arch-tag: 80050575-b838-4246-8ebc-b2d7c5a2e482
;;; eudc-vars.el ends here
diff --git a/lisp/net/eudc.el b/lisp/net/eudc.el
index 6d12d5e6364..9d3e4aa9d34 100644
--- a/lisp/net/eudc.el
+++ b/lisp/net/eudc.el
@@ -1284,5 +1284,4 @@ This does nothing except loading eudc by autoload side-effect."
(provide 'eudc)
-;;; arch-tag: e18872b6-db83-400b-869d-be54e9a4160c
;;; eudc.el ends here
diff --git a/lisp/net/eudcb-bbdb.el b/lisp/net/eudcb-bbdb.el
index 745d6e289a1..1c20c7cc185 100644
--- a/lisp/net/eudcb-bbdb.el
+++ b/lisp/net/eudcb-bbdb.el
@@ -231,5 +231,4 @@ RETURN-ATTRS is a list of attributes to return, defaulting to
(provide 'eudcb-bbdb)
-;;; arch-tag: 38276208-75de-4dbc-ba6f-8db684c32e0a
;;; eudcb-bbdb.el ends here
diff --git a/lisp/net/eudcb-ldap.el b/lisp/net/eudcb-ldap.el
index a206578b774..fb97bc754e7 100644
--- a/lisp/net/eudcb-ldap.el
+++ b/lisp/net/eudcb-ldap.el
@@ -208,5 +208,4 @@ attribute names are returned. Default to `person'"
(provide 'eudcb-ldap)
-;;; arch-tag: 0f254dc0-7378-4fd4-ae26-18666184e96b
;;; eudcb-ldap.el ends here
diff --git a/lisp/net/eudcb-ph.el b/lisp/net/eudcb-ph.el
index efd89beaaa9..68d03979f48 100644
--- a/lisp/net/eudcb-ph.el
+++ b/lisp/net/eudcb-ph.el
@@ -244,5 +244,4 @@ depending on RETURN-RESPONSE."
(provide 'eudcb-ph)
-;;; arch-tag: 4365bbf5-af20-453e-b5b6-2e7118ebfcdb
;;; eudcb-ph.el ends here
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index b77be84deb3..1449c9bcc38 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -248,5 +248,4 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and
(provide 'goto-addr)
-;;; arch-tag: ca47c505-5661-425d-a471-62bc6e75cf0a
;;; goto-addr.el ends here
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el
index d1a580f9c54..d539164e9f9 100644
--- a/lisp/net/ldap.el
+++ b/lisp/net/ldap.el
@@ -607,5 +607,4 @@ an alist of attribute/value pairs."
(provide 'ldap)
-;;; arch-tag: 47913a76-6155-42e6-ac58-6d28b5d50eb0
;;; ldap.el ends here
diff --git a/lisp/net/net-utils.el b/lisp/net/net-utils.el
index 202dac361e7..982923ed559 100644
--- a/lisp/net/net-utils.el
+++ b/lisp/net/net-utils.el
@@ -828,5 +828,4 @@ from SEARCH-STRING. With argument, prompt for whois server."
(provide 'net-utils)
-;;; arch-tag: 97119e91-9edb-4376-838b-bf7058fa1314
;;; net-utils.el ends here
diff --git a/lisp/net/netrc.el b/lisp/net/netrc.el
index 713c036ce7b..8062b4292dc 100644
--- a/lisp/net/netrc.el
+++ b/lisp/net/netrc.el
@@ -125,5 +125,4 @@ Entries without port tokens default to DEFAULTPORT."
(provide 'netrc)
-;;; arch-tag: af9929cc-2d12-482f-936e-eb4366f9fa55
;;; netrc.el ends here
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el
index fd13b3a0f51..22794a41078 100644
--- a/lisp/net/quickurl.el
+++ b/lisp/net/quickurl.el
@@ -549,5 +549,4 @@ TYPE dictates what will be inserted, options are:
(provide 'quickurl)
-;;; arch-tag: a8183ea5-80c2-4082-a7d1-b0fdf2da467e
;;; quickurl.el ends here
diff --git a/lisp/net/rcompile.el b/lisp/net/rcompile.el
index c9078ac2d76..8105593c758 100644
--- a/lisp/net/rcompile.el
+++ b/lisp/net/rcompile.el
@@ -175,5 +175,4 @@ See \\[compile]."
(set (make-local-variable 'comint-file-name-prefix)
(concat "/" host ":")))))
-;;; arch-tag: 2866a132-ece4-4ce9-9f91-ec147f803f73
;;; rcompile.el ends here
diff --git a/lisp/net/rlogin.el b/lisp/net/rlogin.el
index 772756033eb..cc2defdf166 100644
--- a/lisp/net/rlogin.el
+++ b/lisp/net/rlogin.el
@@ -6,7 +6,7 @@
;; Maintainer: Noah Friedman <friedman@splode.com>
;; Keywords: unix, comm
-;; $Id: rlogin.el,v 1.4 2003/05/06 17:46:28 lektu Exp $
+;; $Id: rlogin.el,v 1.3 2002/03/14 11:51:47 miles Exp $
;; This file is part of GNU Emacs.
@@ -329,5 +329,4 @@ Delete ARG characters forward, or send a C-d to process if at end of buffer."
(provide 'rlogin)
-;;; arch-tag: 6e20eabf-feda-40fa-ab40-0d156db447e4
;;; rlogin.el ends here
diff --git a/lisp/net/snmp-mode.el b/lisp/net/snmp-mode.el
index 7fed47f6bf8..cde6fb7c60d 100644
--- a/lisp/net/snmp-mode.el
+++ b/lisp/net/snmp-mode.el
@@ -720,5 +720,4 @@ controls whether case is significant."
(provide 'snmp-mode)
-;;; arch-tag: eb6cc0f9-1e47-4023-8625-bc9aae6c3527
;;; snmp-mode.el ends here
diff --git a/lisp/net/telnet.el b/lisp/net/telnet.el
index d4c6d6a37a3..b75ff47220d 100644
--- a/lisp/net/telnet.el
+++ b/lisp/net/telnet.el
@@ -262,5 +262,4 @@ Normally input is edited in Emacs and sent a line at a time."
(provide 'telnet)
-;;; arch-tag: 98218821-d04a-48b6-9058-57d0d4677a56
;;; telnet.el ends here
diff --git a/lisp/net/tls.el b/lisp/net/tls.el
index dd161032d9a..70270773a3c 100644
--- a/lisp/net/tls.el
+++ b/lisp/net/tls.el
@@ -124,5 +124,4 @@ specifying a port number to connect to."
(provide 'tls)
-;;; arch-tag: 5596d1c4-facc-4bc4-94a9-9863b928d7ac
;;; tls.el ends here
diff --git a/lisp/net/tramp-ftp.el b/lisp/net/tramp-ftp.el
index 7c9484f0c44..07a756c3523 100644
--- a/lisp/net/tramp-ftp.el
+++ b/lisp/net/tramp-ftp.el
@@ -138,5 +138,4 @@ pass to the OPERATION."
;; Furthermore, there are no backup files on FTP hosts.
;; Worth further investigations.
-;;; arch-tag: 759fb338-5c63-4b99-bd36-b4d59db91cff
;;; tramp-ftp.el ends here
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index fd902cd61b8..8474b7a88a3 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -1139,5 +1139,4 @@ Return the difference in the format of a time value."
;; * (RMS) Use unwind-protect to clean up the state so as to make the state
;; regular again.
-;;; arch-tag: fcc9dbec-7503-4d73-b638-3c8aa59575f5
;;; tramp-smb.el ends here
diff --git a/lisp/net/tramp-util.el b/lisp/net/tramp-util.el
index 2d828d27c51..44a24ca3ab7 100644
--- a/lisp/net/tramp-util.el
+++ b/lisp/net/tramp-util.el
@@ -52,6 +52,4 @@
(compilation-minor-mode 1))
(provide 'tramp-util)
-
-;;; arch-tag: 500f9992-a44e-46d0-83a7-980799251808
;;; tramp-util.el ends here
diff --git a/lisp/net/tramp-uu.el b/lisp/net/tramp-uu.el
index 1047e62a3cb..e307febc6fc 100644
--- a/lisp/net/tramp-uu.el
+++ b/lisp/net/tramp-uu.el
@@ -87,6 +87,4 @@
(insert "begin 600 xxx\n"))))
(provide 'tramp-uu)
-
-;;; arch-tag: 7153f2c6-8be5-4cd2-8c06-0fbcf5190ef6
;;; tramp-uu.el ends here
diff --git a/lisp/net/tramp-vc.el b/lisp/net/tramp-vc.el
index af86cdcc98d..cee13308d38 100644
--- a/lisp/net/tramp-vc.el
+++ b/lisp/net/tramp-vc.el
@@ -486,5 +486,4 @@ This makes remote VC work correctly at the cost of some processing time."
;; No need to load this again if anyone asks.
(provide 'tramp-vc)
-;;; arch-tag: 27cc42ce-da19-468d-ad5c-a2690558db60
;;; tramp-vc.el ends here
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 3949027436f..966d93b719c 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -6642,5 +6642,4 @@ report.
;; unhandled-file-name-directory
;; vc-registered
-;;; arch-tag: 3a21a994-182b-48fa-b0cd-c1d9fede424a
;;; tramp.el ends here
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index 0e71fe45d9b..f741da82757 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -38,5 +38,4 @@
(provide 'trampver)
-;;; arch-tag: 443576ca-f8f1-4bb1-addc-5c70861e93b1
;;; trampver.el ends here
diff --git a/lisp/net/webjump.el b/lisp/net/webjump.el
index 7c5e869a5d4..4c701b48ac5 100644
--- a/lisp/net/webjump.el
+++ b/lisp/net/webjump.el
@@ -400,5 +400,4 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
(provide 'webjump)
-;;; arch-tag: f1d20156-0a6f-488b-bd91-f69ee8b6d5cc
;;; webjump.el ends here
diff --git a/lisp/net/zone-mode.el b/lisp/net/zone-mode.el
index 591deee3144..a58bc2dd54a 100644
--- a/lisp/net/zone-mode.el
+++ b/lisp/net/zone-mode.el
@@ -115,5 +115,4 @@ Zone-mode does two things:
(provide 'zone-mode)
-;;; arch-tag: 6a2940ef-fd4f-4de7-b979-b027b09821fe
;;; zone-mode.el ends here
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 5e85fbc39fe..96c8f9cc41b 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -1139,5 +1139,4 @@ unless optional argument SOFT is non-nil."
(provide 'newcomment)
-;;; arch-tag: 01e3320a-00c8-44ea-a696-8f8e7354c858
;;; newcomment.el ends here
diff --git a/lisp/novice.el b/lisp/novice.el
index 159c9a96780..32dfae3a205 100644
--- a/lisp/novice.el
+++ b/lisp/novice.el
@@ -177,5 +177,4 @@ to future sessions."
(provide 'novice)
-;;; arch-tag: f83c0f96-497e-4db6-a430-8703716c6dd9
;;; novice.el ends here
diff --git a/lisp/obsolete/auto-show.el b/lisp/obsolete/auto-show.el
index fcd8480404c..342a3499409 100644
--- a/lisp/obsolete/auto-show.el
+++ b/lisp/obsolete/auto-show.el
@@ -48,5 +48,4 @@ to auto-show from your init file and code."
(provide 'auto-show)
-;;; arch-tag: 49587cbf-95cc-4061-b564-274aaec37469
;;; auto-show.el ends here
diff --git a/lisp/obsolete/awk-mode.el b/lisp/obsolete/awk-mode.el
index d0ac24f3c68..e101e304c2a 100644
--- a/lisp/obsolete/awk-mode.el
+++ b/lisp/obsolete/awk-mode.el
@@ -121,5 +121,4 @@ Turning on AWK mode runs `awk-mode-hook'."
(provide 'awk-mode)
-;;; arch-tag: 14ebc02a-b3c5-4e76-8034-6ca9ac0af0e6
;;; awk-mode.el ends here
diff --git a/lisp/obsolete/float.el b/lisp/obsolete/float.el
index 4b327cdb90e..e5d71abb69b 100644
--- a/lisp/obsolete/float.el
+++ b/lisp/obsolete/float.el
@@ -455,5 +455,4 @@ are recognized."
(provide 'float)
-;;; arch-tag: cc0c89c6-5718-49af-978e-585f6b14e347
;;; float.el ends here
diff --git a/lisp/obsolete/hilit19.el b/lisp/obsolete/hilit19.el
index 4d8af4b5a2b..d81955ff8cb 100644
--- a/lisp/obsolete/hilit19.el
+++ b/lisp/obsolete/hilit19.el
@@ -1510,5 +1510,4 @@ number of backslashes."
(provide 'hilit19)
-;;; arch-tag: db99739a-4837-41ee-ad02-3baced8ae71d
;;; hilit19.el ends here
diff --git a/lisp/obsolete/hscroll.el b/lisp/obsolete/hscroll.el
index 543ce3640c6..07a5f525720 100644
--- a/lisp/obsolete/hscroll.el
+++ b/lisp/obsolete/hscroll.el
@@ -100,5 +100,4 @@ Also see `automatic-hscrolling'."
(provide 'hscroll)
-;;; arch-tag: 48377520-e5ca-401d-b360-3881b2d5a05a
;;; hscroll.el ends here
diff --git a/lisp/obsolete/mlsupport.el b/lisp/obsolete/mlsupport.el
index 127e5e7fcea..25f32bcb2c0 100644
--- a/lisp/obsolete/mlsupport.el
+++ b/lisp/obsolete/mlsupport.el
@@ -432,5 +432,4 @@
(provide 'mlsupport)
-;;; arch-tag: b0ad09bc-8cb2-4be0-8888-2e874839bcbc
;;; mlsupport.el ends here
diff --git a/lisp/obsolete/ooutline.el b/lisp/obsolete/ooutline.el
index 6b595b86297..55d6dafbdbe 100644
--- a/lisp/obsolete/ooutline.el
+++ b/lisp/obsolete/ooutline.el
@@ -582,5 +582,4 @@ Stop at the first and last subheadings of a superior heading."
(provide 'outline)
-;;; arch-tag: 14ed00e1-bd40-4db8-86e5-3b82ce326e45
;;; ooutline.el ends here
diff --git a/lisp/obsolete/options.el b/lisp/obsolete/options.el
index 34d7e532d1a..53a67516b2f 100644
--- a/lisp/obsolete/options.el
+++ b/lisp/obsolete/options.el
@@ -144,5 +144,4 @@ For convenience, the characters \\[backward-paragraph] and \\[forward-paragraph]
(provide 'options)
-;;; arch-tag: d18211a1-f3fb-48c9-a449-d5acde406a3c
;;; options.el ends here
diff --git a/lisp/obsolete/profile.el b/lisp/obsolete/profile.el
index d080419622e..1ceb44ccb09 100644
--- a/lisp/obsolete/profile.el
+++ b/lisp/obsolete/profile.el
@@ -289,5 +289,4 @@ DEF is (symbol-function FUN)."
(provide 'profile)
-;;; arch-tag: 816f97e8-efff-4da2-9a95-7bc392f58b19
;;; profile.el ends here
diff --git a/lisp/obsolete/rnews.el b/lisp/obsolete/rnews.el
index 45d4f768a07..46b3f8c730f 100644
--- a/lisp/obsolete/rnews.el
+++ b/lisp/obsolete/rnews.el
@@ -984,5 +984,4 @@ Mail and USENET news headers are not rotated."
(provide 'rnews)
-;;; arch-tag: c032a20b-cafb-466c-b3fa-5be404a18f8c
;;; rnews.el ends here
diff --git a/lisp/obsolete/rnewspost.el b/lisp/obsolete/rnewspost.el
index 1b7623f78ae..9907f6df052 100644
--- a/lisp/obsolete/rnewspost.el
+++ b/lisp/obsolete/rnewspost.el
@@ -440,5 +440,4 @@ original message into it."
(provide 'rnewspost)
-;;; arch-tag: 18f7b2af-cf9a-49e4-878b-71eb49913e00
;;; rnewspost.el ends here
diff --git a/lisp/obsolete/rsz-mini.el b/lisp/obsolete/rsz-mini.el
index f2f32964f5d..615ed1ccbba 100644
--- a/lisp/obsolete/rsz-mini.el
+++ b/lisp/obsolete/rsz-mini.el
@@ -7,7 +7,7 @@
;; Maintainer: Noah Friedman <friedman@splode.com>
;; Keywords: minibuffer, window, frame, display
-;; $Id: rsz-mini.el,v 1.1 2001/08/30 07:29:18 gerd Exp $
+;; $Id: rsz-mini.el,v 1.29 2001/07/16 12:22:59 pj Exp $
;; This file is part of GNU Emacs.
@@ -81,5 +81,4 @@
(provide 'rsz-mini)
-;;; arch-tag: 3cb85d51-ab33-4e46-8362-dd87a5d06c99
;;; rsz-mini.el ends here
diff --git a/lisp/obsolete/sc.el b/lisp/obsolete/sc.el
index e9798a0a253..4c42fdce101 100644
--- a/lisp/obsolete/sc.el
+++ b/lisp/obsolete/sc.el
@@ -11,5 +11,4 @@
(require 'supercite)
(provide 'sc)
-;;; arch-tag: 31e8ae19-689e-4b7d-9161-6d7dd60c6ece
;;; sc.el ends here
diff --git a/lisp/obsolete/scribe.el b/lisp/obsolete/scribe.el
index 15f33660d73..16067d19638 100644
--- a/lisp/obsolete/scribe.el
+++ b/lisp/obsolete/scribe.el
@@ -321,5 +321,4 @@ preceding text is of the form @Command."
(provide 'scribe)
-;;; arch-tag: 64f454c4-7544-4ea2-9d14-f0b668f2cdc6
;;; scribe.el ends here
diff --git a/lisp/obsolete/sun-curs.el b/lisp/obsolete/sun-curs.el
index 6437adaf603..2e9a4b220b0 100644
--- a/lisp/obsolete/sun-curs.el
+++ b/lisp/obsolete/sun-curs.el
@@ -218,5 +218,4 @@ Otherwise, ICON should be a vector or the name of a vector of [x y 32-chars]"
(provide 'sun-curs)
-;;; arch-tag: 7cc861e5-e2d9-4191-b211-2baaaab54e78
;;; sun-curs.el ends here
diff --git a/lisp/obsolete/sun-fns.el b/lisp/obsolete/sun-fns.el
index 50edce8e574..df596563446 100644
--- a/lisp/obsolete/sun-fns.el
+++ b/lisp/obsolete/sun-fns.el
@@ -640,5 +640,4 @@ To unmark a buffer marked for deletion, select it with LEFT."
(provide 'sun-fns)
-;;; arch-tag: 1c4c1192-f71d-4d5f-b883-ae659c28e132
;;; sun-fns.el ends here
diff --git a/lisp/obsolete/uncompress.el b/lisp/obsolete/uncompress.el
index ac567be67b0..6790534d051 100644
--- a/lisp/obsolete/uncompress.el
+++ b/lisp/obsolete/uncompress.el
@@ -114,5 +114,4 @@ It then selects a major mode from the uncompressed file name and contents."
(provide 'uncompress)
-;;; arch-tag: 626658d4-fcce-499a-990d-d165f2ed7da3
;;; uncompress.el ends here
diff --git a/lisp/obsolete/x-apollo.el b/lisp/obsolete/x-apollo.el
index c17fb06d268..4aec15d9131 100644
--- a/lisp/obsolete/x-apollo.el
+++ b/lisp/obsolete/x-apollo.el
@@ -93,5 +93,4 @@
(provide 'x-apollo)
-;;; arch-tag: 4f3e86f4-557c-44b3-978e-144fc4dc812e
;;; x-apollo.el ends here
diff --git a/lisp/obsolete/x-menu.el b/lisp/obsolete/x-menu.el
index c2302e82e35..9a3edba771b 100644
--- a/lisp/obsolete/x-menu.el
+++ b/lisp/obsolete/x-menu.el
@@ -146,5 +146,4 @@ available to the user. This also creates the menu itself."
(provide 'x-menu)
-;;; arch-tag: 889f6d49-c01b-49e7-aaef-b0c6966c2961
;;; x-menu.el ends here
diff --git a/lisp/outline.el b/lisp/outline.el
index fa63fef66a4..fb76271eb69 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -987,5 +987,4 @@ convenient way to make a table of contents of the buffer."
(provide 'outline)
(provide 'noutline)
-;;; arch-tag: 1724410e-7d4d-4f46-b801-49e18171e874
;;; outline.el ends here
diff --git a/lisp/paren.el b/lisp/paren.el
index ab3efe10ba5..60c9aef0f39 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -243,5 +243,4 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time."
(provide 'paren)
-;;; arch-tag: d0969b88-7ac0-4bd0-bd53-e73b892b86a9
;;; paren.el ends here
diff --git a/lisp/patcomp.el b/lisp/patcomp.el
index 41c0a9eadec..c1965a763ca 100644
--- a/lisp/patcomp.el
+++ b/lisp/patcomp.el
@@ -19,5 +19,4 @@ It uses the command line arguments to specify the files to compile."
(let ((load-path (list (expand-file-name "lisp"))))
(batch-byte-compile)))
-;;; arch-tag: cb299b78-1d6c-4c02-945b-12fa2e856d6f
;;; patcomp.el ends here
diff --git a/lisp/paths.el b/lisp/paths.el
index 925dbb06e97..f0d5a8d5cd9 100644
--- a/lisp/paths.el
+++ b/lisp/paths.el
@@ -199,5 +199,4 @@ the terminal-initialization file to be loaded.")
(convert-standard-filename "~/.abbrev_defs"))
"*Default name of file to read abbrevs from.")
-;;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1
;;; paths.el ends here
diff --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el
index d5003d5de08..f0055091926 100644
--- a/lisp/pcmpl-cvs.el
+++ b/lisp/pcmpl-cvs.el
@@ -185,5 +185,4 @@ operation character applies, as displayed by 'cvs -n update'."
(setq pcomplete-stub nondir)
(pcomplete-uniqify-list entries)))
-;;; arch-tag: d2aeac43-4bf5-4509-a496-74b863c6642b
;;; pcmpl-cvs.el ends here
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el
index 32810d7dba6..9153bf73e50 100644
--- a/lisp/pcmpl-gnu.el
+++ b/lisp/pcmpl-gnu.el
@@ -307,5 +307,4 @@
;;;###autoload
(defalias 'pcomplete/gdb 'pcomplete/xargs)
-;;; arch-tag: 06d2b429-dcb1-4a57-84e1-f70d87781183
;;; pcmpl-gnu.el ends here
diff --git a/lisp/pcmpl-linux.el b/lisp/pcmpl-linux.el
index 1822b514c41..83e4330d976 100644
--- a/lisp/pcmpl-linux.el
+++ b/lisp/pcmpl-linux.el
@@ -105,5 +105,4 @@
(pcomplete-uniqify-list points)
(cons "swap" (pcmpl-linux-mounted-directories))))))
-;;; arch-tag: bb0961a6-a623-463d-92c6-497c317293b1
;;; pcmpl-linux.el ends here
diff --git a/lisp/pcmpl-rpm.el b/lisp/pcmpl-rpm.el
index 683819b54ff..f51208dbfab 100644
--- a/lisp/pcmpl-rpm.el
+++ b/lisp/pcmpl-rpm.el
@@ -326,5 +326,4 @@ You can use \\[eshell-report-bug] to do so."
(t
(error "You must select a mode: -q, -i, -U, --verify, etc"))))))
-;;; arch-tag: 4e64b490-fecf-430e-b2b9-70a8ad64b8c1
;;; pcmpl-rpm.el ends here
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el
index fe26b089f77..e4ed4cbf16b 100644
--- a/lisp/pcmpl-unix.el
+++ b/lisp/pcmpl-unix.el
@@ -122,5 +122,4 @@
(pcomplete-here* (pcmpl-unix-group-names)))
(while (pcomplete-here (pcomplete-entries))))
-;;; arch-tag: 3f9eb5af-7e0e-449d-b586-381cbbf8fc5c
;;; pcmpl-unix.el ends here
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 213b68a4000..cc4b876477a 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -1206,5 +1206,4 @@ Returns the resultant list."
; (defalias 'pc-match-beginning 'pcomplete-match-beginning)
; (defalias 'pc-match-end 'pcomplete-match-end)
-;;; arch-tag: ae32ef2d-dbed-4244-8b0f-cf5a2a3b07a4
;;; pcomplete.el ends here
diff --git a/lisp/pcvs-defs.el b/lisp/pcvs-defs.el
index 3f4b1a04b6c..2cbb8a72076 100644
--- a/lisp/pcvs-defs.el
+++ b/lisp/pcvs-defs.el
@@ -507,5 +507,4 @@ message and replace it with a message tell you to change this variable.")
;;
(provide 'pcvs-defs)
-;;; arch-tag: c7c701d0-d1d4-4aa9-a302-007bb03aca5e
;;; pcvs-defs.el ends here
diff --git a/lisp/pcvs-info.el b/lisp/pcvs-info.el
index 6fa47b9e97c..79cee63303a 100644
--- a/lisp/pcvs-info.el
+++ b/lisp/pcvs-info.el
@@ -470,5 +470,4 @@ DIR can also be a file."
(provide 'pcvs-info)
-;;; arch-tag: d85dde07-bdc2-400a-882f-92f398c7b0ba
;;; pcvs-info.el ends here
diff --git a/lisp/pcvs-parse.el b/lisp/pcvs-parse.el
index c1726ee84c7..9ba3814c91c 100644
--- a/lisp/pcvs-parse.el
+++ b/lisp/pcvs-parse.el
@@ -525,5 +525,4 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'."
(provide 'pcvs-parse)
-;;; arch-tag: 35418375-1a23-40a0-957d-96b0262f91d6
;;; pcvs-parse.el ends here
diff --git a/lisp/pcvs-util.el b/lisp/pcvs-util.el
index 86fafea37ea..8c188c5321e 100644
--- a/lisp/pcvs-util.el
+++ b/lisp/pcvs-util.el
@@ -409,5 +409,4 @@ and reset it unless READ-ONLY is non-nil."
(provide 'pcvs-util)
-;;; arch-tag: 3b2588bb-2ae3-4f1f-bf5b-dea91b1f8a59
;;; pcvs-util.el ends here
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index c1cc83150bb..1fd4d90d60b 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -2043,12 +2043,7 @@ Returns a list of FIS that should be `cvs remove'd."
(shrink-window-if-larger-than-buffer))))
(if (not (or silent
(unwind-protect
- (yes-or-no-p
- (let ((nfiles (length files)))
- (if (= 1 nfiles)
- (format "Delete file: \"%s\" ? "
- (cvs-fileinfo->file (car files)))
- (format "Delete %d files? " nfiles))))
+ (yes-or-no-p (format "Delete %d files? " (length files)))
(cvs-bury-buffer tmpbuf cvs-buffer))))
(progn (message "Aborting") nil)
(dolist (fi files)
@@ -2316,5 +2311,4 @@ The exact behavior is determined also by `cvs-dired-use-hook'."
(provide 'pcvs)
-;;; arch-tag: 8e3a7494-0453-4389-9ab3-a557ce9fab61
;;; pcvs.el ends here
diff --git a/lisp/play/5x5.el b/lisp/play/5x5.el
index 886e53a6afa..bcac5fa2577 100644
--- a/lisp/play/5x5.el
+++ b/lisp/play/5x5.el
@@ -521,5 +521,4 @@ progress because it is an animated attempt."
(provide '5x5)
-;;; arch-tag: ec4dabd5-572d-41ea-b48c-ec5ce0d68fa9
;;; 5x5.el ends here
diff --git a/lisp/play/animate.el b/lisp/play/animate.el
index 40c4696dc08..3e72247320f 100644
--- a/lisp/play/animate.el
+++ b/lisp/play/animate.el
@@ -184,5 +184,4 @@ Strings will be separated from each other by SPACE lines."
(animate-string "my sunshine" 18 34)
(animate-string "to stay!" 19 34))
-;;; arch-tag: 275289a3-6ac4-41da-b527-a1147045392f
;;; animate.el ends here
diff --git a/lisp/play/blackbox.el b/lisp/play/blackbox.el
index f3933e7ccd2..9e6fd59e985 100644
--- a/lisp/play/blackbox.el
+++ b/lisp/play/blackbox.el
@@ -429,5 +429,4 @@ a reflection."
(provide 'blackbox)
-;;; arch-tag: 6c474c62-5617-4b10-9b44-ac430168c0e2
;;; blackbox.el ends here
diff --git a/lisp/play/bruce.el b/lisp/play/bruce.el
index 57db4cff8cb..ff1a0753a52 100644
--- a/lisp/play/bruce.el
+++ b/lisp/play/bruce.el
@@ -147,5 +147,4 @@
(provide 'bruce)
-;;; arch-tag: b83ded51-4ccb-41ef-8bd6-3b521e81dd9b
;;; bruce.el ends here
diff --git a/lisp/play/cookie1.el b/lisp/play/cookie1.el
index 24cde55373c..cd3c715bc99 100644
--- a/lisp/play/cookie1.el
+++ b/lisp/play/cookie1.el
@@ -168,5 +168,4 @@ Optional fifth arg REQUIRE-MATCH non-nil forces a matching cookie."
(provide 'cookie1)
-;;; arch-tag: 4a8a8712-df6a-4f34-b030-108a1b47f9f2
;;; cookie1.el ends here
diff --git a/lisp/play/decipher.el b/lisp/play/decipher.el
index 7c08856da80..23634be1a53 100644
--- a/lisp/play/decipher.el
+++ b/lisp/play/decipher.el
@@ -1068,5 +1068,4 @@ if it can't, it signals an error."
;;; (delete-backward-char 1)
;;; (insert ")\n"))))))
-;;; arch-tag: 8f094d88-ffe1-4f99-afe3-a5e81dd939d9
;;; decipher.el ends here
diff --git a/lisp/play/dissociate.el b/lisp/play/dissociate.el
index 63bc7b7d2df..b8458f63fa4 100644
--- a/lisp/play/dissociate.el
+++ b/lisp/play/dissociate.el
@@ -100,5 +100,4 @@ Default is 2."
(provide 'dissociate)
-;;; arch-tag: 90d197d1-409b-45c5-a0b5-fbfb2e06334f
;;; dissociate.el ends here
diff --git a/lisp/play/doctor.el b/lisp/play/doctor.el
index 3cbb16fc2dc..478c2af8eca 100644
--- a/lisp/play/doctor.el
+++ b/lisp/play/doctor.el
@@ -1634,5 +1634,4 @@ Hack on previous word, setting global variable OWNER to correct result."
(provide 'doctor)
-;;; arch-tag: 579380f6-4902-4ea5-bccb-6339e30e1257
;;; doctor.el ends here
diff --git a/lisp/play/dunnet.el b/lisp/play/dunnet.el
index 50b8bce5f74..402a3d96769 100644
--- a/lisp/play/dunnet.el
+++ b/lisp/play/dunnet.el
@@ -3369,5 +3369,4 @@ File not found")))
(provide 'dunnet)
-;;; arch-tag: 4cc8e47c-d9e1-4ef4-936b-578e7f529558
;;; dunnet.el ends here
diff --git a/lisp/play/fortune.el b/lisp/play/fortune.el
index 306cf7daac1..0fad1df1048 100644
--- a/lisp/play/fortune.el
+++ b/lisp/play/fortune.el
@@ -327,5 +327,4 @@ and choose the directory as the fortune-file."
;;; Provide ourselves.
(provide 'fortune)
-;;; arch-tag: a1e4cb8a-3792-40e7-86a7-fc75ce094bcc
;;; fortune.el ends here
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el
index 70e9ff2f954..540498d0971 100644
--- a/lisp/play/gamegrid.el
+++ b/lisp/play/gamegrid.el
@@ -578,5 +578,4 @@ FILE is created there."
(provide 'gamegrid)
-;;; arch-tag: a96c2ff4-1c12-427e-bd3d-faeaf174cd46
;;; gamegrid.el ends here
diff --git a/lisp/play/gametree.el b/lisp/play/gametree.el
index 0ccb16be942..407f218fe0a 100644
--- a/lisp/play/gametree.el
+++ b/lisp/play/gametree.el
@@ -618,5 +618,4 @@ shogi, etc.) players, it is a slightly modified version of Outline mode.
(provide 'gametree)
-;;; arch-tag: aaa30943-9ae4-4cc1-813d-a46f96b7e4f1
;;; gametree.el ends here
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index b640c1bbbd8..7340f4d9d6b 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -1212,5 +1212,4 @@ If the game is finished, this command requests for another game."
(provide 'gomoku)
-;;; arch-tag: b1b8205e-77fc-4597-b373-3ea2c04311eb
;;; gomoku.el ends here
diff --git a/lisp/play/handwrite.el b/lisp/play/handwrite.el
index 5c6aa8f3abf..9167bc536b5 100644
--- a/lisp/play/handwrite.el
+++ b/lisp/play/handwrite.el
@@ -1417,5 +1417,4 @@ end
(provide 'handwrite)
-;;; arch-tag: f2285ae9-e41b-4c96-8343-87dce41e44b7
;;; handwrite.el ends here
diff --git a/lisp/play/hanoi.el b/lisp/play/hanoi.el
index 296ca82b64a..d3bf2bd336e 100644
--- a/lisp/play/hanoi.el
+++ b/lisp/play/hanoi.el
@@ -447,5 +447,4 @@ BITS must be of length nrings. Start at START-TIME."
(provide 'hanoi)
-;;; arch-tag: 7a901659-4346-495c-8883-14cbf540610c
;;; hanoi.el ends here
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el
index fff7f73768b..b4779a4e8ab 100644
--- a/lisp/play/landmark.el
+++ b/lisp/play/landmark.el
@@ -1703,5 +1703,4 @@ Use \\[describe-mode] for more info."
(provide 'landmark)
-;;; arch-tag: ae5031be-96e6-459e-a3df-1df53117d3f2
;;; landmark.el ends here
diff --git a/lisp/play/life.el b/lisp/play/life.el
index c7df1a8d017..c3bc0b38f8a 100644
--- a/lisp/play/life.el
+++ b/lisp/play/life.el
@@ -279,5 +279,4 @@ generations (this defaults to 1)."
(provide 'life)
-;;; arch-tag: e9373544-755e-42f5-a9a1-4d4c422bb97a
;;; life.el ends here
diff --git a/lisp/play/meese.el b/lisp/play/meese.el
index de27f567cea..d811dacb9bc 100644
--- a/lisp/play/meese.el
+++ b/lisp/play/meese.el
@@ -34,5 +34,4 @@
(add-hook 'find-file-hook 'protect-innocence-hook)
(provide 'meese)
-;;; arch-tag: 47af12d2-6a7d-4e2e-a1ea-eae75a77e3f0
;;; meese.el ends here
diff --git a/lisp/play/morse.el b/lisp/play/morse.el
index cda88f4e640..40fc4de1d9f 100644
--- a/lisp/play/morse.el
+++ b/lisp/play/morse.el
@@ -138,5 +138,4 @@
(provide 'morse)
-;;; arch-tag: 3331e6c1-9a9e-453f-abfd-163a9c3f93a6
;;; morse.el ends here
diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el
index 1a667606da3..954b3cb338c 100644
--- a/lisp/play/mpuz.el
+++ b/lisp/play/mpuz.el
@@ -515,5 +515,4 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
(provide 'mpuz)
-;;; arch-tag: 2781d6ba-89e7-43b5-85c7-5d3a2e73feb1
;;; mpuz.el ends here
diff --git a/lisp/play/pong.el b/lisp/play/pong.el
index 05e9e488e3d..8d4f0871290 100644
--- a/lisp/play/pong.el
+++ b/lisp/play/pong.el
@@ -459,5 +459,4 @@ pong-mode keybindings:\\<pong-mode-map>
(provide 'pong)
-;;; arch-tag: 1fdf0fc5-13e2-4de4-aae4-09bdd5af99f3
;;; pong.el ends here
diff --git a/lisp/play/snake.el b/lisp/play/snake.el
index d21b25f598f..f2af0bb6495 100644
--- a/lisp/play/snake.el
+++ b/lisp/play/snake.el
@@ -412,5 +412,4 @@ Snake mode keybindings:
(provide 'snake)
-;;; arch-tag: 512ffc92-cfac-4287-9a4e-92890701a5c8
;;; snake.el ends here
diff --git a/lisp/play/solitaire.el b/lisp/play/solitaire.el
index 1dc57b61c65..127db243d3d 100644
--- a/lisp/play/solitaire.el
+++ b/lisp/play/solitaire.el
@@ -456,5 +456,4 @@ Seen in info on text lines."
(provide 'solitaire)
-;;; arch-tag: 1b18ee1c-1e79-4a5b-8658-9560b82e63dd
;;; solitaire.el ends here
diff --git a/lisp/play/spook.el b/lisp/play/spook.el
index d76960fc038..d9178613973 100644
--- a/lisp/play/spook.el
+++ b/lisp/play/spook.el
@@ -77,5 +77,4 @@
(provide 'spook)
-;;; arch-tag: c682b61f-92b6-4492-9c0d-2367e562449c
;;; spook.el ends here
diff --git a/lisp/play/studly.el b/lisp/play/studly.el
index 2bb4cb53846..474f969ae08 100644
--- a/lisp/play/studly.el
+++ b/lisp/play/studly.el
@@ -68,5 +68,4 @@
(provide 'studly)
-;;; arch-tag: 0dbf5a60-d2e6-48c2-86ae-77fc8575ac67
;;; studly.el ends here
diff --git a/lisp/play/tetris.el b/lisp/play/tetris.el
index ddf647d6a8c..04c88392aed 100644
--- a/lisp/play/tetris.el
+++ b/lisp/play/tetris.el
@@ -646,5 +646,4 @@ tetris-mode keybindings:
(provide 'tetris)
-;;; arch-tag: fb780d53-3ff0-49f0-8e19-f7f13cf2d49e
;;; tetris.el ends here
diff --git a/lisp/play/yow.el b/lisp/play/yow.el
index 3be9a99bf79..90708d4897d 100644
--- a/lisp/play/yow.el
+++ b/lisp/play/yow.el
@@ -126,5 +126,4 @@ If called interactively, display a list of matches."
(provide 'yow)
-;;; arch-tag: d13db89b-84f1-4141-a5ce-261d1733a65c
;;; yow.el ends here
diff --git a/lisp/play/zone.el b/lisp/play/zone.el
index ca46c0a1562..0f17a34f5f2 100644
--- a/lisp/play/zone.el
+++ b/lisp/play/zone.el
@@ -620,5 +620,4 @@ If the element is a function or a list of a function and a number,
;;;;;;;;;;;;;;;
(provide 'zone)
-;;; arch-tag: 7092503d-74a9-4325-a55c-a026ede58cea
;;; zone.el ends here
diff --git a/lisp/printing.el b/lisp/printing.el
index 7ebae551118..f9c95a16447 100644
--- a/lisp/printing.el
+++ b/lisp/printing.el
@@ -6228,5 +6228,4 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order."
(provide 'printing)
-;;; arch-tag: 9ce9ac3f-0f60-4370-900b-1943215d9d18
;;; printing.el ends here
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index e5dacd7f258..1e81b22d412 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -1071,7 +1071,7 @@ name"
;;;###autoload
(defun ada-mode ()
"Ada mode is the major mode for editing Ada code.
-This version was built on $Date: 2003/05/13 20:48:15 $.
+This version was built on $Date: 2003/05/04 19:52:34 $.
Bindings are as follows: (Note: 'LFD' is control-j.)
\\{ada-mode-map}
@@ -5504,5 +5504,4 @@ This function typically is to be hooked into `ff-file-created-hooks'."
;;; provide ourselves
(provide 'ada-mode)
-;;; arch-tag: 1b7d45ec-1698-43b5-8d4a-e479ea023270
;;; ada-mode.el ends here
diff --git a/lisp/progmodes/ada-prj.el b/lisp/progmodes/ada-prj.el
index 30bdfc4ae41..6962ecb439d 100644
--- a/lisp/progmodes/ada-prj.el
+++ b/lisp/progmodes/ada-prj.el
@@ -3,7 +3,7 @@
;; Copyright (C) 1998, 99, 2000-2003 Free Software Foundation, Inc.
;; Author: Emmanuel Briot <briot@gnat.com>
-;; Ada Core Technologies's version: $Revision: 1.12 $
+;; Ada Core Technologies's version: $Revision: 1.61 $
;; Keywords: languages, ada, project file
;; This file is part of GNU Emacs.
@@ -681,5 +681,4 @@ AFTER-TEXT is inserted just after the widget."
(provide 'ada-prj)
-;;; arch-tag: 65978c77-816e-49c6-896e-6905605d1b4c
;;; ada-prj.el ends here
diff --git a/lisp/progmodes/ada-stmt.el b/lisp/progmodes/ada-stmt.el
index 7b9f7649280..bb6d54a49cc 100644
--- a/lisp/progmodes/ada-stmt.el
+++ b/lisp/progmodes/ada-stmt.el
@@ -3,7 +3,7 @@
;; Copyright(C) 1987, 93, 94, 96, 97, 98, 99, 2000
;; Free Software Foundation, Inc.
-;; Ada Core Technologies's version: $Revision: 1.16 $
+;; Ada Core Technologies's version: $Revision: 1.23 $
;; This file is part of GNU Emacs.
@@ -486,5 +486,4 @@ Invoke right after `ada-function-spec' or `ada-procedure-spec'."
(provide 'ada-stmt)
-;;; arch-tag: 94f51555-cc0e-44e5-8865-8788aae8ecd3
;;; ada-stmt.el ends here
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index c7b5717a1bb..b99ccf69593 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -2262,5 +2262,4 @@ find-file...."
(provide 'ada-xref)
-;;; arch-tag: 415a39fe-577b-4676-b3b1-6ff6db7ca24e
;;; ada-xref.el ends here
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index 247ad2e90bd..1bdc86260a5 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -2669,6 +2669,4 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'."
alist nil))))))
;;; Local IspellPersDict: .ispell_antlr
-
-;;; arch-tag: 5de2be79-3d13-4560-8fbc-f7d0234dcb5c
;;; antlr-mode.el ends here
diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el
index 76d12aa6f6e..a3134e35145 100644
--- a/lisp/progmodes/asm-mode.el
+++ b/lisp/progmodes/asm-mode.el
@@ -238,5 +238,4 @@ repeatedly until you are satisfied with the kind of comment."
(provide 'asm-mode)
-;;; arch-tag: 210e695f-f338-4376-8913-a4c5c72ac848
;;; asm-mode.el ends here
diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el
index 4edac8a5318..a2a2b63a85a 100644
--- a/lisp/progmodes/autoconf.el
+++ b/lisp/progmodes/autoconf.el
@@ -4,7 +4,7 @@
;; Author: Dave Love <fx@gnu.org>
;; Keywords: languages
-;; $Revision: 1.4 $
+;; $Revision: 1.3 $
;; This file is part of GNU Emacs.
@@ -108,5 +108,4 @@ searching backwards at another AC_... command."
(provide 'autoconf-mode)
-;;; arch-tag: 4f44778f-2ab3-49a1-a103-f0acb9df2de4
;;; autoconf.el ends here
diff --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el
index 00f9323795f..2f1625854a1 100644
--- a/lisp/progmodes/cc-align.el
+++ b/lisp/progmodes/cc-align.el
@@ -708,20 +708,18 @@ arglist-cont-nonempty."
(save-excursion
(beginning-of-line)
(when (c-syntactic-re-search-forward
- c-assignment-op-regexp
- (c-point 'eol) t t t)
- (setq equalp (- (or (match-beginning 1)
- (match-end 0))
- (c-point 'boi))))))
+ ;; This regexp avoids matches on ==.
+ "\\(\\=\\|[^=]\\)=\\([^=]\\|$\\)"
+ (c-point 'eol) t t)
+ (setq equalp (- (match-beginning 2) (c-point 'boi))))))
(save-excursion
(goto-char startpos)
(if (or (if (c-syntactic-re-search-forward
- c-assignment-op-regexp
- (min endpos (c-point 'eol)) t t t)
+ "\\(\\=\\|[^=]\\)=\\([^=]\\|$\\)"
+ (min endpos (c-point 'eol)) t t)
(progn
- (goto-char (or (match-beginning 1)
- (match-end 0)))
+ (goto-char (match-beginning 2))
nil)
t)
(save-excursion
@@ -1208,5 +1206,4 @@ For other semicolon contexts, no determination is made."
(cc-provide 'cc-align)
-;;; arch-tag: 4d71ed28-bf51-4509-a148-f39669669a2e
;;; cc-align.el ends here
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el
index dbcfa9d991e..529d6a7da13 100644
--- a/lisp/progmodes/cc-awk.el
+++ b/lisp/progmodes/cc-awk.el
@@ -902,6 +902,4 @@ no explicit action; see function `c-awk-beginning-of-defun'."
(goto-char (min start-point end-point)))))))
(cc-provide 'cc-awk) ; Changed from 'awk-mode, ACM 2002/5/21
-
-;;; arch-tag: c4836289-3aa4-4a59-9934-9ccc2bacccf3
;;; awk-mode.el ends here
diff --git a/lisp/progmodes/cc-bytecomp.el b/lisp/progmodes/cc-bytecomp.el
index e0072723d60..efaf2ea79c7 100644
--- a/lisp/progmodes/cc-bytecomp.el
+++ b/lisp/progmodes/cc-bytecomp.el
@@ -435,5 +435,4 @@ exclude any functions that have been bound during compilation with
(provide 'cc-bytecomp)
-;;; arch-tag: 2d71b3ad-57b0-4b13-abd3-ab836e08f975
;;; cc-bytecomp.el ends here
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index f786153b383..f254cf6b061 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -498,19 +498,10 @@ This function does various newline cleanups based on the value of
(when (save-excursion
(skip-chars-backward " \t")
(not (bolp)))
- (c-newline-and-indent)
- ;; Set markers around the newline and indention inserted
- ;; above. We insert the start marker here and not before
- ;; the call to kludge around a misfeature in expand-abbrev:
- ;; If the line contains e.g. "else" then expand-abbrev will
- ;; be called when c-newline-and-indent inserts the newline.
- ;; That function first removes the abbrev "else" and then
- ;; inserts the expansion, which is an identical "else" in
- ;; this case. So the marker that we put after "else" would
- ;; end up before it.
(setq delete-temp-newline
- (cons (copy-marker (c-point 'eopl) t)
- (point-marker))))
+ (list (point-marker)))
+ (c-newline-and-indent)
+ (setcdr delete-temp-newline (point-marker)))
(unwind-protect
(progn
(if (eq last-command-char ?{)
@@ -3514,5 +3505,4 @@ normally bound to C-o. See `c-context-line-break' for the details."
(cc-provide 'cc-cmds)
-;;; arch-tag: bf0611dc-d1f4-449e-9e45-4ec7c6936677
;;; cc-cmds.el ends here
diff --git a/lisp/progmodes/cc-compat.el b/lisp/progmodes/cc-compat.el
index 9ddfe3a6a1f..3d0756c5ed8 100644
--- a/lisp/progmodes/cc-compat.el
+++ b/lisp/progmodes/cc-compat.el
@@ -160,6 +160,4 @@ This is in addition to c-continued-statement-offset.")
(cc-provide 'cc-compat)
-
-;;; arch-tag: 564dab2f-e6ad-499c-a4a3-fedec3ecc192
;;; cc-compat.el ends here
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 1d253537c8c..ebb5047e05d 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -105,7 +105,7 @@
;;; Variables also used at compile time.
-(defconst c-version "5.30.6"
+(defconst c-version "5.30.5"
"CC Mode version number.")
(defconst c-version-sym (intern c-version))
@@ -1564,5 +1564,4 @@ This macro does not do any hidden buffer changes."
(cc-provide 'cc-defs)
-;;; arch-tag: 3bb2629d-dd84-4ff0-ad39-584be0fe3cda
;;; cc-defs.el ends here
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 0abb5121d5b..15acecfa2a8 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -4272,16 +4272,14 @@ brace."
;; otherwise, we could be looking at a hanging member init
;; colon
(goto-char checkpoint)
- (while (and
- (eq (char-before) ?,)
- ;; this will catch member inits with multiple
- ;; line arglists
- (progn
- (forward-char -1)
- (c-backward-syntactic-ws (c-point 'bol))
- (c-safe (c-backward-sexp 1) t))
- (or (not (looking-at "\\s\("))
- (c-safe (c-backward-sexp 1) t)))
+ (while (eq (char-before) ?,)
+ ;; this will catch member inits with multiple
+ ;; line arglists
+ (forward-char -1)
+ (c-backward-syntactic-ws (c-point 'bol))
+ (if (eq (char-before) ?\))
+ (c-backward-sexp 2)
+ (c-backward-sexp 1))
(c-backward-syntactic-ws lim))
(if (and (eq (char-before) ?:)
(progn
@@ -6822,5 +6820,4 @@ This function does not do any hidden buffer changes."
(cc-provide 'cc-engine)
-;;; arch-tag: 149add18-4673-4da5-ac47-6805e4eae089
;;; cc-engine.el ends here
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index e9f99d14022..bab838a22d1 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -2877,5 +2877,4 @@ std\\(err\\|in\\|out\\)\\|user\\)\\)\\>\
(cc-provide 'cc-fonts)
-;;; arch-tag: 2f65f405-735f-4da5-8d4b-b957844c5203
;;; cc-fonts.el ends here
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 0eb009dd622..0a55be956bb 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -544,15 +544,6 @@ submatch surrounds the directive name."
'("defined"))
pike '("defined" "efun" "constant"))
-(c-lang-defconst c-assignment-operators
- "List of all assignment operators."
- t '("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" "&=" "^=" "|=")
- java (append (c-lang-const c-assignment-operators)
- '(">>>="))
- c++ (append (c-lang-const c-assignment-operators)
- '("and_eq" "or_eq" "xor_eq"))
- idl nil)
-
(c-lang-defconst c-operators
"List describing all operators, along with their precedence and
associativity. The order in the list corresponds to the precedence of
@@ -695,7 +686,11 @@ since CC Mode treats every identifier as an expression."
(right-assoc-sequence "?" ":")
;; Assignment.
- (right-assoc ,@(c-lang-const c-assignment-operators))
+ (right-assoc "=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" "&=" "^=" "|="
+ ,@(when (c-major-mode-is 'java-mode)
+ '(">>>="))
+ ,@(when (c-major-mode-is 'c++-mode)
+ '("and_eq" "or_eq" "xor_eq")))
;; Exception.
,@(when (c-major-mode-is 'c++-mode)
@@ -793,23 +788,6 @@ operators."
(c-lang-defvar c-nonsymbol-token-regexp
(c-lang-const c-nonsymbol-token-regexp))
-(c-lang-defconst c-assignment-op-regexp
- ;; Regexp matching all assignment operators and only them. The
- ;; beginning of the first submatch is used to detect the end of the
- ;; token, along with the end of the whole match.
- t (if (c-lang-const c-assignment-operators)
- (concat
- ;; Need special case for "=" since it's a prefix of "==".
- "=\\([^=]\\|$\\)"
- "\\|"
- (c-make-keywords-re nil
- (set-difference (c-lang-const c-assignment-operators)
- '("=")
- :test 'string-equal)))
- "\\<\\>"))
-(c-lang-defvar c-assignment-op-regexp
- (c-lang-const c-assignment-op-regexp))
-
(c-lang-defconst c-<-op-cont-regexp
;; Regexp matching the second and subsequent characters of all
;; multicharacter tokens that begin with "<".
@@ -1463,7 +1441,7 @@ assumed to be set if this isn't nil."
(c-lang-defconst c-opt-<>-sexp-key
;; Adorned regexp matching keywords that can be followed by an angle
- ;; bracket sexp. Always set when `c-recognize-<>-arglists' is.
+ ;; bracket sexp.
t (if (c-lang-const c-recognize-<>-arglists)
(c-make-keywords-re t (c-lang-const c-<>-sexp-kwds))))
(c-lang-defvar c-opt-<>-sexp-key (c-lang-const c-opt-<>-sexp-key))
@@ -2326,5 +2304,4 @@ This macro does not do any hidden buffer changes."
(cc-provide 'cc-langs)
-;;; arch-tag: 1ab57482-cfc2-4c5b-b628-3539c3098822
;;; cc-langs.el ends here
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index b116db482c3..85fee9978d8 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -424,5 +424,4 @@ Example:
(cc-provide 'cc-menus)
-;;; arch-tag: f6b60933-91f0-4145-ab44-70ca6d1b919b
;;; cc-menus.el ends here
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 7c2ef9f93bd..67ec33defbf 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1175,6 +1175,4 @@ Key bindings:
(cc-provide 'cc-mode)
-
-;;; arch-tag: 7825e5c4-fd09-439f-a04d-4c13208ba3d7
;;; cc-mode.el ends here
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el
index 498ccc4d782..4fb3656b6c0 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -618,5 +618,4 @@ any reason to call this function directly."
(cc-provide 'cc-styles)
-;;; arch-tag: c764f61a-96ba-484a-a68f-101c0e9d5d2c
;;; cc-styles.el ends here
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 5ea6ad89a70..e60854f3f50 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1371,7 +1371,7 @@ state. Set this variable only if your configuration has stopped
working due to this change.")
(define-widget 'c-extra-types-widget 'radio
- "Internal CC Mode widget for the `*-font-lock-extra-types' variables."
+ ;; Widget for a list of regexps for the extra types.
:args '((const :tag "none" nil)
(repeat :tag "types" regexp)))
@@ -1402,7 +1402,7 @@ also elsewhere in CC Mode to tell types from other identifiers.")))
;; in older versions in Emacs, so depending on the load order we might
;; not install the values below. There's no kludge to cope with this
;; (as opposed to the *-font-lock-keywords-* variables) since the old
-;; values work fairly well anyway.
+;; values works fairly well anyway.
(defcustom c-font-lock-extra-types
'("FILE" "\\sw+_t"
@@ -1675,5 +1675,4 @@ might be present:
(cc-provide 'cc-vars)
-;;; arch-tag: d62e9a55-c9fe-409b-b5b6-050b6aa202c9
;;; cc-vars.el ends here
diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el
index 27fe81e451d..a42df869dfd 100644
--- a/lisp/progmodes/cmacexp.el
+++ b/lisp/progmodes/cmacexp.el
@@ -387,5 +387,4 @@ Optional arg DISPLAY non-nil means show messages in the echo area."
;; Cleanup.
(kill-buffer outbuf))))
-;;; arch-tag: 4f20253c-71ef-4e6d-a774-19087060910e
;;; cmacexp.el ends here
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 8f88bae612e..a65e04eb1d2 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -437,14 +437,6 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2)
;; in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml
("Warning:.*\n.* line \\([0-9]+\\) char \\([0-9]+\\) of file://\\(.+\\)"
3 1 2)
-
- ;; See http://ant.apache.org/faq.html
- ;; Ant Java: works for jikes
- ("^\\s-*\\[[^]]*\\]\\s-*\\(.+\\):\\([0-9]+\\):\\([0-9]+\\):[0-9]+:[0-9]+:" 1 2 3)
-
- ;; Ant Java: works for javac
- ("^\\s-*\\[[^]]*\\]\\s-*\\(.+\\):\\([0-9]+\\):" 1 2)
-
)
"Alist that specifies how to match errors in compiler output.
@@ -1751,15 +1743,11 @@ See variables `compilation-parse-errors-function' and
(consp argp))))
;;;###autoload (define-key ctl-x-map "`" 'next-error)
-(defun previous-error (argp)
+(defun previous-error ()
"Visit previous compilation error message and corresponding source code.
-
-A prefix ARGP specifies how many error messages to move;
-negative means move forward to next error messages.
-
-This operates on the output from the \\[compile] and \\[grep] commands."
- (interactive "P")
- (next-error (- (prefix-numeric-value argp))))
+This operates on the output from the \\[compile] command."
+ (interactive)
+ (next-error -1))
(defun first-error ()
"Reparse the error message buffer and start at the first error.
@@ -2384,5 +2372,4 @@ An error message with no file name and no file name has been seen earlier"))
(provide 'compile)
-;;; arch-tag: 12465727-7382-4f72-b234-79855a00dd8c
;;; compile.el ends here
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index e847ef4e44e..8aa23d299af 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -7271,5 +7271,4 @@ Delay of auto-help controlled by `cperl-lazy-help-time'."
(provide 'cperl-mode)
-;;; arch-tag: 42e5b19b-e187-4537-929f-1a7408980ce6
;;; cperl-mode.el ends here
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 0d9a9f62a60..e8d7ce8e3bd 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -821,5 +821,4 @@ BRANCH should be either nil (false branch), t (true branch) or 'both."
(provide 'cpp)
-;;; arch-tag: fb7d433d-745d-495a-96f0-86908ab63f74
;;; cpp.el ends here
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index b16381cd2c7..aed77324907 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -380,5 +380,4 @@ The mode is turned if some feature is enabled for the current
;;}}}
-;;; arch-tag: 225fb5e2-0838-4eb1-88ce-3811c5e4d738
;;; cwarn.el ends here
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index 861c3bbb8c6..799c47e09fa 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -2215,5 +2215,4 @@ otherwise return nil."
(run-hooks 'dcl-mode-load-hook) ; for your customizations
-;;; arch-tag: e00d421b-f26c-483e-a8bd-af412ea7764a
;;; dcl-mode.el ends here
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el
index ee4ca4b5786..6fae66ef455 100644
--- a/lisp/progmodes/delphi.el
+++ b/lisp/progmodes/delphi.el
@@ -65,7 +65,7 @@
(provide 'delphi)
(defconst delphi-version
- (let ((revision "$Revision: 3.10 $"))
+ (let ((revision "$Revision: 3.9 $"))
(string-match ": \\([^ ]+\\)" revision)
(match-string 1 revision))
"Version of this delphi mode.")
@@ -2010,5 +2010,4 @@ no args, if that value is non-nil."
(run-hooks 'delphi-mode-hook))
-;;; arch-tag: 410e192d-e9b5-4397-ad62-12340fc3fa41
;;; delphi.el ends here
diff --git a/lisp/progmodes/ebnf-bnf.el b/lisp/progmodes/ebnf-bnf.el
index f9d1c718d4f..054f337b1c4 100644
--- a/lisp/progmodes/ebnf-bnf.el
+++ b/lisp/progmodes/ebnf-bnf.el
@@ -586,5 +586,4 @@ See documentation for variable `ebnf-bnf-lex'."
(provide 'ebnf-bnf)
-;;; arch-tag: 3b1834d3-8367-475b-80d5-8e0bbd00ce50
;;; ebnf-bnf.el ends here
diff --git a/lisp/progmodes/ebnf-iso.el b/lisp/progmodes/ebnf-iso.el
index 9329f90af5e..f4c965b6ed7 100644
--- a/lisp/progmodes/ebnf-iso.el
+++ b/lisp/progmodes/ebnf-iso.el
@@ -1,11 +1,11 @@
;;; ebnf-iso.el --- parser for ISO EBNF
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; Maintainer: Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; Keywords: wp, ebnf, PostScript
-;; Time-stamp: <2003/08/12 21:29:14 vinicius>
+;; Time-stamp: <2003-02-10 10:26:32 jbarranquero>
;; Version: 1.6
;; This file is part of GNU Emacs.
@@ -127,8 +127,7 @@
"Value returned by `ebnf-iso-lex' function.")
-(defvar ebnf-no-meta-identifier nil
- "Used by `ebnf-iso-term' and `ebnf-iso-lex' functions.")
+(defconst ebnf-no-meta-identifier nil)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -613,5 +612,4 @@ See documentation for variable `ebnf-iso-lex'."
(provide 'ebnf-iso)
-;;; arch-tag: 03315eef-8f64-404a-bf9d-256d42442ee3
;;; ebnf-iso.el ends here
diff --git a/lisp/progmodes/ebnf-otz.el b/lisp/progmodes/ebnf-otz.el
index 9f2a5aa7889..73f1ce9238c 100644
--- a/lisp/progmodes/ebnf-otz.el
+++ b/lisp/progmodes/ebnf-otz.el
@@ -658,5 +658,4 @@
(provide 'ebnf-otz)
-;;; arch-tag: 7ef2249d-9e8b-4bc1-999f-95d784690636
;;; ebnf-otz.el ends here
diff --git a/lisp/progmodes/ebnf-yac.el b/lisp/progmodes/ebnf-yac.el
index d0e85fe1444..4aa7fb116c3 100644
--- a/lisp/progmodes/ebnf-yac.el
+++ b/lisp/progmodes/ebnf-yac.el
@@ -491,5 +491,4 @@ See documentation for variable `ebnf-yac-lex'."
(provide 'ebnf-yac)
-;;; arch-tag: 8a96989c-0b1d-42ba-a020-b2901f9a2a4d
;;; ebnf-yac.el ends here
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index a069b83b15d..e68bcabc9df 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -5,7 +5,7 @@
;; Author: Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; Maintainer: Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; Keywords: wp, ebnf, PostScript
-;; Time-stamp: <2003/08/08 23:09:36 vinicius>
+;; Time-stamp: <2003-02-10 10:40:14 jbarranquero>
;; Version: 3.6.1
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
@@ -3594,10 +3594,6 @@ end
(format ebnf-message-float value)))
-(defvar ebnf-total 0)
-(defvar ebnf-nprod 0)
-
-
(defsubst ebnf-message-info (messag)
(message "%s...%3d%%"
messag
@@ -3818,6 +3814,8 @@ end
(defvar ebnf-tree nil)
(defvar ebnf-direction "R")
+(defvar ebnf-total 0)
+(defvar ebnf-nprod 0)
(defun ebnf-generate-postscript (from to)
@@ -4268,7 +4266,7 @@ end
(defun ebnf-begin-job ()
- (ps-printing-region nil nil nil)
+ (ps-printing-region nil nil)
(if ebnf-use-float-format
(setq ebnf-format-float "%1.3f"
ebnf-message-float "%3.2f")
@@ -5296,5 +5294,4 @@ end
(provide 'ebnf2ps)
-;;; arch-tag: 148bc8af-5398-468b-b922-eeb7afef3e4f
;;; ebnf2ps.el ends here
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 08cfb3a7ffc..e75022993c3 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -4492,5 +4492,4 @@ EVENT is the mouse event."
;;; eval:(put 'ebrowse-for-all-trees 'lisp-indent-hook 1)
;;; End:
-;;; arch-tag: 4fa3c8bf-1771-479b-bcd7-b029c7c9677b
;;; ebrowse.el ends here
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index ef5d1eba998..8860cc3ceb0 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -2048,5 +2048,4 @@ for \\[find-tag] (which see)."
(provide 'etags)
-;;; arch-tag: b897c2b5-08f3-4837-b2d3-0e7d6db1b63e
;;; etags.el ends here
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index 21f894753a1..4255cb973c4 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -280,5 +280,4 @@ file modes."
(provide 'executable)
-;;; arch-tag: 58458d1c-d9db-45ec-942b-8bbb1d5e319d
;;; executable.el ends here
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index a3f44743514..9a94b1dfb92 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -1793,5 +1793,4 @@ CHANGE-WORD should be one of 'upcase-word, 'downcase-word, 'capitalize-word."
(provide 'f90)
-;;; arch-tag: fceac97c-c147-44bd-aec0-172d4b560ef8
;;; f90.el ends here
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index 39e74a8dc1f..13da2906170 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -1842,5 +1842,4 @@ Supplying prefix arg DO-SPACE prevents stripping the whitespace."
(provide 'fortran)
-;;; arch-tag: 74935096-21c4-4cab-8ee5-6ef16090dc04
;;; fortran.el ends here
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index dea40b8db19..7ba294d53af 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -273,5 +273,4 @@ at places they belong to."
(provide 'glasses)
-;;; arch-tag: a3515167-c89e-484f-90a1-d85143e52b12
;;; glasses.el ends here
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 4ec58d3eeee..349c78ce3d2 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2524,24 +2524,26 @@ Obeying it means displaying in another window the specified file and line."
(if buffer
(progn
(with-current-buffer buffer
- (unless (or (verify-visited-file-modtime buffer) gud-keep-buffer)
- (if (yes-or-no-p
+ (if (not (or (verify-visited-file-modtime buffer) gud-keep-buffer))
+ (progn
+ (if
+ (yes-or-no-p
(format "File %s changed on disk. Reread from disk? "
(buffer-name)))
(revert-buffer t t)
- (setq gud-keep-buffer t)))
+ (setq gud-keep-buffer t))))
(save-restriction
(widen)
(goto-line line)
(setq pos (point))
(setq overlay-arrow-string "=>")
(or overlay-arrow-position
- (setq overlay-arrow-position (make-marker)))
+ (setq overlay-arrow-position (make-marker)))
(set-marker overlay-arrow-position (point) (current-buffer)))
(cond ((or (< pos (point-min)) (> pos (point-max)))
- (widen)
- (goto-char pos))))
- (if window (set-window-point window overlay-arrow-position))))))
+ (widen)
+ (goto-char pos))))
+ (set-window-point window overlay-arrow-position)))))
;; The gud-call function must do the right thing whether its invoking
;; keystroke is from the GUD buffer itself (via major-mode binding)
@@ -2973,5 +2975,4 @@ class of the file (using s to separate nested class ids)."
(provide 'gud)
-;;; arch-tag: 6d990948-df65-461a-be39-1c7fb83ac4c4
;;; gud.el ends here
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index aabc2f5783c..0213d2411c8 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -969,5 +969,4 @@ Return as (TOP . BOTTOM) the extent of ifdef block."
(provide 'hideif)
-;;; arch-tag: c6381d17-a59a-483a-b945-658f22277981
;;; hideif.el ends here
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 47b9bbc0c2f..3520bbc4680 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -941,5 +941,4 @@ Key bindings:
(provide 'hideshow)
-;;; arch-tag: 378b6852-e82a-466a-aee8-d9c73859a65e
;;; hideshow.el ends here
diff --git a/lisp/progmodes/icon.el b/lisp/progmodes/icon.el
index eef93826367..df5084814fc 100644
--- a/lisp/progmodes/icon.el
+++ b/lisp/progmodes/icon.el
@@ -687,5 +687,4 @@ Returns nil if line starts inside a string, t if in a comment."
(provide 'icon)
-;;; arch-tag: 8abf8c99-e7df-44af-a58f-ef5ed2ee52cb
;;; icon.el ends here
diff --git a/lisp/progmodes/idlw-rinfo.el b/lisp/progmodes/idlw-rinfo.el
index fd43391fc57..8499574ffbd 100644
--- a/lisp/progmodes/idlw-rinfo.el
+++ b/lisp/progmodes/idlw-rinfo.el
@@ -1535,5 +1535,4 @@
(provide 'idlw-rinfo)
(provide 'idlwave-rinfo)
-;;; arch-tag: d0b65da3-7f5e-4992-b8dd-885800b5cd6b
;;; idlw-rinfo.el ends here
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index af62d1e3e74..d9e59553c42 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -5,7 +5,7 @@
;; Chris Chase <chase@att.com>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;; Version: 4.15
-;; Date: $Date: 2002/10/17 15:41:01 $
+;; Date: $Date: 2002/09/13 06:18:53 $
;; Keywords: processes
;; This file is part of GNU Emacs.
@@ -3650,6 +3650,4 @@ static char * file[] = {
(if idlwave-shell-use-toolbar
(add-hook 'idlwave-shell-mode-hook 'idlwave-toolbar-add-everywhere))
-
-;;; arch-tag: 20c2e8ce-0709-41d8-a5b6-bb039148440a
;;; idlw-shell.el ends here
diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el
index 79ca7b8d75b..74f16b6b70c 100644
--- a/lisp/progmodes/idlw-toolbar.el
+++ b/lisp/progmodes/idlw-toolbar.el
@@ -4,7 +4,7 @@
;; Author: Carsten Dominik <dominik@astro.uva.nl>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;; Version: 4.15
-;; Date: $Date: 2003/02/04 13:24:35 $
+;; Date: $Date: 2002/09/12 16:56:54 $
;; Keywords: processes
;; This file is part of GNU Emacs.
@@ -880,4 +880,3 @@ static char * file[] = {
;;; idlw-toolbar.el ends here
-;;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 906eed14ca6..cd7cee73118 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -5,7 +5,7 @@
;; Chris Chase <chase@att.com>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;; Version: 4.15
-;; Date: $Date: 2003/07/21 21:36:29 $
+;; Date: $Date: 2003/05/06 17:40:52 $
;; Keywords: languages
;; This file is part of GNU Emacs.
@@ -8251,5 +8251,4 @@ This function was written since `list-abbrevs' looks terrible for IDLWAVE mode."
(provide 'idlwave)
-;;; arch-tag: f77f3b0c-c37c-424f-a328-0886fd42b6fb
;;; idlwave.el ends here
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el
index 83a0c9d3e20..ec4faacb3bc 100644
--- a/lisp/progmodes/inf-lisp.el
+++ b/lisp/progmodes/inf-lisp.el
@@ -625,5 +625,4 @@ This is a good place to put keybindings.")
(provide 'inf-lisp)
-;;; arch-tag: 5b74abc3-a085-4b91-8ab8-8da6899d3b92
;;; inf-lisp.el ends here
diff --git a/lisp/progmodes/ld-script.el b/lisp/progmodes/ld-script.el
deleted file mode 100644
index 94e829903c9..00000000000
--- a/lisp/progmodes/ld-script.el
+++ /dev/null
@@ -1,127 +0,0 @@
-;;; ld-script.el --- GNU linker script editing mode for Emacs
-
-;; Copyright (C) 2003 Free Software Foundation, Inc.
-
-;; Author: Masatake YAMATO<jet@gyve.org>
-;; Keywords: languages, faces
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Codes:
-
-;; Custom
-(defgroup ld-script nil
- "GNU linker script code editing commands for Emacs."
- :prefix "ld-script-"
- :group 'languages)
-
-(defvar ld-script-location-counter-face 'ld-script-location-counter-face)
-(defface ld-script-location-counter-face
- '((t (:weight bold :inherit font-lock-builtin-face)))
- "Face for location counter in GNU ld script."
- :group 'ld-script)
-
-;; Syntax rules
-(defvar ld-script-mode-syntax-table
- (let ((st (make-syntax-table)))
- (modify-syntax-entry ?\ "-" st)
- (modify-syntax-entry ?{ "(}" st)
- (modify-syntax-entry ?} "){" st)
- (modify-syntax-entry ?\( "()" st)
- (modify-syntax-entry ?\) ")(" st)
- (modify-syntax-entry ?\[ "(]" st)
- (modify-syntax-entry ?\] ")[" st)
- (modify-syntax-entry ?_ "w" st)
- (modify-syntax-entry ?. "_" st)
- (modify-syntax-entry ?\\ "\\" st)
- (modify-syntax-entry ?: "." st)
- (modify-syntax-entry ?, "." st)
- (modify-syntax-entry ?? "." st)
- (modify-syntax-entry ?= "." st)
- (modify-syntax-entry ?* ". 23" st)
- (modify-syntax-entry ?/ ". 14" st)
- (modify-syntax-entry ?+ "." st)
- (modify-syntax-entry ?- "." st)
- (modify-syntax-entry ?! "." st)
- (modify-syntax-entry ?~ "." st)
- (modify-syntax-entry ?% "." st)
- (modify-syntax-entry ?< "." st)
- (modify-syntax-entry ?> "." st)
- (modify-syntax-entry ?& "." st)
- (modify-syntax-entry ?| "." st)
- (modify-syntax-entry ?\" "\"" st)
- st)
- "Syntax table used while in `ld-script-mode'.")
-
-;; Font lock keywords
-(defvar ld-script-keywords
- '("ENTRY" "INCLUDE" "INPUT" "GROUP"
- "OUTPUT" "SEARCH_DIR" "STARTUP"
- "OUTPUT_FORMAT" "TARGET"
- "ASSERT" "EXTERN" "FORCE_COMMON_ALLOCATION" "NOCROSSREFS" "OUTPUT_ARCH"
- "PROVIDE"
- "SECTIONS" "SORT" "COMMON" "KEEP"
- "BYTE" "SHORT" "LONG" "QUAD" "SQAD"
- "FILL"
- "CREATE_OBJECT_SYMBOLS"
- "CONSTRUCTORS"
- "NOLOAD" "DSECT" "COPY" "INFO" "OVERLAY"
- "AT"
- "MEMORY"
- "PHDRS" "FILEHDR" "FLAGS"
- "PT_NULL" "PT_LOAD" "PT_DYNAMIC" "PT_INTERP" "PT_NONE" "PT_SHLIB" "PT_PHDR"
- "VERSION")
- "Keywords used of GNU ld script.")
-
-(defvar ld-script-builtins
- '("ABSOLUTE"
- "ADDR"
- "ALIGN"
- "BLOCK"
- "DEFINED"
- "LOADADDR"
- "MAX"
- "MIN"
- "NEXT"
- "SIZEOF"
- "SIZEOF_HEADERS"
- "sizeof_headers")
- "Builtin functions of GNU ld script.")
-
-(defvar ld-script-font-lock-keywords
- `((,(regexp-opt ld-script-keywords 'words)
- 1 font-lock-keyword-face)
- (,(regexp-opt ld-script-builtins 'words)
- 1 font-lock-builtin-face)
- ("/DISCARD/" . font-lock-warning-face)
- ("##\\|#[^#\n]+$" . font-lock-preprocessor-face)
- ("\\W\\(\\.\\)\\W" 1 ld-script-location-counter-face)
- )
- "Default font-lock-keywords for `ld-script mode'.")
-
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.lds" . ld-script-mode))
-
-;;;###autoload
-(define-derived-mode ld-script-mode nil "LD-Script"
- "A major mode to edit GNU ld script files"
- (set (make-local-variable 'comment-start) "/* ")
- (set (make-local-variable 'comment-end) " */")
- (set (make-local-variable 'indent-line-function) #'indent-relative)
- (set (make-local-variable 'font-lock-defaults) '(ld-script-font-lock-keywords nil)))
-
-;;; arch-tag: 83280b6b-e6fc-4d00-a630-922d7aec5593
-;;; ld-script.el ends here
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el
index bd6fac5c639..56a28b437b7 100644
--- a/lisp/progmodes/m4-mode.el
+++ b/lisp/progmodes/m4-mode.el
@@ -171,5 +171,4 @@
;;; "m4_syscmd" "m4_sysval" "m4_traceoff" "m4_traceon" "m4_translit"
;;; "m4_m4_undefine" "m4_undivert"))
-;;; arch-tag: 87811d86-94c1-474b-9666-587f6da74af1
;;; m4-mode.el ends here
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index ae977b1e52e..f44bca814cc 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -1552,5 +1552,4 @@ If it isn't in one, return nil."
(provide 'make-mode)
-;;; arch-tag: bd23545a-de91-44fb-b1b2-feafbb2635a0
;;; make-mode.el ends here
diff --git a/lisp/progmodes/mantemp.el b/lisp/progmodes/mantemp.el
index 371fb3972f5..9b8fa4a6ea3 100644
--- a/lisp/progmodes/mantemp.el
+++ b/lisp/progmodes/mantemp.el
@@ -203,5 +203,4 @@ but operates on the region."
(provide 'mantemp)
-;;; arch-tag: 49794712-3b1b-4baa-9785-39556cb52c94
;;; mantemp.el ends here
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el
index 7bf9e935710..7e036e55dcb 100644
--- a/lisp/progmodes/meta-mode.el
+++ b/lisp/progmodes/meta-mode.el
@@ -1031,5 +1031,4 @@ Turning on MetaPost mode calls the value of the variable
(provide 'meta-mode)
(run-hooks 'meta-mode-load-hook)
-;;; arch-tag: ec2916b2-3a83-4cf7-962d-d8019370c006
;;; meta-mode.el ends here
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el
index 72a0f2e9105..5a1f7e2e80d 100644
--- a/lisp/progmodes/mixal-mode.el
+++ b/lisp/progmodes/mixal-mode.el
@@ -1310,6 +1310,4 @@ The converted character representation is stored in rAX."
(add-to-list 'auto-mode-alist '("\\.mixal\\'" . mixal-mode))
(provide 'mixal-mode)
-
-;;; arch-tag: be7c128a-bf61-4951-a90e-9398267ce3f3
;;; mixal-mode.el ends here
diff --git a/lisp/progmodes/modula2.el b/lisp/progmodes/modula2.el
index 2501f2d362e..81e5653275f 100644
--- a/lisp/progmodes/modula2.el
+++ b/lisp/progmodes/modula2.el
@@ -563,5 +563,4 @@ FROM SysStreams IMPORT sysIn, sysOut, sysErr;
(provide 'modula2)
-;;; arch-tag: a21df1cb-5ece-4709-9219-1e7cd2d85d90
;;; modula2.el ends here
diff --git a/lisp/progmodes/octave-hlp.el b/lisp/progmodes/octave-hlp.el
index dce561e8413..9291392b41d 100644
--- a/lisp/progmodes/octave-hlp.el
+++ b/lisp/progmodes/octave-hlp.el
@@ -134,5 +134,4 @@ The files specified by `octave-help-files' are searched."
(provide 'octave-hlp)
-;;; arch-tag: df5ef8fa-76c9-44e5-9835-cb5a502c6282
;;; octave-hlp.el ends here
diff --git a/lisp/progmodes/octave-inf.el b/lisp/progmodes/octave-inf.el
index c09f99a4547..bedc1a86aa8 100644
--- a/lisp/progmodes/octave-inf.el
+++ b/lisp/progmodes/octave-inf.el
@@ -382,5 +382,4 @@ directory and makes this the current buffer's default directory."
(provide 'octave-inf)
-;;; arch-tag: bdce0395-24d1-4bb4-bfba-6fb1eeb1a660
;;; octave-inf.el ends here
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el
index 6cd6b03bc01..23a0cda0355 100644
--- a/lisp/progmodes/octave-mod.el
+++ b/lisp/progmodes/octave-mod.el
@@ -1535,5 +1535,4 @@ code line."
(provide 'octave-mod)
-;;; arch-tag: 05f1ce09-be87-4c00-803e-4919ffa26c23
;;; octave-mod.el ends here
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 6292fd36a67..debe52ed6f3 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1627,5 +1627,4 @@ Pascal Outline mode provides some additional commands.
(provide 'pascal)
-;;; arch-tag: 04535136-fd93-40b4-a505-c9bebdc051f5
;;; pascal.el ends here
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 6dc4eaeb569..7017ac0d299 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -929,5 +929,4 @@ With argument, repeat that many times; negative args move backward."
(provide 'perl-mode)
-;;; arch-tag: 8c7ff68d-15f3-46a2-ade2-b7c41f176826
;;; perl-mode.el ends here
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index 48ed5a9512f..6cb571b73e9 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -304,5 +304,4 @@ If COMPILE (prefix arg) is not nil, use compile mode rather than consult mode."
(provide 'prolog)
-;;; arch-tag: f3ec6748-1272-4ab6-8826-c50cb1607636
;;; prolog.el ends here
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index b3495c74491..c6edddc3a46 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -1190,5 +1190,4 @@ Use line numbers if `ps-run-error-line-numbers' is not nil"
(provide 'ps-mode)
-;;; arch-tag: dce13d2d-69fb-4ec4-9d5d-6dd29c3f0e6e
;;; ps-mode.el ends here
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index 8f20438d058..588bab138e8 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -558,5 +558,4 @@ that variable's value is a string."
(provide 'scheme)
-;;; arch-tag: a8f06bc1-ad11-42d2-9e36-ce651df37a90
;;; scheme.el ends here
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 28bc2eaf3e0..341a0d179e7 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -562,9 +562,8 @@ documents - you must insert literal tabs by hand.")
;; but it *did* have an asterisk in the docstring!
(defcustom sh-builtins
'((bash eval sh-append posix
- "." "alias" "bg" "bind" "builtin" "compgen" "complete"
- "declare" "dirs" "disown" "enable" "fc" "fg" "help" "history"
- "jobs" "kill" "let" "local" "popd" "printf" "pushd" "source"
+ "alias" "bg" "bind" "builtin" "declare" "dirs" "enable" "fc" "fg"
+ "help" "history" "jobs" "kill" "let" "local" "popd" "pushd" "source"
"suspend" "typeset" "unalias")
;; The next entry is only used for defining the others
@@ -635,10 +634,7 @@ implemented as aliases. See `sh-feature'."
(defcustom sh-leading-keywords
- '((bash eval sh-append sh
- "time")
-
- (csh "else")
+ '((csh "else")
(es "true" "unwind-protect" "whatis")
@@ -699,20 +695,14 @@ See `sh-feature'."
(defvar sh-variables
'((bash eval sh-append sh
- "allow_null_glob_expansion" "auto_resume" "BASH" "BASH_ENV"
- "BASH_VERSINFO" "BASH_VERSION" "cdable_vars" "COMP_CWORD"
- "COMP_LINE" "COMP_POINT" "COMP_WORDS" "COMPREPLY" "DIRSTACK"
- "ENV" "EUID" "FCEDIT" "FIGNORE" "FUNCNAME"
- "glob_dot_filenames" "GLOBIGNORE" "GROUPS" "histchars"
- "HISTCMD" "HISTCONTROL" "HISTFILE" "HISTFILESIZE"
- "HISTIGNORE" "history_control" "HISTSIZE"
- "hostname_completion_file" "HOSTFILE" "HOSTTYPE" "IGNOREEOF"
- "ignoreeof" "INPUTRC" "LINENO" "MACHTYPE" "MAIL_WARNING"
- "noclobber" "nolinks" "notify" "no_exit_on_failed_exec"
- "NO_PROMPT_VARS" "OLDPWD" "OPTERR" "OSTYPE" "PIPESTATUS"
- "PPID" "POSIXLY_CORRECT" "PROMPT_COMMAND" "PS3" "PS4"
- "pushd_silent" "PWD" "RANDOM" "REPLY" "SECONDS" "SHELLOPTS"
- "SHLVL" "TIMEFORMAT" "TMOUT" "UID")
+ "allow_null_glob_expansion" "auto_resume" "BASH" "BASH_VERSION"
+ "cdable_vars" "ENV" "EUID" "FCEDIT" "FIGNORE" "glob_dot_filenames"
+ "histchars" "HISTFILE" "HISTFILESIZE" "history_control" "HISTSIZE"
+ "hostname_completion_file" "HOSTTYPE" "IGNOREEOF" "ignoreeof"
+ "LINENO" "MAIL_WARNING" "noclobber" "nolinks" "notify"
+ "no_exit_on_failed_exec" "NO_PROMPT_VARS" "OLDPWD" "OPTERR" "PPID"
+ "PROMPT_COMMAND" "PS4" "pushd_silent" "PWD" "RANDOM" "REPLY"
+ "SECONDS" "SHLVL" "TMOUT" "UID")
(csh eval sh-append shell
"argv" "cdpath" "child" "echo" "histchars" "history" "home"
@@ -808,8 +798,7 @@ See `sh-feature'.")
;; The next entry is only used for defining the others
(shell eval sh-append executable-font-lock-keywords
- ;; Using font-lock-string-face here confuses sh-get-indent-info.
- '("\\\\[^A-Za-z0-9]" 0 font-lock-warning-face)
+ '("\\\\[^A-Za-z0-9]" 0 font-lock-string-face)
'("\\${?\\([A-Za-z_][A-Za-z0-9_]*\\|[0-9]+\\|[$*_]\\)" 1
font-lock-variable-name-face))
(rpm eval sh-append rpm2
@@ -3214,7 +3203,7 @@ t means to return a list of all possible completions of STRING.
process-environment)
sh-shell-variables))))
(case code
- ((nil) (try-completion string sh-shell-variables predicate))
+ (nil (try-completion string sh-shell-variables predicate))
(lambda (test-completion string sh-shell-variables predicate))
(t (all-completions string sh-shell-variables predicate)))))
@@ -3544,5 +3533,4 @@ The document is bounded by `sh-here-document-word'."
(provide 'sh-script)
-;;; arch-tag: eccd8b72-f337-4fc2-ae86-18155a69d937
;;; sh-script.el ends here
diff --git a/lisp/progmodes/simula.el b/lisp/progmodes/simula.el
index a27f91e8595..74dafc3faf6 100644
--- a/lisp/progmodes/simula.el
+++ b/lisp/progmodes/simula.el
@@ -1656,5 +1656,4 @@ If not nil and not t, move to limit of search and return nil."
(provide 'simula)
-;;; arch-tag: 488c1bb0-eebf-4f06-93df-1df603f06255
;;; simula.el ends here
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index e8a5f316ae3..4be9ec903f6 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -1,10 +1,10 @@
;;; sql.el --- specialized comint.el for SQL interpreters
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Alex Schroeder <alex@gnu.org>
-;; Version: 1.8.0
+;; Version: 1.7.0
;; Keywords: comm languages processes
;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode
@@ -78,107 +78,14 @@
;;; Bugs:
-;; sql-ms now uses osql instead of isql. Osql flushes its error
-;; stream more frequently than isql so that error messages are
-;; available. There is no prompt and some output still is buffered.
-;; This improves the interaction under Emacs but it still is somewhat
-;; awkward.
-
-;; Quoted identifiers are not supported for hilighting. Most
-;; databases support the use of double quoted strings in place of
-;; identifiers; ms (Microsoft SQLServer) also supports identifiers
-;; enclosed within brackets [].
+;; Using sql-ms (isql by Microsoft): When commands with syntax errors
+;; or execution errors are executed, there is no server feedback.
+;; This happens in stored procedures for example. The server messages
+;; only appear after the process is exited. This makes things
+;; somewhat unreliable.
;; ChangeLog available on request.
-;;; Product Support:
-
-;; To add support for additional SQL products the following steps
-;; must be followed ("xyz" is the name of the product in the examples
-;; below):
-
-;; 1) Add the product to `sql-product' choice list.
-
-;; (const :tag "XyzDB" xyz)
-
-;; 2) Add an entry to the `sql-product-support' list.
-
-;; (xyz
-;; :font-lock sql-mode-xyz-font-lock-keywords
-;; :sqli-login (user password server database)
-;; :sqli-connect sql-connect-xyz
-;; :sqli-prompt-regexp "^xyzdb> "
-;; :sqli-prompt-length 7
-;; :sqli-input-sender nil
-;; :syntax-alist ((?# . "w")))
-
-;; 3) Add customizable values for the product interpreter and options.
-
-;; ;; Customization for XyzDB
-;;
-;; (defcustom sql-xyz-program "ixyz"
-;; "*Command to start ixyz by XyzDB."
-;; :type 'file
-;; :group 'SQL)
-;;
-;; (defcustom sql-xyz-options '("-X" "-Y" "-Z")
-;; "*List of additional options for `sql-xyz-program'."
-;; :type '(repeat string)
-;; :group 'SQL)
-
-;; 4) Add an entry to SQL->Product submenu.
-
-;; ["XyzDB" sql-highlight-xyz-keywords
-;; :style radio
-;; :selected (eq sql-product 'xyz)]
-
-;; 5) Add the font-lock specifications. At a minimum, default to
-;; using ANSI keywords. See sql-mode-oracle-font-lock-keywords for
-;; a more complex example.
-
-;; (defvar sql-mode-xyz-font-lock-keywords sql-mode-ansi-font-lock-keywords
-;; "XyzDB SQL keywords used by font-lock.")
-
-;; 6) Add a product highlighting function.
-
-;; (defun sql-highlight-xyz-keywords ()
-;; "Highlight XyzDB keywords."
-;; (interactive)
-;; (sql-set-product 'xyz))
-
-;; 7) Add an autoloaded SQLi function.
-
-;; ;;;###autoload
-;; (defun sql-xyz ()
-;; "Run ixyz by XyzDB as an inferior process."
-;; (interactive)
-;; (sql-product-interactive 'xyz))
-
-;; 8) Add a connect function which formats the command line arguments
-;; and starts the product interpreter in a comint buffer. See the
-;; existing connect functions for examples of the types of
-;; processing available.
-
-;; (defun sql-connect-xyz ()
-;; "Create comint buffer and connect to XyzDB using the login
-;; parameters and command options."
-;;
-;; ;; Do something with `sql-user', `sql-password',
-;; ;; `sql-database', and `sql-server'.
-;; (let ((params sql-xyz-options))
-;; (if (not (string= "" sql-server))
-;; (setq params (append (list "-S" sql-server) params)))
-;; (if (not (string= "" sql-database))
-;; (setq params (append (list "-D" sql-database) params)))
-;; (if (not (string= "" sql-password))
-;; (setq params (append (list "-P" sql-password) params)))
-;; (if (not (string= "" sql-user))
-;; (setq params (append (list "-U" sql-user) params)))
-;; (set-buffer (apply 'make-comint "SQL" sql-xyz-program
-;; nil params))))
-
-;; 9) Save and compile sql.el.
-
;;; To Do:
;; Add better hilight support for other brands; there is a bias towards
@@ -198,7 +105,6 @@
;; Gregor Zych <zych@pool.informatik.rwth-aachen.de>
;; nino <nino@inform.dk>
;; Berend de Boer <berend@pobox.com>
-;; Michael Mauger <mmaug@yahoo.com>
@@ -206,8 +112,7 @@
(require 'comint)
;; Need the following to allow GNU Emacs 19 to compile the file.
-(eval-when-compile
- (require 'regexp-opt))
+(require 'regexp-opt)
(require 'custom)
;;; Allow customization
@@ -217,7 +122,7 @@
:version "20.4"
:group 'processes)
-;; These four variables will be used as defaults, if set.
+;; These three variables will be used as defaults, if set.
(defcustom sql-user ""
"*Default username."
@@ -242,145 +147,6 @@ Customizing your password will store it in your ~/.emacs file."
:type 'string
:group 'SQL)
-;; SQL Product support
-(defcustom sql-product 'ansi
- "*Select the SQL database product used so that buffers can be
-highlighted properly when you open them."
- :type '(choice (const :tag "ANSI" ansi)
- (const :tag "DB2" db2)
- (const :tag "Informix" informix)
- (const :tag "Ingres" ingres)
- (const :tag "Interbase" interbase)
- (const :tag "Linter" linter)
- (const :tag "Microsoft" ms)
- (const :tag "MySQL" mysql)
- (const :tag "Oracle" oracle)
- (const :tag "PostGres" postgres)
- (const :tag "Solid" solid)
- (const :tag "SQLite" sqlite)
- (const :tag "Sybase" sybase))
- :group 'SQL)
-
-(defvar sql-interactive-product nil
- "Product under `sql-interactive-mode'.")
-
-(defvar sql-product-support
- '((ansi
- :font-lock sql-mode-ansi-font-lock-keywords)
- (db2
- :font-lock sql-mode-db2-font-lock-keywords
- :sqli-login nil
- :sqli-connect sql-connect-db2
- :sqli-prompt-regexp "^db2 => "
- :sqli-prompt-length 7)
- (informix
- :font-lock sql-mode-informix-font-lock-keywords
- :sqli-login (database)
- :sqli-connect sql-connect-informix
- :sqli-prompt-regexp "^SQL> "
- :sqli-prompt-length 5)
- (ingres
- :font-lock sql-mode-ingres-font-lock-keywords
- :sqli-login (database)
- :sqli-connect sql-connect-ingres
- :sqli-prompt-regexp "^\* "
- :sqli-prompt-length 2)
- (interbase
- :font-lock sql-mode-interbase-font-lock-keywords
- :sqli-login (user password database)
- :sqli-connect sql-connect-interbase
- :sqli-prompt-regexp "^SQL> "
- :sqli-prompt-length 5)
- (linter
- :font-lock sql-mode-linter-font-lock-keywords
- :sqli-login (user password database server)
- :sqli-connect sql-connect-linter
- :sqli-prompt-regexp "^SQL>"
- :sqli-prompt-length 4)
- (ms
- :font-lock sql-mode-ms-font-lock-keywords
- :sqli-login (user password server database)
- :sqli-connect sql-connect-ms
- :sqli-prompt-regexp "^[0-9]*>"
- :sqli-prompt-length 5
- :syntax-alist ((?@ . "w")))
- (mysql
- :font-lock sql-mode-mysql-font-lock-keywords
- :sqli-login (user password database server)
- :sqli-connect sql-connect-mysql
- :sqli-prompt-regexp "^mysql> "
- :sqli-prompt-length 6)
- (oracle
- :font-lock sql-mode-oracle-font-lock-keywords
- :sqli-login (user password database)
- :sqli-connect sql-connect-oracle
- :sqli-prompt-regexp "^SQL> "
- :sqli-prompt-length 5
- :syntax-alist ((?$ . "w") (?# . "w")))
- (postgres
- :font-lock sql-mode-postgres-font-lock-keywords
- :sqli-login (database server)
- :sqli-connect sql-connect-postgres
- :sqli-prompt-regexp "^.*> *"
- :sqli-prompt-length 5)
- (solid
- :font-lock sql-mode-solid-font-lock-keywords
- :sqli-login (user password server)
- :sqli-connect sql-connect-solid
- :sqli-prompt-regexp "^"
- :sqli-prompt-length 0)
- (sqlite
- :font-lock sql-mode-sqlite-font-lock-keywords
- :sqli-login (user password server database)
- :sqli-connect sql-connect-sqlite
- :sqli-prompt-regexp "^sqlite> "
- :sqli-prompt-length 8)
- (sybase
- :font-lock sql-mode-sybase-font-lock-keywords
- :sqli-login (server user password database)
- :sqli-connect sql-connect-sybase
- :sqli-prompt-regexp "^SQL> "
- :sqli-prompt-length 5
- :syntax-alist ((?@ . "w")))
- )
- "This variable contains a list of product features for each of the
-SQL products handled by `sql-mode'. Without an entry in this list a
-product will not be properly highlighted and will not support
-`sql-interactive-mode'.
-
-Each element in the list is in the following format:
-
- \(PRODUCT FEATURE VALUE ...)
-
-where PRODUCT is the appropriate value of `sql-product'. The product
-name is then followed by FEATURE-VALUE pairs. If a FEATURE is not
-specified, its VALUE is treated as nil. FEATURE must be one of the
-following:
-
- :font-lock name of the variable containing the product
- specific font lock highlighting patterns.
-
- :sqli-login a list of login parameters (i.e., user,
- password, database and server) needed to
- connect to the database.
-
- :sqli-connect the name of a function which accepts no
- parameters that will use the values of
- `sql-user', `sql-password',
- `sql-database' and `sql-server' to open a
- comint buffer and connect to the
- database. Do product specific
- configuration of comint in this function.
-
- :sqli-prompt-regexp a regular expression string that matches the
- prompt issued by the product interpreter.
-
- :sqli-prompt-length the length of the prompt on the line.
-
- :syntax-alist an alist of syntax table entries to enable
- special character treatment by font-lock and
- imenu. ")
-
;; misc customization of sql.el behaviour
(defcustom sql-electric-stuff nil
@@ -411,15 +177,8 @@ buffer is shown using `display-buffer'."
;; imenu support for sql-mode.
(defvar sql-imenu-generic-expression
- ;; Items are in reverse order because they are rendered in reverse.
- '(("Rules/Defaults" "^\\s-*create\\s-+\\(rule\\|default\\)\\s-+\\(\\w+\\)" 2)
- ("Sequences" "^\\s-*create\\s-+sequence\\s-+\\(\\w+\\)" 1)
- ("Triggers" "^\\s-*\\(create\\s-+\\(or\\s-+replace\\s-+\\)?\\)?trigger\\s-+\\(\\w+\\)" 3)
- ("Functions" "^\\s-*\\(create\\s-+\\(or\\s-+replace\\s-+\\)?\\)?function\\s-+\\(\\w+\\)" 3)
- ("Procedures" "^\\s-*\\(create\\s-+\\(or\\s-+replace\\s-+\\)?\\)?proc\\(edure\\)?\\s-+\\(\\w+\\)" 4)
- ("Packages" "^\\s-*create\\s-+\\(or\\s-+replace\\s-+\\)?package\\s-+\\(body\\s-+\\)?\\(\\w+\\)" 3)
- ("Indexes" "^\\s-*create\\s-+index\\s-+\\(\\w+\\)" 1)
- ("Tables/Views" "^\\s-*create\\s-+\\(\\(global\\s-+\\)?\\(temporary\\s-+\\)?table\\|view\\)\\s-+\\(\\w+\\)" 4))
+ '(("Tables" "^\\s-*create\\s-+table\\s-+\\(\\w+\\)" 1)
+ ("Indexes" "^\\s-*create\\s-+index\\s-+\\(\\w+\\)" 1))
"Define interesting points in the SQL buffer for `imenu'.
This is used to set `imenu-generic-expression' when SQL mode is
@@ -515,7 +274,7 @@ The program can also specify a TCP connection. See `make-comint'."
:group 'SQL)
(defcustom sql-sqlite-options nil
- "*List of additional options for `sql-sqlite-program'.
+ "*List of additional options for `sql-mysql-program'.
The following list of options is reported to make things work
on Windows: \"-C\" \"-t\" \"-f\" \"-n\"."
:type '(repeat string)
@@ -594,8 +353,8 @@ The program can also specify a TCP connection. See `make-comint'."
;; Customization for Microsoft
-(defcustom sql-ms-program "osql"
- "*Command to start osql by Microsoft.
+(defcustom sql-ms-program "isql"
+ "*Command to start isql by Microsoft.
Starts `sql-interactive-mode' after doing some setup.
@@ -709,12 +468,12 @@ the local value of `sql-buffer' using \\[sql-set-sqli-buffer].")
(defvar sql-prompt-regexp nil
"Prompt used to initialize `comint-prompt-regexp'.
-You can change `sql-prompt-regexp' on `sql-interactive-mode-hook'.")
+You can change `comint-prompt-regexp' on `sql-interactive-mode-hook'.")
(defvar sql-prompt-length 0
"Prompt used to set `left-margin' in `sql-interactive-mode'.
-You can change `sql-prompt-length' on `sql-interactive-mode-hook'.")
+You can change it on `sql-interactive-mode-hook'.")
(defvar sql-alternate-buffer-name nil
"Buffer-local string used to possibly rename the SQLi buffer.
@@ -759,60 +518,22 @@ Based on `comint-mode-map'.")
(get-buffer-process sql-buffer))]
["Send Region" sql-send-region (and (or (and (boundp 'mark-active); Emacs
mark-active)
- (mark t)); XEmacs
+ (mark)); XEmacs
(buffer-live-p sql-buffer)
(get-buffer-process sql-buffer))]
["Send Buffer" sql-send-buffer (and (buffer-live-p sql-buffer)
(get-buffer-process sql-buffer))]
- ["--" nil nil]
- ["Start SQLi session" sql-product-interactive (sql-product-feature :sqli-connect)]
["Show SQLi buffer" sql-show-sqli-buffer t]
["Set SQLi buffer" sql-set-sqli-buffer t]
["Pop to SQLi buffer after send"
sql-toggle-pop-to-buffer-after-send-region
:style toggle
:selected sql-pop-to-buffer-after-send-region]
- ["--" nil nil]
- ("Product"
- ["ANSI" sql-highlight-ansi-keywords
- :style radio
- :selected (eq sql-product 'ansi)]
- ["DB2" sql-highlight-db2-keywords
- :style radio
- :selected (eq sql-product 'db2)]
- ["Informix" sql-highlight-informix-keywords
- :style radio
- :selected (eq sql-product 'informix)]
- ["Ingres" sql-highlight-ingres-keywords
- :style radio
- :selected (eq sql-product 'ingres)]
- ["Interbase" sql-highlight-interbase-keywords
- :style radio
- :selected (eq sql-product 'interbase)]
- ["Linter" sql-highlight-linter-keywords
- :style radio
- :selected (eq sql-product 'linter)]
- ["Microsoft" sql-highlight-ms-keywords
- :style radio
- :selected (eq sql-product 'ms)]
- ["MySQL" sql-highlight-mysql-keywords
- :style radio
- :selected (eq sql-product 'mysql)]
- ["Oracle" sql-highlight-oracle-keywords
- :style radio
- :selected (eq sql-product 'oracle)]
- ["Postgres" sql-highlight-postgres-keywords
- :style radio
- :selected (eq sql-product 'postgres)]
- ["Solid" sql-highlight-solid-keywords
- :style radio
- :selected (eq sql-product 'solid)]
- ["SQLite" sql-highlight-sqlite-keywords
- :style radio
- :selected (eq sql-product 'sqlite)]
- ["Sybase" sql-highlight-sybase-keywords
- :style radio
- :selected (eq sql-product 'sybase)]
+ ("Highlighting"
+ ["ANSI SQL keywords" sql-highlight-ansi-keywords t]
+ ["Oracle keywords" sql-highlight-oracle-keywords t]
+ ["Postgres keywords" sql-highlight-postgres-keywords t]
+ ["Linter keywords" sql-highlight-linter-keywords t]
)))
;; easy menu for sql-interactive-mode.
@@ -830,22 +551,12 @@ Based on `comint-mode-map'.")
"Abbrev table used in `sql-mode' and `sql-interactive-mode'.")
(if sql-mode-abbrev-table
()
- (let ((nargs (cdr (subr-arity (symbol-function 'define-abbrev))))
- d-a)
- ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev.
- (setq d-a
- (if (>= nargs 6)
- '(lambda (name expansion) (define-abbrev sql-mode-abbrev-table name expansion nil 0 t))
- '(lambda (name expansion) (define-abbrev sql-mode-abbrev-table name expansion))))
-
- (define-abbrev-table 'sql-mode-abbrev-table nil)
- (funcall d-a "ins" "insert")
- (funcall d-a "upd" "update")
- (funcall d-a "del" "delete")
- (funcall d-a "sel" "select")
- (funcall d-a "proc" "procedure")
- (funcall d-a "func" "function")
- (funcall d-a "cr" "create")))
+ (let ((wrapper))
+ (define-abbrev-table 'sql-mode-abbrev-table ())
+ (define-abbrev sql-mode-abbrev-table "ins" "insert")
+ (define-abbrev sql-mode-abbrev-table "upd" "update")
+ (define-abbrev sql-mode-abbrev-table "del" "delete")
+ (define-abbrev sql-mode-abbrev-table "sel" "select")))
;; Syntax Table
@@ -870,253 +581,146 @@ Based on `comint-mode-map'.")
;; Font lock support
-(defvar sql-mode-font-lock-object-name
- (list (concat "^\\s-*\\(create\\(\\s-+or\\s-+replace\\)?\\|drop\\|alter\\)?\\s-+"
- "\\(\\(global\\s-+\\)?\\(temporary\\s-+\\)?table\\|view\\|package\\(\\s-+body\\)?\\|"
- "proc\\(edure\\)?\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+\\(\\w+\\)")
- 8 'font-lock-function-name-face)
-
- "Pattern to match the names of top-level objects in a CREATE,
-DROP or ALTER statement.
-
-The format of variable should be a valid `font-lock-keywords'
-entry.")
+(defvar sql-mode-ansi-font-lock-keywords nil
+ "ANSI SQL keywords used by font-lock.
-(defvar sql-mode-ansi-font-lock-keywords
+This variable is used by `sql-mode' and `sql-interactive-mode'. The
+regular expressions are created during compilation by calling the
+function `regexp-opt'. Therefore, take a look at the source before
+you define your own sql-mode-ansi-font-lock-keywords. You may want to
+add functions and PL/SQL keywords.")
+(if sql-mode-ansi-font-lock-keywords
+ ()
(let ((ansi-keywords (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"authorization" "avg" "begin" "close" "cobol" "commit"
"continue" "count" "declare" "double" "end" "escape"
"exec" "fetch" "foreign" "fortran" "found" "go" "goto" "indicator"
"key" "language" "max" "min" "module" "numeric" "open" "pascal" "pli"
"precision" "primary" "procedure" "references" "rollback"
-"schema" "section" "some" "sqlcode" "sqlerror" "sum" "work"
-
-) t) "\\b")))
+"schema" "section" "some" "sqlcode" "sqlerror" "sum" "work") t) "\\b")))
(ansi-reserved-words (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"all" "and" "any" "as" "asc" "between" "by" "check" "create"
"current" "default" "delete" "desc" "distinct" "exists" "float" "for"
"from" "grant" "group" "having" "in" "insert" "into" "is"
"like" "not" "null" "of" "on" "option" "or" "order" "privileges"
"public" "select" "set" "table" "to" "union" "unique"
-"update" "user" "values" "view" "where" "with"
-
-) t) "\\b")))
+"update" "user" "values" "view" "where" "with") t) "\\b")))
(ansi-types (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
;; ANSI Keywords that look like types
"character" "cursor" "dec" "int" "real"
;; ANSI Reserved Word that look like types
-"char" "integer" "smallint"
-
-) t) "\\b"))))
- (list (cons ansi-keywords 'font-lock-keyword-face)
+"char" "integer" "smallint" ) t) "\\b"))))
+ (setq sql-mode-ansi-font-lock-keywords
+ (list (cons ansi-keywords 'font-lock-function-name-face)
(cons ansi-reserved-words 'font-lock-keyword-face)
- (cons ansi-types 'font-lock-type-face)))
+ (cons ansi-types 'font-lock-type-face)))))
- "ANSI SQL keywords used by font-lock.
+(defvar sql-mode-oracle-font-lock-keywords nil
+ "Oracle SQL keywords used by font-lock.
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-ansi-font-lock-keywords. You may want to
-add functions and PL/SQL keywords.")
-
-(defvar sql-mode-oracle-font-lock-keywords
+you define your own sql-mode-oracle-font-lock-keywords. You may want
+to add functions and PL/SQL keywords.")
+(if sql-mode-oracle-font-lock-keywords
+ ()
(let ((oracle-keywords (eval-when-compile
(concat "\\b"
(regexp-opt '(
-;; Oracle (+ANSI) SQL keywords
-
-; ANSI keywords
-"authorization" "avg" "begin" "close" "cobol" "commit"
-"continue" "count" "declare" "double" "end" "escape"
-"exec" "fetch" "foreign" "fortran" "found" "go" "goto" "indicator"
-"key" "language" "max" "min" "module" "numeric" "open" "pascal" "pli"
-"precision" "primary" "procedure" "references" "rollback"
-"schema" "section" "some" "sqlcode" "sqlerror" "sum" "work"
-
-; ANSI reserved words
-"all" "and" "any" "as" "asc" "between" "by" "check" "create"
-"current" "default" "delete" "desc" "distinct" "exists" "float" "for"
-"from" "grant" "group" "having" "in" "insert" "into" "is"
-"like" "not" "null" "of" "on" "option" "or" "order" "privileges"
-"public" "select" "set" "table" "to" "union" "unique"
-"update" "user" "values" "view" "where" "with"
-
-"access" "add" "admin" "after" "allocate" "alter" "analyze" "archive"
-"archivelog" "audit" "authid" "backup" "become" "before" "block"
-"body" "cache" "cancel" "cascade" "change" "checkpoint" "cluster"
-"comment" "compile" "compress" "compute" "connect" "constraint"
-"constraints" "contents" "controlfile" "cross" "currval" "cycle"
-"database" "datafile" "dba" "deterministic" "disable" "dismount"
-"drop" "dump" "each" "else" "else" "elsif" "enable" "events" "except"
-"exceptions" "exclusive" "execute" "exit" "explain" "extent"
-"externally" "false" "file" "flush" "force" "freelist" "freelists"
-"full" "function" "global" "grant" "groups" "identified" "if"
-"immediate" "including" "increment" "index" "initial" "initrans"
-"inner" "instance" "intersect" "join" "layer" "left" "level" "link"
-"lists" "lock" "logfile" "long" "loop" "manage" "manual"
-"maxdatafiles" "maxextents" "maxinistances" "maxlogfiles"
-"maxloghistory" "maxlogmembers" "maxtrans" "maxvalue" "merge"
-"minextents" "minus" "minvalue" "mode" "modify" "mount" "natural"
-"new" "next" "nextval" "noarchivelog" "noaudit" "nocache" "nocompress"
-"nocycle" "nomaxvalue" "nominvalue" "none" "noorder" "noresetlogs"
-"normal" "nosort" "nowait" "off" "offline" "old" "online" "only"
-"optimal" "others" "out" "outer" "over" "own" "package" "parallel"
-"parallel_enable" "pctfree" "pctincrease" "pctused" "plan" "pragma"
-"preserve" "prior" "private" "profile" "quota" "raise" "raw" "read"
-"recover" "referencing" "rename" "replace" "resetlogs" "resource"
-"restrict_references" "restricted" "return" "returning" "reuse"
-"revoke" "right" "rnds" "rnps" "role" "roles" "row" "rowlabel"
-"rownum" "rows" "savepoint" "scn" "segment" "sequence" "session"
-"share" "shared" "size" "snapshot" "sort" "statement_id" "statistics"
-"stop" "storage" "subtype" "successful" "switch" "synonym" "sysdate"
-"system" "tables" "tablespace" "temporary" "then" "thread" "tracing"
-"transaction" "trigger" "triggers" "true" "truncate" "type" "uid"
-"under" "unlimited" "until" "use" "using" "validate" "when" "while"
-"wnds" "wnps" "write"
-
-) t) "\\b")))
+"admin" "after" "allocate" "analyze" "archive" "archivelog" "backup"
+"become" "before" "block" "body" "cache" "cancel" "cascade" "change"
+"checkpoint" "compile" "constraint" "constraints" "contents"
+"controlfile" "cycle" "database" "datafile" "dba" "disable" "dismount"
+"dump" "each" "else" "elsif" "enable" "events" "except" "exceptions"
+"execute" "exit" "explain" "extent" "externally" "false" "flush" "force"
+"freelist" "freelists" "function" "groups" "if" "including" "initrans"
+"instance" "layer" "link" "lists" "logfile" "loop" "manage" "manual"
+"maxdatafiles" "maxinistances" "maxlogfiles" "maxloghistory"
+"maxlogmembers" "maxtrans" "maxvalue" "minextents" "minvalue" "mount"
+"new" "next" "noarchivelog" "nocache" "nocycle" "nomaxvalue"
+"nominvalue" "none" "noorder" "noresetlogs" "normal" "nosort" "off"
+"old" "only" "optimal" "others" "out" "own" "package" "parallel"
+"pctincrease" "pctused" "plan" "pragma" "private" "profile" "quota"
+"raise" "read" "recover" "referencing" "resetlogs" "restrict_references"
+"restricted" "return" "returning" "reuse" "rnds" "rnps" "role" "roles"
+"savepoint" "scn" "segment" "sequence" "shared" "snapshot" "sort"
+"statement_id" "statistics" "stop" "storage" "subtype" "switch" "system"
+"tables" "tablespace" "temporary" "thread" "time" "tracing"
+"transaction" "triggers" "true" "truncate" "type" "under" "unlimited"
+"until" "use" "using" "when" "while" "wnds" "wnps" "write") t) "\\b")))
(oracle-warning-words (eval-when-compile
(concat "\\b"
(regexp-opt '(
-;; PLSQL defined exceptions
-
-"access_into_null" "case_not_found" "collection_is_null"
-"cursor_already_open" "dup_val_on_index" "invalid_cursor"
+"cursor_already_open" "dup_val_on_index" "exception" "invalid_cursor"
"invalid_number" "login_denied" "no_data_found" "not_logged_on"
-"program_error" "rowtype_mismatch" "self_is_null" "storage_error"
-"subscript_beyond_count" "subscript_outside_limit" "sys_invalid_rowid"
-"timeout_on_resource" "too_many_rows" "value_error" "zero_divide"
-"exception" "notfound"
-
-) t) "\\b")))
-
- (oracle-sqlplus-commands
- (eval-when-compile
- (concat "^\\(\\("
+"notfound" "others" "pragma" "program_error" "storage_error"
+"timeout_on_resource" "too_many_rows" "transaction_backed_out"
+"value_error" "zero_divide") t) "\\b")))
+ (oracle-reserved-words (eval-when-compile
+ (concat "\\b"
(regexp-opt '(
-;; SQL*Plus commands
-
-"@" "@@" "accept" "append" "archive" "attribute" "break"
-"btitle" "change" "clear" "column" "connect" "copy" "define"
-"del" "describe" "disconnect" "edit" "execute" "exit" "get" "help"
-"host" "input" "list" "password" "pause" "print" "prompt" "recover"
-"remark" "repfooter" "repheader" "run" "save" "show" "shutdown"
-"spool" "start" "startup" "store" "timing" "ttitle" "undefine"
-"variable" "whenever"
-
-) t)
-
- "\\)\\|"
- "\\(compute\\s-+\\(avg\\|cou\\|min\\|max\\|num\\|sum\\|std\\|var\\)\\)\\|"
- "\\(set\\s-+\\(appi\\(nfo\\)?\\|array\\(size\\)?\\|"
- "auto\\(commit\\)?\\|autop\\(rint\\)?\\|autorecovery\\|"
- "autot\\(race\\)?\\|blo\\(ckterminator\\)?\\|cmds\\(ep\\)?\\|"
- "colsep\\|com\\(patibility\\)?\\|con\\(cat\\)?\\|"
- "copyc\\(ommit\\)?\\|copytypecheck\\|def\\(ine\\)?\\|"
- "describe\\|echo\\|editf\\(ile\\)?\\|emb\\(edded\\)?\\|"
- "esc\\(ape\\)?\\|feed\\(back\\)?\\|flagger\\|"
- "flu\\(sh\\)?\\|hea\\(ding\\)?\\|heads\\(ep\\)?\\|"
- "instance\\|lin\\(esize\\)?\\|lobof\\(fset\\)?\\|"
- "logsource\\|long\\|longc\\(hunksize\\)?\\|mark\\(up\\)?\\|"
- "newp\\(age\\)?\\|null\\|numf\\(ormat\\)?\\|"
- "num\\(width\\)?\\|pages\\(ize\\)?\\|pau\\(se\\)?\\|"
- "recsep\\|recsepchar\\|serverout\\(put\\)?\\|"
- "shift\\(inout\\)?\\|show\\(mode\\)?\\|"
- "sqlbl\\(anklines\\)?\\|sqlc\\(ase\\)?\\|"
- "sqlco\\(ntinue\\)?\\|sqln\\(umber\\)?\\|"
- "sqlpluscompat\\(ibility\\)?\\|sqlpre\\(fix\\)?\\|"
- "sqlp\\(rompt\\)?\\|sqlt\\(erminator\\)?\\|"
- "suf\\(fix\\)?\\|tab\\|term\\(out\\)?\\|ti\\(me\\)?\\|"
- "timi\\(ng\\)?\\|trim\\(out\\)?\\|trims\\(pool\\)?\\|"
- "und\\(erline\\)?\\|ver\\(ify\\)?\\|wra\\(p\\)?\\)\\)\\)"
- "\\b.*$"
- )))
-
- (oracle-types
- (eval-when-compile
+"access" "add" "alter" "audit" "cluster" "column" "comment" "compress"
+"connect" "drop" "else" "exclusive" "file" "grant"
+"identified" "immediate" "increment" "index" "initial" "intersect"
+"level" "lock" "long" "maxextents" "minus" "mode" "modify" "noaudit"
+"nocompress" "nowait" "number" "offline" "online" "pctfree" "prior"
+"raw" "rename" "resource" "revoke" "row" "rowlabel" "rownum"
+"rows" "session" "share" "size" "start" "successful" "synonym" "sysdate"
+"then" "trigger" "uid" "validate" "whenever") t) "\\b")))
+ (oracle-types (eval-when-compile
(concat "\\b"
(regexp-opt '(
;; Oracle Keywords that look like types
;; Oracle Reserved Words that look like types
-
-"bfile" "binary_integer" "blob" "boolean" "byte" "char" "character"
-"clob" "date" "day" "dec" "decimal" "double" "float" "int" "integer"
-"interval" "local" "long" "month" "natural" "naturaln" "nchar" "nclob"
-"number" "numeric" "nvarchar2" "pls_integer" "positive" "positiven"
-"precision" "raw" "real" "rowid" "second" "signtype" "smallint"
-"string" "time" "timestamp" "urowid" "varchar" "varchar2" "year"
-"zone"
-
-) t) "\\b")))
+"binary_integer" "blob" "boolean" "constant" "date" "decimal" "rowid"
+"varchar" "varchar2") t) "\\b")))
(oracle-builtin-functions (eval-when-compile
(concat "\\b"
(regexp-opt '(
;; Misc Oracle builtin functions
-
-"abs" "acos" "add_months" "ascii" "asciistr" "asin" "atan" "atan2"
-"avg" "bfilename" "bin_to_num" "bitand" "case" "cast" "ceil"
-"chartorowid" "chr" "coalesce" "compose" "concat" "convert" "corr"
-"cos" "cosh" "count" "covar_pop" "covar_samp" "cume_dist"
-"current_date" "current_timestamp" "current_user" "dbtimezone"
-"decode" "decompose" "dense_rank" "depth" "deref" "dump" "empty_blob"
-"empty_clob" "existsnode" "exp" "extract" "extractvalue" "first"
-"first_value" "floor" "from_tz" "greatest" "group_id" "grouping"
-"grouping_id" "hextoraw" "initcap" "instr" "lag" "last" "last_day"
-"last_value" "lead" "least" "length" "ln" "localtimestamp" "log"
-"lower" "lpad" "ltrim" "make_ref" "max" "min" "mod" "months_between"
-"nchr" "new_time" "next_day" "nls_charset_decl_len" "nls_charset_id"
-"nls_charset_name" "nls_initcap" "nls_lower" "nlssort" "nls_upper"
-"ntile" "nullif" "numtodsinterval" "numtoyminterval" "nvl" "nvl2"
-"path" "percent_rank" "percentile_cont" "percentile_disc" "power"
-"rank" "ratio_to_report" "rawtohex" "rawtonhex" "ref" "reftohex"
-"regr_slope" "regr_intercept" "regr_count" "regr_r2" "regr_avgx"
-"regr_avgy" "regr_sxx" "regr_syy" "regr_sxy" "round"
-"row_number" "rowidtochar" "rowidtonchar" "rpad" "rtrim"
-"sessiontimezone" "sign" "sin" "sinh" "soundex" "sqrt" "stddev"
-"stddev_pop" "stddev_samp" "substr" "sum" "sys_connect_by_path"
-"sys_context" "sys_dburigen" "sys_extract_utc" "sys_guid" "sys_typeid"
-"sys_xmlagg" "sys_xmlgen" "sysdate" "systimestamp" "tan" "tanh"
-"to_char" "to_clob" "to_date" "to_dsinterval" "to_lob" "to_multi_byte"
-"to_nchar" "to_nclob" "to_number" "to_single_byte" "to_timestamp"
-"to_timestamp_tz" "to_yminterval" "translate" "treat" "trim" "trunc"
-"tz_offset" "uid" "unistr" "updatexml" "upper" "user" "userenv"
-"value" "var_pop" "var_samp" "variance" "vsize" "width_bucket"
-"xmlagg" "xmlcolattval" "xmlconcat" "xmlelement" "xmlforest"
-"xmlsequence" "xmltransform"
-
-) t) "\\b"))))
- (list (cons oracle-sqlplus-commands 'font-lock-doc-face)
- (cons oracle-keywords 'font-lock-keyword-face)
+"abs" "add_months" "ascii" "avg" "ceil" "chartorowid" "chr" "concat"
+"convert" "cos" "cosh" "count" "currval" "decode" "dump" "exp" "floor"
+"glb" "greatest" "greatest_lb" "hextoraw" "initcap" "instr" "instrb"
+"last_day" "least" "least_ub" "length" "lengthb" "ln" "log" "lower"
+"lpad" "ltrim" "lub" "max" "min" "mod" "months_between" "new_time"
+"next_day" "nextval" "nls_initcap" "nls_lower" "nls_upper" "nlssort"
+"nvl" "power" "rawtohex" "replace" "round" "rowidtochar" "rpad"
+"rtrim" "sign" "sin" "sinh" "soundex" "sqlcode" "sqlerrm" "sqrt"
+"stddev" "sum" "substr" "substrb" "tan" "tanh" "to_char"
+"to_date" "to_label" "to_multi_byte" "to_number" "to_single_byte"
+"translate" "trim" "trunc" "uid" "upper" "userenv" "variance" "vsize") t) "\\b"))))
+ (setq sql-mode-oracle-font-lock-keywords
+ (append sql-mode-ansi-font-lock-keywords
+ (list (cons oracle-keywords 'font-lock-function-name-face)
(cons oracle-warning-words 'font-lock-warning-face)
+ (cons oracle-reserved-words 'font-lock-keyword-face)
;; XEmacs doesn't have font-lock-builtin-face
(if (string-match "XEmacs\\|Lucid" emacs-version)
(cons oracle-builtin-functions 'font-lock-preprocessor-face)
;; GNU Emacs 19 doesn't have it either
(if (string-match "GNU Emacs 19" emacs-version)
- (cons oracle-builtin-functions 'font-lock-keyword-face)
+ (cons oracle-builtin-functions 'font-lock-function-name-face)
;; Emacs
(cons oracle-builtin-functions 'font-lock-builtin-face)))
- (cons oracle-types 'font-lock-type-face)))
+ (cons oracle-types 'font-lock-type-face))))))
- "Oracle SQL keywords used by font-lock.
+(defvar sql-mode-postgres-font-lock-keywords nil
+ "Postgres SQL keywords used by font-lock.
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-oracle-font-lock-keywords. You may want
-to add functions and PL/SQL keywords.")
+you define your own sql-mode-postgres-font-lock-keywords.")
-(defvar sql-mode-postgres-font-lock-keywords
+(if sql-mode-postgres-font-lock-keywords
+ ()
(let ((postgres-reserved-words (eval-when-compile
(concat "\\b"
(regexp-opt '(
@@ -1125,17 +729,14 @@ to add functions and PL/SQL keywords.")
(postgres-types (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"bool" "box" "circle" "char" "char2" "char4" "char8" "char16" "date"
"float4" "float8" "int2" "int4" "int8" "line" "lseg" "money" "path"
"point" "polygon" "serial" "text" "time" "timespan" "timestamp" "varchar"
-
) t)"\\b")))
(postgres-builtin-functions (eval-when-compile
(concat "\\b"
(regexp-opt '(
;; Misc Postgres builtin functions
-
"abstime" "age" "area" "box" "center" "date_part" "date_trunc"
"datetime" "dexp" "diameter" "dpow" "float" "float4" "height"
"initcap" "integer" "isclosed" "isfinite" "isoldpath" "isopen"
@@ -1143,8 +744,8 @@ to add functions and PL/SQL keywords.")
"position" "radius" "reltime" "revertpoly" "rpad" "rtrim" "substr"
"substring" "text" "timespan" "translate" "trim" "upgradepath"
"upgradepoly" "upper" "varchar" "width"
-
) t) "\\b"))))
+ (setq sql-mode-postgres-font-lock-keywords
(append sql-mode-ansi-font-lock-keywords
(list (cons postgres-reserved-words 'font-lock-keyword-face)
;; XEmacs doesn't have 'font-lock-builtin-face
@@ -1152,20 +753,21 @@ to add functions and PL/SQL keywords.")
(cons postgres-builtin-functions 'font-lock-preprocessor-face)
;; Emacs
(cons postgres-builtin-functions 'font-lock-builtin-face))
- (cons postgres-types 'font-lock-type-face))))
+ (cons postgres-types 'font-lock-type-face))))))
- "Postgres SQL keywords used by font-lock.
+
+(defvar sql-mode-linter-font-lock-keywords nil
+ "Linter SQL keywords used by font-lock.
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-postgres-font-lock-keywords.")
+function `regexp-opt'.")
-(defvar sql-mode-linter-font-lock-keywords
+(if sql-mode-linter-font-lock-keywords
+ ()
(let ((linter-keywords (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"autocommit" "autoinc" "autorowid" "cancel" "cascade" "channel"
"committed" "count" "countblob" "cross" "current" "data" "database"
"datafile" "datafiles" "datesplit" "dba" "dbname" "default" "deferred"
@@ -1190,12 +792,10 @@ you define your own sql-mode-postgres-font-lock-keywords.")
"trigger_info_size" "true" "trunc" "uncommitted" "unicode" "unknown"
"unlimited" "unlisted" "user" "utf8" "value" "varying" "volumes"
"wait" "windows_code" "workspace" "write" "xml"
-
) t) "\\b")))
(linter-reserved-words (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"access" "action" "add" "address" "after" "all" "alter" "always" "and"
"any" "append" "as" "asc" "ascic" "async" "at_begin" "at_end" "audit"
"aud_obj_name_len" "backup" "base" "before" "between" "blobfile"
@@ -1213,22 +813,18 @@ you define your own sql-mode-postgres-font-lock-keywords.")
"start" "stop" "sync" "synchronize" "synonym" "sysdate" "table" "then"
"to" "union" "unique" "unlock" "until" "update" "using" "values"
"view" "when" "where" "with" "without"
-
) t) "\\b")))
(linter-types (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"bigint" "bitmap" "blob" "boolean" "char" "character" "date"
"datetime" "dec" "decimal" "double" "float" "int" "integer" "nchar"
"number" "numeric" "real" "smallint" "varbyte" "varchar" "byte"
"cursor" "long"
-
) t) "\\b")))
(linter-builtin-functions (eval-when-compile
(concat "\\b"
(regexp-opt '(
-
"abs" "acos" "asin" "atan" "atan2" "avg" "ceil" "cos" "cosh" "divtime"
"exp" "floor" "getbits" "getblob" "getbyte" "getlong" "getraw"
"getstr" "gettext" "getword" "hextoraw" "lenblob" "length" "log"
@@ -1239,367 +835,59 @@ you define your own sql-mode-postgres-font-lock-keywords.")
"to_gmtime" "to_localtime" "to_number" "trim" "upper" "decode"
"substr" "substring" "chr" "dayname" "days" "greatest" "hex" "initcap"
"instr" "least" "multime" "replace" "width"
-
) t) "\\b"))))
+ (setq sql-mode-linter-font-lock-keywords
(append sql-mode-ansi-font-lock-keywords
- (list (cons linter-keywords 'font-lock-keywords-face)
+ (list (cons linter-keywords 'font-lock-function-name-face)
(cons linter-reserved-words 'font-lock-keyword-face)
;; XEmacs doesn't have font-lock-builtin-face
(if (string-match "XEmacs\\|Lucid" emacs-version)
(cons linter-builtin-functions 'font-lock-preprocessor-face)
;; GNU Emacs 19 doesn't have it either
(if (string-match "GNU Emacs 19" emacs-version)
- (cons linter-builtin-functions 'font-lock-keywords-face)
+ (cons linter-builtin-functions 'font-lock-function-name-face)
;; Emacs
(cons linter-builtin-functions 'font-lock-builtin-face)))
- (cons linter-types 'font-lock-type-face))))
-
- "Linter SQL keywords used by font-lock.
+ (cons linter-types 'font-lock-type-face))))))
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'.")
-
-(defvar sql-mode-ms-font-lock-keywords
- (let ((ms-reserved-words (eval-when-compile
- (concat "\\b"
- (regexp-opt '(
-
-"absolute" "add" "all" "alter" "and" "any" "as" "asc" "authorization"
-"avg" "backup" "begin" "between" "break" "browse" "bulk" "by"
-"cascade" "case" "check" "checkpoint" "close" "clustered" "coalesce"
-"column" "commit" "committed" "compute" "confirm" "constraint"
-"contains" "containstable" "continue" "controlrow" "convert" "count"
-"create" "cross" "current" "current_date" "current_time"
-"current_timestamp" "current_user" "database" "deallocate"
-"declare" "default" "delete" "deny" "desc" "disk" "distinct"
-"distributed" "double" "drop" "dummy" "dump" "else" "end" "errlvl"
-"errorexit" "escape" "except" "exec" "execute" "exists" "exit" "fetch"
-"file" "fillfactor" "first" "floppy" "for" "foreign" "freetext"
-"freetexttable" "from" "full" "goto" "grant" "group" "having"
-"holdlock" "identity" "identity_insert" "identitycol" "if" "in"
-"index" "inner" "insert" "intersect" "into" "is" "isolation" "join"
-"key" "kill" "last" "left" "level" "like" "lineno" "load" "max" "min"
-"mirrorexit" "national" "next" "nocheck" "nolock" "nonclustered" "not"
-"null" "nullif" "of" "off" "offsets" "on" "once" "only" "open"
-"opendatasource" "openquery" "openrowset" "option" "or" "order"
-"outer" "output" "over" "paglock" "percent" "perm" "permanent" "pipe"
-"plan" "precision" "prepare" "primary" "print" "prior" "privileges"
-"proc" "procedure" "processexit" "public" "raiserror" "read"
-"readcommitted" "readpast" "readtext" "readuncommitted" "reconfigure"
-"references" "relative" "repeatable" "repeatableread" "replication"
-"restore" "restrict" "return" "revoke" "right" "rollback" "rowcount"
-"rowguidcol" "rowlock" "rule" "save" "schema" "select" "serializable"
-"session_user" "set" "shutdown" "some" "statistics" "sum"
-"system_user" "table" "tablock" "tablockx" "tape" "temp" "temporary"
-"textsize" "then" "to" "top" "tran" "transaction" "trigger" "truncate"
-"tsequal" "uncommitted" "union" "unique" "update" "updatetext"
-"updlock" "use" "user" "values" "view" "waitfor" "when" "where"
-"while" "with" "work" "writetext"
-"collate" "function" "openxml" "returns"
-
-) t) "\\b")))
- (ms-types (eval-when-compile
- (concat "\\b"
- (regexp-opt '(
-
-"binary" "bit" "char" "character" "cursor" "datetime" "dec" "decimal"
-"double" "float" "image" "int" "integer" "money" "national" "nchar"
-"ntext" "numeric" "numeric" "nvarchar" "precision" "real"
-"smalldatetime" "smallint" "smallmoney" "text" "timestamp" "tinyint"
-"uniqueidentifier" "varbinary" "varchar" "varying"
-
-) t) "\\b")))
-
- (ms-vars "\\b@[a-zA-Z0-9_]*\\b")
-
- (ms-builtin-functions (eval-when-compile
- (concat "\\b"
- (regexp-opt '(
-;; Misc MS builtin functions
-
-"@@connections" "@@cpu_busy" "@@cursor_rows" "@@datefirst" "@@dbts"
-"@@error" "@@fetch_status" "@@identity" "@@idle" "@@io_busy"
-"@@langid" "@@language" "@@lock_timeout" "@@max_connections"
-"@@max_precision" "@@nestlevel" "@@options" "@@pack_received"
-"@@pack_sent" "@@packet_errors" "@@procid" "@@remserver" "@@rowcount"
-"@@servername" "@@servicename" "@@spid" "@@textsize" "@@timeticks"
-"@@total_errors" "@@total_read" "@@total_write" "@@trancount"
-"@@version" "abs" "acos" "and" "app_name" "ascii" "asin" "atan" "atn2"
-"avg" "case" "cast" "ceiling" "char" "charindex" "coalesce"
-"col_length" "col_name" "columnproperty" "containstable" "convert"
-"cos" "cot" "count" "current_timestamp" "current_user" "cursor_status"
-"databaseproperty" "datalength" "dateadd" "datediff" "datename"
-"datepart" "day" "db_id" "db_name" "degrees" "difference" "exp"
-"file_id" "file_name" "filegroup_id" "filegroup_name"
-"filegroupproperty" "fileproperty" "floor" "formatmessage"
-"freetexttable" "fulltextcatalogproperty" "fulltextserviceproperty"
-"getansinull" "getdate" "grouping" "host_id" "host_name" "ident_incr"
-"ident_seed" "identity" "index_col" "indexproperty" "is_member"
-"is_srvrolemember" "isdate" "isnull" "isnumeric" "left" "len" "log"
-"log10" "lower" "ltrim" "max" "min" "month" "nchar" "newid" "nullif"
-"object_id" "object_name" "objectproperty" "openquery" "openrowset"
-"parsename" "patindex" "patindex" "permissions" "pi" "power"
-"quotename" "radians" "rand" "replace" "replicate" "reverse" "right"
-"round" "rtrim" "session_user" "sign" "sin" "soundex" "space" "sqrt"
-"square" "stats_date" "stdev" "stdevp" "str" "stuff" "substring" "sum"
-"suser_id" "suser_name" "suser_sid" "suser_sname" "system_user" "tan"
-"textptr" "textvalid" "typeproperty" "unicode" "upper" "user"
-"user_id" "user_name" "var" "varp" "year"
-
-) t) "\\b")))
-
- (ms-config-commands
- (eval-when-compile
- (concat "^\\(\\(set\\s-+\\("
- (regexp-opt '(
-
-"datefirst" "dateformat" "deadlock_priority" "lock_timeout"
-"concat_null_yields_null" "cursor_close_on_commit"
-"disable_def_cnst_chk" "fips_flagger" "identity_insert" "language"
-"offsets" "quoted_identifier" "arithabort" "arithignore" "fmtonly"
-"nocount" "noexec" "numeric_roundabort" "parseonly"
-"query_governor_cost_limit" "rowcount" "textsize" "ansi_defaults"
-"ansi_null_dflt_off" "ansi_null_dflt_on" "ansi_nulls" "ansi_padding"
-"ansi_warnings" "forceplan" "showplan_all" "showplan_text"
-"statistics" "implicit_transactions" "remote_proc_transactions"
-"transaction" "xact_abort"
-
-) t)
- "\\)\\)\\|go\\s-*\\|use\\s-+\\|setuser\\s-+\\|dbcc\\s-+\\).*$"))))
-
- (list (cons ms-config-commands 'font-lock-doc-face)
- (cons ms-reserved-words 'font-lock-keyword-face)
- ;; XEmacs doesn't have 'font-lock-builtin-face
- (if (string-match "XEmacs\\|Lucid" emacs-version)
- (cons ms-builtin-functions 'font-lock-preprocessor-face)
- ;; Emacs
- (cons ms-builtin-functions 'font-lock-builtin-face))
- (cons ms-vars 'font-lock-variable-name-face)
- (cons ms-types 'font-lock-type-face)))
-
- "Microsoft SQLServer SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-ms-font-lock-keywords.")
-
-(defvar sql-mode-sybase-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "Sybase SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-sybase-font-lock-keywords.")
-
-(defvar sql-mode-informix-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "Informix SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-informix-font-lock-keywords.")
-
-(defvar sql-mode-interbase-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "Interbase SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-interbase-font-lock-keywords.")
-
-(defvar sql-mode-ingres-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "Ingres SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-interbase-font-lock-keywords.")
-
-(defvar sql-mode-solid-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "Solid SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-solid-font-lock-keywords.")
-
-(defvar sql-mode-mysql-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "MySQL SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-mysql-font-lock-keywords.")
-
-(defvar sql-mode-sqlite-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "SQLite SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-sqlite-font-lock-keywords.")
-
-(defvar sql-mode-db2-font-lock-keywords sql-mode-ansi-font-lock-keywords
- "DB2 SQL keywords used by font-lock.
-
-This variable is used by `sql-mode' and `sql-interactive-mode'. The
-regular expressions are created during compilation by calling the
-function `regexp-opt'. Therefore, take a look at the source before
-you define your own sql-mode-db2-font-lock-keywords.")
-
-(defvar sql-mode-font-lock-keywords nil
+(defvar sql-mode-font-lock-keywords sql-mode-ansi-font-lock-keywords
"SQL keywords used by font-lock.
-Setting this variable directly no longer has any affect. Use
-`sql-product' and `sql-add-product-keywords' to control the
-highlighting rules in sql-mode.")
-
-
-
-;;; SQL Product support functions
-
-(defun sql-product-feature (feature &optional product)
- "Lookup `feature' needed to support the current SQL product.
-
-See \[sql-product-support] for a list of products and supported features."
- (cadr
- (memq feature
- (assoc (or product sql-product)
- sql-product-support))))
-
-(defun sql-product-font-lock (keywords-only imenu)
- "Sets `font-lock-defaults' and `font-lock-keywords' based on
-the product-specific keywords and syntax-alists defined in
-`sql-product-support'."
- (let
- ;; Get the product-specific syntax-alist.
- ((syntax-alist
- (append
- (sql-product-feature :syntax-alist)
- '((?_ . "w") (?. . "w")))))
-
- ;; Get the product-specific keywords.
- (setq sql-mode-font-lock-keywords
- (append
- (eval (sql-product-feature :font-lock))
- (list sql-mode-font-lock-object-name)))
-
- ;; Setup font-lock. (What is the minimum we should have to do
- ;; here?)
- (setq font-lock-set-defaults nil
- font-lock-keywords sql-mode-font-lock-keywords
- font-lock-defaults (list 'sql-mode-font-lock-keywords
- keywords-only t syntax-alist))
-
- ;; Setup imenu; it needs the same syntax-alist.
- (when imenu
- (setq imenu-syntax-alist syntax-alist))))
-
-;;;###autoload
-(defun sql-add-product-keywords (product keywords)
- "Append a `font-lock-keywords' entry to the existing entries defined
- for the specified `product'."
-
- (let ((font-lock (sql-product-feature :font-lock product)))
- (set font-lock (append (eval font-lock) (list keywords)))))
+This variable defaults to `sql-mode-ansi-font-lock-keywords'. This is
+used for the default `font-lock-defaults' value in `sql-mode'. This
+can be changed by some entry functions to provide more hilighting.")
;;; Functions to switch highlighting
-(defun sql-highlight-product ()
- "Turns on the appropriate font highlighting for the SQL product
-selected."
-
- (when (eq major-mode 'sql-mode)
- ;; Setup font-lock
- (sql-product-font-lock nil t)
-
- ;; Force fontification, if its enabled.
- (if font-lock-mode
- (font-lock-fontify-buffer))
-
- ;; Set the mode name to include the product.
- (setq mode-name (concat "SQL[" (prin1-to-string sql-product) "]"))))
-
-(defun sql-set-product (product)
- "Set `sql-product' to product and enable appropriate
-highlighting."
- (interactive "SEnter SQL product: ")
- (when (not (assoc product sql-product-support))
- (error "SQL product %s is not supported; treated as ANSI" product)
- (setq product 'ansi))
-
- ;; Save product setting and fontify.
- (setq sql-product product)
- (sql-highlight-product))
-
(defun sql-highlight-oracle-keywords ()
- "Highlight Oracle keywords."
+ "Highlight Oracle keywords.
+Basically, this just sets `font-lock-keywords' appropriately."
(interactive)
- (sql-set-product 'oracle))
+ (setq font-lock-keywords sql-mode-oracle-font-lock-keywords)
+ (font-lock-fontify-buffer))
(defun sql-highlight-postgres-keywords ()
- "Highlight Postgres keywords."
+ "Highlight Postgres keywords.
+Basically, this just sets `font-lock-keywords' appropriately."
(interactive)
- (sql-set-product 'postgres))
+ (setq font-lock-keywords sql-mode-postgres-font-lock-keywords)
+ (font-lock-fontify-buffer))
(defun sql-highlight-linter-keywords ()
- "Highlight LINTER keywords."
- (interactive)
- (sql-set-product 'linter))
-
-(defun sql-highlight-ms-keywords ()
- "Highlight Microsoft SQLServer keywords."
+ "Highlight LINTER keywords.
+Basically, this just sets `font-lock-keywords' appropriately."
(interactive)
- (sql-set-product 'ms))
+ (setq font-lock-keywords sql-mode-linter-font-lock-keywords)
+ (font-lock-fontify-buffer))
(defun sql-highlight-ansi-keywords ()
- "Highlight ANSI SQL keywords."
+ "Highlight ANSI SQL keywords.
+Basically, this just sets `font-lock-keywords' appropriately."
(interactive)
- (sql-set-product 'ansi))
-
-(defun sql-highlight-sybase-keywords ()
- "Highlight Sybase SQL keywords."
- (interactive)
- (sql-set-product 'sybase))
-
-(defun sql-highlight-informix-keywords ()
- "Highlight Informix SQL keywords."
- (interactive)
- (sql-set-product 'informix))
-
-(defun sql-highlight-interbase-keywords ()
- "Highlight Interbase SQL keywords."
- (interactive)
- (sql-set-product 'interbase))
-
-(defun sql-highlight-ingres-keywords ()
- "Highlight Ingres SQL keywords."
- (interactive)
- (sql-set-product 'ingres))
-
-(defun sql-highlight-solid-keywords ()
- "Highlight Solid SQL keywords."
- (interactive)
- (sql-set-product 'solid))
-
-(defun sql-highlight-mysql-keywords ()
- "Highlight MySQL SQL keywords."
- (interactive)
- (sql-set-product 'mysql))
-
-(defun sql-highlight-sqlite-keywords ()
- "Highlight SQLite SQL keywords."
- (interactive)
- (sql-set-product 'sqlite))
-
-(defun sql-highlight-db2-keywords ()
- "Highlight DB2 SQL keywords."
- (interactive)
- (sql-set-product 'db2))
+ (setq font-lock-keywords sql-mode-ansi-font-lock-keywords)
+ (font-lock-fontify-buffer))
@@ -1665,7 +953,6 @@ Other non-free SQL implementations are also supported:
Sybase: \\[sql-sybase]
Ingres: \\[sql-ingres]
Microsoft: \\[sql-ms]
- DB2: \\[sql-db2]
Interbase: \\[sql-interbase]
Linter: \\[sql-linter]
@@ -1712,30 +999,26 @@ Parameter WHAT is a list of the arguments passed to this function.
The function asks for the username if WHAT contains symbol `user', for
the password if it contains symbol `password', for the server if it
contains symbol `server', and for the database if it contains symbol
-`database'. The members of WHAT are processed in the order in which
-they are provided.
+`database'.
In order to ask the user for username, password and database, call the
function like this: (sql-get-login 'user 'password 'database)."
(interactive)
- (while what
- (cond
- ((eq (car what) 'user) ; user
+ (if (memq 'user what)
(setq sql-user
(read-from-minibuffer "User: " sql-user nil nil
sql-user-history)))
- ((eq (car what) 'password) ; password
+ (if (memq 'password what)
(setq sql-password
(sql-read-passwd "Password: " sql-password)))
- ((eq (car what) 'server) ; server
+ (if (memq 'server what)
(setq sql-server
(read-from-minibuffer "Server: " sql-server nil nil
sql-server-history)))
- ((eq (car what) 'database) ; database
+ (if (memq 'database what)
(setq sql-database
(read-from-minibuffer "Database: " sql-database nil nil
sql-database-history))))
- (setq what (cdr what))))
(defun sql-find-sqli-buffer ()
"Return the current default SQLi buffer or nil.
@@ -2004,7 +1287,13 @@ you must tell Emacs. Here's how to do that in your `~/.emacs' file:
(easy-menu-add sql-mode-menu)); XEmacs
(set-syntax-table sql-mode-syntax-table)
(make-local-variable 'font-lock-defaults)
- (make-local-variable 'sql-mode-font-lock-keywords)
+ ;; Note that making KEYWORDS-ONLY nil will cause havoc if you try
+ ;; SELECT 'x' FROM DUAL with SQL*Plus, because the title of the column
+ ;; will have just one quote. Therefore syntactic hilighting is
+ ;; disabled for interactive buffers. `_' and `.' are considered part
+ ;; of words.
+ (setq font-lock-defaults '(sql-mode-font-lock-keywords
+ nil t ((?_ . "w") (?. . "w"))))
(make-local-variable 'comment-start)
(setq comment-start "--")
;; Make each buffer in sql-mode remember the "current" SQLi buffer.
@@ -2012,8 +1301,11 @@ you must tell Emacs. Here's how to do that in your `~/.emacs' file:
;; Add imenu support for sql-mode. Note that imenu-generic-expression
;; is buffer-local, so we don't need a local-variable for it. SQL is
;; case-insensitive, that's why we have to set imenu-case-fold-search.
+ ;; imenu-syntax-alist makes sure that `_' is considered part of object
+ ;; names.
(setq imenu-generic-expression sql-imenu-generic-expression
- imenu-case-fold-search t)
+ imenu-case-fold-search t
+ imenu-syntax-alist '(("_" . "w")))
;; Make `sql-send-paragraph' work on paragraphs that contain indented
;; lines.
(make-local-variable 'paragraph-separate)
@@ -2024,10 +1316,7 @@ you must tell Emacs. Here's how to do that in your `~/.emacs' file:
(setq local-abbrev-table sql-mode-abbrev-table)
(setq abbrev-all-caps 1)
;; Run hook
- (run-hooks 'sql-mode-hook)
- ;; Catch changes to sql-product and highlight accordingly
- (sql-highlight-product)
- (add-hook 'hack-local-variables-hook 'sql-highlight-product t t))
+ (run-hooks 'sql-mode-hook))
@@ -2104,53 +1393,41 @@ you entered, right above the output it created.
\(setq comint-output-filter-functions
\(function (lambda (STR) (comint-show-output))))"
(comint-mode)
- ;; Get the `sql-product' for this interactive session.
- (set (make-local-variable 'sql-product)
- (or sql-interactive-product
- sql-product))
- ;; Setup the mode.
+ (setq comint-prompt-regexp sql-prompt-regexp)
+ (setq left-margin sql-prompt-length)
(setq major-mode 'sql-interactive-mode)
- (setq mode-name (concat "SQLi[" (prin1-to-string sql-product) "]"))
+ (setq mode-name "SQLi")
(use-local-map sql-interactive-mode-map)
(if sql-interactive-mode-menu
- (easy-menu-add sql-interactive-mode-menu)) ; XEmacs
+ (easy-menu-add sql-interactive-mode-menu)); XEmacs
(set-syntax-table sql-mode-syntax-table)
- (make-local-variable 'sql-mode-font-lock-keywords)
(make-local-variable 'font-lock-defaults)
;; Note that making KEYWORDS-ONLY nil will cause havoc if you try
;; SELECT 'x' FROM DUAL with SQL*Plus, because the title of the column
;; will have just one quote. Therefore syntactic hilighting is
- ;; disabled for interactive buffers. No imenu support.
- (sql-product-font-lock t nil)
+ ;; disabled for interactive buffers. `_' and `.' are considered part
+ ;; of words.
+ (setq font-lock-defaults '(sql-mode-font-lock-keywords
+ t t ((?_ . "w") (?. . "w"))))
;; Enable commenting and uncommenting of the region.
(make-local-variable 'comment-start)
(setq comment-start "--")
- ;; Abbreviation table init and case-insensitive. It is not activated
+ ;; Abbreviation table init and case-insensitive. It is not activatet
;; by default.
(setq local-abbrev-table sql-mode-abbrev-table)
(setq abbrev-all-caps 1)
;; Exiting the process will call sql-stop.
(set-process-sentinel (get-buffer-process sql-buffer) 'sql-stop)
- ;; Create a usefull name for renaming this buffer later.
- (make-local-variable 'sql-alternate-buffer-name)
- (setq sql-alternate-buffer-name (sql-make-alternate-buffer-name))
- ;; User stuff. Initialize before the hook.
- (set (make-local-variable 'sql-prompt-regexp)
- (sql-product-feature :sqli-prompt-regexp))
- (set (make-local-variable 'sql-prompt-length)
- (sql-product-feature :sqli-prompt-length))
- (make-local-variable 'sql-input-ring-separator)
- (make-local-variable 'sql-input-ring-file-name)
- ;; Run hook.
- (run-hooks 'sql-interactive-mode-hook)
- ;; Set comint based on user overrides.
- (setq comint-prompt-regexp sql-prompt-regexp)
- (setq left-margin sql-prompt-length)
;; People wanting a different history file for each
;; buffer/process/client/whatever can change separator and file-name
;; on the sql-interactive-mode-hook.
(setq comint-input-ring-separator sql-input-ring-separator
comint-input-ring-file-name sql-input-ring-file-name)
+ ;; Create a usefull name for renaming this buffer later.
+ (make-local-variable 'sql-alternate-buffer-name)
+ (setq sql-alternate-buffer-name (sql-make-alternate-buffer-name))
+ ;; User stuff.
+ (run-hooks 'sql-interactive-mode-hook)
;; Calling the hook before calling comint-read-input-ring allows users
;; to set comint-input-ring-file-name in sql-interactive-mode-hook.
(comint-read-input-ring t))
@@ -2174,33 +1451,6 @@ Sentinels will always get the two parameters PROCESS and EVENT."
;;; Entry functions for different SQL interpreters.
;;;###autoload
-(defun sql-product-interactive (&optional product)
- "Run product interpreter as an inferior process.
-
-If buffer `*SQL*' exists but no process is running, make a new process.
-If buffer exists and a process is running, just switch to buffer
-`*SQL*'.
-
-\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
- (interactive)
- (setq product (or product sql-product))
- (when (sql-product-feature :sqli-connect product)
- (if (comint-check-proc "*SQL*")
- (pop-to-buffer "*SQL*")
- ;; Get credentials.
- (apply 'sql-get-login (sql-product-feature :sqli-login product))
- ;; Connect to database.
- (message "Login...")
- (funcall (sql-product-feature :sqli-connect product))
- ;; Set SQLi mode.
- (setq sql-interactive-product product)
- (setq sql-buffer (current-buffer))
- (sql-interactive-mode)
- ;; All done.
- (message "Login...done")
- (pop-to-buffer sql-buffer))))
-
-;;;###autoload
(defun sql-oracle ()
"Run sqlplus by Oracle as an inferior process.
@@ -2225,32 +1475,42 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'oracle))
-
-(defun sql-connect-oracle ()
- "Create comint buffer and connect to Oracle using the login
-parameters and command options."
- ;; Produce user/password@database construct. Password without user
- ;; is meaningless; database without user/password is meaningless,
- ;; because "@param" will ask sqlplus to interpret the script
- ;; "param".
- (let ((parameter nil))
- (if (not (string= "" sql-user))
- (if (not (string= "" sql-password))
- (setq parameter (concat sql-user "/" sql-password))
- (setq parameter sql-user)))
- (if (and parameter (not (string= "" sql-database)))
- (setq parameter (concat parameter "@" sql-database)))
- (if parameter
- (setq parameter (nconc (list parameter) sql-oracle-options))
- (setq parameter sql-oracle-options))
- (if parameter
- (set-buffer (apply 'make-comint "SQL" sql-oracle-program nil
- parameter))
- (set-buffer (make-comint "SQL" sql-oracle-program nil)))
- ;; SQL*Plus is buffered on WindowsNT; this handles &placeholders.
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'user 'password 'database)
+ (message "Login...")
+ ;; Produce user/password@database construct. Password without user
+ ;; is meaningless; database without user/password is meaningless,
+ ;; because "@param" will ask sqlplus to interpret the script
+ ;; "param".
+ (let ((parameter nil))
+ (if (not (string= "" sql-user))
+ (if (not (string= "" sql-password))
+ (setq parameter (concat sql-user "/" sql-password))
+ (setq parameter sql-user)))
+ (if (and parameter (not (string= "" sql-database)))
+ (setq parameter (concat parameter "@" sql-database)))
+ (if parameter
+ (setq parameter (nconc (list parameter) sql-oracle-options))
+ (setq parameter sql-oracle-options))
+ (if parameter
+ (set-buffer (apply 'make-comint "SQL" sql-oracle-program nil
+ parameter))
+ (set-buffer (make-comint "SQL" sql-oracle-program nil))))
+ (setq sql-prompt-regexp "^SQL> ")
+ (setq sql-prompt-length 5)
+ (setq sql-buffer (current-buffer))
+ ;; set sql-mode-font-lock-keywords to something different before
+ ;; calling sql-interactive-mode.
+ (setq sql-mode-font-lock-keywords sql-mode-oracle-font-lock-keywords)
+ (sql-interactive-mode)
+ ;; If running on NT, make sure we do placeholder replacement
+ ;; ourselves. This must come after sql-interactive-mode because all
+ ;; local variables will be killed, there.
(if (eq window-system 'w32)
- (setq comint-input-sender 'sql-query-placeholders-and-send))))
+ (setq comint-input-sender 'sql-query-placeholders-and-send))
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2279,24 +1539,29 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'sybase))
-
-(defun sql-connect-sybase ()
- "Create comint buffer and connect to Sybase using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params sql-sybase-options))
- (if (not (string= "" sql-server))
- (setq params (append (list "-S" sql-server) params)))
- (if (not (string= "" sql-database))
- (setq params (append (list "-D" sql-database) params)))
- (if (not (string= "" sql-password))
- (setq params (append (list "-P" sql-password) params)))
- (if (not (string= "" sql-user))
- (setq params (append (list "-U" sql-user) params)))
- (set-buffer (apply 'make-comint "SQL" sql-sybase-program
- nil params))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'server 'user 'password 'database)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params sql-sybase-options))
+ (if (not (string= "" sql-server))
+ (setq params (append (list "-S" sql-server) params)))
+ (if (not (string= "" sql-database))
+ (setq params (append (list "-D" sql-database) params)))
+ (if (not (string= "" sql-password))
+ (setq params (append (list "-P" sql-password) params)))
+ (if (not (string= "" sql-user))
+ (setq params (append (list "-U" sql-user) params)))
+ (set-buffer (apply 'make-comint "SQL" sql-sybase-program
+ nil params)))
+ (setq sql-prompt-regexp "^SQL> ")
+ (setq sql-prompt-length 5)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2323,15 +1588,20 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'informix))
-
-(defun sql-connect-informix ()
- "Create comint buffer and connect to Informix using the login
-parameters and command options."
- ;; username and password are ignored.
- (if (string= "" sql-database)
- (set-buffer (make-comint "SQL" sql-informix-program nil))
- (set-buffer (make-comint "SQL" sql-informix-program nil sql-database "-"))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'database)
+ (message "Login...")
+ ;; username and password are ignored.
+ (if (string= "" sql-database)
+ (set-buffer (make-comint "SQL" sql-informix-program nil))
+ (set-buffer (make-comint "SQL" sql-informix-program nil sql-database "-")))
+ (setq sql-prompt-regexp "^SQL> ")
+ (setq sql-prompt-length 5)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2362,26 +1632,31 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'sqlite))
-
-(defun sql-connect-sqlite ()
- "Create comint buffer and connect to SQLite using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params))
- (if (not (string= "" sql-database))
- (setq params (append (list sql-database) params)))
- (if (not (string= "" sql-server))
- (setq params (append (list (concat "--host=" sql-server)) params)))
- (if (not (string= "" sql-password))
- (setq params (append (list (concat "--password=" sql-password)) params)))
- (if (not (string= "" sql-user))
- (setq params (append (list (concat "--user=" sql-user)) params)))
- (if (not (null sql-sqlite-options))
- (setq params (append sql-sqlite-options params)))
- (set-buffer (apply 'make-comint "SQL" sql-sqlite-program
- nil params))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'database)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params))
+ (if (not (string= "" sql-database))
+ (setq params (append (list sql-database) params)))
+ (if (not (string= "" sql-server))
+ (setq params (append (list (concat "--host=" sql-server)) params)))
+ (if (not (string= "" sql-password))
+ (setq params (append (list (concat "--password=" sql-password)) params)))
+ (if (not (string= "" sql-user))
+ (setq params (append (list (concat "--user=" sql-user)) params)))
+ (if (not (null sql-sqlite-options))
+ (setq params (append sql-sqlite-options params)))
+ (set-buffer (apply 'make-comint "SQL" sql-sqlite-program
+ nil params)))
+ (setq sql-prompt-regexp "^sqlite> ")
+ (setq sql-prompt-length 8)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2412,26 +1687,31 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'mysql))
-
-(defun sql-connect-mysql ()
- "Create comint buffer and connect to MySQL using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params))
- (if (not (string= "" sql-database))
- (setq params (append (list sql-database) params)))
- (if (not (string= "" sql-server))
- (setq params (append (list (concat "--host=" sql-server)) params)))
- (if (not (string= "" sql-password))
- (setq params (append (list (concat "--password=" sql-password)) params)))
- (if (not (string= "" sql-user))
- (setq params (append (list (concat "--user=" sql-user)) params)))
- (if (not (null sql-mysql-options))
- (setq params (append sql-mysql-options params)))
- (set-buffer (apply 'make-comint "SQL" sql-mysql-program
- nil params))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'user 'password 'database 'server)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params))
+ (if (not (string= "" sql-database))
+ (setq params (append (list sql-database) params)))
+ (if (not (string= "" sql-server))
+ (setq params (append (list (concat "--host=" sql-server)) params)))
+ (if (not (string= "" sql-password))
+ (setq params (append (list (concat "--password=" sql-password)) params)))
+ (if (not (string= "" sql-user))
+ (setq params (append (list (concat "--user=" sql-user)) params)))
+ (if (not (null sql-mysql-options))
+ (setq params (append sql-mysql-options params)))
+ (set-buffer (apply 'make-comint "SQL" sql-mysql-program
+ nil params)))
+ (setq sql-prompt-regexp "^mysql>")
+ (setq sql-prompt-length 6)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2459,22 +1739,27 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'solid))
-
-(defun sql-connect-solid ()
- "Create comint buffer and connect to Solid using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params))
- ;; It only makes sense if both username and password are there.
- (if (not (or (string= "" sql-user)
- (string= "" sql-password)))
- (setq params (append (list sql-user sql-password) params)))
- (if (not (string= "" sql-server))
- (setq params (append (list sql-server) params)))
- (set-buffer (apply 'make-comint "SQL" sql-solid-program
- nil params))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'user 'password 'server)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params))
+ ;; It only makes sense if both username and password are there.
+ (if (not (or (string= "" sql-user)
+ (string= "" sql-password)))
+ (setq params (append (list sql-user sql-password) params)))
+ (if (not (string= "" sql-server))
+ (setq params (append (list sql-server) params)))
+ (set-buffer (apply 'make-comint "SQL" sql-solid-program
+ nil params)))
+ (setq sql-prompt-regexp "^")
+ (setq sql-prompt-length 0)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2501,21 +1786,26 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'ingres))
-
-(defun sql-connect-ingres ()
- "Create comint buffer and connect to Ingres using the login
-parameters and command options."
- ;; username and password are ignored.
- (if (string= "" sql-database)
- (set-buffer (make-comint "SQL" sql-ingres-program nil))
- (set-buffer (make-comint "SQL" sql-ingres-program nil sql-database))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'database)
+ (message "Login...")
+ ;; username and password are ignored.
+ (if (string= "" sql-database)
+ (set-buffer (make-comint "SQL" sql-ingres-program nil))
+ (set-buffer (make-comint "SQL" sql-ingres-program nil sql-database)))
+ (setq sql-prompt-regexp "^\* ")
+ (setq sql-prompt-length 2)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
;;;###autoload
(defun sql-ms ()
- "Run osql by Microsoft as an inferior process.
+ "Run isql by Microsoft as an inferior process.
If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
@@ -2538,31 +1828,32 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'ms))
-
-(defun sql-connect-ms ()
- "Create comint buffer and connect to Microsoft using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params sql-ms-options))
- (if (not (string= "" sql-server))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'user 'password 'database 'server)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params sql-ms-options))
+ (if (not (string= "" sql-server))
(setq params (append (list "-S" sql-server) params)))
- (if (not (string= "" sql-database))
+ (if (not (string= "" sql-database))
(setq params (append (list "-d" sql-database) params)))
- (if (not (string= "" sql-user))
- (setq params (append (list "-U" sql-user) params)))
- (if (not (string= "" sql-password))
- (setq params (append (list "-P" sql-password) params))
- (if (string= "" sql-user)
- ;; if neither user nor password is provided, use system
- ;; credentials.
- (setq params (append (list "-E") params))
- ;; If -P is passed to ISQL as the last argument without a
- ;; password, it's considered null.
- (setq params (append params (list "-P")))))
- (set-buffer (apply 'make-comint "SQL" sql-ms-program
- nil params))))
+ (if (not (string= "" sql-user))
+ (setq params (append (list "-U" sql-user) params)))
+ (if (not (string= "" sql-password))
+ (setq params (append (list "-P" sql-password) params))
+ ;; If -P is passed to ISQL as the last argument without a password,
+ ;; it's considered null.
+ (setq params (append params (list "-P"))))
+ (set-buffer (apply 'make-comint "SQL" sql-ms-program
+ nil params)))
+ (setq sql-prompt-regexp "^[0-9]*>")
+ (setq sql-prompt-length 5)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2596,23 +1887,34 @@ Try to set `comint-output-filter-functions' like this:
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'postgres))
-
-(defun sql-connect-postgres ()
- "Create comint buffer and connect to Postgres using the login
-parameters and command options."
- ;; username and password are ignored. Mark Stosberg suggest to add
- ;; the database at the end. Jason Beegan suggest using --pset and
- ;; pager=off instead of \\o|cat. The later was the solution by
- ;; Gregor Zych. Jason's suggestion is the default value for
- ;; sql-postgres-options.
- (let ((params sql-postgres-options))
- (if (not (string= "" sql-database))
- (setq params (append params (list sql-database))))
- (if (not (string= "" sql-server))
- (setq params (append (list "-h" sql-server) params)))
- (set-buffer (apply 'make-comint "SQL" sql-postgres-program
- nil params))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'database 'server)
+ (message "Login...")
+ ;; username and password are ignored. Mark Stosberg suggest to add
+ ;; the database at the end. Jason Beegan suggest using --pset and
+ ;; pager=off instead of \\o|cat. The later was the solution by
+ ;; Gregor Zych. Jason's suggestion is the default value for
+ ;; sql-postgres-options.
+ (let ((params sql-postgres-options))
+ (if (not (string= "" sql-database))
+ (setq params (append params (list sql-database))))
+ (if (not (string= "" sql-server))
+ (setq params (append (list "-h" sql-server) params)))
+ (set-buffer (apply 'make-comint "SQL" sql-postgres-program
+ nil params)))
+ (setq sql-prompt-regexp "^.*> *")
+ (setq sql-prompt-length 5)
+ ;; This is a lousy hack to prevent psql from truncating it's output
+ ;; and giving stupid warnings. If s.o. knows a way to prevent psql
+ ;; from acting this way, then I would be very thankful to
+ ;; incorporate this (Gregor Zych <zych@pool.informatik.rwth-aachen.de>)
+ ;; (comint-send-string "*SQL*" "\\o \| cat\n")
+ (setq sql-mode-font-lock-keywords sql-mode-postgres-font-lock-keywords)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2640,22 +1942,27 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'interbase))
-
-(defun sql-connect-interbase ()
- "Create comint buffer and connect to Interbase using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params sql-interbase-options))
- (if (not (string= "" sql-user))
- (setq params (append (list "-u" sql-user) params)))
- (if (not (string= "" sql-password))
- (setq params (append (list "-p" sql-password) params)))
- (if (not (string= "" sql-database))
- (setq params (cons sql-database params))) ; add to the front!
- (set-buffer (apply 'make-comint "SQL" sql-interbase-program
- nil params))))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'user 'password 'database)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params sql-interbase-options))
+ (if (not (string= "" sql-user))
+ (setq params (append (list "-u" sql-user) params)))
+ (if (not (string= "" sql-password))
+ (setq params (append (list "-p" sql-password) params)))
+ (if (not (string= "" sql-database))
+ (setq params (cons sql-database params))); add to the front!
+ (set-buffer (apply 'make-comint "SQL" sql-interbase-program
+ nil params)))
+ (setq sql-prompt-regexp "^SQL> ")
+ (setq sql-prompt-length 5)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
@@ -2687,17 +1994,22 @@ The default comes from `process-coding-system-alist' and
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'db2))
-
-(defun sql-connect-db2 ()
- "Create comint buffer and connect to DB2 using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (set-buffer (apply 'make-comint "SQL" sql-db2-program
- nil sql-db2-options))
- ;; Properly escape newlines when DB2 is interactive.
- (setq comint-input-sender 'sql-escape-newlines-and-send))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (set-buffer (apply 'make-comint "SQL" sql-db2-program
+ nil sql-db2-options))
+ (setq sql-prompt-regexp "^db2 => ")
+ (setq sql-prompt-length 7)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ ;; Escape newlines. This must come after sql-interactive-mode
+ ;; because all local variables will be killed, there.
+ (setq comint-input-sender 'sql-escape-newlines-and-send)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
;;;###autoload
(defun sql-linter ()
@@ -2722,31 +2034,39 @@ an empty password.
The buffer is put in sql-interactive-mode, giving commands for sending
input. See `sql-interactive-mode'.
+To use LINTER font locking by default, put this line into your .emacs :
+ (setq sql-mode-font-lock-keywords sql-mode-linter-font-lock-keywords)
+
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
(interactive)
- (sql-product-interactive 'linter))
-
-(defun sql-connect-linter ()
- "Create comint buffer and connect to Linter using the login
-parameters and command options."
- ;; Put all parameters to the program (if defined) in a list and call
- ;; make-comint.
- (let ((params sql-linter-options) (login nil) (old-mbx (getenv "LINTER_MBX")))
- (if (not (string= "" sql-user))
- (setq login (concat sql-user "/" sql-password)))
- (setq params (append (list "-u" login) params))
- (if (not (string= "" sql-server))
- (setq params (append (list "-n" sql-server) params)))
- (if (string= "" sql-database)
- (setenv "LINTER_MBX" nil)
- (setenv "LINTER_MBX" sql-database))
- (set-buffer (apply 'make-comint "SQL" sql-linter-program nil
- params))
- (setenv "LINTER_MBX" old-mbx)))
+ (if (comint-check-proc "*SQL*")
+ (pop-to-buffer "*SQL*")
+ (sql-get-login 'user 'password 'database 'server)
+ (message "Login...")
+ ;; Put all parameters to the program (if defined) in a list and call
+ ;; make-comint.
+ (let ((params sql-linter-options) (login nil) (old-mbx (getenv "LINTER_MBX")))
+ (if (not (string= "" sql-user))
+ (setq login (concat sql-user "/" sql-password)))
+ (setq params (append (list "-u" login) params))
+ (if (not (string= "" sql-server))
+ (setq params (append (list "-n" sql-server) params)))
+ (if (string= "" sql-database)
+ (setenv "LINTER_MBX" nil)
+ (setenv "LINTER_MBX" sql-database))
+ (set-buffer (apply 'make-comint "SQL" sql-linter-program nil
+ params))
+ (setenv "LINTER_MBX" old-mbx)
+ )
+ (setq sql-prompt-regexp "^SQL>")
+ (setq sql-prompt-length 4)
+ (setq sql-buffer (current-buffer))
+ (sql-interactive-mode)
+ (message "Login...done")
+ (pop-to-buffer sql-buffer)))
(provide 'sql)
-;;; arch-tag: 7e1fa1c4-9ca2-402e-87d2-83a5eccb7ac3
;;; sql.el ends here
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el
index db04986d54b..599075d66aa 100644
--- a/lisp/progmodes/tcl.el
+++ b/lisp/progmodes/tcl.el
@@ -6,7 +6,7 @@
;; Author: Tom Tromey <tromey@redhat.com>
;; Chris Lindblad <cjl@lcs.mit.edu>
;; Keywords: languages tcl modes
-;; Version: $Revision: 1.75 $
+;; Version: $Revision: 1.74 $
;; This file is part of GNU Emacs.
@@ -1510,5 +1510,4 @@ The first line is assumed to look like \"#!.../program ...\"."
(provide 'tcl)
-;;; arch-tag: 8a032554-c3ef-422e-b84c-acec0522179d
;;; tcl.el ends here
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 87ca4f11bd4..80803999bc4 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -5,7 +5,7 @@
;; Authors: Reto Zimmermann <reto@gnu.org>
;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
;; Maintainer: Reto Zimmermann <reto@gnu.org>
-;; RCS: $Id: vhdl-mode.el,v 1.20 2003/03/05 07:50:38 lektu Exp $
+;; RCS: $Id: vhdl-mode.el,v 32.51 2002/11/12 18:10:27 reto Exp reto $
;; Keywords: languages vhdl
;; WWW: http://opensource.ethz.ch/emacs/vhdl-mode.html
@@ -16578,5 +16578,4 @@ to visually support naming conventions.")
(provide 'vhdl-mode)
-;;; arch-tag: 780d7073-9b5d-4c6c-b0d8-26b28783aba3
;;; vhdl-mode.el ends here
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 1f1930a3241..4b1dfca6f5b 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -253,5 +253,4 @@ If no function name is found, return nil."
(provide 'which-func)
-;;; arch-tag: fa8a55c7-bfe3-4ffc-95ab-01bf21796827
;;; which-func.el ends here
diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el
index 555445eda6b..98803e510ae 100644
--- a/lisp/progmodes/xscheme.el
+++ b/lisp/progmodes/xscheme.el
@@ -1229,5 +1229,4 @@ the remaining input.")
(provide 'xscheme)
-;;; arch-tag: cfc14adc-2917-409e-ad16-432e8d0017de
;;; xscheme.el ends here
diff --git a/lisp/ps-bdf.el b/lisp/ps-bdf.el
index a6675f9b811..838cec330bd 100644
--- a/lisp/ps-bdf.el
+++ b/lisp/ps-bdf.el
@@ -453,5 +453,4 @@ BITMAP-STRING is a string representing bits by hexadecimal digits."
(provide 'ps-bdf)
-;;; arch-tag: 9b875ba8-565a-4ecf-acaa-30cee732c898
;;; ps-bdf.el ends here
diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el
index 1d13358f53d..a20853959be 100644
--- a/lisp/ps-mule.el
+++ b/lisp/ps-mule.el
@@ -1570,5 +1570,4 @@ This checks if all multi-byte characters in the region are printable or not."
(provide 'ps-mule)
-;;; arch-tag: bca017b2-66a7-4e59-8584-103e749eadbe
;;; ps-mule.el ends here
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index e49d5f5d251..0b8412edc1d 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -6872,5 +6872,4 @@ It is assumed that the length of STRING is not zero.")
(provide 'ps-print)
-;;; arch-tag: fb06a585-1112-4206-885d-a57d95d50579
;;; ps-print.el ends here
diff --git a/lisp/recentf.el b/lisp/recentf.el
index 5a66a26428b..4bfcf79aa3a 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -8,7 +8,7 @@
;; Maintainer: FSF
;; Keywords: files
-(defconst recentf-version "$Revision: 1.24 $")
+(defconst recentf-version "$Revision: 1.23 $")
;; This file is part of GNU Emacs.
@@ -1161,5 +1161,4 @@ that were operated on recently."
(run-hooks 'recentf-load-hook)
-;;; arch-tag: 78f1eec9-0d16-4d19-a4eb-2e4529edb62a
;;; recentf.el ends here
diff --git a/lisp/rect.el b/lisp/rect.el
index 6d9cd6a2aaa..c6b83995b73 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -384,5 +384,4 @@ rectangle which were empty."
(provide 'rect)
-;;; arch-tag: 178847b3-1f50-4b03-83de-a6e911cc1d16
;;; rect.el ends here
diff --git a/lisp/register.el b/lisp/register.el
index 8185ae4bc44..d550858eba7 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -313,5 +313,4 @@ START and END are buffer positions giving two corners of rectangle."
(delete-extract-rectangle start end)
(extract-rectangle start end))))
-;;; arch-tag: ce14dd68-8265-475f-9341-5d4ec5a53035
;;; register.el ends here
diff --git a/lisp/repeat.el b/lisp/repeat.el
index aa73c869675..ae2cc97498a 100644
--- a/lisp/repeat.el
+++ b/lisp/repeat.el
@@ -344,5 +344,4 @@ can be modified by the global variable `repeat-on-final-keystroke'."
(provide 'repeat)
-;;; arch-tag: cd569600-a1ad-4fa7-9062-bb91dfeaf1db
;;; repeat.el ends here
diff --git a/lisp/replace.el b/lisp/replace.el
index 0c89c22b1fa..82dfb0e4056 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1328,5 +1328,4 @@ make, or the user didn't cancel the call."
'query-replace 'region))))
(move-overlay replace-overlay start end (current-buffer)))))
-;;; arch-tag: 16b4cd61-fd40-497b-b86f-b667c4cf88e4
;;; replace.el ends here
diff --git a/lisp/reposition.el b/lisp/reposition.el
index 8dc752c2357..0811f8dd574 100644
--- a/lisp/reposition.el
+++ b/lisp/reposition.el
@@ -196,5 +196,4 @@ first comment line visible (if point is in a comment)."
(provide 'reposition)
-;;; arch-tag: 79487039-3bd7-4ab5-a3e8-ecf3b4919010
;;; reposition.el ends here
diff --git a/lisp/resume.el b/lisp/resume.el
index 4a131034e51..36d35ac13a7 100644
--- a/lisp/resume.el
+++ b/lisp/resume.el
@@ -125,5 +125,4 @@
(provide 'resume)
-;;; arch-tag: c90b2761-4803-4e58-a0ae-c4721368b628
;;; resume.el ends here
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 2809db23e2e..11f8c11c936 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -171,5 +171,4 @@ With zero or negative ARG turn mode off."
(provide 'reveal)
-;;; arch-tag: 96ba0242-2274-4ed7-8e10-26bc0707b4d8
;;; reveal.el ends here
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 5fb31561c41..347881b0cd9 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -222,5 +222,4 @@ Returns non-nil if the new state is enabled."
(provide 'rfn-eshadow)
-;;; arch-tag: dcf70a52-0115-4ec2-b1e3-4f8d3541a888
;;; rfn-eshadow.el ends here
diff --git a/lisp/rot13.el b/lisp/rot13.el
index bcf4252d142..c427ef3af86 100644
--- a/lisp/rot13.el
+++ b/lisp/rot13.el
@@ -110,5 +110,4 @@ See also `toggle-rot13-mode'."
(provide 'rot13)
-;;; arch-tag: ad5b9ca8-946c-4414-996f-e9b1bf9ec79f
;;; rot13.el ends here
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 31b7162a6cf..ffa0d2a6f46 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -791,5 +791,4 @@ mouse-2: unset goal column"
;; coding: iso-latin-1
;; End:
-;;; arch-tag: b2f24546-5605-44c4-b67b-c9a4eeba3ee8
;;; ruler-mode.el ends here
diff --git a/lisp/s-region.el b/lisp/s-region.el
index 4153174ee24..2b53bfa7f5c 100644
--- a/lisp/s-region.el
+++ b/lisp/s-region.el
@@ -121,5 +121,4 @@ to global keymap."
(provide 's-region)
-;;; arch-tag: a471e912-18d7-4247-a29b-2100bca180ff
;;; s-region.el ends here
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index d8706de70e8..3211a055335 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -238,5 +238,4 @@ To save places automatically in all files, put this in your `.emacs' file:
(provide 'saveplace) ; why not...
-;;; arch-tag: 3c2ef47b-0a22-4558-b116-118c9ef454a0
;;; saveplace.el ends here
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index 287ed3ba472..f3bd3d334ff 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -117,5 +117,4 @@ apply to all visible windows in the same frame."
(provide 'scroll-all)
-;;; arch-tag: db20089a-b157-45df-b5d4-2430e60acdd8
;;; scroll-all.el ends here
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index 7cb57906c67..609bea4ab9c 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -358,5 +358,4 @@ EVENT should be a scroll bar click."
(provide 'scroll-bar)
-;;; arch-tag: 6f1d01d0-0b1e-4bf8-86db-d491e0f399f3
;;; scroll-bar.el ends here
diff --git a/lisp/select.el b/lisp/select.el
index 01b227d8712..f679b27805a 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -389,5 +389,4 @@ This function returns the string \"emacs\"."
(provide 'select)
-;;; arch-tag: bb634f97-8a3b-4b0a-b940-f6e09982328c
;;; select.el ends here
diff --git a/lisp/server.el b/lisp/server.el
index 8e3b7e9a2cd..36cad64dde5 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -624,5 +624,4 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
(provide 'server)
-;;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6
;;; server.el ends here
diff --git a/lisp/ses.el b/lisp/ses.el
index d799be032ab..6341e76ed99 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -2927,5 +2927,4 @@ current column and continues until the next nonblank column."
(provide 'ses)
-;;; arch-tag: 88c1ccf0-4293-4824-8c5d-0757b52217f3
;; ses.el ends here.
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el
index b3427ac59e5..d9b8f92e901 100644
--- a/lisp/shadowfile.el
+++ b/lisp/shadowfile.el
@@ -839,5 +839,4 @@ look for files that have been changed and need to be copied to other systems."
(provide 'shadowfile)
-;;; arch-tag: e2f4cdd7-2bab-4def-9130-9e69b412b79e
;;; shadowfile.el ends here
diff --git a/lisp/shell.el b/lisp/shell.el
index c9191bc1648..fdf80cba220 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -533,8 +533,7 @@ Otherwise, one argument `-i' is passed to the shell.
(interactive
(list
(and current-prefix-arg
- (read-buffer "Shell buffer: "
- (generate-new-buffer-name "*shell*")))))
+ (read-buffer "Shell buffer: " "*shell*"))))
(setq buffer (get-buffer-create (or buffer "*shell*")))
;; Pop to buffer, so that the buffer's window will be correctly set
;; when we call comint (so that comint sets the COLUMNS env var properly).
@@ -1065,5 +1064,4 @@ Returns t if successful."
(provide 'shell)
-;;; arch-tag: bcb5f12a-c1f4-4aea-a809-2504bd5bd797
;;; shell.el ends here
diff --git a/lisp/simple.el b/lisp/simple.el
index 46bfc12dc4e..5ab9d6bba7a 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -352,16 +352,16 @@ useful for editing binary files."
(insert-and-inherit char)
(setq arg (1- arg)))))
-(defun forward-to-indentation (&optional arg)
+(defun forward-to-indentation (arg)
"Move forward ARG lines and position at first nonblank character."
(interactive "p")
- (forward-line (or arg 1))
+ (forward-line arg)
(skip-chars-forward " \t"))
-(defun backward-to-indentation (&optional arg)
+(defun backward-to-indentation (arg)
"Move backward ARG lines and position at first nonblank character."
(interactive "p")
- (forward-line (- (or arg 1)))
+ (forward-line (- arg))
(skip-chars-forward " \t"))
(defun back-to-indentation ()
@@ -661,10 +661,8 @@ the echo area."
(let ((print-length eval-expression-print-length)
(print-level eval-expression-print-level))
- (if eval-expression-insert-value
- (with-no-warnings
- (eval-last-sexp-print-value (car values)))
- (prin1 (car values) t))))
+ (prin1 (car values)
+ (if eval-expression-insert-value (current-buffer) t))))
(defun edit-and-eval-command (prompt command)
"Prompting with PROMPT, let user edit COMMAND and eval result.
@@ -2699,7 +2697,7 @@ If you are thinking of using this in a Lisp program, consider
using `forward-line' instead. It is usually easier to use
and more reliable (no dependence on goal column, etc.)."
(interactive "p")
- (or arg (setq arg 1))
+ (unless arg (setq arg 1))
(if (and next-line-add-newlines (= arg 1))
(if (save-excursion (end-of-line) (eobp))
;; When adding a newline, don't expand an abbrev.
@@ -2731,7 +2729,7 @@ If you are thinking of using this in a Lisp program, consider using
`forward-line' with a negative argument instead. It is usually easier
to use and more reliable (no dependence on goal column, etc.)."
(interactive "p")
- (or arg (setq arg 1))
+ (unless arg (setq arg 1))
(if (interactive-p)
(condition-case nil
(line-move (- arg))
@@ -3111,11 +3109,11 @@ With argument 0, interchanges line point is in with line mark is in."
(goto-char (car pos1))
(insert word2))))
-(defun backward-word (&optional arg)
+(defun backward-word (arg)
"Move backward until encountering the beginning of a word.
With argument, do this that many times."
(interactive "p")
- (forward-word (- (or arg 1))))
+ (forward-word (- arg)))
(defun mark-word (arg)
"Set mark arg words away from point.
@@ -3500,8 +3498,7 @@ when it is off screen)."
(point)))))
(let* ((oldpos (point))
(blinkpos)
- (mismatch)
- matching-paren)
+ (mismatch))
(save-excursion
(save-restriction
(if blink-matching-paren-distance
@@ -3515,20 +3512,12 @@ when it is off screen)."
(setq blinkpos (scan-sexps oldpos -1)))
(error nil)))
(and blinkpos
- (save-excursion
- (goto-char blinkpos)
- (not (looking-at "\\s$")))
- (setq matching-paren
- (or (and parse-sexp-lookup-properties
- (let ((prop (get-text-property blinkpos 'syntax-table)))
- (and (consp prop)
- (eq (car prop) 4)
- (cdr prop))))
- (matching-paren (char-after blinkpos)))
- mismatch
- (or (null matching-paren)
+ (/= (char-syntax (char-after blinkpos))
+ ?\$)
+ (setq mismatch
+ (or (null (matching-paren (char-after blinkpos)))
(/= (char-after (1- oldpos))
- matching-paren))))
+ (matching-paren (char-after blinkpos))))))
(if mismatch (setq blinkpos nil))
(if blinkpos
;; Don't log messages about paren matching.
@@ -4531,6 +4520,4 @@ works by saving the value of `buffer-invisibility-spec' and setting it to nil."
;
(provide 'simple)
-
-;;; arch-tag: 24af67c0-2a49-44f6-b3b1-312d8b570dfd
;;; simple.el ends here
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index e843ef9f02d..3cb37b44aee 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -561,5 +561,4 @@ symmetrical ones, and the same character twice for the others."
(provide 'skeleton)
-;;; arch-tag: ccad7bd5-eb5d-40de-9ded-900197215c3e
;;; skeleton.el ends here
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el
index b43303a65b4..108eff07759 100644
--- a/lisp/smerge-mode.el
+++ b/lisp/smerge-mode.el
@@ -4,7 +4,7 @@
;; Author: Stefan Monnier <monnier@cs.yale.edu>
;; Keywords: merge diff3 cvs conflict
-;; Revision: $Id: smerge-mode.el,v 1.21 2003/02/04 12:05:02 lektu Exp $
+;; Revision: $Id: smerge-mode.el,v 1.20 2002/10/10 17:30:20 monnier Exp $
;; This file is part of GNU Emacs.
@@ -535,6 +535,4 @@ buffer names."
(provide 'smerge-mode)
-
-;;; arch-tag: 605c8d1e-e43d-4943-a6f3-1bcc4333e690
;;; smerge-mode.el ends here
diff --git a/lisp/sort.el b/lisp/sort.el
index 541f598e7a5..59e076ecec0 100644
--- a/lisp/sort.el
+++ b/lisp/sort.el
@@ -535,5 +535,4 @@ From a program takes two point or marker arguments, BEG and END."
(provide 'sort)
-;;; arch-tag: fbac12be-2a7b-4c8a-9665-264d61f70bd9
;;; sort.el ends here
diff --git a/lisp/soundex.el b/lisp/soundex.el
index fb9d72f8fa9..f0c5445817a 100644
--- a/lisp/soundex.el
+++ b/lisp/soundex.el
@@ -73,5 +73,4 @@ and Searching\", Addison-Wesley (1973), pp. 391-392."
(provide 'soundex)
-;;; arch-tag: b2615a98-feb7-430e-a717-171086738953
;;; soundex.el ends here
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 5eef1359fad..992571e9c15 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -4339,5 +4339,4 @@ If we have an image associated with it, use that image."
;; run load-time hooks
(run-hooks 'speedbar-load-hook)
-;;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5
;;; speedbar.el ends here
diff --git a/lisp/startup.el b/lisp/startup.el
index 66e94665117..4b0ab342ef2 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1805,5 +1805,4 @@ normal otherwise."
(setq file (replace-match "/" t t file)))
file))
-;;; arch-tag: 7e294698-244d-4758-984b-4047f887a5db
;;; startup.el ends here
diff --git a/lisp/strokes.el b/lisp/strokes.el
index fe8d17b40d0..9b138e0e5dc 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1722,5 +1722,4 @@ Store XPM in buffer BUFNAME if supplied \(default is ` *strokes-xpm*'\)"
(run-hooks 'strokes-load-hook)
(provide 'strokes)
-;;; arch-tag: 8377f60e-43fb-467a-bbcd-2774f91f833e
;;; strokes.el ends here
diff --git a/lisp/subr.el b/lisp/subr.el
index 7baa71979ac..67b9360f077 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1180,10 +1180,10 @@ Optional DEFAULT is a default password to use instead of empty input."
(second (read-passwd "Confirm password: " nil default)))
(if (equal first second)
(progn
- (and (arrayp second) (clear-string second))
+ (and (arrayp second) (fillarray second ?\0))
(setq success first))
- (and (arrayp first) (clear-string first))
- (and (arrayp second) (clear-string second))
+ (and (arrayp first) (fillarray first ?\0))
+ (and (arrayp second) (fillarray second ?\0))
(message "Password not repeated accurately; please start over")
(sit-for 1))))
success)
@@ -1199,18 +1199,18 @@ Optional DEFAULT is a default password to use instead of empty input."
(clear-this-command-keys)
(if (= c ?\C-u)
(progn
- (and (arrayp pass) (clear-string pass))
+ (and (arrayp pass) (fillarray pass ?\0))
(setq pass ""))
(if (and (/= c ?\b) (/= c ?\177))
(let* ((new-char (char-to-string c))
(new-pass (concat pass new-char)))
- (and (arrayp pass) (clear-string pass))
- (clear-string new-char)
+ (and (arrayp pass) (fillarray pass ?\0))
+ (fillarray new-char ?\0)
(setq c ?\0)
(setq pass new-pass))
(if (> (length pass) 0)
(let ((new-pass (substring pass 0 -1)))
- (and (arrayp pass) (clear-string pass))
+ (and (arrayp pass) (fillarray pass ?\0))
(setq pass new-pass))))))
(message nil)
(or pass default ""))))
@@ -1550,8 +1550,6 @@ BUFFER may be a buffer or a buffer name. Arguments START and END are
character numbers specifying the substring. They default to the
beginning and the end of BUFFER. Strip text properties from the
inserted text according to `yank-excluded-properties'."
- ;; Since the buffer text should not normally have yank-handler properties,
- ;; there is no need to handle them here.
(let ((opoint (point)))
(insert-buffer-substring buf start end)
(remove-yank-excluded-properties opoint (point))))
@@ -2450,5 +2448,4 @@ The properties used on SYMBOL are `composefunc', `sendfunc',
(put symbol 'abortfunc (or abortfunc 'kill-buffer))
(put symbol 'hookvar (or hookvar 'mail-send-hook)))
-;;; arch-tag: f7e0e6e5-70aa-4897-ae72-7a3511ec40bc
;;; subr.el ends here
diff --git a/lisp/tabify.el b/lisp/tabify.el
index a28f0d6ccd2..971e1715eea 100644
--- a/lisp/tabify.el
+++ b/lisp/tabify.el
@@ -79,5 +79,4 @@ The variable `tab-width' controls the spacing of tab stops."
(provide 'tabify)
-;;; arch-tag: c83893b1-e0cc-4e57-8a09-73fd03466416
;;; tabify.el ends here
diff --git a/lisp/talk.el b/lisp/talk.el
index bbe9c949dde..07b63b84cc9 100644
--- a/lisp/talk.el
+++ b/lisp/talk.el
@@ -101,5 +101,4 @@ Select the first of these windows, displaying the first of the buffers."
(provide 'talk)
-;;; arch-tag: 7ab0ad88-1788-4886-a44c-ae685e6f8a1a
;;; talk.el ends here
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index be17e70c785..03cb199de73 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -1277,5 +1277,4 @@ Leaves the region wide."
(provide 'tar-mode)
-;;; arch-tag: 8a585a4a-340e-42c2-89e7-d3b1013a4b78
;;; tar-mode.el ends here
diff --git a/lisp/tempo.el b/lisp/tempo.el
index 3ceb3e271f4..f5a592f5ad5 100644
--- a/lisp/tempo.el
+++ b/lisp/tempo.el
@@ -755,5 +755,4 @@ space bar, and looks something like this:
(provide 'tempo)
-;;; arch-tag: b3c0ee36-db3b-47bc-875f-091b4e27a063
;;; tempo.el ends here
diff --git a/lisp/term.el b/lisp/term.el
index d2088a29785..9f49ee96045 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1347,8 +1347,6 @@ buffer. The hook term-exec-hook is run after each exec."
(process-connection-type t)
;; We should suppress conversion of end-of-line format.
(inhibit-eol-conversion t)
- ;; inhibit-eol-conversion doesn't seem to do the job, but this does.
- (coding-system-for-read 'unknown-unix)
)
(apply 'start-process name buffer
"/bin/sh" "-c"
@@ -4022,5 +4020,4 @@ the process. Any more args are arguments to PROGRAM."
(provide 'term)
-;;; arch-tag: eee16bc8-2cd7-4147-9534-a5694752f716
;;; term.el ends here
diff --git a/lisp/term/AT386.el b/lisp/term/AT386.el
index 31248018c42..18855809457 100644
--- a/lisp/term/AT386.el
+++ b/lisp/term/AT386.el
@@ -57,5 +57,4 @@
(define-key function-key-map "\eN" [27]) ; ALT map
)
-;;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7
;;; AT386.el ends here
diff --git a/lisp/term/apollo.el b/lisp/term/apollo.el
index 1d04fd35245..3a2961811aa 100644
--- a/lisp/term/apollo.el
+++ b/lisp/term/apollo.el
@@ -2,5 +2,4 @@
(load "term/vt100" nil t)
-;;; arch-tag: c72f446f-e6b7-4749-90a4-bd68632adacf
;;; apollo.el ends here
diff --git a/lisp/term/bg-mouse.el b/lisp/term/bg-mouse.el
index abcbb4904f8..7291b877d56 100644
--- a/lisp/term/bg-mouse.el
+++ b/lisp/term/bg-mouse.el
@@ -296,5 +296,4 @@ X and Y are 0-based character positions on the screen."
(provide 'bg-mouse)
-;;; arch-tag: b3d06605-2971-44b1-be2c-e49c24e1a8d3
;;; bg-mouse.el ends here
diff --git a/lisp/term/bobcat.el b/lisp/term/bobcat.el
index 85f816570ee..85f211e39ff 100644
--- a/lisp/term/bobcat.el
+++ b/lisp/term/bobcat.el
@@ -2,5 +2,4 @@
;;; HP terminals usually encourage using ^H as the rubout character
(load "term/keyswap" nil t)
-;;; arch-tag: 754e4520-0a3e-4e6e-8ca5-9481b1f85cf7
;;; bobcat.el ends here
diff --git a/lisp/term/internal.el b/lisp/term/internal.el
index 87a78d2e9a2..8b22a0e02c2 100644
--- a/lisp/term/internal.el
+++ b/lisp/term/internal.el
@@ -728,5 +728,4 @@ list. You can (and should) also run it whenever the value of
;; characters to arrive at our display code verbatim.
(standard-display-8bit 127 255)
-;;; arch-tag: eea04c06-7311-4b5a-b531-3c1be1b070af
;;; internal.el ends here
diff --git a/lisp/term/iris-ansi.el b/lisp/term/iris-ansi.el
index e73c3e19968..199f724e0ce 100644
--- a/lisp/term/iris-ansi.el
+++ b/lisp/term/iris-ansi.el
@@ -322,5 +322,4 @@
(define-key function-key-map "\e[196q" [C-delete])
(define-key function-key-map "\e[197q" [M-delete])
-;;; arch-tag: b1d0e73a-bb7d-47be-9fb2-6fb126469a1b
;;; iris-ansi.el ends here
diff --git a/lisp/term/keyswap.el b/lisp/term/keyswap.el
index d636a22bb93..e9b45195431 100644
--- a/lisp/term/keyswap.el
+++ b/lisp/term/keyswap.el
@@ -38,5 +38,4 @@
(aset the-table ?\^h ?\177)
(setq keyboard-translate-table the-table))
-;;; arch-tag: 67cf7009-e23e-421c-9648-078e7277297c
;;; keyswap.el ends here
diff --git a/lisp/term/linux.el b/lisp/term/linux.el
index 80bfe83a4eb..2b4e7abc6d2 100644
--- a/lisp/term/linux.el
+++ b/lisp/term/linux.el
@@ -12,5 +12,4 @@
;; The third arg only matters in that it is not t or nil.
(set-input-mode (nth 0 value) (nth 1 value) 'iso-latin-1 (nth 3 value)))
-;;; arch-tag: 5d0c4f63-739b-4862-abf3-041fe42adb8f
;;; linux.el ends here
diff --git a/lisp/term/lk201.el b/lisp/term/lk201.el
index 1f8d9ca77a3..920b3e1b91f 100644
--- a/lisp/term/lk201.el
+++ b/lisp/term/lk201.el
@@ -68,5 +68,4 @@
(define-key function-key-map "\eOx" [kp-8])
(define-key function-key-map "\eOy" [kp-9])
-;;; arch-tag: 7ffb4444-6a23-43e1-b457-43cf4f673c0d
;;; lk201.el ends here
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el
index 9a61a8057b4..f9712a5a52f 100644
--- a/lisp/term/mac-win.el
+++ b/lisp/term/mac-win.el
@@ -1017,5 +1017,4 @@ ascii:-*-Monaco-*-*-*-*-12-*-*-*-*-*-mac-roman")
"The list of X colors from the `rgb.txt' file.
XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
-;;; arch-tag: 71dfcd14-cde8-4d66-b05c-85ec94fb23a6
;;; mac-win.el ends here
diff --git a/lisp/term/news.el b/lisp/term/news.el
index a6f7481c422..4d7bc17b588 100644
--- a/lisp/term/news.el
+++ b/lisp/term/news.el
@@ -70,5 +70,4 @@
(define-key news-fkey-prefix "x" [kp-8])
)
-;;; arch-tag: bfe141a0-623b-4b42-b753-5d9353776c5e
;;; news.el ends here
diff --git a/lisp/term/pc-win.el b/lisp/term/pc-win.el
index 663e3ea3e6f..0e40d51daf7 100644
--- a/lisp/term/pc-win.el
+++ b/lisp/term/pc-win.el
@@ -240,5 +240,4 @@ are fixed-pitch."
;; ---------------------------------------------------------------------------
-;;; arch-tag: 5cbdb455-b495-427b-95d0-e417d77d00b4
;;; pc-win.el ends here
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el
index 7839ebba95d..5bd89efe267 100644
--- a/lisp/term/rxvt.el
+++ b/lisp/term/rxvt.el
@@ -172,5 +172,4 @@ for the currently selected frame."
;; This recomputes all the default faces given the colors we've just set up.
(tty-set-up-initial-frame-faces)
-;;; arch-tag: 20cf2fb6-6318-4bab-9dbf-1d15048f2257
;;; rxvt.el ends here
diff --git a/lisp/term/sun-mouse.el b/lisp/term/sun-mouse.el
index 8d9bfb67cf7..95fa4b53444 100644
--- a/lisp/term/sun-mouse.el
+++ b/lisp/term/sun-mouse.el
@@ -679,5 +679,4 @@ just close the window, and wait for reopening."
(provide 'sun-mouse)
(provide 'term/sun-mouse) ; have to (require 'term/sun-mouse)
-;;; arch-tag: 6e879372-b899-4509-833f-d7f6250e309a
;;; sun-mouse.el ends here
diff --git a/lisp/term/sun.el b/lisp/term/sun.el
index e0564d44ecb..ed211ee8fc3 100644
--- a/lisp/term/sun.el
+++ b/lisp/term/sun.el
@@ -274,5 +274,4 @@
(sun-mouse-handler)) ; Now, execute this mouse blip.
(define-key ctl-x-map "\C-@" 'sun-mouse-once)
-;;; arch-tag: db761d47-fd7d-42b4-aae1-04fa116b6ba6
;;; sun.el ends here
diff --git a/lisp/term/sup-mouse.el b/lisp/term/sup-mouse.el
index 1ae0b25a733..9ef05b42f6a 100644
--- a/lisp/term/sup-mouse.el
+++ b/lisp/term/sup-mouse.el
@@ -196,5 +196,4 @@ X and Y are 0-based character positions on the frame."
(get-window-with-predicate (lambda (w)
(coordinates-in-window-p (cons x y) w))))
-;;; arch-tag: ec644ed4-cac4-43b8-b3db-cfe83e9098d7
;;; sup-mouse.el ends here
diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el
index 4fe39bce61f..627fc89e111 100644
--- a/lisp/term/tty-colors.el
+++ b/lisp/term/tty-colors.el
@@ -1047,5 +1047,4 @@ A color is considered gray if the 3 components of its RGB value are equal."
(setq colors (cdr colors)))
count))
-;;; arch-tag: 84d5c3ef-ae22-4754-99ac-e6350c0967ae
;;; tty-colors.el ends here
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 425ac200927..67864a6d8e0 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -123,5 +123,4 @@ With a negative argument, select numeric keypad mode."
(tvi970-set-keypad-mode 1)
-;;; arch-tag: c1334cf0-1462-41c3-a963-c077d175f8f0
;;; tvi970.el ends here
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index aa73722b158..cc33087ea5f 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -53,5 +53,4 @@ With negative argument, switch to 80-column mode."
(send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
(set-frame-width terminal-frame (if vt100-wide-mode 132 80)))
-;;; arch-tag: 9ff41f24-a7c9-4dee-9cf2-fbaa951eb840
;;; vt100.el ends here
diff --git a/lisp/term/vt102.el b/lisp/term/vt102.el
index 887f63837eb..4a2462aa81e 100644
--- a/lisp/term/vt102.el
+++ b/lisp/term/vt102.el
@@ -2,5 +2,4 @@
(load "term/vt100" nil t)
-;;; arch-tag: 6e839cfc-125a-4574-82f1-c23a51f7c50f
;;; vt102.el ends here
diff --git a/lisp/term/vt125.el b/lisp/term/vt125.el
index 458e0dafc22..bd5ecadf5ca 100644
--- a/lisp/term/vt125.el
+++ b/lisp/term/vt125.el
@@ -2,5 +2,4 @@
(load "term/vt100" nil t)
-;;; arch-tag: 1d92d70f-dd55-4a1d-9088-e215a4883801
;;; vt125.el ends here
diff --git a/lisp/term/vt200.el b/lisp/term/vt200.el
index 0ff0a30f567..e77c910ac5b 100644
--- a/lisp/term/vt200.el
+++ b/lisp/term/vt200.el
@@ -6,5 +6,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: 0f78f583-9f32-4237-b106-28bcfff21d89
;;; vt200.el ends here
diff --git a/lisp/term/vt201.el b/lisp/term/vt201.el
index d7deeaf11c7..5f1c6c8716f 100644
--- a/lisp/term/vt201.el
+++ b/lisp/term/vt201.el
@@ -6,5 +6,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: a6abb38f-60ea-449e-a9e9-3fb8572c52ae
;;; vt201.el ends here
diff --git a/lisp/term/vt220.el b/lisp/term/vt220.el
index 7ea1e3b57fa..eaa6243de6c 100644
--- a/lisp/term/vt220.el
+++ b/lisp/term/vt220.el
@@ -6,5 +6,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: 98fc4867-a20d-46a1-a276-d7be31e49871
;;; vt220.el ends here
diff --git a/lisp/term/vt240.el b/lisp/term/vt240.el
index 05f0bebe50f..0884097758d 100644
--- a/lisp/term/vt240.el
+++ b/lisp/term/vt240.el
@@ -6,5 +6,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: d9f88e9c-02dc-49ff-871c-a415f08e4eb7
;;; vt240.el ends here
diff --git a/lisp/term/vt300.el b/lisp/term/vt300.el
index 871ed234bc6..cd290f3f073 100644
--- a/lisp/term/vt300.el
+++ b/lisp/term/vt300.el
@@ -4,5 +4,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: 876831c9-a6f2-444a-b033-706e6fbc149f
;;; vt300.el ends here
diff --git a/lisp/term/vt320.el b/lisp/term/vt320.el
index c99b8672fc1..fdbcdb2bbce 100644
--- a/lisp/term/vt320.el
+++ b/lisp/term/vt320.el
@@ -4,5 +4,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: f9f4c954-0b9e-45f9-b450-a320d32abd9c
;;; vt320.el ends here
diff --git a/lisp/term/vt400.el b/lisp/term/vt400.el
index 666266e2bf5..7034d6d55e8 100644
--- a/lisp/term/vt400.el
+++ b/lisp/term/vt400.el
@@ -4,5 +4,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: a70809c5-6b21-42cc-ba20-536683e5e7d5
;;; vt400.el ends here
diff --git a/lisp/term/vt420.el b/lisp/term/vt420.el
index 9ed5fbe135b..b5ce8ee10c1 100644
--- a/lisp/term/vt420.el
+++ b/lisp/term/vt420.el
@@ -4,5 +4,4 @@
;; Make F11 an escape key.
(define-key function-key-map "\e[23~" [?\e])
-;;; arch-tag: df2f897c-3a12-4b3c-9259-df089f96c160
;;; vt420.el ends here
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index f43d8b235d1..27f72f94129 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -1255,5 +1255,4 @@ font dialog to get the matching FONTS. Otherwise use a pop-up menu
(if (null font)
(error "Font not found")))))
-;;; arch-tag: 69fb1701-28c2-4890-b351-3d1fe4b4f166
;;; w32-win.el ends here
diff --git a/lisp/term/wyse50.el b/lisp/term/wyse50.el
index edcbe1259fb..8bb12e6d75e 100644
--- a/lisp/term/wyse50.el
+++ b/lisp/term/wyse50.el
@@ -148,5 +148,4 @@ M-r M-x move-to-window-line, Funct up-arrow or down-arrow are similar
(send-string-to-terminal
(concat "\ea23R" (1+ (frame-width)) "C\eG0")))))
-;;; arch-tag: b6a05d37-eead-4cf6-b997-0f956c68881c
;;; wyse50.el ends here
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index d6260cb0bf7..ac5d14d114d 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -2456,5 +2456,4 @@ order until succeed.")
;; Turn on support for mouse wheels.
(mouse-wheel-mode 1)
-;;; arch-tag: f1501302-db8b-4d95-88e3-116697d89f78
;;; x-win.el ends here
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index d66646876b1..372b5f65ff1 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -236,5 +236,4 @@ versions of xterm."
;; This recomputes all the default faces given the colors we've just set up.
(tty-set-up-initial-frame-faces)
-;;; arch-tag: 12e7ebdd-1e6c-4b25-b0f9-35ace25e855a
;;; xterm.el ends here
diff --git a/lisp/terminal.el b/lisp/terminal.el
index 64c58d7743d..7d89f3ff824 100644
--- a/lisp/terminal.el
+++ b/lisp/terminal.el
@@ -1341,5 +1341,4 @@ in the directory specified by `te-terminfo-directory'."
(provide 'terminal)
-;;; arch-tag: 0ae1d7d7-90ef-4566-a531-6e7ff8c79b2f
;;; terminal.el ends here
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index e4f143c3b87..b973290725c 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -5515,5 +5515,4 @@ The event, EV, is the mouse event."
;; Don't hesitate to ask me any questions.
-;;; arch-tag: 3e63b881-aaaa-4b83-a072-220d4661a8a3
;;; artist.el ends here
diff --git a/lisp/textmodes/bib-mode.el b/lisp/textmodes/bib-mode.el
index 63714a3a096..82dd8cc785c 100644
--- a/lisp/textmodes/bib-mode.el
+++ b/lisp/textmodes/bib-mode.el
@@ -34,7 +34,6 @@
(defgroup bib nil
"Major mode for editing bib files."
:prefix "bib-"
- :group 'external
:group 'wp)
(defcustom bib-file "~/my-bibliography.bib"
@@ -236,5 +235,4 @@ named by variable `unread-bib-file'."
(provide 'bib-mode)
-;;; arch-tag: e3a97958-3c2c-487f-9557-fafc3c98452d
;;; bib-mode.el ends here
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index 480f304f175..141d1236417 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -3891,5 +3891,4 @@ is outside key or BibTeX field."
(provide 'bibtex)
-;;; arch-tag: ee2be3af-caad-427f-b42a-d20fad630d04
;;; bibtex.el ends here
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index 05eaef06ce6..acbef7ae18e 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -471,5 +471,4 @@ the range of text to assign text property SYMBOL with value VALUE."
(message "Warning: invalid <x-display> parameter %s" param))
(list start end 'display prop)))
-;;; arch-tag: 05cae488-3fea-45cd-ac29-5b02cb64e42b
;;; enriched.el ends here
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el
index 69b17f677ff..c8e635268eb 100644
--- a/lisp/textmodes/fill.el
+++ b/lisp/textmodes/fill.el
@@ -1406,5 +1406,4 @@ Also, if CITATION-REGEXP is non-nil, don't fill header lines."
"")
string))
-;;; arch-tag: 727ad455-1161-4fa9-8df5-0f74b179216d
;;; fill.el ends here
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index dc4f521c018..9d553a68845 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -2123,5 +2123,4 @@ This function is meant to be added to 'flyspell-incorrect-hook'."
(provide 'flyspell)
-;;; arch-tag: 05d915b9-e9cf-44fb-9137-fc28f5eaab2a
;;; flyspell.el ends here
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index e384c01b31b..5848956ac2a 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3572,5 +3572,4 @@ Both should not be used to define a buffer-local dictionary."
; LocalWords: uuencoded unidiff sc nn VM SGML eval IspellPersDict unsplitable
; LocalWords: lns XEmacs HTML casechars Multibyte
-;;; arch-tag: 4941b9f9-3b7c-4a76-a4ed-5fa8b6010ef5
;;; ispell.el ends here
diff --git a/lisp/textmodes/makeinfo.el b/lisp/textmodes/makeinfo.el
index 9136cb52202..c7489216068 100644
--- a/lisp/textmodes/makeinfo.el
+++ b/lisp/textmodes/makeinfo.el
@@ -282,5 +282,4 @@ line LINE of the window, or centered if LINE is nil."
;;; Place `provide' at end of file.
(provide 'makeinfo)
-;;; arch-tag: 5f810713-3de2-4e20-8030-4bc3dd0d9604
;;; makeinfo.el ends here
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index c0638804ffa..de122679f98 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -272,5 +272,4 @@ turns it on iff arg is positive, otherwise off."
(provide 'nroff-mode)
-;;; arch-tag: 6e276340-6c65-4f65-b4e3-0ca431ddfb6c
;;; nroff-mode.el ends here
diff --git a/lisp/textmodes/page-ext.el b/lisp/textmodes/page-ext.el
index 2afaafd6012..2c3fd38f340 100644
--- a/lisp/textmodes/page-ext.el
+++ b/lisp/textmodes/page-ext.el
@@ -800,6 +800,4 @@ to the same line in the pages buffer."
:syntax-table nil)
(provide 'page-ext)
-
-;;; arch-tag: 2f311550-c6e0-4458-9c12-7f039c058bdb
;;; page-ext.el ends here
diff --git a/lisp/textmodes/page.el b/lisp/textmodes/page.el
index f033a8504c8..ec09153d139 100644
--- a/lisp/textmodes/page.el
+++ b/lisp/textmodes/page.el
@@ -163,5 +163,4 @@ thus showing a page other than the one point was originally in."
;;; Place `provide' at end of file.
(provide 'page)
-;;; arch-tag: e8d7a0bd-8655-4b6e-b852-f2ee25316a1d
;;; page.el ends here
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 97abc2c1583..735eeca3e2a 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -469,5 +469,4 @@ ones already marked."
;;; coding: iso-2022-7bit
;;; End:
-;;; arch-tag: e727eb1a-527a-4464-b9d7-9d3ec0d1a575
;;; paragraphs.el ends here
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index 0497a823049..08357632177 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -755,5 +755,4 @@ With no argument strips whitespace from end of every line in Picture buffer
(provide 'picture)
-;;; arch-tag: e452d08d-a470-4fbf-896e-ea276698d1ca
;;; picture.el ends here
diff --git a/lisp/textmodes/po.el b/lisp/textmodes/po.el
index a4ec5d3ac8b..46e37311ab9 100644
--- a/lisp/textmodes/po.el
+++ b/lisp/textmodes/po.el
@@ -122,5 +122,4 @@ Called through `file-coding-system-alist', before the file is visited for real."
(provide 'po)
-;;; arch-tag: 56748a57-d64c-4200-8f6b-c3a70496eb8c
;;; po.el ends here
diff --git a/lisp/textmodes/refbib.el b/lisp/textmodes/refbib.el
index 5c9e6c1c6dc..4b3699409da 100644
--- a/lisp/textmodes/refbib.el
+++ b/lisp/textmodes/refbib.el
@@ -740,5 +740,4 @@ Please send bug reports and suggestions to
(provide 'refbib)
(provide 'refer-to-bibtex)
-;;; arch-tag: 664afee2-6e76-4408-ba56-981d8a179586
;;; refbib.el ends here
diff --git a/lisp/textmodes/refer.el b/lisp/textmodes/refer.el
index dd2006ad40d..9087f690a7c 100644
--- a/lisp/textmodes/refer.el
+++ b/lisp/textmodes/refer.el
@@ -395,5 +395,4 @@ found on the last refer-find-entry or refer-find-next-entry."
(setq refer-bib-files files))
files))
-;;; arch-tag: 151f641b-e79b-462b-9a29-a95c3793f300
;;; refer.el ends here
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 60b64e9a9f2..b5dd64a891a 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -3,7 +3,6 @@
;; Copyright (C) 2000, 2003 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
-;; Maintainer: Miles Bader <miles@gnu.org>
;; Keywords: wp
;; This file is part of GNU Emacs.
@@ -257,5 +256,4 @@ refilling if they would cause auto-filling."
(provide 'refill)
-;;; arch-tag: 2c4ce9e8-1daa-4a3b-b6f8-fd6ac5bf6138
;;; refill.el ends here
diff --git a/lisp/textmodes/reftex-auc.el b/lisp/textmodes/reftex-auc.el
index 7b9ad8348ca..b71e325612e 100644
--- a/lisp/textmodes/reftex-auc.el
+++ b/lisp/textmodes/reftex-auc.el
@@ -1,8 +1,8 @@
;;; reftex-auc.el --- RefTeX's interface to AUC TeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -34,7 +34,7 @@
;; Tell if a certain flag is set in reftex-plug-into-AUCTeX
(or (eq t reftex-plug-into-AUCTeX)
(and (listp reftex-plug-into-AUCTeX)
- (nth which reftex-plug-into-AUCTeX))))
+ (nth which reftex-plug-into-AUCTeX))))
(defun reftex-arg-label (optional &optional prompt definition)
"Use `reftex-label', `reftex-reference' or AUCTeX's code to insert label arg.
@@ -44,17 +44,17 @@ What is being used depends upon `reftex-plug-into-AUCTeX'."
((and definition (reftex-plug-flag 1))
;; Create a new label, with a temporary brace for `reftex-what-macro'
(unwind-protect
- (progn (insert "{") (setq label (or (reftex-label nil t) "")))
- (delete-backward-char 1)))
+ (progn (insert "{") (setq label (or (reftex-label nil t) "")))
+ (delete-backward-char 1)))
((and (not definition) (reftex-plug-flag 2))
;; Reference a label with RefTeX
(setq label (reftex-reference nil t)))
(t
;; AUCTeX's default mechanism
(setq label (completing-read (TeX-argument-prompt optional prompt "Key")
- (LaTeX-label-list)))))
+ (LaTeX-label-list)))))
(if (and definition (not (string-equal "" label)))
- (LaTeX-add-labels label))
+ (LaTeX-add-labels label))
(TeX-argument-insert label optional)))
(defun reftex-arg-cite (optional &optional prompt definition)
@@ -66,28 +66,28 @@ What is being used depends upon `reftex-plug-into-AUCTeX'."
(setq items (list (or (reftex-citation t) ""))))
(t
(setq prompt (concat (if optional "(Optional) " "")
- (if prompt prompt "Add key")
- ": (default none) "))
+ (if prompt prompt "Add key")
+ ": (default none) "))
(setq items (multi-prompt "," t prompt (LaTeX-bibitem-list)))))
(apply 'LaTeX-add-bibitems items)
(TeX-argument-insert (mapconcat 'identity items ",") optional)))
(defun reftex-arg-index-tag (optional &optional prompt &rest args)
- "Prompt for an index tag with completion.
+ "Prompt for an index tag with completion.
This is the name of an index, not the entry."
(let (tag taglist)
(setq prompt (concat (if optional "(Optional) " "")
- (if prompt prompt "Index tag")
- ": (default none) "))
+ (if prompt prompt "Index tag")
+ ": (default none) "))
(if (and reftex-support-index (reftex-plug-flag 4))
- ;; Use RefTeX completion
- (progn
- (reftex-access-scan-info nil)
- (setq taglist
- (cdr (assoc 'index-tags
- (symbol-value reftex-docstruct-symbol)))
- tag (completing-read prompt (mapcar 'list taglist))))
+ ;; Use RefTeX completion
+ (progn
+ (reftex-access-scan-info nil)
+ (setq taglist
+ (cdr (assoc 'index-tags
+ (symbol-value reftex-docstruct-symbol)))
+ tag (completing-read prompt (mapcar 'list taglist))))
;; Just ask like AUCTeX does.
(setq tag (read-string prompt)))
(TeX-argument-insert tag optional)))
@@ -98,12 +98,12 @@ Completion is specific for just one index, if the macro or a tag
argument identify one of multiple indices."
(let* (tag key)
(if (and reftex-support-index (reftex-plug-flag 4))
- (progn
- (reftex-access-scan-info nil)
- (setq tag (reftex-what-index-tag)
- key (reftex-index-complete-key (or tag "idx"))))
+ (progn
+ (reftex-access-scan-info nil)
+ (setq tag (reftex-what-index-tag)
+ key (reftex-index-complete-key (or tag "idx"))))
(setq key (completing-read (TeX-argument-prompt optional prompt "Key")
- (LaTeX-index-entry-list))))
+ (LaTeX-index-entry-list))))
(unless (string-equal "" key)
(LaTeX-add-index-entries key))
(TeX-argument-insert key optional)))
@@ -111,18 +111,18 @@ argument identify one of multiple indices."
(defun reftex-what-index-tag ()
;; Look backward to find out what index the macro at point belongs to
(let ((macro (save-excursion
- (and (re-search-backward "\\\\[a-zA-Z*]+" nil t)
- (match-string 0))))
- tag entry)
+ (and (re-search-backward "\\\\[a-zA-Z*]+" nil t)
+ (match-string 0))))
+ tag entry)
(when (and macro
- (setq entry (assoc macro reftex-index-macro-alist)))
+ (setq entry (assoc macro reftex-index-macro-alist)))
(setq tag (nth 1 entry))
(cond
((stringp tag) tag)
((integerp tag)
- (save-excursion
- (goto-char (match-end 1))
- (or (reftex-nth-arg tag (nth 6 entry)) "idx")))
+ (save-excursion
+ (goto-char (match-end 1))
+ (or (reftex-nth-arg tag (nth 6 entry)) "idx")))
(t "idx")))))
(defvar LaTeX-label-function)
@@ -130,7 +130,7 @@ argument identify one of multiple indices."
;; Replace AUCTeX functions with RefTeX functions.
;; Which functions are replaced is controlled by the variable
;; `reftex-plug-into-AUCTeX'.
-
+
(if (reftex-plug-flag 0)
(setq LaTeX-label-function 'reftex-label)
(setq LaTeX-label-function nil))
@@ -142,11 +142,11 @@ argument identify one of multiple indices."
(and (reftex-plug-flag 3)
(fboundp 'TeX-arg-cite)
(fset 'TeX-arg-cite 'reftex-arg-cite))
-
- (and (reftex-plug-flag 4)
+
+ (and (reftex-plug-flag 4)
(fboundp 'TeX-arg-index-tag)
(fset 'TeX-arg-index-tag 'reftex-arg-index-tag))
- (and (reftex-plug-flag 4)
+ (and (reftex-plug-flag 4)
(fboundp 'TeX-arg-index)
(fset 'TeX-arg-index 'reftex-arg-index)))
@@ -174,17 +174,17 @@ the label information is recompiled on next use."
(unless reftex-docstruct-symbol
(reftex-tie-multifile-symbols))
(when (and reftex-docstruct-symbol
- (symbolp reftex-docstruct-symbol))
+ (symbolp reftex-docstruct-symbol))
(let ((list (get reftex-docstruct-symbol 'reftex-label-alist-style))
- entry changed)
+ entry changed)
(while entry-list
- (setq entry (pop entry-list))
- (unless (member entry list)
- (setq reftex-tables-dirty t
- changed t)
- (push entry list)))
+ (setq entry (pop entry-list))
+ (unless (member entry list)
+ (setq reftex-tables-dirty t
+ changed t)
+ (push entry list)))
(when changed
- (put reftex-docstruct-symbol 'reftex-label-alist-style list)))))
+ (put reftex-docstruct-symbol 'reftex-label-alist-style list)))))
(defalias 'reftex-add-to-label-alist 'reftex-add-label-environments)
(defun reftex-add-section-levels (entry-list)
@@ -195,20 +195,19 @@ of ENTRY-LIST is a list of cons cells (\"MACRONAME\" . LEVEL). See
(unless reftex-docstruct-symbol
(reftex-tie-multifile-symbols))
(when (and reftex-docstruct-symbol
- (symbolp reftex-docstruct-symbol))
+ (symbolp reftex-docstruct-symbol))
(let ((list (get reftex-docstruct-symbol 'reftex-section-levels))
- entry changed)
+ entry changed)
(while entry-list
- (setq entry (pop entry-list))
- (unless (member entry list)
- (setq reftex-tables-dirty t
- changed t)
- (push entry list)))
+ (setq entry (pop entry-list))
+ (unless (member entry list)
+ (setq reftex-tables-dirty t
+ changed t)
+ (push entry list)))
(when changed
- (put reftex-docstruct-symbol 'reftex-section-levels list)))))
+ (put reftex-docstruct-symbol 'reftex-section-levels list)))))
(defun reftex-notice-new-section ()
(reftex-notice-new 1 'force))
-;;; arch-tag: 4a798e68-3405-421c-a09b-0269aac64ab4
;;; reftex-auc.el ends here
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el
index e25464c798d..acd33f3d62a 100644
--- a/lisp/textmodes/reftex-cite.el
+++ b/lisp/textmodes/reftex-cite.el
@@ -1,8 +1,8 @@
;;; reftex-cite.el --- creating citations with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -57,21 +57,21 @@
(defmacro reftex-with-special-syntax-for-bib (&rest body)
`(let ((saved-syntax (syntax-table)))
(unwind-protect
- (progn
- (set-syntax-table reftex-syntax-table-for-bib)
- ,@body)
+ (progn
+ (set-syntax-table reftex-syntax-table-for-bib)
+ ,@body)
(set-syntax-table saved-syntax))))
(defun reftex-default-bibliography ()
;; Return the expanded value of `reftex-default-bibliography'.
;; The expanded value is cached.
(unless (eq (get 'reftex-default-bibliography :reftex-raw)
- reftex-default-bibliography)
+ reftex-default-bibliography)
(put 'reftex-default-bibliography :reftex-expanded
- (reftex-locate-bibliography-files
- default-directory reftex-default-bibliography))
+ (reftex-locate-bibliography-files
+ default-directory reftex-default-bibliography))
(put 'reftex-default-bibliography :reftex-raw
- reftex-default-bibliography))
+ reftex-default-bibliography))
(get 'reftex-default-bibliography :reftex-expanded))
(defun reftex-bib-or-thebib ()
@@ -79,19 +79,19 @@
;; citation
;; Find the bof of the current file
(let* ((docstruct (symbol-value reftex-docstruct-symbol))
- (rest (or (member (list 'bof (buffer-file-name)) docstruct)
- docstruct))
- (bib (assq 'bib rest))
- (thebib (assq 'thebib rest))
- (bibmem (memq bib rest))
- (thebibmem (memq thebib rest)))
+ (rest (or (member (list 'bof (buffer-file-name)) docstruct)
+ docstruct))
+ (bib (assq 'bib rest))
+ (thebib (assq 'thebib rest))
+ (bibmem (memq bib rest))
+ (thebibmem (memq thebib rest)))
(when (not (or thebib bib))
(setq bib (assq 'bib docstruct)
- thebib (assq 'thebib docstruct)
- bibmem (memq bib docstruct)
- thebibmem (memq thebib docstruct)))
+ thebib (assq 'thebib docstruct)
+ bibmem (memq bib docstruct)
+ thebibmem (memq thebib docstruct)))
(if (> (length bibmem) (length thebibmem))
- (if bib 'bib nil)
+ (if bib 'bib nil)
(if thebib 'thebib nil))))
(defun reftex-get-bibfile-list ()
@@ -119,7 +119,7 @@
;; Find a certain reference in any of the BibTeX files.
(defun reftex-pop-to-bibtex-entry (key file-list &optional mark-to-kill
- highlight item return)
+ highlight item return)
;; Find BibTeX KEY in any file in FILE-LIST in another window.
;; If MARK-TO-KILL is non-nil, mark new buffer to kill.
;; If HIGHLIGHT is non-nil, highlight the match.
@@ -127,11 +127,11 @@
;; If RETURN is non-nil, just return the entry.
(let* ((re
- (if item
- (concat "\\\\bibitem\\(\\[[^]]*\\]\\)?{" (regexp-quote key) "}")
- (concat "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*" (regexp-quote key)
- "[, \t\r\n}]")))
- (buffer-conf (current-buffer))
+ (if item
+ (concat "\\\\bibitem\\(\\[[^]]*\\]\\)?{" (regexp-quote key) "}")
+ (concat "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*" (regexp-quote key)
+ "[, \t\r\n}]")))
+ (buffer-conf (current-buffer))
file buf pos)
(catch 'exit
@@ -145,71 +145,47 @@
(goto-char (point-min))
(when (re-search-forward re nil t)
(goto-char (match-beginning 0))
- (setq pos (point))
- (when return
- ;; Just return the relevant entry
- (if item (goto-char (match-end 0)))
- (setq return (buffer-substring
- (point) (reftex-end-of-bib-entry item)))
- (set-buffer buffer-conf)
- (throw 'exit return))
- (switch-to-buffer-other-window buf)
- (goto-char pos)
+ (setq pos (point))
+ (when return
+ ;; Just return the relevant entry
+ (if item (goto-char (match-end 0)))
+ (setq return (buffer-substring
+ (point) (reftex-end-of-bib-entry item)))
+ (set-buffer buffer-conf)
+ (throw 'exit return))
+ (switch-to-buffer-other-window buf)
+ (goto-char pos)
(recenter 0)
(if highlight
(reftex-highlight 0 (match-beginning 0) (match-end 0)))
(throw 'exit (selected-window))))
(set-buffer buffer-conf)
(if item
- (error "No \\bibitem with citation key %s" key)
- (error "No BibTeX entry with citation key %s" key)))))
+ (error "No \\bibitem with citation key %s" key)
+ (error "No BibTeX entry with citation key %s" key)))))
(defun reftex-end-of-bib-entry (item)
- (save-excursion
+ (save-excursion
(condition-case nil
- (if item
- (progn (end-of-line)
- (re-search-forward
- "\\\\bibitem\\|\\end{thebibliography}")
- (1- (match-beginning 0)))
- (progn (forward-list 1) (point)))
+ (if item
+ (progn (end-of-line)
+ (re-search-forward
+ "\\\\bibitem\\|\\end{thebibliography}")
+ (1- (match-beginning 0)))
+ (progn (forward-list 1) (point)))
(error (min (point-max) (+ 300 (point)))))))
;; Parse bibtex buffers
-(defun reftex-extract-bib-entries (buffers)
+(defun reftex-extract-bib-entries (buffers re-list)
;; Extract bib entries which match regexps from BUFFERS.
;; BUFFERS is a list of buffers or file names.
;; Return list with entries."
- (let* (re-list first-re rest-re
- (buffer-list (if (listp buffers) buffers (list buffers)))
- found-list entry buffer1 buffer alist
- key-point start-point end-point default)
-
- ;; Read a regexp, completing on known citation keys.
- (setq default (regexp-quote (reftex-get-bibkey-default)))
- (setq re-list
- (split-string
- (completing-read
- (concat
- "Regex { && Regex...}: "
- "[" default "]: ")
- (if reftex-mode
- (if (fboundp 'LaTeX-bibitem-list)
- (LaTeX-bibitem-list)
- (cdr (assoc 'bibview-cache
- (symbol-value reftex-docstruct-symbol))))
- nil)
- nil nil nil 'reftex-cite-regexp-hist)
- "[ \t]*&&[ \t]*"))
-
- (if (or (null re-list ) (equal re-list '("")))
- (setq re-list (list default)))
-
- (setq first-re (car re-list) ; We'll use the first re to find things,
- rest-re (cdr re-list)) ; the others to narrow down.
- (if (string-match "\\`[ \t]*\\'" (or first-re ""))
- (error "Empty regular expression"))
+ (let* ((buffer-list (if (listp buffers) buffers (list buffers)))
+ (first-re (car re-list)) ; We'll use the first re to find things,
+ (rest-re (cdr re-list)) ; the others to narrow down.
+ found-list entry buffer1 buffer alist
+ key-point start-point end-point default)
(save-excursion
(save-window-excursion
@@ -228,65 +204,62 @@
(message "Scanning bibliography database %s" buffer1))
(set-buffer buffer1)
- (reftex-with-special-syntax-for-bib
- (save-excursion
- (goto-char (point-min))
- (while (re-search-forward first-re nil t)
- (catch 'search-again
- (setq key-point (point))
- (unless (re-search-backward
- "\\(\\`\\|[\n\r]\\)[ \t]*@\\([a-zA-Z]+\\)[ \t\n\r]*[{(]" nil t)
- (throw 'search-again nil))
- (setq start-point (point))
- (goto-char (match-end 0))
- (condition-case nil
- (up-list 1)
- (error (goto-char key-point)
+ (reftex-with-special-syntax-for-bib
+ (save-excursion
+ (goto-char (point-min))
+ (while (re-search-forward first-re nil t)
+ (catch 'search-again
+ (setq key-point (point))
+ (unless (re-search-backward
+ "^[ \t]*@\\([a-zA-Z]+\\)[ \t\n\r]*[{(]" nil t)
+ (throw 'search-again nil))
+ (setq start-point (point))
+ (goto-char (match-end 0))
+ (condition-case nil
+ (up-list 1)
+ (error (goto-char key-point)
(throw 'search-again nil)))
- (setq end-point (point))
-
- ;; Ignore @string, @comment and @c entries or things
- ;; outside entries
- (when (or (string= (downcase (match-string 2)) "string")
- (string= (downcase (match-string 2)) "comment")
- (string= (downcase (match-string 2)) "c")
- (< (point) key-point)) ; this means match not in {}
- (goto-char key-point)
- (throw 'search-again nil))
-
- ;; Well, we have got a match
- ;;(setq entry (concat
- ;; (buffer-substring start-point (point)) "\n"))
- (setq entry (buffer-substring start-point (point)))
-
- ;; Check if other regexp match as well
- (setq re-list rest-re)
- (while re-list
- (unless (string-match (car re-list) entry)
- ;; nope - move on
- (throw 'search-again nil))
- (pop re-list))
-
- (setq alist (reftex-parse-bibtex-entry
- nil start-point end-point))
- (push (cons "&entry" entry) alist)
-
- ;; check for crossref entries
- (if (assoc "crossref" alist)
- (setq alist
- (append
- alist (reftex-get-crossref-alist alist))))
-
- ;; format the entry
- (push (cons "&formatted" (reftex-format-bib-entry alist))
- alist)
-
- ;; make key the first element
- (push (reftex-get-bib-field "&key" alist) alist)
-
- ;; add it to the list
- (push alist found-list)))))
- (reftex-kill-temporary-buffers))))
+ (setq end-point (point))
+
+ ;; Ignore @string, @comment and @c entries or things
+ ;; outside entries
+ (when (or (member-ignore-case (match-string 1)
+ '("string" "comment" "c"))
+ (< (point) key-point)) ; this means match not in {}
+ (goto-char key-point)
+ (throw 'search-again nil))
+
+ ;; Well, we have got a match
+ (setq entry (buffer-substring start-point (point)))
+
+ ;; Check if other regexp match as well
+ (setq re-list rest-re)
+ (while re-list
+ (unless (string-match (car re-list) entry)
+ ;; nope - move on
+ (throw 'search-again nil))
+ (pop re-list))
+
+ (setq alist (reftex-parse-bibtex-entry
+ nil start-point end-point))
+ (push (cons "&entry" entry) alist)
+
+ ;; check for crossref entries
+ (if (assoc "crossref" alist)
+ (setq alist
+ (append
+ alist (reftex-get-crossref-alist alist))))
+
+ ;; format the entry
+ (push (cons "&formatted" (reftex-format-bib-entry alist))
+ alist)
+
+ ;; make key the first element
+ (push (reftex-get-bib-field "&key" alist) alist)
+
+ ;; add it to the list
+ (push alist found-list)))))
+ (reftex-kill-temporary-buffers))))
(setq found-list (nreverse found-list))
;; Sorting
@@ -337,84 +310,61 @@
nil)))))
;; Parse the bibliography environment
-(defun reftex-extract-bib-entries-from-thebibliography (files)
+(defun reftex-extract-bib-entries-from-thebibliography (files re-list)
;; Extract bib-entries from the \begin{thebibliography} environment.
;; Parsing is not as good as for the BibTeX database stuff.
;; The environment should be located in file FILE.
- (let* (start end buf entries re re-list file default)
+ (let* (start end buf entries re file default)
(unless files
(error "Need file name to find thebibliography environment"))
(while (setq file (pop files))
- (setq buf (reftex-get-file-buffer-force
- file (not reftex-keep-temporary-buffers)))
+ (setq buf (reftex-get-file-buffer-force
+ file (not reftex-keep-temporary-buffers)))
(unless buf
- (error "No such file %s" file))
+ (error "No such file %s" file))
(message "Scanning thebibliography environment in %s" file)
(save-excursion
- (set-buffer buf)
- (save-restriction
- (widen)
- (goto-char (point-min))
- (while (re-search-forward
- "\\(\\`\\|[\n\r]\\)[ \t]*\\\\begin{thebibliography}" nil t)
- (beginning-of-line 2)
- (setq start (point))
- (if (re-search-forward
- "\\(\\`\\|[\n\r]\\)[ \t]*\\\\end{thebibliography}" nil t)
- (progn
- (beginning-of-line 1)
- (setq end (point))))
- (when (and start end)
- (setq entries
- (append entries
+ (set-buffer buf)
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (while (re-search-forward
+ "\\(\\`\\|[\n\r]\\)[ \t]*\\\\begin{thebibliography}" nil t)
+ (beginning-of-line 2)
+ (setq start (point))
+ (if (re-search-forward
+ "\\(\\`\\|[\n\r]\\)[ \t]*\\\\end{thebibliography}" nil t)
+ (progn
+ (beginning-of-line 1)
+ (setq end (point))))
+ (when (and start end)
+ (setq entries
+ (append entries
(mapcar 'reftex-parse-bibitem
- (delete ""
- (split-string
- (buffer-substring-no-properties start end)
- "[ \t\n\r]*\\\\bibitem\\(\\[[^]]*]\\)*"))))))
- (goto-char end)))))
+ (delete ""
+ (split-string
+ (buffer-substring-no-properties start end)
+ "[ \t\n\r]*\\\\bibitem\\(\\[[^]]*]\\)*"))))))
+ (goto-char end)))))
(unless entries
(error "No bibitems found"))
- ;; Read a regexp, completing on known citation keys.
- (setq default (regexp-quote (reftex-get-bibkey-default)))
- (setq re-list
- (split-string
- (completing-read
- (concat
- "Regex { && Regex...}: "
- "[" default "]: ")
- (if reftex-mode
- (if (fboundp 'LaTeX-bibitem-list)
- (LaTeX-bibitem-list)
- (cdr (assoc 'bibview-cache
- (symbol-value reftex-docstruct-symbol))))
- nil)
- nil nil nil 'reftex-cite-regexp-hist)
- "[ \t]*&&[ \t]*"))
-
- (if (or (null re-list ) (equal re-list '("")))
- (setq re-list (list default)))
-
- (if (string-match "\\`[ \t]*\\'" (car re-list))
- (error "Empty regular expression"))
-
(while (and (setq re (pop re-list)) entries)
- (setq entries
- (delq nil (mapcar
- (lambda (x)
- (if (string-match re (cdr (assoc "&entry" x)))
- x nil))
- entries))))
- (setq entries
- (mapcar
- (lambda (x)
- (push (cons "&formatted" (reftex-format-bibitem x)) x)
- (push (reftex-get-bib-field "&key" x) x)
- x)
- entries))
+ (setq entries
+ (delq nil (mapcar
+ (lambda (x)
+ (if (string-match re (cdr (assoc "&entry" x)))
+ x nil))
+ entries))))
+ (setq entries
+ (mapcar
+ (lambda (x)
+ (push (cons "&formatted" (reftex-format-bibitem x)) x)
+ (push (reftex-get-bib-field "&key" x) x)
+ x)
+ entries))
entries))
@@ -424,7 +374,7 @@
(let* ((macro (reftex-what-macro 1)))
(save-excursion
(if (and macro (string-match "cite" (car macro)))
- (goto-char (cdr macro)))
+ (goto-char (cdr macro)))
(skip-chars-backward "^a-zA-Z0-9")
(reftex-this-word))))
@@ -453,7 +403,7 @@
(progn
(set-buffer (get-buffer-create " *RefTeX-scratch*"))
(fundamental-mode)
- (set-syntax-table reftex-syntax-table-for-bib)
+ (set-syntax-table reftex-syntax-table-for-bib)
(erase-buffer)
(insert entry))
(widen)
@@ -500,9 +450,9 @@
;; Extract the field FIELDNAME from an ENTRY
(let ((cell (assoc fieldname entry)))
(if cell
- (if format
- (format format (cdr cell))
- (cdr cell))
+ (if format
+ (format format (cdr cell))
+ (cdr cell))
"")))
(defun reftex-format-bib-entry (entry)
@@ -537,9 +487,9 @@
(setq authors (reftex-truncate authors 30 t t))
(when (reftex-use-fonts)
(put-text-property 0 (length key) 'face
- (reftex-verified-face reftex-label-face
- 'font-lock-constant-face
- 'font-lock-reference-face)
+ (reftex-verified-face reftex-label-face
+ 'font-lock-constant-face
+ 'font-lock-reference-face)
key)
(put-text-property 0 (length authors) 'face reftex-bib-author-face
authors)
@@ -556,12 +506,12 @@
(let ((key "") (text ""))
(when (string-match "\\`{\\([^}]+\\)}\\([^\000]*\\)" item)
(setq key (match-string 1 item)
- text (match-string 2 item)))
+ text (match-string 2 item)))
;; Clean up the text a little bit
(while (string-match "[\n\r\t]\\|[ \t][ \t]+" text)
(setq text (replace-match " " nil t text)))
(if (string-match "\\`[ \t]+" text)
- (setq text (replace-match "" nil t text)))
+ (setq text (replace-match "" nil t text)))
(list
(cons "&key" key)
(cons "&text" text)
@@ -570,14 +520,14 @@
(defun reftex-format-bibitem (item)
;; Format a \bibitem entry so that it is (relatively) nice to look at.
(let ((text (reftex-get-bib-field "&text" item))
- (key (reftex-get-bib-field "&key" item))
- (lines nil))
+ (key (reftex-get-bib-field "&key" item))
+ (lines nil))
;; Wrap the text into several lines.
(while (and (> (length text) 70)
- (string-match " " (substring text 60)))
- (push (substring text 0 (+ 60 (match-beginning 0))) lines)
- (setq text (substring text (+ 61 (match-beginning 0)))))
+ (string-match " " (substring text 60)))
+ (push (substring text 0 (+ 60 (match-beginning 0))) lines)
+ (setq text (substring text (+ 61 (match-beginning 0)))))
(push text lines)
(setq text (mapconcat 'identity (nreverse lines) "\n "))
@@ -629,18 +579,18 @@ While entering the regexp, completion on knows citation keys is possible.
;; This really does the work of reftex-citation.
(let* ((format (reftex-figure-out-cite-format arg no-insert format-key))
- (docstruct-symbol reftex-docstruct-symbol)
- (selected-entries (reftex-offer-bib-menu))
- (insert-entries selected-entries)
- entry string cite-view)
+ (docstruct-symbol reftex-docstruct-symbol)
+ (selected-entries (reftex-offer-bib-menu))
+ (insert-entries selected-entries)
+ entry string cite-view)
(unless selected-entries (error "Quit"))
(if (stringp selected-entries)
- ;; Nonexistent entry
- (setq selected-entries nil
- insert-entries (list (list selected-entries
- (cons "&key" selected-entries))))
+ ;; Nonexistent entry
+ (setq selected-entries nil
+ insert-entries (list (list selected-entries
+ (cons "&key" selected-entries))))
;; It makes sense to compute the cite-view strings.
(setq cite-view t))
@@ -648,54 +598,54 @@ While entering the regexp, completion on knows citation keys is possible.
;; All keys go into a single command - we need to trick a little
(pop selected-entries)
(let ((concat-keys (mapconcat 'car selected-entries ",")))
- (setq insert-entries
- (list (list concat-keys (cons "&key" concat-keys))))))
-
+ (setq insert-entries
+ (list (list concat-keys (cons "&key" concat-keys))))))
+
(unless no-insert
;; We shall insert this into the buffer...
(message "Formatting...")
(while (setq entry (pop insert-entries))
- ;; Format the citation and insert it
- (setq string (if reftex-format-cite-function
- (funcall reftex-format-cite-function
- (reftex-get-bib-field "&key" entry)
- format)
- (reftex-format-citation entry format)))
- (insert string))
+ ;; Format the citation and insert it
+ (setq string (if reftex-format-cite-function
+ (funcall reftex-format-cite-function
+ (reftex-get-bib-field "&key" entry)
+ format)
+ (reftex-format-citation entry format)))
+ (insert string))
;; Reposition cursor?
(when (string-match "\\?" string)
- (search-backward "?")
- (delete-char 1))
+ (search-backward "?")
+ (delete-char 1))
;; Tell AUCTeX
- (when (and reftex-mode
- (fboundp 'LaTeX-add-bibitems)
- reftex-plug-into-AUCTeX)
- (apply 'LaTeX-add-bibitems (mapcar 'car selected-entries)))
-
+ (when (and reftex-mode
+ (fboundp 'LaTeX-add-bibitems)
+ reftex-plug-into-AUCTeX)
+ (apply 'LaTeX-add-bibitems (mapcar 'car selected-entries)))
+
;; Produce the cite-view strings
(when (and reftex-mode reftex-cache-cite-echo cite-view)
- (mapcar (lambda (entry)
- (reftex-make-cite-echo-string entry docstruct-symbol))
- selected-entries))
+ (mapcar (lambda (entry)
+ (reftex-make-cite-echo-string entry docstruct-symbol))
+ selected-entries))
(message ""))
(set-marker reftex-select-return-marker nil)
(reftex-kill-buffer "*RefTeX Select*")
-
+
;; Check if the prefix arg was numeric, and call recursively
(when (integerp arg)
(if (> arg 1)
- (progn
- (skip-chars-backward "}")
- (decf arg)
- (reftex-do-citation arg))
- (forward-char 1)))
-
+ (progn
+ (skip-chars-backward "}")
+ (decf arg)
+ (reftex-do-citation arg))
+ (forward-char 1)))
+
;; Return the citation key
(car (car selected-entries))))
@@ -703,44 +653,44 @@ While entering the regexp, completion on knows citation keys is possible.
;; Check if there is already a cite command at point and change cite format
;; in order to only add another reference in the same cite command.
(let ((macro (car (reftex-what-macro 1)))
- (cite-format-value (reftex-get-cite-format))
- key format)
+ (cite-format-value (reftex-get-cite-format))
+ key format)
(cond
(no-insert
;; Format does not really matter because nothing will be inserted.
(setq format "%l"))
-
+
((and (stringp macro)
- (string-match "\\`\\\\cite\\|cite\\'" macro))
+ (string-match "\\`\\\\cite\\|cite\\'" macro))
;; We are already inside a cite macro
(if (or (not arg) (not (listp arg)))
- (setq format
- (concat
- (if (member (preceding-char) '(?\{ ?,)) "" ",")
- "%l"
- (if (member (following-char) '(?\} ?,)) "" ",")))
- (setq format "%l")))
+ (setq format
+ (concat
+ (if (member (preceding-char) '(?\{ ?,)) "" ",")
+ "%l"
+ (if (member (following-char) '(?\} ?,)) "" ",")))
+ (setq format "%l")))
(t
;; Figure out the correct format
(setq format
(if (and (symbolp cite-format-value)
- (assq cite-format-value reftex-cite-format-builtin))
- (nth 2 (assq cite-format-value reftex-cite-format-builtin))
- cite-format-value))
+ (assq cite-format-value reftex-cite-format-builtin))
+ (nth 2 (assq cite-format-value reftex-cite-format-builtin))
+ cite-format-value))
(when (listp format)
- (setq key
- (or format-key
- (reftex-select-with-char
- "" (concat "SELECT A CITATION FORMAT\n\n"
- (mapconcat
- (lambda (x)
- (format "[%c] %s %s" (car x)
- (if (> (car x) 31) " " "")
- (cdr x)))
- format "\n")))))
- (if (assq key format)
- (setq format (cdr (assq key format)))
- (error "No citation format associated with key `%c'" key)))))
+ (setq key
+ (or format-key
+ (reftex-select-with-char
+ "" (concat "SELECT A CITATION FORMAT\n\n"
+ (mapconcat
+ (lambda (x)
+ (format "[%c] %s %s" (car x)
+ (if (> (car x) 31) " " "")
+ (cdr x)))
+ format "\n")))))
+ (if (assq key format)
+ (setq format (cdr (assq key format)))
+ (error "No citation format associated with key `%c'" key)))))
format))
(defun reftex-citep ()
@@ -758,141 +708,163 @@ While entering the regexp, completion on knows citation keys is possible.
;; Offer bib menu and return list of selected items
(let ((bibtype (reftex-bib-or-thebib))
- found-list rtn key data selected-entries)
- (while
- (not
- (catch 'done
- ;; Scan bibtex files
- (setq found-list
- (cond
- ((eq bibtype 'bib)
-; ((assq 'bib (symbol-value reftex-docstruct-symbol))
- ;; using BibTeX database files.
- (reftex-extract-bib-entries (reftex-get-bibfile-list)))
- ((eq bibtype 'thebib)
-; ((assq 'thebib (symbol-value reftex-docstruct-symbol))
- ;; using thebibliography environment.
- (reftex-extract-bib-entries-from-thebibliography
- (reftex-uniquify
- (mapcar 'cdr
- (reftex-all-assq
- 'thebib (symbol-value reftex-docstruct-symbol))))))
- (reftex-default-bibliography
- (message "Using default bibliography")
- (reftex-extract-bib-entries (reftex-default-bibliography)))
- (t (error "No valid bibliography in this document, and no default available"))))
-
- (unless found-list
- (error "Sorry, no matches found"))
-
- ;; Remember where we came from
- (setq reftex-call-back-to-this-buffer (current-buffer))
- (set-marker reftex-select-return-marker (point))
-
- ;; Offer selection
- (save-window-excursion
- (delete-other-windows)
- (let ((default-major-mode 'reftex-select-bib-mode))
- (reftex-kill-buffer "*RefTeX Select*")
- (switch-to-buffer-other-window "*RefTeX Select*")
- (unless (eq major-mode 'reftex-select-bib-mode)
- (reftex-select-bib-mode))
- (let ((buffer-read-only nil))
- (erase-buffer)
- (reftex-insert-bib-matches found-list)))
- (setq buffer-read-only t)
- (if (= 0 (buffer-size))
- (error "No matches found"))
- (setq truncate-lines t)
- (goto-char 1)
- (while t
- (setq rtn
- (reftex-select-item
- reftex-citation-prompt
- reftex-citation-help
- reftex-select-bib-map
- nil
- 'reftex-bibtex-selection-callback nil))
- (setq key (car rtn)
- data (nth 1 rtn))
- (unless key (throw 'done t))
- (cond
- ((eq key ?g)
- ;; Start over
- (throw 'done nil))
- ((eq key ?r)
- ;; Restrict with new regular expression
- (setq found-list (reftex-restrict-bib-matches found-list))
- (let ((buffer-read-only nil))
- (erase-buffer)
- (reftex-insert-bib-matches found-list))
- (goto-char 1))
- ((eq key ?A)
- ;; Take all (marked)
- (setq selected-entries
- (if reftex-select-marked
- (mapcar 'car (nreverse reftex-select-marked))
- found-list))
- (throw 'done t))
- ((eq key ?a)
- ;; Take all (marked), and push the symbol 'concat
- (setq selected-entries
- (cons 'concat
- (if reftex-select-marked
- (mapcar 'car (nreverse reftex-select-marked))
- found-list)))
- (throw 'done t))
- ((or (eq key ?\C-m)
- (eq key 'return))
- ;; Take selected
- (setq selected-entries
- (if reftex-select-marked
- (cons 'concat
- (mapcar 'car (nreverse reftex-select-marked)))
- (if data (list data) nil)))
- (throw 'done t))
- ((stringp key)
- ;; Got this one with completion
- (setq selected-entries key)
- (throw 'done t))
- (t
- (ding))))))))
+ found-list rtn key data selected-entries re-list)
+ (while
+ (not
+ (catch 'done
+ ;; Get the search regexps, completing on known citation keys.
+ (setq re-list
+ (let ((default (regexp-quote (reftex-get-bibkey-default))))
+ (split-string
+ (completing-read
+ (concat
+ "Regex { && Regex...}: "
+ "[" default "]: ")
+ (if reftex-mode
+ (if (fboundp 'LaTeX-bibitem-list)
+ (LaTeX-bibitem-list)
+ (cdr (assoc 'bibview-cache
+ (symbol-value reftex-docstruct-symbol))))
+ nil)
+ nil nil nil 'reftex-cite-regexp-hist default)
+ "[ \t]*&&[ \t]*")))
+
+ (if (string-match "\\`[ \t]*\\'" (car re-list))
+ (error "Empty regular expression"))
+
+ ;; Scan bibtex files
+ (setq found-list
+ (cond
+ ((eq bibtype 'bib)
+; ((assq 'bib (symbol-value reftex-docstruct-symbol))
+ ;; using BibTeX database files.
+ (reftex-extract-bib-entries (reftex-get-bibfile-list) re-list))
+ ((eq bibtype 'thebib)
+; ((assq 'thebib (symbol-value reftex-docstruct-symbol))
+ ;; using thebibliography environment.
+ (reftex-extract-bib-entries-from-thebibliography
+ (reftex-uniquify
+ (mapcar 'cdr
+ (reftex-all-assq
+ 'thebib (symbol-value reftex-docstruct-symbol))))
+ re-list))
+ (reftex-default-bibliography
+ (message "Using default bibliography")
+ (reftex-extract-bib-entries (reftex-default-bibliography)
+ re-list))
+ (t (error "No valid bibliography in this document, and no default available"))))
+
+ (unless found-list
+ (error "Sorry, no matches found"))
+
+ ;; Remember where we came from
+ (setq reftex-call-back-to-this-buffer (current-buffer))
+ (set-marker reftex-select-return-marker (point))
+
+ ;; Offer selection
+ (save-window-excursion
+ (delete-other-windows)
+ (let ((default-major-mode 'reftex-select-bib-mode))
+ (reftex-kill-buffer "*RefTeX Select*")
+ (switch-to-buffer-other-window "*RefTeX Select*")
+ (unless (eq major-mode 'reftex-select-bib-mode)
+ (reftex-select-bib-mode))
+ (let ((buffer-read-only nil))
+ (erase-buffer)
+ (reftex-insert-bib-matches found-list)))
+ (setq buffer-read-only t)
+ (if (= 0 (buffer-size))
+ (error "No matches found"))
+ (setq truncate-lines t)
+ (goto-char 1)
+ (while t
+ (setq rtn
+ (reftex-select-item
+ reftex-citation-prompt
+ reftex-citation-help
+ reftex-select-bib-map
+ nil
+ 'reftex-bibtex-selection-callback nil))
+ (setq key (car rtn)
+ data (nth 1 rtn))
+ (unless key (throw 'done t))
+ (cond
+ ((eq key ?g)
+ ;; Start over
+ (throw 'done nil))
+ ((eq key ?r)
+ ;; Restrict with new regular expression
+ (setq found-list (reftex-restrict-bib-matches found-list))
+ (let ((buffer-read-only nil))
+ (erase-buffer)
+ (reftex-insert-bib-matches found-list))
+ (goto-char 1))
+ ((eq key ?A)
+ ;; Take all (marked)
+ (setq selected-entries
+ (if reftex-select-marked
+ (mapcar 'car (nreverse reftex-select-marked))
+ found-list))
+ (throw 'done t))
+ ((eq key ?a)
+ ;; Take all (marked), and push the symbol 'concat
+ (setq selected-entries
+ (cons 'concat
+ (if reftex-select-marked
+ (mapcar 'car (nreverse reftex-select-marked))
+ found-list)))
+ (throw 'done t))
+ ((or (eq key ?\C-m)
+ (eq key 'return))
+ ;; Take selected
+ (setq selected-entries
+ (if reftex-select-marked
+ (cons 'concat
+ (mapcar 'car (nreverse reftex-select-marked)))
+ (if data (list data) nil)))
+ (throw 'done t))
+ ((stringp key)
+ ;; Got this one with completion
+ (setq selected-entries key)
+ (throw 'done t))
+ (t
+ (ding))))))))
selected-entries))
(defun reftex-restrict-bib-matches (found-list)
;; Limit FOUND-LIST with more regular expressions
(let ((re-list (split-string (read-string
- "RegExp [ && RegExp...]: "
- nil 'reftex-cite-regexp-hist)
- "[ \t]*&&[ \t]*"))
- (found-list-r found-list)
- re)
+ "RegExp [ && RegExp...]: "
+ nil 'reftex-cite-regexp-hist)
+ "[ \t]*&&[ \t]*"))
+ (found-list-r found-list)
+ re)
(while (setq re (pop re-list))
(setq found-list-r
- (delq nil
- (mapcar
- (lambda (x)
- (if (string-match
- re (cdr (assoc "&entry" x)))
- x
- nil))
- found-list-r))))
+ (delq nil
+ (mapcar
+ (lambda (x)
+ (if (string-match
+ re (cdr (assoc "&entry" x)))
+ x
+ nil))
+ found-list-r))))
(if found-list-r
- found-list-r
+ found-list-r
(ding)
found-list)))
(defun reftex-insert-bib-matches (list)
;; Insert the bib matches and number them correctly
(let ((mouse-face
- (if (memq reftex-highlight-selection '(mouse both))
- reftex-mouse-selected-face
- nil))
- tmp len)
- (mapcar
+ (if (memq reftex-highlight-selection '(mouse both))
+ reftex-mouse-selected-face
+ nil))
+ tmp len)
+ (mapcar
(lambda (x)
(setq tmp (cdr (assoc "&formatted" x))
- len (length tmp))
+ len (length tmp))
(put-text-property 0 len :data x tmp)
(put-text-property 0 (1- len) 'mouse-face mouse-face tmp)
(insert tmp))
@@ -944,7 +916,7 @@ While entering the regexp, completion on knows citation keys is possible.
((= l ?A) (car (reftex-get-bib-names "author" entry)))
((= l ?b) (reftex-get-bib-field "booktitle" entry "in: %s"))
((= l ?B) (reftex-abbreviate-title
- (reftex-get-bib-field "booktitle" entry "in: %s")))
+ (reftex-get-bib-field "booktitle" entry "in: %s")))
((= l ?c) (reftex-get-bib-field "chapter" entry))
((= l ?d) (reftex-get-bib-field "edition" entry))
((= l ?e) (reftex-format-names
@@ -967,7 +939,7 @@ While entering the regexp, completion on knows citation keys is possible.
((= l ?r) (reftex-get-bib-field "address" entry))
((= l ?t) (reftex-get-bib-field "title" entry))
((= l ?T) (reftex-abbreviate-title
- (reftex-get-bib-field "title" entry)))
+ (reftex-get-bib-field "title" entry)))
((= l ?v) (reftex-get-bib-field "volume" entry))
((= l ?y) (reftex-get-bib-field "year" entry)))))
@@ -984,25 +956,25 @@ While entering the regexp, completion on knows citation keys is possible.
(defun reftex-make-cite-echo-string (entry docstruct-symbol)
;; Format a bibtex entry for the echo area and cache the result.
(let* ((key (reftex-get-bib-field "&key" entry))
- (string
- (let* ((reftex-cite-punctuation '(" " " & " " etal.")))
- (reftex-format-citation entry reftex-cite-view-format)))
- (cache (assq 'bibview-cache (symbol-value docstruct-symbol)))
- (cache-entry (assoc key (cdr cache))))
+ (string
+ (let* ((reftex-cite-punctuation '(" " " & " " etal.")))
+ (reftex-format-citation entry reftex-cite-view-format)))
+ (cache (assq 'bibview-cache (symbol-value docstruct-symbol)))
+ (cache-entry (assoc key (cdr cache))))
(unless cache
;; This docstruct has no cache - make one.
(set docstruct-symbol (cons (cons 'bibview-cache nil)
- (symbol-value docstruct-symbol))))
+ (symbol-value docstruct-symbol))))
(when reftex-cache-cite-echo
(setq key (copy-sequence key))
(set-text-properties 0 (length key) nil key)
(set-text-properties 0 (length string) nil string)
(if cache-entry
- (unless (string= (cdr cache-entry) string)
- (setcdr cache-entry string)
- (put reftex-docstruct-symbol 'modified t))
- (push (cons key string) (cdr cache))
- (put reftex-docstruct-symbol 'modified t)))
+ (unless (string= (cdr cache-entry) string)
+ (setcdr cache-entry string)
+ (put reftex-docstruct-symbol 'modified t))
+ (push (cons key string) (cdr cache))
+ (put reftex-docstruct-symbol 'modified t)))
string))
(defun reftex-bibtex-selection-callback (data ignore no-revisit)
@@ -1015,33 +987,32 @@ While entering the regexp, completion on knows citation keys is possible.
(catch 'exit
(save-excursion
- (set-buffer reftex-call-back-to-this-buffer)
- (setq bibtype (reftex-bib-or-thebib))
- (cond
- ((eq bibtype 'bib)
-; ((assq 'bib (symbol-value reftex-docstruct-symbol))
- (setq bibfile-list (reftex-get-bibfile-list)))
- ((eq bibtype 'thebib)
-; ((assq 'thebib (symbol-value reftex-docstruct-symbol))
- (setq bibfile-list
- (reftex-uniquify
- (mapcar 'cdr
- (reftex-all-assq
- 'thebib (symbol-value reftex-docstruct-symbol))))
- item t))
- (reftex-default-bibliography
- (setq bibfile-list (reftex-default-bibliography)))
- (t (ding) (throw 'exit nil))))
+ (set-buffer reftex-call-back-to-this-buffer)
+ (setq bibtype (reftex-bib-or-thebib))
+ (cond
+ ((eq bibtype 'bib)
+; ((assq 'bib (symbol-value reftex-docstruct-symbol))
+ (setq bibfile-list (reftex-get-bibfile-list)))
+ ((eq bibtype 'thebib)
+; ((assq 'thebib (symbol-value reftex-docstruct-symbol))
+ (setq bibfile-list
+ (reftex-uniquify
+ (mapcar 'cdr
+ (reftex-all-assq
+ 'thebib (symbol-value reftex-docstruct-symbol))))
+ item t))
+ (reftex-default-bibliography
+ (setq bibfile-list (reftex-default-bibliography)))
+ (t (ding) (throw 'exit nil))))
(when no-revisit
- (setq bibfile-list (reftex-visited-files bibfile-list)))
+ (setq bibfile-list (reftex-visited-files bibfile-list)))
(condition-case nil
- (reftex-pop-to-bibtex-entry
- key bibfile-list (not reftex-keep-temporary-buffers) t item)
- (error (ding))))
-
+ (reftex-pop-to-bibtex-entry
+ key bibfile-list (not reftex-keep-temporary-buffers) t item)
+ (error (ding))))
+
(select-window win)))
-;;; arch-tag: d53d0a5a-ab32-4b52-a846-2a7c3527cd89
;;; reftex-cite.el ends here
diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el
index dc47a5e7564..34fd334987c 100644
--- a/lisp/textmodes/reftex-dcr.el
+++ b/lisp/textmodes/reftex-dcr.el
@@ -1,8 +1,8 @@
;;; reftex-dcr.el --- viewing cross references and citations with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;;
;; This file is part of GNU Emacs.
@@ -52,10 +52,10 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
;; See where we are.
(let* ((macro (car (reftex-what-macro-safe 1)))
(key (reftex-this-word "^{}%\n\r, \t"))
- dw)
+ dw)
(if (or (null macro) (reftex-in-comment))
- (error "Not on a crossref macro argument"))
+ (error "Not on a crossref macro argument"))
(setq reftex-call-back-to-this-buffer (current-buffer))
@@ -68,42 +68,42 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
(setq dw (reftex-view-cr-ref arg key auto-how)))
(auto-how nil) ;; No further action for automatic display (speed)
((or (equal macro "\\label")
- (member macro reftex-macros-with-labels))
+ (member macro reftex-macros-with-labels))
;; A label macro: search for reference macros
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
- (format reftex-find-reference-format (regexp-quote key))
- 4 nil nil)))
+ (format reftex-find-reference-format (regexp-quote key))
+ 4 nil nil)))
((equal macro "\\bibitem")
;; A bibitem macro: search for citations
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
- (format reftex-find-citation-regexp-format (regexp-quote key))
- 4 nil nil)))
+ (format reftex-find-citation-regexp-format (regexp-quote key))
+ 4 nil nil)))
((member macro reftex-macros-with-index)
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
- (format reftex-find-index-entry-regexp-format
- (regexp-quote key))
- 3 nil nil)))
- (t
+ (format reftex-find-index-entry-regexp-format
+ (regexp-quote key))
+ 3 nil nil)))
+ (t
(reftex-access-scan-info arg)
(catch 'exit
- (let ((list reftex-view-crossref-extra)
- entry mre action group)
- (while (setq entry (pop list))
- (setq mre (car entry)
- action (nth 1 entry)
- group (nth 2 entry))
- (when (string-match mre macro)
- (setq dw (reftex-view-regexp-match
- (format action key) group nil nil))
- (throw 'exit t))))
- (error "Not on a crossref macro argument"))))
+ (let ((list reftex-view-crossref-extra)
+ entry mre action group)
+ (while (setq entry (pop list))
+ (setq mre (car entry)
+ action (nth 1 entry)
+ group (nth 2 entry))
+ (when (string-match mre macro)
+ (setq dw (reftex-view-regexp-match
+ (format action key) group nil nil))
+ (throw 'exit t))))
+ (error "Not on a crossref macro argument"))))
(if (and (eq arg 2) (windowp dw)) (select-window dw))))
-
+
(defun reftex-view-cr-cite (arg key how)
- ;; View crossreference of a ref cite. HOW can have the values
+ ;; View crossreference of a ref cite. HOW can have the values
;; nil: Show in another window.
;; echo: Show one-line info in echo area.
;; tmp-window: Show in small window and arrange for window to disappear.
@@ -113,113 +113,113 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
(if (eq how 'tmp-window)
;; Remember the window configuration
- (put 'reftex-auto-view-crossref 'last-window-conf
- (current-window-configuration)))
+ (put 'reftex-auto-view-crossref 'last-window-conf
+ (current-window-configuration)))
(let (files size item (pos (point)) (win (selected-window)) pop-win
- (bibtype (reftex-bib-or-thebib)))
+ (bibtype (reftex-bib-or-thebib)))
;; Find the citation mode and the file list
(cond
; ((assq 'bib (symbol-value reftex-docstruct-symbol))
((eq bibtype 'bib)
(setq item nil
- files (reftex-get-bibfile-list)))
+ files (reftex-get-bibfile-list)))
; ((assq 'thebib (symbol-value reftex-docstruct-symbol))
((eq bibtype 'thebib)
(setq item t
- files (reftex-uniquify
- (mapcar 'cdr
- (reftex-all-assq
- 'thebib (symbol-value reftex-docstruct-symbol))))))
+ files (reftex-uniquify
+ (mapcar 'cdr
+ (reftex-all-assq
+ 'thebib (symbol-value reftex-docstruct-symbol))))))
(reftex-default-bibliography
(setq item nil
- files (reftex-default-bibliography)))
+ files (reftex-default-bibliography)))
(how) ;; don't throw for special display
(t (error "Cannot display crossref")))
(if (eq how 'echo)
- ;; Display in Echo area
- (reftex-echo-cite key files item)
+ ;; Display in Echo area
+ (reftex-echo-cite key files item)
;; Display in a window
(if (not (eq how 'tmp-window))
- ;; Normal display
- (reftex-pop-to-bibtex-entry key files nil t item)
- ;; A temporary window
- (condition-case nil
- (reftex-pop-to-bibtex-entry key files nil t item)
- (error (goto-char pos)
- (message "cite: no such citation key %s" key)
- (error "")))
- ;; Resize the window
- (setq size (max 1 (count-lines (point)
- (reftex-end-of-bib-entry item))))
- (let ((window-min-height 2))
- (shrink-window (1- (- (window-height) size)))
- (recenter 0))
- ;; Arrange restoration
- (add-hook 'pre-command-hook 'reftex-restore-window-conf))
-
- ;; Normal display in other window
+ ;; Normal display
+ (reftex-pop-to-bibtex-entry key files nil t item)
+ ;; A temporary window
+ (condition-case nil
+ (reftex-pop-to-bibtex-entry key files nil t item)
+ (error (goto-char pos)
+ (message "cite: no such citation key %s" key)
+ (error "")))
+ ;; Resize the window
+ (setq size (max 1 (count-lines (point)
+ (reftex-end-of-bib-entry item))))
+ (let ((window-min-height 2))
+ (shrink-window (1- (- (window-height) size)))
+ (recenter 0))
+ ;; Arrange restoration
+ (add-hook 'pre-command-hook 'reftex-restore-window-conf))
+
+ ;; Normal display in other window
(add-hook 'pre-command-hook 'reftex-highlight-shall-die)
(setq pop-win (selected-window))
(select-window win)
(goto-char pos)
(when (equal arg 2)
- (select-window pop-win)))))
+ (select-window pop-win)))))
(defun reftex-view-cr-ref (arg label how)
- ;; View crossreference of a ref macro. HOW can have the values
+ ;; View crossreference of a ref macro. HOW can have the values
;; nil: Show in another window.
;; echo: Show one-line info in echo area.
;; tmp-window: Show in small window and arrange for window to disappear.
;; Ensure access to scanning info
(reftex-access-scan-info (or arg current-prefix-arg))
-
+
(if (eq how 'tmp-window)
;; Remember the window configuration
- (put 'reftex-auto-view-crossref 'last-window-conf
- (current-window-configuration)))
+ (put 'reftex-auto-view-crossref 'last-window-conf
+ (current-window-configuration)))
(let* ((xr-data (assoc 'xr (symbol-value reftex-docstruct-symbol)))
- (xr-re (nth 2 xr-data))
- (entry (assoc label (symbol-value reftex-docstruct-symbol)))
- (win (selected-window)) pop-win (pos (point)))
+ (xr-re (nth 2 xr-data))
+ (entry (assoc label (symbol-value reftex-docstruct-symbol)))
+ (win (selected-window)) pop-win (pos (point)))
(if (and (not entry) (stringp label) xr-re (string-match xr-re label))
- ;; Label is defined in external document
- (save-excursion
- (save-match-data
- (set-buffer
- (or (reftex-get-file-buffer-force
- (cdr (assoc (match-string 1 label) (nth 1
- xr-data))))
- (error "Problem with external label %s" label))))
- (setq label (substring label (match-end 1)))
- (reftex-access-scan-info)
- (setq entry
- (assoc label (symbol-value reftex-docstruct-symbol)))))
+ ;; Label is defined in external document
+ (save-excursion
+ (save-match-data
+ (set-buffer
+ (or (reftex-get-file-buffer-force
+ (cdr (assoc (match-string 1 label) (nth 1
+ xr-data))))
+ (error "Problem with external label %s" label))))
+ (setq label (substring label (match-end 1)))
+ (reftex-access-scan-info)
+ (setq entry
+ (assoc label (symbol-value reftex-docstruct-symbol)))))
(if (eq how 'echo)
- ;; Display in echo area
- (reftex-echo-ref label entry (symbol-value reftex-docstruct-symbol))
+ ;; Display in echo area
+ (reftex-echo-ref label entry (symbol-value reftex-docstruct-symbol))
(let ((window-conf (current-window-configuration)))
- (condition-case nil
- (reftex-show-label-location entry t nil t t)
- (error (set-window-configuration window-conf)
- (message "ref: Label %s not found" label)
- (error "ref: Label %s not found" label)))) ;; 2nd is line OK
+ (condition-case nil
+ (reftex-show-label-location entry t nil t t)
+ (error (set-window-configuration window-conf)
+ (message "ref: Label %s not found" label)
+ (error "ref: Label %s not found" label)))) ;; 2nd is line OK
(add-hook 'pre-command-hook 'reftex-highlight-shall-die)
(when (eq how 'tmp-window)
- ;; Resize window and arrange restauration
- (shrink-window (1- (- (window-height) 9)))
- (recenter '(4))
- (add-hook 'pre-command-hook 'reftex-restore-window-conf))
+ ;; Resize window and arrange restauration
+ (shrink-window (1- (- (window-height) 9)))
+ (recenter '(4))
+ (add-hook 'pre-command-hook 'reftex-restore-window-conf))
(setq pop-win (selected-window))
(select-window win)
(goto-char pos)
(when (equal arg 2)
- (select-window pop-win)))))
+ (select-window pop-win)))))
(defun reftex-mouse-view-crossref (ev)
"View cross reference of \\ref or \\cite macro where you click.
@@ -240,28 +240,28 @@ With argument, actually select the window showing the cross reference."
(or (eq reftex-auto-view-crossref 'window) (not (current-message)))
;; Make sure we are not already displaying this one
(not (memq last-command '(reftex-view-crossref
- reftex-mouse-view-crossref)))
+ reftex-mouse-view-crossref)))
;; Quick precheck if this might be a relevant spot
;; FIXME: Can fail with backslash in comment
- (save-excursion
- (search-backward "\\" nil t)
- (looking-at "\\\\[a-zA-Z]*\\(cite\\|ref\\|bibentry\\)"))
+ (save-excursion
+ (search-backward "\\" nil t)
+ (looking-at "\\\\[a-zA-Z]*\\(cite\\|ref\\|bibentry\\)"))
(condition-case nil
- (let ((current-prefix-arg nil))
- (cond
- ((eq reftex-auto-view-crossref t)
- (reftex-view-crossref -1 'echo))
- ((eq reftex-auto-view-crossref 'window)
- (reftex-view-crossref -1 'tmp-window))
- (t nil)))
- (error nil))))
+ (let ((current-prefix-arg nil))
+ (cond
+ ((eq reftex-auto-view-crossref t)
+ (reftex-view-crossref -1 'echo))
+ ((eq reftex-auto-view-crossref 'window)
+ (reftex-view-crossref -1 'tmp-window))
+ (t nil)))
+ (error nil))))
(defun reftex-restore-window-conf ()
(set-window-configuration (get 'reftex-auto-view-crossref 'last-window-conf))
(put 'reftex-auto-view-crossref 'last-window-conf nil)
(remove-hook 'pre-command-hook 'reftex-restore-window-conf))
-
+
(defun reftex-echo-ref (label entry docstruct)
;; Display crossref info in echo area.
(cond
@@ -274,46 +274,46 @@ With argument, actually select the window showing the cross reference."
(message "ref(%s): %s" (nth 1 entry) (nth 2 entry)))
(let ((buf (get-buffer " *Echo Area*")))
(when buf
- (save-excursion
- (set-buffer buf)
- (run-hooks 'reftex-display-copied-context-hook)))))))
+ (save-excursion
+ (set-buffer buf)
+ (run-hooks 'reftex-display-copied-context-hook)))))))
(defun reftex-echo-cite (key files item)
;; Display citation info in echo area.
(let* ((cache (assq 'bibview-cache (symbol-value reftex-docstruct-symbol)))
- (cache-entry (assoc key (cdr cache)))
- entry string buf (all-files files))
+ (cache-entry (assoc key (cdr cache)))
+ entry string buf (all-files files))
(if (and reftex-cache-cite-echo cache-entry)
- ;; We can just use the cache
- (setq string (cdr cache-entry))
+ ;; We can just use the cache
+ (setq string (cdr cache-entry))
;; Need to look in the database
(unless reftex-revisit-to-echo
- (setq files (reftex-visited-files files)))
-
- (setq entry
- (condition-case nil
- (save-excursion
- (reftex-pop-to-bibtex-entry key files nil nil item t))
- (error
- (if (and files (= (length all-files) (length files)))
- (message "cite: no such database entry: %s" key)
- (message (substitute-command-keys
- (format reftex-no-info-message "cite"))))
- nil)))
+ (setq files (reftex-visited-files files)))
+
+ (setq entry
+ (condition-case nil
+ (save-excursion
+ (reftex-pop-to-bibtex-entry key files nil nil item t))
+ (error
+ (if (and files (= (length all-files) (length files)))
+ (message "cite: no such database entry: %s" key)
+ (message (substitute-command-keys
+ (format reftex-no-info-message "cite"))))
+ nil)))
(when entry
- (if item
- (setq string (reftex-nicify-text entry))
- (setq string (reftex-make-cite-echo-string
- (reftex-parse-bibtex-entry entry)
- reftex-docstruct-symbol)))))
+ (if item
+ (setq string (reftex-nicify-text entry))
+ (setq string (reftex-make-cite-echo-string
+ (reftex-parse-bibtex-entry entry)
+ reftex-docstruct-symbol)))))
(unless (or (null string) (equal string ""))
(message "cite: %s" string))
(when (setq buf (get-buffer " *Echo Area*"))
(save-excursion
- (set-buffer buf)
- (run-hooks 'reftex-display-copied-context-hook)))))
+ (set-buffer buf)
+ (run-hooks 'reftex-display-copied-context-hook)))))
(defvar reftex-use-itimer-in-xemacs nil
"*Non-nil means use the idle timers in XEmacs for crossref display.
@@ -326,34 +326,34 @@ will display info in the echo area."
(interactive)
(if reftex-auto-view-crossref-timer
(progn
- (if (featurep 'xemacs)
- (if reftex-use-itimer-in-xemacs
- (delete-itimer reftex-auto-view-crossref-timer)
- (remove-hook 'post-command-hook 'reftex-start-itimer-once))
- (cancel-timer reftex-auto-view-crossref-timer))
- (setq reftex-auto-view-crossref-timer nil)
- (message "Automatic display of crossref information was turned off"))
+ (if (featurep 'xemacs)
+ (if reftex-use-itimer-in-xemacs
+ (delete-itimer reftex-auto-view-crossref-timer)
+ (remove-hook 'post-command-hook 'reftex-start-itimer-once))
+ (cancel-timer reftex-auto-view-crossref-timer))
+ (setq reftex-auto-view-crossref-timer nil)
+ (message "Automatic display of crossref information was turned off"))
(setq reftex-auto-view-crossref-timer
- (if (featurep 'xemacs)
- (if reftex-use-itimer-in-xemacs
- (start-itimer "RefTeX Idle Timer"
- 'reftex-view-crossref-when-idle
- reftex-idle-time reftex-idle-time t)
- (add-hook 'post-command-hook 'reftex-start-itimer-once)
- t)
- (run-with-idle-timer
- reftex-idle-time t 'reftex-view-crossref-when-idle)))
+ (if (featurep 'xemacs)
+ (if reftex-use-itimer-in-xemacs
+ (start-itimer "RefTeX Idle Timer"
+ 'reftex-view-crossref-when-idle
+ reftex-idle-time reftex-idle-time t)
+ (add-hook 'post-command-hook 'reftex-start-itimer-once)
+ t)
+ (run-with-idle-timer
+ reftex-idle-time t 'reftex-view-crossref-when-idle)))
(unless reftex-auto-view-crossref
(setq reftex-auto-view-crossref t))
(message "Automatic display of crossref information was turned on")))
(defun reftex-start-itimer-once ()
(and reftex-mode
- (not (itimer-live-p reftex-auto-view-crossref-timer))
- (setq reftex-auto-view-crossref-timer
- (start-itimer "RefTeX Idle Timer"
- 'reftex-view-crossref-when-idle
- reftex-idle-time nil t))))
+ (not (itimer-live-p reftex-auto-view-crossref-timer))
+ (setq reftex-auto-view-crossref-timer
+ (start-itimer "RefTeX Idle Timer"
+ 'reftex-view-crossref-when-idle
+ reftex-idle-time nil t))))
(defun reftex-view-crossref-from-bibtex (&optional arg)
"View location in a LaTeX document which cites the BibTeX entry at point.
@@ -362,34 +362,34 @@ prompts upon first use for a buffer in RefTeX mode. To reset this
link to a document, call the function with with a prefix arg.
Calling this function several times find successive citation locations."
(interactive "P")
- (when arg
+ (when arg
;; Break connection to reference buffer
(put 'reftex-bibtex-view-cite-locations :ref-buffer nil))
(let ((ref-buffer (get 'reftex-bibtex-view-cite-locations :ref-buffer)))
;; Establish connection to reference buffer
(unless ref-buffer
(setq ref-buffer
- (save-excursion
- (completing-read
- "Reference buffer: "
- (delq nil
- (mapcar
- (lambda (b)
- (set-buffer b)
- (if reftex-mode (list (buffer-name b)) nil))
- (buffer-list)))
- nil t)))
+ (save-excursion
+ (completing-read
+ "Reference buffer: "
+ (delq nil
+ (mapcar
+ (lambda (b)
+ (set-buffer b)
+ (if reftex-mode (list (buffer-name b)) nil))
+ (buffer-list)))
+ nil t)))
(put 'reftex-bibtex-view-cite-locations :ref-buffer ref-buffer))
;; Search for citations
(bibtex-beginning-of-entry)
(if (looking-at
- "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*\\([^, \t\r\n}]+\\)")
- (progn
- (goto-char (match-beginning 1))
- (reftex-view-regexp-match
- (format reftex-find-citation-regexp-format
- (regexp-quote (match-string 1)))
- 4 arg ref-buffer))
+ "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*\\([^, \t\r\n}]+\\)")
+ (progn
+ (goto-char (match-beginning 1))
+ (reftex-view-regexp-match
+ (format reftex-find-citation-regexp-format
+ (regexp-quote (match-string 1)))
+ 4 arg ref-buffer))
(error "Cannot find citation key in BibTeX entry"))))
(defun reftex-view-regexp-match (re &optional highlight-group new ref-buffer)
@@ -402,39 +402,39 @@ Calling this function several times find successive citation locations."
;;; Decide if new search or continued search
(let* ((oldprop (get 'reftex-view-regexp-match :props))
- (newprop (list (current-buffer) re))
- (cont (and (not new) (equal oldprop newprop)))
- (cnt (if cont (get 'reftex-view-regexp-match :cnt) 0))
- (current-window (selected-window))
- (window-conf (current-window-configuration))
- match pop-window)
+ (newprop (list (current-buffer) re))
+ (cont (and (not new) (equal oldprop newprop)))
+ (cnt (if cont (get 'reftex-view-regexp-match :cnt) 0))
+ (current-window (selected-window))
+ (window-conf (current-window-configuration))
+ match pop-window)
(switch-to-buffer-other-window (or ref-buffer (current-buffer)))
;; Search
(condition-case nil
- (if cont
- (setq match (reftex-global-search-continue))
- (reftex-access-scan-info)
- (setq match (reftex-global-search re (reftex-all-document-files))))
+ (if cont
+ (setq match (reftex-global-search-continue))
+ (reftex-access-scan-info)
+ (setq match (reftex-global-search re (reftex-all-document-files))))
(error nil))
;; Evaluate the match.
(if match
- (progn
- (put 'reftex-view-regexp-match :props newprop)
- (put 'reftex-view-regexp-match :cnt (incf cnt))
- (reftex-highlight 0 (match-beginning highlight-group)
- (match-end highlight-group))
- (add-hook 'pre-command-hook 'reftex-highlight-shall-die)
- (setq pop-window (selected-window)))
+ (progn
+ (put 'reftex-view-regexp-match :props newprop)
+ (put 'reftex-view-regexp-match :cnt (incf cnt))
+ (reftex-highlight 0 (match-beginning highlight-group)
+ (match-end highlight-group))
+ (add-hook 'pre-command-hook 'reftex-highlight-shall-die)
+ (setq pop-window (selected-window)))
(put 'reftex-view-regexp-match :props nil)
(or cont (set-window-configuration window-conf)))
(select-window current-window)
(if match
- (progn
- (message "Match Nr. %s" cnt)
- pop-window)
+ (progn
+ (message "Match Nr. %s" cnt)
+ pop-window)
(if cont
- (error "No further matches (total number of matches: %d)" cnt)
- (error "No matches")))))
+ (error "No further matches (total number of matches: %d)" cnt)
+ (error "No matches")))))
(defvar reftex-global-search-marker (make-marker))
(defun reftex-global-search (regexp file-list)
@@ -449,11 +449,11 @@ Calling this function several times find successive citation locations."
(unless (get 'reftex-global-search :file-list)
(error "No global search to continue"))
(let* ((file-list (get 'reftex-global-search :file-list))
- (regexp (get 'reftex-global-search :regexp))
- (buf (or (marker-buffer reftex-global-search-marker)
- (reftex-get-file-buffer-force (car file-list))))
- (pos (or (marker-position reftex-global-search-marker) 1))
- file)
+ (regexp (get 'reftex-global-search :regexp))
+ (buf (or (marker-buffer reftex-global-search-marker)
+ (reftex-get-file-buffer-force (car file-list))))
+ (pos (or (marker-position reftex-global-search-marker) 1))
+ file)
;; Take up starting position
(unless buf (error "No such buffer %s" buf))
(switch-to-buffer buf)
@@ -461,23 +461,22 @@ Calling this function several times find successive citation locations."
(goto-char pos)
;; Search and switch file if necessary
(if (catch 'exit
- (while t
- (when (re-search-forward regexp nil t)
- (move-marker reftex-global-search-marker (point))
- (throw 'exit t))
- ;; No match - goto next file
- (pop file-list)
- (or file-list (throw 'exit nil))
- (setq file (car file-list)
- buf (reftex-get-file-buffer-force file))
- (unless buf (error "Cannot access file %s" file))
- (put 'reftex-global-search :file-list file-list)
- (switch-to-buffer buf)
- (widen)
- (goto-char 1)))
- t
+ (while t
+ (when (re-search-forward regexp nil t)
+ (move-marker reftex-global-search-marker (point))
+ (throw 'exit t))
+ ;; No match - goto next file
+ (pop file-list)
+ (or file-list (throw 'exit nil))
+ (setq file (car file-list)
+ buf (reftex-get-file-buffer-force file))
+ (unless buf (error "Cannot access file %s" file))
+ (put 'reftex-global-search :file-list file-list)
+ (switch-to-buffer buf)
+ (widen)
+ (goto-char 1)))
+ t
(move-marker reftex-global-search-marker nil)
(error "All files processed"))))
-;;; arch-tag: d2f52b56-744e-44ad-830d-1fc193b90eda
;;; reftex-dcr.el ends here
diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el
index 84b4c7c67f5..36cecd12c1a 100644
--- a/lisp/textmodes/reftex-global.el
+++ b/lisp/textmodes/reftex-global.el
@@ -1,8 +1,8 @@
;;; reftex-global.el --- operations on entire documents with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -107,26 +107,26 @@ No active TAGS table is required."
(reftex-access-scan-info t)
(let ((master (reftex-TeX-master-file))
- (cnt 0)
+ (cnt 0)
(dlist
(mapcar
- (lambda (x)
- (let (x1)
- (cond
- ((memq (car x)
- '(toc bof eof bib thebib label-numbers xr xr-doc
- master-dir file-error bibview-cache appendix
- is-multi index))
- nil)
- (t
- (setq x1 (reftex-all-assoc-string
- (car x) (symbol-value reftex-docstruct-symbol)))
- (if (< 1 (length x1))
- (append (list (car x))
- (mapcar (lambda(x)
- (abbreviate-file-name (nth 3 x)))
- x1))
- (list nil))))))
+ (lambda (x)
+ (let (x1)
+ (cond
+ ((memq (car x)
+ '(toc bof eof bib thebib label-numbers xr xr-doc
+ master-dir file-error bibview-cache appendix
+ is-multi index))
+ nil)
+ (t
+ (setq x1 (reftex-all-assoc-string
+ (car x) (symbol-value reftex-docstruct-symbol)))
+ (if (< 1 (length x1))
+ (append (list (car x))
+ (mapcar (lambda(x)
+ (abbreviate-file-name (nth 3 x)))
+ x1))
+ (list nil))))))
(reftex-uniquify-by-car (symbol-value reftex-docstruct-symbol)))))
(setq dlist (reftex-uniquify-by-car dlist))
@@ -135,19 +135,19 @@ No active TAGS table is required."
(set (make-local-variable 'TeX-master) master)
(erase-buffer)
(insert " MULTIPLE LABELS IN CURRENT DOCUMENT:\n")
- (insert
+ (insert
" Move point to label and type `r' to run a query-replace on the label\n"
" and its references. Type `q' to exit this buffer.\n\n")
(insert " LABEL FILE\n")
(insert " -------------------------------------------------------------\n")
(use-local-map (make-sparse-keymap))
(local-set-key [?q] (lambda () "Kill this buffer." (interactive)
- (kill-buffer (current-buffer)) (delete-window)))
+ (kill-buffer (current-buffer)) (delete-window)))
(local-set-key [?r] 'reftex-change-label)
(while dlist
(when (and (car (car dlist))
(cdr (car dlist)))
- (incf cnt)
+ (incf cnt)
(insert (mapconcat 'identity (car dlist) "\n ") "\n"))
(pop dlist))
(goto-char (point-min))
@@ -157,7 +157,7 @@ No active TAGS table is required."
(message "Document does not contain duplicate labels."))))
(defun reftex-change-label (&optional from to)
- "Run `query-replace-regexp' of FROM with TO in all macro arguments.
+ "Run `query-replace-regexp' of FROM with TO in all \\label and \\ref commands.
Works on the entire multifile document.
If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
with the command \\[tags-loop-continue].
@@ -172,8 +172,8 @@ No active TAGS table is required."
(setq to (read-string (format "Replace label %s with: "
from))))
(reftex-query-replace-document
- (concat "{" (regexp-quote from) "}")
- (format "{%s}" to))))
+ (concat "\\\\\\(label\\|[a-zA-Z]*ref\\){" (regexp-quote from) "}")
+ (format "\\\\\\1{%s}" to))))
(defun reftex-renumber-simple-labels ()
"Renumber all simple labels in the document to make them sequentially.
@@ -190,33 +190,33 @@ one with the `xr' package."
(reftex-access-scan-info 1)
;; Get some insurance
(if (and (reftex-is-multi)
- (not (yes-or-no-p "Replacing all simple labels in multiple files is risky. Continue? ")))
+ (not (yes-or-no-p "Replacing all simple labels in multiple files is risky. Continue? ")))
(error "Abort"))
;; Make the translation list
- (let* ((re-core (concat "\\("
- (mapconcat 'cdr reftex-typekey-to-prefix-alist "\\|")
- "\\)"))
- (label-re (concat "\\`" re-core "\\([0-9]+\\)\\'"))
- (search-re (concat "[{,]\\(" re-core "\\([0-9]+\\)\\)[,}]"))
- (error-fmt "Undefined label or reference %s. Ignore and continue? ")
- (label-numbers-alist (mapcar (lambda (x) (cons (cdr x) 0))
- reftex-typekey-to-prefix-alist))
- (files (reftex-all-document-files))
- (list (symbol-value reftex-docstruct-symbol))
- translate-alist n entry label new-label nr-cell changed-sequence)
+ (let* ((re-core (concat "\\("
+ (mapconcat 'cdr reftex-typekey-to-prefix-alist "\\|")
+ "\\)"))
+ (label-re (concat "\\`" re-core "\\([0-9]+\\)\\'"))
+ (search-re (concat "[{,]\\(" re-core "\\([0-9]+\\)\\)[,}]"))
+ (error-fmt "Undefined label or reference %s. Ignore and continue? ")
+ (label-numbers-alist (mapcar (lambda (x) (cons (cdr x) 0))
+ reftex-typekey-to-prefix-alist))
+ (files (reftex-all-document-files))
+ (list (symbol-value reftex-docstruct-symbol))
+ translate-alist n entry label new-label nr-cell changed-sequence)
(while (setq entry (pop list))
(when (and (stringp (car entry))
- (string-match label-re (car entry)))
- (setq label (car entry)
- nr-cell (assoc (match-string 1 (car entry))
- label-numbers-alist))
- (if (assoc label translate-alist)
- (error "Duplicate label %s" label))
- (setq new-label (concat (match-string 1 (car entry))
- (int-to-string (incf (cdr nr-cell)))))
- (push (cons label new-label) translate-alist)
- (or (string= label new-label) (setq changed-sequence t))))
+ (string-match label-re (car entry)))
+ (setq label (car entry)
+ nr-cell (assoc (match-string 1 (car entry))
+ label-numbers-alist))
+ (if (assoc label translate-alist)
+ (error "Duplicate label %s" label))
+ (setq new-label (concat (match-string 1 (car entry))
+ (int-to-string (incf (cdr nr-cell)))))
+ (push (cons label new-label) translate-alist)
+ (or (string= label new-label) (setq changed-sequence t))))
(unless changed-sequence
(error "Simple labels are already in correct sequence"))
@@ -227,79 +227,79 @@ one with the `xr' package."
(reftex-save-all-document-buffers)
;; First test to check for erros
- (setq n (reftex-translate
- files search-re translate-alist error-fmt 'test))
+ (setq n (reftex-translate
+ files search-re translate-alist error-fmt 'test))
;; Now the real thing.
- (if (yes-or-no-p
- (format "Replace %d items at %d places in %d files? "
- (length translate-alist) n (length files)))
- (progn
- (let ((inhibit-quit t)) ;; Do not disturb...
- (reftex-translate
- files search-re translate-alist error-fmt nil)
- (setq quit-flag nil))
- (if (and (reftex-is-multi)
- (yes-or-no-p "Save entire document? "))
- (reftex-save-all-document-buffers))
- ;; Rescan again...
- (reftex-access-scan-info 1)
- (message "Done replacing simple labels."))
+ (if (yes-or-no-p
+ (format "Replace %d items at %d places in %d files? "
+ (length translate-alist) n (length files)))
+ (progn
+ (let ((inhibit-quit t)) ;; Do not disturb...
+ (reftex-translate
+ files search-re translate-alist error-fmt nil)
+ (setq quit-flag nil))
+ (if (and (reftex-is-multi)
+ (yes-or-no-p "Save entire document? "))
+ (reftex-save-all-document-buffers))
+ ;; Rescan again...
+ (reftex-access-scan-info 1)
+ (message "Done replacing simple labels."))
(message "No replacements done"))))
(defun reftex-translate (files search-re translate-alist error-fmt test)
;; In FILES, look for SEARCH-RE and replace match 1 of it with
- ;; its association in TRANSLATE-ALSIT.
+ ;; its association in TRANSLATE-ALSIT.
;; If we do not find an association and TEST is non-nil, query
- ;; to ignore the problematic string.
+ ;; to ignore the problematic string.
;; If TEST is nil, it is ignored without query.
;; Return the number of replacements.
(let ((n 0) file label match-data buf macro pos cell)
(while (setq file (pop files))
(setq buf (reftex-get-file-buffer-force file))
(unless buf
- (error "No such file %s" file))
+ (error "No such file %s" file))
(set-buffer buf)
(save-excursion
- (save-restriction
- (widen)
- (goto-char (point-min))
- (while (re-search-forward search-re nil t)
- (backward-char)
- (save-excursion
- (setq label (reftex-match-string 1)
- cell (assoc label translate-alist)
- match-data (match-data)
- macro (reftex-what-macro 1)
- pos (cdr macro))
- (goto-char (or pos (point)))
- (when (and macro
- (or (looking-at "\\\\ref")
- (looking-at "\\\\[a-zA-Z]*ref\\(range\\)?[^a-zA-Z]")
- (looking-at "\\\\ref[a-zA-Z]*[^a-zA-Z]")
- (looking-at (format
- reftex-find-label-regexp-format
- (regexp-quote label)))))
- ;; OK, we should replace it.
- (set-match-data match-data)
- (cond
- ((and test (not cell))
- ;; We've got a problem
- (unwind-protect
- (progn
- (reftex-highlight 1 (match-beginning 0) (match-end 0))
- (ding)
- (or (y-or-n-p (format error-fmt label))
- (error "Abort")))
- (reftex-unhighlight 1)))
- ((and test cell)
- (incf n))
- ((and (not test) cell)
- ;; Replace
- (goto-char (match-beginning 1))
- (delete-region (match-beginning 1) (match-end 1))
- (insert (cdr cell)))
- (t nil))))))))
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (while (re-search-forward search-re nil t)
+ (backward-char)
+ (save-excursion
+ (setq label (reftex-match-string 1)
+ cell (assoc label translate-alist)
+ match-data (match-data)
+ macro (reftex-what-macro 1)
+ pos (cdr macro))
+ (goto-char (or pos (point)))
+ (when (and macro
+ (or (looking-at "\\\\ref")
+ (looking-at "\\\\[a-zA-Z]*ref\\(range\\)?[^a-zA-Z]")
+ (looking-at "\\\\ref[a-zA-Z]*[^a-zA-Z]")
+ (looking-at (format
+ reftex-find-label-regexp-format
+ (regexp-quote label)))))
+ ;; OK, we should replace it.
+ (set-match-data match-data)
+ (cond
+ ((and test (not cell))
+ ;; We've got a problem
+ (unwind-protect
+ (progn
+ (reftex-highlight 1 (match-beginning 0) (match-end 0))
+ (ding)
+ (or (y-or-n-p (format error-fmt label))
+ (error "Abort")))
+ (reftex-unhighlight 1)))
+ ((and test cell)
+ (incf n))
+ ((and (not test) cell)
+ ;; Replace
+ (goto-char (match-beginning 1))
+ (delete-region (match-beginning 1) (match-end 1))
+ (insert (cdr cell)))
+ (t nil))))))))
n))
(defun reftex-save-all-document-buffers ()
@@ -308,13 +308,13 @@ The function is useful after a global action like replacing or renumbering
labels."
(interactive)
(let ((files (reftex-all-document-files))
- file buffer)
+ file buffer)
(save-excursion
(while (setq file (pop files))
- (setq buffer (reftex-get-buffer-visiting file))
- (when buffer
- (set-buffer buffer)
- (save-buffer))))))
+ (setq buffer (reftex-get-buffer-visiting file))
+ (when buffer
+ (set-buffer buffer)
+ (save-buffer))))))
(defun reftex-ensure-write-access (files)
"Make sure we have write access to all files in FILES.
@@ -322,21 +322,20 @@ Also checks if buffers visiting the files are in read-only mode."
(let (file buf)
(while (setq file (pop files))
(unless (file-exists-p file)
- (ding)
- (or (y-or-n-p (format "No such file %s. Continue? " file))
- (error "Abort")))
+ (ding)
+ (or (y-or-n-p (format "No such file %s. Continue? " file))
+ (error "Abort")))
(unless (file-writable-p file)
- (ding)
- (or (y-or-n-p (format "No write access to %s. Continue? " file))
- (error "Abort")))
+ (ding)
+ (or (y-or-n-p (format "No write access to %s. Continue? " file))
+ (error "Abort")))
(when (and (setq buf (reftex-get-buffer-visiting file))
- (save-excursion
- (set-buffer buf)
- buffer-read-only))
- (ding)
- (or (y-or-n-p (format "Buffer %s is read-only. Continue? "
- (buffer-name buf)))
- (error "Abort"))))))
-
-;;; arch-tag: 2dbf7633-92c8-4340-8656-7aa019d0f80d
+ (save-excursion
+ (set-buffer buf)
+ buffer-read-only))
+ (ding)
+ (or (y-or-n-p (format "Buffer %s is read-only. Continue? "
+ (buffer-name buf)))
+ (error "Abort"))))))
+
;;; reftex-global.el ends here
diff --git a/lisp/textmodes/reftex-index.el b/lisp/textmodes/reftex-index.el
index 71b3b624770..a1dd6054648 100644
--- a/lisp/textmodes/reftex-index.el
+++ b/lisp/textmodes/reftex-index.el
@@ -1,8 +1,8 @@
;;; reftex-index.el --- index support with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -47,48 +47,48 @@ which is part of AUCTeX, the string is first processed with the
`reftex-index-math-format', which see."
(interactive "P")
(let* ((use-default (not (equal arg '(16)))) ; check for double prefix
- ;; check if we have an active selection
- (active (if (boundp 'zmacs-regions)
- (and zmacs-regions (region-exists-p)) ; XEmacs
- (and transient-mark-mode mark-active))) ; Emacs
- (beg (if active
- (region-beginning)
- (save-excursion
- (skip-syntax-backward "w\\") (point))))
- (end (if active
- (region-end)
- (save-excursion
- (skip-syntax-forward "w\\") (point))))
- (sel (buffer-substring beg end))
- (mathp (condition-case nil (texmathp) (error nil)))
- (current-prefix-arg nil) ; we want to call reftex-index without prefix.
- key def-char def-tag full-entry)
+ ;; check if we have an active selection
+ (active (if (boundp 'zmacs-regions)
+ (and zmacs-regions (region-exists-p)) ; XEmacs
+ (and transient-mark-mode mark-active))) ; Emacs
+ (beg (if active
+ (region-beginning)
+ (save-excursion
+ (skip-syntax-backward "w\\") (point))))
+ (end (if active
+ (region-end)
+ (save-excursion
+ (skip-syntax-forward "w\\") (point))))
+ (sel (buffer-substring beg end))
+ (mathp (condition-case nil (texmathp) (error nil)))
+ (current-prefix-arg nil) ; we want to call reftex-index without prefix.
+ key def-char def-tag full-entry)
(if phrase
- (progn
- (reftex-index-visit-phrases-buffer)
- (reftex-index-new-phrase sel))
+ (progn
+ (reftex-index-visit-phrases-buffer)
+ (reftex-index-new-phrase sel))
(if (equal sel "")
- ;; Nothing selected, no word, so use full reftex-index command
- (reftex-index)
- ;; OK, we have something to index here.
- ;; Add the dollars when necessary
- (setq key (if mathp
- (format reftex-index-math-format sel)
- sel))
- ;; Get info from `reftex-index-default-macro'
- (setq def-char (if use-default (car reftex-index-default-macro)))
- (setq def-tag (if use-default (nth 1 reftex-index-default-macro)))
- ;; Does the user want to edit the entry?
- (setq full-entry (if arg
- (reftex-index-complete-key
- def-tag nil (cons key 0))
- key))
- ;; Delete what is in the buffer and make the index entry
- (delete-region beg end)
- (reftex-index def-char full-entry def-tag sel)))))
-
+ ;; Nothing selected, no word, so use full reftex-index command
+ (reftex-index)
+ ;; OK, we have something to index here.
+ ;; Add the dollars when necessary
+ (setq key (if mathp
+ (format reftex-index-math-format sel)
+ sel))
+ ;; Get info from `reftex-index-default-macro'
+ (setq def-char (if use-default (car reftex-index-default-macro)))
+ (setq def-tag (if use-default (nth 1 reftex-index-default-macro)))
+ ;; Does the user want to edit the entry?
+ (setq full-entry (if arg
+ (reftex-index-complete-key
+ def-tag nil (cons key 0))
+ key))
+ ;; Delete what is in the buffer and make the index entry
+ (delete-region beg end)
+ (reftex-index def-char full-entry def-tag sel)))))
+
(defun reftex-index (&optional char key tag sel no-insert)
"Query for an index macro and insert it along with its argments.
The index macros available are those defined in `reftex-index-macro' or
@@ -104,58 +104,58 @@ will prompt for other arguments."
;; Find out which macro we are going to use
(let* ((char (or char
- (reftex-select-with-char reftex-query-index-macro-prompt
- reftex-query-index-macro-help)))
- (macro (nth 1 (assoc char reftex-key-to-index-macro-alist)))
- (entry (or (assoc macro reftex-index-macro-alist)
- (error "No index macro associated with %c" char)))
- (ntag (nth 1 entry))
- (tag (or tag (nth 1 entry)))
- (nargs (nth 4 entry))
- (nindex (nth 5 entry))
- (opt-args (nth 6 entry))
- (repeat (nth 7 entry))
- opt tag1 value)
+ (reftex-select-with-char reftex-query-index-macro-prompt
+ reftex-query-index-macro-help)))
+ (macro (nth 1 (assoc char reftex-key-to-index-macro-alist)))
+ (entry (or (assoc macro reftex-index-macro-alist)
+ (error "No index macro associated with %c" char)))
+ (ntag (nth 1 entry))
+ (tag (or tag (nth 1 entry)))
+ (nargs (nth 4 entry))
+ (nindex (nth 5 entry))
+ (opt-args (nth 6 entry))
+ (repeat (nth 7 entry))
+ opt tag1 value)
;; Get the supported arguments
(if (stringp tag)
- (setq tag1 tag)
+ (setq tag1 tag)
(setq tag1 (or (reftex-index-complete-tag tag opt-args) "")))
(setq key (or key
- (reftex-index-complete-key
- (if (string= tag1 "") "idx" tag1)
- (member nindex opt-args))))
+ (reftex-index-complete-key
+ (if (string= tag1 "") "idx" tag1)
+ (member nindex opt-args))))
;; Insert the macro and ask for any additional args
(insert macro)
(loop for i from 1 to nargs do
(setq opt (member i opt-args)
- value (cond ((= nindex i) key)
- ((equal ntag i) tag1)
- (t (read-string (concat "Macro arg nr. "
- (int-to-string i)
- (if opt " (optional)" "")
- ": ")))))
+ value (cond ((= nindex i) key)
+ ((equal ntag i) tag1)
+ (t (read-string (concat "Macro arg nr. "
+ (int-to-string i)
+ (if opt " (optional)" "")
+ ": ")))))
(unless (and opt (string= value ""))
- (insert (if opt "[" "{") value (if opt "]" "}"))))
+ (insert (if opt "[" "{") value (if opt "]" "}"))))
(and repeat (stringp sel) (insert sel))
(and key reftex-plug-into-AUCTeX (fboundp 'LaTeX-add-index-entries)
- (LaTeX-add-index-entries key))
+ (LaTeX-add-index-entries key))
(reftex-index-update-taglist tag1)
(reftex-notice-new)))
(defun reftex-default-index ()
(cond ((null reftex-index-default-tag) nil)
- ((stringp reftex-index-default-tag) reftex-index-default-tag)
- (t (or (get reftex-docstruct-symbol 'default-index-tag)
- "idx"))))
+ ((stringp reftex-index-default-tag) reftex-index-default-tag)
+ (t (or (get reftex-docstruct-symbol 'default-index-tag)
+ "idx"))))
(defun reftex-update-default-index (tag &optional tag-list)
(if (and (not (equal tag ""))
- (stringp tag)
- (eq reftex-index-default-tag 'last)
- (or (null tag-list)
- (member tag tag-list)))
+ (stringp tag)
+ (eq reftex-index-default-tag 'last)
+ (or (null tag-list)
+ (member tag tag-list)))
(put reftex-docstruct-symbol 'default-index-tag tag)))
(defun reftex-index-complete-tag (&optional itag opt-args)
@@ -164,13 +164,13 @@ will prompt for other arguments."
;; OPT-ARGS is a list of optional argument indices, as given by
;; `reftex-parse-args'.
(let* ((opt (and (integerp itag) (member itag opt-args)))
- (index-tags (cdr (assq 'index-tags
- (symbol-value reftex-docstruct-symbol))))
- (default (reftex-default-index))
- (prompt (concat "Index tag"
- (if default (format " (default: %s)" default) "")
- (if opt " (optional)" "") ": "))
- (tag (completing-read prompt (mapcar 'list index-tags))))
+ (index-tags (cdr (assq 'index-tags
+ (symbol-value reftex-docstruct-symbol))))
+ (default (reftex-default-index))
+ (prompt (concat "Index tag"
+ (if default (format " (default: %s)" default) "")
+ (if opt " (optional)" "") ": "))
+ (tag (completing-read prompt (mapcar 'list index-tags))))
(if (and default (equal tag "")) (setq tag default))
(reftex-update-default-index tag)
tag))
@@ -178,70 +178,70 @@ will prompt for other arguments."
(defun reftex-index-select-tag ()
;; Have the user select an index tag.
;; FIXME: should we cache tag-alist, prompt and help?
- (let* ((index-tags (cdr (assoc 'index-tags
- (symbol-value reftex-docstruct-symbol))))
- (default (reftex-default-index)))
- (cond
+ (let* ((index-tags (cdr (assoc 'index-tags
+ (symbol-value reftex-docstruct-symbol))))
+ (default (reftex-default-index)))
+ (cond
((null index-tags)
(error "No index tags available"))
((= (length index-tags) 1)
;; Just one index, use it
(car index-tags))
-
+
((> (length index-tags) 1)
;; Several indices, ask.
(let* ((tags (copy-sequence index-tags))
- (cnt 0)
- tag-alist i val len tag prompt help rpl)
- ;; Move idx and glo up in the list to ensure ?i and ?g shortcuts
- (if (member "glo" tags)
- (setq tags (cons "glo" (delete "glo" tags))))
- (if (member "idx" tags)
- (setq tags (cons "idx" (delete "idx" tags))))
- ;; Find unique shortcuts for each index.
- (while (setq tag (pop tags))
- (setq len (length tag)
- i -1
- val nil)
- (catch 'exit
- (while (and (< (incf i) len) (null val))
- (unless (assq (aref tag i) tag-alist)
- (push (list (aref tag i)
- tag
- (concat (substring tag 0 i)
- "[" (substring tag i (incf i)) "]"
- (substring tag i)))
- tag-alist)
- (throw 'exit t)))
- (push (list (+ ?0 (incf cnt)) tag
- (concat "[" (int-to-string cnt) "]:" tag))
- tag-alist)))
- (setq tag-alist (nreverse tag-alist))
- ;; Compute Prompt and Help strings
- (setq prompt
- (concat
- (format "Select Index%s: "
- (if default (format " (Default <%s>)" default) ""))
- (mapconcat (lambda(x) (nth 2 x)) tag-alist " ")))
- (setq help
- (concat "Select an Index\n===============\n"
- (if default
- (format "[^M] %s (the default)\n" default)
- "")
- (mapconcat (lambda(x)
- (apply 'format "[%c] %s" x))
- tag-alist "\n")))
- ;; Query the user for an index-tag
- (setq rpl (reftex-select-with-char prompt help 3 t))
- (message "")
- (if (and default (equal rpl ?\C-m))
- default
- (if (assq rpl tag-alist)
- (progn
- (reftex-update-default-index (nth 1 (assq rpl tag-alist)))
- (nth 1 (assq rpl tag-alist)))
- (error "No index tag associated with %c" rpl)))))
+ (cnt 0)
+ tag-alist i val len tag prompt help rpl)
+ ;; Move idx and glo up in the list to ensure ?i and ?g shortcuts
+ (if (member "glo" tags)
+ (setq tags (cons "glo" (delete "glo" tags))))
+ (if (member "idx" tags)
+ (setq tags (cons "idx" (delete "idx" tags))))
+ ;; Find unique shortcuts for each index.
+ (while (setq tag (pop tags))
+ (setq len (length tag)
+ i -1
+ val nil)
+ (catch 'exit
+ (while (and (< (incf i) len) (null val))
+ (unless (assq (aref tag i) tag-alist)
+ (push (list (aref tag i)
+ tag
+ (concat (substring tag 0 i)
+ "[" (substring tag i (incf i)) "]"
+ (substring tag i)))
+ tag-alist)
+ (throw 'exit t)))
+ (push (list (+ ?0 (incf cnt)) tag
+ (concat "[" (int-to-string cnt) "]:" tag))
+ tag-alist)))
+ (setq tag-alist (nreverse tag-alist))
+ ;; Compute Prompt and Help strings
+ (setq prompt
+ (concat
+ (format "Select Index%s: "
+ (if default (format " (Default <%s>)" default) ""))
+ (mapconcat (lambda(x) (nth 2 x)) tag-alist " ")))
+ (setq help
+ (concat "Select an Index\n===============\n"
+ (if default
+ (format "[^M] %s (the default)\n" default)
+ "")
+ (mapconcat (lambda(x)
+ (apply 'format "[%c] %s" x))
+ tag-alist "\n")))
+ ;; Query the user for an index-tag
+ (setq rpl (reftex-select-with-char prompt help 3 t))
+ (message "")
+ (if (and default (equal rpl ?\C-m))
+ default
+ (if (assq rpl tag-alist)
+ (progn
+ (reftex-update-default-index (nth 1 (assq rpl tag-alist)))
+ (nth 1 (assq rpl tag-alist)))
+ (error "No index tag associated with %c" rpl)))))
(t (error "This should not happen (reftex-index-select-tag)")))))
(defun reftex-index-complete-key (&optional tag optional initial)
@@ -249,19 +249,19 @@ will prompt for other arguments."
;; Restrict completion table on index tag TAG.
;; OPTIONAL indicates if the arg is optional.
(let* ((table (reftex-sublist-nth
- (symbol-value reftex-docstruct-symbol) 6
- (lambda(x) (and (eq (car x) 'index)
- (string= (nth 1 x) (or tag ""))))
- t))
- (prompt (concat "Index key" (if optional " (optional)" "") ": "))
- (key (completing-read prompt table nil nil initial)))
+ (symbol-value reftex-docstruct-symbol) 6
+ (lambda(x) (and (eq (car x) 'index)
+ (string= (nth 1 x) (or tag ""))))
+ t))
+ (prompt (concat "Index key" (if optional " (optional)" "") ": "))
+ (key (completing-read prompt table nil nil initial)))
key))
(defun reftex-index-update-taglist (newtag)
- ;; add NEWTAG to the list of available index tags.
+ ;; add NEWTAG to the list of available index tags.
(let ((cell (assoc 'index-tags (symbol-value reftex-docstruct-symbol))))
(and newtag (cdr cell) (not (member newtag (cdr cell)))
- (push newtag (cdr cell)))))
+ (push newtag (cdr cell)))))
(defvar reftex-index-map (make-sparse-keymap)
"Keymap used for *Index* buffers.")
@@ -290,16 +290,16 @@ Here are all local bindings.
(interactive)
(kill-all-local-variables)
(setq major-mode 'reftex-index-mode
- mode-name "RefTeX Index")
+ mode-name "RefTeX Index")
(use-local-map reftex-index-map)
(set (make-local-variable 'revert-buffer-function) 'reftex-index-revert)
(set (make-local-variable 'reftex-index-restriction-data) nil)
(set (make-local-variable 'reftex-index-restriction-indicator) nil)
(setq mode-line-format
- (list "---- " 'mode-line-buffer-identification
- " " 'global-mode-string
- " R<" 'reftex-index-restriction-indicator ">"
- " -%-"))
+ (list "---- " 'mode-line-buffer-identification
+ " " 'global-mode-string
+ " R<" 'reftex-index-restriction-indicator ">"
+ " -%-"))
(setq truncate-lines t)
(when (featurep 'xemacs)
;; XEmacs needs the call to make-local-hook
@@ -339,21 +339,21 @@ _ ^ Add/Remove parent key (to make this item a subitem).
;; Note: This function just looks for the nearest match of the
;; context string and may fail if the entry moved and an identical
;; entry is close to the old position. Frequent rescans make this
- ;; safer.
+ ;; safer.
(let* ((file (nth 3 data))
- (literal (nth 2 data))
- (pos (nth 4 data))
- (re (regexp-quote literal))
- (match
- (cond
- ((or (not no-revisit)
- (reftex-get-buffer-visiting file))
- (switch-to-buffer-other-window
- (reftex-get-file-buffer-force file nil))
- (goto-char (or pos (point-min)))
- (or (looking-at re)
- (reftex-nearest-match re (length literal))))
- (t (message reftex-no-follow-message) nil))))
+ (literal (nth 2 data))
+ (pos (nth 4 data))
+ (re (regexp-quote literal))
+ (match
+ (cond
+ ((or (not no-revisit)
+ (reftex-get-buffer-visiting file))
+ (switch-to-buffer-other-window
+ (reftex-get-file-buffer-force file nil))
+ (goto-char (or pos (point-min)))
+ (or (looking-at re)
+ (reftex-nearest-match re (length literal))))
+ (t (message reftex-no-follow-message) nil))))
(when match
(goto-char (match-beginning 0))
(recenter '(4))
@@ -361,7 +361,7 @@ _ ^ Add/Remove parent key (to make this item a subitem).
match))
(defun reftex-display-index (&optional tag overriding-restriction
- &rest locations)
+ &rest locations)
"Display a buffer with an index compiled from the current document.
When the document has multiple indices, first prompts for the correct one.
When index support is turned off, offer to turn it on.
@@ -381,40 +381,40 @@ With prefix 3, restrict index to region."
;; Determine the correct index to process
(let* ((docstruct (symbol-value reftex-docstruct-symbol))
- (docstruct-symbol reftex-docstruct-symbol)
- (index-tag (or tag (reftex-index-select-tag)))
- (master (reftex-TeX-master-file))
- (calling-file (buffer-file-name))
- (restriction
- (or overriding-restriction
- (and (interactive-p)
- (reftex-get-restriction current-prefix-arg docstruct))))
- (locations
- ;; See if we are on an index macro as initial position
- (or locations
- (let* ((what-macro (reftex-what-macro-safe 1))
- (macro (car what-macro))
- (here-I-am (when (member macro reftex-macros-with-index)
- (save-excursion
- (goto-char (+ (cdr what-macro)
- (length macro)))
- (reftex-move-over-touching-args)
- (reftex-where-am-I)))))
- (if (eq (car (car here-I-am)) 'index)
- (list (car here-I-am))))))
- buffer-name)
+ (docstruct-symbol reftex-docstruct-symbol)
+ (index-tag (or tag (reftex-index-select-tag)))
+ (master (reftex-TeX-master-file))
+ (calling-file (buffer-file-name))
+ (restriction
+ (or overriding-restriction
+ (and (interactive-p)
+ (reftex-get-restriction current-prefix-arg docstruct))))
+ (locations
+ ;; See if we are on an index macro as initial position
+ (or locations
+ (let* ((what-macro (reftex-what-macro-safe 1))
+ (macro (car what-macro))
+ (here-I-am (when (member macro reftex-macros-with-index)
+ (save-excursion
+ (goto-char (+ (cdr what-macro)
+ (length macro)))
+ (reftex-move-over-touching-args)
+ (reftex-where-am-I)))))
+ (if (eq (car (car here-I-am)) 'index)
+ (list (car here-I-am))))))
+ buffer-name)
(setq buffer-name (reftex-make-index-buffer-name index-tag))
;; Goto the buffer and put it into the correct mode
-
+
(when (or restriction current-prefix-arg)
- (reftex-kill-buffer buffer-name))
+ (reftex-kill-buffer buffer-name))
(if (get-buffer-window buffer-name)
- (select-window (get-buffer-window buffer-name))
+ (select-window (get-buffer-window buffer-name))
(let ((default-major-mode 'reftex-index-mode))
- (switch-to-buffer buffer-name)))
+ (switch-to-buffer buffer-name)))
(or (eq major-mode 'reftex-index-mode) (reftex-index-mode))
@@ -425,11 +425,11 @@ With prefix 3, restrict index to region."
(set (make-local-variable 'reftex-index-tag) index-tag)
(set (make-local-variable 'reftex-docstruct-symbol) docstruct-symbol)
(if restriction
- (setq reftex-index-restriction-indicator (car restriction)
- reftex-index-restriction-data (cdr restriction))
+ (setq reftex-index-restriction-indicator (car restriction)
+ reftex-index-restriction-data (cdr restriction))
(if (interactive-p)
- (setq reftex-index-restriction-indicator nil
- reftex-index-restriction-data nil)))
+ (setq reftex-index-restriction-indicator nil
+ reftex-index-restriction-data nil)))
(when (= (buffer-size) 0)
;; buffer is empty - fill it
(message "Building %s buffer..." buffer-name)
@@ -466,22 +466,22 @@ SPC=view TAB=goto RET=goto+hide [e]dit [q]uit [r]escan [f]ollow [?]Help
;; it with whatever the DOCSTRUCT contains.
;; REMARK can be a note to add to the entry.
(let* ((all docstruct)
- (indent " ")
- (context reftex-index-include-context)
- (context-indent (concat indent " "))
- (section-chars (mapcar 'identity reftex-index-section-letters))
- (this-section-char 0)
- (font (reftex-use-fonts))
- (bor (car reftex-index-restriction-data))
- (eor (nth 1 reftex-index-restriction-data))
- (mouse-face
- (if (memq reftex-highlight-selection '(mouse both))
- reftex-mouse-selected-face
- nil))
- (index-face (reftex-verified-face reftex-label-face
- 'font-lock-constant-face
- 'font-lock-reference-face))
- sublist cell from to first-char)
+ (indent " ")
+ (context reftex-index-include-context)
+ (context-indent (concat indent " "))
+ (section-chars (mapcar 'identity reftex-index-section-letters))
+ (this-section-char 0)
+ (font (reftex-use-fonts))
+ (bor (car reftex-index-restriction-data))
+ (eor (nth 1 reftex-index-restriction-data))
+ (mouse-face
+ (if (memq reftex-highlight-selection '(mouse both))
+ reftex-mouse-selected-face
+ nil))
+ (index-face (reftex-verified-face reftex-label-face
+ 'font-lock-constant-face
+ 'font-lock-reference-face))
+ sublist cell from to first-char)
;; Make the sublist and sort it
(when bor
@@ -489,68 +489,68 @@ SPC=view TAB=goto RET=goto+hide [e]dit [q]uit [r]escan [f]ollow [?]Help
(while (setq cell (pop all))
(if (eq cell eor)
- (setq all nil)
- (and (eq (car cell) 'index)
- (equal (nth 1 cell) tag)
- (push cell sublist))))
+ (setq all nil)
+ (and (eq (car cell) 'index)
+ (equal (nth 1 cell) tag)
+ (push cell sublist))))
(setq sublist (sort (nreverse sublist)
- (lambda (a b) (string< (nth 8 a) (nth 8 b)))))
+ (lambda (a b) (string< (nth 8 a) (nth 8 b)))))
(when update-one
;; Delete the entry at place
(and (bolp) (forward-char 1))
(delete-region (previous-single-property-change (1+ (point)) :data)
- (or (next-single-property-change (point) :data)
- (point-max))))
+ (or (next-single-property-change (point) :data)
+ (point-max))))
;; Walk through the list and insert all entries
(while (setq cell (pop sublist))
(unless update-one
- (setq first-char (upcase (string-to-char (nth 6 cell))))
- (when (and (not (equal first-char this-section-char))
- (member first-char section-chars))
- ;; There is a new initial letter, so start a new section
- (reftex-index-insert-new-letter first-char font)
- (setq section-chars (delete first-char section-chars)
- this-section-char first-char))
- (when (= this-section-char 0)
- (setq this-section-char ?!)
- (reftex-index-insert-new-letter this-section-char font)))
+ (setq first-char (upcase (string-to-char (nth 6 cell))))
+ (when (and (not (equal first-char this-section-char))
+ (member first-char section-chars))
+ ;; There is a new initial letter, so start a new section
+ (reftex-index-insert-new-letter first-char font)
+ (setq section-chars (delete first-char section-chars)
+ this-section-char first-char))
+ (when (= this-section-char 0)
+ (setq this-section-char ?!)
+ (reftex-index-insert-new-letter this-section-char font)))
(setq from (point))
(insert indent (nth 7 cell))
(when font
- (setq to (point))
- (put-text-property
- (- (point) (length (nth 7 cell))) to
- 'face index-face)
- (goto-char to))
+ (setq to (point))
+ (put-text-property
+ (- (point) (length (nth 7 cell))) to
+ 'face index-face)
+ (goto-char to))
(when (or remark (nth 9 cell))
- (and (< (current-column) 40)
- ;; FIXME: maybe this is too slow?
- (insert (make-string (max (- 40 (current-column)) 0) ?\ )))
- (and (nth 9 cell) (insert " " (substring (nth 5 cell) (nth 9 cell))))
- (and remark (insert " " remark)))
+ (and (< (current-column) 40)
+ ;; FIXME: maybe this is too slow?
+ (insert (make-string (max (- 40 (current-column)) 0) ?\ )))
+ (and (nth 9 cell) (insert " " (substring (nth 5 cell) (nth 9 cell))))
+ (and remark (insert " " remark)))
(insert "\n")
(setq to (point))
(when context
- (insert context-indent (nth 2 cell) "\n")
- (setq to (point)))
+ (insert context-indent (nth 2 cell) "\n")
+ (setq to (point)))
(put-text-property from to :data cell)
(when mouse-face
- (put-text-property from (1- to)
- 'mouse-face mouse-face))
+ (put-text-property from (1- to)
+ 'mouse-face mouse-face))
(goto-char to))))
(defun reftex-index-insert-new-letter (letter &optional font)
;; Start a new section in the index
(let ((from (point)))
- (insert "\n" letter letter letter
- "-----------------------------------------------------------------")
+ (insert "\n" letter letter letter
+ "-----------------------------------------------------------------")
(when font
(put-text-property from (point) 'face reftex-index-section-face))
(insert "\n")))
@@ -558,30 +558,30 @@ SPC=view TAB=goto RET=goto+hide [e]dit [q]uit [r]escan [f]ollow [?]Help
(defun reftex-get-restriction (arg docstruct)
;; Interprete the prefix ARG and derive index restriction specs.
(let* ((beg (min (point) (or (condition-case nil (mark) (error nil))
- (point-max))))
- (end (max (point) (or (condition-case nil (mark) (error nil))
- (point-min))))
- bor eor label here-I-am)
+ (point-max))))
+ (end (max (point) (or (condition-case nil (mark) (error nil))
+ (point-min))))
+ bor eor label here-I-am)
(cond
((eq arg 2)
(setq here-I-am (car (reftex-where-am-I))
- bor (if (eq (car here-I-am) 'toc)
- here-I-am
- (reftex-last-assoc-before-elt
- 'toc here-I-am docstruct))
- eor (car (memq (assq 'toc (cdr (memq bor docstruct))) docstruct))
- label (nth 6 bor)))
+ bor (if (eq (car here-I-am) 'toc)
+ here-I-am
+ (reftex-last-assoc-before-elt
+ 'toc here-I-am docstruct))
+ eor (car (memq (assq 'toc (cdr (memq bor docstruct))) docstruct))
+ label (nth 6 bor)))
((eq arg 3)
(save-excursion
- (setq label "region")
- (goto-char beg)
- (setq bor (car (reftex-where-am-I)))
- (setq bor (nth 1 (memq bor docstruct)))
- (goto-char end)
- (setq eor (nth 1 (memq (car (reftex-where-am-I)) docstruct)))))
+ (setq label "region")
+ (goto-char beg)
+ (setq bor (car (reftex-where-am-I)))
+ (setq bor (nth 1 (memq bor docstruct)))
+ (goto-char end)
+ (setq eor (nth 1 (memq (car (reftex-where-am-I)) docstruct)))))
(t nil))
(if (and label (or bor eor))
- (list label bor eor)
+ (list label bor eor)
nil)))
(defun reftex-index-pre-command-hook ()
@@ -593,23 +593,23 @@ SPC=view TAB=goto RET=goto+hide [e]dit [q]uit [r]escan [f]ollow [?]Help
;; Used in the post-command-hook for the *Index* buffer
(when (get-text-property (point) :data)
(and (> (point) 1)
- (not (get-text-property (point) 'intangible))
- (memq reftex-highlight-selection '(cursor both))
- (reftex-highlight 1
- (or (previous-single-property-change (1+ (point)) :data)
- (point-min))
- (or (next-single-property-change (point) :data)
- (point-max)))))
+ (not (get-text-property (point) 'intangible))
+ (memq reftex-highlight-selection '(cursor both))
+ (reftex-highlight 1
+ (or (previous-single-property-change (1+ (point)) :data)
+ (point-min))
+ (or (next-single-property-change (point) :data)
+ (point-max)))))
(if (integerp reftex-index-follow-mode)
;; Remove delayed action
(setq reftex-index-follow-mode t)
(and reftex-index-follow-mode
- (not (equal reftex-last-follow-point (point)))
- ;; Show context in other window
- (setq reftex-last-follow-point (point))
- (condition-case nil
- (reftex-index-visit-location nil (not reftex-revisit-to-follow))
- (error t)))))
+ (not (equal reftex-last-follow-point (point)))
+ ;; Show context in other window
+ (setq reftex-last-follow-point (point))
+ (condition-case nil
+ (reftex-index-visit-location nil (not reftex-revisit-to-follow))
+ (error t)))))
(defun reftex-index-show-help ()
"Show a summary of special key bindings."
@@ -626,20 +626,20 @@ SPC=view TAB=goto RET=goto+hide [e]dit [q]uit [r]escan [f]ollow [?]Help
(interactive "p")
(setq reftex-callback-fwd t)
(or (eobp) (forward-char 1))
- (goto-char (or (next-single-property-change (point) :data)
- (point)))
+ (goto-char (or (next-single-property-change (point) :data)
+ (point)))
(unless (get-text-property (point) :data)
- (goto-char (or (next-single-property-change (point) :data)
- (point)))))
+ (goto-char (or (next-single-property-change (point) :data)
+ (point)))))
(defun reftex-index-previous (&optional arg)
"Move to previous selectable item."
(interactive "p")
(setq reftex-callback-fwd nil)
(goto-char (or (previous-single-property-change (point) :data)
- (point)))
+ (point)))
(unless (get-text-property (point) :data)
(goto-char (or (previous-single-property-change (point) :data)
- (point)))))
+ (point)))))
(defun reftex-index-toggle-follow ()
"Toggle follow (other window follows with context)."
(interactive)
@@ -695,22 +695,22 @@ The function will go to the section where the entry at point was defined."
(interactive)
(let ((index-tag reftex-index-tag))
(if (and reftex-enable-partial-scans
- (null current-prefix-arg))
- (let* ((data (get-text-property (point) :data))
- (file (nth 3 data))
- (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
- (if (not file)
- (error "Don't know which file to rescan. Try `C-u r'")
- (switch-to-buffer (reftex-get-file-buffer-force file))
- (setq current-prefix-arg '(4))
- (reftex-display-index index-tag nil line)))
+ (null current-prefix-arg))
+ (let* ((data (get-text-property (point) :data))
+ (file (nth 3 data))
+ (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
+ (if (not file)
+ (error "Don't know which file to rescan. Try `C-u r'")
+ (switch-to-buffer (reftex-get-file-buffer-force file))
+ (setq current-prefix-arg '(4))
+ (reftex-display-index index-tag nil line)))
(reftex-index-Rescan))
(reftex-kill-temporary-buffers)))
(defun reftex-index-Rescan (&rest ignore)
"Regenerate the *Index* buffer after reparsing the entire document."
(interactive)
(let ((index-tag reftex-index-tag)
- (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
+ (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
(switch-to-buffer
(reftex-get-file-buffer-force reftex-last-index-file))
(setq current-prefix-arg '(16))
@@ -719,14 +719,14 @@ The function will go to the section where the entry at point was defined."
"Regenerate the *Index* from the internal lists. No reparsing os done."
(interactive)
(let ((buf (current-buffer))
- (index-tag reftex-index-tag)
- (data (get-text-property (point) :data))
- (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
+ (index-tag reftex-index-tag)
+ (data (get-text-property (point) :data))
+ (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
(switch-to-buffer
(reftex-get-file-buffer-force reftex-last-index-file))
(reftex-erase-buffer buf)
(setq current-prefix-arg nil
- reftex-last-follow-point 1)
+ reftex-last-follow-point 1)
(reftex-display-index index-tag nil data line)))
(defun reftex-index-switch-index-tag (&rest ignore)
"Switch to a different index of the same document."
@@ -741,23 +741,23 @@ The function will go to the section where the entry at point was defined."
;; Optional FORCE means, even if point is not on an index entry.
(interactive)
(let* ((data (get-text-property (point) :data))
- (docstruct (symbol-value reftex-docstruct-symbol))
- bor eor)
+ (docstruct (symbol-value reftex-docstruct-symbol))
+ bor eor)
(if (and (not data) force)
- (setq data (assq 'toc docstruct)))
+ (setq data (assq 'toc docstruct)))
(when data
(setq bor (reftex-last-assoc-before-elt 'toc data docstruct)
- eor (car (memq (assq 'toc (cdr (memq bor docstruct)))
- docstruct))
- reftex-index-restriction-data (list bor eor)
- reftex-index-restriction-indicator (nth 6 bor) )))
+ eor (car (memq (assq 'toc (cdr (memq bor docstruct)))
+ docstruct))
+ reftex-index-restriction-data (list bor eor)
+ reftex-index-restriction-indicator (nth 6 bor) )))
(reftex-index-revert))
(defun reftex-index-widen (&rest ignore)
"Show the unrestricted index (all entries)."
(interactive)
(setq reftex-index-restriction-indicator nil
- reftex-index-restriction-data nil)
+ reftex-index-restriction-data nil)
(reftex-index-revert)
(message "Index widened"))
(defun reftex-index-restriction-forward (&rest ignore)
@@ -766,15 +766,15 @@ When index is currently unrestricted, restrict it to a section.
When index is restricted, select the next section as restriction criterion."
(interactive)
(let* ((docstruct (symbol-value reftex-docstruct-symbol))
- (bor (nth 1 reftex-index-restriction-data)))
+ (bor (nth 1 reftex-index-restriction-data)))
(if (or (not bor)
- (not (eq (car bor) 'toc)))
- (reftex-index-restrict-to-section t)
+ (not (eq (car bor) 'toc)))
+ (reftex-index-restrict-to-section t)
(setq reftex-index-restriction-indicator (nth 6 bor)
- reftex-index-restriction-data
- (list bor
- (car (memq (assq 'toc (cdr (memq bor docstruct)))
- docstruct))))
+ reftex-index-restriction-data
+ (list bor
+ (car (memq (assq 'toc (cdr (memq bor docstruct)))
+ docstruct))))
(reftex-index-revert))))
(defun reftex-index-restriction-backward (&rest ignore)
"Restrict to next section.
@@ -782,14 +782,14 @@ When index is currently unrestricted, restrict it to a section.
When index is restricted, select the previous section as restriction criterion."
(interactive)
(let* ((docstruct (symbol-value reftex-docstruct-symbol))
- (eor (car reftex-index-restriction-data))
- (bor (reftex-last-assoc-before-elt 'toc eor docstruct t)))
+ (eor (car reftex-index-restriction-data))
+ (bor (reftex-last-assoc-before-elt 'toc eor docstruct t)))
(if (or (not bor)
- (not (eq (car bor) 'toc)))
- (reftex-index-restrict-to-section t)
+ (not (eq (car bor) 'toc)))
+ (reftex-index-restrict-to-section t)
(setq reftex-index-restriction-indicator (nth 6 bor)
- reftex-index-restriction-data
- (list bor eor))
+ reftex-index-restriction-data
+ (list bor eor))
(reftex-index-revert))))
(defun reftex-index-visit-location (&optional final no-revisit)
@@ -804,9 +804,9 @@ When index is restricted, select the previous section as restriction criterion."
show-window show-buffer match)
(unless data (error "Don't know which index entry to visit"))
-
+
(if (eq (car data) 'index)
- (setq match (reftex-index-show-entry data no-revisit)))
+ (setq match (reftex-index-show-entry data no-revisit)))
(setq show-window (selected-window)
show-buffer (current-buffer))
@@ -833,32 +833,32 @@ When index is restricted, select the previous section as restriction criterion."
;; values are accessible individually.
(interactive)
(let* ((arg (nth 5 data))
- (context (nth 2 data))
- (sc reftex-index-special-chars)
- (boa (if (string-match (regexp-quote (concat "{" arg "}")) context)
- (1+ (match-beginning 0))
- (error "Something is wrong here")))
- (eoa (1- (match-end 0)))
- (boactual (if (string-match (concat "[^" (nth 3 sc) "]" (nth 2 sc))
- context boa)
- (1+ (match-beginning 0))
- eoa))
- (boattr (if (string-match (concat "[^" (nth 3 sc) "]" (nth 1 sc))
- context boa)
- (1+ (match-beginning 0))
- boactual))
- (pre (substring context 0 boa))
- (key (substring context boa boattr))
- (attr (substring context boattr boactual))
- (actual (substring context boactual eoa))
- (post (substring context eoa)))
+ (context (nth 2 data))
+ (sc reftex-index-special-chars)
+ (boa (if (string-match (regexp-quote (concat "{" arg "}")) context)
+ (1+ (match-beginning 0))
+ (error "Something is wrong here")))
+ (eoa (1- (match-end 0)))
+ (boactual (if (string-match (concat "[^" (nth 3 sc) "]" (nth 2 sc))
+ context boa)
+ (1+ (match-beginning 0))
+ eoa))
+ (boattr (if (string-match (concat "[^" (nth 3 sc) "]" (nth 1 sc))
+ context boa)
+ (1+ (match-beginning 0))
+ boactual))
+ (pre (substring context 0 boa))
+ (key (substring context boa boattr))
+ (attr (substring context boattr boactual))
+ (actual (substring context boactual eoa))
+ (post (substring context eoa)))
(list pre key attr actual post)))
(defun reftex-index-edit ()
"Edit the index entry at point."
(interactive)
(let* ((data (get-text-property (point) :data))
- old new)
+ old new)
(unless data (error "Don't know which index entry to edit"))
(reftex-index-view-entry)
(setq old (nth 2 data) new (read-string "Edit: " old))
@@ -868,33 +868,33 @@ When index is restricted, select the previous section as restriction criterion."
"Toggle the page range start attribute `|('."
(interactive)
(let* ((data (get-text-property (point) :data))
- (bor (concat (nth 1 reftex-index-special-chars) "("))
- new analyze attr)
+ (bor (concat (nth 1 reftex-index-special-chars) "("))
+ new analyze attr)
(unless data (error "Don't know which index entry to edit"))
(setq analyze (reftex-index-analyze-entry data)
- attr (nth 2 analyze))
+ attr (nth 2 analyze))
(setf (nth 2 analyze) (if (string= attr bor) "" bor))
(setq new (apply 'concat analyze))
- (reftex-index-change-entry
+ (reftex-index-change-entry
new (if (string= (nth 2 analyze) bor)
- "Entry is now START-OF-PAGE-RANGE"
- "START-OF-PAGE-RANGE canceled"))))
+ "Entry is now START-OF-PAGE-RANGE"
+ "START-OF-PAGE-RANGE canceled"))))
(defun reftex-index-toggle-range-end ()
"Toggle the page-range-end attribute `|)'."
(interactive)
(let* ((data (get-text-property (point) :data))
- (eor (concat (nth 1 reftex-index-special-chars) ")"))
- new analyze attr)
+ (eor (concat (nth 1 reftex-index-special-chars) ")"))
+ new analyze attr)
(unless data (error "Don't know which index entry to edit"))
(setq analyze (reftex-index-analyze-entry data)
- attr (nth 2 analyze))
+ attr (nth 2 analyze))
(setf (nth 2 analyze) (if (string= attr eor) "" eor))
(setq new (apply 'concat analyze))
(reftex-index-change-entry
new (if (string= (nth 2 analyze) eor)
- "Entry is now END-OF-PAGE-RANGE"
- "END-OF-PAGE-RANGE canceled"))))
+ "Entry is now END-OF-PAGE-RANGE"
+ "END-OF-PAGE-RANGE canceled"))))
(defun reftex-index-edit-key ()
"Edit the KEY part of the index entry."
@@ -905,7 +905,7 @@ When index is restricted, select the previous section as restriction criterion."
"EDIT the ATTRIBUTE part of the entry. With arg: remove entire ATTRIBUTE."
(interactive "P")
(reftex-index-edit-part arg 2 (nth 1 reftex-index-special-chars)
- "Attribute: "))
+ "Attribute: "))
(defun reftex-index-edit-visual (&optional arg)
"EDIT the VISUAL part of the entry. With arg: remove entire VISUAL string."
@@ -915,51 +915,51 @@ When index is restricted, select the previous section as restriction criterion."
(defun reftex-index-edit-part (arg n initial prompt &optional dont-allow-empty)
;; This function does the work for all partial editing commands
(let* ((data (get-text-property (point) :data))
- new analyze opart npart)
+ new analyze opart npart)
(unless data (error "Don't know which index entry to edit"))
;; Analyze the whole context string
(setq analyze (reftex-index-analyze-entry data)
- opart (nth n analyze))
+ opart (nth n analyze))
(and (> (length opart) 0) (setq opart (substring opart 1)))
;; Have the user editing the part
(setq npart (if arg "" (read-string (concat prompt initial) opart)))
;; Tests:
(cond ((string= npart opart)
- (error "Not changed"))
- ((string= npart "")
- (if dont-allow-empty
- (error "Illegal value")
- (setf (nth n analyze) npart)))
- (t (setf (nth n analyze) (concat initial npart))))
+ (error "Not changed"))
+ ((string= npart "")
+ (if dont-allow-empty
+ (error "Illegal value")
+ (setf (nth n analyze) npart)))
+ (t (setf (nth n analyze) (concat initial npart))))
(setq new (apply 'concat analyze))
;; Change the entry and insert the changed version into the index.
- (reftex-index-change-entry
+ (reftex-index-change-entry
new (if (string= npart "")
- (format "Deleted: %s" opart)
- (format "New value is: %s" npart)))))
+ (format "Deleted: %s" opart)
+ (format "New value is: %s" npart)))))
(defun reftex-index-level-down ()
"Make index entry a subitem of another entry."
(interactive)
(let* ((data (get-text-property (point) :data))
- (docstruct (symbol-value reftex-docstruct-symbol))
- old new prefix key)
+ (docstruct (symbol-value reftex-docstruct-symbol))
+ old new prefix key)
(unless data (error "Don't know which index entry to change"))
(setq old (nth 2 data)
- key (nth 6 data)
- prefix (completing-read
- "Prefix: "
- (reftex-sublist-nth
- docstruct 6
- (lambda (x)
- (and (eq (car x) 'index)
- (string= (nth 1 x) reftex-index-tag))) t)))
- (unless (string-match
- (concat (regexp-quote (car reftex-index-special-chars)) "\\'")
- prefix)
+ key (nth 6 data)
+ prefix (completing-read
+ "Prefix: "
+ (reftex-sublist-nth
+ docstruct 6
+ (lambda (x)
+ (and (eq (car x) 'index)
+ (string= (nth 1 x) reftex-index-tag))) t)))
+ (unless (string-match
+ (concat (regexp-quote (car reftex-index-special-chars)) "\\'")
+ prefix)
(setq prefix (concat prefix (car reftex-index-special-chars))))
(if (string-match (regexp-quote key) old)
- (setq new (replace-match (concat prefix key) t t old))
+ (setq new (replace-match (concat prefix key) t t old))
(error "Cannot construct new index key"))
(reftex-index-change-entry new (format "Added prefix: %s" prefix))))
@@ -967,17 +967,17 @@ When index is restricted, select the previous section as restriction criterion."
"Remove the highest level of a hierarchical index entry."
(interactive)
(let* ((data (get-text-property (point) :data))
- old new prefix)
+ old new prefix)
(unless data (error "Don't know which entry to change"))
(setq old (nth 2 data))
(if (string-match (concat "{\\([^" (nth 0 reftex-index-special-chars) "]*"
- "[^" (nth 3 reftex-index-special-chars) "]"
- (regexp-quote (nth 0 reftex-index-special-chars))
- "\\)")
- old)
- (setq prefix (substring old (match-beginning 1) (match-end 1))
- new (concat (substring old 0 (match-beginning 1))
- (substring old (match-end 1))))
+ "[^" (nth 3 reftex-index-special-chars) "]"
+ (regexp-quote (nth 0 reftex-index-special-chars))
+ "\\)")
+ old)
+ (setq prefix (substring old (match-beginning 1) (match-end 1))
+ new (concat (substring old 0 (match-beginning 1))
+ (substring old (match-end 1))))
(error "Entry is not a subitem"))
(reftex-index-change-entry new (format "Removed prefix: %s" prefix))))
@@ -994,9 +994,9 @@ When index is restricted, select the previous section as restriction criterion."
(defun reftex-index-change-entry (new &optional message)
;; Change the full context string of the index entry at point to
;; NEW. This actually edits the buffer where the entry is defined.
-
+
(let* ((data (get-text-property (point) :data))
- old beg end info)
+ old beg end info)
(unless data (error "Cannot change entry"))
(reftex-index-view-entry)
(setq beg (match-beginning 0) end (match-end 0))
@@ -1006,19 +1006,19 @@ When index is restricted, select the previous section as restriction criterion."
(set-buffer (get-file-buffer (nth 3 data)))
(goto-char beg)
(unless (looking-at (regexp-quote old))
- (error "This should not happen (reftex-index-change-entry)"))
+ (error "This should not happen (reftex-index-change-entry)"))
(delete-region beg end)
(insert new)
(goto-char (1- beg))
(when (and (re-search-forward (reftex-everything-regexp) nil t)
- (match-end 10)
- (< (abs (- (match-beginning 10) beg)) (length new))
- (setq info (reftex-index-info-safe buffer-file-name)))
- (setcdr data (cdr info))))
+ (match-end 10)
+ (< (abs (- (match-beginning 10) beg)) (length new))
+ (setq info (reftex-index-info-safe buffer-file-name)))
+ (setcdr data (cdr info))))
(let ((buffer-read-only nil))
(save-excursion
- (reftex-insert-index (list data) reftex-index-tag t
- "EDITED")))
+ (reftex-insert-index (list data) reftex-index-tag t
+ "EDITED")))
(setq reftex-last-follow-point 1)
(and message (message message))))
@@ -1033,33 +1033,33 @@ When index is restricted, select the previous section as restriction criterion."
(loop for x in
'(("n" . reftex-index-next)
- ("p" . reftex-index-previous)
- ("?" . reftex-index-show-help)
- (" " . reftex-index-view-entry)
- ("\C-m" . reftex-index-goto-entry-and-hide)
- ("\C-i" . reftex-index-goto-entry)
- ("\C-k" . reftex-index-kill)
- ("r" . reftex-index-rescan)
- ("R" . reftex-index-Rescan)
- ("g" . revert-buffer)
- ("q" . reftex-index-quit)
- ("k" . reftex-index-quit-and-kill)
- ("f" . reftex-index-toggle-follow)
- ("s" . reftex-index-switch-index-tag)
- ("e" . reftex-index-edit)
- ("^" . reftex-index-level-up)
- ("_" . reftex-index-level-down)
- ("}" . reftex-index-restrict-to-section)
- ("{" . reftex-index-widen)
- (">" . reftex-index-restriction-forward)
- ("<" . reftex-index-restriction-backward)
- ("(" . reftex-index-toggle-range-beginning)
- (")" . reftex-index-toggle-range-end)
- ("|" . reftex-index-edit-attribute)
- ("@" . reftex-index-edit-visual)
- ("*" . reftex-index-edit-key)
- ("\C-c=". reftex-index-goto-toc)
- ("c" . reftex-index-toggle-context))
+ ("p" . reftex-index-previous)
+ ("?" . reftex-index-show-help)
+ (" " . reftex-index-view-entry)
+ ("\C-m" . reftex-index-goto-entry-and-hide)
+ ("\C-i" . reftex-index-goto-entry)
+ ("\C-k" . reftex-index-kill)
+ ("r" . reftex-index-rescan)
+ ("R" . reftex-index-Rescan)
+ ("g" . revert-buffer)
+ ("q" . reftex-index-quit)
+ ("k" . reftex-index-quit-and-kill)
+ ("f" . reftex-index-toggle-follow)
+ ("s" . reftex-index-switch-index-tag)
+ ("e" . reftex-index-edit)
+ ("^" . reftex-index-level-up)
+ ("_" . reftex-index-level-down)
+ ("}" . reftex-index-restrict-to-section)
+ ("{" . reftex-index-widen)
+ (">" . reftex-index-restriction-forward)
+ ("<" . reftex-index-restriction-backward)
+ ("(" . reftex-index-toggle-range-beginning)
+ (")" . reftex-index-toggle-range-end)
+ ("|" . reftex-index-edit-attribute)
+ ("@" . reftex-index-edit-visual)
+ ("*" . reftex-index-edit-key)
+ ("\C-c=". reftex-index-goto-toc)
+ ("c" . reftex-index-toggle-context))
do (define-key reftex-index-map (car x) (cdr x)))
(loop for key across "0123456789" do
@@ -1069,33 +1069,33 @@ When index is restricted, select the previous section as restriction criterion."
;; The capital letters and the exclamation mark
(loop for key across (concat "!" reftex-index-section-letters) do
(define-key reftex-index-map (vector (list key))
- (list 'lambda '() '(interactive)
- (list 'reftex-index-goto-letter key))))
+ (list 'lambda '() '(interactive)
+ (list 'reftex-index-goto-letter key))))
(defun reftex-index-goto-letter (char)
"Go to the CHAR section in the index."
(let ((pos (point))
- (case-fold-search nil))
+ (case-fold-search nil))
(goto-line 3)
(if (re-search-forward (concat "^" (char-to-string char)) nil t)
- (progn
- (beginning-of-line)
- (recenter 0)
- (reftex-index-next))
+ (progn
+ (beginning-of-line)
+ (recenter 0)
+ (reftex-index-next))
(goto-char pos)
(if (eq char ?!)
- (error "This <%s> index does not contain entries sorted before the letters"
- reftex-index-tag)
- (error "This <%s> index does not contain entries starting with `%c'"
- reftex-index-tag char)))))
+ (error "This <%s> index does not contain entries sorted before the letters"
+ reftex-index-tag)
+ (error "This <%s> index does not contain entries starting with `%c'"
+ reftex-index-tag char)))))
-(easy-menu-define
+(easy-menu-define
reftex-index-menu reftex-index-map
"Menu for Index buffer"
`("Index"
- ["Goto section A-Z"
+ ["Goto section A-Z"
(message "To go to a section, just press any of: !%s"
- reftex-index-section-letters) t]
+ reftex-index-section-letters) t]
["Show Entry" reftex-index-view-entry t]
["Go To Entry" reftex-index-goto-entry t]
["Exit & Go To Entry" reftex-index-goto-entry-and-hide t]
@@ -1133,7 +1133,7 @@ When index is restricted, select the previous section as restriction criterion."
["Context" reftex-index-toggle-context :style toggle
:selected reftex-index-include-context]
"--"
- ["Follow Mode" reftex-index-toggle-follow :style toggle
+ ["Follow Mode" reftex-index-toggle-follow :style toggle
:selected reftex-index-follow-mode])
"--"
["Help" reftex-index-show-help t]))
@@ -1185,79 +1185,79 @@ You get a chance to edit the entry in the phrases buffer - finish with
(set-marker reftex-index-return-marker (point))
(reftex-index-selection-or-word arg 'phrase)
(if (eq major-mode 'reftex-index-phrases-mode)
- (message
+ (message
(substitute-command-keys
- "Return to LaTeX with \\[reftex-index-phrases-save-and-return]"))))
+ "Return to LaTeX with \\[reftex-index-phrases-save-and-return]"))))
(defun reftex-index-visit-phrases-buffer ()
"Switch to the phrases buffer, initialize if empty."
(interactive)
(reftex-access-scan-info)
(let* ((master (reftex-TeX-master-file))
- (name (concat (file-name-sans-extension master)
- reftex-index-phrase-file-extension)))
+ (name (concat (file-name-sans-extension master)
+ reftex-index-phrase-file-extension)))
(find-file name)
(unless (eq major-mode 'reftex-index-phrases-mode)
(reftex-index-phrases-mode))
(if (= (buffer-size) 0)
- (reftex-index-initialize-phrases-buffer master))))
+ (reftex-index-initialize-phrases-buffer master))))
(defun reftex-index-initialize-phrases-buffer (&optional master)
"Initialize the phrases buffer by creating the header.
If the buffer is non-empty, delete the old header first."
(interactive)
(let* ((case-fold-search t)
- (default-key (car reftex-index-default-macro))
- (default-macro (nth 1 (assoc default-key
- reftex-key-to-index-macro-alist)))
- (macro-alist
- (sort (copy-sequence reftex-index-macro-alist)
- (lambda (a b) (equal (car a) default-macro))))
- macro entry key repeat)
-
+ (default-key (car reftex-index-default-macro))
+ (default-macro (nth 1 (assoc default-key
+ reftex-key-to-index-macro-alist)))
+ (macro-alist
+ (sort (copy-sequence reftex-index-macro-alist)
+ (lambda (a b) (equal (car a) default-macro))))
+ macro entry key repeat)
+
(if master (set (make-local-variable 'TeX-master)
- (file-name-nondirectory master)))
+ (file-name-nondirectory master)))
(when (> (buffer-size) 0)
(goto-char 1)
(set-mark (point))
(while (re-search-forward reftex-index-phrases-macrodef-regexp nil t)
- (end-of-line))
+ (end-of-line))
(beginning-of-line 2)
(if (looking-at reftex-index-phrases-comment-regexp)
- (beginning-of-line 2))
+ (beginning-of-line 2))
(while (looking-at "^[ \t]*$")
- (beginning-of-line 2))
+ (beginning-of-line 2))
(cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region))
- ((boundp 'make-active) (setq mark-active t)))
+ ((boundp 'make-active) (setq mark-active t)))
(if (yes-or-no-p "Delete and rebuilt header ")
- (delete-region (point-min) (point))))
+ (delete-region (point-min) (point))))
;; Insert the mode line
(insert
(format "%% -*- mode: reftex-index-phrases; TeX-master: \"%s\" -*-\n"
- (file-name-nondirectory (reftex-index-phrase-tex-master))))
+ (file-name-nondirectory (reftex-index-phrase-tex-master))))
;; Insert the macro definitions
(insert "% Key Macro Format Repeat\n")
(insert "%---------------------------------------------------------------------\n")
(while (setq entry (pop macro-alist))
(setq macro (car entry)
- repeat (nth 7 entry)
- key (car (delq nil (mapcar (lambda (x) (if (equal (nth 1 x) macro)
- (car x)
- nil))
- reftex-key-to-index-macro-alist))))
+ repeat (nth 7 entry)
+ key (car (delq nil (mapcar (lambda (x) (if (equal (nth 1 x) macro)
+ (car x)
+ nil))
+ reftex-key-to-index-macro-alist))))
(insert (format ">>>INDEX_MACRO_DEFINITION:\t%s\t%-20s\t%s\n"
- (char-to-string key) (concat macro "{%s}")
- (if repeat "t" "nil"))))
+ (char-to-string key) (concat macro "{%s}")
+ (if repeat "t" "nil"))))
(insert "%---------------------------------------------------------------------\n\n\n")))
(defvar TeX-master)
(defun reftex-index-phrase-tex-master (&optional dir)
"Return the name of the master file associated with a phrase buffer."
(if (and (boundp 'TeX-master)
- (local-variable-p 'TeX-master (current-buffer))
- (stringp TeX-master))
+ (local-variable-p 'TeX-master (current-buffer))
+ (stringp TeX-master))
;; We have a local variable which tells us which file to use
(expand-file-name TeX-master dir)
;; have to guess
@@ -1301,9 +1301,9 @@ Here are all local bindings.
(interactive)
(kill-all-local-variables)
(setq major-mode 'reftex-index-phrases-mode
- mode-name "Phrases")
+ mode-name "Phrases")
(use-local-map reftex-index-phrases-map)
- (set (make-local-variable 'font-lock-defaults)
+ (set (make-local-variable 'font-lock-defaults)
reftex-index-phrases-font-lock-defaults)
(easy-menu-add reftex-index-phrases-menu reftex-index-phrases-map)
(set (make-local-variable 'reftex-index-phrases-marker) (make-marker))
@@ -1313,31 +1313,31 @@ Here are all local bindings.
;; Font Locking stuff
(let ((ss (if (featurep 'xemacs) 'secondary-selection ''secondary-selection)))
(setq reftex-index-phrases-font-lock-keywords
- (list
- (cons reftex-index-phrases-comment-regexp 'font-lock-comment-face)
- (list reftex-index-phrases-macrodef-regexp
- '(1 font-lock-type-face)
- '(2 font-lock-keyword-face)
- (list 3 ss)
- '(4 font-lock-function-name-face)
- (list 5 ss)
- '(6 font-lock-string-face))
- (list reftex-index-phrases-phrase-regexp1
- '(1 font-lock-keyword-face)
- (list 2 ss)
- '(3 font-lock-string-face)
- (list 4 ss))
- (list reftex-index-phrases-phrase-regexp2
- '(1 font-lock-keyword-face)
- (list 2 ss)
- '(3 font-lock-string-face)
- (list 4 ss)
- '(5 font-lock-function-name-face))
- (cons "^\t$" ss)))
+ (list
+ (cons reftex-index-phrases-comment-regexp 'font-lock-comment-face)
+ (list reftex-index-phrases-macrodef-regexp
+ '(1 font-lock-type-face)
+ '(2 font-lock-keyword-face)
+ (list 3 ss)
+ '(4 font-lock-function-name-face)
+ (list 5 ss)
+ '(6 font-lock-string-face))
+ (list reftex-index-phrases-phrase-regexp1
+ '(1 font-lock-keyword-face)
+ (list 2 ss)
+ '(3 font-lock-string-face)
+ (list 4 ss))
+ (list reftex-index-phrases-phrase-regexp2
+ '(1 font-lock-keyword-face)
+ (list 2 ss)
+ '(3 font-lock-string-face)
+ (list 4 ss)
+ '(5 font-lock-function-name-face))
+ (cons "^\t$" ss)))
(setq reftex-index-phrases-font-lock-defaults
- '((reftex-index-phrases-font-lock-keywords)
- nil t nil beginning-of-line))
- (put 'reftex-index-phrases-mode 'font-lock-defaults
+ '((reftex-index-phrases-font-lock-keywords)
+ nil t nil beginning-of-line))
+ (put 'reftex-index-phrases-mode 'font-lock-defaults
reftex-index-phrases-font-lock-defaults) ; XEmacs
)
@@ -1350,9 +1350,9 @@ Here are all local bindings.
(decf arg)
(end-of-line)
(if (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
- (progn
- (goto-char (match-beginning 0))
- (reftex-index-this-phrase))
+ (progn
+ (goto-char (match-beginning 0))
+ (reftex-index-this-phrase))
(error "No more phrase lines after point"))))
(defun reftex-index-this-phrase ()
@@ -1364,48 +1364,48 @@ match, the user will be asked to confirm the replacement."
(save-excursion
(beginning-of-line)
(cond ((looking-at reftex-index-phrases-comment-regexp)
- (if (interactive-p) (error "Comment line")))
- ((looking-at "^[ \t]*$")
- (if (interactive-p) (error "Empty line")))
- ((looking-at reftex-index-phrases-macrodef-regexp)
- (if (interactive-p) (error "Macro definition line")))
- ((looking-at reftex-index-phrases-phrase-regexp12)
- ;; This is a phrase
- (let* ((char (if (not (equal (match-string 1) ""))
- (string-to-char (match-string 1))))
- (phrase (match-string 3))
- (index-key (match-string 6))
- (macro-data (cdr (if (null char)
- (car reftex-index-phrases-macro-data)
- (assoc char reftex-index-phrases-macro-data))))
- (macro-fmt (car macro-data))
- (repeat (nth 1 macro-data))
- (files
- (cond ((and (stringp reftex-index-phrases-restrict-file)
- (file-regular-p reftex-index-phrases-restrict-file))
- (list reftex-index-phrases-restrict-file))
- ((stringp reftex-index-phrases-restrict-file)
- (error "Illegal restriction file %s"
- reftex-index-phrases-restrict-file))
- (t reftex-index-phrases-files)))
- (as-words reftex-index-phrases-search-whole-words))
- (unless macro-data
- (error "No macro associated with key %c" char))
- (unwind-protect
- (let ((overlay-arrow-string "=>")
- (overlay-arrow-position
- reftex-index-phrases-marker)
- (replace-count 0))
- ;; Show the overlay arrow
- (move-marker reftex-index-phrases-marker
- (match-beginning 0) (current-buffer))
- ;; Start the query-replace
- (reftex-query-index-phrase-globally
- files phrase macro-fmt
- index-key repeat as-words)
- (message "%s replaced"
- (reftex-number replace-count "occurrence"))))))
- (t (error "Cannot parse this line")))))
+ (if (interactive-p) (error "Comment line")))
+ ((looking-at "^[ \t]*$")
+ (if (interactive-p) (error "Empty line")))
+ ((looking-at reftex-index-phrases-macrodef-regexp)
+ (if (interactive-p) (error "Macro definition line")))
+ ((looking-at reftex-index-phrases-phrase-regexp12)
+ ;; This is a phrase
+ (let* ((char (if (not (equal (match-string 1) ""))
+ (string-to-char (match-string 1))))
+ (phrase (match-string 3))
+ (index-key (match-string 6))
+ (macro-data (cdr (if (null char)
+ (car reftex-index-phrases-macro-data)
+ (assoc char reftex-index-phrases-macro-data))))
+ (macro-fmt (car macro-data))
+ (repeat (nth 1 macro-data))
+ (files
+ (cond ((and (stringp reftex-index-phrases-restrict-file)
+ (file-regular-p reftex-index-phrases-restrict-file))
+ (list reftex-index-phrases-restrict-file))
+ ((stringp reftex-index-phrases-restrict-file)
+ (error "Illegal restriction file %s"
+ reftex-index-phrases-restrict-file))
+ (t reftex-index-phrases-files)))
+ (as-words reftex-index-phrases-search-whole-words))
+ (unless macro-data
+ (error "No macro associated with key %c" char))
+ (unwind-protect
+ (let ((overlay-arrow-string "=>")
+ (overlay-arrow-position
+ reftex-index-phrases-marker)
+ (replace-count 0))
+ ;; Show the overlay arrow
+ (move-marker reftex-index-phrases-marker
+ (match-beginning 0) (current-buffer))
+ ;; Start the query-replace
+ (reftex-query-index-phrase-globally
+ files phrase macro-fmt
+ index-key repeat as-words)
+ (message "%s replaced"
+ (reftex-number replace-count "occurrence"))))))
+ (t (error "Cannot parse this line")))))
(defun reftex-index-all-phrases ()
"Index all phrases in the phrases buffer.
@@ -1428,7 +1428,7 @@ Calls `reftex-index-this-phrase' on each line in the region."
(reftex-index-phrases-parse-header t)
(goto-char beg)
(while (not (or (eobp)
- (>= (point) end)))
+ (>= (point) end)))
(save-excursion (reftex-index-this-phrase))
(beginning-of-line 2)))
@@ -1438,31 +1438,31 @@ The definitions get stored in `reftex-index-phrases-macro-data'.
Also switches to the LaTeX document to find out which files belong to
the document and stores the list in `reftex-index-phrases-files'."
(let* ((master (reftex-index-phrase-tex-master))
- buf)
+ buf)
(if get-files
- ;; Get the file list
- (save-excursion
- (setq buf (reftex-get-file-buffer-force master))
- (unless buf (error "Master file %s not found" master))
- (set-buffer buf)
- (reftex-access-scan-info)
- (setq reftex-index-phrases-files
- (reftex-all-document-files))))
+ ;; Get the file list
+ (save-excursion
+ (setq buf (reftex-get-file-buffer-force master))
+ (unless buf (error "Master file %s not found" master))
+ (set-buffer buf)
+ (reftex-access-scan-info)
+ (setq reftex-index-phrases-files
+ (reftex-all-document-files))))
;; Parse the files header for macro definitions
(setq reftex-index-phrases-macro-data nil)
(save-excursion
(goto-char (point-min))
(while (re-search-forward reftex-index-phrases-macrodef-regexp nil t)
- (push (list
- (string-to-char (match-string 2))
- (match-string 4)
- (equal (match-string 6) "t"))
- reftex-index-phrases-macro-data))
+ (push (list
+ (string-to-char (match-string 2))
+ (match-string 4)
+ (equal (match-string 6) "t"))
+ reftex-index-phrases-macro-data))
;; Reverse the list, so that the first macro is first
(if (null reftex-index-phrases-macro-data)
- (error "No valid MACRO DEFINITION line in %s file (make sure to use TAB separators)" reftex-index-phrase-file-extension))
- (setq reftex-index-phrases-macro-data
- (nreverse reftex-index-phrases-macro-data))
+ (error "No valid MACRO DEFINITION line in %s file (make sure to use TAB separators)" reftex-index-phrase-file-extension))
+ (setq reftex-index-phrases-macro-data
+ (nreverse reftex-index-phrases-macro-data))
(goto-char (point-min)))))
(defun reftex-index-phrases-apply-to-region (beg end)
@@ -1473,34 +1473,34 @@ you need to add/change text in an already indexed document and want to
index the new part without having to go over the unchanged parts again."
(interactive "r")
(let ((win-conf (current-window-configuration))
- (reftex-index-phrases-restrict-file (buffer-file-name)))
+ (reftex-index-phrases-restrict-file (buffer-file-name)))
(save-excursion
(save-restriction
(narrow-to-region beg end)
(unwind-protect
- (progn
- ;; Hide the region highlighting
- (cond ((fboundp 'zmacs-deactivate-region) (zmacs-deactivate-region))
- ((fboundp 'deactivate-mark) (deactivate-mark)))
- (delete-other-windows)
- (reftex-index-visit-phrases-buffer)
- (reftex-index-all-phrases))
- (set-window-configuration win-conf))))))
+ (progn
+ ;; Hide the region highlighting
+ (cond ((fboundp 'zmacs-deactivate-region) (zmacs-deactivate-region))
+ ((fboundp 'deactivate-mark) (deactivate-mark)))
+ (delete-other-windows)
+ (reftex-index-visit-phrases-buffer)
+ (reftex-index-all-phrases))
+ (set-window-configuration win-conf))))))
(defun reftex-index-new-phrase (&optional text)
"Open a new line in the phrases buffer, insert TEXT."
(interactive)
(if (and text (stringp text))
(progn
- ;; Check if the phrase is already in the buffer
- (setq text (reftex-index-simplify-phrase text))
- (goto-char (point-min))
- (if (re-search-forward
- (concat "^\\(\\S-*\\)\t\\(" (regexp-quote text)
- "\\) *[\t\n]") nil t)
- (progn
- (goto-char (match-end 2))
- (error "Phrase is already in phrases buffer")))))
+ ;; Check if the phrase is already in the buffer
+ (setq text (reftex-index-simplify-phrase text))
+ (goto-char (point-min))
+ (if (re-search-forward
+ (concat "^\\(\\S-*\\)\t\\(" (regexp-quote text)
+ "\\) *[\t\n]") nil t)
+ (progn
+ (goto-char (match-end 2))
+ (error "Phrase is already in phrases buffer")))))
;; Add the new phrase line after the last in the buffer
(goto-char (point-max))
(if (re-search-backward reftex-index-phrases-phrase-regexp12 nil t)
@@ -1521,19 +1521,19 @@ To check the whole buffer, start at the beginning and continue by calling
this function repeatedly."
(interactive "P")
(if (catch 'exit
- (while (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
- (goto-char (match-beginning 3))
- (let* ((phrase (match-string 3))
- (case-fold-search reftex-index-phrases-case-fold-search)
- (re (reftex-index-phrases-find-dup-re phrase t)))
- (if (save-excursion
- (goto-char (point-min))
- (and (re-search-forward re nil t)
- (re-search-forward re nil t)))
- (throw 'exit t)))))
+ (while (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
+ (goto-char (match-beginning 3))
+ (let* ((phrase (match-string 3))
+ (case-fold-search reftex-index-phrases-case-fold-search)
+ (re (reftex-index-phrases-find-dup-re phrase t)))
+ (if (save-excursion
+ (goto-char (point-min))
+ (and (re-search-forward re nil t)
+ (re-search-forward re nil t)))
+ (throw 'exit t)))))
(progn
- (reftex-index-phrases-info)
- (message "Phrase with match conflict discovered"))
+ (reftex-index-phrases-info)
+ (message "Phrase with match conflict discovered"))
(goto-char (point-max))
(error "No further problematic phrases found")))
@@ -1546,82 +1546,82 @@ this function repeatedly."
(error "Not a phrase line"))
(save-match-data (reftex-index-phrases-parse-header t))
(let* ((char (if (not (equal (match-string 1) ""))
- (string-to-char (match-string 1))))
- (phrase (match-string 3))
- (index-key (match-string 6))
- (index-keys (split-string
- (or index-key phrase)
- reftex-index-phrases-logical-or-regexp))
- (macro-data (cdr (if (null char)
- (car reftex-index-phrases-macro-data)
- (assoc char reftex-index-phrases-macro-data))))
- (macro-fmt (car macro-data))
- (repeat (nth 1 macro-data))
- (as-words reftex-index-phrases-search-whole-words)
- (example (reftex-index-make-replace-string
- macro-fmt (downcase phrase) (car index-keys) repeat))
- (re (reftex-index-make-phrase-regexp phrase as-words t))
- (re1 (reftex-index-phrases-find-dup-re phrase))
- (re2 (reftex-index-phrases-find-dup-re phrase 'sub))
- superphrases
- (nmatches 0)
- (ntimes1 0)
- (ntimes2 0)
- (case-fold-search reftex-index-phrases-case-fold-search)
- file files buf)
+ (string-to-char (match-string 1))))
+ (phrase (match-string 3))
+ (index-key (match-string 6))
+ (index-keys (split-string
+ (or index-key phrase)
+ reftex-index-phrases-logical-or-regexp))
+ (macro-data (cdr (if (null char)
+ (car reftex-index-phrases-macro-data)
+ (assoc char reftex-index-phrases-macro-data))))
+ (macro-fmt (car macro-data))
+ (repeat (nth 1 macro-data))
+ (as-words reftex-index-phrases-search-whole-words)
+ (example (reftex-index-make-replace-string
+ macro-fmt (downcase phrase) (car index-keys) repeat))
+ (re (reftex-index-make-phrase-regexp phrase as-words t))
+ (re1 (reftex-index-phrases-find-dup-re phrase))
+ (re2 (reftex-index-phrases-find-dup-re phrase 'sub))
+ superphrases
+ (nmatches 0)
+ (ntimes1 0)
+ (ntimes2 0)
+ (case-fold-search reftex-index-phrases-case-fold-search)
+ file files buf)
(setq files reftex-index-phrases-files)
(save-excursion
- (save-restriction
- (widen)
- (goto-char (point-min))
- (while (re-search-forward re1 nil t)
- (incf ntimes1))
- (goto-char (point-min))
- (while (re-search-forward re2 nil t)
- (push (cons (count-lines 1 (point)) (match-string 1)) superphrases)
- (incf ntimes2))))
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (while (re-search-forward re1 nil t)
+ (incf ntimes1))
+ (goto-char (point-min))
+ (while (re-search-forward re2 nil t)
+ (push (cons (count-lines 1 (point)) (match-string 1)) superphrases)
+ (incf ntimes2))))
(save-excursion
- (while (setq file (pop files))
- (setq buf (reftex-get-file-buffer-force file))
- (when buf
- (set-buffer buf)
- (save-excursion
- (save-restriction
- (widen)
- (goto-char (point-min))
- (let ((case-fold-search reftex-index-phrases-case-fold-search))
- (while (re-search-forward re nil t)
- (or (reftex-in-comment)
- (incf nmatches)))))))))
+ (while (setq file (pop files))
+ (setq buf (reftex-get-file-buffer-force file))
+ (when buf
+ (set-buffer buf)
+ (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (let ((case-fold-search reftex-index-phrases-case-fold-search))
+ (while (re-search-forward re nil t)
+ (or (reftex-in-comment)
+ (incf nmatches)))))))))
(with-output-to-temp-buffer "*Help*"
- (princ (format " Phrase: %s\n" phrase))
- (princ (format " Macro key: %s\n" char))
- (princ (format " Macro format: %s\n" macro-fmt))
- (princ (format " Repeat: %s\n" repeat))
- (cond
- (index-key
- (let ((iks index-keys) (cnt 0) ik)
- (while (setq ik (pop iks))
- (princ (format "Index entry %d: %s\n" (incf cnt) ik)))))
- (repeat
- (princ (format " Index entry: %s\n" phrase)))
- (t
- (princ (format " Index key: <<Given by the match>>\n"))))
- (princ (format " Example: %s\n" example))
- (terpri)
- (princ (format "Total matches: %s in %s\n"
- (reftex-number nmatches "match" "es")
- (reftex-number (length reftex-index-phrases-files)
- "LaTeX file")))
- (princ (format " Uniqueness: Phrase occurs %s in phrase buffer\n"
- (reftex-number ntimes1 "time")))
- (if (> ntimes2 1)
- (progn
- (princ (format " Superphrases: Phrase matches the following %s in the phrase buffer:\n"
- (reftex-number ntimes2 "line")))
- (mapcar (lambda(x)
- (princ (format " Line %4d: %s\n" (car x) (cdr x))))
- (nreverse superphrases))))))))
+ (princ (format " Phrase: %s\n" phrase))
+ (princ (format " Macro key: %s\n" char))
+ (princ (format " Macro format: %s\n" macro-fmt))
+ (princ (format " Repeat: %s\n" repeat))
+ (cond
+ (index-key
+ (let ((iks index-keys) (cnt 0) ik)
+ (while (setq ik (pop iks))
+ (princ (format "Index entry %d: %s\n" (incf cnt) ik)))))
+ (repeat
+ (princ (format " Index entry: %s\n" phrase)))
+ (t
+ (princ (format " Index key: <<Given by the match>>\n"))))
+ (princ (format " Example: %s\n" example))
+ (terpri)
+ (princ (format "Total matches: %s in %s\n"
+ (reftex-number nmatches "match" "es")
+ (reftex-number (length reftex-index-phrases-files)
+ "LaTeX file")))
+ (princ (format " Uniqueness: Phrase occurs %s in phrase buffer\n"
+ (reftex-number ntimes1 "time")))
+ (if (> ntimes2 1)
+ (progn
+ (princ (format " Superphrases: Phrase matches the following %s in the phrase buffer:\n"
+ (reftex-number ntimes2 "line")))
+ (mapcar (lambda(x)
+ (princ (format " Line %4d: %s\n" (car x) (cdr x))))
+ (nreverse superphrases))))))))
(defun reftex-index-phrases-set-macro-key ()
"Change the macro key for the current line.
@@ -1634,32 +1634,32 @@ information about the currently selected macro."
(save-excursion
(beginning-of-line)
(unless (or (looking-at reftex-index-phrases-phrase-regexp12)
- (looking-at "\t"))
+ (looking-at "\t"))
(error "This is not a phrase line"))
(let* ((nc (reftex-index-select-phrases-macro 0))
- (macro-data (assoc nc reftex-index-phrases-macro-data))
- macro-fmt repeat)
+ (macro-data (assoc nc reftex-index-phrases-macro-data))
+ macro-fmt repeat)
(cond (macro-data)
- ((equal nc ?\ )
- (setq nc ""
- macro-data (car reftex-index-phrases-macro-data)))
- ((equal nc ?\C-m)
- (setq nc (char-after (point)))
- (if (equal nc ?\t)
- (setq nc ""
- macro-data (car reftex-index-phrases-macro-data))
- (setq macro-data (assoc nc reftex-index-phrases-macro-data))))
- (t (error "No macro associated with %c" nc)))
+ ((equal nc ?\ )
+ (setq nc ""
+ macro-data (car reftex-index-phrases-macro-data)))
+ ((equal nc ?\C-m)
+ (setq nc (char-after (point)))
+ (if (equal nc ?\t)
+ (setq nc ""
+ macro-data (car reftex-index-phrases-macro-data))
+ (setq macro-data (assoc nc reftex-index-phrases-macro-data))))
+ (t (error "No macro associated with %c" nc)))
(setq macro-fmt (nth 1 macro-data)
- repeat (nth 2 macro-data))
+ repeat (nth 2 macro-data))
(if macro-data
- (progn
- (if (looking-at "[^\t]") (delete-char 1))
- (insert nc)
- (message "Line will use %s %s repeat" macro-fmt
- (if repeat "with" "without")))
- (error "Abort")))))
+ (progn
+ (if (looking-at "[^\t]") (delete-char 1))
+ (insert nc)
+ (message "Line will use %s %s repeat" macro-fmt
+ (if repeat "with" "without")))
+ (error "Abort")))))
(defun reftex-index-sort-phrases (&optional chars-first)
"Sort the phrases lines in the buffer alphabetically.
@@ -1668,28 +1668,28 @@ it first compares the macro identifying chars and then the phrases."
(interactive "P")
;; Remember the current line, so that we can return
(let ((line (buffer-substring (progn (beginning-of-line) (point))
- (progn (end-of-line) (point))))
- beg end)
+ (progn (end-of-line) (point))))
+ beg end)
(goto-char (point-min))
;; Find first and last phrase line in buffer
- (setq beg
- (and (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
- (match-beginning 0)))
+ (setq beg
+ (and (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
+ (match-beginning 0)))
(goto-char (point-max))
(setq end (re-search-backward reftex-index-phrases-phrase-regexp12 nil t))
(if end (setq end (progn (goto-char end) (end-of-line) (point))))
;; Take the lines, sort them and re-insert.
(if (and beg end)
- (progn
- (message "Sorting lines...")
- (let* ((lines (split-string (buffer-substring beg end) "\n"))
- (lines1 (sort lines 'reftex-compare-phrase-lines)))
- (message "Sorting lines...done")
- (let ((inhibit-quit t)) ;; make sure we do not loose lines
- (delete-region beg end)
- (insert (mapconcat 'identity lines1 "\n"))))
- (goto-char (point-max))
- (re-search-backward (concat "^" (regexp-quote line) "$") nil t))
+ (progn
+ (message "Sorting lines...")
+ (let* ((lines (split-string (buffer-substring beg end) "\n"))
+ (lines1 (sort lines 'reftex-compare-phrase-lines)))
+ (message "Sorting lines...done")
+ (let ((inhibit-quit t)) ;; make sure we do not loose lines
+ (delete-region beg end)
+ (insert (mapconcat 'identity lines1 "\n"))))
+ (goto-char (point-max))
+ (re-search-backward (concat "^" (regexp-quote line) "$") nil t))
(error "Cannot find phrases lines to sort"))))
(defvar chars-first)
@@ -1697,28 +1697,28 @@ it first compares the macro identifying chars and then the phrases."
"The comparison function used for sorting."
(let (ca cb pa pb c-p p-p)
(if (string-match reftex-index-phrases-phrase-regexp12 a)
- (progn
- ;; Extract macro char and phrase-or-key for a
- (setq ca (match-string 1 a)
- pa (downcase
- (or (and reftex-index-phrases-sort-prefers-entry
- (match-string 6 a))
- (match-string 3 a))))
- (if (string-match reftex-index-phrases-phrase-regexp12 b)
- (progn
- ;; Extract macro char and phrase-or-key for b
- (setq cb (match-string 1 b)
- pb (downcase
- (or (and reftex-index-phrases-sort-prefers-entry
- (match-string 6 b))
- (match-string 3 b))))
- (setq c-p (string< ca cb)
- p-p (string< pa pb))
- ;; Do the right comparison, based on the value of `chars-first'
- ;; `chars-first' is bound locally in the calling function
- (if chars-first
- (if (string= ca cb) p-p c-p)
- (if (string= pa pb) c-p p-p)))))
+ (progn
+ ;; Extract macro char and phrase-or-key for a
+ (setq ca (match-string 1 a)
+ pa (downcase
+ (or (and reftex-index-phrases-sort-prefers-entry
+ (match-string 6 a))
+ (match-string 3 a))))
+ (if (string-match reftex-index-phrases-phrase-regexp12 b)
+ (progn
+ ;; Extract macro char and phrase-or-key for b
+ (setq cb (match-string 1 b)
+ pb (downcase
+ (or (and reftex-index-phrases-sort-prefers-entry
+ (match-string 6 b))
+ (match-string 3 b))))
+ (setq c-p (string< ca cb)
+ p-p (string< pa pb))
+ ;; Do the right comparison, based on the value of `chars-first'
+ ;; `chars-first' is bound locally in the calling function
+ (if chars-first
+ (if (string= ca cb) p-p c-p)
+ (if (string= pa pb) c-p p-p)))))
;; If line a does not match, the answer we return determines
;; if non-matching lines are collected at the beginning.
;; When we return t here, non-matching lines form
@@ -1726,22 +1726,22 @@ it first compares the macro identifying chars and then the phrases."
(not reftex-index-phrases-sort-in-blocks))))
(defvar reftex-index-phrases-menu)
-(defun reftex-index-make-phrase-regexp (phrase &optional
- as-words allow-newline)
+(defun reftex-index-make-phrase-regexp (phrase &optional
+ as-words allow-newline)
"Return a regexp matching PHRASE, even if distributed over lines.
With optional arg AS-WORDS, require word boundary at beginning and end.
With optional arg ALLOW-NEWLINE, allow single newline between words."
(let* ((words (split-string phrase))
- (space-re (if allow-newline
- "\\([ \t]*\\(\n[ \t]*\\)?\\|[ \t]\\)"
- "\\([ \t]+\\)")))
+ (space-re (if allow-newline
+ "\\([ \t]*\\(\n[ \t]*\\)?\\|[ \t]\\)"
+ "\\([ \t]+\\)")))
(concat (if (and as-words (string-match "\\`\\w" (car words)))
- "\\<" "")
- (mapconcat (lambda (w) (regexp-quote (downcase w)))
- words space-re)
- (if (and as-words
- (string-match "\\w\\'" (nth (1- (length words)) words)))
- "\\>" ""))))
+ "\\<" "")
+ (mapconcat (lambda (w) (regexp-quote (downcase w)))
+ words space-re)
+ (if (and as-words
+ (string-match "\\w\\'" (nth (1- (length words)) words)))
+ "\\>" ""))))
(defun reftex-index-simplify-phrase (phrase)
"Make phrase single spaces and single line."
@@ -1752,40 +1752,40 @@ With optional arg ALLOW-NEWLINE, allow single newline between words."
When SUB ins non-nil, the regexp will also match when PHRASE is a subphrase
of another phrase. The regexp works lonly in the phrase buffer."
(concat (if sub "^\\S-?\t\\([^\t\n]*" "^\\S-?\t")
- (mapconcat 'regexp-quote (split-string phrase) " +")
- (if sub "[^\t\n]*\\)\\([\t\n]\\|$\\)" " *\\([\t\n]\\|$\\)")))
+ (mapconcat 'regexp-quote (split-string phrase) " +")
+ (if sub "[^\t\n]*\\)\\([\t\n]\\|$\\)" " *\\([\t\n]\\|$\\)")))
(defun reftex-index-make-replace-string (macro-fmt match index-key
- &optional repeat mathp)
+ &optional repeat mathp)
"Return the string which can be used as replacement.
Treats the logical `and' for index phrases."
(let ((index-keys (split-string (or index-key match)
- reftex-index-phrases-logical-and-regexp)))
+ reftex-index-phrases-logical-and-regexp)))
(concat
- (mapconcat (lambda (x)
- (format macro-fmt
- (format (if mathp reftex-index-math-format "%s") x)))
- index-keys "")
+ (mapconcat (lambda (x)
+ (format macro-fmt
+ (format (if mathp reftex-index-math-format "%s") x)))
+ index-keys "")
(if repeat (reftex-index-simplify-phrase match) ""))))
(defun reftex-query-index-phrase-globally (files &rest args)
"Call `reftex-query-index-phrase' for all files in FILES."
(let ((win-conf (current-window-configuration))
- (file))
+ (file))
(unless files (error "No files"))
(unwind-protect
- (progn
- (switch-to-buffer-other-window (reftex-get-file-buffer-force
- (car files)))
- (catch 'no-more-files
- (while (setq file (pop files))
- (switch-to-buffer (reftex-get-file-buffer-force file))
- (save-excursion
- (save-restriction
- (unless (stringp reftex-index-phrases-restrict-file)
- (widen))
- (goto-char (point-min))
- (apply 'reftex-query-index-phrase args))))))
+ (progn
+ (switch-to-buffer-other-window (reftex-get-file-buffer-force
+ (car files)))
+ (catch 'no-more-files
+ (while (setq file (pop files))
+ (switch-to-buffer (reftex-get-file-buffer-force file))
+ (save-excursion
+ (save-restriction
+ (unless (stringp reftex-index-phrases-restrict-file)
+ (widen))
+ (goto-char (point-min))
+ (apply 'reftex-query-index-phrase args))))))
(reftex-unhighlight 0)
(set-window-configuration win-conf))))
@@ -1806,7 +1806,7 @@ C-g Abort"
(defvar replace-count)
(defun reftex-query-index-phrase (phrase macro-fmt &optional
- index-key repeat as-words)
+ index-key repeat as-words)
"Search through buffer for PHRASE, and offer to replace it with an indexed
version. The index version is derived by applying `format' with MACRO-FMT
to INDEX-KEY or PHRASE. When REPEAT is non-nil, the PHRASE is inserted
@@ -1814,142 +1814,140 @@ again after the macro.
AS-WORDS means, the search for PHRASE should require word boundaries at
both ends."
(let* ((re (reftex-index-make-phrase-regexp phrase as-words 'allow-newline))
- (case-fold-search reftex-index-phrases-case-fold-search)
- (index-keys (split-string
- (or index-key phrase)
- reftex-index-phrases-logical-or-regexp))
- (nkeys (length index-keys))
- (ckey (nth 0 index-keys))
- (all-yes nil)
- match rpl char beg end mathp)
+ (case-fold-search reftex-index-phrases-case-fold-search)
+ (index-keys (split-string
+ (or index-key phrase)
+ reftex-index-phrases-logical-or-regexp))
+ (nkeys (length index-keys))
+ (ckey (nth 0 index-keys))
+ (all-yes nil)
+ match rpl char beg end mathp)
(unwind-protect
- (while (re-search-forward re nil t)
- (catch 'next-match
- (if (and (fboundp reftex-index-verify-function)
- (not (funcall reftex-index-verify-function)))
- (throw 'next-match nil))
- (setq match (match-string 0))
- (setq mathp
- (save-match-data
- (condition-case nil (texmathp) (error nil))))
- (setq beg (car (match-data))
- end (nth 1 (match-data)))
- (if (and reftex-index-phrases-skip-indexed-matches
- (save-match-data
- (reftex-index-phrase-match-is-indexed beg
- end)))
- (throw 'next-match nil))
- (reftex-highlight 0 (match-beginning 0) (match-end 0))
- (setq rpl
- (save-match-data
- (reftex-index-make-replace-string
- macro-fmt (match-string 0) ckey repeat mathp)))
- (while
- (not
- (catch 'loop
- (message "REPLACE: %s? (yn!qoe%s?)"
- rpl
- (if (> nkeys 1)
- (concat "1-" (int-to-string nkeys))
- ""))
- (setq char (if all-yes ?y (read-char-exclusive)))
- (cond ((member char '(?y ?Y ?\ ))
- ;; Yes!
- (replace-match rpl t t)
- (incf replace-count)
- ;; See if we should insert newlines to shorten lines
- (and reftex-index-phrases-wrap-long-lines
- (reftex-index-phrases-fixup-line beg end))
- (throw 'loop t))
- ((member char '(?n ?N ?\C-h ?\C-?));; FIXME: DEL
- ;; No
- (throw 'loop t))
- ((equal char ?!)
- ;; Yes for all in this buffer
- (setq all-yes t))
- ((equal char ?q)
- ;; Stop this one in this file
- (goto-char (point-max))
- (throw 'loop t))
- ((equal char ?Q)
- ;; Stop this one
- (throw 'no-more-files t))
- ((equal char ?s)
- (save-buffer))
- ((equal char ?S)
- (reftex-save-all-document-buffers))
- ((equal char ?\C-g)
- (keyboard-quit))
- ((member char '(?o ?O))
- ;; Select a differnt macro
- (let* ((nc (reftex-index-select-phrases-macro 2))
- (macro-data
- (cdr (assoc nc reftex-index-phrases-macro-data)))
- (macro-fmt (car macro-data))
- (repeat (nth 1 macro-data)))
- (if macro-data
- (setq rpl (save-match-data
- (reftex-index-make-replace-string
- macro-fmt match
- ckey repeat mathp)))
- (ding))))
- ((equal char ?\?)
- ;; Help
- (with-output-to-temp-buffer "*Help*"
- (princ reftex-index-phrases-help)))
- ((equal char ?\C-r)
- ;; Recursive edit
- (save-match-data
- (save-excursion
- (message
- (substitute-command-keys
- "Recursive edit. Resume with \\[exit-recursive-edit]"))
- (recursive-edit))))
- ((equal char ?e)
- (setq rpl (read-string "Edit: " rpl)))
- ((equal char ?0)
- (setq ckey (or index-key phrase)
- rpl (save-match-data
- (reftex-index-make-replace-string
- macro-fmt match ckey repeat mathp))))
- ((and (> char ?0)
- (<= char (+ ?0 nkeys)))
- (setq ckey (nth (1- (- char ?0)) index-keys)
- rpl (save-match-data
- (reftex-index-make-replace-string
- macro-fmt match ckey repeat mathp))))
- (t (ding)))
- nil)))))
+ (while (re-search-forward re nil t)
+ (catch 'next-match
+ (if (and (fboundp reftex-index-verify-function)
+ (not (funcall reftex-index-verify-function)))
+ (throw 'next-match nil))
+ (setq match (match-string 0))
+ (setq mathp
+ (save-match-data
+ (condition-case nil (texmathp) (error nil))))
+ (setq beg (car (match-data))
+ end (nth 1 (match-data)))
+ (if (and reftex-index-phrases-skip-indexed-matches
+ (save-match-data
+ (reftex-index-phrase-match-is-indexed beg
+ end)))
+ (throw 'next-match nil))
+ (reftex-highlight 0 (match-beginning 0) (match-end 0))
+ (setq rpl
+ (save-match-data
+ (reftex-index-make-replace-string
+ macro-fmt (match-string 0) ckey repeat mathp)))
+ (while
+ (not
+ (catch 'loop
+ (message "REPLACE: %s? (yn!qoe%s?)"
+ rpl
+ (if (> nkeys 1)
+ (concat "1-" (int-to-string nkeys))
+ ""))
+ (setq char (if all-yes ?y (read-char-exclusive)))
+ (cond ((member char '(?y ?Y ?\ ))
+ ;; Yes!
+ (replace-match rpl t t)
+ (incf replace-count)
+ ;; See if we should insert newlines to shorten lines
+ (and reftex-index-phrases-wrap-long-lines
+ (reftex-index-phrases-fixup-line beg end))
+ (throw 'loop t))
+ ((member char '(?n ?N ?\C-h ?\C-?));; FIXME: DEL
+ ;; No
+ (throw 'loop t))
+ ((equal char ?!)
+ ;; Yes for all in this buffer
+ (setq all-yes t))
+ ((equal char ?q)
+ ;; Stop this one in this file
+ (goto-char (point-max))
+ (throw 'loop t))
+ ((equal char ?Q)
+ ;; Stop this one
+ (throw 'no-more-files t))
+ ((equal char ?s)
+ (save-buffer))
+ ((equal char ?S)
+ (reftex-save-all-document-buffers))
+ ((equal char ?\C-g)
+ (keyboard-quit))
+ ((member char '(?o ?O))
+ ;; Select a differnt macro
+ (let* ((nc (reftex-index-select-phrases-macro 2))
+ (macro-data
+ (cdr (assoc nc reftex-index-phrases-macro-data)))
+ (macro-fmt (car macro-data))
+ (repeat (nth 1 macro-data)))
+ (if macro-data
+ (setq rpl (save-match-data
+ (reftex-index-make-replace-string
+ macro-fmt match
+ ckey repeat mathp)))
+ (ding))))
+ ((equal char ?\?)
+ ;; Help
+ (with-output-to-temp-buffer "*Help*"
+ (princ reftex-index-phrases-help)))
+ ((equal char ?\C-r)
+ ;; Recursive edit
+ (save-match-data
+ (save-excursion
+ (message
+ (substitute-command-keys
+ "Recursive edit. Resume with \\[exit-recursive-edit]"))
+ (recursive-edit))))
+ ((equal char ?e)
+ (setq rpl (read-string "Edit: " rpl)))
+ ((equal char ?0)
+ (setq ckey (or index-key phrase)
+ rpl (save-match-data
+ (reftex-index-make-replace-string
+ macro-fmt match ckey repeat mathp))))
+ ((and (> char ?0)
+ (<= char (+ ?0 nkeys)))
+ (setq ckey (nth (1- (- char ?0)) index-keys)
+ rpl (save-match-data
+ (reftex-index-make-replace-string
+ macro-fmt match ckey repeat mathp))))
+ (t (ding)))
+ nil)))))
(message "")
(setq all-yes nil)
(reftex-unhighlight 0))))
(defun reftex-index-phrase-match-is-indexed (beg end)
- ;; CHeck if match is in an argument of an index macro, or if an
- ;; index macro is directly attached to the match.
(save-excursion
(goto-char end)
- (let* ((all-macros (reftex-what-macro t))
- (this-macro (car (car all-macros)))
- (before-macro
- (and (> beg 2)
- (goto-char (1- beg))
- (memq (char-after (point)) '(?\] ?\}))
- (car (reftex-what-macro 1))))
- (after-macro
- (and (goto-char end)
- (looking-at "\\(\\\\[a-zA-Z]+\\*?\\)[[{]")
- (match-string 1)))
- macro)
- (or (catch 'matched
- (while (setq macro (pop all-macros))
- (if (member (car macro) reftex-macros-with-index)
- (throw 'matched t)))
- nil)
- (and before-macro
- (member before-macro reftex-macros-with-index))
- (and after-macro
- (member after-macro reftex-macros-with-index))))))
+ (let* ((this-macro (car (reftex-what-macro 1)))
+ (before-char (char-before beg))
+ (after-char (char-after end))
+ (before-macro
+ (and (> beg 2)
+ (goto-char (1- beg))
+ (memq (char-after (point)) '(?\] ?\}))
+ (car (reftex-what-macro 1))))
+ (after-macro
+ (and (goto-char end)
+ (looking-at "\\(\\\\[a-zA-Z]+\\*?\\)[[{]")
+ (match-string 1))))
+ (or (and this-macro
+ (member before-char '(?\{ ?\[))
+ (member after-char '(?\} ?\]))
+ (member this-macro reftex-macros-with-index))
+ (and before-macro
+ (member before-macro reftex-macros-with-index))
+ (and after-macro
+ (member after-macro reftex-macros-with-index))))))
+
(defun reftex-index-phrases-fixup-line (beg end)
"Insert newlines before BEG and/or after END to shorten line."
@@ -1963,38 +1961,38 @@ both ends."
(goto-char beg)
(skip-chars-backward "^ \n")
(if (and (equal (preceding-char) ?\ )
- (string-match "\\S-" (buffer-substring bol (point))))
- (setq space1 (1- (point))))
+ (string-match "\\S-" (buffer-substring bol (point))))
+ (setq space1 (1- (point))))
(goto-char end)
(skip-chars-forward "^ \n")
(if (and (equal (following-char) ?\ )
- (string-match "\\S-" (buffer-substring (point) eol)))
- (setq space2 (point)))
+ (string-match "\\S-" (buffer-substring (point) eol)))
+ (setq space2 (point)))
;; Now check what we have and insert the newlines
(if (<= (- eol bol) fill-column)
- ;; Line is already short
- nil
- (cond
- ((and (not space1) (not space2))) ; No spaces available
- ((not space2) ; Do space1
- (reftex-index-phrases-replace-space space1))
- ((not space1) ; Do space2
- (reftex-index-phrases-replace-space space2))
- (t ; We have both spaces
- (let ((l1 (- space1 bol))
- (l2 (- space2 space1))
- (l3 (- eol space2)))
- (if (> l2 fill-column)
- ;; The central part alone is more than one line
- (progn
- (reftex-index-phrases-replace-space space1)
- (reftex-index-phrases-replace-space space2))
- (if (> (+ l1 l2) fill-column)
- ;; Need to split beginning
- (reftex-index-phrases-replace-space space1))
- (if (> (+ l2 l3) fill-column)
- ;; Need to split end
- (reftex-index-phrases-replace-space space2))))))))))
+ ;; Line is already short
+ nil
+ (cond
+ ((and (not space1) (not space2))) ; No spaces available
+ ((not space2) ; Do space1
+ (reftex-index-phrases-replace-space space1))
+ ((not space1) ; Do space2
+ (reftex-index-phrases-replace-space space2))
+ (t ; We have both spaces
+ (let ((l1 (- space1 bol))
+ (l2 (- space2 space1))
+ (l3 (- eol space2)))
+ (if (> l2 fill-column)
+ ;; The central part alone is more than one line
+ (progn
+ (reftex-index-phrases-replace-space space1)
+ (reftex-index-phrases-replace-space space2))
+ (if (> (+ l1 l2) fill-column)
+ ;; Need to split beginning
+ (reftex-index-phrases-replace-space space1))
+ (if (> (+ l2 l3) fill-column)
+ ;; Need to split end
+ (reftex-index-phrases-replace-space space2))))))))))
(defun reftex-index-phrases-replace-space (pos)
"If there is a space at POS, replace it with a newline char.
@@ -2007,34 +2005,34 @@ Does not do a save-excursion."
(defun reftex-index-select-phrases-macro (&optional delay)
"Offer a list of possible index macros and have the user select one."
(let* ((prompt (concat "Select macro: ["
- (mapconcat (lambda (x) (char-to-string (car x)))
- reftex-index-phrases-macro-data "")
- "] "))
- (help (concat "Select an indexing macro\n========================\n"
- (mapconcat (lambda (x)
- (format " [%c] %s"
- (car x) (nth 1 x)))
- reftex-index-phrases-macro-data "\n"))))
+ (mapconcat (lambda (x) (char-to-string (car x)))
+ reftex-index-phrases-macro-data "")
+ "] "))
+ (help (concat "Select an indexing macro\n========================\n"
+ (mapconcat (lambda (x)
+ (format " [%c] %s"
+ (car x) (nth 1 x)))
+ reftex-index-phrases-macro-data "\n"))))
(reftex-select-with-char prompt help delay)))
;; Keybindings and Menu for phrases buffer
(loop for x in
'(("\C-c\C-c" . reftex-index-phrases-save-and-return)
- ("\C-c\C-x" . reftex-index-this-phrase)
- ("\C-c\C-f" . reftex-index-next-phrase)
- ("\C-c\C-r" . reftex-index-region-phrases)
- ("\C-c\C-a" . reftex-index-all-phrases)
- ("\C-c\C-d" . reftex-index-remaining-phrases)
- ("\C-c\C-s" . reftex-index-sort-phrases)
- ("\C-c\C-n" . reftex-index-new-phrase)
- ("\C-c\C-m" . reftex-index-phrases-set-macro-key)
- ("\C-c\C-i" . reftex-index-phrases-info)
- ("\C-c\C-t" . reftex-index-find-next-conflict-phrase)
- ("\C-i" . self-insert-command))
+ ("\C-c\C-x" . reftex-index-this-phrase)
+ ("\C-c\C-f" . reftex-index-next-phrase)
+ ("\C-c\C-r" . reftex-index-region-phrases)
+ ("\C-c\C-a" . reftex-index-all-phrases)
+ ("\C-c\C-d" . reftex-index-remaining-phrases)
+ ("\C-c\C-s" . reftex-index-sort-phrases)
+ ("\C-c\C-n" . reftex-index-new-phrase)
+ ("\C-c\C-m" . reftex-index-phrases-set-macro-key)
+ ("\C-c\C-i" . reftex-index-phrases-info)
+ ("\C-c\C-t" . reftex-index-find-next-conflict-phrase)
+ ("\C-i" . self-insert-command))
do (define-key reftex-index-phrases-map (car x) (cdr x)))
-(easy-menu-define
+(easy-menu-define
reftex-index-phrases-menu reftex-index-phrases-map
"Menu for Phrases buffer"
'("Phrases"
@@ -2051,7 +2049,7 @@ Does not do a save-excursion."
["by Index Entry" (setq reftex-index-phrases-sort-prefers-entry t)
:style radio :selected reftex-index-phrases-sort-prefers-entry]
["in Blocks" (setq reftex-index-phrases-sort-in-blocks
- (not reftex-index-phrases-sort-in-blocks))
+ (not reftex-index-phrases-sort-in-blocks))
:style toggle :selected reftex-index-phrases-sort-in-blocks])
["Describe Phrase" reftex-index-phrases-info t]
["Next Phrase Conflict" reftex-index-find-next-conflict-phrase t]
@@ -2065,21 +2063,20 @@ Does not do a save-excursion."
"--"
"Options"
["Match Whole Words" (setq reftex-index-phrases-search-whole-words
- (not reftex-index-phrases-search-whole-words))
+ (not reftex-index-phrases-search-whole-words))
:style toggle :selected reftex-index-phrases-search-whole-words]
["Case Sensitive Search" (setq reftex-index-phrases-case-fold-search
- (not reftex-index-phrases-case-fold-search))
+ (not reftex-index-phrases-case-fold-search))
:style toggle :selected (not
- reftex-index-phrases-case-fold-search)]
+ reftex-index-phrases-case-fold-search)]
["Wrap Long Lines" (setq reftex-index-phrases-wrap-long-lines
- (not reftex-index-phrases-wrap-long-lines))
+ (not reftex-index-phrases-wrap-long-lines))
:style toggle :selected reftex-index-phrases-wrap-long-lines]
["Skip Indexed Matches" (setq reftex-index-phrases-skip-indexed-matches
- (not reftex-index-phrases-skip-indexed-matches))
+ (not reftex-index-phrases-skip-indexed-matches))
:style toggle :selected reftex-index-phrases-skip-indexed-matches])
"--"
["Save and Return" reftex-index-phrases-save-and-return t]))
-;;; arch-tag: 4b2362af-c156-42c1-8932-ea2823e205c1
;;; reftex-index.el ends here
diff --git a/lisp/textmodes/reftex-parse.el b/lisp/textmodes/reftex-parse.el
index 534775bf5a5..a03c5b6646b 100644
--- a/lisp/textmodes/reftex-parse.el
+++ b/lisp/textmodes/reftex-parse.el
@@ -1,8 +1,8 @@
;;; reftex-parse.el --- parser functions for RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;;
;; This file is part of GNU Emacs.
@@ -33,10 +33,10 @@
(defmacro reftex-with-special-syntax (&rest body)
`(let ((saved-syntax (syntax-table)))
(unwind-protect
- (progn
- (set-syntax-table reftex-syntax-table)
- (let ((case-fold-search nil))
- ,@body))
+ (progn
+ (set-syntax-table reftex-syntax-table)
+ (let ((case-fold-search nil))
+ ,@body))
(set-syntax-table saved-syntax))))
(defun reftex-parse-one ()
@@ -68,12 +68,12 @@
(let* ((old-list (symbol-value reftex-docstruct-symbol))
(master (reftex-TeX-master-file))
- (true-master (file-truename master))
- (master-dir (file-name-as-directory (file-name-directory master)))
+ (true-master (file-truename master))
+ (master-dir (file-name-as-directory (file-name-directory master)))
(file (or file (buffer-file-name)))
- (true-file (file-truename file))
- (bibview-cache (assq 'bibview-cache old-list))
- (index-tags (cdr (assq 'index-tags old-list)))
+ (true-file (file-truename file))
+ (bibview-cache (assq 'bibview-cache old-list))
+ (index-tags (cdr (assq 'index-tags old-list)))
from-file appendix docstruct tmp)
;; Make sure replacement is really an option here
@@ -97,9 +97,9 @@
;; Find active toc entry and initialize section-numbers
(setq reftex-active-toc (reftex-last-assoc-before-elt
- 'toc (list 'bof from-file) old-list)
- appendix (reftex-last-assoc-before-elt
- 'appendix (list 'bof from-file) old-list))
+ 'toc (list 'bof from-file) old-list)
+ appendix (reftex-last-assoc-before-elt
+ 'appendix (list 'bof from-file) old-list))
(reftex-init-section-numbers reftex-active-toc appendix)
@@ -110,11 +110,11 @@
(reftex-with-special-syntax
(save-window-excursion
(save-excursion
- (unwind-protect
- (setq docstruct
- (reftex-parse-from-file
- from-file docstruct master-dir))
- (reftex-kill-temporary-buffers)))))
+ (unwind-protect
+ (setq docstruct
+ (reftex-parse-from-file
+ from-file docstruct master-dir))
+ (reftex-kill-temporary-buffers)))))
(message "Scanning document... done")
@@ -141,27 +141,27 @@
(and index-tags (setq index-tags (sort index-tags 'string<)))
(let ((index-tag-cell (assq 'index-tags docstruct)))
(if index-tag-cell
- (setcdr index-tag-cell index-tags)
- (push (cons 'index-tags index-tags) docstruct)))
+ (setcdr index-tag-cell index-tags)
+ (push (cons 'index-tags index-tags) docstruct)))
(unless (assq 'xr docstruct)
(let* ((allxr (reftex-all-assq 'xr-doc docstruct))
- (alist (mapcar
- (lambda (x)
- (if (setq tmp (reftex-locate-file (nth 2 x) "tex"
- master-dir))
- (cons (nth 1 x) tmp)
- (message "Can't find external document %s"
- (nth 2 x))
- nil))
- allxr))
- (alist (delq nil alist))
- (allprefix (delq nil (mapcar 'car alist)))
- (regexp (if allprefix
- (concat "\\`\\("
- (mapconcat 'identity allprefix "\\|")
- "\\)")
- "\\\\\\\\\\\\"))) ; this will never match
- (push (list 'xr alist regexp) docstruct)))
+ (alist (mapcar
+ (lambda (x)
+ (if (setq tmp (reftex-locate-file (nth 2 x) "tex"
+ master-dir))
+ (cons (nth 1 x) tmp)
+ (message "Can't find external document %s"
+ (nth 2 x))
+ nil))
+ allxr))
+ (alist (delq nil alist))
+ (allprefix (delq nil (mapcar 'car alist)))
+ (regexp (if allprefix
+ (concat "\\`\\("
+ (mapconcat 'identity allprefix "\\|")
+ "\\)")
+ "\\\\\\\\\\\\"))) ; this will never match
+ (push (list 'xr alist regexp) docstruct)))
(set reftex-docstruct-symbol docstruct)
(put reftex-docstruct-symbol 'modified t)))
@@ -201,8 +201,8 @@ of master file."
(catch 'exit
(setq file-found (reftex-locate-file file "tex" master-dir))
(if (and (not file-found)
- (setq buf (reftex-get-buffer-visiting file)))
- (setq file-found (buffer-file-name buf)))
+ (setq buf (reftex-get-buffer-visiting file)))
+ (setq file-found (buffer-file-name buf)))
(unless file-found
(push (list 'file-error file) docstruct)
@@ -221,106 +221,106 @@ of master file."
(setq file (buffer-file-name))
(push (list 'bof file) docstruct)
- (reftex-with-special-syntax
- (save-excursion
- (save-restriction
- (widen)
- (goto-char 1)
-
- (while (re-search-forward regexp nil t)
-
- (cond
-
- ((match-end 1)
- ;; It is a label
- (push (reftex-label-info (reftex-match-string 1) file bound)
- docstruct))
-
- ((match-end 3)
- ;; It is a section
- (setq bound (point))
-
- ;; Insert in List
- (setq toc-entry (reftex-section-info file))
- (when toc-entry
- ;; It can happen that section info returns nil
- (setq level (nth 5 toc-entry))
- (setq highest-level (min highest-level level))
- (if (= level highest-level)
- (message
- "Scanning %s %s ..."
- (car (rassoc level reftex-section-levels-all))
- (nth 6 toc-entry)))
-
- (push toc-entry docstruct)
- (setq reftex-active-toc toc-entry)))
-
- ((match-end 7)
- ;; It's an include or input
- (setq include-file (reftex-match-string 7))
- ;; Test if this file should be ignored
- (unless (delq nil (mapcar
- (lambda (x) (string-match x include-file))
- reftex-no-include-regexps))
- ;; Parse it
- (setq docstruct
- (reftex-parse-from-file
- include-file
- docstruct master-dir))))
-
- ((match-end 9)
- ;; Appendix starts here
- (reftex-init-section-numbers nil t)
- (push (cons 'appendix t) docstruct))
-
- ((match-end 10)
- ;; Index entry
- (when reftex-support-index
- (setq index-entry (reftex-index-info file))
- (when index-entry
- (add-to-list 'index-tags (nth 1 index-entry))
- (push index-entry docstruct))))
-
- ((match-end 11)
- ;; A macro with label
- (save-excursion
- (let* ((mac (reftex-match-string 11))
- (label (progn (goto-char (match-end 11))
- (save-match-data
- (reftex-no-props
- (reftex-nth-arg-wrapper
- mac)))))
- (typekey (nth 1 (assoc mac reftex-env-or-mac-alist)))
- (entry (progn (if typekey
- ;; A typing macro
- (goto-char (match-end 0))
- ;; A neutral macro
- (goto-char (match-end 11))
- (reftex-move-over-touching-args))
- (reftex-label-info
- label file bound nil nil))))
- (push entry docstruct))))
- (t (error "This should not happen (reftex-parse-from-file)")))
- )
-
- ;; Find bibliography statement
- (when (setq tmp (reftex-locate-bibliography-files master-dir))
- (push (cons 'bib tmp) docstruct))
-
- (goto-char 1)
- (when (re-search-forward
- "\\(\\`\\|[\n\r]\\)[ \t]*\\\\begin{thebibliography}" nil t)
- (push (cons 'thebib file) docstruct))
-
- ;; Find external document specifications
- (goto-char 1)
- (while (re-search-forward "[\n\r][ \t]*\\\\externaldocument\\(\\[\\([^]]*\\)\\]\\)?{\\([^}]+\\)}" nil t)
- (push (list 'xr-doc (reftex-match-string 2)
- (reftex-match-string 3))
- docstruct))
-
- ;; End of file mark
- (push (list 'eof file) docstruct)))))
+ (reftex-with-special-syntax
+ (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char 1)
+
+ (while (re-search-forward regexp nil t)
+
+ (cond
+
+ ((match-end 1)
+ ;; It is a label
+ (push (reftex-label-info (reftex-match-string 1) file bound)
+ docstruct))
+
+ ((match-end 3)
+ ;; It is a section
+ (setq bound (point))
+
+ ;; Insert in List
+ (setq toc-entry (reftex-section-info file))
+ (when toc-entry
+ ;; It can happen that section info returns nil
+ (setq level (nth 5 toc-entry))
+ (setq highest-level (min highest-level level))
+ (if (= level highest-level)
+ (message
+ "Scanning %s %s ..."
+ (car (rassoc level reftex-section-levels-all))
+ (nth 6 toc-entry)))
+
+ (push toc-entry docstruct)
+ (setq reftex-active-toc toc-entry)))
+
+ ((match-end 7)
+ ;; It's an include or input
+ (setq include-file (reftex-match-string 7))
+ ;; Test if this file should be ignored
+ (unless (delq nil (mapcar
+ (lambda (x) (string-match x include-file))
+ reftex-no-include-regexps))
+ ;; Parse it
+ (setq docstruct
+ (reftex-parse-from-file
+ include-file
+ docstruct master-dir))))
+
+ ((match-end 9)
+ ;; Appendix starts here
+ (reftex-init-section-numbers nil t)
+ (push (cons 'appendix t) docstruct))
+
+ ((match-end 10)
+ ;; Index entry
+ (when reftex-support-index
+ (setq index-entry (reftex-index-info file))
+ (when index-entry
+ (add-to-list 'index-tags (nth 1 index-entry))
+ (push index-entry docstruct))))
+
+ ((match-end 11)
+ ;; A macro with label
+ (save-excursion
+ (let* ((mac (reftex-match-string 11))
+ (label (progn (goto-char (match-end 11))
+ (save-match-data
+ (reftex-no-props
+ (reftex-nth-arg-wrapper
+ mac)))))
+ (typekey (nth 1 (assoc mac reftex-env-or-mac-alist)))
+ (entry (progn (if typekey
+ ;; A typing macro
+ (goto-char (match-end 0))
+ ;; A neutral macro
+ (goto-char (match-end 11))
+ (reftex-move-over-touching-args))
+ (reftex-label-info
+ label file bound nil nil))))
+ (push entry docstruct))))
+ (t (error "This should not happen (reftex-parse-from-file)")))
+ )
+
+ ;; Find bibliography statement
+ (when (setq tmp (reftex-locate-bibliography-files master-dir))
+ (push (cons 'bib tmp) docstruct))
+
+ (goto-char 1)
+ (when (re-search-forward
+ "\\(\\`\\|[\n\r]\\)[ \t]*\\\\begin{thebibliography}" nil t)
+ (push (cons 'thebib file) docstruct))
+
+ ;; Find external document specifications
+ (goto-char 1)
+ (while (re-search-forward "[\n\r][ \t]*\\\\externaldocument\\(\\[\\([^]]*\\)\\]\\)?{\\([^}]+\\)}" nil t)
+ (push (list 'xr-doc (reftex-match-string 2)
+ (reftex-match-string 3))
+ docstruct))
+
+ ;; End of file mark
+ (push (list 'eof file) docstruct)))))
;; Kill the scanned buffer
(reftex-kill-temporary-buffers next-buf))
@@ -330,31 +330,31 @@ of master file."
(defun reftex-locate-bibliography-files (master-dir &optional files)
;; Scan buffer for bibliography macro and return file list.
-
+
(unless files
(save-excursion
(goto-char (point-min))
(if (re-search-forward
- (concat
-; "\\(\\`\\|[\n\r]\\)[^%]*\\\\\\("
- "\\(^\\)[^%\n\r]*\\\\\\("
- (mapconcat 'identity reftex-bibliography-commands "\\|")
- "\\){[ \t]*\\([^}]+\\)") nil t)
- (setq files
- (split-string (reftex-match-string 3)
- "[ \t\n\r]*,[ \t\n\r]*")))))
+ (concat
+; "\\(\\`\\|[\n\r]\\)[^%]*\\\\\\("
+ "\\(^\\)[^%]*\\\\\\("
+ (mapconcat 'identity reftex-bibliography-commands "\\|")
+ "\\){[ \t]*\\([^}]+\\)") nil t)
+ (setq files
+ (split-string (reftex-match-string 3)
+ "[ \t\n\r]*,[ \t\n\r]*")))))
(when files
- (setq files
- (mapcar
- (lambda (x)
- (if (or (member x reftex-bibfile-ignore-list)
- (delq nil (mapcar (lambda (re) (string-match re x))
- reftex-bibfile-ignore-regexps)))
- ;; excluded file
- nil
- ;; find the file
- (reftex-locate-file x "bib" master-dir)))
- files))
+ (setq files
+ (mapcar
+ (lambda (x)
+ (if (or (member x reftex-bibfile-ignore-list)
+ (delq nil (mapcar (lambda (re) (string-match re x))
+ reftex-bibfile-ignore-regexps)))
+ ;; excluded file
+ nil
+ ;; find the file
+ (reftex-locate-file x "bib" master-dir)))
+ files))
(delq nil files)))
(defun reftex-replace-label-list-segment (old insert &optional entirely)
@@ -387,24 +387,24 @@ of master file."
;; Carefull: This function expects the match-data to be still in place!
(let* ((marker (set-marker (make-marker) (1- (match-beginning 3))))
(macro (reftex-match-string 3))
- (prefix (save-match-data
- (if (string-match "begin{\\([^}]+\\)}" macro)
- (match-string 1 macro))))
- (level-exp (cdr (assoc macro reftex-section-levels-all)))
+ (prefix (save-match-data
+ (if (string-match "begin{\\([^}]+\\)}" macro)
+ (match-string 1 macro))))
+ (level-exp (cdr (assoc macro reftex-section-levels-all)))
(level (if (symbolp level-exp)
- (save-match-data (funcall level-exp))
- level-exp))
- (star (= ?* (char-after (match-end 3))))
- (unnumbered (or star (< level 0)))
- (level (abs level))
+ (save-match-data (funcall level-exp))
+ level-exp))
+ (star (= ?* (char-after (match-end 3))))
+ (unnumbered (or star (< level 0)))
+ (level (abs level))
(section-number (reftex-section-number level unnumbered))
- (text1 (save-match-data
- (save-excursion
- (reftex-context-substring prefix))))
+ (text1 (save-match-data
+ (save-excursion
+ (reftex-context-substring prefix))))
(literal (buffer-substring-no-properties
(1- (match-beginning 3))
(min (point-max) (+ (match-end 0) (length text1) 1))))
- ;; Literal can be too short since text1 too short. No big problem.
+ ;; Literal can be too short since text1 too short. No big problem.
(text (reftex-nicify-text text1)))
;; Add section number and indentation
@@ -413,7 +413,7 @@ of master file."
(make-string (* reftex-level-indent level) ?\ )
(if (nth 1 reftex-label-menu-flags) ; section number flag
(concat section-number " "))
- (if prefix (concat (capitalize prefix) ": ") "")
+ (if prefix (concat (capitalize prefix) ": ") "")
text))
(list 'toc "toc" text file marker level section-number
literal (marker-position marker))))
@@ -426,12 +426,12 @@ of master file."
(reftex-support-index t)
((y-or-n-p "Turn on index support and rescan entire document? ")
(setq reftex-support-index 'demanded
- current-prefix-arg '(16)))
+ current-prefix-arg '(16)))
(t (if abort
- (error "No index support")
- (message "No index support")
- (ding)
- (sit-for 1)))))
+ (error "No index support")
+ (message "No index support")
+ (ding)
+ (sit-for 1)))))
(defun reftex-index-info-safe (file)
(reftex-with-special-syntax
@@ -443,49 +443,49 @@ of master file."
;; Carefull: This function expects the match-data to be still in place!
(catch 'exit
(let* ((macro (reftex-match-string 10))
- (bom (match-beginning 10))
- (boa (match-end 10))
- (entry (or (assoc macro reftex-index-macro-alist)
- (throw 'exit nil)))
- (exclude (nth 3 entry))
- ;; The following is a test if this match should be excluded
- (test-dummy (and (fboundp exclude)
- (funcall exclude)
- (throw 'exit nil)))
- (itag (nth 1 entry))
- (prefix (nth 2 entry))
- (index-tag
- (cond ((stringp itag) itag)
- ((integerp itag)
- (progn (goto-char boa)
- (or (reftex-nth-arg itag (nth 6 entry)) "idx")))
- (t "idx")))
- (arg (or (progn (goto-char boa)
- (reftex-nth-arg (nth 5 entry) (nth 6 entry)))
- ""))
- (end-of-args (progn (goto-char boa)
- (reftex-move-over-touching-args)
- (point)))
- (end-of-context (progn (skip-chars-forward "^ \t\n\r") (point)))
- (begin-of-context
- (progn (goto-char bom)
- (skip-chars-backward "^ \t\r\n")
- (point)))
- (context (buffer-substring-no-properties
- begin-of-context end-of-context))
- (key-end (if (string-match reftex-index-key-end-re arg)
- (1+ (match-beginning 0))))
- (rawkey (substring arg 0 key-end))
-
- (key (if prefix (concat prefix rawkey) rawkey))
- (sortkey (downcase key))
- (showkey (mapconcat 'identity
- (split-string key reftex-index-level-re)
- " ! ")))
+ (bom (match-beginning 10))
+ (boa (match-end 10))
+ (entry (or (assoc macro reftex-index-macro-alist)
+ (throw 'exit nil)))
+ (exclude (nth 3 entry))
+ ;; The following is a test if this match should be excluded
+ (test-dummy (and (fboundp exclude)
+ (funcall exclude)
+ (throw 'exit nil)))
+ (itag (nth 1 entry))
+ (prefix (nth 2 entry))
+ (index-tag
+ (cond ((stringp itag) itag)
+ ((integerp itag)
+ (progn (goto-char boa)
+ (or (reftex-nth-arg itag (nth 6 entry)) "idx")))
+ (t "idx")))
+ (arg (or (progn (goto-char boa)
+ (reftex-nth-arg (nth 5 entry) (nth 6 entry)))
+ ""))
+ (end-of-args (progn (goto-char boa)
+ (reftex-move-over-touching-args)
+ (point)))
+ (end-of-context (progn (skip-chars-forward "^ \t\n\r") (point)))
+ (begin-of-context
+ (progn (goto-char bom)
+ (skip-chars-backward "^ \t\r\n")
+ (point)))
+ (context (buffer-substring-no-properties
+ begin-of-context end-of-context))
+ (key-end (if (string-match reftex-index-key-end-re arg)
+ (1+ (match-beginning 0))))
+ (rawkey (substring arg 0 key-end))
+
+ (key (if prefix (concat prefix rawkey) rawkey))
+ (sortkey (downcase key))
+ (showkey (mapconcat 'identity
+ (split-string key reftex-index-level-re)
+ " ! ")))
(goto-char end-of-args)
;; 0 1 2 3 4 5 6 7 8 9
(list 'index index-tag context file bom arg key showkey sortkey key-end))))
-
+
(defun reftex-short-context (env parse &optional bound derive)
;; Get about one line of useful context for the label definition at point.
@@ -516,9 +516,9 @@ of master file."
(match-string 1 (nth 7 reftex-active-toc)))
"SECTION HEADING NOT FOUND")))
(save-excursion
- (goto-char reftex-default-context-position)
- (unless (eq (string-to-char env) ?\\)
- (reftex-move-over-touching-args))
+ (goto-char reftex-default-context-position)
+ (unless (eq (string-to-char env) ?\\)
+ (reftex-move-over-touching-args))
(reftex-context-substring))))
((stringp parse)
@@ -593,7 +593,7 @@ of master file."
((looking-at (reftex-make-regexp-allow-for-ctrl-m
(nth 7 (car list))))
;; Same title: remember, but keep looking
- (setq rtn-if-no-other (car list)))))
+ (setq rtn-if-no-other (car list)))))
(pop list))
rtn1))
((match-end 7)
@@ -601,35 +601,35 @@ of master file."
(car
(member (list 'eof (reftex-locate-file
(reftex-match-string 7) "tex"
- (cdr (assq 'master-dir docstruct))))
+ (cdr (assq 'master-dir docstruct))))
docstruct)))
- ((match-end 9)
- (assq 'appendix (symbol-value reftex-docstruct-symbol)))
- ((match-end 10)
- ;; Index entry
- (when reftex-support-index
- (let* ((index-info (save-excursion
- (reftex-index-info-safe nil)))
- (list (member (list 'bof (buffer-file-name))
- docstruct))
- (endelt (car (member (list 'eof (buffer-file-name))
- list)))
- dist last-dist last (n 0))
- ;; Check all index entries with equal text
- (while (and list (not (eq endelt (car list))))
- (when (and (eq (car (car list)) 'index)
- (string= (nth 2 index-info)
- (nth 2 (car list))))
- (incf n)
- (setq dist (abs (- (point) (nth 4 (car list)))))
- (if (or (not last-dist) (< dist last-dist))
- (setq last-dist dist last (car list))))
- (setq list (cdr list)))
- ;; We are sure if we have only one, or a zero distance
- (cond ((or (= n 1) (equal dist 0)) last)
- ((> n 1) (setq cnt 2) last)
- (t nil)))))
- ((match-end 11)
+ ((match-end 9)
+ (assq 'appendix (symbol-value reftex-docstruct-symbol)))
+ ((match-end 10)
+ ;; Index entry
+ (when reftex-support-index
+ (let* ((index-info (save-excursion
+ (reftex-index-info-safe nil)))
+ (list (member (list 'bof (buffer-file-name))
+ docstruct))
+ (endelt (car (member (list 'eof (buffer-file-name))
+ list)))
+ dist last-dist last (n 0))
+ ;; Check all index entries with equal text
+ (while (and list (not (eq endelt (car list))))
+ (when (and (eq (car (car list)) 'index)
+ (string= (nth 2 index-info)
+ (nth 2 (car list))))
+ (incf n)
+ (setq dist (abs (- (point) (nth 4 (car list)))))
+ (if (or (not last-dist) (< dist last-dist))
+ (setq last-dist dist last (car list))))
+ (setq list (cdr list)))
+ ;; We are sure if we have only one, or a zero distance
+ (cond ((or (= n 1) (= dist 0)) last)
+ ((> n 1) (setq cnt 2) last)
+ (t nil)))))
+ ((match-end 11)
(save-excursion
(goto-char (match-end 11))
(assoc (reftex-no-props
@@ -641,88 +641,88 @@ of master file."
;; Check if there was only a by-name match for the section.
(when (and (not rtn) rtn-if-no-other)
(setq rtn rtn-if-no-other
- cnt 2))
+ cnt 2))
(cons rtn (eq cnt 1))))
(defun reftex-notice-new (&optional n force)
"Hook to handshake with RefTeX after something new has been inserted."
;; Add a new entry to the docstruct list. If it is a section, renumber
;; the following sections.
- ;; FIXME: Put in a WHAT parameter and search backward until one is found.
+ ;; FIXME: Put in a WHAT parameter
;; When N is given, go back that many matches of reftex-everything-regexp
;; When FORCE is non-nil, also insert if `reftex-where-am-I' was uncertain.
(condition-case nil
(catch 'exit
- (unless reftex-mode (throw 'exit nil))
- (reftex-access-scan-info)
- (let* ((docstruct (symbol-value reftex-docstruct-symbol))
- here-I-am appendix tail entry star level
- section-number context)
+ (unless reftex-mode (throw 'exit nil))
+ (reftex-access-scan-info)
+ (let* ((docstruct (symbol-value reftex-docstruct-symbol))
+ here-I-am appendix tail entry star level
+ section-number context)
(save-excursion
(when (re-search-backward (reftex-everything-regexp) nil t (or n 1))
- ;; Find where we are
- (setq here-I-am (reftex-where-am-I))
- (or here-I-am (throw 'exit nil))
- (unless (or force (cdr here-I-am)) (throw 'exit nil))
- (setq tail (memq (car here-I-am) docstruct))
- (or tail (throw 'exit nil))
- (setq reftex-active-toc (reftex-last-assoc-before-elt
- 'toc (car here-I-am) docstruct)
- appendix (reftex-last-assoc-before-elt
- 'appendix (car here-I-am) docstruct))
-
- ;; Initialize section numbers
- (if (eq (car (car here-I-am)) 'appendix)
- (reftex-init-section-numbers nil t)
- (reftex-init-section-numbers reftex-active-toc appendix))
-
- ;; Match the section command
- (when (re-search-forward (reftex-everything-regexp) nil t)
- (cond
- ((match-end 1)
- (push (reftex-label-info (reftex-match-string 1) buffer-file-name)
- (cdr tail)))
-
- ((match-end 3)
- (setq star (= ?* (char-after (match-end 3)))
- entry (reftex-section-info (buffer-file-name))
- level (nth 5 entry))
- ;; Insert the section info
- (push entry (cdr tail))
-
- ;; We are done unless we use section numbers
- (unless (nth 1 reftex-label-menu-flags) (throw 'exit nil))
-
- ;; Update the remaining toc items
- (setq tail (cdr tail))
- (while (and (setq tail (memq (assq 'toc (cdr tail)) tail))
- (setq entry (car tail))
- (>= (nth 5 entry) level))
- (setq star (string-match "\\*" (nth 6 entry))
- context (nth 2 entry)
- section-number
- (reftex-section-number (nth 5 entry) star))
- (when (string-match "\\`\\([ \t]*\\)\\([.0-9A-Z]+\\)\\(.*\\)"
- context)
- (when (and (not appendix)
- (>= (string-to-char (match-string 2)) ?A))
- ;; Just entered the appendex. Get out.
- (throw 'exit nil))
-
- ;; Change the section number.
- (setf (nth 2 entry)
- (concat (match-string 1 context)
- section-number
- (match-string 3 context))))))
- ((match-end 10)
- ;; Index entry
- (and reftex-support-index
- (setq entry (reftex-index-info-safe buffer-file-name))
- ;; FIXME: (add-to-list 'index-tags (nth 1 index-entry))
- (push entry (cdr tail))))))))))
-
+ ;; Find where we are
+ (setq here-I-am (reftex-where-am-I))
+ (or here-I-am (throw 'exit nil))
+ (unless (or force (cdr here-I-am)) (throw 'exit nil))
+ (setq tail (memq (car here-I-am) docstruct))
+ (or tail (throw 'exit nil))
+ (setq reftex-active-toc (reftex-last-assoc-before-elt
+ 'toc (car here-I-am) docstruct)
+ appendix (reftex-last-assoc-before-elt
+ 'appendix (car here-I-am) docstruct))
+
+ ;; Initialize section numbers
+ (if (eq (car (car here-I-am)) 'appendix)
+ (reftex-init-section-numbers nil t)
+ (reftex-init-section-numbers reftex-active-toc appendix))
+
+ ;; Match the section command
+ (when (re-search-forward (reftex-everything-regexp) nil t)
+ (cond
+ ((match-end 1)
+ (push (reftex-label-info (reftex-match-string 1) buffer-file-name)
+ (cdr tail)))
+
+ ((match-end 3)
+ (setq star (= ?* (char-after (match-end 3)))
+ entry (reftex-section-info (buffer-file-name))
+ level (nth 5 entry))
+ ;; Insert the section info
+ (push entry (cdr tail))
+
+ ;; We are done unless we use section numbers
+ (unless (nth 1 reftex-label-menu-flags) (throw 'exit nil))
+
+ ;; Update the remaining toc items
+ (setq tail (cdr tail))
+ (while (and (setq tail (memq (assq 'toc (cdr tail)) tail))
+ (setq entry (car tail))
+ (>= (nth 5 entry) level))
+ (setq star (string-match "\\*" (nth 6 entry))
+ context (nth 2 entry)
+ section-number
+ (reftex-section-number (nth 5 entry) star))
+ (when (string-match "\\`\\([ \t]*\\)\\([.0-9A-Z]+\\)\\(.*\\)"
+ context)
+ (when (and (not appendix)
+ (>= (string-to-char (match-string 2)) ?A))
+ ;; Just entered the appendex. Get out.
+ (throw 'exit nil))
+
+ ;; Change the section number.
+ (setf (nth 2 entry)
+ (concat (match-string 1 context)
+ section-number
+ (match-string 3 context))))))
+ ((match-end 10)
+ ;; Index entry
+ (and reftex-support-index
+ (setq entry (reftex-index-info-safe buffer-file-name))
+ ;; FIXME: (add-to-list 'index-tags (nth 1 index-entry))
+ (push entry (cdr tail))))))))))
+
(error nil))
)
@@ -736,8 +736,8 @@ of master file."
((memq (preceding-char) '(?\] ?\})))
;; Do a search
((and reftex-allow-detached-macro-args
- (re-search-backward
- "[]}][ \t]*[\n\r]?\\([ \t]*%[^\n\r]*[\n\r]\\)*[ \t]*\\=" bound t))
+ (re-search-backward
+ "[]}][ \t]*[\n\r]?\\([ \t]*%[^\n\r]*[\n\r]\\)*[ \t]*\\=" bound t))
(goto-char (1+ (match-beginning 0)))
t)
(t nil)))
@@ -774,7 +774,7 @@ of master file."
pos cmd-list cmd cnt cnt-opt entry)
(save-restriction
(save-excursion
- (narrow-to-region (max 1 bound) (point-max))
+ (narrow-to-region (max (point-min) bound) (point-max))
;; move back out of the current parenthesis
(while (condition-case nil
(progn (up-list -1) t)
@@ -782,29 +782,29 @@ of master file."
(setq cnt 1 cnt-opt 0)
;; move back over any touching sexps
(while (and (reftex-move-to-previous-arg bound)
- (condition-case nil
- (progn (backward-sexp) t)
- (error nil)))
- (if (eq (following-char) ?\[) (incf cnt-opt))
+ (condition-case nil
+ (progn (backward-sexp) t)
+ (error nil)))
+ (if (eq (following-char) ?\[) (incf cnt-opt))
(incf cnt))
(setq pos (point))
(when (and (or (= (following-char) ?\[)
(= (following-char) ?\{))
(re-search-backward "\\\\[*a-zA-Z]+\\=" nil t))
(setq cmd (reftex-match-string 0))
- (when (looking-at "\\\\begin{[^}]*}")
- (setq cmd (reftex-match-string 0)
- cnt (1- cnt)))
- ;; This does ignore optional arguments. Very hard to fix.
- (when (setq entry (assoc cmd reftex-env-or-mac-alist))
- (if (> cnt (or (nth 4 entry) 100))
- (setq cmd nil)))
+ (when (looking-at "\\\\begin{[^}]*}")
+ (setq cmd (reftex-match-string 0)
+ cnt (1- cnt)))
+ ;; This does ignore optional arguments. Very hard to fix.
+ (when (setq entry (assoc cmd reftex-env-or-mac-alist))
+ (if (> cnt (or (nth 4 entry) 100))
+ (setq cmd nil)))
(cond
- ((null cmd))
- ((eq t which)
- (push (cons cmd (point)) cmd-list))
- ((or (eq 1 which) (member cmd which))
- (throw 'exit (cons cmd (point))))))
+ ((null cmd))
+ ((eq t which)
+ (push (cons cmd (point)) cmd-list))
+ ((or (eq 1 which) (member cmd which))
+ (throw 'exit (cons cmd (point))))))
(goto-char pos)))
(nreverse cmd-list)))))
@@ -837,7 +837,7 @@ of master file."
(match-beginning 2) (match-end 2)))
(cond
((string= (match-string 1) "end")
- (push env end-list))
+ (push env end-list))
((equal env (car end-list))
(setq end-list (cdr end-list)))
((eq t which)
@@ -867,25 +867,25 @@ of master file."
(let ((bound (or bound (save-excursion (re-search-backward
reftex-section-regexp nil 1)
(point))))
- (fun-list (if (listp which)
- (mapcar (lambda (x) (if (memq x which) x nil))
- reftex-special-env-parsers)
- reftex-special-env-parsers))
+ (fun-list (if (listp which)
+ (mapcar (lambda (x) (if (memq x which) x nil))
+ reftex-special-env-parsers)
+ reftex-special-env-parsers))
specials rtn)
- ;; Call all functions
- (setq specials (mapcar
- (lambda (fun)
- (save-excursion
- (setq rtn (and fun (funcall fun bound)))
- (if rtn (cons (symbol-name fun) rtn) nil)))
- fun-list))
- ;; Delete the non-matches
- (setq specials (delq nil specials))
- ;; Sort
- (setq specials (sort specials (lambda (a b) (> (cdr a) (cdr b)))))
- (if (eq which t)
- specials
- (car specials))))))
+ ;; Call all functions
+ (setq specials (mapcar
+ (lambda (fun)
+ (save-excursion
+ (setq rtn (and fun (funcall fun bound)))
+ (if rtn (cons (symbol-name fun) rtn) nil)))
+ fun-list))
+ ;; Delete the non-matches
+ (setq specials (delq nil specials))
+ ;; Sort
+ (setq specials (sort specials (lambda (a b) (> (cdr a) (cdr b)))))
+ (if (eq which t)
+ specials
+ (car specials))))))
(defsubst reftex-move-to-next-arg (&optional ignore)
;; Assuming that we are at the end of a macro name or a macro argument,
@@ -897,7 +897,7 @@ of master file."
((memq (following-char) '(?\[ ?\{)))
;; Do a search
((and reftex-allow-detached-macro-args
- (looking-at "[ \t]*[\n\r]?\\([ \t]*%[^\n\r]*[\n\r]\\)*[ \t]*[[{]"))
+ (looking-at "[ \t]*[\n\r]?\\([ \t]*%[^\n\r]*[\n\r]\\)*[ \t]*[[{]"))
(goto-char (1- (match-end 0)))
t)
(t nil)))
@@ -916,39 +916,39 @@ of master file."
(if (= n 1000)
;; Special case: Skip all touching arguments
(progn
- (reftex-move-over-touching-args)
- (reftex-context-substring))
+ (reftex-move-over-touching-args)
+ (reftex-context-substring))
;; Do the real thing.
(let ((cnt 1))
-
+
(when (reftex-move-to-next-arg)
-
- (while (< cnt n)
- (while (and (member cnt opt-args)
- (eq (following-char) ?\{))
- (incf cnt))
- (when (< cnt n)
- (unless (and (condition-case nil
- (or (forward-list 1) t)
- (error nil))
- (reftex-move-to-next-arg)
- (incf cnt))
- (setq cnt 1000))))
-
- (while (and (memq cnt opt-args)
- (eq (following-char) ?\{))
- (incf cnt)))
+
+ (while (< cnt n)
+ (while (and (member cnt opt-args)
+ (eq (following-char) ?\{))
+ (incf cnt))
+ (when (< cnt n)
+ (unless (and (condition-case nil
+ (or (forward-list 1) t)
+ (error nil))
+ (reftex-move-to-next-arg)
+ (incf cnt))
+ (setq cnt 1000))))
+
+ (while (and (memq cnt opt-args)
+ (eq (following-char) ?\{))
+ (incf cnt)))
(if (and (= n cnt)
- (> (skip-chars-forward "{\\[") 0))
- (reftex-context-substring)
- nil))))
+ (> (skip-chars-forward "{\\[") 0))
+ (reftex-context-substring)
+ nil))))
(defun reftex-move-over-touching-args ()
(condition-case nil
(while (memq (following-char) '(?\[ ?\{))
- (forward-list 1))
- (error nil)))
+ (forward-list 1))
+ (error nil)))
(defun reftex-context-substring (&optional to-end)
;; Return up to 150 chars from point
@@ -959,11 +959,11 @@ of master file."
(buffer-substring-no-properties
(point)
(min (+ (point) 150)
- (save-match-data
- ;; FIXME: This is not perfect
- (if (re-search-forward "\\\\end{" nil t)
- (match-beginning 0)
- (point-max))))))
+ (save-match-data
+ ;; FIXME: THis is not perfect
+ (if (re-search-forward "\\\\end{" nil t)
+ (match-beginning 0)
+ (point-max))))))
((or (= (preceding-char) ?\{)
(= (preceding-char) ?\[))
;; Inside a list - get only the list.
@@ -978,8 +978,8 @@ of master file."
(error (point-max))))))
(t
;; no list - just grab 150 characters
- (buffer-substring-no-properties (point)
- (min (+ (point) 150) (point-max))))))
+ (buffer-substring-no-properties (point)
+ (min (+ (point) 150) (point-max))))))
;; Variable holding the vector with section numbers
(defvar reftex-section-numbers (make-vector reftex-max-section-depth 0))
@@ -994,11 +994,11 @@ of master file."
(while (>= i 0)
(if (> i level)
(aset reftex-section-numbers i 0)
- (setq number-string (or (car numbers) "0"))
- (if (string-match "\\`[A-Z]\\'" number-string)
- (aset reftex-section-numbers i
- (- (string-to-char number-string) ?A -1))
- (aset reftex-section-numbers i (string-to-int number-string)))
+ (setq number-string (or (car numbers) "0"))
+ (if (string-match "\\`[A-Z]\\'" number-string)
+ (aset reftex-section-numbers i
+ (- (string-to-char number-string) ?A -1))
+ (aset reftex-section-numbers i (string-to-int number-string)))
(pop numbers))
(decf i)))
(put 'reftex-section-numbers 'appendix appendix))
@@ -1007,66 +1007,65 @@ of master file."
;; Return a string with the current section number.
;; When LEVEL is non-nil, increase section numbers on that level.
(let* ((depth (1- (length reftex-section-numbers))) idx n (string "")
- (appendix (get 'reftex-section-numbers 'appendix))
- (partspecial (and (not reftex-part-resets-chapter)
- (equal level 0))))
+ (appendix (get 'reftex-section-numbers 'appendix))
+ (partspecial (and (not reftex-part-resets-chapter)
+ (equal level 0))))
;; partspecial means, this is a part statement.
;; Parts do not reset the chapter counter, and the part number is
;; not included in the numbering of other sectioning levels.
(when level
(when (and (> level -1) (not star))
- (aset reftex-section-numbers
- level (1+ (aref reftex-section-numbers level))))
+ (aset reftex-section-numbers
+ level (1+ (aref reftex-section-numbers level))))
(setq idx (1+ level))
(when (not star)
- (while (<= idx depth)
- (if (or (not partspecial)
- (not (= idx 1)))
- (aset reftex-section-numbers idx 0))
- (incf idx))))
+ (while (<= idx depth)
+ (if (or (not partspecial)
+ (not (= idx 1)))
+ (aset reftex-section-numbers idx 0))
+ (incf idx))))
(if partspecial
- (setq string (concat "Part " (reftex-roman-number
- (aref reftex-section-numbers 0))))
+ (setq string (concat "Part " (reftex-roman-number
+ (aref reftex-section-numbers 0))))
(setq idx (if reftex-part-resets-chapter 0 1))
(while (<= idx depth)
- (setq n (aref reftex-section-numbers idx))
- (if (not (and partspecial (not (equal string ""))))
- (setq string (concat string (if (not (string= string "")) "." "")
- (int-to-string n))))
- (incf idx))
+ (setq n (aref reftex-section-numbers idx))
+ (if (not (and partspecial (not (equal string ""))))
+ (setq string (concat string (if (not (string= string "")) "." "")
+ (int-to-string n))))
+ (incf idx))
(save-match-data
- (if (string-match "\\`\\([@0]\\.\\)+" string)
- (setq string (replace-match "" nil nil string)))
- (if (string-match "\\(\\.0\\)+\\'" string)
- (setq string (replace-match "" nil nil string)))
- (if (and appendix
- (string-match "\\`[0-9]+" string))
- (setq string
- (concat
- (char-to-string
- (1- (+ ?A (string-to-int (match-string 0 string)))))
- (substring string (match-end 0))))))
+ (if (string-match "\\`\\([@0]\\.\\)+" string)
+ (setq string (replace-match "" nil nil string)))
+ (if (string-match "\\(\\.0\\)+\\'" string)
+ (setq string (replace-match "" nil nil string)))
+ (if (and appendix
+ (string-match "\\`[0-9]+" string))
+ (setq string
+ (concat
+ (char-to-string
+ (1- (+ ?A (string-to-int (match-string 0 string)))))
+ (substring string (match-end 0))))))
(if star
- (concat (make-string (1- (length string)) ?\ ) "*")
- string))))
+ (concat (make-string (1- (length string)) ?\ ) "*")
+ string))))
(defun reftex-roman-number (n)
;; Return as a string the roman number equal to N.
(let ((nrest n)
- (string "")
- (list '((1000 . "M") ( 900 . "CM") ( 500 . "D") ( 400 . "CD")
- ( 100 . "C") ( 90 . "XC") ( 50 . "L") ( 40 . "XL")
- ( 10 . "X") ( 9 . "IX") ( 5 . "V") ( 4 . "IV")
- ( 1 . "I")))
- listel i s)
+ (string "")
+ (list '((1000 . "M") ( 900 . "CM") ( 500 . "D") ( 400 . "CD")
+ ( 100 . "C") ( 90 . "XC") ( 50 . "L") ( 40 . "XL")
+ ( 10 . "X") ( 9 . "IX") ( 5 . "V") ( 4 . "IV")
+ ( 1 . "I")))
+ listel i s)
(while (>= nrest 1)
(setq listel (pop list)
- i (car listel)
- s (cdr listel))
+ i (car listel)
+ s (cdr listel))
(while (>= nrest i)
- (setq string (concat string s)
- nrest (- nrest i))))
+ (setq string (concat string s)
+ nrest (- nrest i))))
string))
-;;; arch-tag: 6a8168f7-abb9-4576-99dc-fcbc7ba901a3
;;; reftex-parse.el ends here
diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el
index 2d4935aedde..9991c0b2f77 100644
--- a/lisp/textmodes/reftex-ref.el
+++ b/lisp/textmodes/reftex-ref.el
@@ -1,8 +1,8 @@
;;; reftex-ref.el --- code to create labels and references with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -36,11 +36,11 @@ If optional BOUND is an integer, limit backward searches to that point."
(let* ((loc1 (reftex-what-macro reftex-label-mac-list bound))
(loc2 (reftex-what-environment reftex-label-env-list bound))
- (loc3 (reftex-what-special-env 1 bound))
+ (loc3 (reftex-what-special-env 1 bound))
(p1 (or (cdr loc1) 0))
(p2 (or (cdr loc2) 0))
- (p3 (or (cdr loc3) 0))
- (pmax (max p1 p2 p3)))
+ (p3 (or (cdr loc3) 0))
+ (pmax (max p1 p2 p3)))
(setq reftex-location-start pmax)
(cond
@@ -57,9 +57,9 @@ If optional BOUND is an integer, limit backward searches to that point."
(setq reftex-default-context-position p3)
(setq loc3 (car loc3))
(cond ((null loc3) "section")
- ((symbolp loc3) (symbol-name loc3))
- ((stringp loc3) loc3)
- (t "section")))
+ ((symbolp loc3) (symbol-name loc3))
+ ((stringp loc3) loc3)
+ (t "section")))
(t ;; This should not happen, I think?
"section"))))
@@ -83,11 +83,11 @@ If optional BOUND is an integer, limit backward searches to that point."
(goto-char 1)
(if (or (re-search-forward
- (format reftex-find-label-regexp-format
- (regexp-quote label)) nil t)
- (re-search-forward
- (format reftex-find-label-regexp-format2
- (regexp-quote label)) nil t))
+ (format reftex-find-label-regexp-format
+ (regexp-quote label)) nil t)
+ (re-search-forward
+ (format reftex-find-label-regexp-format2
+ (regexp-quote label)) nil t))
(progn
(backward-char 1)
@@ -102,7 +102,7 @@ If optional BOUND is an integer, limit backward searches to that point."
(parse (nth 2 (assoc env-or-mac reftex-env-or-mac-alist)))
(text (reftex-short-context env-or-mac parse reftex-location-start
derive))
- (in-comment (reftex-in-comment)))
+ (in-comment (reftex-in-comment)))
(list label typekey text file in-comment)))
;;; Creating labels ---------------------------------------------------------
@@ -132,18 +132,18 @@ This function is controlled by the settings of reftex-insert-label-flags."
;; Ok, go ahead.
(catch 'exit
(let* ((entry (assoc environment reftex-env-or-mac-alist))
- (typekey (nth 1 entry))
- (format (nth 3 entry))
- (macro-cell (reftex-what-macro 1))
- (entry1 (assoc (car macro-cell) reftex-env-or-mac-alist))
- label naked prefix valid default force-prompt rescan-is-useful)
+ (typekey (nth 1 entry))
+ (format (nth 3 entry))
+ (macro-cell (reftex-what-macro 1))
+ (entry1 (assoc (car macro-cell) reftex-env-or-mac-alist))
+ label naked prefix valid default force-prompt rescan-is-useful)
(when (and (or (nth 5 entry) (nth 5 entry1))
- (memq (preceding-char) '(?\[ ?\{)))
- ;; This is an argument of a label macro. Insert naked label.
- (setq naked t format "%s"))
+ (memq (preceding-char) '(?\[ ?\{)))
+ ;; This is an argument of a label macro. Insert naked label.
+ (setq naked t format "%s"))
(setq prefix (or (cdr (assoc typekey reftex-typekey-to-prefix-alist))
- (concat typekey "-")))
+ (concat typekey "-")))
;; Replace any escapes in the prefix
(setq prefix (reftex-replace-prefix-escapes prefix))
@@ -151,115 +151,115 @@ This function is controlled by the settings of reftex-insert-label-flags."
(cond
((reftex-typekey-check typekey (nth 0 reftex-insert-label-flags))
- ;; Derive a label from context.
- (setq reftex-active-toc (reftex-last-assoc-before-elt
- 'toc (car (reftex-where-am-I))
- (symbol-value reftex-docstruct-symbol)))
- (setq default (reftex-no-props
- (nth 2 (reftex-label-info " " nil nil t))))
- ;; Catch the cases where the is actually no context available.
- (if (or (string-match "NO MATCH FOR CONTEXT REGEXP" default)
- (string-match "ILLEGAL VALUE OF PARSE" default)
- (string-match "SECTION HEADING NOT FOUND" default)
- (string-match "HOOK ERROR" default)
- (string-match "^[ \t]*$" default))
- (setq default prefix
- force-prompt t) ; need to prompt
- (setq default
- (concat prefix
- (funcall reftex-string-to-label-function default)))
-
- ;; Make it unique.
- (setq default (reftex-uniquify-label default nil "-"))))
+ ;; Derive a label from context.
+ (setq reftex-active-toc (reftex-last-assoc-before-elt
+ 'toc (car (reftex-where-am-I))
+ (symbol-value reftex-docstruct-symbol)))
+ (setq default (reftex-no-props
+ (nth 2 (reftex-label-info " " nil nil t))))
+ ;; Catch the cases where the is actually no context available.
+ (if (or (string-match "NO MATCH FOR CONTEXT REGEXP" default)
+ (string-match "ILLEGAL VALUE OF PARSE" default)
+ (string-match "SECTION HEADING NOT FOUND" default)
+ (string-match "HOOK ERROR" default)
+ (string-match "^[ \t]*$" default))
+ (setq default prefix
+ force-prompt t) ; need to prompt
+ (setq default
+ (concat prefix
+ (funcall reftex-string-to-label-function default)))
+
+ ;; Make it unique.
+ (setq default (reftex-uniquify-label default nil "-"))))
((reftex-typekey-check typekey (nth 1 reftex-insert-label-flags))
- ;; Minimal default: the user will be prompted.
- (setq default prefix))
+ ;; Minimal default: the user will be prompted.
+ (setq default prefix))
(t
- ;; Make an automatic label.
- (setq default (reftex-uniquify-label prefix t))))
+ ;; Make an automatic label.
+ (setq default (reftex-uniquify-label prefix t))))
;; Should we ask the user?
(if (or (reftex-typekey-check typekey
- (nth 1 reftex-insert-label-flags)) ; prompt
- force-prompt)
-
- (while (not valid)
- ;; iterate until we get a legal label
-
- (setq label (read-string
- (if naked "Naked Label: " "Label: ")
- default))
-
- ;; Lets make sure that this is a legal label
- (cond
-
- ((string-match (concat "\\`\\(" (regexp-quote prefix)
- "\\)?[ \t]*\\'")
- label)
- ;; No label at all, please
- (message "No label inserted.")
- (throw 'exit nil))
-
- ;; Test if label contains strange characters
- ((string-match reftex-label-illegal-re label)
- (message "Label \"%s\" contains illegal characters" label)
- (ding)
- (sit-for 2))
-
- ;; Look it up in the label list
- ((setq entry (assoc label
- (symbol-value reftex-docstruct-symbol)))
- (ding)
- (if (y-or-n-p
- (format "Label '%s' exists. Use anyway? " label))
- (setq valid t)))
-
- ;; Label is ok
- (t
- (setq valid t))))
- (setq label default))
+ (nth 1 reftex-insert-label-flags)) ; prompt
+ force-prompt)
+
+ (while (not valid)
+ ;; iterate until we get a legal label
+
+ (setq label (read-string
+ (if naked "Naked Label: " "Label: ")
+ default))
+
+ ;; Lets make sure that this is a legal label
+ (cond
+
+ ((string-match (concat "\\`\\(" (regexp-quote prefix)
+ "\\)?[ \t]*\\'")
+ label)
+ ;; No label at all, please
+ (message "No label inserted.")
+ (throw 'exit nil))
+
+ ;; Test if label contains strange characters
+ ((string-match reftex-label-illegal-re label)
+ (message "Label \"%s\" contains illegal characters" label)
+ (ding)
+ (sit-for 2))
+
+ ;; Look it up in the label list
+ ((setq entry (assoc label
+ (symbol-value reftex-docstruct-symbol)))
+ (ding)
+ (if (y-or-n-p
+ (format "Label '%s' exists. Use anyway? " label))
+ (setq valid t)))
+
+ ;; Label is ok
+ (t
+ (setq valid t))))
+ (setq label default))
;; Insert the label into the label list
- (let* ((here-I-am-info
- (save-excursion
- (if (and (or naked no-insert)
- (integerp (cdr macro-cell)))
- (goto-char (cdr macro-cell)))
- (reftex-where-am-I)))
- (here-I-am (car here-I-am-info))
- (note (if (cdr here-I-am-info)
- ""
- "POSITION UNCERTAIN. RESCAN TO FIX."))
- (file (buffer-file-name))
- (text nil)
- (tail (memq here-I-am (symbol-value reftex-docstruct-symbol))))
-
- (or (cdr here-I-am-info) (setq rescan-is-useful t))
-
- (when tail
- (push (list label typekey text file nil note) (cdr tail))
- (put reftex-docstruct-symbol 'modified t)))
+ (let* ((here-I-am-info
+ (save-excursion
+ (if (and (or naked no-insert)
+ (integerp (cdr macro-cell)))
+ (goto-char (cdr macro-cell)))
+ (reftex-where-am-I)))
+ (here-I-am (car here-I-am-info))
+ (note (if (cdr here-I-am-info)
+ ""
+ "POSITION UNCERTAIN. RESCAN TO FIX."))
+ (file (buffer-file-name))
+ (text nil)
+ (tail (memq here-I-am (symbol-value reftex-docstruct-symbol))))
+
+ (or (cdr here-I-am-info) (setq rescan-is-useful t))
+
+ (when tail
+ (push (list label typekey text file nil note) (cdr tail))
+ (put reftex-docstruct-symbol 'modified t)))
;; Insert the label into the buffer
(unless no-insert
- (insert
- (if reftex-format-label-function
- (funcall reftex-format-label-function label format)
- (format format label)))
- (if (and reftex-plug-into-AUCTeX
- (fboundp 'LaTeX-add-labels))
- ;; Tell AUCTeX about this
- (LaTeX-add-labels label)))
+ (insert
+ (if reftex-format-label-function
+ (funcall reftex-format-label-function label format)
+ (format format label)))
+ (if (and reftex-plug-into-AUCTeX
+ (fboundp 'LaTeX-add-labels))
+ ;; Tell AUCTeX about this
+ (LaTeX-add-labels label)))
;; Delete the corresponding selection buffers to force update on next use.
(when reftex-auto-update-selection-buffers
- (reftex-erase-buffer (reftex-make-selection-buffer-name typekey))
- (reftex-erase-buffer (reftex-make-selection-buffer-name " ")))
+ (reftex-erase-buffer (reftex-make-selection-buffer-name typekey))
+ (reftex-erase-buffer (reftex-make-selection-buffer-name " ")))
(when (and rescan-is-useful reftex-allow-automatic-rescan)
- (reftex-parse-one))
+ (reftex-parse-one))
;; return value of the function is the label
label)))
@@ -269,24 +269,24 @@ This function is controlled by the settings of reftex-insert-label-flags."
Uses `reftex-derive-label-parameters' and `reftex-label-illegal-re'. It
also applies `reftex-translate-to-ascii-function' to the string."
(when (and reftex-translate-to-ascii-function
- (fboundp reftex-translate-to-ascii-function))
+ (fboundp reftex-translate-to-ascii-function))
(setq string (funcall reftex-translate-to-ascii-function string)))
(apply 'reftex-convert-string string
- "[-~ \t\n\r,;]+" reftex-label-illegal-re nil nil
- reftex-derive-label-parameters))
+ "[-~ \t\n\r,;]+" reftex-label-illegal-re nil nil
+ reftex-derive-label-parameters))
(defun reftex-latin1-to-ascii (string)
;; Translate the upper 128 chars in the Latin-1 charset to ASCII equivalents
(let ((tab "@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@ icLxY|S\"ca<--R-o|23'uq..1o>423?AAAAAAACEEEEIIIIDNOOOOOXOUUUUYP3aaaaaaaceeeeiiiidnooooo:ouuuuypy")
- (emacsp (not (featurep 'xemacs))))
- (mapconcat
+ (emacsp (not (featurep 'xemacs))))
+ (mapconcat
(lambda (c)
(cond ((and (> c 127) (< c 256)) ; 8 bit Latin-1
- (char-to-string (aref tab (- c 128))))
- ((and emacsp ; Not for XEmacs
- (> c 2175) (< c 2304)) ; Mule Latin-1
- (char-to-string (aref tab (- c 2176))))
- (t (char-to-string c))))
+ (char-to-string (aref tab (- c 128))))
+ ((and emacsp ; Not for XEmacs
+ (> c 2175) (< c 2304)) ; Mule Latin-1
+ (char-to-string (aref tab (- c 2176))))
+ (t (char-to-string c))))
string "")))
(defun reftex-replace-prefix-escapes (prefix)
@@ -309,21 +309,21 @@ also applies `reftex-translate-to-ascii-function' to the string."
file)))
((equal letter "u")
(or (user-login-name) ""))
- ((equal letter "S")
- (let* (macro level-exp level)
- (save-excursion
- (save-match-data
- (when (re-search-backward reftex-section-regexp nil t)
- (setq macro (reftex-match-string 2)
- level-exp (cdr (assoc macro reftex-section-levels-all))
- level (if (symbolp level-exp)
- (abs (save-match-data
- (funcall level-exp)))
- (abs level-exp))))
- (cdr (or (assoc macro reftex-section-prefixes)
- (assoc level reftex-section-prefixes)
- (assq t reftex-section-prefixes)
- (list t "sec:")))))))
+ ((equal letter "S")
+ (let* (macro level-exp level)
+ (save-excursion
+ (save-match-data
+ (when (re-search-backward reftex-section-regexp nil t)
+ (setq macro (reftex-match-string 2)
+ level-exp (cdr (assoc macro reftex-section-levels-all))
+ level (if (symbolp level-exp)
+ (abs (save-match-data
+ (funcall level-exp)))
+ (abs level-exp))))
+ (cdr (or (assoc macro reftex-section-prefixes)
+ (assoc level reftex-section-prefixes)
+ (assq t reftex-section-prefixes)
+ (list t "sec:")))))))
(t "")))
(setq num (1- (+ (match-beginning 1) (length replace)))
prefix (replace-match replace nil nil prefix)))
@@ -396,40 +396,40 @@ When called with 2 C-u prefix args, disable magic word recognition."
;; check for active recursive edits
(reftex-check-recursive-edit)
- ;; Ensure access to scanning info and rescan buffer if prefix are is '(4)
+ ;; Ensure access to scanning info and rescan buffer if prefix arg is '(4)
(reftex-access-scan-info current-prefix-arg)
(unless type
;; guess type from context
(if (and reftex-guess-label-type
(setq type (reftex-guess-label-type)))
- (setq cut (cdr type)
- type (car type))
+ (setq cut (cdr type)
+ type (car type))
(setq type (reftex-query-label-type))))
- (let* ((refstyle
- (cond ((reftex-typekey-check type reftex-vref-is-default) "\\vref")
- ((reftex-typekey-check type reftex-fref-is-default) "\\fref")
- (t "\\ref")))
- (reftex-format-ref-function reftex-format-ref-function)
- (form "\\ref{%s}")
- label labels sep sep1)
+ (let* ((refstyle
+ (cond ((reftex-typekey-check type reftex-vref-is-default) "\\vref")
+ ((reftex-typekey-check type reftex-fref-is-default) "\\fref")
+ (t "\\ref")))
+ (reftex-format-ref-function reftex-format-ref-function)
+ (form "\\ref{%s}")
+ label labels sep sep1)
;; Have the user select a label
(set-marker reftex-select-return-marker (point))
(setq labels (save-excursion
- (reftex-offer-label-menu type)))
+ (reftex-offer-label-menu type)))
(reftex-ensure-compiled-variables)
(set-marker reftex-select-return-marker nil)
;; If the first entry is the symbol 'concat, concat all labels.
;; We keep the cdr of the first label for typekey etc information.
(if (eq (car labels) 'concat)
- (setq labels (list (list (mapconcat 'car (cdr labels) ",")
- (cdr (nth 1 labels))))))
+ (setq labels (list (list (mapconcat 'car (cdr labels) ",")
+ (cdr (nth 1 labels))))))
(setq type (nth 1 (car labels))
- form (or (cdr (assoc type reftex-typekey-to-format-alist))
- form))
-
+ form (or (cdr (assoc type reftex-typekey-to-format-alist))
+ form))
+
(cond
(no-insert
;; Just return the first label
@@ -439,60 +439,60 @@ When called with 2 C-u prefix args, disable magic word recognition."
nil)
(t
(while labels
- (setq label (car (car labels))
- sep (nth 2 (car labels))
- sep1 (cdr (assoc sep reftex-multiref-punctuation))
- labels (cdr labels))
- (when cut
- (backward-delete-char cut)
- (setq cut nil))
-
- ;; remove ~ if we do already have a space
- (when (and (= ?~ (string-to-char form))
- (member (preceding-char) '(?\ ?\t ?\n ?. ?~)))
- (setq form (substring form 1)))
- ;; do we have a special format?
- (setq reftex-format-ref-function
- (cond
- ((string= refstyle "\\vref") 'reftex-format-vref)
- ((string= refstyle "\\fref") 'reftex-format-fref)
- ((string= refstyle "\\Fref") 'reftex-format-Fref)
- (t reftex-format-ref-function)))
- ;; ok, insert the reference
- (if sep1 (insert sep1))
- (insert
- (if reftex-format-ref-function
- (funcall reftex-format-ref-function label form)
- (format form label label)))
- ;; take out the initial ~ for good
- (and (= ?~ (string-to-char form))
- (setq form (substring form 1))))
+ (setq label (car (car labels))
+ sep (nth 2 (car labels))
+ sep1 (cdr (assoc sep reftex-multiref-punctuation))
+ labels (cdr labels))
+ (when cut
+ (backward-delete-char cut)
+ (setq cut nil))
+
+ ;; remove ~ if we do already have a space
+ (when (and (= ?~ (string-to-char form))
+ (member (preceding-char) '(?\ ?\t ?\n)))
+ (setq form (substring form 1)))
+ ;; do we have a special format?
+ (setq reftex-format-ref-function
+ (cond
+ ((string= refstyle "\\vref") 'reftex-format-vref)
+ ((string= refstyle "\\fref") 'reftex-format-fref)
+ ((string= refstyle "\\Fref") 'reftex-format-Fref)
+ (t reftex-format-ref-function)))
+ ;; ok, insert the reference
+ (if sep1 (insert sep1))
+ (insert
+ (if reftex-format-ref-function
+ (funcall reftex-format-ref-function label form)
+ (format form label label)))
+ ;; take out the initial ~ for good
+ (and (= ?~ (string-to-char form))
+ (setq form (substring form 1))))
(message "")
label))))
(defun reftex-guess-label-type ()
;; Examine context to guess what a \ref might want to reference.
(let ((words reftex-words-to-typekey-alist)
- (case-fold-search t)
- (bound (max (point-min) (- (point) 35)))
- matched cell)
+ (case-fold-search t)
+ (bound (max (point-min) (- (point) 35)))
+ matched cell)
(save-excursion
(while (and (setq cell (pop words))
- (not (setq matched
- (re-search-backward (car cell) bound t))))))
+ (not (setq matched
+ (re-search-backward (car cell) bound t))))))
(if matched
- (cons (cdr cell) (- (match-end 0) (match-end 1)))
+ (cons (cdr cell) (- (match-end 0) (match-end 1)))
nil)))
(defvar reftex-select-label-map)
(defun reftex-offer-label-menu (typekey)
;; Offer a menu with the appropriate labels.
(let* ((buf (current-buffer))
- (xr-data (assq 'xr (symbol-value reftex-docstruct-symbol)))
- (xr-alist (cons (cons "" (buffer-file-name)) (nth 1 xr-data)))
- (xr-index 0)
+ (xr-data (assq 'xr (symbol-value reftex-docstruct-symbol)))
+ (xr-alist (cons (cons "" (buffer-file-name)) (nth 1 xr-data)))
+ (xr-index 0)
(here-I-am (car (reftex-where-am-I)))
- (here-I-am1 here-I-am)
+ (here-I-am1 here-I-am)
(toc (reftex-typekey-check typekey reftex-label-menu-flags 0))
(files (reftex-typekey-check typekey reftex-label-menu-flags 7))
(context (not (reftex-typekey-check
@@ -502,158 +502,158 @@ When called with 2 C-u prefix args, disable magic word recognition."
(follow (reftex-typekey-check
typekey reftex-label-menu-flags 4))
(commented (nth 5 reftex-label-menu-flags))
- (prefix "")
- selection-buffers
+ (prefix "")
+ selection-buffers
offset rtn key data last-data entries)
(unwind-protect
(catch 'exit
(while t
(save-window-excursion
- (delete-other-windows)
- (setq reftex-call-back-to-this-buffer buf
- reftex-latex-syntax-table (syntax-table))
- (let ((default-major-mode 'reftex-select-label-mode))
- (if reftex-use-multiple-selection-buffers
- (switch-to-buffer-other-window
- (save-excursion
- (set-buffer buf)
- (reftex-make-selection-buffer-name typekey)))
- (switch-to-buffer-other-window "*RefTeX Select*")
- (reftex-erase-buffer)))
- (unless (eq major-mode 'reftex-select-label-mode)
- (reftex-select-label-mode))
- (add-to-list 'selection-buffers (current-buffer))
+ (delete-other-windows)
+ (setq reftex-call-back-to-this-buffer buf
+ reftex-latex-syntax-table (syntax-table))
+ (let ((default-major-mode 'reftex-select-label-mode))
+ (if reftex-use-multiple-selection-buffers
+ (switch-to-buffer-other-window
+ (save-excursion
+ (set-buffer buf)
+ (reftex-make-selection-buffer-name typekey)))
+ (switch-to-buffer-other-window "*RefTeX Select*")
+ (reftex-erase-buffer)))
+ (unless (eq major-mode 'reftex-select-label-mode)
+ (reftex-select-label-mode))
+ (add-to-list 'selection-buffers (current-buffer))
(setq truncate-lines t)
- (setq mode-line-format
- (list "---- " 'mode-line-buffer-identification
- " " 'global-mode-string " (" mode-name ")"
- " S<" 'refstyle ">"
- " -%-"))
- (cond
- ((= 0 (buffer-size))
- (let ((buffer-read-only nil))
- (message "Creating Selection Buffer...")
- (setq offset (reftex-insert-docstruct
- buf
- toc
- typekey
- nil ; index
- files
- context
- counter
- commented
- (or here-I-am offset)
- prefix
- nil ; no a toc buffer
- ))))
- (here-I-am
- (setq offset (reftex-get-offset buf here-I-am typekey)))
- (t (setq offset t)))
- (setq buffer-read-only t)
- (setq offset (or offset t))
+ (setq mode-line-format
+ (list "---- " 'mode-line-buffer-identification
+ " " 'global-mode-string " (" mode-name ")"
+ " S<" 'refstyle ">"
+ " -%-"))
+ (cond
+ ((= 0 (buffer-size))
+ (let ((buffer-read-only nil))
+ (message "Creating Selection Buffer...")
+ (setq offset (reftex-insert-docstruct
+ buf
+ toc
+ typekey
+ nil ; index
+ files
+ context
+ counter
+ commented
+ (or here-I-am offset)
+ prefix
+ nil ; no a toc buffer
+ ))))
+ (here-I-am
+ (setq offset (reftex-get-offset buf here-I-am typekey)))
+ (t (setq offset t)))
+ (setq buffer-read-only t)
+ (setq offset (or offset t))
(setq here-I-am nil) ; turn off determination of offset
(setq rtn
(reftex-select-item
reftex-select-label-prompt
reftex-select-label-help
- reftex-select-label-map
+ reftex-select-label-map
offset
'reftex-show-label-location follow))
(setq key (car rtn)
data (nth 1 rtn)
last-data (nth 2 rtn)
- offset t)
+ offset t)
(unless key (throw 'exit nil))
(cond
- ((eq key ?g)
- ;; update buffer
- (reftex-erase-buffer))
+ ((eq key ?g)
+ ;; update buffer
+ (reftex-erase-buffer))
((or (eq key ?r)
(eq key ?R))
;; rescan buffer
- (and current-prefix-arg (setq key ?R))
- (reftex-erase-buffer)
+ (and current-prefix-arg (setq key ?R))
+ (reftex-erase-buffer)
(reftex-reparse-document buf last-data key))
((eq key ?c)
;; toggle context mode
- (reftex-erase-buffer)
+ (reftex-erase-buffer)
(setq context (not context)))
((eq key ?s)
;; switch type
- (setq here-I-am here-I-am1)
+ (setq here-I-am here-I-am1)
(setq typekey (reftex-query-label-type)))
((eq key ?t)
;; toggle table of contents display, or change depth
- (reftex-erase-buffer)
- (if current-prefix-arg
- (setq reftex-toc-max-level (prefix-numeric-value
- current-prefix-arg))
- (setq toc (not toc))))
+ (reftex-erase-buffer)
+ (if current-prefix-arg
+ (setq reftex-toc-max-level (prefix-numeric-value
+ current-prefix-arg))
+ (setq toc (not toc))))
((eq key ?F)
;; toggle display of included file borders
- (reftex-erase-buffer)
+ (reftex-erase-buffer)
(setq files (not files)))
((eq key ?#)
;; toggle counter display
- (reftex-erase-buffer)
+ (reftex-erase-buffer)
(setq counter (not counter)))
((eq key ?%)
;; toggle display of commented labels
- (reftex-erase-buffer)
+ (reftex-erase-buffer)
(setq commented (not commented)))
((eq key ?l)
;; reuse the last referenced label again
(setq entries reftex-last-used-reference)
(throw 'exit t))
- ((eq key ?x)
- ;; select an external document
- (setq xr-index (reftex-select-external-document
- xr-alist xr-index))
- (setq buf (or (reftex-get-file-buffer-force
- (cdr (nth xr-index xr-alist)))
- (error "Cannot switch document"))
- prefix (or (car (nth xr-index xr-alist)) ""))
+ ((eq key ?x)
+ ;; select an external document
+ (setq xr-index (reftex-select-external-document
+ xr-alist xr-index))
+ (setq buf (or (reftex-get-file-buffer-force
+ (cdr (nth xr-index xr-alist)))
+ (error "Cannot switch document"))
+ prefix (or (car (nth xr-index xr-alist)) ""))
+ (set-buffer buf)
+ (reftex-access-scan-info))
+ ((stringp key)
+ (setq entries
+ (list
+ (list
+ (or (assoc key (symbol-value reftex-docstruct-symbol))
+ (list key typekey)))))
+ (throw 'exit t))
+ ((memq key '(?a ?A return))
+ (cond
+ (reftex-select-marked
+ (setq entries (nreverse reftex-select-marked)))
+ (data
+ (setq entries (list (list data))))
+ (t (setq entries nil)))
+ (when entries
+ (if (equal key ?a) (push 'concat entries))
+ (setq reftex-last-used-reference entries))
(set-buffer buf)
- (reftex-access-scan-info))
- ((stringp key)
- (setq entries
- (list
- (list
- (or (assoc key (symbol-value reftex-docstruct-symbol))
- (list key typekey)))))
(throw 'exit t))
- ((memq key '(?a ?A return))
- (cond
- (reftex-select-marked
- (setq entries (nreverse reftex-select-marked)))
- (data
- (setq entries (list (list data))))
- (t (setq entries nil)))
- (when entries
- (if (equal key ?a) (push 'concat entries))
- (setq reftex-last-used-reference entries))
- (set-buffer buf)
- (throw 'exit t))
- (t (error "This should not happen (reftex-offer-label-menu)"))))))
+ (t (error "This should not happen (reftex-offer-label-menu)"))))))
(save-excursion
- (while reftex-buffers-with-changed-invisibility
- (set-buffer (car (car reftex-buffers-with-changed-invisibility)))
- (setq buffer-invisibility-spec
- (cdr (pop reftex-buffers-with-changed-invisibility)))))
+ (while reftex-buffers-with-changed-invisibility
+ (set-buffer (car (car reftex-buffers-with-changed-invisibility)))
+ (setq buffer-invisibility-spec
+ (cdr (pop reftex-buffers-with-changed-invisibility)))))
(mapcar (lambda (buf) (and (buffer-live-p buf) (bury-buffer buf)))
- selection-buffers)
+ selection-buffers)
(reftex-kill-temporary-buffers))
;; Add the prefixes, put together the relevant information in the form
;; (LABEL TYPEKEY SEPARATOR) and return a list of those.
(mapcar (lambda (x)
- (if (listp x)
- (list (concat prefix (car (car x)))
- (nth 1 (car x))
- (nth 2 x))
- x))
- entries)))
+ (if (listp x)
+ (list (concat prefix (car (car x)))
+ (nth 1 (car x))
+ (nth 2 x))
+ x))
+ entries)))
(defun reftex-reparse-document (&optional buffer data key)
;; Rescan the document.
@@ -669,14 +669,14 @@ When called with 2 C-u prefix args, disable magic word recognition."
(defun reftex-query-label-type ()
;; Ask for label type
- (let ((key (reftex-select-with-char
- reftex-type-query-prompt reftex-type-query-help 3)))
+ (let ((key (reftex-select-with-char
+ reftex-type-query-prompt reftex-type-query-help 3)))
(unless (member (char-to-string key) reftex-typekey-list)
(error "No such label type: %s" (char-to-string key)))
(char-to-string key)))
-(defun reftex-show-label-location (data forward no-revisit
- &optional stay error)
+(defun reftex-show-label-location (data forward no-revisit
+ &optional stay error)
;; View the definition site of a label in another window.
;; DATA is an entry from the docstruct list.
;; FORWARD indicates if the label is likely forward from current point.
@@ -685,53 +685,53 @@ When called with 2 C-u prefix args, disable magic word recognition."
;; ERROR means throw an error exception when the label cannot be found.
;; If ERROR is nil, the return value of this function indicates success.
(let* ((this-window (selected-window))
- (errorf (if error 'error 'message))
+ (errorf (if error 'error 'message))
label file buffer re found)
(catch 'exit
(setq label (nth 0 data)
- file (nth 3 data))
+ file (nth 3 data))
(unless file
- (funcall errorf "Unknown label - reparse might help")
- (throw 'exit nil))
+ (funcall errorf "Unknown label - reparse might help")
+ (throw 'exit nil))
;; Goto the file in another window
- (setq buffer
- (if no-revisit
- (reftex-get-buffer-visiting file)
- (reftex-get-file-buffer-force
- file (not reftex-keep-temporary-buffers))))
+ (setq buffer
+ (if no-revisit
+ (reftex-get-buffer-visiting file)
+ (reftex-get-file-buffer-force
+ file (not reftex-keep-temporary-buffers))))
(if buffer
;; good - the file is available
(switch-to-buffer-other-window buffer)
;; we have got a problem here. The file does not exist.
;; Let' get out of here..
- (funcall errorf "Label %s not found" label)
- (throw 'exit nil))
+ (funcall errorf "Label %s not found" label)
+ (throw 'exit nil))
;; search for that label
(setq re (format reftex-find-label-regexp-format (regexp-quote label)))
(setq found
- (if forward
- (re-search-forward re nil t)
- (re-search-backward re nil t)))
+ (if forward
+ (re-search-forward re nil t)
+ (re-search-backward re nil t)))
(unless found
(goto-char (point-min))
- (unless (setq found (re-search-forward re nil t))
- ;; Ooops. Must be in a macro with distributed args.
- (setq found
- (re-search-forward
- (format reftex-find-label-regexp-format2
- (regexp-quote label)) nil t))))
+ (unless (setq found (re-search-forward re nil t))
+ ;; Ooops. Must be in a macro with distributed args.
+ (setq found
+ (re-search-forward
+ (format reftex-find-label-regexp-format2
+ (regexp-quote label)) nil t))))
(if (match-end 3)
- (progn
- (reftex-highlight 0 (match-beginning 3) (match-end 3))
- (reftex-show-entry (match-beginning 3) (match-end 3))
- (recenter '(4))
- (unless stay (select-window this-window)))
- (select-window this-window)
- (funcall errorf "Label %s not found" label))
+ (progn
+ (reftex-highlight 0 (match-beginning 3) (match-end 3))
+ (reftex-show-entry (match-beginning 3) (match-end 3))
+ (recenter '(4))
+ (unless stay (select-window this-window)))
+ (select-window this-window)
+ (funcall errorf "Label %s not found" label))
found)))
(defvar font-lock-mode)
@@ -744,34 +744,34 @@ When called with 2 C-u prefix args, disable magic word recognition."
(re-search-forward "[\n\r]" nil 1 n) (point))))
(cond
((and (boundp 'buffer-invisibility-spec) buffer-invisibility-spec
- (get-char-property (1+ beg-hlt) 'invisible))
+ (get-char-property (1+ beg-hlt) 'invisible))
;; Invisible with text properties. That is easy to change.
(push (cons (current-buffer) buffer-invisibility-spec)
- reftex-buffers-with-changed-invisibility)
+ reftex-buffers-with-changed-invisibility)
(setq buffer-invisibility-spec nil))
((string-match "\r" (buffer-substring beg end))
;; Invisible with selective display. We need to copy it.
(let ((string (buffer-substring-no-properties beg end)))
- (switch-to-buffer "*RefTeX Context Copy*")
- (setq buffer-read-only nil)
- (erase-buffer)
- (insert string)
- (subst-char-in-region (point-min) (point-max) ?\r ?\n t)
- (goto-char (- beg-hlt beg))
- (reftex-highlight 0 (1+ (- beg-hlt beg)) (1+ (- end-hlt beg)))
- (if (reftex-refontify)
- (when (or (not (eq major-mode 'latex-mode))
- (not font-lock-mode))
- (latex-mode)
- (run-hook-with-args
- 'reftex-pre-refontification-functions
- reftex-call-back-to-this-buffer 'reftex-hidden)
- (turn-on-font-lock))
- (when (or (not (eq major-mode 'fundamental-mode))
- font-lock-mode)
- (fundamental-mode)))
- (run-hooks 'reftex-display-copied-context-hook)
- (setq buffer-read-only t))))))
+ (switch-to-buffer "*RefTeX Context Copy*")
+ (setq buffer-read-only nil)
+ (erase-buffer)
+ (insert string)
+ (subst-char-in-region (point-min) (point-max) ?\r ?\n t)
+ (goto-char (- beg-hlt beg))
+ (reftex-highlight 0 (1+ (- beg-hlt beg)) (1+ (- end-hlt beg)))
+ (if (reftex-refontify)
+ (when (or (not (eq major-mode 'latex-mode))
+ (not font-lock-mode))
+ (latex-mode)
+ (run-hook-with-args
+ 'reftex-pre-refontification-functions
+ reftex-call-back-to-this-buffer 'reftex-hidden)
+ (turn-on-font-lock))
+ (when (or (not (eq major-mode 'fundamental-mode))
+ font-lock-mode)
+ (fundamental-mode)))
+ (run-hooks 'reftex-display-copied-context-hook)
+ (setq buffer-read-only t))))))
(defun reftex-varioref-vref ()
"Insert a reference using the `\\vref' macro from the varioref package."
@@ -782,15 +782,15 @@ When called with 2 C-u prefix args, disable magic word recognition."
"Insert a reference using the `\\fref' macro from the fancyref package."
(interactive)
(let ((reftex-format-ref-function 'reftex-format-fref)
- ;;(reftex-guess-label-type nil) ;FIXME do we want this????
- )
+ ;;(reftex-guess-label-type nil) ;FIXME do we want this????
+ )
(reftex-reference)))
(defun reftex-fancyref-Fref ()
"Insert a reference using the `\\Fref' macro from the fancyref package."
(interactive)
(let ((reftex-format-ref-function 'reftex-format-Fref)
- ;;(reftex-guess-label-type nil) ;FIXME do we want this????
- )
+ ;;(reftex-guess-label-type nil) ;FIXME do we want this????
+ )
(reftex-reference)))
(defun reftex-format-vref (label fmt)
@@ -802,26 +802,36 @@ When called with 2 C-u prefix args, disable magic word recognition."
(defun reftex-format-fref (label def-fmt)
(format "\\fref{%s}" label))
+
+;(defun reftex-goto-label ()
+; (interactive)
+; (reftex-access-scan-info)
+; (let* ((docstruct (symbol-value reftex-docstruct-symbol))
+; (label (completing-read "Label: " docstruct
+; (lambda (x) (stringp (car x))) t))
+; (selection (assoc label docstruct)))
+; (reftex-show-label-location selection t nil 'stay)
+; (reftex-unhighlight 0)))
+
(defun reftex-goto-label (&optional other-window)
"Prompt for a label (with completion) and jump to the location of this label.
Optional prefix argument OTHER-WINDOW goes to the label in another window."
(interactive "P")
(reftex-access-scan-info)
(let* ((wcfg (current-window-configuration))
- (docstruct (symbol-value reftex-docstruct-symbol))
- (label (completing-read "Label: " docstruct
- (lambda (x) (stringp (car x))) t))
- (selection (assoc label docstruct))
- (where (progn
- (reftex-show-label-location selection t nil 'stay)
- (point-marker))))
+ (docstruct (symbol-value reftex-docstruct-symbol))
+ (label (completing-read "Label: " docstruct
+ (lambda (x) (stringp (car x))) t))
+ (selection (assoc label docstruct))
+ (where (progn
+ (reftex-show-label-location selection t nil 'stay)
+ (point-marker))))
(unless other-window
(set-window-configuration wcfg)
(switch-to-buffer (marker-buffer where))
- (goto-char where))
+ (goto-char where))
(reftex-unhighlight 0)))
-;;; arch-tag: 52f14032-fb76-4d31-954f-750c72415675
;;; reftex-ref.el ends here
diff --git a/lisp/textmodes/reftex-sel.el b/lisp/textmodes/reftex-sel.el
index 3074e83b681..cd9119ea746 100644
--- a/lisp/textmodes/reftex-sel.el
+++ b/lisp/textmodes/reftex-sel.el
@@ -1,8 +1,8 @@
;;; reftex-sel.el --- the selection modes for RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -38,7 +38,7 @@ started with the command \\[reftex-reference].")
(defun reftex-select-label-mode ()
"Major mode for selecting a label in a LaTeX document.
This buffer was created with RefTeX.
-It only has a meaningful keymap when you are in the middle of a
+It only has a meaningful keymap when you are in the middle of a
selection process.
To select a label, move the cursor to it and press RET.
Press `?' for a summary of important key bindings.
@@ -54,7 +54,7 @@ During a selection process, these are the local bindings.
(make-local-hook 'pre-command-hook)
(make-local-hook 'post-command-hook))
(setq major-mode 'reftex-select-label-mode
- mode-name "LSelect")
+ mode-name "LSelect")
(set (make-local-variable 'reftex-select-marked) nil)
(when (syntax-table-p reftex-latex-syntax-table)
(set-syntax-table reftex-latex-syntax-table))
@@ -69,7 +69,7 @@ started with the command \\[reftex-citation].")
(defun reftex-select-bib-mode ()
"Major mode for selecting a citation key in a LaTeX document.
This buffer was created with RefTeX.
-It only has a meaningful keymap when you are in the middle of a
+It only has a meaningful keymap when you are in the middle of a
selection process.
In order to select a citation, move the cursor to it and press RET.
Press `?' for a summary of important key bindings.
@@ -84,7 +84,7 @@ During a selection process, these are the local bindings.
(make-local-hook 'pre-command-hook)
(make-local-hook 'post-command-hook))
(setq major-mode 'reftex-select-bib-mode
- mode-name "BSelect")
+ mode-name "BSelect")
(set (make-local-variable 'reftex-select-marked) nil)
;; We do not set a local map - reftex-select-item does this.
(run-hooks 'reftex-select-bib-mode-hook))
@@ -99,18 +99,18 @@ During a selection process, these are the local bindings.
;;; (set-buffer buf)
;;; (reftex-access-scan-info)
;;; (let* ((rest (memq here-am-I (symbol-value reftex-docstruct-symbol)))
-;;; entry)
-;;; (while (setq entry (pop rest))
-;;; (if (or (and typekey
-;;; (stringp (car entry))
-;;; (or (equal typekey " ")
-;;; (equal typekey (nth 1 entry))))
-;;; (and toc (eq (car entry) 'toc))
-;;; (and index (eq (car entry) 'index))
-;;; (and file
-;;; (memq (car entry) '(bof eof file-error))))
-;;; (throw 'exit entry)))
-;;; nil))))
+;;; entry)
+;;; (while (setq entry (pop rest))
+;;; (if (or (and typekey
+;;; (stringp (car entry))
+;;; (or (equal typekey " ")
+;;; (equal typekey (nth 1 entry))))
+;;; (and toc (eq (car entry) 'toc))
+;;; (and index (eq (car entry) 'index))
+;;; (and file
+;;; (memq (car entry) '(bof eof file-error))))
+;;; (throw 'exit entry)))
+;;; nil))))
(defun reftex-get-offset (buf here-am-I &optional typekey toc index file)
;; Find the correct offset data, like insert-docstruct would, but faster.
@@ -122,24 +122,24 @@ During a selection process, these are the local bindings.
(set-buffer buf)
(reftex-access-scan-info)
(let* ((rest (symbol-value reftex-docstruct-symbol))
- lastentry entry)
- (while (setq entry (pop rest))
- (if (or (and typekey
- (stringp (car entry))
- (or (equal typekey " ")
- (equal typekey (nth 1 entry))))
- (and toc (eq (car entry) 'toc))
- (and index (eq (car entry) 'index))
- (and file
- (memq (car entry) '(bof eof file-error))))
- (setq lastentry entry))
- (if (eq entry here-am-I)
- (throw 'exit (or lastentry entry))))
- nil))))
+ lastentry entry)
+ (while (setq entry (pop rest))
+ (if (or (and typekey
+ (stringp (car entry))
+ (or (equal typekey " ")
+ (equal typekey (nth 1 entry))))
+ (and toc (eq (car entry) 'toc))
+ (and index (eq (car entry) 'index))
+ (and file
+ (memq (car entry) '(bof eof file-error))))
+ (setq lastentry entry))
+ (if (eq entry here-am-I)
+ (throw 'exit (or lastentry entry))))
+ nil))))
(defun reftex-insert-docstruct
(buf toc labels index-entries files context counter show-commented
- here-I-am xr-prefix toc-buffer)
+ here-I-am xr-prefix toc-buffer)
;; Insert an excerpt of the docstruct list.
;; Return the data property of the entry corresponding to HERE-I-AM.
;; BUF is the buffer which has the correct docstruct-symbol.
@@ -163,18 +163,18 @@ During a selection process, these are the local bindings.
(context-indent
(concat ". "
(if toc (make-string (* 7 reftex-level-indent) ?\ ) "")))
- (mouse-face
- (if (memq reftex-highlight-selection '(mouse both))
- reftex-mouse-selected-face
- nil))
- (label-face (reftex-verified-face reftex-label-face
- 'font-lock-constant-face
- 'font-lock-reference-face))
- (index-face (reftex-verified-face reftex-index-face
- 'font-lock-constant-face
- 'font-lock-reference-face))
+ (mouse-face
+ (if (memq reftex-highlight-selection '(mouse both))
+ reftex-mouse-selected-face
+ nil))
+ (label-face (reftex-verified-face reftex-label-face
+ 'font-lock-constant-face
+ 'font-lock-reference-face))
+ (index-face (reftex-verified-face reftex-index-face
+ 'font-lock-constant-face
+ 'font-lock-reference-face))
all cell text label typekey note comment master-dir-re
- prev-inserted offset from to index-tag docstruct-symbol)
+ prev-inserted offset from to index-tag docstruct-symbol)
;; Pop to buffer buf to get the correct buffer-local variables
(save-excursion
@@ -184,7 +184,7 @@ During a selection process, these are the local bindings.
(reftex-access-scan-info)
(setq docstruct-symbol reftex-docstruct-symbol
- all (symbol-value reftex-docstruct-symbol)
+ all (symbol-value reftex-docstruct-symbol)
reftex-active-toc nil
master-dir-re
(concat "\\`" (regexp-quote
@@ -192,7 +192,7 @@ During a selection process, these are the local bindings.
(set (make-local-variable 'reftex-docstruct-symbol) docstruct-symbol)
(set (make-local-variable 'reftex-prefix)
- (cdr (assoc labels reftex-typekey-to-prefix-alist)))
+ (cdr (assoc labels reftex-typekey-to-prefix-alist)))
(if (equal reftex-prefix " ") (setq reftex-prefix nil))
;; Walk the docstruct and insert the appropriate stuff
@@ -204,14 +204,14 @@ During a selection process, these are the local bindings.
(cond
((memq (car cell) '(bib thebib label-numbers appendix
- master-dir bibview-cache is-multi xr xr-doc)))
+ master-dir bibview-cache is-multi xr xr-doc)))
;; These are currently ignored
((memq (car cell) '(bof eof file-error))
;; Beginning or end of a file
(when files
- (setq prev-inserted cell)
-; (if (eq offset 'attention) (setq offset cell))
+ (setq prev-inserted cell)
+; (if (eq offset 'attention) (setq offset cell))
(insert
" File " (if (string-match master-dir-re (nth 1 cell))
(substring (nth 1 cell) (match-end 0))
@@ -219,41 +219,41 @@ During a selection process, these are the local bindings.
(cond ((eq (car cell) 'bof) " starts here\n")
((eq (car cell) 'eof) " ends here\n")
((eq (car cell) 'file-error) " was not found\n")))
- (setq to (point))
+ (setq to (point))
(when font
(put-text-property from to
'face reftex-file-boundary-face))
- (when toc-buffer
- (if mouse-face
- (put-text-property from (1- to)
- 'mouse-face mouse-face))
- (put-text-property from to :data cell))))
+ (when toc-buffer
+ (if mouse-face
+ (put-text-property from (1- to)
+ 'mouse-face mouse-face))
+ (put-text-property from to :data cell))))
((eq (car cell) 'toc)
;; a table of contents entry
(when (and toc
- (<= (nth 5 cell) reftex-toc-max-level))
- (setq prev-inserted cell)
-; (if (eq offset 'attention) (setq offset cell))
+ (<= (nth 5 cell) reftex-toc-max-level))
+ (setq prev-inserted cell)
+; (if (eq offset 'attention) (setq offset cell))
(setq reftex-active-toc cell)
(insert (concat toc-indent (nth 2 cell) "\n"))
- (setq to (point))
- (when font
- (put-text-property from to
- 'face reftex-section-heading-face))
- (when toc-buffer
- (if mouse-face
- (put-text-property from (1- to)
- 'mouse-face mouse-face))
- (put-text-property from to :data cell))
- (goto-char to)))
+ (setq to (point))
+ (when font
+ (put-text-property from to
+ 'face reftex-section-heading-face))
+ (when toc-buffer
+ (if mouse-face
+ (put-text-property from (1- to)
+ 'mouse-face mouse-face))
+ (put-text-property from to :data cell))
+ (goto-char to)))
((stringp (car cell))
;; a label
(when (null (nth 2 cell))
;; No context yet. Quick update.
- (setcdr cell (cdr (reftex-label-info-update cell)))
- (put docstruct-symbol 'modified t))
+ (setcdr cell (cdr (reftex-label-info-update cell)))
+ (put docstruct-symbol 'modified t))
(setq label (car cell)
typekey (nth 1 cell)
@@ -262,27 +262,27 @@ During a selection process, these are the local bindings.
note (nth 5 cell))
(when (and labels
- (or (eq labels t)
- (string= typekey labels)
- (string= labels " "))
+ (or (eq labels t)
+ (string= typekey labels)
+ (string= labels " "))
(or show-commented (null comment)))
;; Yes we want this one
(incf cnt)
- (setq prev-inserted cell)
-; (if (eq offset 'attention) (setq offset cell))
+ (setq prev-inserted cell)
+; (if (eq offset 'attention) (setq offset cell))
- (setq label (concat xr-prefix label))
+ (setq label (concat xr-prefix label))
(when comment (setq label (concat "% " label)))
(insert label-indent label)
(when font
- (setq to (point))
+ (setq to (point))
(put-text-property
(- (point) (length label)) to
'face (if comment
'font-lock-comment-face
label-face))
- (goto-char to))
+ (goto-char to))
(insert (if counter (format " (%d) " cnt) "")
(if comment " LABEL IS COMMENTED OUT " "")
@@ -294,46 +294,46 @@ During a selection process, these are the local bindings.
(insert context-indent text "\n")
(setq to (point)))
(put-text-property from to :data cell)
- (when mouse-face
- (put-text-property from (1- to)
- 'mouse-face mouse-face))
+ (when mouse-face
+ (put-text-property from (1- to)
+ 'mouse-face mouse-face))
(goto-char to)))
((eq (car cell) 'index)
- ;; index entry
- (when (and index-entries
- (or (eq t index-entries)
- (string= index-entries (nth 1 cell))))
- (setq prev-inserted cell)
-; (if (eq offset 'attention) (setq offset cell))
- (setq index-tag (format "<%s>" (nth 1 cell)))
- (and font
- (put-text-property 0 (length index-tag)
- 'face reftex-index-tag-face index-tag))
- (insert label-indent index-tag " " (nth 7 cell))
-
- (when font
- (setq to (point))
- (put-text-property
- (- (point) (length (nth 7 cell))) to
- 'face index-face)
- (goto-char to))
- (insert "\n")
- (setq to (point))
-
- (when context
- (insert context-indent (nth 2 cell) "\n")
- (setq to (point)))
- (put-text-property from to :data cell)
- (when mouse-face
- (put-text-property from (1- to)
- 'mouse-face mouse-face))
+ ;; index entry
+ (when (and index-entries
+ (or (eq t index-entries)
+ (string= index-entries (nth 1 cell))))
+ (setq prev-inserted cell)
+; (if (eq offset 'attention) (setq offset cell))
+ (setq index-tag (format "<%s>" (nth 1 cell)))
+ (and font
+ (put-text-property 0 (length index-tag)
+ 'face reftex-index-tag-face index-tag))
+ (insert label-indent index-tag " " (nth 7 cell))
+
+ (when font
+ (setq to (point))
+ (put-text-property
+ (- (point) (length (nth 7 cell))) to
+ 'face index-face)
+ (goto-char to))
+ (insert "\n")
+ (setq to (point))
+
+ (when context
+ (insert context-indent (nth 2 cell) "\n")
+ (setq to (point)))
+ (put-text-property from to :data cell)
+ (when mouse-face
+ (put-text-property from (1- to)
+ 'mouse-face mouse-face))
(goto-char to))))
- (if (eq cell here-I-am)
- (setq offset 'attention))
+ (if (eq cell here-I-am)
+ (setq offset 'attention))
(if (and prev-inserted (eq offset 'attention))
- (setq offset prev-inserted))
+ (setq offset prev-inserted))
)
(when (reftex-refontify)
@@ -351,18 +351,18 @@ During a selection process, these are the local bindings.
(goto-char (point-min))
(let (loc pos)
(while locations
- (setq loc (pop locations))
- (cond
- ((null loc))
- ((listp loc)
- (setq pos (text-property-any (point-min) (point-max) :data loc))
- (when pos
- (goto-char pos)
- (throw 'exit t)))
- ((integerp loc)
- (when (<= loc (count-lines (point-min) (point-max)))
- (goto-line loc)
- (throw 'exit t)))))
+ (setq loc (pop locations))
+ (cond
+ ((null loc))
+ ((listp loc)
+ (setq pos (text-property-any (point-min) (point-max) :data loc))
+ (when pos
+ (goto-char pos)
+ (throw 'exit t)))
+ ((integerp loc)
+ (when (<= loc (count-lines (point-min) (point-max)))
+ (goto-line loc)
+ (throw 'exit t)))))
(goto-char fallback))))
(defvar reftex-last-data nil)
@@ -370,8 +370,8 @@ During a selection process, these are the local bindings.
(defvar reftex-select-marked nil)
(defun reftex-select-item (prompt help-string keymap
- &optional offset
- call-back cb-flag)
+ &optional offset
+ call-back cb-flag)
;; Select an item, using PROMPT. The function returns a key indicating
;; an exit status, along with a data structure indicating which item was
;; selected.
@@ -393,36 +393,36 @@ During a selection process, these are the local bindings.
(save-window-excursion
(setq truncate-lines t)
- ;; Find a good starting point
- (reftex-find-start-point
- (point-min) offset reftex-last-data reftex-last-line)
+ ;; Find a good starting point
+ (reftex-find-start-point
+ (point-min) offset reftex-last-data reftex-last-line)
(beginning-of-line 1)
- (set (make-local-variable 'reftex-last-follow-point) (point))
+ (set (make-local-variable 'reftex-last-follow-point) (point))
(unwind-protect
- (progn
- (use-local-map keymap)
- (add-hook 'pre-command-hook 'reftex-select-pre-command-hook nil t)
- (add-hook 'post-command-hook 'reftex-select-post-command-hook nil t)
- (princ prompt)
- (set-marker reftex-recursive-edit-marker (point))
- ;; XEmacs does not run post-command-hook here
- (and (featurep 'xemacs) (run-hooks 'post-command-hook))
- (recursive-edit))
-
- (set-marker reftex-recursive-edit-marker nil)
- (save-excursion
- (set-buffer selection-buffer)
- (use-local-map nil)
- (remove-hook 'pre-command-hook 'reftex-select-pre-command-hook t)
- (remove-hook 'post-command-hook
- 'reftex-select-post-command-hook t))
- ;; Kill the mark overlays
- (mapcar (lambda (c) (delete-overlay (nth 1 c)))
- reftex-select-marked)))))
+ (progn
+ (use-local-map keymap)
+ (add-hook 'pre-command-hook 'reftex-select-pre-command-hook nil t)
+ (add-hook 'post-command-hook 'reftex-select-post-command-hook nil t)
+ (princ prompt)
+ (set-marker reftex-recursive-edit-marker (point))
+ ;; XEmacs does not run post-command-hook here
+ (and (featurep 'xemacs) (run-hooks 'post-command-hook))
+ (recursive-edit))
+
+ (set-marker reftex-recursive-edit-marker nil)
+ (save-excursion
+ (set-buffer selection-buffer)
+ (use-local-map nil)
+ (remove-hook 'pre-command-hook 'reftex-select-pre-command-hook t)
+ (remove-hook 'post-command-hook
+ 'reftex-select-post-command-hook t))
+ ;; Kill the mark overlays
+ (mapcar (lambda (c) (delete-overlay (nth 1 c)))
+ reftex-select-marked)))))
(set (make-local-variable 'reftex-last-line)
- (+ (count-lines (point-min) (point)) (if (bolp) 1 0)))
+ (+ (count-lines (point-min) (point)) (if (bolp) 1 0)))
(set (make-local-variable 'reftex-last-data) last-data)
(reftex-kill-buffer "*RefTeX Help*")
(setq reftex-callback-fwd (not reftex-callback-fwd)) ;; ;-)))
@@ -451,25 +451,25 @@ During a selection process, these are the local bindings.
(let (b e)
(setq data (get-text-property (point) :data))
(setq last-data (or data last-data))
-
+
(when (and data cb-flag
- (not (equal reftex-last-follow-point (point))))
+ (not (equal reftex-last-follow-point (point))))
(setq reftex-last-follow-point (point))
- (funcall call-back data reftex-callback-fwd
- (not reftex-revisit-to-follow)))
+ (funcall call-back data reftex-callback-fwd
+ (not reftex-revisit-to-follow)))
(if data
- (setq b (or (previous-single-property-change
- (1+ (point)) :data)
- (point-min))
- e (or (next-single-property-change
- (point) :data)
- (point-max)))
+ (setq b (or (previous-single-property-change
+ (1+ (point)) :data)
+ (point-min))
+ e (or (next-single-property-change
+ (point) :data)
+ (point-max)))
(setq b (point) e (point)))
(and (memq reftex-highlight-selection '(cursor both))
- (reftex-highlight 1 b e))
+ (reftex-highlight 1 b e))
(if (or (not (pos-visible-in-window-p b))
- (not (pos-visible-in-window-p e)))
- (recenter '(4)))
+ (not (pos-visible-in-window-p e)))
+ (recenter '(4)))
(unless (current-message)
(princ prompt))))
@@ -518,12 +518,12 @@ Useful for large TOC's."
(let (pos)
(cond
((and (local-variable-p 'reftex-last-data (current-buffer))
- reftex-last-data
- (setq pos (text-property-any (point-min) (point-max)
- :data reftex-last-data)))
+ reftex-last-data
+ (setq pos (text-property-any (point-min) (point-max)
+ :data reftex-last-data)))
(goto-char pos))
((and (local-variable-p 'reftex-last-line (current-buffer))
- (integerp reftex-last-line))
+ (integerp reftex-last-line))
(goto-line reftex-last-line))
(t (ding)))))
(defun reftex-select-toggle-follow ()
@@ -542,20 +542,20 @@ Useful for large TOC's."
"Toggle the macro used for referencing the label between \\ref and \\vref."
(interactive)
(setq refstyle
- (cond ((string= refstyle "\\ref") "\\fref")
- ((string= refstyle "\\fref") "\\Fref")
- (t "\\ref")))
+ (cond ((string= refstyle "\\ref") "\\fref")
+ ((string= refstyle "\\fref") "\\Fref")
+ (t "\\ref")))
(force-mode-line-update))
(defun reftex-select-show-insertion-point ()
"Show the point from where selection was started in another window."
(interactive)
(let ((this-window (selected-window)))
(unwind-protect
- (progn
- (switch-to-buffer-other-window
- (marker-buffer reftex-select-return-marker))
- (goto-char (marker-position reftex-select-return-marker))
- (recenter '(4)))
+ (progn
+ (switch-to-buffer-other-window
+ (marker-buffer reftex-select-return-marker))
+ (goto-char (marker-position reftex-select-return-marker))
+ (recenter '(4)))
(select-window this-window))))
(defun reftex-select-callback ()
"Show full context in another window."
@@ -575,16 +575,16 @@ Useful for large TOC's."
(defun reftex-select-read-label ()
"Use minibuffer to read a label to reference, with completion."
(interactive)
- (let ((label (completing-read
- "Label: " (symbol-value reftex-docstruct-symbol)
- nil nil reftex-prefix)))
+ (let ((label (completing-read
+ "Label: " (symbol-value reftex-docstruct-symbol)
+ nil nil reftex-prefix)))
(unless (or (equal label "") (equal label reftex-prefix))
(throw 'myexit label))))
(defun reftex-select-read-cite ()
"Use minibuffer to read a citation key with completion."
(interactive)
(let* ((key (completing-read "Citation key: " found-list))
- (entry (assoc key found-list)))
+ (entry (assoc key found-list)))
(cond
((or (null key) (equal key "")))
(entry
@@ -597,23 +597,23 @@ Useful for large TOC's."
"Mark the entry."
(interactive)
(let* ((data (get-text-property (point) :data))
- boe eoe ovl)
+ boe eoe ovl)
(or data (error "No entry to mark at point"))
(if (assq data reftex-select-marked)
- (error "Entry is already marked"))
+ (error "Entry is already marked"))
(setq boe (or (previous-single-property-change (1+ (point)) :data)
- (point-min))
- eoe (or (next-single-property-change (point) :data) (point-max)))
+ (point-min))
+ eoe (or (next-single-property-change (point) :data) (point-max)))
(setq ovl (make-overlay boe eoe))
(push (list data ovl separator) reftex-select-marked)
(overlay-put ovl 'face reftex-select-mark-face)
(if (featurep 'xemacs)
- ;; before-string property is broken in Emacs
- (overlay-put ovl 'before-string
- (if separator
- (format "*%c%d* " separator
- (length reftex-select-marked))
- (format "*%d* " (length reftex-select-marked)))))
+ ;; before-string property is broken in Emacs
+ (overlay-put ovl 'before-string
+ (if separator
+ (format "*%c%d* " separator
+ (length reftex-select-marked))
+ (format "*%d* " (length reftex-select-marked)))))
(message "Entry has mark no. %d" (length reftex-select-marked))))
(defun reftex-select-mark-comma ()
@@ -633,25 +633,25 @@ Useful for large TOC's."
"Unmark the entry."
(interactive)
(let* ((data (get-text-property (point) :data))
- (cell (assq data reftex-select-marked))
- (ovl (nth 1 cell))
- (cnt 0)
- sep)
+ (cell (assq data reftex-select-marked))
+ (ovl (nth 1 cell))
+ (cnt 0)
+ sep)
(unless cell
(error "No marked entry at point"))
(and ovl (delete-overlay ovl))
(setq reftex-select-marked (delq cell reftex-select-marked))
(if (featurep 'xemacs)
- ;; before-string property is broken in Emacs
- (progn
- (setq cnt (1+ (length reftex-select-marked)))
- (mapcar (lambda (c)
- (setq sep (nth 2 c))
- (overlay-put (nth 1 c) 'before-string
- (if sep
- (format "*%c%d* " sep (decf cnt))
- (format "*%d* " (decf cnt)))))
- reftex-select-marked)))
+ ;; before-string property is broken in Emacs
+ (progn
+ (setq cnt (1+ (length reftex-select-marked)))
+ (mapcar (lambda (c)
+ (setq sep (nth 2 c))
+ (overlay-put (nth 1 c) 'before-string
+ (if sep
+ (format "*%c%d* " sep (decf cnt))
+ (format "*%d* " (decf cnt)))))
+ reftex-select-marked)))
(message "Entry no longer marked")))
(defun reftex-select-help ()
@@ -664,27 +664,27 @@ Useful for large TOC's."
;; Common bindings in reftex-select-label-map and reftex-select-bib-map
(let ((map (make-sparse-keymap)))
(substitute-key-definition
- 'next-line 'reftex-select-next map global-map)
+ 'next-line 'reftex-select-next map global-map)
(substitute-key-definition
- 'previous-line 'reftex-select-previous map global-map)
+ 'previous-line 'reftex-select-previous map global-map)
(substitute-key-definition
'keyboard-quit 'reftex-select-keyboard-quit map global-map)
(substitute-key-definition
- 'newline 'reftex-select-accept map global-map)
+ 'newline 'reftex-select-accept map global-map)
(loop for x in
- '((" " . reftex-select-callback)
- ("n" . reftex-select-next)
- ([(down)] . reftex-select-next)
- ("p" . reftex-select-previous)
- ([(up)] . reftex-select-previous)
- ("f" . reftex-select-toggle-follow)
- ("\C-m" . reftex-select-accept)
- ([(return)] . reftex-select-accept)
- ("q" . reftex-select-quit)
- ("." . reftex-select-show-insertion-point)
- ("?" . reftex-select-help))
- do (define-key map (car x) (cdr x)))
+ '((" " . reftex-select-callback)
+ ("n" . reftex-select-next)
+ ([(down)] . reftex-select-next)
+ ("p" . reftex-select-previous)
+ ([(up)] . reftex-select-previous)
+ ("f" . reftex-select-toggle-follow)
+ ("\C-m" . reftex-select-accept)
+ ([(return)] . reftex-select-accept)
+ ("q" . reftex-select-quit)
+ ("." . reftex-select-show-insertion-point)
+ ("?" . reftex-select-help))
+ do (define-key map (car x) (cdr x)))
;; The mouse-2 binding
(if (featurep 'xemacs)
@@ -693,7 +693,7 @@ Useful for large TOC's."
;; Digit arguments
(loop for key across "0123456789" do
- (define-key map (vector (list key)) 'digit-argument))
+ (define-key map (vector (list key)) 'digit-argument))
(define-key map "-" 'negative-argument)
;; Make two maps
@@ -703,41 +703,40 @@ Useful for large TOC's."
;; Specific bindings in reftex-select-label-map
(loop for key across "aAcgFlrRstx#%" do
(define-key reftex-select-label-map (vector (list key))
- (list 'lambda '()
- "Press `?' during selection to find out about this key."
- '(interactive) (list 'throw '(quote myexit) key))))
+ (list 'lambda '()
+ "Press `?' during selection to find out about this key."
+ '(interactive) (list 'throw '(quote myexit) key))))
(loop for x in
'(("b" . reftex-select-jump-to-previous)
- ("z" . reftex-select-jump)
- ("v" . reftex-select-toggle-varioref)
- ("V" . reftex-select-toggle-fancyref)
- ("m" . reftex-select-mark)
- ("u" . reftex-select-unmark)
- ("," . reftex-select-mark-comma)
- ("-" . reftex-select-mark-to)
- ("+" . reftex-select-mark-and)
- ([(tab)] . reftex-select-read-label)
- ("\C-i" . reftex-select-read-label)
- ("\C-c\C-n" . reftex-select-next-heading)
- ("\C-c\C-p" . reftex-select-previous-heading))
+ ("z" . reftex-select-jump)
+ ("v" . reftex-select-toggle-varioref)
+ ("V" . reftex-select-toggle-fancyref)
+ ("m" . reftex-select-mark)
+ ("u" . reftex-select-unmark)
+ ("," . reftex-select-mark-comma)
+ ("-" . reftex-select-mark-to)
+ ("+" . reftex-select-mark-and)
+ ([(tab)] . reftex-select-read-label)
+ ("\C-i" . reftex-select-read-label)
+ ("\C-c\C-n" . reftex-select-next-heading)
+ ("\C-c\C-p" . reftex-select-previous-heading))
do
(define-key reftex-select-label-map (car x) (cdr x)))
;; Specific bindings in reftex-select-bib-map
(loop for key across "grRaA" do
(define-key reftex-select-bib-map (vector (list key))
- (list 'lambda '()
- "Press `?' during selection to find out about this key."
- '(interactive) (list 'throw '(quote myexit) key))))
+ (list 'lambda '()
+ "Press `?' during selection to find out about this key."
+ '(interactive) (list 'throw '(quote myexit) key))))
(loop for x in
'(("\C-i" . reftex-select-read-cite)
- ([(tab)] . reftex-select-read-cite)
- ("m" . reftex-select-mark)
- ("u" . reftex-select-unmark))
+ ([(tab)] . reftex-select-read-cite)
+ ("m" . reftex-select-mark)
+ ("u" . reftex-select-unmark))
do (define-key reftex-select-bib-map (car x) (cdr x)))
-
-;;; arch-tag: 842078ff-0586-4e0b-957e-536e08218464
+
;;; reftex-sel.el ends here
diff --git a/lisp/textmodes/reftex-toc.el b/lisp/textmodes/reftex-toc.el
index 4d31c8caf19..414760747e3 100644
--- a/lisp/textmodes/reftex-toc.el
+++ b/lisp/textmodes/reftex-toc.el
@@ -1,8 +1,8 @@
;;; reftex-toc.el --- RefTeX's table of contents mode
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -46,23 +46,21 @@ Here are all local bindings.
(interactive)
(kill-all-local-variables)
(setq major-mode 'reftex-toc-mode
- mode-name "TOC")
+ mode-name "TOC")
(use-local-map reftex-toc-map)
- (set (make-local-variable 'transient-mark-mode) t)
- (set (make-local-variable 'zmacs-regions) t)
(set (make-local-variable 'revert-buffer-function) 'reftex-toc-revert)
(set (make-local-variable 'reftex-toc-include-labels-indicator) "")
(set (make-local-variable 'reftex-toc-max-level-indicator)
(if (= reftex-toc-max-level 100)
- "ALL"
- (int-to-string reftex-toc-max-level)))
+ "ALL"
+ (int-to-string reftex-toc-max-level)))
(setq mode-line-format
- (list "---- " 'mode-line-buffer-identification
- " " 'global-mode-string " (" mode-name ")"
- " L<" 'reftex-toc-include-labels-indicator ">"
- " I<" 'reftex-toc-include-index-indicator ">"
- " T<" 'reftex-toc-max-level-indicator ">"
- " -%-"))
+ (list "---- " 'mode-line-buffer-identification
+ " " 'global-mode-string " (" mode-name ")"
+ " L<" 'reftex-toc-include-labels-indicator ">"
+ " I<" 'reftex-toc-include-index-indicator ">"
+ " T<" 'reftex-toc-max-level-indicator ">"
+ " -%-"))
(setq truncate-lines t)
(when (featurep 'xemacs)
;; XEmacs needs the call to make-local-hook
@@ -93,26 +91,20 @@ n / p next-line / previous-line
SPC Show the corresponding location of the LaTeX document.
TAB Goto the location and keep the *toc* window.
RET Goto the location and hide the *toc* window (also on mouse-2).
-< / > Promote / Demote section, or all sections in region.
C-c > Display Index. With prefix arg, restrict index to current section.
q / k Hide/Kill *toc* buffer, return to position of reftex-toc command.
l i c F Toggle display of [l]abels, [i]ndex, [c]ontext, [F]ile borders.
t Change maximum toc depth (e.g. `3 t' hides levels greater than 3).
-f / g Toggle follow mode / Refresh *toc* buffer.
-a / d Toggle auto recenter / Toggle dedicated frame
+f / a / g Toggle follow mode / toggle auto recenter / Refresh *toc* buffer.
r / C-u r Reparse the LaTeX document / Reparse entire LaTeX document.
. In other window, show position from where `reftex-toc' was called.
-M-% Global search and replace to rename label at point.
x Switch to TOC of external document (with LaTeX package `xr').
-z Jump to a specific section (e.g. '3 z' goes to section 3).")
+z Jump to a specific section (e.g. '3 z' goes to section 3")
-(defun reftex-toc (&optional rebuild reuse)
+(defun reftex-toc (&optional rebuild)
"Show the table of contents for the current document.
When called with a raw C-u prefix, rescan the document first."
-;; The REUSE argument means, search all visible frames for a window
-;; displaying the toc window. If yes, reuse this window.
-
(interactive)
(if (or (not (string= reftex-last-toc-master (reftex-TeX-master-file)))
@@ -137,50 +129,40 @@ When called with a raw C-u prefix, rescan the document first."
(reftex-access-scan-info current-prefix-arg)
(let* ((this-buf (current-buffer))
- (docstruct-symbol reftex-docstruct-symbol)
- (xr-data (assq 'xr (symbol-value reftex-docstruct-symbol)))
- (xr-alist (cons (cons "" (buffer-file-name)) (nth 1 xr-data)))
- (here-I-am (if (boundp 'reftex-rebuilding-toc)
- (get 'reftex-toc :reftex-data)
- (car (reftex-where-am-I))))
- (unsplittable (if (fboundp 'frame-property)
- (frame-property (selected-frame) 'unsplittable)
- (frame-parameter (selected-frame) 'unsplittable)))
- offset toc-window)
-
- (if (setq toc-window (get-buffer-window
- "*toc*"
- (if reuse 'visible)))
- (select-window toc-window)
+ (docstruct-symbol reftex-docstruct-symbol)
+ (xr-data (assq 'xr (symbol-value reftex-docstruct-symbol)))
+ (xr-alist (cons (cons "" (buffer-file-name)) (nth 1 xr-data)))
+ (here-I-am (if (boundp 'reftex-rebuilding-toc)
+ (get 'reftex-toc :reftex-data)
+ (car (reftex-where-am-I))))
+ offset)
+
+ (if (get-buffer-window "*toc*")
+ (select-window (get-buffer-window "*toc*"))
(when (or (not reftex-toc-keep-other-windows)
- (< (window-height) (* 2 window-min-height)))
- (delete-other-windows))
+ (< (window-height) (* 2 window-min-height)))
+ (delete-other-windows))
(setq reftex-last-window-width (window-width)
- reftex-last-window-height (window-height)) ; remember
-
- (unless unsplittable
- (if reftex-toc-split-windows-horizontally
- (split-window-horizontally
- (floor (* (window-width)
- reftex-toc-split-windows-fraction)))
- (split-window-vertically
- (floor (* (window-height)
- reftex-toc-split-windows-fraction)))))
+ reftex-last-window-height (window-height)) ; remember
+ (if reftex-toc-split-windows-horizontally
+ (split-window-horizontally
+ (floor (* (frame-width) reftex-toc-split-windows-horizontally-fraction)))
+ (split-window))
(let ((default-major-mode 'reftex-toc-mode))
- (switch-to-buffer "*toc*")))
+ (switch-to-buffer "*toc*")))
(or (eq major-mode 'reftex-toc-mode) (reftex-toc-mode))
(set (make-local-variable 'reftex-docstruct-symbol) docstruct-symbol)
(setq reftex-toc-include-labels-indicator
- (if (eq reftex-toc-include-labels t)
- "ALL"
- reftex-toc-include-labels))
+ (if (eq reftex-toc-include-labels t)
+ "ALL"
+ reftex-toc-include-labels))
(setq reftex-toc-include-index-indicator
- (if (eq reftex-toc-include-index-entries t)
- "ALL"
- reftex-toc-include-index-entries))
+ (if (eq reftex-toc-include-index-entries t)
+ "ALL"
+ reftex-toc-include-index-entries))
(cond
((= (buffer-size) 0)
@@ -200,34 +182,34 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
(put-text-property (point-min) (1+ (point-min)) 'xr-alist xr-alist)
(setq offset
- (reftex-insert-docstruct
- this-buf
- t ; include toc
- reftex-toc-include-labels
- reftex-toc-include-index-entries
- reftex-toc-include-file-boundaries
- reftex-toc-include-context
- nil ; counter
- nil ; commented
- here-I-am
- "" ; xr-prefix
- t ; a toc buffer
- ))
-
+ (reftex-insert-docstruct
+ this-buf
+ t ; include toc
+ reftex-toc-include-labels
+ reftex-toc-include-index-entries
+ reftex-toc-include-file-boundaries
+ reftex-toc-include-context
+ nil ; counter
+ nil ; commented
+ here-I-am
+ "" ; xr-prefix
+ t ; a toc buffer
+ ))
+
(run-hooks 'reftex-display-copied-context-hook)
(message "Building *toc* buffer...done.")
(setq buffer-read-only t))
(t
;; Only compute the offset
(setq offset
- (or (reftex-get-offset this-buf here-I-am
- (if reftex-toc-include-labels " " nil)
- t
- reftex-toc-include-index-entries
- reftex-toc-include-file-boundaries)
- (reftex-last-assoc-before-elt
- 'toc here-I-am
- (symbol-value reftex-docstruct-symbol))))
+ (or (reftex-get-offset this-buf here-I-am
+ (if reftex-toc-include-labels " " nil)
+ t
+ reftex-toc-include-index-entries
+ reftex-toc-include-file-boundaries)
+ (reftex-last-assoc-before-elt
+ 'toc here-I-am
+ (symbol-value reftex-docstruct-symbol))))
(put 'reftex-toc :reftex-line 3)
(goto-line 3)
(beginning-of-line)))
@@ -239,27 +221,27 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
(defun reftex-toc-recenter (&optional arg)
"Display the TOC window and highlight line corresponding to current position."
(interactive "P")
- (let ((buf (current-buffer))
- (frame (selected-frame)))
- (reftex-toc arg t)
+ (let ((buf (current-buffer)))
+ (reftex-toc arg)
(if (= (count-lines 1 (point)) 2)
- (let ((current-prefix-arg nil))
- (select-window (get-buffer-window buf frame))
- (reftex-toc nil t)))
+ (let ((current-prefix-arg nil))
+ (select-window (get-buffer-window buf))
+ (reftex-toc nil)))
(and (> (point) 1)
- (not (get-text-property (point) 'intangible))
- (memq reftex-highlight-selection '(cursor both))
- (reftex-highlight 2
- (or (previous-single-property-change
- (min (point-max) (1+ (point))) :data)
- (point-min))
- (or (next-single-property-change (point) :data)
- (point-max))))
- (select-window (get-buffer-window buf frame))))
+ (not (get-text-property (point) 'intangible))
+ (memq reftex-highlight-selection '(cursor both))
+ (reftex-highlight 2
+ (or (previous-single-property-change
+ (min (point-max) (1+ (point))) :data)
+ (point-min))
+ (or (next-single-property-change (point) :data)
+ (point-max))))
+ (select-window (get-buffer-window buf))))
(defun reftex-toc-pre-command-hook ()
;; used as pre command hook in *toc* buffer
(reftex-unhighlight 0)
+;; (reftex-unhighlight 1) ;; remove highlight on leaving buffer.
)
(defun reftex-toc-post-command-hook ()
@@ -267,52 +249,37 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
(when (get-text-property (point) :data)
(put 'reftex-toc :reftex-data (get-text-property (point) :data))
(and (> (point) 1)
- (not (get-text-property (point) 'intangible))
- (memq reftex-highlight-selection '(cursor both))
- (reftex-highlight 2
- (or (previous-single-property-change (1+ (point)) :data)
- (point-min))
- (or (next-single-property-change (point) :data)
- (point-max)))))
+ (not (get-text-property (point) 'intangible))
+ (memq reftex-highlight-selection '(cursor both))
+ (reftex-highlight 2
+ (or (previous-single-property-change (1+ (point)) :data)
+ (point-min))
+ (or (next-single-property-change (point) :data)
+ (point-max)))))
(if (integerp reftex-toc-follow-mode)
;; remove delayed action
(setq reftex-toc-follow-mode t)
- (and (not (reftex-toc-dframe-p))
- reftex-toc-follow-mode
- (not (equal reftex-last-follow-point (point)))
- ;; show context in other window
- (setq reftex-last-follow-point (point))
- (condition-case nil
- (reftex-toc-visit-location nil (not reftex-revisit-to-follow))
- (error t)))))
+ (and reftex-toc-follow-mode
+ (not (equal reftex-last-follow-point (point)))
+ ;; show context in other window
+ (setq reftex-last-follow-point (point))
+ (condition-case nil
+ (reftex-toc-visit-location nil (not reftex-revisit-to-follow))
+ (error t)))))
(defun reftex-re-enlarge ()
;; Enlarge window to a remembered size.
(if reftex-toc-split-windows-horizontally
(enlarge-window-horizontally
(max 0 (- (or reftex-last-window-width (window-width))
- (window-width))))
+ (window-width))))
(enlarge-window
(max 0 (- (or reftex-last-window-height (window-height))
- (window-height))))))
-
-(defun reftex-toc-dframe-p (&optional frame error)
- ;; Check if FRAME is the dedicated TOC frame.
- ;; If yes, and ERROR is non-nil, throw an error.
- (setq frame (or frame (selected-frame)))
- (let ((res (equal
- (if (fboundp 'frame-property)
- (frame-property frame 'name)
- (frame-parameter frame 'name))
- "RefTeX TOC Frame")))
- (if (and res error)
- (error "This frame is view-only. Use `C-c =' to create toc window for commands."))
- res))
+ (window-height))))))
(defun reftex-toc-show-help ()
"Show a summary of special key bindings."
(interactive)
- (reftex-toc-dframe-p nil 'error)
(with-output-to-temp-buffer "*RefTeX Help*"
(princ reftex-toc-help))
(reftex-enlarge-to-fit "*RefTeX Help*" t)
@@ -323,29 +290,25 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
(defun reftex-toc-next (&optional arg)
"Move to next selectable item."
(interactive "p")
- (if (boundp 'zmacs-region-stays) (setq zmacs-region-stays t))
(setq reftex-callback-fwd t)
(or (eobp) (forward-char 1))
- (goto-char (or (next-single-property-change (point) :data)
- (point))))
+ (goto-char (or (next-single-property-change (point) :data)
+ (point))))
(defun reftex-toc-previous (&optional arg)
"Move to previous selectable item."
(interactive "p")
- (if (boundp 'zmacs-region-stays) (setq zmacs-region-stays t))
(setq reftex-callback-fwd nil)
(goto-char (or (previous-single-property-change (point) :data)
- (point))))
+ (point))))
(defun reftex-toc-next-heading (&optional arg)
"Move to next table of contentes line."
(interactive "p")
- (if (boundp 'zmacs-region-stays) (setq zmacs-region-stays t))
(end-of-line)
(re-search-forward "^ " nil t arg)
(beginning-of-line))
(defun reftex-toc-previous-heading (&optional arg)
"Move to previous table of contentes line."
(interactive "p")
- (if (boundp 'zmacs-region-stays) (setq zmacs-region-stays t))
(re-search-backward "^ " nil t arg))
(defun reftex-toc-toggle-follow ()
"Toggle follow (other window follows with context)."
@@ -356,16 +319,16 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
"Toggle inclusion of file boundaries in *toc* buffer."
(interactive)
(setq reftex-toc-include-file-boundaries
- (not reftex-toc-include-file-boundaries))
+ (not reftex-toc-include-file-boundaries))
(reftex-toc-revert))
(defun reftex-toc-toggle-labels (arg)
"Toggle inclusion of labels in *toc* buffer.
With prefix ARG, prompt for a label type and include only labels of
that specific type."
(interactive "P")
- (setq reftex-toc-include-labels
- (if arg (reftex-query-label-type)
- (not reftex-toc-include-labels)))
+ (setq reftex-toc-include-labels
+ (if arg (reftex-query-label-type)
+ (not reftex-toc-include-labels)))
(reftex-toc-revert))
(defun reftex-toc-toggle-index (arg)
"Toggle inclusion of index in *toc* buffer.
@@ -373,8 +336,8 @@ With prefix arg, prompt for an index tag and include only entries of that
specific index."
(interactive "P")
(setq reftex-toc-include-index-entries
- (if arg (reftex-index-select-tag)
- (not reftex-toc-include-index-entries)))
+ (if arg (reftex-index-select-tag)
+ (not reftex-toc-include-index-entries)))
(reftex-toc-revert))
(defun reftex-toc-toggle-context ()
"Toggle inclusion of label context in *toc* buffer.
@@ -388,57 +351,46 @@ When no prefix is given, set the max level to a large number, so that all
levels are shown. For eaxample, to set the level to 3, type `3 m'."
(interactive "P")
(setq reftex-toc-max-level (if arg
- (prefix-numeric-value arg)
- 100))
+ (prefix-numeric-value arg)
+ 100))
(setq reftex-toc-max-level-indicator
- (if arg (int-to-string reftex-toc-max-level) "ALL"))
+ (if arg (int-to-string reftex-toc-max-level) "ALL"))
(reftex-toc-revert))
(defun reftex-toc-view-line ()
"View document location in other window."
(interactive)
- (reftex-toc-dframe-p nil 'error)
(reftex-toc-visit-location))
(defun reftex-toc-goto-line-and-hide ()
"Go to document location in other window. Hide the *toc* window."
(interactive)
- (reftex-toc-dframe-p nil 'error)
(reftex-toc-visit-location 'hide))
(defun reftex-toc-goto-line ()
"Go to document location in other window. *toc* window stays."
(interactive)
- (reftex-toc-dframe-p nil 'error)
(reftex-toc-visit-location t))
(defun reftex-toc-mouse-goto-line-and-hide (ev)
"Go to document location in other window. Hide the *toc* window."
(interactive "e")
(mouse-set-point ev)
- (reftex-toc-dframe-p nil 'error)
(reftex-toc-visit-location 'hide))
(defun reftex-toc-show-calling-point ()
"Show point where reftex-toc was called from."
(interactive)
- (reftex-toc-dframe-p nil 'error)
(let ((this-window (selected-window)))
(unwind-protect
- (progn
- (switch-to-buffer-other-window
- (marker-buffer reftex-toc-return-marker))
- (goto-char (marker-position reftex-toc-return-marker))
- (recenter '(4)))
+ (progn
+ (switch-to-buffer-other-window
+ (marker-buffer reftex-toc-return-marker))
+ (goto-char (marker-position reftex-toc-return-marker))
+ (recenter '(4)))
(select-window this-window))))
(defun reftex-toc-quit ()
- "Hide the *toc* window and do not move point.
-If the toc window is the only window on the dedicated TOC frame, the frame
-is destroyed."
+ "Hide the *toc* window and do not move point."
(interactive)
- (if (and (one-window-p)
- (reftex-toc-dframe-p)
- (> (length (frame-list)) 1))
- (delete-frame)
- (or (one-window-p) (delete-window))
- (switch-to-buffer (marker-buffer reftex-toc-return-marker))
- (reftex-re-enlarge)
- (goto-char (or (marker-position reftex-toc-return-marker) (point)))))
+ (or (one-window-p) (delete-window))
+ (switch-to-buffer (marker-buffer reftex-toc-return-marker))
+ (reftex-re-enlarge)
+ (goto-char (or (marker-position reftex-toc-return-marker) (point))))
(defun reftex-toc-quit-and-kill ()
"Kill the *toc* buffer."
(interactive)
@@ -452,41 +404,37 @@ is destroyed."
This works just like `reftex-display-index' from a LaTeX buffer.
With prefix arg 1, restrict index to the section at point."
(interactive "P")
- (reftex-toc-dframe-p nil 'error)
(let ((data (get-text-property (point) :data))
- (docstruct (symbol-value reftex-docstruct-symbol))
- bor eor restr)
+ (docstruct (symbol-value reftex-docstruct-symbol))
+ bor eor restr)
(when (equal arg 2)
(setq bor (reftex-last-assoc-before-elt 'toc data docstruct)
- eor (assoc 'toc (cdr (memq bor docstruct)))
- restr (list (nth 6 bor) bor eor)))
+ eor (assoc 'toc (cdr (memq bor docstruct)))
+ restr (list (nth 6 bor) bor eor)))
(reftex-toc-goto-line)
(reftex-display-index (if restr nil arg) restr)))
-
-;; Rescanning the document and rebuilding the TOC buffer.
(defun reftex-toc-rescan (&rest ignore)
"Regenerate the *toc* buffer by reparsing file of section at point."
(interactive)
- (if (and reftex-enable-partial-scans
- (null current-prefix-arg))
+ (if (and reftex-enable-partial-scans
+ (null current-prefix-arg))
(let* ((data (get-text-property (point) :data))
- (what (car data))
- (file (cond ((eq what 'toc) (nth 3 data))
- ((memq what '(eof bof file-error)) (nth 1 data))
- ((stringp what) (nth 3 data))
- ((eq what 'index) (nth 3 data))))
- (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
+ (what (car data))
+ (file (cond ((eq what 'toc) (nth 3 data))
+ ((memq what '(eof bof file-error)) (nth 1 data))
+ ((stringp what) (nth 3 data))
+ ((eq what 'index) (nth 3 data))))
+ (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
(if (not file)
(error "Don't know which file to rescan. Try `C-u r'")
- (put 'reftex-toc :reftex-line line)
+ (put 'reftex-toc :reftex-line line)
(switch-to-buffer-other-window
(reftex-get-file-buffer-force file))
- (setq current-prefix-arg '(4))
- (let ((reftex-rebuilding-toc t))
- (reftex-toc))))
+ (setq current-prefix-arg '(4))
+ (let ((reftex-rebuilding-toc t))
+ (reftex-toc))))
(reftex-toc-Rescan))
(reftex-kill-temporary-buffers))
-
(defun reftex-toc-Rescan (&rest ignore)
"Regenerate the *toc* buffer by reparsing the entire document."
(interactive)
@@ -497,38 +445,28 @@ With prefix arg 1, restrict index to the section at point."
(setq current-prefix-arg '(16))
(let ((reftex-rebuilding-toc t))
(reftex-toc)))
-
(defun reftex-toc-revert (&rest ignore)
"Regenerate the *toc* from the internal lists."
(interactive)
- (let ((unsplittable
- (if (fboundp 'frame-property)
- (frame-property (selected-frame) 'unsplittable)
- (frame-parameter (selected-frame) 'unsplittable)))
- (reftex-rebuilding-toc t))
- (if unsplittable
- (switch-to-buffer
- (reftex-get-file-buffer-force reftex-last-toc-file))
- (switch-to-buffer-other-window
- (reftex-get-file-buffer-force reftex-last-toc-file))))
+ (switch-to-buffer-other-window
+ (reftex-get-file-buffer-force reftex-last-toc-file))
(reftex-erase-buffer "*toc*")
(setq current-prefix-arg nil)
- (reftex-toc t))
-
+ (let ((reftex-rebuilding-toc t))
+ (reftex-toc t)))
(defun reftex-toc-external (&rest ignore)
"Switch to table of contents of an external document."
(interactive)
- (reftex-toc-dframe-p nil 'error)
(let* ((old-buf (current-buffer))
- (xr-alist (get-text-property 1 'xr-alist))
- (xr-index (reftex-select-external-document
- xr-alist 0)))
+ (xr-alist (get-text-property 1 'xr-alist))
+ (xr-index (reftex-select-external-document
+ xr-alist 0)))
(switch-to-buffer-other-window (or (reftex-get-file-buffer-force
- (cdr (nth xr-index xr-alist)))
- (error "Cannot switch document")))
+ (cdr (nth xr-index xr-alist)))
+ (error "Cannot switch document")))
(reftex-toc)
(if (equal old-buf (current-buffer))
- (message "")
+ (message "")
(message "Switched document"))))
(defun reftex-toc-jump (arg)
@@ -541,254 +479,6 @@ Useful for large TOC's."
nil t)
(beginning-of-line))
-;; Promotion/Demotion stuff
-
-(defun reftex-toc-demote (&optional arg)
- "Demote section at point. If region is active, apply to all in region."
- (interactive "p")
- (reftex-toc-do-promote 1))
-(defun reftex-toc-promote (&optional arg)
- "Promote section at point. If region is active, apply to all in region."
- (interactive "p")
- (reftex-toc-do-promote -1))
-(defun reftex-toc-do-promote (delta)
- "Workhorse for reftex-toc-promote and reftex-to-demote.
-Changes the level of sections in the current region, or just the section at
-point."
- ;; We should not do anything unless we are sure this is going to work for
- ;; each section in the region. Therefore we first collect information and
- ;; test.
- (let* ((start-line (+ (count-lines (point-min) (point))
- (if (bolp) 1 0)))
- (mark-line (if (reftex-region-active-p)
- (save-excursion (goto-char (mark))
- (+ (count-lines (point-min) (point))
- (if (bolp) 1 0)))))
- (start-pos (point))
- (pro-or-de (if (> delta 0) "de" "pro"))
- beg end entries data sections nsec mpos msg)
- (setq msg
- (catch 'exit
- (if (reftex-region-active-p)
- ;; A region is dangerous, check if we have a brandnew scan,
- ;; to make sure we are not missing any section statements.
- (if (not (reftex-toc-check-docstruct))
- (reftex-toc-load-all-files-for-promotion) ;; exits
- (setq beg (min (point) (mark))
- end (max (point) (mark))))
- (setq beg (point) end (point)))
- (goto-char beg)
- (while (and (setq data (get-text-property (point) :data))
- (<= (point) end))
- (if (eq (car data) 'toc) (push (cons data (point)) entries))
- (goto-char (or (next-single-property-change (point) :data)
- (point-max))))
- (setq entries (nreverse entries))
- ;; Get the relevant section numbers, for an informative message
- (goto-char start-pos)
- (setq sections (reftex-toc-extract-section-number (car entries)))
- (if (> (setq nsec (length entries)) 1)
- (setq sections
- (concat sections "-"
- (reftex-toc-extract-section-number
- (nth (1- nsec) entries)))))
- ;; Run through the list and prepare the changes.
- (setq entries (mapcar 'reftex-toc-promote-prepare entries))
- ;; Ask for permission
- (if (or (not reftex-toc-confirm-promotion) ; never confirm
- (and (integerp reftex-toc-confirm-promotion) ; confirm if many
- (< nsec reftex-toc-confirm-promotion))
- (yes-or-no-p ; ask
- (format "%s %d toc-entr%s (section%s %s)? "
- (if (< delta 0) "Promote" "Demote")
- nsec
- (if (= 1 nsec) "y" "ies")
- (if (= 1 nsec) "" "s")
- sections)))
- nil ; we have permission, do nothing
- (error "Abort")) ; abort, we don't have permission
- ;; Do the changes
- (mapcar 'reftex-toc-promote-action entries)
- ;; Rescan the document and rebuilt the toc buffer
- (save-window-excursion
- (reftex-toc-Rescan))
- (reftex-toc-restore-region start-line mark-line)
- (message "%d section%s %smoted"
- nsec (if (= 1 nsec) "" "s") pro-or-de)
- nil))
- (if msg (progn (ding) (message msg)))))
-
-(defvar delta)
-(defvar mpos)
-(defvar pro-or-de)
-(defvar start-pos)
-(defvar start-line)
-(defvar mark-line)
-
-(defun reftex-toc-restore-region (point-line &optional mark-line)
- (if mark-line
- (progn (goto-line mark-line)
- (setq mpos (point))))
- (if point-line (goto-line point-line))
- (if mark-line
- (progn
- (set-mark mpos)
- (if (fboundp 'zmacs-activate-region)
- (zmacs-activate-region)
- (setq mark-active t
- deactivate-mark nil)))))
-
-(defun reftex-toc-promote-prepare (x)
- "Look at a toc entry and see if we could pro/demote it.
-Expects the level change DELTA to be dynamically scoped into this function.
-This function prepares everything for the changes, but does not do it.
-The return value is a list with information needed when doing the
-promotion/demotion later."
- (let* ((data (car x))
- (toc-point (cdr x))
- (marker (nth 4 data))
- (literal (nth 7 data))
- (load nil)
- (name nil)
- ;; Here follows some paranoid code to make very sure we are not
- ;; going to break anything
- (name1 ; dummy
- (if (and (markerp marker) (marker-buffer marker))
- ;; Buffer is still live and we have the marker.
- (progn
- (save-excursion
- ;; Goto the buffer and check of section is unchanged
- (set-buffer (marker-buffer marker))
- (goto-char (marker-position marker))
- (if (looking-at (regexp-quote literal))
- ;; OK, get the makro name
- (progn
- (beginning-of-line 1)
- (if (looking-at reftex-section-regexp)
- (setq name (reftex-match-string 2))
- (error "Something is wrong! Contact maintainer!")))
- ;; Section has changed, request scan and loading
- ;; We use a variable to delay until after the safe-exc.
- ;; because otherwise we loose the region.
- (setq load t)))
- ;; Scan document and load all files, this exits command
- (if load (reftex-toc-load-all-files-for-promotion))) ; exits
- ;; We don't have a live marker: scan and load files.
- (reftex-toc-load-all-files-for-promotion)))
- (level (cdr (assoc name reftex-section-levels-all)))
- (dummy (if (not (integerp level))
- (progn
- (goto-char toc-point)
- (error "Cannot %smote special sections" pro-or-de))))
- ;; Delta is dynamically scoped into here...
- (newlevel (if (>= level 0) (+ delta level) (- level delta)))
- (dummy2 (if (or (and (>= level 0) (= newlevel -1))
- (and (< level 0) (= newlevel 0)))
- (error "Cannot %smote \\%s" pro-or-de name)))
- (newname (reftex-toc-newhead-from-alist newlevel name
- reftex-section-levels-all)))
- (if (and name newname)
- (list data name newname toc-point)
- (goto-char toc-point)
- (error "Cannot %smote \\%s" pro-or-de name))))
-
-(defun reftex-toc-promote-action (x)
- "Change the level of a toc entry.
-DELTA and PRO-OR-DE are assumed to be dynamically scoped into this function."
- (let* ((data (car x))
- (name (nth 1 x))
- (newname (nth 2 x))
- (marker (nth 4 data)))
- (save-excursion
- (set-buffer (marker-buffer marker))
- (goto-char (marker-position marker))
- (if (looking-at (concat "\\([ \t]*\\\\\\)" (regexp-quote name)))
- (replace-match (concat "\\1" newname))
- (error "Fatal error during %smotion" pro-or-de)))))
-
-(defun reftex-toc-extract-section-number (entry)
- "Get the numbering of a toc entry, for message purposes."
- (if (string-match "\\s-*\\(\\S-+\\)" (nth 2 (car entry)))
- (match-string 1 (nth 2 (car entry)))
- "?"))
-
-(defun reftex-toc-newhead-from-alist (nlevel head alist)
- "Get new heading with level NLEVEL from ALIST.
-If there are no such entries, return nil.
-If there are several different entries with same new level, choose
-the one with the smallest distance to the assocation of HEAD in the alist.
-This makes it possible for promotion to work several sets of headings,
-if these sets are sorted blocks in the alist."
- (let* ((al alist)
- (ass (assoc head al))
- (pos (length (memq ass al)))
- dist (mindist 1000) newhead)
- (while al
- (if (equal (cdar al) nlevel)
- (progn
- (setq dist (abs (- (length al) pos)))
- (if (< dist mindist)
- (setq newhead (car (car al))
- mindist dist))))
- (setq al (cdr al)))
- newhead))
-
-(defun reftex-toc-check-docstruct ()
- "Check if the current docstruct is fully up to date and all files visited."
- ;; We do this by checking if all sections are on the right position
- (let ((docstruct (symbol-value reftex-docstruct-symbol))
- entry marker empoint)
- (catch 'exit
- (while (setq entry (pop docstruct))
- (if (eq (car entry) 'toc)
- (progn
- (setq marker (nth 4 entry)
- empoint (nth 8 entry))
- (if (not (and (markerp marker)
- (marker-buffer marker)
- (= (marker-position marker) empoint)))
- (throw 'exit nil)))))
- t)))
-
-(defun reftex-toc-load-all-files-for-promotion ()
- "Make sure all files of the document are being visited by buffers,
-and that the scanning info is absolutely up to date.
-We do this by rescanning with reftex-keep-temporary-buffers bound to t.
-The variable PRO-OR-DE is assumed to be dynamically scoped into thes function.
-When finished, we exit with an error message."
- (let ((reftex-keep-temporary-buffers t))
- (reftex-toc-Rescan)
- (reftex-toc-restore-region start-line mark-line)
- (throw 'exit
- (format "TOC had to be updated first. Please check selection and repeat the command." pro-or-de))))
-
-(defun reftex-toc-rename-label ()
- "Rename the currently selected label in the *TOC* buffer.
-This launches a global search and replace in order to rename a label.
-Renaming a label is hardly ever necessary - the only exeption is after
-promotion/demotion in connection with a package like fancyref, where the
-label prefix determines the wording of a reference."
- (interactive)
- (let* ((toc (get-text-property (point) :data))
- (label (car toc)) newlabel)
- (if (not (stringp label))
- (error "This is not a label entry."))
- (setq newlabel (read-string (format "Rename label \"%s\" to:" label)))
- (if (assoc newlabel (symbol-value reftex-docstruct-symbol))
- (if (not (y-or-n-p
- (format "Label '%s' exists. Use anyway? " label)))
- (error "Abort")))
- (save-excursion
- (save-window-excursion
- (reftex-toc-visit-location t)
- (condition-case nil
- (reftex-query-replace-document
- (concat "{" (regexp-quote label) "}")
- (format "{%s}" newlabel))
- (error t))))
- (reftex-toc-rescan)))
-
-
(defun reftex-toc-visit-location (&optional final no-revisit)
;; Visit the tex file corresponding to the toc entry on the current line.
;; If FINAL is t, stay there
@@ -804,9 +494,9 @@ label prefix determines the wording of a reference."
show-window show-buffer match)
(unless toc (error "Don't know which toc line to visit"))
-
+
(cond
-
+
((eq (car toc) 'toc)
;; a toc entry
(setq match (reftex-toc-find-section toc no-revisit)))
@@ -818,19 +508,19 @@ label prefix determines the wording of a reference."
((memq (car toc) '(bof eof))
;; A file entry
(setq match
- (let ((where (car toc))
- (file (nth 1 toc)))
- (if (or (not no-revisit) (reftex-get-buffer-visiting file))
- (progn
- (switch-to-buffer-other-window
- (reftex-get-file-buffer-force file nil))
- (goto-char (if (eq where 'bof) (point-min) (point-max))))
- (message reftex-no-follow-message) nil))))
+ (let ((where (car toc))
+ (file (nth 1 toc)))
+ (if (or (not no-revisit) (reftex-get-buffer-visiting file))
+ (progn
+ (switch-to-buffer-other-window
+ (reftex-get-file-buffer-force file nil))
+ (goto-char (if (eq where 'bof) (point-min) (point-max))))
+ (message reftex-no-follow-message) nil))))
((stringp (car toc))
;; a label
(setq match (reftex-show-label-location toc reftex-callback-fwd
- no-revisit t))))
+ no-revisit t))))
(setq show-window (selected-window)
show-buffer (current-buffer))
@@ -852,46 +542,46 @@ label prefix determines the wording of a reference."
;; If `show-window' is still live, show-buffer is already visible
;; so let's not make it visible in yet-another-window.
(if (window-live-p show-window)
- (set-buffer show-buffer)
+ (select-window show-window)
(switch-to-buffer show-buffer))
(reftex-re-enlarge))
(t nil))))
(defun reftex-toc-find-section (toc &optional no-revisit)
(let* ((file (nth 3 toc))
- (marker (nth 4 toc))
- (level (nth 5 toc))
- (literal (nth 7 toc))
- (emergency-point (nth 8 toc))
- (match
- (cond
- ((and (markerp marker) (marker-buffer marker))
- ;; Buffer is still live and we have the marker. Should be easy.
- (switch-to-buffer-other-window (marker-buffer marker))
- (goto-char (marker-position marker))
- (or (looking-at (regexp-quote literal))
- (looking-at (reftex-make-regexp-allow-for-ctrl-m literal))
- (looking-at (reftex-make-desperate-section-regexp literal))
- (looking-at (concat "\\\\"
- (regexp-quote
- (car
- (rassq level
- reftex-section-levels-all)))
- "[[{]?"))))
- ((or (not no-revisit)
- (reftex-get-buffer-visiting file))
- ;; Marker is lost. Use the backup method.
- (switch-to-buffer-other-window
- (reftex-get-file-buffer-force file nil))
- (goto-char (or emergency-point (point-min)))
- (or (looking-at (regexp-quote literal))
- (let ((len (length literal)))
- (or (reftex-nearest-match (regexp-quote literal) len)
- (reftex-nearest-match
- (reftex-make-regexp-allow-for-ctrl-m literal) len)
- (reftex-nearest-match
- (reftex-make-desperate-section-regexp literal) len)))))
- (t (message reftex-no-follow-message) nil))))
+ (marker (nth 4 toc))
+ (level (nth 5 toc))
+ (literal (nth 7 toc))
+ (emergency-point (nth 8 toc))
+ (match
+ (cond
+ ((and (markerp marker) (marker-buffer marker))
+ ;; Buffer is still live and we have the marker. Should be easy.
+ (switch-to-buffer-other-window (marker-buffer marker))
+ (goto-char (marker-position marker))
+ (or (looking-at (regexp-quote literal))
+ (looking-at (reftex-make-regexp-allow-for-ctrl-m literal))
+ (looking-at (reftex-make-desperate-section-regexp literal))
+ (looking-at (concat "\\\\"
+ (regexp-quote
+ (car
+ (rassq level
+ reftex-section-levels-all)))
+ "[[{]?"))))
+ ((or (not no-revisit)
+ (reftex-get-buffer-visiting file))
+ ;; Marker is lost. Use the backup method.
+ (switch-to-buffer-other-window
+ (reftex-get-file-buffer-force file nil))
+ (goto-char (or emergency-point (point-min)))
+ (or (looking-at (regexp-quote literal))
+ (let ((len (length literal)))
+ (or (reftex-nearest-match (regexp-quote literal) len)
+ (reftex-nearest-match
+ (reftex-make-regexp-allow-for-ctrl-m literal) len)
+ (reftex-nearest-match
+ (reftex-make-desperate-section-regexp literal) len)))))
+ (t (message reftex-no-follow-message) nil))))
(when match
(goto-char (match-beginning 0))
(if (not (= (point) (point-max))) (recenter 1))
@@ -913,17 +603,15 @@ label prefix determines the wording of a reference."
(setq old (substring old (match-end 0))))
new))
-;; Auto recentering of TOC window
(defun reftex-recenter-toc-when-idle ()
(and (> (buffer-size) 5)
reftex-mode
(not (active-minibuffer-window))
(fboundp 'reftex-toc-mode)
- (get-buffer-window "*toc*" 'visible)
+ (get-buffer-window "*toc*")
(string= reftex-last-toc-master (reftex-TeX-master-file))
- (let (current-prefix-arg)
- (reftex-toc-recenter))))
+ (reftex-toc-recenter)))
(defun reftex-toggle-auto-toc-recenter ()
"Toggle the automatic recentering of the toc window.
@@ -932,73 +620,20 @@ section."
(interactive)
(if reftex-toc-auto-recenter-timer
(progn
- (if (featurep 'xemacs)
- (delete-itimer reftex-toc-auto-recenter-timer)
- (cancel-timer reftex-toc-auto-recenter-timer))
- (setq reftex-toc-auto-recenter-timer nil)
- (message "Automatic recentering of toc windwo was turned off"))
+ (if (featurep 'xemacs)
+ (delete-itimer reftex-toc-auto-recenter-timer)
+ (cancel-timer reftex-toc-auto-recenter-timer))
+ (setq reftex-toc-auto-recenter-timer nil)
+ (message "Automatic recentering of toc buffer was turned off"))
(setq reftex-toc-auto-recenter-timer
- (if (featurep 'xemacs)
- (start-itimer "RefTeX Idle Timer for recenter"
- 'reftex-recenter-toc-when-idle
- reftex-idle-time reftex-idle-time t)
- (run-with-idle-timer
- reftex-idle-time t 'reftex-recenter-toc-when-idle)))
+ (if (featurep 'xemacs)
+ (start-itimer "RefTeX Idle Timer for recenter"
+ 'reftex-recenter-toc-when-idle
+ reftex-idle-time reftex-idle-time t)
+ (run-with-idle-timer
+ reftex-idle-time t 'reftex-recenter-toc-when-idle)))
(message "Automatic recentering of toc window was turned on")))
-(defun reftex-toc-toggle-dedicated-frame ()
- "Toggle the display of a separate frame for the TOC.
-This frame is not used by the `reftex-toc' commands, but it is useful to
-always show the current section in connection with the option
-`reftex-auto-recenter-toc'."
- (interactive)
- (catch 'exit
- (let* ((frames (frame-list)) frame
- (get-frame-prop-func (if (fboundp 'frame-property)
- 'frame-property
- 'frame-parameter)))
- (while (setq frame (pop frames))
- (if (equal (funcall get-frame-prop-func frame 'name)
- "RefTeX TOC Frame")
- (progn
- (delete-frame frame)
- (throw 'exit nil))))
- (reftex-make-separate-toc-frame))))
-
-(defun reftex-make-separate-toc-frame ()
- ;; Create a new fame showing only the toc buffer.
- (let ((current-frame (selected-frame))
- (current-window (selected-window))
- (current-toc-window (get-buffer-window "*toc*" 'visible))
- current-toc-frame)
- (if (and current-toc-window
- (not (equal (selected-frame) (window-frame current-toc-window))))
- nil
- (setq current-toc-frame
- (make-frame
- '((name . "RefTeX TOC Frame")
- (height . 20) (width . 60)
- (unsplittable . t)
- (minibuffer . nil)
- (default-toolbar-visible-p . nil)
- (menubar-visible-p . nil)
- (horizontal-scrollbar-visible-p . nil))))
- (select-frame current-toc-frame)
- (switch-to-buffer "*toc*")
- (select-frame current-frame)
- (if (fboundp 'focus-frame) (focus-frame current-frame)
- (if (fboundp 'x-focus-frame) (x-focus-frame current-frame)))
- (select-window current-window)
- (when (eq reftex-auto-recenter-toc 'frame)
- (unless reftex-toc-auto-recenter-timer
- (reftex-toggle-auto-toc-recenter))
- (add-hook 'delete-frame-hook 'reftex-toc-delete-frame-hook)))))
-
-(defun reftex-toc-delete-frame-hook (frame)
- (if (and reftex-toc-auto-recenter-timer
- (reftex-toc-dframe-p frame))
- (progn
- (reftex-toggle-auto-toc-recenter))))
;; Table of Contents map
(define-key reftex-toc-map (if (featurep 'xemacs) [(button2)] [(mouse-2)])
@@ -1010,57 +645,47 @@ always show the current section in connection with the option
'previous-line 'reftex-toc-previous reftex-toc-map global-map)
(loop for x in
- '(("n" . reftex-toc-next)
- ("p" . reftex-toc-previous)
- ("?" . reftex-toc-show-help)
- (" " . reftex-toc-view-line)
- ("\C-m" . reftex-toc-goto-line-and-hide)
- ("\C-i" . reftex-toc-goto-line)
- ("\C-c>" . reftex-toc-display-index)
- ("r" . reftex-toc-rescan)
- ("R" . reftex-toc-Rescan)
- ("g" . revert-buffer)
- ("q" . reftex-toc-quit);
- ("k" . reftex-toc-quit-and-kill)
- ("f" . reftex-toc-toggle-follow);
- ("a" . reftex-toggle-auto-toc-recenter)
- ("d" . reftex-toc-toggle-dedicated-frame)
- ("F" . reftex-toc-toggle-file-boundary)
- ("i" . reftex-toc-toggle-index)
- ("l" . reftex-toc-toggle-labels)
- ("t" . reftex-toc-max-level)
- ("c" . reftex-toc-toggle-context)
-; ("%" . reftex-toc-toggle-commented)
- ("\M-%" . reftex-toc-rename-label)
- ("x" . reftex-toc-external)
- ("z" . reftex-toc-jump)
- ("." . reftex-toc-show-calling-point)
- ("\C-c\C-n" . reftex-toc-next-heading)
- ("\C-c\C-p" . reftex-toc-previous-heading)
- (">" . reftex-toc-demote)
- ("<" . reftex-toc-promote))
+ '(("n" . reftex-toc-next)
+ ("p" . reftex-toc-previous)
+ ("?" . reftex-toc-show-help)
+ (" " . reftex-toc-view-line)
+ ("\C-m" . reftex-toc-goto-line-and-hide)
+ ("\C-i" . reftex-toc-goto-line)
+ ("\C-c>". reftex-toc-display-index)
+ ("r" . reftex-toc-rescan)
+ ("R" . reftex-toc-Rescan)
+ ("g" . revert-buffer)
+ ("q" . reftex-toc-quit)
+ ("k" . reftex-toc-quit-and-kill)
+ ("f" . reftex-toc-toggle-follow)
+ ("a" . reftex-toggle-auto-toc-recenter)
+ ("F" . reftex-toc-toggle-file-boundary)
+ ("i" . reftex-toc-toggle-index)
+ ("l" . reftex-toc-toggle-labels)
+ ("t" . reftex-toc-max-level)
+ ("c" . reftex-toc-toggle-context)
+ ("%" . reftex-toc-toggle-commented)
+ ("x" . reftex-toc-external)
+ ("z" . reftex-toc-jump)
+ ("." . reftex-toc-show-calling-point)
+ ("\C-c\C-n" . reftex-toc-next-heading)
+ ("\C-c\C-p" . reftex-toc-previous-heading))
do (define-key reftex-toc-map (car x) (cdr x)))
(loop for key across "0123456789" do
(define-key reftex-toc-map (vector (list key)) 'digit-argument))
(define-key reftex-toc-map "-" 'negative-argument)
-(easy-menu-define
+(easy-menu-define
reftex-toc-menu reftex-toc-map
"Menu for Table of Contents buffer"
'("TOC"
["Show Location" reftex-toc-view-line t]
["Go To Location" reftex-toc-goto-line t]
["Exit & Go To Location" reftex-toc-goto-line-and-hide t]
- ["Show Calling Point" reftex-toc-show-calling-point t]
+ ["Index" reftex-toc-display-index t]
["Quit" reftex-toc-quit t]
"--"
- ("Edit"
- ["Promote" reftex-toc-promote t]
- ["Demote" reftex-toc-demote t]
- ["Rename Label" reftex-toc-rename-label t])
- "--"
- ["Index" reftex-toc-display-index t]
["External Document TOC " reftex-toc-external t]
"--"
("Update"
@@ -1078,14 +703,10 @@ always show the current section in connection with the option
["Context" reftex-toc-toggle-context :style toggle
:selected reftex-toc-include-context]
"--"
- ["Follow Mode" reftex-toc-toggle-follow :style toggle
- :selected reftex-toc-follow-mode]
- ["Auto Recenter" reftex-toggle-auto-toc-recenter :style toggle
- :selected reftex-toc-auto-recenter-timer]
- ["Dedicated Frame" reftex-toc-toggle-dedicated-frame t])
+ ["Follow Mode" reftex-toc-toggle-follow :style toggle
+ :selected reftex-toc-follow-mode])
"--"
["Help" reftex-toc-show-help t]))
-;;; arch-tag: 92400ce2-0b86-4c89-a606-4ed71acea17e
-;;; reftex-toc.el ends here \ No newline at end of file
+;;; reftex-toc.el ends here
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
index 53357342c51..91deb85056a 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -1,8 +1,8 @@
;;; reftex-vars.el --- configuration variables for RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; This file is part of GNU Emacs.
@@ -13,11 +13,11 @@
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING If not, write to the
+;; along with GNU Emacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
@@ -93,28 +93,28 @@
(LaTeX "LaTeX default environments"
(("section" ?s "%S" "~\\ref{%s}" (nil . t)
(regexp "parts?" "chapters?" "chap\\." "sections?" "sect?\\."
- "paragraphs?" "par\\."
- "\\\\S" "\247" "Teile?" "Kapitel" "Kap\\." "Abschnitte?"
- "appendi\\(x\\|ces\\)" "App\\." "Anh\"?ange?" "Anh\\."))
+ "paragraphs?" "par\\."
+ "\\\\S" "\247" "Teile?" "Kapitel" "Kap\\." "Abschnitte?"
+ "appendi\\(x\\|ces\\)" "App\\." "Anh\"?ange?" "Anh\\."))
("enumerate" ?i "item:" "~\\ref{%s}" item
(regexp "items?" "Punkte?"))
-
+
("equation" ?e "eq:" "~(\\ref{%s})" t
(regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?" "Gl\\."))
("eqnarray" ?e "eq:" nil eqnarray-like)
-
+
("figure" ?f "fig:" "~\\ref{%s}" caption
(regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\."))
("figure*" ?f nil nil caption)
-
+
("table" ?t "tab:" "~\\ref{%s}" caption
(regexp "tables?" "tab\\." "Tabellen?"))
("table*" ?t nil nil caption)
-
+
("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2
(regexp "footnotes?" "Fussnoten?"))
-
+
("any" ?\ " " "~\\ref{%s}" nil)
;; The label macro is hard coded, but it *could* be defined like this:
@@ -141,19 +141,6 @@ distribution. Mixed-case symbols are convenience aliases.")
(?A . "\\citeauthor*{%l}")
(?y . "\\citeyear{%l}")
(?n . "\\nocite{%l}")))
- (amsrefs "The AMSRefs package"
- ((?\C-m . "\\cite{%l}")
- (?p . "\\cite{%l}")
- (?P . "\\cites{%l}")
- (?t . "\\ocite{%l}")
- (?T . "\\ocites{%l}")
- (?y . "\\ycite{%l}")
- (?Y . "\\ycites{%l}")
- (?a . "\\citeauthor{%l}")
- (?A . "\\citeauthory{%l}")
- (?f . "\\fullcite{%l}")
- (?F . "\\fullocite{%l}")
- (?n . "\\nocite{%l}")))
(bibentry "The Bibentry package"
"\\bibentry{%l}")
(harvard "The Harvard package"
@@ -191,20 +178,20 @@ The following conventions are valid for all alist entries:
`?t' should point to a textual citation (citation as a noun).
`?p' should point to a parenthetical citation.")
-(defconst reftex-index-macros-builtin
+(defconst reftex-index-macros-builtin
'((default "Default \\index and \\glossary macros"
(("\\index{*}" "idx" ?i "" nil t)
("\\glossary{*}" "glo" ?g "" nil t)))
(multind "The multind.sty package"
(("\\index{}{*}" 1 ?i "" nil t)))
(index "The index.sty package"
- (("\\index[]{*}" 1 ?i "" nil t)
- ("\\index*[]{*}" 1 ?I "" nil nil)))
+ (("\\index[]{*}" 1 ?i "" nil t)
+ ("\\index*[]{*}" 1 ?I "" nil nil)))
(Index-Shortcut "index.sty with \\shortindexingon"
(("\\index[]{*}" 1 ?i "" nil t)
- ("\\index*[]{*}" 1 ?I "" nil nil)
- ("^[]{*}" 1 ?^ "" texmathp t)
- ("_[]{*}" 1 ?_ "" texmathp nil))))
+ ("\\index*[]{*}" 1 ?I "" nil nil)
+ ("^[]{*}" 1 ?^ "" texmathp t)
+ ("_[]{*}" 1 ?_ "" texmathp nil))))
"Builtin stuff for reftex-index-macros.
Lower-case symbols correspond to a style file of the same name in the LaTeX
distribution. Mixed-case symbols are convenience aliases.")
@@ -215,8 +202,8 @@ distribution. Mixed-case symbols are convenience aliases.")
(defgroup reftex nil
"LaTeX label and citation support."
:tag "RefTeX"
- :link '(url-link :tag "Home Page"
- "http://zon.astro.uva.nl/~dominik/Tools/")
+ :link '(url-link :tag "Home Page"
+ "http://strw.leidenuniv.nl/~dominik/Tools/")
:link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el")
:link '(custom-manual "(reftex)Top")
:prefix "reftex-"
@@ -253,6 +240,7 @@ needs to be larger."
("subsubsection" . 4)
("paragraph" . 5)
("subparagraph" . 6)
+ ("subsubparagraph" . 7)
("addchap" . -1) ; KOMA-Script
("addsec" . -2) ; KOMA-Script
;;; ("minisec" . -7) ; KOMA-Script
@@ -263,19 +251,14 @@ The car of each cons cell is the name of the section macro (without
the backslash). The cdr is a number indicating its level. A negative
level means the same level as the positive value, but the section will
never get a number. The cdr may also be a function which will be called
-to after the section-re matched to determine the level.
-This list is also used for promotion and demption of sectioning commands.
-If you are using a document class which has several sets of sectioning
-commands, promotion only works correctly if this list is sorted first
-by set, then within each set by level. The promotion commands always
-select the nearest entry with the correct new level."
+to after the section-re matched to determine the level."
:group 'reftex-table-of-contents-browser
:set 'reftex-set-dirty
:type '(repeat
(cons (string :tag "sectioning macro" "")
- (choice
- (number :tag "level " 0)
- (symbol :tag "function " my-level-func)))))
+ (choice
+ (number :tag "level " 0)
+ (symbol :tag "function " my-level-func)))))
(defcustom reftex-toc-max-level 100
"*The maximum level of toc entries which will be included in the TOC.
@@ -295,43 +278,27 @@ and also do not show up in chapter numbers."
:type 'boolean)
-(defcustom reftex-auto-recenter-toc 'frame
- "*Non-nil means, turn automatic recentering of *TOC* window on.
-When active, the *TOC* window will always show the section you
+(defcustom reftex-auto-recenter-toc nil
+ "*Non-nil means, initially turn automatic recentering of toc on.
+When active, the *TOC* buffer will always show the section you
are currently working in. Recentering happens whenever Emacs is idle for
more than `reftex-idle-time' seconds.
-
-Value t means, turn on immediately when RefTeX gets started. Then,
-recentering will work for any toc window created during the session.
-
-Value 'frame (the default) means, turn automatic recentering on only while the
-dedicated TOC frame does exist, and do the recentering only in that frame. So
-when creating that frame (with \"d\" key in an ordinary TOC window), the
-automatic recentering is turned on. When the frame gets destroyed, automatic
-recentering is turned off again.
-
-This feature can be turned on and off from the menu
-\(Ref->Options)."
+This feature can be turned on and off from the menu
+(Ref->Options)."
:group 'reftex-table-of-contents-browser
- :type '(choice
- (const :tag "never" nil)
- (const :tag "always" t)
- (const :tag "in dedicated frame only" frame)))
-
+ :type 'boolean)
+
(defcustom reftex-toc-split-windows-horizontally nil
"*Non-nil means, create TOC window by splitting window horizontally."
:group 'reftex-table-of-contents-browser
:type 'boolean)
-(defcustom reftex-toc-split-windows-fraction .3
- "*Fraction of the width or height of the frame to be used for TOC window.
-See also `reftex-toc-split-windows-horizontally'."
+(defcustom reftex-toc-split-windows-horizontally-fraction .5
+ "*Fraction of the horizontal width of the frame to be used for TOC window.
+Only relevant when `reftex-toc-split-windows-horizontally' is non-nil."
:group 'reftex-table-of-contents-browser
:type 'number)
-(defvar reftex-toc-split-windows-horizontally-fraction 0.5
- "This variable is obsolete, use `reftex-toc-split-windows-fraction' instead.")
-
(defcustom reftex-toc-keep-other-windows t
"*Non-nil means, split the selected window to display the *toc* buffer.
This helps to keep the window configuration, but makes the *toc* small.
@@ -358,17 +325,6 @@ This flag can be toggled from within the *toc* buffer with the `i' key."
:group 'reftex-table-of-contents-browser
:type 'boolean)
-(defcustom reftex-toc-confirm-promotion 2
- "*Non-nil means, promotion/demotion commands first prompt for confirmation.
-When nil, the command is executed immediately. When this is an integer
-N, ask for confirmation only if N or more section commands are going to be
-changed."
- :group 'reftex-table-of-contents-browser
- :type '(choice
- (const :tag "Never" nil)
- (const :tag "Always" t)
- (number :tag "When more than N sections" :value 2)))
-
(defcustom reftex-toc-include-context nil
"*Non-nil means, include context with labels in the *toc* buffer.
Context will only be shown when labels are visible as well.
@@ -407,22 +363,22 @@ When nil, follow-mode will be suspended for stuff in unvisited files."
(defcustom reftex-default-label-alist-entries
'(amsmath endnotes fancybox floatfig longtable picinpar
- rotating sidecap subfigure supertab wrapfig LaTeX)
+ rotating sidecap subfigure supertab wrapfig LaTeX)
"Default label alist specifications. LaTeX should always be the last entry.
-The value of this variable is a list of symbols with associations in the
+The value of this variable is a list of symbols with associations in the
constant `reftex-label-alist-builtin'. Check that constant for a full list
of options."
:group 'reftex-defining-label-environments
:set 'reftex-set-dirty
:type `(set
- :indent 4
+ :indent 4
:inline t
:greedy t
,@(mapcar
- (lambda (x)
- (list 'const :tag (concat (symbol-name (nth 0 x))
- ": " (nth 1 x))
- (nth 0 x)))
+ (lambda (x)
+ (list 'const :tag (concat (symbol-name (nth 0 x))
+ ": " (nth 1 x))
+ (nth 0 x)))
reftex-label-alist-builtin)))
(defcustom reftex-label-alist nil
@@ -570,10 +526,10 @@ list. However, builtin defaults should normally be set with the variable
(choice :tag "Environment or \\macro "
(const :tag "Ignore, just use typekey" nil)
(string "")
- (symbol :tag "Special parser" my-parser))
- (choice :tag "Type specification "
- (const :tag "unspecified, like in \\label" nil)
- (character :tag "Char " ?a))
+ (symbol :tag "Special parser" my-parser))
+ (choice :tag "Type specification "
+ (const :tag "unspecified, like in \\label" nil)
+ (character :tag "Char " ?a))
(choice :tag "Label prefix string "
(const :tag "Default" nil)
(string :tag "String" "lab:"))
@@ -581,44 +537,44 @@ list. However, builtin defaults should normally be set with the variable
(const :tag "Default" nil)
(string :tag "String" "~\\ref{%s}"))
(choice :tag "Context method "
- (const :tag "Default position" t)
- (const :tag "After label" nil)
- (number :tag "Macro arg nr" 1)
- (regexp :tag "Regexp" "")
- (const :tag "Caption in float" caption)
- (const :tag "Item in list" item)
- (const :tag "Eqnarray-like" eqnarray-like)
- (const :tag "Alignat-like" alignat-like)
- (symbol :tag "Function" my-func))
- (repeat :tag "Magic words" :extra-offset 2 (string))
- (option (choice :tag "Make TOC entry "
- (const :tag "No entry" nil)
- (integer :tag "Level" :value -3))))
+ (const :tag "Default position" t)
+ (const :tag "After label" nil)
+ (number :tag "Macro arg nr" 1)
+ (regexp :tag "Regexp" "")
+ (const :tag "Caption in float" caption)
+ (const :tag "Item in list" item)
+ (const :tag "Eqnarray-like" eqnarray-like)
+ (const :tag "Alignat-like" alignat-like)
+ (symbol :tag "Function" my-func))
+ (repeat :tag "Magic words" :extra-offset 2 (string))
+ (option (choice :tag "Make TOC entry "
+ (const :tag "No entry" nil)
+ (integer :tag "Level" :value -3))))
(choice
:tag "Package"
:value AMSTeX
,@(mapcar
- (lambda (x)
- (list 'const :tag (concat (symbol-name (nth 0 x)))
- (nth 0 x)))
- reftex-label-alist-builtin)))))
+ (lambda (x)
+ (list 'const :tag (concat (symbol-name (nth 0 x)))
+ (nth 0 x)))
+ reftex-label-alist-builtin)))))
(defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:"))
"Prefixes for section labels.
When the label prefix given in an entry in `reftex-label-alist' contains `%S',
-this list is used to determine the correct prefix string depending on the
+this list is used to determine the correct prefix string depending on the
current section level.
The list is an alist, with each entry of the form (KEY . PREFIX)
Possible keys are sectioning macro names like `chapter', section levels
-\(as given in `reftex-section-levels'), and t for the default."
+(as given in `reftex-section-levels'), and t for the default."
:group 'reftex-defining-label-environments
:type '(repeat
- (cons :value (0 . "")
- (choice
- (string :tag "macro name")
- (integer :tag "section level")
- (const :tag "default" t))
- (string :tag "Prefix"))))
+ (cons :value (0 . "")
+ (choice
+ (string :tag "macro name")
+ (integer :tag "section level")
+ (const :tag "default" t))
+ (string :tag "Prefix"))))
(defcustom reftex-default-context-regexps
'((caption . "\\\\\\(rot\\)?caption\\*?[[{]")
@@ -631,7 +587,7 @@ the final regular expression - so %s will be replaced with the environment
or macro."
:group 'reftex-defining-label-environments
:type '(repeat (cons (symbol) (regexp))))
-
+
(defcustom reftex-special-environment-functions nil
"List of functions to be called when trying to figure out current environment.
These are special functions to detect \"environments\" which do not
@@ -677,7 +633,7 @@ And here is the setup for RefTeX:
(let ((pos (point)) p1)
(save-excursion
;; Search for any of the linguex item macros at the beginning of a line
- (if (re-search-backward
+ (if (re-search-backward
\"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t)
(progn
(setq p1 (match-beginning 1))
@@ -687,7 +643,7 @@ And here is the setup for RefTeX:
nil
;; OK, we got it
(cons \"linguex\" p1)))
- ;; Return nil for not found
+ ;; Return nil for not found
nil))))
3. Tell RefTeX to use this function
@@ -734,7 +690,7 @@ indicating the label types for which it should be true. The strings work
like character classes.
Thus, the combination may be set differently for each label type. The
default settings \"s\" and \"sft\" mean: Derive section labels from headings
-\(with confirmation). Prompt for figure and table labels. Use simple labels
+(with confirmation). Prompt for figure and table labels. Use simple labels
without confirmation for everything else.
The available label types are: s (section), f (figure), t (table), i (item),
e (equation), n (footnote), N (endnote), plus any definitions in
@@ -795,7 +751,7 @@ DOWNCASE t: Downcase words before using them."
(repeat :tag "Ignore words"
:entry-format " %i %d %v"
(string :tag ""))
- (option (boolean :tag "Downcase words "))))
+ (option (boolean :tag "Downcase words "))))
(defcustom reftex-label-illegal-re "[^-a-zA-Z0-9_+=:;,.]"
"Regexp matching characters not legal in labels."
@@ -871,7 +827,7 @@ get one interactively during selection from the label menu."
(choice :tag "Hide short context " ,@reftex-tmp)
(choice :tag "Follow context in other window " ,@reftex-tmp)
(choice :tag "Show commented labels " ,@reftex-tmp)
- (choice :tag "Obsolete flag, Don't use. " ,@reftex-tmp)
+ (choice :tag "Obsolete flag. Don't use. " ,@reftex-tmp)
(choice :tag "Show begin/end of included files" ,@reftex-tmp)))
(defcustom reftex-multiref-punctuation '((?, . ", ") (?- . "--") (?+ . " and "))
@@ -886,7 +842,7 @@ This is used to string together whole reference sets, like
(defcustom reftex-vref-is-default nil
"*Non-nil means, the varioref macro \\vref is used as default.
-In the selection buffer, the `v' key toggles the reference macro between
+In the selection buffer, the `v' key toggles the reference macro between
`\\ref' and `\\vref'. The value of this variable determines the default
which is active when entering the selection process.
Instead of nil or t, this may also be a string of type letters indicating
@@ -896,7 +852,7 @@ the label types for which it should be true."
(defcustom reftex-fref-is-default nil
"*Non-nil means, the fancyref macro \\fref is used as default.
-In the selection buffer, the `V' key toggles the reference macro between
+In the selection buffer, the `V' key toggles the reference macro between
`\\ref', `\\fref' and `\\Fref'. The value of this variable determines
the default which is active when entering the selection process.
Instead of nil or t, this may also be a string of type letters indicating
@@ -920,7 +876,7 @@ a label type. If you set this variable to nil, RefTeX will always prompt."
(defcustom reftex-format-ref-function nil
"Function which produces the string to insert as a reference.
-Normally should be nil, because the format to insert a reference can
+Normally should be nil, because the format to insert a reference can
already be specified in `reftex-label-alist'.
This hook also is used by the special commands to insert `\\vref' and `\\fref'
references, so even if you set this, your setting will be ignored by
@@ -1001,13 +957,13 @@ It is also possible to access all other BibTeX database fields:
%i institution %j journal %k key %m month
%n number %o organization %p pages %P first page
%r address %s school %u publisher %t title
-%v volume %y year
+%v volume %y year
%B booktitle, abbreviated %T title, abbreviated
Usually, only %l is needed. The other stuff is mainly for the echo area
display, and for (setq reftex-comment-citations t).
-%< as a special operator kills punctuation and space around it after the
+%< as a special operator kills punctuation and space around it after the
string has been formatted.
Beware that all this only works with BibTeX database files. When
@@ -1019,7 +975,7 @@ will be prompted for a character to select one of the possible format
strings.
In order to configure this variable, you can either set
`reftex-cite-format' directly yourself or set it to the SYMBOL of one of
-the predefined styles. The predefined symbols are those which have an
+the predefined styles. The predefined symbols are those which have an
association in the constant `reftex-cite-format-builtin'.
E.g.: (setq reftex-cite-format 'natbib)"
:group 'reftex-citation-support
@@ -1077,7 +1033,7 @@ This is a list of 3 strings.
(defcustom reftex-format-cite-function nil
"Function which produces the string to insert as a citation.
-Normally should be nil, because the format to insert a reference can
+Normally should be nil, because the format to insert a reference can
already be specified in `reftex-cite-format'.
The function will be called with two arguments, the CITATION KEY and the
DEFAULT FORMAT, which is taken from `reftex-cite-format'. The function
@@ -1110,16 +1066,16 @@ you will be asked for confirmation to turn it on and rescan the document."
These correspond to the makeindex keywords LEVEL ENCAP ACTUAL QUOTE ESCAPE."
:group 'reftex-index-support
:type '(list
- (string :tag "LEVEL separator")
- (string :tag "ENCAP char ")
- (string :tag "ACTUAL char ")
- (string :tag "QUOTE char ")
- (string :tag "ESCAPE char ")))
+ (string :tag "LEVEL separator")
+ (string :tag "ENCAP char ")
+ (string :tag "ACTUAL char ")
+ (string :tag "QUOTE char ")
+ (string :tag "ESCAPE char ")))
(defcustom reftex-index-macros nil
"Macros which define index entries. The structure is
-\(MACRO INDEX-TAG KEY PREFIX EXCLUDE REPEAT)
+(MACRO INDEX-TAG KEY PREFIX EXCLUDE REPEAT)
MACRO is the macro. Arguments should be denoted by empty braces like
\\index[]{*}. Use square brackets to denote optional arguments. The star
@@ -1160,43 +1116,43 @@ package here."
:group 'reftex-index-support
:set 'reftex-set-dirty
:type `(list
- (repeat
- :inline t
- (list :value ("" "idx" ?a "" nil)
- (string :tag "Macro with args")
- (choice :tag "Index Tag "
- (string)
- (integer :tag "Macro arg Nr" :value 1))
- (character :tag "Access Key ")
- (string :tag "Key Prefix ")
- (symbol :tag "Exclusion hook ")
+ (repeat
+ :inline t
+ (list :value ("" "idx" ?a "" nil)
+ (string :tag "Macro with args")
+ (choice :tag "Index Tag "
+ (string)
+ (integer :tag "Macro arg Nr" :value 1))
+ (character :tag "Access Key ")
+ (string :tag "Key Prefix ")
+ (symbol :tag "Exclusion hook ")
(boolean :tag "Repeat Outside ")))
- (option
- :tag "Package:"
- (choice :tag "Package"
- :value index
- ,@(mapcar
- (lambda (x)
- (list 'const :tag (concat (symbol-name (nth 0 x))
- ": " (nth 1 x))
- (nth 0 x)))
- reftex-index-macros-builtin)))))
+ (option
+ :tag "Package:"
+ (choice :tag "Package"
+ :value index
+ ,@(mapcar
+ (lambda (x)
+ (list 'const :tag (concat (symbol-name (nth 0 x))
+ ": " (nth 1 x))
+ (nth 0 x)))
+ reftex-index-macros-builtin)))))
(defcustom reftex-index-default-macro '(?i "idx")
"The default index macro for \\[reftex-index-selection-or-word].
This is a list with (MACRO-KEY DEFAULT-TAG).
MACRO-KEY: Character identifying an index macro - see `reftex-index-macros'.
-DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument.
+DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument.
When this is nil and a TAG is needed, RefTeX will ask for it.
When this is the empty string and the TAG argument of the index
macro is optional, the TAG argument will be omitted."
:group 'reftex-index-support
:type '(list
- (character :tag "Character identifying default macro")
- (choice :tag "Default index tag "
- (const nil)
- (string))))
+ (character :tag "Character identifying default macro")
+ (choice :tag "Default index tag "
+ (const nil)
+ (string))))
(defcustom reftex-index-default-tag "idx"
"Default index tag.
@@ -1210,16 +1166,16 @@ nil Do not provide a default index
last The last used index tag will be offered as default."
:group 'reftex-index-support
:type '(choice
- (const :tag "no default" nil)
- (const :tag "last used " 'last)
- (string :tag "index tag " "idx")))
+ (const :tag "no default" nil)
+ (const :tag "last used " 'last)
+ (string :tag "index tag " "idx")))
(defcustom reftex-index-math-format "$%s$"
"Format of index entries when copied from inside math mode.
When `reftex-index-selection-or-word' is executed inside TeX math mode,
the index key copied from the buffer is processed with this format string
through the `format' function. This can be used to add the math delimiters
-\(e.g. `$') to the string.
+(e.g. `$') to the string.
Requires the `texmathp.el' library which is part of AUCTeX."
:group 'reftex-index-support
:type 'string)
@@ -1273,8 +1229,8 @@ at one of these points, no word boundary is required there."
If the function returns nil, the current match is skipped."
:group 'reftex-index-support
:type '(choice
- (const :tag "No verification" nil)
- (function)))
+ (const :tag "No verification" nil)
+ (function)))
(defcustom reftex-index-phrases-skip-indexed-matches nil
"*Non-nil means, skip matches which appear to be indexed already.
@@ -1282,7 +1238,7 @@ When doing global indexing from the phrases buffer, searches for some
phrases may match at places where that phrase was already indexed. In
particular when indexing an already processed document again, this
will even be the norm. When this variable is non-nil, RefTeX checks if
-the match is inside an index macro argument, or if an index macro is directly
+the match is an index macro argument, or if an index macro is directly
before or after the phrase. If that is the case, that match will
be ignored."
:group 'reftex-index-support
@@ -1326,7 +1282,7 @@ to that section."
(defcustom reftex-index-include-context nil
"*Non-nil means, display the index definition context in the index buffer.
-This flag may also be toggled from the index buffer with the `c' key."
+This flag may also be toggled from the index buffer with the `c' key."
:group 'reftex-index-support
:type 'boolean)
@@ -1349,9 +1305,9 @@ This is used when `reftex-view-crossref' is called with point in an
argument of a macro. Note that crossref viewing for citations,
references (both ways) and index entries is hard-coded. This variable
is only to configure additional structures for which crossreference
-viewing can be useful. Each entry has the structure
+viewing can be useful. Each entry has the structure
-\(MACRO-RE SEARCH-RE HIGHLIGHT).
+(MACRO-RE SEARCH-RE HIGHLIGHT).
MACRO-RE is matched against the macro. SEARCH-RE is the regexp used
to search for cross references. `%s' in this regexp is replaced with
@@ -1359,8 +1315,8 @@ with the macro argument at point. HIGHLIGHT is an integer indicating
which subgroup of the match should be highlighted."
:group 'reftex-viewing-cross-references
:type '(repeat (group (regexp :tag "Macro Regexp ")
- (string :tag "Search Regexp ")
- (integer :tag "Highlight Group"))))
+ (string :tag "Search Regexp ")
+ (integer :tag "Highlight Group"))))
(defcustom reftex-auto-view-crossref t
"*Non-nil means, initially turn automatic viewing of crossref info on.
@@ -1370,12 +1326,12 @@ argument of a \\ref or \\cite macro, and no other message is being
displayed, the echo area will display information about that cross
reference. You can also set the variable to the symbol `window'. In
this case a small temporary window is used for the display.
-This feature can be turned on and off from the menu
-\(Ref->Options)."
+This feature can be turned on and off from the menu
+(Ref->Options)."
:group 'reftex-viewing-cross-references
:type '(choice (const :tag "off" nil)
- (const :tag "in Echo Area" t)
- (const :tag "in Other Window" window)))
+ (const :tag "in Echo Area" t)
+ (const :tag "in Other Window" window)))
(defcustom reftex-idle-time 1.2
"*Time (secs) Emacs has to be idle before automatic crossref display is done.
@@ -1416,7 +1372,7 @@ Several entries are possible.
- If an element is the name of an environment variable, its content is used.
- If an element starts with an exclamation mark, it is used as a command
to retrieve the path. A typical command with the kpathsearch library would
- be `!kpsewhich -show-path=.tex'.
+ be `!kpsewhich -show-path=.tex'.
- Otherwise the element itself is interpreted as a path.
Multiple directories can be separated by the system dependent `path-separator'.
Directories ending in `//' or `!!' will be expanded recursively.
@@ -1431,7 +1387,7 @@ Several entries are possible.
- If an element is the name of an environment variable, its content is used.
- If an element starts with an exclamation mark, it is used as a command
to retrieve the path. A typical command with the kpathsearch library would
- be `!kpsewhich -show-path=.bib'.
+ be `!kpsewhich -show-path=.bib'.
- Otherwise the element itself is interpreted as a path.
Multiple directories can be separated by the system dependent `path-separator'.
Directories ending in `//' or `!!' will be expanded recursively.
@@ -1442,7 +1398,7 @@ See also `reftex-use-external-file-finders'."
:type '(repeat (string :tag "Specification")))
(defcustom reftex-file-extensions '(("tex" . (".tex" ".ltx"))
- ("bib" . (".bib")))
+ ("bib" . (".bib")))
"*Association list with file extensions for different file types.
This is a list of items, each item is like: (TYPE . (DEF-EXT OTHER-EXT ...))
@@ -1457,7 +1413,7 @@ If you are using AUCTeX, you also need to add new extensions to
TeX-file-extensions."
:group 'reftex-finding-files
:type '(repeat (cons (string :tag "File type")
- (repeat (string :tag "Extension")))))
+ (repeat (string :tag "Extension")))))
(defcustom reftex-search-unrecursed-path-first t
"*Non-nil means, search all specified directories before trying recursion.
@@ -1476,13 +1432,13 @@ Normally, RefTeX searches the paths given in the environment variables
TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files.
With this option turned on, it calls an external program specified in the
option `reftex-external-file-finders' instead. As a side effect,
-the variables `reftex-texpath-environment-variables' and
+the variables `reftex-texpath-environment-variables' and
`reftex-bibpath-environment-variables' will be ignored."
:group 'reftex-finding-files
:type 'boolean)
(defcustom reftex-external-file-finders '(("tex" . "kpsewhich -format=.tex %f")
- ("bib" . "kpsewhich -format=.bib %f"))
+ ("bib" . "kpsewhich -format=.bib %f"))
"*Association list with external programs to call for finding files.
Each entry is a cons cell (TYPE . PROGRAM).
TYPE is either \"tex\" or \"bib\". PROGRAM is the external program to use with
@@ -1491,7 +1447,7 @@ Note that these commands will be executed directly, not via a shell.
Only relevant when `reftex-use-external-file-finders' is non-nil."
:group 'reftex-finding-files
:type '(repeat (cons (string :tag "File type")
- (string :tag "Program "))))
+ (string :tag "Program "))))
;; Tuning the parser ----------------------------------------------------
@@ -1567,7 +1523,7 @@ list."
(defcustom reftex-save-parse-info nil
"*Non-nil means, save information gathered with parsing in a file.
The file MASTER.rel in the same directory as MASTER.tex is used to save the
-information. When this variable is t,
+information. When this variable is t,
- accessing the parsing information for the first time in an editing session
will read that file (if available) instead of parsing the document.
- exiting Emacs or killing a buffer in reftex-mode will cause a new version
@@ -1651,10 +1607,10 @@ Changing this variable requires to rebuild the selection and *toc* buffers
to become effective (keys `g' or `r')."
:group 'reftex-fontification-configurations
:type '(choice
- (const :tag "Never" nil)
- (const :tag "Cursor driven" cursor)
- (const :tag "Mouse driven" mouse)
- (const :tag "Mouse and Cursor driven." both)))
+ (const :tag "Never" nil)
+ (const :tag "Cursor driven" cursor)
+ (const :tag "Mouse driven" mouse)
+ (const :tag "Mouse and Cursor driven." both)))
(defcustom reftex-cursor-selected-face 'highlight
"Face name to highlight cursor selected item in toc and selection buffers.
@@ -1760,18 +1716,18 @@ RefTeX uses `fset' to take over the function calls. Changing the variable
may require a restart of Emacs in order to become effective."
:group 'reftex-miscellaneous-configurations
:group 'LaTeX
- :type '(choice
- (const :tag "No plug-ins" nil)
- (const :tag "All possible plug-ins" t)
- (list
- :tag "Individual choice"
- :value (t t t t t)
- (boolean :tag "supply label in new sections and environments")
- (boolean :tag "supply argument for macros like `\\label' ")
- (boolean :tag "supply argument for macros like `\\ref' ")
- (boolean :tag "supply argument for macros like `\\cite' ")
- (boolean :tag "supply argument for macros like `\\index' ")
- )))
+ :type '(choice
+ (const :tag "No plug-ins" nil)
+ (const :tag "All possible plug-ins" t)
+ (list
+ :tag "Individual choice"
+ :value (t t t t t)
+ (boolean :tag "supply label in new sections and environments")
+ (boolean :tag "supply argument for macros like `\\label' ")
+ (boolean :tag "supply argument for macros like `\\ref' ")
+ (boolean :tag "supply argument for macros like `\\cite' ")
+ (boolean :tag "supply argument for macros like `\\index' ")
+ )))
(defcustom reftex-allow-detached-macro-args nil
"*Non-nil means, allow arguments of macros to be detached by whitespace.
@@ -1791,8 +1747,6 @@ construct: \\bbb [xxx] {aaa}."
:group 'reftex-miscellaneous-configurations
:type 'hook)
-
(provide 'reftex-vars)
-;;; arch-tag: 9591ea34-ef39-4431-90b7-c115eaf5e16f
;;; reftex-vars.el ends here
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index c00400a7b96..e0ac95ecfab 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -1,8 +1,8 @@
;;; reftex.el --- minor mode for doing \label, \ref, \cite, \index in LaTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.21
+;; Version: 4.18
;; Keywords: tex
;; This file is part of GNU Emacs.
@@ -25,7 +25,7 @@
;;---------------------------------------------------------------------------
;;
;;; Commentary:
-;;
+;;
;; RefTeX is a minor mode with distinct support for \ref, \label, \cite,
;; and \index commands in (multi-file) LaTeX documents.
;; - A table of contents provides easy access to any part of a document.
@@ -64,13 +64,13 @@
;;
;; The documentation in various formats is also available at
;;
-;; http://zon.astro.uva.nl/~dominik/Tools/
+;; http://www.strw.leidenuniv.nl/~dominik/Tools/
;;
;;---------------------------------------------------------------------------
;;
;; Introduction
;; ************
-;;
+;;
;; RefTeX is a specialized package for support of labels, references,
;; citations, and the index in LaTeX. RefTeX wraps itself round 4 LaTeX
;; macros: `\label', `\ref', `\cite', and `\index'. Using these macros
@@ -79,13 +79,13 @@
;; time-consuming tasks almost entirely. It also provides functions to
;; display the structure of a document and to move around in this
;; structure quickly.
-;;
+;;
;; *Note Imprint::, for information about who to contact for help, bug
;; reports or suggestions.
-;;
+;;
;; Environment
;; ===========
-;;
+;;
;; RefTeX needs to access all files which are part of a multifile
;; document, and the BibTeX database files requested by the
;; `\bibliography' command. To find these files, RefTeX will require a
@@ -94,26 +94,26 @@
;; which are also used by RefTeX. However, on some systems these
;; variables do not contain the full search path. If RefTeX does not work
;; for you because it cannot find some files, read *Note Finding Files::.
-;;
+;;
;; Entering RefTeX Mode
;; ====================
-;;
+;;
;; To turn RefTeX Mode on and off in a particular buffer, use `M-x
;; reftex-mode'. To turn on RefTeX Mode for all LaTeX files, add the
;; following lines to your `.emacs' file:
-;;
+;;
;; (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode
;; (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode
-;;
+;;
;; RefTeX in a Nutshell
;; ====================
-;;
+;;
;; 1. Table of Contents
;; Typing `C-c =' (`reftex-toc') will show a table of contents of the
;; document. This buffer can display sections, labels and index
;; entries defined in the document. From the buffer, you can jump
;; quickly to every part of your document. Press `?' to get help.
-;;
+;;
;; 2. Labels and References
;; RefTeX helps to create unique labels and to find the correct key
;; for references quickly. It distinguishes labels for different
@@ -121,7 +121,7 @@
;; others), and can be configured to recognize any additional labeled
;; environments you have defined yourself (variable
;; `reftex-label-alist').
-;;
+;;
;; * Creating Labels
;; Type `C-c (' (`reftex-label') to insert a label at point.
;; RefTeX will either
@@ -130,17 +130,17 @@
;; tables) or
;; - insert a simple label made of a prefix and a number (all
;; other environments)
-;;
+;;
;; Which labels are created how is configurable with the variable
;; `reftex-insert-label-flags'.
-;;
+;;
;; * Referencing Labels
;; To make a reference, type `C-c )' (`reftex-reference'). This
;; shows an outline of the document with all labels of a certain
;; type (figure, equation,...) and some label context.
;; Selecting a label inserts a `\ref{LABEL}' macro into the
;; original buffer.
-;;
+;;
;; 3. Citations
;; Typing `C-c [' (`reftex-citation') will let you specify a regular
;; expression to search in current BibTeX database files (as
@@ -149,7 +149,7 @@
;; sorted. The selected article is referenced as `\cite{KEY}' (see
;; the variable `reftex-cite-format' if you want to insert different
;; macros).
-;;
+;;
;; 4. Index Support
;; RefTeX helps to enter index entries. It also compiles all entries
;; into an alphabetically sorted `*Index*' buffer which you can use
@@ -157,25 +157,25 @@
;; index macros and can be configured to recognize any additional
;; macros you have defined (`reftex-index-macros'). Multiple indices
;; are supported.
-;;
+;;
;; * Creating Index Entries
;; To index the current selection or the word at point, type
;; `C-c /' (`reftex-index-selection-or-word'). The default macro
;; `reftex-index-default-macro' will be used. For a more
;; complex entry type `C-c <' (`reftex-index'), select any of
;; the index macros and enter the arguments with completion.
-;;
+;;
;; * The Index Phrases File (Delayed Indexing)
;; Type `C-c \' (`reftex-index-phrase-selection-or-word') to add
;; the current word or selection to a special _index phrase
;; file_. RefTeX can later search the document for occurrences
;; of these phrases and let you interactively index the matches.
-;;
+;;
;; * Displaying and Editing the Index
;; To display the compiled index in a special buffer, type `C-c
;; >' (`reftex-display-index'). From that buffer you can check
;; and edit all entries.
-;;
+;;
;; 5. Viewing Cross-References
;; When point is on the KEY argument of a cross-referencing macro
;; (`\label', `\ref', `\cite', `\bibitem', `\index', and variations)
@@ -185,14 +185,14 @@
;; When the enclosing macro is `\cite' or `\ref' and no other message
;; occupies the echo area, information about the citation or label
;; will automatically be displayed in the echo area.
-;;
+;;
;; 6. Multifile Documents
;; Multifile Documents are fully supported. The included files must
;; have a file variable `TeX-master' or `tex-main-file' pointing to
;; the master file. RefTeX provides cross-referencing information
;; from all parts of the document, and across document borders
;; (`xr.sty').
-;;
+;;
;; 7. Document Parsing
;; RefTeX needs to parse the document in order to find labels and
;; other information. It does it automatically once and updates its
@@ -201,23 +201,23 @@
;; with a raw `C-u' prefix, or press the `r' key in the label
;; selection buffer, the table of contents buffer, or the index
;; buffer.
-;;
+;;
;; 8. AUCTeX
;; If your major LaTeX mode is AUCTeX, RefTeX can cooperate with it
;; (see variable `reftex-plug-into-AUCTeX'). AUCTeX contains style
;; files which trigger appropriate settings in RefTeX, so that for
;; many of the popular LaTeX packages no additional customizations
;; will be necessary.
-;;
+;;
;; 9. Useful Settings
;; To make RefTeX faster for large documents, try these:
;; (setq reftex-enable-partial-scans t)
;; (setq reftex-save-parse-info t)
;; (setq reftex-use-multiple-selection-buffers t)
-;;
+;;
;; To integrate with AUCTeX, use
;; (setq reftex-plug-into-AUCTeX t)
-;;
+;;
;; To make your own LaTeX macro definitions known to RefTeX,
;; customize the variables
;; `reftex-label-alist' (for label macros/environments)
@@ -227,7 +227,7 @@
;; `reftex-index-default-macro' (to set the default macro)
;; If you have a large number of macros defined, you may want to write
;; an AUCTeX style file to support them with both AUCTeX and RefTeX.
-;;
+;;
;; 10. Where Next?
;; Go ahead and use RefTeX. Use its menus until you have picked up
;; the key bindings. For an overview of what you can do in each of
@@ -236,13 +236,13 @@
;; The first part of the manual explains in a tutorial way how to use
;; and customize RefTeX. The second part is a command and variable
;; reference.
-;;
+;;
;;---------------------------------------------------------------------------
;;
;; AUTHOR
;; ======
;;
-;; Carsten Dominik <dominik@science.uva.nl>
+;; Carsten Dominik <dominik@strw.LeidenUniv.nl>
;;
;; with contributions from Stephen Eglen
;;
@@ -250,7 +250,7 @@
;; XEmacs 21.x. If you need to install it yourself, you can find a
;; distribution at
;;
-;; http://zon.astro.uva.nl/~dominik/Tools/
+;; http://www.strw.leidenuniv.nl/~dominik/Tools/
;;
;; THANKS TO:
;; ---------
@@ -282,12 +282,6 @@
(defvar reftex-tables-dirty t
"Flag showing if tables need to be re-computed.")
-(eval-and-compile
- (defun reftex-set-dirty (symbol value)
- (setq reftex-tables-dirty t)
- (set symbol value)))
-
-
;;; =========================================================================
;;;
;;; Configuration variables
@@ -300,7 +294,7 @@
;;; Define the formal stuff for a minor mode named RefTeX.
;;;
-(defconst reftex-version "RefTeX version 4.21"
+(defconst reftex-version "RefTeX version 4.18"
"Version string for RefTeX.")
(defvar reftex-mode nil
@@ -318,10 +312,10 @@
(setq reftex-syntax-table (copy-syntax-table))
(modify-syntax-entry ?\( "." reftex-syntax-table)
(modify-syntax-entry ?\) "." reftex-syntax-table))
-
+
(unless reftex-syntax-table-for-bib
(setq reftex-syntax-table-for-bib
- (copy-syntax-table reftex-syntax-table))
+ (copy-syntax-table reftex-syntax-table))
(modify-syntax-entry ?\' "." reftex-syntax-table-for-bib)
(modify-syntax-entry ?\" "." reftex-syntax-table-for-bib)
(modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
@@ -377,30 +371,30 @@ on the menu bar.
(if reftex-mode
(progn
- ;; Mode was turned on
+ ;; Mode was turned on
(easy-menu-add reftex-mode-menu)
- (and reftex-plug-into-AUCTeX
- (reftex-plug-into-AUCTeX))
- (unless (get 'reftex-auto-view-crossref 'initialized)
- (and reftex-auto-view-crossref
- (reftex-toggle-auto-view-crossref))
- (put 'reftex-auto-view-crossref 'initialized t))
- (unless (get 'reftex-auto-recenter-toc 'initialized)
- (and (eq reftex-auto-recenter-toc t)
- (reftex-toggle-auto-toc-recenter))
- (put 'reftex-auto-recenter-toc 'initialized t))
-
- ;; Prepare the special syntax tables.
- (setq reftex-syntax-table (copy-syntax-table (syntax-table)))
- (modify-syntax-entry ?\( "." reftex-syntax-table)
- (modify-syntax-entry ?\) "." reftex-syntax-table)
-
- (setq reftex-syntax-table-for-bib
- (copy-syntax-table reftex-syntax-table))
- (modify-syntax-entry ?\' "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\" "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib)
+ (and reftex-plug-into-AUCTeX
+ (reftex-plug-into-AUCTeX))
+ (unless (get 'reftex-auto-view-crossref 'initialized)
+ (and reftex-auto-view-crossref
+ (reftex-toggle-auto-view-crossref))
+ (put 'reftex-auto-view-crossref 'initialized t))
+ (unless (get 'reftex-auto-recenter-toc 'initialized)
+ (and reftex-auto-recenter-toc
+ (reftex-toggle-auto-toc-recenter))
+ (put 'reftex-auto-recenter-toc 'initialized t))
+
+ ;; Prepare the special syntax tables.
+ (setq reftex-syntax-table (copy-syntax-table (syntax-table)))
+ (modify-syntax-entry ?\( "." reftex-syntax-table)
+ (modify-syntax-entry ?\) "." reftex-syntax-table)
+
+ (setq reftex-syntax-table-for-bib
+ (copy-syntax-table reftex-syntax-table))
+ (modify-syntax-entry ?\' "." reftex-syntax-table-for-bib)
+ (modify-syntax-entry ?\" "." reftex-syntax-table-for-bib)
+ (modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
+ (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib)
(run-hooks 'reftex-mode-hook))
;; Mode was turned off
@@ -425,13 +419,13 @@ on the menu bar.
;; This function should be installed in `kill-buffer-hook'.
;; We are careful to make sure nothing goes wring in this function.
(when (and (boundp 'reftex-mode) reftex-mode
- (boundp 'reftex-save-parse-info) reftex-save-parse-info
- (boundp 'reftex-docstruct-symbol) reftex-docstruct-symbol
- (symbol-value reftex-docstruct-symbol)
- (get reftex-docstruct-symbol 'modified))
+ (boundp 'reftex-save-parse-info) reftex-save-parse-info
+ (boundp 'reftex-docstruct-symbol) reftex-docstruct-symbol
+ (symbol-value reftex-docstruct-symbol)
+ (get reftex-docstruct-symbol 'modified))
;; Write the file.
(condition-case nil
- (reftex-access-parse-file 'write)
+ (reftex-access-parse-file 'write)
(error nil))))
(defun reftex-kill-emacs-hook ()
@@ -439,9 +433,9 @@ on the menu bar.
;; This function should be installed in `kill-emacs-hook'.
(save-excursion
(mapcar (lambda (buf)
- (set-buffer buf)
- (reftex-kill-buffer-hook))
- (buffer-list))))
+ (set-buffer buf)
+ (reftex-kill-buffer-hook))
+ (buffer-list))))
;;; =========================================================================
;;;
@@ -511,8 +505,8 @@ on the menu bar.
(put (symbol-value symbol) :master-index index)
;; Initialize if new symbols.
(when newflag
- (set (symbol-value symbol) nil)
- (put (symbol-value symbol) 'reftex-index-macros-style '(default))))
+ (set (symbol-value symbol) nil)
+ (put (symbol-value symbol) 'reftex-index-macros-style '(default))))
;; Return t if the symbols did already exist, nil when we've made them.
(not newflag)))
@@ -535,10 +529,10 @@ on the menu bar.
((master
(cond
((fboundp 'TeX-master-file) ; AUCTeX is loaded. Use its mechanism.
- (condition-case nil
- (TeX-master-file t)
- (error (buffer-file-name))))
- ((fboundp 'tex-main-file) (tex-main-file)) ; Emacs LaTeX mode
+ (condition-case nil
+ (TeX-master-file t)
+ (error (buffer-file-name))))
+ ((fboundp 'tex-main-file) (tex-main-file)) ; Emacs LaTeX mode
((boundp 'TeX-master) ; The variable is defined - lets use it.
(cond
((eq TeX-master t)
@@ -564,7 +558,7 @@ on the menu bar.
(buffer-file-name)))))
(cond
((null master)
- (error "Need a filename for this buffer, please save it first"))
+ (error "Need a filename for this buffer, please save it first"))
((or (file-exists-p (concat master ".tex"))
(reftex-get-buffer-visiting (concat master ".tex")))
;; Ahh, an extra .tex was missing...
@@ -575,7 +569,7 @@ on the menu bar.
)
(t
;; Use buffer file name.
- (buffer-file-name)))
+ (setq master (buffer-file-name))))
(expand-file-name master)))
(defun reftex-is-multi ()
@@ -593,15 +587,15 @@ for possible values. This function should be used from AUCTeX style files."
(unless reftex-docstruct-symbol
(reftex-tie-multifile-symbols))
(when (and reftex-docstruct-symbol
- (symbolp reftex-docstruct-symbol))
+ (symbolp reftex-docstruct-symbol))
(put reftex-docstruct-symbol 'reftex-cite-format value)))
(defun reftex-get-cite-format ()
;; Return the current citation format. Either the document-local value in
;; reftex-cite-format-symbol, or the global value in reftex-cite-format.
(if (and reftex-docstruct-symbol
- (symbolp reftex-docstruct-symbol)
- (get reftex-docstruct-symbol 'reftex-cite-format))
+ (symbolp reftex-docstruct-symbol)
+ (get reftex-docstruct-symbol 'reftex-cite-format))
(get reftex-docstruct-symbol 'reftex-cite-format)
reftex-cite-format))
@@ -617,22 +611,22 @@ the label information is recompiled on next use."
(unless reftex-docstruct-symbol
(reftex-tie-multifile-symbols))
(when (and reftex-docstruct-symbol
- (symbolp reftex-docstruct-symbol))
+ (symbolp reftex-docstruct-symbol))
(let ((list (get reftex-docstruct-symbol 'reftex-index-macros-style))
- entry changed)
+ entry changed)
(while entry-list
- (setq entry (pop entry-list))
- ;; When it is a symbol, remove all other symbols
- (and (symbolp entry)
- (not (memq entry list))
- (setq list (reftex-remove-symbols-from-list list)))
- ;; Add to list unless already member
- (unless (member entry list)
- (setq reftex-tables-dirty t
- changed t)
- (push entry list)))
+ (setq entry (pop entry-list))
+ ;; When it is a symbol, remove all other symbols
+ (and (symbolp entry)
+ (not (memq entry list))
+ (setq list (reftex-remove-symbols-from-list list)))
+ ;; Add to list unless already member
+ (unless (member entry list)
+ (setq reftex-tables-dirty t
+ changed t)
+ (push entry list)))
(when changed
- (put reftex-docstruct-symbol 'reftex-index-macros-style list)))))
+ (put reftex-docstruct-symbol 'reftex-index-macros-style list)))))
;;; =========================================================================
;;;
@@ -734,14 +728,14 @@ the label information is recompiled on next use."
;; A list of all variables in the cache.
;; The cache is used to save the compiled versions of some variables.
-(defconst reftex-cache-variables
+(defconst reftex-cache-variables
'(reftex-memory ;; This MUST ALWAYS be the first!
-
+
;; Outline
reftex-section-levels-all
;; Labels
- reftex-env-or-mac-alist
+ reftex-env-or-mac-alist
reftex-special-env-parsers
reftex-macros-with-labels
reftex-label-mac-list
@@ -757,7 +751,7 @@ the label information is recompiled on next use."
reftex-index-macro-alist
reftex-macros-with-index
reftex-query-index-macro-prompt
- reftex-query-index-macro-help
+ reftex-query-index-macro-help
reftex-key-to-index-macro-alist
;; Regular expressions
@@ -774,35 +768,35 @@ the label information is recompiled on next use."
(defun reftex-ensure-compiled-variables ()
;; Recompile the label alist when necessary
(let* ((mem reftex-memory)
- (cache (get reftex-docstruct-symbol 'reftex-cache))
- (cmem (car cache))
- (alist reftex-label-alist)
- (levels (get reftex-docstruct-symbol 'reftex-section-levels))
- (style (get reftex-docstruct-symbol 'reftex-label-alist-style))
- (default reftex-default-label-alist-entries)
- (index reftex-index-macros)
- (istyle (get reftex-docstruct-symbol 'reftex-index-macros-style)))
+ (cache (get reftex-docstruct-symbol 'reftex-cache))
+ (cmem (car cache))
+ (alist reftex-label-alist)
+ (levels (get reftex-docstruct-symbol 'reftex-section-levels))
+ (style (get reftex-docstruct-symbol 'reftex-label-alist-style))
+ (default reftex-default-label-alist-entries)
+ (index reftex-index-macros)
+ (istyle (get reftex-docstruct-symbol 'reftex-index-macros-style)))
(cond
(reftex-tables-dirty (reftex-compile-variables))
((and (eq alist (nth 0 mem))
- (eq levels (nth 1 mem))
- (eq style (nth 2 mem))
- (eq default (nth 3 mem))
- (eq index (nth 4 mem))
- (eq istyle (nth 5 mem)))) ;; everything is OK
+ (eq levels (nth 1 mem))
+ (eq style (nth 2 mem))
+ (eq default (nth 3 mem))
+ (eq index (nth 4 mem))
+ (eq istyle (nth 5 mem)))) ;; everything is OK
((and (eq alist (nth 0 cmem))
- (eq levels (nth 1 cmem))
- (eq style (nth 2 cmem))
- (eq default (nth 2 cmem))
- (eq index (nth 4 cmem))
- (eq istyle (nth 5 cmem)))
+ (eq levels (nth 1 cmem))
+ (eq style (nth 2 cmem))
+ (eq default (nth 2 cmem))
+ (eq index (nth 4 cmem))
+ (eq istyle (nth 5 cmem)))
;; restore the cache
(message "Restoring cache")
(mapcar (lambda (sym) (set sym (pop cache))) reftex-cache-variables))
(t (reftex-compile-variables)))))
(defun reftex-reset-mode ()
- "Reset RefTeX Mode.
+ "Reset RefTeX Mode.
This will re-compile the configuration information and remove all
current scanning information and the parse file to enforce a rescan
on next use."
@@ -810,18 +804,18 @@ on next use."
;; Reset the file search path variables
(loop for prop in '(status master-dir recursive-path rec-type) do
- (put 'reftex-tex-path prop nil)
- (put 'reftex-bib-path prop nil))
+ (put 'reftex-tex-path prop nil)
+ (put 'reftex-bib-path prop nil))
;; Kill temporary buffers associated with RefTeX - just in case they
;; were not cleaned up properly
(save-excursion
(let ((buffer-list '("*RefTeX Help*" "*RefTeX Select*"
- "*Duplicate Labels*" "*toc*" " *RefTeX-scratch*"))
- buf)
+ "*Duplicate Labels*" "*toc*" " *RefTeX-scratch*"))
+ buf)
(while (setq buf (pop buffer-list))
- (if (get-buffer buf)
- (kill-buffer buf))))
+ (if (get-buffer buf)
+ (kill-buffer buf))))
(reftex-erase-all-selection-and-index-buffers))
;; Make sure the current document will be rescanned soon.
@@ -836,7 +830,6 @@ on next use."
(reftex-compile-variables))
-;;;###autoload
(defun reftex-reset-scanning-information ()
"Reset the symbols containing information from buffer scanning.
This enforces rescanning the buffer on next use."
@@ -853,12 +846,12 @@ This enforces rescanning the buffer on next use."
(defun reftex-erase-all-selection-and-index-buffers ()
;; Remove all selection buffers associated with current document.
- (mapcar
+ (mapcar
(lambda (type)
(reftex-erase-buffer (reftex-make-selection-buffer-name type)))
reftex-typekey-list)
;; Kill all index buffers
- (mapcar
+ (mapcar
(lambda (tag)
(reftex-kill-buffer (reftex-make-index-buffer-name tag)))
(cdr (assoc 'index-tags (symbol-value reftex-docstruct-symbol)))))
@@ -874,34 +867,34 @@ This enforces rescanning the buffer on next use."
;; Record that we have done this, and what we have used.
(setq reftex-tables-dirty nil)
- (setq reftex-memory
- (list reftex-label-alist
- (get reftex-docstruct-symbol 'reftex-section-levels)
- (get reftex-docstruct-symbol 'reftex-label-alist-style)
- reftex-default-label-alist-entries
- reftex-index-macros
- (get reftex-docstruct-symbol 'reftex-index-macros-style)))
+ (setq reftex-memory
+ (list reftex-label-alist
+ (get reftex-docstruct-symbol 'reftex-section-levels)
+ (get reftex-docstruct-symbol 'reftex-label-alist-style)
+ reftex-default-label-alist-entries
+ reftex-index-macros
+ (get reftex-docstruct-symbol 'reftex-index-macros-style)))
;; Compile information in reftex-label-alist
(let ((all (reftex-uniquify-by-car
- (reftex-splice-symbols-into-list
- (append reftex-label-alist
- (get reftex-docstruct-symbol
- 'reftex-label-alist-style)
- reftex-default-label-alist-entries)
- reftex-label-alist-builtin)
- '(nil)))
- (all-index (reftex-uniquify-by-car
- (reftex-splice-symbols-into-list
- (append reftex-index-macros
- (get reftex-docstruct-symbol
- 'reftex-index-macros-style)
- '(default))
- reftex-index-macros-builtin)))
+ (reftex-splice-symbols-into-list
+ (append reftex-label-alist
+ (get reftex-docstruct-symbol
+ 'reftex-label-alist-style)
+ reftex-default-label-alist-entries)
+ reftex-label-alist-builtin)
+ '(nil)))
+ (all-index (reftex-uniquify-by-car
+ (reftex-splice-symbols-into-list
+ (append reftex-index-macros
+ (get reftex-docstruct-symbol
+ 'reftex-index-macros-style)
+ '(default))
+ reftex-index-macros-builtin)))
entry env-or-mac typekeychar typekey prefix context word
fmt reffmt labelfmt wordlist qh-list macros-with-labels
nargs nlabel opt-args cell sum i
- macro verify repeat nindex tag key toc-level toc-levels)
+ macro verify repeat nindex tag key toc-level toc-levels)
(setq reftex-words-to-typekey-alist nil
reftex-typekey-list nil
@@ -930,7 +923,7 @@ This enforces rescanning the buffer on next use."
fmt (nth 2 entry)
context (nth 3 entry)
wordlist (nth 4 entry)
- toc-level (nth 5 entry))
+ toc-level (nth 5 entry))
(if (stringp wordlist)
;; This is before version 2.04 - convert to new format
(setq wordlist (nthcdr 4 entry)))
@@ -942,66 +935,66 @@ This enforces rescanning the buffer on next use."
(setq fmt (list "\\label{%s}" fmt)))
(setq labelfmt (car fmt)
reffmt (nth 1 fmt))
- ;; Note a new typekey
+ ;; Note a new typekey
(if typekey
(add-to-list 'reftex-typekey-list typekey))
(if (and typekey prefix
(not (assoc typekey reftex-typekey-to-prefix-alist)))
(add-to-list 'reftex-typekey-to-prefix-alist
(cons typekey prefix)))
- ;; Check if this is a macro or environment
+ ;; Check if this is a macro or environment
(cond
- ((symbolp env-or-mac)
- ;; A special parser function
- (unless (fboundp env-or-mac)
- (message "Warning: %s does not seem to be a valid function"
- env-or-mac))
+ ((symbolp env-or-mac)
+ ;; A special parser function
+ (unless (fboundp env-or-mac)
+ (message "Warning: %s does not seem to be a valid function"
+ env-or-mac))
(setq nargs nil nlabel nil opt-args nil)
- (add-to-list 'reftex-special-env-parsers env-or-mac)
- (setq env-or-mac (symbol-name env-or-mac)))
+ (add-to-list 'reftex-special-env-parsers env-or-mac)
+ (setq env-or-mac (symbol-name env-or-mac)))
((string-match "\\`\\\\" env-or-mac)
;; It's a macro
(let ((result (reftex-parse-args env-or-mac)))
(setq env-or-mac (or (first result) env-or-mac)
- nargs (second result)
+ nargs (second result)
nlabel (third result)
opt-args (fourth result))
(if nlabel (add-to-list 'macros-with-labels env-or-mac)))
- (if typekey (add-to-list 'reftex-label-mac-list env-or-mac)))
+ (if typekey (add-to-list 'reftex-label-mac-list env-or-mac)))
(t
- ;; It's an environment
+ ;; It's an environment
(setq nargs nil nlabel nil opt-args nil)
(cond ((string= env-or-mac "any"))
((string= env-or-mac ""))
((string= env-or-mac "section"))
(t
(add-to-list 'reftex-label-env-list env-or-mac)
- (if toc-level
- (let ((string (format "begin{%s}" env-or-mac)))
- (or (assoc string toc-levels)
- (push (cons string toc-level) toc-levels))))))))
- ;; Translate some special context cases
- (when (assq context reftex-default-context-regexps)
- (setq context
- (format
- (cdr (assq context reftex-default-context-regexps))
- (regexp-quote env-or-mac))))
- ;; See if this is the first format for this typekey
+ (if toc-level
+ (let ((string (format "begin{%s}" env-or-mac)))
+ (or (assoc string toc-levels)
+ (push (cons string toc-level) toc-levels))))))))
+ ;; Translate some special context cases
+ (when (assq context reftex-default-context-regexps)
+ (setq context
+ (format
+ (cdr (assq context reftex-default-context-regexps))
+ (regexp-quote env-or-mac))))
+ ;; See if this is the first format for this typekey
(and reffmt
(not (assoc typekey reftex-typekey-to-format-alist))
(push (cons typekey reffmt) reftex-typekey-to-format-alist))
- ;; See if this is the first definition for this env-or-mac
+ ;; See if this is the first definition for this env-or-mac
(and (not (string= env-or-mac "any"))
(not (string= env-or-mac ""))
(not (assoc env-or-mac reftex-env-or-mac-alist))
(push (list env-or-mac typekey context labelfmt
- nargs nlabel opt-args)
+ nargs nlabel opt-args)
reftex-env-or-mac-alist))
- ;; Are the magic words regular expressions? Quote normal words.
- (if (eq (car wordlist) 'regexp)
- (setq wordlist (cdr wordlist))
- (setq wordlist (mapcar 'regexp-quote wordlist)))
- ;; Remember the first association of each word.
+ ;; Are the magic words regular expressions? Quote normal words.
+ (if (eq (car wordlist) 'regexp)
+ (setq wordlist (cdr wordlist))
+ (setq wordlist (mapcar 'regexp-quote wordlist)))
+ ;; Remember the first association of each word.
(while (stringp (setq word (pop wordlist)))
(or (assoc word reftex-words-to-typekey-alist)
(push (cons word typekey) reftex-words-to-typekey-alist)))
@@ -1016,10 +1009,10 @@ This enforces rescanning the buffer on next use."
(nreverse reftex-typekey-to-prefix-alist))
;; Prepare the typekey query prompt and help string.
- (setq qh-list
- (sort qh-list
- (lambda (x1 x2)
- (string< (downcase (car x1)) (downcase (car x2))))))
+ (setq qh-list
+ (sort qh-list
+ (lambda (x1 x2)
+ (string< (downcase (car x1)) (downcase (car x2))))))
(setq reftex-type-query-prompt
(concat "Label type: ["
(mapconcat (lambda(x) (format "%s" (car x)))
@@ -1027,164 +1020,164 @@ This enforces rescanning the buffer on next use."
"]"))
;; In the help string, we need to wrap lines...
(setq reftex-type-query-help
- (concat
- "SELECT A LABEL TYPE:\n--------------------\n"
- (mapconcat
- (lambda(x)
- (setq sum 0)
- (format " [%s] %s"
- (car x)
- (mapconcat (lambda(env)
- (setq sum (+ sum (length env)))
- (if (< sum 60)
- env
- (setq sum 0)
- (concat "\n " env)))
- (cdr x) " ")))
- qh-list "\n")))
+ (concat
+ "SELECT A LABEL TYPE:\n--------------------\n"
+ (mapconcat
+ (lambda(x)
+ (setq sum 0)
+ (format " [%s] %s"
+ (car x)
+ (mapconcat (lambda(env)
+ (setq sum (+ sum (length env)))
+ (if (< sum 60)
+ env
+ (setq sum 0)
+ (concat "\n " env)))
+ (cdr x) " ")))
+ qh-list "\n")))
;; Convert magic words to regular expressions. We make regular expressions
;; which allow for some chars from the ref format to be in the buffer.
;; These characters will be seen and removed.
(setq reftex-words-to-typekey-alist
- (mapcar
- (lambda (x)
- (setq word (car x)
- typekey (cdr x)
- fmt (cdr (assoc typekey reftex-typekey-to-format-alist)))
- (setq word (concat "\\W\\(" word "[ \t\n\r]*\\)\\("))
- (setq i 0)
- (while (and (< i 10) ; maximum number of format chars allowed
- (< i (length fmt))
- (not (member (aref fmt i) '(?%))))
- (setq word (concat word "\\|" (regexp-quote
- (substring fmt 0 (1+ i)))))
- (incf i))
- (cons (concat word "\\)\\=") typekey))
- (nreverse reftex-words-to-typekey-alist)))
+ (mapcar
+ (lambda (x)
+ (setq word (car x)
+ typekey (cdr x)
+ fmt (cdr (assoc typekey reftex-typekey-to-format-alist)))
+ (setq word (concat "\\W\\(" word "[ \t\n\r]*\\)\\("))
+ (setq i 0)
+ (while (and (< i 10) ; maximum number of format chars allowed
+ (< i (length fmt))
+ (not (member (aref fmt i) '(?%))))
+ (setq word (concat word "\\|" (regexp-quote
+ (substring fmt 0 (1+ i)))))
+ (incf i))
+ (cons (concat word "\\)\\=") typekey))
+ (nreverse reftex-words-to-typekey-alist)))
;; Parse the index macros
(setq reftex-index-macro-alist nil
- reftex-key-to-index-macro-alist nil
- reftex-macros-with-index nil)
+ reftex-key-to-index-macro-alist nil
+ reftex-macros-with-index nil)
(while all-index
(setq entry (car all-index)
- macro (car entry)
- tag (nth 1 entry)
- key (nth 2 entry)
- prefix (or (nth 3 entry) "")
- verify (nth 4 entry)
- ;; For repeat, we need to be compatible with older code
- ;; This information used to be given only for the default macro,
- ;; but later we required to have it for *every* index macro
- repeat (cond ((> (length entry) 5) (nth 5 entry))
- ((and (eq key (car reftex-index-default-macro))
- (> (length reftex-index-default-macro) 2))
- ;; User has old setting - respect it
- (nth 2 reftex-index-default-macro))
- (t t))
- all-index (cdr all-index))
+ macro (car entry)
+ tag (nth 1 entry)
+ key (nth 2 entry)
+ prefix (or (nth 3 entry) "")
+ verify (nth 4 entry)
+ ;; For repeat, we need to be compatible with older code
+ ;; This information used to be given only for the default macro,
+ ;; but later we required to have it for *every* index macro
+ repeat (cond ((> (length entry) 5) (nth 5 entry))
+ ((and (eq key (car reftex-index-default-macro))
+ (> (length reftex-index-default-macro) 2))
+ ;; User has old setting - respect it
+ (nth 2 reftex-index-default-macro))
+ (t t))
+ all-index (cdr all-index))
(let ((result (reftex-parse-args macro)))
- (setq macro (or (first result) macro)
- nargs (second result)
- nindex (third result)
- opt-args (fourth result))
- (unless (member macro reftex-macros-with-index)
- ;; 0 1 2 3 4 5 6 7
- (push (list macro tag prefix verify nargs nindex opt-args repeat)
- reftex-index-macro-alist)
- (or (assoc key reftex-key-to-index-macro-alist)
- (push (list key macro) reftex-key-to-index-macro-alist))
- (push macro reftex-macros-with-index))))
+ (setq macro (or (first result) macro)
+ nargs (second result)
+ nindex (third result)
+ opt-args (fourth result))
+ (unless (member macro reftex-macros-with-index)
+ ;; 0 1 2 3 4 5 6 7
+ (push (list macro tag prefix verify nargs nindex opt-args repeat)
+ reftex-index-macro-alist)
+ (or (assoc key reftex-key-to-index-macro-alist)
+ (push (list key macro) reftex-key-to-index-macro-alist))
+ (push macro reftex-macros-with-index))))
;; Make the prompt and help string for index macros query
(setq reftex-key-to-index-macro-alist
- (sort reftex-key-to-index-macro-alist
- (lambda (a b) (< (downcase (car a)) (downcase (car b))))))
- (setq reftex-query-index-macro-prompt
- (concat "Index macro: ["
- (mapconcat (lambda (x) (char-to-string (car x)))
- reftex-key-to-index-macro-alist "")
- "]"))
+ (sort reftex-key-to-index-macro-alist
+ (lambda (a b) (< (downcase (car a)) (downcase (car b))))))
+ (setq reftex-query-index-macro-prompt
+ (concat "Index macro: ["
+ (mapconcat (lambda (x) (char-to-string (car x)))
+ reftex-key-to-index-macro-alist "")
+ "]"))
(setq i 0
- reftex-query-index-macro-help
- (concat
- "SELECT A MACRO:\n---------------\n"
- (mapconcat
- (lambda(x)
- (format "[%c] %-20.20s%s" (car x) (nth 1 x)
- (if (= 0 (mod (incf i) 3)) "\n" "")))
- reftex-key-to-index-macro-alist "")))
+ reftex-query-index-macro-help
+ (concat
+ "SELECT A MACRO:\n---------------\n"
+ (mapconcat
+ (lambda(x)
+ (format "[%c] %-20.20s%s" (car x) (nth 1 x)
+ (if (= 0 (mod (incf i) 3)) "\n" "")))
+ reftex-key-to-index-macro-alist "")))
;; Make the full list of section levels
(setq reftex-section-levels-all
- (append toc-levels
- (get reftex-docstruct-symbol 'reftex-section-levels)
- reftex-section-levels))
+ (append toc-levels
+ (get reftex-docstruct-symbol 'reftex-section-levels)
+ reftex-section-levels))
;; Calculate the regular expressions
(let* (
-; (wbol "\\(\\`\\|[\n\r]\\)[ \t]*")
- (wbol "\\(^\\)[ \t]*") ; Need to keep the empty group because
- ;;; because match number are hard coded
- (label-re "\\\\label{\\([^}]*\\)}")
- (include-re (concat wbol
- "\\\\\\("
- (mapconcat 'identity
- reftex-include-file-commands "\\|")
- "\\)[{ \t]+\\([^} \t\n\r]+\\)"))
- (section-re
- (concat wbol "\\\\\\("
- (mapconcat (lambda (x) (regexp-quote (car x)))
- reftex-section-levels-all "\\|")
- "\\)\\*?\\(\\[[^]]*\\]\\)?[[{ \t\r\n]"))
- (appendix-re (concat wbol "\\(\\\\appendix\\)"))
- (macro-re
- (if macros-with-labels
- (concat "\\("
- (mapconcat 'regexp-quote macros-with-labels "\\|")
- "\\)[[{]")
- ""))
- (index-re
- (concat "\\("
- (mapconcat 'regexp-quote reftex-macros-with-index "\\|")
- "\\)[[{]"))
- (find-index-re-format
- (concat "\\("
- (mapconcat 'regexp-quote reftex-macros-with-index "\\|")
- "\\)\\([[{][^]}]*[]}]\\)*[[{]\\(%s\\)[]}]"))
- (find-label-re-format
- (concat "\\("
- (mapconcat 'regexp-quote (append '("\\label")
- macros-with-labels) "\\|")
- "\\)\\([[{][^]}]*[]}]\\)*[[{]\\(%s\\)[]}]"))
- (index-level-re
- (regexp-quote (nth 0 reftex-index-special-chars)))
- (index-key-end-re ;; ^]- not allowed
- (concat "[^" (nth 3 reftex-index-special-chars) "]"
- "[" (nth 1 reftex-index-special-chars)
- (nth 2 reftex-index-special-chars) "]"))
- )
+; (wbol "\\(\\`\\|[\n\r]\\)[ \t]*")
+ (wbol "\\(^\\)[ \t]*") ; Need to keep the empty group because
+ ;;; because match number are hard coded
+ (label-re "\\\\label{\\([^}]*\\)}")
+ (include-re (concat wbol
+ "\\\\\\("
+ (mapconcat 'identity
+ reftex-include-file-commands "\\|")
+ "\\)[{ \t]+\\([^} \t\n\r]+\\)"))
+ (section-re
+ (concat wbol "\\\\\\("
+ (mapconcat (lambda (x) (regexp-quote (car x)))
+ reftex-section-levels-all "\\|")
+ "\\)\\*?\\(\\[[^]]*\\]\\)?[[{ \t\r\n]"))
+ (appendix-re (concat wbol "\\(\\\\appendix\\)"))
+ (macro-re
+ (if macros-with-labels
+ (concat "\\("
+ (mapconcat 'regexp-quote macros-with-labels "\\|")
+ "\\)[[{]")
+ ""))
+ (index-re
+ (concat "\\("
+ (mapconcat 'regexp-quote reftex-macros-with-index "\\|")
+ "\\)[[{]"))
+ (find-index-re-format
+ (concat "\\("
+ (mapconcat 'regexp-quote reftex-macros-with-index "\\|")
+ "\\)\\([[{][^]}]*[]}]\\)*[[{]\\(%s\\)[]}]"))
+ (find-label-re-format
+ (concat "\\("
+ (mapconcat 'regexp-quote (append '("\\label")
+ macros-with-labels) "\\|")
+ "\\)\\([[{][^]}]*[]}]\\)*[[{]\\(%s\\)[]}]"))
+ (index-level-re
+ (regexp-quote (nth 0 reftex-index-special-chars)))
+ (index-key-end-re ;; ^]- not allowed
+ (concat "[^" (nth 3 reftex-index-special-chars) "]"
+ "[" (nth 1 reftex-index-special-chars)
+ (nth 2 reftex-index-special-chars) "]"))
+ )
(setq reftex-section-regexp section-re
reftex-section-or-include-regexp
(concat section-re "\\|" include-re)
reftex-everything-regexp
(concat label-re "\\|" section-re "\\|" include-re
- "\\|" appendix-re
- "\\|" index-re
+ "\\|" appendix-re
+ "\\|" index-re
(if macros-with-labels "\\|" "") macro-re)
reftex-everything-regexp-no-index
(concat label-re "\\|" section-re "\\|" include-re
- "\\|" appendix-re
- "\\|" "\\(\\\\6\\\\3\\\\1\\)" ; This is unlikely to match
+ "\\|" appendix-re
+ "\\|" "\\(\\\\6\\\\3\\\\1\\)" ; This is unlikely to match
(if macros-with-labels "\\|" "") macro-re)
- reftex-index-re index-re
- reftex-index-level-re index-level-re
- reftex-index-key-end-re index-key-end-re
- reftex-macros-with-labels macros-with-labels
- reftex-find-index-entry-regexp-format find-index-re-format
+ reftex-index-re index-re
+ reftex-index-level-re index-level-re
+ reftex-index-key-end-re index-key-end-re
+ reftex-macros-with-labels macros-with-labels
+ reftex-find-index-entry-regexp-format find-index-re-format
reftex-find-label-regexp-format find-label-re-format
- reftex-find-label-regexp-format2
- "\\([]} \t\n\r]\\)\\([[{]\\)\\(%s\\)[]}]")
+ reftex-find-label-regexp-format2
+ "\\([]} \t\n\r]\\)\\([[{]\\)\\(%s\\)[]}]")
(message "Compiling label environment definitions...done")))
(put reftex-docstruct-symbol 'reftex-cache
(mapcar 'symbol-value reftex-cache-variables)))
@@ -1202,8 +1195,8 @@ This enforces rescanning the buffer on next use."
(when (eq ?\[ (string-to-char args))
(push cnt opt-list))
(when (and (match-end 1)
- (not nlabel))
- (setq nlabel cnt))
+ (not nlabel))
+ (setq nlabel cnt))
(setq args (substring args (match-end 0))))
(list must-match cnt nlabel opt-list)))
nil))
@@ -1227,14 +1220,14 @@ This enforces rescanning the buffer on next use."
(reftex-ensure-compiled-variables)
(when (or (null (symbol-value reftex-docstruct-symbol))
- (member rescan '(t 1 (4) (16))))
+ (member rescan '(t 1 (4) (16))))
;; The docstruct will change: Remove selection buffers.
(save-excursion
(reftex-erase-buffer "*toc*")
(reftex-erase-all-selection-and-index-buffers)))
(if (and (null (symbol-value reftex-docstruct-symbol))
- (not (member rescan '(t 1 (4) (16))))
+ (not (member rescan '(t 1 (4) (16))))
reftex-save-parse-info)
;; Try to read the stuff from a file
(reftex-access-parse-file 'read))
@@ -1248,6 +1241,7 @@ This enforces rescanning the buffer on next use."
;; Scan whatever was required by the caller.
(reftex-do-parse rescan file))))
+;;;###autoload
(defun reftex-scanning-info-available-p ()
"Is the scanning info about the current document available?"
(unless reftex-docstruct-symbol
@@ -1255,7 +1249,7 @@ This enforces rescanning the buffer on next use."
(and (symbolp reftex-docstruct-symbol)
(symbol-value reftex-docstruct-symbol)
t))
-
+
(defun reftex-silence-toc-markers (list n)
;; Set all toc markers in the first N entries in list to nil
(while (and list (> (decf n) -1))
@@ -1268,12 +1262,12 @@ This enforces rescanning the buffer on next use."
"Perform ACTION on the parse file (the .rel file).
Valid actions are: readable, restore, read, kill, write."
(let* ((list (symbol-value reftex-docstruct-symbol))
- (docstruct-symbol reftex-docstruct-symbol)
+ (docstruct-symbol reftex-docstruct-symbol)
(master (reftex-TeX-master-file))
- (enable-local-variables nil)
+ (enable-local-variables nil)
(file (if (string-match "\\.[a-zA-Z]+\\'" master)
- (concat (substring master 0 (match-beginning 0))
- reftex-parse-file-extension)
+ (concat (substring master 0 (match-beginning 0))
+ reftex-parse-file-extension)
(concat master reftex-parse-file-extension))))
(cond
((eq action 'readable)
@@ -1285,31 +1279,31 @@ Valid actions are: readable, restore, read, kill, write."
(reftex-tie-multifile-symbols))
(if (file-exists-p file)
;; load the file and return t for success
- (condition-case nil
- (progn (load-file file) t)
- (error (set reftex-docstruct-symbol nil)
- (error "Error while loading file %s" file)))
+ (condition-case nil
+ (progn (load-file file) t)
+ (error (set reftex-docstruct-symbol nil)
+ (error "Error while loading file %s" file)))
;; Throw an exception if the file does not exist
(error "No restore file %s" file)))
((eq action 'read)
(put reftex-docstruct-symbol 'modified nil)
(if (file-exists-p file)
;; load the file and return t for success
- (condition-case nil
- (progn
- (load-file file)
- (reftex-check-parse-consistency)
- t)
- (error (message "Error while restoring file %s" file)
- (set reftex-docstruct-symbol nil)
- nil))
+ (condition-case nil
+ (progn
+ (load-file file)
+ (reftex-check-parse-consistency)
+ t)
+ (error (message "Error while restoring file %s" file)
+ (set reftex-docstruct-symbol nil)
+ nil))
;; return nil for failure, but no exception
nil))
((eq action 'kill)
;; Remove the file
(when (and (file-exists-p file) (file-writable-p file))
- (message "Unlinking file %s" file)
- (delete-file file)))
+ (message "Unlinking file %s" file)
+ (delete-file file)))
(t
(put docstruct-symbol 'modified nil)
(save-excursion
@@ -1325,20 +1319,20 @@ Valid actions are: readable, restore, read, kill, write."
(insert "(set reftex-docstruct-symbol '(\n\n")
(let ((standard-output (current-buffer)))
(mapcar
- (lambda (x)
- (cond ((eq (car x) 'toc)
- ;; A toc entry. Do not save the marker.
- ;; Save the markers position at position 8
- (print (list 'toc "toc" (nth 2 x) (nth 3 x)
- nil (nth 5 x) (nth 6 x) (nth 7 x)
- (or (and (markerp (nth 4 x))
- (marker-position (nth 4 x)))
- (nth 8 x)))))
- ((and (not (eq t reftex-support-index))
- (eq (car x) 'index))
- ;; Don't save index entries
- )
- (t (print x))))
+ (lambda (x)
+ (cond ((eq (car x) 'toc)
+ ;; A toc entry. Do not save the marker.
+ ;; Save the markers position at position 8
+ (print (list 'toc "toc" (nth 2 x) (nth 3 x)
+ nil (nth 5 x) (nth 6 x) (nth 7 x)
+ (or (and (markerp (nth 4 x))
+ (marker-position (nth 4 x)))
+ (nth 8 x)))))
+ ((and (not (eq t reftex-support-index))
+ (eq (car x) 'index))
+ ;; Don't save index entries
+ )
+ (t (print x))))
list))
(insert "))\n\n")
(save-buffer 0)
@@ -1351,29 +1345,29 @@ Valid actions are: readable, restore, read, kill, write."
;; Check if the master is the same: when moving a document, this will see it.
(let* ((real-master (reftex-TeX-master-file))
- (parsed-master
- (nth 1 (assq 'bof (symbol-value reftex-docstruct-symbol)))))
+ (parsed-master
+ (nth 1 (assq 'bof (symbol-value reftex-docstruct-symbol)))))
(unless (string= (file-truename real-master) (file-truename parsed-master))
(message "Master file name in load file is different: %s versus %s"
- parsed-master real-master)
+ parsed-master real-master)
(error "Master file name error")))
;; Check for the existence of all document files
;;; (let* ((all (symbol-value reftex-docstruct-symbol)))
;;; (while all
;;; (when (and (eq (car (car all)) 'bof)
-;;; (not (file-regular-p (nth 1 (car all)))))
-;;; (message "File %s in saved parse info not avalable" (cdr (car all)))
-;;; (error "File not found"))
+;;; (not (file-regular-p (nth 1 (car all)))))
+;;; (message "File %s in saved parse info not avalable" (cdr (car all)))
+;;; (error "File not found"))
;;; (setq all (cdr all))))
)
(defun reftex-select-external-document (xr-alist xr-index)
;; Return index of an external document.
(let* ((len (length xr-alist)) (highest (1- (+ ?0 len)))
- (prompt (format "[%c-%c] Select TAB: Read prefix with completion"
- ?0 highest))
- key prefix)
+ (prompt (format "[%c-%c] Select TAB: Read prefix with completion"
+ ?0 highest))
+ key prefix)
(cond
((= len 1)
(message "No external documents available")
@@ -1382,27 +1376,27 @@ Valid actions are: readable, restore, read, kill, write."
(- 1 xr-index))
(t
(save-excursion
- (let* ((length (apply 'max (mapcar
- (lambda(x) (length (car x))) xr-alist)))
- (fmt (format " [%%c] %%-%ds %%s\n" length))
- (n (1- ?0)))
- (setq key
- (reftex-select-with-char
- prompt
- (concat
- "SELECT EXTERNAL DOCUMENT\n------------------------\n"
- (mapconcat
- (lambda (x)
- (format fmt (incf n) (or (car x) "")
- (abbreviate-file-name (cdr x))))
- xr-alist ""))
- nil t))
- (cond
- ((and (>= key ?0) (<= key highest)) (- key ?0))
- ((= key ?\C-i)
- (setq prefix (completing-read "Prefix: " xr-alist nil t))
- (- len (length (memq (assoc prefix xr-alist) xr-alist))))
- (t (error "Illegal document selection [%c]" key)))))))))
+ (let* ((length (apply 'max (mapcar
+ (lambda(x) (length (car x))) xr-alist)))
+ (fmt (format " [%%c] %%-%ds %%s\n" length))
+ (n (1- ?0)))
+ (setq key
+ (reftex-select-with-char
+ prompt
+ (concat
+ "SELECT EXTERNAL DOCUMENT\n------------------------\n"
+ (mapconcat
+ (lambda (x)
+ (format fmt (incf n) (or (car x) "")
+ (abbreviate-file-name (cdr x))))
+ xr-alist ""))
+ nil t))
+ (cond
+ ((and (>= key ?0) (<= key highest)) (- key ?0))
+ ((= key ?\C-i)
+ (setq prefix (completing-read "Prefix: " xr-alist nil t))
+ (- len (length (memq (assoc prefix xr-alist) xr-alist))))
+ (t (error "Illegal document selection [%c]" key)))))))))
;;; =========================================================================
;;;
@@ -1414,65 +1408,65 @@ If the file does not have any of the legal extensions for TYPE,
try first the default extension and only then the naked file name.
When DIE is non-nil, throw an error if file not found."
(let* ((rec-values (if reftex-search-unrecursed-path-first '(nil t) '(t)))
- (extensions (cdr (assoc type reftex-file-extensions)))
- (def-ext (car extensions))
- (ext-re (concat "\\("
- (mapconcat 'regexp-quote extensions "\\|")
- "\\)\\'"))
- (files (if (string-match ext-re file)
- (cons file nil)
- (cons (concat file def-ext) file)))
- path old-path file1)
+ (extensions (cdr (assoc type reftex-file-extensions)))
+ (def-ext (car extensions))
+ (ext-re (concat "\\("
+ (mapconcat 'regexp-quote extensions "\\|")
+ "\\)\\'"))
+ (files (if (string-match ext-re file)
+ (cons file nil)
+ (cons (concat file def-ext) file)))
+ path old-path file1)
(cond
((file-name-absolute-p file)
- (setq file1
- (or
- (and (car files) (file-regular-p (car files)) (car files))
- (and (cdr files) (file-regular-p (cdr files)) (cdr files)))))
+ (setq file1
+ (or
+ (and (car files) (file-regular-p (car files)) (car files))
+ (and (cdr files) (file-regular-p (cdr files)) (cdr files)))))
((and reftex-use-external-file-finders
- (assoc type reftex-external-file-finders))
+ (assoc type reftex-external-file-finders))
(setq file1 (reftex-find-file-externally file type master-dir)))
(t
(while (and (null file1) rec-values)
- (setq path (reftex-access-search-path
- type (pop rec-values) master-dir file))
- (if (or (null old-path)
- (not (eq old-path path)))
- (setq old-path path
- path (cons master-dir path)
- file1 (or (and (car files)
- (reftex-find-file-on-path
- (car files) path master-dir))
- (and (cdr files)
- (reftex-find-file-on-path
- (cdr files) path master-dir))))))))
+ (setq path (reftex-access-search-path
+ type (pop rec-values) master-dir file))
+ (if (or (null old-path)
+ (not (eq old-path path)))
+ (setq old-path path
+ path (cons master-dir path)
+ file1 (or (and (car files)
+ (reftex-find-file-on-path
+ (car files) path master-dir))
+ (and (cdr files)
+ (reftex-find-file-on-path
+ (cdr files) path master-dir))))))))
(cond (file1 file1)
- (die (error "No such file: %s" file) nil)
- (t (message "No such file: %s (ignored)" file) nil))))
+ (die (error "No such file: %s" file) nil)
+ (t (message "No such file: %s (ignored)" file) nil))))
(defun reftex-find-file-externally (file type &optional master-dir)
;; Use external program to find FILE.
;; The program is taken from `reftex-external-file-finders'.
;; Interprete relative path definitions starting from MASTER-DIR.
(let ((default-directory (or master-dir default-directory))
- (prg (cdr (assoc type reftex-external-file-finders)))
- out)
+ (prg (cdr (assoc type reftex-external-file-finders)))
+ out)
(if (string-match "%f" prg)
- (setq prg (replace-match file t t prg)))
+ (setq prg (replace-match file t t prg)))
(setq out (apply 'reftex-process-string (split-string prg)))
(if (string-match "[ \t\n]+\\'" out) ; chomp
- (setq out (replace-match "" nil nil out)))
+ (setq out (replace-match "" nil nil out)))
(cond ((equal out "") nil)
- ((file-regular-p out) (expand-file-name out master-dir))
- (t nil))))
+ ((file-regular-p out) (expand-file-name out master-dir))
+ (t nil))))
(defun reftex-process-string (program &rest args)
"Execute PROGRAM with arguments ARGS and return its STDOUT as a string."
(let ((calling-dir default-directory)) ; remember default directory
(with-output-to-string
(with-current-buffer standard-output
- (let ((default-directory calling-dir)) ; set default directory
- (apply 'call-process program nil '(t nil) nil args))))))
+ (let ((default-directory calling-dir)) ; set default directory
+ (apply 'call-process program nil '(t nil) nil args))))))
(defun reftex-access-search-path (type &optional recurse master-dir file)
;; Access path from environment variables. TYPE is either "tex" or "bib".
@@ -1486,51 +1480,51 @@ When DIE is non-nil, throw an error if file not found."
(when (null (get pathvar 'status))
;; Get basic path
(set pathvar
- (reftex-uniq
- (reftex-parse-colon-path
- (mapconcat
- (lambda(x)
- (if (string-match "^!" x)
- (apply 'reftex-process-string
- (split-string (substring x 1)))
- (or (getenv x) x)))
- ;; For consistency, the next line should look like this:
- ;; (cdr (assoc type reftex-path-environment))
- ;; However, historically we have separate options for the
- ;; environment variables, so we have to do this:
- (symbol-value (intern (concat "reftex-" type
- "path-environment-variables")))
- path-separator))))
+ (reftex-uniq
+ (reftex-parse-colon-path
+ (mapconcat
+ (lambda(x)
+ (if (string-match "^!" x)
+ (apply 'reftex-process-string
+ (split-string (substring x 1)))
+ (or (getenv x) x)))
+ ;; For consistency, the next line should look like this:
+ ;; (cdr (assoc type reftex-path-environment))
+ ;; However, historically we have separate options for the
+ ;; environment variables, so we have to do this:
+ (symbol-value (intern (concat "reftex-" type
+ "path-environment-variables")))
+ path-separator))))
(put pathvar 'status 'split)
;; Check if we have recursive elements
(let ((path (symbol-value pathvar)) dir rec)
- (while (setq dir (pop path))
- (when (string= (substring dir -2) "//")
- (if (file-name-absolute-p dir)
- (setq rec (or rec 'absolute))
- (setq rec 'relative))))
- (put pathvar 'rec-type rec)))
+ (while (setq dir (pop path))
+ (when (string= (substring dir -2) "//")
+ (if (file-name-absolute-p dir)
+ (setq rec (or rec 'absolute))
+ (setq rec 'relative))))
+ (put pathvar 'rec-type rec)))
(if recurse
- ;; Return the recursive expansion of the path
- (cond
- ((not (get pathvar 'rec-type))
- ;; Path does not contain recursive elements - use simple path
- (symbol-value pathvar))
- ((or (not (get pathvar 'recursive-path))
- (and (eq (get pathvar 'rec-type) 'relative)
- (not (equal master-dir (get pathvar 'master-dir)))))
- ;; Either: We don't have a recursive expansion yet.
- ;; or: Relative recursive path elements need to be expanded
- ;; relative to new default directory
- (message "Expanding search path to find %s file: %s ..." type file)
- (put pathvar 'recursive-path
- (reftex-expand-path (symbol-value pathvar) master-dir))
- (put pathvar 'master-dir master-dir)
- (get pathvar 'recursive-path))
- (t
- ;; Recursive path computed earlier is still OK.
- (get pathvar 'recursive-path)))
+ ;; Return the recursive expansion of the path
+ (cond
+ ((not (get pathvar 'rec-type))
+ ;; Path does not contain recursive elements - use simple path
+ (symbol-value pathvar))
+ ((or (not (get pathvar 'recursive-path))
+ (and (eq (get pathvar 'rec-type) 'relative)
+ (not (equal master-dir (get pathvar 'master-dir)))))
+ ;; Either: We don't have a recursive expansion yet.
+ ;; or: Relative recursive path elements need to be expanded
+ ;; relative to new default directory
+ (message "Expanding search path to find %s file: %s ..." type file)
+ (put pathvar 'recursive-path
+ (reftex-expand-path (symbol-value pathvar) master-dir))
+ (put pathvar 'master-dir master-dir)
+ (get pathvar 'recursive-path))
+ (t
+ ;; Recursive path computed earlier is still OK.
+ (get pathvar 'recursive-path)))
;; The simple path was requested
(symbol-value pathvar))))
@@ -1540,15 +1534,15 @@ When DIE is non-nil, throw an error if file not found."
(catch 'exit
(when (file-name-absolute-p file)
(if (file-regular-p file)
- (throw 'exit file)
- (throw 'exit nil)))
+ (throw 'exit file)
+ (throw 'exit nil)))
(let* ((thepath path) file1 dir)
(while (setq dir (pop thepath))
- (when (string= (substring dir -2) "//")
- (setq dir (substring dir 0 -1)))
- (setq file1 (expand-file-name file (expand-file-name dir def-dir)))
- (if (file-regular-p file1)
- (throw 'exit file1)))
+ (when (string= (substring dir -2) "//")
+ (setq dir (substring dir 0 -1)))
+ (setq file1 (expand-file-name file (expand-file-name dir def-dir)))
+ (if (file-regular-p file1)
+ (throw 'exit file1)))
;; No such file
nil)))
@@ -1557,8 +1551,8 @@ When DIE is non-nil, throw an error if file not found."
;; Trailing ! or !! will be converted into `//' (emTeX convention)
(mapcar
(lambda (dir)
- (if (string-match "\\(//+\\|/*!+\\)\\'" dir)
- (setq dir (replace-match "//" t t dir)))
+ (if (string-match "\\(//+\\|/*!+\\)\\'" dir)
+ (setq dir (replace-match "//" t t dir)))
(file-name-as-directory dir))
(delete "" (split-string path (concat path-separator "+")))))
@@ -1568,15 +1562,15 @@ When DIE is non-nil, throw an error if file not found."
(let (path1 dir recursive)
(while (setq dir (pop path))
(if (setq recursive (string= (substring dir -2) "//"))
- (setq dir (substring dir 0 -1)))
+ (setq dir (substring dir 0 -1)))
(if (and recursive
- (not (file-name-absolute-p dir)))
- (setq dir (expand-file-name dir default-dir)))
+ (not (file-name-absolute-p dir)))
+ (setq dir (expand-file-name dir default-dir)))
(if recursive
- ;; Expand recursively
- (setq path1 (append (reftex-recursive-directory-list dir) path1))
- ;; Keep unchanged
- (push dir path1)))
+ ;; Expand recursively
+ (setq path1 (append (reftex-recursive-directory-list dir) path1))
+ ;; Keep unchanged
+ (push dir path1)))
(nreverse path1)))
(defun reftex-recursive-directory-list (dir)
@@ -1584,18 +1578,18 @@ When DIE is non-nil, throw an error if file not found."
(let ((path (list dir)) path1 file files)
(while (setq dir (pop path))
(when (file-directory-p dir)
- (setq files (nreverse (directory-files dir t "[^.]")))
- (while (setq file (pop files))
- (if (file-directory-p file)
- (push (file-name-as-directory file) path)))
- (push dir path1)))
+ (setq files (nreverse (directory-files dir t "[^.]")))
+ (while (setq file (pop files))
+ (if (file-directory-p file)
+ (push (file-name-as-directory file) path)))
+ (push dir path1)))
path1))
(defun reftex-uniq (list)
(let (new)
(while list
(or (member (car list) new)
- (push (car list) new))
+ (push (car list) new))
(pop list))
(nreverse new)))
@@ -1658,8 +1652,8 @@ When DIE is non-nil, throw an error if file not found."
"Show the table of contents for the current document." t)
(autoload 'reftex-toc-recenter "reftex-toc"
"Display the TOC window and highlight line corresponding to current position." t)
-(autoload 'reftex-toggle-auto-toc-recenter "reftex-toc"
- "Toggle automatic recentering of TOC window." t)
+(autoload 'reftex-toggle-auto-toc-recenter "reftex-toc" t)
+
;;; =========================================================================
;;;
@@ -1797,13 +1791,6 @@ When DIE is non-nil, throw an error if file not found."
(when (match-beginning n)
(buffer-substring-no-properties (match-beginning n) (match-end n))))
-(defun reftex-region-active-p ()
- "Is transient-mark-mode on and the region active?
-Works on both Emacs and XEmacs."
- (if (featurep 'xemacs)
- (and zmacs-regions (region-active-p))
- (and transient-mark-mode mark-active)))
-
(defun reftex-kill-buffer (buffer)
;; Kill buffer if it exists.
(and (setq buffer (get-buffer buffer))
@@ -1861,7 +1848,7 @@ Works on both Emacs and XEmacs."
(let* ((elt (car (member elt list))) (ex (not exclusive)) ass last-ass)
(while (and (setq ass (assoc key list))
(setq list (memq ass list))
- (or ex (not (eq elt (car list))))
+ (or ex (not (eq elt (car list))))
(memq elt list))
(setq last-ass ass
list (cdr list)))
@@ -1875,22 +1862,22 @@ Works on both Emacs and XEmacs."
(let (rtn)
(while list
(if (funcall predicate (car list))
- (push (if completion
- (list (nth nth (car list)))
- (nth nth (car list)))
- rtn))
+ (push (if completion
+ (list (nth nth (car list)))
+ (nth nth (car list)))
+ rtn))
(setq list (cdr list)))
(nreverse rtn)))
(defun reftex-make-selection-buffer-name (type &optional index)
;; Make unique name for a selection buffer.
(format " *RefTeX[%s][%d]*"
- type (or index (get reftex-docstruct-symbol :master-index) 0)))
+ type (or index (get reftex-docstruct-symbol :master-index) 0)))
(defun reftex-make-index-buffer-name (tag &optional cnt)
;; Make unique name for an index buffer.
(format "*Index[%s][%d]*"
- tag (or cnt (get reftex-docstruct-symbol :master-index) 0)))
+ tag (or cnt (get reftex-docstruct-symbol :master-index) 0)))
(defun reftex-truncate (string ncols &optional ellipses padding)
;; Truncate STRING to NCOLS characters.
@@ -1898,11 +1885,11 @@ Works on both Emacs and XEmacs."
;; white space to NCOLS characters. When ELLIPSES is non-nil and the
;; string needs to be truncated, replace last 3 characters by dots.
(setq string
- (if (<= (length string) ncols)
- string
- (if ellipses
- (concat (substring string 0 (- ncols 3)) "...")
- (substring string 0 ncols))))
+ (if (<= (length string) ncols)
+ string
+ (if ellipses
+ (concat (substring string 0 (- ncols 3)) "...")
+ (substring string 0 ncols))))
(if padding
(format (format "%%-%ds" ncols) string)
string))
@@ -1912,8 +1899,8 @@ Works on both Emacs and XEmacs."
;; If POS is given, calculate distances relative to it.
;; Return nil if there is no match.
(let ((pos (point))
- (dist (or max-length (length regexp)))
- match1 match2 match)
+ (dist (or max-length (length regexp)))
+ match1 match2 match)
(goto-char (min (+ pos dist) (point-max)))
(when (re-search-backward regexp nil t)
(setq match1 (match-data)))
@@ -1949,14 +1936,14 @@ Works on both Emacs and XEmacs."
;; Enlarge other window displaying buffer to show whole buffer if possible.
;; If KEEP-CURRENT in non-nil, current buffer must remain visible.
(let* ((win1 (selected-window))
- (buf1 (current-buffer))
- (win2 (get-buffer-window buf2))) ;; Only on current frame.
+ (buf1 (current-buffer))
+ (win2 (get-buffer-window buf2))) ;; Only on current frame.
(when win2
(select-window win2)
- (unless (and (pos-visible-in-window-p (point-min))
- (pos-visible-in-window-p (point-max)))
- (enlarge-window (1+ (- (count-lines (point-min) (point-max))
- (reftex-window-height))))))
+ (unless (and (pos-visible-in-window-p 1)
+ (pos-visible-in-window-p (point-max)))
+ (enlarge-window (1+ (- (count-lines 1 (point-max))
+ (reftex-window-height))))))
(cond
((window-live-p win1) (select-window win1))
(keep-current
@@ -1971,37 +1958,37 @@ Works on both Emacs and XEmacs."
(let ((char ?\?))
(save-window-excursion
(catch 'exit
- (message (concat prompt " (?=Help)"))
- (when (or (sit-for (or delay-time 0))
- (= ?\? (setq char (read-char-exclusive))))
- (reftex-kill-buffer "*RefTeX Select*")
- (switch-to-buffer-other-window "*RefTeX Select*")
- (insert help-string)
- (goto-char 1)
- (unless (and (pos-visible-in-window-p (point-min))
- (pos-visible-in-window-p (point-max)))
- (enlarge-window (1+ (- (count-lines (point-min) (point-max))
- (reftex-window-height)))))
- (setq truncate-lines t))
- (if (and (pos-visible-in-window-p (point-min))
- (pos-visible-in-window-p (point-max)))
- nil
- (setq prompt (concat prompt (if scroll " (SPC/DEL=Scroll)" ""))))
- (message prompt)
- (and (equal char ?\?) (setq char (read-char-exclusive)))
- (while t
- (cond ((equal char ?\C-g) (keyboard-quit))
- ((equal char ?\?))
- ((and scroll (equal char ?\ ))
- (condition-case nil (scroll-up) (error nil))
- (message prompt))
- ((and scroll (equal char ?\C-? ))
- (condition-case nil (scroll-down) (error nil))
- (message prompt))
- (t (message "")
- (throw 'exit char)))
- (setq char (read-char-exclusive)))))))
-
+ (message (concat prompt " (?=Help)"))
+ (when (or (sit-for (or delay-time 0))
+ (= ?\? (setq char (read-char-exclusive))))
+ (reftex-kill-buffer "*RefTeX Select*")
+ (switch-to-buffer-other-window "*RefTeX Select*")
+ (insert help-string)
+ (goto-char 1)
+ (unless (and (pos-visible-in-window-p (point-min))
+ (pos-visible-in-window-p (point-max)))
+ (enlarge-window (1+ (- (count-lines (point-min) (point-max))
+ (reftex-window-height)))))
+ (setq truncate-lines t))
+ (if (and (pos-visible-in-window-p (point-min))
+ (pos-visible-in-window-p (point-max)))
+ nil
+ (setq prompt (concat prompt (if scroll " (SPC/DEL=Scroll)" ""))))
+ (message prompt)
+ (and (equal char ?\?) (setq char (read-char-exclusive)))
+ (while t
+ (cond ((equal char ?\C-g) (keyboard-quit))
+ ((equal char ?\?))
+ ((and scroll (equal char ?\ ))
+ (condition-case nil (scroll-up) (error nil))
+ (message prompt))
+ ((and scroll (equal char ?\C-? ))
+ (condition-case nil (scroll-down) (error nil))
+ (message prompt))
+ (t (message "")
+ (throw 'exit char)))
+ (setq char (read-char-exclusive)))))))
+
(defun reftex-make-regexp-allow-for-ctrl-m (string)
;; convert STRING into a regexp, allowing ^M for \n and vice versa
@@ -2024,14 +2011,14 @@ Works on both Emacs and XEmacs."
;; Define `current-message' for compatibility with XEmacs prior to 20.4
(defvar message-stack)
(if (and (featurep 'xemacs)
- (not (fboundp 'current-message)))
+ (not (fboundp 'current-message)))
(defun current-message (&optional frame)
(cdr (car message-stack))))
(defun reftex-visited-files (list)
;; Takes a list of filenames and returns the buffers of those already visited
(delq nil (mapcar (lambda (x) (if (reftex-get-buffer-visiting x) x nil))
- list)))
+ list)))
(defun reftex-get-file-buffer-force (file &optional mark-to-kill)
;; Return a buffer visiting file. Make one, if necessary.
@@ -2062,7 +2049,7 @@ Works on both Emacs and XEmacs."
(let ((format-alist nil)
(auto-mode-alist (reftex-auto-mode-alist))
(default-major-mode 'fundamental-mode)
- (enable-local-variables nil)
+ (enable-local-variables nil)
(after-insert-file-functions nil))
(setq buf (find-file-noselect file)))
@@ -2072,9 +2059,9 @@ Works on both Emacs and XEmacs."
(set-buffer buf)
(run-hooks 'reftex-initialize-temporary-buffers))))
- ;; Lets see if we got a license to kill :-|
- (and mark-to-kill
- (add-to-list 'reftex-buffers-to-kill buf))
+ ;; Lets see if we got a license to kill :-|
+ (and mark-to-kill
+ (add-to-list 'reftex-buffers-to-kill buf))
;; Return the new buffer
buf)
@@ -2124,7 +2111,7 @@ Works on both Emacs and XEmacs."
(let (rtn)
(while list
(unless (symbolp (car list))
- (push (car list) rtn))
+ (push (car list) rtn))
(setq list (cdr list)))
(nreverse rtn)))
@@ -2134,7 +2121,7 @@ Works on both Emacs and XEmacs."
(while list
(setq elm (pop list))
(unless (member elm new)
- (push elm new)))
+ (push elm new)))
(nreverse new)))
(defun reftex-uniquify-by-car (alist &optional keep-list)
@@ -2150,11 +2137,11 @@ Works on both Emacs and XEmacs."
(defun reftex-abbreviate-title (string)
(reftex-convert-string string "[-~ \t\n\r,;]" nil t t
- 5 40 nil 1 " " (nth 5 reftex-derive-label-parameters)))
+ 5 40 nil 1 " " (nth 5 reftex-derive-label-parameters)))
(defun reftex-convert-string (string split-re illegal-re dot keep-fp
- nwords maxchar illegal abbrev sep
- ignore-words &optional downcase)
+ nwords maxchar illegal abbrev sep
+ ignore-words &optional downcase)
"Convert a string (a sentence) to something shorter.
SPLIT-RE is the regular expression used to split the string into words.
ILLEGAL-RE matches characters which are illegal in the final string.
@@ -2172,14 +2159,14 @@ SEP String separating different words in the output string.
IGNORE-WORDS List of words which should be removed from the string."
(let* ((words0 (split-string string (or split-re "[ \t\n\r]")))
- (reftex-label-illegal-re (or illegal-re "\000"))
- (abbrev-re (concat
- "\\`\\("
- (make-string (nth 0 reftex-abbrev-parameters) ?.)
- "[" (nth 2 reftex-abbrev-parameters) "]*"
- "\\)"
- "[" (nth 3 reftex-abbrev-parameters) "]"
- (make-string (1- (nth 1 reftex-abbrev-parameters)) ?.)))
+ (reftex-label-illegal-re (or illegal-re "\000"))
+ (abbrev-re (concat
+ "\\`\\("
+ (make-string (nth 0 reftex-abbrev-parameters) ?.)
+ "[" (nth 2 reftex-abbrev-parameters) "]*"
+ "\\)"
+ "[" (nth 3 reftex-abbrev-parameters) "]"
+ (make-string (1- (nth 1 reftex-abbrev-parameters)) ?.)))
words word)
;; Remove words from the ignore list or with funny characters
@@ -2199,21 +2186,21 @@ IGNORE-WORDS List of words which should be removed from the string."
;; Restrict number of words
(if (> (length words) nwords)
(setcdr (nthcdr (1- nwords) words) nil))
-
+
;; First, try to use all words
(setq string (mapconcat 'identity words sep))
-
+
;; Abbreviate words if enforced by user settings or string length
(if (or (eq t abbrev)
(and abbrev
(> (length string) maxchar)))
(setq words
(mapcar
- (lambda (w) (if (string-match abbrev-re w)
- (if dot
- (concat (match-string 1 w) ".")
- (match-string 1 w))
- w))
+ (lambda (w) (if (string-match abbrev-re w)
+ (if dot
+ (concat (match-string 1 w) ".")
+ (match-string 1 w))
+ w))
words)
string (mapconcat 'identity words sep)))
@@ -2263,47 +2250,47 @@ IGNORE-WORDS List of words which should be removed from the string."
(and (reftex-use-fonts)
(or (eq t reftex-refontify-context)
(and (eq 1 reftex-refontify-context)
- ;; Test of we use the font-lock version of x-symbol
- (and (featurep 'x-symbol-tex) (not (boundp 'x-symbol-mode)))))))
+ ;; Test of we use the font-lock version of x-symbol
+ (and (featurep 'x-symbol-tex) (not (boundp 'x-symbol-mode)))))))
(defvar font-lock-defaults-computed)
(defun reftex-fontify-select-label-buffer (parent-buffer)
;; Fontify the `*RefTeX Select*' buffer. Buffer is temporarily renamed to
;; start with none-SPC char, beacuse Font-Lock otherwise refuses operation.
(run-hook-with-args 'reftex-pre-refontification-functions
- parent-buffer 'reftex-ref)
+ parent-buffer 'reftex-ref)
(let* ((oldname (buffer-name))
- (newname (concat "Fontify-me-" oldname)))
+ (newname (concat "Fontify-me-" oldname)))
(unwind-protect
- (progn
- ;; Rename buffer temporarily to start w/o space (because of font-lock)
- (rename-buffer newname t)
- (cond
- ((fboundp 'font-lock-default-fontify-region)
- ;; Good: we have the indirection functions
- (set (make-local-variable 'font-lock-fontify-region-function)
- 'reftex-select-font-lock-fontify-region)
- (let ((major-mode 'latex-mode))
- (font-lock-mode 1)))
- ((fboundp 'font-lock-set-defaults-1)
- ;; Looks like the XEmacs font-lock stuff.
- ;; FIXME: this is still kind of a hack, but it works.
- (set (make-local-variable 'font-lock-keywords) nil)
- (let ((major-mode 'latex-mode)
- (font-lock-defaults-computed nil))
- (font-lock-set-defaults-1)
- (reftex-select-font-lock-fontify-region (point-min) (point-max))))
- (t
- ;; Oops?
- (message "Sorry: cannot refontify RefTeX Select buffer."))))
+ (progn
+ ;; Rename buffer temporarily to start w/o space (because of font-lock)
+ (rename-buffer newname t)
+ (cond
+ ((fboundp 'font-lock-default-fontify-region)
+ ;; Good: we have the indirection functions
+ (set (make-local-variable 'font-lock-fontify-region-function)
+ 'reftex-select-font-lock-fontify-region)
+ (let ((major-mode 'latex-mode))
+ (font-lock-mode 1)))
+ ((fboundp 'font-lock-set-defaults-1)
+ ;; Looks like the XEmacs font-lock stuff.
+ ;; FIXME: this is still kind of a hack, but it works.
+ (set (make-local-variable 'font-lock-keywords) nil)
+ (let ((major-mode 'latex-mode)
+ (font-lock-defaults-computed nil))
+ (font-lock-set-defaults-1)
+ (reftex-select-font-lock-fontify-region (point-min) (point-max))))
+ (t
+ ;; Oops?
+ (message "Sorry: cannot refontify RefTeX Select buffer."))))
(rename-buffer oldname))))
(defun reftex-select-font-lock-fontify-region (beg end &optional loudly)
;; Fontify a region, but only lines starting with a dot.
(let ((func (if (fboundp 'font-lock-default-fontify-region)
- 'font-lock-default-fontify-region
- 'font-lock-fontify-region))
- beg1 end1)
+ 'font-lock-default-fontify-region
+ 'font-lock-fontify-region))
+ beg1 end1)
(goto-char beg)
(while (re-search-forward "^\\." end t)
(setq beg1 (point) end1 (progn (skip-chars-forward "^\n") (point)))
@@ -2322,9 +2309,9 @@ IGNORE-WORDS List of words which should be removed from the string."
(let (face)
(catch 'exit
(while (setq face (pop faces))
- (if (featurep 'xemacs)
- (if (find-face face) (throw 'exit face))
- (if (facep face) (throw 'exit face)))))))
+ (if (featurep 'xemacs)
+ (if (find-face face) (throw 'exit face))
+ (if (facep face) (throw 'exit face)))))))
;; Highlighting uses overlays. For XEmacs, we need the emulation.
(if (featurep 'xemacs) (require 'overlay))
@@ -2334,14 +2321,14 @@ IGNORE-WORDS List of words which should be removed from the string."
;; Initialize the overlays
(aset reftex-highlight-overlays 0 (make-overlay 1 1))
-(overlay-put (aref reftex-highlight-overlays 0)
- 'face 'highlight)
+(overlay-put (aref reftex-highlight-overlays 0)
+ 'face 'highlight)
(aset reftex-highlight-overlays 1 (make-overlay 1 1))
(overlay-put (aref reftex-highlight-overlays 1)
- 'face reftex-cursor-selected-face)
+ 'face reftex-cursor-selected-face)
(aset reftex-highlight-overlays 2 (make-overlay 1 1))
(overlay-put (aref reftex-highlight-overlays 2)
- 'face reftex-cursor-selected-face)
+ 'face reftex-cursor-selected-face)
;; Two functions for activating and deactivation highlight overlays
(defun reftex-highlight (index begin end &optional buffer)
@@ -2359,30 +2346,30 @@ IGNORE-WORDS List of words which should be removed from the string."
;;; =========================================================================
;;;
-;;; Keybindings
+;;; Keybindings
;; The default bindings in the mode map.
(loop for x in
'(("\C-c=" . reftex-toc)
- ("\C-c-" . reftex-toc-recenter)
- ("\C-c(" . reftex-label)
- ("\C-c)" . reftex-reference)
- ("\C-c[" . reftex-citation)
- ("\C-c<" . reftex-index)
- ("\C-c>" . reftex-display-index)
- ("\C-c/" . reftex-index-selection-or-word)
- ("\C-c\\" . reftex-index-phrase-selection-or-word)
- ("\C-c|" . reftex-index-visit-phrases-buffer)
- ("\C-c&" . reftex-view-crossref))
+ ("\C-c-" . reftex-toc-recenter)
+ ("\C-c(" . reftex-label)
+ ("\C-c)" . reftex-reference)
+ ("\C-c[" . reftex-citation)
+ ("\C-c<" . reftex-index)
+ ("\C-c>" . reftex-display-index)
+ ("\C-c/" . reftex-index-selection-or-word)
+ ("\C-c\\" . reftex-index-phrase-selection-or-word)
+ ("\C-c|" . reftex-index-visit-phrases-buffer)
+ ("\C-c&" . reftex-view-crossref))
do (define-key reftex-mode-map (car x) (cdr x)))
;; Bind `reftex-mouse-view-crossref' only when the key is still free
(if (featurep 'xemacs)
(unless (key-binding [(shift button2)])
- (define-key reftex-mode-map [(shift button2)]
- 'reftex-mouse-view-crossref))
+ (define-key reftex-mode-map [(shift button2)]
+ 'reftex-mouse-view-crossref))
(unless (key-binding [(shift mouse-2)])
- (define-key reftex-mode-map [(shift mouse-2)]
+ (define-key reftex-mode-map [(shift mouse-2)]
'reftex-mouse-view-crossref)))
;; Bind `reftex-view-crossref-from-bibtex' in BibTeX mode map
@@ -2393,14 +2380,14 @@ IGNORE-WORDS List of words which should be removed from the string."
;; If the user requests so, she can have a few more bindings:
(when reftex-extra-bindings
(loop for x in
- '(("\C-ct" . reftex-toc)
- ("\C-cl" . reftex-label)
- ("\C-cr" . reftex-reference)
- ("\C-cc" . reftex-citation)
- ("\C-cv" . reftex-view-crossref)
- ("\C-cg" . reftex-grep-document)
- ("\C-cs" . reftex-search-document))
- do (define-key reftex-mode-map (car x) (cdr x))))
+ '(("\C-ct" . reftex-toc)
+ ("\C-cl" . reftex-label)
+ ("\C-cr" . reftex-reference)
+ ("\C-cc" . reftex-citation)
+ ("\C-cv" . reftex-view-crossref)
+ ("\C-cg" . reftex-grep-document)
+ ("\C-cs" . reftex-search-document))
+ do (define-key reftex-mode-map (car x) (cdr x))))
;;; =========================================================================
;;;
@@ -2477,23 +2464,23 @@ IGNORE-WORDS List of words which should be removed from the string."
:style toggle :selected reftex-plug-into-AUCTeX])
("Reference Style"
["Default" (setq reftex-vref-is-default nil
- reftex-fref-is-default nil)
- :style radio :selected (not (or reftex-vref-is-default
- reftex-fref-is-default))]
+ reftex-fref-is-default nil)
+ :style radio :selected (not (or reftex-vref-is-default
+ reftex-fref-is-default))]
["Varioref" (setq reftex-vref-is-default t
- reftex-fref-is-default nil)
+ reftex-fref-is-default nil)
:style radio :selected reftex-vref-is-default]
["Fancyref" (setq reftex-fref-is-default t
- reftex-vref-is-default nil)
+ reftex-vref-is-default nil)
:style radio :selected reftex-fref-is-default])
("Citation Style"
,@(mapcar
(lambda (x)
- (vector
- (capitalize (symbol-name (car x)))
- (list 'reftex-set-cite-format (list 'quote (car x)))
- :style 'radio :selected
- (list 'eq (list 'reftex-get-cite-format) (list 'quote (car x)))))
+ (vector
+ (capitalize (symbol-name (car x)))
+ (list 'reftex-set-cite-format (list 'quote (car x)))
+ :style 'radio :selected
+ (list 'eq (list 'reftex-get-cite-format) (list 'quote (car x)))))
reftex-cite-format-builtin)
"--"
"Sort Database Matches"
@@ -2508,13 +2495,13 @@ IGNORE-WORDS List of words which should be removed from the string."
("Index Style"
,@(mapcar
(lambda (x)
- (vector
- (capitalize (symbol-name (car x)))
- (list 'reftex-add-index-macros (list 'list (list 'quote (car x))))
- :style 'radio :selected
- (list 'memq (list 'quote (car x))
- (list 'get 'reftex-docstruct-symbol
- (list 'quote 'reftex-index-macros-style)))))
+ (vector
+ (capitalize (symbol-name (car x)))
+ (list 'reftex-add-index-macros (list 'list (list 'quote (car x))))
+ :style 'radio :selected
+ (list 'memq (list 'quote (car x))
+ (list 'get 'reftex-docstruct-symbol
+ (list 'quote 'reftex-index-macros-style)))))
reftex-index-macros-builtin))
"--"
["Reset RefTeX Mode" reftex-reset-mode t]
@@ -2522,7 +2509,7 @@ IGNORE-WORDS List of words which should be removed from the string."
("Customize"
["Browse RefTeX Group" reftex-customize t]
"--"
- ["Build Full Customize Menu" reftex-create-customize-menu
+ ["Build Full Customize Menu" reftex-create-customize-menu
(fboundp 'customize-menu-create)])
("Documentation"
["Info" reftex-info t]
@@ -2538,17 +2525,17 @@ IGNORE-WORDS List of words which should be removed from the string."
(interactive)
(if (fboundp 'customize-menu-create)
(progn
- (easy-menu-change
- '("Ref") "Customize"
- `(["Browse RefTeX group" reftex-customize t]
- "--"
- ,(customize-menu-create 'reftex)
- ["Set" Custom-set t]
- ["Save" Custom-save t]
- ["Reset to Current" Custom-reset-current t]
- ["Reset to Saved" Custom-reset-saved t]
- ["Reset to Standard Settings" Custom-reset-standard t]))
- (message "\"Ref\"-menu now contains full customization menu"))
+ (easy-menu-change
+ '("Ref") "Customize"
+ `(["Browse RefTeX group" reftex-customize t]
+ "--"
+ ,(customize-menu-create 'reftex)
+ ["Set" Custom-set t]
+ ["Save" Custom-save t]
+ ["Reset to Current" Custom-reset-current t]
+ ["Reset to Saved" Custom-reset-saved t]
+ ["Reset to Standard Settings" Custom-reset-standard t]))
+ (message "\"Ref\"-menu now contains full customization menu"))
(error "Cannot expand menu (outdated version of cus-edit.el)")))
(defun reftex-show-commentary ()
@@ -2576,9 +2563,8 @@ With optional NODE, go directly to that node."
;;; That's it! ----------------------------------------------------------------
(setq reftex-tables-dirty t) ; in case this file is evaluated by hand
-(provide 'reftex)
+(provide 'reftex)
;;;============================================================================
-;;; arch-tag: 49e0da4e-bd5e-4cfc-a717-fb444fccb9e6
;;; reftex.el ends here
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 6e7b2a9a51c..1028bb3122b 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -1954,5 +1954,4 @@ Can be used as a value for `html-mode-hook'."
(provide 'sgml-mode)
-;;; arch-tag: 9675da94-b7f9-4bda-ad19-73ed7b4fb401
;;; sgml-mode.el ends here
diff --git a/lisp/textmodes/spell.el b/lisp/textmodes/spell.el
index c6289819c88..1923c867fb7 100644
--- a/lisp/textmodes/spell.el
+++ b/lisp/textmodes/spell.el
@@ -163,5 +163,4 @@ for example, \"word\"."
(provide 'spell)
-;;; arch-tag: 7eabb848-9c76-431a-bcdb-0e0592d2db04
;;; spell.el ends here
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index 44e82efc5b7..2edf604ecbf 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -5587,5 +5587,4 @@ It returns COLUMN unless STR contains some wide characters."
;; End: ***
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;; arch-tag: 0d69b03e-aa5f-4e72-8806-5727217617e0
;;; table.el ends here
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index cbf2f1cdef8..ca345f8b635 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -196,7 +196,7 @@ use."
:group 'tex-view)
;;;###autoload
-(defcustom tex-dvi-view-command '(if (eq window-system 'x) "xdvi" "dvi2tty * | cat -s")
+(defcustom tex-dvi-view-command '(if (eq window-system 'x) \"xdvi\" \"dvi2tty * | cat -s\")
"*Command used by \\[tex-view] to display a `.dvi' file.
If it is a string, that specifies the command directly.
If this string contains an asterisk (`*'), that is replaced by the file name;
@@ -2412,5 +2412,4 @@ There might be text before point."
(provide 'tex-mode)
-;;; arch-tag: c0a680b1-63aa-4547-84b9-4193c29c0080
;;; tex-mode.el ends here
diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el
index 3b135e1a081..59adecc2ed1 100644
--- a/lisp/textmodes/texinfmt.el
+++ b/lisp/textmodes/texinfmt.el
@@ -4334,5 +4334,4 @@ For example, invoke
;;; Place `provide' at end of file.
(provide 'texinfmt)
-;;; arch-tag: 1e8d9a2d-bca0-40a0-ac6c-dab01bc6f725
;;; texinfmt.el ends here
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el
index 1bead17e10c..37da88410f9 100644
--- a/lisp/textmodes/texinfo.el
+++ b/lisp/textmodes/texinfo.el
@@ -1039,5 +1039,4 @@ You are prompted for the job number (use a number shown by a previous
(provide 'texinfo)
-;;; arch-tag: 005d7c38-43b9-4b7d-aa1d-aea69bae73e1
;;; texinfo.el ends here
diff --git a/lisp/textmodes/texnfo-upd.el b/lisp/textmodes/texnfo-upd.el
index fb44acbff4f..43a6f0d0ac0 100644
--- a/lisp/textmodes/texnfo-upd.el
+++ b/lisp/textmodes/texnfo-upd.el
@@ -2039,5 +2039,4 @@ chapter."
;; Place `provide' at end of file.
(provide 'texnfo-upd)
-;;; arch-tag: d21613a5-c32f-43f4-8af4-bfb1e7455842
;;; texnfo-upd.el ends here
diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el
index 322ab098413..1d92b26b13e 100644
--- a/lisp/textmodes/text-mode.el
+++ b/lisp/textmodes/text-mode.el
@@ -178,5 +178,4 @@ The argument NLINES says how many lines to center."
(setq nlines (1+ nlines))
(forward-line -1)))))
-;;; arch-tag: a07ccaad-da13-4d7b-9c61-cd04f5926aab
;;; text-mode.el ends here
diff --git a/lisp/textmodes/tildify.el b/lisp/textmodes/tildify.el
index c8dcc4dba11..27452dc98d1 100644
--- a/lisp/textmodes/tildify.el
+++ b/lisp/textmodes/tildify.el
@@ -354,5 +354,4 @@ further questions)."
;; coding: iso-latin-2
;; End:
-;;; arch-tag: fc9b05a6-7355-4639-8170-dcf57853ba22
;;; tildify.el ends here
diff --git a/lisp/textmodes/two-column.el b/lisp/textmodes/two-column.el
index 71687f431c0..1e47a65a522 100644
--- a/lisp/textmodes/two-column.el
+++ b/lisp/textmodes/two-column.el
@@ -639,5 +639,4 @@ When autoscrolling is turned on, this also realigns the two buffers."
(provide 'two-column)
-;;; arch-tag: 2021b5ab-d3a4-4a8c-a21c-1936b0f9e6b1
;;; two-column.el ends here
diff --git a/lisp/textmodes/underline.el b/lisp/textmodes/underline.el
index 18f86eb55de..d6f08b5deea 100644
--- a/lisp/textmodes/underline.el
+++ b/lisp/textmodes/underline.el
@@ -62,5 +62,4 @@ which specify the range to operate on."
(provide 'underline)
-;;; arch-tag: e7b48582-c3ea-4386-987a-87415f3c372a
;;; underline.el ends here
diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el
index eee7b853743..4dd56862913 100644
--- a/lisp/thingatpt.el
+++ b/lisp/thingatpt.el
@@ -413,5 +413,4 @@ Signal an error if the entire string was not used."
;;;###autoload
(defun list-at-point () (form-at-point 'list 'listp))
-;;; arch-tag: bb65a163-dae2-4055-aedc-fe11f497f698
;;; thingatpt.el ends here
diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el
index b6e76ee5394..a3f0d66be3e 100644
--- a/lisp/time-stamp.el
+++ b/lisp/time-stamp.el
@@ -760,5 +760,4 @@ The first character of DD is space if the value is less than 10."
(provide 'time-stamp)
-;;; arch-tag: 8a12c5c3-25d6-4a71-adc5-24b0e025a1e7
;;; time-stamp.el ends here
diff --git a/lisp/time.el b/lisp/time.el
index ba1b66f8a72..0f7d8d97d90 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -391,5 +391,4 @@ This runs the normal hook `display-time-hook' after each update."
(provide 'time)
-;;; arch-tag: b9c1623f-b5cb-48e4-b650-482a4d23c5a6
;;; time.el ends here
diff --git a/lisp/timezone.el b/lisp/timezone.el
index 90a5ac37de5..7e1fe70ee33 100644
--- a/lisp/timezone.el
+++ b/lisp/timezone.el
@@ -397,5 +397,4 @@ The Gregorian date Sunday, December 31, 1 BC is imaginary."
(provide 'timezone)
-;;; arch-tag: e23d5bc6-f32d-48ba-8996-323e9d654b3f
;;; timezone.el ends here
diff --git a/lisp/tmm.el b/lisp/tmm.el
index 99931867792..759caba5605 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -506,5 +506,4 @@ of `menu-bar-final-items'."
(provide 'tmm)
-;;; arch-tag: e7ddbdb6-4b95-4da3-afbe-ad6063d112f4
;;; tmm.el ends here
diff --git a/lisp/toolbar/gud-display.pbm b/lisp/toolbar/gud-display.pbm
deleted file mode 100644
index df2349619e7..00000000000
--- a/lisp/toolbar/gud-display.pbm
+++ /dev/null
Binary files differ
diff --git a/lisp/toolbar/gud-display.xpm b/lisp/toolbar/gud-display.xpm
deleted file mode 100644
index 85c57bc2aa1..00000000000
--- a/lisp/toolbar/gud-display.xpm
+++ /dev/null
@@ -1,29 +0,0 @@
-/* XPM */
-static char * display_xpm[] = {
-"24 24 2 1",
-" c #C0C0C0C0C0C0",
-". c #000000000000",
-" ",
-" ",
-" ",
-" ",
-" ... ",
-" .. ",
-" .. ",
-" .. ",
-" ..... ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" .. .. ",
-" ...... ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/lisp/toolbar/gud-next.pbm b/lisp/toolbar/gud-next.pbm
deleted file mode 100644
index dc2a15323e3..00000000000
--- a/lisp/toolbar/gud-next.pbm
+++ /dev/null
Binary files differ
diff --git a/lisp/toolbar/gud-next.xpm b/lisp/toolbar/gud-next.xpm
deleted file mode 100644
index 0e631de18e1..00000000000
--- a/lisp/toolbar/gud-next.xpm
+++ /dev/null
@@ -1,34 +0,0 @@
-/* XPM */
-static char * next_xpm[] = {
-"24 24 7 1",
-" c #c0c0c0",
-". c #cc0033",
-"X c #616161",
-"o c #2a1f55",
-"O c #adadad",
-"+ c #d40000",
-"@ c #cc9999",
-" ",
-" ",
-" ",
-" ",
-" .......... ",
-" . . ",
-" . . ",
-" . Xo oX . ",
-" . XoO OoX . ",
-" . oo oo +@.@+ ",
-" oo oo @...@ ",
-" oo oo ... ",
-" oX Xo @.@ ",
-" oo oo . ",
-" oX Xo ",
-" oo oo ",
-" oo oo ",
-" oo oo ",
-" XoO OoX ",
-" Xo oX ",
-" ",
-" ",
-" ",
-" "};
diff --git a/lisp/toolbar/gud-nexti.pbm b/lisp/toolbar/gud-nexti.pbm
deleted file mode 100644
index ecad2965b0d..00000000000
--- a/lisp/toolbar/gud-nexti.pbm
+++ /dev/null
Binary files differ
diff --git a/lisp/toolbar/gud-nexti.xpm b/lisp/toolbar/gud-nexti.xpm
deleted file mode 100644
index cdb8c38e8d4..00000000000
--- a/lisp/toolbar/gud-nexti.xpm
+++ /dev/null
@@ -1,33 +0,0 @@
-/* XPM */
-static char * gud_nexti_xpm[] = {
-"24 24 6 1",
-" c #C0C0C0C0C0C0",
-". c #CCCC00003333",
-"X c #616161616161",
-"o c #D4D400000000",
-"O c #CCCC99999999",
-"+ c #2A2A1F1F5555",
-" ",
-" ",
-" ",
-" ",
-" .......... ",
-" . . ",
-" . . ",
-" . . ",
-" . . ",
-" . X X oO.Oo ",
-" X+ +X O...O ",
-" X+ +X ... ",
-" X+ +X O.O ",
-" X+ +X . ",
-" +X X+ ",
-" +X X+ ",
-" +X X+ ",
-" +X X+ ",
-" + + ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/lisp/toolbar/gud-step.pbm b/lisp/toolbar/gud-step.pbm
deleted file mode 100644
index de7caa50ed5..00000000000
--- a/lisp/toolbar/gud-step.pbm
+++ /dev/null
Binary files differ
diff --git a/lisp/toolbar/gud-step.xpm b/lisp/toolbar/gud-step.xpm
deleted file mode 100644
index 7b4eb876235..00000000000
--- a/lisp/toolbar/gud-step.xpm
+++ /dev/null
@@ -1,33 +0,0 @@
-/* XPM */
-static char * step_xpm[] = {
-"24 24 6 1",
-" c #c0c0c0",
-". c #d40000",
-"X c #616161",
-"o c #2a1f55",
-"O c #adadad",
-"+ c #cc9999",
-" ",
-" ",
-" ",
-" ",
-" ..... ",
-" . . ",
-" . . ",
-" . Xo . oX ",
-" . XoO . OoX ",
-" . oo .+.+. oo ",
-" oo +...+ oo ",
-" oo ... oo ",
-" oX +.+ Xo ",
-" oo . oo ",
-" oX Xo ",
-" oo oo ",
-" oo oo ",
-" oo oo ",
-" XoO OoX ",
-" Xo oX ",
-" ",
-" ",
-" ",
-" "};
diff --git a/lisp/toolbar/gud-stepi.pbm b/lisp/toolbar/gud-stepi.pbm
deleted file mode 100644
index eed55cc4a33..00000000000
--- a/lisp/toolbar/gud-stepi.pbm
+++ /dev/null
Binary files differ
diff --git a/lisp/toolbar/gud-stepi.xpm b/lisp/toolbar/gud-stepi.xpm
deleted file mode 100644
index d2667fc70b6..00000000000
--- a/lisp/toolbar/gud-stepi.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* XPM */
-static char * gud_stepi_xpm[] = {
-"24 24 5 1",
-" c #C0C0C0C0C0C0",
-". c #D4D400000000",
-"X c #616161616161",
-"o c #2A2A1F1F5555",
-"O c #CCCC99999999",
-" ",
-" ",
-" ",
-" ",
-" ..... ",
-" . . ",
-" . . ",
-" . . ",
-" . X . X ",
-" . Xo .O.O. oX ",
-" Xo O...O oX ",
-" Xo ... oX ",
-" Xo O.O oX ",
-" oX . Xo ",
-" oX Xo ",
-" oX Xo ",
-" oX Xo ",
-" o o ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" "};
diff --git a/lisp/toolbar/tool-bar.el b/lisp/toolbar/tool-bar.el
index 425789eb80e..4cee4a00e65 100644
--- a/lisp/toolbar/tool-bar.el
+++ b/lisp/toolbar/tool-bar.el
@@ -266,5 +266,4 @@ MAP must contain appropriate binding for `[menu-bar]' which holds a keymap."
(provide 'tool-bar)
-;;; arch-tag: 15f30f0a-d0d7-4d50-bbb7-f48fd0c8582f
;;; tool-bar.el ends here
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 6ff86b4cf0b..59cb3e27913 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -524,5 +524,4 @@ use either \\[customize] or the function `tooltip-mode'."
(provide 'tooltip)
-;;; arch-tag: 3d61135e-4618-4a78-af28-183f6df5636f
;;; tooltip.el ends here
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 86e5199e730..4121287ea08 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -8,7 +8,7 @@
;; Status: Works in GNU Emacs 19.25 or later, some versions of XEmacs
;; Created: 1994-07-13
-;; $Id: type-break.el,v 1.28 2003/05/28 11:25:44 rms Exp $
+;; $Id: type-break.el,v 1.27 2003/05/06 17:50:17 lektu Exp $
;; This file is part of GNU Emacs.
@@ -1090,5 +1090,4 @@ With optional non-nil ALL, force redisplay of all mode-lines."
(if type-break-mode
(type-break-mode 1))
-;;; arch-tag: 943a2eb3-07e6-420b-993f-96e4796f5fd0
;;; type-break.el ends here
diff --git a/lisp/uniquify.el b/lisp/uniquify.el
index f106297476c..656f5c37080 100644
--- a/lisp/uniquify.el
+++ b/lisp/uniquify.el
@@ -457,6 +457,4 @@ For use on `kill-buffer-hook'."
(add-hook 'kill-buffer-hook 'uniquify-maybe-rerationalize-w/o-cb)
(provide 'uniquify)
-
-;;; arch-tag: e763faa3-56c9-4903-8eb8-26e1c45a0065
;;; uniquify.el ends here
diff --git a/lisp/userlock.el b/lisp/userlock.el
index e6e5ef0a1b5..752c3bc90c7 100644
--- a/lisp/userlock.el
+++ b/lisp/userlock.el
@@ -160,5 +160,4 @@ to get the latest version of the file, then make the change again.")
(set-buffer standard-output)
(help-mode))))
-;;; arch-tag: a61c5b60-e1c8-44fd-894a-c617f4dfc639
;;; userlock.el ends here
diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el
index 458bec111b1..aef61375704 100644
--- a/lisp/vc-cvs.el
+++ b/lisp/vc-cvs.el
@@ -5,7 +5,7 @@
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
-;; $Id: vc-cvs.el,v 1.62 2003/07/04 22:40:26 monnier Exp $
+;; $Id: vc-cvs.el,v 1.61 2003/05/23 17:57:29 spiegel Exp $
;; This file is part of GNU Emacs.
@@ -939,5 +939,4 @@ is non-nil."
(provide 'vc-cvs)
-;;; arch-tag: 60e1402a-aa53-4607-927a-cf74f144b432
;;; vc-cvs.el ends here
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index c9603d68e25..708bb5b17e4 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -6,7 +6,7 @@
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
-;; $Id: vc-hooks.el,v 1.159 2003/08/30 10:56:38 eliz Exp $
+;; $Id: vc-hooks.el,v 1.155 2003/07/26 15:54:53 rost Exp $
;; This file is part of GNU Emacs.
@@ -40,15 +40,9 @@
;; Customization Variables (the rest is in vc.el)
(defvar vc-ignore-vc-files nil)
-(make-obsolete-variable 'vc-ignore-vc-files
- "set `vc-handled-backends' to nil to disable VC.")
-
+(make-obsolete-variable 'vc-ignore-vc-files 'vc-handled-backends)
(defvar vc-master-templates ())
-(make-obsolete-variable 'vc-master-templates
- "to define master templates for a given BACKEND, use
-vc-BACKEND-master-templates. To enable or disable VC for a given
-BACKEND, use `vc-handled-backends'.")
-
+(make-obsolete-variable 'vc-master-templates 'vc-BACKEND-master-templates)
(defvar vc-header-alist ())
(make-obsolete-variable 'vc-header-alist 'vc-BACKEND-header)
@@ -589,7 +583,7 @@ a regexp for matching all such backup files, regardless of the version."
"Make a backup copy of FILE, which is assumed in sync with the repository.
Before doing that, check if there are any old backups and get rid of them."
(unless (and (fboundp 'msdos-long-file-names)
- (not (with-no-warnings (msdos-long-file-names))))
+ (not (with-no-warnings msdos-long-file-names)))
(vc-delete-automatic-version-backups file)
(copy-file file (vc-version-backup-file-name file)
nil 'keep-date)))
@@ -848,5 +842,4 @@ Used in `find-file-not-found-functions'."
(provide 'vc-hooks)
-;;; arch-tag: 2e5a6fa7-1d30-48e2-8bd0-e3d335f04f32
;;; vc-hooks.el ends here
diff --git a/lisp/vc-mcvs.el b/lisp/vc-mcvs.el
index 033b14e6f10..1f59f5f3280 100644
--- a/lisp/vc-mcvs.el
+++ b/lisp/vc-mcvs.el
@@ -620,6 +620,4 @@ and that it passes `vc-mcvs-global-switches' to it before FLAGS."
(defalias 'vc-mcvs-valid-version-number-p 'vc-cvs-valid-version-number-p)
(provide 'vc-mcvs)
-
-;;; arch-tag: a39c7c1c-5247-429d-88df-dd7187d2e704
;;; vc-mcvs.el ends here
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el
index ba4905897ae..db609eae420 100644
--- a/lisp/vc-rcs.el
+++ b/lisp/vc-rcs.el
@@ -5,7 +5,7 @@
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
-;; $Id: vc-rcs.el,v 1.37 2003/05/08 19:24:56 monnier Exp $
+;; $Id: vc-rcs.el,v 1.36 2003/02/04 12:11:40 lektu Exp $
;; This file is part of GNU Emacs.
@@ -782,5 +782,4 @@ variable `vc-rcs-release' is set to the returned value."
(provide 'vc-rcs)
-;;; arch-tag: 759b4916-5b0d-431d-b647-b185b8c652cf
;;; vc-rcs.el ends here
diff --git a/lisp/vc-sccs.el b/lisp/vc-sccs.el
index c81d3e87aaa..352218b6c4d 100644
--- a/lisp/vc-sccs.el
+++ b/lisp/vc-sccs.el
@@ -5,7 +5,7 @@
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
-;; $Id: vc-sccs.el,v 1.23 2003/08/12 18:01:21 spiegel Exp $
+;; $Id: vc-sccs.el,v 1.21 2003/02/04 12:11:54 lektu Exp $
;; This file is part of GNU Emacs.
@@ -130,19 +130,15 @@ For a description of possible values, see `vc-check-master-templates'."
(if (file-ownership-preserved-p file)
'edited
(vc-user-login-name owner-uid))
- ;; Strange permissions.
- ;; Fall through to real state computation.
- (vc-sccs-state file))))
- (vc-sccs-state file)))
+ ;; Strange permissions.
+ ;; Fall through to real state computation.
+ (vc-sccs-state file)))
+ (vc-sccs-state file))))
(defun vc-sccs-workfile-version (file)
"SCCS-specific version of `vc-workfile-version'."
(with-temp-buffer
- ;; The workfile version is always the latest version number.
- ;; To find this number, search the entire delta table,
- ;; rather than just the first entry, because the
- ;; first entry might be a deleted ("R") version.
- (vc-insert-file (vc-name file) "^\001e\n\001[^s]")
+ (vc-insert-file (vc-name file) "^\001e")
(vc-parse-buffer "^\001d D \\([^ ]+\\)" 1)))
(defun vc-sccs-checkout-model (file)
@@ -397,5 +393,4 @@ If NAME is nil or a version number string it's just passed through."
(provide 'vc-sccs)
-;;; arch-tag: d751dee3-d7b3-47e1-95e3-7ae98c052041
;;; vc-sccs.el ends here
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index 08af8f01977..1d46c90d9c8 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -502,5 +502,4 @@ essential information."
(provide 'vc-svn)
-;;; arch-tag: 02f10c68-2b4d-453a-90fc-1eee6cfb268d
;;; vc-svn.el ends here
diff --git a/lisp/vc.el b/lisp/vc.el
index 4ee27391003..491ff1f5da6 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -7,7 +7,7 @@
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;; Keywords: tools
-;; $Id: vc.el,v 1.359 2003/07/06 19:08:13 jpw Exp $
+;; $Id: vc.el,v 1.358 2003/07/06 17:28:12 monnier Exp $
;; This file is part of GNU Emacs.
@@ -3467,5 +3467,4 @@ Invoke FUNC f ARGS on each VC-managed file f underneath it."
;;
;; Thus, there is no explicit recovery code.
-;;; arch-tag: ca82c1de-3091-4e26-af92-460abc6213a6
;;; vc.el ends here
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 6d06dbdb9dc..6f17efd19c4 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -1161,5 +1161,4 @@ Disabling the vcursor automatically turns this off."
(provide 'vcursor)
-;;; arch-tag: cdfe1cdc-2c46-4046-88e4-ed57d20f7aca
;;; vcursor.el ends here
diff --git a/lisp/version.el b/lisp/version.el
index 42dbb3f9c25..ff90d1fd1e8 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -62,8 +62,6 @@ to the system configuration; look at `system-configuration' instead."
(cond ((featurep 'motif)
(concat ", " (substring motif-version-string 4)))
((featurep 'x-toolkit) ", X toolkit")
- ((featurep 'gtk)
- (concat ", GTK+ Version " gtk-version-string))
(t ""))
(if (and (boundp 'x-toolkit-scroll-bars)
(memq x-toolkit-scroll-bars '(xaw xaw3d)))
@@ -90,5 +88,4 @@ to the system configuration; look at `system-configuration' instead."
;;version-control: never
;;End:
-;;; arch-tag: e60dc445-6218-4a4c-a7df-f15a818642a0
;;; version.el ends here
diff --git a/lisp/view.el b/lisp/view.el
index 1ee6014c73a..281230950bc 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -1002,5 +1002,4 @@ for highlighting the match that is found."
(provide 'view)
-;;; arch-tag: 6d0ace36-1d12-4de3-8de3-1fa3231636d7
;;; view.el ends here
diff --git a/lisp/vms-patch.el b/lisp/vms-patch.el
index 48174f41237..09c44bfa099 100644
--- a/lisp/vms-patch.el
+++ b/lisp/vms-patch.el
@@ -193,5 +193,4 @@ following bindings are established.
All other Emacs commands are still available."
t)
-;;; arch-tag: c178494e-2c37-4d02-99b7-e47e615656cf
;;; vms-patch.el ends here
diff --git a/lisp/vmsproc.el b/lisp/vmsproc.el
index da8715e860d..14f9b2903ad 100644
--- a/lisp/vmsproc.el
+++ b/lisp/vmsproc.el
@@ -145,5 +145,4 @@ line to the last line for resubmission."
(define-key esc-map "$" 'subprocess-command)
-;;; arch-tag: 600b2512-f903-4887-bcd2-e76b306f5b66
;;; vmsproc.el ends here
diff --git a/lisp/vt-control.el b/lisp/vt-control.el
index edc4f927346..0ffc2757046 100644
--- a/lisp/vt-control.el
+++ b/lisp/vt-control.el
@@ -106,5 +106,4 @@
(provide 'vt-control)
-;;; arch-tag: d4fed1bf-2524-4ba1-a4fe-86bca3d928a2
;;; vt-control.el ends here
diff --git a/lisp/vt100-led.el b/lisp/vt100-led.el
index d78960a5785..88819da9c23 100644
--- a/lisp/vt100-led.el
+++ b/lisp/vt100-led.el
@@ -67,5 +67,4 @@ Element 0 is not used.")
(provide 'vt100-led)
-;;; arch-tag: 346e6480-5e31-4234-aafe-257cea4a36d1
;;; vt100-led.el ends here
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index 172af902cb9..12da78fb016 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -449,5 +449,4 @@ they were unset."
(setq interprogram-paste-function 'x-get-selection-value)
-;;; arch-tag: c49b48cc-0f4f-454f-a274-c2dc34815e14
;;; w32-fns.el ends here
diff --git a/lisp/w32-vars.el b/lisp/w32-vars.el
index 72c4d30cc88..ffdf50a7d11 100644
--- a/lisp/w32-vars.el
+++ b/lisp/w32-vars.el
@@ -155,5 +155,4 @@ This is in addition to the primary selection."
:group 'killing)
-;;; arch-tag: ee2394fb-9db7-4c15-a8f0-66b47f4a2bb1
;;; w32-vars.el ends here
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index 6ca1027710c..a833e85fa3f 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -5,7 +5,7 @@
;; Author: Rajesh Vaidheeswarran <rv@gnu.org>
;; Keywords: convenience
-;; $Id: whitespace.el,v 1.25 2003/06/11 04:00:33 rv Exp $
+;; $Id: whitespace.el,v 1.24 2003/06/11 03:50:45 rv Exp $
;; This file is part of GNU Emacs.
;; GNU Emacs is free software; you can redistribute it and/or modify
@@ -851,6 +851,4 @@ This is meant to be added buffer-locally to `write-file-functions'."
(remove-hook 'kill-buffer-hook 'whitespace-buffer))
(provide 'whitespace)
-
-;;; arch-tag: 4ff44e87-b63c-402d-95a6-15e51e58bd0c
;;; whitespace.el ends here
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index 3878289b467..ed904965632 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -297,5 +297,4 @@ With arg, turn widget mode on if and only if arg is positive."
(provide 'wid-browse)
-;;; arch-tag: d5ffb18f-8984-4735-8502-edf70456db21
;;; wid-browse.el ends here
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 07bb0c1f0c2..ff65fb56e59 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -3485,11 +3485,11 @@ To use this type, you must define :match or :match-alternatives."
(help-echo (and widget (widget-get widget :help-echo))))
(if (functionp help-echo)
(setq help-echo (funcall help-echo widget)))
- (if help-echo (message "%s" (eval help-echo)))))
+ (if (stringp help-echo)
+ (message "%s" help-echo))))
;;; The End:
(provide 'wid-edit)
-;;; arch-tag: a076e75e-18a1-4b46-8be5-3f317bcbc707
;;; wid-edit.el ends here
diff --git a/lisp/widget.el b/lisp/widget.el
index f7e7d5d899c..45b72acb279 100644
--- a/lisp/widget.el
+++ b/lisp/widget.el
@@ -95,5 +95,4 @@ The third argument DOC is a documentation string for the widget."
(provide 'widget)
-;;; arch-tag: 932c71a3-9aeb-4827-a293-8b88b26d5c58
;;; widget.el ends here
diff --git a/lisp/windmove.el b/lisp/windmove.el
index 7008b86335e..d6dd84e5b19 100644
--- a/lisp/windmove.el
+++ b/lisp/windmove.el
@@ -608,5 +608,4 @@ Default MODIFIER is 'shift."
(provide 'windmove)
-;;; arch-tag: 56267432-bf1a-4296-a9a0-85c6bd9f2375
;;; windmove.el ends here
diff --git a/lisp/window.el b/lisp/window.el
index 0dadd4195c6..3f533940a14 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -602,5 +602,4 @@ and the buffer that is killed or buried is the one in that window."
(define-key ctl-x-map "+" 'balance-windows)
(define-key ctl-x-4-map "0" 'kill-buffer-and-window)
-;;; arch-tag: b508dfcc-c353-4c37-89fa-e773fe10cea9
;;; window.el ends here
diff --git a/lisp/winner.el b/lisp/winner.el
index aaca331e7b3..7841ad0d1db 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -484,5 +484,4 @@ In other words, \"undo\" changes in window configuration."
(provide 'winner)
-;;; arch-tag: 686d1c1b-010e-42ca-a192-b5685112418f
;;; winner.el ends here
diff --git a/lisp/woman.el b/lisp/woman.el
index 059eadc031b..06eeb6c56e6 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -4526,5 +4526,4 @@ logging the message."
(provide 'woman)
-;;; arch-tag: eea35e90-552f-4712-a94b-d9ffd3db7651
;;; woman.el ends here
diff --git a/lisp/xml.el b/lisp/xml.el
index 27363f7ee2d..55c8fca23aa 100644
--- a/lisp/xml.el
+++ b/lisp/xml.el
@@ -643,5 +643,4 @@ The first line is indented with INDENT-STRING."
(provide 'xml)
-;;; arch-tag: 5864b283-5a68-4b59-a20d-36a72b353b9b
;;; xml.el ends here
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index a261d3d36c8..9fad35fb850 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -198,5 +198,4 @@ Turn it on to use emacs mouse commands, and off to use xterm mouse commands."
(provide 'xt-mouse)
-;;; arch-tag: 84962d4e-fae9-4c13-a9d7-ef4925a4ac03
;;; xt-mouse.el ends here