aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
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 86bb9ddcf3..b9b8390d04 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,536 +1,9 @@
-2003-09-02 Jason Rumney <[email protected]>
-
- * international/titdic-cnv.el (tsang-quick-converter): Fix broken
- line-ends from CVS before doing conversion.
-
-2003-09-02 Glenn Morris <[email protected]>
-
- * 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 <[email protected]>
-
- * international/titdic-cnv.el (tit-read-key-value): Include \r in
- regexp.
-
-2003-09-01 Dave Love <[email protected]>
-
- * 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 <[email protected]>
-
- * international/fontset.el (setup-default-fontset): For Thai
- font, specify "*" family.
-
-2003-09-01 Kevin Rodgers <[email protected]> (tiny change)
-
- * progmodes/compile.el (previous-error): Accept a prefix
- argument, similarly to next-error.
-
-2003-08-31 Masatake YAMATO <[email protected]>
-
- * 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 <[email protected]>.
-
-2003-08-30 Eli Zaretskii <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * info.el (Info-mode-map): Bind S-tab and <backtab> to
- `Info-prev-reference', instead of M-tab.
-
-2003-08-29 Martin Stjernholm <[email protected]>
-
- * 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 <[email protected]> (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 <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * image.el (image-jpeg-p): Don't search beyond length of data.
-
-2003-08-26 Martin Stjernholm <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * progmodes/cc-engine.el (c-just-after-func-arglist-p): Safeguard
- against unbalanced sexps.
-
-2003-08-26 Terje Rosten <[email protected]>
-
- * version.el (emacs-version): Check for gtk. Include gtk version
- info.
-
-2003-08-25 John Paul Wallington <[email protected]>
-
- * man.el (Man-default-man-entry): Don't whizz past the section
- number before looking for it.
-
-2003-08-24 Nick Roberts <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * progmodes/ld-script.el: New file.
-
-2003-08-23 Markus Rost <[email protected]>
-
- * vc-hooks.el (vc-ignore-vc-files, vc-master-templates): Doc fix.
-
-2003-08-23 Andre Spiegel <[email protected]>
-
- * vc-hooks.el (vc-ignore-vc-files, vc-master-templates): Better
- explain obsolescence, and what to use instead.
-
-2003-08-23 Masatake YAMATO <[email protected]>
-
- * pcvs.el (cvs-do-removal): Show the deleted file name
- on the prompt.
-
-2003-08-20 Dave Love <[email protected]>
-
- * 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 <[email protected]>
-
- * wid-edit.el (widget-echo-help): Make it handle expressions that
- evaluate to strings.
-
-2003-08-18 Michael Mauger <[email protected]>
-
- 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 <[email protected]>
-
- * international/mule.el (encode-char): Fix for the ASCII case.
-
-2003-08-15 Kenichi Handa <[email protected]>
-
- * international/fontset.el (setup-default-fontset): Change "*" to
- nil in the specifications of font family.
-
-2003-08-18 Kim F. Storm <[email protected]>
-
- * 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 <[email protected]>
-
- * calendar/calendar.el (calendar-make-alist): Correct off-by-one
- keeping December out of the alist.
-
-2003-08-17 Edward M. Reingold <[email protected]>
-
- * 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 <[email protected]>
-
- * info.el (Info-scroll-prefer-subnodes): Add :version keyword to
- defcustom, because the default was recently changed.
-
-2003-08-16 Richard M. Stallman <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]> (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 <[email protected]>
-
- * progmodes/ebnf-iso.el (ebnf-no-meta-identifier): Becomes a var
- instead of a constant.
-
-2003-08-12 Markus Rost <[email protected]>
-
- * shell.el (shell): With prefix-arg, suggest a new buffer name.
-
-2003-08-12 Andre Spiegel <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
- for the bug report.
-
-2003-08-11 Nick Roberts <[email protected]>
-
- * 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 <[email protected]>
-
- * textmodes/reftex-vars.el (reftex-auto-recenter-toc): Fix typo.
-
-2003-08-11 Stefan Monnier <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * progmodes/ebnf2ps.el (ebnf-total, ebnf-nprod): Move defvar before
- first use.
-
-2003-08-07 Vinicius Jose Latorre <[email protected]>
-
- * progmodes/ebnf2ps.el (ebnf-begin-job): Code fix.
-
-2003-08-06 Glenn Morris <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
-
- * 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 <[email protected]>
* 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 <[email protected]>
@@ -644,8 +118,8 @@
2003-07-30 Kenichi Handa <[email protected]>
- * 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 <[email protected]> (tiny change)
@@ -658,8 +132,8 @@
2003-07-28 Nick Roberts <[email protected]>
- * 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 <[email protected]>
- * international/quail.el (quail-translate-key): Fix previous change.
+ * international/quail.el (quail-translate-key): Fix previous
+ change.
2003-07-25 John Paul Wallington <[email protected]>
@@ -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 c903f0a2e9..35123abd07 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 fd97c5a07a..ef5c6b1a07 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 90604fc8e6..16cab8d127 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 2e852552f0..fda04b07fa 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 5d3125b3ff..5dfac95e9c 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 356715b8d0..49ca67fe5d 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 85dfaeaf35..be3b42d8ed 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 b59c0bd27e..60bb4e6813 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 a0688eefe3..d35bab0532 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 4e7e911fad..c09597b6d0 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 13c1f71099..929724dd99 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 77cf920b42..8ffa7cb529 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 e6ec96baa7..32eb5e8e40 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 bae09d749d..4f63895048 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 c5f6c16d81..34c8defaf4 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -5,7 +5,7 @@
;; Author: Ken Manheimer <[email protected]>
;; Maintainer: Ken Manheimer <[email protected]>
;; 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 30350d69a9..af491b6793 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 9750683fd8..677c43b756 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 9f254b54d6..563b71f940 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 3aa5d4bd31..4046296895 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 78e71ef218..8763c91777 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 489593aa92..b13fe3ce50 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 f366d5c754..9ccb8b8964 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 5a5a09622c..4bc59de14a 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 1ac157ccbf..5980a839a4 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 fe16b2bcb3..967713e973 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 762de7323a..2e1a759509 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 9fdc8922cc..ab46f205fb 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 800f8693ed..e2a263e33a 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 35905b9e1e..d6f089327a 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 bc2f8f3b15..5c0c27e703 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 45ffff8bac..fe2ca52ed9 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 b8893bb3e1..0faef258b8 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 aaaa4683fc..c32ac9e34a 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 c7ecbecc80..5772a90f6a 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 0f9c0d1cf9..3730254403 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 2542a8f648..61299b6d68 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 3fa254cc05..5907688baa 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 74b5b0dbee..adb74b0e3a 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 e5a0d6ae7f..1791f03430 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 3aa3bbdae4..443b647b4e 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 fcf11bd65e..65da1376da 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 df7bbe377a..032575048c 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 e66f50bd40..ba77605566 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 b8bb7ab4f9..8d85a9edef 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 1ad703eb9c..7d94a239cf 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 bb6699a4ac..661905b207 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 68a92159d0..1782a34611 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 9e73b85381..a597fb8086 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 07279a677a..b7cf8f71ba 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 1456a8e2b5..093679232e 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 772b39ffed..648840a5bb 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 00f5658022..5febb343e3 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 99442d4d33..8f331e3e96 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 213b7dc447..21318deede 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 5733938ad7..84bcbdd7a8 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 51cffb753f..21553ed0dd 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 f11df8e1f5..90abce2218 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 abc90d80e5..07820a44b2 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 42d58776a4..2f844969bd 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 cb7156bfc7..dadc2e45ab 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 6b26139884..33f8d964e6 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 cee2b4fc46..ebea9a4868 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 4e9a14f4aa..a90a3e1668 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 b8735a9dc3..952606788e 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 51d7450278..9762eab758 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 6d9db84c36..351a8ed2e5 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 bf06b68ac9..6312b20919 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 2a463009e5..9bde5fad57 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 56ee7f6987..4025e337ae 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 59bbbebdc0..2379b2ff5f 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 66f6ce88bc..25a5b529e6 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 a9410ae961..64f6ea8af1 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 6c018667af..c3f4d77fca 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 6e506b93f7..3749b4c628 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 f33e80d699..13c731f98f 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 68943b77b2..2c6c2a3033 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 7c855e4127..c21375e28c 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 acdac6ce5c..46d593bae6 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 482b77d74d..c4eb50b477 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 0d9ad45c7d..97c9cbeee6 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 ac422602dc..95482cff8a 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 acaa170908..b19d3fac01 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 3c6cc78eb7..3b973586ca 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 045c11ba1d..b711e226a0 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 ff09c14b47..c9b8a2af07 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 ac6fad4ed6..5af65a380b 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 0e46e8d3cd..416230ef52 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 902d8f58c4..88d389072c 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 02103b9958..3e516aed3b 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 b262ac50a3..0678135e2c 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 7efed3ff27..183e28b5b6 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 9eea37fc7a..7020e490b4 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 8a514fa641..51558d9d12 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 b36d5ab2f3..c3a738a993 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 6e4a380133..f4b68764d0 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 7962a446ea..884e547b2d 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -5,7 +5,7 @@
;; Author: Oliver Seidel <[email protected]>
;; [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 1936977c77..f83123bf19 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 53c9ced9ce..5dd87f45db 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 dde30c75e0..8b9c639404 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 a9190d3210..2e95658004 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 8405e8afcb..0fa6c36330 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 da2b3b27c0..8772cfcc6d 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 567e0fee10..4f22336520 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 2fb0ef0a3b..6f7eb569f7 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 fa69ac6ff8..1f279cd6a1 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 bd9fd71b57..e448f27991 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 f33e56a02a..9041ec3c14 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 1ff07c4c36..f1744cc9e6 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 f858be4baf..9ece1e8d2f 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 f1001990d3..02ba2de194 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 976787d348..bcec5904fd 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 b2945ca21b..27c5c20649 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 c9591950f5..11a8aac6f6 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 b05a25fe80..70791a3dae 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 88e23cb218..9305dfbf31 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 ff38c21ed5..229e1b57e3 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 a681697ea8..a5a898e2cd 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 54a582256b..30b9467c72 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 9f1d3fa173..a5fa702650 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 ab3b65abac..5bba250b67 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 2e8087bd21..5c6df8f87e 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -2,7 +2,7 @@
;; Author: Sebastian Kremer <[email protected]>
;; Lawrence R. Dodd <[email protected]>
-;; 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 34fdff9c13..e01299f5eb 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 41aea04988..75fbf244f9 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 028c293f22..174b5d2721 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 65b6c0063c..ba2aff981e 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 93ff681796..ee008d2094 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 c1c189166b..4768586b33 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 fc931992bd..b658f00792 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 bed46c7161..0330941543 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 a01cad89f4..dd6b429872 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 e7dcd6f16c..99b9a23f7c 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 bdd92f5c12..640b9e5ec2 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 7ea6f24d7b..e8cf252f99 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 4f5786651f..0ce7e4323e 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 237ce514cb..e7f6de3e86 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 536fdf4d47..a89902e8d3 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 8b69bc686d..9590c9a181 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 c4f8ae5265..b551f05643 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 effce2a1ad..6438b4b380 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 dde306a385..f2a0ccdd79 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 259bd65733..edc16265b0 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 77ebc07f30..4ec62152db 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 12ebbeb0c0..51ba11d4c8 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 776a99035c..87a151b480 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 8fc8e12a3f..8a5f62d0e5 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 93ce7776d2..bc04780272 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 42ce33ad7b..997badc173 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 671935ec7d..325d3903e8 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 43da3d0982..7aafeb3beb 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 81e1a91f76..eafa63d6e3 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 acf9806c51..cc8a7bf96f 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 d8b4b4f6c1..312d4b386b 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 a07eb64d73..c02e8b02de 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 15377c033d..a28f89cd91 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 077c68523c..43ce86921e 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 05f0bb0977..a5fb3cede5 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 c3fbbe0993..9afe4fe426 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 bfd21e27d0..b0b8d3379f 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 2e6265d4df..485a052295 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 038786bb94..ad75714950 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 93237f0206..8cb6412f77 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 10aade7dc7..077f006ec3 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|[email protected]
;; |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 dc56262272..f2ced20e59 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 fc0a5b7472..c2ad007e3a 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 572c658d0f..46293bf94f 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 929989b618..a8cf6acd17 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 6e10b596e2..10c4fd4f73 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 811511a1f0..4aa8529080 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 d8890bd023..6b7f9bc1b3 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 9d73a8cdac..9175f692aa 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 a5b35a7d01..2bed70866a 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 41b473f6d3..8fd8bf95ea 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 b5f37487ac..cbcd5b2a55 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 75ca312277..502094fd37 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 44400dcaa2..01544e3aa1 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 a0c2e3c0d7..7194d4e54d 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 5a7cd1093c..c4ae7f12b3 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 1c12729521..a52ae3631f 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 ce5d6124ad..4c45112e98 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 589be6fb77..a176a7ac01 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 9d22735e1d..0e02f05955 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 cd3fe2764c..13d13beb99 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 d859344262..18967677b3 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 04d00a2bdb..fa9661f54a 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 7f059d3f99..c6ec7cf5b9 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 ab29ed972f..b97b3577ed 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 b292eefbae..693e6474f0 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 80e5ef330d..d039fcea9c 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 1f493e746f..2fa97f163d 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 85ec7dbae7..2e54f224a4 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 9c904e6c0b..8740a68911 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 f24789eb4a..11a66aa2a1 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 ae9151585f..c0cae5b577 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 fce07953ba..6891619c20 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 8e38aed10d..3ac3538822 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 571ee7ee1c..82230b1d2e 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 3f7aaa16bc..1200e7b3c3 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 793306adda..7bd8378ab8 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 48ec9fa64d..0000000000
--- 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 <[email protected]>
-;; Maintainer: Jonathan Yavner <[email protected]>
-;; 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 4359209b4d..0000000000
--- 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 <[email protected]>
-;; Maintainer: Jonathan Yavner <[email protected]>
-;; 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 4d668a7867..d422a42374 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 4ab2ac8e0d..b7db0d01dc 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 516816b432..917309e3b9 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 a6ff9b1528..b2cbb52980 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 197728d232..5daa345dbc 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 ff6d074fd1..4d0354236a 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 26ed4ffa39..f060e9f789 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 e1fd33587c..f3972ac597 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 2ca819c042..0f19d9e4cc 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 71c1c847ee..0de58dbf40 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 8280691ae1..4055fb2b1c 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 fefd700102..47b315d062 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 e63fd84cbe..6afadd6c16 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 e4943ff4a0..d983ea8e71 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 509f4f498c..30e1b53546 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 0ad749ec13..283b7827c7 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 ff0298e9a1..427a803da8 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 3fb7cd753b..69dc8a3d3b 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 8b4d0d79f2..22c5b289f0 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 c7ea973467..6b7b7ece9c 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 8e290553a6..1296d49796 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 ced88ff3fd..465b923f89 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 68a760e201..e6a50c074d 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 b0a6b4c266..7ae43c8b16 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 cbb0aa55aa..80e941d2ed 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 eb5e5ede4c..02bffa64bd 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 eab8ebab59..f4d3e8c766 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 2a13f00535..8787e2eaa6 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 146b54b703..2369346a3f 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 c6a3fdfe1f..b13c922188 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 250f7cf5a5..1889a901e8 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 8e913e9059..fc7f0c8223 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 15ec74b41f..f5837192ce 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 54be36299c..330506b102 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 3d92501279..6aef5457a1 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 214375e496..ff6d66eb9e 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 c6f65ccd77..dc5f52bcdc 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 5972ffc28b..49947eede7 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 695a9fb4ed..4851804d38 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 73837c324a..2838ec5e8b 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 24447c3e66..08a92de1c8 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 438e296d9c..0f94f741b8 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 aced222332..dc8d09eac9 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 3be32fde10..1c00156cf8 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 e1446d9a8b..1eff7acf34 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 1f79990855..e3aefd9b55 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 192a520fcb..ebb33f7ed4 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 6725f96cc8..4002914027 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 e8a38f1521..afd8e9596e 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 8446eb1aa9..3c14635842 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 46e8da998c..427eed3c1e 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 0659912a58..ff86304296 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 54f4d6c773..a47e2ba4c9 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 9730536ac3..9ebb0962f4 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 8d1036b736..fad9df29bb 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 4ae19603a4..c2dfe83a51 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 579d1200ca..d4df95ea0f 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 4c8ffceef7..a7a2a280c9 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 02bd6f1dca..6807e1a4f0 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 c16e93e687..d5ffa4c1c9 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 54edf5e35a..0145e17181 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 a2fd0915cf..ce1fa52c37 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 3578b5d1ef..c966dd1451 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 e76bcb1705..926b4031a8 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 2e2767289c..bb024e5866 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 3893e32065..78bdfc6115 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 49652175f4..2cf9f7dcdc 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 6812361a28..c37a4adb19 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 5711150e26..5bea298f4d 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 d315a3b1c8..b8cb51ae1e 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 57d43a1bcc..5ec82a3920 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 cd42be6373..489a103549 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 b1051acf7f..8ea6bbc61d 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 033fd0e762..0831b16427 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 f813004317..937a82348f 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 c9e51970f4..21ff1c9106 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 63654572f9..44b496357a 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 0d7c79ec6f..21f2208723 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 0ae6e17538..4480ba6b84 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 ce4a35a0ec..e5e3aea920 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 1be0b72459..ff0d56a41a 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 aeadb68d60..97818c79ef 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 19164b6a6d..ae338abf10 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 4b3cb3a17b..b635c965cf 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 76d4bc48c4..39ee142dc2 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 7cef0f3e97..f8df2c7a2e 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 5aeeef6c09..bbc27d5839 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 be7348aa65..0000000000
--- a/lisp/gdb-ui.el
+++ /dev/null
@@ -1,2430 +0,0 @@
-;;; gdb-ui.el --- User Interface for running GDB
-
-;; Author: Nick Roberts <[email protected]>
-;; 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 fcc84a4a1d..03ef7a5113 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 8f13dc375e..7f2051329c 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 e48f5823c4..6c3f1b5b6a 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 bb4da4dbca..ea351cef9f 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 e73903de77..40e9051e13 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 41aa66238c..2b1d9b1dcb 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 2d2e3e1c44..e8a39846c6 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 05a7f3b51d..6cd39ede72 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 1ecade30b5..77e3043f82 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 0a9920c038..b03c3e7191 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 6c34859ee7..e6616588cd 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 349e3ff773..b94de4bbd1 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 34a80924ed..5a9cbf6c10 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 834a178812..dd664c2886 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 5a041d1119..34acee5951 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 dc5a9f39cc..a20852796f 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 600d60af6e..6a77b8efcd 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 8ce449b72f..182f4b3ef0 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 97a92ed36e..e148f4574b 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 e4c581b3d0..9fe72420fc 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 10fdb2dc7b..b52c0f7523 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 4b6fb257a2..a17e0ce919 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 bf31115a1c..73733cc4f1 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 89961281bb..a0ecd93425 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 73ea066617..dfed2898ca 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 28704b205e..9d2c009219 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 454feeb40c..dd54c8134d 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 f99957971a..156250e7f8 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 6b63a19707..9fd4d2b669 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 25ed57b75b..36839c8d07 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 6a77c28366..528789b6fe 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 835311d0ea..9c1117b219 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 5ccb92b70e..9b76ede985 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 b31fc673bb..9994be1e8c 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 a2c8d0609f..dd2aa1f9d0 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 7e716fc028..997d3b0427 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 1c8bb7c0f9..54c5b1b38c 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 c02e23e9ea..1f43068694 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 9daf599c07..57c9997d26 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 31ad693a54..db638fcc2c 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 63d551c4b4..d21857982b 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 776d0a53df..024230c507 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 ce5c381f72..521269e6e9 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 e812e032f4..7dd333f1c9 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 ca46e52fc3..fa2f2a0ecc 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 55beb8eb26..e92a768676 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 36925fdff9..9024926e44 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 fa082e7c1d..a7d424414d 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 97a8d8587c..9ce98cd05a 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 a6e118ab5c..1dc3cc7691 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 0fe3ed8850..b6cb9a7fe0 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 3d0394c43e..13ecd48fac 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 16dd50f4f0..a22accf11b 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 334d275505..e9fc96087f 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 1663bd3f5f..4a029d812c 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 8edb5142dd..5aa9eabccd 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 796b346c9d..fc3d52cc23 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 b3c7e31bd8..ab8ab1ccac 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 8dab45c2ba..201ed291b7 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 dd6974a709..0d585a651a 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 f424062130..3598d5fa69 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 0fbf90a807..f80560e63c 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 671f955052..a9609a7221 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 f7dfdb60f0..02827262a8 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 8b1e4b63e5..2dd4cd43f2 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 653f89c9d9..8cc48f15f6 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 b3b67da5cb..4dd06ea632 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 b72a152368..f1a6635c69 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 85f13d9372..3d28f8ea71 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 517f08aacf..1d320a5529 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 715c3d890c..70c5fcea2c 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 b4699c4e5b..b054d81744 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 8d8d4f900a..65bd2cc81c 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 bfe50364e6..53ab2d88eb 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 02cb87af28..145fd99436 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 1cd1d1d178..58157c0f3a 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 12978435f7..bc5991c05f 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 5153921a8d..99c856a702 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 099d82c3c2..8624fb3c37 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 301a349285..27ff9f11f5 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 90902f31aa..ad7d040560 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 f2baa64267..272a247e22 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 b2730e561f..45a3db8737 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 2e877190ce..eaa56aa934 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 6a50fb787a..a21bb64829 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 8791c652a4..de2299c77f 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 4ab84e0b98..5ce8446da1 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 b8233dd955..0b7091fec8 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 00bcb79bb9..aae57a431f 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 cae4079845..e62dec067e 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 7bcfa962eb..479aa51997 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 febf827ef4..50ccf06522 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 5c50ad2ef0..e34957ac96 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 3c57837265..bce3b8a55d 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 7c93160c45..fbe1001218 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 a70ba16c16..5496a4f81b 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 36c8584186..3b3345f40b 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 da6c447d11..cfc5cc3c62 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 7fce284e50..6ded76685f 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 0fd14cead5..d0fb68263e 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 8f81d787fd..2a5e752706 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 3e92cbcb83..18f04c2053 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 981e8e367f..32d89fc921 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 f160dca197..d3bec85f14 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 9769d613cb..71a5044002 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 a36eed86d0..567b2c1a2f 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 4ef3072ca5..368aa37098 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 f24eef298f..a4b28d2e45 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 a4e9792dc6..e4f6423bb8 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 99eeb69817..2d96ac9848 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 77e47216b2..8eb3a6ea37 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 91eb01b519..499e99352e 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 f55b9625d2..3ad75ae78f 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 9492d5565f..b0faa40833 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 d6b4c2e1da..27f12df6e5 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 668db8ea04..23bf4e55d6 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 6317662d39..4e368c8c80 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 46da5b92e5..bdf830f92f 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 b03820616a..16235f065e 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 4a13019a09..13a2eeb591 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 0e71bd4a34..25d05c9902 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 63da70f092..f4c378a5e1 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 e56db11b6f..f742f25432 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 21f265199d..afdf123ecb 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 91c78e2a5c..bc959cee8a 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 5777bc4451..3082aa7231 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 acfb093c06..1b07792fa6 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 4ffea66cae..300a977c4f 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 abb94ecff0..68a1fa9ead 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 43ac5891a0..c0c4a2e93f 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 fabf4fdd6a..1b6caaebd5 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 6eae1011c4..6d8982b493 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 2d98cd2540..90e98dba8f 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 60736277b9..64df952de6 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 971d1d128e..840a564800 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 3bffb1795f..86f3d2b434 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 b0dffc40f5..6c8a31a8fa 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 e181d16588..9dcfb123b8 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 60cc7fd632..156e345269 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 a071b14b3d..ea5f9ff53a 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 ff9769cb13..a3df26cdd9 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 c25be8aae9..6afeceb9a9 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 28d6409d46..b551161a6f 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 972bbbfddd..a25cab5f4d 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 3c30ba0721..4fe2cbbe97 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 bc7fbe8427..e96ed8c39b 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 99debf3983..1880b52554 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 7fa901dba0..50b9b9f33a 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 5d96c1132a..51c9ede9d3 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 91ea40198d..bf366609e3 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 1a221f024d..7639d2501e 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 fae82cdb8b..1ab79c4f1a 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 c9b2330e75..3d2372b4f7 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 53a02e5cae..04bc47d3de 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 bbfa2540f5..6f03ff8aee 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 b667ec9227..9ed3d8a388 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 12419ee468..f37c3704cf 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 ebe2eaec90..05dc2bd520 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 f1a351432b..36f597b36f 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 f80d7a8f4a..407487906a 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 5620d21189..cabcc074f4 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 7fb7f1ac88..5d3330ef2b 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 1667101518..57395111d2 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 424f052e32..05229b2e9e 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 759df5fd94..1caabcce58 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 d91a4b9fbf..b694165860 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 0d58bf1471..6e416c91f6 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 <[email protected]>
;; 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 8d98b442ac..842d81c92a 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 de2a481704..e0b3fae254 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 01285aedf0..04f8c4464e 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 d8f2a5cb21..239c8d6eb0 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 8efd214ca1..b143393c86 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 dd56c9c0f3..3d14089349 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 cf56a6216b..a11163133b 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 68717653eb..a4cb27f528 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 cc7aaa65c6..57590d8a66 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 b43c0e9d7d..14546edbf8 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 1ccc97a275..ed9125aa03 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 8549a6de55..742da4fc5a 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 3d7467ccb4..cba9673596 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 bef403fc07..ccbaf36e64 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 bf590d0a00..4360c0c6df 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 bff51f8964..af7dbafdb7 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 90eed288d6..3b59ddca66 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 a0140b585f..b198cf4308 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 15f3885df9..7c8d728523 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 c106fea1d6..027c361c00 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 0283f0fbfd..b884396072 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 07407c8848..2bc79ff810 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 5a4a9bd07b..60008cce48 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 9c6184364b..47803f2234 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 e9a80fc99a..7c2cc06924 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 2ee04e04e8..64c74e02a0 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 222832022a..9a945668c7 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 72811b9e5e..4dbc2cb5b8 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 8a0c89dc04..7105ae1beb 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 b26a8f389e..72e90930ab 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 0b5c6d6403..3a7c19892c 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 537267ce9b..a4c72742d7 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 688fc97997..a01f3c4a88 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 d8e33f96d4..2c4d2de94a 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 f4b2a14374..a03c84d7c3 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 452b84ba0d..be02f07376 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 fb7c8a5924..58588f974d 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 3f51272cc1..f822e93bd1 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 3b9e6afbce..2336b988fd 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 c9e67bd0b0..3ca1da9d83 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 6a5d7d14ca..bb8c8f19e0 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 96fe617de1..11e51dbec2 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 5a92bf203a..1b72ff07d8 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 1c1e3bd609..742ceafda6 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 3547674bf3..b335fb8405 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 8568740fd0..0094d515de 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 19d940a645..e609596e4a 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 52b94f9bbb..f0ce160c66 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 eb8074c9f6..40e8ddc65c 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 31bf7add45..9526a39123 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 a6f736d16f..8885354bdc 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 0eac7b7ba3..7b827704ca 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 69fb873f97..b6621b0856 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 72ba3f1172..b708683bdf 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 70438811dc..d87f1f3232 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 59521ebf67..c86c182726 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 3d1b195142..735bcd3635 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 4644d36ad2..b4e8d20c4e 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 1995933382..8bcc4c72d3 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 ba66ca079f..da27b726ef 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 628b937529..42be6b5704 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 c67d8062af..b2edf77786 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 18f52e6434..6d0c2e1212 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 1eac0dfa3a..163b2ecd5e 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 8d57de6ede..f8198c9e97 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 d64616dba8..7cfc4312a7 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 <[email protected]>
-;; 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 8dc165dcc5..1f8651727e 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 6e609a1f36..c1d5839bab 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 4bfeb91106..2545652365 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 9b3d5c18d4..989f43cd5a 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 c0ccf7f428..0ae87fe517 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 ae3fbbd7e3..deb043ffba 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 a057c019b8..3835070b34 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 6772817637..693fbc6842 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 ea0a9d0cf8..7a0871f141 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 0dd23d71d3..e23f73a9db 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 3194358451..c4e95c8054 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 3affdf88bb..cb14d6a7c4 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 d7c00148ba..fa6fd8952f 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 35c01201b3..e24f20b869 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 40c43af582..558b9f9e38 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 08f76359ab..93b3e430e7 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 2c44706564..1890353c33 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 55f611b53a..f0e4bbf38b 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 675d9112c7..7fe7771d35 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 069ef96ac9..2b6b435a26 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 e7f020e33b..a55c43667d 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 21a69d5f54..262f14e63b 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 075c38866f..a2ff8ad3d5 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 ce4144f087..2ef728cdcd 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 7db5f96e6d..da5def6751 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 92c2600560..c41a253255 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 09c689de84..7978fbdc32 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 1d6cef7a83..b3b588e72a 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 bcbfaf0586..12f024eefe 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 c4b027f382..ea3a202fe6 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 15534b02a0..d6928a28e8 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 982a743a22..9b9a879407 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 1c052b140b..e1b35f3106 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 ef08c6e890..1d136469ec 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 2b839408b6..30840c5032 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 dfee534147..006dff15c6 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 2cd950550b..76bda78b70 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 a888f02154..f9a30e75bc 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 e441466a7b..f535650925 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 fd3e984bc3..ebde825195 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 3e9c87f5eb..3e83988a49 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 5d4bf63a45..e16a9fe012 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 7c4947df2f..bb3651d572 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 6678925eed..fe89a9d7bd 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 10bf38f945..a9fa32d127 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 2ca39f7b1e..a477fec5b0 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 528cfb8d82..259eb62956 100644
--- a/lisp/mouse-copy.el
+++ b/lisp/mouse-copy.el
@@ -224,5 +224,4 @@ by [email protected]."
(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 9906114ca3..50b248a9ec 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 92e837657f..bbbb1e5459 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 ecf642caee..70fee40b53 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 e352150a57..453dcb7199 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 de47081b84..47ec9a0eaf 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 159b276716..a315482fd1 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 5a25801458..b97eda6472 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 df20007cfb..78593fe5c1 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 704792f6b6..9bd3ad7ca7 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 9dc81ce2bc..c03cf0219f 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 1b9da92da6..b44f7f7460 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 6d12d5e636..9d3e4aa9d3 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 745d6e289a..1c20c7cc18 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 a206578b77..fb97bc754e 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 efd89beaaa..68d03979f4 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 b77be84deb..1449c9bcc3 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 d1a580f9c5..d539164e9f 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 202dac361e..982923ed55 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 713c036ce7..8062b4292d 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 fd13b3a0f5..22794a4107 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 c9078ac2d7..8105593c75 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 772756033e..cc2defdf16 100644
--- a/lisp/net/rlogin.el
+++ b/lisp/net/rlogin.el
@@ -6,7 +6,7 @@
;; Maintainer: Noah Friedman <[email protected]>
;; 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 7fed47f6bf..cde6fb7c60 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 d4c6d6a37a..b75ff47220 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 dd161032d9..70270773a3 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 7c9484f0c4..07a756c352 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 fd902cd61b..8474b7a88a 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 2d828d27c5..44a24ca3ab 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 1047e62a3c..e307febc6f 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 af86cdcc98..cee13308d3 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 3949027436..966d93b719 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 0e71fe45d9..f741da8275 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 7c5e869a5d..4c701b48ac 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 591deee314..a58bc2dd54 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 5e85fbc39f..96c8f9cc41 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 159c9a9678..32dfae3a20 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 fcd8480404..342a349940 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 d0ac24f3c6..e101e304c2 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 4b327cdb90..e5d71abb69 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 4d8af4b5a2..d81955ff8c 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 543ce3640c..07a5f52572 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 127e5e7fce..25f32bcb2c 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 6b595b8629..55d6dafbdb 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 34d7e532d1..53a67516b2 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 d080419622..1ceb44ccb0 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 45d4f768a0..46b3f8c730 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 1b7623f78a..9907f6df05 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 f2f32964f5..615ed1ccbb 100644
--- a/lisp/obsolete/rsz-mini.el
+++ b/lisp/obsolete/rsz-mini.el
@@ -7,7 +7,7 @@
;; Maintainer: Noah Friedman <[email protected]>
;; 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 e9798a0a25..4c42fdce10 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 15f33660d7..16067d1963 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 6437adaf60..2e9a4b220b 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 50edce8e57..df59656344 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 ac567be67b..6790534d05 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 c17fb06d26..4aec15d913 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 c2302e82e3..9a3edba771 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 fa63fef66a..fb76271eb6 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 ab3efe10ba..60c9aef0f3 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 41c0a9eade..c1965a763c 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 925dbb06e9..f0d5a8d5cd 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 d5003d5de0..f005509192 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 32810d7dba..9153bf73e5 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 1822b514c4..83e4330d97 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 683819b54f..f51208dbfa 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 fe26b089f7..e4ed4cbf16 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 213b68a400..cc4b876477 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 3f4b1a04b6..2cbb8a7207 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 6fa47b9e97..79cee63303 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 c1726ee84c..9ba3814c91 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 86fafea37e..8c188c5321 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 c1cc83150b..1fd4d90d60 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 886e53a6af..bcac5fa257 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 40c4696dc0..3e72247320 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 f3933e7ccd..9e6fd59e98 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 57db4cff8c..ff1a0753a5 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 24cde55373..cd3c715bc9 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 7c08856da8..23634be1a5 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 63bc7b7d2d..b8458f63fa 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 3cbb16fc2d..478c2af8ec 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 50b8bce5f7..402a3d9676 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 306cf7daac..0fad1df104 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 70e9ff2f95..540498d097 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 0ccb16be94..407f218fe0 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 b640c1bbbd..7340f4d9d6 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 5c6aa8f3ab..9167bc536b 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 296ca82b64..d3bf2bd336 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 fff7f73768..b4779a4e8a 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 c7df1a8d01..c3bc0b38f8 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 de27f567ce..d811dacb9b 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 cda88f4e64..40fc4de1d9 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 1a667606da..954b3cb338 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 05e9e488e3..8d4f087129 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 d21b25f598..f2af0bb649 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 1dc57b61c6..127db243d3 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 d76960fc03..d917861397 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 2bb4cb5384..474f969ae0 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 ddf647d6a8..04c88392ae 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 3be9a99bf7..90708d4897 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 ca46c0a156..0f17a34f5f 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 7ebae55111..f9c95a1644 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 e5dacd7f25..1e81b22d41 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 30bdfc4ae4..6962ecb439 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 <[email protected]>
-;; 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 7b9f764928..bb6d54a49c 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 c7b5717a1b..b99ccf6959 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 247ad2e90b..1bdc86260a 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 76d12aa6f6..a3134e3514 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 4edac8a531..a2a2b63a85 100644
--- a/lisp/progmodes/autoconf.el
+++ b/lisp/progmodes/autoconf.el
@@ -4,7 +4,7 @@
;; Author: Dave Love <[email protected]>
;; 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 00f9323795..2f1625854a 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 dbcfa9d991..529d6a7da1 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 e0072723d6..efaf2ea79c 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 f786153b38..f254cf6b06 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 9ddfe3a6a1..3d0756c5ed 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 1d253537c8..ebb5047e05 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 0abb5121d5..15acecfa2a 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 e9f99d1402..bab838a22d 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 0eb009dd62..0a55be956b 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 b116db482c..85fee9978d 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 7c2ef9f93b..67ec33defb 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 498ccc4d78..4fb3656b6c 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 5ea6ad89a7..e60854f3f5 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 27fe81e451..a42df869df 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 8f88bae612..a65e04eb1d 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 e847ef4e44..8aa23d299a 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 0d9a9f62a6..e8d7ce8e3b 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 b16381cd2c..aed7732490 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 861c3bbb8c..799c47e09f 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 ee4ca4b578..6fae66ef45 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 f9d1c718d4..054f337b1c 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 9329f90af5..f4c965b6ed 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 <[email protected]>
;; Maintainer: Vinicius Jose Latorre <[email protected]>
;; 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 9f2a5aa788..73f1ce9238 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 d0e85fe144..4aa7fb116c 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 a069b83b15..e68bcabc9d 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -5,7 +5,7 @@
;; Author: Vinicius Jose Latorre <[email protected]>
;; Maintainer: Vinicius Jose Latorre <[email protected]>
;; 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 08cfb3a7ff..e75022993c 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 ef5d1eba99..8860cc3ceb 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 21f894753a..4255cb973c 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 a3f4474351..9a94b1dfb9 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 39e74a8dc1..13da290617 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 dea40b8db1..7ba294d53a 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 4ec58d3eee..349c78ce3d 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 aabc2f5783..0213d2411c 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 47b9bbc0c2..3520bbc468 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 eef9382636..df5084814f 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 fd43391fc5..8499574ffb 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 af62d1e3e7..d9e59553c4 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -5,7 +5,7 @@
;; Chris Chase <[email protected]>
;; Maintainer: J.D. Smith <[email protected]>
;; 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 79ca7b8d75..74f16b6b70 100644
--- a/lisp/progmodes/idlw-toolbar.el
+++ b/lisp/progmodes/idlw-toolbar.el
@@ -4,7 +4,7 @@
;; Author: Carsten Dominik <[email protected]>
;; Maintainer: J.D. Smith <[email protected]>
;; 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 906eed14ca..cd7cee7311 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -5,7 +5,7 @@
;; Chris Chase <[email protected]>
;; Maintainer: J.D. Smith <[email protected]>
;; 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 83a0c9d3e2..ec4faacb3b 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 94e829903c..0000000000
--- 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<[email protected]>
-;; 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 bd6fac5c63..56a28b437b 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 ae977b1e52..f44bca814c 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 371fb3972f..9b8fa4a6ea 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 7bf9e93571..7e036e55dc 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 72a0f2e910..5a1f7e2e80 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 2501f2d362..81e5653275 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 dce561e841..9291392b41 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 c09f99a454..bedc1a86aa 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 6cd6b03bc0..23a0cda035 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 6292fd36a6..debe52ed6f 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 6dc4eaeb56..7017ac0d29 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 48ed5a9512..6cb571b73e 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 b3495c7449..c6edddc3a4 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 8f20438d05..588bab138e 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 28bc2eaf3e..341a0d179e 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 a27f91e859..74dafc3faf 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 e8a5f316ae..4be9ec903f 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 <[email protected]>
;; Maintainer: Alex Schroeder <[email protected]>
-;; 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 <[email protected]>
;; Berend de Boer <[email protected]>
-;; Michael Mauger <[email protected]>
@@ -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 <[email protected]>)
+ ;; (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 db04986d54..599075d66a 100644
--- a/lisp/progmodes/tcl.el
+++ b/lisp/progmodes/tcl.el
@@ -6,7 +6,7 @@
;; Author: Tom Tromey <[email protected]>
;; Chris Lindblad <[email protected]>
;; 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 87ca4f11bd..80803999bc 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -5,7 +5,7 @@
;; Authors: Reto Zimmermann <[email protected]>
;; Rodney J. Whitby <[email protected]>
;; Maintainer: Reto Zimmermann <[email protected]>
-;; 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 1f1930a324..4b1dfca6f5 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 555445eda6..98803e510a 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 a6675f9b81..838cec330b 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 1d13358f53..a20853959b 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 e49d5f5d25..0b8412edc1 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 5a66a26428..4bfcf79aa3 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 6d9cd6a2aa..c6b83995b7 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 8185ae4bc4..d550858eba 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 aa73c86967..ae2cc97498 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 0c89c22b1f..82dfb0e405 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 8dc752c235..0811f8dd57 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 4a131034e5..36d35ac13a 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 2809db23e2..11f8c11c93 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 5fb31561c4..347881b0cd 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 bcf4252d14..c427ef3af8 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 31b7162a6c..ffa0d2a6f4 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 4153174ee2..2b53bfa7f5 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 d8706de70e..3211a05533 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 287ed3ba47..f3bd3d334f 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 7cb57906c6..609bea4ab9 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 01b227d871..f679b27805 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 8e3b7e9a2c..36cad64dde 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 d799be032a..6341e76ed9 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 b3427ac59e..d9b8f92e90 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 c9191bc164..fdf80cba22 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 46bfc12dc4..5ab9d6bba7 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 e843ef9f02..3cb37b44ae 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 b43303a65b..108eff0775 100644
--- a/lisp/smerge-mode.el
+++ b/lisp/smerge-mode.el
@@ -4,7 +4,7 @@
;; Author: Stefan Monnier <[email protected]>
;; 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 541f598e7a..59e076ecec 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 fb9d72f8fa..f0c5445817 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 5eef1359fa..992571e9c1 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 66e9466511..4b0ab342ef 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 fe8d17b40d..9b138e0e5d 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 7baa71979a..67b9360f07 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 a28f0d6ccd..971e1715ee 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 bbe9c949dd..07b63b84cc 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 be17e70c78..03cb199de7 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 3ceb3e271f..f5a592f5ad 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 d2088a2978..9f49ee9604 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 31248018c4..1885580945 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 1d04fd3524..3a2961811a 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 abcbb4904f..7291b877d5 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 85f816570e..85f211e39f 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 87a78d2e9a..8b22a0e02c 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 e73c3e1996..199f724e0c 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 d636a22bb9..e9b4519543 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 80bfe83a4e..2b4e7abc6d 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 1f8d9ca77a..920b3e1b91 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 9a61a8057b..f9712a5a52 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 a6f7481c42..4d7bc17b58 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 663e3ea3e6..0e40d51daf 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 7839ebba95..5bd89efe26 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 8d9bfb67cf..95fa4b5344 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 e0564d44ec..ed211ee8fc 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 1ae0b25a73..9ef05b42f6 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 4fe39bce61..627fc89e11 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 425ac20092..67864a6d8e 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 aa73722b15..cc33087ea5 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 887f63837e..4a2462aa81 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 458e0dafc2..bd5ecadf5c 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 0ff0a30f56..e77c910ac5 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 d7deeaf11c..5f1c6c8716 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 7ea1e3b57f..eaa6243de6 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 05f0bebe50..0884097758 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 871ed234bc..cd290f3f07 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 c99b8672fc..fdbcdb2bbc 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 666266e2bf..7034d6d55e 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 9ed5fbe135..b5ce8ee10c 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 f43d8b235d..27f72f9412 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 edcbe1259f..8bb12e6d75 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 d6260cb0bf..ac5d14d114 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 d66646876b..372b5f65ff 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 64c58d7743..7d89f3ff82 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 e4f143c3b8..b973290725 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 63714a3a09..82dd8cc785 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 480f304f17..141d123641 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 05eaef06ce..acbef7ae18 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 69b17f677f..c8e635268e 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 dc4f521c01..9d553a6884 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 e384c01b31..5848956ac2 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 9136cb5220..c748921606 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 c0638804ff..de122679f9 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 2afaafd601..2c3fd38f34 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 f033a8504c..ec09153d13 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 97abc2c158..735eeca3e2 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 0497a82304..0835763217 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 a4ec5d3ac8..46e37311ab 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 5c9e6c1c6d..4b3699409d 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 dd2006ad40..9087f690a7 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 60b64e9a9f..b5dd64a891 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 <[email protected]>
-;; Maintainer: Miles Bader <[email protected]>
;; 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 7b9ad8348c..b71e325612 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 <[email protected]>
-;; 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 e25464c798..acd33f3d62 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 <[email protected]>
-;; 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 dc47a5e756..34fd334987 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 <[email protected]>
-;; 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 84b4c7c67f..36cecd12c1 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 <[email protected]>
-;; 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 71b3b62477..a1dd605464 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 <[email protected]>
-;; 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 534775bf5a..a03c5b6646 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 <[email protected]>
-;; 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 2d4935aedd..9991c0b2f7 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 <[email protected]>
-;; 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 3074e83b68..cd9119ea74 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 <[email protected]>
-;; 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 4d31c8caf1..414760747e 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 <[email protected]>
-;; 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 53357342c5..91deb85056 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 <[email protected]>
-;; 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 c00400a7b9..e0ac95ecfa 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 <[email protected]>
-;; 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 <[email protected]>
+;; Carsten Dominik <[email protected]>
;;
;; 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 6e7b2a9a51..1028bb3122 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 c6289819c8..1923c867fb 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 44e82efc5b..2edf604ecb 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 cbf2f1cdef..ca345f8b63 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 3b135e1a08..59adecc2ed 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 1bead17e10..37da88410f 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 fb44acbff4..43a6f0d0ac 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 322ab09841..1d92b26b13 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 c8dcc4dba1..27452dc98d 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 71687f431c..1e47a65a52 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 18f86eb55d..d6f08b5dee 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 eee7b85374..4dd5686291 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 b6e76ee539..a3f0d66be3 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 ba1b66f8a7..0f7d8d97d9 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 90a5ac37de..7e1fe70ee3 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 9993186779..759caba560 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 df2349619e..0000000000
--- 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 85c57bc2aa..0000000000
--- 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 dc2a15323e..0000000000
--- 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 0e631de18e..0000000000
--- 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 ecad2965b0..0000000000
--- 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 cdb8c38e8d..0000000000
--- 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 de7caa50ed..0000000000
--- 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 7b4eb87623..0000000000
--- 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 eed55cc4a3..0000000000
--- 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 d2667fc70b..0000000000
--- 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 425789eb80..4cee4a00e6 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 6ff86b4cf0..59cb3e2791 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 86e5199e73..4121287ea0 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 f106297476..656f5c3708 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 e6e5ef0a1b..752c3bc90c 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 458bec111b..aef6137570 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 <[email protected]>
-;; $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 c9603d68e2..708bb5b17e 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 <[email protected]>
-;; $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 033b14e6f1..1f59f5f328 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 ba4905897a..db609eae42 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 <[email protected]>
-;; $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 c81d3e87aa..352218b6c4 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 <[email protected]>
-;; $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 08af8f0197..1d46c90d9c 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 4ee2739100..491ff1f5da 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -7,7 +7,7 @@
;; Maintainer: Andre Spiegel <[email protected]>
;; 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 6d06dbdb9d..6f17efd19c 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 42dbb3f9c2..ff90d1fd1e 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 1ee6014c73..281230950b 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 48174f4123..09c44bfa09 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 da8715e860..14f9b2903a 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 edc4f92734..0ffc275704 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 d78960a578..88819da9c2 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 172af902cb..12da78fb01 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 72c4d30cc8..ffdf50a7d1 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 6ca1027710..a833e85fa3 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -5,7 +5,7 @@
;; Author: Rajesh Vaidheeswarran <[email protected]>
;; 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 3878289b46..ed90496563 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 07bb0c1f0c..ff65fb56e5 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 f7e7d5d899..45b72acb27 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 7008b86335..d6dd84e5b1 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 0dadd4195c..3f533940a1 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 aaca331e7b..7841ad0d1d 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 059eadc031..06eeb6c56e 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 27363f7ee2..55c8fca23a 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 a261d3d36c..9fad35fb85 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