summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog62
-rw-r--r--INSTALL.BZR4
-rw-r--r--Makefile.in19
-rw-r--r--README2
-rw-r--r--admin/CPP-DEFINES5
-rw-r--r--admin/ChangeLog23
-rw-r--r--admin/FOR-RELEASE7
-rw-r--r--admin/MAINTAINERS4
-rw-r--r--admin/charsets/cp51932.awk2
-rw-r--r--admin/grammars/README13
-rw-r--r--admin/grammars/bovine-grammar.el66
-rw-r--r--admin/grammars/c.by2
-rw-r--r--admin/grammars/grammar.wy434
-rw-r--r--admin/grammars/java-tags.wy2
-rw-r--r--admin/grammars/srecode-template.wy235
-rw-r--r--admin/grammars/wisent-grammar.el178
-rw-r--r--admin/notes/multi-tty6
-rw-r--r--admin/notes/nextstep2
-rw-r--r--admin/nt/README-ftp-server2
-rw-r--r--admin/unidata/unidata-gen.el2
-rwxr-xr-xautogen.sh2
-rw-r--r--autogen/Makefile.in1
-rw-r--r--autogen/config.in5
-rwxr-xr-xautogen/configure42
-rw-r--r--configure.in37
-rw-r--r--doc/emacs/ChangeLog206
-rw-r--r--doc/emacs/ack.texi6
-rw-r--r--doc/emacs/building.texi1116
-rw-r--r--doc/emacs/cmdargs.texi33
-rw-r--r--doc/emacs/custom.texi11
-rw-r--r--doc/emacs/display.texi142
-rw-r--r--doc/emacs/emacs.texi64
-rw-r--r--doc/emacs/emacsver.texi2
-rw-r--r--doc/emacs/files.texi10
-rw-r--r--doc/emacs/frames.texi660
-rw-r--r--doc/emacs/glossary.texi16
-rw-r--r--doc/emacs/indent.texi386
-rw-r--r--doc/emacs/mark.texi9
-rw-r--r--doc/emacs/modes.texi259
-rw-r--r--doc/emacs/msdog.texi25
-rw-r--r--doc/emacs/programs.texi1008
-rw-r--r--doc/emacs/rmail.texi43
-rw-r--r--doc/emacs/text.texi2055
-rw-r--r--doc/emacs/windows.texi16
-rw-r--r--doc/emacs/xresources.texi62
-rw-r--r--doc/lispintro/ChangeLog4
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi6
-rw-r--r--doc/lispintro/makefile.w32-in2
-rw-r--r--doc/lispref/ChangeLog126
-rw-r--r--doc/lispref/commands.texi7
-rw-r--r--doc/lispref/compile.texi2
-rw-r--r--doc/lispref/display.texi97
-rw-r--r--doc/lispref/frames.texi2
-rw-r--r--doc/lispref/help.texi2
-rw-r--r--doc/lispref/searching.texi2
-rw-r--r--doc/lispref/spellfile9
-rw-r--r--doc/lispref/text.texi26
-rw-r--r--doc/lispref/two-volume-cross-refs.txt2
-rw-r--r--doc/lispref/windows.texi1265
-rw-r--r--doc/man/emacs.12
-rw-r--r--doc/misc/ChangeLog32
-rw-r--r--doc/misc/autotype.texi6
-rw-r--r--doc/misc/calc.texi1130
-rw-r--r--doc/misc/cc-mode.texi2
-rw-r--r--doc/misc/dbus.texi2
-rw-r--r--doc/misc/dired-x.texi2
-rw-r--r--doc/misc/ede.texi8
-rw-r--r--doc/misc/eieio.texi6
-rw-r--r--doc/misc/eshell.texi4
-rw-r--r--doc/misc/faq.texi2
-rw-r--r--doc/misc/gnus-coding.texi10
-rw-r--r--doc/misc/gnus-faq.texi16
-rw-r--r--doc/misc/gnus-news.texi2
-rw-r--r--doc/misc/gnus.texi43
-rw-r--r--doc/misc/idlwave.texi188
-rw-r--r--doc/misc/makefile.w32-in165
-rw-r--r--doc/misc/message.texi6
-rw-r--r--doc/misc/org.texi12
-rw-r--r--doc/misc/pcl-cvs.texi4
-rw-r--r--doc/misc/sem-user.texi4
-rw-r--r--doc/misc/semantic.texi4
-rw-r--r--doc/misc/ses.texi2
-rw-r--r--doc/misc/smtpmail.texi2
-rw-r--r--doc/misc/tramp.texi6
-rw-r--r--etc/AUTHORS95
-rw-r--r--etc/ChangeLog13
-rw-r--r--etc/ERC-NEWS2
-rw-r--r--etc/MH-E-NEWS11
-rw-r--r--etc/NEWS30
-rw-r--r--etc/NEWS.1-1712
-rw-r--r--etc/NEWS.185
-rw-r--r--etc/NEWS.198
-rw-r--r--etc/NEWS.212
-rw-r--r--etc/NEWS.2216
-rw-r--r--etc/NEWS.2312
-rw-r--r--etc/THE-GNU-PROJECT2
-rw-r--r--etc/TODO8
-rw-r--r--etc/e/eterm-color.ti2
-rw-r--r--etc/gnus/news-server.ast3
-rw-r--r--etc/refcards/gnus-refcard.tex106
-rw-r--r--etc/srecode/doc-cpp.srt2
-rw-r--r--etc/srecode/doc-default.srt2
-rw-r--r--etc/srecode/doc-java.srt2
-rw-r--r--etc/srecode/template.srt4
-rw-r--r--etc/srecode/test.srt2
-rw-r--r--etc/themes/deeper-blue-theme.el2
-rw-r--r--etc/themes/light-blue-theme.el2
-rw-r--r--leim/CXTERM-DIC/CCDOSPY.tit2
-rw-r--r--leim/CXTERM-DIC/PY-b5.tit2
-rw-r--r--leim/CXTERM-DIC/SW.tit2
-rw-r--r--leim/CXTERM-DIC/TONEPY.tit2
-rw-r--r--leim/ChangeLog8
-rw-r--r--leim/quail/croatian.el2
-rw-r--r--leim/quail/cyrillic.el4
-rw-r--r--leim/quail/czech.el2
-rw-r--r--leim/quail/ethiopic.el2
-rw-r--r--leim/quail/greek.el8
-rw-r--r--leim/quail/hangul.el2
-rw-r--r--leim/quail/ipa.el6
-rw-r--r--leim/quail/persian.el4
-rw-r--r--leim/quail/py-punct.el2
-rw-r--r--leim/quail/pypunct-b5.el2
-rw-r--r--leim/quail/sgml-input.el2
-rw-r--r--leim/quail/tibetan.el6
-rw-r--r--lib-src/ChangeLog78
-rw-r--r--lib-src/emacsclient.c28
-rw-r--r--lib-src/etags.c14
-rw-r--r--lib-src/make-docfile.c4
-rw-r--r--lib-src/makefile.w32-in2
-rw-r--r--lib/sha256.c2
-rw-r--r--lib/sha512.c2
-rw-r--r--lisp/ChangeLog658
-rw-r--r--lisp/ChangeLog.1042
-rw-r--r--lisp/ChangeLog.118
-rw-r--r--lisp/ChangeLog.1240
-rw-r--r--lisp/ChangeLog.1347
-rw-r--r--lisp/ChangeLog.1420
-rw-r--r--lisp/ChangeLog.1526
-rw-r--r--lisp/ChangeLog.29
-rw-r--r--lisp/ChangeLog.39
-rw-r--r--lisp/ChangeLog.411
-rw-r--r--lisp/ChangeLog.525
-rw-r--r--lisp/ChangeLog.613
-rw-r--r--lisp/ChangeLog.720
-rw-r--r--lisp/ChangeLog.810
-rw-r--r--lisp/ChangeLog.910
-rw-r--r--lisp/align.el27
-rw-r--r--lisp/allout-widgets.el4
-rw-r--r--lisp/allout.el108
-rw-r--r--lisp/ansi-color.el2
-rw-r--r--lisp/autorevert.el2
-rw-r--r--lisp/bookmark.el2
-rw-r--r--lisp/calc/calc-bin.el6
-rw-r--r--lisp/calc/calc-menu.el289
-rw-r--r--lisp/calc/calc-nlfit.el91
-rw-r--r--lisp/calc/calc-poly.el2
-rw-r--r--lisp/calc/calc-yank.el12
-rw-r--r--lisp/calc/calc.el5
-rw-r--r--lisp/calculator.el2
-rw-r--r--lisp/calendar/appt.el4
-rw-r--r--lisp/calendar/diary-lib.el2
-rw-r--r--lisp/calendar/solar.el2
-rw-r--r--lisp/calendar/todo-mode.el6
-rw-r--r--lisp/cedet/ChangeLog40
-rw-r--r--lisp/cedet/cedet-cscope.el4
-rw-r--r--lisp/cedet/cedet-files.el2
-rw-r--r--lisp/cedet/cedet-global.el6
-rw-r--r--lisp/cedet/cedet-idutils.el8
-rw-r--r--lisp/cedet/cedet.el4
-rw-r--r--lisp/cedet/data-debug.el4
-rw-r--r--lisp/cedet/ede.el20
-rw-r--r--lisp/cedet/ede/autoconf-edit.el2
-rw-r--r--lisp/cedet/ede/files.el2
-rw-r--r--lisp/cedet/ede/generic.el4
-rw-r--r--lisp/cedet/ede/pconf.el2
-rw-r--r--lisp/cedet/ede/proj-comp.el4
-rw-r--r--lisp/cedet/ede/proj-shared.el4
-rw-r--r--lisp/cedet/ede/proj.el4
-rw-r--r--lisp/cedet/ede/project-am.el2
-rw-r--r--lisp/cedet/inversion.el10
-rw-r--r--lisp/cedet/mode-local.el10
-rw-r--r--lisp/cedet/pulse.el6
-rw-r--r--lisp/cedet/semantic.el14
-rw-r--r--lisp/cedet/semantic/analyze.el6
-rw-r--r--lisp/cedet/semantic/analyze/fcn.el2
-rw-r--r--lisp/cedet/semantic/bovine/c-by.el2
-rw-r--r--lisp/cedet/semantic/bovine/c.el14
-rw-r--r--lisp/cedet/semantic/bovine/debug.el2
-rw-r--r--lisp/cedet/semantic/bovine/el.el2
-rw-r--r--lisp/cedet/semantic/complete.el6
-rw-r--r--lisp/cedet/semantic/db-find.el14
-rw-r--r--lisp/cedet/semantic/db-javascript.el4
-rw-r--r--lisp/cedet/semantic/db-typecache.el2
-rw-r--r--lisp/cedet/semantic/db.el2
-rw-r--r--lisp/cedet/semantic/debug.el10
-rw-r--r--lisp/cedet/semantic/edit.el10
-rw-r--r--lisp/cedet/semantic/fw.el2
-rw-r--r--lisp/cedet/semantic/grammar-wy.el505
-rw-r--r--lisp/cedet/semantic/grammar.el6
-rw-r--r--lisp/cedet/semantic/html.el2
-rw-r--r--lisp/cedet/semantic/ia-sb.el2
-rw-r--r--lisp/cedet/semantic/idle.el8
-rw-r--r--lisp/cedet/semantic/imenu.el2
-rw-r--r--lisp/cedet/semantic/lex-spp.el6
-rw-r--r--lisp/cedet/semantic/lex.el12
-rw-r--r--lisp/cedet/semantic/sb.el2
-rw-r--r--lisp/cedet/semantic/scope.el2
-rw-r--r--lisp/cedet/semantic/senator.el4
-rw-r--r--lisp/cedet/semantic/sort.el2
-rw-r--r--lisp/cedet/semantic/symref.el2
-rw-r--r--lisp/cedet/semantic/symref/list.el6
-rw-r--r--lisp/cedet/semantic/tag-file.el2
-rw-r--r--lisp/cedet/semantic/tag-ls.el2
-rw-r--r--lisp/cedet/semantic/tag.el4
-rw-r--r--lisp/cedet/semantic/texi.el4
-rw-r--r--lisp/cedet/semantic/wisent/javat-wy.el51
-rw-r--r--lisp/cedet/semantic/wisent/js-wy.el106
-rw-r--r--lisp/cedet/semantic/wisent/python-wy.el87
-rw-r--r--lisp/cedet/semantic/wisent/python.el2
-rw-r--r--lisp/cedet/srecode/args.el3
-rw-r--r--lisp/cedet/srecode/ctxt.el2
-rw-r--r--lisp/cedet/srecode/dictionary.el2
-rw-r--r--lisp/cedet/srecode/document.el4
-rw-r--r--lisp/cedet/srecode/fields.el2
-rw-r--r--lisp/cedet/srecode/find.el2
-rw-r--r--lisp/cedet/srecode/insert.el4
-rw-r--r--lisp/cedet/srecode/srt-wy.el33
-rw-r--r--lisp/cedet/srecode/texi.el2
-rw-r--r--lisp/color.el6
-rw-r--r--lisp/comint.el4
-rw-r--r--lisp/composite.el2
-rw-r--r--lisp/cus-edit.el2
-rw-r--r--lisp/delim-col.el4
-rw-r--r--lisp/delsel.el2
-rw-r--r--lisp/descr-text.el18
-rw-r--r--lisp/dframe.el10
-rw-r--r--lisp/dired-aux.el3
-rw-r--r--lisp/dired-x.el2
-rw-r--r--lisp/dired.el8
-rw-r--r--lisp/doc-view.el2
-rw-r--r--lisp/electric.el69
-rw-r--r--lisp/emacs-lisp/advice.el12
-rw-r--r--lisp/emacs-lisp/assoc.el7
-rw-r--r--lisp/emacs-lisp/autoload.el16
-rw-r--r--lisp/emacs-lisp/avl-tree.el66
-rw-r--r--lisp/emacs-lisp/byte-opt.el2
-rw-r--r--lisp/emacs-lisp/bytecomp.el17
-rw-r--r--lisp/emacs-lisp/cconv.el8
-rw-r--r--lisp/emacs-lisp/chart.el2
-rw-r--r--lisp/emacs-lisp/checkdoc.el2
-rw-r--r--lisp/emacs-lisp/cl-indent.el16
-rw-r--r--lisp/emacs-lisp/easy-mmode.el8
-rw-r--r--lisp/emacs-lisp/edebug.el2
-rw-r--r--lisp/emacs-lisp/eieio-base.el2
-rw-r--r--lisp/emacs-lisp/eieio.el4
-rw-r--r--lisp/emacs-lisp/elint.el6
-rw-r--r--lisp/emacs-lisp/ert.el2
-rw-r--r--lisp/emacs-lisp/lisp-mode.el3
-rw-r--r--lisp/emacs-lisp/package.el9
-rw-r--r--lisp/emacs-lisp/smie.el2
-rw-r--r--lisp/emacs-lisp/syntax.el4
-rw-r--r--lisp/emacs-lisp/tabulated-list.el2
-rw-r--r--lisp/emacs-lisp/testcover.el2
-rw-r--r--lisp/emulation/cua-base.el2
-rw-r--r--lisp/emulation/cua-gmrk.el2
-rw-r--r--lisp/emulation/cua-rect.el4
-rw-r--r--lisp/emulation/edt-mapper.el2
-rw-r--r--lisp/emulation/vip.el4
-rw-r--r--lisp/emulation/viper-cmd.el24
-rw-r--r--lisp/emulation/viper-ex.el2
-rw-r--r--lisp/emulation/viper-init.el8
-rw-r--r--lisp/emulation/viper-macs.el4
-rw-r--r--lisp/emulation/viper-mous.el4
-rw-r--r--lisp/emulation/viper.el8
-rw-r--r--lisp/epg.el4
-rw-r--r--lisp/erc/ChangeLog12
-rw-r--r--lisp/erc/ChangeLog.0113
-rw-r--r--lisp/erc/ChangeLog.0223
-rw-r--r--lisp/erc/ChangeLog.0314
-rw-r--r--lisp/erc/erc-backend.el2
-rw-r--r--lisp/erc/erc-dcc.el21
-rw-r--r--lisp/erc/erc-log.el5
-rw-r--r--lisp/erc/erc-match.el3
-rw-r--r--lisp/erc/erc-track.el3
-rw-r--r--lisp/erc/erc.el8
-rw-r--r--lisp/eshell/em-alias.el2
-rw-r--r--lisp/eshell/em-glob.el2
-rw-r--r--lisp/eshell/em-hist.el14
-rw-r--r--lisp/eshell/em-pred.el2
-rw-r--r--lisp/eshell/em-rebind.el2
-rw-r--r--lisp/eshell/em-term.el2
-rw-r--r--lisp/eshell/esh-util.el2
-rw-r--r--lisp/ezimage.el2
-rw-r--r--lisp/faces.el13
-rw-r--r--lisp/files.el8
-rw-r--r--lisp/filesets.el4
-rw-r--r--lisp/foldout.el4
-rw-r--r--lisp/follow.el14
-rw-r--r--lisp/font-core.el2
-rw-r--r--lisp/font-lock.el2
-rw-r--r--lisp/forms.el4
-rw-r--r--lisp/frame.el30
-rw-r--r--lisp/gnus/ChangeLog135
-rw-r--r--lisp/gnus/ChangeLog.14
-rw-r--r--lisp/gnus/ChangeLog.244
-rw-r--r--lisp/gnus/compface.el3
-rw-r--r--lisp/gnus/gmm-utils.el2
-rw-r--r--lisp/gnus/gnus-agent.el4
-rw-r--r--lisp/gnus/gnus-art.el21
-rw-r--r--lisp/gnus/gnus-dired.el2
-rw-r--r--lisp/gnus/gnus-fun.el6
-rw-r--r--lisp/gnus/gnus-group.el8
-rw-r--r--lisp/gnus/gnus-msg.el7
-rw-r--r--lisp/gnus/gnus-start.el2
-rw-r--r--lisp/gnus/gnus-sum.el17
-rw-r--r--lisp/gnus/gnus-topic.el2
-rw-r--r--lisp/gnus/gnus.el2
-rw-r--r--lisp/gnus/mail-parse.el2
-rw-r--r--lisp/gnus/mail-source.el4
-rw-r--r--lisp/gnus/message.el29
-rw-r--r--lisp/gnus/mm-bodies.el4
-rw-r--r--lisp/gnus/mm-decode.el2
-rw-r--r--lisp/gnus/mm-util.el2
-rw-r--r--lisp/gnus/mm-view.el36
-rw-r--r--lisp/gnus/mml.el23
-rw-r--r--lisp/gnus/nndiary.el10
-rw-r--r--lisp/gnus/nnimap.el2
-rw-r--r--lisp/gnus/nnir.el6
-rw-r--r--lisp/gnus/nnmail.el2
-rw-r--r--lisp/gnus/nnmairix.el6
-rw-r--r--lisp/gnus/nnml.el2
-rw-r--r--lisp/gnus/nntp.el4
-rw-r--r--lisp/gnus/pop3.el6
-rw-r--r--lisp/gnus/rfc2047.el4
-rw-r--r--lisp/gnus/shr.el8
-rw-r--r--lisp/gnus/sieve-manage.el2
-rw-r--r--lisp/gnus/smime.el4
-rw-r--r--lisp/gnus/spam.el2
-rw-r--r--lisp/gnus/starttls.el32
-rw-r--r--lisp/gs.el4
-rw-r--r--lisp/help-mode.el2
-rw-r--r--lisp/help.el2
-rw-r--r--lisp/hilit-chg.el2
-rw-r--r--lisp/hippie-exp.el2
-rw-r--r--lisp/htmlfontify.el35
-rw-r--r--lisp/ibuffer.el4
-rw-r--r--lisp/ido.el6
-rw-r--r--lisp/image-dired.el6
-rw-r--r--lisp/indent.el85
-rw-r--r--lisp/info-xref.el2
-rw-r--r--lisp/info.el89
-rw-r--r--lisp/international/ccl.el2
-rw-r--r--lisp/international/characters.el4
-rw-r--r--lisp/international/cp51932.el3
-rw-r--r--lisp/international/fontset.el4
-rw-r--r--lisp/international/mule-conf.el4
-rw-r--r--lisp/international/mule.el10
-rw-r--r--lisp/international/ogonek.el4
-rw-r--r--lisp/international/quail.el2
-rw-r--r--lisp/international/titdic-cnv.el72
-rw-r--r--lisp/international/ucs-normalize.el2
-rw-r--r--lisp/isearch.el69
-rw-r--r--lisp/iswitchb.el2
-rw-r--r--lisp/json.el2
-rw-r--r--lisp/kmacro.el2
-rw-r--r--lisp/language/chinese.el14
-rw-r--r--lisp/language/ethio-util.el4
-rw-r--r--lisp/language/european.el1
-rw-r--r--lisp/language/lao-util.el2
-rw-r--r--lisp/language/thai-util.el2
-rw-r--r--lisp/language/tibet-util.el2
-rw-r--r--lisp/language/tibetan.el8
-rw-r--r--lisp/language/viet-util.el4
-rw-r--r--lisp/ldefs-boot.el1689
-rw-r--r--lisp/loadhist.el2
-rw-r--r--lisp/lpr.el6
-rw-r--r--lisp/mail/binhex.el5
-rw-r--r--lisp/mail/feedmail.el10
-rw-r--r--lisp/mail/footnote.el8
-rw-r--r--lisp/mail/metamail.el2
-rw-r--r--lisp/mail/rmail.el109
-rw-r--r--lisp/mail/rmailkwd.el3
-rw-r--r--lisp/mail/rmailmm.el204
-rw-r--r--lisp/mail/rmailout.el6
-rw-r--r--lisp/mail/rmailsum.el13
-rw-r--r--lisp/mail/smtpmail.el2
-rw-r--r--lisp/mail/unrmail.el5
-rw-r--r--lisp/makefile.w32-in7
-rw-r--r--lisp/man.el12
-rw-r--r--lisp/menu-bar.el2
-rw-r--r--lisp/mh-e/ChangeLog16
-rw-r--r--lisp/mh-e/ChangeLog.112
-rw-r--r--lisp/mh-e/mh-e.el4
-rw-r--r--lisp/mh-e/mh-mime.el2
-rw-r--r--lisp/mh-e/mh-tool-bar.el2
-rw-r--r--lisp/mh-e/mh-utils.el12
-rw-r--r--lisp/minibuffer.el2
-rw-r--r--lisp/misearch.el6
-rw-r--r--lisp/mouse-sel.el2
-rw-r--r--lisp/mpc.el4
-rw-r--r--lisp/net/ange-ftp.el12
-rw-r--r--lisp/net/browse-url.el4
-rw-r--r--lisp/net/dbus.el2
-rw-r--r--lisp/net/eudc-export.el2
-rw-r--r--lisp/net/gnutls.el2
-rw-r--r--lisp/net/netrc.el2
-rw-r--r--lisp/net/network-stream.el2
-rw-r--r--lisp/net/newst-plainview.el2
-rw-r--r--lisp/net/newst-treeview.el2
-rw-r--r--lisp/net/ntlm.el14
-rw-r--r--lisp/net/quickurl.el2
-rw-r--r--lisp/net/rcirc.el2
-rw-r--r--lisp/net/secrets.el2
-rw-r--r--lisp/net/tls.el4
-rw-r--r--lisp/net/tramp-cmds.el2
-rw-r--r--lisp/net/tramp-gvfs.el8
-rw-r--r--lisp/net/tramp-gw.el2
-rw-r--r--lisp/net/tramp-sh.el310
-rw-r--r--lisp/net/tramp-smb.el2
-rw-r--r--lisp/net/tramp.el6
-rw-r--r--lisp/net/xesam.el13
-rw-r--r--lisp/net/zeroconf.el2
-rw-r--r--lisp/notifications.el2
-rw-r--r--lisp/nxml/rng-valid.el6
-rw-r--r--lisp/nxml/xsd-regexp.el2
-rw-r--r--lisp/obsolete/fast-lock.el2
-rw-r--r--lisp/obsolete/pgg.el2
-rw-r--r--lisp/org/ChangeLog53
-rw-r--r--lisp/org/ob-ledger.el2
-rw-r--r--lisp/org/ob-ref.el2
-rw-r--r--lisp/org/ob.el6
-rw-r--r--lisp/org/org-agenda.el8
-rw-r--r--lisp/org/org-bibtex.el2
-rw-r--r--lisp/org/org-capture.el4
-rw-r--r--lisp/org/org-clock.el6
-rw-r--r--lisp/org/org-colview.el4
-rw-r--r--lisp/org/org-ctags.el2
-rw-r--r--lisp/org/org-exp.el2
-rw-r--r--lisp/org/org-freemind.el2
-rw-r--r--lisp/org/org-list.el6
-rw-r--r--lisp/org/org-protocol.el4
-rw-r--r--lisp/org/org-publish.el6
-rw-r--r--lisp/org/org-table.el8
-rw-r--r--lisp/org/org-taskjuggler.el2
-rw-r--r--lisp/org/org.el6
-rw-r--r--lisp/pcmpl-gnu.el20
-rw-r--r--lisp/play/5x5.el4
-rw-r--r--lisp/play/gametree.el2
-rw-r--r--lisp/play/gomoku.el2
-rw-r--r--lisp/play/landmark.el2
-rw-r--r--lisp/printing.el10
-rw-r--r--lisp/progmodes/ada-mode.el8
-rw-r--r--lisp/progmodes/ada-xref.el4
-rw-r--r--lisp/progmodes/cc-awk.el6
-rw-r--r--lisp/progmodes/cc-cmds.el10
-rw-r--r--lisp/progmodes/cc-defs.el6
-rw-r--r--lisp/progmodes/cc-engine.el32
-rw-r--r--lisp/progmodes/cc-fonts.el14
-rw-r--r--lisp/progmodes/cc-langs.el12
-rw-r--r--lisp/progmodes/cc-menus.el2
-rw-r--r--lisp/progmodes/cc-mode.el6
-rw-r--r--lisp/progmodes/cc-vars.el4
-rw-r--r--lisp/progmodes/cfengine.el2
-rw-r--r--lisp/progmodes/cperl-mode.el14
-rw-r--r--lisp/progmodes/cwarn.el10
-rw-r--r--lisp/progmodes/dcl-mode.el4
-rw-r--r--lisp/progmodes/ebnf-dtd.el2
-rw-r--r--lisp/progmodes/etags.el2
-rw-r--r--lisp/progmodes/f90.el2
-rw-r--r--lisp/progmodes/fortran.el2
-rw-r--r--lisp/progmodes/gdb-mi.el44
-rw-r--r--lisp/progmodes/grep.el4
-rw-r--r--lisp/progmodes/gud.el10
-rw-r--r--lisp/progmodes/hideshow.el4
-rw-r--r--lisp/progmodes/idlw-help.el4
-rw-r--r--lisp/progmodes/idlw-shell.el4
-rw-r--r--lisp/progmodes/idlwave.el4
-rw-r--r--lisp/progmodes/inf-lisp.el2
-rw-r--r--lisp/progmodes/js.el4
-rw-r--r--lisp/progmodes/make-mode.el2
-rw-r--r--lisp/progmodes/pascal.el4
-rw-r--r--lisp/progmodes/prolog.el17
-rw-r--r--lisp/progmodes/ps-mode.el2
-rw-r--r--lisp/progmodes/python.el4
-rw-r--r--lisp/progmodes/sh-script.el1
-rw-r--r--lisp/progmodes/sql.el12
-rw-r--r--lisp/progmodes/verilog-mode.el2062
-rw-r--r--lisp/progmodes/vhdl-mode.el10
-rw-r--r--lisp/ps-mule.el10
-rw-r--r--lisp/ps-print.el8
-rw-r--r--lisp/recentf.el2
-rw-r--r--lisp/repeat.el4
-rw-r--r--lisp/replace.el4
-rw-r--r--lisp/reveal.el4
-rw-r--r--lisp/rfn-eshadow.el3
-rw-r--r--lisp/server.el27
-rw-r--r--lisp/ses.el10
-rw-r--r--lisp/shell.el2
-rw-r--r--lisp/simple.el62
-rw-r--r--lisp/speedbar.el12
-rw-r--r--lisp/startup.el2
-rw-r--r--lisp/subr.el4
-rw-r--r--lisp/term.el10
-rw-r--r--lisp/term/common-win.el4
-rw-r--r--lisp/term/iris-ansi.el4
-rw-r--r--lisp/term/ns-win.el4
-rw-r--r--lisp/term/rxvt.el6
-rw-r--r--lisp/term/tty-colors.el2
-rw-r--r--lisp/term/x-win.el2
-rw-r--r--lisp/term/xterm.el4
-rw-r--r--lisp/terminal.el2
-rw-r--r--lisp/textmodes/artist.el12
-rw-r--r--lisp/textmodes/bibtex.el6
-rw-r--r--lisp/textmodes/conf-mode.el8
-rw-r--r--lisp/textmodes/fill.el2
-rw-r--r--lisp/textmodes/flyspell.el2
-rw-r--r--lisp/textmodes/ispell.el9
-rw-r--r--lisp/textmodes/picture.el2
-rw-r--r--lisp/textmodes/reftex-cite.el58
-rw-r--r--lisp/textmodes/reftex-dcr.el4
-rw-r--r--lisp/textmodes/reftex-sel.el4
-rw-r--r--lisp/textmodes/rst.el2
-rw-r--r--lisp/textmodes/sgml-mode.el2
-rw-r--r--lisp/textmodes/table.el20
-rw-r--r--lisp/textmodes/tex-mode.el2
-rw-r--r--lisp/textmodes/texinfmt.el8
-rw-r--r--lisp/textmodes/texnfo-upd.el120
-rw-r--r--lisp/thumbs.el4
-rw-r--r--lisp/time.el2
-rw-r--r--lisp/tutorial.el2
-rw-r--r--lisp/url/ChangeLog7
-rw-r--r--lisp/url/url-dav.el2
-rw-r--r--lisp/url/url-gw.el4
-rw-r--r--lisp/url/url-http.el2
-rw-r--r--lisp/vc/cvs-status.el2
-rw-r--r--lisp/vc/diff-mode.el10
-rw-r--r--lisp/vc/ediff-diff.el2
-rw-r--r--lisp/vc/ediff-help.el10
-rw-r--r--lisp/vc/ediff-init.el2
-rw-r--r--lisp/vc/ediff-mult.el2
-rw-r--r--lisp/vc/ediff-util.el8
-rw-r--r--lisp/vc/pcvs-defs.el3
-rw-r--r--lisp/vc/pcvs-parse.el2
-rw-r--r--lisp/vc/pcvs-util.el2
-rw-r--r--lisp/vc/pcvs.el2
-rw-r--r--lisp/vc/vc-arch.el2
-rw-r--r--lisp/vc/vc-bzr.el3
-rw-r--r--lisp/vc/vc-cvs.el3
-rw-r--r--lisp/vc/vc-dir.el2
-rw-r--r--lisp/vc/vc-dispatcher.el2
-rw-r--r--lisp/vc/vc-mtn.el7
-rw-r--r--lisp/vc/vc.el4
-rw-r--r--lisp/vcursor.el2
-rw-r--r--lisp/version.el12
-rw-r--r--lisp/view.el11
-rw-r--r--lisp/w32-fns.el4
-rw-r--r--lisp/wdired.el2
-rw-r--r--lisp/whitespace.el6
-rw-r--r--lisp/wid-edit.el6
-rw-r--r--lisp/window.el246
-rw-r--r--lisp/woman.el4
-rw-r--r--lisp/xml.el2
-rw-r--r--lwlib/lwlib.c6
-rw-r--r--lwlib/xlwmenu.c2
-rw-r--r--msdos/sed2v2.inp2
-rw-r--r--nextstep/Cocoa/Emacs.base/Contents/Info.plist4
-rw-r--r--nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings4
-rw-r--r--nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop2
-rw-r--r--nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist4
-rw-r--r--nt/ChangeLog22
-rw-r--r--nt/INSTALL24
-rw-r--r--nt/README2
-rw-r--r--nt/addpm.c3
-rw-r--r--nt/config.nt10
-rwxr-xr-xnt/configure.bat4
-rw-r--r--nt/emacs.rc8
-rw-r--r--nt/emacsclient.rc8
-rw-r--r--nt/inc/inttypes.h6
-rw-r--r--nt/inc/stdint.h10
-rw-r--r--nt/makefile.w32-in2
-rw-r--r--nt/runemacs.c2
-rw-r--r--oldXMenu/Activate.c2
-rw-r--r--oldXMenu/AddSel.c2
-rw-r--r--oldXMenu/X10.h2
-rw-r--r--oldXMenu/XMenu.h4
-rw-r--r--src/.gdbinit5
-rw-r--r--src/ChangeLog394
-rw-r--r--src/ChangeLog.12
-rw-r--r--src/ChangeLog.1018
-rw-r--r--src/ChangeLog.1198
-rw-r--r--src/ChangeLog.216
-rw-r--r--src/ChangeLog.312
-rw-r--r--src/ChangeLog.44
-rw-r--r--src/ChangeLog.52
-rw-r--r--src/ChangeLog.622
-rw-r--r--src/ChangeLog.74
-rw-r--r--src/ChangeLog.820
-rw-r--r--src/ChangeLog.94
-rw-r--r--src/alloc.c8
-rw-r--r--src/bidi.c2
-rw-r--r--src/buffer.c17
-rw-r--r--src/buffer.h2
-rw-r--r--src/callint.c2
-rw-r--r--src/casetab.c2
-rw-r--r--src/ccl.c8
-rw-r--r--src/character.c2
-rw-r--r--src/character.h2
-rw-r--r--src/charset.c6
-rw-r--r--src/chartab.c2
-rw-r--r--src/cm.h6
-rw-r--r--src/coding.c177
-rw-r--r--src/coding.h2
-rw-r--r--src/data.c2
-rw-r--r--src/dbusbind.c2
-rw-r--r--src/dired.c18
-rw-r--r--src/dispextern.h8
-rw-r--r--src/dispnew.c84
-rw-r--r--src/emacs.c3
-rw-r--r--src/emacsgtkfixed.c2
-rw-r--r--src/emacsgtkfixed.h2
-rw-r--r--src/eval.c14
-rw-r--r--src/fileio.c35
-rw-r--r--src/fns.c2
-rw-r--r--src/font.c17
-rw-r--r--src/font.h4
-rw-r--r--src/fontset.c8
-rw-r--r--src/frame.c6
-rw-r--r--src/fringe.c4
-rw-r--r--src/ftfont.c13
-rw-r--r--src/ftxfont.c11
-rw-r--r--src/gtkutil.c14
-rw-r--r--src/gtkutil.h4
-rw-r--r--src/image.c8
-rw-r--r--src/intervals.c2
-rw-r--r--src/keyboard.c76
-rw-r--r--src/lisp.h267
-rw-r--r--src/lread.c30
-rw-r--r--src/m/ibms390.h27
-rw-r--r--src/m/ibms390x.h2
-rw-r--r--src/m/intel386.h2
-rw-r--r--src/m/template.h8
-rw-r--r--src/minibuf.c34
-rw-r--r--src/msdos.c4
-rw-r--r--src/nsfns.m53
-rw-r--r--src/nsfont.m14
-rw-r--r--src/nsgui.h3
-rw-r--r--src/nsterm.h4
-rw-r--r--src/nsterm.m12
-rw-r--r--src/print.c2
-rw-r--r--src/process.c68
-rw-r--r--src/puresize.h16
-rw-r--r--src/regex.c2
-rw-r--r--src/regex.h4
-rw-r--r--src/s/cygwin.h3
-rw-r--r--src/s/hpux10-20.h8
-rw-r--r--src/s/ms-w32.h8
-rw-r--r--src/search.c65
-rw-r--r--src/sound.c2
-rw-r--r--src/sysdep.c4
-rw-r--r--src/term.c2
-rw-r--r--src/textprop.c4
-rw-r--r--src/unexelf.c12
-rw-r--r--src/w32.c22
-rw-r--r--src/w32console.c3
-rw-r--r--src/w32fns.c21
-rw-r--r--src/w32font.c20
-rw-r--r--src/w32menu.c6
-rw-r--r--src/w32proc.c6
-rw-r--r--src/w32select.c7
-rw-r--r--src/w32term.c12
-rw-r--r--src/w32term.h4
-rw-r--r--src/w32uniscribe.c4
-rw-r--r--src/w32xfns.c3
-rw-r--r--src/widget.c13
-rw-r--r--src/widget.h4
-rw-r--r--src/window.c66
-rw-r--r--src/window.h4
-rw-r--r--src/xdisp.c202
-rw-r--r--src/xfaces.c4
-rw-r--r--src/xfns.c18
-rw-r--r--src/xmenu.c2
-rw-r--r--src/xselect.c8
-rw-r--r--src/xterm.c35
-rw-r--r--src/xterm.h5
-rw-r--r--test/ChangeLog14
-rw-r--r--test/automated/compile-tests.el64
-rw-r--r--test/cedet/cedet-utests.el2
-rw-r--r--test/cedet/semantic-utest-c.el2
-rw-r--r--test/cedet/semantic-utest.el6
-rw-r--r--test/cedet/tests/test.el2
-rw-r--r--test/cedet/tests/testsppreplaced.c5
-rw-r--r--test/indent/octave.m2
-rw-r--r--test/rmailmm.el93
-rwxr-xr-xupdate-subdirs3
694 files changed, 13756 insertions, 9941 deletions
diff --git a/ChangeLog b/ChangeLog
index 34039b3860c..507848b63b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+2011-12-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * update-subdirs: Don't set no-byte-compile twice (bug#10260).
+
+2011-12-10 Jan Djärv <jan.h.d@swipnet.se>
+
+ * configure.in (HAVE_ALSA, HAVE_GSETTINGS): Save and restore LIBS
+ instead of LDFLAGS (Bug#10230).
+
+2011-12-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * INSTALL.BZR: Mention configure -C, --disable-maintainer-mode.
+
+ Propagate configure flags to sub-configures.
+ * Makefile.in (cache_file, MAINTAINER_MODE_FLAG, CONFIGUREFLAGS):
+ New macros.
+ (config.status, bootstrap): Use them to propagate configure flags
+ to sub-configures.
+ * configure.in (cache_file): AC_SUBST this, for Makefile.in.
+
+2011-12-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .bzrignore: Add config.cache.
+
+2011-11-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * configure.in: Check for gtk_window_set_has_resize_grip.
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * configure.in (HAVE_XPM): Fix typo.
+
+2011-11-22 Glenn Morris <rgm@gnu.org>
+
+ * configure.in (EMACSDATA, EMACSDOC): If set, print, since they can
+ have confusing effects on the build. (Bug#6401)
+
+ * Makefile.in (install-arch-dep): Tweak previous change.
+
+2011-11-22 Yavor Doganov <yavor@gnu.org>
+
+ Do not install arch-dependent files in the app bundle if
+ --disable-ns-self-contained is requested. (Bug#1335)
+ * configure.in (exec_prefix, libexecdir): Define relative to
+ `ns_appbindir' only if configured for a self-contained app.
+ * Makefile.in (install-arch-dep): Test for the existence of
+ libexec in the Emacs.app bundle before executing commands.
+
+2011-11-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * configure.in: Remove reference to src/m/ibms390.h.
+
2011-11-13 Glenn Morris <rgm@gnu.org>
* INSTALL: Tiny updates for disk space used during installation.
@@ -689,7 +741,7 @@
* autogen/Makefile.in: Add auto-updated generated files.
* autogen.sh: No longer a no-op, now it tests for autotools
and runs them as necessary.
- * configure.in: Defaule maintainer-mode to on.
+ * configure.in: Default maintainer-mode to on.
* aclocal.m4, configure, lib/Makefile.in: Remove files.
2011-03-13 Paul Eggert <eggert@cs.ucla.edu>
@@ -1414,7 +1466,7 @@
2010-10-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * configure.in: Remove the BROKEN annotation from gnutls.
+ * configure.in: Remove the BROKEN annotation from GnuTLS.
2010-10-22 Glenn Morris <rgm@gnu.org>
@@ -1497,7 +1549,7 @@
2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
* configure.in (HAVE_GNUTLS): Don't break if we don't have the
- gnutls libraries.
+ GnuTLS libraries.
2010-09-26 Teodor Zlatanov <tzz@lifelogs.com>
@@ -8128,7 +8180,7 @@
1994-01-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* configure.in (creating src/Makefile): Put code inside 2nd arg to
- AC_OUTPUT as it should be; hopefully noone will again see fit to
+ AC_OUTPUT as it should be; hopefully no one will again see fit to
gratuitously break this and not make a change log entry.
Optimized sed processing of Makefile.in and cpp output; now
preserves comments previously removed from the cpp input.
@@ -9711,7 +9763,7 @@
paths.h.in, Makefile.in in src.
* configure: Delete .tmp files before creating them; don't bother
- trying to make final targets writeable first, since it won't
+ trying to make final targets writable first, since it won't
matter to move-if-change.
1992-05-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
diff --git a/INSTALL.BZR b/INSTALL.BZR
index 664aab1c765..69babac7a8b 100644
--- a/INSTALL.BZR
+++ b/INSTALL.BZR
@@ -28,6 +28,10 @@ options you can set):
$ ./configure
+If you want later builds to go faster, at the expense of sometimes
+doing the wrong thing if you update the build procedure, you can
+invoke "./configure -C --disable-maintainer-mode" instead.
+
Some of the files that are included in the Emacs tarball, such as
byte-compiled Lisp files, are not stored in Bazaar. Therefore, to
build from Bazaar you must run "make bootstrap" instead of just "make":
diff --git a/Makefile.in b/Makefile.in
index f5bc0ce7015..3ba7c9baae7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -66,6 +66,11 @@ CDPATH=
# ==================== Things `configure' Might Edit ====================
+MAINTAINER_MODE_FLAG = --disable-maintainer-mode
+@MAINT@MAINTAINER_MODE_FLAG = --enable-maintainer-mode
+cache_file = @cache_file@
+CONFIGURE_FLAGS = --cache-file=$(cache_file) $(MAINTAINER_MODE_FLAG)
+
CC=@CC@
CFLAGS=@CFLAGS@
LDFLAGS=@LDFLAGS@
@@ -404,7 +409,7 @@ config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
if [ -x ./config.status ]; then \
./config.status --recheck; \
else \
- ./configure; \
+ ./configure $(CONFIGURE_FLAGS); \
fi
AUTOCONF_INPUTS = @MAINT@ $(srcdir)/configure.in $(srcdir)/aclocal.m4
@@ -474,10 +479,10 @@ install-arch-dep: mkdir
if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
if test -d share/info ; then dir=share/info; $(MV_DIRS) ; fi ; \
rm -fr share ) ; \
- ( cd ${ns_appbindir}libexec ; dir=emacs/*/*/* ; $(MV_DIRS); \
- rm -fr emacs ) ; \
- ( cd ${ns_appbindir}bin ; rm -f emacs emacs-24* ; \
- ln -sf ../libexec/* .) ; \
+ ( cd ${ns_appbindir} ; \
+ if cd libexec ; then dir=emacs/*/*/* ; $(MV_DIRS); \
+ rm -fr emacs; if cd ../bin; then rm -f emacs emacs-24*; \
+ ln -sf ../libexec/* . ; fi ; fi ) ; \
else true ; fi
## FIXME is the emacs-24* bit above really necessary and correct?
@@ -666,7 +671,7 @@ install-etc: mkdir
### Install LEIM files. Although they are machine-independent, we
### have separate target here instead of including it in
### `install-arch-indep'. People who extracted LEIM files after they
-### insalled Emacs itself can install only LEIM files by this target.
+### installed Emacs itself can install only LEIM files by this target.
install-leim: leim/Makefile mkdir
cd leim; $(MAKE) install
@@ -936,7 +941,7 @@ bootstrap: bootstrap-clean FRC
if [ -x ./config.status ]; then \
./config.status; \
else \
- ./configure --enable-maintainer-mode; \
+ ./configure $(CONFIGURE_FLAGS); \
fi
$(MAKE) $(MFLAGS) info all
diff --git a/README b/README
index 5ec5fa29570..eda81de1bbe 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ Copyright (C) 2001-2011 Free Software Foundation, Inc.
See the end of the file for license conditions.
-This directory tree holds version 24.0.91 of GNU Emacs, the extensible,
+This directory tree holds version 24.0.92 of GNU Emacs, the extensible,
customizable, self-documenting real-time display editor.
The file INSTALL in this directory says how to build and install GNU
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index 6e0f736a06f..c5f8c7ab31f 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -48,7 +48,7 @@ SYSTEM_MALLOC Use the system library's malloc.
subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
-** System specific macros, decribed in detail in src/s/template.h
+** System specific macros, described in detail in src/s/template.h
CLASH_DETECTION
COFF
FIRST_PTY_LETTER
@@ -58,9 +58,6 @@ NARROWPROTO
SEPCHAR
SYSTEM_TYPE
-** Machine specific macros, decribed in detail in src/m/template.h
-VIRT_ADDR_VARIES
-
** Misc macros
USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 6030dd8f6d3..4da85943b7f 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,20 @@
+2011-11-26 Andreas Schwab <schwab@linux-m68k.org>
+
+ * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote):
+ Avoid warning about old-style backquote.
+
+ * grammars/wisent-grammar.el (auto-mode-alist): Change `$' to `\''
+ in regexp.
+ (wisent-make-parsers): Likewise. Quote `.'.
+
+ * grammars/bovine-grammar.el (auto-mode-alist): Change `$' to `\''
+ in regexp.
+ (bovine-make-parsers): Likewise. Quote `.'.
+
+2011-11-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * CPP-DEFINES (VIRT_ADDR_VARIES): Remove.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* admin.el (manual-dvi): Fix typo.
@@ -398,7 +415,7 @@
2009-06-24 Kenichi Handa <handa@m17n.org>
- * charsets/mapconv: For the UNICODE format files, do reverse sort
+ * charsets/mapconv: For the Unicode format files, do reverse sort
and don't compact the map. This is to prefer the first one in the
duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0).
@@ -893,11 +910,11 @@
* FOR-RELEASE (NEW FEATURES): Completed work on this item:
Rework how fringe bitmaps are defined and used.
- Currently, bitmap usage and bitmap appearence are "mixed-up" in a
+ Currently, bitmap usage and bitmap appearance are "mixed-up" in a
one-level representation. It would be cleaner to split the
representation into a two-level model where first level maps
bitmap usage to a bitmap name, and second level maps bitmap name to
- a bitmap appearence.
+ a bitmap appearance.
2006-01-27 Chong Yidong <cyd@stupidchicken.com>
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 01d488c97e3..23d2bd2b16a 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -170,10 +170,10 @@ entering.texi cyd
files.texi cyd
fixit.texi
fortran-xtra.texi
-frames.texi
+frames.texi cyd
glossary.texi
help.texi cyd
-indent.texi
+indent.texi cyd
killing.texi cyd
kmacro.texi cyd
macos.texi
@@ -182,6 +182,7 @@ major.texi
mark.texi cyd
mini.texi
misc.texi
+modes.texi cyd
msdog.texi
msdog-xtra.texi
mule.texi
@@ -197,7 +198,7 @@ text.texi
trouble.texi
vc-xtra.texi
vc1-xtra.texi
-windows.texi
+windows.texi cyd
xresources.texi
** Check the Lisp manual.
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index e4a04763061..bfac347eb15 100644
--- a/admin/MAINTAINERS
+++ b/admin/MAINTAINERS
@@ -99,6 +99,7 @@ Eli Zaretskii
src/xfaces.c
src/xdisp.c
src/term.c
+ src/dispnew.c
src/frame.c
src/dired.c
@@ -108,6 +109,7 @@ Eli Zaretskii
lisp/info.el
lisp/ls-lisp.el
lisp/startup.el
+ lisp/w32*.el
Stefan Monnier
src/intervals.c
@@ -148,7 +150,6 @@ src/coding.c
src/composite.c
src/config.in
src/data.c
-src/dispnew.c
src/doc.c
src/doprnt.c
src/ecrt0.c
@@ -214,7 +215,6 @@ src/w32term.c
src/w32xfns.c
src/widget.c
src/window.c
-src/xdisp.c
src/xfns.c
src/xmenu.c
src/xrdb.c
diff --git a/admin/charsets/cp51932.awk b/admin/charsets/cp51932.awk
index b611def710d..c8879b30200 100644
--- a/admin/charsets/cp51932.awk
+++ b/admin/charsets/cp51932.awk
@@ -32,7 +32,7 @@
BEGIN {
print ";;; cp51932.el -- translation table for CP51932. -*- no-byte-compile: t -*-";
- print ";;; Automatically genrated from CP932-2BYTE.map";
+ print ";;; Automatically generated from CP932-2BYTE.map";
print "(let ((map";
printf " '(;JISEXT<->UNICODE";
}
diff --git a/admin/grammars/README b/admin/grammars/README
index c8328bbc885..419797e0dcb 100644
--- a/admin/grammars/README
+++ b/admin/grammars/README
@@ -3,17 +3,8 @@ generate the parser data in the lisp/semantic/bovine/ and
lisp/semantic/wisent/ directories. You can run the parser generators
with
-emacs -batch --no-site-file -l bovine-grammar.el -f semantic-mode \
- -f semantic-grammar-batch-build-packages *.by
-
-emacs -batch --no-site-file -l wisent-grammar.el -f semantic-mode \
- -f semantic-grammar-batch-build-packages *.wy
-
-The output files were subsequently edited by hand to fix copyright
-headers, variable names (to follow library name conventions), and
-feature names. These changes do not alter the code logic, and can be
-viewed by diffing to the files in lisp/semantic/bovine/ and
-lisp/semantic/wisent/.
+emacs -batch -Q -l bovine-grammar.el -f bovine-make-parsers
+emacs -batch -Q -l wisent-grammar.el -f wisent-make-parsers
Currently, the parser files in lisp/ are not generated directly from
these grammar files when making Emacs. This state of affairs, and the
diff --git a/admin/grammars/bovine-grammar.el b/admin/grammars/bovine-grammar.el
index 0e8756e1c5b..eda7b42adbd 100644
--- a/admin/grammars/bovine-grammar.el
+++ b/admin/grammars/bovine-grammar.el
@@ -115,7 +115,7 @@ NAME, ALIASCLASS, DEFINITION and ATTRIBUTES."
;; when it is released, but at the moment it might be possible that people
;; are using an older snapshot.
(defvar bovine--grammar-newstyle-unquote
- (equal '(, test) (read ",test")))
+ (equal '(\, test) (read ",test")))
(defun bovine-grammar-expand-form (form quotemode &optional inplace)
"Expand FORM into a new one suitable to the bovine parser.
@@ -434,7 +434,7 @@ Menu items are appended to the common grammar menu.")
(grammar-setupcode-builder . bovine-grammar-setupcode-builder)
)))
-(add-to-list 'auto-mode-alist '("\\.by$" . bovine-grammar-mode))
+(add-to-list 'auto-mode-alist '("\\.by\\'" . bovine-grammar-mode))
(defvar-mode-local bovine-grammar-mode semantic-grammar-macros
'(
@@ -454,4 +454,66 @@ Menu items are appended to the common grammar menu.")
(provide 'semantic/bovine/grammar)
+(defun bovine-make-parsers ()
+ "Generate Emacs' built-in Bovine-based parser files."
+ (semantic-mode 1)
+ ;; Loop through each .by file in current directory, and run
+ ;; `semantic-grammar-batch-build-one-package' to build the grammar.
+ (dolist (f (directory-files default-directory nil "\\.by\\'"))
+ (let ((packagename
+ (condition-case err
+ (with-current-buffer (find-file-noselect f)
+ (semantic-grammar-create-package))
+ (error (message "%s" (error-message-string err)) nil)))
+ lang)
+ (when (and packagename
+ (string-match "^semantic-\\(.*\\)-by\\.el\\'" packagename))
+ (setq lang (match-string 1 packagename))
+ (with-temp-buffer
+ (insert-file-contents packagename)
+ (setq buffer-file-name (expand-file-name packagename))
+ ;; Fix copyright header:
+ (goto-char (point-min))
+ (re-search-forward "^;; Author:")
+ (setq copyright-end (match-beginning 0))
+ (re-search-forward "^;;; Code:\n")
+ (delete-region copyright-end (match-end 0))
+ (goto-char copyright-end)
+ (insert ";; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; This file was generated from admin/grammars/"
+ lang ".by.
+
+;;; Code:
+
+\(require 'semantic/lex)
+\(eval-when-compile (require 'semantic/bovine))\n")
+ (goto-char (point-min))
+ (delete-region (point-min) (line-end-position))
+ (insert ";;; semantic/bovine/" lang
+ "-by.el --- Generated parser support file")
+ (delete-trailing-whitespace)
+ ;; Fix footer:
+ (goto-char (point-max))
+ (re-search-backward ".\n;;; Analyzers")
+ (delete-region (point) (point-max))
+ (insert "(provide 'semantic/bovine/" lang "-by)\n\n")
+ (insert ";;; semantic/bovine/" lang "-by.el ends here\n")
+ (save-buffer))))))
+
;;; bovine-grammar.el ends here
diff --git a/admin/grammars/c.by b/admin/grammars/c.by
index 004f0b5f30f..b49f8ce76c7 100644
--- a/admin/grammars/c.by
+++ b/admin/grammars/c.by
@@ -122,7 +122,7 @@
%put DELETE summary "delete <object>;"
;; Despite this, this parser can find templates by ignoring the TEMPLATE
-;; keyword, and finding the class/method being templateized.
+;; keyword, and finding the class/method being templatized.
%token TEMPLATE "template"
%put TEMPLATE summary "template <class TYPE ...> TYPE_OR_FUNCTION"
diff --git a/admin/grammars/grammar.wy b/admin/grammars/grammar.wy
new file mode 100644
index 00000000000..18e8b814303
--- /dev/null
+++ b/admin/grammars/grammar.wy
@@ -0,0 +1,434 @@
+;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
+;;
+;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;;
+;; Author: David Ponce <david@dponce.com>
+;; Maintainer: David Ponce <david@dponce.com>
+;; Created: 26 Aug 2002
+;; Keywords: syntax
+;; X-RCS: $Id: semantic-grammar.wy,v 1.16 2005/09/30 20:20:27 zappo Exp $
+
+;; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
+
+%{
+(defvar semantic-grammar-lex-c-char-re)
+
+;; Current parsed nonterminal name.
+(defvar semantic-grammar-wy--nterm nil)
+;; Index of rule in a nonterminal clause.
+(defvar semantic-grammar-wy--rindx nil)
+}
+
+%package semantic-grammar-wy
+
+%languagemode wy-mode
+
+;; Main
+%start grammar
+;; Reparse
+%start prologue epilogue declaration nonterminal rule
+;; EXPANDFULL
+%start put_names put_values use_names
+
+;; Keywords
+%type <keyword>
+%keyword DEFAULT-PREC "%default-prec"
+%keyword NO-DEFAULT-PREC "%no-default-prec"
+%keyword KEYWORD "%keyword"
+%keyword LANGUAGEMODE "%languagemode"
+%keyword LEFT "%left"
+%keyword NONASSOC "%nonassoc"
+%keyword PACKAGE "%package"
+%keyword PREC "%prec"
+%keyword PUT "%put"
+%keyword QUOTEMODE "%quotemode"
+%keyword RIGHT "%right"
+%keyword SCOPESTART "%scopestart"
+%keyword START "%start"
+%keyword TOKEN "%token"
+%keyword TYPE "%type"
+%keyword USE-MACROS "%use-macros"
+
+;; Literals
+%type <string>
+%token <string> STRING
+
+%type <symbol> syntax ":?\\(\\sw\\|\\s_\\)+"
+%token <symbol> SYMBOL
+%token <symbol> PERCENT_PERCENT "\\`%%\\'"
+
+%type <char> syntax semantic-grammar-lex-c-char-re
+%token <char> CHARACTER
+
+%type <qlist> matchdatatype sexp syntax "\\s'\\s-*("
+%token <qlist> PREFIXED_LIST
+
+%type <sexp> matchdatatype sexp syntax "\\="
+%token <sexp> SEXP
+
+;; Don't generate these analyzers which needs special handling code.
+%token <code> PROLOGUE "%{...%}"
+%token <code> EPILOGUE "%%...EOF"
+
+;; Blocks & Parenthesis
+%type <block>
+%token <block> PAREN_BLOCK "(LPAREN RPAREN)"
+%token <block> BRACE_BLOCK "(LBRACE RBRACE)"
+%token <open-paren> LPAREN "("
+%token <close-paren> RPAREN ")"
+%token <open-paren> LBRACE "{"
+%token <close-paren> RBRACE "}"
+
+;; Punctuations
+%type <punctuation>
+%token <punctuation> COLON ":"
+%token <punctuation> SEMI ";"
+%token <punctuation> OR "|"
+%token <punctuation> LT "<"
+%token <punctuation> GT ">"
+
+%%
+
+grammar:
+ prologue
+ | epilogue
+ | declaration
+ | nonterminal
+ | PERCENT_PERCENT
+ ;
+
+;;; Prologue/Epilogue
+;;
+prologue:
+ PROLOGUE
+ (CODE-TAG "prologue" nil)
+ ;
+
+epilogue:
+ EPILOGUE
+ (CODE-TAG "epilogue" nil)
+ ;
+
+;;; Declarations
+;;
+declaration:
+ decl
+ (eval $1)
+ ;
+
+decl:
+ default_prec_decl
+ | no_default_prec_decl
+ | languagemode_decl
+ | package_decl
+ | precedence_decl
+ | put_decl
+ | quotemode_decl
+ | scopestart_decl
+ | start_decl
+ | keyword_decl
+ | token_decl
+ | type_decl
+ | use_macros_decl
+ ;
+
+default_prec_decl:
+ DEFAULT-PREC
+ `(TAG "default-prec" 'assoc :value '("t"))
+ ;
+
+no_default_prec_decl:
+ NO-DEFAULT-PREC
+ `(TAG "default-prec" 'assoc :value '("nil"))
+ ;
+
+languagemode_decl:
+ LANGUAGEMODE symbols
+ `(TAG ',(car $2) 'languagemode :rest ',(cdr $2))
+ ;
+
+package_decl:
+ PACKAGE SYMBOL
+ `(PACKAGE-TAG ',$2 nil)
+ ;
+
+precedence_decl:
+ associativity token_type_opt items
+ `(TAG ',$1 'assoc :type ',$2 :value ',$3)
+ ;
+
+associativity:
+ LEFT
+ (progn "left")
+ | RIGHT
+ (progn "right")
+ | NONASSOC
+ (progn "nonassoc")
+ ;
+
+put_decl:
+ PUT put_name put_value
+ `(TAG ',$2 'put :value ',(list $3))
+ | PUT put_name put_value_list
+ `(TAG ',$2 'put :value ',$3)
+ | PUT put_name_list put_value
+ `(TAG ',(car $2) 'put :rest ',(cdr $2) :value ',(list $3))
+ | PUT put_name_list put_value_list
+ `(TAG ',(car $2) 'put :rest ',(cdr $2) :value ',$3)
+ ;
+
+put_name_list:
+ BRACE_BLOCK
+ (mapcar 'semantic-tag-name (EXPANDFULL $1 put_names))
+ ;
+
+put_names:
+ LBRACE
+ ()
+ | RBRACE
+ ()
+ | put_name
+ ;; Must return a list of Semantic tags to EXPANDFULL!
+ (TAG $1 'put-name)
+ ;
+
+put_name:
+ SYMBOL
+ | token_type
+ ;
+
+put_value_list:
+ BRACE_BLOCK
+ (mapcar 'semantic-tag-code-detail (EXPANDFULL $1 put_values))
+ ;
+
+put_values:
+ LBRACE
+ ()
+ | RBRACE
+ ()
+ | put_value
+ ;; Must return a list of Semantic tags to EXPANDFULL!
+ (CODE-TAG "put-value" $1)
+ ;
+
+put_value:
+ SYMBOL any_value
+ (cons $1 $2)
+ ;
+
+scopestart_decl:
+ SCOPESTART SYMBOL
+ `(TAG ',$2 'scopestart)
+ ;
+
+quotemode_decl:
+ QUOTEMODE SYMBOL
+ `(TAG ',$2 'quotemode)
+ ;
+
+start_decl:
+ START symbols
+ `(TAG ',(car $2) 'start :rest ',(cdr $2))
+ ;
+
+keyword_decl:
+ KEYWORD SYMBOL string_value
+ `(TAG ',$2 'keyword :value ',$3)
+ ;
+
+token_decl:
+ TOKEN token_type_opt SYMBOL string_value
+ `(TAG ',$3 ',(if $2 'token 'keyword) :type ',$2 :value ',$4)
+ | TOKEN token_type_opt symbols
+ `(TAG ',(car $3) 'token :type ',$2 :rest ',(cdr $3))
+ ;
+
+token_type_opt:
+ ;; EMPTY
+ | token_type
+ ;
+
+token_type:
+ LT SYMBOL GT
+ (progn $2)
+ ;
+
+type_decl:
+ TYPE token_type plist_opt
+ `(TAG ',$2 'type :value ',$3)
+ ;
+
+plist_opt:
+ ;;EMPTY
+ | plist
+ ;
+
+plist:
+ plist put_value
+ (append (list $2) $1)
+ | put_value
+ (list $1)
+ ;
+
+use_name_list:
+ BRACE_BLOCK
+ (mapcar 'semantic-tag-name (EXPANDFULL $1 use_names))
+ ;
+
+use_names:
+ LBRACE
+ ()
+ | RBRACE
+ ()
+ | SYMBOL
+ ;; Must return a list of Semantic tags to EXPANDFULL!
+ (TAG $1 'use-name)
+ ;
+
+use_macros_decl:
+ USE-MACROS SYMBOL use_name_list
+ `(TAG "macro" 'macro :type ',$2 :value ',$3)
+ ;
+
+string_value:
+ STRING
+ (read $1)
+ ;
+
+;; Return a Lisp readable form
+any_value:
+ SYMBOL
+ | STRING
+ | PAREN_BLOCK
+ | PREFIXED_LIST
+ | SEXP
+ ;
+
+symbols:
+ lifo_symbols
+ (nreverse $1)
+ ;
+
+lifo_symbols:
+ lifo_symbols SYMBOL
+ (cons $2 $1)
+ | SYMBOL
+ (list $1)
+ ;
+
+;;; Grammar rules
+;;
+nonterminal:
+ SYMBOL
+ (setq semantic-grammar-wy--nterm $1
+ semantic-grammar-wy--rindx 0)
+ COLON rules SEMI
+ (TAG $1 'nonterminal :children $4)
+ ;
+
+rules:
+ lifo_rules
+ (apply 'nconc (nreverse $1))
+ ;
+
+lifo_rules:
+ lifo_rules OR rule
+ (cons $3 $1)
+ | rule
+ (list $1)
+ ;
+
+rule:
+ rhs
+ (let* ((nterm semantic-grammar-wy--nterm)
+ (rindx semantic-grammar-wy--rindx)
+ (rhs $1)
+ comps prec action elt)
+ (setq semantic-grammar-wy--rindx (1+ semantic-grammar-wy--rindx))
+ (while rhs
+ (setq elt (car rhs)
+ rhs (cdr rhs))
+ (cond
+ ;; precedence level
+ ((vectorp elt)
+ (if prec
+ (error "Duplicate %%prec in `%s:%d' rule" nterm rindx))
+ (setq prec (aref elt 0)))
+ ;; action
+ ((consp elt)
+ ;; don't forget that rhs items are in reverse order, so
+ ;; the end-of-rule semantic action is the first item.
+ (if (or action comps)
+ ;; a mid-rule action
+ (setq comps (cons elt comps)
+ ;; keep rule and action index synchronized
+ semantic-grammar-wy--rindx
+ (1+ semantic-grammar-wy--rindx))
+ ;; the end-of-rule action
+ (setq action (car elt))))
+ ;; item
+ (t
+ (setq comps (cons elt comps)))))
+ (EXPANDTAG
+ (TAG (format "%s:%d" nterm rindx) 'rule
+ :type (if comps "group" "empty")
+ :value comps :prec prec :expr action)))
+ ;
+
+rhs:
+ ;; EMPTY
+ | rhs item
+ (cons $2 $1)
+ | rhs action
+ (cons (list $2) $1)
+ | rhs PREC item
+ (cons (vector $3) $1)
+ ;
+
+action:
+ PAREN_BLOCK
+ | PREFIXED_LIST
+ | BRACE_BLOCK
+ (format "(progn\n%s)"
+ (let ((s $1))
+ (if (string-match "^{[\r\n\t ]*" s)
+ (setq s (substring s (match-end 0))))
+ (if (string-match "[\r\n\t ]*}$" s)
+ (setq s (substring s 0 (match-beginning 0))))
+ s))
+ ;
+
+items:
+ lifo_items
+ (nreverse $1)
+ ;
+
+lifo_items:
+ lifo_items item
+ (cons $2 $1)
+ | item
+ (list $1)
+ ;
+
+item:
+ SYMBOL
+ | CHARACTER
+ ;
+
+%%
+
+;;; grammar.wy ends here
diff --git a/admin/grammars/java-tags.wy b/admin/grammars/java-tags.wy
index 99d2b9df81d..f4b2f1f1f49 100644
--- a/admin/grammars/java-tags.wy
+++ b/admin/grammars/java-tags.wy
@@ -740,7 +740,7 @@ It ignores whitespaces, newlines and comments."
wisent-java-tags-wy--<symbol>-regexp-analyzer
wisent-java-tags-wy--<punctuation>-string-analyzer
wisent-java-tags-wy--<block>-block-analyzer
- ;; In theory, unicode chars should be turned into normal chars
+ ;; In theory, Unicode chars should be turned into normal chars
;; and then combined into regular ascii keywords and text. This
;; analyzer just keeps these things from making the lexer go boom.
wisent-java-tags-wy--<unicode>-regexp-analyzer
diff --git a/admin/grammars/srecode-template.wy b/admin/grammars/srecode-template.wy
new file mode 100644
index 00000000000..4ff2d7e4e41
--- /dev/null
+++ b/admin/grammars/srecode-template.wy
@@ -0,0 +1,235 @@
+;;; srecode-template.wy --- Semantic Recoder Template parser
+
+;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+;; Author: Eric Ludlam <zappo@gnu.org>
+;; Keywords: syntax
+;; X-RCS: $Id: srecode-template.wy,v 1.10 2009-01-09 23:01:54 zappo Exp $
+
+;; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; Parser for the Semantic Recoder template language
+;;
+;; Semantic Recoder templates are based on Google Templates
+;; and are at the bottom of the Semantic Recoder API.
+
+%languagemode srecode-mode
+
+%start template_file
+
+;;; KEYWORDS
+%type <keyword>
+%keyword SET "set"
+%put SET summary "set <name> <value>"
+%keyword SHOW "show"
+%put SHOW summary "show <name> ; to show a section"
+%keyword MACRO "macro"
+%put MACRO summary "... macro \"string\" ..."
+%keyword CONTEXT "context"
+%put CONTEXT summary "context <name>"
+%keyword TEMPLATE "template"
+%put TEMPLATE summary "template <name>\\n <template definition>"
+%keyword SECTIONDICTIONARY "sectiondictionary"
+%put SECTIONDICTIONARY summary "sectiondictionary <name>\\n <dictionary entries>"
+%keyword PROMPT "prompt"
+%keyword DEFAULT "default"
+%keyword DEFAULTMACRO "defaultmacro"
+%keyword READ "read"
+%put { PROMPT DEFAULT DEFAULTMACRO READ } summary "prompt <symbol> \"Describe Symbol: \" [default[macro] <lispsym>|\"valuetext\"] [read <lispsym>]"
+%keyword BIND "bind"
+%put BIND summary "bind \"<letter>\""
+
+;;; Punctuation Types
+%type <punctuation> syntax "\\s.+"
+%type <newline>
+%token <newline> newline
+
+%token <separator> TEMPLATE_BLOCK "^----"
+
+;;; Bland default types
+%type <property> ":\\(\\w\\|\\s_\\)*"
+%token <property> property
+
+%type <symbol>
+%token <symbol> symbol
+
+%type <string>
+%token <string> string
+
+%type <number>
+%token <number> number
+
+%%
+
+template_file
+ : newline ( )
+ | context
+ | prompt
+ | variable
+ | template
+ ;
+
+context
+ : CONTEXT symbol newline
+ (TAG $2 'context)
+ ;
+
+prompt
+ : PROMPT symbol string opt-default-fcn opt-read-fcn newline
+ (TAG $2 'prompt :text (read $3) :default $4 :read $5)
+ ;
+
+opt-default-fcn
+ : DEFAULT symbol
+ (progn (read $2))
+ | DEFAULT string
+ (progn (read $2))
+ | DEFAULTMACRO string
+ (progn (cons 'macro (read $2)))
+ | ()
+ ;
+
+opt-read-fcn
+ : READ symbol
+ (progn (read $2))
+ | ()
+ ;
+
+variable
+ : SET symbol insertable-string-list newline
+ (VARIABLE-TAG $2 nil $3)
+ | SHOW symbol newline
+ (VARIABLE-TAG $2 nil t)
+ ;
+
+insertable-string-list
+ : insertable-string
+ (list $1)
+ | insertable-string-list insertable-string
+ (append $1 (list $2))
+ ;
+
+insertable-string
+ : string
+ (read $1)
+ | MACRO string
+ (cons 'macro (read $2))
+ ;
+
+template
+ : TEMPLATE templatename opt-dynamic-arguments newline
+ opt-string
+ opt-section-dictionaries
+ TEMPLATE_BLOCK newline
+ opt-bind
+ (FUNCTION-TAG $2 nil $3 :documentation $5 :code $7
+ :dictionaries $6 :binding $9 )
+ ;
+
+templatename
+ : symbol
+ | PROMPT
+ | CONTEXT
+ | TEMPLATE
+ | DEFAULT
+ | MACRO
+ | DEFAULTMACRO
+ | READ
+ | SET
+ ;
+
+opt-dynamic-arguments
+ : property opt-dynamic-arguments
+ (cons $1 $2)
+ | ()
+ ;
+
+opt-string
+ : string newline
+ ( read $1 )
+ | ()
+ ;
+
+opt-section-dictionaries
+ : () ;; EMPTY
+ | section-dictionary-list
+ ;
+
+section-dictionary-list
+ : one-section-dictionary
+ (list $1)
+ | section-dictionary-list one-section-dictionary
+ (append $1 (list $2))
+ ;
+
+one-section-dictionary
+ : SECTIONDICTIONARY string newline
+ variable-list
+ (cons (read $2) $4)
+ ;
+
+variable-list
+ : variable
+ (EXPANDTAG $1)
+ | variable-list variable
+ (append $1 (EXPANDTAG $2))
+ ;
+
+opt-bind
+ : BIND string newline
+ ( read $2 )
+ | ()
+ ;
+
+%%
+(define-lex-simple-regex-analyzer srecode-template-property-analyzer
+ "Detect and create a dynamic argument properties."
+ ":\\(\\w\\|\\s_\\)*" 'property 0)
+
+(define-lex-regex-analyzer srecode-template-separator-block
+ "Detect and create a template quote block."
+ "^----\n"
+ (semantic-lex-push-token
+ (semantic-lex-token
+ 'TEMPLATE_BLOCK
+ (match-end 0)
+ (semantic-lex-unterminated-syntax-protection 'TEMPLATE_BLOCK
+ (goto-char (match-end 0))
+ (re-search-forward "^----$")
+ (match-beginning 0))))
+ (setq semantic-lex-end-point (point)))
+
+
+(define-lex wisent-srecode-template-lexer
+ "Lexical analyzer that handles SRecode Template buffers.
+It ignores whitespace, newlines and comments."
+ semantic-lex-newline
+ semantic-lex-ignore-whitespace
+ semantic-lex-ignore-newline
+ semantic-lex-ignore-comments
+ srecode-template-separator-block
+ srecode-template-wy--<keyword>-keyword-analyzer
+ srecode-template-property-analyzer
+ srecode-template-wy--<symbol>-regexp-analyzer
+ srecode-template-wy--<number>-regexp-analyzer
+ srecode-template-wy--<string>-sexp-analyzer
+ srecode-template-wy--<punctuation>-string-analyzer
+ semantic-lex-default-action
+ )
+
+;;; wisent-dot.wy ends here
diff --git a/admin/grammars/wisent-grammar.el b/admin/grammars/wisent-grammar.el
index d7de1ee6f7b..66045c2294d 100644
--- a/admin/grammars/wisent-grammar.el
+++ b/admin/grammars/wisent-grammar.el
@@ -331,7 +331,7 @@ Menu items are appended to the common grammar menu.")
(grammar-setupcode-builder . wisent-grammar-setupcode-builder)
)))
-(add-to-list 'auto-mode-alist '("\\.wy$" . wisent-grammar-mode))
+(add-to-list 'auto-mode-alist '("\\.wy\\'" . wisent-grammar-mode))
(defvar-mode-local wisent-grammar-mode semantic-grammar-macros
'(
@@ -358,4 +358,180 @@ Menu items are appended to the common grammar menu.")
)
"Semantic grammar macros used in wisent grammars.")
+(defvar wisent-make-parsers--emacs-license
+ ";; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>.")
+
+(defvar wisent-make-parsers--python-license
+ ";; It is derived in part from the Python grammar, used under the
+;; following license:
+;;
+;; PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+;; --------------------------------------------
+;; 1. This LICENSE AGREEMENT is between the Python Software Foundation
+;; (\"PSF\"), and the Individual or Organization (\"Licensee\") accessing
+;; and otherwise using this software (\"Python\") in source or binary
+;; form and its associated documentation.
+;;
+;; 2. Subject to the terms and conditions of this License Agreement,
+;; PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide
+;; license to reproduce, analyze, test, perform and/or display
+;; publicly, prepare derivative works, distribute, and otherwise use
+;; Python alone or in any derivative version, provided, however, that
+;; PSF's License Agreement and PSF's notice of copyright, i.e.,
+;; \"Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;; 2009, 2010 Python Software Foundation; All Rights Reserved\" are
+;; retained in Python alone or in any derivative version prepared by
+;; Licensee.
+;;
+;; 3. In the event Licensee prepares a derivative work that is based
+;; on or incorporates Python or any part thereof, and wants to make
+;; the derivative work available to others as provided herein, then
+;; Licensee hereby agrees to include in any such work a brief summary
+;; of the changes made to Python.
+;;
+;; 4. PSF is making Python available to Licensee on an \"AS IS\"
+;; basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+;; IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+;; DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+;; FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+;; INFRINGE ANY THIRD PARTY RIGHTS.
+;;
+;; 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+;; FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A
+;; RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR
+;; ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+;;
+;; 6. This License Agreement will automatically terminate upon a
+;; material breach of its terms and conditions.
+;;
+;; 7. Nothing in this License Agreement shall be deemed to create any
+;; relationship of agency, partnership, or joint venture between PSF
+;; and Licensee. This License Agreement does not grant permission to
+;; use PSF trademarks or trade name in a trademark sense to endorse or
+;; promote products or services of Licensee, or any third party.
+;;
+;; 8. By copying, installing or otherwise using Python, Licensee
+;; agrees to be bound by the terms and conditions of this License
+;; Agreement.")
+
+(defvar wisent-make-parsers--ecmascript-license
+ "\n;; It is derived from the grammar in the ECMAScript Language
+;; Specification published at
+;;
+;; http://www.ecma-international.org/publications/standards/Ecma-262.htm
+;;
+;; and redistributed under the following license:
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions
+;; are met:
+;;
+;; 1. Redistributions of source code must retain the above copyright
+;; notice, this list of conditions and the following disclaimer.
+;;
+;; 2. Redistributions in binary form must reproduce the above
+;; copyright notice, this list of conditions and the following
+;; disclaimer in the documentation and/or other materials provided
+;; with the distribution.
+;;
+;; 3. Neither the name of the authors nor Ecma International may be
+;; used to endorse or promote products derived from this software
+;; without specific prior written permission. THIS SOFTWARE IS
+;; PROVIDED BY THE ECMA INTERNATIONAL \"AS IS\" AND ANY EXPRESS OR
+;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;; ARE DISCLAIMED. IN NO EVENT SHALL ECMA INTERNATIONAL BE LIABLE FOR
+;; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+;; OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+;; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+;; DAMAGE.")
+
+(defvar wisent-make-parsers--parser-file-name
+ `(("semantic-grammar-wy.el"
+ "semantic/grammar-wy")
+ ("srecode-template-wy.el"
+ "srecode/srt-wy")
+ ("wisent-javascript-jv-wy.el"
+ "semantic/wisent/js-wy"
+ "Copyright (C) 1998-2011 Ecma International"
+ ,wisent-make-parsers--ecmascript-license)
+ ("wisent-java-tags-wy.el"
+ "semantic/wisent/javat-wy")
+ ("wisent-python-wy.el"
+ "semantic/wisent/python-wy"
+ "Copyright (C) 2001-2010 Python Software Foundation"
+ ,wisent-make-parsers--python-license)))
+
+(defun wisent-make-parsers ()
+ "Generate Emacs' built-in Wisent-based parser files."
+ (semantic-mode 1)
+ ;; Loop through each .wy file in current directory, and run
+ ;; `semantic-grammar-batch-build-one-package' to build the grammar.
+ (dolist (f (directory-files default-directory nil "\\.wy\\'"))
+ (let ((packagename
+ (condition-case err
+ (with-current-buffer (find-file-noselect f)
+ (semantic-grammar-create-package))
+ (error (message "%s" (error-message-string err)) nil)))
+ output-data)
+ (when (setq output-data (assoc packagename wisent-make-parsers--parser-file-name))
+ (let ((require-name (nth 1 output-data))
+ (additional-copyright (nth 2 output-data))
+ (additional-license (nth 3 output-data))
+ copyright-end)
+ ;; Touch up the generated parsers for Emacs integration.
+ (with-temp-buffer
+ (insert-file-contents packagename)
+ ;; Fix copyright header:
+ (goto-char (point-min))
+ (when additional-copyright
+ (re-search-forward "Copyright (C).*$")
+ (insert "\n;; " additional-copyright))
+ (re-search-forward "^;; Author:")
+ (setq copyright-end (match-beginning 0))
+ (re-search-forward "^;;; Code:\n")
+ (delete-region copyright-end (match-end 0))
+ (goto-char copyright-end)
+ (insert wisent-make-parsers--emacs-license)
+ (insert "\n\n;;; Commentary:
+;;
+;; This file was generated from admin/grammars/"
+ f ".")
+ (when additional-license
+ (insert "\n" additional-license))
+ (insert "\n\n;;; Code:\n
+\(require 'semantic/lex)\n")
+ (goto-char (point-min))
+ (delete-region (point-min) (line-end-position))
+ (insert ";;; " require-name
+ ".el --- Generated parser support file")
+ (delete-trailing-whitespace)
+ (re-search-forward ";;\n(require 'semantic/lex)\n")
+ (delete-region (match-beginning 0) (match-end 0))
+ ;; Fix footer:
+ (goto-char (point-max))
+ (re-search-backward "^(provide")
+ (delete-region (match-beginning 0) (point-max))
+ (goto-char (point-max))
+ (insert "(provide '" require-name ")\n\n")
+ (insert ";;; " require-name ".el ends here\n")
+ (write-region nil nil (expand-file-name packagename))))))))
+
;;; wisent-grammar.el ends here
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty
index 410e3aa8614..8a10997eb8b 100644
--- a/admin/notes/multi-tty
+++ b/admin/notes/multi-tty
@@ -521,7 +521,7 @@ THINGS TO DO
** Very strange bug: visible-bell does not work on secondary
terminals in xterm and konsole. The screen does flicker a bit,
- but it's so quick it isn't noticable.
+ but it's so quick it isn't noticeable.
(Update: This is probably some problem with padding or whatnot on
the secondary terminals.)
@@ -585,7 +585,7 @@ DIARY OF CHANGES
-- other-frame should cycle through the frames on the `current'
terminal only.
- (Done, by trivially modifiying next_frame and prev_frame.)
+ (Done, by trivially modifying next_frame and prev_frame.)
-- Support different terminal sizes.
@@ -984,7 +984,7 @@ DIARY OF CHANGES
wrt foreground/background process groups.)
-- There is a flicker during the startup of `emacs -nw'; it's as if
- the terminal is initialized, reset and then initialialized again.
+ the terminal is initialized, reset and then initialized again.
Debug this. (Hint: narrow_foreground_group is called twice during
startup.)
diff --git a/admin/notes/nextstep b/admin/notes/nextstep
index cf0ebbc11aa..a2e5ce2c9b0 100644
--- a/admin/notes/nextstep
+++ b/admin/notes/nextstep
@@ -83,7 +83,7 @@ original NeXT Display PostScript (DPS) APIs are available and used. Under
Cocoa, these were removed and Quartz drawing functions replaced them.
In both cases, font glyphs are accessed through UTF8 character
-representations. It would be preferable to use unicode indices, but prior
+representations. It would be preferable to use Unicode indices, but prior
attempts at this have failed.
Multi-script fontsets are auto-created in nsfont_make_fontset_for_font() using
diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server
index 82e33cc5418..c320bbe915d 100644
--- a/admin/nt/README-ftp-server
+++ b/admin/nt/README-ftp-server
@@ -254,7 +254,7 @@ See the end of the file for license conditions.
Another valuable source of information and help which should not be
overlooked is the various Usenet news groups dedicated to Emacs.
- These are particuarly good for help with general issues which aren't
+ These are particularly good for help with general issues which aren't
specific to the Windows port of Emacs. The main news groups to use
for seeking help are:
diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el
index 1002bb003af..713b0512e09 100644
--- a/admin/unidata/unidata-gen.el
+++ b/admin/unidata/unidata-gen.el
@@ -158,7 +158,7 @@
;; DEFAULT: the default value of the property. It may have the form
;; (VAL0 (FROM1 TO1 VAL1) ...) which indicates that the default
;; value is VAL0 except for characters in the ranges specified by
-;; FROMn and TOn (incusive). The default value of characters
+;; FROMn and TOn (inclusive). The default value of characters
;; between FROMn and TOn is VALn.
;; VAL-LIST: list of specially ordered property values
diff --git a/autogen.sh b/autogen.sh
index d15817d0596..4778d6ca2ad 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -67,7 +67,7 @@ minor_version ()
## $1 = program
## $2 = minimum version.
-## Return 0 if program is present with version >= minumum version.
+## Return 0 if program is present with version >= minimum version.
## Return 1 if program is missing.
## Return 2 if program is present but too old.
## Return 3 for unexpected error (eg failed to parse version).
diff --git a/autogen/Makefile.in b/autogen/Makefile.in
index 743dd02917d..c3cca3f9f1b 100644
--- a/autogen/Makefile.in
+++ b/autogen/Makefile.in
@@ -723,6 +723,7 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
+cache_file = @cache_file@
canonical = @canonical@
configuration = @configuration@
datadir = @datadir@
diff --git a/autogen/config.in b/autogen/config.in
index f1f950cc034..fde44761db4 100644
--- a/autogen/config.in
+++ b/autogen/config.in
@@ -351,6 +351,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `gtk_widget_set_has_window' function. */
#undef HAVE_GTK_WIDGET_SET_HAS_WINDOW
+/* Define to 1 if you have the `gtk_window_set_has_resize_grip' function. */
+#undef HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
+
/* Define to 1 if you have the `g_type_init' function. */
#undef HAVE_G_TYPE_INIT
@@ -900,7 +903,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the XkbGetKeyboard function. */
#undef HAVE_XKBGETKEYBOARD
-/* Define to 1 if you have the Xpm libary (-lXpm). */
+/* Define to 1 if you have the Xpm library (-lXpm). */
#undef HAVE_XPM
/* Define to 1 if you have the `XrmSetDatabase' function. */
diff --git a/autogen/configure b/autogen/configure
index eb7c9428f3a..9dc6dd9ad34 100755
--- a/autogen/configure
+++ b/autogen/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for emacs 24.0.91.
+# Generated by GNU Autoconf 2.65 for emacs 24.0.92.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -549,8 +549,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='emacs'
PACKAGE_TARNAME='emacs'
-PACKAGE_VERSION='24.0.91'
-PACKAGE_STRING='emacs 24.0.91'
+PACKAGE_VERSION='24.0.92'
+PACKAGE_STRING='emacs 24.0.92'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1217,6 +1217,7 @@ build
PROFILING_CFLAGS
MAINT
GZIP_INFO
+cache_file
am__untar
am__tar
AMTAR
@@ -1884,7 +1885,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures emacs 24.0.91 to adapt to many kinds of systems.
+\`configure' configures emacs 24.0.92 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1958,7 +1959,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of emacs 24.0.91:";;
+ short | recursive ) echo "Configuration of emacs 24.0.92:";;
esac
cat <<\_ACEOF
@@ -2121,7 +2122,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-emacs configure 24.0.91
+emacs configure 24.0.92
generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2843,7 +2844,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by emacs $as_me 24.0.91, which was
+It was created by emacs $as_me 24.0.92, which was
generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@
@@ -3676,7 +3677,7 @@ fi
# Define the identity of the package.
PACKAGE='emacs'
- VERSION='24.0.91'
+ VERSION='24.0.92'
cat >>confdefs.h <<_ACEOF
@@ -4070,6 +4071,9 @@ else
fi
+## Makefile.in needs the cache file name.
+
+
## This is an option because I do not know if all info/man support
## compressed files, nor how to test if they do so.
@@ -4396,7 +4400,6 @@ case "${canonical}" in
opsys=gnu-linux
case ${canonical} in
alpha*) machine=alpha ;;
- s390-*) machine=ibms390 ;;
s390x-*) machine=ibms390x ;;
powerpc*) machine=macppc ;;
sparc*) machine=sparc ;;
@@ -9835,10 +9838,10 @@ if test "${HAVE_NS}" = yes; then
window_system=nextstep
with_xft=no
# set up packaging dirs
- exec_prefix=${ns_appbindir}
- libexecdir=${ns_appbindir}/libexec
if test "${EN_NS_SELF_CONTAINED}" = yes; then
prefix=${ns_appresdir}
+ exec_prefix=${ns_appbindir}
+ libexecdir=${ns_appbindir}/libexec
fi
ns_frag=$srcdir/src/ns.mk
NS_OBJ="fontset.o fringe.o image.o"
@@ -11218,7 +11221,8 @@ done
for ac_func in gtk_widget_get_window gtk_widget_set_has_window \
gtk_dialog_get_action_area gtk_widget_get_sensitive \
gtk_widget_get_mapped gtk_adjustment_get_page_size \
- gtk_orientable_set_orientation
+ gtk_orientable_set_orientation \
+ gtk_window_set_has_resize_grip
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -11231,7 +11235,6 @@ _ACEOF
fi
done
-
fi
HAVE_DBUS=no
@@ -13502,7 +13505,7 @@ $as_echo "#define NS_IMPL_GNUSTEP 1" >>confdefs.h
# See also .m.o rule in Makefile.in */
# FIXME: are all these flags really needed? Document here why. */
- C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
+ C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
## Extra CFLAGS applied to src/*.m files.
GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
fi
@@ -22436,6 +22439,13 @@ echo " Does Emacs use -lxft? ${HAVE_XFT}"
echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
echo
+if test -n "${EMACSDATA}"; then
+ echo " Environment variable EMACSDATA set to: $EMACSDATA"
+fi
+if test -n "${EMACSDOC}"; then
+ echo " Environment variable EMACSDOC set to: $EMACSDOC"
+fi
+
if test $USE_XASSERTS = yes; then
echo " Compiling with asserts turned on."
CPPFLAGS="$CPPFLAGS -DXASSERTS=1"
@@ -23098,7 +23108,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by emacs $as_me 24.0.91, which was
+This file was extended by emacs $as_me 24.0.92, which was
generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23164,7 +23174,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-emacs config.status 24.0.91
+emacs config.status 24.0.92
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
diff --git a/configure.in b/configure.in
index 73e1d07edb7..53c219c0923 100644
--- a/configure.in
+++ b/configure.in
@@ -22,7 +22,7 @@ dnl You should have received a copy of the GNU General Public License
dnl along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.65)
-AC_INIT(emacs, 24.0.91)
+AC_INIT(emacs, 24.0.92)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
AC_CONFIG_AUX_DIR(build-aux)
@@ -182,6 +182,9 @@ OPTION_DEFAULT_ON([gnutls],[don't use -lgnutls for SSL/TLS support])
dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html
OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals])
+## Makefile.in needs the cache file name.
+AC_SUBST(cache_file)
+
## This is an option because I do not know if all info/man support
## compressed files, nor how to test if they do so.
OPTION_DEFAULT_ON([compress-info],[don't compress the installed Info pages])
@@ -416,7 +419,6 @@ case "${canonical}" in
opsys=gnu-linux
case ${canonical} in
alpha*) machine=alpha ;;
- s390-*) machine=ibms390 ;;
s390x-*) machine=ibms390x ;;
powerpc*) machine=macppc ;;
sparc*) machine=sparc ;;
@@ -1172,9 +1174,9 @@ if test "${with_sound}" != "no"; then
PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
if test $HAVE_ALSA = yes; then
SAVE_CFLAGS="$CFLAGS"
- SAVE_LDFLAGS="$LDFLAGS"
+ SAVE_LIBS="$LIBS"
CFLAGS="$ALSA_CFLAGS $CFLAGS"
- LDFLAGS="$ALSA_LIBS $LDFLAGS"
+ LIBS="$ALSA_LIBS $LIBS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <asoundlib.h>]], [[snd_lib_error_set_handler (0);]])],
emacs_alsa_normal=yes,
emacs_alsa_normal=no)
@@ -1190,7 +1192,7 @@ if test "${with_sound}" != "no"; then
fi
CFLAGS="$SAVE_CFLAGS"
- LDFLAGS="$SAVE_LDFLAGS"
+ LIBS="$SAVE_LIBS"
LIBSOUND="$LIBSOUND $ALSA_LIBS"
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
@@ -1569,10 +1571,10 @@ if test "${HAVE_NS}" = yes; then
window_system=nextstep
with_xft=no
# set up packaging dirs
- exec_prefix=${ns_appbindir}
- libexecdir=${ns_appbindir}/libexec
if test "${EN_NS_SELF_CONTAINED}" = yes; then
prefix=${ns_appresdir}
+ exec_prefix=${ns_appbindir}
+ libexecdir=${ns_appbindir}/libexec
fi
ns_frag=$srcdir/src/ns.mk
NS_OBJ="fontset.o fringe.o image.o"
@@ -1991,8 +1993,8 @@ if test "${HAVE_GTK}" = "yes"; then
AC_CHECK_FUNCS(gtk_widget_get_window gtk_widget_set_has_window \
gtk_dialog_get_action_area gtk_widget_get_sensitive \
gtk_widget_get_mapped gtk_adjustment_get_page_size \
- gtk_orientable_set_orientation)
-
+ gtk_orientable_set_orientation \
+ gtk_window_set_has_resize_grip)
fi
dnl D-Bus has been tested under GNU/Linux only. Must be adapted for
@@ -2037,12 +2039,12 @@ fi
if test "$HAVE_GSETTINGS" = "yes" || test "$HAVE_GCONF" = "yes"; then
SAVE_CFLAGS="$CFLAGS"
- SAVE_LDFLAGS="$LDFLAGS"
+ SAVE_LIBS="$LIBS"
CFLAGS="$SETTINGS_CFLAGS $CFLAGS"
- LDFLAGS="$SETTINGS_LIBS $LDFLAGS"
+ LIBS="$SETTINGS_LIBS $LIBS"
AC_CHECK_FUNCS([g_type_init])
CFLAGS="$SAVE_CFLAGS"
- LDFLAGS="$SAVE_LDFLAGS"
+ LIBS="$SAVE_LIBS"
fi
AC_SUBST(SETTINGS_CFLAGS)
AC_SUBST(SETTINGS_LIBS)
@@ -2437,7 +2439,7 @@ no_return_alloc_pixels
fi
if test "${HAVE_XPM}" = "yes"; then
- AC_DEFINE(HAVE_XPM, 1, [Define to 1 if you have the Xpm libary (-lXpm).])
+ AC_DEFINE(HAVE_XPM, 1, [Define to 1 if you have the Xpm library (-lXpm).])
LIBXPM=-lXpm
fi
fi
@@ -2587,6 +2589,8 @@ if test "${HAVE_NS}" = "yes"; then
AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
# See also .m.o rule in Makefile.in */
# FIXME: are all these flags really needed? Document here why. */
+ dnl FIXME this should be renamed to GNUSTEP_CFLAGS, and only
+ dnl used in src/Makefile.in.
C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
## Extra CFLAGS applied to src/*.m files.
GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
@@ -3731,6 +3735,13 @@ echo " Does Emacs use -lxft? ${HAVE_XFT}"
echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
echo
+if test -n "${EMACSDATA}"; then
+ echo " Environment variable EMACSDATA set to: $EMACSDATA"
+fi
+if test -n "${EMACSDOC}"; then
+ echo " Environment variable EMACSDOC set to: $EMACSDOC"
+fi
+
if test $USE_XASSERTS = yes; then
echo " Compiling with asserts turned on."
CPPFLAGS="$CPPFLAGS -DXASSERTS=1"
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index b796acd8b39..7661b8c401b 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,209 @@
+2011-12-10 Eli Zaretskii <eliz@gnu.org>
+
+ * msdog.texi (Windows Fonts): Document how to force GDI font
+ backend on MS-Windows.
+
+2011-12-10 Chong Yidong <cyd@gnu.org>
+
+ * building.texi (Compilation): Say what the -k flag to make does.
+ Move subprocess discussion to Compilation Shell.
+ (Compilation Mode): Add xref for grep, occur, and mouse
+ references. Define "locus".
+ (Grep Searching): Use @command.
+ (Debuggers, Commands of GUD, GDB Graphical Interface): Clarify
+ intro.
+ (Starting GUD): Clarify how arguments are specified.
+ (Debugger Operation): Index entry for "GUD interaction buffer",
+ and move basic description here from Commands of GUD node.
+ (GDB User Interface Layout): Copyedits.
+ (Source Buffers): Remove gdb-find-source-frame, which is not in
+ gdb-mi.el.
+ (Other GDB Buffers): Remove gdb-use-separate-io-buffer and
+ toggle-gdb-all-registers, which are not in gdb-mi.el. Don't
+ re-document GUD interaction buffers.
+
+ * programs.texi (Symbol Completion): M-TAB can now use Semantic.
+ (Semantic): Add cindex entries for Semantic.
+
+2011-12-06 Chong Yidong <cyd@gnu.org>
+
+ * programs.texi (Man Page): Clarify how to use Man-switches.
+ Don't bother documenting Man-fontify-manpage-flag.
+ (Lisp Doc): Add xref to Name Help node.
+ (Hideshow): Add cindex. Mention role of ellipses, and default
+ value of hs-isearch-open. Don't bother documenting
+ hs-special-modes-alist.
+ (Symbol Completion): Add kindex for C-M-i. Don't recommend
+ changing the window manager binding of M-TAB.
+
+2011-12-05 Chong Yidong <cyd@gnu.org>
+
+ * programs.texi (Comment Commands): Fix description of for M-; on
+ blank lines. Move documentation of comment-region here.
+ (Multi-Line Comments): Clarify the role of comment-multi-line.
+ Refer to Comment Commands for comment-region doc.
+ (Options for Comments): Refer to Multi-Line Comments for
+ comment-multi-line doc, instead of duplicating it. Fix default
+ values of comment-padding and comment-start-skip.
+
+2011-12-04 Chong Yidong <cyd@gnu.org>
+
+ * programs.texi (Program Modes): Mention modes that are not
+ included with Emacs. Fix references to other manuals for tex.
+ Add index entry for backward-delete-char-untabify. Mention
+ prog-mode-hook.
+ (Which Function): Use "global minor mode" terminology.
+ (Basic Indent, Multi-line Indent): Refer to previous descriptions
+ in Indentation chapter to avoid duplication.
+ (Expressions): Copyedit.
+ (Matching): Document Electric Pair mode.
+
+ * ack.texi (Acknowledgments):
+ * rmail.texi (Movemail, Other Mailbox Formats):
+ * frames.texi (Frames): Don't capitalize "Unix".
+
+2011-12-04 Chong Yidong <cyd@gnu.org>
+
+ * text.texi (Nroff Mode): Mention what nroff is.
+ (Text Based Tables, Table Recognition): Don't say "Table mode"
+ since it's not a major or minor mode.
+ (Text Based Tables): Reduce the size of the example.
+ (Table Definition): Clarify definitions.
+ (Table Creation): Add key table.
+ (Cell Commands): Use kbd for commands.
+ (Table Rows and Columns): Combine nodes Row Commands and Column
+ Commands.
+ (Fixed Width Mode): Node deleted; contents moved to parent.
+ (Table Conversion): Shorten example.
+ (Measuring Tables): Merge into Table Misc.
+
+2011-12-03 Chong Yidong <cyd@gnu.org>
+
+ * text.texi (TeX Mode): Mention AUCTeX package.
+ (TeX Editing): Add xref to documentation for Occur.
+ (LaTeX Editing): Add xref to Completion node.
+ (TeX Print): Fix description of tex-directory.
+ (Enriched Text): Renamed from Formatted Text. Make this node and
+ its subnodes less verbose, since text/enriched files are
+ practically unused.
+ (Enriched Mode): Renamed from Requesting Formatted Text.
+ (Format Colors): Node deleted.
+ (Enriched Faces): Renamed from Format Faces. Describe commands
+ for applying colors too.
+ (Forcing Enriched Mode): Node deleted; merged into Enriched Mode.
+
+ * frames.texi (Menu Mouse Clicks): Tweak description of C-Mouse-2.
+
+ * display.texi (Colors): New node.
+
+ * cmdargs.texi (Colors X):
+ * xresources.texi (GTK styles):
+ * custom.texi (Face Customization): Reference it.
+
+ * glossary.texi (Glossary): Remove "formatted text" and "WYSIWYG".
+ Link to Fill Commands for Justification entry.
+
+2011-12-03 Eli Zaretskii <eliz@gnu.org>
+
+ * display.texi (Auto Scrolling): More accurate description of what
+ scroll-*-aggressively does, including the effect of non-zero
+ margin. Fix "i.e." markup.
+
+2011-12-02 Chong Yidong <cyd@gnu.org>
+
+ * text.texi (Pages): Mention how formfeed chars are displayed.
+ (Auto Fill): Note convention for calling auto-fill-mode from Lisp.
+ Describe adaptive filling more precisely.
+ (Fill Commands): Note that filling removes excess whitespace.
+ (Text Mode): Note auto-mode-alist entries for Text mode. TAB is
+ now bound to indent-for-tab-command in Text mode.
+ (Outline Mode): Copyedits.
+ (Outline Visibility): Note that Reveal mode is a buffer-local
+ minor mode.
+
+ * modes.texi (Major Modes): Move note about checking major-mode in
+ a hook function here, from Text mode.
+
+2011-11-28 Chong Yidong <cyd@gnu.org>
+
+ * text.texi (Words): Add xref to Position Info.
+ (Paragraphs): Add xref to Regexps.
+
+ * indent.texi (Indentation): Rewrite introduction. Move table to
+ Indentation Commands node.
+ (Indentation Commands): Add index entries to table. Copyedits.
+ (Tab Stops, Just Spaces): Copyedits.
+ (Indent Convenience): New node. Document electric-indent-mode.
+
+ * programs.texi (Basic Indent):
+ * windows.texi (Pop Up Window): Fix kindex entry.
+
+2011-11-28 Chong Yidong <cyd@gnu.org>
+
+ * modes.texi (Major Modes): Move major-mode variable doc here from
+ Choosing Modes. Document describe-mode. Document prog-mode-hook
+ and text-mode-hook. Add example of using hooks.
+ (Minor Modes): Document behavior of mode command calls from Lisp.
+ Note that setting the mode variable using Customize will DTRT.
+ (Choosing Modes): Add example of setting a minor mode using a
+ local variable.
+
+2011-11-27 Chong Yidong <cyd@gnu.org>
+
+ * frames.texi (Creating Frames): Move frame parameter example to
+ Frame Parameters node.
+ (Frame Commands): C-x 5 o does not warp the mouse by default.
+ (Fonts): Add more GTK-style properties; also, they should be
+ capitalized.
+ (Special Buffer Frames): Node deleted; special-display is on the
+ way out.
+ (Frame Parameters): Example moved here from Creating Frames.
+ Clarify that default-frame-alist affects the initial frame too.
+ Delete auto-raise-mode and auto-lower-mode.
+ (Wheeled Mice): Node deleted. Content moved to Mouse Commands.
+ (Dialog Boxes): Delete x-gtk-use-old-file-dialog.
+
+ * windows.texi (Window Choice): Add xref to Lisp manual for
+ special-display-*.
+
+2011-11-26 Eli Zaretskii <eliz@gnu.org>
+
+ * display.texi (Text Display): Update the description,
+ cross-references, and indexing related to display of control
+ characters and raw bytes.
+
+2011-11-25 Chong Yidong <cyd@gnu.org>
+
+ * frames.texi (Frames): Rewrite introduction.
+ (Mouse Commands): Default for mouse-drag-copy-region is now t.
+ Mouse-3 does not copy to kill ring by default. DEL does not
+ behave specially for mouse commands any more.
+ (Mouse References): Document mouse-1-click-follows-link more
+ thoroughly.
+ (Menu Mouse Clicks): Move footnote to the main text and add xref
+ to Init Rebinding node.
+ (Mode Line Mouse): Mouse-3 on the mode-line does not bury buffer.
+
+ * files.texi (Visiting): `C-x 5 f' works on ttys too.
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * display.texi (Font Lock): Fix typo.
+
+2011-11-24 Glenn Morris <rgm@gnu.org>
+
+ * rmail.texi (Rmail Output):
+ Mention rmail-automatic-folder-directives. (Bug#9657)
+
+2011-11-21 Chong Yidong <cyd@gnu.org>
+
+ * mark.texi (Global Mark Ring): Fix description of global mark
+ ring (Bug#10032).
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * msdog.texi (Windows Fonts): Fix typo.
+
2011-11-17 Glenn Morris <rgm@gnu.org>
* regs.texi (Bookmarks): Small fixes related to saving. (Bug#10058)
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index 6801c7f1e0e..ae6338ce5a6 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -549,7 +549,7 @@ Taichi Kawabata added support for Devanagari script and the Indian
languages, and wrote @file{ucs-normalize.el} for Unicode normalization.
@item
-Taro Kawagishi implented the MD4 Message Digest Algorithm in Lisp; and
+Taro Kawagishi implemented the MD4 Message Digest Algorithm in Lisp; and
wrote @file{ntlm.el} and @file{sasl-ntlm.el} for NT LanManager
authentication support.
@@ -1272,8 +1272,8 @@ Colin Walters wrote Ibuffer, an enhanced buffer menu.
Barry Warsaw wrote @file{assoc.el}, a set of utility functions for
working with association lists; @file{cc-mode.el}, a mode for editing
C, C@t{++}, and Java code, based on earlier work by Dave Detlefs,
-Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler
-for Emacs Lisp programs; @file{man.el}, a mode for reading UNIX manual
+Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler for
+Emacs Lisp programs; @file{man.el}, a mode for reading Unix manual
pages; @file{regi.el}, providing an AWK-like functionality for use in
lisp programs; @file{reporter.el}, providing customizable bug
reporting for lisp packages; and @file{supercite.el}, a minor mode for
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index ac62e2d9652..5e2cb8119de 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -8,9 +8,9 @@
@cindex program building
@cindex running Lisp functions
- The previous chapter discusses the Emacs commands that are useful for
-making changes in programs. This chapter deals with commands that assist
-in the larger process of compiling and testing programs.
+ The previous chapter discusses the Emacs commands that are useful
+for making changes in programs. This chapter deals with commands that
+assist in the process of compiling and testing programs.
@menu
* Compilation:: Compiling programs in languages other
@@ -37,10 +37,10 @@ in the larger process of compiling and testing programs.
@cindex compilation errors
@cindex error log
- Emacs can run compilers for noninteractive languages such as C and
-Fortran as inferior processes, feeding the error log into an Emacs buffer.
-It can also parse the error messages and show you the source lines where
-compilation errors occurred.
+ Emacs can run compilers for languages such as C and Fortran as
+inferior processes, feeding the compilation log into an Emacs buffer.
+It can also parse the error messages and show you where the errors
+occurred.
@table @kbd
@item M-x compile
@@ -54,65 +54,60 @@ Kill the running compilation subprocess.
@end table
@findex compile
- To run @code{make} or another compilation command, do @kbd{M-x
-compile}. This command reads a shell command line using the minibuffer,
-and then executes the command in an inferior shell, putting output in
-the buffer named @samp{*compilation*}. The current buffer's default
+ To run @code{make} or another compilation command, type @kbd{M-x
+compile}. This reads a shell command line using the minibuffer, and
+then executes the command in an inferior shell, putting output in the
+buffer named @samp{*compilation*}. The current buffer's default
directory is used as the working directory for the execution of the
-command; normally, therefore, the compilation happens in this
+command; normally, therefore, compilation takes place in this
directory.
@vindex compile-command
- The default for the compilation command is normally @samp{make -k},
-which is correct most of the time for nontrivial programs.
-@xref{Top,, Make, make, GNU Make Manual}. If you have done @kbd{M-x
-compile} before, the default each time is the command you used the
-previous time. @code{compile} stores this command in the variable
-@code{compile-command}, so setting that variable specifies the default
-for the next use of @kbd{M-x compile}. If a file specifies a file
-local value for @code{compile-command}, that provides the default when
-you type @kbd{M-x compile} in that file's buffer. @xref{File
-Variables}.
-
- Starting a compilation displays the buffer @samp{*compilation*} in
-another window but does not select it. The buffer's mode line tells
-you whether compilation is finished, with the word @samp{run},
-@samp{signal} or @samp{exit} inside the parentheses. You do not have
-to keep this buffer visible; compilation continues in any case. While
-a compilation is going on, the string @samp{Compiling} appears in the
-mode lines of all windows. When this string disappears, the
-compilation is finished.
-
- If you want to watch the compilation transcript as it appears, switch
-to the @samp{*compilation*} buffer and move point to the end of the
-buffer. When point is at the end, new compilation output is inserted
-above point, which remains at the end. If point is not at the end of
-the buffer, it remains fixed while more compilation output is added at
-the end of the buffer.
+ The default compilation command is @samp{make -k}, which is usually
+correct for programs compiled using the @command{make} utility (the
+@samp{-k} flag tells @command{make} to continue compiling as much as
+possible after an error). @xref{Top,, Make, make, GNU Make Manual}.
+If you have done @kbd{M-x compile} before, the command that you
+specified is automatically stored in the variable
+@code{compile-command}; this is used as the default the next time you
+type @kbd{M-x compile}. A file can also specify a file-local value
+for @code{compile-command} (@pxref{File Variables}).
+
+ Starting a compilation displays the @samp{*compilation*} buffer in
+another window but does not select it. While the compilation is
+running, the word @samp{run} is shown in the major mode indicator for
+the @samp{*compilation*} buffer, and the word @samp{Compiling} appears
+in all mode lines. You do not have to keep the @samp{*compilation*}
+buffer visible while compilation is running; it continues in any case.
+When the compilation ends, for whatever reason, the mode line of the
+@samp{*compilation*} buffer changes to say @samp{exit} (followed by
+the exit code: @samp{[0]} for a normal exit), or @samp{signal} (if a
+signal terminated the process).
+
+ If you want to watch the compilation transcript as it appears,
+switch to the @samp{*compilation*} buffer and move point to the end of
+the buffer. When point is at the end, new compilation output is
+inserted above point, which remains at the end. Otherwise, point
+remains fixed while compilation output is added at the end of the
+buffer.
@cindex compilation buffer, keeping point at end
@vindex compilation-scroll-output
If you change the variable @code{compilation-scroll-output} to a
-non-@code{nil} value, the compilation buffer will scroll automatically
-to follow the output as it comes in. If the value is
-@code{first-error}, the scrolling stops at the first error that
-appears, leaving point at that error. For any other non-@code{nil}
-value, the buffer continues scrolling until there is no more output.
+non-@code{nil} value, the @samp{*compilation*} buffer scrolls
+automatically to follow the output. If the value is
+@code{first-error}, scrolling stops when the first error appears,
+leaving point at that error. For any other non-@code{nil} value,
+scrolling continues until there is no more output.
@findex recompile
To rerun the last compilation with the same command, type @kbd{M-x
-recompile}. This automatically reuses the compilation command from
-the last invocation of @kbd{M-x compile}. It also reuses the
+recompile}. This reuses the compilation command from the last
+invocation of @kbd{M-x compile}. It also reuses the
@samp{*compilation*} buffer and starts the compilation in its default
directory, which is the directory in which the previous compilation
was started.
- When the compiler process terminates, for whatever reason, the mode
-line of the @samp{*compilation*} buffer changes to say @samp{exit}
-(followed by the exit code, @samp{[0]} for a normal exit), or
-@samp{signal} (if a signal terminated the process), instead of
-@samp{run}.
-
@findex kill-compilation
Starting a new compilation also kills any compilation already
running in @samp{*compilation*}, as the buffer can only handle one
@@ -126,27 +121,6 @@ the @samp{*compilation*} buffer (perhaps using @code{rename-uniquely};
@pxref{Misc Buffer}), then switch buffers and start the other
compilation. This will create a new @samp{*compilation*} buffer.
- Emacs does not expect a compiler process to launch asynchronous
-subprocesses; if it does, and they keep running after the main
-compiler process has terminated, Emacs may kill them or their output
-may not arrive in Emacs. To avoid this problem, make the main process
-wait for its subprocesses to finish. In a shell script, you can do this
-using @samp{$!} and @samp{wait}, like this:
-
-@example
-(sleep 10; echo 2nd)& pid=$! # @r{Record pid of subprocess}
-echo first message
-wait $pid # @r{Wait for subprocess}
-@end example
-
- If the background process does not output to the compilation buffer,
-so you only need to prevent it from being killed when the main
-compilation process terminates, this is sufficient:
-
-@example
-nohup @var{command}; sleep 1
-@end example
-
@vindex compilation-environment
You can control the environment passed to the compilation command
with the variable @code{compilation-environment}. Its value is a list
@@ -159,153 +133,154 @@ variable settings override the usual ones.
@cindex Compilation mode
@cindex mode, Compilation
- The @samp{*compilation*} buffer uses a special major mode,
-Compilation mode, whose main feature is to provide a convenient way to
-visit the source line corresponding to an error message. These
-commands are also available in other special buffers that list
-locations in files, including those made by @kbd{M-x grep} and
-@kbd{M-x occur}.
+@cindex locus
+ The @samp{*compilation*} buffer uses a major mode called Compilation
+mode. Compilation mode turns each error message in the buffer into a
+hyperlink; you can move point to it and type @key{RET}, or click on it
+with the mouse (@pxref{Mouse References}), to visit the @dfn{locus} of
+the error message in a separate window. The locus is the specific
+position in a file where that error occurred.
+
+@findex compile-goto-error
+@vindex compilation-auto-jump-to-first-error
+ If you change the variable
+@code{compilation-auto-jump-to-first-error} to a non-@code{nil} value,
+Emacs automatically visits the locus of the first error message that
+appears in the @samp{*compilation*} buffer.
+
+ Compilation mode provides the following additional commands. These
+commands can also be used in @samp{*grep*} buffers, where the
+hyperlinks are search matches rather than error messages (@pxref{Grep
+Searching}).
@table @kbd
@item M-g M-n
@itemx M-g n
@itemx C-x `
-Visit the locus of the next error message or match.
+Visit the locus of the next error message or match (@code{next-error}).
@item M-g M-p
@itemx M-g p
-Visit the locus of the previous error message or match.
-@item @key{RET}
-Visit the locus of the error message that point is on.
-This command is used in the compilation buffer.
-@item Mouse-2
-Visit the locus of the error message that you click on.
+Visit the locus of the previous error message or match
+(@code{previous-error}).
@item M-n
-Find and highlight the locus of the next error message, without
-selecting the source buffer.
+Move point to the next error message or match, without visiting its
+locus (@code{compilation-next-error}).
@item M-p
-Find and highlight the locus of the previous error message, without
-selecting the source buffer.
+Move point to the previous error message or match, without visiting
+its locus (@code{compilation-previous-error}).
@item M-@}
-Move point to the next error for a different file than the current
-one.
+Move point to the next error message or match occurring in a different
+file (@code{compilation-next-file}).
@item M-@{
-Move point to the previous error for a different file than the current
-one.
+Move point to the previous error message or match occurring in a
+different file (@code{compilation-previous-file}).
@item C-c C-f
Toggle Next Error Follow minor mode, which makes cursor motion in the
compilation buffer produce automatic source display.
@end table
-@findex compile-goto-error
-@vindex compilation-auto-jump-to-first-error
- You can visit the source for any particular error message by moving
-point in the @samp{*compilation*} buffer to that error message and
-typing @key{RET} (@code{compile-goto-error}). Alternatively, you can
-click @kbd{Mouse-2} on the error message; you need not switch to the
-@samp{*compilation*} buffer first. If you set the variable
-@code{compilation-auto-jump-to-first-error} to a non-@code{nil} value,
-Emacs automatically jumps to the first error, if any, as soon as it
-appears in the @samp{*compilation*} buffer.
-
@kindex M-g M-n
@kindex M-g n
@kindex C-x `
@findex next-error
@vindex next-error-highlight
- To parse the compiler error messages sequentially, type @kbd{C-x `}
-(@code{next-error}). The character following the @kbd{C-x} is the
-backquote or ``grave accent,'' not the single-quote. This command is
-available in all buffers, not just in @samp{*compilation*}; it
-displays the next error message at the top of one window and source
-location of the error in another window. It also temporarily
-highlights the relevant source line, for a period controlled by the
-variable @code{next-error-highlight}.
-
- The first time @w{@kbd{C-x `}} is used after the start of a compilation,
-it moves to the first error's location. Subsequent uses of @kbd{C-x
-`} advance down to subsequent errors. If you visit a specific error
-message with @key{RET} or @kbd{Mouse-2}, subsequent @w{@kbd{C-x `}}
-commands advance from there. When @w{@kbd{C-x `}} gets to the end of the
-buffer and finds no more error messages to visit, it fails and signals
-an Emacs error. @w{@kbd{C-u C-x `}} starts scanning from the beginning of
-the compilation buffer, and goes to the first error's location.
+ To visit errors sequentially, type @w{@kbd{C-x `}}
+(@code{next-error}), or equivalently @kbd{M-g M-n} or @kbd{M-g n}.
+This command can be invoked from any buffer, not just a Compilation
+mode buffer. The first time you invoke it after a compilation, it
+visits the locus of the first error message. Each subsequent
+@w{@kbd{C-x `}} visits the next error, in a similar fashion. If you
+visit a specific error with @key{RET} or a mouse click in the
+@samp{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands
+advance from there. When @w{@kbd{C-x `}} finds no more error messages
+to visit, it signals an error. @w{@kbd{C-u C-x `}} starts again from
+the beginning of the compilation buffer, and visits the first locus.
+
+ @kbd{M-g M-p} or @kbd{M-g p} (@code{previous-error}) iterates
+through errors in the opposite direction.
+
+ The @code{next-error} and @code{previous-error} commands don't just
+act on the errors or matches listed in @samp{*compilation*} and
+@samp{*grep*} buffers; they also know how to iterate through error or
+match lists produced by other commands, such as @kbd{M-x occur}
+(@pxref{Other Repeating Search}). If you are already in a buffer
+containing error messages or matches, those are the ones that are
+iterated through; otherwise, Emacs looks for a buffer containing error
+messages or matches amongst the windows of the selected frame, then
+for one that @code{next-error} or @code{previous-error} previously
+iterated through, and finally amongst all other buffers. If the
+buffer chosen for iterating through is not currently displayed in a
+window, it will be displayed.
@vindex compilation-skip-threshold
- By default, @w{@kbd{C-x `}} skips less important messages. The variable
-@code{compilation-skip-threshold} controls this. If its value is 2,
-@w{@kbd{C-x `}} skips anything less than error, 1 skips anything less
-than warning, and 0 doesn't skip any messages. The default is 1.
-
- When the window has a left fringe, an arrow in the fringe points to
-the current message in the compilation buffer. The variable
-@code{compilation-context-lines} controls the number of lines of
-leading context to display before the current message. Going to an
-error message location scrolls the @samp{*compilation*} buffer to put
-the message that far down from the top. The value @code{nil} is
-special: if there's a left fringe, the window doesn't scroll at all
-if the message is already visible. If there is no left fringe,
-@code{nil} means display the message at the top of the window.
-
- If you're not in the compilation buffer when you run
-@code{next-error}, Emacs will look for a buffer that contains error
-messages. First, it looks for one displayed in the selected frame,
-then for one that previously had @code{next-error} called on it, and
-then at the current buffer. Finally, Emacs looks at all the remaining
-buffers. @code{next-error} signals an error if it can't find any such
-buffer.
+ By default, the @code{next-error} and @code{previous-error} commands
+skip less important messages. The variable
+@code{compilation-skip-threshold} controls this. The default value,
+1, means to skip anything less important than a warning. A value of 2
+means to skip anything less important than an error, while 0 means not
+to skip any messages.
+
+ When Emacs visits the locus of an error message, it momentarily
+highlights the relevant source line. The duration of this highlight
+is determined by the variable @code{next-error-highlight}.
+
+@vindex compilation-context-lines
+ If the @samp{*compilation*} buffer is shown in a window with a left
+fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in
+the fringe, pointing to the current error message. If the window has
+no left fringe, such as on a text-only terminal, these commands scroll
+the window so that the current message is at the top of the window.
+If you change the variable @code{compilation-context-lines} to an
+integer value @var{n}, these commands scroll the window so that the
+current error message is @var{n} lines from the top, whether or not
+there is a fringe; the default value, @code{nil}, gives the behavior
+described above.
@vindex compilation-error-regexp-alist
@vindex grep-regexp-alist
To parse messages from the compiler, Compilation mode uses the
variable @code{compilation-error-regexp-alist} which lists various
-formats of error messages and tells Emacs how to extract the source file
-and the line number from the text of a message. If your compiler isn't
-supported, you can tailor Compilation mode to it by adding elements to
-that list. A similar variable @code{grep-regexp-alist} tells Emacs how
-to parse output of a @code{grep} command.
+error message formats and tells Emacs how to extract the locus from
+each. A similar variable, @code{grep-regexp-alist}, tells Emacs how
+to parse output from a @code{grep} command (@pxref{Grep Searching}).
@findex compilation-next-error
@findex compilation-previous-error
@findex compilation-next-file
@findex compilation-previous-file
- Compilation mode also redefines the keys @key{SPC} and @key{DEL} to
-scroll by screenfuls, and @kbd{M-n} (@code{compilation-next-error})
-and @kbd{M-p} (@code{compilation-previous-error}) to move to the next
-or previous error message. You can also use @kbd{M-@{}
-(@code{compilation-next-file} and @kbd{M-@}}
-(@code{compilation-previous-file}) to move up or down to an error
-message for a different source file.
+ Compilation mode also defines the keys @key{SPC} and @key{DEL} to
+scroll by screenfuls; @kbd{M-n} (@code{compilation-next-error}) and
+@kbd{M-p} (@code{compilation-previous-error}) to move to the next or
+previous error message; and @kbd{M-@{} (@code{compilation-next-file})
+and @kbd{M-@}} (@code{compilation-previous-file}) to move to the next
+or previous error message for a different source file.
@cindex Next Error Follow mode
@findex next-error-follow-minor-mode
You can type @kbd{C-c C-f} to toggle Next Error Follow mode. In
this minor mode, ordinary cursor motion in the compilation buffer
-automatically updates the source buffer. For instance, moving the
-cursor to the next error message causes the location of that error to
-be displayed immediately.
+automatically updates the source buffer, i.e.@: moving the cursor over
+an error message causes the locus of that error to be displayed.
The features of Compilation mode are also available in a minor mode
called Compilation Minor mode. This lets you parse error messages in
-any buffer, not just a normal compilation output buffer. Type @kbd{M-x
-compilation-minor-mode} to enable the minor mode. This defines the keys
-@key{RET} and @kbd{Mouse-2}, as in the Compilation major mode.
-
- Compilation minor mode works in any buffer, as long as the contents
-are in a format that it understands. In an Rlogin buffer (@pxref{Remote
-Host}), Compilation minor mode automatically accesses remote source
-files by FTP (@pxref{File Names}).
+any buffer, not just a normal compilation output buffer. Type
+@kbd{M-x compilation-minor-mode} to enable the minor mode. For
+instance, in an Rlogin buffer (@pxref{Remote Host}), Compilation minor
+mode automatically accesses remote source files by FTP (@pxref{File
+Names}).
@node Compilation Shell
@section Subshells for Compilation
- Emacs uses a shell to run the compilation command, but specifies the
-option for a noninteractive shell. This means, in particular, that
-the shell should start with no prompt. If you find your usual shell
-prompt making an unsightly appearance in the @samp{*compilation*}
-buffer, it means you have made a mistake in your shell's init file by
-setting the prompt unconditionally. (This init file's name may be
-@file{.bashrc}, @file{.profile}, @file{.cshrc}, @file{.shrc}, or
-various other things, depending on the shell you use.) The shell init
+ The @kbd{M-x compile} command uses a shell to run the compilation
+command, but specifies the option for a noninteractive shell. This
+means, in particular, that the shell should start with no prompt. If
+you find your usual shell prompt making an unsightly appearance in the
+@samp{*compilation*} buffer, it means you have made a mistake in your
+shell's init file by setting the prompt unconditionally. (This init
+file may be named @file{.bashrc}, @file{.profile}, @file{.cshrc},
+@file{.shrc}, etc., depending on what shell you use.) The shell init
file should set the prompt only if there already is a prompt. Here's
how to do it in bash:
@@ -322,67 +297,80 @@ And here's how to do it in csh:
if ($?prompt) set prompt = @dots{}
@end example
- There may well be other things that your shell's init file
-ought to do only for an interactive shell. You can use the same
-method to conditionalize them.
+ Emacs does not expect a compiler process to launch asynchronous
+subprocesses; if it does, and they keep running after the main
+compiler process has terminated, Emacs may kill them or their output
+may not arrive in Emacs. To avoid this problem, make the main
+compilation process wait for its subprocesses to finish. In a shell
+script, you can do this using @samp{$!} and @samp{wait}, like this:
+
+@example
+(sleep 10; echo 2nd)& pid=$! # @r{Record pid of subprocess}
+echo first message
+wait $pid # @r{Wait for subprocess}
+@end example
+
+@noindent
+If the background process does not output to the compilation buffer,
+so you only need to prevent it from being killed when the main
+compilation process terminates, this is sufficient:
+
+@example
+nohup @var{command}; sleep 1
+@end example
- The MS-DOS ``operating system'' does not support asynchronous
-subprocesses; to work around this lack, @kbd{M-x compile} runs the
-compilation command synchronously on MS-DOS. As a consequence, you must
-wait until the command finishes before you can do anything else in
-Emacs.
-@iftex
-@inforef{MS-DOS,,emacs-xtra}.
-@end iftex
@ifnottex
-@xref{MS-DOS}.
+ On the MS-DOS ``operating system'', asynchronous subprocesses are
+not supported, so @kbd{M-x compile} runs the compilation command
+synchronously (i.e.@: you must wait until the command finishes before
+you can do anything else in Emacs). @xref{MS-DOS}.
@end ifnottex
@node Grep Searching
@section Searching with Grep under Emacs
Just as you can run a compiler from Emacs and then visit the lines
-with compilation errors, you can also run @code{grep} and then visit
-the lines on which matches were found. This works by treating the
-matches reported by @code{grep} as if they were ``errors.'' The
-buffer of matches uses Grep mode, which is a variant of Compilation
+with compilation errors, you can also run @command{grep} and then
+visit the lines on which matches were found. This works by treating
+the matches reported by @command{grep} as if they were ``errors.''
+The output buffer uses Grep mode, which is a variant of Compilation
mode (@pxref{Compilation Mode}).
@table @kbd
@item M-x grep
@itemx M-x lgrep
-Run @code{grep} asynchronously under Emacs, with matching lines
-listed in the buffer named @samp{*grep*}.
+Run @command{grep} asynchronously under Emacs, listing matching lines in
+the buffer named @samp{*grep*}.
@item M-x grep-find
@itemx M-x find-grep
@itemx M-x rgrep
-Run @code{grep} via @code{find}, and collect output in the buffer
-named @samp{*grep*}.
+Run @command{grep} via @code{find}, and collect output in the
+@samp{*grep*} buffer.
@item M-x zrgrep
-Run @code{zgrep} and collect output in the buffer named @samp{*grep*}.
+Run @code{zgrep} and collect output in the @samp{*grep*} buffer.
@item M-x kill-grep
-Kill the running @code{grep} subprocess.
+Kill the running @command{grep} subprocess.
@end table
@findex grep
- To run @code{grep}, type @kbd{M-x grep}, then enter a command line
-that specifies how to run @code{grep}. Use the same arguments you
-would give @code{grep} when running it normally: a @code{grep}-style
+ To run @command{grep}, type @kbd{M-x grep}, then enter a command line
+that specifies how to run @command{grep}. Use the same arguments you
+would give @command{grep} when running it normally: a @command{grep}-style
regexp (usually in single-quotes to quote the shell's special
characters) followed by file names, which may use wildcards. If you
specify a prefix argument for @kbd{M-x grep}, it finds the tag
(@pxref{Tags}) in the buffer around point, and puts that into the
-default @code{grep} command.
+default @command{grep} command.
- Your command need not simply run @code{grep}; you can use any shell
+ Your command need not simply run @command{grep}; you can use any shell
command that produces output in the same format. For instance, you
-can chain @code{grep} commands, like this:
+can chain @command{grep} commands, like this:
@example
grep -nH -e foo *.el | grep bar | grep toto
@end example
- The output from @code{grep} goes in the @samp{*grep*} buffer. You
+ The output from @command{grep} goes in the @samp{*grep*} buffer. You
can find the corresponding lines in the original files using @w{@kbd{C-x
`}}, @key{RET}, and so forth, just like compilation errors.
@@ -397,30 +385,31 @@ match will be highlighted, instead of the entire source line.
The command @kbd{M-x grep-find} (also available as @kbd{M-x
find-grep}) is similar to @kbd{M-x grep}, but it supplies a different
initial default for the command---one that runs both @code{find} and
-@code{grep}, so as to search every file in a directory tree. See also
+@command{grep}, so as to search every file in a directory tree. See also
the @code{find-grep-dired} command, in @ref{Dired and Find}.
@findex lgrep
@findex rgrep
@findex zrgrep
The commands @kbd{M-x lgrep} (local grep) and @kbd{M-x rgrep}
-(recursive grep) are more user-friendly versions of @code{grep} and
+(recursive grep) are more user-friendly versions of @command{grep} and
@code{grep-find}, which prompt separately for the regular expression
to match, the files to search, and the base directory for the search.
Case sensitivity of the search is controlled by the current value of
@code{case-fold-search}. The command @kbd{M-x zrgrep} is similar to
-@code{rgrep}, but it calls @code{zgrep} instead of @code{grep} to
-search the contents of gzipped files.
+@kbd{M-x rgrep}, but it calls @command{zgrep} instead of
+@command{grep} to search the contents of gzipped files.
These commands build the shell commands based on the variables
@code{grep-template} (for @code{lgrep}) and @code{grep-find-template}
(for @code{rgrep}). The files to search can use aliases defined in
the variable @code{grep-files-aliases}.
- Subdirectories listed in the variable
-@code{grep-find-ignored-directories} such as those typically used by
-various version control systems, like CVS and arch, are automatically
-skipped by @code{rgrep}.
+@vindex grep-find-ignored-directories
+ Directories listed in the variable
+@code{grep-find-ignored-directories} are automatically skipped by
+@kbd{M-x rgrep}. The default value includes the data directories used
+by various version control systems.
@node Flymake
@section Finding Syntax Errors On The Fly
@@ -444,8 +433,13 @@ flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}. To
display any error messages associated with the current line, use
@kbd{M-x flymake-display-err-menu-for-current-line}.
- For more details about using Flymake, see @ref{Top, Flymake,
-Flymake, flymake, The Flymake Manual}.
+ For more details about using Flymake,
+@ifnottex
+see @ref{Top, Flymake, Flymake, flymake, The Flymake Manual}.
+@end ifnottex
+@iftex
+see the Flymake Info manual, which is distributed with Emacs.
+@end iftex
@node Debuggers
@section Running Debuggers Under Emacs
@@ -459,16 +453,18 @@ Flymake, flymake, The Flymake Manual}.
@cindex JDB
@cindex PDB
-@c Do you believe in GUD?
The GUD (Grand Unified Debugger) library provides an Emacs interface
-to a wide variety of symbolic debuggers. Unlike the GDB graphical
-interface, which only runs GDB (@pxref{GDB Graphical Interface}), GUD
-can also run DBX, SDB, XDB, Perl's debugging mode, the Python debugger
-PDB, or the Java Debugger JDB.
+to a wide variety of symbolic debuggers. It can run the GNU Debugger
+(GDB), as well as DBX, SDB, XDB, Perl's debugging mode, the Python
+debugger PDB, and the Java Debugger JDB.
- In addition, Emacs contains a built-in system for debugging Emacs
-Lisp programs. @xref{Debugging,, The Lisp Debugger, elisp, the Emacs
-Lisp Reference Manual}, for information on the Emacs Lisp debugger.
+ Emacs provides a special interface to GDB, which uses extra Emacs
+windows to display the state of the debugged program. @xref{GDB
+Graphical Interface}.
+
+ Emacs also has a built-in debugger for Emacs Lisp programs.
+@xref{Debugging,, The Lisp Debugger, elisp, the Emacs Lisp Reference
+Manual}.
@menu
* Starting GUD:: How to start a debugger subprocess.
@@ -483,146 +479,136 @@ Lisp Reference Manual}, for information on the Emacs Lisp debugger.
@node Starting GUD
@subsection Starting GUD
- There are several commands for starting a debugger under GUD, each
+ There are several commands for starting a debugger subprocess, each
corresponding to a particular debugger program.
@table @kbd
-@item M-x gdb @key{RET} @var{file} @key{RET}
+@item M-x gdb
@findex gdb
-Run GDB as a subprocess of Emacs. This uses an IDE-like graphical
-interface; see @ref{GDB Graphical Interface}. Only GDB works with the
-graphical interface.
+Run GDB as a subprocess, and interact with it via an IDE-like Emacs
+interface. @xref{GDB Graphical Interface}, for more information about
+this command.
-@item M-x gud-gdb @key{RET} @var{file} @key{RET}
+@item M-x gud-gdb
@findex gud-gdb
-Run GDB as a subprocess of Emacs. This command creates a buffer for
-input and output to GDB, and switches to it. If a GDB buffer already
-exists, it just switches to that buffer.
-
-@item M-x dbx @key{RET} @var{file} @key{RET}
-@findex dbx
-Run DBX as a subprocess of Emacs. Since Emacs does not implement a
-graphical interface for DBX, communication with DBX works by typing
-commands in the GUD interaction buffer. The same is true for all
-the other supported debuggers.
+Run GDB, using a GUD interaction buffer for input and output to the
+GDB subprocess (@pxref{Debugger Operation}). If such a buffer already
+exists, switch to it; otherwise, create the buffer and switch to it.
-@item M-x xdb @key{RET} @var{file} @key{RET}
-@findex xdb
-@vindex gud-xdb-directories
-Run XDB as a subprocess of Emacs. Use the variable
-@code{gud-xdb-directories} to specify directories to search for source
-files.
+The other commands in this list do the same, for other debugger
+programs.
-@item M-x sdb @key{RET} @var{file} @key{RET}
-@findex sdb
-Run SDB as a subprocess of Emacs.
-
-Some versions of SDB do not mention source file names in their
-messages. When you use them, you need to have a valid tags table
-(@pxref{Tags}) in order for GUD to find functions in the source code.
-If you have not visited a tags table or the tags table doesn't list
-one of the functions, you get a message saying @samp{The sdb support
-requires a valid tags table to work}. If this happens, generate a
-valid tags table in the working directory and try again.
-
-@item M-x perldb @key{RET} @var{file} @key{RET}
+@item M-x perldb
@findex perldb
-Run the Perl interpreter in debug mode to debug @var{file}, a Perl program.
+Run the Perl interpreter in debug mode.
-@item M-x jdb @key{RET} @var{file} @key{RET}
+@item M-x jdb
@findex jdb
-Run the Java debugger to debug @var{file}.
+Run the Java debugger.
-@item M-x pdb @key{RET} @var{file} @key{RET}
+@item M-x pdb
@findex pdb
-Run the Python debugger to debug @var{file}.
+Run the Python debugger.
+
+@item M-x dbx
+@findex dbx
+Run the DBX debugger.
+
+@item M-x xdb
+@findex xdb
+@vindex gud-xdb-directories
+Run the XDB debugger.
+
+@item M-x sdb
+@findex sdb
+Run the SDB debugger.
@end table
- Each of these commands takes one argument: a command line to invoke
-the debugger. In the simplest case, specify just the name of the
-executable file you want to debug. You may also use options that the
-debugger supports. However, shell wildcards and variables are not
-allowed. GUD assumes that the first argument not starting with a
-@samp{-} is the executable file name.
+ Each of these commands reads a command line to invoke the debugger,
+using the minibuffer. The minibuffer's initial contents contain the
+standard executable name and options for the debugger, and sometimes
+also a guess for the name of the executable file you want to debug.
+Shell wildcards and variables are not allowed in this command line.
+Emacs assumes that the first command argument which does not start
+with a @samp{-} is the executable file name.
@cindex remote host, debugging on
-Tramp provides a facility to debug programs on remote hosts
-(@pxref{Running a debugger on a remote host, Running a debugger on a
-remote host,, tramp, The Tramp Manual}), whereby both the debugger and
-the program being debugged are on the same remote host. This should
-not be confused with debugging programs remotely, where the program
-and the debugger run on different machines, as can be done using the
-GDB remote debugging feature, for example (@pxref{Remote Debugging,,
-Debugging Remote Programs, gdb, The GNU debugger}).
+ Tramp provides a facility for remote debugging, whereby both the
+debugger and the program being debugged are on the same remote host.
+@xref{Running a debugger on a remote host,,, tramp, The Tramp Manual},
+for details. This is separate from GDB's remote debugging feature,
+where the program and the debugger run on different machines
+(@pxref{Remote Debugging,, Debugging Remote Programs, gdb, The GNU
+debugger}).
@node Debugger Operation
@subsection Debugger Operation
+@cindex GUD interaction buffer
+
+ The @dfn{GUD interaction buffer} is an Emacs buffer which is used to
+send text commands to a debugger subprocess, and record its output.
+This is the basic interface for interacting with a debugger, used by
+@kbd{M-x gud-gdb} and other commands listed in
+@iftex
+the preceding section.
+@end iftext
+@ifnottex
+@ref{Starting GUD}.
+@end ifnottex
+The @kbd{M-x gdb} command extends this interface with additional
+specialized buffers for controlling breakpoints, stack frames, and
+other aspects of the debugger state (@pxref{GDB Graphical Interface}).
-@cindex fringes, and current execution line in GUD
- Generally when you run a debugger with GUD, the debugger uses an Emacs
-buffer for its ordinary input and output. This is called the GUD
-buffer. Input and output from the program you are debugging also use
-this buffer. We call this @dfn{text command mode}. The GDB Graphical
-Interface can use further buffers (@pxref{GDB Graphical Interface}).
-
- The debugger displays the source files of the program by visiting
-them in Emacs buffers. An arrow in the left fringe indicates the
-current execution line.@footnote{On a text-only terminal, the arrow
-appears as @samp{=>} and overlays the first two text columns.} Moving
-point in this buffer does not move the arrow. The arrow is not part
-of the file's text; it appears only on the screen.
-
- You can start editing these source files at any time in the buffers
-that display them. If you do modify a source file, keep in mind that
-inserting or deleting lines will throw off the arrow's positioning;
-GUD has no way of figuring out which line corresponded before your
-changes to the line number in a debugger message. Also, you'll
-typically have to recompile and restart the program for your changes
-to be reflected in the debugger's tables.
-
-@cindex tooltips with GUD
-@vindex tooltip-gud-modes
-@vindex gud-tooltip-mode
+ The GUD interaction buffer uses a variant of Shell mode, so the
+Emacs commands defined by Shell mode are available (@pxref{Shell
+Mode}). Completion is available for most debugger commands
+(@pxref{Completion}), and you can use the usual Shell mode history
+commands to repeat them.
+@iftex
+See the next section
+@end iftext
+@ifnottex
+@xref{Commands of GUD},
+@end ifnottex
+for special commands that can be used in the GUD interaction buffer.
+
+ As you debug a program, Emacs displays the relevant source files by
+visiting them in Emacs buffers, with an arrow in the left fringe
+indicating the current execution line. (On a text-only terminal, the
+arrow appears as @samp{=>}, overlaid on the first two text columns.)
+Moving point in such a buffer does not move the arrow. You are free
+to edit these source files, but note that inserting or deleting lines
+will throw off the arrow's positioning, as Emacs has no way to figure
+out which edited source line corresponds to the line reported by the
+debugger subprocess. To update this information, you typically have
+to recompile and restart the program.
+
+@cindex GUD Tooltip mode
+@cindex mode, GUD Tooltip
+@findex gud-tooltip-mode
@vindex gud-tooltip-echo-area
- The Tooltip facility (@pxref{Tooltips}) provides support for GUD@.
-You activate this feature by turning on the minor mode
-@code{gud-tooltip-mode}. Then you can display a variable's value in a
-tooltip simply by pointing at it with the mouse. This operates in the
-GUD buffer and in source buffers with major modes in the list
-@code{gud-tooltip-modes}. If the variable @code{gud-tooltip-echo-area}
-is non-@code{nil} then the variable's value is displayed in the echo
-area. When debugging a C program using the GDB Graphical Interface, you
-can also display macro definitions associated with an identifier when
-the program is not executing.
-
- GUD tooltips are disabled when you use GDB in text command mode
-(@pxref{GDB Graphical Interface}), because displaying an expression's
-value in GDB can sometimes expand a macro and result in a side effect
-that interferes with the program's operation. The GDB graphical
-interface supports GUD tooltips and assures they will not cause side
-effects.
+ GUD Tooltip mode is a global minor mode that adds tooltip support to
+GUD. To toggle this mode, type @kbd{M-x gud-tooltip-mode}. It is
+disabled by default. If enabled, you can move the mouse cursor over a
+variable to show its value in a tooltip (@pxref{Tooltips}); this takes
+effect in the GUD interaction buffer, and in all source buffers with
+major modes listed in the variable @code{gud-tooltip-modes}. If the
+variable @code{gud-tooltip-echo-area} is non-@code{nil}, values are
+shown in the echo area instead of a tooltip.
+
+ When using GUD Tooltip mode with @kbd{M-x gud-gdb}, you should note
+that displaying an expression's value in GDB can sometimes expand a
+macro, potentially causing side effects in the debugged program. If
+you use the @kbd{M-x gdb} interface, this problem does not occur, as
+there is special code to avoid side-effects; furthermore, you can
+display macro definitions associated with an identifier when the
+program is not executing.
@node Commands of GUD
@subsection Commands of GUD
- The GUD interaction buffer uses a variant of Shell mode, so the
-Emacs commands of Shell mode are available (@pxref{Shell Mode}). All
-the usual commands for your debugger are available, and you can use
-the Shell mode history commands to repeat them. If you wish, you can
-control your debugger process entirely through this buffer.
-
- GUD mode also provides commands for setting and clearing
-breakpoints, for selecting stack frames, and for stepping through the
-program. These commands are available both in the GUD buffer and
-globally, but with different key bindings. It also has its own tool
-bar from which you can invoke the more common commands by clicking on
-the appropriate icon. This is particularly useful for repetitive
-commands like @code{gud-next} and @code{gud-step}, and allows you to
-keep the GUD buffer hidden.
-
- The breakpoint commands are normally used in source file buffers,
-because that is the easiest way to specify where to set or clear the
-breakpoint. Here's the global command to set a breakpoint:
+ GUD provides commands for setting and clearing breakpoints,
+selecting stack frames, and stepping through the program.
@table @kbd
@item C-x @key{SPC}
@@ -630,35 +616,42 @@ breakpoint. Here's the global command to set a breakpoint:
Set a breakpoint on the source line that point is on.
@end table
+ @kbd{C-x @key{SPC}} (@code{gud-break}), when called in a source
+buffer, sets a debugger breakpoint on the current source line. This
+command is available only after starting GUD. If you call it in a
+buffer that is not associated with any debugger subprocess, it signals
+a error.
+
@kindex C-x C-a @r{(GUD)}
- Here are the other special commands provided by GUD@. The keys
+ The following commands are available both in the GUD interaction
+buffer and globally, but with different key bindings. The keys
starting with @kbd{C-c} are available only in the GUD interaction
-buffer. The key bindings that start with @kbd{C-x C-a} are available
-in the GUD interaction buffer and also in source files. Some of these
-commands are not available to all the supported debuggers.
+buffer, while those starting with @kbd{C-x C-a} are available
+globally. Some of these commands are also available via the tool bar;
+some are not supported by certain debuggers.
@table @kbd
@item C-c C-l
@kindex C-c C-l @r{(GUD)}
@itemx C-x C-a C-l
@findex gud-refresh
-Display in another window the last line referred to in the GUD
-buffer (that is, the line indicated in the last location message).
-This runs the command @code{gud-refresh}.
+Display, in another window, the last source line referred to in the
+GUD interaction buffer (@code{gud-refresh}).
@item C-c C-s
@kindex C-c C-s @r{(GUD)}
@itemx C-x C-a C-s
@findex gud-step
-Execute a single line of code (@code{gud-step}). If the line contains
-a function call, execution stops after entering the called function.
+Execute the next single line of code (@code{gud-step}). If the line
+contains a function call, execution stops after entering the called
+function.
@item C-c C-n
@kindex C-c C-n @r{(GUD)}
@itemx C-x C-a C-n
@findex gud-next
-Execute a single line of code, stepping across entire function calls
-at full speed (@code{gud-next}).
+Execute the next single line of code, stepping across function calls
+without stopping inside the functions (@code{gud-next}).
@item C-c C-i
@kindex C-c C-i @r{(GUD)}
@@ -769,17 +762,17 @@ Instead, type @kbd{C-q @key{TAB}} to enter a tab.
@vindex perldb-mode-hook
@vindex pdb-mode-hook
@vindex jdb-mode-hook
- On startup, GUD runs one of the following hooks: @code{gdb-mode-hook},
-if you are using GDB; @code{dbx-mode-hook}, if you are using DBX;
-@code{sdb-mode-hook}, if you are using SDB; @code{xdb-mode-hook}, if you
-are using XDB; @code{perldb-mode-hook}, for Perl debugging mode;
-@code{pdb-mode-hook}, for PDB; @code{jdb-mode-hook}, for JDB. You can
-use these hooks to define custom key bindings for the debugger
-interaction buffer. @xref{Hooks}.
-
- Here is a convenient way to define a command that sends a particular
-command string to the debugger, and set up a key binding for it in the
-debugger interaction buffer:
+ On startup, GUD runs one of the following hooks:
+@code{gdb-mode-hook}, if you are using GDB; @code{dbx-mode-hook}, if
+you are using DBX; @code{sdb-mode-hook}, if you are using SDB;
+@code{xdb-mode-hook}, if you are using XDB; @code{perldb-mode-hook},
+for Perl debugging mode; @code{pdb-mode-hook}, for PDB;
+@code{jdb-mode-hook}, for JDB. @xref{Hooks}.
+
+ The @code{gud-def} Lisp macro (@pxref{Defining Macros,,, elisp, the
+Emacs Lisp Reference Manual}) provides a convenient way to define an
+Emacs command that sends a particular command string to the debugger,
+and set up a key binding for in the GUD interaction buffer:
@findex gud-def
@example
@@ -835,21 +828,22 @@ Fully qualified class name derived from the expression surrounding point
@node GDB Graphical Interface
@subsection GDB Graphical Interface
- The command @code{gdb} starts GDB in a graphical interface, using
-Emacs windows for display program state information. With it, you do
-not need to use textual GDB commands; you can control the debugging
-session with the mouse. For example, you can click in the fringe of a
-source buffer to set a breakpoint there, or on a stack frame in the
-stack buffer to select that frame.
-
- This mode requires telling GDB that its ``screen size'' is
-unlimited, so it sets the height and width accordingly. For correct
-operation you must not change these values during the GDB session.
+ The command @kbd{M-x gdb} starts GDB in an IDE-like interface, with
+specialized buffers for controlling breakpoints, stack frames, and
+other aspects of the debugger state. It also provides additional ways
+to control the debugging session with the mouse, such as clicking in
+the fringe of a source buffer to set a breakpoint there.
@vindex gud-gdb-command-name
- To run GDB in text command mode, like the other debuggers in Emacs,
-use @kbd{M-x gud-gdb}. You need to use text command mode to debug
-multiple programs within one Emacs session.
+ To run GDB using just the GUD interaction buffer interface, without
+these additional features, use @kbd{M-x gud-gdb} (@pxref{Starting
+GUD}). You must use this if you want to debug multiple programs
+within one Emacs session, as that is currently unsupported by @kbd{M-x
+gdb}.
+
+ Internally, @kbd{M-x gdb} informs GDB that its ``screen size'' is
+unlimited; for correct operation, you must not change GDB's screen
+height and width values during the debugging session.
@menu
* GDB User Interface Layout:: Control the number of displayed buffers.
@@ -858,8 +852,7 @@ multiple programs within one Emacs session.
* Breakpoints Buffer:: A breakpoint control panel.
* Threads Buffer:: Displays your threads.
* Stack Buffer:: Select a frame from the call stack.
-* Other GDB Buffers:: Input/output, locals, registers,
- assembler, threads and memory buffers.
+* Other GDB Buffers:: Other buffers for controlling the GDB state.
* Watch Expressions:: Monitor variable values in the speedbar.
* Multithreaded Debugging:: Debugging programs with several threads.
@end menu
@@ -869,12 +862,12 @@ multiple programs within one Emacs session.
@cindex GDB User Interface layout
@vindex gdb-many-windows
- If the variable @code{gdb-many-windows} is @code{nil} (the default
-value) then @kbd{M-x gdb} normally displays only the GUD buffer.
+ If the variable @code{gdb-many-windows} is @code{nil} (the default),
+@kbd{M-x gdb} normally displays only the GUD interaction buffer.
However, if the variable @code{gdb-show-main} is also non-@code{nil},
-it starts with two windows: one displaying the GUD buffer, and the
-other showing the source for the @code{main} function of the program
-you are debugging.
+it starts with two windows: one displaying the GUD interaction buffer,
+and the other showing the source for the @code{main} function of the
+program you are debugging.
If @code{gdb-many-windows} is non-@code{nil}, then @kbd{M-x gdb}
displays the following frame layout:
@@ -882,7 +875,7 @@ displays the following frame layout:
@smallexample
@group
+--------------------------------+--------------------------------+
-| GUD buffer (I/O of GDB) | Locals/Registers buffer |
+| GUD interaction buffer | Locals/Registers buffer |
|--------------------------------+--------------------------------+
| Primary Source buffer | I/O buffer for debugged pgm |
|--------------------------------+--------------------------------+
@@ -896,264 +889,233 @@ buffer does not appear and the primary source buffer occupies the full
width of the frame.
@findex gdb-restore-windows
- If you change the window layout, for example, while editing and
-re-compiling your program, then you can restore this standard window
-layout with the command @code{gdb-restore-windows}.
-
@findex gdb-many-windows
- To switch between this standard layout and a simple layout
-containing just the GUD buffer and a source file, type @kbd{M-x
-gdb-many-windows}.
+ If you ever change the window layout, you can restore the ``many
+windows'' layout by typing @kbd{M-x gdb-restore-windows}. To toggle
+between the many windows layout and a simple layout with just the GUD
+interaction buffer and a source file, type @kbd{M-x gdb-many-windows}.
You may also specify additional GDB-related buffers to display,
either in the same frame or a different one. Select the buffers you
-want with the @samp{GUD->GDB-Windows} and @samp{GUD->GDB-Frames}
-sub-menus. If the menu-bar is unavailable, type @code{M-x
-gdb-display-@var{buffertype}-buffer} or @code{M-x
-gdb-frame-@var{buffertype}-buffer} respectively, where
-@var{buffertype} is the relevant buffer type, such as
-@samp{breakpoints}. Most of these buffers are read-only, and typing
-@kbd{q} in them kills them.
-
- When you finish debugging, kill the GUD buffer with @kbd{C-x k},
-which will also kill all the buffers associated with the session.
-However you need not do this if, after editing and re-compiling your
-source code within Emacs, you wish continue debugging. When you
-restart execution, GDB will automatically find your new executable.
-Keeping the GUD buffer has the advantage of keeping the shell history
-as well as GDB's breakpoints. You do need to check that the
-breakpoints in recently edited source files are still in the right
-places.
+want by typing @code{M-x gdb-display-@var{buffertype}-buffer} or
+@code{M-x gdb-frame-@var{buffertype}-buffer}, where @var{buffertype}
+is the relevant buffer type, such as @samp{breakpoints}. You can do
+the same with the menu bar, with the @samp{GDB-Windows} and
+@samp{GDB-Frames} sub-menus of the @samp{GUD} menu.
+
+ When you finish debugging, kill the GUD interaction buffer with
+@kbd{C-x k}, which will also kill all the buffers associated with the
+session. However you need not do this if, after editing and
+re-compiling your source code within Emacs, you wish to continue
+debugging. When you restart execution, GDB automatically finds the
+new executable. Keeping the GUD interaction buffer has the advantage
+of keeping the shell history as well as GDB's breakpoints. You do
+need to check that the breakpoints in recently edited source files are
+still in the right places.
@node Source Buffers
@subsubsection Source Buffers
-@cindex GDB commands in Fringe
-
-@c @findex gdb-mouse-set-clear-breakpoint
-@c @findex gdb-mouse-toggle-breakpoint
-Many GDB commands can be entered using key bindings or the tool bar but
-sometimes it is quicker to use the fringe. These commands either
-manipulate breakpoints or control program execution. When there is no
-fringe, you can use the margin but this is only present when the
-source file already has a breakpoint.
-
-You can click @kbd{Mouse-1} in the fringe or display margin of a
-source buffer to set a breakpoint there and, on a graphical display, a
-red bullet will appear on that line. If a breakpoint already exists
-on that line, the same click will remove it. You can also enable or
-disable a breakpoint by clicking @kbd{C-Mouse-1} on the bullet.
-
-A solid arrow in the left fringe of a source buffer indicates the line
-of the innermost frame where the debugged program has stopped. A
-hollow arrow indicates the current execution line of higher level
-frames.
-
-If you drag the arrow in the fringe with @kbd{Mouse-1}
-(@code{gdb-mouse-until}), execution will continue to the line where
-you release the button, provided it is still in the same frame.
-Alternatively, you can click @kbd{Mouse-3} at some point in the fringe
-of this buffer and execution will advance to there. A similar command
-(@code{gdb-mouse-jump}) allows you to jump to a source line without
-executing the intermediate lines by clicking @kbd{C-Mouse-3}. This
-command allows you to go backwards which can be useful for running
-through code that has already executed, in order to examine its
-execution in more detail.
+@cindex fringes, for debugging
-@table @kbd
-@item Mouse-1
-Set or clear a breakpoint.
+@table @asis
+@item @kbd{Mouse-1} (in fringe)
+Set or clear a breakpoint on that line.
-@item C-Mouse-1
-Enable or disable a breakpoint.
+@item @kbd{C-Mouse-1} (in fringe)
+Enable or disable a breakpoint on that line.
-@item Mouse-3
-Continue execution to here.
+@item @kbd{Mouse-3} (in fringe)
+Continue execution to that line.
-@item C-Mouse-3
-Jump to here.
+@item @kbd{C-Mouse-3} (in fringe)
+Jump to that line.
@end table
-If the variable @code{gdb-find-source-frame} is non-@code{nil} and
-execution stops in a frame for which there is no source code e.g after
-an interrupt, then Emacs finds and displays the first frame further up
-stack for which there is source. If it is @code{nil} then the source
-buffer continues to display the last frame which maybe more useful,
-for example, when re-setting a breakpoint.
+ On a graphical display, you can click @kbd{Mouse-1} in the fringe of
+a source buffer, to set a breakpoint on that line (@pxref{Fringes}).
+A red dot appears in the fringe, where you clicked. If a breakpoint
+already exists there, the click removes it. A @kbd{C-Mouse-1} click
+enables or disables an existing breakpoint; a breakpoint that is
+disabled, but not unset, is indicated by a gray dot.
+
+ On a text-only terminal, or when fringes are disabled, enabled
+breakpoints are indicated with a @samp{B} character in the left margin
+of the window. Disabled breakpoints are indicated with @samp{b}.
+(The margin is only displayed if a breakpoint is present.)
+
+ A solid arrow in the left fringe of a source buffer indicates the
+line of the innermost frame where the debugged program has stopped. A
+hollow arrow indicates the current execution line of a higher-level
+frame. If you drag the arrow in the fringe with @kbd{Mouse-1}, that
+causes execution to advance to the line where you release the button.
+Alternatively, you can click @kbd{Mouse-3} in the fringe to advance to
+that line. You can click @kbd{C-Mouse-3} in the fringe to jump to
+that line without executing the intermediate lines. This command
+allows you to go backwards, which can be useful for running through
+code that has already executed, in order to examine its execution in
+more detail.
@node Breakpoints Buffer
@subsubsection Breakpoints Buffer
- The breakpoints buffer shows the existing breakpoints, watchpoints and
-catchpoints (@pxref{Breakpoints,,, gdb, The GNU debugger}). It has
-these special commands, which mostly apply to the @dfn{current
-breakpoint}, the breakpoint which point is on.
+ The GDB Breakpoints buffer shows the breakpoints, watchpoints and
+catchpoints in the debugger session. @xref{Breakpoints,,, gdb, The
+GNU debugger}. It provides the following commands, which mostly apply
+to the @dfn{current breakpoint} (the breakpoint which point is on):
@table @kbd
@item @key{SPC}
-@kindex SPC @r{(GDB breakpoints buffer)}
+@kindex SPC @r{(GDB Breakpoints buffer)}
@findex gdb-toggle-breakpoint
-Enable/disable current breakpoint (@code{gdb-toggle-breakpoint}).
-On a graphical display, this changes the color of a bullet in the
-margin of a source buffer at the relevant line. This is red when
-the breakpoint is enabled and grey when it is disabled. Text-only
-terminals correspondingly display a @samp{B} or @samp{b}.
+Enable/disable current breakpoint (@code{gdb-toggle-breakpoint}). On
+a graphical display, this changes the color of the dot in the fringe
+of the source buffer at that line. The dot is red when the breakpoint
+is enabled, and gray when it is disabled.
@item D
-@kindex D @r{(GDB breakpoints buffer)}
+@kindex D @r{(GDB Breakpoints buffer)}
@findex gdb-delete-breakpoint
Delete the current breakpoint (@code{gdb-delete-breakpoint}).
@item @key{RET}
-@kindex RET @r{(GDB breakpoints buffer)}
+@kindex RET @r{(GDB Breakpoints buffer)}
@findex gdb-goto-breakpoint
Visit the source line for the current breakpoint
(@code{gdb-goto-breakpoint}).
@item Mouse-2
-@kindex Mouse-2 @r{(GDB breakpoints buffer)}
+@kindex Mouse-2 @r{(GDB Breakpoints buffer)}
Visit the source line for the breakpoint you click on.
@end table
@vindex gdb-show-threads-by-default
-When @code{gdb-many-windows} is non-@code{nil}, the breakpoints buffer
-shares its window with the threads buffer. To switch from one to the
-other click with @kbd{Mouse-1} on the relevant button in the header
-line. If @code{gdb-show-threads-by-default} is non-@code{nil}, the
-threads buffer, rather than the breakpoints buffer, is shown at start
-up.
+ When @code{gdb-many-windows} is non-@code{nil}, the GDB Breakpoints
+buffer shares its window with the GDB Threads buffer. To switch from
+one to the other click with @kbd{Mouse-1} on the relevant button in
+the header line. If @code{gdb-show-threads-by-default} is
+non-@code{nil}, the GDB Threads buffer is the one shown by default.
@node Threads Buffer
@subsubsection Threads Buffer
@findex gdb-select-thread
-The threads buffer displays a summary of all threads currently in your
-program (@pxref{Threads, Threads, Debugging programs with multiple
-threads, gdb, The GNU debugger}). Move point to any thread in the list
-and press @key{RET} to select it (@code{gdb-select-thread}) and
-display the associated source in the primary source buffer.
-Alternatively, click @kbd{Mouse-2} on a thread to select it. Contents
-of all GDB buffers are updated whenever you select a thread.
+ The GDB Threads buffer displays a summary of the threads in the
+debugged program. @xref{Threads, Threads, Debugging programs with
+multiple threads, gdb, The GNU debugger}. To select a thread, move
+point there and type @key{RET} (@code{gdb-select-thread}), or click on
+it with @kbd{Mouse-2}. This also displays the associated source
+buffer, and updates the contents of the other GDB buffers.
You can customize variables under @code{gdb-buffers} group to select
-fields included in threads buffer.
+fields included in GDB Threads buffer.
@table @code
@item gdb-thread-buffer-verbose-names
@vindex gdb-thread-buffer-verbose-names
-Show long thread names like @samp{Thread 0x4e2ab70 (LWP 1983)} in
-threads buffer.
+Show long thread names like @samp{Thread 0x4e2ab70 (LWP 1983)}.
@item gdb-thread-buffer-arguments
@vindex gdb-thread-buffer-arguments
-Show arguments of thread top frames in threads buffer.
+Show arguments of thread top frames.
@item gdb-thread-buffer-locations
@vindex gdb-thread-buffer-locations
-Show file information or library names in threads buffer.
+Show file information or library names.
@item gdb-thread-buffer-addresses
@vindex gdb-thread-buffer-addresses
Show addresses for thread frames in threads buffer.
@end table
- It's possible to observe information for several threads
-simultaneously (in addition to buffers which show information for
-currently selected thread) using the following keys from the threads
-buffer.
+ To view information for several threads simultaneously, use the
+following commands from the GDB Threads buffer.
@table @kbd
@item d
@kindex d @r{(GDB threads buffer)}
@findex gdb-display-disassembly-for-thread
-Display disassembly buffer for the thread at current line.
-(@code{gdb-display-disassembly-for-thread})
+Display disassembly buffer for the thread at current line
+(@code{gdb-display-disassembly-for-thread}).
@item f
@kindex f @r{(GDB threads buffer)}
@findex gdb-display-stack-for-thread
-Display stack buffer for the thread at current line.
+Display the GDB Stack buffer for the thread at current line
(@code{gdb-display-stack-for-thread}).
@item l
@kindex l @r{(GDB threads buffer)}
@findex gdb-display-locals-for-thread
-Display locals buffer for the thread at current line.
+Display the GDB Locals buffer for the thread at current line
(@code{gdb-display-locals-for-thread}).
@item r
@kindex r @r{(GDB threads buffer)}
@findex gdb-display-registers-for-thread
-Display registers buffer for the thread at current line.
+Display the GDB Registers buffer for the thread at current line
(@code{gdb-display-registers-for-thread}).
@end table
-Pressing their upper-case counterparts, @kbd{D}, @kbd{F} ,@kbd{L} and
-@kbd{R} displays the corresponding buffer in a new frame.
+@noindent
+Their upper-case counterparts, @kbd{D}, @kbd{F} ,@kbd{L} and @kbd{R},
+display the corresponding buffer in a new frame.
When you create a buffer showing information about some specific
thread, it becomes bound to that thread and keeps showing actual
-information while you debug your program. Every GDB buffer contains a
-number of thread it shows information for in its mode name. Thread
-number is also included in the buffer name of bound buffers to prevent
-buffer names clashing.
+information while you debug your program. The mode indicator for each
+GDB buffer shows the number of thread it is showing information about.
+The thread number is also included in the buffer name of bound
+buffers.
-Further commands are available in the threads buffer which depend on the
-mode of GDB that is used for controlling execution of your program.
-(@pxref{Multithreaded Debugging, Stopping and Starting Multi-threaded Programs}).
+ Further commands are available in the GDB Threads buffer which
+depend on the mode of GDB that is used for controlling execution of
+your program. @xref{Multithreaded Debugging}.
@node Stack Buffer
@subsubsection Stack Buffer
- The stack buffer displays a @dfn{call stack}, with one line for each
-of the nested subroutine calls (@dfn{stack frames}) now active in the
-program. @xref{Backtrace,, Backtraces, gdb, The GNU debugger}.
+ The GDB Stack buffer displays a @dfn{call stack}, with one line for
+each of the nested subroutine calls (@dfn{stack frames}) in the
+debugger session. @xref{Backtrace,, Backtraces, gdb, The GNU
+debugger}.
@findex gdb-frames-select
-An arrow in the fringe points to the selected frame or, if the fringe is
-not present, the number of the selected frame is displayed in reverse
-contrast. To select a frame in GDB, move point in the stack buffer to
-that stack frame and type @key{RET} (@code{gdb-frames-select}), or click
-@kbd{Mouse-2} on a stack frame. If the locals buffer is visible,
-selecting a stack frame updates it to display the local variables of the
-new frame.
+ On graphical displays, the selected stack frame is indicated by an
+arrow in the fringe. On text-only terminals, or when fringes are
+disabled, the selected stack frame is displayed in reverse contrast.
+To select a stack frame, move point in its line and type @key{RET}
+(@code{gdb-frames-select}), or click @kbd{Mouse-2} on it. Doing so
+also updates the Locals buffer
+@ifnottex
+(@pxref{Other GDB Buffers}).
+@end ifnottex
+@iftex
+(described in the next section).
+@end iftex
@node Other GDB Buffers
-@subsubsection Other Buffers
+@subsubsection Other GDB Buffers
@table @asis
-@item Input/Output Buffer
-@vindex gdb-use-separate-io-buffer
-If the variable @code{gdb-use-separate-io-buffer} is non-@code{nil},
-the program being debugged takes its input and displays its output
-here. Otherwise it uses the GUD buffer for that. To toggle whether
-GUD mode uses this buffer, do @kbd{M-x gdb-use-separate-io-buffer}.
-This takes effect when you next restart the program you are debugging.
-
-The history and replay commands from Shell mode are available here,
-as are the commands to send signals to the debugged program.
-@xref{Shell Mode}.
-
@item Locals Buffer
-The locals buffer displays the values of local variables of the
-current frame for simple data types (@pxref{Frame Info, Frame Info,
+This buffer displays the values of local variables of the current
+frame for simple data types (@pxref{Frame Info, Frame Info,
Information on a frame, gdb, The GNU debugger}). Press @key{RET} or
click @kbd{Mouse-2} on the value if you want to edit it.
Arrays and structures display their type only. With GDB 6.4 or later,
-move point to their name and press @key{RET}, or alternatively click
-@kbd{Mouse-2} there, to examine their values. With earlier versions
-of GDB, use @kbd{Mouse-2} or @key{RET} on the type description
+you can examine the value of the local variable at point by typing
+@key{RET}, or with a @kbd{Mouse-2} click. With earlier versions of
+GDB, use @key{RET} or @kbd{Mouse-2} on the type description
(@samp{[struct/union]} or @samp{[array]}). @xref{Watch Expressions}.
@item Registers Buffer
@findex toggle-gdb-all-registers
-The registers buffer displays the values held by the registers
+This buffer displays the values held by the registers
(@pxref{Registers,,, gdb, The GNU debugger}). Press @key{RET} or
-click @kbd{Mouse-2} on a register if you want to edit its value.
-With GDB 6.4 or later, recently changed register values display with
-@code{font-lock-warning-face}. With earlier versions of GDB, you can
-press @key{SPC} to toggle the display of floating point registers
-(@code{toggle-gdb-all-registers}).
+click @kbd{Mouse-2} on a register if you want to edit its value. With
+GDB 6.4 or later, recently changed register values display with
+@code{font-lock-warning-face}.
@item Assembler Buffer
The assembler buffer displays the current frame as machine code. An
@@ -1172,8 +1134,8 @@ size for these data items.
@end table
When @code{gdb-many-windows} is non-@code{nil}, the locals buffer
-shares its window with the registers buffer, just like breakpoints
-and threads buffers. To switch from one to the other click with
+shares its window with the registers buffer, just like breakpoints and
+threads buffers. To switch from one to the other, click with
@kbd{Mouse-1} on the relevant button in the header line.
@node Watch Expressions
@@ -1188,14 +1150,15 @@ in the tool bar (@code{gud-watch}) or type @kbd{C-x C-a C-w}. If you
specify a prefix argument, you can enter the variable name in the
minibuffer.
- Each watch expression is displayed in the speedbar. Complex data
-types, such as arrays, structures and unions are represented in a tree
-format. Leaves and simple data types show the name of the expression
-and its value and, when the speedbar frame is selected, display the
-type as a tooltip. Higher levels show the name, type and address
-value for pointers and just the name and type otherwise. Root expressions
-also display the frame address as a tooltip to help identify the frame
-in which they were defined.
+ Each watch expression is displayed in the speedbar
+(@pxref{Speedbar}). Complex data types, such as arrays, structures
+and unions are represented in a tree format. Leaves and simple data
+types show the name of the expression and its value and, when the
+speedbar frame is selected, display the type as a tooltip. Higher
+levels show the name, type and address value for pointers and just the
+name and type otherwise. Root expressions also display the frame
+address as a tooltip to help identify the frame in which they were
+defined.
To expand or contract a complex data type, click @kbd{Mouse-2} or
press @key{SPC} on the tag to the left of the expression. Emacs asks
@@ -1243,51 +1206,43 @@ non-@code{nil}. This can be useful if you are debugging with a full
screen Emacs frame.
@node Multithreaded Debugging
-@subsubsection Stopping and Starting Multi-threaded Programs
+@subsubsection Multithreaded Debugging
@cindex Multithreaded debugging in GDB
-
-@subsubheading All-stop Debugging
-
-In all-stop mode, whenever your program stops, @emph{all} threads of
-execution stop. Likewise, whenever you restart the program, all
-threads start executing. @xref{All-Stop Mode, , All-Stop Mode, gdb,
-The GNU debugger}. You can enable this behavior in Emacs by setting
-@code{gdb-non-stop-setting} to @code{nil} before starting a debugging
-session.
-
-@subsubheading Non-stop Debugging
@cindex Non-stop debugging in GDB
-For some multi-threaded targets, GDB supports a further mode of
-operation in which you can examine stopped program threads in the
-debugger while other threads continue to execute freely.
-@xref{Non-Stop Mode, , Non-Stop Mode, gdb, The GNU debugger}.
-This is referred to as @dfn{non-stop} mode.
-
-Versions of GDB prior to 7.0 do not support non-stop mode and it does
-not work on all targets. In such cases, Emacs uses all-stop mode
-regardless of the value of @code{gdb-non-stop-setting}.
+ In GDB's @dfn{all-stop mode}, whenever your program stops, all
+execution threads stop. Likewise, whenever you restart the program,
+all threads start executing. @xref{All-Stop Mode, , All-Stop Mode,
+gdb, The GNU debugger}. For some multi-threaded targets, GDB supports
+a further mode of operation, called @dfn{non-stop mode}, in which you
+can examine stopped program threads in the debugger while other
+threads continue to execute freely. @xref{Non-Stop Mode, , Non-Stop
+Mode, gdb, The GNU debugger}. Versions of GDB prior to 7.0 do not
+support non-stop mode, and it does not work on all targets.
@vindex gdb-non-stop-setting
-If the variable @code{gdb-non-stop-setting} is non-@code{nil} (the
-default value), Emacs tries to start GDB in non-stop mode. Note that
-GDB debugging session needs to be restarted for change of this setting
-to take effect.
+ The variable @code{gdb-non-stop-setting} determines whether Emacs
+runs GDB in all-stop mode or non-stop mode. The default is @code{t},
+which means it tries to use non-stop mode if that is available. If
+you change the value to @code{nil}, or if non-stop mode is
+unavailable, Emacs runs GDB in all-stop mode. The variable takes
+effect when Emacs begins a debugging session; if you change its value,
+you should restart any active debugging session.
@vindex gdb-switch-when-another-stopped
-When a thread stops in non-stop mode, Emacs automatically switches to
-that thread. It may be undesirable to allow switching of current
-thread when some other stopped thread is already selected. Set
-@code{gdb-switch-when-another-stopped} to @code{nil} to prevent this.
+ When a thread stops in non-stop mode, Emacs usually switches to that
+thread. If you don't want Emacs to do this switch if another stopped
+thread is already selected, change the variable
+@code{gdb-switch-when-another-stopped} to @code{nil}.
@vindex gdb-switch-reasons
-Emacs can decide whether or not to switch to the stopped thread
-depending on the reason which caused the stop. Customize
-@code{gdb-switch-reasons} to select stop reasons which make Emacs
-switch thread.
+ Emacs can decide whether or not to switch to the stopped thread
+depending on the reason which caused the stop. Customize the variable
+@code{gdb-switch-reasons} to select the stop reasons which will cause
+a thread switch.
@vindex gdb-stopped-hooks
-The variable @code{gdb-stopped-hooks} allows you to execute your
+ The variable @code{gdb-stopped-hooks} allows you to execute your
functions whenever some thread stops.
In non-stop mode, you can switch between different modes for GUD
@@ -1297,7 +1252,7 @@ execution control commands.
@table @dfn
@item Non-stop/A
-When @code{gdb-gud-control-all-threads} is @code{t} (the default
+ When @code{gdb-gud-control-all-threads} is @code{t} (the default
value), interruption and continuation commands apply to all threads,
so you can halt or continue all your threads with one command using
@code{gud-stop-subjob} and @code{gud-cont}, respectively. The
@@ -1318,18 +1273,13 @@ from the tool bar or from @samp{GUD->GDB-MI} menu.
Stepping commands always apply to the current thread.
-@subsubheading Fine Thread Control
-
In non-stop mode, you can interrupt/continue your threads without
selecting them. Hitting @kbd{i} in threads buffer interrupts thread
under point, @kbd{c} continues it, @kbd{s} steps through. More such
commands may be added in the future.
-Combined with creating bound buffers for any thread, this allows you
-to change and track state of many threads in the same time.
-
- Note that when you interrupt a thread, it stops with @samp{signal
-received} reason. If that reason is included in your
+ Note that when you interrupt a thread, it stops with the
+@samp{signal received} reason. If that reason is included in your
@code{gdb-switch-reasons} (it is by default), Emacs will switch to
that thread.
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index 07cca53ce4d..d9109045570 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -69,7 +69,7 @@ arguments.)
* Environment:: Environment variables that Emacs uses.
* Display X:: Changing the default display and using remote login.
* Font X:: Choosing a font for text, under X.
-* Colors:: Choosing display colors.
+* Colors X:: Choosing display colors.
* Window Size X:: Start-up window size, under X.
* Borders X:: Internal and external borders, under X.
* Title X:: Specifying the initial frame's title.
@@ -784,7 +784,7 @@ Use @var{font} as the default font.
When passing a font specification to Emacs on the command line, you
may need to ``quote'' it, by enclosing it in quotation marks, if it
-contains characters that the shell treats specially (e.g. spaces).
+contains characters that the shell treats specially (e.g.@: spaces).
For example:
@smallexample
@@ -794,27 +794,14 @@ emacs -fn "DejaVu Sans Mono-12"
@xref{Fonts}, for other ways to specify the default font and font name
formats.
-@node Colors
+@node Colors X
@appendixsec Window Color Options
@cindex color of window, from command line
@cindex text colors, from command line
-@findex list-colors-display
-@cindex available colors
- On a color display, you can specify which color to use for various
-parts of the Emacs display. To find out what colors are available on
-your system, type @kbd{M-x list-colors-display}, or press
-@kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu.
-(A particular window system might support many more colors, but the
-list displayed by @code{list-colors-display} shows their portable
-subset that can be safely used on any display supported by Emacs.)
-If you do not specify colors, on windowed displays the default for the
-background is white and the default for all other colors is black. On a
-monochrome display, the foreground is black, the background is white,
-and the border is gray if the display supports that. On terminals, the
-background is usually black and the foreground is white.
-
- Here is a list of the command-line options for specifying colors:
+ You can use the following command-line options to specify the colors
+to use for various parts of the Emacs display. Colors may be
+specified using either color names or RGB triplets (@pxref{Colors}).
@table @samp
@item -fg @var{color}
@@ -822,15 +809,15 @@ background is usually black and the foreground is white.
@itemx --foreground-color=@var{color}
@opindex --foreground-color
@cindex foreground color, command-line argument
-Specify the foreground color. @var{color} should be a standard color
-name, or a numeric specification of the color's red, green, and blue
-components as in @samp{#4682B4} or @samp{RGB:46/82/B4}.
+Specify the foreground color, overriding the color specified by the
+@code{default} face (@pxref{Faces}).
@item -bg @var{color}
@opindex -bg
@itemx --background-color=@var{color}
@opindex --background-color
@cindex background color, command-line argument
-Specify the background color.
+Specify the background color, overriding the color specified by the
+@code{default} face.
@item -bd @var{color}
@opindex -bd
@itemx --border-color=@var{color}
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 5b98216369d..e807aebdeee 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -430,15 +430,8 @@ means that it's disabled. You can enable or disable the attribute by
clicking that button. When the attribute is enabled, you can change
the attribute value in the usual ways.
- You can specify a color name (use @kbd{M-x list-colors-display} for
-a list of them) or a hexadecimal color specification of the form
-@samp{#@var{rr}@var{gg}@var{bb}}. (@samp{#000000} is black,
-@samp{#ff0000} is red, @samp{#00ff00} is green, @samp{#0000ff} is
-blue, and @samp{#ffffff} is white.) On a black-and-white display, the
-colors you can use for the background are @samp{black}, @samp{white},
-@samp{gray}, @samp{gray1}, and @samp{gray3}. Emacs supports these
-shades of gray by using background stipple patterns instead of a
-color.
+ The foreground and background colors can be specified using color
+names or RGB triplets. @xref{Colors}.
Setting, saving and resetting a face work like the same operations for
variables (@pxref{Changing a Variable}).
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 8995b1242b1..ea9bd95b8ee 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -21,6 +21,7 @@ the text is displayed.
* View Mode:: Viewing read-only buffers.
* Follow Mode:: Follow mode lets two windows scroll as one.
* Faces:: How to change the display style using faces.
+* Colors:: Specifying colors for faces.
* Standard Faces:: Emacs' predefined faces.
* Text Scale:: Increasing or decreasing text size in a buffer.
* Font Lock:: Minor mode for syntactic highlighting using faces.
@@ -122,7 +123,7 @@ moving it to the topmost or bottommost line. With any other
non-@code{nil} value, Emacs adjusts point this way even if the scroll
command leaves point in the window. This variable affects all the
scroll commands documented in this section, as well as scrolling with
-the mouse wheel (@pxref{Wheeled Mice}); in general, it affects any
+the mouse wheel (@pxref{Mouse Commands}); in general, it affects any
command that has a non-@code{nil} @code{scroll-command} property.
@xref{Property Lists,,, elisp, The Emacs Lisp Reference Manual}.
@@ -238,26 +239,32 @@ centered after scrolling.
@cindex aggressive scrolling
@vindex scroll-up-aggressively
@vindex scroll-down-aggressively
- When the window does scroll by a longer distance, you can control
-how aggressively it scrolls by setting the variables
-@code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
-The value of @code{scroll-up-aggressively} should be either
-@code{nil}, or a fraction @var{f} between 0 and 1. A fraction
-specifies where on the screen to put point when scrolling upward,
-i.e. forward. When point goes off the window end, the new start
-position is chosen to put point @var{f} parts of the window height
-from the bottom. Thus, larger @var{f} means more aggressive
-scrolling: more new text is brought into view. The default value,
-@code{nil}, is equivalent to 0.5.
+ When the window does scroll by a distance longer than
+@code{scroll-step}, you can control how aggressively it scrolls by
+setting the variables @code{scroll-up-aggressively} and
+@code{scroll-down-aggressively}. The value of
+@code{scroll-up-aggressively} should be either @code{nil}, or a
+fraction @var{f} between 0 and 1. A fraction specifies where on the
+screen to put point when scrolling upward, i.e.@: forward. When point
+goes off the window end, the new start position is chosen to put point
+@var{f} parts of the window height from the bottom margin. Thus,
+larger @var{f} means more aggressive scrolling: more new text is
+brought into view. The default value, @code{nil}, is equivalent to
+0.5.
Likewise, @code{scroll-down-aggressively} is used for scrolling
-down, i.e. backward. The value specifies how far point should be
-placed from the top of the window; thus, as with
+down, i.e.@: backward. The value specifies how far point should be
+placed from the top margin of the window; thus, as with
@code{scroll-up-aggressively}, a larger value is more aggressive.
These two variables are ignored if either @code{scroll-step} or
@code{scroll-conservatively} are set to a non-zero value.
+ Note that @code{scroll-margin}, described below, limits the amount
+of scrolling so as to put point outside of the top or bottom margin,
+even if aggressive scrolling specifies a fraction @var{f} that is
+larger than the window portion between the top and the bottom margins.
+
@vindex scroll-margin
The variable @code{scroll-margin} restricts how close point can come
to the top or bottom of a window. Its value is a number of screen
@@ -455,7 +462,7 @@ one large window.
To turn off Follow mode, type @kbd{M-x follow-mode} a second time.
@node Faces
-@section Faces: Controlling Text Display Style
+@section Text Faces
@cindex faces
Emacs can display text in several different styles, called
@@ -474,10 +481,8 @@ matching that regular expression (@pxref{Regexps}).
It's possible for a given face to look different in different
frames. For instance, some text-only terminals do not support all
face attributes, particularly font, height, and width, and some
-support a limited range of colors. The @code{list-faces-display}
-command shows the appearance for the selected frame.
+support a limited range of colors.
-@cindex face colors, setting
@cindex background color
@cindex default face
You can customize a face to alter its appearance, and save those
@@ -492,25 +497,58 @@ background color.
You can also use X resources to specify attributes of any particular
face. @xref{Resources}.
+ Emacs can display variable-width fonts, but some Emacs commands,
+particularly indentation commands, do not account for variable
+character display widths. Therefore, we recommend not using
+variable-width fonts for most faces, particularly those assigned by
+Font Lock mode.
+
+@node Colors
+@section Colors for Faces
+@cindex color name
+@cindex RGB triplet
+
+ Faces can have various foreground and background colors. When you
+specify a color for a face---for instance, when customizing the face
+(@pxref{Face Customization})---you can use either a @dfn{color name}
+or an @dfn{RGB triplet}.
+
+@findex list-colors-display
+ A color name is a pre-defined name, such as @samp{dark orange} or
+@samp{medium sea green}. To view a list of color names, type @kbd{M-x
+list-colors-display}. If you run this command on a graphical display,
+it shows the full range of color names known to Emacs (these are the
+standard X11 color names, defined in X's @file{rgb.txt} file). If you
+run the command on a text-only terminal, it shows only a small subset
+of colors that can be safely displayed on such terminals. However,
+Emacs understands X11 color names even on text-only terminals; if a
+face is given a color specified by an X11 color name, it is displayed
+using the closest-matching terminal color.
+
+ An RGB triplet is a string of the form @samp{#RRGGBB}. Each of the
+R, G, and B components is a hexadecimal number specifying the
+component's relative intensity, one to four digits long (usually two
+digits are used). The components must have the same number of digits.
+For hexadecimal values A to F, either upper or lower case are
+acceptable.
+
+ The @kbd{M-x list-colors-display} command also shows the equivalent
+RGB triplet for each named color. For instance, @samp{medium sea
+green} is equivalent to @samp{#3CB371}.
+
+@cindex face colors, setting
@findex set-face-foreground
@findex set-face-background
- You can also change the foreground and background colors of a face
-with @kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}.
-These commands prompt in the minibuffer for a face name and a color
-name, with completion, and then set that face to use the specified
-color (@pxref{Face Customization}, for information about color names).
+ You can change the foreground and background colors of a face with
+@kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}.
+These commands prompt in the minibuffer for a face name and a color,
+with completion, and then set that face to use the specified color.
They affect the face colors on all frames, but their effects do not
persist for future Emacs sessions, unlike using the customization
buffer or X resources. You can also use frame parameters to set
-foreground and background colors for a specific frame; see @ref{Frame
+foreground and background colors for a specific frame; @xref{Frame
Parameters}.
- Emacs can display variable-width fonts, but some Emacs commands,
-particularly indentation commands, do not account for variable
-character display widths. Therefore, we recommend not using
-variable-width fonts for most faces, particularly those assigned by
-Font Lock mode.
-
@node Standard Faces
@section Standard Faces
@@ -762,7 +800,7 @@ relies on analysis of the syntactic structure of the buffer text. For
the sake of speed, some modes, including Lisp mode, rely on a special
convention: an open-parenthesis or open-brace in the leftmost column
always defines the beginning of a defun, and is thus always outside
-any string or comment. Therefore, you should avoid placing a an
+any string or comment. Therefore, you should avoid placing an
open-parenthesis or open-brace in the leftmost column, if it is inside
a string or comment. @xref{Left Margin Paren}, for details.
@@ -1016,13 +1054,13 @@ trailing whitespace in the region instead.
@cindex fringes, and unused line indication
On graphical displays, Emacs can indicate unused lines at the end of
the window with a small image in the left fringe (@pxref{Fringes}).
-The image appears for window lines that do not correspond to any
-buffer text. Blank lines at the end of the buffer then stand out
-because they do not have this image in the fringe. To enable this
-feature, set the buffer-local variable @code{indicate-empty-lines} to
-a non-@code{nil} value. You can enable or disable this feature for
-all new buffers by setting the default value of this variable,
-e.g.@:@code{(setq-default indicate-empty-lines t)}.
+The image appears for screen lines that do not correspond to any
+buffer text, so blank lines at the end of the buffer stand out because
+they lack this image. To enable this feature, set the buffer-local
+variable @code{indicate-empty-lines} to a non-@code{nil} value. You
+can enable or disable this feature for all new buffers by setting the
+default value of this variable, e.g.@: @code{(setq-default
+indicate-empty-lines t)}.
@node Selective Display
@section Selective Display
@@ -1216,7 +1254,7 @@ characters include @acronym{ASCII} numbers, letters, and punctuation
characters, as well as many non-@acronym{ASCII} characters.
@vindex tab-width
-@cindex control character
+@cindex control characters on display
The @acronym{ASCII} character set contains non-printing @dfn{control
characters}. Two of these are displayed specially: the newline
character (Unicode code point @code{U+000A}) is displayed by starting
@@ -1228,19 +1266,21 @@ value between 1 and 1000, inclusive. Note that how the tab character
in the buffer is displayed has nothing to do with the definition of
@key{TAB} as a command.
- Other @acronym{ASCII} control characters are displayed as a caret
+ Other @acronym{ASCII} control characters, whose codes are below
+@code{U+0020} (octal 40, decimal 32), are displayed as a caret
(@samp{^}) followed by the non-control version of the character, with
the @code{escape-glyph} face. For instance, the @samp{control-A}
character, @code{U+0001}, is displayed as @samp{^A}.
+@cindex octal escapes
@vindex ctl-arrow
- The non-@acronym{ASCII}, non-printing characters @code{U+0080}
-(octal 200) through @code{U+009F} (octal 237) are displayed as octal
-escape sequences, with the @code{escape-glyph} face. For instance,
+ The raw bytes with codes @code{U+0080} (octal 200) through
+@code{U+009F} (octal 237) are displayed as @dfn{octal escape
+sequences}, with the @code{escape-glyph} face. For instance,
character code @code{U+0098} (octal 230) is displayed as @samp{\230}.
If you change the buffer-local variable @code{ctl-arrow} to
-@code{nil}, @acronym{ASCII} control characters are also displayed as
-octal escape sequences instead of caret escape sequences.
+@code{nil}, the @acronym{ASCII} control characters are also displayed
+as octal escape sequences instead of caret escape sequences.
@vindex nobreak-char-display
@cindex non-breaking space
@@ -1249,7 +1289,7 @@ octal escape sequences instead of caret escape sequences.
Some non-@acronym{ASCII} characters have the same appearance as an
@acronym{ASCII} space or hyphen (minus) character. Such characters
can cause problems if they are entered into a buffer without your
-realization, e.g. by yanking; for instance, source code compilers
+realization, e.g.@: by yanking; for instance, source code compilers
typically do not treat non-@acronym{ASCII} spaces as whitespace
characters. To deal with this problem, Emacs displays such characters
specially: it displays @code{U+00A0} (no-break space) with the
@@ -1270,10 +1310,12 @@ elisp, The Emacs Lisp Reference Manual}.
On graphical displays, some characters may have no glyphs in any of
the fonts available to Emacs. These @dfn{glyphless characters} are
normally displayed as boxes containing the hexadecimal character code.
-You can control the display method by customizing the variable
-@code{glyphless-char-display-control}. @xref{Glyphless Chars,,
-Glyphless Character Display, elisp, The Emacs Lisp Reference Manual},
-for details.
+Similarly, on text terminals, characters that cannot be displayed
+using the terminal encoding (@pxref{Terminal Coding}) are normally
+displayed as question signs. You can control the display method by
+customizing the variable @code{glyphless-char-display-control}.
+@xref{Glyphless Chars,, Glyphless Character Display, elisp, The Emacs
+Lisp Reference Manual}, for details.
@node Cursor Display
@section Displaying the Cursor
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 55fdb9ec875..8ecf0982e46 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -113,25 +113,6 @@ Emacs Lisp Reference Manual}.
@insertcopying
@end ifnottex
-@ignore
-These subcategories have been deleted for simplicity
-and to avoid conflicts.
-Completion
-Backup Files
-Auto-Saving: Protection Against Disasters
-Tags
-Text Mode
-Outline Mode
-@TeX{} Mode
-Formatted Text
-Shell Command History
-
-The ones for Dired and Rmail have had the items turned into :: items
-to avoid conflicts.
-Also Running Shell Commands from Emacs
-and Sending Mail and Registers and Minibuffer.
-@end ignore
-
@menu
* Distrib:: How to get the latest Emacs distribution.
* Intro:: An introduction to Emacs concepts.
@@ -350,6 +331,7 @@ Controlling the Display
* View Mode:: Viewing read-only buffers.
* Follow Mode:: Follow mode lets two windows scroll as one.
* Faces:: How to change the display style using faces.
+* Colors:: Specifying colors for faces.
* Standard Faces:: Emacs' predefined faces.
* Text Scale:: Increasing or decreasing text size in a buffer.
* Font Lock:: Minor mode for syntactic highlighting using faces.
@@ -505,10 +487,8 @@ Frames and Graphical Displays
* Fonts:: Changing the frame font.
* Speedbar:: How to make and use a speedbar frame.
* Multiple Displays:: How one Emacs job can talk to several displays.
-* Special Buffer Frames:: You can make certain buffers have their own frames.
* Frame Parameters:: Changing the colors and other modes of frames.
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
-* Wheeled Mice:: Using mouse wheels for scrolling.
* Drag and Drop:: Using drag and drop to open files and insert text.
* Menu Bars:: Enabling and disabling the menu bar.
* Tool Bars:: Enabling and disabling the tool bar.
@@ -553,10 +533,10 @@ Modes
Indentation
-* Indentation Commands:: Various commands and techniques for indentation.
-* Tab Stops:: You can set arbitrary "tab stops" and then
- indent to the next tab stop when you want to.
-* Just Spaces:: You can request indentation using just spaces.
+* Indentation Commands:: More commands for performing indentation.
+* Tab Stops:: Stop points for indentation in Text modes.
+* Just Spaces:: Using only space characters for indentation.
+* Indent Convenience:: Optional indentation features.
Commands for Human Languages
@@ -571,8 +551,8 @@ Commands for Human Languages
* TeX Mode:: Editing input to the formatter TeX.
* HTML Mode:: Editing HTML and SGML files.
* Nroff Mode:: Editing input to the formatter nroff.
-* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
-* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
+* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc.
+* Text Based Tables:: Commands for editing text-based tables.
* Two-Column:: Splitting text columns into separate windows.
Filling Text
@@ -599,18 +579,16 @@ Outline Mode
* TeX Print:: Commands for printing part of a file with TeX.
* TeX Misc:: Customization of TeX mode, and related features.
-Editing Formatted Text
+Editing Enriched Text
-* Requesting Formatted Text:: Entering and exiting Enriched mode.
-* Hard and Soft Newlines:: There are two different kinds of newlines.
-* Editing Format Info:: How to edit text properties.
-* Format Faces:: Bold, italic, underline, etc.
-* Format Colors:: Changing the color of text.
-* Format Indentation:: Changing the left and right margins.
-* Format Justification:: Centering, setting text flush with the
- left or right margin, etc.
-* Format Properties:: The "special" text properties submenu.
-* Forcing Enriched Mode:: How to force use of Enriched mode.
+* Enriched Mode:: Entering and exiting Enriched mode.
+* Hard and Soft Newlines:: There are two different kinds of newlines.
+* Editing Format Info:: How to edit text properties.
+* Enriched Faces:: Bold, italic, underline, etc.
+* Enriched Indentation:: Changing the left and right margins.
+* Enriched Justification:: Centering, setting text flush with the
+ left or right margin, etc.
+* Enriched Properties:: The "special" text properties submenu.
@c The automatic texinfo menu update inserts some duplicate items here
@c (faces, colors, indentation, justification, properties), because
@@ -624,11 +602,8 @@ Editing Text-based Tables
* Table Recognition:: How to activate and deactivate tables.
* Cell Commands:: Cell-oriented commands in a table.
* Cell Justification:: Justifying cell contents.
-* Row Commands:: Manipulating rows of table cell.
-* Column Commands:: Manipulating columns of table cell.
-* Fixed Width Mode:: Fixing cell width.
+* Table Rows and Columns:: Inserting and deleting rows and columns.
* Table Conversion:: Converting between plain text and tables.
-* Measuring Tables:: Analyzing table dimension.
* Table Misc:: Table miscellany.
Editing Programs
@@ -747,8 +722,7 @@ GDB Graphical Interface
* Breakpoints Buffer:: A breakpoint control panel.
* Threads Buffer:: Displays your threads.
* Stack Buffer:: Select a frame from the call stack.
-* Other GDB Buffers:: Input/output, locals, registers,
- assembler, threads and memory buffers.
+* Other GDB Buffers:: Other buffers for controlling the GDB state.
* Watch Expressions:: Monitor variable values in the speedbar.
* Multithreaded Debugging:: Debugging programs with several threads.
@@ -1152,7 +1126,7 @@ Command Line Arguments for Emacs Invocation
* Environment:: Environment variables that Emacs uses.
* Display X:: Changing the default display and using remote login.
* Font X:: Choosing a font for text, under X.
-* Colors:: Choosing display colors.
+* Colors X:: Choosing display colors.
* Window Size X:: Start-up window size, under X.
* Borders X:: Internal and external borders, under X.
* Title X:: Specifying the initial frame's title.
diff --git a/doc/emacs/emacsver.texi b/doc/emacs/emacsver.texi
index 87f9dddbba8..cb3f3f39778 100644
--- a/doc/emacs/emacsver.texi
+++ b/doc/emacs/emacsver.texi
@@ -1,4 +1,4 @@
@c It would be nicer to generate this using configure and @version@.
@c However, that would mean emacsver.texi would always be newer
@c then the info files in release tarfiles.
-@set EMACSVER 24.0.91
+@set EMACSVER 24.0.92
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 2317f876b08..e3da0ca44e6 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -267,9 +267,8 @@ newly requested file. @xref{Windows}.
@kindex C-x 5 f
@findex find-file-other-frame
@kbd{C-x 5 f} (@code{find-file-other-frame}) is similar, but opens a
-new frame, or makes visible any existing frame showing the file you
-seek. This feature is available only when you are using a window
-system. @xref{Frames}.
+new frame, or selects any existing frame showing the specified file.
+@xref{Frames}.
@cindex file selection dialog
On graphical displays, there are two additional methods for visiting
@@ -298,8 +297,9 @@ original encoding and end-of-line convention. @xref{Coding Systems}.
If you wish to edit a file as a sequence of @acronym{ASCII}
characters with no special encoding or conversion, use the @kbd{M-x
find-file-literally} command. This visits a file, like @kbd{C-x C-f},
-but does not do format conversion (@pxref{Formatted Text}), character
-code conversion (@pxref{Coding Systems}), or automatic uncompression
+but does not do format conversion (@pxref{Format Conversion,, Format
+Conversion, elisp, the Emacs Lisp Reference Manual}), character code
+conversion (@pxref{Coding Systems}), or automatic uncompression
(@pxref{Compressed Files}), and does not add a final newline because
of @code{require-final-newline} (@pxref{Customize Save}). If you have
already visited the same file in the usual (non-literal) manner, this
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 49222451cce..dec5aa771ea 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -6,31 +6,41 @@
@chapter Frames and Graphical Displays
@cindex frames
- When using a graphical display, you can create multiple system-level
-``windows'' in a single Emacs session. We refer to these system-level
-windows as @dfn{frames}. A frame initially contains a single Emacs
-window; however, you can subdivide this Emacs window into smaller
-windows, all fitting into the same frame. Each frame normally
-contains its own echo area and minibuffer.
-
- To avoid confusion, we reserve the word ``window'' for the
-subdivisions that Emacs implements, and never use it to refer to a
-frame.
-
- Any editing you do in one frame affects the other frames. For
-instance, if you put text in the kill ring in one frame, you can yank
-it in another frame. If you exit Emacs through @kbd{C-x C-c} in one
-frame, it terminates all the frames. To delete just one frame, use
+ When Emacs is started on a graphical display, e.g.@: on the X Window
+System, it occupies a graphical system-level ``window''. In this
+manual, we call this a @dfn{frame}, reserving the word ``window'' for
+the part of the frame used for displaying a buffer. A frame initially
+contains one window, but it can be subdivided into multiple windows
+(@pxref{Windows}). A frame normally also contains a menu bar, tool
+bar, and echo area.
+
+ You can also create additional frames (@pxref{Creating Frames}).
+All frames created in the same Emacs session have access to the same
+underlying buffers and other data. For instance, if a buffer is being
+shown in more than one frame, any changes made to it in one frame show
+up immediately in the other frames too.
+
+ Typing @kbd{C-x C-c} closes all the frames on the current display,
+and ends the Emacs session if it has no frames open on any other
+displays (@pxref{Exiting}). To close just the selected frame, type
@kbd{C-x 5 0} (that is zero, not @kbd{o}).
- Emacs compiled for MS-DOS emulates some windowing functionality,
-so that you can use many of the features described in this chapter.
+ This chapter describes Emacs features specific to graphical displays
+(particularly mouse commands), and features for managing multiple
+frames. On text-only terminals, many of these features are
+unavailable. However, it is still possible to create multiple
+``frames'' on text-only terminals; such frames are displayed one at a
+time, filling the entire terminal screen (@pxref{Non-Window
+Terminals}). It is also possible to use the mouse on some text-only
+terminals (@pxref{Text-Only Mouse}, for doing so on GNU and Unix
+systems; and
@iftex
-@xref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features}.
+@pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features},
@end iftex
@ifnottex
-@xref{MS-DOS Mouse}.
+@pxref{MS-DOS Mouse},
@end ifnottex
+for doing so on MS-DOS).
@menu
* Mouse Commands:: Moving, cutting, and pasting, with the mouse.
@@ -43,10 +53,8 @@ so that you can use many of the features described in this chapter.
* Fonts:: Changing the frame font.
* Speedbar:: How to make and use a speedbar frame.
* Multiple Displays:: How one Emacs job can talk to several displays.
-* Special Buffer Frames:: You can make certain buffers have their own frames.
* Frame Parameters:: Changing the colors and other modes of frames.
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
-* Wheeled Mice:: Using mouse wheels for scrolling.
* Drag and Drop:: Using drag and drop to open files and insert text.
* Menu Bars:: Enabling and disabling the menu bar.
* Tool Bars:: Enabling and disabling the tool bar.
@@ -85,31 +93,32 @@ ring; on a second click, kill it (@code{mouse-save-then-kill}).
@findex mouse-set-point
The most basic mouse command is @code{mouse-set-point}, which is
-called by clicking with the left mouse button, @kbd{Mouse-1}, in the
+invoked by clicking with the left mouse button, @kbd{Mouse-1}, in the
text area of a window. This moves point to the position where you
-clicked.
+clicked. If that window was not the selected window, it becomes the
+selected window.
@vindex x-mouse-click-focus-ignore-position
- Normally, Emacs does not distinguish between ordinary mouse clicks
-and clicks that select a frame. When you click on a frame to select
-it, that also changes the selected window and cursor position
-according to the mouse click position. On the X Window System, you
-can change this behavior by setting the variable
-@code{x-mouse-click-focus-ignore-position} to @code{t}. Then the
-first click selects the frame, but does not affect the selected window
-or cursor position. If you click again in the same place, that click
-will be in the selected frame, so it will change the window or cursor
-position.
+ Normally, if the frame you clicked in was not the selected frame, it
+is made the selected frame, in addition to selecting the window and
+setting the cursor. On the X Window System, you can change this by
+setting the variable @code{x-mouse-click-focus-ignore-position} to
+@code{t}. In that case, the initial click on an unselected frame just
+selects the frame, without doing anything else; clicking again selects
+the window and sets the cursor position.
@findex mouse-set-region
-@vindex mouse-drag-copy-region
Holding down @kbd{Mouse-1} and ``dragging'' the mouse over a stretch
of text activates the region around that text
-(@code{mouse-set-region}). @xref{Mark}. Emacs places the mark where
-you started holding down the mouse button, and point where you release
-it. In addition, the region is copied into the kill ring (@pxref{Kill
-Ring}). If you don't want Emacs to copy the region, change the
-variable @code{mouse-drag-copy-region} to @code{nil}.
+(@code{mouse-set-region}), placing the mark where you started holding
+down the mouse button, and point where you release it (@pxref{Mark}).
+In addition, the text in the region becomes the primary selection
+(@pxref{Primary Selection}).
+
+@vindex mouse-drag-copy-region
+ If you change the variable @code{mouse-drag-copy-region} to a
+non-@code{nil} value, dragging the mouse over a stretch of text also
+adds the text to the kill ring. The default is @code{nil}.
@vindex mouse-scroll-min-lines
If you move the mouse off the top or bottom of the window while
@@ -124,7 +133,7 @@ on how far away from the window edge the mouse has gone; the variable
Clicking with the middle mouse button, @kbd{Mouse-2}, moves point to
the position where you clicked and inserts the contents of the primary
selection (@code{mouse-yank-primary}). @xref{Primary Selection}.
-This behavior is consistent with other X applications; alternatively,
+This behavior is consistent with other X applications. Alternatively,
you can rebind @kbd{Mouse-2} to @code{mouse-yank-at-click}, which
performs a yank at point.
@@ -144,7 +153,6 @@ depending on where you click and the status of the region:
@item
If no region is active, clicking @kbd{Mouse-3} activates the region,
placing the mark where point was and point at the clicked position.
-In addition, the text in the region is copied to the kill ring.
@item
If a region is active, clicking @kbd{Mouse-3} adjusts the nearer end
@@ -155,8 +163,8 @@ region was already on the kill ring, it replaces it there.
@item
If you originally specified the region using a double or triple
@kbd{Mouse-1}, so that the region is defined to consist of entire
-words or lines, then adjusting the region with @kbd{Mouse-3} also
-proceeds by entire words or lines.
+words or lines (@pxref{Word and Line Mouse}), then adjusting the
+region with @kbd{Mouse-3} also proceeds by entire words or lines.
@item
If you use @kbd{Mouse-3} a second time consecutively, at the same
@@ -168,23 +176,33 @@ just once---or just drag across the text with @kbd{Mouse-1}. Then you
can copy it elsewhere by yanking it.
@end itemize
+ The @code{mouse-save-then-kill} command also obeys the variable
+@code{mouse-drag-copy-region} (described above). If the value is
+non-@code{nil}, then whenever the command sets or adjusts the active
+region, the text in the region is also added to the kill ring. If the
+latest kill ring entry had been added the same way, that entry is
+replaced rather than making a new entry.
+
Whenever you set the region using any of the mouse commands
described above, the mark will be deactivated by any subsequent
unshifted cursor motion command, in addition to the usual ways of
-deactivating the mark. @xref{Shift Selection}. While the region
-remains active, typing @key{Backspace} or @key{Delete} deletes the
-text in that region and deactivates the mark; this behavior follows a
-convention established by other graphical programs, and it does
-@emph{not} apply when you set the region any other way, including
-shift-selection (@pxref{Shift Selection}).
-
-@cindex Delete Selection mode
-@cindex mode, Delete Selection
-@findex delete-selection-mode
- Many graphical applications also follow the convention that
-insertion while text is selected deletes the selected text. You can
-make Emacs behave this way by enabling Delete Selection mode.
-@xref{Using Region}.
+deactivating the mark. @xref{Shift Selection}.
+
+@cindex mouse wheel
+@findex mouse-wheel-mode
+@cindex Mouse Wheel minor mode
+@cindex mode, Mouse Wheel
+@vindex mouse-wheel-follow-mouse
+@vindex mouse-wheel-scroll-amount
+@vindex mouse-wheel-progressive-speed
+ Some mice have a ``wheel'' which can be used for scrolling. Emacs
+supports scrolling windows with the mouse wheel, by default, on most
+graphical displays. To toggle this feature, use @kbd{M-x
+mouse-wheel-mode}. The variables @code{mouse-wheel-follow-mouse} and
+@code{mouse-wheel-scroll-amount} determine where and by how much
+buffers are scrolled. The variable
+@code{mouse-wheel-progressive-speed} determines whether the scroll
+speed is linked to how fast you move the wheel.
@node Word and Line Mouse
@section Mouse Commands for Words and Lines
@@ -202,7 +220,7 @@ underscore, in C mode) selects the symbol surrounding that character.
Double-clicking on a character with open- or close-parenthesis syntax
selects the parenthetical grouping which that character starts or
ends. Double-clicking on a character with string-delimiter syntax
-(such as a singlequote or doublequote in C) selects the string
+(such as a single-quote or double-quote in C) selects the string
constant (Emacs uses heuristics to figure out whether that character
is the beginning or the end of it).
@@ -220,50 +238,54 @@ Select the text you drag across, in the form of whole lines.
@section Following References with the Mouse
@kindex Mouse-1 @r{(selection)}
@kindex Mouse-2 @r{(selection)}
+@cindex hyperlinks
+@cindex links
+@cindex text buttons
+@cindex buttons
@vindex mouse-highlight
- Some Emacs buffers include @dfn{buttons}. A button is a piece of
-text that performs some action when you activate it, such as following
-a reference. Usually, a button's text is visually highlighted: it is
-underlined, or a box is drawn around it. If you move the mouse over a
-button, the shape of the mouse cursor changes and the button lights up
-(if you change the variable @code{mouse-highlight} to @code{nil},
-Emacs disables this highlighting).
+ Some Emacs buffers include @dfn{buttons}, or @dfn{hyperlinks}:
+pieces of text that perform some action (e.g.@: following a reference)
+when activated (e.g.@: by clicking on them). Usually, a button's text
+is visually highlighted: it is underlined, or a box is drawn around
+it. If you move the mouse over a button, the shape of the mouse
+cursor changes and the button lights up. If you change the variable
+@code{mouse-highlight} to @code{nil}, Emacs disables this
+highlighting.
You can activate a button by moving point to it and typing
@key{RET}, or by clicking either @kbd{Mouse-1} or @kbd{Mouse-2} on the
-button. For example, typing @key{RET} or clicking on a file name in a
-Dired buffer visits that file (@pxref{Dired}). Doing it on an error
-message in the @samp{*Compilation*} buffer goes to the source code for
-that error message (@pxref{Compilation}). Doing it on a completion in
-the @samp{*Completions*} buffer chooses that completion
-(@pxref{Completion}).
-
- Although clicking @kbd{Mouse-1} on a button usually activates that
-button, if you hold the mouse button down for a short period of time
-before releasing it (specifically, for more than 450 milliseconds),
-then Emacs moves point where you clicked instead. This behavior
-allows you to use the mouse to move point over a button without
-following it. Dragging---moving the mouse while it is held down---has
-its usual behavior of setting the region, even if you drag from or
-onto a button.
+button. For example, in a Dired buffer, each file name is a button;
+activating it causes Emacs to visit that file (@pxref{Dired}). In a
+@samp{*Compilation*} buffer, each error message is a button, and
+activating it visits the source code for that error
+(@pxref{Compilation}).
+
+ Although clicking @kbd{Mouse-1} on a button usually activates the
+button, if you hold the mouse button down for a period of time before
+releasing it (specifically, for more than 450 milliseconds), then
+Emacs moves point where you clicked, without activating the button.
+In this way, you can use the mouse to move point over a button without
+activating it. Dragging the mouse over or onto a button has its usual
+behavior of setting the region, and does not activate the button.
+
+ You can change how @kbd{Mouse-1} applies to buttons by customizing
+the variable @code{mouse-1-click-follows-link}. If the value is a
+positive integer, that determines how long you need to hold the mouse
+button down for, in milliseconds, to cancel button activation; the
+default is 450, as described in the previous paragraph. If the value
+is @code{nil}, @kbd{Mouse-1} just sets point where you clicked, and
+does not activate buttons. If the value is @code{double}, double
+clicks activate buttons but single clicks just set point.
@vindex mouse-1-click-in-non-selected-windows
- Normally, clicking @kbd{Mouse-1} on a button activates the button
-even if it is in a nonselected window. If you change the variable
-@code{mouse-1-click-in-non-selected-windows} to @code{nil}, clicking
-@kbd{Mouse-1} on a button in an un-selected window moves point to the
+ Normally, @kbd{Mouse-1} on a button activates the button even if it
+is in a non-selected window. If you change the variable
+@code{mouse-1-click-in-non-selected-windows} to @code{nil},
+@kbd{Mouse-1} on a button in an unselected window moves point to the
clicked position and selects that window, without activating the
button.
-@vindex mouse-1-click-follows-link
- In Emacs versions before 22, only @kbd{Mouse-2} activates buttons
-and @kbd{Mouse-1} always sets point. If you prefer this older
-behavior, set the variable @code{mouse-1-click-follows-link} to
-@code{nil}. This variable also lets you choose various other
-alternatives for following links with the mouse. Type @kbd{C-h v
-mouse-1-click-follows-link @key{RET}} for more details.
-
@node Menu Mouse Clicks
@section Mouse Clicks for Menus
@@ -280,28 +302,35 @@ menu smarter and more customizable. @xref{Buffer Menus}.
@item C-Mouse-2
@kindex C-Mouse-2
-This menu is for specifying faces and other text properties
-for editing formatted text. @xref{Formatted Text}.
+This menu contains entries for examining faces and other text
+properties, and well as for setting them (the latter is mainly useful
+when editing enriched text; @pxref{Enriched Text}).
@item C-Mouse-3
@kindex C-Mouse-3
This menu is mode-specific. For most modes if Menu-bar mode is on,
this menu has the same items as all the mode-specific menu-bar menus
put together. Some modes may specify a different menu for this
-button.@footnote{Some systems use @kbd{Mouse-3} for a mode-specific
-menu. We took a survey of users, and found they preferred to keep
-@kbd{Mouse-3} for selecting and killing regions. Hence the decision
-to use @kbd{C-Mouse-3} for this menu. To use @kbd{Mouse-3} instead,
-do @code{(global-set-key [mouse-3] 'mouse-popup-menubar-stuff)}.} If
-Menu-bar mode is off, this menu contains all the items which would be
-present in the menu bar---not just the mode-specific ones---so that
-you can access them without having to display the menu bar.
+button. If Menu Bar mode is off, this menu contains all the items
+which would be present in the menu bar---not just the mode-specific
+ones---so that you can access them without having to display the menu
+bar.
@item S-Mouse-1
This menu is for changing the default face within the window's buffer.
@xref{Text Scale}.
@end table
+ Some graphical applications use @kbd{Mouse-3} for a mode-specific
+menu. If you prefer @kbd{Mouse-3} in Emacs to bring up such a menu
+instead of running the @code{mouse-save-then-kill} command, rebind
+@kbd{Mouse-3} by adding the following line to your init file
+(@pxref{Init Rebinding}):
+
+@smallexample
+(global-set-key [mouse-3] 'mouse-popup-menubar-stuff)
+@end smallexample
+
@node Mode Line Mouse
@section Mode Line Mouse Commands
@cindex mode line, mouse
@@ -332,34 +361,33 @@ make any window smaller than the minimum height.
@item Mouse-3
@kindex Mouse-3 @r{(mode line)}
@kbd{Mouse-3} on a mode line deletes the window it belongs to. If the
-frame has only one window, it buries the current buffer instead, and
-switches to another buffer.
+frame has only one window, it does nothing.
@item C-Mouse-2
@kindex C-mouse-2 @r{(mode line)}
-@kbd{C-Mouse-2} on a mode line splits the window above
-horizontally, above the place in the mode line where you click.
+@kbd{C-Mouse-2} on a mode line splits that window, producing two
+side-by-side windows with the boundary running through the click
+position (@pxref{Split Window}).
@end table
@kindex C-Mouse-2 @r{(scroll bar)}
@kindex Mouse-1 @r{(scroll bar)}
- Using @kbd{Mouse-1} on the divider between two side-by-side mode
-lines, you can move the vertical boundary left or right. Using
-@kbd{C-Mouse-2} on a scroll bar splits the corresponding window
-vertically. @xref{Split Window}.
+ Furthermore, by clicking and dragging @kbd{Mouse-1} on the divider
+between two side-by-side mode lines, you can move the vertical
+boundary to the left or right.
@node Creating Frames
@section Creating Frames
@cindex creating frames
@kindex C-x 5
- The prefix key @kbd{C-x 5} is analogous to @kbd{C-x 4}, with
-parallel subcommands. The difference is that @kbd{C-x 5} commands
-create a new frame rather than just a new window in the selected frame
-(@pxref{Pop Up Window}). If an existing visible or iconified
-(``minimized'') frame already displays the requested material, these
-commands use the existing frame, after raising or deiconifying
-(``un-minimizing'') as necessary.
+ The prefix key @kbd{C-x 5} is analogous to @kbd{C-x 4}. Whereas
+each @kbd{C-x 4} command pops up a buffer in a different window in the
+selected frame (@pxref{Pop Up Window}), the @kbd{C-x 5} commands use a
+different frame. If an existing visible or iconified (``minimized'')
+frame already displays the requested buffer, that frame is raised and
+deiconified (``un-minimized''); otherwise, a new frame is created on
+the current display terminal.
The various @kbd{C-x 5} commands differ in how they find or create the
buffer to select:
@@ -394,56 +422,32 @@ frame. This runs @code{find-file-read-only-other-frame}.
@xref{Visiting}.
@end table
-@cindex default-frame-alist
-@cindex initial-frame-alist
-@cindex face customization, in init file
-@cindex color customization, in init file
- You can control the appearance of new frames you create by setting the
-frame parameters in @code{default-frame-alist}. You can use the
-variable @code{initial-frame-alist} to specify parameters that affect
-only the initial frame. @xref{Initial Parameters,,, elisp, The Emacs
-Lisp Reference Manual}, for more information.
-
-@cindex font (default)
- Here is an example of using @code{default-frame-alist} to specify
-the default foreground color and font:
-
-@example
-(add-to-list 'default-frame-alist '(font . "10x20"))
-(add-to-list 'default-frame-alist
- '(foreground-color . "blue"))
-@end example
-
-@noindent
-By putting such customizations in your init file, you can control the
-appearance of all the frames Emacs creates, including the initial one
-(@pxref{Init File}). @xref{Fonts}, for other ways to set the default
-font.
+ You can control the appearance and behavior of the newly-created
+frames by specifying @dfn{frame parameters}. @xref{Frame Parameters}.
@node Frame Commands
@section Frame Commands
- The following commands let you create, delete and operate on frames:
+ The following commands are used to delete and operate on frames:
@table @kbd
+@item C-x 5 0
+@kindex C-x 5 0
+@findex delete-frame
+Delete the selected frame (@code{delete-frame}). This signals an
+error if there is only one frame.
+
@item C-z
@kindex C-z @r{(X windows)}
@findex suspend-frame
Minimize (or ``iconify) the selected Emacs frame
(@code{suspend-frame}). @xref{Exiting}.
-@item C-x 5 0
-@kindex C-x 5 0
-@findex delete-frame
-Delete the selected frame (@code{delete-frame}). This is not allowed
-if there is only one frame.
-
@item C-x 5 o
@kindex C-x 5 o
@findex other-frame
-Select another frame, raise it, and warp the mouse to it. If you
-repeat this command, it cycles through all the frames on your
-terminal.
+Select another frame, and raise it. If you repeat this command, it
+cycles through all the frames on your terminal.
@item C-x 5 1
@kindex C-x 5 1
@@ -451,43 +455,37 @@ terminal.
Delete all frames on the current terminal, except the selected one.
@end table
- The @kbd{C-x 5 0} (@code{delete-frame}) command never deletes the
-last frame. This prevents you from losing the ability to interact
-with the Emacs process. Note that when Emacs is run as a daemon
-(@pxref{Emacs Server}), there is always a ``virtual frame'' that
-remains after all the ordinary, interactive frames are deleted. In
-this case, @kbd{C-x 5 0} can delete the last interactive frame; you
-can use @command{emacsclient} to reconnect to the Emacs session.
-
- The @kbd{C-x 5 1} (@code{delete-other-frames}) command only deletes
-frames on the current terminal. For example, if you call it from an X
-frame, it deletes the other frames on that X display; if the Emacs
-process has frames open on other X displays or text terminals, those
-are not deleted.
+ The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected
+frame. However, it will refuse to delete the last frame in an Emacs
+session, to prevent you from losing the ability to interact with the
+Emacs session. Note that when Emacs is run as a daemon (@pxref{Emacs
+Server}), there is always a ``virtual frame'' that remains after all
+the ordinary, interactive frames are deleted. In this case, @kbd{C-x
+5 0} can delete the last interactive frame; you can use
+@command{emacsclient} to reconnect to the Emacs session.
+
+ The @kbd{C-x 5 1} (@code{delete-other-frames}) command deletes all
+other frames on the current terminal (this terminal refers to either a
+graphical display, or a text-only terminal; @pxref{Non-Window
+Terminals}). If the Emacs session has frames open on other graphical
+displays or text terminals, those are not deleted.
@vindex focus-follows-mouse
- On X, you may have to tell Emacs how the window manager handles
-focus-switching between windows, in order for @kbd{C-x 5 o}
-(@code{other-frame}) to work properly. Unfortunately, there is no way
-for Emacs to detect this automatically, so you should set the variable
-@code{focus-follows-mouse}. The default is @code{nil}, meaning you
-have to click on the window to select it (the default for most modern
-window managers). You should change it to @code{t} if your window
-manager selects a window and gives it focus anytime you move the mouse
-onto the window.
-
- The window manager that is part of MS-Windows always gives focus to
-a frame that raises, so this variable has no effect in the native
-MS-Windows build of Emacs. However, you may still wish to set this
-variable to @code{t} to have Emacs automatically move the mouse
-pointer to the raised frame.
+ The @kbd{C-x 5 o} (@code{other-frame}) command selects the next
+frame on the current terminal. If you are using Emacs on the X Window
+System with a window manager that selects (or @dfn{gives focus to})
+whatever frame the mouse cursor is over, you have to change the
+variable @code{focus-follows-mouse} to @code{t} in order for this
+command to work properly. Then invoking @kbd{C-x 5 o} will also warp
+the mouse cursor to the chosen frame.
@node Fonts
@section Fonts
@cindex fonts
- By default, Emacs displays text in X using a 12-point monospace
-font. There are several different ways to specify a different font:
+ By default, Emacs displays text on graphical displays using a
+12-point monospace font. There are several different ways to specify
+a different font:
@itemize
@item
@@ -501,7 +499,7 @@ variable @code{default-frame-alist} to specify the @code{font}
parameter (@pxref{Creating Frames}), like this:
@smallexample
-(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
+(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10"))
@end smallexample
@cindex X defaults file
@@ -523,18 +521,16 @@ font in your X resources file, you should not quote it.
If you are running Emacs on the GNOME desktop, you can tell Emacs to
use the default system font by setting the variable
@code{font-use-system-font} to @code{t} (the default is @code{nil}).
-For this to work, Emacs must be compiled with Gconf support; this is
-done automatically if the libraries are present at compile time.
+For this to work, Emacs must have been compiled with Gconf support.
@item
Use the command line option @samp{-fn} (or @samp{--font}). @xref{Font
X}.
@end itemize
-To check what font you're currently using, the @kbd{C-u C-x =}
-command can be helpful. It'll describe the character under point, and
-also say what font it's rendered in, if the window system you're
-running under supports that.
+ To check what font you're currently using, the @kbd{C-u C-x =}
+command can be helpful. It describes the character at point, and
+names the font that it's rendered in.
@cindex fontconfig
On X, there are four different ways to express a ``font name''. The
@@ -548,7 +544,7 @@ the following form:
@noindent
Within this format, any of the elements in braces may be omitted.
Here, @var{fontname} is the @dfn{family name} of the font, such as
-@samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the
+@samp{Monospace} or @samp{DejaVu Sans Mono}; @var{fontsize} is the
@dfn{point size} of the font (one @dfn{printer's point} is about 1/72
of an inch); and the @samp{@var{name}=@var{values}} entries specify
settings such as the slant and weight of the font. Each @var{values}
@@ -561,7 +557,7 @@ Here is a list of common font properties:
@table @samp
@item slant
-One of @samp{italic}, @samp{oblique} or @samp{roman}.
+One of @samp{italic}, @samp{oblique}, or @samp{roman}.
@item weight
One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or
@@ -595,8 +591,9 @@ For a more detailed description of Fontconfig patterns, see the
Fontconfig manual, which is distributed with Fontconfig and available
online at @url{http://fontconfig.org/fontconfig-user.html}.
- The second way to specify a font is to use a @dfn{GTK font
-description}. These have the syntax
+@cindex GTK font pattern
+ The second way to specify a font is to use a @dfn{GTK font pattern}.
+These have the syntax
@smallexample
@var{fontname} [@var{properties}] [@var{fontsize}]
@@ -605,20 +602,24 @@ description}. These have the syntax
@noindent
where @var{fontname} is the family name, @var{properties} is a list of
property values separated by spaces, and @var{fontsize} is the point
-size. The properties that you may specify are as follows:
+size. The properties that you may specify for GTK font patterns are
+as follows:
-@table @samp
-@item style
-One of @samp{roman}, @samp{italic} or @samp{oblique}. If omitted, the
-@samp{roman} style is used.
-@item weight
-One of @samp{medium}, @samp{ultra-light}, @samp{light},
-@samp{semi-bold}, or @samp{bold}. If omitted, @samp{medium} weight is
-used.
-@end table
+@itemize
+@item
+Slant properties: @samp{Italic} or @samp{Oblique}. If omitted, the
+default (roman) slant is implied.
+@item
+Weight properties: @samp{Bold}, @samp{Book}, @samp{Light},
+@samp{Medium}, @samp{Semi-bold}, or @samp{Ultra-light}. If omitted,
+@samp{Medium} weight is implied.
+@item
+Width properties: @samp{Semi-Condensed} or @samp{Condensed}. If
+omitted, a default width is used.
+@end itemize
@noindent
-Here are some examples of GTK font descriptions:
+Here are some examples of GTK font patterns:
@smallexample
Monospace 12
@@ -657,7 +658,7 @@ The entries have the following meanings:
@item maker
The name of the font manufacturer.
@item family
-The name of the font family (e.g. @samp{courier}).
+The name of the font family (e.g.@: @samp{courier}).
@item weight
The font weight---normally either @samp{bold}, @samp{medium} or
@samp{light}. Some font names support other values.
@@ -670,8 +671,8 @@ The font width---normally @samp{normal}, @samp{condensed},
@samp{extended}, or @samp{semicondensed} (some font names support
other values).
@item style
-An optional additional style name. Usually it is empty---most long
-font names have two hyphens in a row at this point.
+An optional additional style name. Usually it is empty---most XLFDs
+have two hyphens in a row at this point.
@item pixels
The font height, in pixels.
@item height
@@ -840,116 +841,40 @@ input stream for each server. Each server also has its own selected
frame. The commands you enter with a particular X server apply to
that server's selected frame.
- It is even possible to use this feature to let two or more users
-type simultaneously on the two displays, within the same Emacs job.
-In practice, however, the different users can easily interfere with
-each others' edits if they are not careful.
-
-@node Special Buffer Frames
-@section Special Buffer Frames
-
-@vindex special-display-buffer-names
- You can make certain chosen buffers, which Emacs normally displays
-in ``some other window'' (@pxref{Displaying Buffers}), appear in
-special frames of their own. To do this, set the variable
-@code{special-display-buffer-names} to a list of buffer names; any
-buffer whose name is in that list automatically gets a special frame.
-@xref{Window Choice}, for how this fits in with the other ways for
-Emacs to choose a window to display in.
-
- For example, if you set the variable this way,
+@node Frame Parameters
+@section Frame Parameters
+@cindex default-frame-alist
-@example
-(setq special-display-buffer-names
- '("*Completions*" "*grep*" "*tex-shell*"))
-@end example
+ You can control the default appearance and behavior of all frames by
+specifying a default list of @dfn{frame parameters} in the variable
+@code{default-frame-alist}. Its value should be a list of entries,
+each specifying a parameter name and a value for that parameter.
+These entries take effect whenever Emacs creates a new frame,
+including the initial frame.
-@noindent
-then completion lists, @code{grep} output and the @TeX{} mode shell
-buffer get individual frames of their own. These frames, and the
-windows in them, are never automatically split or reused for any other
-buffers. They continue to show the buffers they were created for,
-unless you alter them by hand. Killing the special buffer deletes its
-frame automatically.
-
-@vindex special-display-regexps
- More generally, you can set @code{special-display-regexps} to a list
-of regular expressions; then a buffer gets its own frame if its name
-matches any of those regular expressions. (Once again, this applies only
-to buffers that normally get displayed for you in ``another window.'')
-
-@vindex special-display-frame-alist
- The variable @code{special-display-frame-alist} specifies the frame
-parameters for these frames. It has a default value, so you don't need
-to set it.
-
- For those who know Lisp, an element of
-@code{special-display-buffer-names} or @code{special-display-regexps}
-can also be a list. Then the first element is the buffer name or
-regular expression; the rest of the list specifies how to create the
-frame. It can be an association list specifying frame parameter
-values; these values take precedence over parameter values specified
-in @code{special-display-frame-alist}. If you specify the symbol
-@code{same-window} as a ``frame parameter'' in this list, with a
-non-@code{nil} value, that means to use the selected window if
-possible. If you use the symbol @code{same-frame} as a ``frame
-parameter'' in this list, with a non-@code{nil} value, that means to
-use the selected frame if possible.
-
- Alternatively, the value can have this form:
+@cindex frame size, specifying default
+ For example, you can add the following lines to your init file
+(@pxref{Init File}) to set the default frame width to 90 character
+columns, the default frame height to 40 character rows, and the
+default font to @samp{Monospace-10}:
@example
-(@var{function} @var{args}...)
+(add-to-list 'default-frame-alist '(width . 90))
+(add-to-list 'default-frame-alist '(height . 40))
+(add-to-list 'default-frame-alist '(font . "Monospace-10"))
@end example
-@noindent
-where @var{function} is a symbol. Then the frame is constructed by
-calling @var{function}; its first argument is the buffer, and its
-remaining arguments are @var{args}.
-
-@node Frame Parameters
-@section Setting Frame Parameters
-@cindex Auto-Raise mode
-@cindex Auto-Lower mode
-
- These commands are available for controlling the window management
-behavior of the selected frame:
+ For a list of frame parameters and their effects, see @ref{Frame
+Parameters,,, elisp, The Emacs Lisp Reference Manual}.
-@table @kbd
-@findex auto-raise-mode
-@item M-x auto-raise-mode
-Toggle whether or not the selected frame should auto-raise. Auto-raise
-means that every time you move the mouse onto the frame, it raises the
-frame.
-
-Some window managers also implement auto-raise. If you enable
-auto-raise for Emacs frames in your window manager, it will work, but
-it is beyond Emacs' control, so @code{auto-raise-mode} has no effect
-on it.
-
-@findex auto-lower-mode
-@item M-x auto-lower-mode
-Toggle whether or not the selected frame should auto-lower.
-Auto-lower means that every time you move the mouse off the frame,
-the frame moves to the bottom of the stack on the screen.
-
-The command @code{auto-lower-mode} has no effect on auto-lower
-implemented by the window manager. To control that, you must use the
-appropriate window manager features.
-@end table
+@cindex initial-frame-alist
+ You can also specify a list of frame parameters which apply to just
+the initial frame, by customizing the variable
+@code{initial-frame-alist}.
- In Emacs versions that use an X toolkit, the color-setting and
-font-setting functions don't affect menus and the menu bar, since they
-are displayed by their own widget classes. To change the appearance of
-the menus and menu bar, you must use X resources (@pxref{Resources}).
-@xref{Colors}, regarding colors. @xref{Font X}, regarding choice of
-font.
-
- Colors, fonts, and other attributes of the frame's display can also
-be customized by setting frame parameters in the variable
-@code{default-frame-alist} (@pxref{Creating Frames}). For a detailed
-description of frame parameters and customization, see @ref{Frame
-Parameters,,, elisp, The Emacs Lisp Reference Manual}.
+ If Emacs is compiled to use an X toolkit, frame parameters that
+specify colors and fonts don't affect menus and the menu bar, since
+those are drawn by the toolkit and not directly by Emacs.
@node Scroll Bars
@section Scroll Bars
@@ -994,41 +919,17 @@ or disable the scroll bars (@pxref{Resources}). To control the scroll
bar width, change the @code{scroll-bar-width} frame parameter
(@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}).
-@node Wheeled Mice
-@section Scrolling With ``Wheeled'' Mice
-
-@cindex mouse wheel
-@cindex wheel, mouse
-@findex mouse-wheel-mode
-@cindex Mouse Wheel minor mode
-@cindex mode, Mouse Wheel
- Some mice have a ``wheel'' instead of a third button. You can
-usually click the wheel to act as either @kbd{Mouse-2} or
-@kbd{Mouse-3}, depending on the setup. You can also use the wheel to
-scroll windows instead of using the scroll bar or keyboard commands.
-Mouse wheel support only works if the system generates appropriate
-events; whenever possible, it is turned on by default. To toggle this
-feature, use @kbd{M-x mouse-wheel-mode}.
-
-@vindex mouse-wheel-follow-mouse
-@vindex mouse-wheel-scroll-amount
-@vindex mouse-wheel-progressive-speed
- The two variables @code{mouse-wheel-follow-mouse} and
-@code{mouse-wheel-scroll-amount} determine where and by how much
-buffers are scrolled. The variable
-@code{mouse-wheel-progressive-speed} determines whether the scroll
-speed is linked to how fast you move the wheel.
-
@node Drag and Drop
@section Drag and Drop
@cindex drag and drop
- Emacs supports @dfn{drag and drop} using the mouse. For instance,
-dropping text onto an Emacs frame inserts the text where it is dropped.
-Dropping a file onto an Emacs frame visits that file. As a special
-case, dropping the file on a Dired buffer moves or copies the file
-(according to the conventions of the application it came from) into the
-directory displayed in that buffer.
+ In most graphical desktop environments, Emacs has basic support for
+@dfn{drag and drop} operations. For instance, dropping text onto an
+Emacs frame inserts the text where it is dropped. Dropping a file
+onto an Emacs frame visits that file. As a special case, dropping the
+file on a Dired buffer moves or copies the file (according to the
+conventions of the application it came from) into the directory
+displayed in that buffer.
@vindex dnd-open-file-other-window
Dropping a file normally visits it in the window you drop it on. If
@@ -1045,13 +946,12 @@ protocol, are currently supported.
@findex menu-bar-mode
@vindex menu-bar-mode
- You can turn display of menu bars on or off with @kbd{M-x
-menu-bar-mode} or by customizing the variable @code{menu-bar-mode}.
-With no argument, this command toggles Menu Bar mode, a
-minor mode. With an argument, the command turns Menu Bar mode on if the
-argument is positive, off if the argument is not positive. You can use
-the X resource @samp{menuBar} to control the initial setting of
-Menu Bar mode. @xref{Resources}.
+ You can toggle the use of menu bars with @kbd{M-x menu-bar-mode}.
+With no argument, this command toggles Menu Bar mode, a global minor
+mode. With an argument, the command turns Menu Bar mode on if the
+argument is positive, off if the argument is not positive. To control
+the use of menu bars at startup, customize the variable
+@code{menu-bar-mode}.
@kindex C-Mouse-3 @r{(when menu bar is disabled)}
Expert users often turn off the menu bar, especially on text-only
@@ -1135,47 +1035,39 @@ toggle to be activated by default, change the variable
help text to the GTK+ file chooser dialog; to disable this help text,
change the variable @code{x-gtk-file-dialog-help-text} to @code{nil}.
-@vindex x-gtk-use-old-file-dialog
- In GTK+ versions 2.4 through 2.10, you can choose to use an older
-version of the GTK+ file dialog by setting the variable
-@code{x-gtk-use-old-file-dialog} to a non-@code{nil} value. If Emacs
-is built with a GTK+ version that has only one file dialog, this
-variable has no effect.
-
@node Tooltips
@section Tooltips
@cindex tooltips
- @dfn{Tooltips} are small windows that display text information at the
-current mouse position. They activate when there is a pause in mouse
-movement. There are two types of tooltip: help tooltips and GUD
-tooltips.
-
- @dfn{Help tooltips} typically display over text---including the mode
-line---but are also available for other parts of the Emacs frame, such
-as the tool bar and menu items.
+ @dfn{Tooltips} are small windows that display text information at
+the current mouse position. They activate when there is a pause in
+mouse movement over some significant piece of text in a window, or the
+mode line, or some other part of the Emacs frame such as a tool bar
+button or menu item.
@findex tooltip-mode
- You can toggle display of help tooltips (Tooltip mode) with the
-command @kbd{M-x tooltip-mode}. When Tooltip mode is disabled, the
-help text is displayed in the echo area instead.
-
- @dfn{GUD tooltips} show values of variables. They are useful when
-you are debugging a program. @xref{Debugger Operation}.
+ You can toggle the use of tooltips with the command @kbd{M-x
+tooltip-mode}. When Tooltip mode is disabled, the help text is
+displayed in the echo area instead. To control the use of tooltips at
+startup, customize the variable @code{tooltip-mode}.
@vindex tooltip-delay
The variables @code{tooltip-delay} specifies how long Emacs should
wait before displaying a tooltip. For additional customization
options for displaying tooltips, use @kbd{M-x customize-group
-@key{RET} tooltip @key{RET}}. @xref{X Resources}, for information on
-customizing the windows that display tooltips.
+@key{RET} tooltip @key{RET}}.
@vindex x-gtk-use-system-tooltips
If Emacs is built with GTK+ support, it displays tooltips via GTK+,
using the default appearance of GTK+ tooltips. To disable this,
change the variable @code{x-gtk-use-system-tooltips} to @code{nil}.
-If you do this, or if Emacs is built without GTK+ support, the
-@code{tooltip} face specifies most attributes of the tooltip text.
+If you do this, or if Emacs is built without GTK+ support, most
+attributes of the tooltip text are specified by the @code{tooltip}
+face, and by X resources (@pxref{X Resources}).
+
+ @dfn{GUD tooltips} are special tooltips that show the values of
+variables when debugging a program with GUD. @xref{Debugger
+Operation}.
@node Mouse Avoidance
@section Mouse Avoidance
@@ -1248,23 +1140,31 @@ to select a frame according to its name. The name you specify appears
in the mode line when the frame is selected.
@node Text-Only Mouse
-@section Using a Mouse in Terminal Emulators
+@section Using a Mouse in Text-only Terminals
@cindex mouse support
@cindex terminal emulators, mouse support
Some text-only terminals support mouse clicks in the terminal window.
@cindex xterm
-In a terminal emulator which is compatible with @code{xterm},
-you can use @kbd{M-x xterm-mouse-mode} to give Emacs control over
-simple use of the mouse---basically, only non-modified single clicks
-are supported. The normal @code{xterm} mouse functionality for such
+ In a terminal emulator which is compatible with @command{xterm}, you
+can use @kbd{M-x xterm-mouse-mode} to give Emacs control over simple
+uses of the mouse---basically, only non-modified single clicks are
+supported. The normal @command{xterm} mouse functionality for such
clicks is still available by holding down the @kbd{SHIFT} key when you
press the mouse button. Xterm Mouse mode is a global minor mode
(@pxref{Minor Modes}). Repeating the command turns the mode off
again.
@findex gpm-mouse-mode
-In the console on GNU/Linux, you can use @kbd{M-x gpm-mouse-mode} to
-enable terminal mouse support. You must have the gpm package
-installed and running on your system in order for this to work.
+ In the console on GNU/Linux, you can use @kbd{M-x gpm-mouse-mode} to
+enable mouse support. You must have the gpm server installed and
+running on your system in order for this to work.
+
+@iftex
+@pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features},
+@end iftex
+@ifnottex
+@pxref{MS-DOS Mouse},
+@end ifnottex
+for information about mouse support on MS-DOS.
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi
index e37e80bfab8..3af75245e69 100644
--- a/doc/emacs/glossary.texi
+++ b/doc/emacs/glossary.texi
@@ -509,11 +509,6 @@ character sets and which font to use to display each of them. Fontsets
make it easy to change several fonts at once by specifying the name of a
fontset, rather than changing each font separately. @xref{Fontsets}.
-@item Formatted Text
-Formatted text is text that displays with formatting information while
-you edit. Formatting information includes fonts, colors, and specified
-margins. @xref{Formatted Text}.
-
@item Formfeed Character
See `page.'
@@ -702,9 +697,8 @@ that someone else is already editing.
See `incremental search.'
@item Justification
-Justification means adding extra spaces within lines of text
-in order to adjust the position of the text edges.
-@xref{Format Justification}.
+Justification means adding extra spaces within lines of text in order
+to adjust the position of the text edges. @xref{Fill Commands}.
@item Key Binding
See `binding.'
@@ -1362,12 +1356,6 @@ See `abbrev.'
Word search is searching for a sequence of words, considering the
punctuation between them as insignificant. @xref{Word Search}.
-@item WYSIWYG
-WYSIWYG stands for ``What you see is what you get.'' Emacs generally
-provides WYSIWYG editing for files of characters; in Enriched mode
-(@pxref{Formatted Text}), it provides WYSIWYG editing for files that
-include text formatting information.
-
@item Yanking
Yanking means reinserting text previously killed (q.v.@:). It can be
used to undo a mistaken kill, or for copying or moving text. Some
diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi
index e13b2808f09..f99e3519710 100644
--- a/doc/emacs/indent.texi
+++ b/doc/emacs/indent.texi
@@ -8,214 +8,154 @@
@cindex tabs
@cindex columns (indentation)
- This chapter describes the Emacs commands that add, remove, or
-adjust indentation.
-
-@table @kbd
-@item @key{TAB}
-Indent the current line appropriately, in a mode-dependent fashion.
-@item @kbd{C-j}
-Perform @key{RET} followed by @key{TAB} (@code{newline-and-indent}).
-@item M-^
-Merge the previous and the current line (@code{delete-indentation}).
-This would cancel the effect of a preceding @kbd{C-j}.
-@item C-M-o
-Split the current line at point; text on the line after point becomes a
-new line indented to the same column where point is located
-(@code{split-line}).
-@item M-m
-Move (forward or back) to the first nonblank character on the current
-line (@code{back-to-indentation}).
-@item C-M-\
-Indent lines in the region to the same column (@code{indent-region}).
-@item C-x @key{TAB}
-Shift lines in the region rigidly right or left (@code{indent-rigidly}).
-@item M-i
-Indent from point to the next prespecified tab stop column
-(@code{tab-to-tab-stop}).
-@item M-x indent-relative
-Indent from point to under an indentation point in the previous line.
+@cindex whitespace character
+ @dfn{Indentation} refers to inserting or adjusting @dfn{whitespace
+characters} (space and/or tab characters) at the beginning of a line
+of text. This chapter documents indentation commands and options
+which are common to Text mode and related modes, as well as
+programming language modes. @xref{Program Indent}, for additional
+documentation about indenting in programming modes.
+
+@findex indent-for-tab-command
+@kindex TAB @r{(indentation)}
+ The simplest way to perform indentation is the @key{TAB} key. In
+most major modes, this runs the command @code{indent-for-tab-command}.
+(In C and related modes, @key{TAB} runs the command
+@code{c-indent-line-or-region}, which behaves similarly).
+
+@table @key
+@item TAB
+Insert whitespace, or indent the current line, in a mode-appropriate
+way (@code{indent-for-tab-command}). If the region is active, indent
+all the lines within it.
@end table
-@noindent
-The @key{TAB} key runs @code{indent-for-tab-command} in most major
-modes (in C and related modes, @key{TAB} runs a separate command,
-@code{c-indent-line-or-region}, which behaves similarly). The major
-mode determines just what this entails.
-
- In text modes, @key{TAB} inserts some combination of space and tab
-characters to advance point to the next tab stop (@pxref{Tab Stops}).
-If the region is active and spans multiple lines, it advances the
-first character of each of those lines to the next tab stop
-(@pxref{Using Region}). For the purposes of this command, the
-position of the first non-whitespace character on the preceding line
-is treated as an additional tab stop. Thus, you can use @key{TAB} to
-``align'' point with the preceding line.
-
- In programming modes, @key{TAB} adds or removes some combination of
-space and tab characters at the start of the line, in a way that makes
-sense given the text in the preceding lines. If the region is active
-and spans multiple lines, all those lines are indented this way. If
-point was initially within the current line's indentation, it is
-positioned after that indentation; otherwise, it remains at same point
-in the newly-indented text. @xref{Program Indent}.
+ The exact behavior of @key{TAB} depends on the major mode. In Text
+mode and related major modes, @key{TAB} normally inserts some
+combination of space and tab characters to advance point to the next
+tab stop (@pxref{Tab Stops}). For this purpose, the position of the
+first non-whitespace character on the preceding line is treated as an
+additional tab stop, so you can use @key{TAB} to ``align'' point with
+the preceding line. If the region is active (@pxref{Using Region}),
+@key{TAB} acts specially: it indents each line in the region so that
+its first non-whitespace character is aligned with the preceding line.
+
+ In programming modes, @key{TAB} indents the current line of code in
+a way that makes sense given the code in the preceding lines. If the
+region is active, all the lines in the region are indented this way.
+If point was initially within the current line's indentation, it is
+repositioned to the first non-whitespace character on the line.
-@vindex tab-width
- Normally, indentation commands insert (or remove) an optimal mix of
-@dfn{tab characters} and spaces to align to the desired column. Tab
-characters (@acronym{ASCII} code 9) are displayed as a stretch of
-empty space extending to the next @dfn{display tab stop}. By default,
-there is one display tab stop every eight columns; the number of
-columns is determined by the variable @code{tab-width}. You can
-insert a single tab character by typing @kbd{C-q @key{TAB}}.
-@xref{Text Display}.
+ If you just want to insert a tab character in the buffer, type
+@kbd{C-q @key{TAB}} (@pxref{Inserting Text}).
-@findex edit-tab-stops
-@findex tab-to-tab-stop
-@kindex M-i
- The command @kbd{M-i} (@code{tab-to-tab-stop}) adjusts the
-whitespace characters around point, inserting just enough whitespace
-to advance point up to the next tab stop. By default, this involves
-deleting the existing whitespace and inserting a single tab character.
+@menu
+* Indentation Commands:: More commands for performing indentation.
+* Tab Stops:: Stop points for indentation in Text modes.
+* Just Spaces:: Using only space characters for indentation.
+* Indent Convenience:: Optional indentation features.
+@end menu
- @xref{Just Spaces}, for how to disable use of tabs. However,
-@kbd{C-q @key{TAB}} always inserts a tab, even when tabs are disabled
-for the indentation commands.
+@node Indentation Commands
+@section Indentation Commands
-@vindex tab-always-indent
- The variable @code{tab-always-indent} tweaks the behavior of the
-@key{TAB} (@code{indent-for-tab-command}) command. The default value,
-@code{t}, gives the behavior described above. If you change the value
-to the symbol @code{complete}, then @key{TAB} first tries to indent
-the current line, and if the line was already indented, it tries to
-complete the text at point (@pxref{Symbol Completion}). If the value
-is @code{nil}, then @key{TAB} indents the current line only if point
-is at the left margin or in the line's indentation; otherwise, it
-inserts a real tab character.
+Apart from the @key{TAB} (@code{indent-for-tab-command}) command,
+Emacs provides a variety of commands to perform indentation in other
+ways.
-@menu
-* Indentation Commands:: Various commands and techniques for indentation.
-* Tab Stops:: You can set arbitrary "tab stops" and then
- indent to the next tab stop when you want to.
-* Just Spaces:: You can request indentation using just spaces.
-@end menu
+@table @kbd
+@item C-j
+@kindex C-j
+@findex newline-and-indent
+Perform @key{RET} followed by @key{TAB} (@code{newline-and-indent}).
-@node Indentation Commands, Tab Stops, Indentation, Indentation
-@section Indentation Commands and Techniques
+@item C-M-o
+@kindex C-M-o
+@findex split-line
+Split the current line at point (@code{split-line}). The text on the
+line after point becomes a new line, indented to the same column where
+point is located. This command first moves point forward over any
+spaces and tabs. Afterward, point is positioned before the inserted
+newline.
@kindex M-m
@findex back-to-indentation
- To move over the indentation on a line, do @kbd{M-m}
-(@code{back-to-indentation}). This command, given anywhere on a line,
-positions point at the first nonblank character on the line, if any,
-or else at the end of the line.
-
- To insert an indented line before the current line, do @kbd{C-a C-o
-@key{TAB}}. To make an indented line after the current line, use
-@kbd{C-e C-j}.
+@item M-m
+Move (forward or back) to the first non-whitespace character on the
+current line (@code{back-to-indentation}). If there are no
+non-whitespace characters on the line, move to the end of the line.
- If you just want to insert a tab character in the buffer, type
-@kbd{C-q @key{TAB}}.
+@item M-i
+@kindex M-i
+@findex tab-to-tab-stop
+Indent whitespace at point, up to the next tab stop
+(@code{tab-to-tab-stop}). @xref{Tab Stops}.
-@kindex C-M-o
-@findex split-line
- @kbd{C-M-o} (@code{split-line}) moves the text from point to the end of
-the line vertically down, so that the current line becomes two lines.
-@kbd{C-M-o} first moves point forward over any spaces and tabs. Then it
-inserts after point a newline and enough indentation to reach the same
-column point is on. Point remains before the inserted newline; in this
-regard, @kbd{C-M-o} resembles @kbd{C-o}.
+@findex indent-relative
+@item M-x indent-relative
+Insert whitespace at point, until point is aligned with the first
+non-whitespace character on the previous line (actually, the last
+non-blank line). If point is already farther right than that, run
+@code{tab-to-tab-stop} instead---unless called with a numeric
+argument, in which case do nothing.
+@item M-^
@kindex M-^
@findex delete-indentation
- To join two lines cleanly, use the @kbd{M-^}
-(@code{delete-indentation}) command. It deletes the indentation at
-the front of the current line, and the line boundary as well,
-replacing them with a single space. As a special case (useful for
-Lisp code) the single space is omitted if the characters to be joined
-are consecutive open parentheses or closing parentheses, or if the
-junction follows another newline. To delete just the indentation of a
-line, go to the beginning of the line and use @kbd{M-\}
-(@code{delete-horizontal-space}), which deletes all spaces and tabs
-around the cursor.
-
- If you have a fill prefix, @kbd{M-^} deletes the fill prefix if it
+Merge the previous and the current line (@code{delete-indentation}).
+This ``joins'' the two lines cleanly, by replacing any indentation at
+the front of the current line, together with the line boundary, with a
+single space.
+
+As a special case (useful for Lisp code), the single space is omitted
+if the characters to be joined are consecutive opening and closing
+parentheses, or if the junction follows another newline.
+
+If there is a fill prefix, @kbd{M-^} deletes the fill prefix if it
appears after the newline that is deleted. @xref{Fill Prefix}.
+@item C-M-\
@kindex C-M-\
-@kindex C-x TAB
@findex indent-region
-@findex indent-rigidly
- There are also commands for changing the indentation of several lines
-at once. They apply to all the lines that begin in the region.
-@kbd{C-M-\} (@code{indent-region}) indents each line in the ``usual''
-way, as if you had typed @key{TAB} at the beginning of the line. A
-numeric argument specifies the column to indent to, and each line is
-shifted left or right so that its first nonblank character appears in
-that column. @kbd{C-x @key{TAB}} (@code{indent-rigidly}) moves all of
-the lines in the region right by its argument (left, for negative
-arguments). The whole group of lines moves rigidly sideways, which is
-how the command gets its name.
+Indent all the lines in the region, as though you had typed @key{TAB}
+at the beginning of each line (@code{indent-region}).
+If a numeric argument is supplied, indent every line in the region to
+that column number.
+
+@item C-x @key{TAB}
+@kindex C-x TAB
+@findex indent-rigidly
@cindex remove indentation
- To remove all indentation from all of the lines in the region,
-invoke @kbd{C-x @key{TAB}} with a large negative argument, such as
--1000.
+Shift each line in the region by a fixed distance, to the right or
+left (@code{indent-rigidly}). The distance to move is determined by
+the numeric argument (positive to move rightward, negative to move
+leftward).
+
+This command can be used to remove all indentation from the lines in
+the region, by invoking it with a large negative argument,
+e.g. @kbd{C-u -1000 C-x @key{TAB}}.
+@end table
-@findex indent-relative
- @kbd{M-x indent-relative} indents at point based on the previous line
-(actually, the last nonempty line). It inserts whitespace at point, moving
-point, until it is underneath the next indentation point in the previous line.
-An indentation point is the end of a sequence of whitespace or the end of
-the line. If point is farther right than any indentation point in the
-previous line, @code{indent-relative} runs @code{tab-to-tab-stop}
-@ifnottex
-(@pxref{Tab Stops}),
-@end ifnottex
-@iftex
-(see next section),
-@end iftex
-unless it is called with a numeric argument, in which case it does
-nothing.
-
- @xref{Format Indentation}, for another way of specifying the
-indentation for part of your text.
-
-@node Tab Stops, Just Spaces, Indentation Commands, Indentation
+@node Tab Stops
@section Tab Stops
-
@cindex tab stops
-@cindex using tab stops in making tables
-@cindex tables, indentation for
-@kindex M-i
-@findex tab-to-tab-stop
- For typing in tables, you can use @kbd{M-i} (@code{tab-to-tab-stop}).
-This command inserts indentation before point, enough to reach the
-next tab stop column.
+
+@vindex tab-stop-list
+ Emacs defines certain column numbers to be @dfn{tab stops}. These
+are used as stopping points by @key{TAB} when inserting whitespace in
+Text mode and related modes (@pxref{Indentation}), and by commands
+like @kbd{M-i} (@pxref{Indentation Commands}). By default, tab stops
+are located every 8 columns. These positions are stored in the
+variable @code{tab-stop-list}, whose value is a list of column numbers
+in increasing order.
@findex edit-tab-stops
-@findex edit-tab-stops-note-changes
@kindex C-c C-c @r{(Edit Tab Stops)}
-@vindex tab-stop-list
- You can change the tab stops used by @kbd{M-i} and other indentation
-commands, so that they need not be spaced every eight characters, or
-even regularly spaced. The tab stops are stored in the variable
-@code{tab-stop-list}, as a list of column numbers in increasing order.
-
- A convenient way to set the tab stops is with @kbd{M-x
-edit-tab-stops}, which creates and selects a buffer containing a
-description of the tab stop settings. You can edit this buffer to
-specify different tab stops, and then type @kbd{C-c C-c} to make those
-new tab stops take effect. The buffer uses Overwrite mode
-(@pxref{Minor Modes}). @code{edit-tab-stops} records which buffer was
-current when you invoked it, and stores the tab stops back in that
-buffer; normally all buffers share the same tab stops and changing
-them in one buffer affects all, but if you happen to make
-@code{tab-stop-list} local in one buffer then @code{edit-tab-stops} in
-that buffer will edit the local settings.
-
- Here is what the text representing the tab stops looks like for ordinary
-tab stops every eight columns.
+ Instead of customizing the variable @code{tab-stop-list} directly, a
+convenient way to view and set tab stops is via the command @kbd{M-x
+edit-tab-stops}. This switches to a buffer containing a description
+of the tab stop settings, which looks like this:
@example
: : : : : :
@@ -224,37 +164,77 @@ tab stops every eight columns.
To install changes, type C-c C-c
@end example
- The first line contains a colon at each tab stop. The remaining lines
-are present just to help you see where the colons are and know what to do.
+@noindent
+The first line contains a colon at each tab stop. The numbers on the
+next two lines are present just to indicate where the colons are.
+
+ You can edit this buffer to specify different tab stops by placing
+colons on the desired columns. The buffer uses Overwrite mode
+(@pxref{Minor Modes}). When you are done, type @kbd{C-c C-c} to make
+the new tab stops take effect. Normally, the new tab stop settings
+apply to all buffers. However, if you have made the
+@code{tab-stop-list} variable local to the buffer where you called
+@kbd{M-x edit-tab-stops} (@pxref{Locals}), then the new tab stop
+settings apply only to that buffer. To save the tab stop settings for
+future Emacs sessions, use the Customize interface to save the value
+of @code{tab-stop-list} (@pxref{Easy Customization}).
+
+ Note that the tab stops discussed in this section have nothing to do
+with how tab characters are displayed in the buffer. Tab characters
+are always displayed as empty spaces extending to the next
+@dfn{display tab stop}. @xref{Text Display}.
+
+@node Just Spaces
+@section Tabs vs. Spaces
- Note that the tab stops that control @code{tab-to-tab-stop} have
-nothing to do with how tab characters are displayed in the buffer.
-Tab characters are always displayed as empty spaces extending to the
-next display tab stop, which occurs every @code{tab-width} columns
-regardless of the contents of @code{tab-stop-list}. @xref{Text
+@vindex tab-width
+ Normally, indentation commands insert (or remove) an optimal mix of
+space characters and tab characters to align to the desired column.
+Tab characters are displayed as a stretch of empty space extending to
+the next @dfn{display tab stop}. By default, there is one display tab
+stop every @code{tab-width} columns (the default is 8). @xref{Text
Display}.
-@node Just Spaces,, Tab Stops, Indentation
-@section Tabs vs. Spaces
-
@vindex indent-tabs-mode
- Emacs normally uses both tabs and spaces to indent lines. If you
-prefer, all indentation can be made from spaces only. To request
-this, set @code{indent-tabs-mode} to @code{nil}. This is a per-buffer
-variable, so altering the variable affects only the current buffer,
-but there is a default value which you can change as well.
-@xref{Locals}.
-
- A tab is not always displayed in the same way. By default, tabs are
-eight columns wide, but some people like to customize their editors to
-use a different tab width (e.g., by changing the variable
-@code{tab-width} in Emacs). By using spaces only, you can make sure
-that your file looks the same regardless of the tab width setting.
+ If you prefer, all indentation can be made from spaces only. To
+request this, set the buffer-local variable @code{indent-tabs-mode} to
+@code{nil}. @xref{Locals}, for information about setting buffer-local
+variables. Note, however, that @kbd{C-q @key{TAB}} always inserts a
+tab character, regardless of the value of @code{indent-tabs-mode}.
+
+ One reason to set @code{indent-tabs-mode} to @code{nil} is that not
+all editors display tab characters in the same way. Emacs users, too,
+may have different customized values of @code{tab-width}. By using
+spaces only, you can make sure that your file always looks the same.
+If you only care about how it looks within Emacs, another way to
+tackle this problem is to set the @code{tab-width} variable in a
+file-local variable (@pxref{File Variables}).
@findex tabify
@findex untabify
There are also commands to convert tabs to spaces or vice versa, always
-preserving the columns of all nonblank text. @kbd{M-x tabify} scans the
+preserving the columns of all non-whitespace text. @kbd{M-x tabify} scans the
region for sequences of spaces, and converts sequences of at least two
spaces to tabs if that can be done without changing indentation. @kbd{M-x
untabify} changes all tabs in the region to appropriate numbers of spaces.
+
+@node Indent Convenience
+@section Convenience Features for Indentation
+
+@vindex tab-always-indent
+ The variable @code{tab-always-indent} tweaks the behavior of the
+@key{TAB} (@code{indent-for-tab-command}) command. The default value,
+@code{t}, gives the behavior described in @ref{Indentation}. If you
+change the value to the symbol @code{complete}, then @key{TAB} first
+tries to indent the current line, and if the line was already
+indented, it tries to complete the text at point (@pxref{Symbol
+Completion}). If the value is @code{nil}, then @key{TAB} indents the
+current line only if point is at the left margin or in the line's
+indentation; otherwise, it inserts a tab character.
+
+@cindex Electric Indent mode
+@cindex mode, Electric Indent
+@findex electric-indent-mode
+ Electric Indent mode is a global minor mode that automatically
+indents the line after every @key{RET} you type. To toggle this minor
+mode, type @kbd{M-x electric-indent-mode}.
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 0eccef41711..7d65719e5f0 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -354,9 +354,12 @@ Positions in Registers}).
@vindex global-mark-ring-max
In addition to the ordinary mark ring that belongs to each buffer,
Emacs has a single @dfn{global mark ring}. Each time you set a mark,
-in any buffer, this is recorded in the global mark ring in addition to
-the current buffer's own mark ring. The length of this ring can be
-controlled by @code{global-mark-ring-max}, and is 16 by default.
+this is recorded in the global mark ring in addition to the current
+buffer's own mark ring, if you have switched buffers since the
+previous mark setting. Hence, the global mark ring records a sequence
+of buffers that you have been in, and, for each buffer, a place where
+you set the mark. The length of the global mark ring is controlled by
+@code{global-mark-ring-max}, and is 16 by default.
@kindex C-x C-@key{SPC}
@findex pop-global-mark
diff --git a/doc/emacs/modes.texi b/doc/emacs/modes.texi
index 5a786be62cf..4d574242c8d 100644
--- a/doc/emacs/modes.texi
+++ b/doc/emacs/modes.texi
@@ -3,11 +3,11 @@
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Modes, Indentation, International, Top
-@chapter Editing Modes
+@chapter Major and Minor Modes
- Emacs contains many @dfn{editing modes}, each of which alters its
-basic behavior in useful ways. These are divided into @dfn{major
-modes} and @dfn{minor modes}.
+ Emacs contains many @dfn{editing modes} that alter its basic
+behavior in useful ways. These are divided into @dfn{major modes} and
+@dfn{minor modes}.
Major modes provide specialized facilities for working on a
particular file type, such as a C source file (@pxref{Programs}), or a
@@ -38,15 +38,8 @@ one another, and of the selected major mode.
Every buffer possesses a major mode, which determines the editing
behavior of Emacs while that buffer is current. The mode line
-normally shows the name of the current major mode, in parentheses.
-@xref{Mode Line}.
-
- Usually, the major mode is automatically set by Emacs, when you
-first visit a file or create a buffer. @xref{Choosing Modes}. You
-can explicitly select a new major mode by using an @kbd{M-x} command.
-Take the name of the mode and add @code{-mode} to get the name of the
-command to select that mode. Thus, you can enter Lisp mode with
-@kbd{M-x lisp-mode}.
+normally shows the name of the current major mode, in parentheses
+(@pxref{Mode Line}).
The least specialized major mode is called @dfn{Fundamental mode}.
This mode has no mode-specific redefinitions or variable settings, so
@@ -55,73 +48,142 @@ user option variable is in its default state.
For editing text of a specific type that Emacs knows about, such as
Lisp code or English text, you typically use a more specialized major
-mode, such as Lisp mode or Text mode. Such major modes change the
-meanings of some keys to become more specifically adapted to the
-language being edited. The ones that are commonly changed are
-@key{TAB}, @key{DEL}, and @kbd{C-j}. The prefix key @kbd{C-c}
-normally contains mode-specific commands. In addition, the commands
-which handle comments use the mode to determine how comments are to be
-delimited. Many major modes redefine the syntactical properties of
-characters appearing in the buffer.
-
- The major modes fall into three major groups. The first group
-contains modes for normal text, either plain or with mark-up. It
-includes Text mode, HTML mode, SGML mode, @TeX{} mode and Outline
-mode. The second group contains modes for specific programming
-languages. These include Lisp mode (which has several variants), C
-mode, Fortran mode, and others. The remaining major modes are not
-intended for use on users' files; they are used in buffers created for
-specific purposes by Emacs, such as Dired mode for buffers made by
-Dired (@pxref{Dired}), Message mode for buffers made by @kbd{C-x m}
-(@pxref{Sending Mail}), and Shell mode for buffers used for
-communicating with an inferior shell process (@pxref{Interactive
-Shell}).
-
- Most programming-language major modes specify that only blank lines
-separate paragraphs. This is to make the paragraph commands useful.
-(@xref{Paragraphs}.) They also cause Auto Fill mode to use the
-definition of @key{TAB} to indent the new lines it creates. This is
-because most lines in a program are usually indented
-(@pxref{Indentation}).
+mode, such as Lisp mode or Text mode. Most major modes fall into
+three major groups. The first group contains modes for normal text,
+either plain or with mark-up. It includes Text mode, HTML mode, SGML
+mode, @TeX{} mode and Outline mode. The second group contains modes
+for specific programming languages. These include Lisp mode (which
+has several variants), C mode, Fortran mode, and others. The third
+group consists of major modes that are not associated directly with
+files; they are used in buffers created for specific purposes by
+Emacs, such as Dired mode for buffers made by Dired (@pxref{Dired}),
+Message mode for buffers made by @kbd{C-x m} (@pxref{Sending Mail}),
+and Shell mode for buffers used to communicate with an inferior shell
+process (@pxref{Interactive Shell}).
+
+ Usually, the major mode is automatically set by Emacs, when you
+first visit a file or create a buffer (@pxref{Choosing Modes}). You
+can explicitly select a new major mode by using an @kbd{M-x} command.
+Take the name of the mode and add @code{-mode} to get the name of the
+command to select that mode. Thus, you can enter Lisp mode with
+@kbd{M-x lisp-mode}.
+
+@vindex major-mode
+ The value of the buffer-local variable @code{major-mode} is a symbol
+with the same name as the major mode command (e.g. @code{lisp-mode}).
+This variable is set automatically; you should not change it yourself.
+
+ The default value of @code{major-mode} determines the major mode to
+use for files that do not specify a major mode, and for new buffers
+created with @kbd{C-x b}. Normally, this default value is the symbol
+@code{fundamental-mode}, which specifies Fundamental mode. You can
+change this default value via the Customization interface (@pxref{Easy
+Customization}), or by adding a line like this to your init file
+(@pxref{Init File}):
+
+@smallexample
+(setq-default major-mode 'text-mode)
+@end smallexample
+
+@noindent
+If the default value of @code{major-mode} is @code{nil}, the major
+mode is taken from the previously current buffer.
+
+ Specialized major modes often change the meanings of certain keys to
+do something more suitable for the mode. For instance, programming
+language modes bind @key{TAB} to indent the current line according to
+the rules of the language (@pxref{Indentation}). The keys that are
+commonly changed are @key{TAB}, @key{DEL}, and @kbd{C-j}. Many modes
+also define special commands of their own, usually bound in the prefix
+key @kbd{C-c}. Major modes can also alter user options and variables;
+for instance, programming language modes typicaly set a buffer-local
+value for the variable @code{comment-start}, which determines how
+source code comments are delimited (@pxref{Comments}).
+
+@findex describe-mode
+@kindex C-h m
+ To view the documentation for the current major mode, including a
+list of its key bindings, type @code{C-h m} (@code{describe-mode}).
+
+@cindex mode hook
+@vindex text-mode-hook
+@vindex prog-mode-hook
+ Every major mode, apart from Fundamental mode, defines a @dfn{mode
+hook}, a customizable list of Lisp functions to run each time the mode
+is enabled in a buffer. @xref{Hooks}, for more information about
+hooks. Each mode hook is named after its major mode, e.g. Fortran
+mode has @code{fortran-mode-hook}. Furthermore, all text-based major
+modes run @code{text-mode-hook}, and all programming language modes
+run @code{prog-mode-hook}, prior to running their own mode hooks.
+Hook functions can look at the value of the variable @code{major-mode}
+to see which mode is actually being entered.
+
+ Mode hooks are commonly used to enable minor modes (@pxref{Minor
+Modes}). For example, you can put the following lines in your init
+file to enable Flyspell minor mode in all text-based major modes
+(@pxref{Spelling}), and Eldoc minor mode in Emacs Lisp mode
+(@pxref{Lisp Doc}):
+
+@example
+(add-hook 'text-mode-hook 'flyspell-mode)
+(add-hook 'emacs-lisp-mode-hook 'eldoc-mode)
+@end example
@node Minor Modes
@section Minor Modes
@cindex minor modes
@cindex mode, minor
- A minor mode is an optional editing modes that alters the behavior
-of Emacs in some well-defined way. Unlike major modes, any number of
+ A minor mode is an optional editing mode that alters the behavior of
+Emacs in some well-defined way. Unlike major modes, any number of
minor modes can be in effect at any time. Some minor modes are
-@dfn{buffer-local}: they apply only to the current buffer, so you can
-enable the mode in certain buffers and not others. Other minor modes
-are @dfn{global}: while enabled, they affect everything you do in the
-Emacs session, in all buffers. Some global minor modes are enabled by
-default.
-
- Most minor modes say in the mode line when they are enabled, just
-after the major mode indicator. For example, @samp{Fill} in the mode
-line means that Auto Fill mode is enabled. @xref{Mode Line}.
-
- Each minor mode is associated with a command, called the @dfn{mode
-command}, which turns it on or off. The name of this command consists
-of the name of the minor mode, followed by @samp{-mode}; for instance,
-the mode command for Auto Fill mode is @code{auto-fill-mode}. Calling
-the minor mode command with no prefix argument @dfn{toggles} the mode,
-turning it on if it was off, and off if it was on. A positive
-argument always turns the mode on, and a zero or negative argument
-always turns it off. Mode commands are usually invoked with
-@kbd{M-x}, but you can bind keys to them if you wish (@pxref{Key
-Bindings}).
+@dfn{buffer-local}, and can be turned on (enabled) in certain buffers
+and off (disabled) in others. Other minor modes are @dfn{global}:
+while enabled, they affect everything you do in the Emacs session, in
+all buffers. Most minor modes are disabled by default, but a few are
+enabled by default.
+
+ Most buffer-local minor modes say in the mode line when they are
+enabled, just after the major mode indicator. For example,
+@samp{Fill} in the mode line means that Auto Fill mode is enabled.
+@xref{Mode Line}.
+
+@cindex mode commands for minor modes
+ Like major modes, each minor mode is associated with a @dfn{mode
+command}, whose name consists of the mode name followed by
+@samp{-mode}. For instance, the mode command for Auto Fill mode is
+@code{auto-fill-mode}. But unlike a major mode command, which simply
+enables the mode, the mode command for a minor mode can either enable
+or disable it:
+
+@itemize
+@item
+If you invoke the mode command directly with no prefix argument
+(either via @kbd{M-x}, or by binding it to a key and typing that key;
+@pxref{Key Bindings}), that @dfn{toggles} the minor mode. The minor
+mode is turned on if it was off, and turned off if it was on.
+
+@item
+If you invoke the mode command with a prefix argument, the minor mode
+is unconditionally turned off if that argument is zero or negative;
+otherwise, it is unconditionally turned on.
+
+@item
+If the mode command is called via Lisp, the minor mode is
+unconditionally turned on if the argument is omitted or @code{nil}.
+This makes it easy to turn on a minor mode from a major mode's mode
+hook (@pxref{Major Modes}). A non-@code{nil} argument is handled like
+an interactive prefix argument, as described above.
+@end itemize
Most minor modes also have a @dfn{mode variable}, with the same name
as the mode command. Its value is non-@code{nil} if the mode is
-enabled, and @code{nil} if it is disabled. In some minor modes---but
-not all---the value of the variable alone determines whether the mode
-is active: the mode command works simply by setting the variable, and
-changing the value of the variable has the same effect as calling the
-mode command. Because not all minor modes work this way, we recommend
-that you avoid changing the mode variables directly; use the mode
-commands instead.
+enabled, and @code{nil} if it is disabled. In general, you should not
+try to enable or disable the mode by changing the value of the mode
+variable directly in Lisp; you should run the mode command instead.
+However, setting the mode variable through the Customize interface
+(@pxref{Easy Customization}) will always properly enable or disable
+the mode, since Customize automatically runs the mode command for you.
The following is a list of some buffer-local minor modes:
@@ -140,7 +202,7 @@ amount of work you can lose in case of a crash. @xref{Auto Save}.
@item
Enriched mode enables editing and saving of formatted text.
-@xref{Formatted Text}.
+@xref{Enriched Text}.
@item
Flyspell mode automatically highlights misspelled words.
@@ -189,11 +251,8 @@ Visual Line mode performs ``word wrapping'', causing long lines to be
wrapped at word boundaries. @xref{Visual Line Mode}.
@end itemize
- Here are some useful global minor modes. Since Line Number mode and
-Transient Mark mode can be enabled or disabled just by setting the
-value of the minor mode variable, you @emph{can} set them differently
-for particular buffers, by explicitly making the corresponding
-variable local in those buffers. @xref{Locals}.
+@noindent
+And here are some useful global minor modes:
@itemize @bullet
@item
@@ -261,22 +320,27 @@ text may appear on the line as well. For example,
@noindent
tells Emacs to use Lisp mode. Note how the semicolon is used to make
-Lisp treat this line as a comment. Alternatively, you could write
+Lisp treat this line as a comment. You could equivalently write
@example
; -*- mode: Lisp;-*-
@end example
@noindent
-The latter format allows you to specify local variables as well, like
-this:
+You can also use file-local variables to specify buffer-local minor
+modes, by using @code{eval} specifications. For example, this first
+nonblank line puts the buffer in Lisp mode and enables Auto-Fill mode:
@example
-; -*- mode: Lisp; tab-width: 4; -*-
+; -*- mode: Lisp; eval: (auto-fill-mode 1); -*-
@end example
- If a file variable specifies a buffer-local minor mode, Emacs
-enables that minor mode in the buffer.
+@noindent
+Note, however, that it is usually inappropriate to enable minor modes
+this way, since most minor modes represent individual user
+preferences. If you personally want to use a minor mode for a
+particular file type, it is better to enable the minor mode via a
+major mode hook (@pxref{Major Modes}).
@vindex interpreter-mode-alist
Second, if there is no file variable specifying a major mode, Emacs
@@ -310,9 +374,9 @@ elements of the form
@noindent
where @var{regexp} is a regular expression (@pxref{Regexps}), and
-@var{mode-function} is a Lisp function that toggles a major mode. If
-the text at the beginning of the file matches @var{regexp}, Emacs
-chooses the major mode specified by @var{mode-function}.
+@var{mode-function} is a major mode command. If the text at the
+beginning of the file matches @var{regexp}, Emacs chooses the major
+mode specified by @var{mode-function}.
Alternatively, an element of @code{magic-mode-alist} may have the form
@@ -323,7 +387,7 @@ Alternatively, an element of @code{magic-mode-alist} may have the form
@noindent
where @var{match-function} is a Lisp function that is called at the
beginning of the buffer; if the function returns non-@code{nil}, Emacs
-set the major mode wit @var{mode-function}.
+set the major mode with @var{mode-function}.
Fourth---if Emacs still hasn't found a suitable major mode---it
looks at the file's name. The correspondence between file names and
@@ -370,29 +434,6 @@ only after @code{auto-mode-alist}. By default,
@code{magic-fallback-mode-alist} contains forms that check for image
files, HTML/XML/SGML files, and PostScript files.
-@vindex major-mode
- Once a major mode is chosen, Emacs sets the value of the variable
-@code{major-mode} to the symbol for that major mode (e.g.,
-@code{text-mode} for Text mode). This is a per-buffer variable
-(@pxref{Locals}); its buffer-local value is set automatically, and you
-should not change it yourself.
-
- The default value of @code{major-mode} determines the major mode to
-use for files that do not specify a major mode, and for new buffers
-created with @kbd{C-x b}. Normally, this default value is the symbol
-@code{fundamental-mode}, which specifies Fundamental mode. You can
-change it via the Customization interface (@pxref{Easy
-Customization}), or by adding a line like this to your init file
-(@pxref{Init File}):
-
-@smallexample
-(setq-default major-mode 'text-mode)
-@end smallexample
-
-@noindent
-If the default value of @code{major-mode} is @code{nil}, the major
-mode is taken from the previously current buffer.
-
@findex normal-mode
If you have changed the major mode of a buffer, you can return to
the major mode Emacs would have chosen automatically, by typing
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index bbaf31ade85..547d8cbadd9 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -863,15 +863,22 @@ fontconfig library used in modern Free desktops:
The old XLFD based format is also supported for backwards compatibility.
- Emacs 23 supports a number of backends. Currently, the @code{gdi}
-and @code{uniscribe} font backends are supported on Windows. The
-@code{gdi} font backend is available on all versions of Windows, and
-supports all fonts that are natively supported by Windows. The
+@cindex font backend selection (MS-Windows)
+ Emacs 23 and later supports a number of font backends. Currently,
+the @code{gdi} and @code{uniscribe} backends are supported on Windows.
+The @code{gdi} font backend is available on all versions of Windows,
+and supports all fonts that are natively supported by Windows. The
@code{uniscribe} font backend is available on Windows 2000 and later,
and supports TrueType and OpenType fonts. Some languages requiring
-complex layout can only be properly supported by the uniscribe
+complex layout can only be properly supported by the Uniscribe
backend. By default, both backends are enabled if supported, with
-@code{uniscribe} taking priority over @code{gdi}.
+@code{uniscribe} taking priority over @code{gdi}. To override that
+and use the GDI backend even if Uniscribe is available, invoke Emacs
+with the @kbd{-xrm Emacs.fontBackend:gdi} command-line argument, or
+add a @code{Emacs.fontBackend} resource with the value @code{gdi} in
+the Registry under either the
+@samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} or the
+@samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs} key (@pxref{Resources}).
@cindex font properties (MS Windows)
@noindent
@@ -914,7 +921,7 @@ as a fallback with the font family left unspecified.
@vindex w32-charset-info-alist
@item registry
Specifies the character set registry that the font is
-expected to cover. Most TrueType and OpenType fonts will be unicode fonts
+expected to cover. Most TrueType and OpenType fonts will be Unicode fonts
that cover several national character sets, but you can narrow down the
selection of fonts to those that support a particular character set by
using a specific registry from @code{w32-charset-info-alist} here.
@@ -936,9 +943,9 @@ Options specific to @code{GDI} fonts:
@table @code
@cindex font scripts (MS Windows)
-@cindex font unicode subranges (MS Windows)
+@cindex font Unicode subranges (MS Windows)
@item script
-Specifies a unicode subrange the font should support.
+Specifies a Unicode subrange the font should support.
The following scripts are recognized on Windows: @code{latin}, @code{greek},
@code{coptic}, @code{cyrillic}, @code{armenian}, @code{hebrew}, @code{arabic},
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 2357902341e..bb62ad67b2a 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -8,8 +8,8 @@
@cindex C editing
@cindex program editing
- Emacs provides many features to facilitate editing programs. Some
-of these features can
+ This chapter describes Emacs features for facilitating editing
+programs. Some of these features can:
@itemize @bullet
@item
@@ -25,8 +25,6 @@ Insert, kill or align comments (@pxref{Comments}).
Highlight program syntax (@pxref{Font Lock}).
@end itemize
- This chapter describes these features and many more.
-
@menu
* Program Modes:: Major modes for editing programs.
* Defuns:: Commands to operate on major top-level parts
@@ -52,21 +50,14 @@ Highlight program syntax (@pxref{Font Lock}).
@section Major Modes for Programming Languages
@cindex modes for programming languages
- Emacs has specialized major modes for various programming languages.
-@xref{Major Modes}. A programming language major mode typically
+ Emacs has specialized major modes (@pxref{Major Modes}) for many
+programming languages. A programming language mode typically
specifies the syntax of expressions, the customary rules for
indentation, how to do syntax highlighting for the language, and how
-to find the beginning or end of a function definition. It often
-customizes or provides facilities for compiling and debugging programs
-as well.
-
- Ideally, Emacs should provide a major mode for each programming
-language that you might want to edit; if it doesn't have a mode for
-your favorite language, you can contribute one. But often the mode
-for one language can serve for other syntactically similar languages.
-The major mode for language @var{l} is called @code{@var{l}-mode},
-and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}.
-@xref{Choosing Modes}.
+to find the beginning or end of a function definition. It often has
+features for compiling and debugging programs as well. The major mode
+for each language is named after the language; for instance, the major
+mode for the C programming language is @code{c-mode}.
@cindex Perl mode
@cindex Icon mode
@@ -89,40 +80,32 @@ and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}.
@cindex Conf mode
@cindex DNS mode
@cindex Javascript mode
- The existing programming language major modes include Lisp, Scheme
-(a variant of Lisp) and the Scheme-based DSSSL expression language,
-Ada, ASM, AWK, C, C++, Delphi (Object Pascal), Fortran, Icon, IDL
-(CORBA), IDLWAVE, Java, Javascript, Metafont (@TeX{}'s companion for
-font creation), Modula2, Objective-C, Octave, Pascal, Perl, Pike,
-PostScript, Prolog, Python, Ruby, Simula, Tcl, and VHDL. An
-alternative mode for Perl is called CPerl mode. Modes are available
-for the scripting languages of the common GNU and Unix shells, VMS
-DCL, and MS-DOS/MS-Windows @samp{BAT} files. There are also major
-modes for editing makefiles, DNS master files, and various sorts of
-configuration files.
+ Emacs has programming language modes for Lisp, Scheme, the
+Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Delphi,
+Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont
+(@TeX{}'s companion for font creation), Modula2, Objective-C, Octave,
+Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, and
+VHDL. An alternative mode for Perl is called CPerl mode. Modes are
+also available for the scripting languages of the common GNU and Unix
+shells, VMS DCL, and MS-DOS/MS-Windows @samp{BAT} files, and for
+makefiles, DNS master files, and various sorts of configuration files.
+
+ Ideally, Emacs should have a major mode for each programming
+language that you might want to edit. If it doesn't have a mode for
+your favorite language, the mode might be implemented in a package not
+distributed with Emacs (@pxref{Packages}); or you can contribute one.
@kindex DEL @r{(programming modes)}
@findex c-electric-backspace
+@findex backward-delete-char-untabify
In most programming languages, indentation should vary from line to
-line to illustrate the structure of the program. So the major modes
-for programming languages arrange for @key{TAB} to update the
-indentation of the current line (@pxref{Program Indent}). They also
-rebind @key{DEL} to treat a tab as if it were the equivalent number of
-spaces; this lets you delete one column of indentation without
-worrying whether the whitespace consists of spaces or tabs. Use
-@kbd{C-b C-d} to delete a tab character before point, in these modes.
-
- Separate manuals are available for the modes for Ada (@pxref{Top, , Ada
-Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba IDL/Pike/AWK
-(@pxref{Top, , CC Mode, ccmode, CC Mode}) and the IDLWAVE modes
-(@pxref{Top, , IDLWAVE, idlwave, IDLWAVE User Manual}). For Fortran
-mode, see
-@iftex
-@ref{Fortran,,, emacs-xtra, Specialized Emacs Features}.
-@end iftex
-@ifnottex
-@ref{Fortran}.
-@end ifnottex
+line to illustrate the structure of the program. Therefore, in most
+programming language modes, typing @key{TAB} updates the indentation
+of the current line (@pxref{Program Indent}). Furthermore, @key{DEL}
+is usually bound to @code{backward-delete-char-untabify}, which
+deletes backward treating each tab as if it were the equivalent number
+of spaces, so that you can delete one column of indentation without
+worrying whether the whitespace consists of spaces or tabs.
@cindex mode hook
@vindex c-mode-hook
@@ -130,13 +113,24 @@ mode, see
@vindex emacs-lisp-mode-hook
@vindex lisp-interaction-mode-hook
@vindex scheme-mode-hook
- Turning on a major mode runs a normal hook called the @dfn{mode
-hook}, which is the value of a Lisp variable. Each major mode has a
-mode hook, and the hook's name is always made from the mode command's
-name by adding @samp{-hook}. For example, turning on C mode runs the
-hook @code{c-mode-hook}, while turning on Lisp mode runs the hook
-@code{lisp-mode-hook}. The purpose of the mode hook is to give you a
-place to set up customizations for that major mode. @xref{Hooks}.
+ Entering a programming language mode runs the custom Lisp functions
+specified in the hook variable @code{prog-mode-hook}, followed by
+those specified in the mode's own mode hook (@pxref{Major Modes}).
+For instance, entering C mode runs the hooks @code{prog-mode-hook} and
+@code{c-mode-hook}. @xref{Hooks}, for information about hooks.
+
+@ifinfo
+ Separate manuals are available for the modes for Ada (@pxref{Top,,
+Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba
+IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), and IDLWAVE
+(@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}).
+@end ifinfo
+@ifnotinfo
+ The Emacs distribution contains Info manuals for the major modes for
+Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE. For
+Fortran mode, see the ``Fortran'' section in the Info version of the
+Emacs manual, which is not included in this printed version.
+@end ifnotinfo
@node Defuns
@section Top-Level Definitions, or Defuns
@@ -328,20 +322,19 @@ The Speedbar can also use it (@pxref{Speedbar}).
@subsection Which Function Mode
@cindex current function name in mode line
- Which Function mode is a minor mode that displays the current
-function name in the mode line, updating it as you move around in a
-buffer.
+ Which Function mode is a global minor mode (@pxref{Minor Modes})
+which displays the current function name in the mode line, updating it
+as you move around in a buffer.
@findex which-function-mode
@vindex which-func-modes
To either enable or disable Which Function mode, use the command
-@kbd{M-x which-function-mode}. This command applies to all buffers,
-both existing ones and those yet to be created. However, it takes
-effect only in certain major modes, those listed in the value of
-@code{which-func-modes}. If the value of @code{which-func-modes} is
-@code{t} rather than a list of modes, then Which Function mode applies
-to all major modes that know how to support it---in other words, all
-the major modes that support Imenu.
+@kbd{M-x which-function-mode}. Although Which Function mode is a
+global minor mode, it takes effect only in certain major modes: those
+listed in the variable @code{which-func-modes}. If the value of
+@code{which-func-modes} is @code{t} rather than a list of modes, then
+Which Function mode applies to all major modes that know how to
+support it---in other words, all the major modes that support Imenu.
@node Program Indent
@section Indentation for Programs
@@ -352,6 +345,10 @@ reindent it as you change it. Emacs has commands to indent either a
single line, a specified number of lines, or all of the lines inside a
single parenthetical grouping.
+ @xref{Indentation}, for general information about indentation. This
+section describes indentation features specific to programming
+language modes.
+
@menu
* Basic Indent:: Indenting a single line.
* Multi-line Indent:: Commands to reindent many lines at once.
@@ -361,18 +358,15 @@ single parenthetical grouping.
@end menu
@cindex pretty-printer
- Emacs also provides a Lisp pretty-printer in the library @code{pp}.
-This program reformats a Lisp object with indentation chosen to look nice.
+ Emacs also provides a Lisp pretty-printer in the @code{pp} package,
+which reformats Lisp objects with nice-looking indentation.
@node Basic Indent
@subsection Basic Program Indentation Commands
- The basic indentation commands indent a single line according to the
-usual conventions of the language you are editing.
-
@table @kbd
@item @key{TAB}
-Adjust indentation of current line.
+Adjust indentation of current line (@code{indent-for-tab-command}).
@item C-j
Insert a newline, then adjust indentation of following line
(@code{newline-and-indent}).
@@ -382,65 +376,50 @@ Insert a newline, then adjust indentation of following line
@findex c-indent-command
@findex indent-line-function
@findex indent-for-tab-command
- The basic indentation command is @key{TAB}. In any
-programming-language major mode, @key{TAB} gives the current line the
-correct indentation as determined from the previous lines. It does
-this by inserting or deleting whitespace at the beginning of the
-current line. If point was inside the whitespace at the beginning of
-the line, @key{TAB} puts it at the end of that whitespace; otherwise,
-@key{TAB} keeps point fixed with respect to the characters around it.
-If the region is active (@pxref{Mark}), @key{TAB} indents every line
-within the region instead of just the current line. The function that
-@key{TAB} runs depends on the major mode; for instance, it is
-@code{c-indent-line-or-region} in C mode. Each function is aware of
-the syntax and conventions for its particular language.
-
- Use @kbd{C-q @key{TAB}} to insert a tab character at point.
-
-@kindex C-j
+ The basic indentation command is @key{TAB}
+(@code{indent-for-tab-command}), which was documented in
+@ref{Indentation}. In programming language modes, @key{TAB} indents
+the current line, based on the indentation and syntactic content of
+the preceding lines; if the region is active, @key{TAB} indents each
+line within the region, not just the current line.
+
+@kindex C-j @r{(indenting source code)}
@findex newline-and-indent
- When entering lines of new code, use @kbd{C-j}
-(@code{newline-and-indent}), which inserts a newline and then adjusts
-indentation after it. (It also deletes any trailing whitespace which
-remains before the new newline.) For instance, @kbd{C-j} at the end
-of a line creates a blank line with appropriate indentation. In
-programming language modes, it is equivalent to @key{RET} @key{TAB}.
-
- When Emacs indents a line that starts within a parenthetical
-grouping, it usually places the start of the line under the preceding
-line within the group, or under the text after the parenthesis. If
-you manually give one of these lines a nonstandard indentation, the
-lines below will tend to follow it. This behavior is convenient in
-cases where you have overridden the standard result of @key{TAB}
-indentation (e.g., for aesthetic purposes).
-
- Many programming-language modes assume that an open-parenthesis,
-open-brace or other opening delimiter at the left margin is the start
-of a function. This assumption speeds up indentation commands. If
-the text you are editing contains opening delimiters in column zero
-that aren't the beginning of a functions---even if these delimiters
-occur inside strings or comments---then you must set
-@code{open-paren-in-column-0-is-defun-start}. @xref{Left Margin
+ The command @kbd{C-j} (@code{newline-and-indent}), which was
+documented in @ref{Indentation Commands}, does the same as @key{RET}
+followed by @key{TAB}: it inserts a new line, then adjusts the line's
+indentation.
+
+ When indenting a line that starts within a parenthetical grouping,
+Emacs usually places the start of the line under the preceding line
+within the group, or under the text after the parenthesis. If you
+manually give one of these lines a nonstandard indentation (e.g.@: for
+aesthetic purposes), the lines below will follow it.
+
+ The indentation commands for most programming language modes assume
+that a open-parenthesis, open-brace or other opening delimiter at the
+left margin is the start of a function. If the code you are editing
+violates this assumption---even if the delimiters occur in strings or
+comments---you must set @code{open-paren-in-column-0-is-defun-start}
+to @code{nil} for indentation to work properly. @xref{Left Margin
Paren}.
- Normally, Emacs indents lines using an ``optimal'' mix of tab and
-space characters. If you want Emacs to use spaces only, set
-@code{indent-tabs-mode} (@pxref{Just Spaces}).
-
@node Multi-line Indent
@subsection Indenting Several Lines
Sometimes, you may want to reindent several lines of code at a time.
One way to do this is to use the mark; when the mark is active and the
-region is non-empty, @key{TAB} indents every line within the region.
-In addition, Emacs provides several other commands for indenting large
-chunks of code:
+region is non-empty, @key{TAB} indents every line in the region.
+Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents
+every line in the region, whether or not the mark is active
+(@pxref{Indentation Commands}).
+
+ In addition, Emacs provides the following commands for indenting
+large chunks of code:
@table @kbd
@item C-M-q
Reindent all the lines within one parenthetical grouping.
-@item C-M-\
-Reindent all lines in the region (@code{indent-region}).
@item C-u @key{TAB}
Shift an entire parenthetical grouping rigidly sideways so that its
first line is properly indented.
@@ -454,18 +433,13 @@ lines that start inside comments and strings.
To reindent the contents of a single parenthetical grouping,
position point before the beginning of the grouping and type
@kbd{C-M-q}. This changes the relative indentation within the
-grouping, without affecting its overall indentation (i.e., the
+grouping, without affecting its overall indentation (i.e.@: the
indentation of the line where the grouping starts). The function that
@kbd{C-M-q} runs depends on the major mode; it is
@code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode,
etc. To correct the overall indentation as well, type @key{TAB}
first.
- @kbd{C-M-\} (@code{indent-region}) applies @key{TAB} to the region.
-This is useful when Transient Mark mode is disabled (@pxref{Disabled
-Transient Mark}), because in that case @key{TAB} does not act on the
-region.
-
@kindex C-u TAB
If you like the relative indentation within a grouping but not the
indentation of its first line, move point to that first line and type
@@ -516,9 +490,9 @@ expression.
@cindex @code{lisp-indent-function} property
You can override the standard pattern in various ways for individual
functions, according to the @code{lisp-indent-function} property of
-the function name. Normally you would use this for macro definitions
-and specify it using the @code{declare} construct (@pxref{Defining
-Macros,,, elisp, the Emacs Lisp Reference Manual}).
+the function name. This is normally done for macro definitions, using
+the @code{declare} construct. @xref{Defining Macros,,, elisp, the
+Emacs Lisp Reference Manual}.
@node C Indent
@subsection Commands for C Indentation
@@ -664,9 +638,13 @@ parentheses and unbalanced string quotes in the buffer.
@cindex sexp
@cindex expression
@cindex balanced expression
- These commands deal with balanced expressions, also called
-@dfn{sexps}@footnote{The word ``sexp'' is used to refer to an
-expression in Lisp.}.
+ Each programming language mode has its own definition of a
+@dfn{balanced expression}. Balanced expressions typically include
+individual symbols, numbers, and string constants, as well as pieces
+of code enclosed in a matching pair of delimiters. The following
+commands deal with balanced expressions (in Emacs, such expressions
+are referred to internally as @dfn{sexps}@footnote{The word ``sexp''
+is used to refer to an expression in Lisp.}).
@table @kbd
@item C-M-f
@@ -682,90 +660,71 @@ Transpose expressions (@code{transpose-sexps}).
Put mark after following expression (@code{mark-sexp}).
@end table
- Each programming language major mode customizes the definition of
-balanced expressions to suit that language. Balanced expressions
-typically include symbols, numbers, and string constants, as well as
-any pair of matching delimiters and their contents. Some languages
-have obscure forms of expression syntax that nobody has bothered to
-implement in Emacs.
-
-@cindex Control-Meta
- By convention, the keys for these commands are all Control-Meta
-characters. They usually act on expressions just as the corresponding
-Meta characters act on words. For instance, the command @kbd{C-M-b}
-moves backward over a balanced expression, just as @kbd{M-b} moves
-back over a word.
-
@kindex C-M-f
@kindex C-M-b
@findex forward-sexp
@findex backward-sexp
To move forward over a balanced expression, use @kbd{C-M-f}
(@code{forward-sexp}). If the first significant character after point
-is an opening delimiter (@samp{(} in Lisp; @samp{(}, @samp{[} or
-@samp{@{} in C), @kbd{C-M-f} moves past the matching closing
-delimiter. If the character begins a symbol, string, or number,
-@kbd{C-M-f} moves over that.
+is an opening delimiter (e.g.@: @samp{(}, @samp{[} or @samp{@{} in C),
+this command moves past the matching closing delimiter. If the
+character begins a symbol, string, or number, the command moves over
+that.
The command @kbd{C-M-b} (@code{backward-sexp}) moves backward over a
-balanced expression. The detailed rules are like those above for
-@kbd{C-M-f}, but with directions reversed. If there are prefix
-characters (single-quote, backquote and comma, in Lisp) preceding the
-expression, @kbd{C-M-b} moves back over them as well. The balanced
-expression commands move across comments as if they were whitespace,
-in most modes.
-
- @kbd{C-M-f} or @kbd{C-M-b} with an argument repeats that operation the
-specified number of times; with a negative argument, it moves in the
-opposite direction.
+balanced expression---like @kbd{C-M-f}, but in the reverse direction.
+If the expression is preceded by any prefix characters (single-quote,
+backquote and comma, in Lisp), the command moves back over them as
+well.
+
+ @kbd{C-M-f} or @kbd{C-M-b} with an argument repeats that operation
+the specified number of times; with a negative argument means to move
+in the opposite direction. In most modes, these two commands move
+across comments as if they were whitespace. Note that their keys,
+@kbd{C-M-f} and @kbd{C-M-b}, are analogous to @kbd{C-f} and @kbd{C-b},
+which move by characters (@pxref{Moving Point}), and @kbd{M-f} and
+@kbd{M-b}, which move by words (@pxref{Words}).
@cindex killing expressions
@kindex C-M-k
@findex kill-sexp
- Killing a whole balanced expression can be done with @kbd{C-M-k}
-(@code{kill-sexp}). @kbd{C-M-k} kills the characters that @kbd{C-M-f}
-would move over.
+ To kill a whole balanced expression, type @kbd{C-M-k}
+(@code{kill-sexp}). This kills the text that @kbd{C-M-f} would move
+over.
@cindex transposition of expressions
@kindex C-M-t
@findex transpose-sexps
- A somewhat random-sounding command which is nevertheless handy is
-@kbd{C-M-t} (@code{transpose-sexps}), which drags the previous
-balanced expression across the next one. An argument serves as a
-repeat count, moving the previous expression over that many following
-ones. A negative argument drags the previous balanced expression
-backwards across those before it (thus canceling out the effect of
-@kbd{C-M-t} with a positive argument). An argument of zero, rather
-than doing nothing, transposes the balanced expressions ending at or
-after point and the mark.
+ @kbd{C-M-t} (@code{transpose-sexps}) switches the positions of the
+previous balanced expression and the next one. It is analogous to the
+@kbd{C-t} command, which transposes characters (@pxref{Transpose}).
+An argument to @kbd{C-M-t} serves as a repeat count, moving the
+previous expression over that many following ones. A negative
+argument moves the previous balanced expression backwards across those
+before it. An argument of zero, rather than doing nothing, transposes
+the balanced expressions ending at or after point and the mark.
@kindex C-M-@@
@kindex C-M-@key{SPC}
@findex mark-sexp
- To operate on balanced expressions with an operation which acts on
-the region, use the command @kbd{C-M-@key{SPC}} (@code{mark-sexp}).
-This sets the mark at the same place that @kbd{C-M-f} would move to.
-@xref{Marking Objects}, for more information about this command.
-
-@kbd{C-M-@key{SPC}} treats
-numeric arguments in the same way as @kbd{C-M-f}; in particular, a
-negative argument puts the mark at the beginning of the previous
-balanced expression. The alias @kbd{C-M-@@} is equivalent to
-@kbd{C-M-@key{SPC}}. While the mark is active, each successive use of
-@kbd{C-M-@key{SPC}} extends the region by shifting the mark by one
-sexp.
+ To operate on balanced expressions with a command which acts on the
+region, type @kbd{C-M-@key{SPC}} (@code{mark-sexp}). This sets the
+mark where @kbd{C-M-f} would move to. While the mark is active, each
+successive call to this command extends the region by shifting the
+mark by one expression. Positive or negative numeric arguments move
+the mark forward or backward by the specified number of expressions.
+The alias @kbd{C-M-@@} is equivalent to @kbd{C-M-@key{SPC}}.
+@xref{Marking Objects}, for more information about this and related
+commands.
In languages that use infix operators, such as C, it is not possible
-to recognize all balanced expressions as such because there can be
-multiple possibilities at a given position. For example, C mode does
-not treat @samp{foo + bar} as a single expression, even though it
-@emph{is} one C expression; instead, it recognizes @samp{foo} as one
-expression and @samp{bar} as another, with the @samp{+} as punctuation
-between them. Both @samp{foo + bar} and @samp{foo} are legitimate
-choices for ``the expression following point'' when point is at the
-@samp{f}, so the expression commands must perforce choose one or the
-other to operate on. Note that @samp{(foo + bar)} is recognized as a
-single expression in C mode, because of the parentheses.
+to recognize all balanced expressions because there can be multiple
+possibilities at a given position. For example, C mode does not treat
+@samp{foo + bar} as a single expression, even though it @emph{is} one
+C expression; instead, it recognizes @samp{foo} as one expression and
+@samp{bar} as another, with the @samp{+} as punctuation between them.
+However, C mode recognizes @samp{(foo + bar)} as a single expression,
+because of the parentheses.
@node Moving by Parens
@subsection Moving in the Parenthesis Structure
@@ -776,19 +735,18 @@ single expression in C mode, because of the parentheses.
@cindex braces, moving across
@cindex list commands
- The Emacs commands for handling parenthetical groupings see nothing
-except parentheses (or whatever characters must balance in the
-language you are working with). They ignore strings and comments
-(including any parentheses within them) and ignore parentheses quoted
-by an escape character. They are mainly intended for editing
-programs, but can be useful for editing any text that has parentheses.
-They are sometimes called ``list'' commands because in Lisp these
-groupings are lists.
+ The following commands move over groupings delimited by parentheses
+(or whatever else serves as delimiters in the language you are working
+with). They ignore strings and comments, including any parentheses
+within them, and also ignore parentheses that are ``quoted'' with an
+escape character. These commands are mainly intended for editing
+programs, but can be useful for editing any text containing
+parentheses. They are referred to internally as ``list'' commands
+because in Lisp these groupings are lists.
-These commands assume that the starting point is not inside a string
-or a comment. Sometimes you can invoke them usefully from one of
-these places (for example, when you have a parenthesised clause in a
-comment) but this is unreliable.
+ These commands assume that the starting point is not inside a string
+or a comment. If you invoke them from inside a string or comment, the
+results are unreliable.
@table @kbd
@item C-M-n
@@ -826,52 +784,62 @@ delimiter, this is nearly the same as searching for a @samp{(}. An
argument specifies the number of levels to go down.
@node Matching
-@subsection Automatic Display Of Matching Parentheses
+@subsection Matching Parentheses
@cindex matching parentheses
@cindex parentheses, displaying matches
- The Emacs parenthesis-matching feature is designed to show
-automatically how parentheses (and other matching delimiters) match in
-the text. Whenever you type a self-inserting character that is a
-closing delimiter, the cursor moves momentarily to the location of the
+ Emacs has a number of @dfn{parenthesis matching} features, which
+make it easy to see how and whether parentheses (or other delimiters)
+match up.
+
+ Whenever you type a self-inserting character that is a closing
+delimiter, the cursor moves momentarily to the location of the
matching opening delimiter, provided that is on the screen. If it is
not on the screen, Emacs displays some of the text near it in the echo
area. Either way, you can tell which grouping you are closing off.
-
- If the opening delimiter and closing delimiter are mismatched---such
+If the opening delimiter and closing delimiter are mismatched---such
as in @samp{[x)}---a warning message is displayed in the echo area.
@vindex blink-matching-paren
@vindex blink-matching-paren-distance
@vindex blink-matching-delay
- Three variables control parenthesis match display:
+ Three variables control the display of matching parentheses:
- @code{blink-matching-paren} turns the feature on or off: @code{nil}
-disables it, but the default is @code{t} to enable match display.
+@itemize @bullet
+@item
+@code{blink-matching-paren} turns the feature on or off: @code{nil}
+disables it, but the default is @code{t} to enable it.
- @code{blink-matching-delay} says how many seconds to leave the
-cursor on the matching opening delimiter, before bringing it back to
-the real location of point; the default is 1, but on some systems it
-is useful to specify a fraction of a second.
+@item
+@code{blink-matching-delay} says how many seconds to leave the cursor
+on the matching opening delimiter, before bringing it back to the real
+location of point. This may be an integer or floating-point number;
+the default is 1.
- @code{blink-matching-paren-distance} specifies how many characters
+@item
+@code{blink-matching-paren-distance} specifies how many characters
back to search to find the matching opening delimiter. If the match
-is not found in that distance, scanning stops, and nothing is displayed.
-This is to prevent the scan for the matching delimiter from wasting
-lots of time when there is no match. The default is 102400.
+is not found in that distance, Emacs stops scanning and nothing is
+displayed. The default is 102400.
+@end itemize
@cindex Show Paren mode
@cindex highlighting matching parentheses
@findex show-paren-mode
- Show Paren mode provides a more powerful kind of automatic matching.
-Whenever point is before an opening delimiter or after a closing
-delimiter, both that delimiter and its opposite delimiter are
-highlighted. Use the command @kbd{M-x show-paren-mode} to enable or
-disable this mode.
-
- Show Paren mode uses the faces @code{show-paren-match} and
-@code{show-paren-mismatch} to highlight parentheses; you can customize
-them to control how highlighting looks. @xref{Face Customization}.
+ Show Paren mode, a global minor mode, provides a more powerful kind
+of automatic matching. Whenever point is before an opening delimiter
+or after a closing delimiter, both that delimiter and its opposite
+delimiter are highlighted. To toggle Show Paren mode, type @kbd{M-x
+show-paren-mode}.
+
+@cindex Electric Pair mode
+@cindex inserting matching parentheses
+@findex electric-pair-mode
+ Electric Pair mode, a global minor mode, provides a way to easily
+insert matching delimiters. Whenever you insert an opening delimiter,
+the matching closing delimiter is automatically inserted as well,
+leaving point between the two. To toggle Electric Pair mode, type
+@kbd{M-x electric-pair-mode}.
@node Comments
@section Manipulating Comments
@@ -882,6 +850,23 @@ provides special commands for editing and inserting comments. It can
also do spell checking on comments with Flyspell Prog mode
(@pxref{Spelling}).
+ Some major modes have special rules for indenting different kinds of
+comments. For example, in Lisp code, comments starting with two
+semicolons are indented as if they were lines of code, while those
+starting with three semicolons are supposed to be aligned to the left
+margin and are often used for sectioning purposes. Emacs understand
+these conventions; for instance, typing @key{TAB} on a comment line
+will indent the comment to the appropriate position.
+
+@example
+;; This function is just an example.
+;;; Here either two or three semicolons are appropriate.
+(defun foo (x)
+;;; And now, the first part of the function:
+ ;; The following line adds one.
+ (1+ x)) ; This line adds one.
+@end example
+
@menu
* Comment Commands:: Inserting, killing, and aligning comments.
* Multi-Line Comments:: Commands for adding and editing multi-line comments.
@@ -893,12 +878,12 @@ also do spell checking on comments with Flyspell Prog mode
@cindex indentation for comments
@cindex alignment for comments
- The commands in this table insert, kill and align comments:
+ The following commands operate on comments:
@table @asis
@item @kbd{M-;}
-Insert or realign comment on current line; alternatively, comment or
-uncomment the region (@code{comment-dwim}).
+Insert or realign comment on current line; if the region is active,
+comment or uncomment the region instead (@code{comment-dwim}).
@item @kbd{C-u M-;}
Kill comment on current line (@code{comment-kill}).
@item @kbd{C-x ;}
@@ -909,7 +894,7 @@ Like @key{RET} followed by inserting and aligning a comment
(@code{comment-indent-new-line}). @xref{Multi-Line Comments}.
@item @kbd{M-x comment-region}
@itemx @kbd{C-c C-c} (in C-like modes)
-Add or remove comment delimiters on all the lines in the region.
+Add comment delimiters to all the lines in the region.
@end table
@kindex M-;
@@ -920,65 +905,61 @@ I Mean''; it indicates that this command can be used for many
different jobs relating to comments, depending on the situation where
you use it.
- When a region is active, @kbd{M-;} either adds or removes comment
-delimiters on each line of the region. @xref{Mark}. If every line in
-the region is a comment, it removes comment delimiters from each;
-otherwise, it adds comment delimiters to each. You can also use the
-commands @code{comment-region} and @code{uncomment-region} to
-explicitly comment or uncomment the text in the region
-(@pxref{Multi-Line Comments}). If you supply a prefix argument to
-@kbd{M-;} when a region is active, that specifies how many comment
-delimiters to add or how many to delete.
-
- If the region is not active, @kbd{M-;} inserts a new comment if
-there is no comment already on the line. The new comment is normally
-aligned at a specific column called the @dfn{comment column}; if the
-text of the line extends past the comment column, @kbd{M-;} aligns the
-comment start string to a suitable boundary (usually, at least one
-space is inserted). The comment begins with the string Emacs thinks
-comments should start with (the value of @code{comment-start}; see
-below). Emacs places point after that string, so you can insert the
-text of the comment right away. If the major mode has specified a
-string to terminate comments, @kbd{M-;} inserts that string after
-point, to keep the syntax valid.
+ When a region is active (@pxref{Mark}), @kbd{M-;} either adds
+comment delimiters to the region, or removes them. If every line in
+the region is already a comment, it ``uncomments'' each of those lines
+by removing their comment delimiters. Otherwise, it adds comment
+delimiters to enclose the text in the region.
+
+ If you supply a prefix argument to @kbd{M-;} when a region is
+active, that specifies the number of comment delimiters to add or
+delete. A positive argument @var{n} adds @var{n} delimiters, while a
+negative argument @var{-n} removes @var{n} delimiters.
+
+ If the region is not active, and there is no existing comment on the
+current line, @kbd{M-;} adds a new comment to the current line. If
+the line is blank (i.e.@: empty or containing only whitespace
+characters), the comment is indented to the same position where
+@key{TAB} would indent to (@pxref{Basic Indent}). If the line is
+non-blank, the comment is placed after the last non-whitespace
+character on the line; normally, Emacs tries putting it at the column
+specified by the variable @code{comment-column} (@pxref{Options for
+Comments}), but if the line already extends past that column, it puts
+the comment at some suitable position, usually separated from the
+non-comment text by at least one space. In each case, Emacs places
+point after the comment's starting delimiter, so that you can start
+typing the comment text right away.
You can also use @kbd{M-;} to align an existing comment. If a line
already contains the comment-start string, @kbd{M-;} realigns it to
-the conventional alignment and moves point after it. (Exception:
-comments starting in column 0 are not moved.) Even when an existing
-comment is properly aligned, @kbd{M-;} is still useful for moving
-directly to the start of the text inside the comment.
+the conventional alignment and moves point after the comment's
+starting delimiter. As an exception, comments starting in column 0
+are not moved. Even when an existing comment is properly aligned,
+@kbd{M-;} is still useful for moving directly to the start of the
+comment text.
@findex comment-kill
@kindex C-u M-;
- @kbd{C-u M-;} kills any comment on the current line, along with the
-whitespace before it. To reinsert the comment on another line, move
-to the end of that line, do @kbd{C-y}, and then do @kbd{M-;} to
-realign it.
-
- Note that @kbd{C-u M-;} is not a distinct key; it is @kbd{M-;}
-(@code{comment-dwim}) with a prefix argument. That command is
-programmed so that when it receives a prefix argument it calls
-@code{comment-kill}. However, @code{comment-kill} is a valid command
-in its own right, and you can bind it directly to a key if you wish.
-
- Some major modes have special rules for aligning certain kinds of
-comments in certain contexts. For example, in Lisp code, comments which
-start with two semicolons are indented as if they were lines of code,
-instead of at the comment column. Comments which start with three
-semicolons are supposed to start at the left margin and are often used
-for sectioning purposes. Emacs understands
-these conventions by indenting a double-semicolon comment using @key{TAB},
-and by not changing the indentation of a triple-semicolon comment at all.
+ @kbd{C-u M-;} (@code{comment-dwim} with a prefix argument) kills any
+comment on the current line, along with the whitespace before it.
+Since the comment is saved to the kill ring, you can reinsert it on
+another line by moving to the end of that line, doing @kbd{C-y}, and
+then @kbd{M-;} to realign the command. You can achieve the same
+effect as @kbd{C-u M-;} by typing @kbd{M-x comment-kill}
+(@code{comment-dwim} actually calls @code{comment-kill} as a
+subroutine when it is given a prefix argument).
-@example
-;; This function is just an example.
-;;; Here either two or three semicolons are appropriate.
-(defun foo (x)
-;;; And now, the first part of the function:
- ;; The following line adds one.
- (1+ x)) ; This line adds one.
-@end example
+@kindex C-c C-c (C mode)
+@findex comment-region
+@findex uncomment-region
+ The command @kbd{M-x comment-region} is equivalent to calling
+@kbd{M-;} on an active region, except that it always acts on the
+region, even if the mark is inactive. In C mode and related modes,
+this command is bound to @kbd{C-c C-c}. The command @kbd{M-x
+uncomment-region} uncomments each line in the region; a numeric prefix
+argument specifies the number of comment delimiters to remove
+(negative arguments specify the number of comment to delimiters to
+add).
For C-like modes, you can configure the exact effect of @kbd{M-;} by
setting the variables @code{c-indent-comment-alist} and
@@ -994,32 +975,31 @@ the brace rather than at @code{comment-column}. For full details see
@kindex M-j
@cindex blank lines in programs
@findex comment-indent-new-line
-
- If you are typing a comment and wish to continue it on another line,
-you can use the command @kbd{C-M-j} or @kbd{M-j}
-(@code{comment-indent-new-line}). If @code{comment-multi-line}
-(@pxref{Options for Comments}) is non-@code{nil}, it moves to a new
-line within the comment. Otherwise it closes the comment and starts a
-new comment on a new line. When Auto Fill mode is on, going past the
-fill column while typing a comment causes the comment to be continued
-in just this fashion.
-
-@kindex C-c C-c (C mode)
-@findex comment-region
- To turn existing lines into comment lines, use the @kbd{M-x
-comment-region} command (or type @kbd{C-c C-c} in C-like modes). It
-adds comment delimiters to the lines that start in the region, thus
-commenting them out. With a negative argument, it does the
-opposite---it deletes comment delimiters from the lines in the region.
-
- With a positive argument, @code{comment-region} duplicates the last
-character of the comment start sequence it adds; the argument
-specifies how many copies of the character to insert. Thus, in Lisp
-mode, @kbd{C-u 2 M-x comment-region} adds @samp{;;} to each line.
-Duplicating the comment delimiter is a way of calling attention to the
-comment. It can also affect how the comment is aligned or indented.
-In Lisp, for proper indentation, you should use an argument of two or
-three, if between defuns; if within a defun, it must be three.
+@vindex comment-multi-line
+ If you are typing a comment and wish to continue it to another line,
+type @kbd{M-j} or @kbd{C-M-j} (@code{comment-indent-new-line}). This
+breaks the current line, and inserts the necessary comment delimiters
+and indentation to continue the comment.
+
+ For languages with closing comment delimiters (e.g.@: @samp{*/} in
+C), the exact behavior of @kbd{M-j} depends on the value of the
+variable @code{comment-multi-line}. If the value is @code{nil}, the
+command closes the comment on the old line and starts a new comment on
+the new line. Otherwise, it opens a new line within the current
+comment delimiters.
+
+ When Auto Fill mode is on, going past the fill column while typing a
+comment also continues the comment, in the same way as an explicit
+invocation of @kbd{M-j}.
+
+ To turn existing lines into comment lines, use @kbd{M-;} with the
+region active, or use @kbd{M-x comment-region}
+@ifinfo
+(@pxref{Comment Commands}).
+@end ifinfo
+@ifnotinfo
+as described in the preceding section.
+@end ifnotinfo
You can configure C Mode such that when you type a @samp{/} at the
start of a line in a multi-line block comment, this closes the
@@ -1032,19 +1012,16 @@ comment. Enable the @code{comment-close-slash} clean-up for this.
@vindex comment-column
@kindex C-x ;
@findex comment-set-column
- The @dfn{comment column}, the column at which Emacs tries to place
-comments, is stored in the variable @code{comment-column}. You can
-set it to a number explicitly. Alternatively, the command @kbd{C-x ;}
-(@code{comment-set-column}) sets the comment column to the column
-point is at. @kbd{C-u C-x ;} sets the comment column to match the
-last comment before point in the buffer, and then does a @kbd{M-;} to
-align the current line's comment under the previous one.
-
- The variable @code{comment-column} is per-buffer: setting the variable
-in the normal fashion affects only the current buffer, but there is a
-default value which you can change with @code{setq-default}.
-@xref{Locals}. Many major modes initialize this variable for the
-current buffer.
+ As mentioned in @ref{Comment Commands}, when the @kbd{M-j} command
+adds a comment to a line, it tries to place the comment at the column
+specified by the buffer-local variable @code{comment-column}. You can
+set either the local value or the default value of this buffer-local
+variable in the usual way (@pxref{Locals}). Alternatively, you can
+type @kbd{C-x ;} (@code{comment-set-column}) to set the value of
+@code{comment-column} in the current buffer to the column where point
+is currently located. @kbd{C-u C-x ;} sets the comment column to
+match the last comment before point in the buffer, and then does a
+@kbd{M-;} to align the current line's comment under the previous one.
@vindex comment-start-skip
The comment commands recognize comments based on the regular
@@ -1053,39 +1030,32 @@ Make sure this regexp does not match the null string. It may match more
than the comment starting delimiter in the strictest sense of the word;
for example, in C mode the value of the variable is
@c This stops M-q from breaking the line inside that @code.
-@code{@w{"/\\*+ *\\|//+ *"}}, which matches extra stars and spaces
-after the @samp{/*} itself, and accepts C++ style comments also.
-(Note that @samp{\\} is needed in Lisp syntax to include a @samp{\} in
-the string, which is needed to deny the first star its special meaning
-in regexp syntax. @xref{Regexp Backslash}.)
+@code{@w{"\\(//+\\|/\\*+\\)\\s *"}}, which matches extra stars and
+spaces after the @samp{/*} itself, and accepts C++ style comments
+also. (Note that @samp{\\} is needed in Lisp syntax to include a
+@samp{\} in the string, which is needed to deny the first star its
+special meaning in regexp syntax. @xref{Regexp Backslash}.)
@vindex comment-start
@vindex comment-end
When a comment command makes a new comment, it inserts the value of
-@code{comment-start} to begin it. The value of @code{comment-end} is
-inserted after point, so that it will follow the text that you will
-insert into the comment. When @code{comment-end} is non-empty, it
-should start with a space. For example, in C mode,
-@code{comment-start} has the value @w{@code{"/* "}} and
-@code{comment-end} has the value @w{@code{" */"}}.
+@code{comment-start} as an opening comment delimiter. It also inserts
+the value of @code{comment-end} after point, as a closing comment
+delimiter. For example, in Lisp mode, @code{comment-start} is
+@samp{";"} and @code{comment-end} is @code{""} (the empty string). In
+C mode, @code{comment-start} is @code{"/* "} and @code{comment-end} is
+@code{" */"}.
@vindex comment-padding
- The variable @code{comment-padding} specifies how many spaces
-@code{comment-region} should insert on each line between the comment
-delimiter and the line's original text. The default is 1, to insert
-one space. @code{nil} means 0. Alternatively, @code{comment-padding}
-can hold the actual string to insert.
+ The variable @code{comment-padding} specifies a string that the
+commenting commands should insert between the comment delimiter(s) and
+the comment text. The default, @samp{" "}, specifies a single space.
+Alternatively, the value can be a number, which specifies that number
+of spaces, or @code{nil}, which means no spaces at all.
-@vindex comment-multi-line
- The variable @code{comment-multi-line} controls how @kbd{C-M-j}
-(@code{indent-new-comment-line}) behaves when used inside a comment.
-Specifically, when @code{comment-multi-line} is @code{nil}, the
-command inserts a comment terminator, begins a new line, and finally
-inserts a comment starter. Otherwise it does not insert the
-terminator and starter, so it effectively continues the current
-comment across multiple lines. In languages that allow multi-line
-comments, the choice of value for this variable is a matter of taste.
-The default for this variable depends on the major mode.
+ The variable @code{comment-multi-line} controls how @kbd{M-j} and
+Auto Fill mode continue comments over multiple lines.
+@xref{Multi-Line Comments}.
@vindex comment-indent-function
The variable @code{comment-indent-function} should contain a function
@@ -1139,7 +1109,7 @@ mode which @kbd{C-h S} does support.
@node Man Page
@subsection Man Page Lookup
-@cindex manual page
+@cindex man page
On Unix, the main form of on-line documentation was the @dfn{manual
page} or @dfn{man page}. In the GNU operating system, we aim to
replace man pages with better-organized manuals that you can browse
@@ -1148,71 +1118,51 @@ still useful to read manual pages.
@findex manual-entry
You can read the man page for an operating system command, library
-function, or system call, with the @kbd{M-x man} command. It
-runs the @code{man} program to format the man page; if the system
-permits, it runs @code{man} asynchronously, so that you can keep on
-editing while the page is being formatted. (On MS-DOS and MS-Windows
-3, you cannot edit while Emacs waits for @code{man} to finish.) The
-result goes in a buffer named @samp{*Man @var{topic}*}. These buffers
-use a special major mode, Man mode, that facilitates scrolling and
-jumping to other manual pages. For details, type @kbd{C-h m} while in
-a man page buffer.
+function, or system call, with the @kbd{M-x man} command. This
+prompts for a topic, with completion (@pxref{Completion}), and runs
+the @command{man} program to format the corresponding man page. If
+the system permits, it runs @command{man} asynchronously, so that you
+can keep on editing while the page is being formatted. The result
+goes in a buffer named @samp{*Man @var{topic}*}. These buffers use a
+special major mode, Man mode, that facilitates scrolling and jumping
+to other manual pages. For details, type @kbd{C-h m} while in a Man
+mode buffer.
@cindex sections of manual pages
Each man page belongs to one of ten or more @dfn{sections}, each
-named by a digit or by a digit and a letter. Sometimes there are
-multiple man pages with the same name in different sections. To read
-a man page from a specific section, type
-@samp{@var{topic}(@var{section})} or @samp{@var{section} @var{topic}}
-when @kbd{M-x manual-entry} prompts for the topic. For example, to
-read the man page for the C library function @code{chmod} (as opposed
-to a command of the same name), type @kbd{M-x manual-entry @key{RET}
-chmod(2) @key{RET}}. (@code{chmod} is a system call, so it is in
-section @samp{2}.)
+named by a digit or by a digit and a letter. Sometimes there are man
+pages with the same name in different sections. To read a man page
+from a specific section, type @samp{@var{topic}(@var{section})} or
+@samp{@var{section} @var{topic}} when @kbd{M-x manual-entry} prompts
+for the topic. For example, the man page for the C library function
+@code{chmod} is in section 2, but there is a shell command of the same
+name, whose man page is in section 1; to view the former, type
+@kbd{M-x manual-entry @key{RET} chmod(2) @key{RET}}.
@vindex Man-switches
- If you do not specify a section, the results depend on how the
-@code{man} program works on your system. Some of them display only
-the first man page they find. Others display all man pages that have
-the specified name, so you can move between them with the @kbd{M-n}
-and @kbd{M-p} keys@footnote{On some systems, the @code{man} program
-accepts a @samp{-a} command-line option which tells it to display all
-the man pages for the specified topic. If you want this behavior, you
-can add this option to the value of the variable @code{Man-switches}.}.
-The mode line shows how many manual pages are present in the Man buffer.
-
-@vindex Man-fontify-manpage-flag
- By default, Emacs highlights the text in man pages. For a long man
-page, highlighting can take substantial time. You can turn off
-highlighting of man pages by setting the variable
-@code{Man-fontify-manpage-flag} to @code{nil}.
-
-@findex Man-fontify-manpage
- If you insert the text of a man page into an Emacs buffer in some
-other fashion, you can use the command @kbd{M-x Man-fontify-manpage} to
-perform the same conversions that @kbd{M-x manual-entry} does.
+@kindex M-n @r{(Man mode)}
+@kindex M-p @r{(Man mode)}
+ If you do not specify a section, @kbd{M-x man} normally displays
+only the first man page found. On some systems, the @code{man}
+program accepts a @samp{-a} command-line option, which tells it to
+display all the man pages for the specified topic. To make use of
+this, change the value of the variable @code{Man-switches} to
+@samp{"-a"}. Then, in the Man mode buffer, you can type @kbd{M-n} and
+@kbd{M-p} to switch between man pages in different sections. The mode
+line shows how many manual pages are available.
@findex woman
@cindex manual pages, on MS-DOS/MS-Windows
An alternative way of reading manual pages is the @kbd{M-x woman}
-command@footnote{The name of the command, @code{woman}, is an acronym
-for ``w/o (without) man,'' since it doesn't use the @code{man}
-program.}. Unlike @kbd{M-x man}, it does not run any external
-programs to format and display the man pages; instead it does the job
-in Emacs Lisp, so it works on systems such as MS-Windows, where the
-@code{man} program (and other programs it uses) are not generally
-available.
-
- @kbd{M-x woman} prompts for a name of a manual page, and provides
-completion based on the list of manual pages that are installed on
-your machine; the list of available manual pages is computed
-automatically the first time you invoke @code{woman}. The word at
-point in the current buffer is used to suggest the default for the
-name of the manual page.
-
- With a numeric argument, @kbd{M-x woman} recomputes the list of the
-manual pages used for completion. This is useful if you add or delete
-manual pages.
+command. Unlike @kbd{M-x man}, it does not run any external programs
+to format and display the man pages; the formatting is done by Emacs,
+so it works on systems such as MS-Windows where the @command{man}
+program may be unavailable. It prompts for a man page, and displays
+it in a buffer named @samp{*WoMan @var{section} @var{topic}}.
+
+ @kbd{M-x woman} computes the completion list for manpages the first
+time you invoke the command. With a numeric argument, it recomputes
+this list; this is useful if you add or delete manual pages.
If you type a name of a manual page and @kbd{M-x woman} finds that
several manual pages by the same name exist in different sections, it
@@ -1220,48 +1170,51 @@ pops up a window with possible candidates asking you to choose one of
them.
For more information about setting up and using @kbd{M-x woman}, see
-@ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The WoMan
-Manual}.
+@ifinfo
+@ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The
+WoMan Manual}.
+@end ifinfo
+@ifnotinfo
+the WoMan Info manual, which is distributed with Emacs.
+@end ifnotinfo
@node Lisp Doc
@subsection Emacs Lisp Documentation Lookup
- As you edit Lisp code to be run in Emacs, you can use the commands
-@kbd{C-h f} (@code{describe-function}) and @kbd{C-h v}
-(@code{describe-variable}) to view documentation of functions and
-variables that you want to use. These commands use the minibuffer to
-read the name of a function or variable to document, and display the
-documentation in a window. Their default arguments are based on the
-code in the neighborhood of point. For @kbd{C-h f}, the default is
-the function called in the innermost list containing point. @kbd{C-h
-v} uses the symbol name around or adjacent to point as its default.
+ When editing Emacs Lisp code, you can use the commands @kbd{C-h f}
+(@code{describe-function}) and @kbd{C-h v} (@code{describe-variable})
+to view the built-in documentation for the Lisp functions and
+variables that you want to use. @xref{Name Help}.
@cindex Eldoc mode
@findex eldoc-mode
- A more automatic but less powerful method is Eldoc mode. This minor
-mode constantly displays in the echo area the argument list for the
-function being called at point. (In other words, it finds the
-function call that point is contained in, and displays the argument
-list of that function.) If point is over a documented variable, it
-shows the first line of the variable's docstring. Eldoc mode applies
-in Emacs Lisp and Lisp Interaction modes, and perhaps a few others
-that provide special support for looking up doc strings. Use the
-command @kbd{M-x eldoc-mode} to enable or disable this feature.
+ Eldoc is a buffer-local minor mode that helps with looking up Lisp
+documention. When it is enabled, the echo area displays some useful
+information whenever there is a Lisp function or variable at point;
+for a function, it shows the argument list, and for a variable it
+shows the first line of the variable's documentation string. To
+toggle Eldoc mode, type @kbd{M-x eldoc-mode}. Eldoc mode can be used
+with the Emacs Lisp and Lisp Interaction major modes.
@node Hideshow
@section Hideshow minor mode
+@cindex Hideshow mode
+@cindex mode, Hideshow
@findex hs-minor-mode
- Hideshow minor mode provides selective display of portions of a
-program, known as @dfn{blocks}. You can use @kbd{M-x hs-minor-mode}
-to enable or disable this mode, or add @code{hs-minor-mode} to the
-mode hook for certain major modes in order to enable it automatically
-for those modes.
+ Hideshow mode is a buffer-local minor mode that allows you to
+selectively display portions of a program, which are referred to as
+@dfn{blocks}. Type @kbd{M-x hs-minor-mode} to toggle this minor mode
+(@pxref{Minor Modes}).
- Just what constitutes a block depends on the major mode. In C mode
-or C++ mode, they are delimited by braces, while in Lisp mode and
-similar modes they are delimited by parentheses. Multi-line comments
-also count as blocks.
+ When you use Hideshow mode to hide a block, the block disappears
+from the screen, to be replaced by an ellipsis (three periods in a
+row). Just what constitutes a block depends on the major mode. In C
+mode and related modes, blocks are delimited by braces, while in Lisp
+mode they are delimited by parentheses. Multi-line comments also
+count as blocks.
+
+ Hideshow mode provides the following commands:
@findex hs-hide-all
@findex hs-hide-block
@@ -1285,11 +1238,11 @@ Show the current block (@code{hs-show-block}).
@item C-c @@ C-c
Either hide or show the current block (@code{hs-toggle-hiding}).
@item S-Mouse-2
-Either hide or show the block you click on (@code{hs-mouse-toggle-hiding}).
+Toggle hiding for the block you click on (@code{hs-mouse-toggle-hiding}).
@item C-c @@ C-M-h
Hide all top-level blocks (@code{hs-hide-all}).
@item C-c @@ C-M-s
-Show everything in the buffer (@code{hs-show-all}).
+Show all blocks in the buffer (@code{hs-show-all}).
@item C-c @@ C-l
Hide all blocks @var{n} levels below this block
(@code{hs-hide-level}).
@@ -1298,80 +1251,55 @@ Hide all blocks @var{n} levels below this block
@vindex hs-hide-comments-when-hiding-all
@vindex hs-isearch-open
@vindex hs-special-modes-alist
- These variables exist for customizing Hideshow mode.
+ These variables can be used to customize Hideshow mode:
@table @code
@item hs-hide-comments-when-hiding-all
-Non-@code{nil} says that @kbd{hs-hide-all} should hide comments too.
+If non-@code{nil}, @kbd{C-c @@ C-M-h} (@code{hs-hide-all}) hides
+comments too.
@item hs-isearch-open
-Specifies what kind of hidden blocks incremental search should make
-visible. The value should be one of these four symbols:
-
-@table @code
-@item code
-Open only code blocks.
-@item comment
-Open only comments.
-@item t
-Open both code blocks and comments.
-@item nil
-Open neither code blocks nor comments.
-@end table
-
-@item hs-special-modes-alist
-A list of elements, each specifying how to initialize Hideshow
-variables for one major mode. See the variable's documentation string
-for more information.
+This variable specifies the conditions under which incremental search
+should unhide a hidden block when matching text occurs within the
+block. Its value should be either @code{code} (unhide only code
+blocks), @code{comment} (unhide only comments), @code{t} (unhide both
+code blocks and comments), or @code{nil} (unhide neither code blocks
+nor comments). The default value is @code{code}.
@end table
@node Symbol Completion
@section Completion for Symbol Names
@cindex completion (symbol names)
- In Emacs, completion is something you normally do in the minibuffer
-(@pxref{Completion}). But one kind of completion is available in all
-buffers: completion for symbol names.
+ Completion is normally done in the minibuffer (@pxref{Completion}),
+but you can also complete symbol names in ordinary Emacs buffers.
@kindex M-TAB
- The character @kbd{M-@key{TAB}} runs a command to complete the
-partial symbol before point against the set of meaningful symbol
-names. This command inserts at point any additional characters that
-it can determine from the partial name.
-
- If your window manager defines @kbd{M-@key{TAB}} to switch windows,
-you can type @kbd{@key{ESC} @key{TAB}} or @kbd{C-M-i} instead.
-However, most window managers let you customize these shortcuts, so
-you can change any that interfere with the way you use Emacs.
-
- If the partial name in the buffer has multiple possible completions
-that differ in the very next character, so that it is impossible to
-complete even one more character, @kbd{M-@key{TAB}} displays a list of
-all possible completions in another window.
+@kindex C-M-i
+ In programming language modes, type @kbd{C-M-i} or @kbd{M-@key{TAB}}
+to complete the partial symbol before point. On graphical displays,
+the @kbd{M-@key{TAB}} key is usually reserved by the window manager
+for switching graphical windows, so you should type @kbd{C-M-i} or
+@kbd{@key{ESC} @key{TAB}} instead.
@cindex tags-based completion
-@cindex Info index completion
-@findex complete-symbol
- In most programming language major modes, @kbd{M-@key{TAB}} runs the
-command @code{complete-symbol}, which provides two kinds of completion.
-Normally it does completion based on a tags table (@pxref{Tags}); with a
-numeric argument (regardless of the value), it does completion based on
-the names listed in the Info file indexes for your language. Thus, to
-complete the name of a symbol defined in your own program, use
-@kbd{M-@key{TAB}} with no argument; to complete the name of a standard
-library function, use @kbd{C-u M-@key{TAB}}. Of course, Info-based
-completion works only if there is an Info file for the standard library
-functions of your language, and only if it is installed at your site.
+ In-buffer symbol completion generates its completion list in a
+number of different ways. If Semantic mode is enabled, Emacs tries to
+use the Semantic parser data for completion (@pxref{Semantic}). If
+Semantic mode is not enabled or it fails at performing completion,
+Emacs normally tries to complete using a tags table (@pxref{Tags}).
@cindex Lisp symbol completion
@cindex completion (Lisp symbols)
-@findex lisp-complete-symbol
- In Emacs-Lisp mode, the name space for completion normally consists of
-nontrivial symbols present in Emacs---those that have function
-definitions, values or properties. However, if there is an
-open-parenthesis immediately before the beginning of the partial symbol,
-only symbols with function definitions are considered as completions.
-The command which implements this is @code{lisp-complete-symbol}.
+ In Emacs Lisp mode, completion is performed using the function,
+variable, and property names defined in the current Emacs session. If
+there is an open parenthesis immediately before the beginning of the
+partial symbol, only symbols with function definitions are considered.
+
+ In all other respects, in-buffer symbol completion behaves like
+minibuffer completion. For instance, if Emacs cannot complete to a
+unique symbol, it displays a list of completion alternatives in
+another window. @xref{Completion}.
In Text mode and related modes, @kbd{M-@key{TAB}} completes words
based on the spell-checker's dictionary. @xref{Spelling}.
@@ -1379,20 +1307,20 @@ based on the spell-checker's dictionary. @xref{Spelling}.
@node Glasses
@section Glasses minor mode
@cindex Glasses mode
-@cindex identifiers, making long ones readable
-@cindex StudlyCaps, making them readable
-@findex glasses-mode
-
- Glasses minor mode makes @samp{unreadableIdentifiersLikeThis}
-readable by altering the way they display. It knows two different
-ways to do this: by displaying underscores between a lower-case letter
-and the following capital letter, and by emboldening the capital
-letters. It does not alter the buffer text, only the way they
-display, so you can use it even on read-only buffers. You can use the
-command @kbd{M-x glasses-mode} to enable or disable the mode in the
-current buffer; you can also add @code{glasses-mode} to the mode hook
-of the programming language major modes in which you normally want
-to use Glasses mode.
+@cindex camel case
+@findex mode, Glasses
+
+ Glasses mode is a buffer-local minor mode that makes it easier to
+read mixed-case (or ``CamelCase'') symbols like
+@samp{unReadableSymbol}, by altering how they are displayed. By
+default, it displays extra underscores between each lower-case letter
+and the following capital letter. This does not alter the buffer
+text, only how it is displayed.
+
+ To toggle Glasses mode, type @kbd{M-x glasses-mode} (@pxref{Minor
+Modes}). When Glasses mode is enabled, the minor mode indicator
+@samp{o^o} appears in the mode line. For more information about
+Glasses mode, type @kbd{C-h P glasses @key{RET}}.
@node Semantic
@section Semantic
@@ -1400,23 +1328,24 @@ to use Glasses mode.
Semantic is a package that provides language-aware editing commands
based on @code{source code parsers}. This section provides a brief
-description of Semantic;
+description of Semantic; for full details,
@ifnottex
-for full details, see @ref{Top, Semantic,, semantic, Semantic}.
+see @ref{Top, Semantic,, semantic, Semantic}.
@end ifnottex
@iftex
-for full details, type @kbd{C-h i} (@code{info}) and then select the
-Semantic manual.
+see the Semantic Info manual, which is distributed with Emacs.
@end iftex
- Most of the ``language aware'' features in Emacs, such as font lock
-(@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular
+ Most of the ``language aware'' features in Emacs, such as Font Lock
+mode (@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular
expressions and syntax tables.} that usually give good results but are
never completely exact. In contrast, the parsers used by Semantic
have an exact understanding of programming language syntax. This
allows Semantic to provide search, navigation, and completion commands
that are powerful and precise.
+@cindex Semantic mode
+@cindex mode, Semantic
To begin using Semantic, type @kbd{M-x semantic-mode} or click on
the menu item named @samp{Source Code Parsers (Semantic)} in the
@samp{Tools} menu. This enables Semantic mode, a global minor mode.
@@ -1464,30 +1393,30 @@ is idle.
@node Misc for Programs
@section Other Features Useful for Editing Programs
- A number of Emacs commands that aren't designed specifically for
-editing programs are useful for that nonetheless.
+ Some Emacs commands that aren't designed specifically for editing
+programs are useful for that nonetheless.
The Emacs commands that operate on words, sentences and paragraphs
are useful for editing code. Most symbols names contain words
-(@pxref{Words}); sentences can be found in strings and comments
-(@pxref{Sentences}). Paragraphs in the strict sense can be found in
-program code (in long comments), but the paragraph commands are useful
-in other places too, because programming language major modes define
-paragraphs to begin and end at blank lines (@pxref{Paragraphs}).
-Judicious use of blank lines to make the program clearer will also
-provide useful chunks of text for the paragraph commands to work on.
-Auto Fill mode, if enabled in a programming language major mode,
-indents the new lines which it creates.
-
- The selective display feature is useful for looking at the overall
-structure of a function (@pxref{Selective Display}). This feature
-hides the lines that are indented more than a specified amount.
-Programming modes often support Outline minor mode (@pxref{Outline
-Mode}). The Foldout package provides folding-editor features
-(@pxref{Foldout}).
-
+(@pxref{Words}), while sentences can be found in strings and comments
+(@pxref{Sentences}). As for paragraphs, they are defined in most
+programming language modes to begin and end at blank lines
+(@pxref{Paragraphs}). Therefore, judicious use of blank lines to make
+the program clearer will also provide useful chunks of text for the
+paragraph commands to work on. Auto Fill mode, if enabled in a
+programming language major mode, indents the new lines which it
+creates.
+
+ Apart from Hideshow mode (@pxref{Hideshow}), another way to
+selectively display parts of a program is to use the selective display
+feature (@pxref{Selective Display}). Programming modes often also
+support Outline minor mode (@pxref{Outline Mode}), which can be used
+with the Foldout package (@pxref{Foldout}).
+
+@ifinfo
The ``automatic typing'' features may be useful for writing programs.
@xref{Top,,Autotyping, autotype, Autotyping}.
+@end ifinfo
@node C Modes
@section C and Related Modes
@@ -1509,9 +1438,14 @@ Mode}). The Foldout package provides folding-editor features
This section gives a brief description of the special features
available in C, C++, Objective-C, Java, CORBA IDL, Pike and AWK modes.
-(These are called ``C mode and related modes.'') @xref{Top, , CC Mode,
-ccmode, CC Mode}, for a more extensive description of these modes
-and their special features.
+(These are called ``C mode and related modes.'')
+@ifinfo
+@xref{Top,, CC Mode, ccmode, CC Mode}, for more details.
+@end ifinfo
+@ifnotinfo
+For more details, see the CC mode Info manual, which is distributed
+with Emacs.
+@end ifnotinfo
@menu
* Motion in C:: Commands to move by C statements, etc.
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 71c23655608..d05af468fa1 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -571,6 +571,22 @@ the file name to use, or more generally it may be any Lisp expression
that returns a file name as a string. @code{rmail-output-file-alist}
applies to both @kbd{o} and @kbd{C-o}.
+@vindex rmail-automatic-folder-directives
+Rmail can automatically save messages from your primary Rmail file
+(the one that @code{rmail-file-name} specifies) to other files, based
+on the value of the variable @code{rmail-automatic-folder-directives}.
+This variable is a list of elements (@samp{directives}) that say which
+messages to save where. Each directive is a list consisting of an
+output file, followed by one or more pairs of a header name and a regular
+expression. If a message has a header matching the specified regular
+expression, that message is saved to the given file. If the directive
+has more than one header entry, all must match. Rmail checks directives
+when it shows a message from the file @code{rmail-file-name}, and
+applies the first that matches (if any). If the output file is
+@code{nil}, the message is deleted, not saved. For example, you can use
+this feature to save messages from a particular address, or with a
+particular subject, to a dedicated file.
+
@node Rmail Labels
@section Labels
@cindex label (Rmail)
@@ -1324,17 +1340,18 @@ included in GNU mailutils (the ``mailutils version,''
command line syntax and the same basic subset of options. However, the
Mailutils version offers additional features.
- The Emacs version of @code{movemail} is able to retrieve mail from the
-usual UNIX mailbox formats and from remote mailboxes using the POP3
-protocol.
+ The Emacs version of @code{movemail} is able to retrieve mail from
+the usual Unix mailbox formats and from remote mailboxes using the
+POP3 protocol.
The Mailutils version is able to handle a wide set of mailbox
-formats, such as plain UNIX mailboxes, @code{maildir} and @code{MH}
-mailboxes, etc. It is able to access remote mailboxes using the POP3 or
-IMAP4 protocol, and can retrieve mail from them using a TLS encrypted
-channel. It also accepts mailbox arguments in @acronym{URL} form.
-The detailed description of mailbox @acronym{URL}s can be found in
-@ref{URL,,,mailutils,Mailbox URL Formats}. In short, a @acronym{URL} is:
+formats, such as plain Unix mailboxes, @code{maildir} and @code{MH}
+mailboxes, etc. It is able to access remote mailboxes using the POP3
+or IMAP4 protocol, and can retrieve mail from them using a TLS
+encrypted channel. It also accepts mailbox arguments in @acronym{URL}
+form. The detailed description of mailbox @acronym{URL}s can be found
+in @ref{URL,,,mailutils,Mailbox URL Formats}. In short, a
+@acronym{URL} is:
@smallexample
@var{proto}://[@var{user}[:@var{password}]@@]@var{host-or-file-name}
@@ -1365,9 +1382,9 @@ local mailbox.
@table @code
@item mbox
-Usual UNIX mailbox format. In this case, neither @var{user} nor
-@var{pass} are used, and @var{host-or-file-name} denotes the file name of
-the mailbox file, e.g., @code{mbox://var/spool/mail/smith}.
+Usual Unix mailbox format. In this case, neither @var{user} nor
+@var{pass} are used, and @var{host-or-file-name} denotes the file name
+of the mailbox file, e.g., @code{mbox://var/spool/mail/smith}.
@item mh
A local mailbox in the @acronym{MH} format. @var{User} and
@@ -1508,7 +1525,7 @@ use it, add the @samp{--tls} flag to @code{rmail-movemail-flags}.
@section Retrieving Mail from Local Mailboxes in Various Formats
If your incoming mail is stored on a local machine in a format other
-than UNIX mailbox, you will need the Mailutils @code{movemail} to
+than Unix mailbox, you will need the Mailutils @code{movemail} to
retrieve it. @xref{Movemail}, for the detailed description of
@code{movemail} versions. For example, to access mail from a inbox in
@code{maildir} format located in @file{/var/spool/mail/in}, you would
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 562ce92d427..c27a2c2936d 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -32,10 +32,14 @@ structure.
@findex nxml-mode
Emacs has other major modes for text which contains ``embedded''
commands, such as @TeX{} and La@TeX{} (@pxref{TeX Mode}); HTML and
-SGML (@pxref{HTML Mode}); XML (@pxref{Top, nXML Mode,,nxml-mode, nXML
-Mode}); and Groff and Nroff (@pxref{Nroff Mode}). In addition, you
-can edit formatted text in WYSIWYG style (``what you see is what you
-get''), using Enriched mode (@pxref{Formatted Text}).
+SGML (@pxref{HTML Mode}); XML
+@ifinfo
+(@pxref{Top,The nXML Mode Manual,,nxml-mode, nXML Mode});
+@end ifinfo
+@ifnotinfo
+(see the nXML mode Info manual, which is distributed with Emacs);
+@end ifnotinfo
+and Groff and Nroff (@pxref{Nroff Mode}).
@cindex ASCII art
If you need to edit pictures made out of text characters (commonly
@@ -48,13 +52,14 @@ for editing such pictures.
@xref{Picture Mode}.
@end ifnottex
-
+@ifinfo
@cindex skeletons
@cindex templates
@cindex autotyping
@cindex automatic typing
The ``automatic typing'' features may be useful when writing text.
-@inforef{Top,, autotype}.
+@inforef{Top,The Autotype Manual,autotype}.
+@end ifinfo
@menu
* Words:: Moving over and killing words.
@@ -68,8 +73,8 @@ for editing such pictures.
* TeX Mode:: Editing input to the formatter TeX.
* HTML Mode:: Editing HTML and SGML files.
* Nroff Mode:: Editing input to the formatter nroff.
-* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
-* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
+* Enriched Text:: Editing text ``enriched'' with fonts, colors, etc.
+* Text Based Tables:: Commands for editing text-based tables.
* Two-Column:: Splitting text columns into separate windows.
@end menu
@@ -78,8 +83,8 @@ for editing such pictures.
@cindex words
@cindex Meta commands and words
- Emacs has commands for moving over or operating on words. By convention,
-the keys for them are all Meta characters.
+ Emacs defines several commands for moving over or operating on
+words:
@table @kbd
@item M-f
@@ -157,13 +162,17 @@ the syntax table. Any character can, for example, be declared to be a
word delimiter. @xref{Syntax Tables,, Syntax Tables, elisp, The Emacs
Lisp Reference Manual}.
+ In addition, see @ref{Position Info} for the @kbd{M-=}
+(@code{count-words-region}) and @kbd{M-x count-words} commands, which
+count and report the number of words in the region or buffer.
+
@node Sentences
@section Sentences
@cindex sentences
@cindex manipulating sentences
- The Emacs commands for manipulating sentences and paragraphs are mostly
-on Meta keys, so as to be like the word-handling commands.
+ The Emacs commands for manipulating sentences and paragraphs are
+mostly on Meta keys, like the word-handling commands.
@table @kbd
@item M-a
@@ -180,12 +189,12 @@ Kill back to the beginning of the sentence (@code{backward-kill-sentence}).
@kindex M-e
@findex backward-sentence
@findex forward-sentence
- The commands @kbd{M-a} and @kbd{M-e} (@code{backward-sentence} and
-@code{forward-sentence}) move to the beginning and end of the current
-sentence, respectively. They were chosen to resemble @kbd{C-a} and
-@kbd{C-e}, which move to the beginning and end of a line. Unlike
-them, @kbd{M-a} and @kbd{M-e} move over successive sentences if
-repeated.
+ The commands @kbd{M-a} (@code{backward-sentence}) and @kbd{M-e}
+(@code{forward-sentence}) move to the beginning and end of the current
+sentence, respectively. Their bindings were chosen to resemble
+@kbd{C-a} and @kbd{C-e}, which move to the beginning and end of a
+line. Unlike them, @kbd{M-a} and @kbd{M-e} move over successive
+sentences if repeated.
Moving backward over a sentence places point just before the first
character of the sentence; moving forward places point right after the
@@ -207,15 +216,14 @@ it kills back to the beginning of the @var{n}th preceding sentence.
to the beginning of a sentence.
The sentence commands assume that you follow the American typist's
-convention of putting two spaces at the end of a sentence; they consider
-a sentence to end wherever there is a @samp{.}, @samp{?} or @samp{!}
+convention of putting two spaces at the end of a sentence. That is, a
+sentence ends wherever there is a @samp{.}, @samp{?} or @samp{!}
followed by the end of a line or two spaces, with any number of
-@samp{)}, @samp{]}, @samp{'}, or @samp{"} characters allowed in between.
-A sentence also begins or ends wherever a paragraph begins or ends.
-It is useful to follow this convention, because it makes a distinction
-between periods that end a sentence and periods that indicate
-abbreviations; that enables the Emacs sentence commands to distinguish,
-too. These commands do not stop for periods that indicate abbreviations.
+@samp{)}, @samp{]}, @samp{'}, or @samp{"} characters allowed in
+between. A sentence also begins or ends wherever a paragraph begins
+or ends. It is useful to follow this convention, because it allows
+the Emacs sentence commands to distinguish between periods that end a
+sentence and periods that indicate abbreviations.
@vindex sentence-end-double-space
If you want to use just one space between sentences, you can set the
@@ -225,7 +233,7 @@ drawback: there is no way to distinguish between periods that end
sentences and those that indicate abbreviations. For convenient and
reliable editing, we therefore recommend you follow the two-space
convention. The variable @code{sentence-end-double-space} also
-affects filling (@pxref{Fill Commands}) in related ways.
+affects filling (@pxref{Fill Commands}).
@vindex sentence-end
The variable @code{sentence-end} controls how to recognize the end
@@ -237,19 +245,14 @@ Emacs computes sentence ends according to various criteria such as the
value of @code{sentence-end-double-space}.
@vindex sentence-end-without-period
- Some languages do not use periods to indicate the end of a sentence.
-For example, sentences in Thai end with a double space but without a
-period. Set the variable @code{sentence-end-without-period} to
+ Some languages, such as Thai, do not use periods to indicate the end
+of a sentence. Set the variable @code{sentence-end-without-period} to
@code{t} in such cases.
@node Paragraphs
@section Paragraphs
@cindex paragraphs
@cindex manipulating paragraphs
-@kindex M-@{
-@kindex M-@}
-@findex backward-paragraph
-@findex forward-paragraph
The Emacs commands for manipulating paragraphs are also on Meta keys.
@@ -262,23 +265,15 @@ Move forward to next paragraph end (@code{forward-paragraph}).
Put point and mark around this or next paragraph (@code{mark-paragraph}).
@end table
- @kbd{M-@{} moves to the beginning of the current or previous
-paragraph, while @kbd{M-@}} moves to the end of the current or next
-paragraph. Blank lines and text-formatter command lines separate
-paragraphs and are not considered part of any paragraph. If there is
-a blank line before the paragraph, @kbd{M-@{} moves to the blank line,
-because that is convenient in practice.
-
- In Text mode, an indented line is not a paragraph break. If you
-want indented lines to have this effect, use Paragraph-Indent Text
-mode instead. @xref{Text Mode}.
-
- In major modes for programs, paragraphs begin and end only at blank
-lines. This makes the paragraph commands useful, even though there
-are no paragraphs as such in a program.
-
- When you have set a fill prefix, then paragraphs are delimited by
-all lines which don't start with the fill prefix. @xref{Filling}.
+@kindex M-@{
+@kindex M-@}
+@findex backward-paragraph
+@findex forward-paragraph
+ @kbd{M-@{} (@code{backward-paragraph}) moves to the beginning of the
+current or previous paragraph (see below for the definition of a
+paragraph). @kbd{M-@}} (@code{forward-paragraph}) moves to the end of
+the current or next paragraph. If there is a blank line before the
+paragraph, @kbd{M-@{} moves to the blank line.
@kindex M-h
@findex mark-paragraph
@@ -287,46 +282,57 @@ all lines which don't start with the fill prefix. @xref{Filling}.
@kbd{M-h C-w} kills the paragraph around or after point. @kbd{M-h}
puts point at the beginning and mark at the end of the paragraph point
was in. If point is between paragraphs (in a run of blank lines, or
-at a boundary), the paragraph following point is surrounded by point
-and mark. If there are blank lines preceding the first line of the
-paragraph, one of these blank lines is included in the region. If the
-region is already active, the command sets the mark without changing
-point; furthermore, each subsequent @kbd{M-h} further advances the
+at a boundary), @kbd{M-h} sets the region around the paragraph
+following point. If there are blank lines preceding the first line of
+the paragraph, one of these blank lines is included in the region. If
+the region is already active, the command sets the mark without
+changing point, and each subsequent @kbd{M-h} further advances the
mark by one paragraph.
+ The definition of a paragraph depends on the major mode. In
+Fundamental mode, as well as Text mode and related modes, a paragraph
+is separated each neighboring paragraph another by one or more
+@dfn{blank lines}---lines that are either empty, or consist solely of
+space, tab and/or formfeed characters. In programming language modes,
+paragraphs are usually defined in a similar way, so that you can use
+the paragraph commands even though there are no paragraphs as such in
+a program.
+
+ Note that an indented line is @emph{not} itself a paragraph break in
+Text mode. If you want indented lines to separate paragraphs, use
+Paragraph-Indent Text mode instead. @xref{Text Mode}.
+
+ If you set a fill prefix, then paragraphs are delimited by all lines
+which don't start with the fill prefix. @xref{Filling}.
+
@vindex paragraph-start
@vindex paragraph-separate
The precise definition of a paragraph boundary is controlled by the
variables @code{paragraph-separate} and @code{paragraph-start}. The
-value of @code{paragraph-start} is a regexp that should match any line
-that either starts or separates paragraphs. The value of
-@code{paragraph-separate} is another regexp that should match only lines
-that separate paragraphs without being part of any paragraph (for
-example, blank lines). Lines that start a new paragraph and are
-contained in it must match only @code{paragraph-start}, not
-@code{paragraph-separate}. Each regular expression must match at the
-left margin. For example, in Fundamental mode, @code{paragraph-start}
-is @w{@code{"\f\\|[ \t]*$"}}, and @code{paragraph-separate} is
-@w{@code{"[ \t\f]*$"}}.
-
- Normally it is desirable for page boundaries to separate paragraphs.
-The default values of these variables recognize the usual separator for
-pages.
+value of @code{paragraph-start} is a regular expression that should
+match lines that either start or separate paragraphs
+(@pxref{Regexps}). The value of @code{paragraph-separate} is another
+regular expression that should match lines that separate paragraphs
+without being part of any paragraph (for example, blank lines). Lines
+that start a new paragraph and are contained in it must match only
+@code{paragraph-start}, not @code{paragraph-separate}. For example,
+in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[
+\t]*$"}}, and @code{paragraph-separate} is @w{@code{"[ \t\f]*$"}}.
@node Pages
@section Pages
@cindex pages
@cindex formfeed character
- Within some text files, text is divided into @dfn{pages}, which are
-delimited by the @dfn{formfeed character} (@acronym{ASCII} code 12,
-sometimes denoted as @key{control-L}). When you print hardcopy for a
-file, the formfeed character forces a page break: each page of the
-file goes on a separate page on paper. Most Emacs commands treat the
-formfeed character just like any other character: you can insert it
-with @kbd{C-q C-l}, and delete it with @key{DEL}. However, since
-pages are often meaningful divisions of the file, Emacs provides
-commands to move over them and operate on them.
+ Within some text files, text is divided into @dfn{pages} delimited
+by the @dfn{formfeed character} (@acronym{ASCII} code 12, also denoted
+as @key{control-L}), which is displayed in Emacs as the escape
+sequence @samp{^L} (@pxref{Text Display}). Traditionally, when such
+text files are printed to hardcopy, each formfeed character forces a
+page break. Most Emacs commands treat it just like any other
+character, so you can insert it with @kbd{C-q C-l}, delete it with
+@key{DEL}, etc. In addition, Emacs provides commands to move over
+pages and operate on them.
@table @kbd
@item M-x what-page
@@ -358,9 +364,9 @@ command moves forward past the next page delimiter.
@kindex C-x C-p
@findex mark-page
The @kbd{C-x C-p} command (@code{mark-page}) puts point at the
-beginning of the current page and the mark at the end. The page
-delimiter at the end is included (the mark follows it). The page
-delimiter at the front is excluded (point follows it).
+beginning of the current page (after that page delimiter at the
+front), and the mark at the end of the page (after the page delimiter
+at the end).
@kbd{C-x C-p C-w} is a handy way to kill a page to move it
elsewhere. If you move to another page delimiter with @kbd{C-x [} and
@@ -402,9 +408,7 @@ beginning of a line.
specified width. Emacs does filling in two ways. In Auto Fill mode,
inserting text with self-inserting characters also automatically fills
it. There are also explicit fill commands that you can use when editing
-text leaves it unfilled. When you edit formatted text, you can specify
-a style of filling for each portion of the text (@pxref{Formatted
-Text}).
+text leaves it unfilled.
@menu
* Auto Fill:: Auto Fill mode breaks long lines automatically.
@@ -418,9 +422,9 @@ Text}).
@cindex Auto Fill mode
@cindex mode, Auto Fill
- @dfn{Auto Fill} mode is a minor mode in which lines are broken
-automatically when they become too wide. Breaking happens only when
-you type a @key{SPC} or @key{RET}.
+ @dfn{Auto Fill} mode is a buffer-local minor mode (@pxref{Minor
+Modes}) in which lines are broken automatically when they become too
+wide. Breaking happens only when you type a @key{SPC} or @key{RET}.
@table @kbd
@item M-x auto-fill-mode
@@ -431,45 +435,43 @@ In Auto Fill mode, break lines when appropriate.
@end table
@findex auto-fill-mode
- @kbd{M-x auto-fill-mode} turns Auto Fill mode on if it was off, or off
-if it was on. With a positive numeric argument it always turns Auto
-Fill mode on, and with a negative argument always turns it off. You can
-see when Auto Fill mode is in effect by the presence of the word
-@samp{Fill} in the mode line, inside the parentheses. Auto Fill mode is
-a minor mode which is enabled or disabled for each buffer individually.
-@xref{Minor Modes}.
-
- In Auto Fill mode, lines are broken automatically at spaces when they
-get longer than the desired width. Line breaking and rearrangement
-takes place only when you type @key{SPC} or @key{RET}. If you wish to
-insert a space or newline without permitting line-breaking, type
-@kbd{C-q @key{SPC}} or @kbd{C-q C-j} (recall that a newline is really a
-control-J). Also, @kbd{C-o} inserts a newline without line breaking.
-
- Auto Fill mode works well with programming-language modes, because it
-indents new lines with @key{TAB}. If a line ending in a comment gets
-too long, the text of the comment is split into two comment lines.
-Optionally, new comment delimiters are inserted at the end of the first
-line and the beginning of the second so that each line is a separate
-comment; the variable @code{comment-multi-line} controls the choice
-(@pxref{Comments}).
-
- Adaptive filling (@pxref{Adaptive Fill}) works for Auto Filling as
-well as for explicit fill commands. It takes a fill prefix
-automatically from the second or first line of a paragraph.
-
- Auto Fill mode does not refill entire paragraphs; it can break lines but
-cannot merge lines. So editing in the middle of a paragraph can result in
-a paragraph that is not correctly filled. The easiest way to make the
-paragraph properly filled again is usually with the explicit fill commands.
+ The mode command @kbd{M-x auto-fill-mode} toggles Auto Fill mode in
+the current buffer. With a positive numeric argument, it enables Auto
+Fill mode, and with a negative argument it disables it. If
+@code{auto-fill-mode} is called from Lisp with an omitted or
+@code{nil} argument, it enables Auto Fill mode. To enable Auto Fill
+mode automatically in certain major modes, add @code{auto-fill-mode}
+to the mode hooks (@pxref{Major Modes}). When Auto Fill mode is
+enabled, the mode indicator @samp{Fill} appears in the mode line
+(@pxref{Mode Line}).
+
+ Auto Fill mode breaks lines automatically at spaces whenever they
+get longer than the desired width. This line breaking occurs only
+when you type @key{SPC} or @key{RET}. If you wish to insert a space
+or newline without permitting line-breaking, type @kbd{C-q @key{SPC}}
+or @kbd{C-q C-j} respectively. Also, @kbd{C-o} inserts a newline
+without line breaking.
+
+ When Auto Fill mode breaks a line, it tries to obey the
+@dfn{adaptive fill prefix}: if a fill prefix can be deduced from the
+first and/or second line of the current paragraph, it is inserted into
+the new line (@pxref{Adaptive Fill}). Otherwise the new line is
+indented, as though you had typed @key{TAB} on it
+(@pxref{Indentation}). In a programming language mode, if a line is
+broken in the middle of a comment, the comment is split by inserting
+new comment delimiters as appropriate.
+
+ Auto Fill mode does not refill entire paragraphs; it breaks lines
+but does not merge lines. Therefore, editing in the middle of a
+paragraph can result in a paragraph that is not correctly filled. To
+fill it, call the explicit fill commands
+@iftex
+described in the next section.
+@end iftex
@ifnottex
-@xref{Fill Commands}.
+(@pxref{Fill Commands}).
@end ifnottex
- Many users like Auto Fill mode and want to use it in all text files.
-The section on init files says how to arrange this permanently for yourself.
-@xref{Init File}.
-
@node Fill Commands
@subsection Explicit Fill Commands
@@ -488,21 +490,23 @@ Center a line.
@kindex M-q
@findex fill-paragraph
- To refill a paragraph, use the command @kbd{M-q}
-(@code{fill-paragraph}). This operates on the paragraph that point is
-inside, or the one after point if point is between paragraphs.
-Refilling works by removing all the line-breaks, then inserting new
-ones where necessary. When there is an active region, this command
-operates on the text within the region like @code{fill-region}.
+ The command @kbd{M-q} (@code{fill-paragraph}) @dfn{fills} the
+current paragraph. It redistributes the line breaks within the
+paragraph, and deletes any excess space and tab characters occurring
+within the paragraph, in such a way that the lines end up fitting
+within a certain maximum width.
@findex fill-region
- To refill many paragraphs, use @kbd{M-x fill-region}, which
-finds the paragraphs in the region and fills each of them.
+ Normally, @kbd{M-q} acts on the paragraph where point is, but if
+point is between paragraphs, it acts on the paragraph after point. If
+the region is active, it acts instead on the text in the region. You
+can also call @kbd{M-x fill-region} to specifically fill the text in
+the region.
@findex fill-region-as-paragraph
- @kbd{M-q} and @code{fill-region} use the same criteria as @kbd{M-h}
-for finding paragraph boundaries (@pxref{Paragraphs}). For more
-control, you can use @kbd{M-x fill-region-as-paragraph}, which refills
+ @kbd{M-q} and @code{fill-region} use the usual Emacs criteria for
+finding paragraph boundaries (@pxref{Paragraphs}). For more control,
+you can use @kbd{M-x fill-region-as-paragraph}, which refills
everything between point and mark as a single paragraph. This command
deletes any blank lines within the region, so separate blocks of text
end up combined into one block.
@@ -512,9 +516,18 @@ end up combined into one block.
as well as filling it. This means that extra spaces are inserted to
make the right margin line up exactly at the fill column. To remove
the extra spaces, use @kbd{M-q} with no argument. (Likewise for
-@code{fill-region}.) Another way to control justification, and choose
-other styles of filling, is with the @code{justification} text
-property; see @ref{Format Justification}.
+@code{fill-region}.)
+
+@vindex fill-column
+@kindex C-x f
+@findex set-fill-column
+ The maximum line width for filling is specified by the buffer-local
+variable @code{fill-column}. The default value (@pxref{Locals}) is
+70. The easiest way to set @code{fill-column} in the current buffer
+is to use the command @kbd{C-x f} (@code{set-fill-column}). With a
+numeric argument, it uses that as the new fill column. With just
+@kbd{C-u} as argument, it sets @code{fill-column} to the current
+horizontal position of point.
@kindex M-o M-s @r{(Text mode)}
@cindex centering
@@ -525,40 +538,27 @@ within the current fill column. With an argument @var{n}, it centers
made by Text mode and is available only in that and related modes
(@pxref{Text Mode}).
-@vindex fill-column
-@kindex C-x f
-@findex set-fill-column
- The maximum line width for filling is in the variable
-@code{fill-column}. Altering the value of @code{fill-column} makes it
-local to the current buffer; until that time, the default value is in
-effect. The default is initially 70. @xref{Locals}. The easiest way
-to set @code{fill-column} is to use the command @kbd{C-x f}
-(@code{set-fill-column}). With a numeric argument, it uses that as the
-new fill column. With just @kbd{C-u} as argument, it sets
-@code{fill-column} to the current horizontal position of point.
-
- Emacs commands normally consider a period followed by two spaces or by
-a newline as the end of a sentence; a period followed by just one space
-indicates an abbreviation and not the end of a sentence. To preserve
-the distinction between these two ways of using a period, the fill
-commands do not break a line after a period followed by just one space.
-
- If the variable @code{sentence-end-double-space} is @code{nil}, the
-fill commands expect and leave just one space at the end of a sentence.
-Ordinarily this variable is @code{t}, so the fill commands insist on
-two spaces for the end of a sentence, as explained above. @xref{Sentences}.
+ By default, Emacs considers a period followed by two spaces or by a
+newline as the end of a sentence; a period followed by just one space
+indicates an abbreviation, not the end of a sentence. Accordingly,
+the fill commands will not break a line after a period followed by
+just one space. If you change the variable
+@code{sentence-end-double-space} to a non-@code{nil} value, the fill
+commands will break a line after a period followed by one space, and
+put just one space after each period. @xref{Sentences}, for other
+effects and possible drawbacks of this.
@vindex colon-double-space
If the variable @code{colon-double-space} is non-@code{nil}, the
fill commands put two spaces after a colon.
@vindex fill-nobreak-predicate
- The variable @code{fill-nobreak-predicate} is a hook (an abnormal
-hook, @pxref{Hooks}) specifying additional conditions where
-line-breaking is not allowed. Each function is called with no
-arguments, with point at a place where Emacs is considering breaking
-the line. If a function returns a non-@code{nil} value, then that's
-a bad place to break the line. Two standard functions you can use are
+ To specify additional conditions where line-breaking is not allowed,
+customize the abnormal hook variable @code{fill-nobreak-predicate}
+(@pxref{Hooks}). Each function in this hook is called with no
+arguments, with point positioned where Emacs is considering breaking a
+line. If a function returns a non-@code{nil} value, Emacs will not
+break the line there. Two functions you can use are
@code{fill-single-word-nobreak-p} (don't break after the first word of
a sentence or before the last) and @code{fill-french-nobreak-p} (don't
break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}).
@@ -567,12 +567,11 @@ break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}).
@subsection The Fill Prefix
@cindex fill prefix
- To fill a paragraph in which each line starts with a special marker
-(which might be a few spaces, giving an indented paragraph), you can use
-the @dfn{fill prefix} feature. The fill prefix is a string that Emacs
-expects every line to start with, and which is not included in filling.
-You can specify a fill prefix explicitly; Emacs can also deduce the
-fill prefix automatically (@pxref{Adaptive Fill}).
+ The @dfn{fill prefix} feature allows paragraphs to be filled so that
+each line starts with a special string of characters (such as a
+sequence of spaces, giving an indented paragraph). You can specify a
+fill prefix explicitly; otherwise, Emacs tries to deduce one
+automatically (@pxref{Adaptive Fill}).
@table @kbd
@item C-x .
@@ -596,15 +595,15 @@ after the @kbd{C-x}.) To turn off the fill prefix, specify an empty
prefix: type @w{@kbd{C-x .}}@: with point at the beginning of a line.
When a fill prefix is in effect, the fill commands remove the fill
-prefix from each line of the paragraph before filling and insert it on
-each line after filling. (The beginning of the first line of the
+prefix from each line of the paragraph before filling, and insert it
+on each line after filling. (The beginning of the first line of the
paragraph is left unchanged, since often that is intentionally
different.) Auto Fill mode also inserts the fill prefix automatically
-when it makes a new line. The @kbd{C-o} command inserts the fill
-prefix on new lines it creates, when you use it at the beginning of a
-line (@pxref{Blank Lines}). Conversely, the command @kbd{M-^} deletes
-the prefix (if it occurs) after the newline that it deletes
-(@pxref{Indentation}).
+when it makes a new line (@pxref{Auto Fill}). The @kbd{C-o} command
+inserts the fill prefix on new lines it creates, when you use it at
+the beginning of a line (@pxref{Blank Lines}). Conversely, the
+command @kbd{M-^} deletes the prefix (if it occurs) after the newline
+that it deletes (@pxref{Indentation}).
For example, if @code{fill-column} is 40 and you set the fill prefix
to @samp{;; }, then @kbd{M-q} in the following text
@@ -657,7 +656,8 @@ per-buffer variable; altering the variable affects only the current buffer,
but there is a default value which you can change as well. @xref{Locals}.
The @code{indentation} text property provides another way to control
-the amount of indentation paragraphs receive. @xref{Format Indentation}.
+the amount of indentation paragraphs receive. @xref{Enriched
+Indentation}.
@node Adaptive Fill
@subsection Adaptive Filling
@@ -754,17 +754,16 @@ Convert region to upper case (@code{upcase-region}).
@findex downcase-word
@findex upcase-word
@findex capitalize-word
- The word conversion commands are the most useful. @kbd{M-l}
-(@code{downcase-word}) converts the word after point to lower case, moving
-past it. Thus, repeating @kbd{M-l} converts successive words.
-@kbd{M-u} (@code{upcase-word}) converts to all capitals instead, while
-@kbd{M-c} (@code{capitalize-word}) puts the first letter of the word
-into upper case and the rest into lower case. All these commands convert
-several words at once if given an argument. They are especially convenient
-for converting a large amount of text from all upper case to mixed case,
-because you can move through the text using @kbd{M-l}, @kbd{M-u} or
-@kbd{M-c} on each word as appropriate, occasionally using @kbd{M-f} instead
-to skip a word.
+ @kbd{M-l} (@code{downcase-word}) converts the word after point to
+lower case, moving past it. Thus, repeating @kbd{M-l} converts
+successive words. @kbd{M-u} (@code{upcase-word}) converts to all
+capitals instead, while @kbd{M-c} (@code{capitalize-word}) puts the
+first letter of the word into upper case and the rest into lower case.
+All these commands convert several words at once if given an argument.
+They are especially convenient for converting a large amount of text
+from all upper case to mixed case, because you can move through the
+text using @kbd{M-l}, @kbd{M-u} or @kbd{M-c} on each word as
+appropriate, occasionally using @kbd{M-f} instead to skip a word.
When given a negative argument, the word case conversion commands apply
to the appropriate number of words before point, but do not move point.
@@ -798,9 +797,10 @@ enable the command, which means it will not ask for confirmation again.
@cindex mode, Text
@findex text-mode
- When you edit files of text in a human language, it's more convenient
-to use Text mode rather than Fundamental mode. To enter Text mode, type
-@kbd{M-x text-mode}.
+ Text mode is a major mode for editing files of text in a human
+language. Files which have names ending in the extension @file{.txt}
+are usually opened in Text mode (@pxref{Choosing Modes}). To
+explicitly switch to Text mode, type @kbd{M-x text-mode}.
In Text mode, only blank lines and page delimiters separate
paragraphs. As a result, paragraphs can be indented, and adaptive
@@ -808,46 +808,49 @@ filling determines what indentation to use when filling a paragraph.
@xref{Adaptive Fill}.
@kindex TAB @r{(Text mode)}
- Text mode defines @key{TAB} to run @code{indent-relative}
-(@pxref{Indentation}), so that you can conveniently indent a line like
-the previous line.
+ In Text mode, the @key{TAB} (@code{indent-for-tab-command}) command
+usually inserts whitespace up to the next tab stop, instead of
+indenting the current line. @xref{Indentation}, for details.
Text mode turns off the features concerned with comments except when
you explicitly invoke them. It changes the syntax table so that
-single-quotes are considered part of words. However, if a word starts
-with single-quotes, these are treated as a prefix for purposes such as
-capitalization. That is, @kbd{M-c} will convert @samp{'hello'} into
-@samp{'Hello'}, as expected.
+single-quotes are considered part of words (e.g.@: @samp{don't} is
+considered one word). However, if a word starts with a single-quote,
+it is treated as a prefix for the purposes of capitalization
+(e.g.@: @kbd{M-c} converts @samp{'hello'} into @samp{'Hello'}, as
+expected).
@cindex Paragraph-Indent Text mode
@cindex mode, Paragraph-Indent Text
@findex paragraph-indent-text-mode
@findex paragraph-indent-minor-mode
If you indent the first lines of paragraphs, then you should use
-Paragraph-Indent Text mode rather than Text mode. In this mode, you
-do not need to have blank lines between paragraphs, because the
-first-line indentation is sufficient to start a paragraph; however
-paragraphs in which every line is indented are not supported. Use
-@kbd{M-x paragraph-indent-text-mode} to enter this mode. Use @kbd{M-x
-paragraph-indent-minor-mode} to enable an equivalent minor mode in
-situations where you can't change the major mode---in mail
+Paragraph-Indent Text mode (@kbd{M-x paragraph-indent-text-mode})
+rather than Text mode. In that mode, you do not need to have blank
+lines between paragraphs, because the first-line indentation is
+sufficient to start a paragraph; however paragraphs in which every
+line is indented are not supported. Use @kbd{M-x
+paragraph-indent-minor-mode} to enable an equivalent minor mode for
+situations where you shouldn't change the major mode---in mail
composition, for instance.
@kindex M-TAB @r{(Text mode)}
- Text mode, and all the modes based on it, define @kbd{M-@key{TAB}}
-as the command @code{ispell-complete-word}, which performs completion
-of the partial word in the buffer before point, using the spelling
-dictionary as the space of possible words. @xref{Spelling}. If your
-window manager defines @kbd{M-@key{TAB}} to switch windows, you can
-type @kbd{@key{ESC} @key{TAB}} or @kbd{C-M-i}.
+ Text mode binds @kbd{M-@key{TAB}} to @code{ispell-complete-word}.
+This command performs completion of the partial word in the buffer
+before point, using the spelling dictionary as the space of possible
+words. @xref{Spelling}. If your window manager defines
+@kbd{M-@key{TAB}} to switch windows, you can type @kbd{@key{ESC}
+@key{TAB}} or @kbd{C-M-i} instead.
@vindex text-mode-hook
- Entering Text mode runs the hook @code{text-mode-hook}. Other major
-modes related to Text mode also run this hook, followed by hooks of
-their own; this includes Paragraph-Indent Text mode, Nroff mode,
-@TeX{} mode, Outline mode, and Message mode. Hook functions on
-@code{text-mode-hook} can look at the value of @code{major-mode} to
-see which of these modes is actually being entered. @xref{Hooks}.
+ Entering Text mode runs the mode hook @code{text-mode-hook}
+(@pxref{Major Modes}).
+
+ The following sections describe several major modes that are
+@dfn{derived} from Text mode. These derivatives share most of the
+features of Text mode described above. In particular, derivatives of
+Text mode run @code{text-mode-hook} prior to running their own mode
+hooks.
@node Outline Mode
@section Outline Mode
@@ -858,29 +861,34 @@ see which of these modes is actually being entered. @xref{Hooks}.
@findex outline-mode
@findex outline-minor-mode
@vindex outline-minor-mode-prefix
- Outline mode is a major mode much like Text mode but intended for
-editing outlines. It allows you to make parts of the text temporarily
-invisible so that you can see the outline structure. Type @kbd{M-x
-outline-mode} to switch to Outline mode as the major mode of the current
-buffer.
-
- When Outline mode makes a line invisible, the line does not appear
-on the screen. The screen appears exactly as if the invisible line
-were deleted, except that an ellipsis (three periods in a row) appears
-at the end of the previous visible line. (Multiple consecutive
-invisible lines produce just one ellipsis.)
+@vindex outline-mode-hook
+ Outline mode is a major mode derived from Text mode, which is
+specialized for editing outlines. It provides commands to navigate
+between entries in the outline structure, and commands to make parts
+of a buffer temporarily invisible, so that the outline structure may
+be more easily viewed. Type @kbd{M-x outline-mode} to switch to
+Outline mode. Entering Outline mode runs the hook
+@code{text-mode-hook} followed by the hook @code{outline-mode-hook}
+(@pxref{Hooks}).
+
+ When you use an Outline mode command to make a line invisible
+(@pxref{Outline Visibility}), the line disappears from the screen. An
+ellipsis (three periods in a row) is displayed at the end of the
+previous visible line, to indicate the hidden text. Multiple
+consecutive invisible lines produce just one ellipsis.
Editing commands that operate on lines, such as @kbd{C-n} and
-@kbd{C-p}, treat the text of the invisible line as part of the previous
-visible line. Killing the ellipsis at the end of a visible line
-really kills all the following invisible lines.
-
- Outline minor mode provides the same commands as the major mode,
-Outline mode, but you can use it in conjunction with other major modes.
-Type @kbd{M-x outline-minor-mode} to enable the Outline minor mode in
-the current buffer. You can also specify this in the text of a file,
-with a file local variable of the form @samp{mode: outline-minor}
-(@pxref{File Variables}).
+@kbd{C-p}, treat the text of the invisible line as part of the
+previous visible line. Killing the ellipsis at the end of a visible
+line really kills all the following invisible text associated with the
+ellipsis.
+
+ Outline minor mode is a buffer-local minor mode which provides the
+same commands as the major mode, Outline mode, but can be used in
+conjunction with other major modes. You can type @kbd{M-x
+outline-minor-mode} to toggle Outline minor mode in the current
+buffer, or use a file-local variable setting to enable it in a
+specific file (@pxref{File Variables}).
@kindex C-c @@ @r{(Outline minor mode)}
The major mode, Outline mode, provides special key bindings on the
@@ -889,17 +897,12 @@ with a file local variable of the form @samp{mode: outline-minor}
major mode's special commands. (The variable
@code{outline-minor-mode-prefix} controls the prefix used.)
-@vindex outline-mode-hook
- Entering Outline mode runs the hook @code{text-mode-hook} followed by
-the hook @code{outline-mode-hook} (@pxref{Hooks}).
-
@menu
-* Format: Outline Format. What the text of an outline looks like.
-* Motion: Outline Motion. Special commands for moving through
- outlines.
-* Visibility: Outline Visibility. Commands to control what is visible.
-* Views: Outline Views. Outlines and multiple views.
-* Foldout:: Folding means zooming in on outlines.
+* Outline Format:: What the text of an outline looks like.
+* Outline Motion:: Special commands for moving through outlines.
+* Outline Visibility:: Commands to control what is visible.
+* Outline Views:: Outlines and multiple views.
+* Foldout:: Folding means zooming in on outlines.
@end menu
@node Outline Format
@@ -909,13 +912,13 @@ the hook @code{outline-mode-hook} (@pxref{Hooks}).
@cindex body lines (Outline mode)
Outline mode assumes that the lines in the buffer are of two types:
@dfn{heading lines} and @dfn{body lines}. A heading line represents a
-topic in the outline. Heading lines start with one or more stars; the
-number of stars determines the depth of the heading in the outline
-structure. Thus, a heading line with one star is a major topic; all the
-heading lines with two stars between it and the next one-star heading
-are its subtopics; and so on. Any line that is not a heading line is a
-body line. Body lines belong with the preceding heading line. Here is
-an example:
+topic in the outline. Heading lines start with one or more asterisk
+(@samp{*}) characters; the number of asterisks determines the depth of
+the heading in the outline structure. Thus, a heading line with one
+@samp{*} is a major topic; all the heading lines with two @samp{*}s
+between it and the next one-@samp{*} heading are its subtopics; and so
+on. Any line that is not a heading line is a body line. Body lines
+belong with the preceding heading line. Here is an example:
@example
* Food
@@ -997,12 +1000,10 @@ Move point up to a lower-level (more inclusive) visible heading line
@findex outline-previous-visible-heading
@kindex C-c C-n @r{(Outline mode)}
@kindex C-c C-p @r{(Outline mode)}
- @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to the next
-heading line. @kbd{C-c C-p} (@code{outline-previous-visible-heading}) moves
-similarly backward. Both accept numeric arguments as repeat counts. The
-names emphasize that invisible headings are skipped, but this is not really
-a special feature. All editing commands that look for lines ignore the
-invisible lines automatically.
+ @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to
+the next heading line. @kbd{C-c C-p}
+(@code{outline-previous-visible-heading}) moves similarly backward.
+Both accept numeric arguments as repeat counts.
@findex outline-up-heading
@findex outline-forward-same-level
@@ -1010,21 +1011,19 @@ invisible lines automatically.
@kindex C-c C-f @r{(Outline mode)}
@kindex C-c C-b @r{(Outline mode)}
@kindex C-c C-u @r{(Outline mode)}
- More powerful motion commands understand the level structure of headings.
-@kbd{C-c C-f} (@code{outline-forward-same-level}) and
+ The commands @kbd{C-c C-f} (@code{outline-forward-same-level}) and
@kbd{C-c C-b} (@code{outline-backward-same-level}) move from one
-heading line to another visible heading at the same depth in
-the outline. @kbd{C-c C-u} (@code{outline-up-heading}) moves
-backward to another heading that is less deeply nested.
+heading line to another visible heading at the same depth in the
+outline. @kbd{C-c C-u} (@code{outline-up-heading}) moves backward to
+another heading that is less deeply nested.
@node Outline Visibility
@subsection Outline Visibility Commands
- The other special commands of outline mode are used to make lines visible
-or invisible. Their names all start with @code{hide} or @code{show}.
-Most of them fall into pairs of opposites. They are not undoable; instead,
-you can undo right past them. Making lines visible or invisible is simply
-not recorded by the undo mechanism.
+ Outline mode provides several commands for temporarily hiding or
+revealing parts of the buffer, based on the outline structure. These
+commands are not undoable; their effects are simply not recorded by
+the undo mechanism, so you can undo right past them (@pxref{Undo}).
Many of these commands act on the ``current'' heading line. If
point is on a heading line, that is the current heading line; if point
@@ -1068,72 +1067,64 @@ the headings leading up from there to the top level of the outline
@findex show-entry
@kindex C-c C-c @r{(Outline mode)}
@kindex C-c C-e @r{(Outline mode)}
- Two commands that are exact opposites are @kbd{C-c C-c}
-(@code{hide-entry}) and @kbd{C-c C-e} (@code{show-entry}). They apply
-to the body lines directly following the current heading line.
-Subheadings and their bodies are not affected.
+ The simplest of these commands are @kbd{C-c C-c}
+(@code{hide-entry}), which hides the body lines directly following the
+current heading line, and @kbd{C-c C-e} (@code{show-entry}), which
+reveals them. Subheadings and their bodies are not affected.
@findex hide-subtree
@findex show-subtree
@kindex C-c C-s @r{(Outline mode)}
@kindex C-c C-d @r{(Outline mode)}
@cindex subtree (Outline mode)
- Two more powerful opposites are @kbd{C-c C-d} (@code{hide-subtree})
-and @kbd{C-c C-s} (@code{show-subtree}). Both apply to the current
-heading line's @dfn{subtree}: its body, all its subheadings, both
-direct and indirect, and all of their bodies. In other words, the
-subtree contains everything following the current heading line, up to
-and not including the next heading of the same or higher rank.
+ The commands @kbd{C-c C-d} (@code{hide-subtree}) and @kbd{C-c C-s}
+(@code{show-subtree}) are more powerful. They apply to the current
+heading line's @dfn{subtree}: its body, all of its subheadings, both
+direct and indirect, and all of their bodies.
@findex hide-leaves
@findex show-branches
+@findex show-children
@kindex C-c C-l @r{(Outline mode)}
@kindex C-c C-k @r{(Outline mode)}
- Intermediate between a visible subtree and an invisible one is having
-all the subheadings visible but none of the body. There are two
-commands for doing this, depending on whether you want to hide the
-bodies or make the subheadings visible. They are @kbd{C-c C-l}
-(@code{hide-leaves}) and @kbd{C-c C-k} (@code{show-branches}).
-
@kindex C-c C-i @r{(Outline mode)}
-@findex show-children
- A little weaker than @code{show-branches} is @kbd{C-c C-i}
-(@code{show-children}). It makes just the direct subheadings
-visible---those one level down. Deeper subheadings remain invisible, if
-they were invisible.
+ The command @kbd{C-c C-l} (@code{hide-leaves}) hides the body of the
+current heading line as well as all the bodies in its subtree; the
+subheadings themselves are left visible. The command @kbd{C-c C-k}
+(@code{show-branches}) reveals the subheadings, if they had previously
+been hidden (e.g.@: by @kbd{C-c C-d}). The command @kbd{C-c C-i}
+(@code{show-children}) is a weaker version of this; it reveals just
+the direct subheadings, i.e.@: those one level down.
+
+@findex hide-other
+@kindex C-c C-o @r{(Outline mode)}
+ The command @kbd{C-c C-o} (@code{hide-other}) hides everything
+except the entry that point is in, plus its parents (the headers
+leading up from there to top level in the outline) and the top level
+headings.
@findex hide-body
@findex show-all
@kindex C-c C-t @r{(Outline mode)}
@kindex C-c C-a @r{(Outline mode)}
- Two commands have a blanket effect on the whole file. @kbd{C-c C-t}
-(@code{hide-body}) makes all body lines invisible, so that you see just
-the outline structure (as a special exception, it will not hide lines
-at the top of the file, preceding the first header line, even though
-these are technically body lines). @kbd{C-c C-a} (@code{show-all})
-makes all lines visible. These commands can be thought of as a pair
-of opposites even though @kbd{C-c C-a} applies to more than just body
-lines.
-
@findex hide-sublevels
@kindex C-c C-q @r{(Outline mode)}
- The command @kbd{C-c C-q} (@code{hide-sublevels}) hides all but the
-top level headings. With a numeric argument @var{n}, it hides everything
-except the top @var{n} levels of heading lines.
-
-@findex hide-other
-@kindex C-c C-o @r{(Outline mode)}
- The command @kbd{C-c C-o} (@code{hide-other}) hides everything except
-the heading and body text that point is in, plus its parents (the headers
-leading up from there to top level in the outline) and the top level
-headings.
+ The remaining commands affect the whole buffer. @kbd{C-c C-t}
+(@code{hide-body}) makes all body lines invisible, so that you see
+just the outline structure (as a special exception, it will not hide
+lines at the top of the file, preceding the first header line, even
+though these are technically body lines). @kbd{C-c C-a}
+(@code{show-all}) makes all lines visible. @kbd{C-c C-q}
+(@code{hide-sublevels}) hides all but the top level headings; with a
+numeric argument @var{n}, it hides everything except the top @var{n}
+levels of heading lines.
@findex reveal-mode
When incremental search finds text that is hidden by Outline mode,
-it makes that part of the buffer visible. If you exit the search
-at that position, the text remains visible. You can also
-automatically make text visible as you navigate in it by using
-@kbd{M-x reveal-mode}.
+it makes that part of the buffer visible. If you exit the search at
+that position, the text remains visible. You can also automatically
+make text visible as you navigate in it by using Reveal mode (@kbd{M-x
+reveal-mode}), a buffer-local minor mode.
@node Outline Views
@subsection Viewing One Outline in Multiple Views
@@ -1253,7 +1244,7 @@ it in order for this to take effect.
To use the Foldout package, you can type @kbd{M-x load-library
@key{RET} foldout @key{RET}}; or you can arrange for to do that
-automatically by putting this in your @file{.emacs} file:
+automatically by putting this in your init file (@pxref{Init File}):
@example
(eval-after-load "outline" '(require 'foldout))
@@ -1300,18 +1291,48 @@ Emacs does not guess right, you can select the correct variant of
@TeX{} mode using the command @kbd{M-x plain-tex-mode}, @kbd{M-x
latex-mode}, @kbd{M-x slitex-mode}, or @kbd{doctex-mode}.
- Emacs also provides Bib@TeX{} mode, a major mode for editing
-Bib@TeX{} files. Bib@TeX{} is a tool for storing and formatting
-bibliographic references, which is commonly used together with
-La@TeX{}. In addition, the Ref@TeX{} package provides a minor mode
-which can be used in conjunction with La@TeX{} mode to manage
-bibliographic references. @inforef{Top,, reftex}.
+ The following sections document the features of @TeX{} mode and its
+variants. There are several other @TeX{}-related Emacs packages,
+which are not documented in this manual:
+
+@itemize @bullet
+@item
+Bib@TeX{} mode is a major mode for Bib@TeX{} files, which are commonly
+used for keeping bibliographic references for La@TeX{} documents. For
+more information, see the documentation string for the command
+@code{bibtex-mode}.
+
+@item
+The Ref@TeX{} package provides a minor mode which can be used with
+La@TeX{} mode to manage bibliographic references.
+@ifinfo
+@xref{Top,The Ref@TeX{} Manual,,reftex}.
+@end ifinfo
+@ifnotinfo
+For more information, see the Ref@TeX{} Info manual, which is
+distributed with Emacs.
+@end ifnotinfo
+
+@item
+The AUC@TeX{} package provides more advanced features for editing
+@TeX{} and its related formats, including the ability to preview
+@TeX{} equations within Emacs buffers. Unlike Bib@TeX{} mode and the
+Ref@TeX{} package, AUC@TeX{} is not distributed with Emacs by default.
+It can be downloaded via the Package Menu (@pxref{Packages}); once
+installed, see
+@ifinfo
+@ref{Top,The AUC@TeX{} Manual,,auctex}.
+@end ifinfo
+@ifnotinfo
+the AUC@TeX{} manual, which is included with the package.
+@end ifnotinfo
+@end itemize
@menu
-* Editing: TeX Editing. Special commands for editing in TeX mode.
-* LaTeX: LaTeX Editing. Additional commands for LaTeX input files.
-* Printing: TeX Print. Commands for printing part of a file with TeX.
-* Misc: TeX Misc. Customization of TeX mode, and related features.
+* TeX Editing:: Special commands for editing in TeX mode.
+* LaTeX Editing:: Additional commands for LaTeX input files.
+* TeX Print:: Commands for printing part of a file with TeX.
+* TeX Misc:: Customization of TeX mode, and related features.
@end menu
@node TeX Editing
@@ -1336,12 +1357,10 @@ Move forward past the next unmatched close brace (@code{up-list}).
@findex tex-insert-quote
@kindex " @r{(@TeX{} mode)}
In @TeX{}, the character @samp{"} is not normally used; instead,
-quotations begin with @samp{``} and end with @samp{''}. For
-convenience, @TeX{} mode overrides the normal meaning of the key
-@kbd{"} with a command that inserts a pair of single-quotes or
-backquotes (@code{tex-insert-quote}). To be precise, it inserts
-@samp{``} after whitespace or an open brace, @samp{"} after a
-backslash, and @samp{''} after any other character.
+quotations begin with @samp{``} and end with @samp{''}. @TeX{} mode
+therefore binds the @kbd{"} key to the @code{tex-insert-quote}
+command. This inserts @samp{``} after whitespace or an open brace,
+@samp{"} after a backslash, and @samp{''} after any other character.
As a special exception, if you type @kbd{"} when the text before
point is either @samp{``} or @samp{''}, Emacs replaces that preceding
@@ -1349,9 +1368,6 @@ text with a single @samp{"} character. You can therefore type
@kbd{""} to insert @samp{"}, should you ever need to do so. (You can
also use @kbd{C-q "} to insert this character.)
- To disable the @kbd{"} expansion feature, eliminate that binding in
-the local map (@pxref{Key Bindings}).
-
In @TeX{} mode, @samp{$} has a special syntax code which attempts to
understand the way @TeX{} math mode delimiters match. When you insert a
@samp{$} that is meant to exit math mode, the position of the matching
@@ -1376,13 +1392,14 @@ text that belongs inside. Afterward, use the command @kbd{C-c @}}
@findex tex-validate-region
@findex tex-terminate-paragraph
@kindex C-j @r{(@TeX{} mode)}
- There are two commands for checking the matching of braces. @kbd{C-j}
-(@code{tex-terminate-paragraph}) checks the paragraph before point, and
-inserts two newlines to start a new paragraph. It outputs a message in
-the echo area if any mismatch is found. @kbd{M-x tex-validate-region}
-checks a region, paragraph by paragraph. The errors are listed in the
-@samp{*Occur*} buffer, and you can use @kbd{C-c C-c} or @kbd{Mouse-2} in
-that buffer to go to a particular mismatch.
+ There are two commands for checking the matching of braces.
+@kbd{C-j} (@code{tex-terminate-paragraph}) checks the paragraph before
+point, and inserts two newlines to start a new paragraph. It outputs
+a message in the echo area if any mismatch is found. @kbd{M-x
+tex-validate-region} checks a region, paragraph by paragraph. The
+errors are listed in an @samp{*Occur*} buffer; you can use the usual
+Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
+particular mismatch (@pxref{Other Repeating Search}).
Note that Emacs commands count square brackets and parentheses in
@TeX{} mode, not just braces. This is not strictly correct for the
@@ -1394,8 +1411,8 @@ to work with them.
@node LaTeX Editing
@subsection La@TeX{} Editing Commands
- La@TeX{} mode (and its obsolete variant, Sli@TeX{} mode) provide a
-few extra features not applicable to plain @TeX{}:
+ La@TeX{} mode provides a few extra features not applicable to plain
+@TeX{}:
@table @kbd
@item C-c C-o
@@ -1408,60 +1425,59 @@ Close the innermost La@TeX{} block not yet closed
@findex tex-latex-block
@kindex C-c C-o @r{(La@TeX{} mode)}
-@vindex latex-block-names
- In La@TeX{} input, @samp{\begin} and @samp{\end} commands are used to
-group blocks of text. To insert a @samp{\begin} and a matching
-@samp{\end} (on a new line following the @samp{\begin}), use @kbd{C-c
-C-o} (@code{tex-latex-block}). A blank line is inserted between the
-two, and point is left there. You can use completion when you enter the
-block type; to specify additional block type names beyond the standard
-list, set the variable @code{latex-block-names}. For example, here's
-how to add @samp{theorem}, @samp{corollary}, and @samp{proof}:
+ In La@TeX{} input, @samp{\begin} and @samp{\end} tags are used to
+group blocks of text. To insert a block, type @kbd{C-c C-o}
+(@code{tex-latex-block}). This prompts for a block type, and inserts
+the appropriate matching @samp{\begin} and @samp{\end} tags, leaving a
+blank line between the two and moving point there.
-@example
-(setq latex-block-names '("theorem" "corollary" "proof"))
-@end example
+@vindex latex-block-names
+ When entering the block type argument to @kbd{C-c C-o}, you can use
+the usual completion commands (@pxref{Completion}). The default
+completion list contains the standard La@TeX{} block types. If you
+want additional block types for completion, customize the list
+variable @code{latex-block-names}.
@findex tex-close-latex-block
@kindex C-c C-e @r{(La@TeX{} mode)}
- In La@TeX{} input, @samp{\begin} and @samp{\end} commands must
-balance. You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to
-insert automatically a matching @samp{\end} to match the last unmatched
-@samp{\begin}. It indents the @samp{\end} to match the corresponding
-@samp{\begin}. It inserts a newline after @samp{\end} if point is at
-the beginning of a line.
+ In La@TeX{} input, @samp{\begin} and @samp{\end} tags must balance.
+You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to insert an
+@samp{\end} tag which matches the last unmatched @samp{\begin}. It
+also indents the @samp{\end} to match the corresponding @samp{\begin},
+and inserts a newline after the @samp{\end} tag if point is at the
+beginning of a line.
@node TeX Print
@subsection @TeX{} Printing Commands
- You can invoke @TeX{} as an inferior of Emacs on either the entire
-contents of the buffer or just a region at a time. Running @TeX{} in
-this way on just one chapter is a good way to see what your changes
-look like without taking the time to format the entire file.
+ You can invoke @TeX{} as an subprocess of Emacs, supplying either
+the entire contents of the buffer or just part of it (e.g.@: one
+chapter of a larger document).
@table @kbd
+@item C-c C-b
+Invoke @TeX{} on the entire current buffer (@code{tex-buffer}).
@item C-c C-r
Invoke @TeX{} on the current region, together with the buffer's header
(@code{tex-region}).
-@item C-c C-b
-Invoke @TeX{} on the entire current buffer (@code{tex-buffer}).
-@item C-c @key{TAB}
-Invoke Bib@TeX{} on the current file (@code{tex-bibtex-file}).
@item C-c C-f
Invoke @TeX{} on the current file (@code{tex-file}).
-@item C-c C-l
-Recenter the window showing output from the inferior @TeX{} so that
-the last line can be seen (@code{tex-recenter-output-buffer}).
-@item C-c C-k
-Kill the @TeX{} subprocess (@code{tex-kill-job}).
-@item C-c C-p
-Print the output from the last @kbd{C-c C-r}, @kbd{C-c C-b}, or @kbd{C-c
-C-f} command (@code{tex-print}).
+
@item C-c C-v
Preview the output from the last @kbd{C-c C-r}, @kbd{C-c C-b}, or @kbd{C-c
C-f} command (@code{tex-view}).
-@item C-c C-q
-Show the printer queue (@code{tex-show-print-queue}).
+
+@item C-c C-p
+Print the output from the last @kbd{C-c C-b}, @kbd{C-c C-r}, or
+@kbd{C-c C-f} command (@code{tex-print}).
+
+@item C-c @key{TAB}
+Invoke Bib@TeX{} on the current file (@code{tex-bibtex-file}).
+@item C-c C-l
+Recenter the window showing output from @TeX{} so that the last line
+can be seen (@code{tex-recenter-output-buffer}).
+@item C-c C-k
+Kill the @TeX{} subprocess (@code{tex-kill-job}).
@item C-c C-c
Invoke some other compilation command on the entire current buffer
(@code{tex-compile}).
@@ -1469,49 +1485,51 @@ Invoke some other compilation command on the entire current buffer
@findex tex-buffer
@kindex C-c C-b @r{(@TeX{} mode)}
-@findex tex-print
-@kindex C-c C-p @r{(@TeX{} mode)}
@findex tex-view
@kindex C-c C-v @r{(@TeX{} mode)}
-@findex tex-show-print-queue
-@kindex C-c C-q @r{(@TeX{} mode)}
- You can pass the current buffer through an inferior @TeX{} by means of
-@kbd{C-c C-b} (@code{tex-buffer}). The formatted output appears in a
-temporary file; to print it, type @kbd{C-c C-p} (@code{tex-print}).
-Afterward, you can use @kbd{C-c C-q} (@code{tex-show-print-queue}) to
-view the progress of your output towards being printed. If your terminal
-has the ability to display @TeX{} output files, you can preview the
-output on the terminal with @kbd{C-c C-v} (@code{tex-view}).
+@findex tex-print
+@kindex C-c C-p @r{(@TeX{} mode)}
+ To pass the current buffer through @TeX{}, type @kbd{C-c C-b}
+(@code{tex-buffer}). The formatted output goes in a temporary file,
+normally a @file{.dvi} file. Afterwards, you can type @kbd{C-c C-v}
+(@code{tex-view}) to launch an external program, such as
+@command{xdvi}, to view this output file. You can also type @kbd{C-c
+C-p} (@code{tex-print}) to print a hardcopy of the output file.
@cindex @env{TEXINPUTS} environment variable
@vindex tex-directory
- You can specify the directory to use for running @TeX{} by setting the
-variable @code{tex-directory}. @code{"."} is the default value. If
-your environment variable @env{TEXINPUTS} contains relative directory
-names, or if your files contains @samp{\input} commands with relative
-file names, then @code{tex-directory} @emph{must} be @code{"."} or you
-will get the wrong results. Otherwise, it is safe to specify some other
-directory, such as @code{"/tmp"}.
+ By default, @kbd{C-c C-b} runs @TeX{} in the current directory. The
+output of @TeX{} also goes in this directory. To run @TeX{} in a
+different directory, change the variable @code{tex-directory} to the
+desired directory name. If your environment variable @env{TEXINPUTS}
+contains relative directory names, or if your files contains
+@samp{\input} commands with relative file names, then
+@code{tex-directory} @emph{must} be @code{"."} or you will get the
+wrong results. Otherwise, it is safe to specify some other directory,
+such as @code{"/tmp"}.
@vindex tex-run-command
@vindex latex-run-command
-@vindex slitex-run-command
-@vindex tex-dvi-print-command
@vindex tex-dvi-view-command
-@vindex tex-show-queue-command
- If you want to specify which shell commands are used in the inferior @TeX{},
-you can do so by setting the values of the variables @code{tex-run-command},
-@code{latex-run-command}, @code{slitex-run-command},
-@code{tex-dvi-print-command}, @code{tex-dvi-view-command}, and
-@code{tex-show-queue-command}. The default values may
-(or may not) be appropriate for your system.
-
- Normally, the file name given to these commands comes at the end of
-the command string; for example, @samp{latex @var{filename}}. In some
-cases, however, the file name needs to be embedded in the command; an
-example is when you need to provide the file name as an argument to one
-command whose output is piped to another. You can specify where to put
-the file name with @samp{*} in the command string. For example,
+@vindex tex-dvi-print-command
+ The buffer's @TeX{} variant determines what shell command @kbd{C-c
+C-b} actually runs. In Plain @TeX{} mode, it is specified by the
+variable @code{tex-run-command}, which defaults to @code{"tex"}. In
+La@TeX{} mode, it is specified by @code{latex-run-command}, which
+defaults to @code{"latex"}. The shell command that @kbd{C-c C-v} runs
+to view the @file{.dvi} output is determined by the variable
+@code{tex-dvi-view-command}, regardless of the @TeX{} variant. The
+shell command that @kbd{C-c C-p} runs to print the output is
+determined by the variable @code{tex-dvi-print-command}.
+
+ Normally, Emacs automatically appends the output file name to the
+shell command strings described in the preceding paragraph. For
+example, if @code{tex-dvi-view-command} is @code{"xdvi"}, @kbd{C-c
+C-v} runs @command{xdvi @var{output-file-name}}. In some cases,
+however, the file name needs to be embedded in the command, e.g.@: if
+you need to provide the file name as an argument to one command whose
+output is piped to another. You can specify where to put the file
+name with @samp{*} in the command string. For example,
@example
(setq tex-dvi-print-command "dvips -f * | lpr")
@@ -1521,12 +1539,12 @@ the file name with @samp{*} in the command string. For example,
@kindex C-c C-k @r{(@TeX{} mode)}
@findex tex-recenter-output-buffer
@kindex C-c C-l @r{(@TeX{} mode)}
- The terminal output from @TeX{}, including any error messages, appears
-in a buffer called @samp{*tex-shell*}. If @TeX{} gets an error, you can
-switch to this buffer and feed it input (this works as in Shell mode;
-@pxref{Interactive Shell}). Without switching to this buffer you can
-scroll it so that its last line is visible by typing @kbd{C-c
-C-l}.
+ The terminal output from @TeX{}, including any error messages,
+appears in a buffer called @samp{*tex-shell*}. If @TeX{} gets an
+error, you can switch to this buffer and feed it input (this works as
+in Shell mode; @pxref{Interactive Shell}). Without switching to this
+buffer you can scroll it so that its last line is visible by typing
+@kbd{C-c C-l}.
Type @kbd{C-c C-k} (@code{tex-kill-job}) to kill the @TeX{} process if
you see that its output is no longer useful. Using @kbd{C-c C-b} or
@@ -1534,14 +1552,14 @@ you see that its output is no longer useful. Using @kbd{C-c C-b} or
@findex tex-region
@kindex C-c C-r @r{(@TeX{} mode)}
- You can also pass an arbitrary region through an inferior @TeX{} by typing
-@kbd{C-c C-r} (@code{tex-region}). This is tricky, however, because most files
-of @TeX{} input contain commands at the beginning to set parameters and
-define macros, without which no later part of the file will format
-correctly. To solve this problem, @kbd{C-c C-r} allows you to designate a
-part of the file as containing essential commands; it is included before
-the specified region as part of the input to @TeX{}. The designated part
-of the file is called the @dfn{header}.
+ You can also pass an arbitrary region through @TeX{} by typing
+@kbd{C-c C-r} (@code{tex-region}). This is tricky, however, because
+most files of @TeX{} input contain commands at the beginning to set
+parameters and define macros, without which no later part of the file
+will format correctly. To solve this problem, @kbd{C-c C-r} allows
+you to designate a part of the file as containing essential commands;
+it is included before the specified region as part of the input to
+@TeX{}. The designated part of the file is called the @dfn{header}.
@cindex header (@TeX{} mode)
To indicate the bounds of the header in Plain @TeX{} mode, you insert two
@@ -1639,29 +1657,6 @@ keys (@pxref{Completion}).
The commands @kbd{M-x iso-iso2tex}, @kbd{M-x iso-tex2iso}, @kbd{M-x
iso-iso2gtex} and @kbd{M-x iso-gtex2iso} can be used to convert
between Latin-1 encoded files and @TeX{}-encoded equivalents.
-@ignore
-@c Too cryptic to be useful, too cryptic for me to make it better -- rms.
- They
-are included by default in the @code{format-alist} variable, so they
-can be used with @kbd{M-x format-find-file}, for instance.
-@end ignore
-
-@ignore @c Not worth documenting if it is only for Czech -- rms.
-@findex tildify-buffer
-@findex tildify-region
-@cindex ties, @TeX{}, inserting
-@cindex hard spaces, @TeX{}, inserting
- The commands @kbd{M-x tildify-buffer} and @kbd{M-x tildify-region}
-insert @samp{~} (@dfn{tie}) characters where they are conventionally
-required. This is set up for Czech---customize the group
-@samp{tildify} for other languages or for other sorts of markup.
-@end ignore
-
-@cindex Ref@TeX{} package
-@cindex references, La@TeX{}
-@cindex La@TeX{} references
- For managing all kinds of references for La@TeX{}, you can use
-Ref@TeX{}. @inforef{Top,, reftex}.
@node HTML Mode
@section SGML and HTML Modes
@@ -1764,35 +1759,50 @@ used as a cheap preview (@code{sgml-tags-invisible}).
@cindex mode, nXML
@findex nxml-mode
@cindex XML schema
- The default mode for editing XML documents is called nXML mode
-(@code{xml-mode} or @code{nxml-mode}). This is a powerful major mode
-that can recognize many existing XML schema and use them to provide
-completion of XML elements via @kbd{C-@key{RET}} or @kbd{M-@key{TAB}},
-as well as ``on-the-fly'' XML validation with error highlighting. It
-is described in its own manual. @xref{Top, nXML Mode,,nxml-mode, nXML
-Mode}.
+ The major mode for editing XML documents is called nXML mode. This
+is a powerful major mode that can recognize many existing XML schema
+and use them to provide completion of XML elements via
+@kbd{C-@key{RET}} or @kbd{M-@key{TAB}}, as well as ``on-the-fly'' XML
+validation with error highlighting. To enable nXML mode in an
+existing buffer, type @kbd{M-x nxml-mode}, or, equivalently, @kbd{M-x
+xml-mode}. Emacs uses nXML mode for files which have the extension
+@file{.xml}. For XHTML files, which have the extension @file{.xhtml},
+Emacs uses HTML mode by default; you can make it use nXML mode by
+customizing the variable @code{auto-mode-alist} (@pxref{Choosing
+Modes}).
+@ifinfo
+nXML mode is described in its own manual: @xref{Top, nXML
+Mode,,nxml-mode, nXML Mode}.
+@end ifinfo
+@ifnotinfo
+nXML mode is described in an Info manual, which is distributed with
+Emacs.
+@end ifnotinfo
@vindex sgml-xml-mode
- However, you can also use SGML mode to edit XML, since XML is a
-strict subset of SGML. In XML, every opening tag must have an
-explicit closing tag. When the variable @code{sgml-xml-mode} is
-non-@code{nil}, the tag insertion commands described above always
-insert explicit closing tags as well. When you visit a file in SGML
-mode, Emacs determines whether it is XML by examining the file
-contents, and sets @code{sgml-xml-mode} accordingly.
+ You may choose to use the less powerful SGML mode for editing XML,
+since XML is a strict subset of SGML. To enable SGML mode in an
+existing buffer, type @kbd{M-x sgml-mode}. On enabling SGML mode,
+Emacs examines the buffer to determine whether it is XML; if so, it
+sets the variable @code{sgml-xml-mode} to a non-@code{nil} value.
+This causes SGML mode's tag insertion commands, described above, to
+always insert explicit closing tags as well.
@node Nroff Mode
@section Nroff Mode
@cindex nroff
@findex nroff-mode
- Nroff mode is a mode like Text mode but modified to handle nroff commands
-present in the text. Invoke @kbd{M-x nroff-mode} to enter this mode. It
-differs from Text mode in only a few ways. All nroff command lines are
-considered paragraph separators, so that filling will never garble the
-nroff commands. Pages are separated by @samp{.bp} commands. Comments
-start with backslash-doublequote. Also, three special commands are
-provided that are not in Text mode:
+@vindex nroff-mode-hook
+ Nroff mode is a major mode derived from Text mode, which is
+specialized for editing nroff files (e.g.@: Unix man pages). Type
+@kbd{M-x nroff-mode} to enter this mode. Entering Nroff mode runs the
+hook @code{text-mode-hook}, followed by @code{nroff-mode-hook}
+(@pxref{Hooks}).
+
+ In Nroff mode, nroff command lines are treated as paragraph
+separators, pages are separated by @samp{.bp} commands, and comments
+start with backslash-doublequote. It also defines these commands:
@findex forward-text-line
@findex backward-text-line
@@ -1812,104 +1822,95 @@ nroff commands) in the region (@code{count-text-lines}).
@end table
@findex electric-nroff-mode
- The other feature of Nroff mode is that you can turn on Electric Nroff
-mode. This is a minor mode that you can turn on or off with @kbd{M-x
+ Electric Nroff mode is a buffer-local minor mode that can be used
+with Nroff mode. To toggle this minor mode, type @kbd{M-x
electric-nroff-mode} (@pxref{Minor Modes}). When the mode is on, each
-time you use @key{RET} to end a line that contains an nroff command that
-opens a kind of grouping, the matching nroff command to close that
-grouping is automatically inserted on the following line. For example,
-if you are at the beginning of a line and type @kbd{.@: ( b @key{RET}},
-this inserts the matching command @samp{.)b} on a new line following
-point.
+time you type @key{RET} to end a line containing an nroff command that
+opens a kind of grouping, the nroff command to close that grouping is
+automatically inserted on the following line.
- If you use Outline minor mode with Nroff mode (@pxref{Outline Mode}),
-heading lines are lines of the form @samp{.H} followed by a number (the
-header level).
-
-@vindex nroff-mode-hook
- Entering Nroff mode runs the hook @code{text-mode-hook}, followed by
-the hook @code{nroff-mode-hook} (@pxref{Hooks}).
-
-@node Formatted Text
-@section Editing Formatted Text
+ If you use Outline minor mode with Nroff mode (@pxref{Outline
+Mode}), heading lines are lines of the form @samp{.H} followed by a
+number (the header level).
+@node Enriched Text
+@section Enriched Text
@cindex Enriched mode
@cindex mode, Enriched
-@cindex formatted text
+@cindex enriched text
@cindex WYSIWYG
@cindex word processing
- @dfn{Enriched mode} is a minor mode for editing files that contain
-formatted text in WYSIWYG fashion, as in a word processor. Currently,
-formatted text in Enriched mode can specify fonts, colors, underlining,
-margins, and types of filling and justification. In the future, we plan
-to implement other formatting features as well.
+@cindex text/enriched MIME format
- Enriched mode is a minor mode (@pxref{Minor Modes}). It is
-typically used in conjunction with Text mode (@pxref{Text Mode}), but
-you can also use it with other major modes such as Outline mode and
-Paragraph-Indent Text mode.
+ Enriched mode is a minor mode for editing formatted text files in a
+WYSIWYG (``what you see is what you get'') fashion. When Enriched
+mode is enabled, you can apply various formatting properties to the
+text in the buffer, such as fonts and colors; upon saving the buffer,
+those properties are saved together with the text, using the MIME
+@samp{text/enriched} file format.
-@cindex text/enriched MIME format
- Potentially, Emacs can store formatted text files in various file
-formats. Currently, only one format is implemented: @dfn{text/enriched}
-format, which is defined by the MIME protocol. @xref{Format
-Conversion,, Format Conversion, elisp, the Emacs Lisp Reference Manual},
-for details of how Emacs recognizes and converts file formats.
+ Enriched mode is typically used with Text mode (@pxref{Text Mode}).
+It is @emph{not} compatible with Font Lock mode, which is used by many
+major modes, including most programming language modes, for syntax
+highlighting (@pxref{Font Lock}). Unlike Enriched mode, Font Lock
+mode assigns text properties automatically, based on the current
+buffer contents; those properties are not saved to disk.
- The Emacs distribution contains a formatted text file that can serve as
-an example. Its name is @file{etc/enriched.doc}. It contains samples
-illustrating all the features described in this section. It also
-contains a list of ideas for future enhancements.
+ The file @file{etc/enriched.doc} in the Emacs distribution serves as
+an example of the features of Enriched mode.
@menu
-* Requesting Formatted Text:: Entering and exiting Enriched mode.
-* Hard and Soft Newlines:: There are two different kinds of newlines.
-* Editing Format Info:: How to edit text properties.
-* Faces: Format Faces. Bold, italic, underline, etc.
-* Color: Format Colors. Changing the color of text.
-* Indent: Format Indentation. Changing the left and right margins.
-* Justification: Format Justification.
- Centering, setting text flush with the
- left or right margin, etc.
-* Special: Format Properties. The "special" text properties submenu.
-* Forcing Enriched Mode:: How to force use of Enriched mode.
+* Enriched Mode:: Entering and exiting Enriched mode.
+* Hard and Soft Newlines:: There are two different kinds of newlines.
+* Editing Format Info:: How to edit text properties.
+* Enriched Faces:: Bold, italic, underline, etc.
+* Enriched Indentation:: Changing the left and right margins.
+* Enriched Justification:: Centering, setting text flush with the
+ left or right margin, etc.
+* Enriched Properties:: The "special" text properties submenu.
@end menu
-@node Requesting Formatted Text
-@subsection Requesting to Edit Formatted Text
+@node Enriched Mode
+@subsection Enriched Mode
- Whenever you visit a file that Emacs saved in the text/enriched
-format, Emacs automatically converts the formatting information in the
-file into Emacs's own internal format (known as @dfn{text
-properties}), and turns on Enriched mode.
+ Enriched mode is a buffer-local minor mode (@pxref{Minor Modes}).
+When you visit a file that has been saved in the @samp{text/enriched}
+format, Emacs automatically enables Enriched mode, and applies the
+formatting information in the file to the buffer text. When you save
+a buffer with Enriched mode enabled, it is saved using the
+@samp{text/enriched} format, including the formatting information.
@findex enriched-mode
- To create a new file of formatted text, first visit the nonexistent
-file, then type @kbd{M-x enriched-mode} before you start inserting text.
-This command turns on Enriched mode. Do this before you begin inserting
-text, to ensure that the text you insert is handled properly.
-
- More generally, the command @code{enriched-mode} turns Enriched mode
-on if it was off, and off if it was on. With a prefix argument, this
-command turns Enriched mode on if the argument is positive, and turns
-the mode off otherwise.
-
- When you save a buffer while Enriched mode is enabled in it, Emacs
-automatically converts the text to text/enriched format while writing it
-into the file. When you visit the file again, Emacs will automatically
-recognize the format, reconvert the text, and turn on Enriched mode
-again.
+ To create a new file of formatted text, visit the nonexistent file
+and type @kbd{M-x enriched-mode}. This command actually toggles
+Enriched mode. With a prefix argument, it enables Enriched mode if
+the argument is positive, and disables Enriched mode otherwise. If
+you disable Enriched mode, Emacs no longer saves the buffer using the
+@samp{text/enriched} format; any formatting properties that have been
+added to the buffer remain in the buffer, but they are not saved to
+disk.
@vindex enriched-translations
- You can add annotations for saving additional text properties, which
-Emacs normally does not save, by adding to @code{enriched-translations}.
-Note that the text/enriched standard requires any non-standard
-annotations to have names starting with @samp{x-}, as in
-@samp{x-read-only}. This ensures that they will not conflict with
-standard annotations that may be added later.
-
- @xref{Text Properties,,, elisp, the Emacs Lisp Reference Manual},
-for more information about text properties.
+ Enriched mode does not save all Emacs text properties, only those
+specified in the variable @code{enriched-translations}. These include
+properties for fonts, colors, indentation, and justification.
+
+@findex format-decode-buffer
+ If you visit a file and Emacs fails to recognize that it is in the
+@samp{text/enriched} format, type @kbd{M-x format-decode-buffer}.
+This command prompts for a file format, and re-reads the file in that
+format. Specifying the @samp{text/enriched} format automatically
+enables Enriched mode.
+
+ To view a @samp{text/enriched} file in raw form (as plain text with
+markup tags rather than formatted text), use @kbd{M-x
+find-file-literally} (@pxref{Visiting}).
+
+ @xref{Format Conversion,, Format Conversion, elisp, the Emacs Lisp
+Reference Manual}, for details of how Emacs recognizes and converts
+file formats like @samp{text/enriched}. @xref{Text Properties,,,
+elisp, the Emacs Lisp Reference Manual}, for more information about
+text properties.
@node Hard and Soft Newlines
@subsection Hard and Soft Newlines
@@ -1918,56 +1919,44 @@ for more information about text properties.
@cindex newlines, hard and soft
@cindex use-hard-newlines
- In formatted text, Emacs distinguishes between two different kinds of
-newlines, @dfn{hard} newlines and @dfn{soft} newlines. (You can enable
-or disable this feature separately in any buffer with the command
-@code{use-hard-newlines}.)
-
- Hard newlines are used to separate paragraphs, or items in a list, or
-anywhere that there should always be a line break regardless of the
-margins. The @key{RET} command (@code{newline}) and @kbd{C-o}
-(@code{open-line}) insert hard newlines.
-
- Soft newlines are used to make text fit between the margins. All the
-fill commands, including Auto Fill, insert soft newlines---and they
-delete only soft newlines.
-
- Although hard and soft newlines look the same, it is important to bear
-the difference in mind. Do not use @key{RET} to break lines in the
-middle of filled paragraphs, or else you will get hard newlines that are
-barriers to further filling. Instead, let Auto Fill mode break lines,
-so that if the text or the margins change, Emacs can refill the lines
-properly. @xref{Auto Fill}.
-
- On the other hand, in tables and lists, where the lines should always
-remain as you type them, you can use @key{RET} to end lines. For these
-lines, you may also want to set the justification style to
-@code{unfilled}. @xref{Format Justification}.
+ In Enriched mode, Emacs distinguishes between two different kinds of
+newlines, @dfn{hard} newlines and @dfn{soft} newlines. You can also
+enable or disable this feature in other buffers, by typing @kbd{M-x
+use-hard-newlines}.
+
+ Hard newlines are used to separate paragraphs, or anywhere there
+needs to be a line break regardless of how the text is filled; soft
+newlines are used for filling. The @key{RET} (@code{newline}) and
+@kbd{C-o} (@code{open-line}) commands insert hard newlines. The fill
+commands, including Auto Fill (@pxref{Auto Fill}), insert only soft
+newlines and delete only soft newlines, leaving hard newlines alone.
+
+ Thus, when editing with Enriched mode, you should not use @key{RET}
+or @kbd{C-o} to break lines in the middle of filled paragraphs. Use
+Auto Fill mode or explicit fill commands (@pxref{Fill Commands})
+instead. Use @key{RET} or @kbd{C-o} where line breaks should always
+remain, such as in tables and lists. For such lines, you may also
+want to set the justification style to @code{unfilled}
+(@pxref{Enriched Justification}).
@node Editing Format Info
@subsection Editing Format Information
- There are two ways to alter the formatting information for a formatted
-text file: with keyboard commands, and with the mouse.
-
- The easiest way to add properties to your document is with the Text
-Properties menu. You can get to this menu in two ways: from the Edit
-menu in the menu bar (use @kbd{@key{F10} e t} if you have no mouse),
-or with @kbd{C-Mouse-2} (hold the @key{CTRL} key and press the middle
-mouse button). There are also keyboard commands described in the
-following section.
-
- These items in the Text Properties menu run commands directly:
+ The easiest way to alter properties is with the Text Properties
+menu. You can get to this menu from the Edit menu in the menu bar
+(@pxref{Menu Bar}), or with @kbd{C-Mouse-2} (@pxref{Menu Mouse
+Clicks}). Some of the commands in the Text Properties menu are listed
+below (you can also invoke them with @kbd{M-x}):
@table @code
@findex facemenu-remove-face-props
@item Remove Face Properties
-Delete from the region all face and color text properties
+Remove face properties from the region
(@code{facemenu-remove-face-props}).
@findex facemenu-remove-all
@item Remove Text Properties
-Delete @emph{all} text properties from the region
+Remove all text properties from the region, including face properties
(@code{facemenu-remove-all}).
@findex describe-text-properties
@@ -1976,168 +1965,98 @@ Delete @emph{all} text properties from the region
@cindex widgets at buffer position
@cindex buttons at buffer position
@item Describe Properties
-List all the text properties, widgets, buttons, and overlays of the
-character following point (@code{describe-text-properties}).
+List all text properties and other information about the character
+following point (@code{describe-text-properties}).
@item Display Faces
-Display a list of all the defined faces (@code{list-faces-display}).
+Display a list of defined faces (@code{list-faces-display}).
+@xref{Faces}.
@item Display Colors
-Display a list of all the defined colors (@code{list-colors-display}).
+Display a list of defined colors (@code{list-colors-display}).
+@xref{Colors}.
@end table
-@ifinfo
- Other items in the Text Properties menu lead to submenus:
-
-@menu
-* Faces: Format Faces. Bold, italic, underline, etc.
-* Color: Format Colors. Changing the color of text.
-* Indent: Format Indentation. Changing the left and right margins.
-* Justification: Format Justification.
- Centering, setting text flush with the
- left or right margin, etc.
-* Special: Format Properties. The "special" text properties submenu.
-@end menu
-@end ifinfo
-@ifnotinfo
- The rest lead to submenus which are described in the following sections.
-@end ifnotinfo
-
-@node Format Faces
-@subsection Faces in Formatted Text
+@noindent
+The other menu entries are described in the following sections.
- The Faces submenu under Text Properties lists various Emacs faces
-including @code{bold}, @code{italic}, and @code{underline}
-(@pxref{Faces}). These menu items operate on the region if it is
-active and nonempty. Otherwise, they specify to use that face for an
-immediately following self-inserting character. There is also an item
-@samp{Other} with which you can enter a face name through the
-minibuffer (@pxref{Standard Faces}).
+@node Enriched Faces
+@subsection Faces in Enriched Text
- Instead of the Faces submenu, you can use these keyboard commands:
+ The following commands can be used to add or remove faces
+(@pxref{Faces}). Each applies to the text in the region if the mark
+is active, and to the next self-inserting character if the mark is
+inactive. With a prefix argument, each command applies to the next
+self-inserting character even if the region is active.
@table @kbd
@kindex M-o d @r{(Enriched mode)}
@findex facemenu-set-default
@item M-o d
-Remove all @code{face} properties from the region (which includes
-specified colors), or force the following inserted character to have no
-@code{face} property (@code{facemenu-set-default}).
+Remove all @code{face} properties (@code{facemenu-set-default}).
+
@kindex M-o b @r{(Enriched mode)}
@findex facemenu-set-bold
@item M-o b
-Add the face @code{bold} to the region or to the following inserted
-character (@code{facemenu-set-bold}).
+Apply the @code{bold} face (@code{facemenu-set-bold}).
+
@kindex M-o i @r{(Enriched mode)}
@findex facemenu-set-italic
@item M-o i
-Add the face @code{italic} to the region or to the following inserted
-character (@code{facemenu-set-italic}).
+Apply the @code{italic} face (@code{facemenu-set-italic}).
+
@kindex M-o l @r{(Enriched mode)}
@findex facemenu-set-bold-italic
@item M-o l
-Add the face @code{bold-italic} to the region or to the following
-inserted character (@code{facemenu-set-bold-italic}).
+Apply the @code{bold-italic} face (@code{facemenu-set-bold-italic}).
+
@kindex M-o u @r{(Enriched mode)}
@findex facemenu-set-underline
@item M-o u
-Add the face @code{underline} to the region or to the following inserted
-character (@code{facemenu-set-underline}).
+Apply the @code{underline} face (@code{facemenu-set-underline}).
+
@kindex M-o o @r{(Enriched mode)}
@findex facemenu-set-face
@item M-o o @var{face} @key{RET}
-Add the face @var{face} to the region or to the following inserted
-character (@code{facemenu-set-face}).
-@end table
+Apply the face @var{face} (@code{facemenu-set-face}).
- With a prefix argument, all these commands apply to an immediately
-following self-inserting character, disregarding the region.
+@findex facemenu-set-foreground
+@item M-x facemenu-set-foreground
+Prompt for a color (@pxref{Colors}), and apply it as a foreground
+color.
- A self-inserting character normally inherits the @code{face}
-property (and most other text properties) from the preceding character
-in the buffer. If you use the above commands to specify face for the
-next self-inserting character, or the next section's commands to
-specify a foreground or background color for it, then it does not
-inherit the @code{face} property from the preceding character; instead
-it uses whatever you specified. It will still inherit other text
-properties, though.
+@findex facemenu-set-background
+@item M-x facemenu-set-background
+Prompt for a color, and apply it as a background color.
+@end table
- Strictly speaking, these commands apply only to the first following
-self-inserting character that you type. But if you insert additional
-characters after it, they will inherit from the first one. So it
-appears that these commands apply to all of them.
+@noindent
+These command are also available via the Text Properties menu.
- Enriched mode defines two additional faces: @code{excerpt} and
-@code{fixed}. These correspond to codes used in the text/enriched file
-format.
-
- The @code{excerpt} face is intended for quotations. This face is the
-same as @code{italic} unless you customize it (@pxref{Face Customization}).
-
- The @code{fixed} face means, ``Use a fixed-width font for this part
-of the text.'' Applying the @code{fixed} face to a part of the text
-will cause that part of the text to appear in a fixed-width font, even
-if the default font is variable-width. This applies to Emacs and to
-other systems that display text/enriched format. So if you
-specifically want a certain part of the text to use a fixed-width
-font, you should specify the @code{fixed} face for that part.
-
- By default, the @code{fixed} face looks the same as @code{bold}.
-This is an attempt to distinguish it from @code{default}. You may
-wish to customize @code{fixed} to some other fixed-width medium font.
-@xref{Face Customization}.
-
- If your terminal cannot display different faces, you will not be
-able to see them, but you can still edit documents containing faces,
-and even add faces and colors to documents. The faces you specify
-will be visible when the file is viewed on a terminal that can display
-them.
-
-@node Format Colors
-@subsection Colors in Formatted Text
-
- You can specify foreground and background colors for portions of the
-text. Under Text Properties, there is a submenu for specifying the
-foreground color, and a submenu for specifying the background color.
-Each one lists all the colors that you have used in Enriched mode in
-the current Emacs session.
-
- If the region is active, the command applies to the text in the
-region; otherwise, it applies to any immediately following
-self-inserting input. When Transient Mark mode is off
-(@pxref{Disabled Transient Mark}), it always applies to the region
-unless a prefix argument is given, in which case it applies to the
-following input.
-
- Each of the two color submenus contains one additional item:
-@samp{Other}. You can use this item to specify a color that is not
-listed in the menu; it reads the color name with the minibuffer. To
-display a list of available colors and their names, use the
-@samp{Display Colors} menu item in the Text Properties menu
-(@pxref{Editing Format Info}).
-
- Any color that you specify in this way, or that is mentioned in a
-formatted text file that you read in, is added to the corresponding
-color menu for the duration of the Emacs session.
+ A self-inserting character normally inherits the face properties
+(and most other text properties) from the preceding character in the
+buffer. If you use one of the above commands to specify the face for
+the next self-inserting character, that character will not inherit the
+faces properties from the preceding character, but it will still
+inherit other text properties.
-@findex facemenu-set-foreground
-@findex facemenu-set-background
- There are no predefined key bindings for specifying colors, but you can do so
-with the extended commands @kbd{M-x facemenu-set-foreground} and
-@kbd{M-x facemenu-set-background}. Both of these commands read the name
-of the color with the minibuffer.
+ Enriched mode defines two additional faces: @code{excerpt} and
+@code{fixed}. These correspond to codes used in the text/enriched
+file format. The @code{excerpt} face is intended for quotations; by
+default, it appears the same as @code{italic}. The @code{fixed} face
+specifies fixed-width text; by default, it appears the same as
+@code{bold}.
-@node Format Indentation
-@subsection Indentation in Formatted Text
+@node Enriched Indentation
+@subsection Indentation in Enriched Text
- When editing formatted text, you can specify different amounts of
-indentation for the right or left margin of an entire paragraph or a
-part of a paragraph. The margins you specify automatically affect the
-Emacs fill commands (@pxref{Filling}) and line-breaking commands.
+ In Enriched mode, you can specify different amounts of indentation
+for the right or left margin of a paragraph or a part of a paragraph.
+These margins also affect fill commands such as @kbd{M-q}
+(@pxref{Filling}).
- The Indentation submenu of Text Properties provides a convenient
-interface for specifying these properties. The submenu contains four
-items:
+ The Indentation submenu of Text Properties provides four commands
+for specifying indentation:
@table @code
@kindex C-x TAB @r{(Enriched mode)}
@@ -2158,44 +2077,20 @@ Make the text narrower by indenting 4 columns at the right margin.
Remove 4 columns of indentation from the right margin.
@end table
- You can use these commands repeatedly to increase or decrease the
-indentation.
-
- The most common way to use them is to change the indentation of an
-entire paragraph. For other uses, the effects of refilling can be
-hard to predict, except in some special cases like the one described
-next.
-
- The most common other use is to format paragraphs with @dfn{hanging
-indents}, which means that the first line is indented less than
-subsequent lines. To set up a hanging indent, increase the
-indentation of the region starting after the first word of the
-paragraph and running until the end of the paragraph.
-
- Indenting the first line of a paragraph is easier. Set the margin for
-the whole paragraph where you want it to be for the body of the
-paragraph, then indent the first line by inserting extra spaces or tabs.
-
@vindex standard-indent
The variable @code{standard-indent} specifies how many columns these
commands should add to or subtract from the indentation. The default
-value is 4. The overall default right margin for Enriched mode is
-controlled by the variable @code{fill-column}, as usual.
+value is 4. The default right margin for Enriched mode is controlled
+by the variable @code{fill-column}, as usual.
@kindex C-c [ @r{(Enriched mode)}
@kindex C-c ] @r{(Enriched mode)}
@findex set-left-margin
@findex set-right-margin
- There are also two commands for setting the left or right margin of
-the region absolutely: @code{set-left-margin} and
-@code{set-right-margin}. Enriched mode binds these commands to
-@kbd{C-c [} and @kbd{C-c ]}, respectively. You can specify the
-margin width either with a numeric argument or in the minibuffer.
-
- Sometimes, as a result of editing, the filling of a paragraph becomes
-messed up---parts of the paragraph may extend past the left or right
-margins. When this happens, use @kbd{M-q} (@code{fill-paragraph}) to
-refill the paragraph.
+ You can also type @kbd{C-c [} (@code{set-left-margin}) and @kbd{C-c
+]} (@code{set-right-margin}) to set the left and right margins. You
+can specify the margin width with a numeric argument; otherwise these
+commands prompt for a value via the minibuffer.
The fill prefix, if any, works in addition to the specified paragraph
indentation: @kbd{C-x .} does not include the specified indentation's
@@ -2203,149 +2098,75 @@ whitespace in the new value for the fill prefix, and the fill commands
look for the fill prefix after the indentation on each line. @xref{Fill
Prefix}.
-@node Format Justification
-@subsection Justification in Formatted Text
-
- When editing formatted text, you can specify various styles of
-justification for a paragraph. The style you specify automatically
-affects the Emacs fill commands.
+@node Enriched Justification
+@subsection Justification in Enriched Text
- The Justification submenu of Text Properties provides a convenient
-interface for specifying the style. The submenu contains five items:
-
-@table @code
-@item Left
-This is the most common style of justification (at least for English).
-Lines are aligned at the left margin but left uneven at the right.
-
-@item Right
-This aligns each line with the right margin. Spaces and tabs are added
-on the left, if necessary, to make lines line up on the right.
-
-@item Full
-This justifies the text, aligning both edges of each line. Justified
-text looks very nice in a printed book, where the spaces can all be
-adjusted equally, but it does not look as nice with a fixed-width font
-on the screen. Perhaps a future version of Emacs will be able to adjust
-the width of spaces in a line to achieve elegant justification.
-
-@item Center
-This centers every line between the current margins.
-
-@item Unfilled
-This turns off filling entirely. Each line will remain as you wrote it;
-the fill and auto-fill functions will have no effect on text which has
-this setting. You can, however, still indent the left margin. In
-unfilled regions, all newlines are treated as hard newlines (@pxref{Hard
-and Soft Newlines}) .
-@end table
-
- In Enriched mode, you can also specify justification from the keyboard
-using the @kbd{M-j} prefix character:
+ In Enriched mode, you can use the following commands to specify
+various @dfn{justification styles} for filling. These commands apply
+to the paragraph containing point, or, if the region is active, to all
+paragraphs overlapping the region.
@table @kbd
@kindex M-j l @r{(Enriched mode)}
@findex set-justification-left
@item M-j l
-Make the region left-filled (@code{set-justification-left}).
+Align lines to the left margin (@code{set-justification-left}).
+
@kindex M-j r @r{(Enriched mode)}
@findex set-justification-right
@item M-j r
-Make the region right-filled (@code{set-justification-right}).
+Align lines to the right margin (@code{set-justification-right}).
+
@kindex M-j b @r{(Enriched mode)}
@findex set-justification-full
@item M-j b
-Make the region fully justified (@code{set-justification-full}).
+Align lines to both margins, inserting spaces in the middle of the
+line to achieve this (@code{set-justification-full}).
+
@kindex M-j c @r{(Enriched mode)}
@kindex M-S @r{(Enriched mode)}
@findex set-justification-center
@item M-j c
@itemx M-S
-Make the region centered (@code{set-justification-center}).
+Center lines between the margins (@code{set-justification-center}).
+
@kindex M-j u @r{(Enriched mode)}
@findex set-justification-none
@item M-j u
-Make the region unfilled (@code{set-justification-none}).
+Turn off filling entirely (@code{set-justification-none}). The fill
+commands do nothing on text with this setting. You can, however,
+still indent the left margin.
@end table
- Justification styles apply to entire paragraphs. All the
-justification-changing commands operate on the paragraph containing
-point, or, if the region is active, on all paragraphs which overlap the
-region.
+ You can also specify justification styles using the Justification
+submenu in the Text Properties menu.
@vindex default-justification
- The default justification style is specified by the variable
-@code{default-justification}. Its value should be one of the symbols
-@code{left}, @code{right}, @code{full}, @code{center}, or @code{none}.
-This is a per-buffer variable. Setting the variable directly affects
-only the current buffer. However, customizing it in a Custom buffer
-sets (as always) the default value for buffers that do not override it.
-@xref{Locals}, and @ref{Easy Customization}.
-
-@node Format Properties
-@subsection Setting Other Text Properties
-
- The Special Properties submenu of Text Properties can add or remove
-three other useful text properties: @code{read-only}, @code{invisible}
-and @code{intangible}. The @code{intangible} property disallows
-moving point within the text, the @code{invisible} text property hides
-text from display, and the @code{read-only} property disallows
-alteration of the text.
-
- Each of these special properties has a menu item to add it to the
-region. The last menu item, @samp{Remove Special}, removes all of these
-special properties from the text in the region.
-
- Currently, the @code{invisible} and @code{intangible} properties are
-@emph{not} saved in the text/enriched format. The @code{read-only}
-property is saved, but it is not a standard part of the text/enriched
-format, so other editors may not respect it.
-
-@node Forcing Enriched Mode
-@subsection Forcing Enriched Mode
+ The default justification style is specified by the per-buffer
+variable @code{default-justification}. Its value should be one of the
+symbols @code{left}, @code{right}, @code{full}, @code{center}, or
+@code{none}.
- Normally, Emacs knows when you are editing formatted text because it
-recognizes the special annotations used in the file that you visited.
-However, sometimes you must take special actions to convert file
-contents or turn on Enriched mode:
-
-@itemize @bullet
-@item
-When you visit a file that was created with some other editor, Emacs may
-not recognize the file as being in the text/enriched format. In this
-case, when you visit the file you will see the formatting commands
-rather than the formatted text. Type @kbd{M-x format-decode-buffer} to
-translate it. This also automatically turns on Enriched mode.
+@node Enriched Properties
+@subsection Setting Other Text Properties
-@item
-When you @emph{insert} a file into a buffer, rather than visiting it,
-Emacs does the necessary conversions on the text which you insert, but
-it does not enable Enriched mode. If you wish to do that, type @kbd{M-x
-enriched-mode}.
-@end itemize
+ The Special Properties submenu of Text Properties has entries for
+adding or removing three other text properties: @code{read-only},
+(which disallows alteration of the text), @code{invisible} (which
+hides text), and @code{intangible} (which disallows moving point
+within the text). The @samp{Remove Special} menu item removes all of
+these special properties from the text in the region.
- The command @code{format-decode-buffer} translates text in various
-formats into Emacs's internal format. It asks you to specify the format
-to translate from; however, normally you can type just @key{RET}, which
-tells Emacs to guess the format.
-
-@findex format-find-file
- If you wish to look at a text/enriched file in its raw form, as a
-sequence of characters rather than as formatted text, use the @kbd{M-x
-find-file-literally} command. This visits a file, like
-@code{find-file}, but does not do format conversion. It also inhibits
-character code conversion (@pxref{Coding Systems}) and automatic
-uncompression (@pxref{Compressed Files}). To disable format conversion
-but allow character code conversion and/or automatic uncompression if
-appropriate, use @code{format-find-file} with suitable arguments.
+ The @code{invisible} and @code{intangible} properties are not saved
+in the @samp{text/enriched} format.
@node Text Based Tables
@section Editing Text-based Tables
@cindex table mode
@cindex text-based tables
- Table mode provides an easy and intuitive way to create and edit WYSIWYG
-text-based tables. Here is an example of such a table:
+ The @code{table} package provides commands to easily edit text-based
+tables. Here is an example of what such a table looks like:
@smallexample
@group
@@ -2355,27 +2176,23 @@ text-based tables. Here is an example of such a table:
| forward-char |Move point right N characters | C-f |
| |(left if N is negative). | |
| | | |
-| |On reaching end of buffer, stop | |
-| |and signal error. | |
+-----------------+--------------------------------+-----------------+
| backward-char |Move point left N characters | C-b |
| |(right if N is negative). | |
| | | |
-| |On attempt to pass beginning or | |
-| |end of buffer, stop and signal | |
-| |error. | |
+-----------------+--------------------------------+-----------------+
@end group
@end smallexample
- Table mode allows the contents of the table such as this one to be
-easily manipulated by inserting or deleting characters inside a cell.
-A cell is effectively a localized rectangular edit region and edits to
-a cell do not affect the contents of the surrounding cells. If the
-contents do not fit into a cell, then the cell is automatically
-expanded in the vertical and/or horizontal directions and the rest of
-the table is restructured and reformatted in accordance with the
-growth of the cell.
+ When Emacs recognizes such a stretch of text as a table
+(@pxref{Table Recognition}), editing the contents of each table cell
+will automatically resize the table, whenever the contents become too
+large to fit in the cell. You can use the commands defined in the
+following sections for navigating and editing the table layout.
+
+@findex table-fixed-width-mode
+ To toggle the automatic table resizing feature, type @kbd{M-x
+table-fixed-width-mode}.
@menu
* Table Definition:: What is a text based table.
@@ -2383,102 +2200,87 @@ growth of the cell.
* Table Recognition:: How to activate and deactivate tables.
* Cell Commands:: Cell-oriented commands in a table.
* Cell Justification:: Justifying cell contents.
-* Row Commands:: Manipulating rows of table cell.
-* Column Commands:: Manipulating columns of table cell.
-* Fixed Width Mode:: Fixing cell width.
+* Table Rows and Columns:: Inserting and deleting rows and columns.
* Table Conversion:: Converting between plain text and tables.
-* Measuring Tables:: Analyzing table dimension.
* Table Misc:: Table miscellany.
@end menu
@node Table Definition
@subsection What is a Text-based Table?
+@cindex cells, for text-based tables
- Keep the following examples of valid tables in mind as a reference
-while you read this section:
-
-@example
- +--+----+---+ +-+ +--+-----+
- | | | | | | | | |
- +--+----+---+ +-+ | +--+--+
- | | | | | | | |
- +--+----+---+ +--+--+ |
- | | |
- +-----+--+
-@end example
-
- A table consists of a rectangular frame whose inside is divided into
-cells. Each cell must be at least one character wide and one
-character high, not counting its border lines. A cell can be
-subdivided into multiple rectangular cells, but cells cannot overlap.
+ A @dfn{table} consists of a rectangular text area which is divided
+into @dfn{cells}. Each cell must be at least one character wide and
+one character high, not counting its border lines. A cell can be
+subdivided into more cells, but they cannot overlap.
- The table frame and cell border lines are made of three special
-characters. These variables specify those characters:
+ Cell border lines are drawn with three special characters, specified
+by the following variables:
@table @code
@vindex table-cell-vertical-char
@item table-cell-vertical-char
-Holds the character used for vertical lines. The default value is
-@samp{|}.
+The character used for vertical lines. The default is @samp{|}.
@vindex table-cell-horizontal-chars
@item table-cell-horizontal-chars
-Holds the characters used for horizontal lines. The default value is
-@samp{"-="}.
+The characters used for horizontal lines. The default is @samp{"-="}.
@vindex table-cell-intersection-char
@item table-cell-intersection-char
-Holds the character used at where horizontal line and vertical line
-meet. The default value is @samp{+}.
+The character used for the intersection of horizontal and vertical
+lines. The default is @samp{+}.
@end table
@noindent
-Based on this definition, the following five tables are examples of invalid
-tables:
+The following are examples of @emph{invalid} tables:
@example
- +-----+ +-----+ +--+ +-++--+ ++
- | | | | | | | || | ++
- | +-+ | | | | | | || |
- | | | | +--+ | +--+--+ +-++--+
- | +-+ | | | | | | | +-++--+
- | | | | | | | | | || |
- +-----+ +--+--+ +--+--+ +-++--+
- a b c d e
+ +-----+ +--+ +-++--+
+ | | | | | || |
+ | | | | | || |
+ +--+ | +--+--+ +-++--+
+ | | | | | | +-++--+
+ | | | | | | | || |
+ +--+--+ +--+--+ +-++--+
+ a b c
@end example
+@noindent
From left to right:
@enumerate a
@item
Overlapped cells or non-rectangular cells are not allowed.
@item
-Same as a.
-@item
The border must be rectangular.
@item
Cells must have a minimum width/height of one character.
-@item
-Same as d.
@end enumerate
@node Table Creation
-@subsection How to Create a Table?
+@subsection Creating a Table
@cindex create a text-based table
@cindex table creation
@findex table-insert
- The command to create a table is @code{table-insert}. When called
-interactively, it asks for the number of columns, number of rows, cell
-width and cell height. The number of columns is the number of cells
-horizontally side by side. The number of rows is the number of cells
-vertically within the table's height. The cell width is a number of
-characters that each cell holds, left to right. The cell height is a
-number of lines each cell holds. The cell width and the cell height
-can be either an integer (when the value is constant across the table)
-or a series of integer, separated by spaces or commas, where each
-number corresponds to the next cell within a row from left to right,
-or the next cell within a column from top to bottom.
+ To create a text-based table from scratch, type @kbd{M-x
+table-insert}. This command prompts for the number of table columns,
+the number of table rows, cell width and cell height. The cell width
+and cell height do not include the cell borders; each can be specified
+as a single integer (which means each cell is given the same
+width/height), or as a sequence of integers separated by spaces or
+commas (which specify the width/height of the individual table
+columns/rows, counting from left to right for table columns and from
+top to bottom for table rows). The specified table is then inserted
+at point.
+
+ The table inserted by @kbd{M-x table-insert} contains special text
+properties, which tell Emacs to treat it specially as a text-based
+table. If you save the buffer to a file and visit it again later,
+those properties are lost, and the table appears to Emacs as an
+ordinary piece of text. See the next section, for how to convert it
+back into a table.
@node Table Recognition
@subsection Table Recognition
@@ -2486,103 +2288,97 @@ or the next cell within a column from top to bottom.
@findex table-recognize
@findex table-unrecognize
- Table mode maintains special text properties in the buffer to allow
-editing in a convenient fashion. When a buffer with tables is saved
-to its file, these text properties are lost, so when you visit this
-file again later, Emacs does not see a table, but just formatted text.
-To resurrect the table text properties, issue the @kbd{M-x
-table-recognize} command. It scans the current buffer, recognizes
-valid table cells, and attaches appropriate text properties to allow
-for table editing. The converse command, @code{table-unrecognize}, is
-used to remove the special text properties and convert the buffer back
-to plain text.
-
- Special commands exist to enable or disable tables within a region,
-enable or disable individual tables, and enable/disable individual
-cells. These commands are:
+ Existing text-based tables in a buffer, which lack the special text
+properties applied by @kbd{M-x table-insert}, are not treated
+specially as tables. To apply those text properties, type @kbd{M-x
+table-recognize}. This command scans the current buffer,
+@dfn{recognizes} valid table cells, and applies the relevant text
+properties. Conversely, type @kbd{M-x table-unrecognize} to
+@dfn{unrecognize} all tables in the current buffer, removing the
+special text properties and converting tables back to plain text.
+
+ You can also use the following commands to selectively recognize or
+unrecognize tables:
@table @kbd
@findex table-recognize-region
@item M-x table-recognize-region
-Recognize tables within the current region and activate them.
+Recognize tables within the current region.
+
@findex table-unrecognize-region
@item M-x table-unrecognize-region
-Deactivate tables within the current region.
+Unrecognize tables within the current region.
+
@findex table-recognize-table
@item M-x table-recognize-table
Recognize the table at point and activate it.
+
@findex table-unrecognize-table
@item M-x table-unrecognize-table
Deactivate the table at point.
+
@findex table-recognize-cell
@item M-x table-recognize-cell
Recognize the cell at point and activate it.
+
@findex table-unrecognize-cell
@item M-x table-unrecognize-cell
Deactivate the cell at point.
@end table
- For another way of converting text into tables, see @ref{Table
-Conversion}.
+ @xref{Table Conversion}, for another way to recognize a table.
@node Cell Commands
@subsection Commands for Table Cells
@findex table-forward-cell
@findex table-backward-cell
- The commands @code{table-forward-cell} and
-@code{table-backward-cell} move point from the current cell to an
-adjacent cell forward and backward respectively. The order of the
-cells is cyclic: when point is in the last cell of a table, typing
-@kbd{M-x table-forward-cell} moves to the first cell in the table.
-Likewise @kbd{M-x table-backward-cell} from the first cell in a table
-moves to the last cell.
+ The commands @kbd{M-x table-forward-cell} and @kbd{M-x
+table-backward-cell} move point from the current cell to an adjacent
+cell. The order is cyclic: when point is in the last cell of a table,
+@kbd{M-x table-forward-cell} moves to the first cell. Likewise, when
+point is on the first cell, @kbd{M-x table-backward-cell} moves to the
+last cell.
@findex table-span-cell
- The command @code{table-span-cell} merges the current cell with the
-adjacent cell in a specified direction---right, left, above or below.
-You specify the direction with the minibuffer. It does not allow
-merges which don't result in a legitimate cell layout.
+ @kbd{M-x table-span-cell} prompts for a direction---right, left,
+above, or below---and merges the current cell with the adjacent cell
+in that direction. This command signals an error if the merge would
+result in an illegitimate cell layout.
@findex table-split-cell
-@cindex text-based tables, split a cell
-@cindex split table cell
- The command @code{table-split-cell} splits the current cell
-vertically or horizontally. This command is a wrapper to the
-direction specific commands @code{table-split-cell-vertically} and
-@code{table-split-cell-horizontally}. You specify the direction with
-a minibuffer argument.
-
@findex table-split-cell-vertically
- The command @code{table-split-cell-vertically} splits the current
-cell vertically and creates a pair of cells above and below where
-point is located. The content in the original cell is split as well.
-
@findex table-split-cell-horizontally
- The command @code{table-split-cell-horizontally} splits the current
-cell horizontally and creates a pair of cells right and left of where
-point is located. If the cell being split is not empty, this asks you
-how to handle the cell contents. The three options are: @code{split},
-@code{left}, or @code{right}. @code{split} splits the contents at
-point literally, while the @code{left} and @code{right} options move
-the entire contents into the left or right cell respectively.
-
-@cindex enlarge a table cell
-@cindex shrink a table cell
- The next four commands enlarge or shrink a cell. They use numeric
-arguments (@pxref{Arguments}) to specify how many columns or rows to
-enlarge or shrink a particular table.
+@cindex text-based tables, splitting cells
+@cindex splitting table cells
+ @kbd{M-x table-split-cell} splits the current cell vertically or
+horizontally, prompting for the direction with the minibuffer. The
+commands @kbd{M-x table-split-cell-vertically} and @kbd{M-x
+table-split-cell-horizontally} split in a specific direction. When
+splitting vertically, the old cell contents are automatically split
+between the two new cells. When splitting horizontally, you are
+prompted for how to divide the cell contents, if the cell is
+non-empty; the options are @samp{split} (divide the contents at
+point), @samp{left} (put all the contents in the left cell), and
+@samp{right} (put all the contents in the right cell).
+
+ The following commands enlarge or shrink a cell. By default, they
+resize by one row or column; if a numeric argument is supplied, that
+specifies the number of rows or columns to resize by.
@table @kbd
@findex table-heighten-cell
@item M-x table-heighten-cell
Enlarge the current cell vertically.
+
@findex table-shorten-cell
@item M-x table-shorten-cell
Shrink the current cell vertically.
+
@findex table-widen-cell
@item M-x table-widen-cell
Enlarge the current cell horizontally.
+
@findex table-narrow-cell
@item M-x table-narrow-cell
Shrink the current cell horizontally.
@@ -2590,107 +2386,76 @@ Shrink the current cell horizontally.
@node Cell Justification
@subsection Cell Justification
-@cindex cell text justification
+@cindex justification in text-based tables
- You can specify text justification for each cell. The justification
-is remembered independently for each cell and the subsequent editing
-of cell contents is subject to the specified justification.
+ The command @kbd{M-x table-justify} imposes @dfn{justification} on
+one or more cells in a text-based table. Justification determines how
+the text in the cell is aligned, relative to the edges of the cell.
+Each cell in a table can be separately justified.
@findex table-justify
- The command @code{table-justify} ask you to specify what to justify:
-a cell, a column, or a row. If you select cell justification, this
-command sets the justification only for the current cell. Selecting
-column or row justification sets the justification for all the cells
-within a column or row respectively. The command then ask you which
-kind of justification to apply: @code{left}, @code{center},
-@code{right}, @code{top}, @code{middle}, @code{bottom}, or
-@code{none}. Horizontal justification and vertical justification are
-specified independently. The options @code{left}, @code{center}, and
-@code{right} specify horizontal justification while the options
-@code{top}, @code{middle}, @code{bottom}, and @code{none} specify
-vertical justification. The vertical justification @code{none}
-effectively removes vertical justification. Horizontal justification
-must be one of @code{left}, @code{center}, or @code{right}.
+ @kbd{M-x table-justify} first prompts for what to justify; the
+options are @samp{cell} (just the current cell), @samp{column} (all
+cells in the current table column) and @samp{row} (all cells in the
+current table row). The command then prompts for the justification
+style; the options are @code{left}, @code{center}, @code{right},
+@code{top}, @code{middle}, @code{bottom}, or @code{none} (meaning no
+vertical justification).
+
+ Horizontal and vertical justification styles are specified
+independently, and both types can be in effect simultaneously; for
+instance, you can call @kbd{M-x table-justify} twice, once to specify
+@code{right} justification and once to specify @code{bottom}
+justification, to align the contents of a cell to the bottom right.
@vindex table-detect-cell-alignment
- Justification information is stored in the buffer as a part of text
-property. Therefore, this information is ephemeral and does not
-survive through the loss of the buffer (closing the buffer and
-revisiting the buffer erase any previous text properties). To
-countermand for this, the command @code{table-recognize} and other
-recognition commands (@pxref{Table Recognition}) are equipped with a
-convenience feature (turned on by default). During table recognition,
-the contents of a cell are examined to determine which justification
-was originally applied to the cell and then applies this justification
-to the cell. This is a speculative algorithm and is therefore not
-perfect, however, the justification is deduced correctly most of the
-time. To disable this feature, customize the variable
-@code{table-detect-cell-alignment} and set it to @code{nil}.
-
-@node Row Commands
-@subsection Commands for Table Rows
-@cindex table row commands
-
-@cindex insert row in table
+ The justification style is stored in the buffer as a text property,
+and is lost when you kill the buffer or exit Emacs. However, the
+table recognition commands, such as @kbd{M-x table-recognize}
+(@pxref{Table Recognition}), attempt to determine and re-apply each
+cell's justification style, by examining its contents. To disable
+this feature, change the variable @code{table-detect-cell-alignment}
+to @code{nil}.
+
+@node Table Rows and Columns
+@subsection Table Rows and Columns
+@cindex inserting rows and columns in text-based tables
+
@findex table-insert-row
- The command @code{table-insert-row} inserts a row of cells before
-the current row in a table. The current row where point is located is
-pushed down after the newly inserted row. A numeric prefix argument
-specifies the number of rows to insert. Note that in order to insert
-rows @emph{after} the last row at the bottom of a table, you must
-place point below the table---that is, outside the table---prior to
-invoking this command.
-
-@cindex delete row in table
-@findex table-delete-row
- The command @code{table-delete-row} deletes a row of cells at point.
-A numeric prefix argument specifies the number of rows to delete.
-
-@node Column Commands
-@subsection Commands for Table Columns
-@cindex table column commands
-
-@cindex insert column in table
-@findex table-insert-column
- The command @code{table-insert-column} inserts a column of cells to
-the left of the current row in a table. This pushes the current
-column to the right. To insert a column to the right side of the
-rightmost column, place point to the right of the rightmost column,
-which is outside of the table, prior to invoking this command. A
-numeric prefix argument specifies the number of columns to insert.
-
-@cindex delete column in table
- A command @code{table-delete-column} deletes a column of cells at
-point. A numeric prefix argument specifies the number of columns to
-delete.
-
-@node Fixed Width Mode
-@subsection Fix Width of Cells
-@cindex fix width of table cells
+ @kbd{M-x table-insert-row} inserts a row of cells before the current
+table row. The current row, together with point, is pushed down past
+the new row. To insert rows after the last row at the bottom of a
+table, invoke this command with point below the table, just below the
+bottom edge. A numeric prefix argument specifies the number of rows
+to insert.
-@findex table-fixed-width-mode
- The command @code{table-fixed-width-mode} toggles fixed width mode
-on and off. When fixed width mode is turned on, editing inside a
-cell never changes the cell width; when it is off, the cell width
-expands automatically in order to prevent a word from being folded
-into multiple lines. By default, fixed width mode is disabled.
+@findex table-insert-column
+ Similarly, @kbd{M-x table-insert-column} inserts a column of cells
+to the left of the current table column. To insert a column to the
+right side of the rightmost column, invoke this command with point to
+the right of the rightmost column, outside the table. A numeric
+prefix argument specifies the number of columns to insert.
+
+@cindex deleting rows and column in text-based tables
+ @kbd{M-x table-delete-column} deletes the column of cells at point.
+Similarly, @kbd{M-x table-delete-row} deletes the row of cells at
+point. A numeric prefix argument to either command specifies the
+number of columns or rows to delete.
@node Table Conversion
-@subsection Conversion Between Plain Text and Tables
+@subsection Converting Between Plain Text and Tables
@cindex text to table
@cindex table to text
@findex table-capture
- The command @code{table-capture} captures plain text in a region and
-turns it into a table. Unlike @code{table-recognize} (@pxref{Table
-Recognition}), the original text does not have a table appearance but
-may hold a logical table structure. For example, some elements
-separated by known patterns form a two dimensional structure which can
-be turned into a table.
+ The command @kbd{M-x table-capture} captures plain text in a region
+and turns it into a table. Unlike @kbd{M-x table-recognize}
+(@pxref{Table Recognition}), the original text does not need to have a
+table appearance; it only needs to have a logical table-like
+structure.
- Here's an example of data that @code{table-capture} can operate on.
-The numbers are horizontally separated by a comma and vertically
-separated by a newline character.
+ For example, suppose we have the following numbers, which are
+divided into three lines and separated horizontally by commas:
@example
1, 2, 3, 4
@@ -2711,136 +2476,92 @@ Invoking @kbd{M-x table-capture} on that text produces this table:
+-----+-----+-----+-----+
@end example
-@noindent
-The conversion uses @samp{,} for the column delimiter and newline for
-a row delimiter, cells are left justified, and minimum cell width is
-5.
-
@findex table-release
- The command @code{table-release} does the opposite of
-@code{table-capture}. It releases a table by removing the table frame
-and cell borders. This leaves the table contents as plain text. One
-of the useful applications of @code{table-capture} and
-@code{table-release} is to edit a text in layout. Look at the
-following three paragraphs (the latter two are indented with header
-lines):
+ @kbd{M-x table-release} does the opposite: it converts a table back
+to plain text, removing its cell borders.
+
+ One application of this pair of commands is to edit a text in
+layout. Look at the following three paragraphs (the latter two are
+indented with header lines):
@example
table-capture is a powerful command.
Here are some things it can do:
-Parse Cell Items By using column delimiter regular
- expression and raw delimiter regular
- expression, it parses the specified text
- area and extracts cell items from
- non-table text and then forms a table out
- of them.
-
-Capture Text Area When no delimiters are specified it
- creates a single cell table. The text in
- the specified region is placed in that
- cell.
+Parse Cell Items Using row and column delimiter regexps,
+ it parses the specified text area and
+ extracts cell items into a table.
@end example
@noindent
-Applying @code{table-capture} to a region containing the above three
-paragraphs, with empty strings for column delimiter regexp and row
-delimiter regexp, creates a table with a single cell like the
-following one.
-
-@c The first line's right-hand frame in the following two examples
-@c sticks out to accommodate for the removal of @samp in the
-@c produced output!!
+Applying @code{table-capture} to a region containing the above text,
+with empty strings for the column and row delimiter regexps, creates a
+table with a single cell like the following one.
+
@smallexample
@group
-+-------------------------------------------------------------+
-|table-capture is a powerful command. |
-|Here are some things it can do: |
-| |
-|Parse Cell Items By using column delimiter regular |
-| expression and raw delimiter regular |
-| expression, it parses the specified text |
-| area and extracts cell items from |
-| non-table text and then forms a table out |
-| of them. |
-| |
-|Capture Text Area When no delimiters are specified it |
-| creates a single cell table. The text in |
-| the specified region is placed in that |
-| cell. |
-+-------------------------------------------------------------+
++----------------------------------------------------------+
+|table-capture is a powerful command. |
+|Here are some things it can do: |
+| |
+|Parse Cell Items Using row and column delimiter regexps,|
+| it parses the specified text area and |
+| extracts cell items into a table. |
++----------------------------------------------------------+
@end group
@end smallexample
@noindent
-By splitting the cell appropriately we now have a table consisting of
-paragraphs occupying its own cell. Each cell can now be edited
-independently without affecting the layout of other cells.
+We can then use the cell splitting commands (@pxref{Cell Commands}) to
+subdivide the table so that each paragraph occupies a cell:
@smallexample
-+--------------------------------------------------------------+
-|table-capture is a powerful command. |
-|Here are some things it can do: |
-+------------------+-------------------------------------------+
-|Parse Cell Items |By using column delimiter regular |
-| |expression and raw delimiter regular |
-| |expression, it parses the specified text |
-| |area and extracts cell items from |
-| |non-table text and then forms a table out |
-| |of them. |
-+------------------+-------------------------------------------+
-|Capture Text Area |When no delimiters are specified it |
-| |creates a single cell table. The text in |
-| |the specified region is placed in that |
-| |cell. |
-+------------------+-------------------------------------------+
++----------------------------------------------------------+
+|table-capture is a powerful command. |
+|Here are some things it can do: |
++-----------------+----------------------------------------+
+|Parse Cell Items | Using row and column delimiter regexps,|
+| | it parses the specified text area and |
+| | extracts cell items into a table. |
++-----------------+----------------------------------------+
@end smallexample
@noindent
-By applying @code{table-release}, which does the opposite process, the
-contents become once again plain text. @code{table-release} works as
-a companion command to @code{table-capture}.
+Each cell can now be edited independently without affecting the layout
+of other cells. When finished, we can invoke @kbd{M-x table-release}
+to convert the table back to plain text.
-@node Measuring Tables
-@subsection Analyzing Table Dimensions
-@cindex table dimensions
+@node Table Misc
+@subsection Table Miscellany
+@cindex table dimensions
@findex table-query-dimension
- The command @code{table-query-dimension} analyzes a table structure
-and reports information regarding its dimensions. In case of the
-above example table, the @code{table-query-dimension} command displays
-in echo area:
+ The command @code{table-query-dimension} reports the layout of the
+table and table cell at point. Here is an example of its output:
@smallexample
Cell: (21w, 6h), Table: (67w, 16h), Dim: (2c, 3r), Total Cells: 5
@end smallexample
@noindent
-This indicates that the current cell is 21 character wide and 6 lines
-high, the entire table is 67 characters wide and 16 lines high. The
-table has 2 columns and 3 rows. It has a total of 5 cells, since the
-first row has a spanned cell.
-
-@node Table Misc
-@subsection Table Miscellany
+This indicates that the current cell is 21 characters wide and 6 lines
+high, the table is 67 characters wide and 16 lines high with 2 columns
+and 3 rows, and a total of 5 cells.
-@cindex insert string into table cells
@findex table-insert-sequence
- The command @code{table-insert-sequence} inserts a string into each
-cell. Each string is a part of a sequence i.e.@: a series of
-increasing integer numbers.
+ @kbd{M-x table-insert-sequence} inserts a string into each cell.
+Each string is a part of a sequence i.e.@: a series of increasing
+integer numbers.
-@cindex table in language format
@cindex table for HTML and LaTeX
@findex table-generate-source
- The command @code{table-generate-source} generates a table formatted
-for a specific markup language. It asks for a language (which must be
-one of @code{html}, @code{latex}, or @code{cals}), a destination
-buffer where to put the result, and the table caption (a string), and
-then inserts the generated table in the proper syntax into the
-destination buffer. The default destination buffer is
-@code{table.@var{lang}}, where @var{lang} is the language you
-specified.
+ @kbd{M-x table-generate-source} generates a table formatted for a
+specific markup language. It asks for a language (which must be one
+of @code{html}, @code{latex}, or @code{cals}), a destination buffer in
+which to put the result, and a table caption, and then inserts the
+generated table into the specified buffer. The default destination
+buffer is @code{table.@var{lang}}, where @var{lang} is the language
+you specified.
@node Two-Column
@section Two-Column Editing
@@ -2848,11 +2569,9 @@ specified.
@cindex splitting columns
@cindex columns, splitting
- Two-column mode lets you conveniently edit two side-by-side columns of
-text. It uses two side-by-side windows, each showing its own
-buffer.
-
- There are three ways to enter two-column mode:
+ Two-column mode lets you conveniently edit two side-by-side columns
+of text. It uses two side-by-side windows, each showing its own
+buffer. There are three ways to enter two-column mode:
@table @asis
@item @kbd{@key{F2} 2} or @kbd{C-x 6 2}
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi
index ad2040c9047..6a6f7b1a4d7 100644
--- a/doc/emacs/windows.texi
+++ b/doc/emacs/windows.texi
@@ -34,11 +34,11 @@ has its own value of point.
@cindex selected window
At any time, one Emacs window is the @dfn{selected window}; the
-buffer this window is displaying is the current buffer. Each window
-has its own value of point. On graphical displays, the point is
-indicated by a solid blinking cursor in the selected window, and by a
-hollow box in non-selected windows. On text-only terminals, the
-cursor is drawn only in the selected window. @xref{Cursor Display}.
+buffer this window is displaying is the current buffer. On graphical
+displays, the point is indicated by a solid blinking cursor in the
+selected window, and by a hollow box in non-selected windows. On
+text-only terminals, the cursor is drawn only in the selected window.
+@xref{Cursor Display}.
Commands to move point affect the value of point for the selected
Emacs window only. They do not change the value of point in other
@@ -193,6 +193,7 @@ Select buffer @var{bufname} in another window
@findex display-buffer
@item C-x 4 C-o @var{bufname} @key{RET}
+@kindex C-x 4 C-o
Display buffer @var{bufname} in some window, without trying to select
it (@code{display-buffer}). @xref{Displaying Buffers}, for details
about how the window is chosen.
@@ -385,7 +386,8 @@ change @code{pop-up-frames} (see below) to @code{t}.
@item
Otherwise, if you specified that the buffer should be displayed in a
special frame by customizing @code{special-display-buffer-names} or
-@code{special-display-regexps}, do so. @xref{Special Buffer Frames}.
+@code{special-display-regexps}, do so. @xref{Choosing Window
+Options,,, elisp, The Emacs Lisp Reference Manual}.
@vindex pop-up-frames
@item
@@ -420,7 +422,7 @@ and display the buffer there.
@end itemize
@node Window Convenience
-@section Window Handling Convenience Features and Customization
+@section Convenience Features for Window Handling
@findex winner-mode
@cindex Winner mode
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi
index c2e65268d1b..b32b3d905e4 100644
--- a/doc/emacs/xresources.texi
+++ b/doc/emacs/xresources.texi
@@ -306,14 +306,14 @@ Name to display in the title bar of the initial Emacs frame.
@item @code{toolBar} (class @code{ToolBar})
@cindex tool bar
Number of lines to reserve for the tool bar. A zero value suppresses
-the tool bar. For the Emacs tool bar (i.e. not Gtk+), if the value is
-non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's
-size will be changed automatically so that all tool bar items are visible.
- If the value of @code{auto-resize-tool-bars} is @code{grow-only},
-the tool bar expands automatically, but does not contract automatically.
-To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
-For the Gtk+ tool bar, any non-zero value means on and
-@code{auto-resize-tool-bars} has no effect.
+the tool bar. For the Emacs tool bar (i.e.@: not Gtk+), if the value
+is non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the
+tool bar's size will be changed automatically so that all tool bar
+items are visible. If the value of @code{auto-resize-tool-bars} is
+@code{grow-only}, the tool bar expands automatically, but does not
+contract automatically. To contract the tool bar, you must redraw the
+frame by entering @kbd{C-l}. For the Gtk+ tool bar, any non-zero
+value means on and @code{auto-resize-tool-bars} has no effect.
@item @code{useXIM} (class @code{UseXIM})
@cindex XIM
@@ -641,17 +641,18 @@ The color for the border shadow, on the top and the left.
@node GTK resources
@appendixsec GTK resources
@iftex
- The most common way to customize the GTK widgets Emacs uses (menus, dialogs
-tool bars and scroll bars) is by choosing an appropriate theme, for example
-with the GNOME theme selector.
-
-You can also do Emacs specific customization
-by inserting GTK style directives in the file @file{~/.emacs.d/gtkrc},
-but only if you have a Gtk+ version earlier than 3 (i.e. 2). Some GTK
-themes ignore customizations in @file{~/.emacs.d/gtkrc} so not everything
-works with all themes. To customize Emacs font, background, faces, etc., use
-the normal X resources (@pxref{Resources}). We will present some examples of
-customizations here, but for a more detailed description, see the online manual
+ The most common way to customize the GTK widgets Emacs uses (menus,
+dialogs tool bars and scroll bars) is by choosing an appropriate
+theme, for example with the GNOME theme selector.
+
+You can also do Emacs specific customization by inserting GTK style
+directives in the file @file{~/.emacs.d/gtkrc}, but only if you have a
+Gtk+ version earlier than 3 (i.e.@: 2). Some GTK themes ignore
+customizations in @file{~/.emacs.d/gtkrc} so not everything works with
+all themes. To customize Emacs font, background, faces, etc., use the
+normal X resources (@pxref{Resources}). We will present some examples
+of customizations here, but for a more detailed description, see the
+online manual
The first example is just one line. It changes the font on all GTK widgets
to courier with size 12:
@@ -1065,7 +1066,7 @@ possible states are:
This is the default state for widgets.
@item ACTIVE
This is the state for a widget that is ready to do something. It is
-also for the trough of a scroll bar, i.e. @code{bg[ACTIVE] = "red"}
+also for the trough of a scroll bar, i.e.@: @code{bg[ACTIVE] = "red"}
sets the scroll bar trough to red. Buttons that have been pressed but
not released yet (``armed'') are in this state.
@item PRELIGHT
@@ -1109,7 +1110,7 @@ You can't specify the file by its absolute file name. GTK looks for
the pixmap file in directories specified in @code{pixmap_path}.
@code{pixmap_path} is a colon-separated list of directories within
double quotes, specified at the top level in a @file{gtkrc} file
-(i.e. not inside a style definition; see example above):
+(i.e.@: not inside a style definition; see example above):
@smallexample
pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
@@ -1131,19 +1132,18 @@ Bold 12}, @samp{Courier 14}, @samp{Times 18}. See below for exact
syntax. The names are case insensitive.
@end table
- There are three ways to specify a color: by name, in hexadecimal
-form, and with an RGB triplet.
+ There are three ways to specify a color: a color name, an RGB
+triplet, or a GTK-style RGB triplet. @xref{Colors}, for a description
+of color names and RGB triplets. Color names should be enclosed with
+double quotes, e.g.@: @samp{"red"}. RGB triplets should be written
+without double quotes, e.g.@: @samp{#ff0000}. GTK-style RGB triplets
+have the form
-@noindent
-A color name is written within double quotes, for example @code{"red"}.
-
-@noindent
-Hexadecimal form is the same as in X:
-@code{#@var{rrrr}@var{gggg}@var{bbbb}}, where all three color specs
-must have the same number of hex digits (1, 2, 3 or 4).
+@smallexample
+@code{@{ @var{r}, @var{g}, @var{b} @}}
+@end smallexample
@noindent
-An RGB triplet looks like @code{@{ @var{r}, @var{g}, @var{b} @}},
where @var{r}, @var{g} and @var{b} are either integers in the range
0-65535 or floats in the range 0.0-1.0.
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index bdcd9e9aea8..6cede6375f2 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Update dependencies.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* emacs-lisp-intro.texi (etags): Fix typo.
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index ef04626e95f..23d0d5a8f34 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -887,7 +887,7 @@ but in this case, it is best to treat it as a novel or as a travel guide
to a country not yet visited: interesting, but not the same as being
there.
-Much of this introduction is dedicated to walk-throughs or guided tours
+Much of this introduction is dedicated to walkthroughs or guided tours
of code used in GNU Emacs. These tours are designed for two purposes:
first, to give you familiarity with real, working code (code you use
every day); and, second, to give you familiarity with the way Emacs
@@ -1401,7 +1401,7 @@ This is a harmless activity; and indeed, we will often try to generate
error messages intentionally. Once you understand the jargon, error
messages can be informative. Instead of being called ``error''
messages, they should be called ``help'' messages. They are like
-signposts to a traveller in a strange country; deciphering them can be
+signposts to a traveler in a strange country; deciphering them can be
hard, but once understood, they can point the way.
The error message is generated by a built-in GNU Emacs debugger. We
@@ -2040,7 +2040,7 @@ the first argument. This function takes three arguments. Its first
argument is the string of characters, the second and third arguments are
numbers that indicate the beginning and end of the substring. The
numbers are a count of the number of characters (including spaces and
-punctuations) from the beginning of the string.
+punctuation) from the beginning of the string.
@need 800
For example, if you evaluate the following:
diff --git a/doc/lispintro/makefile.w32-in b/doc/lispintro/makefile.w32-in
index 7294d46b693..06641cc2222 100644
--- a/doc/lispintro/makefile.w32-in
+++ b/doc/lispintro/makefile.w32-in
@@ -24,7 +24,7 @@ infodir = $(srcdir)/../../info
# Directory with the (customized) texinfo.tex file.
texinfodir = $(srcdir)/../misc
-INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi
+INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(srcdir)/doclicense.texi
# The file name eintr must fit within 5 characters, to allow for
# -NN extensions to fit into DOS 8+3 limits without clashing
INFO_TARGETS = $(infodir)/eintr
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 0fa50492481..d620c9e3c4c 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,71 @@
+2011-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * text.texi (Special Properties): Warn against `intangible' properties
+ (bug#10222).
+
+2011-11-26 Eli Zaretskii <eliz@gnu.org>
+
+ * display.texi (Truncation):
+ * text.texi (Special Properties): Describe what a stretch-glyph is
+ instead of using that term without explanation. Make the
+ cross-references more accurate.
+
+ * display.texi (Usual Display): Update the description,
+ cross-references, and indexing related to display of control
+ characters and raw bytes.
+
+2011-11-25 Martin Rudalics <rudalics@gmx.at>
+
+ * windows.texi (Splitting Windows): Fix description of
+ window-combination-limit. Suggested by Eli Zaretskii.
+
+2011-11-23 Chong Yidong <cyd@gnu.org>
+
+ * windows.texi (Window Sizes): Move window-top-line,
+ window-left-column, and window-*-pixel-edges to Coordinates and
+ Windows node.
+ (Coordinates and Windows): Restore window-edges doc.
+
+2011-11-21 Martin Rudalics <rudalics@gmx.at>
+
+ * windows.texi (Windows and Frames, Splitting Windows):
+ Fix typos.
+
+2011-11-21 Chong Yidong <cyd@gnu.org>
+
+ * windows.texi (Splitting Windows): Fix error in documentation of
+ window-combination-limit.
+ (Cyclic Window Ordering): Minor fixes to next-window,
+ one-window-p, and get-lru-window docs. Don't document
+ window-list-1.
+ (Buffers and Windows): Copyedits.
+ (Choosing Window): Document special handling of special-display-*.
+ (Choosing Window Options): Fix display-buffer-reuse-frames doc.
+ Don't document even-window-heights, which is going away.
+ Clarify which options are obeyed by which action functions.
+
+2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * display.texi (Invisible Text): Clarify point adjustment (bug#10072).
+
+2011-11-20 Martin Rudalics <rudalics@gmx.at>
+
+ * windows.texi (Resizing Windows, Splitting Windows):
+ Remove term "status" when talking about combination limits.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * compile.texi (Compiler Errors):
+ * help.texi (Help Functions): Fix typos.
+
+2011-11-19 Chong Yidong <cyd@gnu.org>
+
+ * windows.texi (Splitting Windows): Clarify role of window
+ parameters in split-window. Shorten the example.
+ (Deleting Windows): Rewrite intro to handle internal windows.
+ Fix delete-windows-on doc.
+ (Selecting Windows): Copyedits.
+
2011-11-17 Martin Rudalics <rudalics@gmx.at>
* windows.texi (Resizing Windows, Splitting Windows)
@@ -6,8 +74,8 @@
2011-11-16 Martin Rudalics <rudalics@gmx.at>
- * windows.texi (Resizing Windows, Splitting Windows): Rename
- occurrences of window-nest to window-combination-limit.
+ * windows.texi (Resizing Windows, Splitting Windows):
+ Rename occurrences of window-nest to window-combination-limit.
2011-11-14 Juanma Barranquero <lekktu@gmail.com>
@@ -15,8 +83,8 @@
2011-11-12 Martin Rudalics <rudalics@gmx.at>
- * windows.texi (Splitting Windows, Deleting Windows): Remove
- references to splits status of windows.
+ * windows.texi (Splitting Windows, Deleting Windows):
+ Remove references to splits status of windows.
2011-11-10 Glenn Morris <rgm@gnu.org>
@@ -68,8 +136,8 @@
(Windows and Frames): Various clarifications, e.g. non-live
windows also belong to frames. Fix window-list description.
Simplify window nesting example.
- (Splitting Windows, Window Configurations): Use
- split-window-below.
+ (Splitting Windows, Window Configurations):
+ Use split-window-below.
2011-11-04 Eli Zaretskii <eliz@gnu.org>
@@ -119,8 +187,8 @@
2011-10-05 Chong Yidong <cyd@stupidchicken.com>
- * display.texi (Low-Level Font, Face Attributes, Font Lookup): Fix
- Emacs manual xref (Bug#9675).
+ * display.texi (Low-Level Font, Face Attributes, Font Lookup):
+ Fix Emacs manual xref (Bug#9675).
2011-10-01 Chong Yidong <cyd@stupidchicken.com>
@@ -159,8 +227,8 @@
* windows.texi (Window History): New node. Move text here from
Buffers and Windows.
(Switching Buffers): Rename from Displaying Buffers, since we
- don't document display-buffer here; callers changed. Document
- FORCE-SAME-WINDOW arg to switch-to-buffer and
+ don't document display-buffer here; callers changed.
+ Document FORCE-SAME-WINDOW arg to switch-to-buffer and
switch-to-buffer-other-frame. Delete duplicate
replace-buffer-in-windows doc.
(Choosing Window): Document display actions.
@@ -191,10 +259,10 @@
Provide examples. Describe window-nest and window-splits
options.
(Deleting Windows): Minor rewrite.
- (Selecting Windows): Minor rewrite. Describe
- frame-selected-window and set-frame-selected-window here.
- (Cyclic Window Ordering): Minor rewrite. Describe
- window-list-1.
+ (Selecting Windows): Minor rewrite.
+ Describe frame-selected-window and set-frame-selected-window here.
+ (Cyclic Window Ordering): Minor rewrite.
+ Describe window-list-1.
(Buffers and Windows): Rewrite. Explain a window's previous and
next buffers and the corresponding functions.
(Window Tree): Merge into Windows and Frames section.
@@ -296,8 +364,8 @@
* display.texi (Bidirectional Display): Document the pitfalls of
concatenating strings with bidirectional content, with possible
- solutions. Document bidi-string-mark-left-to-right. Mention
- paragraph direction in modes that inherit from prog-mode.
+ solutions. Document bidi-string-mark-left-to-right.
+ Mention paragraph direction in modes that inherit from prog-mode.
Document use of `bidi-class' and `mirroring' properties as part of
reordering.
@@ -353,8 +421,8 @@
the next character, and doesn't affect longer sequences in
particular (bug#8935).
- * debugging.texi (Using Debugger): Mention
- @code{eval-expression-debug-on-error} (bug#8549).
+ * debugging.texi (Using Debugger):
+ Mention @code{eval-expression-debug-on-error} (bug#8549).
2011-07-14 Eli Zaretskii <eliz@gnu.org>
@@ -503,7 +571,7 @@
2011-06-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * processes.texi (Process Information): Renamed `process-alive-p'
+ * processes.texi (Process Information): Rename `process-alive-p'
to `process-live-p' for consistency with other `-live-p' functions.
2011-06-03 Paul Eggert <eggert@cs.ucla.edu>
@@ -520,8 +588,8 @@
2011-05-31 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * processes.texi (Process Information): Document
- `process-alive-p'.
+ * processes.texi (Process Information):
+ Document `process-alive-p'.
2011-05-29 Chong Yidong <cyd@stupidchicken.com>
@@ -1919,8 +1987,8 @@
2009-05-09 Eli Zaretskii <eliz@gnu.org>
- * nonascii.texi (Default Coding Systems): Document
- find-auto-coding, set-auto-coding, and auto-coding-alist.
+ * nonascii.texi (Default Coding Systems):
+ Document find-auto-coding, set-auto-coding, and auto-coding-alist.
Add indexing.
(Lisp and Coding Systems): Add index entries.
@@ -2237,7 +2305,7 @@
(Future Local Variables): Node deleted.
* objects.texi (General Escape Syntax): Update explanation of
- unicode escape syntax.
+ Unicode escape syntax.
2009-02-23 Chong Yidong <cyd@stupidchicken.com>
@@ -5151,8 +5219,8 @@
(Saving Buffers): Mention code and EOL conversions by file I/O
primitives and subroutines.
- * nonascii.texi (Lisp and Coding Systems): Document
- coding-system-eol-type. Add index entries for eol conversion.
+ * nonascii.texi (Lisp and Coding Systems):
+ Document coding-system-eol-type. Add index entries for eol conversion.
* display.texi (Defining Faces): Mention `mac', and add an xref to
where window-system is described.
@@ -9102,7 +9170,7 @@
* functions.texi (Defining Functions): Explain about redefining
primitives.
- (Function Safety): Renamed. Minor changes.
+ (Function Safety): Rename. Minor changes.
Comment out the detailed criteria for what is safe.
2003-06-22 Andreas Schwab <schwab@suse.de>
@@ -9603,7 +9671,7 @@
* Makefile (infodir, prefix): New vars.
(install): Use infodir.
- (emacsinfodir): Deleted.
+ (emacsinfodir): Delete.
1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
@@ -9614,7 +9682,7 @@
1993-05-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
- * Makefile (dist): Changed to use Gzip instead of compress.
+ * Makefile (dist): Change to use Gzip instead of compress.
1993-04-23 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index e76b2bafd79..41392273fbd 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -946,10 +946,9 @@ If the last event came from a keyboard macro, the value is @code{macro}.
It is not easy to display a value of point in the middle of a
sequence of text that has the @code{display}, @code{composition} or
-@code{intangible} property, or is invisible. Therefore, after a
-command finishes and returns to the command loop, if point is within
-such a sequence, the command loop normally moves point to the edge of
-the sequence.
+is invisible. Therefore, after a command finishes and returns to the
+command loop, if point is within such a sequence, the command loop
+normally moves point to the edge of the sequence.
A command can inhibit this feature by setting the variable
@code{disable-point-adjustment}:
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index fe5563370c4..372c041ab7a 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -528,7 +528,7 @@ but the compiler does not issue warnings for anything that occurs
inside @var{body}.
We recommend that you use this construct around the smallest
-possible piece of code, to avoid missing possible warnings other than one
+possible piece of code, to avoid missing possible warnings other than
one you intend to suppress.
@end defspec
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 034d92f78c3..a9921d7443d 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -193,10 +193,12 @@ a window, that forces truncation.
@defvar wrap-prefix
If this buffer-local variable is non-@code{nil}, it defines a
``prefix'' that is prepended to every continuation line at
-display-time. (If lines are truncated, the wrap-prefix is never
-used.) It may be a string, an image, or a stretch-glyph; the value is
-interpreted in the same way as a @code{display} text property.
-@xref{Display Property}.
+display time. (If lines are truncated, the wrap-prefix is never
+used.) It may be a string or an image (@pxref{Other Display Specs}),
+or a stretch of whitespace such as specified by the @code{:width} or
+@code{:align-to} display properties (@pxref{Specified Space}). The
+value is interpreted in the same way as a @code{display} text
+property. @xref{Display Property}.
A wrap-prefix may also be specified for regions of text, using the
@code{wrap-prefix} text or overlay property. This takes precedence
@@ -206,9 +208,11 @@ over the @code{wrap-prefix} variable. @xref{Special Properties}.
@defvar line-prefix
If this buffer-local variable is non-@code{nil}, it defines a
``prefix'' that is prepended to every non-continuation line at
-display-time. It may be a string, an image, or a stretch-glyph; the
-value is interpreted in the same way as a @code{display} text
-property. @xref{Display Property}.
+display time. It may be a string or an image (@pxref{Other Display
+Specs}), or a stretch of whitespace such as specified by the
+@code{:width} or @code{:align-to} display properties (@pxref{Specified
+Space}). The value is interpreted in the same way as a @code{display}
+text property. @xref{Display Property}.
A line-prefix may also be specified for regions of text using the
@code{line-prefix} text or overlay property. This takes precedence
@@ -870,15 +874,21 @@ ignore invisible newlines if @code{line-move-ignore-invisible} is
non-@code{nil} (the default), but only because they are explicitly
programmed to do so.
- However, if a command ends with point inside or immediately before
-invisible text, the main editing loop moves point further forward or
-further backward (in the same direction that the command already moved
-it) until that condition is no longer true. Thus, if the command
-moved point back into an invisible range, Emacs moves point back to
-the beginning of that range, and then back one more character. If the
-command moved point forward into an invisible range, Emacs moves point
-forward up to the first visible character that follows the invisible
-text.
+ However, if a command ends with point inside or at the boundary of invisible
+text, the main editing loop moves point to one of the two ends of the invisible
+text. Which end to move to is chosen based on the following factors: make sure
+that the overall movement of the command is still in the same direction, and
+prefer a position where an inserted char would not inherit the @code{invisible}
+property. Additionally, if the text is not replaced by an ellipsis and the
+command only moved within the invisible text, then point is moved one extra
+character so as to try and reflect the command's movement by a visible movement
+of the cursor.
+
+ Thus, if the command moved point back to an invisible range (with the usual
+stickiness), Emacs moves point back to the beginning of that range. If the
+command moved point forward into an invisible range, Emacs moves point forward
+to the first visible character that follows the invisible text and then forward
+one more character.
Incremental search can make invisible overlays visible temporarily
and/or permanently when a match includes invisible text. To enable
@@ -4546,7 +4556,7 @@ you may prefer to use a different one for a given image type (which
@c FIXME how is this priority determined?
loader will be used in practice depends on the priority of the loaders).
@c FIXME why are these uppercase when image-types is lower-case?
-@c FIXME what are the possibe options? Are these actually file extensions?
+@c FIXME what are the possible options? Are these actually file extensions?
For example, if you never want to use the ImageMagick loader to use
JPEG files, add @code{JPG} to this list.
@@ -5632,39 +5642,45 @@ code. You can override these conventions by setting up a display table
@itemize @bullet
@item
Character codes 32 through 126 map to glyph codes 32 through 126.
-Normally this means they display as themselves.
+Normally this means they display as themselves, but a display table
+can change that.
@item
Character code 9 is a horizontal tab. It displays as whitespace
up to a position determined by @code{tab-width}.
@item
-Character code 10 is a newline.
+Character code 10 is a newline. It is normally invisible on display,
+and has the effect of ending the preceding line and starting a new
+line.
@item
-All other codes in the range 0 through 31, and code 127, display in one
-of two ways according to the value of @code{ctl-arrow}. If it is
-non-@code{nil}, these codes map to sequences of two glyphs, where the
-first glyph is the @acronym{ASCII} code for @samp{^}. (A display table can
-specify a glyph to use instead of @samp{^}.) Otherwise, these codes map
-just like the codes in the range 128 to 255.
-
-On MS-DOS terminals, Emacs arranges by default for the character code
-127 to be mapped to the glyph code 127, which normally displays as an
-empty polygon. This glyph is used to display non-@acronym{ASCII} characters
-that the MS-DOS terminal doesn't support. @xref{MS-DOS and MULE,,,
-emacs, The GNU Emacs Manual}.
-
+All other codes in the range 0 through 31 display in one of two ways
+according to the value of @code{ctl-arrow}. If it is non-@code{nil},
+these codes map to sequences of two glyphs, where the first glyph is
+the @acronym{ASCII} code for @samp{^}. (A display table can specify a
+glyph to use instead of @samp{^}.) Otherwise, these codes map just
+like the raw bytes in the range 128 to 255 (described below).
+
+@cindex octal escapes
@item
-Character codes 128 through 255 map to sequences of four glyphs, where
-the first glyph is the @acronym{ASCII} code for @samp{\}, and the others are
-digit characters representing the character code in octal. (A display
-table can specify a glyph to use instead of @samp{\}.)
+Raw bytes (@pxref{Text Representations}) with codes 128 through 255,
+and the @acronym{ASCII} control character with code 127, display as
+sequences of four glyphs, where the first glyph is the @acronym{ASCII}
+code for @samp{\}, and the others are digit characters representing
+the character code in octal. (A display table can specify a glyph to
+use instead of @samp{\}.) This is known as the @dfn{octal escape}
+display.
@item
-Multibyte character codes above 256 are displayed as themselves, or as
-a question mark or a hex code or an empty box if the terminal cannot
-display that character.
+Non-@acronym{ASCII} character codes above 127 are displayed as
+themselves, if the terminal and the available fonts support them.
+Characters that are not supported by the terminal, or (on window
+systems) have no fonts available for them, are displayed as a question
+mark or a hex code or an empty box. @xref{Glyphless Chars}, for how
+to control display of the characters not supported by the terminal or
+fonts. Display tables can change how a character is displayed, even
+if it is supported.
@end itemize
The usual display conventions apply even when there is a display
@@ -5689,7 +5705,8 @@ mode line using the new values, call the function
This buffer-local variable controls how control characters are
displayed. If it is non-@code{nil}, they are displayed as a caret
followed by the character: @samp{^A}. If it is @code{nil}, they are
-displayed as a backslash followed by three octal digits: @samp{\001}.
+displayed as octal escapes: a backslash followed by three octal
+digits, as in @samp{\001}.
@end defopt
@defopt tab-width
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index d2e86a77112..dad1f28026e 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -953,7 +953,7 @@ variable, Emacs uses the latter. By default,
The @code{alpha} frame parameter can also be a cons cell
@code{(@samp{active} . @samp{inactive})}, where @samp{active} is the
opacity of the frame when it is selected, and @samp{inactive} is the
-opactity when it is not selected.
+opacity when it is not selected.
@end table
The following frame parameters are semi-obsolete in that they are
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 0ce05d55a07..3426e81cdb3 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -653,7 +653,7 @@ buffer, which is used to regenerate the help information when the user
clicks on the @samp{Back} or @samp{Forward} buttons. Most commands
that use the @samp{*Help*} buffer should invoke this function before
clearing the buffer. The @var{item} argument should have the form
-@code{(@var{funtion} . @var{args})}, where @var{funtion} is a function
+@code{(@var{function} . @var{args})}, where @var{function} is a function
to call, with argument list @var{args}, to regenerate the help buffer.
The @var{interactive-p} argument is non-@code{nil} if the calling
command was invoked interactively; in that case, the stack of items
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index fe7c805c6f7..a601ed0c2c0 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1213,7 +1213,7 @@ match data around it, to prevent it from being overwritten.
Notice that all functions are allowed to overwrite the match data
unless they're explicitly documented not to do so. A consequence is
-that functions that are run implictly in the background
+that functions that are run implicitly in the background
(@pxref{Timers}, and @ref{Idle Timers}) should likely save and restore
the match data explicitly.
diff --git a/doc/lispref/spellfile b/doc/lispref/spellfile
index e66dcc88f71..e0d77ee0541 100644
--- a/doc/lispref/spellfile
+++ b/doc/lispref/spellfile
@@ -253,7 +253,6 @@ deletable
deletion'
delq
depiction
-descendents
deselecting
destructive'
destructively'
@@ -299,7 +298,6 @@ excess'
exec
exitcode
expression'
-extendible
extra'
fails'
fascist
@@ -376,7 +374,6 @@ inserting'
integerp
intermixed
ints
-inturned
irreversibly
jum
keymapp
@@ -530,7 +527,6 @@ pointer'
pointm
pos
preallocate
-predicale
preload
prepend
prepended
@@ -641,7 +637,7 @@ suspension'
symbolp
symlink
syms
-syntatic
+syntactic
tabname
temacs
temporarily'
@@ -662,7 +658,7 @@ the'
tildes
time's
to'
-towars
+towards
transportable
txt
types'
@@ -676,7 +672,6 @@ undefine
undefines
underfull
undo's
-undodata
unevaluated'
unexec
unexpand
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 3a081dddc61..f7f9c716162 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3145,6 +3145,12 @@ group is separately treated as described above.
When the variable @code{inhibit-point-motion-hooks} is non-@code{nil},
the @code{intangible} property is ignored.
+Beware: this property operates at a very low level, and affects a lot of code
+in unexpected ways. So use it with extreme caution. A common misuse is to put
+an intangible property on invisible text, which is actually unnecessary since
+the command loop will move point outside of the invisible text at the end of
+each command anyway. @xref{Adjusting Point}.
+
@item field
@kindex field @r{(text property)}
Consecutive characters with the same @code{field} property constitute a
@@ -3191,10 +3197,12 @@ controls the total height of the display line ending in that newline.
@item wrap-prefix
If text has a @code{wrap-prefix} property, the prefix it defines will
-be added at display-time to the beginning of every continuation line
+be added at display time to the beginning of every continuation line
due to text wrapping (so if lines are truncated, the wrap-prefix is
-never used). It may be a string, an image, or a stretch-glyph such as
-used by the @code{display} text-property. @xref{Display Property}.
+never used). It may be a string or an image (@pxref{Other Display
+Specs}), or a stretch of whitespace such as specified by the
+@code{:width} or @code{:align-to} display properties (@pxref{Specified
+Space}).
A wrap-prefix may also be specified for an entire buffer using the
@code{wrap-prefix} buffer-local variable (however, a
@@ -3203,9 +3211,11 @@ the @code{wrap-prefix} variable). @xref{Truncation}.
@item line-prefix
If text has a @code{line-prefix} property, the prefix it defines will
-be added at display-time to the beginning of every non-continuation
-line. It may be a string, an image, or a stretch-glyph such as used
-by the @code{display} text-property. @xref{Display Property}.
+be added at display time to the beginning of every non-continuation
+line. It may be a string or an image (@pxref{Other Display
+Specs}), or a stretch of whitespace such as specified by the
+@code{:width} or @code{:align-to} display properties (@pxref{Specified
+Space}).
A line-prefix may also be specified for an entire buffer using the
@code{line-prefix} buffer-local variable (however, a
@@ -3762,7 +3772,7 @@ Additionally, if two fields are separated by another field with the
special value @code{boundary}, then any point within this special
field is also considered to be ``on the boundary.''
-Commands like @kbd{C-a} with no argumemt, that normally move backward
+Commands like @kbd{C-a} with no argument, that normally move backward
to a specific kind of location and stay there once there, probably
should specify @code{nil} for @var{escape-from-edge}. Other motion
commands that check fields should probably pass @code{t}.
@@ -4322,5 +4332,3 @@ If you do want modification hooks to be run in a particular piece of
code that is itself run from a modification hook, then rebind locally
@code{inhibit-modification-hooks} to @code{nil}.
@end defvar
-
-
diff --git a/doc/lispref/two-volume-cross-refs.txt b/doc/lispref/two-volume-cross-refs.txt
index 53a9f58cd01..6eb11a92f47 100644
--- a/doc/lispref/two-volume-cross-refs.txt
+++ b/doc/lispref/two-volume-cross-refs.txt
@@ -34,7 +34,7 @@ where each volume starts with a higher page number since I find it
harder to go to the right place in the volume.)
References to the same volume are just the page number; references to
-the other volume are a volumne number (in Roman numerals) preceding
+the other volume are a volume number (in Roman numerals) preceding
the page number.
For example, in Volume I:
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 8c99a06909b..437b6db8d58 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -110,6 +110,7 @@ including for the case where @var{object} is a deleted window.
@end defun
@cindex selected window
+@cindex window selected within a frame
In each frame, at any time, exactly one Emacs window is designated
as @dfn{selected within the frame}. For the selected frame, that
window is called the @dfn{selected window}---the one in which most
@@ -148,10 +149,10 @@ the minibuffer window in the returned list. If @var{minibuffer} is
active. If @var{minibuffer} is neither @code{nil} nor @code{t}, the
minibuffer window is never included.
-The optional argument @var{window}, if non-@code{nil}, should be a
-live window on the specified frame; then @var{window} will be the
-first element in the returned list. If @var{window} is omitted or
-@code{nil}, the window selected within the frame is first element.
+The optional argument @var{window}, if non-@code{nil}, should be a live
+window on the specified frame; then @var{window} will be the first
+element in the returned list. If @var{window} is omitted or @code{nil},
+the window selected within the frame is the first element.
@end defun
@cindex window tree
@@ -375,7 +376,7 @@ Bars}). At the top of the window is an optional header line
line (@pxref{Mode Line Format}).
Emacs provides several functions for finding the height and width of
-a window. Except where noted, these heights and widths are reported
+a window. Except where noted, Emacs reports window heights and widths
as integer numbers of lines and columns respectively. On a graphical
display, each ``line'' and ``column'' actually corresponds to the
height and width of a ``default'' character specified by the frame's
@@ -438,26 +439,6 @@ that of the root window on that frame. If @var{window} is omitted or
@code{nil}, it defaults to the selected window.
@end defun
-@cindex window position
- The following functions can be used to determine the position of a
-window relative to the window area of its frame:
-
-@defun window-top-line &optional window
-This function returns the distance, in lines, between the top of
-@var{window} and the top of the frame's window area. For instance,
-the return value is 0 if there is no window above @var{window}. If
-@var{window} is omitted or @code{nil}, it defaults to the selected
-window.
-@end defun
-
-@defun window-left-column &optional window
-This function returns the distance, in columns, between the left edge
-of @var{window} and the left edge of the frame's window area. For
-instance, the return value is 0 if there is no window to the left of
-@var{window}. If @var{window} is omitted or @code{nil}, it defaults
-to the selected window.
-@end defun
-
@cindex window body height
@cindex body height of a window
@cindex window body width
@@ -534,45 +515,12 @@ can be resized in the desired direction. To determine that, use the
function @code{window-resizable}. @xref{Resizing Windows}.
@end defun
- The following functions can be used to find a window's size and
-position in pixels. Though mostly useful on graphical displays, they
-can also be called on text-only terminals, where the screen area of
-each text character is taken to be ``one pixel''.
-
-@defun window-pixel-edges &optional window
-This function return a list of pixel coordinates for the edges of
-@var{window}. If @var{window} is omitted or @code{nil}, it defaults
-to the selected window.
-
-The return value has the form @code{(@var{left} @var{top} @var{right}
-@var{bottom})}. The list elements are, respectively, the X coordinate
-of the left window edge, the Y coordinate of the top edge, one more
-than the X coordinate of the right edge, and one more than the Y
-coordinate of the bottom edge. The origin coordinate @samp{(0,0)} is
-taken to be the top left corner of the frame's window area.
-
-These edge values include the space used by the window's scroll bar,
-margins, fringes, header line, and mode line, if any.
-@end defun
-
-@defun window-inside-pixel-edges &optional window
-This function is like @code{window-pixel-edges}, except that it
-returns the edge coordinates for the window's text area, rather than
-the edge coordinates for the window itself. @var{window} must specify
-a live window.
-@end defun
-
-@defun window-absolute-pixel-edges &optional window
-This function is like @code{window-pixel-edges}, except that it
-returns the edge coordinates relative to the top left corner of the
-display screen.
-@end defun
-
-@defun window-inside-absolute-pixel-edges &optional window
-This function is like @code{window-inside-pixel-edges}, except that it
-returns the edge coordinates relative to the top left corner of the
-display screen. @var{window} must specify a live window.
-@end defun
+ @xref{Coordinates and Windows}, for more functions that report the
+positions of various parts of a window relative to the frame, from
+which you can calculate its size. In particular, you can use the
+functions @code{window-pixel-edges} and
+@code{window-inside-pixel-edges} to find the size in pixels, for
+graphical displays.
@node Resizing Windows
@section Resizing Windows
@@ -634,9 +582,9 @@ function @code{window-resizable} above.
The choice of which window edges this function alters depends on the
values of the option @code{window-combination-resize} and the
-combination-limit status of the involved windows; in some cases, it may
-alter both edges. @xref{Splitting Windows}. To resize by moving only
-the bottom or right edge of a window, use the function
+combination limits of the involved windows; in some cases, it may alter
+both edges. @xref{Splitting Windows}. To resize by moving only the
+bottom or right edge of a window, use the function
@code{adjust-window-trailing-edge}, below.
@end defun
@@ -774,22 +722,24 @@ properties from it, including margins and scroll bars. If
@var{window} is an internal window, the new window inherits the
properties of the window selected within @var{window}'s frame.
-If the variable @code{ignore-window-parameters} is non-@code{nil}
-(@pxref{Window Parameters}), this function ignores window parameters.
-Otherwise, it consults the @code{split-window} parameter of
-@var{window}; if this is @code{t}, it splits the window disregarding
-any other window parameters. If the @code{split-window} parameter
-specifies a function, that function is called with the arguments
-@var{window}, @var{size}, and @var{side} to split @var{window}, in
-lieu of the usual action of @code{split-window}.
+The behavior of this function may be altered by the window parameters
+of @var{window}, so long as the variable
+@code{ignore-window-parameters} is non-@code{nil}. If the value of
+the @code{split-window} window parameter is @code{t}, this function
+ignores all other window parameters. Otherwise, if the value of the
+@code{split-window} window parameter is a function, that function is
+called with the arguments @var{window}, @var{size}, and @var{side}, in
+lieu of the usual action of @code{split-window}. Otherwise, this
+function obeys the @code{window-atom} or @code{window-side} window
+parameter, if any. @xref{Window Parameters}.
@end deffn
- As an example, we show a combination of @code{split-window} calls
-that yields the window configuration discussed in @ref{Windows and
-Frames}. This example demonstrates splitting a live window as well as
-splitting an internal window. We begin with a frame containing a
-single window (a live root window), which we denote by @var{W4}.
-Calling @code{(split-window W3)} yields this window configuration:
+ As an example, here is a sequence of @code{split-window} calls that
+yields the window configuration discussed in @ref{Windows and Frames}.
+This example demonstrates splitting a live window as well as splitting
+an internal window. We begin with a frame containing a single window
+(a live root window), which we denote by @var{W4}. Calling
+@code{(split-window W4)} yields this window configuration:
@smallexample
@group
@@ -841,9 +791,6 @@ A new live window @var{W2} is created, to the left of the internal
window @var{W3}. A new internal window @var{W1} is created, becoming
the new root window.
- The following two options can be used to modify the operation of
-@code{split-window}.
-
@defopt window-combination-resize
If this variable is @code{nil}, @code{split-window} can only split a
window (denoted by @var{window}) if @var{window}'s screen area is
@@ -854,18 +801,17 @@ If this variable is non-@code{nil}, @code{split-window} tries to
resize all windows that are part of the same combination as
@var{window}, in order to accommodate the new window. In particular,
this may allow @code{split-window} to succeed even if @var{window} is
-a fixed-size window or too small to ordinarily split.
-
-Also if this variable is non-@code{nil}, subsequent resizing and
-deleting @var{window} will usually affect @emph{all} windows in
-@var{window}'s combination.
+a fixed-size window or too small to ordinarily split. Furthermore,
+subsequently resizing or deleting @var{window} may resize all other
+windows in its combination.
-The setting of this variable has no effect if
-@code{window-combination-limit} (see below) is non-@code{nil}.
+This variable has no effect if @code{window-combination-limit} is
+non-@code{nil} (see below).
@end defopt
-To illustrate the use of @code{window-combination-resize} consider the
-following window configuration:
+ To illustrate the effect of @code{window-combination-resize},
+consider the following window configuration:
+
@smallexample
@group
______________________________________
@@ -886,9 +832,10 @@ following window configuration:
@end group
@end smallexample
-Splitting window @code{W3} with @code{window-combination-resize}
-@code{nil} produces a configuration where the size of @code{W2} remains
-unchanged:
+@noindent
+If @code{window-combination-resize} is @code{nil}, splitting window
+@code{W3} leaves the size of @code{W2} unchanged:
+
@smallexample
@group
______________________________________
@@ -909,8 +856,11 @@ unchanged:
@end group
@end smallexample
-Splitting @code{W3} with @code{window-combination-resize} non-@code{nil}
-instead steals the space for @code{W4} from both @code{W2} and @code{W3}:
+@noindent
+If @code{window-combination-resize} is non-@code{nil}, splitting
+@code{W3} instead leaves all three live windows with approximately the
+same height:
+
@smallexample
@group
______________________________________
@@ -932,53 +882,52 @@ instead steals the space for @code{W4} from both @code{W2} and @code{W3}:
@end smallexample
@defopt window-combination-limit
-If this variable is @code{nil}, @code{split-window} creates a new parent
-window if and only if the old window has no parent window or shall be
-split orthogonally to the combination it is part of. If this variable
-is @code{t}, @code{split-window} always creates a new parent window. If
-this variable is always @code{t}, a frame's window tree is a binary tree
-so every window but the frame's root window has exactly one sibling.
-Other values are reserved for future use.
-
-The value of this variable is also assigned to the combination-limit
-status of the new parent window. The combination-limit status of any
-window can be retrieved via the function @code{window-combination-limit}
-and altered by the function @code{set-window-combination-limit}, see
-below.
+If the value of this variable is @code{t}, the @code{split-window}
+function always creates a new internal window. If the value is
+@code{nil}, the new live window is allowed to share the existing
+parent window, if one exists, provided the split occurs in the same
+direction as the existing window combination (otherwise, a new
+internal window is created anyway). The default is @code{nil}. Other
+values are reserved for future use.
+
+Thus, if the value of this variable is at all times @code{t}, then at
+all times every window tree is a binary tree (a tree where each window
+except the root window has exactly one sibling).
+
+Furthermore, @code{split-window} calls
+@code{set-window-combination-limit} on the newly-created internal
+window, recording the current value of this variable. This affects
+how the window tree is rearranged when the child windows are deleted
+(see below).
@end defopt
-@defun window-combination-limit &optional window
-This function returns the combination-limit status of @var{window}. The
-argument @var{window} can be any window and defaults to the selected
-one. Note, however, that the combination-limit status is currently
-meaningful for internal windows only.
-
-@cindex combination-limit status
-The @dfn{combination-limit status} of a window specifies whether that
-window may be removed and its child windows recombined with that
-window's siblings when such a sibling's child window is deleted. The
-combination-limit status is initially assigned by @code{split-window}
-from the current value of the variable @code{window-combination-limit}
-(see above) and can be reset by the function
-@code{set-window-combination-limit} (see below).
-
-If the return value is @code{nil}, child windows of @var{window} may be
-recombined with @var{window}'s siblings when a window gets deleted. A
-return value of @code{nil} means that child windows of @var{window} are
-never (re-)combined with @var{window}'s siblings in such a case.
-@end defun
-
-@defun set-window-combination-limit window &optional status
-This functions sets the combination-limit status (see above) of
-@var{window} to @var{status}. The argument @var{window} can be any
-window and defaults to the selected one. Note that setting the
-combination-limit status is meaningful for internal windows only. The
-return value is @var{status}.
-@end defun
-
-To illustrate the use of @code{window-combination-limit} consider the
-following configuration (throughout the following examples we shall
-assume that @code{window-combination-resize} invariantly is @code{nil}).
+@cindex window combination limit
+@defun set-window-combination-limit window limit
+This functions sets the @dfn{combination limit} of the window
+@var{window} to @var{limit}. This value can be retrieved via the
+function @code{window-combination-limit}. See below for its effects;
+note that it is only meaningful for internal windows. The
+@code{split-window} function automatically calls this function, passing
+the value of the variable @code{window-combination-limit} as
+@var{limit}.
+@end defun
+
+@defun window-combination-limit window
+This function returns the combination limit for @var{window}.
+
+The combination limit is meaningful only for an internal window. If
+it is @code{nil}, then Emacs is allowed to automatically delete
+@var{window}, in response to a window deletion, in order to group the
+child windows of @var{window} with its sibling windows to form a new
+window combination. If the combination limit is @code{t}, the child
+windows of @var{window} are never automatically re-combined with its
+siblings.
+@end defun
+
+ To illustrate the effect of @code{window-combination-limit},
+consider the following configuration (throughout this example, we will
+assume that @code{window-combination-resize} is @code{nil}):
+
@smallexample
@group
______________________________________
@@ -999,31 +948,10 @@ assume that @code{window-combination-resize} invariantly is @code{nil}).
@end group
@end smallexample
-Splitting @code{W2} into two windows above each other with
-@code{window-combination-limit} equal @code{nil} will get you a
-configuration like:
-@smallexample
-@group
- ______________________________________
- | ____________________________________ |
- || ||
- || ||
- ||_________________W2_________________||
- | ____________________________________ |
- || ||
- || ||
- ||_________________W4_________________||
- | ____________________________________ |
- || ||
- || ||
- ||_________________W3_________________||
- |__________________W1__________________|
-
-@end group
-@end smallexample
+@noindent
+If @code{window-combination-limit} is @code{nil}, splitting @code{W2}
+into two windows, one above the other, yields
-If you now enlarge window @code{W4}, Emacs steals the necessary space
-from window @code{W3} resulting in a configuration like:
@smallexample
@group
______________________________________
@@ -1034,43 +962,24 @@ from window @code{W3} resulting in a configuration like:
| ____________________________________ |
|| ||
|| ||
- || ||
||_________________W4_________________||
| ____________________________________ |
|| ||
+ || ||
||_________________W3_________________||
|__________________W1__________________|
@end group
@end smallexample
-Deleting window @code{W4}, will return its space to @code{W2} as
-follows:
-@smallexample
-@group
- ______________________________________
- | ____________________________________ |
- || ||
- || ||
- || ||
- || ||
- || ||
- || ||
- || ||
- ||_________________W2_________________||
- | ____________________________________ |
- || ||
- ||_________________W3_________________||
- |__________________W1__________________|
+@noindent
+The newly-created window, @code{W4}, shares the same internal window
+@code{W1}. If @code{W4} is resized, it is allowed to resize the other
+live window, @code{W3}.
-@end group
-@end smallexample
+ If @code{window-combination-limit} is @code{t}, splitting @code{W2}
+in the initial configuration would instead have produced this:
-Hence, with respect to the initial configuration, window @code{W2} has
-grown at the expense of window @code{W3}. If, however, in the initial
-configuration you had split @code{W2} with
-@code{window-combination-limit} bound to @code{t}, a new internal window
-@code{W5} would have been created as depicted below.
@smallexample
@group
______________________________________
@@ -1091,143 +1000,110 @@ configuration you had split @code{W2} with
@end group
@end smallexample
-Enlarging @code{W4} would now have stolen the necessary space from
-@code{W2} instead of @code{W3} as
-@smallexample
-@group
- ______________________________________
- | ____________________________________ |
- || __________________________________ ||
- |||________________W2________________|||
- || __________________________________ ||
- ||| |||
- ||| |||
- |||________________W4________________|||
- ||_________________W5_________________||
- | ____________________________________ |
- || ||
- || ||
- ||_________________W3_________________||
- |__________________W1__________________|
-
-@end group
-@end smallexample
+@noindent
+A new internal window @code{W5} has been created; its children are
+@code{W2} and the new live window @code{W4}. Now, @code{W2} is the
+only sibling of @code{W4}, so resizing @code{W4} will resize
+@code{W2}, leaving @code{W3} unaffected.
-and the subsequent deletion of @code{W4} would have restored the initial
-configuration.
+ For interactive use, Emacs provides two commands which always split
+the selected window. These call @code{split-window} internally.
-For interactive use, Emacs provides two commands which always split the
-selected window.
+@deffn Command split-window-right &optional size
+This function splits the selected window into two side-by-side
+windows, putting the selected window on the left. If @var{size} is
+positive, the left window gets @var{size} columns; if @var{size} is
+negative, the right window gets @minus{}@var{size} columns.
+@end deffn
@deffn Command split-window-below &optional size
-This function splits the selected window into two windows, one above the
-other, leaving the upper of the two windows selected, with @var{size}
-lines. (If @var{size} is negative, then the lower of the two windows
-gets @minus{}@var{size} lines and the upper window gets the rest, but
-the upper window is still the one selected.) However, if
-@code{split-window-keep-point} (see below) is @code{nil}, then either
-window can be selected.
-
- In other respects, this function is similar to @code{split-window}.
-In particular, the upper window is the original one and the return value
-is the new, lower window.
+This function splits the selected window into two windows, one above
+the other, leaving the upper window selected. If @var{size} is
+positive, the upper window gets @var{size} lines; if @var{size} is
+negative, the lower window gets @minus{}@var{size} lines.
@end deffn
@defopt split-window-keep-point
-If this variable is non-@code{nil} (the default), then
+If the value of this variable is non-@code{nil} (the default),
@code{split-window-below} behaves as described above.
- If it is @code{nil}, then @code{split-window-below} adjusts point
-in each of the two windows to avoid scrolling. (This is useful on
-slow terminals.) It selects whichever window contains the screen line
-that point was previously on. Other functions are not affected by
-this variable.
+If it is @code{nil}, @code{split-window-below} adjusts point in each
+of the two windows to minimize redisplay. (This is useful on slow
+terminals.) It selects whichever window contains the screen line that
+point was previously on. Note that this only affects
+@code{split-window-below}, not the lower-level @code{split-window}
+function.
@end defopt
-@deffn Command split-window-right &optional size
-This function splits the selected window into two windows
-side-by-side, leaving the selected window on the left with @var{size}
-columns. If @var{size} is negative, the rightmost window gets
-@minus{}@var{size} columns, but the leftmost window still remains
-selected.
-@end deffn
-
-
@node Deleting Windows
@section Deleting Windows
@cindex deleting windows
-A window remains visible on its frame unless you @dfn{delete} it by
-calling certain functions that delete windows. A deleted window cannot
-appear on the screen, but continues to exist as a Lisp object until
-there are no references to it. There is no way to cancel the deletion
-of a window aside from restoring a saved window configuration
-(@pxref{Window Configurations}). Restoring a window configuration also
-deletes any windows that aren't part of that configuration. Erroneous
-information may result from using a deleted window as if it were live.
+ @dfn{Deleting} a window removes it from the frame's window tree. If
+the window is a live window, it disappears from the screen. If the
+window is an internal window, its child windows are deleted too.
-@deffn Command delete-window &optional window
-This function removes @var{window} from display and returns @code{nil}.
-The argument @var{window} can denote any window and defaults to the
-selected one. An error is signaled if @var{window} is the only window
-on its frame. Hence @var{window} must have at least one sibling window
-(@pxref{Windows and Frames}) in order to get deleted. If @var{window}
-is the selected window on its frame, this function selects the most
-recently selected live window on that frame instead.
-
-If the variable @code{ignore-window-parameters} (@pxref{Window
-Parameters}) is non-@code{nil}, this function ignores all parameters of
-@var{window}. Otherwise, if the @code{delete-window} parameter of
-@var{window} is @code{t}, it deletes the window disregarding other
-window parameters. If the @code{delete-window} parameter specifies a
-function, that function is called with @var{window} as its sole
-argument.
+ Even after a window is deleted, it continues to exist as a Lisp
+object, until there are no more references to it. Window deletion can
+be reversed, by restoring a saved window configuration (@pxref{Window
+Configurations}).
-If @code{window-combination-resize} (@pxref{Splitting Windows}) is
-@code{nil}, the space @var{window} took up is given to its left sibling
-if such a window exists and to its right sibling otherwise. If
-@code{window-combination-resize} is non-@code{nil}, the space of
-@var{window} is proportionally distributed among the remaining windows
-in the same combination.
+@deffn Command delete-window &optional window
+This function removes @var{window} from display and returns
+@code{nil}. If @var{window} is omitted or @code{nil}, it defaults to
+the selected window. If deleting the window would leave no more
+windows in the window tree (e.g. if it is the only live window in the
+frame), an error is signaled.
+
+By default, the space taken up by @var{window} is given to one of its
+adjacent sibling windows, if any. However, if the variable
+@code{window-combination-resize} is non-@code{nil}, the space is
+proportionally distributed among any remaining windows in the window
+combination. @xref{Splitting Windows}.
+
+The behavior of this function may be altered by the window parameters
+of @var{window}, so long as the variable
+@code{ignore-window-parameters} is non-@code{nil}. If the value of
+the @code{delete-window} window parameter is @code{t}, this function
+ignores all other window parameters. Otherwise, if the value of the
+@code{delete-window} window parameter is a function, that function is
+called with the argument @var{window}, in lieu of the usual action of
+@code{delete-window}. Otherwise, this function obeys the
+@code{window-atom} or @code{window-side} window parameter, if any.
+@xref{Window Parameters}.
@end deffn
@deffn Command delete-other-windows &optional window
-This function makes @var{window} fill its frame and returns @code{nil}.
-The argument @var{window} can denote an arbitrary window and defaults to
-the selected one. Upon exit, @var{window} will be the selected window
-on its frame.
-
-If the variable @code{ignore-window-parameters} (@pxref{Window
-Parameters}) is non-@code{nil}, this function ignores all parameters of
-@var{window}. Otherwise, if the @code{delete-other-windows} parameter
-of @var{window} equals @code{t}, it deletes all other windows
-disregarding any remaining window parameters. If the
-@code{delete-other-windows} parameter of @var{window} specifies a
-function, it calls that function with @var{window} as its sole argument.
+This function makes @var{window} fill its frame, by deleting other
+windows as necessary. If @var{window} is omitted or @code{nil}, it
+defaults to the selected window. The return value is @code{nil}.
+
+The behavior of this function may be altered by the window parameters
+of @var{window}, so long as the variable
+@code{ignore-window-parameters} is non-@code{nil}. If the value of
+the @code{delete-other-windows} window parameter is @code{t}, this
+function ignores all other window parameters. Otherwise, if the value
+of the @code{delete-other-windows} window parameter is a function,
+that function is called with the argument @var{window}, in lieu of the
+usual action of @code{delete-other-windows}. Otherwise, this function
+obeys the @code{window-atom} or @code{window-side} window parameter,
+if any. @xref{Window Parameters}.
@end deffn
@deffn Command delete-windows-on &optional buffer-or-name frame
-This function deletes all windows showing @var{buffer-or-name}. If
-there are no windows showing @var{buffer-or-name}, it does nothing.
-The optional argument @var{buffer-or-name} may be a buffer or the name
-of an existing buffer and defaults to the current buffer. Invoking
-this command on a minibuffer signals an error.
-
-The function @code{delete-windows-on} operates by calling
-@code{delete-window} for each window showing @var{buffer-or-name}. If a
-frame has several windows showing different buffers, then those showing
-@var{buffer-or-name} are removed, and the other windows expand to fill
-the space.
-
-If all windows in some frame are showing @var{buffer-or-name} (including
-the case where there is only one window), then that frame is deleted
-provided there are other frames left.
-
-The optional argument @var{frame} specifies which frames to operate on.
-This function does not use it in quite the same way as the other
-functions which scan all live windows (@pxref{Cyclic Window Ordering});
-specifically, the values @code{t} and @code{nil} have the opposite of
-their meanings in the other functions. Here are the full details:
+This function deletes all windows showing @var{buffer-or-name}, by
+calling @code{delete-window} on those windows. @var{buffer-or-name}
+should be a buffer, or the name of a buffer; if omitted or @code{nil},
+it defaults to the current buffer. If there are no windows showing
+the specified buffer, this function does nothing. If the specified
+buffer is a minibuffer, an error is signaled.
+
+If there is a dedicated window showing the buffer, and that window is
+the only one on its frame, this function also deletes that frame if it
+is not the only frame on the terminal.
+
+The optional argument @var{frame} specifies which frames to operate
+on:
@itemize @bullet
@item @code{nil}
@@ -1241,34 +1117,37 @@ means operate on all visible or iconified frames.
@item A frame
means operate on that frame.
@end itemize
-@end deffn
+Note that this argument does not have the same meaning as in other
+functions which scan all live windows (@pxref{Cyclic Window
+Ordering}). Specifically, the values @code{t} and @code{nil} have the
+opposite of their meanings in those other functions.
+@end deffn
@node Selecting Windows
@section Selecting Windows
@cindex selecting a window
@defun select-window window &optional norecord
-This function makes @var{window} the selected window, see @ref{Basic
-Windows}. Unless @var{window} already is the selected window, this also
-makes @var{window}'s buffer (@pxref{Buffers and Windows}) the current
-buffer. Moreover, the cursor for selected windows will be displayed in
-@var{window} after the next redisplay. This function returns
-@var{window}.
+This function makes @var{window} the selected window, as well as the
+window selected within its frame (@pxref{Basic Windows}).
+@var{window} must be a live window. Unless @var{window} already is the
+selected window, its buffer becomes the current buffer (@pxref{Buffers
+and Windows}). The return value is @var{window}.
-Normally, @var{window}'s selected buffer is moved to the front of the
-buffer list (@pxref{The Buffer List}) and @var{window} becomes the most
-recently selected window. But if the optional argument @var{norecord}
-is non-@code{nil}, the buffer list remains unchanged and @var{window}
-does not become the most recently selected one.
+By default, this function also moves @var{window}'s selected buffer to
+the front of the buffer list (@pxref{The Buffer List}), and makes
+@var{window} the most recently selected window. However, if the
+optional argument @var{norecord} is non-@code{nil}, these additional
+actions are omitted.
@end defun
@cindex most recently selected windows
-The sequence of calls to @code{select-window} with a non-@code{nil}
+ The sequence of calls to @code{select-window} with a non-@code{nil}
@var{norecord} argument determines an ordering of windows by their
selection time. The function @code{get-lru-window} can be used to
-retrieve the least recently selected live window in this ordering, see
-@ref{Cyclic Window Ordering}.
+retrieve the least recently selected live window (@pxref{Cyclic Window
+Ordering}).
@defmac save-selected-window forms@dots{}
This macro records the selected frame, as well as the selected window
@@ -1300,33 +1179,26 @@ The order of recently selected windows and the buffer list are not
changed by this macro.
@end defmac
-@cindex frame selected window
-@cindex window selected within frame
-Earlier (@pxref{Basic Windows}) we mentioned that at any time, exactly
-one window on any frame is selected within the frame. The significance
-of this designation is that selecting the frame also selects this
-window. Conversely, selecting a window for Emacs with
-@code{select-window} also makes that window selected within its frame.
-
-@defun frame-selected-window &optional frame
-This function returns the window on @var{frame} that is selected within
-@var{frame}. The optional argument @var{frame} must denote a live frame
-and defaults to the selected one.
+@defun frame-selected-window &optional frame
+This function returns the window on @var{frame} that is selected
+within that frame. @var{frame} should be a live frame; if omitted or
+@code{nil}, it defaults to the selected frame.
@end defun
@defun set-frame-selected-window frame window &optional norecord
-This function sets the selected window of frame @var{frame} to
-@var{window}. The argument @var{frame} must denote a live frame and
-defaults to the selected one. If @var{frame} is the selected frame,
-this also makes @var{window} the selected window. The argument
-@var{window} must denote a live window. This function returns
-@var{window}.
+This function makes @code{window} the window selected within the frame
+@var{frame}. @var{frame} should be a live frame; if omitted or
+@code{nil}, it defaults to the selected frame. @var{window} should be
+a live window; if omitted or @code{nil}, it defaults to the selected
+window.
-Optional argument @var{norecord} non-@code{nil} means to neither change
-the list of most recently selected windows (@pxref{Selecting Windows})
-nor the buffer list (@pxref{The Buffer List}).
-@end defun
+If @var{frame} is the selected frame, this makes @var{window} the
+selected window.
+If the optional argument @var{norecord} is non-@code{nil}, this
+function does not alter the list of most recently selected windows,
+nor the buffer list.
+@end defun
@node Cyclic Window Ordering
@section Cyclic Ordering of Windows
@@ -1334,28 +1206,22 @@ nor the buffer list (@pxref{The Buffer List}).
@cindex ordering of windows, cyclic
@cindex window ordering, cyclic
-When you use the command @kbd{C-x o} (@code{other-window}) to select
+ When you use the command @kbd{C-x o} (@code{other-window}) to select
some other window, it moves through live windows in a specific order.
-For any given configuration of windows, this order never varies. It is
-called the @dfn{cyclic ordering of windows}.
-
- For a particular frame, this ordering is determined by the window
-tree of that frame, see @ref{Windows and Frames}. More precisely, the
-ordering is obtained by a depth-first traversal of the frame's window
-tree supplemented, if requested, by the frame's minibuffer window.
+For any given configuration of windows, this order never varies. It
+is called the @dfn{cyclic ordering of windows}.
- If there's just one live frame, the cyclic ordering is the ordering
-for that frame. Otherwise, the cyclic ordering is obtained by appending
-the orderings for individual frames in order of the list of all live
-frames, @ref{Finding All Frames}. In any case, the ordering is made
-``cyclic'' by having the last window precede the first window in the
-ordering.
+ The ordering is determined by a depth-first traversal of the frame's
+window tree, retrieving the live windows which are the leaf nodes of
+the tree (@pxref{Windows and Frames}). If the minibuffer is active,
+the minibuffer window is included too. The ordering is cyclic, so the
+last window in the sequence is followed by the first one.
@defun next-window &optional window minibuf all-frames
@cindex minibuffer window, and @code{next-window}
-This function returns the window following @var{window} in the cyclic
-ordering of windows. The argument @var{window} must specify a live
-window and defaults to the selected one.
+This function returns a live window, the one following @var{window} in
+the cyclic ordering of windows. @var{window} should be a live window;
+if omitted or @code{nil}, it defaults to the selected window.
The optional argument @var{minibuf} specifies whether minibuffer windows
shall be included in the cyclic ordering. Normally, when @var{minibuf}
@@ -1369,139 +1235,100 @@ minibuffer windows. If @var{minibuf} is neither @code{t} nor
@code{nil}, minibuffer windows are not included even if they are active.
The optional argument @var{all-frames} specifies which frames to
-consider. Here are the possible values and their meanings:
+consider:
@itemize @bullet
@item @code{nil}
-means consider all windows on @var{window}'s frame, plus the minibuffer
-window used by that frame even if it lies in some other frame. If the
-minibuffer counts (as determined by @var{minibuf}), then all windows on
-all frames that share that minibuffer count too.
+means to consider windows on @var{window}'s frame. If the minibuffer
+window is considered (as specified by the @var{minibuf} argument),
+then frames that share the minibuffer window are considered too.
@item @code{t}
-means consider all windows on all existing frames.
+means to consider windows on all existing frames.
@item @code{visible}
-means consider all windows on all visible frames. (To get useful
-results, ensure that @var{window} is on a visible frame.)
+means to consider windows on all visible frames.
@item 0
-means consider all windows on all visible or iconified frames.
+means to consider windows on all visible or iconified frames.
@item A frame
-means consider all windows on that frame.
+means to consider windows on that specific frame.
@item Anything else
-means consider the windows on @var{window}'s frame, and no others.
+means to consider windows on @var{window}'s frame, and no others.
@end itemize
-This example assumes there are two windows, both displaying the
-buffer @samp{windows.texi}:
-
-@example
-@group
-(selected-window)
- @result{} #<window 56 on windows.texi>
-@end group
-@group
-(next-window (selected-window))
- @result{} #<window 52 on windows.texi>
-@end group
-@group
-(next-window (next-window (selected-window)))
- @result{} #<window 56 on windows.texi>
-@end group
-@end example
+If more than one frame is considered, the cyclic ordering is obtained
+by appending the orderings for those frames, in the same order as the
+list of all live frames (@pxref{Finding All Frames}).
@end defun
@defun previous-window &optional window minibuf all-frames
-This function returns the window preceding @var{window} in the cyclic
-ordering of windows. The other arguments specify which windows to
-consider as in @code{next-window}.
+This function returns a live window, the one preceding @var{window} in
+the cyclic ordering of windows. The other arguments are handled like
+in @code{next-window}.
@end defun
@deffn Command other-window count &optional all-frames
-This function selects another window in the cyclic ordering of windows.
-@var{count} specifies the number of windows to skip in the ordering,
-starting with the selected window, before making the selection. If
-@var{count} is a positive number, it skips @var{count} windows forwards.
-@var{count} negative means skip @minus{}@var{count} windows backwards.
-If @var{count} is zero, it does not skip any window, thus re-selecting
-the selected window. In an interactive call, @var{count} is the numeric
-prefix argument.
+This function selects a live window, one @var{count} places from the
+selected window in the cyclic ordering of windows. If @var{count} is
+a positive number, it skips @var{count} windows forwards; if
+@var{count} is negative, it skips @minus{}@var{count} windows
+backwards; if @var{count} is zero, that simply re-selects the selected
+window. When called interactively, @var{count} is the numeric prefix
+argument.
The optional argument @var{all-frames} has the same meaning as in
-@code{next-window}, but the @var{minibuf} argument of @code{next-window}
-is always effectively @code{nil}. This function returns @code{nil}.
+@code{next-window}, like a @code{nil} @var{minibuf} argument to
+@code{next-window}.
This function does not select a window that has a non-@code{nil}
@code{no-other-window} window parameter (@pxref{Window Parameters}).
@end deffn
-The following function returns a copy of the list of windows in the
-cyclic ordering.
-
-@defun window-list-1 &optional window &optional minibuf &optional all_frames
-This function returns a list of live windows. The optional arguments
-@var{minibuf} and @var{all-frames} specify the set of windows to include
-in the list. See the description of @code{next-window} for details.
-
-The optional argument @var{window} specifies the first window to list
-and defaults to the selected window. If @var{window} is not on the list
-of windows returned, some other window will be listed first but no error
-is signaled.
-@end defun
-
-The functions described below use @code{window-list-1} for generating a
-copy of the list of all relevant windows. Hence, any change of the
-window configuration that occurs while one of these functions is
-executed is @emph{not} reflected in the list of windows investigated.
+@defun walk-windows fun &optional minibuf all-frames
+This function calls the function @var{fun} once for each live window,
+with the window as the argument.
-@defun walk-windows proc &optional minibuf all-frames
-This function cycles through live windows. It calls the function
-@var{proc} once for each window, with the window as its sole argument.
-
-The optional arguments @var{minibuf} and @var{all-frames} specify the
-set of windows to include in the walk, see @code{next-window} above. If
-@var{all-frames} specifies a frame, the first window walked is the first
-window on that frame as returned by @code{frame-first-window} and not
-necessarily the selected window.
+It follows the cyclic ordering of windows. The optional arguments
+@var{minibuf} and @var{all-frames} specify the set of windows
+included; these have the same arguments as in @code{next-window}. If
+@var{all-frames} specifies a frame, the first window walked is the
+first window on that frame (the one returned by
+@code{frame-first-window}), not necessarily the selected window.
-If @var{proc} changes the window configuration by splitting or deleting
-windows, that change is not reflected in the set of windows walked.
-That set is determined entirely by the set of live windows at the time
-this function was invoked.
+If @var{fun} changes the window configuration by splitting or deleting
+windows, that does not alter the set of windows walked, which is
+determined prior to calling @var{fun} for the first time.
@end defun
-The following function allows to determine whether a specific window is
-the only live window.
-
@defun one-window-p &optional no-mini all-frames
-This function returns non-@code{nil} if the selected window is the only
-window.
+This function returns @code{t} if the selected window is the only live
+window, and @code{nil} otherwise.
-The optional argument @var{no-mini}, if non-@code{nil}, means don't
-count the minibuffer even if it is active; otherwise, the minibuffer
-window is counted when it is active. The optional argument
-@var{all-frames} has the same meaning as for @code{next-window}, see
-above.
+If the minibuffer window is active, it is normally considered (so that
+this function returns @code{nil}). However, if the optional argument
+@var{no-mini} is non-@code{nil}, the minibuffer window is ignored even
+if active. The optional argument @var{all-frames} has the same
+meaning as for @code{next-window}.
@end defun
@cindex finding windows
- The following functions choose (but do not select) one of the windows
-on the screen, offering various criteria for the choice.
+ The following functions return a window which satisfies some
+criterion, without selecting it:
@cindex least recently used window
@defun get-lru-window &optional all-frames dedicated
-This function returns the window least recently ``used'' (that is,
-selected). If any full-width windows are present, it only considers
-these. The optional argument @var{all-frames} has the same meaning as
-in @code{next-window}.
+This function returns a live window which is heuristically the ``least
+recently used'' window. The optional argument @var{all-frames} has
+the same meaning as in @code{next-window}.
-The selected window is returned if it is the only candidate. A
-minibuffer window is never a candidate. A dedicated window
-(@pxref{Dedicated Windows}) is never a candidate unless the optional
-argument @var{dedicated} is non-@code{nil}.
+If any full-width windows are present, only those windows are
+considered. The selected window is never returned, unless it is the
+only candidate. A minibuffer window is never a candidate. A
+dedicated window (@pxref{Dedicated Windows}) is never a candidate
+unless the optional argument @var{dedicated} is non-@code{nil}.
@end defun
@cindex largest window
@@ -1515,22 +1342,23 @@ If there are two candidate windows of the same size, this function
prefers the one that comes first in the cyclic ordering of windows,
starting from the selected window.
-The optional argument @var{all-frames} specifies which set of windows to
-consider as with @code{next-window}, see above.
+The optional argument @var{all-frames} specifies the windows to
+search, and has the same meaning as in @code{next-window}.
@end defun
@cindex window that satisfies a predicate
@cindex conditional selection of windows
@defun get-window-with-predicate predicate &optional minibuf all-frames default
-This function returns a window satisfying @var{predicate}. It cycles
-through all visible windows calling @var{predicate} on each one of them
-with that window as its argument. The function returns the first window
-for which @var{predicate} returns a non-@code{nil} value; if that never
-happens, it returns @var{default} (which defaults to @code{nil}).
+This function calls the function @var{predicate} for each of the
+windows in the cyclic order of windows in turn, passing it the window
+as an argument. If the predicate returns non-@code{nil} for any
+window, this function stops and returns that window. If no such
+window is found, the return value is @var{default} (which defaults to
+@code{nil}).
The optional arguments @var{minibuf} and @var{all-frames} specify the
-set of windows to investigate. See the description of
-@code{next-window} for details.
+windows to search, and have the same meanings as in
+@code{next-window}.
@end defun
@node Buffers and Windows
@@ -1539,47 +1367,41 @@ set of windows to investigate. See the description of
@cindex windows, controlling precisely
@cindex buffers, controlled in windows
-To find out which buffer is displayed in a given window the following
-function is used.
+ This section describes low-level functions for examining and setting
+the contents of windows. @xref{Switching Buffers}, for higher-level
+functions for displaying a specific buffer in a window.
@defun window-buffer &optional window
-This function returns the buffer that @var{window} is displaying. The
-argument @var{window} can be any window and defaults to the selected
-one. If @var{window} is an internal window, this function returns
+This function returns the buffer that @var{window} is displaying. If
+@var{window} is omitted or @code{nil} it defaults to the selected
+window. If @var{window} is an internal window, this function returns
@code{nil}.
@end defun
-The basic, low-level function to associate a window with a buffer is
-@code{set-window-buffer}. Higher-level functions like
-@code{switch-to-buffer} and @code{display-buffer} try to obey a number
-of user customizations regulating which windows are supposed to
-display which buffers. @xref{Switching Buffers}. When writing an
-application, you should avoid using @code{set-window-buffer} unless
-you are sure you need it.
-
@defun set-window-buffer window buffer-or-name &optional keep-margins
-This function makes @var{window} display @var{buffer-or-name} and
-returns @code{nil}. The argument @var{window} has to denote a live
-window and defaults to the selected one. The argument
-@var{buffer-or-name} must specify a buffer or the name of an existing
-buffer. An error is signaled when @var{window} is @dfn{strongly}
-dedicated to its buffer (@pxref{Dedicated Windows}) and does not already
-display @var{buffer-or-name}.
-
-Normally, displaying @var{buffer-or-name} in @var{window} resets the
-window's position, display margins, fringe widths, and scroll bar
-settings based on the local variables of the specified buffer. However,
-if the optional argument @var{keep-margins} is non-@code{nil}, display
-margins and fringe widths of @var{window} remain unchanged.
-@xref{Fringes}.
-
-This function is the fundamental primitive for changing which buffer is
-displayed in a window, and all ways of doing that call this function.
-Neither the selected window nor the current buffer are changed by this
-function.
+This function makes @var{window} display @var{buffer-or-name}.
+@var{window} should be a live window; if @code{nil}, it defaults to
+the selected window. @var{buffer-or-name} should be a buffer, or the
+name of an existing buffer. This function does not change which
+window is selected, nor does it directly change which buffer is
+current (@pxref{Current Buffer}). Its return value is @code{nil}.
+
+If @var{window} is @dfn{strongly dedicated} to a buffer and
+@var{buffer-or-name} does not specify that buffer, this function
+signals an error. @xref{Dedicated Windows}.
+
+By default, this function resets @var{window}'s position, display
+margins, fringe widths, and scroll bar settings, based on the local
+variables in the specified buffer. However, if the optional argument
+@var{keep-margins} is non-@code{nil}, it leaves the display margins
+and fringe widths unchanged.
-This function runs @code{window-scroll-functions} before running
-@code{window-configuration-change-hook}, see @ref{Window Hooks}.
+When writing an application, you should normally use the higher-level
+functions described in @ref{Switching Buffers}, instead of calling
+@code{set-window-buffer} directly.
+
+This function runs @code{window-scroll-functions}, followed by
+@code{window-configuration-change-hook}. @xref{Window Hooks}.
@end defun
@defvar buffer-display-count
@@ -1589,28 +1411,26 @@ displayed in a window. It is incremented each time
@end defvar
@defvar buffer-display-time
-This variable records the time at which a buffer was last made visible
-in a window. It is always local in each buffer; each time
-@code{set-window-buffer} is called, it sets this variable to
-@code{(current-time)} in the specified buffer (@pxref{Time of Day}).
-When a buffer is first created, @code{buffer-display-time} starts out
-with the value @code{nil}.
+This buffer-local variable records the time at which a buffer was last
+displayed in a window. The value is @code{nil} if the buffer has
+never been displayed. It is updated each time
+@code{set-window-buffer} is called for the buffer, with the value
+returned by @code{current-time} (@pxref{Time of Day}).
@end defvar
@defun get-buffer-window &optional buffer-or-name all-frames
-This function returns a window displaying @var{buffer-or-name}, or
-@code{nil} if there is none. If there are several such windows, then
-the function returns the first one in the cyclic ordering of windows,
-starting from the selected window, @xref{Cyclic Window Ordering}.
+This function returns the first window displaying @var{buffer-or-name}
+in the cyclic ordering of windows, starting from the selected window
+(@pxref{Cyclic Window Ordering}). If no such window exists, the
+return value is @code{nil}.
-The argument @var{buffer-or-name} may be a buffer or a buffer name and
-defaults to the current buffer. The optional argument @var{all-frames}
-specifies which windows to consider:
+@var{buffer-or-name} should be a buffer or the name of a buffer; if
+omitted or @code{nil}, it defaults to the current buffer. The
+optional argument @var{all-frames} specifies which windows to
+consider:
@itemize @bullet
@item
-@code{nil} means consider windows on the selected frame.
-@item
@code{t} means consider windows on all existing frames.
@item
@code{visible} means consider windows on all visible frames.
@@ -1618,44 +1438,45 @@ specifies which windows to consider:
0 means consider windows on all visible or iconified frames.
@item
A frame means consider windows on that frame only.
+@item
+Any other value means consider windows on the selected frame.
@end itemize
-Observe that the behavior of @code{get-buffer-window} may differ from
-that of @code{next-window} (@pxref{Cyclic Window Ordering}) when
-@var{all-frames} equals @code{nil} or any value not listed here.
-Perhaps we will change @code{get-buffer-window} in the future to make it
-compatible with the other functions.
+Note that these meanings differ slightly from those of the
+@var{all-frames} argument to @code{next-window} (@pxref{Cyclic Window
+Ordering}). This function may be changed in a future version of Emacs
+to eliminate this discrepancy.
@end defun
@defun get-buffer-window-list &optional buffer-or-name minibuf all-frames
This function returns a list of all windows currently displaying
-@var{buffer-or-name}. The argument @var{buffer-or-name} may be a buffer
-or the name of an existing buffer and defaults to the current buffer.
+@var{buffer-or-name}. @var{buffer-or-name} should be a buffer or the
+name of an existing buffer. If omitted or @code{nil}, it defaults to
+the current buffer.
-The two remaining arguments work like the same-named arguments of
-@code{next-window} (@pxref{Cyclic Window Ordering}); they are @emph{not}
-like the optional arguments of @code{get-buffer-window}.
+The arguments @var{minibuf} and @var{all-frames} have the same
+meanings as in the function @code{next-window} (@pxref{Cyclic Window
+Ordering}). Note that the @var{all-frames} argument does @emph{not}
+behave exactly like in @code{get-buffer-window}.
@end defun
@deffn Command replace-buffer-in-windows &optional buffer-or-name
This command replaces @var{buffer-or-name} with some other buffer, in
-all windows displaying it. For each such window, it choose another
-buffer using @code{switch-to-prev-buffer} (@pxref{Window History}).
-
-The argument @var{buffer-or-name} may be a buffer, or the name of an
-existing buffer; it defaults to the current buffer.
-
-If a window displaying @var{buffer-or-name} is dedicated
-(@pxref{Dedicated Windows}) and is not the only window on its frame,
-that window is deleted. If that window is the only window on its frame
-and there are other frames on the frame's terminal, that frame is dealt
-with by the function specified by @code{frame-auto-hide-function}
-(@pxref{Quitting Windows}). Otherwise, the buffer provided by the
-function @code{switch-to-prev-buffer} (@pxref{Window History}) is
-displayed in the window instead.
+all windows displaying it. @var{buffer-or-name} should be a buffer,
+or the name of an existing buffer; if omitted or @code{nil}, it
+defaults to the current buffer.
+
+The replacement buffer in each window is chosen via
+@code{switch-to-prev-buffer} (@pxref{Window History}). Any dedicated
+window displaying @var{buffer-or-name} is deleted (@pxref{Dedicated
+Windows}), unless it is the only window on its frame---if it is the
+only window, and that frame is not the only frame on its terminal, the
+frame is ``dismissed'' by calling the function specified by
+@code{frame-auto-hide-function} (@pxref{Quitting Windows}). If the
+dedicated window is the only window on the only frame on its terminal,
+the buffer is replaced anyway.
@end deffn
-
@node Switching Buffers
@section Switching to a Buffer in a Window
@cindex switching to a buffer
@@ -1731,9 +1552,12 @@ The @var{buffer-or-name} and @var{norecord} arguments have the same
meanings as in @code{switch-to-buffer}.
@end deffn
-The above commands use @code{pop-to-buffer}, which is the function
-used by Lisp programs to flexibly display a buffer in some window and
-select that window for editing:
+The above commands use the function @code{pop-to-buffer}, which
+flexibly displays a buffer in some window and selects that window for
+editing. In turn, @code{pop-to-buffer} uses @code{display-buffer} for
+displaying the buffer. Hence, all the variables affecting
+@code{display-buffer} will affect it as well. @xref{Choosing Window},
+for the documentation of @code{display-buffer}.
@defun pop-to-buffer buffer-or-name &optional action norecord
This function makes @var{buffer-or-name} the current buffer and
@@ -1743,10 +1567,6 @@ on a different graphical frame, that frame is given input focus if
possible (@pxref{Input Focus}). The return value is the buffer that
was switched to.
-This function uses @code{display-buffer} to display the buffer, so all
-the variables affecting @code{display-buffer} will affect it as well.
-@xref{Choosing Window}.
-
If @var{buffer-or-name} is @code{nil}, it defaults to the buffer
returned by @code{other-buffer} (@pxref{The Buffer List}). If
@var{buffer-or-name} is a string that is not the name of any existing
@@ -1775,8 +1595,8 @@ used as a subroutine by many functions and commands, including
Buffers}).
@cindex display action
-@cindex action function, for display-buffer
-@cindex action alist, for display-buffer
+@cindex action function, for @code{display-buffer}
+@cindex action alist, for @code{display-buffer}
This command performs several complex steps to find a window to
display in. These steps are described by means of @dfn{display
actions}, which have the form @code{(@var{function} . @var{alist})}.
@@ -1815,6 +1635,11 @@ The variable @code{display-buffer-overriding-action}.
The user option @code{display-buffer-alist}.
@item
+A special action for handling @code{special-display-buffer-names} and
+@code{special-display-regexps}, if either of those variables is
+non-@code{nil}. @xref{Choosing Window Options}.
+
+@item
The @var{action} argument.
@item
@@ -1886,10 +1711,9 @@ This function tries to ``display'' @var{buffer} by finding a window
that is already displaying it.
If @var{alist} has a non-@code{nil} @code{inhibit-same-window} entry,
-the selected window is not eligible for reuse.
-
-If @var{alist} contains a @code{reusable-frames} entry, its value
-determines which frames to search for a reusable window:
+the selected window is not eligible for reuse. If @var{alist}
+contains a @code{reusable-frames} entry, its value determines which
+frames to search for a reusable window:
@itemize @bullet
@item
@@ -1910,17 +1734,28 @@ normally searches just the selected frame; however, if either the
variable @code{display-buffer-reuse-frames} or the variable
@code{pop-up-frames} is non-@code{nil}, it searches all frames on the
current terminal. @xref{Choosing Window Options}.
+
+If this function chooses a window on another frame, it makes that
+frame visible and raises it if necessary.
@end defun
@defun display-buffer-pop-up-frame buffer alist
This function creates a new frame, and displays the buffer in that
-frame's window.
+frame's window. It actually performs the frame creation by calling
+the function specified in @code{pop-up-frame-function}
+(@pxref{Choosing Window Options}).
@end defun
@defun display-buffer-pop-up-window buffer alist
This function tries to display @var{buffer} by splitting the largest
-or least recently-used window. It uses @code{split-window-sensibly}
-as a subroutine (@pxref{Choosing Window Options}).
+or least recently-used window (typically one on the selected frame).
+It actually performs the split by calling the function specified in
+@code{split-window-preferred-function} (@pxref{Choosing Window
+Options}).
+
+It can fail if no window splitting can be performed for some reason
+(e.g. if there is just one frame and it has an @code{unsplittable}
+frame parameter; @pxref{Buffer Parameters}).
@end defun
@defun display-buffer-use-some-window buffer alist
@@ -1937,142 +1772,108 @@ The behavior of the standard display actions of @code{display-buffer}
options.
@defopt display-buffer-reuse-frames
-If this variable is non-@code{nil}, @code{display-buffer} searches
-visible and iconified frames for a window displaying
-@var{buffer-or-name}. If there is such a window, @code{display-buffer}
-makes that window's frame visible and raises it if necessary, and
-returns the window. If there is no such window or
-@code{display-buffer-reuse-frames} is @code{nil}, the behavior of
-@code{display-buffer} is determined by the variables described next.
+If the value of this variable is non-@code{nil}, @code{display-buffer}
+may search all frames on the current terminal when looking for a
+window already displaying the specified buffer. The default is
+@code{nil}. This variable is consulted by the action function
+@code{display-buffer-reuse-window} (@pxref{Display Action Functions}).
@end defopt
@defopt pop-up-windows
-This variable specifies whether @code{display-buffer} is allowed to
-split (@pxref{Splitting Windows}) an existing window. If this variable
-is non-@code{nil}, @code{display-buffer} tries to split the largest or
-least recently used window on the selected frame. (If the selected
-frame is a minibuffer-only frame, @code{display-buffer} tries to split a
-window on another frame instead.) If this variable is @code{nil} or the
-variable @code{pop-up-frames} (see below) is non-@code{nil},
-@code{display-buffer} does not split any window.
+If the value of this variable is non-@code{nil}, @code{display-buffer}
+is allowed to split an existing window to make a new window for
+displaying in. This is the default.
+
+This variable is provided mainly for backward compatibility. It is
+obeyed by @code{display-buffer} via a special mechanism in
+@code{display-buffer-fallback-action}, which only calls the action
+function @code{display-buffer-pop-up-window} (@pxref{Display Action
+Functions}) when the value is @code{nil}. It is not consulted by
+@code{display-buffer-pop-up-window} itself, which the user may specify
+directly in @code{display-buffer-alist} etc.
@end defopt
@defopt split-window-preferred-function
-This variable must specify a function with one argument, which is a
-window. The @code{display-buffer} routines will call this function with
-one or more candidate windows when they look for a window to split. The
-function is expected to split that window and return the new window. If
-the function returns @code{nil}, this means that the argument window
-cannot (or shall not) be split.
-
-The default value of @code{split-window-preferred-function} is the
-function @code{split-window-sensibly} described below. If you
-customize this option, bear in mind that the @code{display-buffer}
-routines may call your function up to two times when trying to split a
-window. The argument of the first call is the largest window on the
-chosen frame (as returned by @code{get-largest-window}). If that call
-fails to return a live window, your function is called a second time
-with the least recently used window on that frame (as returned by
-@code{get-lru-window}).
-
-The function specified by this option may try to split any other window
-instead of the argument window. Note that the window selected at the
-time @code{display-buffer} was invoked is still selected when your
-function is called. Hence, you can split the selected window (instead
-of the largest or least recently used one) by simply ignoring the window
-argument in the body of your function. You can even choose to not split
-any window as long as the return value of your function specifies a live
-window or @code{nil}, but you are not encouraged to do so
-unconditionally. If you want @code{display-buffer} to never split any
-windows, set @code{pop-up-windows} to @code{nil}.
+This variable specifies a function for splitting a window, in order to
+make a new window for displaying a buffer. It is used by the
+@code{display-buffer-pop-up-window} action function to actually split
+the window (@pxref{Display Action Functions}).
+
+The default value is @code{split-window-sensibly}, which is documented
+below. The value must be a function that takes one argument, a
+window, and return either a new window (which is used to display the
+desired buffer) or @code{nil} (which means the splitting failed).
@end defopt
@defun split-window-sensibly window
-This function takes a window as argument and tries to split that window
-in a suitable way. The two variables described next are useful for
-tuning the behavior of this function.
+This function tries to split @code{window}, and return the newly
+created window. If @code{window} cannot be split, it returns
+@code{nil}.
+
+This function obeys the usual rules that determine when a window may
+be split (@pxref{Splitting Windows}). It first tries to split by
+placing the new window below, subject to the restriction imposed by
+@code{split-height-threshold} (see below) in addition to any other
+restrictions. If that fails, it tries to split by placing the new
+window to the right, subject to @code{split-width-threshold} (see
+below). If that fails, and the window is the only window on its
+frame, this function again tries to split and place the new window
+below, disregarding @code{split-height-threshold}. If this fails as
+well, this function gives up and returns @code{nil}.
@end defun
@defopt split-height-threshold
-This variable specifies whether @code{split-window-sensibly} may split
-windows vertically. If it is an integer, @code{split-window-sensibly}
-tries to vertically split a window only if it has at least this many
-lines. If the window has less lines, splitting fails, or the value of
-this variable is @code{nil}, @code{split-window-sensibly} will try to
-split the window horizontally, subject to restrictions of
-@code{split-width-threshold} (see below). If splitting horizontally
-fails too and the window is the only window on its frame,
-@code{split-window-sensibly} will try to split the window vertically
-disregarding the value of @code{split-height-threshold}. If this fails
-as well, @code{split-window-sensibly} returns @code{nil}.
-
-@code{split-window-sensibly} does not split vertically a window whose
-height is fixed (@pxref{Resizing Windows}). Also, it vertically splits
-a window only if the space taken up by that window can accommodate two
-windows one above the other that are both at least
-@code{window-min-height} lines tall. Moreover, if the window that shall
-be split has a mode line, @code{split-window-sensibly} does not split
-the window unless the new window can accommodate a mode line too.
+This variable, used by @code{split-window-sensibly}, specifies whether
+to split the window placing the new window below. If it is an
+integer, that means to split only if the original window has at least
+that many lines. If it is @code{nil}, that means not to split this
+way.
@end defopt
@defopt split-width-threshold
-This variable specifies whether @code{split-window-sensibly} may split
-windows horizontally. If it is an integer, @code{split-window-sensibly}
-tries to horizontally split a window only if it has at least this many
-columns. If it is @code{nil}, @code{split-window-sensibly} will not
-split the window horizontally. (It still might split the window
-vertically, though, see above.)
-
-@code{split-window-sensibly} does not split horizontally a window if
-that window's width is fixed (@pxref{Resizing Windows}). Also, it
-horizontally splits a window only if the space that window takes up can
-accommodate two windows side by side that are both at least
-@code{window-min-width} columns wide.
+This variable, used by @code{split-window-sensibly}, specifies whether
+to split the window placing the new window to the right. If the value
+is an integer, that means to split only if the original window has at
+least that many columns. If the value is @code{nil}, that means not
+to split this way.
@end defopt
-@defopt even-window-heights
-This variable specifies whether @code{display-buffer} should even out
-window heights if the buffer gets displayed in an existing window, above
-or beneath another window. If @code{even-window-heights} is
-non-@code{nil}, the default, window heights will be evened out. If
-either of the involved window has fixed height (@pxref{Resizing
-Windows}) or @code{even-window-heights} is @code{nil}, the original
-window heights will be left alone.
-@end defopt
-
-@c Emacs 19 feature
@defopt pop-up-frames
-This variable specifies whether @code{display-buffer} should make new
-frames. If it is non-@code{nil}, @code{display-buffer} looks for a
-window already displaying @var{buffer-or-name} on any visible or
-iconified frame. If it finds such a window, it makes that window's
-frame visible and raises it if necessary, and returns the window.
-Otherwise it makes a new frame, unless the variable's value is
-@code{graphic-only} and the selected frame is not on a graphic display.
-@xref{Frames}, for more information.
-
-Note that the value of @code{pop-up-windows} does not matter if
-@code{pop-up-frames} is non-@code{nil}. If @code{pop-up-frames} is
-@code{nil}, then @code{display-buffer} either splits a window or reuses
-one.
+If the value of this variable is non-@code{nil}, that means
+@code{display-buffer} may display buffers by making new frames. The
+default is @code{nil}.
+
+A non-@code{nil} value also means that when @code{display-buffer} is
+looking for a window already displaying @var{buffer-or-name}, it can
+search any visible or iconified frame, not just the selected frame.
+
+This variable is provided mainly for backward compatibility. It is
+obeyed by @code{display-buffer} via a special mechanism in
+@code{display-buffer-fallback-action}, which calls the action function
+@code{display-buffer-pop-up-frame} (@pxref{Display Action Functions})
+if the value is non-@code{nil}. (This is done before attempting to
+split a window.) This variable is not consulted by
+@code{display-buffer-pop-up-frame} itself, which the user may specify
+directly in @code{display-buffer-alist} etc.
@end defopt
-@c Emacs 19 feature
@defopt pop-up-frame-function
-This variable specifies how to make a new frame if @code{pop-up-frames}
-is non-@code{nil}.
-
-The value of this variable must be a function of no arguments. When
-@code{display-buffer} makes a new frame, it does so by calling that
-function, which should return a frame. The default value of this
-variable is a function that creates a frame using the parameters
-specified by @code{pop-up-frame-alist} described next.
+This variable specifies a function for creating a new frame, in order
+to make a new window for displaying a buffer. It is used by the
+@code{display-buffer-pop-up-frame} action function (@pxref{Display
+Action Functions}).
+
+The value should be a function that takes no arguments and returns a
+frame, or @code{nil} if no frame could be created. The default value
+is a function that creates a frame using the parameters specified by
+@code{pop-up-frame-alist} (see below).
@end defopt
@defopt pop-up-frame-alist
-This variable holds an alist specifying frame parameters used by the
-default value of @code{pop-up-frame-function} for making new frames.
-@xref{Frame Parameters}, for more information about frame parameters.
+This variable holds an alist of frame parameters (@pxref{Frame
+Parameters}), which is used by the default function in
+@code{pop-up-frame-function} to make a new frame. The default is
+@code{nil}.
@end defopt
@defopt special-display-buffer-names
@@ -2193,12 +1994,6 @@ This variable takes precedence over all the other options described
above.
@end defopt
-If all options described above fail to produce a suitable window,
-@code{display-buffer} tries to reuse an existing window. As a last
-resort, it will try to display @var{buffer-or-name} on a separate frame.
-In that case, the value of @code{pop-up-frames} is disregarded.
-
-
@node Window History
@section Window History
@cindex window history
@@ -3129,32 +2924,90 @@ is off the screen due to horizontal scrolling:
@end group
@end example
-
@node Coordinates and Windows
@section Coordinates and Windows
+@cindex frame-relative coordinate
+@cindex coordinate, relative to frame
+@cindex window position
-This section describes how to relate screen coordinates to windows.
+ This section describes functions that report the position of a
+window. Most of these functions report positions relative to the
+window's frame. In this case, the coordinate origin @samp{(0,0)} lies
+near the upper left corner of the frame. For technical reasons, on
+graphical displays the origin is not located at the exact corner of
+the graphical window as it appears on the screen. If Emacs is built
+with the GTK+ toolkit, the origin is at the upper left corner of the
+frame area used for displaying Emacs windows, below the title-bar,
+GTK+ menu bar, and tool bar (since these are drawn by the window
+manager and/or GTK+, not by Emacs). But if Emacs is not built with
+GTK+, the origin is at the upper left corner of the tool bar (since in
+this case Emacs itself draws the tool bar). In both cases, the X and
+Y coordinates increase rightward and downward respectively.
+
+ Except where noted, X and Y coordinates are reported in integer
+character units, i.e. numbers of lines and columns respectively. On a
+graphical display, each ``line'' and ``column'' corresponds to the
+height and width of a default character specified by the frame's
+default font.
+
+@defun window-edges &optional window
+This function returns a list of the edge coordinates of @var{window}.
+If @var{window} is omitted or @code{nil}, it defaults to the selected
+window.
-@defun window-at x y &optional frame
-This function returns the window containing the specified cursor
-position in the frame @var{frame}. The coordinates @var{x} and @var{y}
-are measured in characters and count from the top left corner of the
-frame. If they are out of range, @code{window-at} returns @code{nil}.
+The return value has the form @code{(@var{left} @var{top} @var{right}
+@var{bottom})}. These list elements are, respectively, the X
+coordinate of the leftmost column occupied by the window, the Y
+coordinate of the topmost row, the X coordinate one column to the
+right of the rightmost column, and the Y coordinate one row down from
+the bottommost row.
-If you omit @var{frame}, the selected frame is used.
+Note that these are the actual outer edges of the window, including
+any header line, mode line, scroll bar, fringes, and display margins.
+On a text-only terminal, if the window has a neighbor on its right,
+its right edge includes the separator line between the window and its
+neighbor.
@end defun
-@defun coordinates-in-window-p coordinates window
-This function checks whether a particular frame position falls within
-the window @var{window}.
+@defun window-inside-edges &optional window
+This function is similar to @code{window-edges}, but the returned edge
+values are for the text area of the window. They exclude any header
+line, mode line, scroll bar, fringes, display margins, and vertical
+separator.
+@end defun
+
+@defun window-top-line &optional window
+This function returns the Y coordinate of the topmost row of
+@var{window}, equivalent to the @var{top} entry in the list returned
+by @code{window-edges}.
+@end defun
+
+@defun window-left-column &optional window
+This function returns the X coordinate of the leftmost column of
+@var{window}, equivalent to the @var{left} entry in the list returned
+by @code{window-edges}.
+@end defun
+
+ The following functions can be used to relate a set of
+frame-relative coordinates to a window:
-The argument @var{coordinates} is a cons cell of the form @code{(@var{x}
-. @var{y})}. The coordinates @var{x} and @var{y} are measured in
-characters, and count from the top left corner of the screen or frame.
+@defun window-at x y &optional frame
+This function returns the live window at the frame-relative
+coordinates @var{x} and @var{y}, on frame @var{frame}. If there is no
+window at that position, the return value is @code{nil}. If
+@var{frame} is omitted or @code{nil}, it defaults to the selected
+frame.
+@end defun
+
+@defun coordinates-in-window-p coordinates window
+This function checks whether a window @var{window} occupies the
+frame-relative coordinates @var{coordinates}, and if so which part of
+the window that is. @var{window} should be a live window.
+@var{coordinates} should be a cons cell of the form @code{(@var{x}
+. @var{y})}, where @var{x} and @var{y} are frame-relative coordinates.
-The value returned by @code{coordinates-in-window-p} is non-@code{nil}
-if the coordinates are inside @var{window}. The value also indicates
-what part of the window the position is in, as follows:
+If there is no window at the specified position, the return value is
+@code{nil} . Otherwise, the return value is one of the following:
@table @code
@item (@var{relx} . @var{rely})
@@ -3191,6 +3044,44 @@ The function @code{coordinates-in-window-p} does not require a frame as
argument because it always uses the frame that @var{window} is on.
@end defun
+ The following functions return window positions in pixels, rather
+than character units. Though mostly useful on graphical displays,
+they can also be called on text-only terminals, where the screen area
+of each text character is taken to be ``one pixel''.
+
+@defun window-pixel-edges &optional window
+This function returns a list of pixel coordinates for the edges of
+@var{window}. If @var{window} is omitted or @code{nil}, it defaults
+to the selected window.
+
+The return value has the form @code{(@var{left} @var{top} @var{right}
+@var{bottom})}. The list elements are, respectively, the X pixel
+coordinate of the left window edge, the Y pixel coordinate of the top
+edge, one more than the X pixel coordinate of the right edge, and one
+more than the Y pixel coordinate of the bottom edge.
+@end defun
+
+@defun window-inside-pixel-edges &optional window
+This function is like @code{window-pixel-edges}, except that it
+returns the pixel coordinates for the edges of the window's text area,
+rather than the pixel coordinates for the edges of the window itself.
+@var{window} must specify a live window.
+@end defun
+
+ The following functions return window positions in pixels, relative
+to the display screen rather than the frame:
+
+@defun window-absolute-pixel-edges &optional window
+This function is like @code{window-pixel-edges}, except that it
+returns the edge pixel coordinates relative to the top left corner of
+the display screen.
+@end defun
+
+@defun window-inside-absolute-pixel-edges &optional window
+This function is like @code{window-inside-pixel-edges}, except that it
+returns the edge pixel coordinates relative to the top left corner of
+the display screen. @var{window} must specify a live window.
+@end defun
@node Window Configurations
@section Window Configurations
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1
index 91ef4189b79..1acdcf5ebd2 100644
--- a/doc/man/emacs.1
+++ b/doc/man/emacs.1
@@ -1,5 +1,5 @@
.\" See section COPYING for copyright and redistribution information.
-.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.91"
+.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.92"
.
.
.SH NAME
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 924f3501bfa..5d8e05806e0 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,31 @@
+2011-12-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnus-faq.texi (FAQ 2-1, FAQ 3-8, FAQ 4-14, FAQ 9-1): Fix typos.
+
+2011-11-24 Glenn Morris <rgm@gnu.org>
+
+ * gnus.texi, smtpmail.texi: Fix case of "GnuTLS".
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Update dependencies.
+
+2011-11-20 Glenn Morris <rgm@gnu.org>
+
+ * gnus.texi (Group Information):
+ Remove gnus-group-fetch-faq, command deleted 2010-09-24.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnus-coding.texi (Gnus Maintenance Guide):
+ Rename from "Gnus Maintainance Guide".
+
+ * ede.texi (ede-compilation-program, ede-compiler, ede-linker):
+ * eieio.texi (Customizing):
+ * gnus.texi (Article Washing):
+ * gnus-news.texi:
+ * sem-user.texi (Smart Jump): Fix typos.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* org.texi (Agenda commands, Exporting Agenda Views): Fix typos.
@@ -2971,7 +2999,7 @@
* org.texi (Activation, Exporting, ASCII export, HTML export)
(HTML Export commands, LaTeX/PDF export commands):
Improve documentation about transient-mark-mode.
- (References): DOcuemtn the use of special names like $LR1 to reference
+ (References): Document the use of special names like $LR1 to reference
to fields in the last table row.
2008-12-19 Juri Linkov <juri@jurta.org>
@@ -7958,7 +7986,7 @@
2003-02-01 Michael Albinus <Michael.Albinus@alcatel.de>
* tramp.texi (Frequently Asked Questions): Explain a workaround if
- another package loads accidently Ange-FTP.
+ another package loads accidentally Ange-FTP.
2003-01-24 Michael Albinus <Michael.Albinus@alcatel.de>
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index 2e66c78a3cb..289c08eb00e 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -156,7 +156,7 @@ the point is normally left after that skeleton is inserted (@pxref{Using
Skeletons}). The point (@pxref{(emacs)Point}) is left at the next
interesting spot in the skeleton instead.
- A negative prefix means to do something similar with that many precedingly
+ A negative prefix means to do something similar with that many previously
marked interregions (@pxref{(emacs)Mark}). In the simplest case, if you type
@kbd{M--} just before issuing the skeleton command, that will wrap the
skeleton around the current region, just like a positive argument would have
@@ -419,7 +419,7 @@ inserting something. When this is @code{nil}, inserting is only done with
@kbd{M-x auto-insert}. When this is @code{function}, you are queried
whenever @code{auto-insert} is called as a function, such as when Emacs
visits an empty file and you have set the above-mentioned hook. Otherwise
-you are alway queried.
+you are always queried.
@vindex auto-insert-prompt
When querying, the variable @code{auto-insert-prompt}'s value is used as a
@@ -510,7 +510,7 @@ inserting or updating the magic number. When this is @code{nil} updating
is only done with @kbd{M-x executable-set-magic}. When this is
@code{function} you are queried whenever @code{executable-set-magic} is
called as a function, such as when Emacs puts a buffer in Shell script
-mode. Otherwise you are alway queried.
+mode. Otherwise you are always queried.
@findex executable-self-display
@kbd{M-x executable-self-display} adds a magic number to the buffer, which
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 5a1ee872a2b..535efd86270 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -90,7 +90,7 @@
This file documents Calc, the GNU Emacs calculator.
@end ifinfo
@ifnotinfo
-This file documents Calc, the GNU Emacs calculator, included with
+This file documents Calc, the GNU Emacs calculator, included with
GNU Emacs @value{EMACSVER}.
@end ifnotinfo
@@ -324,7 +324,7 @@ need to know.
@c @cindex Marginal notes
Every Calc keyboard command is listed in the Calc Summary, and also
in the Key Index. Algebraic functions, @kbd{M-x} commands, and
-variables also have their own indices.
+variables also have their own indices.
@c @texline Each
@c @infoline In the printed manual, each
@c paragraph that is referenced in the Key or Function Index is marked
@@ -338,7 +338,7 @@ the @kbd{h i} key sequence. Outside of the Calc window, you can press
command @kbd{C-x * t} will jump to the Tutorial and start Calc if
necessary. Pressing @kbd{h s} or @kbd{C-x * s} will take you directly
to the Calc Summary. Within Calc, you can also go to the part of the
-manual describing any Calc key, function, or variable using
+manual describing any Calc key, function, or variable using
@w{@kbd{h k}}, @kbd{h f}, or @kbd{h v}, respectively. @xref{Help Commands}.
@ifnottex
@@ -437,12 +437,12 @@ Delete, and Space keys.
then the command to operate on the numbers.
@noindent
-Type @kbd{2 @key{RET} 3 + Q} to compute
+Type @kbd{2 @key{RET} 3 + Q} to compute
@texline @math{\sqrt{2+3} = 2.2360679775}.
@infoline the square root of 2+3, which is 2.2360679775.
@noindent
-Type @kbd{P 2 ^} to compute
+Type @kbd{P 2 ^} to compute
@texline @math{\pi^2 = 9.86960440109}.
@infoline the value of `pi' squared, 9.86960440109.
@@ -461,14 +461,14 @@ conventional ``algebraic'' notation. To enter an algebraic formula,
use the apostrophe key.
@noindent
-Type @kbd{' sqrt(2+3) @key{RET}} to compute
+Type @kbd{' sqrt(2+3) @key{RET}} to compute
@texline @math{\sqrt{2+3}}.
@infoline the square root of 2+3.
@noindent
-Type @kbd{' pi^2 @key{RET}} to enter
+Type @kbd{' pi^2 @key{RET}} to enter
@texline @math{\pi^2}.
-@infoline `pi' squared.
+@infoline `pi' squared.
To evaluate this symbolic formula as a number, type @kbd{=}.
@noindent
@@ -526,10 +526,10 @@ the upper-leftmost @samp{1} and set the mark, then move to just after
the lower-right @samp{8} and press @kbd{C-x * r}.
@noindent
-Type @kbd{v t} to transpose this
+Type @kbd{v t} to transpose this
@texline @math{3\times2}
-@infoline 3x2
-matrix into a
+@infoline 3x2
+matrix into a
@texline @math{2\times3}
@infoline 2x3
matrix. Type @w{@kbd{v u}} to unpack the rows into two separate
@@ -605,7 +605,7 @@ there are Quick mode, Keypad mode, and Embedded mode.
@noindent
On most systems, you can type @kbd{C-x *} to start the Calculator.
-The key sequence @kbd{C-x *} is bound to the command @code{calc-dispatch},
+The key sequence @kbd{C-x *} is bound to the command @code{calc-dispatch},
which can be rebound if convenient (@pxref{Customizing Calc}).
When you press @kbd{C-x *}, Emacs waits for you to press a second key to
@@ -1154,9 +1154,9 @@ its initial state: Empty stack, and initial mode settings.
@noindent
Calc was originally started as a two-week project to occupy a lull
in the author's schedule. Basically, a friend asked if I remembered
-the value of
+the value of
@texline @math{2^{32}}.
-@infoline @expr{2^32}.
+@infoline @expr{2^32}.
I didn't offhand, but I said, ``that's easy, just call up an
@code{xcalc}.'' @code{Xcalc} duly reported that the answer to our
question was @samp{4.294967e+09}---with no way to see the full ten
@@ -1213,7 +1213,7 @@ algebra system for microcomputers.
Many people have contributed to Calc by reporting bugs and suggesting
features, large and small. A few deserve special mention: Tim Peters,
who helped develop the ideas that led to the selection commands, rewrite
-rules, and many other algebra features;
+rules, and many other algebra features;
@texline Fran\c{c}ois
@infoline Francois
Pinard, who contributed an early prototype of the Calc Summary appendix
@@ -1226,7 +1226,7 @@ Randal Schwartz, who suggested the @code{calc-eval} function; Juha
Sarlin, who first worked out how to split Calc into quickly-loading
parts; Bob Weiner, who helped immensely with the Lucid Emacs port; and
Robert J. Chassell, who suggested the Calc Tutorial and exercises as
-well as many other things.
+well as many other things.
@cindex Bibliography
@cindex Knuth, Art of Computer Programming
@@ -1472,9 +1472,9 @@ Here's the first exercise: What will the keystrokes @kbd{1 @key{RET} 2
multiplication.) Figure it out by hand, then try it with Calc to see
if you're right. @xref{RPN Answer 1, 1}. (@bullet{})
-(@bullet{}) @strong{Exercise 2.} Compute
+(@bullet{}) @strong{Exercise 2.} Compute
@texline @math{(2\times4) + (7\times9.4) + {5\over4}}
-@infoline @expr{2*4 + 7*9.5 + 5/4}
+@infoline @expr{2*4 + 7*9.5 + 5/4}
using the stack. @xref{RPN Answer 2, 2}. (@bullet{})
The @key{DEL} key is called Backspace on some keyboards. It is
@@ -1889,7 +1889,7 @@ intermediate results of a calculation as you go along. You can
accomplish this in Calc by performing your calculation as a series
of algebraic entries, using the @kbd{$} sign to tie them together.
In an algebraic formula, @kbd{$} represents the number on the top
-of the stack. Here, we perform the calculation
+of the stack. Here, we perform the calculation
@texline @math{\sqrt{2\times4+1}},
@infoline @expr{sqrt(2*4+1)},
which on a traditional calculator would be done by pressing
@@ -2149,7 +2149,7 @@ key. If you type a prefix key by accident, you can press @kbd{C-g}
to cancel it. (In fact, you can press @kbd{C-g} to cancel almost
anything in Emacs.) To get help on a prefix key, press that key
followed by @kbd{?}. Some prefixes have several lines of help,
-so you need to press @kbd{?} repeatedly to see them all.
+so you need to press @kbd{?} repeatedly to see them all.
You can also type @kbd{h h} to see all the help at once.
Try pressing @kbd{t ?} now. You will see a line of the form,
@@ -2550,13 +2550,13 @@ angle is measured in degrees. For example,
@noindent
The shift-@kbd{S} command computes the sine of an angle. The sine
-of 45 degrees is
+of 45 degrees is
@texline @math{\sqrt{2}/2};
-@infoline @expr{sqrt(2)/2};
+@infoline @expr{sqrt(2)/2};
squaring this yields @expr{2/4 = 0.5}. However, there has been a slight
-roundoff error because the representation of
+roundoff error because the representation of
@texline @math{\sqrt{2}/2}
-@infoline @expr{sqrt(2)/2}
+@infoline @expr{sqrt(2)/2}
wasn't exact. The @kbd{c 1} command is a handy way to clean up numbers
in this case; it temporarily reduces the precision by one digit while it
re-rounds the number on the top of the stack.
@@ -2595,9 +2595,9 @@ either radians or degrees, depending on the current angular mode.
@end smallexample
@noindent
-Here we compute the Inverse Sine of
+Here we compute the Inverse Sine of
@texline @math{\sqrt{0.5}},
-@infoline @expr{sqrt(0.5)},
+@infoline @expr{sqrt(0.5)},
first in radians, then in degrees.
Use @kbd{c d} and @kbd{c r} to convert a number from radians to degrees
@@ -2783,9 +2783,9 @@ logarithm). These can be modified by the @kbd{I} (inverse) and
@kbd{H} (hyperbolic) prefix keys.
Let's compute the sine and cosine of an angle, and verify the
-identity
+identity
@texline @math{\sin^2x + \cos^2x = 1}.
-@infoline @expr{sin(x)^2 + cos(x)^2 = 1}.
+@infoline @expr{sin(x)^2 + cos(x)^2 = 1}.
We'll arbitrarily pick @mathit{-64} degrees as a good value for @expr{x}.
With the angular mode set to degrees (type @w{@kbd{m d}}), do:
@@ -2806,7 +2806,7 @@ You can of course do these calculations to any precision you like.)
Remember, @kbd{f h} is the @code{calc-hypot}, or square-root of sum
of squares, command.
-Another identity is
+Another identity is
@texline @math{\displaystyle\tan x = {\sin x \over \cos x}}.
@infoline @expr{tan(x) = sin(x) / cos(x)}.
@smallexample
@@ -2871,7 +2871,7 @@ the top two stack elements right after the @kbd{U U}, then a pair of
A similar identity is supposed to hold for hyperbolic sines and cosines,
except that it is the @emph{difference}
@texline @math{\cosh^2x - \sinh^2x}
-@infoline @expr{cosh(x)^2 - sinh(x)^2}
+@infoline @expr{cosh(x)^2 - sinh(x)^2}
that always equals one. Let's try to verify this identity.
@smallexample
@@ -2993,7 +2993,7 @@ factorial function defined in terms of Euler's Gamma function
@end smallexample
@noindent
-Here we verify the identity
+Here we verify the identity
@texline @math{n! = \Gamma(n+1)}.
@infoline @expr{@var{n}!@: = gamma(@var{n}+1)}.
@@ -3283,11 +3283,11 @@ rows in the matrix is different from the number of elements in the
vector.
(@bullet{}) @strong{Exercise 1.} Use @samp{*} to sum along the rows
-of the above
+of the above
@texline @math{2\times3}
-@infoline 2x3
+@infoline 2x3
matrix to get @expr{[6, 15]}. Now use @samp{*} to sum along the columns
-to get @expr{[5, 7, 9]}.
+to get @expr{[5, 7, 9]}.
@xref{Matrix Answer 1, 1}. (@bullet{})
@cindex Identity matrix
@@ -3432,7 +3432,7 @@ the matrix and vector. If we multiplied in the other order, Calc would
assume the vector was a row vector in order to make the dimensions
come out right, and the answer would be incorrect. If you
don't feel safe letting Calc take either interpretation of your
-vectors, use explicit
+vectors, use explicit
@texline @math{N\times1}
@infoline Nx1
or
@@ -3482,9 +3482,9 @@ on the left by the transpose of @expr{A}:
@tex
$A^T A \, X = A^T B$, where $A^T$ is the transpose \samp{trn(A)}.
@end tex
-Now
+Now
@texline @math{A^T A}
-@infoline @expr{trn(A)*A}
+@infoline @expr{trn(A)*A}
is a square matrix so a solution is possible. It turns out that the
@expr{X} vector you compute in this way will be a ``least-squares''
solution, which can be regarded as the ``closest'' solution to the set
@@ -3577,9 +3577,9 @@ other a plain number.) In the final step, we take the square root
of each element.
(@bullet{}) @strong{Exercise 1.} Compute a vector of powers of two
-from
+from
@texline @math{2^{-4}}
-@infoline @expr{2^-4}
+@infoline @expr{2^-4}
to @expr{2^4}. @xref{List Answer 1, 1}. (@bullet{})
You can also @dfn{reduce} a binary operator across a vector.
@@ -3780,9 +3780,9 @@ $$ m = {N \sum x y - \sum x \sum y \over
@end tex
@noindent
-where
+where
@texline @math{\sum x}
-@infoline @expr{sum(x)}
+@infoline @expr{sum(x)}
represents the sum of all the values of @expr{x}. While there is an
actual @code{sum} function in Calc, it's easier to sum a vector using a
simple reduction. First, let's compute the four different sums that
@@ -3883,9 +3883,9 @@ $$ b = {\sum y - m \sum x \over N} $$
@end group
@end smallexample
-Let's ``plot'' this straight line approximation,
+Let's ``plot'' this straight line approximation,
@texline @math{y \approx m x + b},
-@infoline @expr{m x + b},
+@infoline @expr{m x + b},
and compare it with the original data.
@smallexample
@@ -3959,7 +3959,7 @@ Next, let's add the line we got from our least-squares fit.
(If you are reading this tutorial on-line while running Calc, typing
@kbd{g a} may cause the tutorial to disappear from its window and be
replaced by a buffer named @samp{*Gnuplot Commands*}. The tutorial
-will reappear when you terminate GNUPLOT by typing @kbd{g q}.)
+will reappear when you terminate GNUPLOT by typing @kbd{g q}.)
@end ifinfo
@smallexample
@@ -4138,7 +4138,7 @@ command to enable multi-line display of vectors.)
@c [fix-ref Numerical Solutions]
(@bullet{}) @strong{Exercise 8.} Compute a list of values of Bessel's
@texline @math{J_1(x)}
-@infoline @expr{J1}
+@infoline @expr{J1}
function @samp{besJ(1,x)} for @expr{x} from 0 to 5 in steps of 0.25.
Find the value of @expr{x} (from among the above set of values) for
which @samp{besJ(1,x)} is a maximum. Use an ``automatic'' method,
@@ -4150,7 +4150,7 @@ of thing automatically; @pxref{Numerical Solutions}.)
@cindex Digits, vectors of
(@bullet{}) @strong{Exercise 9.} You are given an integer in the range
@texline @math{0 \le N < 10^m}
-@infoline @expr{0 <= N < 10^m}
+@infoline @expr{0 <= N < 10^m}
for @expr{m=12} (i.e., an integer of less than
twelve digits). Convert this integer into a vector of @expr{m}
digits, each in the range from 0 to 9. In vector-of-digits notation,
@@ -4164,12 +4164,12 @@ to try is 25129925999. @xref{List Answer 9, 9}. (@bullet{})
happened? How would you do this test? @xref{List Answer 10, 10}. (@bullet{})
(@bullet{}) @strong{Exercise 11.} The area of a circle of radius one
-is @cpi{}. The area of the
+is @cpi{}. The area of the
@texline @math{2\times2}
@infoline 2x2
square that encloses that circle is 4. So if we throw @var{n} darts at
random points in the square, about @cpiover{4} of them will land inside
-the circle. This gives us an entertaining way to estimate the value of
+the circle. This gives us an entertaining way to estimate the value of
@cpi{}. The @w{@kbd{k r}}
command picks a random number between zero and the value on the stack.
We could get a random floating-point number between @mathit{-1} and 1 by typing
@@ -4183,12 +4183,12 @@ points lie inside the unit circle. Hint: Use the @kbd{v b} command.
another way to calculate @cpi{}. Say you have an infinite field
of vertical lines with a spacing of one inch. Toss a one-inch matchstick
onto the field. The probability that the matchstick will land crossing
-a line turns out to be
+a line turns out to be
@texline @math{2/\pi}.
-@infoline @expr{2/pi}.
+@infoline @expr{2/pi}.
Toss 100 matchsticks to estimate @cpi{}. (If you want still more fun,
the probability that the GCD (@w{@kbd{k g}}) of two large integers is
-one turns out to be
+one turns out to be
@texline @math{6/\pi^2}.
@infoline @expr{6/pi^2}.
That provides yet another way to estimate @cpi{}.)
@@ -4488,7 +4488,7 @@ a 60% chance that the result is correct within 0.59 degrees.
@cindex Torus, volume of
(@bullet{}) @strong{Exercise 7.} The volume of a torus (a donut shape) is
@texline @math{2 \pi^2 R r^2}
-@infoline @w{@expr{2 pi^2 R r^2}}
+@infoline @w{@expr{2 pi^2 R r^2}}
where @expr{R} is the radius of the circle that
defines the center of the tube and @expr{r} is the radius of the tube
itself. Suppose @expr{R} is 20 cm and @expr{r} is 4 cm, each known to
@@ -4569,7 +4569,7 @@ In this last step, Calc has divided by 5 modulo 24; i.e., it has found a
new number which, when multiplied by 5 modulo 24, produces the original
number, 21. If @var{m} is prime and the divisor is not a multiple of
@var{m}, it is always possible to find such a number. For non-prime
-@var{m} like 24, it is only sometimes possible.
+@var{m} like 24, it is only sometimes possible.
@smallexample
@group
@@ -4587,7 +4587,7 @@ that arises in the second one.
@cindex Fermat, primality test of
(@bullet{}) @strong{Exercise 10.} A theorem of Pierre de Fermat
-says that
+says that
@texline @w{@math{x^{n-1} \bmod n = 1}}
@infoline @expr{x^(n-1) mod n = 1}
if @expr{n} is a prime number and @expr{x} is an integer less than
@@ -4615,9 +4615,9 @@ of day on the stack as an HMS/modulo form.
This calculation tells me it is six hours and 22 minutes until midnight.
(@bullet{}) @strong{Exercise 11.} A rule of thumb is that one year
-is about
+is about
@texline @math{\pi \times 10^7}
-@infoline @w{@expr{pi * 10^7}}
+@infoline @w{@expr{pi * 10^7}}
seconds. What time will it be that many seconds from right now?
@xref{Types Answer 11, 11}. (@bullet{})
@@ -5093,18 +5093,18 @@ One way to do it is again with vector mapping and reduction:
@end smallexample
(@bullet{}) @strong{Exercise 3.} Find the integral from 1 to @expr{y}
-of
+of
@texline @math{x \sin \pi x}
-@infoline @w{@expr{x sin(pi x)}}
+@infoline @w{@expr{x sin(pi x)}}
(where the sine is calculated in radians). Find the values of the
integral for integers @expr{y} from 1 to 5. @xref{Algebra Answer 3,
3}. (@bullet{})
Calc's integrator can do many simple integrals symbolically, but many
others are beyond its capabilities. Suppose we wish to find the area
-under the curve
+under the curve
@texline @math{\sin x \ln x}
-@infoline @expr{sin(x) ln(x)}
+@infoline @expr{sin(x) ln(x)}
over the same range of @expr{x}. If you entered this formula and typed
@kbd{a i x @key{RET}} (don't bother to try this), Calc would work for a
long time but would be unable to find a solution. In fact, there is no
@@ -5242,10 +5242,10 @@ $$ h (f(a) + f(a+h) + f(a+2h) + f(a+3h) + \cdots
\afterdisplay
@end tex
-Compute the integral from 1 to 2 of
+Compute the integral from 1 to 2 of
@texline @math{\sin x \ln x}
-@infoline @expr{sin(x) ln(x)}
-using Simpson's rule with 10 slices.
+@infoline @expr{sin(x) ln(x)}
+using Simpson's rule with 10 slices.
@xref{Algebra Answer 4, 4}. (@bullet{})
Calc has a built-in @kbd{a I} command for doing numerical integration.
@@ -5396,7 +5396,7 @@ having to retype it.
To edit a variable, type @kbd{s e} and the variable name, use regular
Emacs editing commands as necessary, then type @kbd{C-c C-c} to store
-the edited value back into the variable.
+the edited value back into the variable.
You can also use @w{@kbd{s e}} to create a new variable if you wish.
Notice that the first time you use each rule, Calc puts up a ``compiling''
@@ -5780,7 +5780,7 @@ in @samp{a + 1} for @samp{x} in the defining formula.
@tindex Si
(@bullet{}) @strong{Exercise 1.} The ``sine integral'' function
@texline @math{{\rm Si}(x)}
-@infoline @expr{Si(x)}
+@infoline @expr{Si(x)}
is defined as the integral of @samp{sin(t)/t} for
@expr{t = 0} to @expr{x} in radians. (It was invented because this
integral has no solution in terms of basic functions; if you give it
@@ -5857,9 +5857,9 @@ the following functions:
@enumerate
@item
-Compute
+Compute
@texline @math{\displaystyle{\sin x \over x}},
-@infoline @expr{sin(x) / x},
+@infoline @expr{sin(x) / x},
where @expr{x} is the number on the top of the stack.
@item
@@ -5923,15 +5923,15 @@ key if you have one, makes a copy of the number in level 2.)
@cindex Golden ratio
@cindex Phi, golden ratio
A fascinating property of the Fibonacci numbers is that the @expr{n}th
-Fibonacci number can be found directly by computing
+Fibonacci number can be found directly by computing
@texline @math{\phi^n / \sqrt{5}}
@infoline @expr{phi^n / sqrt(5)}
-and then rounding to the nearest integer, where
+and then rounding to the nearest integer, where
@texline @math{\phi} (``phi''),
-@infoline @expr{phi},
-the ``golden ratio,'' is
+@infoline @expr{phi},
+the ``golden ratio,'' is
@texline @math{(1 + \sqrt{5}) / 2}.
-@infoline @expr{(1 + sqrt(5)) / 2}.
+@infoline @expr{(1 + sqrt(5)) / 2}.
(For convenience, this constant is available from the @code{phi}
variable, or the @kbd{I H P} command.)
@@ -5946,19 +5946,19 @@ variable, or the @kbd{I H P} command.)
@cindex Continued fractions
(@bullet{}) @strong{Exercise 5.} The @dfn{continued fraction}
-representation of
+representation of
@texline @math{\phi}
-@infoline @expr{phi}
-is
+@infoline @expr{phi}
+is
@texline @math{1 + 1/(1 + 1/(1 + 1/( \ldots )))}.
@infoline @expr{1 + 1/(1 + 1/(1 + 1/( ...@: )))}.
We can compute an approximate value by carrying this however far
-and then replacing the innermost
+and then replacing the innermost
@texline @math{1/( \ldots )}
-@infoline @expr{1/( ...@: )}
+@infoline @expr{1/( ...@: )}
by 1. Approximate
@texline @math{\phi}
-@infoline @expr{phi}
+@infoline @expr{phi}
using a twenty-term continued fraction.
@xref{Programming Answer 5, 5}. (@bullet{})
@@ -6056,9 +6056,9 @@ survive past the @kbd{Z '} command.
The @dfn{Bernoulli numbers} are a sequence with the interesting
property that all of the odd Bernoulli numbers are zero, and the
even ones, while difficult to compute, can be roughly approximated
-by the formula
+by the formula
@texline @math{\displaystyle{2 n! \over (2 \pi)^n}}.
-@infoline @expr{2 n!@: / (2 pi)^n}.
+@infoline @expr{2 n!@: / (2 pi)^n}.
Let's write a keyboard macro to compute (approximate) Bernoulli numbers.
(Calc has a command, @kbd{k b}, to compute exact Bernoulli numbers, but
this command is very slow for large @expr{n} since the higher Bernoulli
@@ -6166,7 +6166,7 @@ Z` ;; calc-kbd-push (Save local values)
0 ;; calc digits (Push a zero onto the stack)
st ;; calc-store-into (Store it in the following variable)
1 ;; calc quick variable (Quick variable q1)
-1 ;; calc digits (Initial value for the loop)
+1 ;; calc digits (Initial value for the loop)
TAB ;; calc-roll-down (Swap initial and final)
Z( ;; calc-kbd-for (Begin the "for" loop)
& ;; calc-inv (Take the reciprocal)
@@ -6193,10 +6193,10 @@ Press @kbd{C-c C-c} to finish editing and return to the Calculator.
The @file{edmacro} package defines a handy @code{read-kbd-macro} command
which reads the current region of the current buffer as a sequence of
-keystroke names, and defines that sequence on the @kbd{X}
+keystroke names, and defines that sequence on the @kbd{X}
(and @kbd{C-x e}) key. Because this is so useful, Calc puts this
command on the @kbd{C-x * m} key. Try reading in this macro in the
-following form: Press @kbd{C-@@} (or @kbd{C-@key{SPC}}) at
+following form: Press @kbd{C-@@} (or @kbd{C-@key{SPC}}) at
one end of the text below, then type @kbd{C-x * m} at the other.
@example
@@ -6230,12 +6230,12 @@ $$ x_{\rm new} = x - {f(x) \over f^{\prime}(x)} $$
where @expr{f'(x)} is the derivative of @expr{f}. The @expr{x}
values will quickly converge to a solution, i.e., eventually
@texline @math{x_{\rm new}}
-@infoline @expr{new_x}
+@infoline @expr{new_x}
and @expr{x} will be equal to within the limits
of the current precision. Write a program which takes a formula
involving the variable @expr{x}, and an initial guess @expr{x_0},
on the stack, and produces a value of @expr{x} for which the formula
-is zero. Use it to find a solution of
+is zero. Use it to find a solution of
@texline @math{\sin(\cos x) = 0.5}
@infoline @expr{sin(cos(x)) = 0.5}
near @expr{x = 4.5}. (Use angles measured in radians.) Note that
@@ -6245,12 +6245,12 @@ method when it is able. @xref{Programming Answer 8, 8}. (@bullet{})
@cindex Digamma function
@cindex Gamma constant, Euler's
@cindex Euler's gamma constant
-(@bullet{}) @strong{Exercise 9.} The @dfn{digamma} function
+(@bullet{}) @strong{Exercise 9.} The @dfn{digamma} function
@texline @math{\psi(z) (``psi'')}
@infoline @expr{psi(z)}
-is defined as the derivative of
+is defined as the derivative of
@texline @math{\ln \Gamma(z)}.
-@infoline @expr{ln(gamma(z))}.
+@infoline @expr{ln(gamma(z))}.
For large values of @expr{z}, it can be approximated by the infinite sum
@ifnottex
@@ -6267,9 +6267,9 @@ $$
@end tex
@noindent
-where
+where
@texline @math{\sum}
-@infoline @expr{sum}
+@infoline @expr{sum}
represents the sum over @expr{n} from 1 to infinity
(or to some limit high enough to give the desired accuracy), and
the @code{bern} function produces (exact) Bernoulli numbers.
@@ -6277,27 +6277,27 @@ While this sum is not guaranteed to converge, in practice it is safe.
An interesting mathematical constant is Euler's gamma, which is equal
to about 0.5772. One way to compute it is by the formula,
@texline @math{\gamma = -\psi(1)}.
-@infoline @expr{gamma = -psi(1)}.
+@infoline @expr{gamma = -psi(1)}.
Unfortunately, 1 isn't a large enough argument
for the above formula to work (5 is a much safer value for @expr{z}).
-Fortunately, we can compute
+Fortunately, we can compute
@texline @math{\psi(1)}
-@infoline @expr{psi(1)}
-from
+@infoline @expr{psi(1)}
+from
@texline @math{\psi(5)}
-@infoline @expr{psi(5)}
-using the recurrence
+@infoline @expr{psi(5)}
+using the recurrence
@texline @math{\psi(z+1) = \psi(z) + {1 \over z}}.
-@infoline @expr{psi(z+1) = psi(z) + 1/z}.
-Your task: Develop a program to compute
+@infoline @expr{psi(z+1) = psi(z) + 1/z}.
+Your task: Develop a program to compute
@texline @math{\psi(z)};
-@infoline @expr{psi(z)};
+@infoline @expr{psi(z)};
it should ``pump up'' @expr{z}
if necessary to be greater than 5, then use the above summation
formula. Use looping commands to compute the sum. Use your function
-to compute
+to compute
@texline @math{\gamma}
-@infoline @expr{gamma}
+@infoline @expr{gamma}
to twelve decimal places. (Calc has a built-in command
for Euler's constant, @kbd{I P}, which you can use to check your answer.)
@xref{Programming Answer 9, 9}. (@bullet{})
@@ -6470,7 +6470,7 @@ This section includes answers to all the exercises in the Calc tutorial.
@noindent
@kbd{1 @key{RET} 2 @key{RET} 3 @key{RET} 4 + * -}
-The result is
+The result is
@texline @math{1 - (2 \times (3 + 4)) = -13}.
@infoline @expr{1 - (2 * (3 + 4)) = -13}.
@@ -6481,9 +6481,9 @@ The result is
@texline @math{2\times4 + 7\times9.5 + {5\over4} = 75.75}
@infoline @expr{2*4 + 7*9.5 + 5/4 = 75.75}
-After computing the intermediate term
+After computing the intermediate term
@texline @math{2\times4 = 8},
-@infoline @expr{2*4 = 8},
+@infoline @expr{2*4 = 8},
you can leave that result on the stack while you compute the second
term. With both of these results waiting on the stack you can then
compute the final term, then press @kbd{+ +} to add everything up.
@@ -6790,7 +6790,7 @@ Dividing two integers that are larger than the current precision may
give a floating-point result that is inaccurate even when rounded
down to an integer. Consider @expr{123456789 / 2} when the current
precision is 6 digits. The true answer is @expr{61728394.5}, but
-with a precision of 6 this will be rounded to
+with a precision of 6 this will be rounded to
@texline @math{12345700.0/2.0 = 61728500.0}.
@infoline @expr{12345700.@: / 2.@: = 61728500.}.
The result, when converted to an integer, will be off by 106.
@@ -6900,18 +6900,18 @@ Type @kbd{d N} to return to Normal display mode afterwards.
@subsection Matrix Tutorial Exercise 3
@noindent
-To solve
+To solve
@texline @math{A^T A \, X = A^T B},
-@infoline @expr{trn(A) * A * X = trn(A) * B},
+@infoline @expr{trn(A) * A * X = trn(A) * B},
first we compute
@texline @math{A' = A^T A}
-@infoline @expr{A2 = trn(A) * A}
-and
+@infoline @expr{A2 = trn(A) * A}
+and
@texline @math{B' = A^T B};
-@infoline @expr{B2 = trn(A) * B};
-now, we have a system
+@infoline @expr{B2 = trn(A) * B};
+now, we have a system
@texline @math{A' X = B'}
-@infoline @expr{A2 * X = B2}
+@infoline @expr{A2 * X = B2}
which we can solve using Calc's @samp{/} command.
@ifnottex
@@ -6942,7 +6942,7 @@ $$
The first step is to enter the coefficient matrix. We'll store it in
quick variable number 7 for later reference. Next, we compute the
@texline @math{B'}
-@infoline @expr{B2}
+@infoline @expr{B2}
vector.
@smallexample
@@ -6958,9 +6958,9 @@ vector.
@end smallexample
@noindent
-Now we compute the matrix
+Now we compute the matrix
@texline @math{A'}
-@infoline @expr{A2}
+@infoline @expr{A2}
and divide.
@smallexample
@@ -6979,16 +6979,16 @@ and divide.
(The actual computed answer will be slightly inexact due to
round-off error.)
-Notice that the answers are similar to those for the
+Notice that the answers are similar to those for the
@texline @math{3\times3}
@infoline 3x3
-system solved in the text. That's because the fourth equation that was
+system solved in the text. That's because the fourth equation that was
added to the system is almost identical to the first one multiplied
by two. (If it were identical, we would have gotten the exact same
-answer since the
+answer since the
@texline @math{4\times3}
@infoline 4x3
-system would be equivalent to the original
+system would be equivalent to the original
@texline @math{3\times3}
@infoline 3x3
system.)
@@ -7064,7 +7064,7 @@ $$ m \times x + b \times 1 = y $$
\afterdisplay
@end tex
-Thus we want a
+Thus we want a
@texline @math{19\times2}
@infoline 19x2
matrix with our @expr{x} vector as one column and
@@ -7083,12 +7083,12 @@ we combine the two columns to form our @expr{A} matrix.
@end smallexample
@noindent
-Now we compute
+Now we compute
@texline @math{A^T y}
-@infoline @expr{trn(A) * y}
-and
+@infoline @expr{trn(A) * y}
+and
@texline @math{A^T A}
-@infoline @expr{trn(A) * A}
+@infoline @expr{trn(A) * A}
and divide.
@smallexample
@@ -7114,9 +7114,9 @@ and divide.
@end group
@end smallexample
-Since we were solving equations of the form
+Since we were solving equations of the form
@texline @math{m \times x + b \times 1 = y},
-@infoline @expr{m*x + b*1 = y},
+@infoline @expr{m*x + b*1 = y},
these numbers should be @expr{m} and @expr{b}, respectively. Sure
enough, they agree exactly with the result computed using @kbd{V M} and
@kbd{V R}!
@@ -7177,9 +7177,9 @@ then raise the number to that power.)
@subsection List Tutorial Exercise 4
@noindent
-A number @expr{j} is a divisor of @expr{n} if
+A number @expr{j} is a divisor of @expr{n} if
@texline @math{n \mathbin{\hbox{\code{\%}}} j = 0}.
-@infoline @samp{n % j = 0}.
+@infoline @samp{n % j = 0}.
The first step is to get a vector that identifies the divisors.
@smallexample
@@ -7248,9 +7248,9 @@ so that the mapping operation works; no prime factor will ever be
zero, so adding zeros on the left and right is safe. From then on
the job is pretty straightforward.
-Incidentally, Calc provides the
+Incidentally, Calc provides the
@texline @dfn{M@"obius} @math{\mu}
-@infoline @dfn{Moebius mu}
+@infoline @dfn{Moebius mu}
function which is zero if and only if its argument is square-free. It
would be a much more convenient way to do the above test in practice.
@@ -7282,7 +7282,7 @@ exercise and type @kbd{1 -} to subtract one from all the elements.
The numbers down the lefthand edge of the list we desire are called
the ``triangular numbers'' (now you know why!). The @expr{n}th
triangular number is the sum of the integers from 1 to @expr{n}, and
-can be computed directly by the formula
+can be computed directly by the formula
@texline @math{n (n+1) \over 2}.
@infoline @expr{n * (n+1) / 2}.
@@ -7378,7 +7378,7 @@ A way to isolate the maximum value is to compute the maximum using
@noindent
It's a good idea to verify, as in the last step above, that only
-one value is equal to the maximum. (After all, a plot of
+one value is equal to the maximum. (After all, a plot of
@texline @math{\sin x}
@infoline @expr{sin(x)}
might have many points all equal to the maximum value, 1.)
@@ -7650,12 +7650,12 @@ return to full-sized display of vectors.
This problem can be made a lot easier by taking advantage of some
symmetries. First of all, after some thought it's clear that the
@expr{y} axis can be ignored altogether. Just pick a random @expr{x}
-component for one end of the match, pick a random direction
+component for one end of the match, pick a random direction
@texline @math{\theta},
@infoline @expr{theta},
-and see if @expr{x} and
+and see if @expr{x} and
@texline @math{x + \cos \theta}
-@infoline @expr{x + cos(theta)}
+@infoline @expr{x + cos(theta)}
(which is the @expr{x} coordinate of the other endpoint) cross a line.
The lines are at integer coordinates, so this happens when the two
numbers surround an integer.
@@ -7670,9 +7670,9 @@ In fact, since the field of lines is infinite we can choose the
coordinates 0 and 1 for the lines on either side of the leftmost
endpoint. The rightmost endpoint will be between 0 and 1 if the
match does not cross a line, or between 1 and 2 if it does. So:
-Pick random @expr{x} and
+Pick random @expr{x} and
@texline @math{\theta},
-@infoline @expr{theta},
+@infoline @expr{theta},
compute
@texline @math{x + \cos \theta},
@infoline @expr{x + cos(theta)},
@@ -8997,7 +8997,7 @@ Each of these functions can be computed using the stack, or using
algebraic entry, whichever way you prefer:
@noindent
-Computing
+Computing
@texline @math{\displaystyle{\sin x \over x}}:
@infoline @expr{sin(x) / x}:
@@ -9068,7 +9068,7 @@ C-x ( ' [0, 1; 1, 1] ^ ($-1) * [1, 1] @key{RET} v u @key{DEL} C-x )
@noindent
This program is quite efficient because Calc knows how to raise a
-matrix (or other value) to the power @expr{n} in only
+matrix (or other value) to the power @expr{n} in only
@texline @math{\log_2 n}
@infoline @expr{log(n,2)}
steps. For example, this program can compute the 1000th Fibonacci
@@ -9122,7 +9122,7 @@ harmonic number is 4.02.
@noindent
The first step is to compute the derivative @expr{f'(x)} and thus
-the formula
+the formula
@texline @math{\displaystyle{x - {f(x) \over f'(x)}}}.
@infoline @expr{x - f(x)/f'(x)}.
@@ -9239,12 +9239,12 @@ method (among others) to look for numerical solutions to any equation.
@noindent
The first step is to adjust @expr{z} to be greater than 5. A simple
``for'' loop will do the job here. If @expr{z} is less than 5, we
-reduce the problem using
+reduce the problem using
@texline @math{\psi(z) = \psi(z+1) - 1/z}.
@infoline @expr{psi(z) = psi(z+1) - 1/z}. We go
-on to compute
+on to compute
@texline @math{\psi(z+1)},
-@infoline @expr{psi(z+1)},
+@infoline @expr{psi(z+1)},
and remember to add back a factor of @expr{-1/z} when we're done. This
step is repeated until @expr{z > 5}.
@@ -9283,7 +9283,7 @@ are exactly equal, not just equal to within the current precision.)
@end group
@end smallexample
-Now we compute the initial part of the sum:
+Now we compute the initial part of the sum:
@texline @math{\ln z - {1 \over 2z}}
@infoline @expr{ln(z) - 1/2z}
minus the adjustment factor.
@@ -9326,9 +9326,9 @@ up the value of @expr{2 n}. (Calc does have a summation command,
@end group
@end smallexample
-This is the value of
+This is the value of
@texline @math{-\gamma},
-@infoline @expr{- gamma},
+@infoline @expr{- gamma},
with a slight bit of roundoff error. To get a full 12 digits, let's use
a higher precision:
@@ -9361,9 +9361,9 @@ C-x )
@noindent
Taking the derivative of a term of the form @expr{x^n} will produce
-a term like
+a term like
@texline @math{n x^{n-1}}.
-@infoline @expr{n x^(n-1)}.
+@infoline @expr{n x^(n-1)}.
Taking the derivative of a constant
produces zero. From this it is easy to see that the @expr{n}th
derivative of a polynomial, evaluated at @expr{x = 0}, will equal the
@@ -9652,7 +9652,7 @@ still exists and is updated silently. @xref{Trail Commands}.
@mindex @null
@end ignore
In most installations, the @kbd{C-x * c} key sequence is a more
-convenient way to start the Calculator. Also, @kbd{C-x * *}
+convenient way to start the Calculator. Also, @kbd{C-x * *}
is a synonym for @kbd{C-x * c} unless you last used Calc
in its Keypad mode.
@@ -9908,9 +9908,9 @@ additional notes from the summary that apply to this command.
The @kbd{h f} (@code{calc-describe-function}) command looks up an
algebraic function or a command name in the Calc manual. Enter an
algebraic function name to look up that function in the Function
-Index or enter a command name beginning with @samp{calc-} to look it
+Index or enter a command name beginning with @samp{calc-} to look it
up in the Command Index. This command will also look up operator
-symbols that can appear in algebraic formulas, like @samp{%} and
+symbols that can appear in algebraic formulas, like @samp{%} and
@samp{=>}.
@kindex h v
@@ -10038,7 +10038,7 @@ During numeric entry, the only editing key available is @key{DEL}.
@cindex Formulas, entering
The @kbd{'} (@code{calc-algebraic-entry}) command can be used to enter
calculations in algebraic form. This is accomplished by typing the
-apostrophe key, ', followed by the expression in standard format:
+apostrophe key, ', followed by the expression in standard format:
@example
' 2+3*4 @key{RET}.
@@ -10047,7 +10047,7 @@ apostrophe key, ', followed by the expression in standard format:
@noindent
This will compute
@texline @math{2+(3\times4) = 14}
-@infoline @expr{2+(3*4) = 14}
+@infoline @expr{2+(3*4) = 14}
and push it on the stack. If you wish you can
ignore the RPN aspect of Calc altogether and simply enter algebraic
expressions in this way. You may want to use @key{DEL} every so often to
@@ -10453,9 +10453,9 @@ is greater than this, it will recompute @cpi{} using a series
approximation. This value will not need to be recomputed ever again
unless you raise the precision still further. Many operations such as
logarithms and sines make use of similarly cached values such as
-@cpiover{4} and
+@cpiover{4} and
@texline @math{\ln 2}.
-@infoline @expr{ln(2)}.
+@infoline @expr{ln(2)}.
The visible effect of caching is that
high-precision computations may seem to do extra work the first time.
Other things cached include powers of two (for the binary arithmetic
@@ -10612,10 +10612,10 @@ form). The numerator and denominator always use the same radix.
A floating-point number or @dfn{float} is a number stored in scientific
notation. The number of significant digits in the fractional part is
governed by the current floating precision (@pxref{Precision}). The
-range of acceptable values is from
+range of acceptable values is from
@texline @math{10^{-3999999}}
-@infoline @expr{10^-3999999}
-(inclusive) to
+@infoline @expr{10^-3999999}
+(inclusive) to
@texline @math{10^{4000000}}
@infoline @expr{10^4000000}
(exclusive), plus the corresponding negative values and zero.
@@ -10666,7 +10666,7 @@ and displayed in any radix just like integers and fractions. Since a
float that is entered in a radix other that 10 will be converted to
decimal, the number that Calc stores may not be exactly the number that
was entered, it will be the closest decimal approximation given the
-current precison. The notation @samp{@var{radix}#@var{ddd}.@var{ddd}}
+current precision. The notation @samp{@var{radix}#@var{ddd}.@var{ddd}}
is a floating-point number whose digits are in the specified radix.
Note that the @samp{.} is more aptly referred to as a ``radix point''
than as a decimal point in this case. The number @samp{8#123.4567} is
@@ -10690,18 +10690,18 @@ polar. The default format is rectangular, displayed in the form
Rectangular complex numbers can also be displayed in @samp{@var{a}+@var{b}i}
notation; @pxref{Complex Formats}.
-Polar complex numbers are displayed in the form
+Polar complex numbers are displayed in the form
@texline `@tfn{(}@var{r}@tfn{;}@math{\theta}@tfn{)}'
@infoline `@tfn{(}@var{r}@tfn{;}@var{theta}@tfn{)}'
-where @var{r} is the nonnegative magnitude and
+where @var{r} is the nonnegative magnitude and
@texline @math{\theta}
-@infoline @var{theta}
-is the argument or phase angle. The range of
+@infoline @var{theta}
+is the argument or phase angle. The range of
@texline @math{\theta}
-@infoline @var{theta}
+@infoline @var{theta}
depends on the current angular mode (@pxref{Angular Modes}); it is
generally between @mathit{-180} and @mathit{+180} degrees or the equivalent range
-in radians.
+in radians.
Complex numbers are entered in stages using incomplete objects.
@xref{Incomplete Objects}.
@@ -10742,9 +10742,9 @@ really mean is that @expr{1 / x}, as @expr{x} becomes larger and
larger, becomes arbitrarily close to zero. So you can imagine
that if @expr{x} got ``all the way to infinity,'' then @expr{1 / x}
would go all the way to zero. Similarly, when they say that
-@samp{exp(inf) = inf}, they mean that
+@samp{exp(inf) = inf}, they mean that
@texline @math{e^x}
-@infoline @expr{exp(x)}
+@infoline @expr{exp(x)}
grows without bound as @expr{x} grows. The symbol @samp{-inf} likewise
stands for an infinitely negative real value; for example, we say that
@samp{exp(-inf) = 0}. You can have an infinity pointing in any
@@ -10839,7 +10839,7 @@ of its elements.
@end ignore
@tindex vec
Algebraic functions for building vectors include @samp{vec(a, b, c)}
-to build @samp{[a, b, c]}, @samp{cvec(a, n, m)} to build an
+to build @samp{[a, b, c]}, @samp{cvec(a, n, m)} to build an
@texline @math{n\times m}
@infoline @var{n}x@var{m}
matrix of @samp{a}s, and @samp{index(n)} to build a vector of integers
@@ -11184,9 +11184,9 @@ there is no solution to this equation (which can happen only when
division is left in symbolic form. Other operations, such as square
roots, are not yet supported for modulo forms. (Note that, although
@w{`@tfn{(}@var{a} @tfn{mod} @var{M}@tfn{)^.5}'} will compute a ``modulo square root''
-in the sense of reducing
+in the sense of reducing
@texline @math{\sqrt a}
-@infoline @expr{sqrt(a)}
+@infoline @expr{sqrt(a)}
modulo @expr{M}, this is not a useful definition from the
number-theoretical point of view.)
@@ -11220,11 +11220,11 @@ The algebraic function @samp{makemod(a, m)} builds the modulo form
@cindex Standard deviations
An @dfn{error form} is a number with an associated standard
deviation, as in @samp{2.3 +/- 0.12}. The notation
-@texline `@var{x} @tfn{+/-} @math{\sigma}'
-@infoline `@var{x} @tfn{+/-} sigma'
+@texline `@var{x} @tfn{+/-} @math{\sigma}'
+@infoline `@var{x} @tfn{+/-} sigma'
stands for an uncertain value which follows
a normal or Gaussian distribution of mean @expr{x} and standard
-deviation or ``error''
+deviation or ``error''
@texline @math{\sigma}.
@infoline @expr{sigma}.
Both the mean and the error can be either numbers or
@@ -11235,7 +11235,7 @@ regular number by the Calculator.
All arithmetic and transcendental functions accept error forms as input.
Operations on the mean-value part work just like operations on regular
-numbers. The error part for any function @expr{f(x)} (such as
+numbers. The error part for any function @expr{f(x)} (such as
@texline @math{\sin x}
@infoline @expr{sin(x)})
is defined by the error of @expr{x} times the derivative of @expr{f}
@@ -11267,35 +11267,35 @@ Consult a good text on error analysis for a discussion of the proper use
of standard deviations. Actual errors often are neither Gaussian-distributed
nor uncorrelated, and the above formulas are valid only when errors
are small. As an example, the error arising from
-@texline `@tfn{sin(}@var{x} @tfn{+/-} @math{\sigma}@tfn{)}'
-@infoline `@tfn{sin(}@var{x} @tfn{+/-} @var{sigma}@tfn{)}'
-is
-@texline `@math{\sigma} @tfn{abs(cos(}@var{x}@tfn{))}'.
-@infoline `@var{sigma} @tfn{abs(cos(}@var{x}@tfn{))}'.
+@texline `@tfn{sin(}@var{x} @tfn{+/-} @math{\sigma}@tfn{)}'
+@infoline `@tfn{sin(}@var{x} @tfn{+/-} @var{sigma}@tfn{)}'
+is
+@texline `@math{\sigma} @tfn{abs(cos(}@var{x}@tfn{))}'.
+@infoline `@var{sigma} @tfn{abs(cos(}@var{x}@tfn{))}'.
When @expr{x} is close to zero,
@texline @math{\cos x}
-@infoline @expr{cos(x)}
-is close to one so the error in the sine is close to
+@infoline @expr{cos(x)}
+is close to one so the error in the sine is close to
@texline @math{\sigma};
@infoline @expr{sigma};
-this makes sense, since
+this makes sense, since
@texline @math{\sin x}
-@infoline @expr{sin(x)}
+@infoline @expr{sin(x)}
is approximately @expr{x} near zero, so a given error in @expr{x} will
produce about the same error in the sine. Likewise, near 90 degrees
@texline @math{\cos x}
-@infoline @expr{cos(x)}
+@infoline @expr{cos(x)}
is nearly zero and so the computed error is
small: The sine curve is nearly flat in that region, so an error in @expr{x}
-has relatively little effect on the value of
+has relatively little effect on the value of
@texline @math{\sin x}.
-@infoline @expr{sin(x)}.
+@infoline @expr{sin(x)}.
However, consider @samp{sin(90 +/- 1000)}. The cosine of 90 is zero, so
Calc will report zero error! We get an obviously wrong result because
we have violated the small-error approximation underlying the error
analysis. If the error in @expr{x} had been small, the error in
@texline @math{\sin x}
-@infoline @expr{sin(x)}
+@infoline @expr{sin(x)}
would indeed have been negligible.
@ignore
@@ -11402,14 +11402,14 @@ contain zero inside them Calc is forced to give the result,
While it may seem that intervals and error forms are similar, they are
based on entirely different concepts of inexact quantities. An error
-form
-@texline `@var{x} @tfn{+/-} @math{\sigma}'
-@infoline `@var{x} @tfn{+/-} @var{sigma}'
+form
+@texline `@var{x} @tfn{+/-} @math{\sigma}'
+@infoline `@var{x} @tfn{+/-} @var{sigma}'
means a variable is random, and its value could
-be anything but is ``probably'' within one
-@texline @math{\sigma}
-@infoline @var{sigma}
-of the mean value @expr{x}. An interval
+be anything but is ``probably'' within one
+@texline @math{\sigma}
+@infoline @var{sigma}
+of the mean value @expr{x}. An interval
`@tfn{[}@var{a} @tfn{..@:} @var{b}@tfn{]}' means a
variable's value is unknown, but guaranteed to lie in the specified
range. Error forms are statistical or ``average case'' approximations;
@@ -11641,7 +11641,7 @@ the C-style ``if'' operator @samp{a?b:c} [@code{if}];
@samp{=>} [@code{evalto}].
Note that, unlike in usual computer notation, multiplication binds more
-strongly than division: @samp{a*b/c*d} is equivalent to
+strongly than division: @samp{a*b/c*d} is equivalent to
@texline @math{a b \over c d}.
@infoline @expr{(a*b)/(c*d)}.
@@ -11858,13 +11858,13 @@ next higher level. For example, with @samp{10 20 30 40 50} on the
stack and the point on the line containing @samp{30}, @kbd{C-x C-t}
creates @samp{10 20 40 30 50}. More generally, @kbd{C-x C-t} acts on
the stack objects determined by the current point (and mark) similar
-to how the text-mode command @code{transpose-lines} acts on
+to how the text-mode command @code{transpose-lines} acts on
lines. With argument @var{n}, @kbd{C-x C-t} will move the stack object
at the level above the current point and move it past N other objects;
for example, with @samp{10 20 30 40 50} on the stack and the point on
-the line containing @samp{30}, @kbd{C-u 2 C-x C-t} creates
+the line containing @samp{30}, @kbd{C-u 2 C-x C-t} creates
@samp{10 40 20 30 50}. With an argument of 0, @kbd{C-x C-t} will switch
-the stack objects at the levels determined by the point and the mark.
+the stack objects at the levels determined by the point and the mark.
@node Editing Stack Entries, Trail Commands, Stack Manipulation, Stack and Trail
@section Editing Stack Entries
@@ -12056,7 +12056,7 @@ the stack contains the arguments and the result: @samp{2 3 5}.
With the exception of keyboard macros, this works for all commands that
take arguments off the stack. (To avoid potentially unpleasant behavior,
a @kbd{K} prefix before a keyboard macro will be ignored. A @kbd{K}
-prefix called @emph{within} the keyboard macro will still take effect.)
+prefix called @emph{within} the keyboard macro will still take effect.)
As another example, @kbd{K a s} simplifies a formula, pushing the
simplified version of the formula onto the stack after the original
formula (rather than replacing the original formula). Note that you
@@ -12064,7 +12064,7 @@ could get the same effect by typing @kbd{@key{RET} a s}, copying the
formula and then simplifying the copy. One difference is that for a very
large formula the time taken to format the intermediate copy in
@kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this
-extra work.
+extra work.
Even stack manipulation commands are affected. @key{TAB} works by
popping two values and pushing them back in the opposite order,
@@ -12155,7 +12155,7 @@ discussion of the @code{calc-settings-file} variable; @pxref{Customizing Calc}.
If the file name you give is your user init file (typically
@file{~/.emacs}), @kbd{m F} will not automatically load the new file. This
is because your user init file may contain other things you don't want
-to reread. You can give
+to reread. You can give
a numeric prefix argument of 1 to @kbd{m F} to force it to read the
file no matter what. Conversely, an argument of @mathit{-1} tells
@kbd{m F} @emph{not} to read the new file. An argument of 2 or @mathit{-2}
@@ -12274,7 +12274,7 @@ corresponding base command (@code{calc-sin} in this case).
@pindex calc-option
The @kbd{O} key (@code{calc-option}) sets another flag, the
@dfn{Option Flag}, which also can alter the subsequent Calc command in
-various ways.
+various ways.
The Inverse, Hyperbolic and Option flags apply only to the next
Calculator command, after which they are automatically cleared. (They
@@ -12366,7 +12366,7 @@ result cannot be expressed as an integer. In some cases you would
rather get an exact fractional answer. One way to accomplish this is
to use the @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command, which
divides the two integers on the top of the stack to produce a fraction:
-@kbd{6 @key{RET} 4 :} produces @expr{3:2} even though
+@kbd{6 @key{RET} 4 :} produces @expr{3:2} even though
@kbd{6 @key{RET} 4 /} produces @expr{1.5}.
@kindex m f
@@ -12878,7 +12878,7 @@ To declare specifically that @code{x} is real and non-zero,
use @samp{[[-inf .. 0), (0 .. inf]]}. (There is no way in the
current notation to say that @code{x} is nonzero but not necessarily
real.) The @kbd{a e} command does ``unsafe'' simplifications,
-including cancelling @samp{x} from the equation when @samp{x} is
+including canceling @samp{x} from the equation when @samp{x} is
not known to be nonzero.
Another set of type symbols distinguish between scalars and vectors.
@@ -13155,11 +13155,11 @@ represent the integer and no more. The @kbd{d z} (@code{calc-leading-zeros})
command causes integers to be padded out with leading zeros according to the
current binary word size. (@xref{Binary Functions}, for a discussion of
word size.) If the absolute value of the word size is @expr{w}, all integers
-are displayed with at least enough digits to represent
+are displayed with at least enough digits to represent
@texline @math{2^w-1}
-@infoline @expr{(2^w)-1}
+@infoline @expr{(2^w)-1}
in the current radix. (Larger integers will still be displayed in their
-entirety.)
+entirety.)
@cindex Two's complements
Calc can display @expr{w}-bit integers using two's complement
@@ -13181,7 +13181,7 @@ the integers from @expr{0} to
are represented by themselves and the integers from
@texline @math{-2^{w-1}}
@infoline @expr{-2^(w-1)}
-to @expr{-1} are represented by the integers from
+to @expr{-1} are represented by the integers from
@texline @math{2^{w-1}}
@infoline @expr{2^(w-1)}
to @expr{2^w-1} (the integer @expr{k} is represented by @expr{k+2^w}).
@@ -13190,7 +13190,7 @@ Calc will display a two's complement integer by the radix (either
representation (including any leading zeros necessary to include all
@expr{w} bits). In a two's complement display mode, numbers that
are not displayed in two's complement notation (i.e., that aren't
-integers from
+integers from
@texline @math{-2^{w-1}}
@infoline @expr{-2^(w-1)}
to
@@ -14095,13 +14095,13 @@ the @samp{$} sign has the same meaning it always does in algebraic
formulas (a reference to an existing entry on the stack).
Complex numbers are displayed as in @samp{3 + 4i}. Fractions and
-quotients are written using @code{\over} in @TeX{} mode (as in
+quotients are written using @code{\over} in @TeX{} mode (as in
@code{@{a \over b@}}) and @code{\frac} in La@TeX{} mode (as in
@code{\frac@{a@}@{b@}}); binomial coefficients are written with
@code{\choose} in @TeX{} mode (as in @code{@{a \choose b@}}) and
@code{\binom} in La@TeX{} mode (as in @code{\binom@{a@}@{b@}}).
Interval forms are written with @code{\ldots}, and error forms are
-written with @code{\pm}. Absolute values are written as in
+written with @code{\pm}. Absolute values are written as in
@samp{|x + 1|}, and the floor and ceiling functions are written with
@code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and
@code{\right} are ignored when reading formulas in @TeX{} and La@TeX{}
@@ -14114,10 +14114,10 @@ and La@TeX{} have special names (like @code{\sin}) will use curly braces
instead of parentheses for very simple arguments. During input, curly
braces and parentheses work equally well for grouping, but when the
document is formatted the curly braces will be invisible. Thus the
-printed result is
+printed result is
@texline @math{\sin{2 x}}
-@infoline @expr{sin 2x}
-but
+@infoline @expr{sin 2x}
+but
@texline @math{\sin(2 + x)}.
@infoline @expr{sin(2 + x)}.
@@ -14131,7 +14131,7 @@ italic letters in the printed document. If you invoke @kbd{d T} or
@kbd{d L} with a positive numeric prefix argument, names of more than
one character will instead be enclosed in a protective commands that
will prevent them from being typeset in the math italics; they will be
-written @samp{\hbox@{@var{name}@}} in @TeX{} mode and
+written @samp{\hbox@{@var{name}@}} in @TeX{} mode and
@samp{\text@{@var{name}@}} in La@TeX{} mode. The
@samp{\hbox@{ @}} and @samp{\text@{ @}} notations are ignored during
reading. If you use a negative prefix argument, such function names are
@@ -14143,7 +14143,7 @@ any @TeX{} mode.)
During reading, text of the form @samp{\matrix@{ ...@: @}} is replaced
by @samp{[ ...@: ]}. The same also applies to @code{\pmatrix} and
-@code{\bmatrix}. In La@TeX{} mode this also applies to
+@code{\bmatrix}. In La@TeX{} mode this also applies to
@samp{\begin@{matrix@} ... \end@{matrix@}},
@samp{\begin@{bmatrix@} ... \end@{bmatrix@}},
@samp{\begin@{pmatrix@} ... \end@{pmatrix@}}, as well as
@@ -14151,12 +14151,12 @@ by @samp{[ ...@: ]}. The same also applies to @code{\pmatrix} and
The symbol @samp{&} is interpreted as a comma,
and the symbols @samp{\cr} and @samp{\\} are interpreted as semicolons.
During output, matrices are displayed in @samp{\matrix@{ a & b \\ c & d@}}
-format in @TeX{} mode and in
+format in @TeX{} mode and in
@samp{\begin@{pmatrix@} a & b \\ c & d \end@{pmatrix@}} format in
La@TeX{} mode; you may need to edit this afterwards to change to your
preferred matrix form. If you invoke @kbd{d T} or @kbd{d L} with an
argument of 2 or -2, then matrices will be displayed in two-dimensional
-form, such as
+form, such as
@example
\begin@{pmatrix@}
@@ -14300,25 +14300,25 @@ in Calc, @TeX{}, La@TeX{} and @dfn{eqn} (described in the next section):
@example
Calc TeX LaTeX eqn
---- --- ----- ---
-acute \acute \acute
-Acute \Acute
+acute \acute \acute
+Acute \Acute
bar \bar \bar bar
Bar \Bar
-breve \breve \breve
-Breve \Breve
-check \check \check
-Check \Check
+breve \breve \breve
+Breve \Breve
+check \check \check
+Check \Check
dddot \dddot
ddddot \ddddot
dot \dot \dot dot
Dot \Dot
dotdot \ddot \ddot dotdot
-DotDot \Ddot
+DotDot \Ddot
dyad dyad
-grave \grave \grave
-Grave \Grave
+grave \grave \grave
+Grave \Grave
hat \hat \hat hat
-Hat \Hat
+Hat \Hat
Prime prime
tilde \tilde \tilde tilde
Tilde \Tilde
@@ -14363,7 +14363,7 @@ reading is:
Note that, because these symbols are ignored, reading a @TeX{} or
La@TeX{} formula into Calc and writing it back out may lose spacing and
-font information.
+font information.
Also, the ``discretionary multiplication sign'' @samp{\*} is read
the same as @samp{*}.
@@ -14542,7 +14542,7 @@ are treated the same as curly braces: @samp{sqrt "1+x"} is equivalent to
of quotes in @dfn{eqn}, but it is good enough for most uses.
Accent codes (@samp{@var{x} dot}) are handled by treating them as
-function calls (@samp{dot(@var{x})}) internally.
+function calls (@samp{dot(@var{x})}) internally.
@xref{TeX and LaTeX Language Modes}, for a table of these accent
functions. The @code{prime} accent is treated specially if it occurs on
a variable or function name: @samp{f prime prime @w{( x prime )}} is
@@ -14572,7 +14572,7 @@ if the matrix justification mode so specifies.
The @kbd{d Y} (@code{calc-yacas-language}) command selects the
conventions of Yacas, a free computer algebra system. While the
operators and functions in Yacas are similar to those of Calc, the names
-of built-in functions in Yacas are capitalized. The Calc formula
+of built-in functions in Yacas are capitalized. The Calc formula
@samp{sin(2 x)}, for example, is entered and displayed @samp{Sin(2 x)}
in Yacas mode, and `@samp{arcsin(x^2)} is @samp{ArcSin(x^2)} in Yacas
mode. Complex numbers are written are written @samp{3 + 4 I}.
@@ -14581,9 +14581,9 @@ The standard special constants are written @code{Pi}, @code{E},
represents both @code{inf} and @code{uinf}, and @code{Undefined}
represents @code{nan}.
-Certain operators on functions, such as @code{D} for differentiation
+Certain operators on functions, such as @code{D} for differentiation
and @code{Integrate} for integration, take a prefix form in Yacas. For
-example, the derivative of @w{@samp{e^x sin(x)}} can be computed with
+example, the derivative of @w{@samp{e^x sin(x)}} can be computed with
@w{@samp{D(x) Exp(x)*Sin(x)}}.
Other notable differences between Yacas and standard Calc expressions
@@ -14602,7 +14602,7 @@ use square brackets. If, for example, @samp{A} represents the list
The @kbd{d X} (@code{calc-maxima-language}) command selects the
conventions of Maxima, another free computer algebra system. The
function names in Maxima are similar, but not always identical, to Calc.
-For example, instead of @samp{arcsin(x)}, Maxima will use
+For example, instead of @samp{arcsin(x)}, Maxima will use
@samp{asin(x)}. Complex numbers are written @samp{3 + 4 %i}. The
standard special constants are written @code{%pi}, @code{%e},
@code{%i}, @code{%phi} and @code{%gamma}. In Maxima, @code{inf} means
@@ -14610,8 +14610,8 @@ the same as in Calc, but @code{infinity} represents Calc's @code{uinf}.
Underscores as well as percent signs are allowed in function and
variable names in Maxima mode. The underscore again is equivalent to
-the @samp{#} in Normal mode, and the percent sign is equivalent to
-@samp{o'o}.
+the @samp{#} in Normal mode, and the percent sign is equivalent to
+@samp{o'o}.
Maxima uses square brackets for lists and vectors, and matrices are
written as calls to the function @code{matrix}, given the row vectors of
@@ -14629,7 +14629,7 @@ conventions of Giac, another free computer algebra system. The function
names in Giac are similar to Maxima. Complex numbers are written
@samp{3 + 4 i}. The standard special constants in Giac are the same as
in Calc, except that @code{infinity} represents both Calc's @code{inf}
-and @code{uinf}.
+and @code{uinf}.
Underscores are allowed in function and variable names in Giac mode.
Brackets are used for subscripts. In Giac, indexing of lists begins at
@@ -15786,9 +15786,9 @@ Command is @kbd{m p}.
@item
Matrix/Scalar mode. Default value is @mathit{-1}. Value is 0 for Scalar
mode, @mathit{-2} for Matrix mode, @mathit{-3} for square Matrix mode,
-or @var{N} for
+or @var{N} for
@texline @math{N\times N}
-@infoline @var{N}x@var{N}
+@infoline @var{N}x@var{N}
Matrix mode. Command is @kbd{m v}.
@item
@@ -16178,7 +16178,7 @@ whereas @w{@samp{[-2 ..@: 3] ^ 2}} is @samp{[0 ..@: 9]}.
@mindex @null
@end ignore
@tindex /
-The @kbd{/} (@code{calc-divide}) command divides two numbers.
+The @kbd{/} (@code{calc-divide}) command divides two numbers.
When combining multiplication and division in an algebraic formula, it
is good style to use parentheses to distinguish between possible
@@ -16187,7 +16187,7 @@ interpretations; the expression @samp{a/b*c} should be written
parentheses, Calc will interpret @samp{a/b*c} as @samp{a/(b*c)}, since
in algebraic entry Calc gives division a lower precedence than
multiplication. (This is not standard across all computer languages, and
-Calc may change the precedence depending on the language mode being used.
+Calc may change the precedence depending on the language mode being used.
@xref{Language Modes}.) This default ordering can be changed by setting
the customizable variable @code{calc-multiplication-has-precedence} to
@code{nil} (@pxref{Customizing Calc}); this will give multiplication and
@@ -16373,7 +16373,7 @@ all the arguments.)
The @kbd{f M} (@code{calc-mant-part}) [@code{mant}] function extracts
the ``mantissa'' part @expr{m} of its floating-point argument; @kbd{f X}
(@code{calc-xpon-part}) [@code{xpon}] extracts the ``exponent'' part
-@expr{e}. The original number is equal to
+@expr{e}. The original number is equal to
@texline @math{m \times 10^e},
@infoline @expr{m * 10^e},
where @expr{m} is in the interval @samp{[1.0 ..@: 10.0)} except that
@@ -16406,9 +16406,9 @@ floating-point numbers, the change is by one unit in the last place.
For example, incrementing @samp{12.3456} when the current precision
is 6 digits yields @samp{12.3457}. If the current precision had been
8 digits, the result would have been @samp{12.345601}. Incrementing
-@samp{0.0} produces
+@samp{0.0} produces
@texline @math{10^{-p}},
-@infoline @expr{10^-p},
+@infoline @expr{10^-p},
where @expr{p} is the current
precision. These operations are defined only on integers and floats.
With numeric prefix arguments, they change the number by @expr{n} units.
@@ -16852,7 +16852,7 @@ The last two arguments default to zero if omitted.
The @kbd{t J} (@code{calc-julian}) [@code{julian}] command converts
a date form into a Julian day count, which is the number of days
since noon (GMT) on Jan 1, 4713 BC. A pure date is converted to an
-integer Julian count representing noon of that day. A date/time form
+integer Julian count representing noon of that day. A date/time form
is converted to an exact floating-point Julian count, adjusted to
interpret the date form in the current time zone but the Julian
day count in Greenwich Mean Time. A numeric prefix argument allows
@@ -17294,12 +17294,12 @@ With no arguments, @code{calc-time-zone} or @samp{tzone()} will by
default get the time zone and daylight saving information from the
calendar (@pxref{Daylight Saving,Calendar/Diary,The Calendar and the Diary,
emacs,The GNU Emacs Manual}). To use a different time zone, or if the
-calendar does not give the desired result, you can set the Calc variable
+calendar does not give the desired result, you can set the Calc variable
@code{TimeZone} (which is by default @code{nil}) to an appropriate
time zone name. (The easiest way to do this is to edit the
@code{TimeZone} variable using Calc's @kbd{s T} command, then use the
@kbd{s p} (@code{calc-permanent-variable}) command to save the value of
-@code{TimeZone} permanently.)
+@code{TimeZone} permanently.)
If the time zone given by @code{TimeZone} is a generalized time zone,
e.g., @code{EGT}, Calc examines the date being converted to tell whether
to use standard or daylight saving time. But if the current time zone
@@ -17311,12 +17311,12 @@ from the calendar.
The @kbd{t J} and @code{t U} commands with no numeric prefix
arguments do the same thing as @samp{tzone()}; namely, use the
-information from the calendar if @code{TimeZone} is @code{nil},
+information from the calendar if @code{TimeZone} is @code{nil},
otherwise use the time zone given by @code{TimeZone}.
@vindex math-daylight-savings-hook
@findex math-std-daylight-savings
-When Calc computes the daylight saving information itself (i.e., when
+When Calc computes the daylight saving information itself (i.e., when
the @code{TimeZone} variable is set), it will by default consider
daylight saving time to begin at 2 a.m.@: on the second Sunday of March
(for years from 2007 on) or on the last Sunday in April (for years
@@ -17392,7 +17392,7 @@ falls in this hour results in a time value for the following hour,
from 3 a.m.@: to 4 a.m. At the end of daylight saving time, the
hour from 1 a.m.@: to 2 a.m.@: repeats itself; converting a date/time
form that falls in this hour results in a time value for the first
-manifestation of that time (@emph{not} the one that occurs one hour
+manifestation of that time (@emph{not} the one that occurs one hour
later).
If @code{math-daylight-savings-hook} is @code{nil}, then the
@@ -17995,12 +17995,12 @@ particular, negative arguments are converted to positive integers modulo
@expr{2^w} by all binary functions.
If the word size is negative, binary operations produce twos-complement
-integers from
+integers from
@texline @math{-2^{-w-1}}
-@infoline @expr{-(2^(-w-1))}
-to
+@infoline @expr{-(2^(-w-1))}
+to
@texline @math{2^{-w-1}-1}
-@infoline @expr{2^(-w-1)-1}
+@infoline @expr{2^(-w-1)-1}
inclusive. Either mode accepts inputs in any range; the sign of
@expr{w} affects only the results produced.
@@ -18182,13 +18182,13 @@ flag keys must be used to get some of these functions from the keyboard.
One miscellaneous command is shift-@kbd{P} (@code{calc-pi}), which pushes
the value of @cpi{} (at the current precision) onto the stack. With the
Hyperbolic flag, it pushes the value @expr{e}, the base of natural logarithms.
-With the Inverse flag, it pushes Euler's constant
+With the Inverse flag, it pushes Euler's constant
@texline @math{\gamma}
-@infoline @expr{gamma}
+@infoline @expr{gamma}
(about 0.5772). With both Inverse and Hyperbolic, it
-pushes the ``golden ratio''
+pushes the ``golden ratio''
@texline @math{\phi}
-@infoline @expr{phi}
+@infoline @expr{phi}
(about 1.618). (At present, Euler's constant is not available
to unlimited precision; Calc knows only the first 100 digits.)
In Symbolic mode, these commands push the
@@ -18266,7 +18266,7 @@ The @kbd{H L} (@code{calc-log10}) [@code{log10}] command computes the common
(base-10) logarithm of a number. (With the Inverse flag [@code{exp10}],
it raises ten to a given power.) Note that the common logarithm of a
complex number is computed by taking the natural logarithm and dividing
-by
+by
@texline @math{\ln10}.
@infoline @expr{ln(10)}.
@@ -18278,7 +18278,7 @@ by
The @kbd{B} (@code{calc-log}) [@code{log}] command computes a logarithm
to any base. For example, @kbd{1024 @key{RET} 2 B} produces 10, since
@texline @math{2^{10} = 1024}.
-@infoline @expr{2^10 = 1024}.
+@infoline @expr{2^10 = 1024}.
In certain cases like @samp{log(3,9)}, the result
will be either @expr{1:2} or @expr{0.5} depending on the current Fraction
mode setting. With the Inverse flag [@code{alog}], this command is
@@ -18300,11 +18300,11 @@ integer arithmetic is used; otherwise, this is equivalent to
@tindex expm1
The @kbd{f E} (@code{calc-expm1}) [@code{expm1}] command computes
@texline @math{e^x - 1},
-@infoline @expr{exp(x)-1},
+@infoline @expr{exp(x)-1},
but using an algorithm that produces a more accurate
-answer when the result is close to zero, i.e., when
+answer when the result is close to zero, i.e., when
@texline @math{e^x}
-@infoline @expr{exp(x)}
+@infoline @expr{exp(x)}
is close to one.
@kindex f L
@@ -18312,7 +18312,7 @@ is close to one.
@tindex lnp1
The @kbd{f L} (@code{calc-lnp1}) [@code{lnp1}] command computes
@texline @math{\ln(x+1)},
-@infoline @expr{ln(x+1)},
+@infoline @expr{ln(x+1)},
producing a more accurate answer when @expr{x} is close to zero.
@node Trigonometric and Hyperbolic Functions, Advanced Math Functions, Logarithmic Functions, Scientific Functions
@@ -18515,9 +18515,9 @@ The @kbd{f g} (@code{calc-gamma}) [@code{gamma}] command computes the Euler
gamma function. For positive integer arguments, this is related to the
factorial function: @samp{gamma(n+1) = fact(n)}. For general complex
arguments the gamma function can be defined by the following definite
-integral:
+integral:
@texline @math{\Gamma(a) = \int_0^\infty t^{a-1} e^t dt}.
-@infoline @expr{gamma(a) = integ(t^(a-1) exp(t), t, 0, inf)}.
+@infoline @expr{gamma(a) = integ(t^(a-1) exp(t), t, 0, inf)}.
(The actual implementation uses far more efficient computational methods.)
@kindex f G
@@ -18549,7 +18549,7 @@ integral:
@tindex gammaG
The @kbd{f G} (@code{calc-inc-gamma}) [@code{gammaP}] command computes
the incomplete gamma function, denoted @samp{P(a,x)}. This is defined by
-the integral,
+the integral,
@texline @math{P(a,x) = \left( \int_0^x t^{a-1} e^t dt \right) / \Gamma(a)}.
@infoline @expr{gammaP(a,x) = integ(t^(a-1) exp(t), t, 0, x) / gamma(a)}.
This implies that @samp{gammaP(a,inf) = 1} for any @expr{a} (see the
@@ -18583,7 +18583,7 @@ You can obtain these using the \kbd{H f G} [\code{gammag}] and
The @kbd{f b} (@code{calc-beta}) [@code{beta}] command computes the
Euler beta function, which is defined in terms of the gamma function as
@texline @math{B(a,b) = \Gamma(a) \Gamma(b) / \Gamma(a+b)},
-@infoline @expr{beta(a,b) = gamma(a) gamma(b) / gamma(a+b)},
+@infoline @expr{beta(a,b) = gamma(a) gamma(b) / gamma(a+b)},
or by
@texline @math{B(a,b) = \int_0^1 t^{a-1} (1-t)^{b-1} dt}.
@infoline @expr{beta(a,b) = integ(t^(a-1) (1-t)^(b-1), t, 0, 1)}.
@@ -18606,7 +18606,7 @@ un-normalized version [@code{betaB}].
@tindex erf
@tindex erfc
The @kbd{f e} (@code{calc-erf}) [@code{erf}] command computes the
-error function
+error function
@texline @math{\hbox{erf}(x) = {2 \over \sqrt{\pi}} \int_0^x e^{-t^2} dt}.
@infoline @expr{erf(x) = 2 integ(exp(-(t^2)), t, 0, x) / sqrt(pi)}.
The complementary error function @kbd{I f e} (@code{calc-erfc}) [@code{erfc}]
@@ -18784,9 +18784,9 @@ The @kbd{k r} (@code{calc-random}) [@code{random}] command produces
random numbers of various sorts.
Given a positive numeric prefix argument @expr{M}, it produces a random
-integer @expr{N} in the range
+integer @expr{N} in the range
@texline @math{0 \le N < M}.
-@infoline @expr{0 <= N < M}.
+@infoline @expr{0 <= N < M}.
Each possible value @expr{N} appears with equal probability.
With no numeric prefix argument, the @kbd{k r} command takes its argument
@@ -18794,17 +18794,17 @@ from the stack instead. Once again, if this is a positive integer @expr{M}
the result is a random integer less than @expr{M}. However, note that
while numeric prefix arguments are limited to six digits or so, an @expr{M}
taken from the stack can be arbitrarily large. If @expr{M} is negative,
-the result is a random integer in the range
+the result is a random integer in the range
@texline @math{M < N \le 0}.
@infoline @expr{M < N <= 0}.
If the value on the stack is a floating-point number @expr{M}, the result
-is a random floating-point number @expr{N} in the range
+is a random floating-point number @expr{N} in the range
@texline @math{0 \le N < M}
@infoline @expr{0 <= N < M}
-or
+or
@texline @math{M < N \le 0},
-@infoline @expr{M < N <= 0},
+@infoline @expr{M < N <= 0},
according to the sign of @expr{M}.
If @expr{M} is zero, the result is a Gaussian-distributed random real
@@ -18812,14 +18812,14 @@ number; the distribution has a mean of zero and a standard deviation
of one. The algorithm used generates random numbers in pairs; thus,
every other call to this function will be especially fast.
-If @expr{M} is an error form
+If @expr{M} is an error form
@texline @math{m} @code{+/-} @math{\sigma}
-@infoline @samp{m +/- s}
-where @var{m} and
+@infoline @samp{m +/- s}
+where @var{m} and
@texline @math{\sigma}
-@infoline @var{s}
+@infoline @var{s}
are both real numbers, the result uses a Gaussian distribution with mean
-@var{m} and standard deviation
+@var{m} and standard deviation
@texline @math{\sigma}.
@infoline @var{s}.
@@ -18932,9 +18932,9 @@ generators that are typically used to implement @code{random}.
If @code{RandSeed} contains an integer, Calc uses this integer to
seed an ``additive congruential'' method (Knuth's algorithm 3.2.2A,
-computing
+computing
@texline @math{X_{n-55} - X_{n-24}}.
-@infoline @expr{X_n-55 - X_n-24}).
+@infoline @expr{X_n-55 - X_n-24}).
This method expands the seed
value into a large table which is maintained internally; the variable
@code{RandSeed} is changed from, e.g., 42 to the vector @expr{[42]}
@@ -18970,18 +18970,18 @@ value.
To create a random floating-point number with precision @var{p}, Calc
simply creates a random @var{p}-digit integer and multiplies by
@texline @math{10^{-p}}.
-@infoline @expr{10^-p}.
+@infoline @expr{10^-p}.
The resulting random numbers should be very clean, but note
that relatively small numbers will have few significant random digits.
In other words, with a precision of 12, you will occasionally get
-numbers on the order of
+numbers on the order of
@texline @math{10^{-9}}
-@infoline @expr{10^-9}
-or
+@infoline @expr{10^-9}
+or
@texline @math{10^{-10}},
-@infoline @expr{10^-10},
+@infoline @expr{10^-10},
but those numbers will only have two or three random digits since they
-correspond to small integers times
+correspond to small integers times
@texline @math{10^{-12}}.
@infoline @expr{10^-12}.
@@ -19032,7 +19032,7 @@ numbers.
@tindex egcd
The @kbd{k E} (@code{calc-extended-gcd}) [@code{egcd}] command computes
the GCD of two integers @expr{x} and @expr{y} and returns a vector
-@expr{[g, a, b]} where
+@expr{[g, a, b]} where
@texline @math{g = \gcd(x,y) = a x + b y}.
@infoline @expr{g = gcd(x,y) = a x + b y}.
@@ -19119,11 +19119,11 @@ functions.
@tindex stir1
@tindex stir2
The @kbd{k s} (@code{calc-stirling-number}) [@code{stir1}] command
-computes a Stirling number of the first
+computes a Stirling number of the first
@texline kind@tie{}@math{n \brack m},
@infoline kind,
given two integers @expr{n} and @expr{m} on the stack. The @kbd{H k s}
-[@code{stir2}] command computes a Stirling number of the second
+[@code{stir2}] command computes a Stirling number of the second
@texline kind@tie{}@math{n \brace m}.
@infoline kind.
These are the number of @expr{m}-cycle permutations of @expr{n} objects,
@@ -19202,7 +19202,7 @@ analogously finds the next prime less than a given number.
@pindex calc-totient
@tindex totient
The @kbd{k t} (@code{calc-totient}) [@code{totient}] command computes the
-Euler ``totient''
+Euler ``totient''
@texline function@tie{}@math{\phi(n)},
@infoline function,
the number of integers less than @expr{n} which
@@ -19277,7 +19277,7 @@ recover the original arguments but substitute a new value for @expr{x}.)
@tindex ltpc
The @samp{utpc(x,v)} function uses the chi-square distribution with
@texline @math{\nu}
-@infoline @expr{v}
+@infoline @expr{v}
degrees of freedom. It is the probability that a model is
correct if its chi-square statistic is @expr{x}.
@@ -19293,10 +19293,10 @@ correct if its chi-square statistic is @expr{x}.
@end ignore
@tindex ltpf
The @samp{utpf(F,v1,v2)} function uses the F distribution, used in
-various statistical tests. The parameters
+various statistical tests. The parameters
@texline @math{\nu_1}
-@infoline @expr{v1}
-and
+@infoline @expr{v1}
+and
@texline @math{\nu_2}
@infoline @expr{v2}
are the degrees of freedom in the numerator and denominator,
@@ -19314,9 +19314,9 @@ respectively, used in computing the statistic @expr{F}.
@end ignore
@tindex ltpn
The @samp{utpn(x,m,s)} function uses a normal (Gaussian) distribution
-with mean @expr{m} and standard deviation
+with mean @expr{m} and standard deviation
@texline @math{\sigma}.
-@infoline @expr{s}.
+@infoline @expr{s}.
It is the probability that such a normal-distributed random variable
would exceed @expr{x}.
@@ -19347,20 +19347,20 @@ Poisson random events will occur.
@end ignore
@tindex ltpt
The @samp{utpt(t,v)} function uses the Student's ``t'' distribution
-with
+with
@texline @math{\nu}
-@infoline @expr{v}
+@infoline @expr{v}
degrees of freedom. It is the probability that a
t-distributed random variable will be greater than @expr{t}.
-(Note: This computes the distribution function
+(Note: This computes the distribution function
@texline @math{A(t|\nu)}
@infoline @expr{A(t|v)}
-where
+where
@texline @math{A(0|\nu) = 1}
-@infoline @expr{A(0|v) = 1}
-and
+@infoline @expr{A(0|v) = 1}
+and
@texline @math{A(\infty|\nu) \to 0}.
-@infoline @expr{A(inf|v) -> 0}.
+@infoline @expr{A(inf|v) -> 0}.
The @code{UTPT} operation on the HP-48 uses a different definition which
returns half of Calc's value: @samp{UTPT(t,v) = .5*utpt(t,v)}.)
@@ -19670,7 +19670,7 @@ prefix, if specified, must match the size of the vector. If the value on
the stack is a scalar, it is used for each element on the diagonal, and
the prefix argument is required.
-To build a constant square matrix, e.g., a
+To build a constant square matrix, e.g., a
@texline @math{3\times3}
@infoline 3x3
matrix filled with ones, use @kbd{0 M-3 v d 1 +}, i.e., build a zero
@@ -19911,7 +19911,7 @@ command.
With the Hyperbolic flag, @kbd{H v l} [@code{mdims}] computes a vector
of the dimensions of a vector, matrix, or higher-order object. For
example, @samp{mdims([[a,b,c],[d,e,f]])} returns @samp{[2, 3]} since
-its argument is a
+its argument is a
@texline @math{2\times3}
@infoline 2x3
matrix.
@@ -19945,17 +19945,17 @@ If the number of columns does not evenly divide the number of elements
in the vector, the last row will be short and the result will not be
suitable for use as a matrix. For example, with the matrix
@samp{[[1, 2], @w{[3, 4]}]} on the stack, @kbd{v a 4} produces
-@samp{[[1, 2, 3, 4]]} (a
+@samp{[[1, 2, 3, 4]]} (a
@texline @math{1\times4}
@infoline 1x4
-matrix), @kbd{v a 1} produces @samp{[[1], [2], [3], [4]]} (a
+matrix), @kbd{v a 1} produces @samp{[[1], [2], [3], [4]]} (a
@texline @math{4\times1}
@infoline 4x1
-matrix), @kbd{v a 2} produces @samp{[[1, 2], [3, 4]]} (the original
+matrix), @kbd{v a 2} produces @samp{[[1, 2], [3, 4]]} (the original
@texline @math{2\times2}
@infoline 2x2
matrix), @w{@kbd{v a 3}} produces @samp{[[1, 2, 3], [4]]} (not a
-matrix), and @kbd{v a 0} produces the flattened list
+matrix), and @kbd{v a 0} produces the flattened list
@samp{[1, 2, @w{3, 4}]}.
@cindex Sorting data
@@ -20040,9 +20040,9 @@ If no prefix is given, then you will be prompted for a vector which
will be used to determine the bins. (If a positive integer is given at
this prompt, it will be still treated as if it were given as a
prefix.) Each bin will consist of the interval of numbers closest to
-the corresponding number of this new vector; if the vector
-@expr{[a, b, c, ...]} is entered at the prompt, the bins will be
-@expr{(-inf, (a+b)/2]}, @expr{((a+b)/2, (b+c)/2]}, etc. The result of
+the corresponding number of this new vector; if the vector
+@expr{[a, b, c, ...]} is entered at the prompt, the bins will be
+@expr{(-inf, (a+b)/2]}, @expr{((a+b)/2, (b+c)/2]}, etc. The result of
this command will be a vector counting how many elements of the
original vector are in each bin.
@@ -20313,10 +20313,10 @@ and only if it is in both of the input sets. Thus if the input
sets are disjoint, i.e., if they share no common elements, the result
will be the empty vector @samp{[]}. Note that the characters @kbd{V}
and @kbd{^} were chosen to be close to the conventional mathematical
-notation for set
+notation for set
@texline union@tie{}(@math{A \cup B})
@infoline union
-and
+and
@texline intersection@tie{}(@math{A \cap B}).
@infoline intersection.
@@ -20432,7 +20432,7 @@ the same set. The set may include positive infinity, but must
not include any negative numbers. The input is interpreted as a
set of integers in the sense of @kbd{V F} (@code{vfloor}). Beware
that a simple input like @samp{[100]} can result in a huge integer
-representation
+representation
@texline (@math{2^{100}}, a 31-digit integer, in this case).
@infoline (@expr{2^100}, a 31-digit integer, in this case).
@@ -20544,10 +20544,10 @@ plus or minus infinity.
@cindex Mean of data values
The @kbd{u M} (@code{calc-vector-mean}) [@code{vmean}] command
computes the average (arithmetic mean) of the data values.
-If the inputs are error forms
+If the inputs are error forms
@texline @math{x \pm \sigma},
-@infoline @samp{x +/- s},
-this is the weighted mean of the @expr{x} values with weights
+@infoline @samp{x +/- s},
+this is the weighted mean of the @expr{x} values with weights
@texline @math{1 /\sigma^2}.
@infoline @expr{1 / s^2}.
@tex
@@ -20558,9 +20558,9 @@ If the inputs are not error forms, this is simply the sum of the
values divided by the count of the values.
Note that a plain number can be considered an error form with
-error
+error
@texline @math{\sigma = 0}.
-@infoline @expr{s = 0}.
+@infoline @expr{s = 0}.
If the input to @kbd{u M} is a mixture of
plain numbers and error forms, the result is the mean of the
plain numbers, ignoring all values with non-zero errors. (By the
@@ -20662,7 +20662,7 @@ for a vector of numbers simply by using the @kbd{A} command.
@cindex Standard deviation
@cindex Sample statistics
The @kbd{u S} (@code{calc-vector-sdev}) [@code{vsdev}] command
-computes the standard
+computes the standard
@texline deviation@tie{}@math{\sigma}
@infoline deviation
of the data values. If the values are error forms, the errors are used
@@ -20677,9 +20677,9 @@ $$ \sigma^2 = {1 \over N - 1} \sum (x_i - \mu)^2 $$
This function also applies to distributions. The standard deviation
of a single error form is simply the error part. The standard deviation
of a continuous interval happens to equal the difference between the
-limits, divided by
+limits, divided by
@texline @math{\sqrt{12}}.
-@infoline @expr{sqrt(12)}.
+@infoline @expr{sqrt(12)}.
The standard deviation of an integer interval is the same as the
standard deviation of a vector of those integers.
@@ -20714,7 +20714,7 @@ population standard deviation of the equivalent vector of integers.
The @kbd{H u S} (@code{calc-vector-variance}) [@code{vvar}] and
@kbd{H I u S} (@code{calc-vector-pop-variance}) [@code{vpvar}]
commands compute the variance of the data values. The variance
-is the
+is the
@texline square@tie{}@math{\sigma^2}
@infoline square
of the standard deviation, i.e., the sum of the
@@ -20738,7 +20738,7 @@ The functions in this section take two arguments, which must be
vectors of equal size. The vectors are each flattened in the same
way as by the single-variable statistical functions. Given a numeric
prefix argument of 1, these functions instead take one object from
-the stack, which must be an
+the stack, which must be an
@texline @math{N\times2}
@infoline Nx2
matrix of data values. Once again, variable names can be used in place
@@ -20996,7 +20996,7 @@ be prompted for the number of arguments to use.
If any argument to @kbd{V M} is a matrix, the operator is normally mapped
across all elements of the matrix. For example, given the matrix
@expr{[[1, -2, 3], [-4, 5, -6]]}, @kbd{V M A} takes six absolute values to
-produce another
+produce another
@texline @math{3\times2}
@infoline 3x2
matrix, @expr{[[1, 2, 3], [4, 5, 6]]}.
@@ -21612,8 +21612,8 @@ entire four-term sum.
@pindex calc-break-selections
The @kbd{j b} (@code{calc-break-selections}) command controls a mode
in which the ``deep structure'' of these associative formulas shows
-through. Calc actually stores the above formulas as
-@samp{((a + b) - c) + d} and @samp{x * (y * z)}. (Note that for certain
+through. Calc actually stores the above formulas as
+@samp{((a + b) - c) + d} and @samp{x * (y * z)}. (Note that for certain
obscure reasons, by default Calc treats multiplication as
right-associative.) Once you have enabled @kbd{j b} mode, selecting
with the cursor on the @samp{-} sign would only select the @samp{a + b -
@@ -21903,7 +21903,7 @@ of our sample formula by selecting it and pressing @kbd{n}
@end smallexample
Unselecting the sub-formula reveals that the minus sign, which would
-normally have cancelled out with the subtraction automatically, has
+normally have canceled out with the subtraction automatically, has
not been able to do so because the subtraction was not part of the
selected portion. Pressing @kbd{=} (@code{calc-evaluate}) or doing
any other mathematical operation on the whole formula will cause it
@@ -22098,7 +22098,7 @@ of a quotient you can call it with a zero prefix: @kbd{C-u 0 j *}. For
example, if the formula on the stack is @samp{1 / (sqrt(a) + 1)}, you may
wish to eliminate the square root in the denominator by multiplying
the top and bottom by @samp{sqrt(a) - 1}. If you did this simply by using
-a simple @kbd{j *} command, you would get
+a simple @kbd{j *} command, you would get
@samp{(sqrt(a)-1)/ (sqrt(a) (sqrt(a) - 1) + sqrt(a) - 1)}. Instead,
you would probably want to use @kbd{C-u 0 j *}, which would expand the
bottom and give you the desired result @samp{(sqrt(a)-1)/(a-1)}. More
@@ -22405,7 +22405,7 @@ The most basic default simplification is the evaluation of functions.
For example, @expr{2 + 3} is evaluated to @expr{5}, and @expr{@tfn{sqrt}(9)}
is evaluated to @expr{3}. Evaluation does not occur if the arguments
to a function are somehow of the wrong type @expr{@tfn{tan}([2,3,4])}),
-range (@expr{@tfn{tan}(90)}), or number (@expr{@tfn{tan}(3,5)}),
+range (@expr{@tfn{tan}(90)}), or number (@expr{@tfn{tan}(3,5)}),
or if the function name is not recognized (@expr{@tfn{f}(5)}), or if
Symbolic mode (@pxref{Symbolic Mode}) prevents evaluation
(@expr{@tfn{sqrt}(2)}).
@@ -22452,7 +22452,7 @@ Arithmetic operators like @kbd{+} and @kbd{*} always take two
arguments in Calc's internal form. Sums and products of three or
more terms are arranged by the associative law of algebra into
a left-associative form for sums, @expr{((a + b) + c) + d}, and
-(by default) a right-associative form for products,
+(by default) a right-associative form for products,
@expr{a * (b * (c * d))}. Formulas like @expr{(a + b) + (c + d)} are
rearranged to left-associative form, though this rarely matters since
Calc's algebra commands are designed to hide the inner structure of sums
@@ -22533,7 +22533,7 @@ The product @expr{a (b + c)} is distributed over the sum only if
rewritten to @expr{a (c - b)}.
The distributive law of products and powers is used for adjacent
-terms of the product: @expr{x^a x^b} goes to
+terms of the product: @expr{x^a x^b} goes to
@texline @math{x^{a+b}}
@infoline @expr{x^(a+b)}
where @expr{a} is a number, or an implicit 1 (as in @expr{x}),
@@ -22544,9 +22544,9 @@ If the sum of the powers is zero, the product is simplified to
@expr{1} or to @samp{idn(1)} if Matrix mode is enabled.
The product of a negative power times anything but another negative
-power is changed to use division:
+power is changed to use division:
@texline @math{x^{-2} y}
-@infoline @expr{x^(-2) y}
+@infoline @expr{x^(-2) y}
goes to @expr{y / x^2} unless Matrix mode is
in effect and neither @expr{x} nor @expr{y} are scalar (in which
case it is considered unsafe to rearrange the order of the terms).
@@ -22568,13 +22568,13 @@ The quotient @expr{x / 0} is left unsimplified or changed to an
infinite quantity, as directed by the current infinite mode.
@xref{Infinite Mode}.
-The expression
+The expression
@texline @math{a / b^{-c}}
-@infoline @expr{a / b^(-c)}
+@infoline @expr{a / b^(-c)}
is changed to @expr{a b^c}, where @expr{-c} is any negative-looking
-power. Also, @expr{1 / b^c} is changed to
+power. Also, @expr{1 / b^c} is changed to
@texline @math{b^{-c}}
-@infoline @expr{b^(-c)}
+@infoline @expr{b^(-c)}
for any power @expr{c}.
Also, @expr{(-a) / b} and @expr{a / (-b)} go to @expr{-(a/b)};
@@ -22590,7 +22590,7 @@ described for multiplication.
Quotients of products cancel only in the leading terms of the
numerator and denominator. In other words, @expr{a x b / a y b}
-is cancelled to @expr{x b / y b} but not to @expr{x / y}. Once
+is canceled to @expr{x b / y b} but not to @expr{x / y}. Once
again this is because full cancellation can be slow; use @kbd{a s}
to cancel all terms of the quotient.
@@ -22614,22 +22614,22 @@ are distributed to @expr{a^c b^c}, @expr{a^c / b^c} only if @expr{c}
is an integer, or if either @expr{a} or @expr{b} are nonnegative
real numbers. Powers of powers @expr{(a^b)^c} are simplified to
@texline @math{a^{b c}}
-@infoline @expr{a^(b c)}
+@infoline @expr{a^(b c)}
only when @expr{c} is an integer and @expr{b c} also
evaluates to an integer. Without these restrictions these simplifications
would not be safe because of problems with principal values.
-(In other words,
+(In other words,
@texline @math{((-3)^{1/2})^2}
-@infoline @expr{((-3)^1:2)^2}
+@infoline @expr{((-3)^1:2)^2}
is safe to simplify, but
@texline @math{((-3)^2)^{1/2}}
-@infoline @expr{((-3)^2)^1:2}
+@infoline @expr{((-3)^2)^1:2}
is not.) @xref{Declarations}, for ways to inform Calc that your
variables satisfy these requirements.
As a special case of this rule, @expr{@tfn{sqrt}(x)^n} is simplified to
@texline @math{x^{n/2}}
-@infoline @expr{x^(n/2)}
+@infoline @expr{x^(n/2)}
only for even integers @expr{n}.
If @expr{a} is known to be real, @expr{b} is an even integer, and
@@ -22642,13 +22642,13 @@ for any negative-looking expression @expr{-a}.
Square roots @expr{@tfn{sqrt}(x)} generally act like one-half powers
@texline @math{x^{1:2}}
-@infoline @expr{x^1:2}
+@infoline @expr{x^1:2}
for the purposes of the above-listed simplifications.
-Also, note that
+Also, note that
@texline @math{1 / x^{1:2}}
-@infoline @expr{1 / x^1:2}
-is changed to
+@infoline @expr{1 / x^1:2}
+is changed to
@texline @math{x^{-1:2}},
@infoline @expr{x^(-1:2)},
but @expr{1 / @tfn{sqrt}(x)} is left alone.
@@ -22660,9 +22660,9 @@ but @expr{1 / @tfn{sqrt}(x)} is left alone.
Generic identity matrices (@pxref{Matrix Mode}) are simplified by the
following rules: @expr{@tfn{idn}(a) + b} to @expr{a + b} if @expr{b}
is provably scalar, or expanded out if @expr{b} is a matrix;
-@expr{@tfn{idn}(a) + @tfn{idn}(b)} to @expr{@tfn{idn}(a + b)};
-@expr{-@tfn{idn}(a)} to @expr{@tfn{idn}(-a)}; @expr{a @tfn{idn}(b)} to
-@expr{@tfn{idn}(a b)} if @expr{a} is provably scalar, or to @expr{a b}
+@expr{@tfn{idn}(a) + @tfn{idn}(b)} to @expr{@tfn{idn}(a + b)};
+@expr{-@tfn{idn}(a)} to @expr{@tfn{idn}(-a)}; @expr{a @tfn{idn}(b)} to
+@expr{@tfn{idn}(a b)} if @expr{a} is provably scalar, or to @expr{a b}
if @expr{a} is provably non-scalar; @expr{@tfn{idn}(a) @tfn{idn}(b)} to
@expr{@tfn{idn}(a b)}; analogous simplifications for quotients involving
@code{idn}; and @expr{@tfn{idn}(a)^n} to @expr{@tfn{idn}(a^n)} where
@@ -22683,7 +22683,7 @@ The expression @expr{@tfn{abs}(-x)} changes to @expr{@tfn{abs}(x)}.
The expression @expr{@tfn{abs}(@tfn{abs}(x))} changes to
@expr{@tfn{abs}(x)}; in fact, @expr{@tfn{abs}(x)} changes to @expr{x} or
@expr{-x} if @expr{x} is provably nonnegative or nonpositive
-(@pxref{Declarations}).
+(@pxref{Declarations}).
While most functions do not recognize the variable @code{i} as an
imaginary number, the @code{arg} function does handle the two cases
@@ -22693,7 +22693,7 @@ The expression @expr{@tfn{conj}(@tfn{conj}(x))} simplifies to @expr{x}.
Various other expressions involving @code{conj}, @code{re}, and
@code{im} are simplified, especially if some of the arguments are
provably real or involve the constant @code{i}. For example,
-@expr{@tfn{conj}(a + b i)} is changed to
+@expr{@tfn{conj}(a + b i)} is changed to
@expr{@tfn{conj}(a) - @tfn{conj}(b) i}, or to @expr{a - b i} if @expr{a}
and @expr{b} are known to be real.
@@ -22810,7 +22810,7 @@ the distributive law. For example, @expr{a x^2 b / c x^3 d} will
cancel @expr{x^2} from the top and bottom to get @expr{a b / c x d}.
(The terms in the denominator will then be rearranged to @expr{c d x}
as described above.) If there is any common integer or fractional
-factor in the numerator and denominator, it is cancelled out;
+factor in the numerator and denominator, it is canceled out;
for example, @expr{(4 x + 6) / 8 x} simplifies to @expr{(2 x + 3) / 4 x}.
Non-constant common factors are not found even by @kbd{a s}. To
@@ -22836,7 +22836,7 @@ several ways. (Note that these will be left unevaluated only in
Symbolic mode.) First, square integer or rational factors are
pulled out so that @expr{@tfn{sqrt}(8)} is rewritten as
@texline @math{2\,@tfn{sqrt}(2)}.
-@infoline @expr{2 sqrt(2)}.
+@infoline @expr{2 sqrt(2)}.
Conceptually speaking this implies factoring the argument into primes
and moving pairs of primes out of the square root, but for reasons of
efficiency Calc only looks for primes up to 29.
@@ -22858,7 +22858,7 @@ example, @samp{(x - 23) % 10} is simplified to @samp{(x + 7) % 10}.
If the argument is multiplied by a constant, and this constant
has a common integer divisor with the modulus, then this factor is
-cancelled out. For example, @samp{12 x % 15} is changed to
+canceled out. For example, @samp{12 x % 15} is changed to
@samp{3 (4 x % 5)} by factoring out 3. Also, @samp{(12 x + 1) % 15}
is changed to @samp{3 ((4 x + 1:3) % 5)}. While these forms may
not seem ``simpler,'' they allow Calc to discover useful information
@@ -22879,7 +22879,7 @@ declared to be an integer.
Trigonometric functions are simplified in several ways. Whenever a
products of two trigonometric functions can be replaced by a single
function, the replacement is made; for example,
-@expr{@tfn{tan}(x) @tfn{cos}(x)} is simplified to @expr{@tfn{sin}(x)}.
+@expr{@tfn{tan}(x) @tfn{cos}(x)} is simplified to @expr{@tfn{sin}(x)}.
Reciprocals of trigonometric functions are replaced by their reciprocal
function; for example, @expr{1/@tfn{sec}(x)} is simplified to
@expr{@tfn{cos}(x)}. The corresponding simplifications for the
@@ -22887,7 +22887,7 @@ hyperbolic functions are also handled.
Trigonometric functions of their inverse functions are
simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is
-simplified to @expr{x}, and similarly for @code{cos} and @code{tan}.
+simplified to @expr{x}, and similarly for @code{cos} and @code{tan}.
Trigonometric functions of inverses of different trigonometric
functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))}
to @expr{@tfn{sqrt}(1 - x^2)}.
@@ -22905,30 +22905,30 @@ No simplifications for inverse trigonometric and hyperbolic
functions are known, except for negative arguments of @code{arcsin},
@code{arctan}, @code{arcsinh}, and @code{arctanh}. Note that
@expr{@tfn{arcsin}(@tfn{sin}(x))} can @emph{not} safely change to
-@expr{x}, since this only correct within an integer multiple of
+@expr{x}, since this only correct within an integer multiple of
@texline @math{2 \pi}
-@infoline @expr{2 pi}
+@infoline @expr{2 pi}
radians or 360 degrees. However, @expr{@tfn{arcsinh}(@tfn{sinh}(x))} is
simplified to @expr{x} if @expr{x} is known to be real.
Several simplifications that apply to logarithms and exponentials
-are that @expr{@tfn{exp}(@tfn{ln}(x))},
+are that @expr{@tfn{exp}(@tfn{ln}(x))},
@texline @tfn{e}@math{^{\ln(x)}},
-@infoline @expr{e^@tfn{ln}(x)},
+@infoline @expr{e^@tfn{ln}(x)},
and
@texline @math{10^{{\rm log10}(x)}}
-@infoline @expr{10^@tfn{log10}(x)}
+@infoline @expr{10^@tfn{log10}(x)}
all reduce to @expr{x}. Also, @expr{@tfn{ln}(@tfn{exp}(x))}, etc., can
reduce to @expr{x} if @expr{x} is provably real. The form
@expr{@tfn{exp}(x)^y} is simplified to @expr{@tfn{exp}(x y)}. If @expr{x}
-is a suitable multiple of
-@texline @math{\pi i}
+is a suitable multiple of
+@texline @math{\pi i}
@infoline @expr{pi i}
(as described above for the trigonometric functions), then
@expr{@tfn{exp}(x)} or @expr{e^x} will be expanded. Finally,
@expr{@tfn{ln}(x)} is simplified to a form involving @code{pi} and
@code{i} where @expr{x} is provably negative, positive imaginary, or
-negative imaginary.
+negative imaginary.
The error functions @code{erf} and @code{erfc} are simplified when
their arguments are negative-looking or are calls to the @code{conj}
@@ -22938,13 +22938,13 @@ function.
\bigskip
@end tex
-Equations and inequalities are simplified by cancelling factors
+Equations and inequalities are simplified by canceling factors
of products, quotients, or sums on both sides. Inequalities
-change sign if a negative multiplicative factor is cancelled.
+change sign if a negative multiplicative factor is canceled.
Non-constant multiplicative factors as in @expr{a b = a c} are
-cancelled from equations only if they are provably nonzero (generally
+canceled from equations only if they are provably nonzero (generally
because they were declared so; @pxref{Declarations}). Factors
-are cancelled from inequalities only if they are nonzero and their
+are canceled from inequalities only if they are nonzero and their
sign is known.
Simplification also replaces an equation or inequality with
@@ -23006,18 +23006,18 @@ values of @expr{x} in a certain range; outside that range, values
are folded down to the 360-degree range that the inverse trigonometric
functions always produce.
-Powers of powers @expr{(x^a)^b} are simplified to
+Powers of powers @expr{(x^a)^b} are simplified to
@texline @math{x^{a b}}
@infoline @expr{x^(a b)}
for all @expr{a} and @expr{b}. These results will be valid only
-in a restricted range of @expr{x}; for example, in
+in a restricted range of @expr{x}; for example, in
@texline @math{(x^2)^{1:2}}
@infoline @expr{(x^2)^1:2}
the powers cancel to get @expr{x}, which is valid for positive values
of @expr{x} but not for negative or complex values.
Similarly, @expr{@tfn{sqrt}(x^a)} and @expr{@tfn{sqrt}(x)^a} are both
-simplified (possibly unsafely) to
+simplified (possibly unsafely) to
@texline @math{x^{a/2}}.
@infoline @expr{x^(a/2)}.
@@ -23027,7 +23027,7 @@ Forms like @expr{@tfn{sqrt}(1 - sin(x)^2)} are simplified to, e.g.,
Arguments of square roots are partially factored to look for
squared terms that can be extracted. For example,
-@expr{@tfn{sqrt}(a^2 b^3 + a^3 b^2)} simplifies to
+@expr{@tfn{sqrt}(a^2 b^3 + a^3 b^2)} simplifies to
@expr{a b @tfn{sqrt}(a+b)}.
The simplifications of @expr{@tfn{ln}(@tfn{exp}(x))},
@@ -23035,9 +23035,9 @@ The simplifications of @expr{@tfn{ln}(@tfn{exp}(x))},
unsafe because of problems with principal values (although these
simplifications are safe if @expr{x} is known to be real).
-Common factors are cancelled from products on both sides of an
+Common factors are canceled from products on both sides of an
equation, even if those factors may be zero: @expr{a x / b x}
-to @expr{a / b}. Such factors are never cancelled from
+to @expr{a / b}. Such factors are never canceled from
inequalities: Even @kbd{a e} is not bold enough to reduce
@expr{a x < b x} to @expr{a < b} (or @expr{a > b}, depending
on whether you believe @expr{x} is positive or negative).
@@ -23071,7 +23071,7 @@ If units auto-ranging mode is enabled, products or quotients in
which the first argument is a number which is out of range for the
leading unit are modified accordingly.
-When cancelling and combining units in products and quotients,
+When canceling and combining units in products and quotients,
Calc accounts for unit names that differ only in the prefix letter.
For example, @samp{2 km m} is simplified to @samp{2000 m^2}.
However, compatible but different units like @code{ft} and @code{in}
@@ -23093,9 +23093,9 @@ number for an answer, then the quotient simplifies to that number.
For powers and square roots, the ``unsafe'' simplifications
@expr{(a b)^c} to @expr{a^c b^c}, @expr{(a/b)^c} to @expr{a^c / b^c},
-and @expr{(a^b)^c} to
+and @expr{(a^b)^c} to
@texline @math{a^{b c}}
-@infoline @expr{a^(b c)}
+@infoline @expr{a^(b c)}
are done if the powers are real numbers. (These are safe in the context
of units because all numbers involved can reasonably be assumed to be
real.)
@@ -23108,12 +23108,12 @@ according to the previous paragraph. For example, @samp{acre^1.5}
is simplified by noting that @expr{1.5 = 3:2}, that @samp{acre}
is defined in terms of @samp{m^2}, and that the 2 in the power of
@code{m} is a multiple of 2 in @expr{3:2}. Thus, @code{acre^1.5} is
-replaced by approximately
+replaced by approximately
@texline @math{(4046 m^2)^{1.5}}
-@infoline @expr{(4046 m^2)^1.5},
-which is then changed to
+@infoline @expr{(4046 m^2)^1.5},
+which is then changed to
@texline @math{4046^{1.5} \, (m^2)^{1.5}},
-@infoline @expr{4046^1.5 (m^2)^1.5},
+@infoline @expr{4046^1.5 (m^2)^1.5},
then to @expr{257440 m^3}.
The functions @code{float}, @code{frac}, @code{clean}, @code{abs},
@@ -23401,7 +23401,7 @@ answer!
If you use the @code{deriv} function directly in an algebraic formula,
you can write @samp{deriv(f,x,x0)} which represents the derivative
-of @expr{f} with respect to @expr{x}, evaluated at the point
+of @expr{f} with respect to @expr{x}, evaluated at the point
@texline @math{x=x_0}.
@infoline @expr{x=x0}.
@@ -23441,7 +23441,7 @@ respect to a prompted-for variable. The integrator is not guaranteed to
work for all integrable functions, but it is able to integrate several
large classes of formulas. In particular, any polynomial or rational
function (a polynomial divided by a polynomial) is acceptable.
-(Rational functions don't have to be in explicit quotient form, however;
+(Rational functions don't have to be in explicit quotient form, however;
@texline @math{x/(1+x^{-2})}
@infoline @expr{x/(1+x^-2)}
is not strictly a quotient of polynomials, but it is equivalent to
@@ -23472,7 +23472,7 @@ integral $\int_a^b f(x) \, dx$.
Please note that the current implementation of Calc's integrator sometimes
produces results that are significantly more complex than they need to
-be. For example, the integral Calc finds for
+be. For example, the integral Calc finds for
@texline @math{1/(x+\sqrt{x^2+1})}
@infoline @expr{1/(x+sqrt(x^2+1))}
is several times more complicated than the answer Mathematica
@@ -23480,11 +23480,11 @@ returns for the same input, although the two forms are numerically
equivalent. Also, any indefinite integral should be considered to have
an arbitrary constant of integration added to it, although Calc does not
write an explicit constant of integration in its result. For example,
-Calc's solution for
+Calc's solution for
@texline @math{1/(1+\tan x)}
-@infoline @expr{1/(1+tan(x))}
+@infoline @expr{1/(1+tan(x))}
differs from the solution given in the @emph{CRC Math Tables} by a
-constant factor of
+constant factor of
@texline @math{\pi i / 2}
@infoline @expr{pi i / 2},
due to a different choice of constant of integration.
@@ -23544,9 +23544,9 @@ in your @code{IntegRules}.
@tindex Ei
As a more serious example, the expression @samp{exp(x)/x} cannot be
integrated in terms of the standard functions, so the ``exponential
-integral'' function
+integral'' function
@texline @math{{\rm Ei}(x)}
-@infoline @expr{Ei(x)}
+@infoline @expr{Ei(x)}
was invented to describe it.
We can get Calc to do this integral in terms of a made-up @code{Ei}
function by adding the rule @samp{[integtry(exp(x)/x, x) := Ei(x)]}
@@ -23717,18 +23717,18 @@ form @expr{X = 0}.
This command also works for inequalities, as in @expr{y < 3x + 6}.
Some inequalities cannot be solved where the analogous equation could
-be; for example, solving
+be; for example, solving
@texline @math{a < b \, c}
-@infoline @expr{a < b c}
+@infoline @expr{a < b c}
for @expr{b} is impossible
without knowing the sign of @expr{c}. In this case, @kbd{a S} will
-produce the result
+produce the result
@texline @math{b \mathbin{\hbox{\code{!=}}} a/c}
-@infoline @expr{b != a/c}
+@infoline @expr{b != a/c}
(using the not-equal-to operator) to signify that the direction of the
-inequality is now unknown. The inequality
+inequality is now unknown. The inequality
@texline @math{a \le b \, c}
-@infoline @expr{a <= b c}
+@infoline @expr{a <= b c}
is not even partially solved. @xref{Declarations}, for a way to tell
Calc that the signs of the variables in a formula are in fact known.
@@ -24186,13 +24186,13 @@ value of the variable which minimizes the formula's value, along
with the minimum value itself.
Note that this command looks for a @emph{local} minimum. Many functions
-have more than one minimum; some, like
+have more than one minimum; some, like
@texline @math{x \sin x},
-@infoline @expr{x sin(x)},
+@infoline @expr{x sin(x)},
have infinitely many. In fact, there is no easy way to define the
-``global'' minimum of
+``global'' minimum of
@texline @math{x \sin x}
-@infoline @expr{x sin(x)}
+@infoline @expr{x sin(x)}
but Calc can still locate any particular local minimum
for you. Calc basically goes downhill from the initial guess until it
finds a point at which the function's value is greater both to the left
@@ -24271,7 +24271,7 @@ to be determined. For a typical set of measured data there will be
no single @expr{m} and @expr{b} that exactly fit the data; in this
case, Calc chooses values of the parameters that provide the closest
possible fit. The model formula can be entered in various ways after
-the key sequence @kbd{a F} is pressed.
+the key sequence @kbd{a F} is pressed.
If the letter @kbd{P} is pressed after @kbd{a F} but before the model
description is entered, the data as well as the model formula will be
@@ -24319,7 +24319,7 @@ the @dfn{parameters} of the model.
The @kbd{a F} command takes the data set to be fitted from the stack.
By default, it expects the data in the form of a matrix. For example,
-for a linear or polynomial fit, this would be a
+for a linear or polynomial fit, this would be a
@texline @math{2\times N}
@infoline 2xN
matrix where the first row is a list of @expr{x} values and the second
@@ -24327,10 +24327,10 @@ row has the corresponding @expr{y} values. For the multilinear fit
shown above, the matrix would have four rows (@expr{x_1}, @expr{x_2},
@expr{x_3}, and @expr{y}, respectively).
-If you happen to have an
+If you happen to have an
@texline @math{N\times2}
@infoline Nx2
-matrix instead of a
+matrix instead of a
@texline @math{2\times N}
@infoline 2xN
matrix, just press @kbd{v t} first to transpose the matrix.
@@ -24425,13 +24425,13 @@ $$ \chi^2 = \sum_{i=1}^N (y_i - (a + b x_i))^2 $$
which is clearly zero if @expr{a + b x} exactly fits all data points,
and increases as various @expr{a + b x_i} values fail to match the
corresponding @expr{y_i} values. There are several reasons why the
-summand is squared, one of them being to ensure that
+summand is squared, one of them being to ensure that
@texline @math{\chi^2 \ge 0}.
@infoline @expr{chi^2 >= 0}.
Least-squares fitting simply chooses the values of @expr{a} and @expr{b}
-for which the error
+for which the error
@texline @math{\chi^2}
-@infoline @expr{chi^2}
+@infoline @expr{chi^2}
is as small as possible.
Other kinds of models do the same thing but with a different model
@@ -24593,9 +24593,9 @@ contain error forms. The data values must either all include errors
or all be plain numbers. Error forms can go anywhere but generally
go on the numbers in the last row of the data matrix. If the last
row contains error forms
-@texline `@var{y_i}@w{ @tfn{+/-} }@math{\sigma_i}',
-@infoline `@var{y_i}@w{ @tfn{+/-} }@var{sigma_i}',
-then the
+@texline `@var{y_i}@w{ @tfn{+/-} }@math{\sigma_i}',
+@infoline `@var{y_i}@w{ @tfn{+/-} }@var{sigma_i}',
+then the
@texline @math{\chi^2}
@infoline @expr{chi^2}
statistic is now,
@@ -24617,9 +24617,9 @@ the fitting operation.
If there are error forms on other rows of the data matrix, all the
errors for a given data point are combined; the square root of the
-sum of the squares of the errors forms the
+sum of the squares of the errors forms the
@texline @math{\sigma_i}
-@infoline @expr{sigma_i}
+@infoline @expr{sigma_i}
used for the data point.
Both @kbd{a F} and @kbd{H a F} can accept error forms in the input
@@ -24627,19 +24627,19 @@ matrix, although if you are concerned about error analysis you will
probably use @kbd{H a F} so that the output also contains error
estimates.
-If the input contains error forms but all the
+If the input contains error forms but all the
@texline @math{\sigma_i}
-@infoline @expr{sigma_i}
+@infoline @expr{sigma_i}
values are the same, it is easy to see that the resulting fitted model
-will be the same as if the input did not have error forms at all
+will be the same as if the input did not have error forms at all
@texline (@math{\chi^2}
@infoline (@expr{chi^2}
-is simply scaled uniformly by
+is simply scaled uniformly by
@texline @math{1 / \sigma^2},
-@infoline @expr{1 / sigma^2},
+@infoline @expr{1 / sigma^2},
which doesn't affect where it has a minimum). But there @emph{will} be
a difference in the estimated errors of the coefficients reported by
-@kbd{H a F}.
+@kbd{H a F}.
Consult any text on statistical modeling of data for a discussion
of where these error estimates come from and how they should be
@@ -24671,18 +24671,18 @@ will have length @expr{M = d+1} with the constant term first.
The covariance matrix @expr{C} computed from the fit. This is
an @var{m}x@var{m} symmetric matrix; the diagonal elements
@texline @math{C_{jj}}
-@infoline @expr{C_j_j}
-are the variances
+@infoline @expr{C_j_j}
+are the variances
@texline @math{\sigma_j^2}
-@infoline @expr{sigma_j^2}
+@infoline @expr{sigma_j^2}
of the parameters. The other elements are covariances
-@texline @math{\sigma_{ij}^2}
-@infoline @expr{sigma_i_j^2}
+@texline @math{\sigma_{ij}^2}
+@infoline @expr{sigma_i_j^2}
that describe the correlation between pairs of parameters. (A related
-set of numbers, the @dfn{linear correlation coefficients}
+set of numbers, the @dfn{linear correlation coefficients}
@texline @math{r_{ij}},
@infoline @expr{r_i_j},
-are defined as
+are defined as
@texline @math{\sigma_{ij}^2 / \sigma_i \, \sigma_j}.)
@infoline @expr{sigma_i_j^2 / sigma_i sigma_j}.)
@@ -24693,35 +24693,35 @@ will instead be an empty vector; this is always the case for the
polynomial and multilinear fits described so far.
@item
-The value of
+The value of
@texline @math{\chi^2}
-@infoline @expr{chi^2}
+@infoline @expr{chi^2}
for the fit, calculated by the formulas shown above. This gives a
measure of the quality of the fit; statisticians consider
@texline @math{\chi^2 \approx N - M}
-@infoline @expr{chi^2 = N - M}
+@infoline @expr{chi^2 = N - M}
to indicate a moderately good fit (where again @expr{N} is the number of
data points and @expr{M} is the number of parameters).
@item
A measure of goodness of fit expressed as a probability @expr{Q}.
This is computed from the @code{utpc} probability distribution
-function using
+function using
@texline @math{\chi^2}
-@infoline @expr{chi^2}
+@infoline @expr{chi^2}
with @expr{N - M} degrees of freedom. A
value of 0.5 implies a good fit; some texts recommend that often
@expr{Q = 0.1} or even 0.001 can signify an acceptable fit. In
-particular,
+particular,
@texline @math{\chi^2}
-@infoline @expr{chi^2}
+@infoline @expr{chi^2}
statistics assume the errors in your inputs
follow a normal (Gaussian) distribution; if they don't, you may
have to accept smaller values of @expr{Q}.
The @expr{Q} value is computed only if the input included error
estimates. Otherwise, Calc will report the symbol @code{nan}
-for @expr{Q}. The reason is that in this case the
+for @expr{Q}. The reason is that in this case the
@texline @math{\chi^2}
@infoline @expr{chi^2}
value has effectively been used to estimate the original errors
@@ -24763,7 +24763,7 @@ Power law. @mathit{a x^b y^c}.
@item q
Quadratic. @mathit{a + b (x-c)^2 + d (x-e)^2}.
@item g
-Gaussian.
+Gaussian.
@texline @math{{a \over b \sqrt{2 \pi}} \exp\left( -{1 \over 2} \left( x - c \over b \right)^2 \right)}.
@infoline @mathit{(a / b sqrt(2 pi)) exp(-0.5*((x-c)/b)^2)}.
@item s
@@ -24788,7 +24788,7 @@ the parameter values from the vector that is placed in the trail.)
All models except Gaussian, logistics, Hubbert and polynomials can
generalize as shown to any number of independent variables. Also, all
-the built-in models except for the logistic and Hubbert curves have an
+the built-in models except for the logistic and Hubbert curves have an
additive or multiplicative parameter shown as @expr{a} in the above table
which can be replaced by zero or one, as appropriate, by typing @kbd{h}
before the model key.
@@ -24893,9 +24893,9 @@ form @samp{arcsin(y) = a t + b}. The @code{arcsin} function always
returns results in the range from @mathit{-90} to 90 degrees (or the
equivalent range in radians). Suppose you had data that you
believed to represent roughly three oscillations of a sine wave,
-so that the argument of the sine might go from zero to
+so that the argument of the sine might go from zero to
@texline @math{3\times360}
-@infoline @mathit{3*360}
+@infoline @mathit{3*360}
degrees.
The above model would appear to be a good way to determine the
true frequency and phase of the sine wave, but in practice it
@@ -24955,18 +24955,18 @@ ln(y) = ln(a) + b ln(x)
@end example
@noindent
-which matches the desired form with
+which matches the desired form with
@texline @math{Y = \ln(y)},
-@infoline @expr{Y = ln(y)},
+@infoline @expr{Y = ln(y)},
@texline @math{A = \ln(a)},
@infoline @expr{A = ln(a)},
-@expr{F = 1}, @expr{B = b}, and
+@expr{F = 1}, @expr{B = b}, and
@texline @math{G = \ln(x)}.
-@infoline @expr{G = ln(x)}.
+@infoline @expr{G = ln(x)}.
Calc thus computes the logarithms of your @expr{y} and @expr{x} values,
-does a linear fit for @expr{A} and @expr{B}, then solves to get
-@texline @math{a = \exp(A)}
-@infoline @expr{a = exp(A)}
+does a linear fit for @expr{A} and @expr{B}, then solves to get
+@texline @math{a = \exp(A)}
+@infoline @expr{a = exp(A)}
and @expr{b = B}.
Another interesting example is the ``quadratic'' model, which can
@@ -25015,7 +25015,7 @@ from the list of parameters when you answer the variables prompt.
A last desperate step would be to use the general-purpose
@code{minimize} function rather than @code{fit}. After all, both
-functions solve the problem of minimizing an expression (the
+functions solve the problem of minimizing an expression (the
@texline @math{\chi^2}
@infoline @expr{chi^2}
sum) by adjusting certain parameters in the expression. The @kbd{a F}
@@ -25026,9 +25026,9 @@ command can do the same thing by brute force.
A compromise would be to pick out a few parameters without which the
fit is linearizable, and use @code{minimize} on a call to @code{fit}
which efficiently takes care of the rest of the parameters. The thing
-to be minimized would be the value of
+to be minimized would be the value of
@texline @math{\chi^2}
-@infoline @expr{chi^2}
+@infoline @expr{chi^2}
returned as the fifth result of the @code{xfit} function:
@smallexample
@@ -25086,13 +25086,13 @@ of the sum of the squares of the errors. It then changes @expr{x}
and @expr{y} to be plain numbers, and makes @expr{z} into an error
form with this combined error. The @expr{Y(x,y,z)} part of the
linearized model is evaluated, and the result should be an error
-form. The error part of that result is used for
+form. The error part of that result is used for
@texline @math{\sigma_i}
-@infoline @expr{sigma_i}
-for the data point. If for some reason @expr{Y(x,y,z)} does not return
-an error form, the combined error from @expr{z} is used directly for
+@infoline @expr{sigma_i}
+for the data point. If for some reason @expr{Y(x,y,z)} does not return
+an error form, the combined error from @expr{z} is used directly for
@texline @math{\sigma_i}.
-@infoline @expr{sigma_i}.
+@infoline @expr{sigma_i}.
Finally, @expr{z} is also stripped of its error
for use in computing @expr{F(x,y,z)}, @expr{G(x,y,z)} and so on;
the righthand side of the linearized model is computed in regular
@@ -25104,7 +25104,7 @@ depends only on the dependent variable @expr{z}, and in fact is
often simply equal to @expr{z}. For common cases like polynomials
and multilinear models, the combined error is simply used as the
@texline @math{\sigma}
-@infoline @expr{sigma}
+@infoline @expr{sigma}
for the data point with no further ado.)
@tex
@@ -25481,7 +25481,7 @@ this would be a division by zero. But at @expr{k = k_0}, this
formula works out to the indeterminate form @expr{0 / 0}, which
Calc will not assume is zero. Better would be to use
@samp{(k != k_0) ? 1/(k-k_0) : 0}; the @samp{? :} operator does
-an ``if-then-else'' test: This expression says, ``if
+an ``if-then-else'' test: This expression says, ``if
@texline @math{k \ne k_0},
@infoline @expr{k != k_0},
then @expr{1/(k-k_0)}, else zero.'' Now the formula @expr{1/(k-k_0)}
@@ -25644,7 +25644,7 @@ equivalent expression involving intervals: @samp{b in [a .. c)}.
of @samp{<} and @samp{<=} are allowed, or any of the four combinations
of @samp{>} and @samp{>=}. Four-argument constructions like
@samp{a < b < c < d}, and mixtures like @w{@samp{a < b = c}} that
-involve both equalities and inequalities, are not allowed.
+involve both equations and inequalities, are not allowed.
@kindex a .
@pindex calc-remove-equal
@@ -26496,16 +26496,16 @@ f(a b) := a f(b) :: real(a)]} is stored in variable @samp{linearF},
then the rule set @samp{[f(0) := 0, import(linearF)]} will apply
all three rules. It is possible to modify the imported rules
slightly: @samp{import(x, v1, x1, v2, x2, @dots{})} imports
-the rule set @expr{x} with all occurrences of
+the rule set @expr{x} with all occurrences of
@texline @math{v_1},
-@infoline @expr{v1},
-as either a variable name or a function name, replaced with
+@infoline @expr{v1},
+as either a variable name or a function name, replaced with
@texline @math{x_1}
-@infoline @expr{x1}
-and so on. (If
+@infoline @expr{x1}
+and so on. (If
@texline @math{v_1}
-@infoline @expr{v1}
-is used as a function name, then
+@infoline @expr{v1}
+is used as a function name, then
@texline @math{x_1}
@infoline @expr{x1}
must be either a function name itself or a @w{@samp{< >}} nameless
@@ -27609,7 +27609,7 @@ the keyboard macro @kbd{' tri($) @key{RET}} to make a command that applies
@code{tri} to the value on the top of the stack. @xref{Programming}.
@cindex Quaternions
-The following rule set, contributed by
+The following rule set, contributed by
@texline Fran\c cois
@infoline Francois
Pinard, implements @dfn{quaternions}, a generalization of the concept of
@@ -27764,9 +27764,9 @@ equivalent temperature on the Fahrenheit scale.
While many of Calc's conversion factors are exact, some are necessarily
approximate. If Calc is in fraction mode (@pxref{Fraction Mode}), then
unit conversions will try to give exact, rational conversions, but it
-isn't always possible. Given @samp{55 mph} in fraction mode, typing
-@kbd{u c m/s @key{RET}} produces @samp{15367:625 m/s}, for example,
-while typing @kbd{u c au/yr @key{RET}} produces
+isn't always possible. Given @samp{55 mph} in fraction mode, typing
+@kbd{u c m/s @key{RET}} produces @samp{15367:625 m/s}, for example,
+while typing @kbd{u c au/yr @key{RET}} produces
@samp{5.18665819999e-3 au/yr}.
If the units you request are inconsistent with the original units, the
@@ -27994,7 +27994,7 @@ defined by the @TeX{} typesetting system: @samp{72.27 texpt = 1 in}.
Other units used by @TeX{} are available; they are @code{texpc} (a pica),
@code{texbp} (a ``big point'', equal to a standard point which is larger
than the point used by @TeX{}), @code{texdd} (a Didot point),
-@code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point,
+@code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point,
all dimensions representable in @TeX{} are multiples of this value).
When Calc is using the @TeX{} or La@TeX{} language mode (@pxref{TeX
@@ -28131,17 +28131,17 @@ The units @code{dB} (decibels) and @code{Np} (nepers) are logarithmic
units which are manipulated differently than standard units. Calc
provides commands to work with these logarithmic units.
-Decibels and nepers are used to measure power quantities as well as
+Decibels and nepers are used to measure power quantities as well as
field quantities (quantities whose squares are proportional to power);
these two types of quantities are handled slightly different from each
other. By default the Calc commands work as if power quantities are
being used; with the @kbd{H} prefix the Calc commands work as if field
quantities are being used.
-The decibel level of a power
+The decibel level of a power
@infoline @math{P1},
@texline @math{P_1},
-relative to a reference power
+relative to a reference power
@infoline @math{P0},
@texline @math{P_0},
is defined to be
@@ -28151,10 +28151,10 @@ is defined to be
one-tenth of a bel. The bel, named after Alexander Graham Bell, was
considered to be too large of a unit and was effectively replaced by
the decibel.) If @math{F} is a field quantity with power
-@math{P=k F^2}, then a reference quantity of
+@math{P=k F^2}, then a reference quantity of
@infoline @math{F0}
@texline @math{F_0}
-would correspond to a power of
+would correspond to a power of
@infoline @math{P0=k F0^2}.
@texline @math{P_{0}=kF_{0}^2}.
If
@@ -28163,7 +28163,7 @@ If
then
@ifnottex
-@example
+@example
10 log10(P1/P0) = 10 log10(F1^2/F0^2) = 20 log10(F1/F0).
@end example
@end ifnottex
@@ -28175,42 +28175,42 @@ $$ 10 \log_{10}(P_1/P_0) = 10 \log_{10}(F_1^2/F_0^2) = 20
@noindent
In order to get the same decibel level regardless of whether a field
quantity or the corresponding power quantity is used, the decibel
-level of a field quantity
+level of a field quantity
@infoline @math{F1},
-@texline @math{F_1},
-relative to a reference
+@texline @math{F_1},
+relative to a reference
@infoline @math{F0},
-@texline @math{F_0},
+@texline @math{F_0},
is defined as
@infoline @math{20 log10(F1/F0) dB}.
@texline @math{20 \log_{10}(F_{1}/F_{0}) {\rm dB}}.
-For example, the decibel value of a sound pressure level of
+For example, the decibel value of a sound pressure level of
@infoline @math{60 uPa}
@texline @math{60 \mu{\rm Pa}}
-relative to
+relative to
@infoline @math{20 uPa}
@texline @math{20 \mu{\rm Pa}}
-(the threshhold of human hearing) is
+(the threshold of human hearing) is
@infoline @math{20 log10(60 uPa/ 20 uPa) dB = 20 log10(3) dB},
@texline @math{20 \log_{10}(60 \mu{\rm Pa}/20 \mu{\rm Pa}) {\rm dB} = 20 \log_{10}(3) {\rm dB}},
-which is about
+which is about
@infoline @math{9.54 dB}.
@texline @math{9.54 {\rm dB}}.
Note that in taking the ratio, the original units cancel and so these
-logarithmic units are dimensionless.
+logarithmic units are dimensionless.
Nepers (named after John Napier, who is credited with inventing the
logarithm) are similar to bels except they use natural logarithms instead
-of common logarithms. The neper level of a power
+of common logarithms. The neper level of a power
@infoline @math{P1},
@texline @math{P_1},
-relative to a reference power
+relative to a reference power
@infoline @math{P0},
@texline @math{P_0},
is
@infoline @math{(1/2) ln(P1/P0) Np}.
@texline @math{(1/2) \ln(P_1/P_0) {\rm Np}}.
-The neper level of a field
+The neper level of a field
@infoline @math{F1},
@texline @math{F_1},
relative to a reference field
@@ -28223,13 +28223,13 @@ is
@vindex calc-lu-power-reference
@vindex calc-lu-field-reference
For power quantities, Calc uses
-@infoline @math{1 mW}
+@infoline @math{1 mW}
@texline @math{1 {\rm mW}}
-as the default reference quantity; this default can be changed by changing
+as the default reference quantity; this default can be changed by changing
the value of the customizable variable
@code{calc-lu-power-reference} (@pxref{Customizing Calc}).
-For field quantities, Calc uses
-@infoline @math{20 uPa}
+For field quantities, Calc uses
+@infoline @math{20 uPa}
@texline @math{20 \mu{\rm Pa}}
as the default reference quantity; this is the value used in acoustics
which is where decibels are commonly encountered. This default can be
@@ -28247,9 +28247,9 @@ command computes the power quantity corresponding to a given number of
logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the
reference level will be read from the top of the stack. (In an
algebraic formula, @code{lupquant} can be given an optional second
-argument which will be used for the reference level.) For example,
-@code{20 dB @key{RET} l q} will return @code{100 mW};
-@code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}.
+argument which will be used for the reference level.) For example,
+@code{20 dB @key{RET} l q} will return @code{100 mW};
+@code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}.
The @kbd{H l q} [@code{lufquant}] command behaves like @kbd{l q} but
computes field quantities instead of power quantities.
@@ -28288,13 +28288,13 @@ the reference level can be given as an optional second argument.
@tindex lufdiv
The sum of two power or field quantities doesn't correspond to the sum
of the corresponding decibel or neper levels. If the powers
-corresponding to decibel levels
-@infoline @math{D1}
-@texline @math{D_1}
-and
-@infoline @math{D2}
-@texline @math{D_2}
-are added, the corresponding decibel level ``sum'' will be
+corresponding to decibel levels
+@infoline @math{D1}
+@texline @math{D_1}
+and
+@infoline @math{D2}
+@texline @math{D_2}
+are added, the corresponding decibel level ``sum'' will be
@ifnottex
@example
@@ -28338,7 +28338,7 @@ $$ D + 10 \log_{10}(N) {\rm dB},$$
@noindent
if a field quantity is multiplied by @math{N} the corresponding decibel level
-will be
+will be
@ifnottex
@example
@@ -28375,31 +28375,31 @@ operating on notes.
Scientific pitch notation refers to a note by giving a letter
A through G, possibly followed by a flat or sharp) with a subscript
indicating an octave number. Each octave starts with C and ends with
-B and
+B and
@c increasing each note by a semitone will result
@c in the sequence @expr{C}, @expr{C} sharp, @expr{D}, @expr{E} flat, @expr{E},
@c @expr{F}, @expr{F} sharp, @expr{G}, @expr{A} flat, @expr{A}, @expr{B}
-@c flat and @expr{B}.
+@c flat and @expr{B}.
the octave numbered 0 was chosen to correspond to the lowest
audible frequency. Using this system, middle C (about 261.625 Hz)
corresponds to the note @expr{C} in octave 4 and is denoted
@expr{C_4}. Any frequency can be described by giving a note plus an
offset in cents (where a cent is a ratio of frequencies so that a
-semitone consists of 100 cents).
+semitone consists of 100 cents).
The midi note number system assigns numbers to notes so that
@expr{C_(-1)} corresponds to the midi note number 0 and @expr{G_9}
corresponds to the midi note number 127. A midi controller can have
up to 128 keys and each midi note number from 0 to 127 corresponds to
-a possible key.
+a possible key.
@kindex l s
@pindex calc-spn
@tindex spn
The @kbd{l s} (@code{calc-spn}) [@code{spn}] command converts either
a frequency or a midi number to scientific pitch notation. For
-example, @code{500 Hz} gets converted to
-@code{B_4 + 21.3094853649 cents} and @code{84} to @code{C_6}.
+example, @code{500 Hz} gets converted to
+@code{B_4 + 21.3094853649 cents} and @code{84} to @code{C_6}.
@kindex l m
@@ -28464,7 +28464,7 @@ The @kbd{s s} (@code{calc-store}) command stores the value at the top of
the stack into a specified variable. It prompts you to enter the
name of the variable. If you press a single digit, the value is stored
immediately in one of the ``quick'' variables @code{q0} through
-@code{q9}. Or you can enter any variable name.
+@code{q9}. Or you can enter any variable name.
@kindex s t
@pindex calc-store-into
@@ -28554,12 +28554,12 @@ and @kbd{s ]} which decrease or increase a variable by one.
All the arithmetic stores accept the Inverse prefix to reverse the
order of the operands. If @expr{v} represents the contents of the
variable, and @expr{a} is the value drawn from the stack, then regular
-@w{@kbd{s -}} assigns
+@w{@kbd{s -}} assigns
@texline @math{v \coloneq v - a},
-@infoline @expr{v := v - a},
+@infoline @expr{v := v - a},
but @kbd{I s -} assigns
@texline @math{v \coloneq a - v}.
-@infoline @expr{v := a - v}.
+@infoline @expr{v := a - v}.
While @kbd{I s *} might seem pointless, it is
useful if matrix multiplication is involved. Actually, all the
arithmetic stores use formulas designed to behave usefully both
@@ -28668,7 +28668,7 @@ magic property is preserved, however, when a variable is copied with
@kindex s k
@pindex calc-copy-special-constant
If one of the ``special constants'' is redefined (or undefined) so that
-it no longer has its magic property, the property can be restored with
+it no longer has its magic property, the property can be restored with
@kbd{s k} (@code{calc-copy-special-constant}). This command will prompt
for a special constant and a variable to store it in, and so a special
constant can be stored in any variable. Here, the special constant that
@@ -28850,7 +28850,7 @@ explicitly naming them in an @kbd{s p} command.)
The @kbd{s i} (@code{calc-insert-variables}) command writes
the values of all Calc variables into a specified buffer.
The variables are written with the prefix @code{var-} in the form of
-Lisp @code{setq} commands
+Lisp @code{setq} commands
which store the values in string form. You can place these commands
in your Calc init file (or @file{.emacs}) if you wish, though in this case it
would be easier to use @kbd{s p @key{RET}}. (Note that @kbd{s i}
@@ -29159,9 +29159,9 @@ In the first case, ``x'' and ``y'' are each vectors (not necessarily of
the same length); either or both may instead be interval forms. The
``z'' value must be a matrix with the same number of rows as elements
in ``x'', and the same number of columns as elements in ``y''. The
-result is a surface plot where
+result is a surface plot where
@texline @math{z_{ij}}
-@infoline @expr{z_ij}
+@infoline @expr{z_ij}
is the height of the point
at coordinate @expr{(x_i, y_j)} on the surface. The 3D graph will
be displayed from a certain default viewpoint; you can change this
@@ -29270,9 +29270,9 @@ that don't have common ``x'' values. (Of course, the range of ``x''
values covered by all the curves ought to be roughly the same if
they are to look nice on the same graph.)
-For example, to plot
+For example, to plot
@texline @math{\sin n x}
-@infoline @expr{sin(n x)}
+@infoline @expr{sin(n x)}
for integers @expr{n}
from 1 to 5, you could use @kbd{v x} to create a vector of integers
(@expr{n}), then @kbd{V M '} or @kbd{V M $} to map @samp{sin(n x)}
@@ -29510,8 +29510,8 @@ available for any device.
The @kbd{g S} (@code{calc-graph-point-style}) command similarly turns
the symbols at the data points on or off, or sets the point style.
If you turn both lines and points off, the data points will show as
-tiny dots. If the ``y'' values being plotted contain error forms and
-the connecting lines are turned off, then this command will also turn
+tiny dots. If the ``y'' values being plotted contain error forms and
+the connecting lines are turned off, then this command will also turn
the error bars on or off.
@cindex @code{LineStyles} variable
@@ -29563,7 +29563,7 @@ terminals with no special graphics facilities. It writes a crude
picture of the graph composed of characters like @code{-} and @code{|}
to a buffer called @samp{*Gnuplot Trail*}, which Calc then displays.
The graph is made the same size as the Emacs screen, which on most
-dumb terminals will be
+dumb terminals will be
@texline @math{80\times24}
@infoline 80x24
characters. The graph is displayed in
@@ -29820,7 +29820,7 @@ difference.)
@pindex calc-prepend-to-register
@pindex calc-append-to-register
@cindex Registers
-An alternative to killing and yanking stack entries is using
+An alternative to killing and yanking stack entries is using
registers in Calc. Saving stack entries in registers is like
saving text in normal Emacs registers; although, like Calc's kill
commands, register commands always operate on whole stack
@@ -29935,7 +29935,7 @@ separately as a matrix element. If a line contained
would correctly split the line into two error forms.
@xref{Matrix Functions}, to see how to pull the matrix apart into its
-constituent rows and columns. (If it is a
+constituent rows and columns. (If it is a
@texline @math{1\times1}
@infoline 1x1
matrix, just hit @kbd{v u} (@code{calc-unpack}) twice.)
@@ -30273,7 +30273,7 @@ same limit as last time.
@key{INV GCD} computes the LCM (least common multiple) function.
-@key{INV FACT} is the gamma function.
+@key{INV FACT} is the gamma function.
@texline @math{\Gamma(x) = (x-1)!}.
@infoline @expr{gamma(x) = (x-1)!}.
@@ -30490,7 +30490,7 @@ Similarly, Calc will use @TeX{} language for @code{tex-mode},
@code{plain-tex-mode} and @code{context-mode}, C language for
@code{c-mode} and @code{c++-mode}, FORTRAN language for
@code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode},
-and eqn for @code{nroff-mode} (@pxref{Customizing Calc}).
+and eqn for @code{nroff-mode} (@pxref{Customizing Calc}).
These can be overridden with Calc's mode
changing commands (@pxref{Mode Settings in Embedded Mode}). If no
suitable language is available, Calc will continue with its current language.
@@ -30670,13 +30670,13 @@ version.
Plain formulas are preceded and followed by @samp{%%%} signs
by default. This notation has the advantage that the @samp{%}
-character begins a comment in @TeX{} and La@TeX{}, so if your formula is
+character begins a comment in @TeX{} and La@TeX{}, so if your formula is
embedded in a @TeX{} or La@TeX{} document its plain version will be
invisible in the final printed copy. Certain major modes have different
-delimiters to ensure that the ``plain'' version will be
-in a comment for those modes, also.
+delimiters to ensure that the ``plain'' version will be
+in a comment for those modes, also.
See @ref{Customizing Embedded Mode} to see how to change the ``plain''
-formula delimiters.
+formula delimiters.
There are several notations which Calc's parser for ``big''
formatted formulas can't yet recognize. In particular, it can't
@@ -31178,7 +31178,7 @@ We would have to go down to the other formula and press @kbd{C-x * u}
on it in order to get it to notice the new annotation.
Two more mode-recording modes selectable by @kbd{m R} are available
-which are also available outside of Embedded mode.
+which are also available outside of Embedded mode.
(@pxref{General Mode Commands}.) They are @code{Save}, in which mode
settings are recorded permanently in your Calc init file (the file given
by the variable @code{calc-settings-file}, typically @file{~/.emacs.d/calc.el})
@@ -31195,11 +31195,11 @@ for @code{Save} have no effect.
@noindent
You can modify Embedded mode's behavior by setting various Lisp
-variables described here. These variables are customizable
+variables described here. These variables are customizable
(@pxref{Customizing Calc}), or you can use @kbd{M-x set-variable}
or @kbd{M-x edit-options} to adjust a variable on the fly.
(Another possibility would be to use a file-local variable annotation at
-the end of the file;
+the end of the file;
@pxref{File Variables, , Local Variables in Files, emacs, the Emacs manual}.)
Many of the variables given mentioned here can be set to depend on the
major mode of the editing buffer (@pxref{Customizing Calc}).
@@ -31334,7 +31334,7 @@ Calc never scans for this string; Calc always looks for the
annotation itself. But this is the string that is inserted before
the opening bracket when Calc adds an annotation on its own.
The default is @code{"% "}, but may be different for different major
-modes.
+modes.
@vindex calc-embedded-close-mode
The @code{calc-embedded-close-mode} variable is a string which
@@ -31459,7 +31459,7 @@ without its key binding, type @kbd{M-x} and enter a function name. (The
(If the command you give implies a function, the function will be saved,
and if the function has any display formats, those will be saved, but
not the other way around: Saving a function will not save any commands
-or key bindings associated with the function.)
+or key bindings associated with the function.)
@kindex Z E
@pindex calc-user-define-edit
@@ -31542,7 +31542,7 @@ Once you have bound your keyboard macro to a key, you can use
@cindex Keyboard macros, editing
The @kbd{Z E} (@code{calc-user-define-edit}) command on a key that has
been defined by a keyboard macro tries to use the @code{edmacro} package
-edit the macro. Type @kbd{C-c C-c} to finish editing and update
+edit the macro. Type @kbd{C-c C-c} to finish editing and update
the definition stored on the key, or, to cancel the edit, kill the
buffer with @kbd{C-x k}.
The special characters @code{RET}, @code{LFD}, @code{TAB}, @code{SPC},
@@ -31552,7 +31552,7 @@ sequences, written in all uppercase, as must the prefixes @code{C-} and
copied verbatim into the keyboard macro. Basically, the notation is the
same as is used in all of this manual's examples, except that the manual
takes some liberties with spaces: When we say @kbd{' [1 2 3] @key{RET}},
-we take it for granted that it is clear we really mean
+we take it for granted that it is clear we really mean
@kbd{' [1 @key{SPC} 2 @key{SPC} 3] @key{RET}}.
@kindex C-x * m
@@ -31823,7 +31823,7 @@ prompt for the @kbd{Z #} command; it will not play any role in any
subsequent calculations.) This command allows your keyboard macros to
accept numbers or formulas as interactive input.
-As an example,
+As an example,
@kbd{2 @key{RET} "Power: " @key{RET} Z # 3 @key{RET} ^} will prompt for
input with ``Power: '' in the minibuffer, then return 2 to the provided
power. (The response to the prompt that's given, 3 in this example,
@@ -31900,7 +31900,7 @@ The third prompt is for an algebraic function name. The default is to
use the same name as the command name but without the @samp{calc-}
prefix. (If this is of the form @samp{User-m}, the hyphen is removed so
it won't be taken for a minus sign in algebraic formulas.)
-This is the name you will use if you want to enter your
+This is the name you will use if you want to enter your
new function in an algebraic formula. Suppose we enter @kbd{yow @key{RET}}.
Then the new function can be invoked by pushing two numbers on the
stack and typing @kbd{z m} or @kbd{x spam}, or by entering the algebraic
@@ -32695,7 +32695,7 @@ same thing with a single division by 512.
@end ignore
@tindex mysin
A somewhat limited sine function could be defined as follows, using the
-well-known Taylor series expansion for
+well-known Taylor series expansion for
@texline @math{\sin x}:
@infoline @samp{sin(x)}:
@@ -34631,7 +34631,7 @@ the derivative is evaluated at the value of @var{var}; otherwise, the
derivative is left in terms of @var{var}. If the expression contains
functions for which no derivative formula is known, new derivative
functions are invented by adding primes to the names; @pxref{Calculus}.
-However, if @var{symb} is non-@code{nil}, the presence of undifferentiable
+However, if @var{symb} is non-@code{nil}, the presence of nondifferentiable
functions in @var{expr} instead cancels the whole differentiation, and
@code{deriv} returns @code{nil} instead.
@@ -35241,7 +35241,7 @@ to use a different prefix, you can put
@end example
@noindent
-in your .emacs file.
+in your .emacs file.
(@xref{Key Bindings,,Customizing Key Bindings,emacs,
The GNU Emacs Manual}, for more information on binding keys.)
A convenient way to start Calc is with @kbd{C-x * *}; to make it equally
@@ -35269,7 +35269,7 @@ to see how regular expressions work.
@defvar calc-settings-file
The variable @code{calc-settings-file} holds the file name in
which commands like @kbd{m m} and @kbd{Z P} store ``permanent''
-definitions.
+definitions.
If @code{calc-settings-file} is not your user init file (typically
@file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is
@code{nil}, then Calc will automatically load your settings file (if it
@@ -35314,7 +35314,7 @@ enabled, it will try to use the current major mode to
determine what language should be used. (This can be overridden using
Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.)
The variable @code{calc-language-alist} consists of a list of pairs of
-the form @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example,
+the form @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example,
@code{(latex-mode . latex)} is one such pair. If Calc embedded is
activated in a buffer whose major mode is @var{MAJOR-MODE}, it will set itself
to use the language @var{LANGUAGE}.
@@ -35342,7 +35342,7 @@ what formulas @kbd{C-x * a} will activate in a buffer. It is a
regular expression, and when activating embedded formulas with
@kbd{C-x * a}, it will tell Calc that what follows is a formula to be
activated. (Calc also uses other patterns to find formulas, such as
-@samp{=>} and @samp{:=}.)
+@samp{=>} and @samp{:=}.)
The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks
for @samp{%Embed} followed by any number of lines beginning with
@@ -35367,7 +35367,7 @@ It consists of a list of pairs of the form @code{(@var{MAJOR-MODE} .
(texinfo-mode . "@@c Embed\n\\(@@c .*\n\\)*"))
@end example
Any major modes added to @code{calc-embedded-announce-formula-alist}
-should also be added to @code{calc-embedded-open-close-plain-alist}
+should also be added to @code{calc-embedded-open-close-plain-alist}
and @code{calc-embedded-open-close-mode-alist}.
@end defvar
@@ -35378,7 +35378,7 @@ See @ref{Customizing Embedded Mode}.@*
The variables @code{calc-embedded-open-formula} and
@code{calc-embedded-close-formula} control the region that Calc will
activate as a formula when Embedded mode is entered with @kbd{C-x * e}.
-They are regular expressions;
+They are regular expressions;
Calc normally scans backward and forward in the buffer for the
nearest text matching these regular expressions to be the ``formula
delimiters''.
@@ -35403,7 +35403,7 @@ The variable @code{calc-embedded-open-close-formula-alist} is used to
set @code{calc-embedded-open-formula} and
@code{calc-embedded-close-formula} to different regular
expressions depending on the major mode of the editing buffer.
-It consists of a list of lists of the form
+It consists of a list of lists of the form
@code{(@var{MAJOR-MODE} @var{OPEN-FORMULA-REGEXP}
@var{CLOSE-FORMULA-REGEXP})}, and its default value is
@code{nil}.
@@ -35422,7 +35422,7 @@ The default value of @code{calc-embedded-word-regexp} is
The variable @code{calc-embedded-word-regexp-alist} is used to
set @code{calc-embedded-word-regexp} to a different regular
expression depending on the major mode of the editing buffer.
-It consists of a list of lists of the form
+It consists of a list of lists of the form
@code{(@var{MAJOR-MODE} @var{WORD-REGEXP})}, and its default value is
@code{nil}.
@end defvar
@@ -35437,8 +35437,8 @@ formulas. Note that these are actual strings, not regular
expressions, because Calc must be able to write these string into a
buffer as well as to recognize them.
-The default string for @code{calc-embedded-open-plain} is
-@code{"%%% "}, note the trailing space. The default string for
+The default string for @code{calc-embedded-open-plain} is
+@code{"%%% "}, note the trailing space. The default string for
@code{calc-embedded-close-plain} is @code{" %%%\n"}, without
the trailing newline here, the first line of a Big mode formula
that followed might be shifted over with respect to the other lines.
@@ -35447,7 +35447,7 @@ The variable @code{calc-embedded-open-close-plain-alist} is used to
set @code{calc-embedded-open-plain} and
@code{calc-embedded-close-plain} to different strings
depending on the major mode of the editing buffer.
-It consists of a list of lists of the form
+It consists of a list of lists of the form
@code{(@var{MAJOR-MODE} @var{OPEN-PLAIN-STRING}
@var{CLOSE-PLAIN-STRING})}, and its default value is
@example
@@ -35490,7 +35490,7 @@ The variable @code{calc-embedded-open-close-new-formula-alist} is used to
set @code{calc-embedded-open-new-formula} and
@code{calc-embedded-close-new-formula} to different strings
depending on the major mode of the editing buffer.
-It consists of a list of lists of the form
+It consists of a list of lists of the form
@code{(@var{MAJOR-MODE} @var{OPEN-NEW-FORMULA-STRING}
@var{CLOSE-NEW-FORMULA-STRING})}, and its default value is
@code{nil}.
@@ -35508,7 +35508,7 @@ necessary to add them to user-written annotations.
The default value of @code{calc-embedded-open-mode} is @code{"% "}
and the default value of @code{calc-embedded-close-mode} is
-@code{"\n"}.
+@code{"\n"}.
If you change the value of @code{calc-embedded-close-mode}, it is a good
idea still to end with a newline so that mode annotations will appear on
lines by themselves.
@@ -35517,7 +35517,7 @@ The variable @code{calc-embedded-open-close-mode-alist} is used to
set @code{calc-embedded-open-mode} and
@code{calc-embedded-close-mode} to different strings
expressions depending on the major mode of the editing buffer.
-It consists of a list of lists of the form
+It consists of a list of lists of the form
@code{(@var{MAJOR-MODE} @var{OPEN-MODE-STRING}
@var{CLOSE-MODE-STRING})}, and its default value is
@example
@@ -35548,7 +35548,7 @@ units.
The default value of @code{calc-lu-power-reference} is @code{"mW"}
and the default value of @code{calc-lu-field-reference} is
-@code{"20 uPa"}.
+@code{"20 uPa"}.
@end defvar
@defvar calc-note-threshold
@@ -35564,15 +35564,15 @@ The default value of @code{calc-note-threshold} is 1.
@defvarx calc-selected-face
@defvarx calc-nonselected-face
See @ref{Displaying Selections}.@*
-The variable @code{calc-highlight-selections-with-faces}
+The variable @code{calc-highlight-selections-with-faces}
determines how selected sub-formulas are distinguished.
-If @code{calc-highlight-selections-with-faces} is nil, then
+If @code{calc-highlight-selections-with-faces} is nil, then
a selected sub-formula is distinguished either by changing every
character not part of the sub-formula with a dot or by changing every
-character in the sub-formula with a @samp{#} sign.
+character in the sub-formula with a @samp{#} sign.
If @code{calc-highlight-selections-with-faces} is t,
then a selected sub-formula is distinguished either by displaying the
-non-selected portion of the formula with @code{calc-nonselected-face}
+non-selected portion of the formula with @code{calc-nonselected-face}
or by displaying the selected sub-formula with
@code{calc-nonselected-face}.
@end defvar
@@ -36651,9 +36651,9 @@ input data set. Each entry may be a single value or a vector of values.
@c 20
@item
-With a prefix argument of 1, take a single
+With a prefix argument of 1, take a single
@texline @var{n}@math{\times2}
-@infoline @mathit{@var{N}x2}
+@infoline @mathit{@var{N}x2}
matrix from the stack instead of two separate data vectors.
@c 21
@@ -36754,7 +36754,7 @@ Variable name may be a single digit or a full name.
@c 30
@item
-Editing occurs in a separate buffer. Press @kbd{C-c C-c} (or
+Editing occurs in a separate buffer. Press @kbd{C-c C-c} (or
@key{LFD}, or in some cases @key{RET}) to finish the edit, or kill the
buffer with @kbd{C-x k} to cancel the edit. The @key{LFD} key prevents evaluation
of the result of the edit.
@@ -36854,7 +36854,7 @@ to evaluate variables.
@item
The variable is replaced by the formula shown on the right. The
Inverse flag reverses the order of the operands, e.g., @kbd{I s - x}
-assigns
+assigns
@texline @math{x \coloneq a-x}.
@infoline @expr{x := a-x}.
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 55c2c4c0ae8..d5f403e5cdb 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -912,7 +912,7 @@ construct, should the point start inside it. If @ccmode fails to find
function beginnings or ends inside the current declaration scope, it
will search the enclosing scopes. If you want @ccmode to recognize
functions only at the top level@footnote{this was @ccmode{}'s
-behavior prior to version 5.32.}, set @code{c-defun-tatic} to
+behavior prior to version 5.32.}, set @code{c-defun-tactic} to
@code{t}.
These functions are analogous to the Emacs built-in commands
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index 79c7ada3b0b..88b068ccd5b 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -332,7 +332,7 @@ Example:
@code{method}, @code{signal}, and @code{property} elements. Unlike
properties, which can change their values during lifetime of a D-Bus
object, annotations are static. Often they are used for code
-generators of D-Bus langugae bindings. Example:
+generators of D-Bus language bindings. Example:
@example
<annotation name="de.berlios.Pinot.GetStatistics" value="pinotDBus"/>
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi
index 99530e6356d..a026c63e25b 100644
--- a/doc/misc/dired-x.texi
+++ b/doc/misc/dired-x.texi
@@ -476,7 +476,7 @@ in your @code{dired-mode-hook}.
This Dired-X feature is obsolete as of Emacs 24.1. The standard Emacs
directory local variables mechanism (@pxref{Directory
Variables,,,emacs,The Gnu Emacs manual}) replaces it. For an example of
-the new mechanims, @pxref{Omitting Variables}.
+the new mechanisms, @pxref{Omitting Variables}.
When Dired visits a directory, it looks for a file whose name is the
value of variable @code{dired-local-variables-file} (default: @file{.dired}).
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index 55dc7f9a822..cc566086f44 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -268,7 +268,7 @@ projects.
Some project modes do not have a project file, but directly read a
Makefile or other existing file. Instead of directly editing the
-object, you can edit the file by typine @kbd{C-c . e}
+object, you can edit the file by typing @kbd{C-c . e}
(@code{ede-edit-file-target}). You should ``rescan'' the project
afterwards (@pxref{Miscellaneous commands}).
@@ -3526,7 +3526,7 @@ use the same autoconf form.
@item :objectextention
Type: @code{string}
-A string which is the extention used for object files.
+A string which is the extension used for object files.
For example, C code uses .o on unix, and Emacs Lisp uses .elc.
@refill
@@ -3634,7 +3634,7 @@ it's rule definition.
@item :objectextention
Type: @code{string}
-A string which is the extention used for object files.
+A string which is the extension used for object files.
For example, C code uses .o on unix, and Emacs Lisp uses .elc.
@refill
@@ -3782,7 +3782,7 @@ it's rule definition.
@item :objectextention
Type: @code{string}
-A string which is the extention used for object files.
+A string which is the extension used for object files.
For example, C code uses .o on unix, and Emacs Lisp uses .elc.
@refill
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index 8ee40288fe0..d65c7a15f7b 100644
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -1212,9 +1212,9 @@ This method does nothing by default, but that may change in the future.
This would be the best way to make your objects persistent when using
in-place editing.
-@section Widget extention
+@section Widget extension
-When widgets are being created, one new widget extention has been added,
+When widgets are being created, one new widget extension has been added,
called the @code{:slotofchoices}. When this occurs in a widget
definition, all elements after it are removed, and the slot is specifies
is queried and converted into a series of constants.
@@ -1458,7 +1458,7 @@ Useful methods to define for your new class include:
@defmethod eieio-speedbar eieio-speedbar-derive-line-path obj depth
Return a string representing a directory associated with an instance
-of @var{obj}. @var{depth} can be used to indice how many levels of
+of @var{obj}. @var{depth} can be used to index how many levels of
indentation have been opened by the user where @var{obj} is shown.
@end defmethod
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index d2705155887..7c178757927 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -61,7 +61,7 @@ developing GNU and promoting software freedom.''
@node Top, What is Eshell?, (dir), (dir)
@top Eshell
-Eshell is a shell-like command interpretor
+Eshell is a shell-like command interpreter
implemented in Emacs Lisp. It invokes no external processes except for
those requested by the user. It is intended to be a functional
replacement for command shells such as @command{bash}, @command{zsh},
@@ -608,7 +608,7 @@ scrolls back.
@item Using C-p and C-n with rebind gets into a locked state
-This happened a few times in Emacs 21, but has been unreproducible
+This happened a few times in Emacs 21, but has been irreproducible
since.
@item If an interactive process is currently running, @kbd{M-!} doesn't work
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi
index 262c3d734fe..15c9232d4b6 100644
--- a/doc/misc/faq.texi
+++ b/doc/misc/faq.texi
@@ -627,7 +627,7 @@ translations of the reference card into several languages; look for
files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang}
is a two-letter code of the language. For example, the German version
of the reference card is in the files @file{etc/refcards/de-refcard.tex}
-and @file{etc/recards/de-refcard.pdf}.
+and @file{etc/refcards/de-refcard.pdf}.
@item
There are many other commands in Emacs for getting help and
diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi
index ab9c0232d3d..a79c68f0123 100644
--- a/doc/misc/gnus-coding.texi
+++ b/doc/misc/gnus-coding.texi
@@ -1,7 +1,7 @@
\input texinfo
@setfilename gnus-coding
-@settitle Gnus Coding Style and Maintainance Guide
+@settitle Gnus Coding Style and Maintenance Guide
@syncodeindex fn cp
@syncodeindex vr cp
@syncodeindex pg cp
@@ -45,7 +45,7 @@ license to the document, as described in section 6 of the license.
@ifnottex
@node Top
-@top Gnus Coding Style and Maintainance Guide
+@top Gnus Coding Style and Maintenance Guide
This manual describes @dots{}
@insertcopying
@@ -53,7 +53,7 @@ This manual describes @dots{}
@menu
* Gnus Coding Style:: Gnus Coding Style
-* Gnus Maintainance Guide:: Gnus Maintainance Guide
+* Gnus Maintenance Guide:: Gnus Maintenance Guide
@end menu
@c @ref{Gnus Reference Guide, ,Gnus Reference Guide, gnus, The Gnus Newsreader}
@@ -250,8 +250,8 @@ Emacs 20.7 and up.
XEmacs 21.1 and up.
@end itemize
-@node Gnus Maintainance Guide
-@chapter Gnus Maintainance Guide
+@node Gnus Maintenance Guide
+@chapter Gnus Maintenance Guide
@section Stable and development versions
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index b5bb75f7284..ace7bb42c21 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -266,9 +266,9 @@ and how to prevent it?
@subsubheading Answer
This message means that the last time you used Gnus, it
-wasn't properly exited and therefor couldn't write its
-informations to disk (e.g. which messages you read), you
-are now asked if you want to restore those informations
+wasn't properly exited and therefore couldn't write its
+information to disk (e.g. which messages you read), you
+are now asked if you want to restore that information
from the auto-save file.
To prevent this message make sure you exit Gnus
@@ -563,7 +563,7 @@ However, the first thing to do is to tell Gnus in which way
it should store the mail, in Gnus terminology which back end
to use. Gnus supports many different back ends, the most
commonly used one is nnml. It stores every mail in one file
-and is therefor quite fast. However you might prefer a one
+and is therefore quite fast. However you might prefer a one
file per group approach if your file system has problems with
many small files, the nnfolder back end is then probably the
choice for you. To use nnml add the following to ~/.gnus.el:
@@ -580,7 +580,7 @@ As you might have guessed, if you want nnfolder, it's
@end example
@noindent
-Now we need to tell Gnus, where to get it's mail from. If
+Now we need to tell Gnus, where to get its mail from. If
it's a POP3 server, then you need something like this:
@example
@@ -1104,11 +1104,11 @@ I don't like the way the Summary buffer looks, how to tweak it?
@subsubheading Answer
You've got to play around with the variable
-gnus-summary-line-format. It's value is a string of
+gnus-summary-line-format. Its value is a string of
symbols which stand for things like author, date, subject
etc. A list of the available specifiers can be found in the
manual node "Summary Buffer Lines" and the often forgotten
-node "Formatting Variables" and it's sub-nodes. There
+node "Formatting Variables" and its sub-nodes. There
you'll find useful things like positioning the cursor and
tabulators which allow you a summary in table form, but
sadly hard tabulators are broken in 5.8.8.
@@ -2190,7 +2190,7 @@ Starting Gnus is really slow, how to speed it up?
@subsubheading Answer
-The reason for this could be the way Gnus reads it's
+The reason for this could be the way Gnus reads its
active file, see the node "The Active File" in the Gnus
manual for things you might try to speed the process up.
An other idea would be to byte compile your ~/.gnus.el (say
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi
index 62c1663508b..612ea14e2cf 100644
--- a/doc/misc/gnus-news.texi
+++ b/doc/misc/gnus-news.texi
@@ -107,7 +107,7 @@ EasyPG is included in Emacs 23 and available separately as well.
@itemize @bullet
@item
-Symbols like @code{gcc-self} now has the same presedence rules in
+Symbols like @code{gcc-self} now have the same precedence rules in
@code{gnus-parameters} as other ``real'' variables: The last match
wins instead of the first match.
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index a3a93c6ef61..5ae86c4e631 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -4491,23 +4491,6 @@ news.
@table @kbd
-@item H f
-@kindex H f (Group)
-@findex gnus-group-fetch-faq
-@vindex gnus-group-faq-directory
-@cindex FAQ
-@cindex ange-ftp
-Try to fetch the @acronym{FAQ} for the current group
-(@code{gnus-group-fetch-faq}). Gnus will try to get the @acronym{FAQ}
-from @code{gnus-group-faq-directory}, which is usually a directory on
-a remote machine. This variable can also be a list of directories.
-In that case, giving a prefix to this command will allow you to choose
-between the various sites. @code{ange-ftp} (or @code{efs}) will be
-used for fetching the file.
-
-If fetching from the first site is unsuccessful, Gnus will attempt to go
-through @code{gnus-group-faq-directory} and try to open them one by one.
-
@item H d
@itemx C-c C-d
@c @icon{gnus-group-describe-group}
@@ -8992,8 +8975,8 @@ apostrophe or quotation mark, then try this wash.
Translate many non-@acronym{ASCII} characters into their
@acronym{ASCII} equivalents (@code{gnus-article-treat-non-ascii}).
This is mostly useful if you're on a terminal that has a limited font
-and does't show accented characters, ``advanced'' punctuation, and the
-like. For instance, @samp{»} is tranlated into @samp{>>}, and so on.
+and doesn't show accented characters, ``advanced'' punctuation, and the
+like. For instance, @samp{»} is translated into @samp{>>}, and so on.
@item W Y f
@kindex W Y f (Summary)
@@ -13778,7 +13761,7 @@ The same as the above, but don't do automatic @acronym{STARTTLS} upgrades.
@findex nntp-open-tls-stream
@item nntp-open-tls-stream
Opens a connection to a server over a @dfn{secure} channel. To use
-this you must have @uref{http://www.gnu.org/software/gnutls/, GNUTLS}
+this you must have @uref{http://www.gnu.org/software/gnutls/, GnuTLS}
installed. You then define a server as follows:
@lisp
@@ -21228,7 +21211,7 @@ features (inspired by the Google search input language):
AND, OR, and NOT are supported, and parentheses can be used to control
operator precedence, e.g. (emacs OR xemacs) AND linux. Note that
operators must be written with all capital letters to be
-recognised. Also preceding a term with a - sign is equivalent to NOT
+recognized. Also preceding a term with a - sign is equivalent to NOT
term.
@item Automatic AND queries
@@ -21273,7 +21256,7 @@ Gmane queries follow a simple query language:
AND, OR, NOT (or AND NOT), and XOR are supported, and brackets can be
used to control operator precedence, e.g. (emacs OR xemacs) AND linux.
Note that operators must be written with all capital letters to be
-recognised.
+recognized.
@item Required and excluded terms
+ and - can be used to require or exclude terms, e.g. football -american
@@ -21296,7 +21279,7 @@ name (or part of a name) to match.
@node The swish++ Engine
@subsubsection The swish++ Engine
-FIXEM: Say something more here.
+FIXME: Say something more here.
Documentation for swish++ may be found at the swish++ sourceforge page:
@uref{http://swishplusplus.sourceforge.net}
@@ -21319,7 +21302,7 @@ to get a group name. By default this is @code{$HOME/Mail}.
@node The swish-e Engine
@subsubsection The swish-e Engine
-FIXEM: Say something more here.
+FIXME: Say something more here.
Documentation for swish-e may be found at the swish-e homepage
@uref{http://swish-e.org}
@@ -21912,7 +21895,7 @@ Clearly, the easiest way would be if marks could somehow be
automatically set for the original article. This is exactly what
@emph{marks propagation} is about.
-Marks propagation is deactivated by default. You can activate it for a
+Marks propagation is inactive by default. You can activate it for a
certain @code{nnmairix} group with
@code{nnmairix-group-toggle-propmarks-this-group} (bound to @kbd{G b
p}). This function will warn you if you try to use it with your default
@@ -22064,7 +22047,7 @@ an example server definition:
(nnml "mairix" (nnml-directory "mairix") (nnml-get-new-mail nil))
@end lisp
-(The @code{nnmaildir} back end also has a server variabe
+(The @code{nnmaildir} back end also has a server variable
@code{get-new-mail}, but its default value is @code{nil}, so you don't
have to explicitly set it if you use a @code{nnmaildir} server just for
mairix.)
@@ -25471,7 +25454,7 @@ Write @code{spam-check-blackbox} if Blackbox can check incoming mail.
Write @code{spam-blackbox-register-routine} and
@code{spam-blackbox-unregister-routine} using the bogofilter
-register/unregister routines as a start, or other restister/unregister
+register/unregister routines as a start, or other register/unregister
routines more appropriate to Blackbox, if Blackbox can
register/unregister spam and ham.
@@ -27425,7 +27408,7 @@ considered home score and adapt files (@pxref{Home Score File}) have
been added.
@item
-@code{nndoc} was rewritten to be easily extendable (@pxref{Document
+@code{nndoc} was rewritten to be easily extensible (@pxref{Document
Server Internals}).
@item
@@ -27818,7 +27801,7 @@ The revised Gnus @acronym{FAQ} is included in the manual,
@acronym{TLS} wrapper shipped with Gnus
@acronym{TLS}/@acronym{SSL} is now supported in @acronym{IMAP} and
-@acronym{NNTP} via @file{tls.el} and GNUTLS.
+@acronym{NNTP} via @file{tls.el} and GnuTLS.
@item
Improved anti-spam features.
@@ -30030,7 +30013,7 @@ this:
@subsection Score File Syntax
Score files are meant to be easily parseable, but yet extremely
-mallable. It was decided that something that had the same read syntax
+malleable. It was decided that something that had the same read syntax
as an Emacs Lisp list would fit that spec.
Here's a typical score file:
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index 8e172301915..5149eb91651 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -62,7 +62,7 @@ developing GNU and promoting software freedom.''
IDLWAVE is a package which supports editing source code written in the
Interactive Data Language (IDL), and running IDL as an inferior shell.
-@insertcopying
+@insertcopying
@end ifnottex
@menu
@@ -72,8 +72,8 @@ Interactive Data Language (IDL), and running IDL as an inferior shell.
* The IDLWAVE Major Mode:: The mode for editing IDL programs
* The IDLWAVE Shell:: The mode for running IDL as an inferior program
* Acknowledgements:: Who did what
-* Sources of Routine Info:: How does IDLWAVE know about routine XYZ
-* HTML Help Browser Tips::
+* Sources of Routine Info:: How does IDLWAVE know about routine XYZ
+* HTML Help Browser Tips::
* Configuration Examples:: The user is king
* Windows and MacOS:: What still works, and how
* Troubleshooting:: When good computers turn bad
@@ -85,9 +85,9 @@ Interactive Data Language (IDL), and running IDL as an inferior shell.
Getting Started (Tutorial)
-* Lesson I -- Development Cycle::
-* Lesson II -- Customization::
-* Lesson III -- User Catalog::
+* Lesson I -- Development Cycle::
+* Lesson II -- Customization::
+* Lesson III -- User Catalog::
The IDLWAVE Major Mode
@@ -107,7 +107,7 @@ The IDLWAVE Major Mode
Code Formatting
* Code Indentation:: Reflecting the logical structure
-* Continued Statement Indentation::
+* Continued Statement Indentation::
* Comment Indentation:: Special indentation for comment lines
* Continuation Lines:: Splitting statements over lines
* Syntax Highlighting:: Font-lock support
@@ -115,14 +115,14 @@ Code Formatting
Online Help
-* Help with HTML Documentation::
-* Help with Source::
+* Help with HTML Documentation::
+* Help with Source::
Completion
* Case of Completed Words:: CaseOFcomPletedWords
* Object Method Completion and Class Ambiguity:: obj->Method, what?
-* Object Method Completion in the Shell::
+* Object Method Completion in the Shell::
* Class and Keyword Inheritance:: obj->Method, _EXTRA=e
* Structure Tag Completion:: Completing state.Tag
@@ -136,32 +136,32 @@ The IDLWAVE Shell
* Starting the Shell:: How to launch IDL as a subprocess
* Using the Shell:: Interactively working with the Shell
-* Commands Sent to the Shell::
-* Debugging IDL Programs::
-* Examining Variables::
-* Custom Expression Examination::
+* Commands Sent to the Shell::
+* Debugging IDL Programs::
+* Examining Variables::
+* Custom Expression Examination::
Debugging IDL Programs
-* A Tale of Two Modes::
-* Debug Key Bindings::
-* Breakpoints and Stepping::
-* Compiling Programs::
-* Walking the Calling Stack::
-* Electric Debug Mode::
+* A Tale of Two Modes::
+* Debug Key Bindings::
+* Breakpoints and Stepping::
+* Compiling Programs::
+* Walking the Calling Stack::
+* Electric Debug Mode::
Sources of Routine Info
* Routine Definitions:: Where IDL Routines are defined.
* Routine Information Sources:: So how does IDLWAVE know about...
-* Catalogs::
+* Catalogs::
* Load-Path Shadows:: Routines defined in several places
* Documentation Scan:: Scanning the IDL Manuals
Catalogs
-* Library Catalogs::
-* User Catalog::
+* Library Catalogs::
+* User Catalog::
@end detailmenu
@end menu
@@ -193,13 +193,13 @@ form a complete development environment. Here is a brief summary of
what IDLWAVE does:
@itemize @bullet
-@item
+@item
Smart code indentation and automatic-formatting.
@item
Three level syntax highlighting support.
-@item
+@item
Context-sensitive display of calling sequences and keywords for more
-than 1000 native IDL routines, extendible to any additional number of
+than 1000 native IDL routines, extensible to any additional number of
local routines, and already available with many pre-scanned libraries.
@item
Fast, context-sensitive online HTML help, or source-header help for
@@ -373,9 +373,9 @@ at point.
@cindex Getting Started
@menu
-* Lesson I -- Development Cycle::
-* Lesson II -- Customization::
-* Lesson III -- User Catalog::
+* Lesson I -- Development Cycle::
+* Lesson II -- Customization::
+* Lesson III -- User Catalog::
@end menu
@node Lesson I -- Development Cycle, Lesson II -- Customization, Getting Started, Getting Started
@@ -418,13 +418,13 @@ function daynr,d,m,y
y1 = y * delta
return, d + floor(m1*30.6)+floor(y1*365.25)+5
end
-
+
function weekday,day,month,year
;; compute weekday number for date
nr = daynr(day,month,year)
return, nr mod 7
end
-
+
pro plot_wday,day,month
;; Plot the weekday of a date in the first 10 years of this century.
years = 2000,+indgen(10)
@@ -753,7 +753,7 @@ them.
@menu
* Code Indentation:: Reflecting the logical structure
-* Continued Statement Indentation::
+* Continued Statement Indentation::
* Comment Indentation:: Special indentation for comment lines
* Continuation Lines:: Splitting statements over lines
* Syntax Highlighting:: Font-lock support
@@ -797,7 +797,7 @@ subprogram). The command @kbd{C-M-q} reindents the entire current
routine. @xref{Actions}, for information how to impose additional
formatting conventions on foreign code.
-@defopt idlwave-main-block-indent (@code{2})
+@defopt idlwave-main-block-indent (@code{2})
Extra indentation for the main block of code. That is the block between
the FUNCTION/PRO statement and the END statement for that program
unit.
@@ -998,7 +998,7 @@ in the first line of a comment paragraph.
@defopt idlwave-use-last-hang-indent (@code{nil})
Non-@code{nil} means use last match on line for
-@code{idlwave-indent-regexp}.
+@code{idlwave-indent-regexp}.
@end defopt
@node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting
@@ -1026,7 +1026,7 @@ for highlighting using the variable
@defopt idlwave-default-font-lock-items
Items which should be fontified on the default fontification level
-2.
+2.
@end defopt
@node Octals and Highlighting, , Syntax Highlighting, Code Formatting
@@ -1104,7 +1104,7 @@ plot,x,alog(x+5*sin(x) + 2),
On positions 1,2 and 8, information about the @samp{plot} procedure will
be shown. On positions 3,4, and 7, the @samp{alog} function will be
described, while positions 5 and 6 will investigate the @samp{sin}
-function.
+function.
When you ask for routine information about an object method, and the
method exists in several classes, IDLWAVE queries for the class of the
@@ -1162,7 +1162,7 @@ will automatically split into the next two.
@item @i{Other}
@tab Any other routine with a file not known to be on the search path.
@item @i{Unresolved}
-@tab An otherwise unknown routine the shell lists as unresolved
+@tab An otherwise unknown routine the shell lists as unresolved
(referenced, but not compiled).
@end multitable
@@ -1198,7 +1198,7 @@ with the middle mouse button inserts keywords or visits files:
@item @i{Usage}
@tab If online help is installed, a click with the @emph{right} mouse
button on the @i{Usage:} line will access the help for the
-routine (@pxref{Online Help}).
+routine (@pxref{Online Help}).
@item @i{Keyword}
@tab Online help about keywords is also available with the
@emph{right} mouse button. Clicking on a keyword with the @emph{middle}
@@ -1340,8 +1340,8 @@ directly in the originating source file.
@menu
-* Help with HTML Documentation::
-* Help with Source::
+* Help with HTML Documentation::
+* Help with Source::
@end menu
@node Help with HTML Documentation, Help with Source, Online Help, Online Help
@@ -1393,7 +1393,7 @@ configuring a browser for use with IDL's HTML help system.
Relative directory of the system-supplied HTML help directory,
considered with respect to @code{idlwave-system-directory}. Relevant
for IDL 6.2 and greater. Should not change.
-@end defopt
+@end defopt
@defopt idlwave-html-help-location @file{/usr/local/etc/}
The directory where the @file{idl_html_help} HTML directory live.
@@ -1580,8 +1580,8 @@ available will be emphasized (e.g. colored blue). For other items, the
corresponding source code or DocLib header will be used as the help
text.
-@cindex Completion, cancelling
-@cindex Cancelling completion
+@cindex Completion, canceling
+@cindex Canceling completion
Completion is not a blocking operation --- you are free to continue
editing, enter commands, or simply ignore the @file{*Completions*}
buffer during a completion operation. If, however, the most recent
@@ -1613,7 +1613,7 @@ available.
@menu
* Case of Completed Words:: CaseOFcomPletedWords
* Object Method Completion and Class Ambiguity:: obj->Method, what?
-* Object Method Completion in the Shell::
+* Object Method Completion in the Shell::
* Class and Keyword Inheritance:: obj->Method, _EXTRA=e
* Structure Tag Completion:: Completing state.Tag
@end menu
@@ -1681,7 +1681,7 @@ narrow down the number of possible completions. The variable
@code{idlwave-query-class} can be configured to make such prompting the
default for all methods (not recommended), or selectively for very
common methods for which the number of completing keywords would be too
-large (e.g. @code{Init,SetProperty,GetProperty}).
+large (e.g. @code{Init,SetProperty,GetProperty}).
@cindex Saving object class on @code{->}
@cindex @code{->}
@@ -1729,7 +1729,7 @@ routine info, or online help within a method routine, a query is sent to
determine the class of the object. If this query is successful, the
class found will be used to select appropriate completions, routine
info, or help. If unsuccessful, information from all known classes will
-be used (as in the buffer).
+be used (as in the buffer).
@node Class and Keyword Inheritance, Structure Tag Completion, Object Method Completion in the Shell, Completion
@subsection Class and Keyword Inheritance
@@ -1772,7 +1772,7 @@ keywords based on their originating class.
Non-@code{nil} means consider inheritance during completion, online help etc.
@end defopt
-@defopt idlwave-keyword-class-inheritance
+@defopt idlwave-keyword-class-inheritance
A list of regular expressions to match methods for which simple
class-driven keyword inheritance will be used for Completion.
@end defopt
@@ -1802,7 +1802,7 @@ Structure tag completion is not enabled by default. To enable it,
simply add the following to your @file{.emacs}:
@lisp
- (add-hook 'idlwave-load-hook
+ (add-hook 'idlwave-load-hook
(lambda () (require 'idlw-complete-structtag)))
@end lisp
@@ -2226,7 +2226,7 @@ your @file{.emacs} file:
(idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"
'(capitalize-word 1) t)
;; Capitalize common block name
- (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
+ (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
'(capitalize-word 1) t)))
@end lisp
@@ -2384,10 +2384,10 @@ currently only works under Unix and MacOSX.
@menu
* Starting the Shell:: How to launch IDL as a subprocess
* Using the Shell:: Interactively working with the Shell
-* Commands Sent to the Shell::
-* Debugging IDL Programs::
-* Examining Variables::
-* Custom Expression Examination::
+* Commands Sent to the Shell::
+* Debugging IDL Programs::
+* Examining Variables::
+* Custom Expression Examination::
@end menu
@node Starting the Shell, Using the Shell, The IDLWAVE Shell, The IDLWAVE Shell
@@ -2414,7 +2414,7 @@ In order to create a separate frame for the IDLWAVE shell buffer, call
@code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or
@kbd{C-u C-c C-l}. If you always want a dedicated frame for the shell
window, configure the variable
-@code{idlwave-shell-use-dedicated-frame}.
+@code{idlwave-shell-use-dedicated-frame}.
To launch a quick IDLWAVE shell directly from a shell prompt without
an IDLWAVE buffer (e.g., as a replacement for running inside an
@@ -2471,7 +2471,7 @@ The file in which the command history of the idlwave shell is saved.
Unless it's an absolute path, it goes in
@code{idlwave-config-directory}.
@end defopt
-
+
@defopt idlwave-shell-use-dedicated-frame (@code{nil})
Non-@code{nil} means IDLWAVE should use a special frame to display the
shell buffer.
@@ -2574,7 +2574,7 @@ keywords, system variables, system variable tags etc.
@item @kbd{C-c C-v}
@tab Find the source file of a routine (@code{idlwave-find-module})
@item @kbd{C-c C-t}
-@tab Find the source file of a routine in the currently visited file
+@tab Find the source file of a routine in the currently visited file
(@code{idlwave-find-module-this-file}).
@item @kbd{C-c =}
@tab Compile a library routine (@code{idlwave-resolve})
@@ -2697,12 +2697,12 @@ buffers.
@end defopt
@menu
-* A Tale of Two Modes::
-* Debug Key Bindings::
-* Breakpoints and Stepping::
-* Compiling Programs::
-* Walking the Calling Stack::
-* Electric Debug Mode::
+* A Tale of Two Modes::
+* Debug Key Bindings::
+* Breakpoints and Stepping::
+* Compiling Programs::
+* Walking the Calling Stack::
+* Electric Debug Mode::
@end menu
@@ -2795,7 +2795,7 @@ executed from the shell window, the breakpoint where IDL is currently
stopped will be deleted. To clear all breakpoints, use @kbd{C-c C-d
C-a} (@code{idlwave-clear-all-bp}). Breakpoints can also be disabled
and re-enabled: @kbd{C-c C-d C-\}
-(@code{idlwave-shell-toggle-enable-current-bp}).
+(@code{idlwave-shell-toggle-enable-current-bp}).
Breakpoint lines are highlighted or indicated with an icon in the source
code (different icons for conditional, after, and other break types).
@@ -2804,7 +2804,7 @@ places breakpoints as close as possible on or after the line you
specify. IDLWAVE queries the shell for the actual breakpoint location
which was set, so the exact line you specify may not be marked. You can
re-sync the breakpoint list and update the display at any time (e.g., if
-you add or remove some on the command line) using @kbd{C-c C-d C-l}.
+you add or remove some on the command line) using @kbd{C-c C-d C-l}.
In recent IDLWAVE versions, the breakpoint line is highlighted when the
mouse is moved over it, and a tooltip pops up describing the break
@@ -2914,8 +2914,8 @@ configured in @code{idlwave-shell-mark-stop-line}.
@kindex C-c C-d C-c
In order to compile the current buffer under the IDLWAVE shell, press
@kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the
-current buffer and then sends the command @samp{.run path/to/file} to the
-shell. You can also execute @kbd{C-c C-d C-c} from the shell buffer, in
+current buffer and then sends the command @samp{.run path/to/file} to the
+shell. You can also execute @kbd{C-c C-d C-c} from the shell buffer, in
which case the most recently compiled buffer will be saved and
re-compiled.
@@ -3080,9 +3080,9 @@ halts.
@defopt idlwave-shell-electric-stop-color (Violet)
Default color of the stopped line overlay when in electric debug mode.
-@end defopt
+@end defopt
-@defopt idlwave-shell-electric-stop-line-face
+@defopt idlwave-shell-electric-stop-line-face
The face to use for the stopped line. Defaults to a face similar to the
modeline, with color @code{idlwave-shell-electric-stop-color}.
@end defopt
@@ -3188,14 +3188,14 @@ the expression printed by IDL.
@end defopt
@defopt idlwave-shell-output-face
-The face for @code{idlwave-shell-output-overlay}.
+The face for @code{idlwave-shell-output-overlay}.
Allows to choose the font, color and other properties for the most
recent output of IDL when examining an expression."
@end defopt
@defopt idlwave-shell-separate-examine-output (@code{t})
If non-@code{nil}, re-direct the output of examine commands to a special
-@file{*Examine*} buffer, instead of in the shell itself.
+@file{*Examine*} buffer, instead of in the shell itself.
@end defopt
@defopt idlwave-shell-max-print-length (200)
@@ -3249,17 +3249,17 @@ Both functions take a single string argument sharing the syntax of the
@lisp
(add-hook 'idlwave-shell-mode-hook
(lambda ()
- (idlwave-shell-define-key-both [s-down-mouse-2]
- (idlwave-shell-mouse-examine
+ (idlwave-shell-define-key-both [s-down-mouse-2]
+ (idlwave-shell-mouse-examine
"print, size(___,/DIMENSIONS)"))
(idlwave-shell-define-key-both [f9] (idlwave-shell-examine
"print, size(___,/DIMENSIONS)"))
- (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
+ (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
"print,size(___,/TNAME)"))
(idlwave-shell-define-key-both [f11] (idlwave-shell-examine
"help,___,/STRUCTURE"))))
-@end lisp
-
+@end lisp
+
@noindent Now pressing @key{f9}, or middle-mouse dragging with the
@key{SUPER} key depressed, will print the dimensions of the nearby or
highlighted expression. Pressing @key{f10} will give the type string,
@@ -3297,7 +3297,7 @@ of the package from version 3.0, during which time he overhauled almost
everything, modernized IDLWAVE with many new features, and developed the
manual.
-@item
+@item
@uref{mailto:jdsmith@@as.arizona.edu, @b{J.D. Smith}}, the current
maintainer, as of version 4.10, helped shape object method completion
and most new features introduced in versions 4.x, and introduced many
@@ -3364,7 +3364,7 @@ know about the accessible routines.
@menu
* Routine Definitions:: Where IDL Routines are defined.
* Routine Information Sources:: So how does IDLWAVE know about...
-* Catalogs::
+* Catalogs::
* Load-Path Shadows:: Routines defined in several places
* Documentation Scan:: Scanning the IDL Manuals
@end menu
@@ -3382,7 +3382,7 @@ know about the accessible routines.
several places:
@enumerate
-@item
+@item
@emph{Builtin routines} are defined inside IDL itself. The source code
of such routines is not available, but instead are learned about through
the IDL documentation.
@@ -3390,7 +3390,7 @@ the IDL documentation.
Routines which are @emph{part of the current program}, are defined in a
file explicitly compiled by the user. This file may or may not be
located on the IDL search path.
-@item
+@item
@emph{Library routines} are defined in files located on IDL's search
path. When a library routine is called for the first time, IDL will
find the source file and compile it dynamically. A special sub-category
@@ -3428,7 +3428,7 @@ directly with IDL in the form of an XML catalog which IDLWAVE scans.
Formerly, this list was created by scanning the IDL manuals to produce
the file @file{idlw-rinfo.el}.
-@item
+@item
IDLWAVE @emph{scans} all its @emph{buffers} in the current Emacs session
for routine definitions. This is done automatically when routine
information or completion is first requested by the user. Each new
@@ -3547,8 +3547,8 @@ later).
@end defopt
@menu
-* Library Catalogs::
-* User Catalog::
+* Library Catalogs::
+* User Catalog::
@end menu
@html
@@ -3636,7 +3636,7 @@ instead, including:
@itemize @bullet
@item The scan is internal to Emacs, so you don't need a working Perl
installation, as you do for library catalogs.
-@item Can be used to scan directories for which the user has no write
+@item Can be used to scan directories for which the user has no write
privileges.
@item Easy widget-based path selection.
@end itemize
@@ -3752,7 +3752,7 @@ Another way to find out if a specific routine has multiple definitions
on the load path is routine info display (@pxref{Routine Info}).
@node Documentation Scan, , Load-Path Shadows, Sources of Routine Info
-@appendixsec Documentation Scan
+@appendixsec Documentation Scan
@cindex @file{get_html_rinfo}
@cindex @file{idlw-rinfo.el}
@cindex Scanning the documentation
@@ -3920,7 +3920,7 @@ user is King!
(setq idlwave-main-block-indent 3)
(setq idlwave-end-offset -3)
(setq idlwave-continuation-indent 1)
-(setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
+(setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
; anchored at start of line.
(setq idlwave-surround-by-blank t) ; Turn on padding ops =,<,>
(setq idlwave-pad-keyword nil) ; Remove spaces for keyword '='
@@ -3987,10 +3987,10 @@ user is King!
;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
;; Some personal abbreviations
- (define-abbrev idlwave-mode-abbrev-table
+ (define-abbrev idlwave-mode-abbrev-table
(concat idlwave-abbrev-start-char "wb") "widget_base()"
(idlwave-keyword-abbrev 1))
- (define-abbrev idlwave-mode-abbrev-table
+ (define-abbrev idlwave-mode-abbrev-table
(concat idlwave-abbrev-start-char "on") "obj_new()"
(idlwave-keyword-abbrev 1))
))
@@ -4008,12 +4008,12 @@ user is King!
(add-hook 'idlwave-shell-mode-hook
(lambda ()
;; Set up some custom key and mouse examine commands
- (idlwave-shell-define-key-both [s-down-mouse-2]
- (idlwave-shell-mouse-examine
+ (idlwave-shell-define-key-both [s-down-mouse-2]
+ (idlwave-shell-mouse-examine
"print, size(___,/DIMENSIONS)"))
(idlwave-shell-define-key-both [f9] (idlwave-shell-examine
"print, size(___,/DIMENSIONS)"))
- (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
+ (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
"print,size(___,/TNAME)"))
(idlwave-shell-define-key-both [f11] (idlwave-shell-examine
"help,___,/STRUCTURE"))))
@@ -4066,7 +4066,7 @@ system. I am assuming that IDLWAVE has been installed in
sure you check the following things:
@itemize @bullet
-@item When you download the IDLWAVE distribution, make sure you save the
+@item When you download the IDLWAVE distribution, make sure you save the
file under the names @file{idlwave.tar.gz}.
@item M-TAB switches among running programs --- use Esc-TAB
instead.
@@ -4102,7 +4102,7 @@ customize the variable @code{idlwave-shell-automatic-electric-debug}
if you prefer not to enter electric debug on breakpoints@dots{} but
you really should try it before you disable it! You can also
customize this variable to enter debug mode when errors are
-encountered.
+encountered.
@item @strong{I get errors like @samp{Searching for program: no such
file or directory, idl} when attempting to start the IDL shell.}
@@ -4141,7 +4141,7 @@ in compiled lisp files. Presumably, you kept the original .elc files in
place, and this is the source of the error. If you recompile (or just
"make; make install") from source, it should resolve this problem.
Another option is to recompile the @file{idlw*.el} files by hand using
-@kbd{M-x byte-compile-file}.
+@kbd{M-x byte-compile-file}.
@item @strong{@kbd{M-@key{TAB}} doesn't complete words, it switches
windows on my desktop.}
@@ -4266,7 +4266,7 @@ You have a mismatch between your help index and the HTML help package
you downloaded. You need to ensure you download a ``downgrade kit'' if
you are using anything older than the latest HTML help package. A new
help package appears with each IDL release (assuming the documentation
-is updated).
+is updated).
Starting with IDL 6.2, the HTML help and its catalog are
distributed with IDL, and so should never be inconsistent.
diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in
index 1e497fe309f..0edaf3db3d6 100644
--- a/doc/misc/makefile.w32-in
+++ b/doc/misc/makefile.w32-in
@@ -100,123 +100,127 @@ info.dvi: $(INFOSOURCES)
$(ENVADD) $(TEXI2DVI) $(srcdir)/info.texi
-$(infodir)/ccmode: cc-mode.texi
+$(infodir)/ccmode: cc-mode.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) cc-mode.texi
-cc-mode.dvi: cc-mode.texi
+cc-mode.dvi: cc-mode.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/cc-mode.texi
-$(infodir)/ada-mode: ada-mode.texi
+$(infodir)/ada-mode: ada-mode.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) ada-mode.texi
-ada-mode.dvi: ada-mode.texi
+ada-mode.dvi: ada-mode.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/ada-mode.texi
-$(infodir)/pcl-cvs: pcl-cvs.texi
+$(infodir)/pcl-cvs: pcl-cvs.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) pcl-cvs.texi
-pcl-cvs.dvi: pcl-cvs.texi
+pcl-cvs.dvi: pcl-cvs.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/pcl-cvs.texi
-$(infodir)/eshell: eshell.texi
+$(infodir)/eshell: eshell.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) eshell.texi
-eshell.dvi: eshell.texi
+eshell.dvi: eshell.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/eshell.texi
-$(infodir)/cl: cl.texi
+$(infodir)/cl: cl.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) cl.texi
-cl.dvi: cl.texi
+cl.dvi: cl.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/cl.texi
-$(infodir)/dbus: dbus.texi
+$(infodir)/dbus: dbus.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) dbus.texi
-dbus.dvi: dbus.texi
+dbus.dvi: dbus.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/dbus.texi
-$(infodir)/dired-x: dired-x.texi
+$(infodir)/dired-x: dired-x.texi $(emacsdir)/emacsver.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) dired-x.texi
-dired-x.dvi: dired-x.texi
+dired-x.dvi: dired-x.texi $(emacsdir)/emacsver.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/dired-x.texi
-$(infodir)/ediff: ediff.texi
+$(infodir)/ediff: ediff.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) ediff.texi
-ediff.dvi: ediff.texi
+ediff.dvi: ediff.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/ediff.texi
-$(infodir)/flymake: flymake.texi
+$(infodir)/flymake: flymake.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) flymake.texi
-flymake.dvi: flymake.texi
+flymake.dvi: flymake.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/flymake.texi
-$(infodir)/forms: forms.texi
+$(infodir)/forms: forms.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) forms.texi
-forms.dvi: forms.texi
+forms.dvi: forms.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/forms.texi
# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
-$(infodir)/gnus: gnus.texi
+$(infodir)/gnus: gnus.texi gnus-overrides.texi message.texi emacs-mime.texi \
+ sieve.texi pgg.texi sasl.texi gnus-news.texi gnus-faq.texi \
+ doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) gnus.texi
-gnus.dvi: gnus.texi
+gnus.dvi: gnus.texi gnus-overrides.texi message.texi emacs-mime.texi \
+ sieve.texi pgg.texi sasl.texi gnus-news.texi gnus-faq.texi \
+ doclicense.texi
sed -e "/@iflatex/,/@end iflatex/d" $(srcdir)/gnus.texi > gnustmp.texi
$(ENVADD) $(TEXI2DVI) gnustmp.texi
cp gnustmp.dvi $*.dvi
rm gnustmp.*
#
-$(infodir)/message: message.texi
+$(infodir)/message: message.texi gnus-overrides.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) message.texi
-message.dvi: message.texi
+message.dvi: message.texi gnus-overrides.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi
#
-$(infodir)/emacs-mime: emacs-mime.texi
+$(infodir)/emacs-mime: emacs-mime.texi gnus-overrides.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) --enable-encoding emacs-mime.texi
-emacs-mime.dvi: emacs-mime.texi
+emacs-mime.dvi: emacs-mime.texi gnus-overrides.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi
#
-$(infodir)/sieve: sieve.texi
+$(infodir)/sieve: sieve.texi gnus-overrides.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) sieve.texi
-sieve.dvi: sieve.texi
+sieve.dvi: sieve.texi gnus-overrides.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi
#
-$(infodir)/pgg: pgg.texi
+$(infodir)/pgg: pgg.texi gnus-overrides.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) pgg.texi
-pgg.dvi: pgg.texi
+pgg.dvi: pgg.texi gnus-overrides.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.texi
-$(infodir)/mh-e: mh-e.texi
+$(infodir)/mh-e: mh-e.texi doclicense.texi gpl.texi
$(MAKEINFO) $(MAKEINFO_OPTS) mh-e.texi
-mh-e.dvi: mh-e.texi
+mh-e.dvi: mh-e.texi doclicense.texi gpl.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/mh-e.texi
-$(infodir)/reftex: reftex.texi
+$(infodir)/reftex: reftex.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) reftex.texi
-reftex.dvi: reftex.texi
+reftex.dvi: reftex.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/reftex.texi
-$(infodir)/remember: remember.texi
+$(infodir)/remember: remember.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) remember.texi
-remember.dvi: remember.texi
+remember.dvi: remember.texi doclicense.texix
$(ENVADD) $(TEXI2DVI) $(srcdir)/remember.texi
-$(infodir)/sasl: sasl.texi
+$(infodir)/sasl: sasl.texi gnus-overrides.texi
$(MAKEINFO) $(MAKEINFO_OPTS) sasl.texi
-sasl.dvi: sasl.texi
+sasl.dvi: sasl.texi gnus-overrides.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/sasl.texi
-$(infodir)/sc: sc.texi
+$(infodir)/sc: sc.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) sc.texi
-sc.dvi: sc.texi
+sc.dvi: sc.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/sc.texi
-$(infodir)/vip: vip.texi
+$(infodir)/vip: vip.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) vip.texi
-vip.dvi: vip.texi
+vip.dvi: vip.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/vip.texi
-$(infodir)/viper: viper.texi
+$(infodir)/viper: viper.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) viper.texi
-viper.dvi: viper.texi
+viper.dvi: viper.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/viper.texi
-$(infodir)/widget: widget.texi
+$(infodir)/widget: widget.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) widget.texi
-widget.dvi: widget.texi
+widget.dvi: widget.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi
$(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi
@@ -224,57 +228,56 @@ $(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi
faq.dvi: faq.texi $(emacsdir)/emacsver.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi
-$(infodir)/autotype: autotype.texi
+$(infodir)/autotype: autotype.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) autotype.texi
-autotype.dvi: autotype.texi
+autotype.dvi: autotype.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi
-$(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi
+$(infodir)/calc: calc.texi $(emacsdir)/emacsver.texi gpl.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) calc.texi
-
-calc.dvi: calc.texi $(emacsdir)/emacsver.texi
+calc.dvi: calc.texi $(emacsdir)/emacsver.texi gpl.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi
# This is produced with --no-split to avoid making files whose
# names clash on DOS 8+3 filesystems
-$(infodir)/idlwave: idlwave.texi
+$(infodir)/idlwave: idlwave.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) --no-split idlwave.texi
-idlwave.dvi: idlwave.texi
+idlwave.dvi: idlwave.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/idlwave.texi
-$(infodir)/eudc: eudc.texi
+$(infodir)/eudc: eudc.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) eudc.texi
-eudc.dvi: eudc.texi
+eudc.dvi: eudc.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/eudc.texi
-$(infodir)/ebrowse: ebrowse.texi
+$(infodir)/ebrowse: ebrowse.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) ebrowse.texi
-ebrowse.dvi: ebrowse.texi
+ebrowse.dvi: ebrowse.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi
-$(infodir)/woman: woman.texi
+$(infodir)/woman: woman.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) woman.texi
-woman.dvi: woman.texi
+woman.dvi: woman.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi
-$(infodir)/speedbar: speedbar.texi
+$(infodir)/speedbar: speedbar.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) speedbar.texi
-speedbar.dvi: speedbar.texi
+speedbar.dvi: speedbar.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/speedbar.texi
-$(infodir)/tramp: tramp.texi
+$(infodir)/tramp: tramp.texi trampver.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) tramp.texi
-tramp.dvi: tramp.texi
+tramp.dvi: tramp.texi trampver.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/tramp.texi
-$(infodir)/ses: ses.texi
+$(infodir)/ses: ses.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) ses.texi
-ses.dvi: ses.texi
+ses.dvi: ses.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/ses.texi
-$(infodir)/smtpmail: smtpmail.texi
+$(infodir)/smtpmail: smtpmail.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) smtpmail.texi
-smtpmail.dvi: smtpmail.texi
+smtpmail.dvi: smtpmail.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/smtpmail.texi
$(infodir)/org: org.texi
@@ -282,14 +285,14 @@ $(infodir)/org: org.texi
org.dvi: org.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi
-$(infodir)/url: url.texi
+$(infodir)/url: url.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) url.texi
-url.dvi: url.texi
+url.dvi: url.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi
-$(infodir)/newsticker: newsticker.texi
+$(infodir)/newsticker: newsticker.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) newsticker.texi
-newsticker.dvi: newsticker.texi
+newsticker.dvi: newsticker.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/newsticker.texi
$(infodir)/nxml-mode: nxml-mode.texi
@@ -297,14 +300,14 @@ $(infodir)/nxml-mode: nxml-mode.texi
nxml-mod.dvi: nxml-mode.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/nxml-mode.texi
-$(infodir)/rcirc: rcirc.texi
+$(infodir)/rcirc: rcirc.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) rcirc.texi
-rcirc.dvi: rcirc.texi
+rcirc.dvi: rcirc.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi
-$(infodir)/erc: erc.texi
+$(infodir)/erc: erc.texi gpl.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) erc.texi
-erc.dvi: erc.texi
+erc.dvi: erc.texi gpl.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/erc.texi
$(infodir)/ert: ert.texi
@@ -322,9 +325,9 @@ $(infodir)/mairix-el: mairix-el.texi
mairix-el.dvi: mairix-el.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/mairix-el.texi
-$(infodir)/auth: auth.texi
+$(infodir)/auth: auth.texi gnus-overrides.texi
$(MAKEINFO) $(MAKEINFO_OPTS) auth.texi
-auth.dvi: auth.texi
+auth.dvi: auth.texi gnus-overrides.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/auth.texi
$(infodir)/eieio: eieio.texi
@@ -337,14 +340,14 @@ $(infodir)/ede: ede.texi
ede.dvi: ede.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/ede.texi
-$(infodir)/semantic: semantic.texi
+$(infodir)/semantic: semantic.texi sem-user.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) semantic.texi
-semantic.dvi: semantic.texi
+semantic.dvi: semantic.texi sem-user.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/semantic.texi
-$(infodir)/edt: edt.texi
+$(infodir)/edt: edt.texi doclicense.texi
$(MAKEINFO) $(MAKEINFO_OPTS) edt.texi
-edt.dvi: edt.texi
+edt.dvi: edt.texi doclicense.texi
$(ENVADD) $(TEXI2DVI) $(srcdir)/edt.texi
mostlyclean:
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index 48d0028e452..774bf180266 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -904,7 +904,7 @@ happen---Message will encode non-@acronym{ASCII} domain names in @code{From},
Until @acronym{IDNA} becomes more well known, Message queries you
whether @acronym{IDNA} encoding of the domain name really should
occur. Some users might not be aware that domain names can contain
-non-@acronym{ASCII} now, so this gives them a safety net if they accidently
+non-@acronym{ASCII} now, so this gives them a safety net if they accidentally
typed a non-@acronym{ASCII} domain name.
@vindex message-use-idna
@@ -1974,7 +1974,7 @@ that look like:
Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes:
@end example
-@c FIXME: Add `message-insert-formated-citation-line' and
+@c FIXME: Add `message-insert-formatted-citation-line' and
@c `message-citation-line-format'
Point will be at the beginning of the body of the message when this
@@ -2120,7 +2120,7 @@ follows this line--} by default.
@item message-directory
@vindex message-directory
-Directory used by many mailey things. The default is @file{~/Mail/}.
+Directory used by many mailish things. The default is @file{~/Mail/}.
All other mail file variables are derived from @code{message-directory}.
@item message-auto-save-directory
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 34a4ba4f8f3..a6fae5e216f 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -7219,7 +7219,7 @@ will be made in the agenda:
#+CATEGORY: Holiday
%%(org-calendar-holiday) ; special function for holiday names
#+CATEGORY: Ann
-%%(org-anniversary 1956 5 14)@footnote{@code{org-anniversary} is just like @code{diary-anniversary}, but the argument order is allways according to ISO and therefore independent of the value of @code{calendar-date-style}.} Arthur Dent is %d years old
+%%(org-anniversary 1956 5 14)@footnote{@code{org-anniversary} is just like @code{diary-anniversary}, but the argument order is always according to ISO and therefore independent of the value of @code{calendar-date-style}.} Arthur Dent is %d years old
%%(org-anniversary 1869 10 2) Mahatma Gandhi would be %d years old
@end example
@@ -7797,8 +7797,8 @@ Interactively select another agenda view and append it to the current view.
@item o
Delete other windows.
@c
-@orgcmdkskc{v d,d,org-aganda-day-view}
-@xorgcmdkskc{v w,w,org-aganda-day-view}
+@orgcmdkskc{v d,d,org-agenda-day-view}
+@xorgcmdkskc{v w,w,org-agenda-day-view}
@xorgcmd{v m,org-agenda-month-view}
@xorgcmd{v y,org-agenda-month-year}
@xorgcmd{v SPC,org-agenda-reset-view}
@@ -11399,16 +11399,16 @@ a file is retrieved with @code{org-publish-find-date}.
@tab Should sorting be case-sensitive? Default @code{nil}.
@item @code{:sitemap-file-entry-format}
-@tab With this option one can tell how a sitemap's entry is formated in the
+@tab With this option one can tell how a sitemap's entry is formatted in the
sitemap. This is a format string with some escape sequences: @code{%t} stands
for the title of the file, @code{%a} stands for the author of the file and
@code{%d} stands for the date of the file. The date is retrieved with the
-@code{org-publish-find-date} function and formated with
+@code{org-publish-find-date} function and formatted with
@code{org-publish-sitemap-date-format}. Default @code{%t}.
@item @code{:sitemap-date-format}
@tab Format string for the @code{format-time-string} function that tells how
-a sitemap entry's date is to be formated. This property bypasses
+a sitemap entry's date is to be formatted. This property bypasses
@code{org-publish-sitemap-date-format} which defaults to @code{%Y-%m-%d}.
@item @code{:sitemap-sans-extension}
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi
index f12942da2d3..d4f82b6b3a7 100644
--- a/doc/misc/pcl-cvs.texi
+++ b/doc/misc/pcl-cvs.texi
@@ -70,7 +70,7 @@ customize-group RET pcl-cvs @key{RET}} and to look at the documentation strings
of the various commands and major modes for further information.
@c This manual is updated to release 2.5 of PCL-CVS.
-@insertcopying
+@insertcopying
@end ifnottex
@@ -1275,7 +1275,7 @@ will be called as @samp{cvs -d @var{cvs-cvsroot}@dots{}}. This can be
useful if your site has several repositories.
@item log-edit-require-final-newline
-@c wordy to avoid unhderfull hbox
+@c wordy to avoid underfull hbox
When you enter a log message by typing into the
@samp{*cvs-commit-message*} buffer, PCL-CVS normally automatically
inserts a trailing newline, unless there already is one. This behavior
diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi
index 7a363523aa6..e1631bcacc8 100644
--- a/doc/misc/sem-user.texi
+++ b/doc/misc/sem-user.texi
@@ -547,7 +547,7 @@ reparsed regardless of their size.
@end deffn
@deffn Option semantic-idle-scheduler-no-working-message
-If non-@code{nil}, disable display of working messages whie reparsing.
+If non-@code{nil}, disable display of working messages while reparsing.
@end deffn
@deffn Option semantic-idle-scheduler-working-in-modeline-flag
@@ -880,7 +880,7 @@ command, like this:
@end example
@end defun
-These commands are often more accurate than than the @code{find-tag}
+These commands are often more accurate than the @code{find-tag}
command (@pxref{Tags,,,emacs,Emacs manual}), because the Semantic
Analyzer is context-sensitive.
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi
index ad6159feb1a..dcfff1fcb96 100644
--- a/doc/misc/semantic.texi
+++ b/doc/misc/semantic.texi
@@ -421,7 +421,7 @@ local variables, and tag lists in scope for various reasons, such as
C++ using statements.
@item semanticdb-typecache.el
-The typecache is part of @code{semanticdb}, but is used primarilly by
+The typecache is part of @code{semanticdb}, but is used primarily by
the analyzer to look up datatypes and complex names. The typecache is
bound across source files and builds a master lookup table for data
type names.
@@ -613,7 +613,7 @@ Emacs Lisp. It is an LALR parser suitable for complex languages.
@c LocalWords: multitable NAvigaTOR noindent nomedian nonterm noselect
@c LocalWords: nosnarf obarray OLE OO outputfile paren parsetable POINT's
@c LocalWords: popup positionalonly positiononly positionormarker pre
-@c LocalWords: printf printindex Programmatically pt punctuations quotemode
+@c LocalWords: printf printindex Programmatically pt quotemode
@c LocalWords: ref regex regexp Regexps reparse resetfile samp sb
@c LocalWords: scopestart SEmantic semanticdb setfilename setq
@c LocalWords: settitle setupfunction sexp sp SPC speedbar speedbar's
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index d9739b93925..8300e6511a6 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -446,7 +446,7 @@ list.
execute when starting SES mode for a buffer).
The variable @code{safe-functions} is a list of possibly-unsafe
-functions to be treated as safe when analysing formulas and printers.
+functions to be treated as safe when analyzing formulas and printers.
@xref{Virus protection}. Before customizing @code{safe-functions},
think about how much you trust the person who's suggesting this
change. The value @code{t} turns off all anti-virus protection. A
diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi
index 1d4bbbff4ac..854be0d0012 100644
--- a/doc/misc/smtpmail.texi
+++ b/doc/misc/smtpmail.texi
@@ -233,7 +233,7 @@ least one of the following external tools are installed:
@enumerate
@item
-The GNUTLS command line tool @samp{gnutls-cli}, you can get it from
+The GnuTLS command line tool @samp{gnutls-cli}, you can get it from
@url{http://www.gnu.org/software/gnutls/}. This is the recommended
tool, mainly because it can verify the server certificates.
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 0accc6fac43..e2c2594b66e 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -3180,7 +3180,7 @@ names:
'("^/xy" . "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}"))
@end lisp
-This shortens the file openening command to @kbd{C-x C-f /xy
+This shortens the file opening command to @kbd{C-x C-f /xy
@key{RET}}. The disadvantage is, again, that you cannot edit the file
name, because the expansion happens after entering the file name only.
@@ -3573,7 +3573,7 @@ The verbosity levels are
When @code{tramp-verbose} is greater than or equal to 4, the messages
are also written into a @value{tramp} debug buffer. This debug buffer
-is useful for analysing problems; sending a @value{tramp} bug report
+is useful for analyzing problems; sending a @value{tramp} bug report
should be done with @code{tramp-verbose} set to a verbosity level of at
least 6 (@pxref{Bug Reports}).
@@ -3704,4 +3704,4 @@ for @value{emacsothername}.
@c host and then send commands to it.
@c * Use `filename' resp. `file name' consistently.
@c * Use `host' resp. `machine' consistently.
-@c * Consistent small or capitalized words especially in menues.
+@c * Consistent small or capitalized words especially in menus.
diff --git a/etc/AUTHORS b/etc/AUTHORS
index f8ab274e136..b7929dbf453 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -31,6 +31,8 @@ Adam Sjøgren: changed spam.el blink.xpm braindamaged.xpm cry.xpm dead.xpm
reverse-smile.xpm sad.xpm smile.xpm wry.xpm xterm.c gnus-html.el
gnus-start.el gnus-sum.el gnus.el gtkutil.c shr.el xterm.h
+Adam W: changed mail-source.el
+
Aditya Siram: changed ob.el
Adrian Aichner: changed erc-log.el erc.el erc-autojoin.el erc-backend.el
@@ -193,9 +195,9 @@ Andreas Politz: changed editfns.c elp.el ido.el term.el
Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el
Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c alloc.c
- process.c coding.c files.el xterm.c editfns.c fns.c keyboard.c print.c
+ process.c coding.c files.el xterm.c editfns.c keyboard.c fns.c print.c
emacs.c eval.c fileio.c lread.c sysdep.c dired.el xfns.c buffer.c
- and 568 other files
+ and 571 other files
Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el
@@ -497,8 +499,8 @@ Chong Yidong: wrote compile-tests.el dichromacy-theme.el
and co-wrote longlines.el tango-dark-theme.el tango-theme.el
and changed xdisp.c simple.el files.el display.texi frames.texi
cus-edit.el files.texi keyboard.c startup.el package.el custom.el
- emacs.texi xterm.c subr.el faces.el image.c mouse.el misc.texi
- text.texi progmodes/compile.el xfns.c and 826 other files
+ emacs.texi xterm.c subr.el text.texi faces.el image.c mouse.el
+ misc.texi progmodes/compile.el xfns.c and 830 other files
Chris Chase: co-wrote idlw-shell.el idlwave.el
@@ -561,10 +563,11 @@ Christoph Bauer: changed configure.in
Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in
qp.el
-Christoph Scholtes: changed makefile.w32-in progmodes/python.el INSTALL
- README.W32 maintaining.texi zipdist.bat admin.el bookmark.el
- configure.bat cua-base.el help-mode.el help.el ido.el makedist.bat
- menu.c minibuf.c process.c progmodes/grep.el stdint.h vc.el window.c
+Christoph Scholtes: changed makefile.w32-in progmodes/python.el stdint.h
+ INSTALL README.W32 maintaining.texi zipdist.bat admin.el bookmark.el
+ config.nt configure.bat control.texi cua-base.el help-mode.el help.el
+ ido.el makedist.bat menu.c minibuf.c process.c progmodes/grep.el
+ and 3 other files
Christoph Wedler: wrote antlr-mode.el
and changed format.el gnus-art.el gnus-picon.el message.el register.el
@@ -759,9 +762,11 @@ David Edmondson: changed message.el gnus-cite.el imap.el mm-view.el
mml2015.el nnfolder.el nnimap.el nnml.el
David Engster: wrote mairix.el nnmairix.el
-and changed gnus.texi registry.el gnus-msg.el bovine-grammar.el
- display.texi files.el gnus-registry.el gnus-sum.el hideshow.el
- mairix-el.texi mm-view.el mml-smime.el nnimap.el
+and changed gnus.texi registry.el gnus-msg.el insert.el
+ analyze/complete.el base.el bovine-grammar.el cedet/srecode.el
+ cpp-root.el custom.el db-find.el db-typecache.el db.el dictionary.el
+ display.texi document.el ede-grammar.el files.el generic.el
+ gnus-registry.el gnus-sum.el and 21 other files
David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
calc-comb.el calc-cplx.el calc-embed.el calc-ext.el calc-fin.el
@@ -908,7 +913,7 @@ Derek Upham: changed nxml-mode.el
Detlev Zundel: wrote re-builder.el
-Devon Sean McCullough: changed comint.el
+Devon Sean Mccullough: changed comint.el
Dhruva Krishnamurthy: changed makefile.w32-in emacsclient.c fontset.c
sound.c w32proc.c
@@ -940,8 +945,8 @@ Dirk-Jan C. Binnema: changed org-agenda.el
Dmitri Paduchikh: changed advice.el
Dmitry Antipov: changed alloc.c keyboard.c buffer.c ccl.c editfns.c
- emacs.c fontset.c lisp.h lread.c lwlib-Xaw.c lwlib-Xm.c lwlib-utils.c
- lwlib.c macmenu.c w32menu.c xlwmenu.c xmenu.c
+ emacs.c fontset.c keymap.c lisp.h lread.c lwlib-Xaw.c lwlib-Xm.c
+ lwlib-utils.c lwlib.c macmenu.c w32menu.c xdisp.c xlwmenu.c xmenu.c
Dmitry Bolshakov: changed hideshow.el
@@ -1018,8 +1023,8 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c] bidi.c rxvt.el
tty-colors.el
and changed makefile.w32-in msdos.c xdisp.c Makefile.in files.el
config.bat fileio.c msdos.h simple.el mainmake.v2 sed1v2.inp info.el
- rmail.el w32.c display.texi process.c pc-win.el startup.el dired.c
- dispextern.h emacs.c and 695 other files
+ display.texi rmail.el w32.c process.c pc-win.el startup.el dispextern.h
+ dispnew.c dired.c and 697 other files
Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el
gnus.el
@@ -1162,7 +1167,8 @@ Fabian Ezequiel Gallina: changed progmodes/python.el
Fabrice Bauzac: changed dired-aux.el
-Fabrice Popineau: changed etags.c fileio.c gnus-cache.el
+Fabrice Popineau: changed config.nt etags.c fileio.c gnus-cache.el
+ inttypes.h lisp.h ms-w32.h nmake.defs regex.c stdint.h w32.c
Fan Kai: changed esh-arg.el
@@ -1320,8 +1326,8 @@ Giuseppe Scrivano: changed browse-url.el buffer.c configure.in sysdep.c
Glenn Morris: wrote check-declare.el f90.el vc-bzr.el
and changed Makefile.in configure.in calendar.el diary-lib.el rmail.el
files.el cal-menu.el appt.el cal-hebrew.el fortran.el bytecomp.el
- holidays.el make-dist calendar.texi emacs.texi sed1v2.inp simple.el
- cal-islam.el cal-bahai.el startup.el ack.texi and 1202 other files
+ holidays.el make-dist calendar.texi emacs.texi simple.el sed1v2.inp
+ cal-islam.el cal-bahai.el startup.el ack.texi and 1208 other files
Glynn Clements: wrote gamegrid.el snake.el tetris.el
@@ -1552,7 +1558,7 @@ Jan Djärv: wrote dnd.el dynamic-setting.el x-dnd.el
and changed gtkutil.c xterm.c xfns.c configure.in xmenu.c xterm.h
gtkutil.h x-win.el keyboard.c Makefile.in nsterm.m frames.texi
xsettings.c frame.c emacs.c xselect.c process.c xlwmenu.c config.in
- cus-start.el xresources.texi and 302 other files
+ cus-start.el nsfns.m and 302 other files
Jan Moringen: co-wrote srecode/cpp.el tango-dark-theme.el tango-theme.el
and changed dbus.el dbus.texi dbusbind.c eieio.el log-edit.el zeroconf.el
@@ -1734,10 +1740,10 @@ Joel Ray Holveck: changed gnus-sum.el info.el
Joev Dubach: changed nntp.el
Johan Bockgård: changed erc.el cl-macs.el erc-backend.el erc-button.el
- erc-match.el browse-url.el bytecomp.el custom.el display.texi
+ erc-match.el xdisp.c browse-url.el bytecomp.el custom.el display.texi
erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el
- help-fns.el icomplete.el mouse-sel.el simple.el subr.el xdisp.c
- xterm.el and 48 other files
+ help-fns.el icomplete.el mouse-sel.el simple.el subr.el xterm.el
+ and 48 other files
Johan Euphrosine: changed ibuf-ext.el
@@ -1863,8 +1869,8 @@ and changed ob-octave.el
Juanma Barranquero: wrote emacs-lock.el
and changed makefile.w32-in subr.el w32fns.c files.el server.el bs.el
emacsclient.c help-fns.el faces.el org.el simple.el buffer.c xdisp.c
- keyboard.c process.c w32term.c desktop.el ido.el eval.c mule-cmds.el
- w32.c and 1036 other files
+ keyboard.c process.c w32term.c window.c desktop.el ido.el allout.el
+ eval.c and 1084 other files
Juergen Kreileder: changed imap.el nnimap.el
@@ -1895,7 +1901,7 @@ and changed info.el isearch.el simple.el replace.el progmodes/grep.el
dired-aux.el progmodes/compile.el dired.el startup.el faces.el files.el
display.texi menu-bar.el descr-text.el bindings.el cus-edit.el
image-mode.el ispell.el man.el dired-x.el log-view.el
- and 334 other files
+ and 335 other files
Justin Bogner: changed fortune.el
@@ -2001,7 +2007,7 @@ Keith Gabryelski: wrote hexl.c hexl.el
Keith Packard: changed font.c
Ken Brown: changed configure.in cygwin.h sheap.c browse-url.el gmalloc.c
- vm-limit.c dired.c emacs.c loadup.el mem-limits.h unexcw.c
+ vm-limit.c dired.c emacs.c gdb-mi.el loadup.el mem-limits.h unexcw.c
Ken Brush: changed emacsclient.c
@@ -2169,7 +2175,8 @@ and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el
and changed gnus.texi gnus-cite.el pop3.el gnus-xmas.el smtpmail.el
proto-stream.el auth-source.el xml.c dired.el editfns.c nnultimate.el
subr.el gnus-nocem.el gnutls.c imap.el nnkiboze.el nnrss.el
- nnslashdot.el spam-report.el gnus-cus.el simple.el and 205 other files
+ nnslashdot.el spam-report.el url-http.el gnus-cus.el
+ and 206 other files
Lars Rasmusson: changed ebrowse.c
@@ -2323,7 +2330,7 @@ Mark Hood: changed gnus-uu.el
Mark Lambert: changed process.c process.h
-Mark Lillibridge: changed mail-utils.el rmail.el
+Mark Lillibridge: changed rmail.el mail-utils.el unrmail.el
Mark Mitchell: changed font-lock.el
@@ -2390,7 +2397,7 @@ Martin Neitzel: changed supercite.el
Martin Pohlack: changed iimage.el pc-select.el
Martin Rudalics: changed window.el window.c windows.texi frame.c buffer.c
- frame.el help.el cus-edit.el cus-start.el files.el window.h
+ help.el window.h cus-start.el frame.el cus-edit.el files.el
buffers.texi dired.el subr.el add-log.el xdisp.c font-lock.el
help-fns.el lisp.h mouse.el wid-edit.el and 135 other files
@@ -2479,7 +2486,7 @@ and changed tramp.texi dbusbind.c trampver.texi dbus.texi trampver.el
ange-ftp.el tramp-fish.el files.el tramp-imap.el files.texi Makefile.in
tramp-vc.el tramp-util.el tramp-uu.el simple.el auth-source.el
dired-aux.el configure.in em-unix.el fileio.c keyboard.c
- and 64 other files
+ and 65 other files
Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h
unexec.c
@@ -2581,6 +2588,8 @@ Mikael Fornius: changed org.el org-habit.el
Mike Haertel: changed 7300.h
+Mike Kazantsev: changed erc-dcc.el
+
Mike Kupfer: changed mh-e.el mh-utils.el
Mike Long: changed b2m.c make-dist make-mode.el netbsd.h view.el vms.h
@@ -2804,9 +2813,9 @@ and changed imenu.el make-mode.el
Paul Eggert: wrote rcs2log vcdiff
and co-wrote cal-dst.el
and changed lisp.h Makefile.in editfns.c alloc.c xdisp.c configure.in
- image.c fileio.c process.c fns.c xterm.c keyboard.c data.c dispextern.h
+ fileio.c image.c process.c fns.c xterm.c dispextern.h keyboard.c data.c
lread.c sysdep.c xfns.c eval.c emacs.c config.in print.c
- and 563 other files
+ and 564 other files
Paul Fisher: changed fns.c
@@ -3356,9 +3365,9 @@ Stefan Monnier: wrote bibtex-style.el bzrmerge.el css-mode.el
pcvs-util.el reveal.el smerge-mode.el smie.el vc-mtn.el
and co-wrote font-lock.el
and changed vc.el subr.el simple.el lisp.h keyboard.c files.el
- Makefile.in bytecomp.el keymap.c xdisp.c pcvs.el alloc.c
- progmodes/compile.el newcomment.el vc-hooks.el tex-mode.el buffer.c
- sh-script.el eval.c fileio.c fill.el and 1030 other files
+ bytecomp.el Makefile.in keymap.c progmodes/compile.el xdisp.c pcvs.el
+ alloc.c newcomment.el vc-hooks.el tex-mode.el buffer.c fileio.c
+ sh-script.el eval.c fill.el and 1032 other files
Stefan Reichör: changed gnus-agent.el
@@ -3508,7 +3517,7 @@ and changed subword.el image-mode.el Makefile.in cc-cmds.el emacsbug.el
gnus-art.el gnus.texi nnimap.el files.el gnus-sum.el info.el
org-footnote.el org.el reftex-ref.el simple.el tsdh-dark-theme.el
tsdh-light-theme.el ack.texi bindings.el bookmark.el cc-mode.el
- and 21 other files
+ and 22 other files
Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el
@@ -3520,10 +3529,10 @@ Teemu Likonen: changed dired.el gnus-agent.el message.el
Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-sync.el
gnus-tests.el gnutls.el registry.el spam-report.el url-future.el
-and changed spam.el gnus.el nnimap.el gnus.texi gnus-sum.el auth.texi
- gnus-util.el netrc.el gnus-start.el gnutls.c message.el spam-stat.el
- encrypt.el nnmail.el imap.el mail-source.el Makefile.in gnus-encrypt.el
- gnus-html.el gnus-int.el gnutls.h and 97 other files
+and changed spam.el gnus.el nnimap.el gnus.texi gnus-sum.el gnus-util.el
+ auth.texi netrc.el gnus-start.el gnutls.c message.el spam-stat.el
+ encrypt.el nnir.el nnmail.el imap.el mail-source.el nnmairix.el
+ Makefile.in gnus-encrypt.el gnus-html.el and 97 other files
Terje Rosten: changed xfns.c version.el xterm.c xterm.h
@@ -3839,8 +3848,8 @@ Yann Dirson: changed imenu.el
Yann Hodique: changed rcirc.el
-Yavor Doganov: changed configure.in Info-gnustep.plist emacs.1 etags.1
- make-dist nsfont.m
+Yavor Doganov: changed configure.in Info-gnustep.plist Makefile.in
+ emacs.1 etags.1 make-dist nsfont.m
Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 48b1acacbf9..758025c6c3e 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,14 @@
+2011-12-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * NEWS: Mention auth-source twice in connection with smtpmail to
+ clarify that smtpmail uses auth-source.
+
+2011-11-20 Bill Wohler <wohler@newt.com>
+
+ Release MH-E version 8.3.1.
+
+ * NEWS, MH-E-NEWS: Update for MH-E release 8.3.1.
+
2011-11-14 Juanma Barranquero <lekktu@gmail.com>
* MAILINGLISTS: Fix typo.
@@ -1413,7 +1424,7 @@
2008-02-01 Kenichi Handa <handa@m17n.org>
- * HELLO: Remove non-unicode character from Tibetan text.
+ * HELLO: Remove non-Unicode character from Tibetan text.
2008-02-01 Miles Bader <miles@gnu.org>
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS
index 04084b58488..14d2a22e9f9 100644
--- a/etc/ERC-NEWS
+++ b/etc/ERC-NEWS
@@ -1279,7 +1279,7 @@ in XEmacs.
** The module system has again changed a lot. You can now customize
the variable `erc-modules' and define once and for all which
extension modules you want to use. This unfortunately may require
- you to change your current erc initialisation code a bit, if you
+ you to change your current erc initialization code a bit, if you
have some existing customizations. On the other hand, this change
makes the configuration of extension modules a lot easier for new
users. In theory, you should be able to configure all aspects of
diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS
index 2e93b5c3f42..f02b795a6b9 100644
--- a/etc/MH-E-NEWS
+++ b/etc/MH-E-NEWS
@@ -3,6 +3,11 @@
Copyright (C) 2001-2011 Free Software Foundation, Inc.
See the end of the file for license conditions.
+* Changes in MH-E 8.3.1
+
+This version of MH-E fixes typos in the documentation and is packaged
+with GNU Emacs 24.1
+
* Changes in MH-E 8.3
In 2010, the version control system (VCS) of Emacs was upgraded from
@@ -27,8 +32,6 @@ from SourceForge and explicitly load MH-E will have to be change their
`load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the
addition of "trunk."
-This version of MH-E is packaged with GNU Emacs 24.1
-
** Bug Fixes in MH-E 8.3
*** Make mh-showing a legitimate minor mode
@@ -1581,7 +1584,7 @@ message (closes SF #701756).
MH-E now supports several spam filters including Bogofilter,
SpamProbe, and SpamAssassin. Spam that is mistakenly considered to be
good mail can be reclassified as spam with "J b (mh-junk-blacklist)".
-Conversely, good mail that is accidently considered to be spam can be
+Conversely, good mail that is accidentally considered to be spam can be
reclassified with "J w (mh-junk-whitelist)" (closes SF #669518).
If a message is blacklisted, and `mh-junk-mail-folder' is a string,
@@ -2666,7 +2669,7 @@ consistent mnemonics were realized that should make it easier to
remember key bindings.
Added new sub-keymaps for folder commands, sequence commands,
-extraction commands, and digest commands which begin with with F, S,
+extraction commands, and digest commands which begin with F, S,
X, and D, respectively. These sub-keymaps allowed some consistency
(e.g., especially with l(ist) and k(ill)).
diff --git a/etc/NEWS b/etc/NEWS
index 8b08707c274..7b778b64991 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -133,7 +133,10 @@ That variable used to have the default value "~/.authinfo", in which
case you won't see any difference. But if you changed it to be a list
of user names and passwords, that setting is now ignored; you will be
prompted for the user name and the password, which will then be saved
-to ~/.authinfo.
+to ~/.authinfo. (To control where and how the credentials are stored,
+see the auth-source manual. You may want to change the auth-source
+preferences if you want to store the credentials encrypted, for
+instance.)
You can also manually copy the credentials to your ~/.authinfo file.
For example, if you had
@@ -147,7 +150,7 @@ then the equivalent line in ~/.authinfo would be
**** The variable `smtpmail-starttls-credentials' has been removed.
-If you had that set, then then you need to put
+If you had that set, then you need to put
machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert"
@@ -253,6 +256,7 @@ off by customizing x-gtk-use-system-tooltips.
** New basic faces `error', `warning', `success' are available to
highlight strings that indicate failure, caution or successful operation.
+---
** Lucid menus and dialogs can display antialiased fonts if Emacs is built
with Xft. To change font, use the X resource font, for example:
Emacs.pane.menubar.font: Courier-12
@@ -379,7 +383,7 @@ The elisp implementation sha1.el is removed. Feature sha1 is provided
by default.
** Menu-bar changes
-
+---
*** `menu-bar-select-buffer-function' lets you choose another operation
instead of `switch-to-buffer' when selecting an item in the Buffers menu.
@@ -417,7 +421,7 @@ of the window will resize all windows in the same combination as well.
+++
*** New commands `maximize-window' and `minimize-window'.
-These maximize and minize the size of a window within its frame.
+These maximize and minimize the size of a window within its frame.
+++
*** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'.
@@ -550,6 +554,13 @@ at high rate, e.g. if you lean on some key, because stopping redisplay
in the middle (when this variable is nil) forces more expensive
updates later on, and Emacs appears to be unable to keep up.
++++
+** The behavior of <TAB> for active regions in Text mode has changed.
+In Text and related modes, typing <TAB> (`indent-for-tab-command')
+when the region is active causes Emacs to indent all the lines in the
+region, aligning them with the line previous to the first line in the
+region (or with the left margin if there is no previous line).
+
* Changes in Specialized Modes and Packages in Emacs 24.1
@@ -709,7 +720,7 @@ consult.
** The Landmark game is now invoked with `landmark', not `lm'.
-** MH-E has been upgraded to MH-E version 8.3.
+** MH-E has been upgraded to MH-E version 8.3.1.
See MH-E-NEWS for details.
** Modula-2 mode provides auto-indentation.
@@ -725,6 +736,11 @@ more variants, including Mercury, and a lot more.
*** The command `rmail-epa-decrypt' decrypts OpenPGP data
in the Rmail incoming message.
+---
+*** The variable `rmail-message-filter' no longer has any effect.
+This change was made in Emacs 23.1 but was not advertised at the time.
+Try using `rmail-show-message-hook' instead.
+
** Shell mode
*** Shell mode uses pcomplete rules, with the standard completion UI.
@@ -1126,7 +1142,7 @@ state before the last buffer display operation in that window.
+++
*** The new option `frame-auto-hide-function' lets you choose between
-iconfying or deleting a frame when burying a buffer shown in a dedicated
+iconifying or deleting a frame when burying a buffer shown in a dedicated
frame or quitting a window showing a buffer in a frame of its own.
** Completion
@@ -1327,6 +1343,8 @@ as well as those in the -*- line.
** keymaps can inherit from multiple parents.
+** `debug-on-event' lets you debug Emacs when stuck because of inhibit-quit.
+
+++
** New reader macro ## which stands for the empty symbol.
This means that the empty symbol can now be read back. Also, #: by itself
diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17
index aa8c8839d3c..8b861cca875 100644
--- a/etc/NEWS.1-17
+++ b/etc/NEWS.1-17
@@ -775,7 +775,7 @@ to the value of `minibuffer-help-form'.
`help-form' is expected at all times to contain either `nil'
or an expression to be executed when C-h is typed (overriding
-teh definition of C-h as a command). `minibuffer-help-form'
+the definition of C-h as a command). `minibuffer-help-form'
can be used to provide a different default way of handling
C-h while in the minibuffer.
@@ -1198,7 +1198,7 @@ them with `\='. For example, "\\=\\= is the way to quote \\=\\["
will come out as `\= is the way to quote \['.
The new function `substitute-command-keys' takes a string possibly
-contaning \[...] constructs and replaces those constructs with
+containing \[...] constructs and replaces those constructs with
the key sequences they currently stand for.
* Primitives `find-line-comment' and `find-line-comment-body' flushed.
@@ -1382,7 +1382,7 @@ Changes in Emacs 15
specify the tag table file name initially, or to switch
to a new tag table.
-* If truncate-partial-width-windows is non-nil (as it intially is),
+* If truncate-partial-width-windows is non-nil (as it initially is),
all windows less than the full screen width (that is,
made by side-by-side splitting) truncate lines rather than continuing
them.
@@ -1630,7 +1630,7 @@ Changes in Emacs 1.12
read-char now returns a value in the range 128-255 if
a Meta character is typed. When interpreted as command
input, a Meta character is equivalent to a two character
- sequence, the meta prefix character followed by the un-metized
+ sequence, the meta prefix character followed by the unmetized
character (Meta-G unmetized is G).
The meta prefix character
@@ -1870,7 +1870,7 @@ Changes in Emacs 1.9
* The variable global-minor-modes is used to display
strings in the mode line of all buffers. It should be
- a list of elements thaht are conses whose cdrs are strings
+ a list of elements that are conses whose cdrs are strings
to be displayed. This complements the variable
minor-modes, which has the same effect but has a separate
value in each buffer.
@@ -2019,7 +2019,7 @@ Changes in Emacs 1.6
* save-buffers-kill-emacs is now on C-x C-c
while C-x C-z does suspend-emacs. This is to make
C-x C-c like the normal Unix meaning of C-c
- and C-x C-z linke the normal Unix meaning of C-z.
+ and C-x C-z like the normal Unix meaning of C-z.
* M-ESC (eval-expression) is now a disabled command by default.
This prevents users who type ESC ESC accidentally from
diff --git a/etc/NEWS.18 b/etc/NEWS.18
index 6bf854d8b33..820103e3110 100644
--- a/etc/NEWS.18
+++ b/etc/NEWS.18
@@ -519,7 +519,7 @@ exist to customize these feature for different Lisp implementations.
** C-x p now disabled.
-The command C-x p, a nonrecomended command which narrows to the current
+The command C-x p, a nonrecommended command which narrows to the current
page, is now initially disabled like C-x n.
* Dealing with files.
@@ -1303,7 +1303,7 @@ changing the file's uid or gid.
The default value of this variable is `nil', because usually it is
useful to have the uid of a file change according to who edited it
-last. I recommend thet this variable be left normally `nil' and
+last. I recommend that this variable be left normally `nil' and
changed with a local variables list in those particular files where
the uid needs to be preserved.
@@ -1620,4 +1620,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
Local variables:
mode: text
end:
-
diff --git a/etc/NEWS.19 b/etc/NEWS.19
index 6c1c5483809..849566e6238 100644
--- a/etc/NEWS.19
+++ b/etc/NEWS.19
@@ -1828,7 +1828,7 @@ c-fill-paragraph's behavior.
containing an open brace just after a case/default label.
*** New variable, c-progress-interval, which controls minibuffer update
-message displays during long re-indention. This is a new feature
+message displays during long re-indentation. This is a new feature
which prints percentage complete messages at specified intervals.
** Makefile mode changes.
@@ -4288,7 +4288,7 @@ filename completion in comint mode apply, together with a variable
controlling whether to restrict possible completions to only files
that are executable (`shell-command-execonly').
-The input history is initialised from the file name given in the
+The input history is initialized from the file name given in the
variable `shell-input-ring-file-name'--normally `.history' in your
home directory.
@@ -4457,7 +4457,7 @@ highlighting, etc.
So that such output processing may be done efficiently, there is a new
variable, comint-last-output-start, that records the position of the start of
-the lastest output inserted into the buffer (effectively the previous value
+the last output inserted into the buffer (effectively the previous value
of process-mark). Output processing functions should process the text
between comint-last-output-start (or perhaps the beginning of the line that
the position lies on) and process-mark.
@@ -5484,7 +5484,7 @@ non-nil.
** M-x revert-buffer no longer offers to revert from a recent auto-save
file unless you give it a prefix argument. Otherwise it always
reverts from the real file regardless of whether there has been an
-auto-save since thenm. (Reverting from the auto-save file is no longer
+auto-save since then. (Reverting from the auto-save file is no longer
very useful now that the undo capacity is larger.)
** M-x recover-file no longer turns off Auto Save mode when it reads
diff --git a/etc/NEWS.21 b/etc/NEWS.21
index c3c54d8bb01..c018567c40d 100644
--- a/etc/NEWS.21
+++ b/etc/NEWS.21
@@ -1678,7 +1678,7 @@ current file, or you can use C-x v r RET to get an update for an
entire directory tree.
The new user option `vc-cvs-use-edit' indicates whether VC should call
-"cvs edit" to make files writeable; it defaults to `t'. (This option
+"cvs edit" to make files writable; it defaults to `t'. (This option
is only meaningful if the CVSREAD variable is set, or if files are
"watched" by other developers.)
diff --git a/etc/NEWS.22 b/etc/NEWS.22
index 3920f59fefa..87d77cf52fc 100644
--- a/etc/NEWS.22
+++ b/etc/NEWS.22
@@ -163,7 +163,7 @@ delimiters will appear to be fontified (in the new face
customize `font-lock-comment-face'. Another alternative is to use a
newer terminal emulator that supports more colors (256 is now common).
For example, for xterm compatible emulators that support 256 colors,
-you can run emacs like this:
+you can run emacs like this:
env TERM=xterm-256color emacs -nw
(This was new in Emacs 22.1, but was not described. In Emacs 22.1
this also happened for terminals with a light background, that is not
@@ -280,13 +280,13 @@ the files mac/README and mac/INSTALL for build instructions.
** Support for FreeBSD/Alpha has been added.
** New translations of the Emacs Tutorial are available in the
-following languages: Brasilian Portuguese, Bulgarian, Chinese (both
+following languages: Brazilian Portuguese, Bulgarian, Chinese (both
with simplified and traditional characters), French, Russian, and
Italian. Type `C-u C-h t' to choose one of them in case your language
setup doesn't automatically select the right one.
** New translations of the Emacs reference card are available in the
-Brasilian Portuguese and Russian. The corresponding PostScript files
+Brazilian Portuguese and Russian. The corresponding PostScript files
are also included.
** A French translation of the `Emacs Survival Guide' is available.
@@ -1026,7 +1026,7 @@ parts of the mode line.
*** `shadow' face defines the appearance of the "shadowed" text, i.e.
the text which should be less noticeable than the surrounding text.
-This can be achieved by using shades of grey in contrast with either
+This can be achieved by using shades of gray in contrast with either
black or white default foreground color. This generic shadow face
allows customization of the appearance of shadowed text in one place,
so package-specific faces can inherit from it.
@@ -1275,7 +1275,7 @@ coding system.
of a file.
*** New command `ucs-insert' inserts a character specified by its
-unicode.
+Unicode code point or character name.
*** New command quail-show-key shows what key (or key sequence) to type
in the current input method to input a character at point.
@@ -2558,10 +2558,10 @@ is nil).
*** Minor Improvements
-**** The STARTTLS wrapper (starttls.el) can now use GNUTLS
+**** The STARTTLS wrapper (starttls.el) can now use GnuTLS
instead of the OpenSSL based `starttls' tool. For backwards
compatibility, it prefers `starttls', but you can toggle
-`starttls-use-gnutls' to switch to GNUTLS (or simply remove the
+`starttls-use-gnutls' to switch to GnuTLS (or simply remove the
`starttls' tool).
**** Do not allow debugger output history variable to grow without bounds.
@@ -3356,7 +3356,7 @@ contracts or expands the line under the cursor.
*** The new commands `speedbar-expand-line-descendants' and
`speedbar-contract-line-descendants', bound to `[' and `]'
respectively, expand and contract the line under cursor with all of
-its descendents.
+its descendants.
*** The new user option `speedbar-use-tool-tips-flag', if non-nil,
means to display tool-tips for speedbar items.
diff --git a/etc/NEWS.23 b/etc/NEWS.23
index 3a222d50d4c..6f1b50e8c7a 100644
--- a/etc/NEWS.23
+++ b/etc/NEWS.23
@@ -793,7 +793,7 @@ starts the server. Clients can connect and create graphical or
terminal frames using emacsclient.
**** emacsclient starts emacs in daemon mode and connects to it when
---alternate-editor="" is used (or when the evironment variable
+--alternate-editor="" is used (or when the environment variable
ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an
emacs server.
@@ -843,7 +843,7 @@ shared with older Emacsen.
*** There is a new charset implementation with many new charsets.
See M-x list-character-sets. New charsets can be defined conveniently
-as tables of unicodes.
+as tables of Unicode code points.
*** There are new language environments for Chinese-GBK,
Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu,
@@ -903,7 +903,7 @@ mode-line information (e.g. waiting for a VC command to finish).
*** The mode-line tooltips have been improved to provide more details.
-*** The VC, line/colum number and minor mode indicators on the mode
+*** The VC, line/column number and minor mode indicators on the mode
line are now interactive: mouse-1 can be used on them to pop up a menu.
** File deletion can make use of the Recycle Bin or system Trash folder.
@@ -1027,8 +1027,8 @@ motion keys (e.g. S-left and S-down) activate and extend a temporary
region, similar to mouse-selection.
*** Temporarily active regions, created using shift-selection or
-mouse-selection, are not necessarily deactivated in the next command.
-They are only deactivated after point motion commands that are not
+mouse-selection, are not necessarily deactivated after the next command.
+They are deactivated only after point motion commands that are not
shift-translated, or after commands that would ordinarily deactivate
the mark in Transient Mark mode (e.g., any command that modifies the
buffer).
@@ -1837,7 +1837,7 @@ for the list of extra keys that are available.
** BDF fonts no longer supported on MS-Windows.
The font backend was completely rewritten for this release. The focus
-on Windows has been getting acceptable performance and full unicode
+on Windows has been getting acceptable performance and full Unicode
support, including complex script shaping for native Windows fonts. A
rewrite of the BDF font support has not happened due to lack of time
and developers. If demand still exists for such a backend even with
diff --git a/etc/THE-GNU-PROJECT b/etc/THE-GNU-PROJECT
index 80dde864901..f3d554e45bf 100644
--- a/etc/THE-GNU-PROJECT
+++ b/etc/THE-GNU-PROJECT
@@ -762,7 +762,7 @@
Those of us who value free software for freedom's sake will stay with
free software anyway. We will manage to get work done without the
patented features. But those who value free software because they
- expect it to be techically superior are likely to call it a failure
+ expect it to be technically superior are likely to call it a failure
when a patent holds it back. Thus, while it is useful to talk about the
practical effectiveness of the "cathedral" model of development (1),
and the reliability and power of some free software, we must not stop
diff --git a/etc/TODO b/etc/TODO
index aa06f73ee94..2470747bfb5 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -205,7 +205,7 @@ of the scroll bar itself. That depends on to what extent toolkit
scroll bars are extensible.
** Provide user-friendly ways to list all available font families,
- list fonts, display a font as a sample, etc. [fx is looking at
+ list fonts, display a font as a sample, etc. [fx is looking at
multilingual font selection for the Unicode branch of Emacs.]
** Provide a convenient way to select a color with the mouse.
@@ -635,7 +635,7 @@ up on top of all others
*** Other / Low Priority:
-**** Better recognition of unicode scripts / Greek / composition.
+**** Better recognition of Unicode scripts / Greek / composition.
**** Undo for color-drag face customization.
@@ -674,7 +674,7 @@ with toolkit-specific code to display the menu bar right to left.
*** image-type-header-regexps priorities the jpeg loader over the
ImageMagick one. This is not wrong, but how should a user go about
-prefering the ImageMagick loader? The user might like zooming etc in jpegs.
+preferring the ImageMagick loader? The user might like zooming etc in jpegs.
Try (setq image-type-header-regexps nil) for a quick hack to prefer
ImageMagick over the jpg loader.
@@ -841,7 +841,7 @@ more detailed diagnosis.
**** Provide an Error Summary buffer showing all the validation errors.
-**** Pop-up menu. What is useful? Tag a region (should be greyed out if
+**** Pop-up menu. What is useful? Tag a region (should be grayed out if
the region is not balanced). Suggestions based on error messages.
**** Have configurable list of namespace URIs so that we can provide
diff --git a/etc/e/eterm-color.ti b/etc/e/eterm-color.ti
index 0ddb7ec5408..a6ef8149900 100644
--- a/etc/e/eterm-color.ti
+++ b/etc/e/eterm-color.ti
@@ -7,7 +7,7 @@ eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
# When updating this file, etc/e/eterm-color should be regenerated by
# running "make e/eterm-color" in the etc directory.
# Any change to this file should be done at the same time with a
-# corresponding change to the TERMCAP evironment variable in term.el.
+# corresponding change to the TERMCAP environment variable in term.el.
# Comments in term.el specify where each of these capabilities is implemented.
colors#8,
cols#80,
diff --git a/etc/gnus/news-server.ast b/etc/gnus/news-server.ast
index 432f71a50f0..df0bab4519b 100644
--- a/etc/gnus/news-server.ast
+++ b/etc/gnus/news-server.ast
@@ -7,7 +7,7 @@
@validate (or (assistant-validate-connect-to-server server port) (y-or-n-p "Do you want to use the server anyway, although you can't confirm it's valid?"))
@result gnus-select-method (list 'nntp server (list 'nntp-server port))
@text
-Usenet news is usually read from your Internet service prodider's news
+Usenet news is usually read from your Internet service provider's news
server. If you don't know the name of this server, contact your ISP.
As a guess, the name of the server might be news.yourisp.com.
@@ -61,4 +61,3 @@ Password: @variable{user-name}
@c End:
@c arch tag is missing
-
diff --git a/etc/refcards/gnus-refcard.tex b/etc/refcards/gnus-refcard.tex
index b164a28842e..9f13974584d 100644
--- a/etc/refcards/gnus-refcard.tex
+++ b/etc/refcards/gnus-refcard.tex
@@ -13,7 +13,7 @@
%
% latex gnus-refcard.tex &&
% dvips -t letter -f gnus-refcard.dvi > gnus-refcard.ps
-%
+%
% latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}' &&
% mv gnus-refcard.dvi gnus-booklet.dvi &&
% dvips -t letter -f gnus-booklet.dvi > gnus-booklet.ps
@@ -35,16 +35,16 @@
\ifthenelse{\isundefined{\booklettrue}}{% ifcard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Reference Card
-
+
\def\Guide{Card}\def\guide{card}
\def\logoscale{0.25}
-
+
% Page setup for the refcard:
-
+
% \setlength{\textwidth}{7.26in} \setlength{\textheight}{10in}
% \setlength{\topmargin}{-1.0in}
% % the same settings work for A4, although there is a bit of space at the
- % % top and bottom of the page.
+ % % top and bottom of the page.
% \setlength{\oddsidemargin}{-0.5in} \setlength{\evensidemargin}{-0.5in}
\ifthenelse{\isundefined{\letterpapertrue}}{
@@ -52,19 +52,19 @@
}{
\geometry{hmargin=20mm,tmargin=10mm,bmargin=12mm}
}
-
+
}{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Reference Booklet
-
+
\def\Guide{Booklet}\def\guide{booklet}
\def\logoscale{0.5}% FIXME: too large for 2up printing? --rsteib
-
+
\ifthenelse{\isundefined{\letterpapertrue}}{
\geometry{a5paper,hmargin=10mm,tmargin=10mm,bmargin=4mm}
}{
\geometry{a5paper,hmargin=20mm,tmargin=10mm,bmargin=4mm}
}
-
+
\def\sec{\section}
\def\subsec{\subsection}
\def\subsubsec{\subsubsection}
@@ -73,7 +73,7 @@
\par\vspace*{\fill}\pagebreak}
}%ifbooklet% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \input{gnusref} % % % % % % % % % % % % % % % % % % % % % % % % % %
+% \input{gnusref} % % % % % % % % % % % % % % % % % % % % % % % % % %
%% include file for the Gnus refcard and booklet
\def\progver{5.11} % program version
@@ -218,7 +218,7 @@
\hline
\multicolumn{2}{|p{\markdblcolwidth}|}{{\bf ``Read'' Marks.}
All these marks appear in the first column of the summary line, and so
- are mutually exclusive.}\\
+ are mutually exclusive.}\\
\hline
` ' & (M-u, M SPC, M c) Not read.\\
! & (!, M !, M t) Ticked (interesting).\\
@@ -284,7 +284,7 @@
[Prefix: use group under point to find posting-style].\\
b & Find {\bf bogus} groups and delete them.\\
c & Mark all unticked articles in group as read ({\bf catch-up}).
- [p/p]\\
+ [p/p]\\
g & Check the server for new articles ({\bf get}). [level]\\
M-g & Check the server for new articles in this group ({\bf get}). [p/p]\\
j & {\bf Jump} to a group.\\
@@ -292,14 +292,14 @@
[Prefix: use group under point to find posting-style].\\
n & Go to the {\bf next} group with unread articles. [distance]\\
M-n & Go to the {\bf next} group on the same or lower level.
- [distance]\\
+ [distance]\\
p & (DEL) Go to the {\bf previous} group with unread articles.
- [distance]\\
- M-p & Go to the {\bf previous} group on the same or lower level. [distance]\\
+ [distance]\\
+ M-p & Go to the {\bf previous} group on the same or lower level. [distance]\\
q & {\bf Quit} Gnus.\\
r & Re-read the init file ({\bf reset}).\\
s & {\bf Save} `.newsrc.eld' file (and `.newsrc' if
- `gnus-save-newsrc-file').\\
+ `gnus-save-newsrc-file').\\
z & Suspend (kill all buffers of) Gnus.\\
B & {\bf Browse} a foreign server.\\
C & Mark all articles in this group as read ({\bf Catch-up}). [p/p]\\
@@ -312,7 +312,7 @@
M-c & Clear data from group (marks and list of read articles). \\
C-c C-s & {\bf Sort} the groups by name, number of unread articles, or level
(depending on `gnus-group-sort-function').\\
- C-c C-x & Run all expirable articles in group through the {\bf expiry}
+ C-c C-x & Run all expirable articles in group through the {\bf expiry}
process.\\
C-c M-C-x & Run all articles in all groups through the {\bf expiry} process.\\
C-c M-g & Activate all {\bf groups}.\\
@@ -324,7 +324,7 @@
ange-ftp). [Prefix: query for group]\\
H v & (V) Display the Gnus {\bf version} number.\\
H d & (C-c C-d) Show the {\bf description} of this group
- [Prefix: re-read from server].\\
+ [Prefix: re-read from server].\\
M-d & {\bf Describe} all groups. [Prefix: re-read from server]\\
D g & Regenerate a Sieve script from group parameters.\\
D u & Regenerate Sieve script and {\bf upload} to server.\\
@@ -334,17 +334,17 @@
\newcommand{\ListGroups}{%
{\esamepage
\begin{keys}{A M}
- A d & (C-c C-M-a) List all groups whose names or {\bf descriptions} match a regexp.\\
+ A d & (C-c C-M-a) List all groups whose names or {\bf descriptions} match a regexp.\\
A k & (C-c C-l) List all {\bf killed} groups.
[Prefix: look at active-file from server]\\
A l & List all groups on a specific level.
[Prefix: also list groups with no unread articles]\\
A a & (C-c C-a) List all groups whose names match a regexp
- ({\bf apropos}).\\
+ ({\bf apropos}).\\
A A & List the server's active-file.\\
A M & List groups that {\bf match} a regexp.\\
- A m & List groups that {\bf match} a regexp and have unread articles.
- [level]\\
+ A m & List groups that {\bf match} a regexp and have unread articles.
+ [level]\\
A s & (l) List all {\bf subscribed} groups with unread articles.
[level; 5 and lower is the default]\\
A u & (L) List all groups (including read and {\bf unsubscribed}).
@@ -354,7 +354,7 @@
A ? & List all groups with dormant articles. [level]\\
\end{keys}
}
-
+
\newcommand{\CreateEditGroups}{%
{\esamepage
The select methods are indicated in parentheses.\\*
@@ -404,8 +404,8 @@
M m & (\#) Set the process {\bf mark} on this group. [scope]\\
M r & Mark all groups matching regular expression.\\
M u & (M-\#) Remove process mark from this group ({\bf unmark}).
- [scope]\\
- M U & Remove the process mark from all groups (\textbf{umark all}).\\
+ [scope]\\
+ M U & Remove the process mark from all groups (\textbf{unmark all}).\\
M w & Mark all groups in the current region. [prefix: unmark]\\
M b & Mark all groups in the {\bf buffer}. [prefix: unmark]\\
\end{keys}}
@@ -427,7 +427,7 @@
T DEL & Delete an empty topic.\\
T \# & Mark all groups in the current topic with the process-mark.\\
T M-\# & Remove the process-mark from all groups in the current topic.\\
- T TAB & (TAB) Indent current topic [Prefix: unindent].\\
+ T TAB & (TAB) Indent current topic [Prefix: unindent].\\
M-TAB & Unindent the current topic.\\
RET & (SPC) Either unfold topic or enter group [level].\\
T s & {\bf Show} the current topic. [Prefix: show permanently]\\
@@ -478,7 +478,7 @@
{\esamepage
\begin{keys}{M-RET}
SPC & (A SPC, A n) Select an article, scroll it one page, move to the
- next one.\\
+ next one.\\
DEL & (A DEL, A p, b) Scroll this article one page back. [distance]\\
RET & (A RET) Scroll this article one line forward. [distance]\\
M-RET & (A M-RET) Scroll this article one line backward. [distance]\\
@@ -490,9 +490,9 @@
M-\& & Execute a command on all articles having the process mark.\\
%
M-n & (G M-n) Go to {\bf next} summary line of unread article.
- [distance]\\
- M-p & (G M-p) Go to {\bf previous} summary line of an unread article.
- [distance]\\
+ [distance]\\
+ M-p & (G M-p) Go to {\bf previous} summary line of an unread article.
+ [distance]\\
M-s & {\bf Search} through all subsequent articles for a regexp.\\
M-r & Search through all previous articles for a regexp.\\
%
@@ -519,7 +519,7 @@
M-C-d & Like C-d, but open several documents in nndoc-groups, wrapped
in an nnvirtual group [p/p]\\
%
- A g & (g) (Re)fetch this article ({\bf get}). [Prefix: get raw version]\\
+ A g & (g) (Re)fetch this article ({\bf get}). [Prefix: get raw version]\\
A r & (\^{}, A \^{}) Fetch the parent(s) of this article.
[Prefix: if positive fetch \textit{n} ancestors;
negative: fetch only the \textit{n}th ancestor]\\
@@ -541,7 +541,7 @@
prefix selects which part to operate on. If the point is placed over a
MIME button in the article buffer, use the corresponding bindings for the
article buffer instead.
-
+
\begin{keys}{W M w}
K v & (b, W M b) {\bf View} the MIME-part.\\
K o & {\bf Save} the MIME part.\\
@@ -597,7 +597,7 @@
B t & {\bf Trace} the fancy splitting patterns applied to this article.\\
B w & (e) Edit this article.\\
B M-C-e & {\bf Expunge} (delete from disk) all expirable articles in this group
- (!). [p/p]\\
+ (!). [p/p]\\
K E & {\bf Encrypt} article body. [p/p]\\
\end{keys}
}
@@ -665,7 +665,7 @@
W 6 & Translate a base64 article.\\
W a & Strip certain {\bf headers} from body.\\
W b & Make Message-IDs and URLs in the article mouse-clickable
- {\bf buttons}.\\
+ {\bf buttons}.\\
W c & Translate CRLF-pairs to LF and then remaining CR's to LF's.\\
W d & Treat {\bf dumbquotes}.\\
W e & Treat {\bf emphasized} text.\\
@@ -698,7 +698,7 @@
}
}
- \newcommand{\BlankAndWhitespace}{%
+ \newcommand{\BlankAndWhitespace}{%
{\esamepage
\begin{keys}{W E w}
W E l & Strip blank {\bf lines} from the beginning of the article.\\
@@ -715,7 +715,7 @@
}
}
- \newcommand{\Picons}{%
+ \newcommand{\Picons}{%
{\esamepage
\begin{keys}{W D D}
W D s & (W g) Display {\bf smilies}.\\
@@ -729,7 +729,7 @@
}
}
- \newcommand{\TimeAndDate}{%
+ \newcommand{\TimeAndDate}{%
{\esamepage
\begin{keys}{W T u}
W T u & (W T z) Display the article timestamp in GMT ({\bf UT, ZULU}).\\
@@ -739,7 +739,7 @@
W T e & Display the time {\bf elapsed} since it was sent.\\
W T o & Display the {\bf original} timestamp.\\
W T p & Display the date in format that's {\bf
- pronounceable} in English.\\
+ pronounceable} in English.\\
\end{keys}
}
}
@@ -793,26 +793,26 @@
{\esamepage
\begin{keys}{M M-C-r}
d & (M d, M r) Mark this article as read and move to the next one.
- [scope]\\
+ [scope]\\
D & Mark this article as read and move to previous one. [scope]\\
! & (u, M !, M t) Tick this article (mark it as interesting) and move
to the next one. [scope]\\
- U & Tick this article and move to the previous one. [scope]\\
+ U & Tick this article and move to the previous one. [scope]\\
M ? & (?) Mark this article as dormant (only followups are
- interesting). [scope]\\
+ interesting). [scope]\\
M D & Show all {\bf dormant} articles (normally they are hidden unless they
have any followups).\\
M M-D & Hide all {\bf dormant} articles.\\
C-w & Mark all articles between point and mark as read.\\
M-u & (M SPC, M c) Clear all marks from this article and move to the next
- one. [scope]\\
+ one. [scope]\\
M-U & Clear all marks from this article and move to the previous one.
[scope]\\
%
M e & (E, M x) Mark this article as {\bf expirable}. [scope]\\
%
M k & (k) {\bf Kill} all articles with same subject, select
- next unread one.\\
+ next unread one.\\
M K & (C-k) {\bf Kill} all articles with the same subject as this one.\\
%
M C & {\bf Catch-up} the articles that are not ticked and not dormant.\\
@@ -842,7 +842,7 @@
}
\newcommand{\ProcessMark}{%
- {\esamepage
+ {\esamepage
These commands set and remove the process mark (\#). You only need to use
it if the set of articles you want to operate on is non-contiguous. Else
use a numeric prefix.\\*
@@ -929,7 +929,7 @@
%After
%editing the article, send it by pressing C-c C-c. If you are in a
%foreign group and want to post the article using the foreign server, give
- %a prefix to C-c C-c.\\*
+ %a prefix to C-c C-c.\\*
\begin{keys}{S O m}
S p & (a) {\bf Post} an article to this group.\\
S f & (f) Post a {\bf followup} to this article.\\
@@ -965,7 +965,7 @@
%
S O m & Digest these series and forward by {\bf mail}. [p/p]\\
S O p & Digest these series and forward as a {\bf post} to a newsgroup.
- [p/p]\\
+ [p/p]\\
%
S u & {\bf Uuencode} a file and post it as a series.\\
\end{keys}
@@ -1036,8 +1036,8 @@
\quad \B{l}ifetime: t)emporary, p)ermanent, i)mmediate.
If you type the second letter in uppercase, the remaining two are assumed
- to be s)ubstring and t)emporary.
- If you type the third letter in uppercase, the last one is assumed to be
+ to be s)ubstring and t)emporary.
+ If you type the third letter in uppercase, the last one is assumed to be
t)emporary.
\quad Extra keys for manual editing of a score file:\\*
@@ -1057,7 +1057,7 @@
archives, they are expanded and gathered in a new group.\\*
\begin{keys}{X p}
X b & Un-{\bf binhex} these series. [p/p]\\
- X o & Simply {\bf output} these series (no decoding). [p/p]\\
+ X o & Simply {\bf output} these series (no decoding). [p/p]\\
X p & Unpack these {\bf postscript} series. [p/p]\\
X s & Un-{\bf shar} these series. [p/p]\\
X u & {\bf Uudecode} these series. [p/p]\\
@@ -1259,7 +1259,7 @@
}
}
-% end {gnusref} % % % % % % % % % % % % % % % % % % % % % % % % % %
+% end {gnusref} % % % % % % % % % % % % % % % % % % % % % % % % % %
% o some things might not be updated: scoring and server modes, maybe more
@@ -1333,7 +1333,7 @@
\SortSummary
\subsection*{Score (Value) Commands}
\Scoring
-
+
\ifthenelse{\isundefined{\booklettrue}}{% ifcard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection*{Output Articles}
\OutputArticles
@@ -1343,7 +1343,7 @@
\subsection*{MIME operations from the Summary-Buffer}
\MIMESummary
-
+
\ifthenelse{\isundefined{\booklettrue}}{}{% ifbooklet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection*{Extract Series (Uudecode etc)}
\ExtractSeries
@@ -1354,7 +1354,7 @@
%
\subsection*{Post, Followup, Reply, Forward, Cancel}
\PostReplyetc
-
+
\ifthenelse{\isundefined{\booklettrue}}{\newpage}{}% newpage ifcard
\subsection*{Message Composition}
diff --git a/etc/srecode/doc-cpp.srt b/etc/srecode/doc-cpp.srt
index 957986e8eda..a9ea16d1811 100644
--- a/etc/srecode/doc-cpp.srt
+++ b/etc/srecode/doc-cpp.srt
@@ -43,7 +43,7 @@ Recycle doxygen comment code from the more general template set."
----
template variable-same-line-comment :tag
-"A comment occurring after a veriable declaration.
+"A comment occurring after a variable declaration.
Recycle doxygen comment code from the more general template set."
----
{{>:declaration:doxygen-variable-same-line}}
diff --git a/etc/srecode/doc-default.srt b/etc/srecode/doc-default.srt
index 24741fa7741..ac8d8bc1ac2 100644
--- a/etc/srecode/doc-default.srt
+++ b/etc/srecode/doc-default.srt
@@ -43,7 +43,7 @@ template function-comment :tag :indent :blank
----
template variable-same-line-comment :tag
-"A comment occurring after a veriable declaration."
+"A comment occurring after a variable declaration."
----
{{comment_start}} {{?DOC}} {{comment_end}}
----
diff --git a/etc/srecode/doc-java.srt b/etc/srecode/doc-java.srt
index c6d2ef1fd54..aeae1c2c389 100644
--- a/etc/srecode/doc-java.srt
+++ b/etc/srecode/doc-java.srt
@@ -44,7 +44,7 @@ Recycle javadoc comment code from the more general template set."
----
template variable-same-line-comment :tag
-"A comment occurring after a veriable declaration.
+"A comment occurring after a variable declaration.
Recycle javadoc comment code from the more general template set."
----
{{>:declaration:javadoc-variable-same-line}}
diff --git a/etc/srecode/template.srt b/etc/srecode/template.srt
index 3c9aff7ff0d..adbe554216b 100644
--- a/etc/srecode/template.srt
+++ b/etc/srecode/template.srt
@@ -125,13 +125,13 @@ prompt $?NAME$ "$?PROMPT$"
bind "p"
template priority :blank
-"Insert a priority statemept."
+"Insert a priority statement."
----
set priority $^$
----
template application :blank
-"Insert a priority statemept."
+"Insert an application statement."
----
set application "$^$"
----
diff --git a/etc/srecode/test.srt b/etc/srecode/test.srt
index b296f9dc515..d3dad33a5a2 100644
--- a/etc/srecode/test.srt
+++ b/etc/srecode/test.srt
@@ -81,7 +81,7 @@ template gapsomething :blank
----
template inlinetext
-"Insert text that has no nelines"
+"Insert text that has no newlines"
----
*In the middle*
----
diff --git a/etc/themes/deeper-blue-theme.el b/etc/themes/deeper-blue-theme.el
index 0fbd9496969..1a4ca82f438 100644
--- a/etc/themes/deeper-blue-theme.el
+++ b/etc/themes/deeper-blue-theme.el
@@ -22,7 +22,7 @@
;;; Code:
(deftheme deeper-blue
- "Face colors using a deep blue backgound.")
+ "Face colors using a deep blue background.")
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces
diff --git a/etc/themes/light-blue-theme.el b/etc/themes/light-blue-theme.el
index 98c74b268af..cf6ae543575 100644
--- a/etc/themes/light-blue-theme.el
+++ b/etc/themes/light-blue-theme.el
@@ -26,7 +26,7 @@
;;; Code:
(deftheme light-blue
- "Face colors utilizing a light blue backgound.")
+ "Face colors utilizing a light blue background.")
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces
diff --git a/leim/CXTERM-DIC/CCDOSPY.tit b/leim/CXTERM-DIC/CCDOSPY.tit
index 8c67c3bdfac..97dfe89f1a1 100644
--- a/leim/CXTERM-DIC/CCDOSPY.tit
+++ b/leim/CXTERM-DIC/CCDOSPY.tit
@@ -2,7 +2,7 @@
# Header added for Emacs
#
# This file is included in the directory contrib/clients/cxterm of the
-# distribution of X11R6. As the file itself does't contain copyright
+# distribution of X11R6. As the file itself doesn't contain copyright
# and license notices, the following statements in the section 6 of
# the file .../cxterm/README covers it.
#
diff --git a/leim/CXTERM-DIC/PY-b5.tit b/leim/CXTERM-DIC/PY-b5.tit
index 72c20fe70ca..7a8d68aa755 100644
--- a/leim/CXTERM-DIC/PY-b5.tit
+++ b/leim/CXTERM-DIC/PY-b5.tit
@@ -2,7 +2,7 @@
# Header added for Emacs
#
# This file is included in the directory contrib/clients/cxterm of the
-# distribution of X11R6. As the file itself does't contain copyright
+# distribution of X11R6. As the file itself doesn't contain copyright
# and license notices, the following statements in the section 6 of
# the file .../cxterm/README covers it.
#
diff --git a/leim/CXTERM-DIC/SW.tit b/leim/CXTERM-DIC/SW.tit
index a30dcf01090..5e8fadfba42 100644
--- a/leim/CXTERM-DIC/SW.tit
+++ b/leim/CXTERM-DIC/SW.tit
@@ -2,7 +2,7 @@
# Header added for Emacs
#
# This file is included in the directory contrib/clients/cxterm of the
-# distribution of X11R6. As the file itself does't contain copyright
+# distribution of X11R6. As the file itself doesn't contain copyright
# and license notices, the following statements in the section 6 of
# the file .../cxterm/README covers it.
#
diff --git a/leim/CXTERM-DIC/TONEPY.tit b/leim/CXTERM-DIC/TONEPY.tit
index 4b97ce8f0b1..ddba1d378d1 100644
--- a/leim/CXTERM-DIC/TONEPY.tit
+++ b/leim/CXTERM-DIC/TONEPY.tit
@@ -2,7 +2,7 @@
# Header added for Emacs
#
# This file is included in the directory contrib/clients/cxterm of the
-# distribution of X11R6. As the file itself does't contain copyright
+# distribution of X11R6. As the file itself doesn't contain copyright
# and license notices, the following statements in the section 6 of
# the file .../cxterm/README covers it.
#
diff --git a/leim/ChangeLog b/leim/ChangeLog
index 75dde2bcd18..11aae483ba2 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * quail/hangul.el (hangul-character): Fix typo.
+
2011-09-27 Jambunathan K <kjambunathan@gmail.com>
* quail/indian.el (quail-tamil-itrans-misc-table): Delete it.
@@ -1797,7 +1801,7 @@
1998-07-21 Kenichi Handa <handa@etl.go.jp>
* quail/japanese.el (quail-japanese-kanji-kkc): Handle the case
- that conversion is cancelled in kkc-region.
+ that conversion is canceled in kkc-region.
(quail-japanese-switch-package): Fix previous change.
1998-07-19 Kenichi Handa <handa@etl.go.jp>
@@ -1994,7 +1998,7 @@
(quail-mode-map): Change binding for ethio-insert-ethio-space.
(quail-mode-hook): Check the current Quail package name.
- * quail/latin-post.el: Add rules for cancelling accents by typing
+ * quail/latin-post.el: Add rules for canceling accents by typing
two accent keys (e.g. a~ => a-tilde, a~~ => a~) to all Quail
packages.
diff --git a/leim/quail/croatian.el b/leim/quail/croatian.el
index 7f394979261..885ac238398 100644
--- a/leim/quail/croatian.el
+++ b/leim/quail/croatian.el
@@ -1,4 +1,4 @@
-;;; quail/croatian.el -- Quail package for inputing Croatian -*-coding: iso-8859-2;-*-
+;;; quail/croatian.el -- Quail package for inputting Croatian -*-coding: iso-8859-2;-*-
;; Copyright (C) 2003-2011 Free Software Foundation, Inc.
diff --git a/leim/quail/cyrillic.el b/leim/quail/cyrillic.el
index 88be0a3b7d0..b1ee78a393e 100644
--- a/leim/quail/cyrillic.el
+++ b/leim/quail/cyrillic.el
@@ -27,7 +27,7 @@
;;; Commentary:
;; These methods use a mixture of 8859-5 and Unicode. Quail, used
-;; with ucs-tables provides suport for translating on the fly to
+;; with ucs-tables provides support for translating on the fly to
;; what's appropriate for aa buffer's file coding system, so the
;; encoding shouldn't matter too much provided it supports the
;; necessary characters.
@@ -608,7 +608,7 @@
;; layout. In fact, Microsoft shipped for a while a layout that was lacking
;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The
;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the
-;; ukrainian keyborad layout but the apostrophe is still not there, whereas
+;; ukrainian keyboard layout but the apostrophe is still not there, whereas
;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians
;; normally replace the "Cyrillic_YO" by the apostrophe sign and live
;; happily with this little change. [See "ukrainian-computer" below.]
diff --git a/leim/quail/czech.el b/leim/quail/czech.el
index 334045eac32..fc1fb5f6e1f 100644
--- a/leim/quail/czech.el
+++ b/leim/quail/czech.el
@@ -461,7 +461,7 @@ keyboard from the obsolete `emacs-czech' package.
All digits except of `1' are replaced by Czech characters as on the standard
Czech keyboard.
`[' and `]' are replaced with `,Bz(B' and `,By(B', respectively.
-There are two dead keys on `=' and `+'. Characters with diaresis are
+There are two dead keys on `=' and `+'. Characters with diaereses are
accessible through `+='.
All other keys are the same as on standard US keyboard."
nil t nil nil t nil nil nil nil nil t)
diff --git a/leim/quail/ethiopic.el b/leim/quail/ethiopic.el
index 210aeea7e62..7e108a71a60 100644
--- a/leim/quail/ethiopic.el
+++ b/leim/quail/ethiopic.el
@@ -53,7 +53,7 @@ C-F9 or `M-x ethio-toggle-space'
punctuation followed by zero or more ASCII spaces'.
S-F5 or `M-x ethio-toggle-punctuation'
- Toggles ASCII punctuations and Ethiopic punctuations for keyboard input.
+ Toggles ASCII punctuation and Ethiopic punctuation for keyboard input.
The current mode is indicated by `.' (ASCII) or `$(3$i(B' (Ethiopic).
S-SPC or `M-x ethio-insert-ethio-space'
diff --git a/leim/quail/greek.el b/leim/quail/greek.el
index 4deeb86fb4d..407b52f1f39 100644
--- a/leim/quail/greek.el
+++ b/leim/quail/greek.el
@@ -152,7 +152,7 @@ eta H h
theta Q q
iota I i
kappa K k
-lamda L l
+lambda L l
mu M m
nu N n
xi X x
@@ -433,7 +433,7 @@ eta H h
theta J j
iota I i
kappa K k
-lamda L l
+lambda L l
mu M m
nu N n
xi X x
@@ -1147,7 +1147,7 @@ nil t t nil nil nil nil nil nil nil t)
In the right of ,Fk(B key is a combination key, where
,F4(B acute
- ,F((B diaresis
+ ,F((B diaeresis
e.g.
,F4(B + ,Fa(B -> ,F\(B
@@ -1289,7 +1289,7 @@ e.g.
In the right of ,Fk(B key is a combination key, where
,F4(B acute
- ,F((B diaresis
+ ,F((B diaeresis
e.g.
,Fa(B + ,F4(B -> ,F\(B
diff --git a/leim/quail/hangul.el b/leim/quail/hangul.el
index 660e7763626..d3071d628e0 100644
--- a/leim/quail/hangul.el
+++ b/leim/quail/hangul.el
@@ -112,7 +112,7 @@
(defun hangul-character (cho jung jong)
"Convert CHO, JUNG, JONG to the precomposed `Hangul Syllables' character.
-CHO, JUNG, JONG are relative indices in `Hangul Compatibility Jamo' of unicode.
+CHO, JUNG, JONG are relative indices in `Hangul Compatibility Jamo' of Unicode.
Return a zero-length string if the conversion fails."
(or
(decode-char
diff --git a/leim/quail/ipa.el b/leim/quail/ipa.el
index 559841e8905..4c15be2bf42 100644
--- a/leim/quail/ipa.el
+++ b/leim/quail/ipa.el
@@ -183,7 +183,7 @@ incorrectly, as separate from the modified glyphs.")
"Ëš"]) ;; +Unexploded modifier U+02DA
("<r>" "ʳ") ;; +Rhotacized modifier U+02B3
("<w>" "Ê·") ;; +Labialized modifier U+02B7
- ("<?>" "ʱ") ;; +Murmured modififer U+02B1
+ ("<?>" "ʱ") ;; +Murmured modifier U+02B1
("b<trl>" "Ê™") ;; Bilabial trill U+0299
("b`" "É“") ;; Bilabial implosive U+0253
@@ -465,8 +465,8 @@ displays them, incorrectly, as separate from the modified glyphs.")
("_}" "Ìš") ;; No audible release U+031A
;; ` is alternatively; retroflexion in consonants
("`" "Ëž") ;; Rhotacization in vowels U+02DE
- ("_~" "̃") ;; Nasalisation U+0303
- ("~" "̃") ;; Nasalisation U+0303
+ ("_~" "̃") ;; Nasalization U+0303
+ ("~" "̃") ;; Nasalization U+0303
("_A" "̘") ;; Advanced tongue root U+0318
("_a" "̺") ;; Apical U+033A
("_B" "Ì") ;; Extra low tone U+030F
diff --git a/leim/quail/persian.el b/leim/quail/persian.el
index b664eb5995b..572c9127f9d 100644
--- a/leim/quail/persian.el
+++ b/leim/quail/persian.el
@@ -194,11 +194,11 @@ Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards.
;;;
;;; This translit keyboard is designed to be intuitive such that
;;; mapping are easy and natural to remember for a persian writer.
-;;; For some persian characters there are multiple ways of inputing
+;;; For some persian characters there are multiple ways of inputting
;;; the same character.
;;;
;;; The letter 'h' is used for a number of two character mappings,
-;;; this means that some character sequence inputs need to be repeated
+;;; this means that some character sequence inputs need to be repeated
;;; followed by a backspace followed by the 'h'.
;;; For example: سحر = 's' 's' '<bs>' 'h' 'h' 'r'
;;; In practice such sequences are rare.
diff --git a/leim/quail/py-punct.el b/leim/quail/py-punct.el
index 86919128011..947f54c76fa 100644
--- a/leim/quail/py-punct.el
+++ b/leim/quail/py-punct.el
@@ -8,7 +8,7 @@
;; Author: Ken'ichi HANDA <handa@etl.go.jp>
-;; Keywords: multilingual, input method, Chienese
+;; Keywords: multilingual, input method, Chinese
;; This file is part of GNU Emacs.
diff --git a/leim/quail/pypunct-b5.el b/leim/quail/pypunct-b5.el
index cc1f4f535e6..37c12659cc3 100644
--- a/leim/quail/pypunct-b5.el
+++ b/leim/quail/pypunct-b5.el
@@ -7,7 +7,7 @@
;; Author: Ken'ichi HANDA <handa@etl.go.jp>
-;; Keywords: multilingual, input method, Chienese
+;; Keywords: multilingual, input method, Chinese
;; This file is part of GNU Emacs.
diff --git a/leim/quail/sgml-input.el b/leim/quail/sgml-input.el
index 3b569879404..a8c335afa33 100644
--- a/leim/quail/sgml-input.el
+++ b/leim/quail/sgml-input.el
@@ -916,7 +916,7 @@ E.g.: &aacute; -> á"
("&theta;" ?\θ) ;; GREEK SMALL LETTER THETA
("&Theta;" ?\Θ) ;; GREEK CAPITAL LETTER THETA
("&thetas;" ?\θ) ;; GREEK SMALL LETTER THETA
- ("&thetasyLsymbol;" ?\Ï‘) ;; GREEK THETA SYMBOL
+ ("&thetasym;" ?\Ï‘) ;; GREEK THETA SYMBOL
("&thetav;" ?\Ï‘) ;; GREEK THETA SYMBOL
("&THgr;" ?\Θ) ;; GREEK CAPITAL LETTER THETA
("&thgr;" ?\θ) ;; GREEK SMALL LETTER THETA
diff --git a/leim/quail/tibetan.el b/leim/quail/tibetan.el
index c5c7061663e..ba47155524f 100644
--- a/leim/quail/tibetan.el
+++ b/leim/quail/tibetan.el
@@ -28,7 +28,7 @@
;; Created: Feb. 17. 1997
;; History:
-;; 1997.03.13 Support for inputting special signs and punctuations added.
+;; 1997.03.13 Support for inputting special signs and punctuation added.
;; (Only Ext. Wylie input)
;;; Commentary:
@@ -56,7 +56,7 @@
(if (string-match "^-[dy]" quail-current-key)
(setq quail-current-key (substring quail-current-key 1)))
(let ((str (tibetan-transcription-to-tibetan quail-current-key)))
- ;; If quail-current-key is for punctuations, it can't be
+ ;; If quail-current-key is for punctuation, it can't be
;; transcribed by tibetan-transcription-to-tibetan, thus STR
;; contains ASCII string now. In that case, use the current
;; characters set in quail-current-str.
@@ -80,7 +80,7 @@
'(("-d" . "$(7"2(B")
("-y" . "$(7"B(B")))
-;; Punctuations are not transcribed.
+;; Punctuation characters are not transcribed.
(defconst tibetan-wylie-punctuation-alist
'(("." . " ")
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index d043f41962e..922a96ad194 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,27 @@
+2011-12-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacsclient.c (decode_options) [WINDOWSNT]: Don't force tty = 0;
+ instead, treat both -c and -t as always requesting a new "tty" frame,
+ and let server.el decide which kind is actually required.
+ Reported by Uwe Siart <usenet@siart.de> in this thread:
+ http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00303.html
+
+2011-11-30 Chong Yidong <cyd@gnu.org>
+
+ * emacsclient.c (main): Condition last change on WINDOWSNT
+ (Bug#10155).
+
+2011-11-27 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (LOCAL_FLAGS): Add $(EMACS_EXTRA_C_FLAGS).
+
+ * emacsclient.c (main) <environ>: Remove declaration, already
+ pulled in by unistd.h on Posix hosts and stdlib.h on MS-Windows.
+
+2011-11-24 Glenn Morris <rgm@gnu.org>
+
+ * make-docfile.c (scan_lisp_file): Treat defcustom like defvar.
+
2011-11-14 Dan Nicolaescu <dann@ics.uci.edu>
* Makefile.in (all): Make sure "all" is the first target.
@@ -2032,7 +2056,7 @@
* etags.c [ETAGS_REGEXPS]: Now is unconditionally defined.
[LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, which is undefined.
(Objc_suffixes): Suggest using --lang=c for full help.
- (C_entries): Initialise savetoken to 0 to shut up the compiler.
+ (C_entries): Initialize savetoken to 0 to shut up the compiler.
2006-07-20 Andreas Schwab <schwab@suse.de>
@@ -2738,7 +2762,7 @@
(add_regex, regex_tag_multiline, readline): Use it.
(main): Free some global structures.
(fdesc): New member `written'.
- (readline, process_file): Initialise it.
+ (readline, process_file): Initialize it.
(put_entries): Set it.
(main): Use it to create entries for files without tags.
(total_size_of_entries): Do not count invalid tags.
@@ -2849,7 +2873,7 @@
(find_entries): Rewind unconditionally.
(find_entries): Do not call language functions directly, now calls
itself.
- (find_entries): Do general initialisations here.
+ (find_entries): Do general initializations here.
(CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit)
(Ada_getit, Pascal_functions, Pascal_functions)
(prolog_skip_comment): Do not do them here.
@@ -3085,7 +3109,7 @@
(TeX_commands): Name tags. Correction of old disabled code.
* etags.c (curfiledir, curtagfname): New global variables.
- (process_file): Initialise them.
+ (process_file): Initialize them.
(readline): Canonicalize the name found in #line directive.
2002-03-06 Jason Rumney <jasonr@gnu.org>
@@ -3175,7 +3199,7 @@
(L_getit): Simplify by using get_tag.
(Perl_functions, Postscript_functions, erlang_attribute): Use the
modified LOOKING_AT.
- (notinname): Remove '[' and added ')' to the recognised chars.
+ (notinname): Remove '[' and added ')' to the recognized chars.
(LOOKING_AT, get_tag, PHP_functions): Use notinname.
(Ada_getit, Ada_funcs, Python_functions, Scheme_functions):
Clarified, using strneq or notinname.
@@ -3242,7 +3266,7 @@
(Scheme_functions, Texinfo_nodes): Use it.
(Perl_functions): Use strneq.
(prolog_pred): Rename to prolog_pr.
- (prolog_pr): Recognise Prolog rules in addition to predicates.
+ (prolog_pr): Recognize Prolog rules in addition to predicates.
[ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
unmodified compile, as Cygwin's regex.h is incompatible with us.
[!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.
@@ -3516,7 +3540,7 @@
* etags.c (enum sym_type): New label st_C_template.
(gperf input): Use it for switching to C++ from C.
(consider_token): Do it.
- (C_entries): Initialise typdefcblev to quiet compilers.
+ (C_entries): Initialize typdefcblev to quiet compilers.
[!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing.
2001-02-22 Andrew Innes <andrewi@gnu.org>
@@ -3967,7 +3991,7 @@
* etags.c (C_entries, consider_token): C++ `operator' now is
tagged in most cases.
- As before, :: is not recognised if surrounded by spaces.
+ As before, :: is not recognized if surrounded by spaces.
* etags.c (relative_filename): Account for DOS file names such
that is impossible to make one relative to another.
@@ -4267,7 +4291,7 @@
1998-12-08 Geoff Voelker <voelker@cs.washington.edu>
- * makefile.nt: Do string comparision of _NMAKE_VER.
+ * makefile.nt: Do string comparison of _NMAKE_VER.
1998-11-03 Theodore Jump <tjump@cais.com>
@@ -4576,7 +4600,7 @@
* etags.c (C_entries): Use "." instead of "::" for Java.
(consider_token): is_func renamed to is_func_or_var.
(C_entries): is_func renamed to funorvar.
- (C_entries): Initialise tok.named.
+ (C_entries): Initialize tok.named.
(sym_type, C_stab_entry, consider_token): st_C_ignore is used to
get rid of "import", "package" and "friend".
(fvdef): Rename from funcdef. Also some constants renamed.
@@ -4630,7 +4654,7 @@
(lang_names): Add Java.
(sym_type): Add st_C_javastruct for Java.
(C_stab_entry): Add `extends' and `implements' keywords.
- (consider_token, C_entries): Recognise Java structures.
+ (consider_token, C_entries): Recognize Java structures.
1997-05-12 Francesco Potortì <F.Potorti@cnuce.cnr.it>
@@ -4678,7 +4702,7 @@
* etags.c (xnew): Add support for debugging with chkmalloc.
(error): Use this instead of printf whenever possible.
- (main): Only call xnew after having initialised progname.
+ (main): Only call xnew after having initialized progname.
(substitute): Bad memory corruption error corrected.
1997-04-08 Francesco Potortì <F.Potorti@cnuce.cnr.it>
@@ -5596,8 +5620,8 @@
1995-02-22 Francesco Potortì (pot@cnuce.cnr.it)
- * etags.c (C_entries): token_saved removed. Initialise tok.valid and
- savetok.valid. Mark token as valid when it is initialised.
+ * etags.c (C_entries): token_saved removed. Initialize tok.valid and
+ savetok.valid. Mark token as valid when it is initialized.
(make_tag): Make token only if token is valid and reset validity.
(CNL_SAVE_DEFINEDEF): Test for savetok.valid instead of token_saved.
(TOKEN): Add a new member: valid.
@@ -5609,15 +5633,15 @@
1995-02-14 Francesco Potortì (pot@cnuce.cnr.it)
- * etags.c (C_entries): Initialise the new members of TOKEN.
+ * etags.c (C_entries): Initialize the new members of TOKEN.
(C_entries): Do not allocate a new space for each token found by
consider_token. Let make_tag do that instead.
(make_tag): Since now TOKEN has memory of where it is taken from,
this new macro substitutes both make_tag_from_new_lb and
make_tag_from_oth_lb. All callers changed.
(TOKEN): Add linepos and buffer members.
- (main): Initialise token_str.
- (lang_extensions): Recognise .c++ and .h++ as C++ file suffixes.
+ (main): Initialize token_str.
+ (lang_extensions): Recognize .c++ and .h++ as C++ file suffixes.
(token_str): New global variable used by C_entries.
1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
@@ -5626,7 +5650,7 @@
1995-02-01 Francesco Potortì (pot@cnuce.cnr.it)
- * etags.c (pfnote): Initialise been_warned in the node.
+ * etags.c (pfnote): Initialize been_warned in the node.
(C_entries): Remove a speed hack for the sake of clarity.
1995-01-18 Francesco Potortì (pot@cnuce.cnr.it)
@@ -5911,8 +5935,8 @@
1994-09-29 Francesco Potortì (pot@cnuce.cnr.it)
- * etags.c (C_entries): Recognise typedef of ANSI style functions.
- (C_entries): Recognise #define inside a struct.
+ * etags.c (C_entries): Recognize typedef of ANSI style functions.
+ (C_entries): Recognize #define inside a struct.
(C_entries): ANSI tells that preprocessor commands do not have to
start on the first column.
(print_help): Documentation corrected for -d and -D.
@@ -6026,7 +6050,7 @@
1994-07-08 Dave Love (d.love@dl.ac.uk)
- * etags.c (takeprec): Recognise `character*(*) function'.
+ * etags.c (takeprec): Recognize `character*(*) function'.
1994-07-08 Francesco Potortì (pot@cnuce.cnr.it)
@@ -6219,7 +6243,7 @@
TeX_functions, Prolog_functions.
(inf): No more a global variable.
(C_entries): Take 2nd parameter `inf' instead of using the global one.
- (find_entries): Add the cp1 var for optimisation.
+ (find_entries): Add the cp1 var for optimization.
(find_entries): Add more suffixes for assembler files.
(Asm_funcs): Now finds labels even without an ending colon.
@@ -6247,7 +6271,7 @@
functions added to compute filenames in tags files.
(process_file): Filenames in tags file are relative to the
directory where the tags file is (useful with the -o option).
- (main): Initialise the outfiledir var.
+ (main): Initialize the outfiledir var.
(TYPEDST): Add the `tignore' value.
(C_entries): Corrected various small bugs.
@@ -6553,7 +6577,7 @@
1993-09-20 Francesco Potortì (pot@fly)
- * etags.c (C_entries): is_func is initialised here instead of in
+ * etags.c (C_entries): is_func is initialized here instead of in
consider_token for the sake of the yacc rules section.
(C_entries): Now class, struct, enum, union and typedef produce
named tags.
@@ -6607,7 +6631,7 @@
1993-08-04 Francesco Potortì (pot@spiff.gnu.ai.mit.edu)
- * etags.c (L_isdef, L_isquote, L_getit): Small optimisations.
+ * etags.c (L_isdef, L_isquote, L_getit): Small optimizations.
(L_funcs): The (foo::defmumble stuff now should work.
(consider_token): Function returned random value--corrected.
(C_entries): Corrected == versus = typo.
@@ -6629,7 +6653,7 @@
(C_entries, consider_token): Make use of fignore.
(consider_token): Reset funcdef when next_token_is_func: when in
ctags mode makes DEFVAR and others work better.
- (L_isquote): Function that recognises the "(quote" string.
+ (L_isquote): Function that recognizes the "(quote" string.
(L_getit): Ignore quoting via "'" or "(quote". Useful for defalias.
1993-07-29 Paul Eggert (eggert@twinsun.com)
@@ -6976,7 +7000,7 @@
(TOKEN): Member linestart removed.
(linepos, prev_linepos, lb1): Deleted.
(main): Call initbuffer on lbs array instead of lb1.
- (init): Remove the initialisation of the logical _gd array.
+ (init): Remove the initialization of the logical _gd array.
(find_entries): A .sa suffix means assembler file.
(C_create_stab): "auto", "void", "extern", "static" are st_C_typespec.
All C state machines rewritten.
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 56e17c100be..5e1c2d61b89 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -638,6 +638,22 @@ decode_options (int argc, char **argv)
if (display && strlen (display) == 0)
display = NULL;
+#ifdef WINDOWSNT
+ /* Emacs on Windows does not support GUI and console frames in the same
+ instance. So, it makes sense to treat the -t and -c options as
+ equivalent, and open a new frame regardless of whether the running
+ instance is GUI or console. Ideally, we would only set tty = 1 when
+ the instance is running in a console, but alas we don't know that.
+ The simplest workaround is to always ask for a tty frame, and let
+ server.el check whether it makes sense. */
+ if (tty || !current_frame)
+ {
+ display = (const char *) ttyname;
+ current_frame = 0;
+ tty = 1;
+ }
+#endif
+
/* If no display is available, new frames are tty frames. */
if (!current_frame && !display)
tty = 1;
@@ -654,14 +670,6 @@ decode_options (int argc, char **argv)
an empty string");
exit (EXIT_FAILURE);
}
-
- /* TTY frames not supported on Windows. Continue using GUI rather than
- forcing the user to change their command-line. This is required since
- tty is set above if certain options are given and $DISPLAY is not set,
- which is not obvious to users. */
- if (tty)
- tty = 0;
-
#endif /* WINDOWSNT */
}
@@ -1635,7 +1643,11 @@ main (int argc, char **argv)
/* Send over our environment and current directory. */
if (!current_frame)
{
+#ifndef WINDOWSNT
+ /* This is defined in stdlib.h on MS-Windows. It's defined in
+ unistd.h on some POSIX hosts, but not all (Bug#10155). */
extern char **environ;
+#endif
int i;
for (i = 0; environ[i]; i++)
{
diff --git a/lib-src/etags.c b/lib-src/etags.c
index b739e8f00c5..30d90e9d911 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -326,7 +326,7 @@ typedef struct regexp
struct re_pattern_buffer *pat; /* the compiled pattern */
struct re_registers regs; /* re registers */
bool error_signaled; /* already signaled for this regexp */
- bool force_explicit_name; /* do not allow implict tag name */
+ bool force_explicit_name; /* do not allow implicit tag name */
bool ignore_case; /* ignore case when matching */
bool multi_line; /* do a multi-line match on the whole file */
} regexp;
@@ -1862,10 +1862,10 @@ find_entries (FILE *inf)
assert (parser != NULL);
- /* Generic initialisations before reading from file. */
+ /* Generic initializations before reading from file. */
linebuffer_setlen (&filebuf, 0); /* reset the file buffer */
- /* Generic initialisations before parsing file with readline. */
+ /* Generic initializations before parsing file with readline. */
lineno = 0; /* reset global line number */
charno = 0; /* reset global char number */
linecharno = 0; /* reset global char number of line start */
@@ -1895,7 +1895,7 @@ find_entries (FILE *inf)
* 4. the character, if any, immediately after NAME in LINESTART must
* also be a character in NONAM.
*
- * The implementation uses the notinname() macro, which recognises the
+ * The implementation uses the notinname() macro, which recognizes the
* characters stored in the string `nonam'.
* etags.el needs to use the same characters that are in NONAM.
*/
@@ -3057,7 +3057,7 @@ make_C_tag (int isfun)
make_tag (token_name.buffer, token_name.len, isfun, token.line,
token.offset+token.length+1, token.lineno, token.linepos);
else if (DEBUG)
- { /* this branch is optimised away if !DEBUG */
+ { /* this branch is optimized away if !DEBUG */
make_tag (concat ("INVALID TOKEN:-->", token_name.buffer, ""),
token_name.len + 17, isfun, token.line,
token.offset+token.length+1, token.lineno, token.linepos);
@@ -3304,7 +3304,7 @@ C_entries (int c_ext, FILE *inf)
if (c == ':' && *lp == ':' && begtoken (lp[1]))
/* This handles :: in the middle,
but not at the beginning of an identifier.
- Also, space-separated :: is not recognised. */
+ Also, space-separated :: is not recognized. */
{
if (c_ext & C_AUTO) /* automatic detection of C++ */
c_ext = (c_ext | C_PLPL) & ~C_AUTO;
@@ -5900,7 +5900,7 @@ regex_tag_multiline (void)
if (!rp->multi_line)
continue; /* skip normal regexps */
- /* Generic initialisations before parsing file from memory. */
+ /* Generic initializations before parsing file from memory. */
lineno = 1; /* reset global line number */
charno = 0; /* reset global char number */
linecharno = 0; /* reset global char number of line start */
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
index ba54202954b..1ec365f3446 100644
--- a/lib-src/make-docfile.c
+++ b/lib-src/make-docfile.c
@@ -1149,8 +1149,10 @@ scan_lisp_file (const char *filename, const char *mode)
}
}
+ /* defcustom can only occur in uncompiled Lisp files. */
else if (! strcmp (buffer, "defvar")
- || ! strcmp (buffer, "defconst"))
+ || ! strcmp (buffer, "defconst")
+ || ! strcmp (buffer, "defcustom"))
{
char c1 = 0, c2 = 0;
type = 'V';
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
index 28f913a4df6..be7f4d0b6db 100644
--- a/lib-src/makefile.w32-in
+++ b/lib-src/makefile.w32-in
@@ -23,7 +23,7 @@ ALL = make-docfile hexl ctags etags movemail ebrowse emacsclient
LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DNO_LDAV=1 \
-DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../lib \
- -I../nt/inc -I../src
+ -I../nt/inc -I../src $(EMACS_EXTRA_C_FLAGS)
LIBS = $(BASE_LIBS) $(ADVAPI32)
diff --git a/lib/sha256.c b/lib/sha256.c
index c125542248b..4dbb5e91291 100644
--- a/lib/sha256.c
+++ b/lib/sha256.c
@@ -51,7 +51,7 @@ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ };
/*
Takes a pointer to a 256 bit block of data (eight 32 bit ints) and
- intializes it to the start constants of the SHA256 algorithm. This
+ initializes it to the start constants of the SHA256 algorithm. This
must be called before using hash in the call to sha256_hash
*/
void
diff --git a/lib/sha512.c b/lib/sha512.c
index c0bed95758f..5c2e3ab9f81 100644
--- a/lib/sha512.c
+++ b/lib/sha512.c
@@ -58,7 +58,7 @@ static const unsigned char fillbuf[128] = { 0x80, 0 /* , 0, 0, ... */ };
/*
Takes a pointer to a 512 bit block of data (eight 64 bit ints) and
- intializes it to the start constants of the SHA512 algorithm. This
+ initializes it to the start constants of the SHA512 algorithm. This
must be called before using hash in the call to sha512_hash
*/
void
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 69e5d5571d2..024131569dc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,645 @@
+2011-12-10 Eli Zaretskii <eliz@gnu.org>
+
+ * mail/rmailsum.el (rmail-header-summary): RFC2047 decode the
+ `from' or `to' address before taking its substring. Fixes
+ incorrect display in Rmail summary buffer whereby an RFC2047
+ encoded name is chopped in the middle of the encoded string, and
+ thus displayed encoded.
+
+2011-12-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (update-subdirs-CMD): Use a Local Variables section.
+
+2011-12-10 Eli Zaretskii <eliz@gnu.org>
+
+ * textmodes/texnfo-upd.el: Update commentary. Add a warning not
+ to use texinfo-update-node and commands that call it if the
+ Texinfo file uses @node lines without next/prev/up pointers.
+ Correct outdated description about texinfo-master-menu.
+ (texinfo-all-menus-update, texinfo-master-menu)
+ (texinfo-update-node, texinfo-every-node-update)
+ (texinfo-multiple-files-update): Doc fix. Warn against updating
+ all the @node lines.
+ (texinfo-master-menu): Only call texinfo-update-node if the prefix
+ argument is numeric. Explain better in the doc string what the
+ function really does.
+ (texinfo-insert-master-menu-list): Improve the error message
+ displayed if there's no menu in the Top node.
+ (Bug#2975) See also this thread:
+ http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00156.html.
+
+2011-12-09 Manuel Gómez <mgrojo@gmail.com> (tiny change)
+
+ * speedbar.el (speedbar-supported-extension-expressions):
+ Add .adb and .ads, commonly used for Ada source code (bug#10256).
+
+2011-12-09 Juanma Barranquero <lekktu@gmail.com>
+
+ * printing.el (pr-mode-alist):
+ * simple.el (filter-buffer-substring-functions)
+ (completion-list-insert-choice-function):
+ * window.el (window-with-parameter, window-atom-root)
+ (window-sides-slots, window-size-fixed, window-min-delta)
+ (window-max-delta, window--resize-mini-window)
+ (window--resize-child-windows-normal, window-tree)
+ (delete-other-windows, quit-window, split-window)
+ (display-buffer-record-window, special-display-buffer-names)
+ (special-display-regexps, special-display-popup-frame)
+ (same-window-p, split-window-sensibly)
+ (display-buffer-overriding-action, display-buffer-alist)
+ (display-buffer-base-action, display-buffer, switch-to-buffer)
+ (switch-to-buffer-other-window, switch-to-buffer-other-frame)
+ (fit-window-to-buffer, recenter-positions)
+ (mouse-autoselect-window-state, mouse-autoselect-window-select):
+ * emacs-lisp/syntax.el (syntax-propertize-function): Fix typos
+ and remove unneeded backslashes in docstrings.
+
+2011-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/lisp-mode.el (defmethod): Add doc-string-elt (bug#10244).
+
+ * pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg.
+ (pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that
+ end in ".mk".
+ (pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors
+ when reading the makefile (bug#10116).
+
+2011-12-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * pcmpl-gnu.el (pcomplete/make): Also allow filename arguments
+ (bug#10116).
+
+2011-12-06 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/package.el (package-archives): Doc fix re riskiness.
+
+2011-12-06 Chong Yidong <cyd@gnu.org>
+
+ * progmodes/cc-fonts.el (c-annotation-face): Use defface.
+
+2011-12-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * textmodes/table.el (table-shorten-cell): Fix typo.
+
+2011-12-05 Christopher Genovese <genovese.cr@gmail.com> (tiny change)
+
+ * emacs-lisp/assoc.el (aput): Fix return value (bug#10146)
+
+2011-12-05 Eli Zaretskii <eliz@gnu.org>
+
+ * descr-text.el (describe-char): Fix display of strong
+ right-to-left characters and directional embeddings and overrides.
+
+ * simple.el (what-cursor-position): Fix display of codepoints of
+ strong right-to-left characters.
+
+2011-12-05 Chong Yidong <cyd@gnu.org>
+
+ * faces.el (read-color): Doc fix.
+
+2011-12-05 Glenn Morris <rgm@gnu.org>
+
+ * align.el (align--set-marker): Add doc-string.
+ Don't try to move something that is not a marker. (Bug#10216)
+
+2011-12-04 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid
+ overly zealous deletion of trailing whitespace.
+
+2011-12-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-delete-client): On Windows, do not try to delete
+ the only terminal.
+ (server-process-filter): On Windows, treat requests for a tty frame as
+ if they were for a GUI frame if the running server is in GUI mode.
+
+2011-12-03 Glenn Morris <rgm@gnu.org>
+
+ * textmodes/texinfmt.el (batch-texinfo-format): Doc fix. (Bug#10207)
+
+2011-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * electric.el: Streamline electric-indent's hook.
+ (electric-indent-chars): Revert to simple list.
+ (electric-indent-functions): New var.
+ (electric-indent-post-self-insert-function): Use it.
+
+ * progmodes/prolog.el (prolog-find-value-by-system): Avoid error when
+ there's no inferior buffer (bug#10196).
+ (prolog-consult-compile): Don't use toggle-read-only.
+
+2011-12-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-maybe-open-connection): Handle user
+ interrupt. (Bug#10187)
+
+2011-12-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * pcmpl-gnu.el (pcomplete/tar): large-file-warn-threshold can be nil
+ (bug#9160).
+
+ * dired-aux.el (dired-query): Don't assume help-char is modifier-free
+ (bug#10191).
+
+2011-12-02 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-search): Display "end of manual" when Isearch
+ reaches the end of single-file Info manual. (Bug#9918)
+
+2011-12-02 Eli Zaretskii <eliz@gnu.org>
+
+ * isearch.el (isearch-message-prefix): Run the input method part
+ of the prompt through bidi-string-mark-left-to-right. (Bug#10183)
+
+2011-12-02 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-occur): Use `word-search-regexp' for
+ `isearch-word'.
+ (isearch-search-and-update): Add condition for `isearch-word' and
+ call `word-search-regexp'. (Bug#10145)
+
+2011-12-01 Glenn Morris <rgm@gnu.org>
+
+ * eshell/em-hist.el (eshell-hist-initialize):
+ Handle eshell-history-size nil and HISTSIZE set or unset.
+ (eshell-history-file-name, eshell-history-size): Fix custom type.
+
+2011-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * man.el (Man-completion-table): Fix the lambda case (bug#10168).
+
+2011-12-01 Michael McNamara <mac@mail.brushroad.com>
+
+ * progmodes/verilog-mode.el (verilog-pretty-expr):
+ Rework verilog-pretty-expr to handle new assignment operators in system
+ verilog, such as += *= and the like.
+ (verilog-assignment-operator-re): Regular expression to find the
+ assigment operator in a verilog assignment.
+ (verilog-assignment-operation-re): Regular expression to find an
+ assignment statement for pretty-expr.
+ (verilog-in-attribute-p): Query returns true if point is in an
+ attribute context; used to skip these for expression line up from
+ pretty-expr.
+ (verilog-in-parameter-p): Query returns true if point is in an
+ parameter definition context; used to skip these for expression
+ line up from pretty-expr.
+ (verilog-in-parenthesis-p): Query returns true if point is in a
+ parenthetical expression, specifically ( ) but not [ ] or { };
+ used by pretty-expr.
+ (verilog-just-one-space): If there is no space, don't add one.
+ (verilog-get-lineup-indent-2): Specifically skip just attribute
+ contexts for expression lineup, rather than skipping all
+ parenthetical expressions.
+ (verilog-calculate-indent): Fix comment, and fix indent.
+ (verilog-do-indent): Indent declarations in lists (suggested by
+ Joachim Lechner).
+ (verilog-mode-abbrev-table): Populate abbrev mode with the various
+ skeleton items.
+ (verilog-sk-ovm-class): Add skeleton for OVM classes (reported
+ by Alain Mellan).
+
+2011-12-01 Wilson Snyder <wsnyder@wsnyder.org>
+
+ * progmodes/verilog-mode.el (verilog-read-defines): Fix reading
+ parameters with embedded comments. Reported by Ray Stevens.
+ (verilog-calc-1, verilog-fork-wait-re) (verilog-forward-sexp,
+ verilog-wait-fork-re): Fix indentation of "wait fork", bug407.
+ Reported by Tim Holt.
+ (verilog-auto): Fix AUTOing a upper module then AUTOing module
+ instantiated by upper module causing wrong expansion until AUTOed a
+ second time. Reported by K C Buckenmaier.
+ (verilog-diff-auto): Fix showing .* as a difference when
+ `verilog-auto-star-save' off. Reported by Dan Dever.
+ (verilog-auto-reset, verilog-read-always-signals)
+ (verilog-auto-reset-blocking-in-non): Fix AUTORESET including
+ temporary signals in reset list if
+ verilog-auto-reset-blocking-in-non is nil, and match assignment
+ style to each signal's assignment type, bug381.
+ Reported by Thomas Esposito.
+ (verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re)
+ (verilog-uvm-statement-re): Support UVM indentation and
+ highlighting, with old OVM keywords only.
+ (verilog-auto-tieoff, verilog-auto-tieoff-declaration):
+ Support AUTOTIEOFF creating non-wire data types. Suggested by Jonathan
+ Greenlaw.
+ (verilog-auto-insert-lisp, verilog-delete-to-paren)
+ (verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt)
+ (verilog-inject-sense, verilog-read-inst-pins)
+ (verilog-read-sub-decls, verilog-read-sub-decls-line):
+ Fix mismatching parenthesis inside commented out code when deleting
+ AUTOINST, bug383. Reported by Jonathan Greenlaw.
+ (verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with
+ non-numeric vector width. Reported by Alex Reed.
+ (verilog-auto-ascii-enum): Add "onehot" option to work around not
+ detecting signals with parameter widths. Reported by Alex Reed.
+ (verilog-auto-delete-trailing-whitespace):
+ With `verilog-auto-delete-trailing-whitespace' remove trailing
+ whitespace in auto expansion, bug371. Reported by Brad Dobbie.
+ (verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss):
+ Fix verilog-scan-cache corruption when running user AUTO expansion
+ hooks that call indentation routines.
+ (verilog-simplify-range-expression): Fix typo ignoring lower case
+ identifiers.
+ (verilog-delete-auto): Fix delete-autos to also remove user created
+ automatics, as long as they start with AUTO.
+ (verilog-batch-diff-auto, verilog-diff-auto)
+ (verilog-diff-function): Add `verilog-diff-auto' and bind to
+ "C-c?" to report differences in AUTO expansion, ignoring spaces.
+ (verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick)
+ (verilog-in-paren-quick, verilog-re-search-backward-quick)
+ (verilog-re-search-forward-quick, verilog-syntax-ppss):
+ Fix calling `syntax-ppss' when inside auto expansions as the ppss hook
+ is disabled and its cache will get corrupt, causing AUTOS not to
+ expand. Instead use only -quick functions.
+ (verilog-scan-region): Fix scanning over escaped quotes.
+ (verilog-inside-comment-or-string-p, verilog-inside-comment-p)
+ (verilog-re-search-backward-quick)
+ (verilog-re-search-forward-quick, verilog-scan): verilog-scan and
+ related functions now ignore strings, to fix misparsing of strings
+ with magic comments embedded in them.
+ (verilog-read-auto-template):
+ Fix 'verilog-auto-inst-template-numbers' with extra newline before (.
+ Reported by Brad Dobbie.
+ (verilog-read-auto-template):
+ Fix 'verilog-auto-inst-template-numbers' with comments.
+ Reported by Brad Dobbie.
+ (verilog-auto-inst, verilog-auto-inst-param)
+ (verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce
+ merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie.
+ (verilog-auto-inst-template-numbers): Add 'lhs' policy for
+ debugging templates without merge conflicts, bug357.
+ Reported by Brad Dobbie.
+ (verilog-read-auto-template):
+ Fix verilog-auto-inst-template-numbers with multiple templates.
+ Reported by Brad Dobbie.
+ (verilog-define-abbrev): Fix verilog-mode abbrevs to be system
+ abbrevs so user won't be asked to save.
+ (verilog-read-auto-lisp-present): Fix to start at beginning of
+ buffer in case called outside of verilog-auto.
+ (verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1"
+ to "X-2". Reported by Matthew Myers.
+ (verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating
+ all inputs from module templates. Reported by Leith Johnson.
+ (verilog-module-inside-filename-p): Fix locating programs as with
+ modules.
+ (verilog-auto-inst-port): Fix vl-width expressions when using
+ verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn.
+ (verilog-decls-get-regs, verilog-decls-get-signals,
+ verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new,
+ verilog-modi-cache-add-vars, verilog-modi-cache-add-wires,
+ verilog-read-decls): Combine reg and wire structures into one var
+ structure to represent SystemVerilog concepts.
+ (verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg)
+ (verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire)
+ (verilog-auto-wire-type, verilog-insert-definition):
+ Add verilog-auto-wire-type and AUTOLOGIC to support using
+ SystemVerilog "logic" keyword instead of "wire"/"reg".
+ (verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE
+ to declares outputs that also have assignments (presumably in an
+ ifdef or generate if so there's not a driver conflict).
+ Reported by Matthew Myers.
+ (verilog-auto-declare-nettype, verilog-insert-definition):
+ Add verilog-auto-declare-nettype to fix declarations using
+ `default_nettype none. Reported by Julian Gorfajn.
+ (verilog-read-always-signals-recurse, verilog-read-decls)
+ (verilog-read-sub-decls-gate): Fix infinite loop with (*) and
+ malformed end statement, bug325. Reported by Joshua Wise and
+ Andrew Drake.
+ (verilog-auto-star-safe, verilog-delete-auto-star-implicit)
+ (verilog-inst-comment-re): Fix not deleting Interfaced comment
+ when expanding .* in interfaces, bug320. Reported by Pierre-David
+ Pfister.
+ (verilog-read-module-name): Fix import statements between module
+ name and open parenthesis, bug317. Reported by Pierre-David
+ Pfister.
+ (verilog-simplify-range-expression): Fix simplification of
+ multiplications inside AUTOWIRE connections, bug303.
+ (verilog-auto-inst-port): Support parameter expansion in
+ multidimensional arrays.
+ (verilog-read-decls): Fix AUTOREG etc looking for "endproperty"
+ after "assert property". Reported by Julian Gorfajn.
+ (verilog-simplify-range-expression): Fix "couldn't merge" errors
+ with multiplication, bug303.
+ (verilog-read-decls): Fix parsing of unsigned data types, bug302.
+ Reported by Jan Frode Lonnum.
+
+2011-11-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * htmlfontify.el (hfy-page-header, hfy-post-html-hooks)
+ (hfy-shell-file-name, hfy-shell):
+ * international/fontset.el (x-decompose-font-name): Fix typos.
+
+2011-11-29 Ken Brown <kbrown@cornell.edu>
+
+ * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878.
+ (gdb-version): Remove defvar.
+ (gdb-supports-non-stop): New defvar, replacing `gdb-version'.
+ (gdb-gud-context-command, gdb-non-stop-handler)
+ (gdb-current-context-command, gdb-stopped): Use it.
+ (gdb-init-1): Enable pretty printing here.
+ (gdb-non-stop-handler): Don't enable pretty-printing here.
+ Check to see if the target supports non-stop mode; if not, turn off
+ non-stop mode. Use the following.
+ (gdb-check-target-async): New defun.
+ (gud-watch, gdb-stopped): Fix whitespace.
+ (gdb-get-source-file): Don't try to display the source file if
+ `gdb-main-file' is nil.
+
+2011-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * align.el: Try to generate fewer markers (bug#10047).
+ (align--set-marker): New macro.
+ (align-region): Use it.
+
+2011-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022).
+
+2011-11-29 Chong Yidong <cyd@gnu.org>
+
+ * indent.el (indent-for-tab-command, indent-according-to-mode):
+ Doc fix.
+ (indent-region): Doc fix. Switch nested ifs to equivalent cond.
+
+2011-11-29 Michael Albinus <michael.albinus@gmx.de>
+
+ * vc/diff-mode.el (diff-find-file-name): Make `read-file-name'
+ aware of remote file names. (Bug#10124)
+
+2011-11-29 Chong Yidong <cyd@gnu.org>
+
+ * frame.el (auto-raise-mode, auto-lower-mode): Doc fix.
+
+2011-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * files.el (find-file): Don't use force-same-window (bug#10144).
+ * window.el (switch-to-buffer): Better match Emacs-23 behavior and only
+ use pop-to-buffer if the selected window can't be used.
+ (pop-to-buffer-same-window): Use display-buffer--same-window-action.
+
+2011-11-28 Eli Zaretskii <eliz@gnu.org>
+
+ * vc/diff-mode.el (diff-mode-map): Don't inherit 'z' => 'M-z' from
+ special-mode-map.
+
+2011-11-28 Chong Yidong <cyd@gnu.org>
+
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Fix default doc.
+
+2011-11-27 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gdb-mi.el (gdb-init-1): Condition execution of
+ gdb-get-source-file-list on gdb-create-source-file-list.
+
+2011-11-26 Eli Zaretskii <eliz@gnu.org>
+
+ * whitespace.el (whitespace-newline): Use a different foreground
+ color for 16-color light-background displays.
+
+2011-11-24 Chong Yidong <cyd@gnu.org>
+
+ * window.el (display-buffer--special-action): Doc fix.
+
+2011-11-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lisp/avl-tree.el (avl-tree--do-copy, avl-tree-create)
+ (avl-tree-compare-function, avl-tree-empty, avl-tree-enter)
+ (avl-tree-delete, avl-tree-member, avl-tree-member-p, avl-tree-map)
+ (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar, avl-tree-copy)
+ (avl-tree-clear, avl-tree-stack, avl-tree-stack-pop)
+ (avl-tree-stack-first):
+ * emacs-lisp/cconv.el (cconv--analyse-use):
+ * net/gnutls.el (gnutls-negotiate): Fix typos.
+
+2011-11-24 Glenn Morris <rgm@gnu.org>
+
+ * lpr.el (lpr-windows-system, lpr-lp-system):
+ * mail/binhex.el (binhex-begin-line):
+ * progmodes/grep.el (grep-history, grep-find-history):
+ * textmodes/flyspell.el:
+ * vc/pcvs-defs.el (cvs-global-menu):
+ * vc/vc-bzr.el (vc-bzr-admin-checkout-format-file):
+ * vc/vc-mtn.el (vc-mtn-admin-dir, vc-mtn-admin-format):
+ * vc/vc-cvs.el (vc-cvs-registered): Give them basic doc-strings.
+
+ * net/tls.el: Fix case of "GnuTLS".
+
+ * paths.el (rmail-file-name): Format doc-string for make-docfile.
+
+ * version.el (emacs-build-system): Give it a doc-string.
+
+2011-11-24 Juri Linkov <juri@jurta.org>
+
+ * view.el (view-buffer): Revert 2011-07-19T15:01:49Z!larsi@gnus.org from 2011-07-19 (bug#8615).
+
+2011-11-24 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmailmm.el (rmail-mime): When rmail-enable-mime is non-nil,
+ if called on a non-mime message just toggle the headers. (Bug#8006)
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * allout.el (allout-setup, allout-auto-save-temporarily-disabled)
+ (allout-lead-with-comment-string, allout-structure-deleted-hook)
+ (allout-mode, allout-chart-subtree, allout-hotspot-key-handler)
+ (allout-rebullet-heading, allout-open-sibtopic)
+ (allout-toggle-current-subtree-encryption)
+ (allout-toggle-subtree-encryption, allout-encrypt-string)
+ (allout-next-topic-pending-encryption, allout-adjust-file-variable)
+ (allout-distinctive-bullets-string, allout-auto-activation):
+ * window.el (window-normalize-buffer-to-display):
+ * progmodes/verilog-mode.el (verilog-batch-indent):
+ * textmodes/bibtex.el (bibtex-field-braces-opt)
+ (bibtex-field-strings-opt):
+ * vc/cvs-status.el (cvs-tree-merge):
+ Fix typos.
+
+2011-11-23 Michael Albinus <michael.albinus@gmx.de>
+
+ * rfn-eshadow.el (rfn-eshadow-update-overlay): Let-bind
+ `non-essential' to t, in order to avoid remote connections.
+
+2011-11-23 Eli Zaretskii <eliz@gnu.org>
+
+ * emacs-lisp/autoload.el (autoload-generate-file-autoloads):
+ On MS-DOS and MS-Windows, compare with loaddefs.el
+ case-insensitively.
+
+2011-11-23 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change)
+
+ * mail/unrmail.el (unrmail): Always add blank line. (Bug#7743)
+
+2011-11-23 Glenn Morris <rgm@gnu.org>
+
+ * paths.el (rmail-file-name): Reformat the doc-string so that it
+ is picked up.
+
+ * mail/rmail.el (rmail-message-filter, rmail-auto-file): Doc fixes.
+ (rmail-auto-file): Ignore case in the "special" field names,
+ as mail-fetch-field does for all others.
+
+ * mail/rmail.el (rmail-forward):
+ * mail/rmailkwd.el (rmail-set-label):
+ * mail/rmailout.el (rmail-output, rmail-output-as-seen)
+ (rmail-output-body-to-file): Give error if no message. (Bug#10082)
+
+ * mail/rmail.el (rmail-current-message): Doc fix.
+
+ * mail/rmail.el (rmail-message-filter): Mark as obsolete. (Bug#2624)
+
+2011-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * server.el (server-eval-and-print): Allow C-g (bug#6585).
+
+2011-11-22 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmailmm.el (test-rmail-mime-handler)
+ (test-rmail-mime-bulk-handler)
+ (test-rmail-mime-multipart-handler): Move tests to test/ directory.
+
+2011-11-21 Juri Linkov <juri@jurta.org>
+
+ * calc/calc.el (calc-read-key-sequence): Let-bind `input-method-function'
+ to nil. (Bug#10018)
+
+2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation):
+ Tell the caller that the next line needs recomputation, even
+ though it doesn't start a sexp (bug#10094).
+
+2011-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify.
+
+2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame):
+ Use force-same-window.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * descr-text.el (describe-char-unicode-data):
+ * json.el (json-string-escape):
+ * mail/footnote.el (footnote-unicode-string, footnote-unicode-regexp)
+ (Footnote-unicode, Footnote-style-p):
+ * net/ntlm.el (ntlm-get-password-hashes): Fix typos.
+
+2011-11-20 Chong Yidong <cyd@gnu.org>
+
+ * window.el (replace-buffer-in-windows): Restore interactive spec.
+
+2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * electric.el (electric-indent-mode): Fix last change (too optimistic).
+
+ * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably.
+ (byte-compile-global-not-obsolete-vars): New var.
+ (byte-compile-check-variable, byte-compile-make-obsolete-variable):
+ Use it.
+ (byte-compile-warn-obsolete): Align text with the one in *Help*.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords):
+ * progmodes/pascal.el (electric-pascal-equal):
+ * textmodes/reftex-dcr.el (reftex-view-crossref-from-bibtex):
+ * xml.el (xml-substitute-special): Fix typos.
+
+2011-11-20 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom.
+ (rmail-insert-mime-forwarded-message-function, rmail-mime-feature):
+ Doc fixes.
+ (rmail-decode-mime-charset): Mark as obsolete.
+
+ * mail/rmailsum.el (rmail-message-regexp-p-1):
+ * mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend):
+ Before using mime functions, check they are set. (Bug#10077)
+
+2011-11-19 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-finder-find-node): Use `package--builtins' instead
+ of `package-alist'. Use node names formed by the pattern "Keyword "
+ and the keyword name.
+
+2011-11-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * progmodes/sh-script.el (sh-assignment-regexp): Add entry for
+ bash.
+
+2011-11-19 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-hide-note-references): Add `:set' tag to `defcustom'
+ that calls `revert-buffer' on all Info buffers. (Bug#9915)
+ (Info-revert-find-node): Remove let-bindings `old-buffer-name',
+ `old-history', `old-history-forward'. Add let-binding
+ `window-selected'. Remove calls to `kill-buffer',
+ `switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil
+ before calling `Info-find-node', so `Info-find-node-2' will reread
+ the Info file. Restore window positions only when `window-selected'
+ is non-nil.
+
+2011-11-19 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-lazy-highlight-new-loop):
+ Remove condition `(not isearch-error)'. (Bug#9918)
+
+ * misearch.el (multi-isearch-search-fun): Add condition
+ `(not bound)' to ignore lazy-highlighting search.
+ Add the search-failed message "end of multi" when the end of
+ multi-sequence is reached. Uncapitalize the search-failed
+ message "Repeat for next buffer".
+
+ * info.el (Info-search): Add the search-failed message
+ "end of the manual" when the end of the manual is reached
+ in Isearch mode.
+
+2011-11-19 Juri Linkov <juri@jurta.org>
+
+ * info.el (Info-find-node-2, Info-select-node, Info-history-find-node):
+ Use non-destructive `remove' instead of `delete' because
+ `Info-history-list' stored to `Info-isearch-initial-history-list' in
+ `Info-isearch-start' might need to be restored in `Info-isearch-end'.
+
+2011-11-19 Juri Linkov <juri@jurta.org>
+
+ * isearch.el (isearch-edit-string): Let-bind `history-add-new-input'
+ to nil instead of binding `search-ring' and `regexp-search-ring'.
+ (Bug#9185)
+
+2011-11-19 Eli Zaretskii <eliz@gnu.org>
+
+ * simple.el (line-move): Force movement by logical lines for any
+ hscrolled window, not only when auto-hscroll-mode is on.
+ (line-move-visual): Update doc string to that effect. (Bug#10076)
+
+2011-11-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * language/european.el (macintosh): Define as alias for mac-roman.
+
+2011-11-19 Eli Zaretskii <eliz@gnu.org>
+
+ * mail/rmailmm.el (rmail-mime-display-header)
+ (rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts.
+ (rmail-mime-entity-segment, rmail-mime-toggle-raw)
+ (rmail-mime-toggle-hidden, rmail-mime-insert-text)
+ (rmail-mime-insert-bulk, rmail-mime-insert-multipart)
+ (rmail-mime-insert, rmail-mime-insert-tagline): Use them instead
+ of a raw aref.
+ (rmail-mime-entity-segment): To get past the tagline, move forward
+ 2 more lines, to account for the 2 empty lines that precede and
+ follow the line with the buttons.
+ (rmail-mime-update-tagline): Move one more line, to get past the
+ empty line that follows the buttons in the tagline. (Bug#9520)
+
+2011-11-19 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (window-max-delta-1, window-min-delta-1)
+ (window-min-size-1, window-state-get-1, window-state-put-1)
+ (window-state-put-2): Use "window--" prefix.
+
2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/smie.el: Improve warnings and conflict detection.
@@ -60,12 +702,12 @@
2011-11-16 Michael Albinus <michael.albinus@gmx.de>
- * net/tramp.el (tramp-handle-file-truename): Cache only the local
- file name.
-
* net/tramp-cache.el (tramp-flush-file-property): Flush also
properties of linked files. (Bug#9879)
+ * net/tramp-sh.el (tramp-sh-handle-file-truename): Cache only the
+ local file name.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* menu-bar.el (menu-bar-file-menu):
@@ -1816,7 +2458,7 @@
* window.el (window-auto-delete): Remove.
(window-deletable-p): Remove argument FORCE. Don't deal with
- dedicatedness and previous buffers.
+ dedication and previous buffers.
(switch-to-prev-buffer): Don't delete window.
(delete-windows-on): Delete a window's frame if and only if the
window is dedicated.
@@ -2940,7 +3582,7 @@
more people.
* cus-edit.el (custom-file): When running under emacs -q, always
- refuse to save the customisations, even if the .emacs file doesn't
+ refuse to save the customizations, even if the .emacs file doesn't
exist.
* info.el: Remove the `Info-beginning-of-buffer' function
@@ -3604,7 +4246,7 @@
* cus-edit.el (custom-show): Mark as obsolete.
- * net/network-stream.el (network-stream-open-starttls): If gnutls
+ * net/network-stream.el (network-stream-open-starttls): If GnuTLS
negotiation fails, then possibly try again with a non-encrypted
connection (bug#9017).
@@ -4827,7 +5469,7 @@
* net/network-stream.el (network-stream-open-starttls): Support
upgrading to STARTTLS always, even if we don't have built-in support.
- (open-network-stream): Add the :always-query-capabilies keyword.
+ (open-network-stream): Add the :always-query-capabilities keyword.
* mail/smtpmail.el: Rewritten to do opportunistic STARTTLS
upgrades with `open-network-stream', and rely solely on
@@ -7790,7 +8432,7 @@
2011-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/network-stream.el (network-stream-open-starttls): Only do
- opportunistic STARTTLS upgrades if we have built-in gnutls support.
+ opportunistic STARTTLS upgrades if we have built-in GnuTLS support.
Upgrades via gnutls-cli are too slow to be done opportunistically.
2011-04-12 Juanma Barranquero <lekktu@gmail.com>
diff --git a/lisp/ChangeLog.10 b/lisp/ChangeLog.10
index 0cf64cf36e9..a1cfaee6eaf 100644
--- a/lisp/ChangeLog.10
+++ b/lisp/ChangeLog.10
@@ -374,7 +374,7 @@
the function is advised in cc-defs. However, that advice
doesn't help if the autoloads are updated in an old (X)Emacs
with this version of CC Mode, but I believe it's unlikely that
- anyone does that when CC Mode isn't distributed with with it.
+ anyone does that when CC Mode isn't distributed with it.
* progmodes/cc-defs.el (add-to-list): Add advice to get the
optional third append argument in older (X)Emacsen.
@@ -1036,13 +1036,13 @@
2003-06-29 Nick Roberts <nick@nick.uklinux.net>
- * gdb-ui.el (gdb-display-number-end): Don't re-initialise local
+ * gdb-ui.el (gdb-display-number-end): Don't re-initialize local
variables to preserve array slices.
(gdb-array-slice): Rename gdb-mouse-array-slice.
(gdb-array-slice): Interactive function bound to "\r" for text
terminals.
(gdb-view-source): Rename gdb-view-source-function.
- Set uninitialised variables (defvars) to nil.
+ Set uninitialized variables (defvars) to nil.
2003-06-29 Kai Großjohann <kai.grossjohann@gmx.net>
@@ -1837,7 +1837,7 @@
2003-05-31 Stefan Monnier <monnier@cs.yale.edu>
* view.el (view-file, view-file-other-window, view-file-other-frame):
- Signal an error when trying to visit an inexistent file.
+ Signal an error when trying to visit a nonexistent file.
* vc-hooks.el (vc-call-backend): Give better error message
when a backend function is missing.
@@ -2016,7 +2016,7 @@
2003-05-28 Andreas Schwab <schwab@suse.de>
* descr-text.el (describe-char): Use `char' instead of
- `(char-after)'. Fix display of unicode.
+ `(char-after)'. Fix display of Unicode.
2003-05-28 Nick Roberts <nick@nick.uklinux.net>
@@ -2149,7 +2149,7 @@
2003-05-25 Kevin Ryde <user42@zip.com.au>
- * info-look.el (autoconf-mode setups): Recognise AH_ and AU_ entries
+ * info-look.el (autoconf-mode setups): Recognize AH_ and AU_ entries
in "(autoconf)Autoconf Macro Index". Add "(autoconf)M4 Macro Index"
and "(autoconf)Autotest Macro Index". Remove duplicate copy of
"(automake)Macro and Variable Index". Keep automake after all
@@ -2429,8 +2429,8 @@
2003-05-21 Dave Love <fx@gnu.org>
* descr-text.el (unicodedata-file): New.
- (unicode-data): New (adapted from unicode branch).
- (describe-char): Use it. Print char's unicode differently.
+ (unicode-data): New (adapted from Unicode branch).
+ (describe-char): Use it. Print char's Unicode code point differently.
Avoid elements with null cadr when formatting list. Clarify error
message when used in Help buffer.
(button): Require when compiling.
@@ -2440,7 +2440,7 @@
* gdb-ui.el (gud-gdba-command-name): Use -noasync option for Gdb
with MS windows.
- (gdb-display-end): Only make buffer writeable temporarily.
+ (gdb-display-end): Only make buffer writable temporarily.
Move "View" submenu up one level.
2003-05-21 Nick Roberts <nick@nick.uklinux.net>
@@ -5904,7 +5904,7 @@
(mis-)use tramp-current-user as indication, assuming it is set in
`tramp-completion-handle-file-name-all-completions'.
(tramp-send-region): Handle the case `tramp-chunksize' is equal 0.
- I did it accidently. Infinite loop ...
+ I did it accidentally. Infinite loop ...
(tramp-get-device): `tramp-make-tramp-file-name' must not be
called with NIL path. It fails in case of multi-method.
(tramp-file-name-for-operation): Apply `expand-file-name' for
@@ -8053,7 +8053,7 @@
(gdb-quit): Reset some variables including tool-bar-map.
* gud.el (gdb-running): New variable.
- (gud-menu-map): Use gdb-running to grey out toolbar buttons
+ (gud-menu-map): Use gdb-running to gray out toolbar buttons
with gdba in gdb-ui.el.
(gud-tool-bar-map): Move to avoid byte compiler warning.
@@ -9746,8 +9746,8 @@
2002-09-28 Simon Josefsson <jas@extundo.com>
- * mail/smtpmail.el (smtpmail-via-smtp): Only negotiate starttls on
- streams that were opened using starttls.
+ * mail/smtpmail.el (smtpmail-via-smtp): Only negotiate STARTTLS on
+ streams that were opened using STARTTLS.
2002-09-28 Paul Reilly <pmr@pajato.com>
@@ -9827,7 +9827,7 @@
(uniquify-delay-rationalize-file-buffer-names): Remove useless check.
(kill-buffer-hook): Don't change globally.
-2002-09-27 Stefan Monnier <monnier@cs.yale.edu>.
+2002-09-27 Stefan Monnier <monnier@cs.yale.edu>
* calc/calc.el (calc-bug-address, calc-scan-for-dels, calc-stack)
(calc-stack-top, calc-always-load-extensions)
@@ -11680,7 +11680,7 @@
2002-08-27 Francesco Potortì <pot@gnu.org>
* net/ange-ftp.el (ange-ftp-skip-msgs): Skip the 530 response
- given by vsFTPd when accessed with a kerberised FTP client.
+ given by vsFTPd when accessed with a kerberized FTP client.
2002-08-27 Richard M. Stallman <rms@gnu.org>
@@ -14917,7 +14917,7 @@
2002-05-14 Francesco Potortì <pot@gnu.org>
- * shell.el (shell-mode): Make second part of initialisation
+ * shell.el (shell-mode): Make second part of initialization
depend on whether comint-input-ring is empty, rather than depend
on it being nil.
@@ -17991,7 +17991,7 @@
* international/ucs-tables.el (ucs-unify-8859, ucs-fragment-8859):
Use unify-8859-on-decoding-mode.
(unify-8859-on-decoding-mode): Also set translation-table-for-input.
- (ucs-insert): Give an error if the unicode char can't be created.
+ (ucs-insert): Give an error if the Unicode char can't be created.
* pcvs-parse.el (cvs-parse-table): Be a bit more lenient.
(cvs-parse-status): Handle the "used to have a conflict" marker.
@@ -19206,7 +19206,7 @@
* language/cyril-util.el (cyrillic-encode-koi8-r-char)
(cyrillic-encode-alternativnyj-char): Get translation tables from
symbol properties, not as variables.
- (standard-display-cyrillic-translit): Include unicodes.
+ (standard-display-cyrillic-translit): Include Unicode characters.
2002-02-06 Kim F. Storm <storm@cua.dk>
@@ -20778,7 +20778,7 @@
* Makefile.in (distclean): Remove Makefile in the build
directory, not in the source directory.
-2001-12-21 Simon Josefsson <jas@extundo.com>.
+2001-12-21 Simon Josefsson <jas@extundo.com>
* mail/smtpmail.el (smtpmail-send-queued-mail):
Use with-temp-buffer instead of find-file-noselect, and bind
@@ -22669,7 +22669,7 @@
Suggested by Kalle Olavi Niemitalo <kon@iki.fi>:
- * vc-hooks.el (vc-error-occured): Backquotified.
+ * vc-hooks.el (vc-error-occurred): Backquotified.
(vc-file-prop-obarray): Use prime length for better efficiency.
* vc.el (vc-clear-context): Fill obarray with 0, not nil.
@@ -22790,7 +22790,7 @@
2001-11-04 Miles Bader <miles@gnu.org>
* startup.el (fancy-splash-head): Reapply Gerd's hack to make the
- shadow of the splash image grey on a dark background instead of black.
+ shadow of the splash image gray on a dark background instead of black.
2001-11-03 Stefan Monnier <monnier@cs.yale.edu>
diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11
index 08bd70926b4..38a5530fbfc 100644
--- a/lisp/ChangeLog.11
+++ b/lisp/ChangeLog.11
@@ -6728,11 +6728,11 @@
2004-05-28 Simon Josefsson <jas@extundo.com>
* mail/smtpmail.el (smtpmail-open-stream):
- Bind starttls-extra-arguments too, if starttls.el uses GNUTLS.
+ Bind starttls-extra-arguments too, if starttls.el uses GnuTLS.
2004-05-26 Simon Josefsson <jas@extundo.com>
- * starttls.el: Merge with my GNUTLS based starttls.el.
+ * starttls.el: Merge with my GnuTLS based starttls.el.
(starttls-gnutls-program, starttls-use-gnutls)
(starttls-extra-arguments, starttls-process-connection-type)
(starttls-connect, starttls-failure, starttls-success): New variables.
@@ -6884,7 +6884,7 @@
2004-05-22 Richard M. Stallman <rms@gnu.org>
- * textmodes/paragraphs.el (sentence-end): Match unicode curly quotes
+ * textmodes/paragraphs.el (sentence-end): Match Unicode curly quotes
as a close quote.
* textmodes/bibtex.el: Use assoc-string, not assoc-ignore-case.
@@ -7074,7 +7074,7 @@
2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
* descr-text.el (describe-char-unicode-data)
- (describe-char-unicodedata-file): Re-enable the unicode code now that
+ (describe-char-unicodedata-file): Re-enable the Unicode code now that
the licensing issues have been cleared in the unicode-4 license.
(describe-text-properties-1): Remove unused `overlay' var.
(describe-char): Remove unused var `buffer'.
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12
index e916db64f05..b97555f1e9d 100644
--- a/lisp/ChangeLog.12
+++ b/lisp/ChangeLog.12
@@ -1741,8 +1741,8 @@
* outline.el (hide-sublevels): Keep empty last line, if available.
- * buff-menu.el (list-buffers-noselect): Use explicit unicode code
- rather than the corresponding unicode char, to make the code
+ * buff-menu.el (list-buffers-noselect): Use explicit Unicode code
+ rather than the corresponding Unicode char, to make the code
more readable.
2007-02-19 Juanma Barranquero <lekktu@gmail.com>
@@ -2823,7 +2823,7 @@
2007-01-01 Alan Mackenzie <acm@muc.de>
* progmodes/cc-engine.el (c-guess-basic-syntax, case 5N):
- Check the format of c-state-cache is valid for an optimisation before
+ Check the format of c-state-cache is valid for an optimization before
using it.
* progmodes/cc-engine.el (c-guess-basic-syntax): New case 5Q "we
@@ -2840,11 +2840,11 @@
* progmodes/cc-cmds.el (c-context-line-break): Don't indent the
new line after an escaped EOL in a string.
- * progmodes/cc-engine.el (c-forward-label): Recognise "foo:" as a
+ * progmodes/cc-engine.el (c-forward-label): Recognize "foo:" as a
label when it directly follows "else", "do", ....
* progmodes/cc-engine.el (c-backward-<>-arglist): Tolerate empty
- angle brackets (as seen in "explicit specialisations" of C++
+ angle brackets (as seen in "explicit specializations" of C++
templates).
* progmodes/cc-vars.el (c-indentation-style): Mention c-file-style
@@ -2871,7 +2871,7 @@
* progmodes/cc-cmds.el (c-electric-slash): Extend the handling of
clean-up comment-close-slash also to work when there's a comment
terminator on the line.
- (c-beginning-of-defun, c-end-of-defun): Refactor and optimise
+ (c-beginning-of-defun, c-end-of-defun): Refactor and optimize
these for large arg - only take account of top level {..}, except
for initial and final adjustments. M-- C-M-[ae] now go to the
right defuns when the starting point is between defuns. They use
@@ -3257,7 +3257,7 @@
2006-12-17 Alan Mackenzie <acm@muc.de>
- * emacs-lisp/lisp.el (beginning-of-defun-raw): Optimise (for
+ * emacs-lisp/lisp.el (beginning-of-defun-raw): Optimize (for
speed) the case when open-paren-in-column-0-is-defun-start is nil.
Based on code by Martin Rudalics.
@@ -4124,7 +4124,7 @@
2006-11-15 Simon Marshall <simon@gnu.org>
* progmodes/cc-fonts.el (c-font-lock-declarators): Use c-at-toplevel-p
- to recognise "T t()" as a function declaration, rather than a
+ to recognize "T t()" as a function declaration, rather than a
variable instantiation, iff at the top-level or inside a class
declaration. Suggested by Feng Li <fengli@gmail.com>.
@@ -6278,7 +6278,7 @@
Register changes using allout-exposure-change-hook.
Disregard aberrant topics.
(allout-shift-in): With universal-argument, make topic a peer of
- it's former offspring. Simplify the code by separating out
+ its former offspring. Simplify the code by separating out
allout-shift-out functionality.
(allout-shift-out): With universal-argument, make offspring peers
of their former container, and its siblings. Implement the
@@ -7177,7 +7177,7 @@
2006-08-20 Chong Yidong <cyd@stupidchicken.com>
* frame.el (blink-cursor-start): Set timer first.
- (blink-cursor-end): Ignore timer cancelling errors.
+ (blink-cursor-end): Ignore timer canceling errors.
Suggested by Ken Manheimer.
2006-08-20 Juanma Barranquero <lekktu@gmail.com>
@@ -8722,7 +8722,7 @@
* progmodes/gdb-ui.el (gdb-same-frame): New option.
(gud-old-arrow, gdb-frame-begin, gdb-printing): New variables.
- (gdb-init-1): Initialise them.
+ (gdb-init-1): Initialize them.
(gdb-starting): Reset gdb-printing.
(gdb-starting): Save value of gud-overlay-arrow-position.
(gdb-frame-begin): Set gdb-frame-begin, gdb-printing.
@@ -10695,7 +10695,7 @@
* net/tramp-smb.el (tramp-smb-wait-for-output): Wait always for
the prompt. If it returns earlier (when detecting an error
- message), the rest of the output will merge accidently with the
+ message), the rest of the output will merge accidentally with the
output of the next command. Reported by M Jared Finder
<jared@hpalace.com>.
@@ -10937,7 +10937,7 @@
2006-04-10 Nick Roberts <nickrob@snap.net.nz>
- * progmodes/gdb-ui.el (gdb-init-1): Re-initialise gdb-main-file to nil.
+ * progmodes/gdb-ui.el (gdb-init-1): Re-initialize gdb-main-file to nil.
(gdb-get-version): Make it work for pre "interpreter mi" (GDB 5.3?).
(gdb-setup-windows): Put something in source window if we can't find
the source file.
@@ -15100,7 +15100,7 @@
2005-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/lisp.el (lisp-complete-symbol): Don't call
- delete-windows-on with an inexistent buffer.
+ delete-windows-on with a nonexistent buffer.
2005-12-22 Nick Roberts <nickrob@snap.net.nz>
@@ -15842,7 +15842,7 @@
interactive spec from "p" to "P".
* progmodes/cc-styles.el: Amend the doc-string of c-set-style, in
- reponse to a report from Joseph Kiniry <kiniry@acm.org> that it
+ response to a report from Joseph Kiniry <kiniry@acm.org> that it
was difficult to understand.
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
@@ -16153,7 +16153,7 @@
much cruft in cc-awk.el, cc-cmds.el and cc-engine.el to clear out.
* progmodes/cc-cmds.el:
(c-ascertain-adjacent-literal): In the backwards direction, now
- recognises AWK regexp delimiters as string delimiters.
+ recognizes AWK regexp delimiters as string delimiters.
(c-after-statement-terminator-p): Adapt for virtual semicolons;
check more rigorously for "end of macro".
(c-back-over-illiterals, c-forward-over-illiterals): Adapt for
@@ -16181,7 +16181,7 @@
2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
- * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the
+ * progmodes/cc-awk.el: Move regexps for analyzing AWK code to near the
start of the file. ^L now separate sections of the file.
(c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re)
(c-awk-one-line-possibly-open-string-re)
@@ -16280,7 +16280,7 @@
* progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables
c-string-par-start/separate c-sentence-end-with-esc-eol,
- initialised in c-setup-paragraph-variables, used in string
+ initialized in c-setup-paragraph-variables, used in string
scanning subroutines of c-beginning-of-statement.
* progmodes/cc-cmds.el (c-electric-brace): Don't delete a comment
@@ -22315,7 +22315,7 @@
* ibuf-ext.el (ibuffer-auto-update-changed):
Use `frame-or-buffer-changed-p' to check whether we need to update.
(ibuffer-auto-mode): Don't advise `get-buffer-create' and
- `kill-buffer'. Initialise `ibuffer-auto-buffers-changed'
+ `kill-buffer'. Initialize `ibuffer-auto-buffers-changed'
as a `frame-or-buffer-changed-p' state vector instead.
2005-08-27 Romain Francoise <romain@orebokech.com>
@@ -31734,7 +31734,7 @@
2005-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/debug.el (debug): Hide the buffer if it's not killed.
- Remove unused and inexistent var `inhibit-trace'.
+ Remove unused and nonexistent var `inhibit-trace'.
(debugger-mode): Use run-mode-hooks.
(debugger-list-functions): Add buttons; setup xref stack.
diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13
index 319cdb14b9b..0b96f4a36eb 100644
--- a/lisp/ChangeLog.13
+++ b/lisp/ChangeLog.13
@@ -36,7 +36,7 @@
2008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* ps-print.el: Some face attributes (like :strike-through) were not
- being recognised. Reported by Leo <sdl.web@gmail.com>.
+ being recognized. Reported by Leo <sdl.web@gmail.com>.
(ps-print-version): New version 7.3.2.
(ps-screen-to-bit-face): Fix code. Call ps-face-strikeout-p,
ps-face-overline-p and ps-face-box-p functions.
@@ -315,7 +315,7 @@
* language/ethio-util.el:
* international/characters.el: Use utf-8 rather than utf-8-emacs
since it works as well and has the advantage of working with
- non-unicode versions of Emacs.
+ non-Unicode versions of Emacs.
* international/encoded-kb.el (encoded-kbd-setup-display): Use the new
multi-tty code, which includes the previous local change.
@@ -1171,7 +1171,7 @@
* international/encoded-kb.el (encoded-kbd-self-insert-charset)
(encoded-kbd-self-insert-utf-8, encoded-kbd-setup-keymap)
- (encoded-kbd-mode): Adjust code merged from trunk for unicode branch.
+ (encoded-kbd-mode): Adjust code merged from trunk for Unicode branch.
2008-02-01 Kenichi Handa <handa@m17n.org>
@@ -1668,7 +1668,7 @@
2008-02-01 Kenichi Handa <handa@m17n.org>
* international/fontset.el: Enable the default fontset to use
- unicode fonts for ASCII characters.
+ Unicode fonts for ASCII characters.
(x-decompose-font-name): Don't try to resolve PATTERN by
x-resolve-font-name.
(x-complement-fontset-spec): Never prepend an ASCII font.
@@ -2331,9 +2331,9 @@
New coding systems.
("Chinese-GBK"): New environment.
- * language/thai-util.el: Remove redundant unicodes in category-setting.
-
- * language/lao-util.el: Remove redundant unicodes in category-setting.
+ * language/thai-util.el:
+ * language/lao-util.el: Remove redundant Unicode characters
+ in category-setting.
* international/mule-conf.el (japanese-jisx0213-1)
(japanese-jisx0213-2): Add unify-map.
@@ -2358,7 +2358,8 @@
* language/cyril-util.el (cyrillic-encode-koi8-r-char)
(cyrillic-encode-alternativnyj-char): Fix.
- (standard-display-cyrillic-translit): Remove redundant unicodes.
+ (standard-display-cyrillic-translit):
+ Remove redundant Unicode characters.
2008-02-01 Dave Love <fx@gnu.org>
@@ -2417,7 +2418,7 @@
lengths of the pair.
* international/characters.el: Add Vietnamese category to
- equivalent unicodes.
+ equivalent Unicode characters.
2008-02-01 Dave Love <fx@gnu.org>
@@ -2518,7 +2519,7 @@
(print-designation): Partial re-write.
(describe-coding-system): Deal with iso-2022 designations, flags.
Fix shift_jis case.
- (describe-char-after): Use characterp. Print explicit unicode.
+ (describe-char-after): Use characterp. Print explicit Unicode code point.
Remove some obsolete code.
(print-coding-system-briefly): Fix printing aliases.
(print-coding-system): Use coding-system-aliases.
@@ -2587,7 +2588,7 @@
* Makefile.in: Cancel the 2008-02-01 change of mine.
- * international/fontset.el: Add setting for unicode font at the
+ * international/fontset.el: Add setting for Unicode font at the
end of the default fontset.
2008-02-01 Dave Love <fx@gnu.org>
@@ -2742,7 +2743,7 @@
* international/ja-dic-utl.el (skkdic-jisx0208-hiragana-block):
Fix the initial value to specify character range of
- japanese-jisx0208, not unicode.
+ japanese-jisx0208, not Unicode.
* international/characters.el: Set syntax/category for
japanese-jisx0208.
@@ -4137,7 +4138,7 @@
2008-01-14 Alan Mackenzie <acm@muc.de>
* progmodes/cc-engine.el (c-guess-basic-syntax): Prevent a macro
- call inside a struct being recognised as a K&R argument.
+ call inside a struct being recognized as a K&R argument.
2008-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -4274,7 +4275,7 @@
stops with an error and Emacs does not compile with those things in.
Besides, declare-function is not defined in XEmacs.
- * ediff-util.el (eqiff-quit): Autoraise minibuffer.
+ * ediff-util.el (ediff-quit): Autoraise minibuffer.
* ediff-diff.el (ediff-convert-fine-diffs-to-overlays): Make it a defun.
@@ -6265,7 +6266,7 @@
delete .elc files.
* nxml/char-name/unicode: Move to etc/nxml/.
- * nxml/nxml-uchnm.el (top-level): Adapt for moved unicode files.
+ * nxml/nxml-uchnm.el (top-level): Adapt for moved Unicode files.
* nxml/nxml-enc.el (xmltok-get-declared-encoding-position):
Declare as a function.
@@ -7392,7 +7393,7 @@
* help-mode.el (help-mode): Set view-exit-action to bury the
buffer instead of fiddling with windows. Simplify code.
- (help-mode-finish): When help-window eqs t set it to the selected
+ (help-mode-finish): When help-window equals t set it to the selected
window and have with-help-window set up view-return-to-alist.
(help-buffer): Add autoload cookie.
@@ -8009,7 +8010,7 @@
2007-10-31 Juanma Barranquero <lekktu@gmail.com>
* help-at-pt.el (help-at-pt-unload-hook): Remove.
- Timers are automatically cancelled by `unload-feature'.
+ Timers are automatically canceled by `unload-feature'.
* delsel.el (delsel-unload-hook): Remove function and variable.
(delsel-unload-function): New-style unload function, adapted
@@ -10868,7 +10869,7 @@
2007-09-23 Glenn Morris <rgm@gnu.org>
- * ses.el (ses-calculate-cell): Don't evaluate unsafe formulae.
+ * ses.el (ses-calculate-cell): Don't evaluate unsafe formulas.
2007-09-23 Dan Nicolaescu <dann@ics.uci.edu>
@@ -12544,7 +12545,7 @@
a weird set-buffer&prog1 combination.
* emacs-lisp/byte-opt.el (byte-optimize-if): Move `progn' out of the
- test so as to optimise cases where the `progn's result is constant.
+ test so as to optimize cases where the `progn's result is constant.
2007-08-23 Thien-Thi Nguyen <ttn@gnuvola.org>
@@ -13845,7 +13846,7 @@
2007-07-24 Alan Mackenzie <acm@muc.de>
* emacs-lisp/bytecomp.el (byte-compile-from-buffer):
- Initialise byte-compile-unresolved-functions before rather than
+ Initialize byte-compile-unresolved-functions before rather than
after a compilation.
(byte-compile-unresolved-functions): Amplify doc string.
@@ -14943,7 +14944,7 @@
2007-07-05 Thien-Thi Nguyen <ttn@gnuvola.org>
* Makefile.in (bootstrap-prepare): When copying from
- ldefs-boot.el, make sure loaddefs.el is writeable.
+ ldefs-boot.el, make sure loaddefs.el is writable.
(bootstrap-prepare): Make $(lisp)/ps-print.el
and $(lisp)/emacs-lisp/cl-loaddefs.el writable, as well.
@@ -15910,14 +15911,14 @@
2007-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
* textmodes/css-mode.el (css-navigation-syntax-table):
- Use set-char-table-range so it also works in the unicode branch.
+ Use set-char-table-range so it also works in the Unicode branch.
2007-06-08 Nick Roberts <nickrob@snap.net.nz>
* help-mode.el (help-xref-forward-stack)
(help-xref-stack-forward-item, help-forward-label): New variables.
(help-forward): New button type.
- (help-setup-xref): Initialise help-xref-forward-stack.
+ (help-setup-xref): Initialize help-xref-forward-stack.
(help-make-xrefs): Add forward button, if appropriate.
(help-xref-go-back): Push item on forward stack.
(help-xref-go-forward, help-go-forward): New functions.
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14
index cd91dfad28c..7063ed67b62 100644
--- a/lisp/ChangeLog.14
+++ b/lisp/ChangeLog.14
@@ -30,7 +30,7 @@
2009-06-19 Kenichi Handa <handa@m17n.org>
* international/fontset.el (setup-default-fontset): Add a spec of
- non-OTF unicode font for Thai.
+ non-OTF Unicode font for Thai.
* fringe.el: Add coding: utf-8 cookie.
@@ -866,7 +866,7 @@
* calc/calc-embed.el (calc-embedded-restore-original-modes):
Add argument for Calculator buffer.
- (calc-do-embedded): Use specific Calculator buffer when cancelling
+ (calc-do-embedded): Use specific Calculator buffer when canceling
embedded mode.
* calc/calc.el (calc-buffer-list): New variable.
@@ -8483,7 +8483,7 @@
2008-07-31 Chong Yidong <cyd@stupidchicken.com>
- * Makefile.in: Avoid maintainer warning for autogenerated unicode
+ * Makefile.in: Avoid maintainer warning for autogenerated Unicode
files.
* apropos.el (apropos-symbol): Don't set button skip by default.
@@ -13629,7 +13629,7 @@
(completion-emacs22-try-completion): Place cursor after the /, as was
done in Emacs-22's minibuffer-complete-word.
Fix bug reported by David Hansen <david.hansen@gmx.net>.
- (completion-emacs22-try-completion): Merge all mergeable text rather
+ (completion-emacs22-try-completion): Merge all mergable text rather
than just /.
(completion-pcm--delim-wild-regex): New var.
(completion-pcm-word-delimiters): New custom.
@@ -14189,7 +14189,7 @@
2008-04-19 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-thread-indicator): New variable.
- (gdb-init-1): Initialise it.
+ (gdb-init-1): Initialize it.
(gdb-annotation-rules): New entry for "new-thread".
(gdb-thread-identification): New function to customize
mode-line-buffer-identification.
@@ -15994,11 +15994,11 @@
2008-04-02 Alan Mackenzie <acm@muc.de>
* progmodes/cc-cmds.el (c-defun-name, c-cpp-define-name):
- New optimised functions to get the name of the current defun/macro.
+ New optimized functions to get the name of the current defun/macro.
* add-log.el (add-log-current-defun): Move the functionality which
gets the current function name for C like modes to cc-cmds.el,
- thus optimising for speed.
+ thus optimizing for speed.
2008-04-02 Chong Yidong <cyd@stupidchicken.com>
@@ -16095,10 +16095,10 @@
covering IPA (previously Latin), Phonetic Extensions and
Phonetic Extensions Supplement (both previously unassigned).
- * international/fontset.el (setup-default-fontset): Use unicode fonts
+ * international/fontset.el (setup-default-fontset): Use Unicode fonts
that cover bopomofo script for bopomofo.
Likewise for braille and mathematical.
- Use unicode scripts that cover the phonetic script for IPA.
+ Use Unicode scripts that cover the phonetic script for IPA.
2008-04-01 Johan Bockgård <bojohan@gnu.org>
@@ -19392,7 +19392,7 @@
* progmodes/cc-mode.el (c-basic-common-init): C and ObjC now use
syntax-table text properties.
(c-common-init): Call language specific before/after-change
- functions at mode initialisation.
+ functions at mode initialization.
(c-new-BEG, c-new-END, c-old-BOM, c-old-EOM): New variables.
(c-extend-region-for-CPP, c-neutralize-CPP-line)
(c-neutralize-syntax-in-CPP): New functions.
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15
index ddd8ad7e7ff..ab1eb3591cd 100644
--- a/lisp/ChangeLog.15
+++ b/lisp/ChangeLog.15
@@ -2790,13 +2790,13 @@
* net/tramp-gw.el:
* net/tramp-imap.el:
* net/tramp-sh.el:
- * net/tramp-smb.el: Add tramp-autoload cookie for initialisation
+ * net/tramp-smb.el: Add tramp-autoload cookie for initialization
code of `tramp-default-method-alist' and `tramp-default-user-alist'.
2010-12-29 Karl Fogel <kfogel@red-bean.com>
* saveplace.el (save-place-alist-to-file): Save list sorted and
- pretty-printed, so that it is mergeable by line-based text merging,
+ pretty-printed, so that it is mergable by line-based text merging,
as suggested by Iain Dalton <iain.dalton {_AT_} gmail.com>.
2010-12-28 Ken Manheimer <ken.manheimer@gmail.com>
@@ -2809,7 +2809,7 @@
Consolidate layout provisions coce directly into the activation
condition branch, now that we've removed those provisions.
(allout-unload-function): Explicitly activate the mode before
- deactivating, if it's initially deactivated.
+ deactivating, if it's initially inactive.
(allout-set-buffer-multibyte): Properly prevent byte-compiler
warnings for version of function used only where
set-buffer-multibyte is unavailable.
@@ -2818,7 +2818,7 @@
* tool-bar.el (tool-bar-setup): Remove :enable conditions, which
are handled by the menu-bar entries. As before, don't use
- :visibile to avoid changing the tool-bar.
+ :visible to avoid changing the tool-bar.
2010-12-27 Michael Albinus <michael.albinus@gmx.de>
@@ -5376,7 +5376,7 @@
2010-10-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * newcomment.el (comment-dwim): Fix the intentation in the doc string.
+ * newcomment.el (comment-dwim): Fix the indentation in the doc string.
2010-10-21 Michael Albinus <michael.albinus@gmx.de>
@@ -6065,7 +6065,7 @@
2010-10-03 Teodor Zlatanov <tzz@lifelogs.com>
- * net/gnutls.el: Improve docs. Remove starttls and ssl emulation.
+ * net/gnutls.el: Improve docs. Remove STARTTLS and SSL emulation.
Provide only `open-gnutls-stream' (formerly `open-ssl-stream') and
`gnutls-negotiate' (formerly `starttls-negotiate').
Remove trivial wrapper `starttls-open-stream'.
@@ -6217,7 +6217,7 @@
2010-10-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * net/tls.el (tls-starttls-switches): Give up on using starttls with
+ * net/tls.el (tls-starttls-switches): Give up on using STARTTLS with
gnutls-cli.
(tls-program): Add --insecure to be consistent with the defaults from
openssl s_client. Now all three commands are insecure.
@@ -7086,7 +7086,7 @@
(sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
syntax pattern.
(sql-mode-postgres-font-lock-keywords): Support Postgres V9.
- (sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.
+ (sql-mode-sqlite-font-lock-keywords): Highlight sqlite commands.
2010-09-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -7632,7 +7632,7 @@
(post-self-insert-hook): Use it.
* emacs-lisp/pcase.el (pcase-split-memq):
- Fix overenthusiastic optimisation.
+ Fix overenthusiastic optimization.
(pcase-u1): Handle the case of a lambda pred.
2010-08-31 Kenichi Handa <handa@m17n.org>
@@ -9381,7 +9381,7 @@
Fix an indentation bug:
- * progmodes/cc-mode.el (c-common-init): Initialise c-new-BEG/END.
+ * progmodes/cc-mode.el (c-common-init): Initialize c-new-BEG/END.
(c-neutralize-syntax-in-and-mark-CPP): c-new-BEG/END: Take account
of existing values.
@@ -11908,7 +11908,7 @@
Add new VC methods: vc-log-incoming and vc-log-outgoing.
* vc.el (vc-print-log-setup-buttons): New function split out from
vc-print-log-internal.
- (vc-log-internal-common): New function, a parametrized version of
+ (vc-log-internal-common): New function, a parameterized version of
vc-print-log-internal.
(vc-print-log-internal): Just call vc-log-internal-common with the
right arguments.
@@ -13225,7 +13225,7 @@
2010-02-04 Michael Albinus <michael.albinus@gmx.de>
* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
- `dired-uncache' for every elemnt which is an absolute file name.
+ `dired-uncache' for every element which is an absolute file name.
* net/tramp.el (tramp-handle-dired-uncache): When DIR is not a
directory, handle its directory component.
@@ -14596,7 +14596,7 @@
2009-12-05 Kevin Ryde <user42@zip.com.au>
* textmodes/sgml-mode.el (sgml-lexical-context):
- Recognise comment-start-skip to comment-end-skip as comment (Bug#4781).
+ Recognize comment-start-skip to comment-end-skip as comment (Bug#4781).
2009-12-05 Juri Linkov <juri@jurta.org>
diff --git a/lisp/ChangeLog.2 b/lisp/ChangeLog.2
index 36046562653..957c9c7deff 100644
--- a/lisp/ChangeLog.2
+++ b/lisp/ChangeLog.2
@@ -60,7 +60,7 @@
1988-08-03 Robert J. Chassell (bob@frosted-flakes.ai.mit.edu)
- * texinfo.el: Changed fill-colum from 75 to 72. The larger
+ * texinfo.el: Changed fill-column from 75 to 72. The larger
fill-column causes numerous overfull hboxes in TeX when you are
writing Emacs Lisp code that will be formatted as a Texinfo example.
@@ -1960,7 +1960,7 @@
window for it.
* terminal.el (te-filter):
- Save/restore point from te-saved-point to minimise the lossage
+ Save/restore point from te-saved-point to minimize the lossage
vandals can inflict.
1987-01-09 Richard M. Stallman (rms@prep)
@@ -2190,7 +2190,7 @@
1986-12-15 Richard Mlynarik (mly@prep)
* fortran.el:
- Initialise fortran-mode-abbrev-table correctly.
+ Initialize fortran-mode-abbrev-table correctly.
* fortran.el:
fortran-comment-indent-char should be a character (a fixnum), not
@@ -3788,7 +3788,7 @@
1986-06-17 Richard M. Stallman (rms@prep)
- * nroff-mode.el: Add elements to nrofff-brace-table.
+ * nroff-mode.el: Add elements to nroff-brace-table.
1986-06-16 Richard M. Stallman (rms@prep)
@@ -4008,4 +4008,3 @@ See ChangeLog.1 for earlier changes.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/lisp/ChangeLog.3 b/lisp/ChangeLog.3
index 8cafac2c0c4..b97bcea89cc 100644
--- a/lisp/ChangeLog.3
+++ b/lisp/ChangeLog.3
@@ -1905,7 +1905,7 @@
* Makefile: Created. This exists mainly so developers elsewhere
can unlock the lisp files to accept an update tar, then relock
- them without locking the few that should stay writeable.
+ them without locking the few that should stay writable.
* solar.el, ange-ftp.el: Corrected Keywords header
@@ -6305,7 +6305,7 @@
to "Non-echoed text: ". This conforms with the convention
used by existing prompts, and gives more room to type stuff.
- * comint.el (comint-last-input-start): New varible. In
+ * comint.el (comint-last-input-start): New variable. In
particular, this helps support subprocesses that insist on echoing
their input. Added comments to porting guide indicating that
this should probably not be used for implementing history stuff.
@@ -9536,7 +9536,7 @@
it@top level.
* texnfo-upd.el (texinfo-incorporate-descriptions): Don't
- accidently find a string in the description that is confused for
+ accidentally find a string in the description that is confused for
a menu item.
1990-06-01 Robert J. Chassell (bob@wheat-chex)
@@ -11362,7 +11362,7 @@
* blackbox.el (bb-init-board): Use (random 8) to get # in [0,7].
* dissociate.el: Likewise.
* fill.el (justify-current-line): Likewise.
- * flame.el (define-element, psychoanalize-flamer): Likewise.
+ * flame.el (define-element, psychoanalyze-flamer): Likewise.
* yow.el (yow): Likewise.
* doctor.el: Use (random N), not (random-range N).
(random-range): Function deleted.
@@ -12454,4 +12454,3 @@ See ChangeLog.2 for earlier changes.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/lisp/ChangeLog.4 b/lisp/ChangeLog.4
index f9407ce20d8..51e2661d89e 100644
--- a/lisp/ChangeLog.4
+++ b/lisp/ChangeLog.4
@@ -914,7 +914,7 @@
(desktop-locals-to-save): Add line-number-mode to be saved when
local.
(desktop-remove): In case the desktop file cannot be deleted
- make sure that the desktop system is still inactivated.
+ make sure that the desktop system is still inactive.
(desktop-kill): In case an error occurs when saving the desktop,
offer to quit regardless.
(desktop-save-buffer-p): Disregard case when testing file and
@@ -2462,7 +2462,7 @@
1994-03-03 Simon Marshall (Simon.Marshall@mail.esrin.esa.it)
* cmuscheme.el (inferior-scheme-mode): Removed unnecessary
- initialisation of comint-input-sentinel.
+ initialization of comint-input-sentinel.
* shell.el (shell-dynamic-complete-functions): New variable.
(shell-mode): Use it to set comint-dynamic-complete-functions.
@@ -4958,7 +4958,7 @@
1993-11-08 Simon Marshall (Simon.Marshall@mail.esrin.esa.it)
* comint.el (comint-preinput-scroll-to-bottom): Added
- comint-magic-space to list of commands recognised as inserting.
+ comint-magic-space to list of commands recognized as inserting.
* comint.el (comint-output-filter): Corrected check for killed
buffer.
@@ -5202,7 +5202,7 @@
* comint.el (comint-last-output-start): New variable to record
where most recent process output started from.
- (comint-mode): Initialise it.
+ (comint-mode): Initialize it.
(comint-output-filter): Set it.
* comint.el (comint-previous-matching-input-string): Moved to
@@ -5220,7 +5220,7 @@
they move within the buffer rather than do input.
* comint.el (comint-send-input, comint-after-pmark-p)
- (comint-kill-input, comint-proc-query): Removed serialisation of
+ (comint-kill-input, comint-proc-query): Removed serialization of
obtaining the process mark's marker-position.
* comint.el, shell.el: Commented out comint/shell-load-hooks.
@@ -8952,4 +8952,3 @@ See ChangeLog.3 for earlier changes.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5
index 2d61f464a29..b3e92b1a50a 100644
--- a/lisp/ChangeLog.5
+++ b/lisp/ChangeLog.5
@@ -475,8 +475,8 @@
* viper.el (vip-put-back, vip-Put-back): Now emulate Vi's behavior
more closely.
- * viper.el (vip-line): No longer not bombs out.
- (vip-exec-shift) now preserves the point.
+ * viper.el (vip-line): No longer bombs out.
+ (vip-exec-shift): Now preserves the point.
* viper.el: Fixed the behavior of the Vi commands M, L, G, yw, dg, etc.
@@ -2579,7 +2579,7 @@
1995-03-13 Karl Fogel <kfogel@floss>
* bookmark.el: Removed C-v bindings; they were inconsistent.
- Defvarred some variables to nil, solely to avoid compilation warnings.
+ Defvared some variables to nil, solely to avoid compilation warnings.
Use "Author's Update Number:" instead of "Version:".
(bookmark-history): New var.
(bookmark-completing-read): Use `bookmark-history'.
@@ -2880,7 +2880,7 @@
1995-03-02 Simon Marshall <simon@duality.gnu.ai.mit.edu>
- * font-lock.el (font-lock-maximum-decoration) New variable.
+ * font-lock.el (font-lock-maximum-decoration): New variable.
(font-lock-after-fontify-buffer-hook): New variable.
(font-lock-fontify-buffer): Run it after fontifying.
(font-lock-thing-lock-cleanup): New function to turn things off.
@@ -4133,7 +4133,7 @@
* startup.el (command-line-1): Handle -f with kbd macro.
- * msb.el (mouse-select-buffer) Handle an aborted selection.
+ * msb.el (mouse-select-buffer): Handle an aborted selection.
1995-01-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
@@ -4522,7 +4522,7 @@
* gud.el (gdb): Correct tbreak doc string.
(gud-mode): Define a Gud menu.
(gdb): Set debugger-specific menu entries.
- (sdb) (dbx) (xdb): Likewise.
+ (sdb, dbx, xdb): Likewise.
1994-12-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
@@ -6165,7 +6165,7 @@
1994-10-05 Simon Marshall <Simon.Marshall@mail.esrin.esa.it>
- * comint.el (comint-check-proc): Recognise `open'.
+ * comint.el (comint-check-proc): Recognize `open'.
(comint-exec): Use open-network-stream if command is a cons pair.
* font-lock.el (compilation-mode-font-lock-keywords,
@@ -6861,7 +6861,7 @@
(Man-mode-map): Changed the meanings of ",", ".", "q". Added new
keys ">", "<", "k".
(Man-page-mode-string): Function deleted.
- (Man-init-defvars): New function used for initialising the system
+ (Man-init-defvars): New function used for initializing the system
and environment dependent variables Man-fontify-manpage-flag,
Man-uses-untabify, Man-sed-script, Man-filter-list.
(Man-delete-trailing-newlines): Function deleted.
@@ -6954,7 +6954,7 @@
1994-09-19 Francesco Potortì <pot@cnuce.cnr.it>
- * rlogin.el (rlogin): Recognise the `-l user' option to rlogin and
+ * rlogin.el (rlogin): Recognize the `-l user' option to rlogin and
let comint and ange-ftp know about the correct home directory.
1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
@@ -8114,9 +8114,9 @@
Modified to work with remote and compressed files.
* ediff.el (ediff-read-file-name, ediff-buffers): Better defaults.
- (ediff-read-file-name) Handle OS/2.
+ (ediff-read-file-name): Handle OS/2.
- * ediff.el (ediff-forward-word-function) New function.
+ * ediff.el (ediff-forward-word-function): New function.
(ediff-wordify-function): Variable deleted.
(ediff-toggle-regexp-match, ediff-hide-regexp-matches): New functions.
(ediff-focus-on-regexp-matches): New function.
@@ -8813,7 +8813,7 @@
(gnus-uu-ask-to-save-file): New function.
* gnus-uu.el (gnus-uu-interactive-set-up-windows): New function.
- (gnus-uu-interactive-scan-directory) New function.
+ (gnus-uu-interactive-scan-directory): New function.
(gnus-uu-interactive-rescan-directory): New function.
(gnus-uu-ignore-files-by-name, gnus-uu-ignore-files-by-type): New vars.
(gnus-uu-interactive-execute): Change directory to work dir before
@@ -9280,4 +9280,3 @@ See ChangeLog.4 for earlier changes.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6
index 7ba9261ccf0..fb6090b3583 100644
--- a/lisp/ChangeLog.6
+++ b/lisp/ChangeLog.6
@@ -1491,9 +1491,9 @@
1996-04-16 Francesco Potortì <F.Potorti@cnuce.cnr.it>
- * vc.el (vc-comment-ring): Initialise using make-ring.
- (vc-clear-context): Initialise vc-comment-ring using make-ring.
- (vc-finish-logentry): Don't initialise vc-comment-ring here.
+ * vc.el (vc-comment-ring): Initialize using make-ring.
+ (vc-clear-context): Initialize vc-comment-ring using make-ring.
+ (vc-finish-logentry): Don't initialize vc-comment-ring here.
1996-04-15 Eric Ding <ericding@mit.edu>
@@ -3055,7 +3055,7 @@
(font-lock-mode): Use them. Doc fix.
Don't make font-lock-fontified buffer local here.
(font-lock-set-defaults): Do it here.
- (font-lock-compile-keyword): New function. Recognise `eval' keywords.
+ (font-lock-compile-keyword): New function. Recognize `eval' keywords.
(font-lock-compile-keywords): Use it.
(global-font-lock-mode): New command for Global Font Lock mode.
(font-lock-global-modes): New variable.
@@ -5716,7 +5716,7 @@
(vip-read-string-with-history, vip-search): Won't pause inside
macros any more.
* viper-mous.el (vip-surrounding-word): Modified to understand
- tripple clicks.
+ triple clicks.
* viper-util.el (vip-leave-region-active): New function.
* viper-ex.el (ex-write): Uses better defaults.
* viper-macs.el (vip-record-kbd-macro): Correctly escapes `.' and
@@ -6689,7 +6689,7 @@
Harnessed view-minor-mode.
Added (vip-leave-region-active) to all simple movement commands.
* viper-mous.el (vip-surrounding-word): Modified to understand
- tripple clicks.
+ triple clicks.
* viper-util.el (vip-leave-region-active): New function.
1995-08-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
@@ -8038,4 +8038,3 @@ See ChangeLog.5 for earlier changes.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7
index cb606cd0847..37387121777 100644
--- a/lisp/ChangeLog.7
+++ b/lisp/ChangeLog.7
@@ -884,7 +884,7 @@
1998-07-21 Kenichi Handa <handa@etl.go.jp>
* international/kkc.el (kkc-region): Handled the case that
- conversion is cancelled.
+ conversion is canceled.
(kkc-terminate): Update kkc-overlay-head correctly.
(kkc-cancel): Don't call kkc-terminate, but set kkc-converting to nil.
@@ -1012,7 +1012,7 @@
bindings for quail-execute-non-quail-command deleted.
(quail-conversion-keymap): Likewise. Add key bindings for
quail-self-insert-command.
- (quail-delete-overlays): Chekc overlay-start for overlays before
+ (quail-delete-overlays): Check overlay-start for overlays before
deleting them.
(quail-mode): This function deleted.
(quail-inactivate, quail-activate): New functions.
@@ -1230,7 +1230,7 @@
indicator regex, Fix line positioning.
(speedbar-add-indicator): Handles obj indicators now.
(speedbar-check-objects, speedbar-check-obj-this-line): New functions.
- (speedbar-double-click): Fix tripple click error.
+ (speedbar-double-click): Fix triple click error.
(speedbar-line-file, speedbar-goto-this-file): Handle indicator regex.
(speedbar-line-path): Only try to get a file when in "files" display.
(speedbar-line-depth): Handle indicator regex.
@@ -2018,7 +2018,7 @@
1998-06-19 Karl Heuer <kwzh@gnu.org>
* emacs-lisp/checkdoc.el (checkdoc-eval-defun): Doc fix.
- (checkdoc-continue, checkdoc-tripple-semi-comment-check-flag): Ditto.
+ (checkdoc-continue, checkdoc-triple-semi-comment-check-flag): Ditto.
(checkdoc-common-verbs-wrong-voice): Use dotted pairs.
1998-06-19 Richard Stallman <rms@gnu.org>
@@ -12129,7 +12129,7 @@
* cc-mode.el (c-buffer-is-cc-mode):
Definition moved here from cc-vars.el. Also,
- put permanent-local property on variable so it's value won't get
+ put permanent-local property on variable so its value won't get
killed by kill-all-local-variables.
* cc-mode.el (c++-mode, java-mode, objc-mode, idl-mode):
@@ -15185,7 +15185,7 @@
1997-06-16 Dan Nicolaescu <done@ece.arizona.edu>
* icon.el (icon-indent-line): A comment ends at the end of the
- line, delete call to inexistent function.
+ line, delete call to nonexistent function.
* icon.el (icon-font-lock-keywords-1): Improved regexp.
(icon-font-lock-keywords-2): Likewise.
@@ -18065,7 +18065,7 @@
have KEY.
(current-input-method-title): Doc-string modified.
(select-input-method): Set current-input-method to nil even if
- inactivation of the current input method failed.
+ deactivation of the current input method failed.
(set-language-environment): Doc-string modified.
(describe-language-support): Doc-string modified. Calls an
appropriate function for each language.
@@ -19394,7 +19394,7 @@
* loadup.el: Load language/english and language/tibetan.
* mule-cmds.el: Prefix for Mule related commands is changed.
- (view-hello-file): Allways does correct decoding of HELLO file.
+ (view-hello-file): Always does correct decoding of HELLO file.
* mule-conf.el: Change descriptions for Arabic, Indian, and
Vietnamese character sets. Define Tibetan character sets.
@@ -19534,7 +19534,7 @@
the innermost test. This catches GNU-style comments.
* cc-mode.el (c-add-syntax):
- Move macro definition to before it's first use.
+ Move macro definition to before its first use.
* cc-mode.el (c-submit-bug-report):
Capture buffer local variable values which are
@@ -19552,7 +19552,7 @@
* term.el: Added a lot of new faces, they all start with
term- and follow a simple lexicographical convention. Note that
each change is commented: just search for -mm in the source.
- (term-char-mode): Added all the "grey-keys" to term-raw-map.
+ (term-char-mode): Added all the "gray-keys" to term-raw-map.
(term-send-up): Similar, decided to go for the more xterm-like
\eOA bindings in place of the previous \e[A.
(term-buffer-maximum-size): New variable.
diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8
index 6d3d41a5a5c..cd685204766 100644
--- a/lisp/ChangeLog.8
+++ b/lisp/ChangeLog.8
@@ -530,7 +530,7 @@
composition-function-table.
(tibetan-composable-pattern): New variable.
(tibetan-subjoined-transcription-alist): Change key "R" to "+R".
- (tibetan-precomposition-rule-alist): Move punctuations to
+ (tibetan-precomposition-rule-alist): Move punctuation to
tibetan-punctuation-transcription-alist and
tibetan-obsolete-glyphs.
(tibetan-punctuation-transcription-alist): New variable.
@@ -4294,7 +4294,7 @@
1999-07-21 Gerd Moellmann <gerd@gnu.org>
- * faces.el (toolbar): Grey default background.
+ * faces.el (toolbar): Gray default background.
(modeline): Ditto.
* image.el (image-type-regexps): New.
@@ -5516,7 +5516,7 @@
1999-04-08 Andre Spiegel <spiegel@inf.fu-berlin.de>
* vc.el (vc-backend-revert): For CVS files that were made
- writeable with "cvs edit", call "cvs unedit" to undo that.
+ writable with "cvs edit", call "cvs unedit" to undo that.
1999-04-08 Dave Love <fx@gnu.org>
@@ -6259,7 +6259,7 @@
* sql.el: Added keywords from `finder-by-keyword'.
(sql-mode): Made sql-buffer a local variable, changed the
documentation: removed instructions to add *.sql files to
- auto-mode-alist, added documentation for having mutliple SQL
+ auto-mode-alist, added documentation for having multiple SQL
buffers sending their stuff to different SQLi buffers, each
running a different process.
(sql-postgres): Quoted *SQL* in doc string.
@@ -6270,7 +6270,7 @@
(sql-sybase): Quoted *SQL* in doc string, added comma.
(sql-oracle): Likewise.
(sql-interactive-mode): Added extensive documentation for having
- mutliple SQL buffers sending their stuff to different SQLi
+ multiple SQL buffers sending their stuff to different SQLi
buffers, each running a different process.
(sql-buffer): Changed doc from *SQL* to SQLi.
(sql-get-login): Doc fix.
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9
index 4f867c24561..252b3854f7a 100644
--- a/lisp/ChangeLog.9
+++ b/lisp/ChangeLog.9
@@ -40,7 +40,7 @@
2001-10-17 Francesco Potortì <pot@gnu.org>
* comint.el (comint-password-prompt-regexp): Make it less
- restrictive, letting comint recognise OpenSSH2 passphrase prompts.
+ restrictive, letting comint recognize OpenSSH2 passphrase prompts.
2001-10-17 John Wiegley <johnw@gnu.org>
@@ -2021,7 +2021,7 @@
newbuffile out of the loop, in the newbuffile-nd local var.
Use dolist (cosmetic change). Compute the proposed name for the most
common case and cache it in the fourth place in the item.
- (uniquify-rationalize-file-buffer-names): Used to return a a list
+ (uniquify-rationalize-file-buffer-names): Used to return a list
of buffer whose name was changed, but that return value was never used.
(uniquify-item-lessp): Replaces uniquify-filename-lessp, works on
the cached proposed name, does much less consing and is quicker.
@@ -6620,7 +6620,7 @@
(ansi-color-process-output): New function. It is automatically
added to comint-output-filter-functions if this is XEmacs.
(ansi-color-unfontify-region): New optional parameter for XEmacs
- compatibility. Check wether font-lock-syntactic-keywords is
+ compatibility. Check whether font-lock-syntactic-keywords is
boundp before removing the syntax table text property, as XEmacs
doesn't have it.
(ansi-color-filter-region): Doc change.
@@ -8319,7 +8319,7 @@
* frame.el (show-cursor-in-non-selected-windows): Doc fix.
* hi-lock.el (hi-lock-refontify): Don't call non-existent
- jit-lock-fontify-buffer; it should anyway be unneccessary to
+ jit-lock-fontify-buffer; it should anyway be unnecessary to
do anything special when jit-lock is active.
(hi-yellow, hi-pink, hi-green, hi-blue): Fix defface specs.
@@ -8638,7 +8638,7 @@
2000-11-15 Gerd Moellmann <gerd@gnu.org>
* faces.el (face-set-after-frame-default):
- If `inhibit-default-face-x-resources' is bound, don't intialize the
+ If `inhibit-default-face-x-resources' is bound, don't initialize the
default face from X resources.
2000-11-15 Eli Zaretskii <eliz@is.elta.co.il>
diff --git a/lisp/align.el b/lisp/align.el
index 8767b6ff306..214c3add93f 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -109,7 +109,7 @@
;; simple algorithm that understand only basic regular expressions.
;; Parts of the code were broken up and included in vhdl-mode.el
;; around this time. After several comments from users, and a need to
-;; find a more robust, performant algorithm, 2.0 was born in late
+;; find a more robust, higher performing algorithm, 2.0 was born in late
;; 1998. Many different approaches were taken (mostly due to the
;; complexity of TeX tables), but finally a scheme was discovered
;; which worked fairly well for most common usage cases. Development
@@ -1246,6 +1246,13 @@ have been aligned. No changes will be made to the buffer."
(car props) (cdr props)))))))))))
(setq areas (cdr areas))))))
+(defmacro align--set-marker (marker-var pos &optional type)
+ "If MARKER-VAR is a marker, move it to position POS.
+Otherwise, create a new marker at position POS, with type TYPE."
+ `(if (markerp ,marker-var)
+ (move-marker ,marker-var ,pos)
+ (setq ,marker-var (copy-marker ,pos ,type))))
+
(defun align-region (beg end separate rules exclude-rules
&optional func)
"Align a region based on a given set of alignment rules.
@@ -1370,8 +1377,8 @@ aligner would have dealt with are."
(if (not here)
(goto-char end))
(forward-line)
- (setq end (point)
- end-mark (copy-marker end t))
+ (setq end (point))
+ (align--set-marker end-mark end t)
(goto-char beg)))
;; If we have a region to align, and `func' is set and
@@ -1467,10 +1474,9 @@ aligner would have dealt with are."
;; test whether we have found a match on the same
;; line as a previous match
(if (> (point) eol)
- (setq same nil
- eol (save-excursion
- (end-of-line)
- (point-marker))))
+ (progn
+ (setq same nil)
+ (align--set-marker eol (line-end-position))))
;; lookup the `repeat' attribute the first time
(or repeat-c
@@ -1504,10 +1510,9 @@ aligner would have dealt with are."
(progn
(align-regions regions align-props
rule func)
- (setq last-point (copy-marker b t)
- regions nil
- align-props nil))
- (setq last-point (copy-marker b t)))
+ (setq regions nil)
+ (setq align-props nil)))
+ (align--set-marker last-point b t)
;; restore the match data
(set-match-data save-match-data)
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 3c2871594fc..715879534b0 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -108,7 +108,7 @@ inhibition of allout-widgets-mode."
;;;_ > allout-widgets-setup (varname value)
;;;###autoload
(defun allout-widgets-setup (varname value)
- "Commission or decommision allout-widgets-mode along with allout-mode.
+ "Commission or decommission allout-widgets-mode along with allout-mode.
Meant to be used by customization of `allout-widgets-auto-activation'."
(set-default varname value)
@@ -1623,7 +1623,7 @@ We return the item-widget corresponding to the item at point."
(set-buffer-modified-p was-modified)
(goto-char steady-point)
- ;; must null the marker or the buffer gets clogged with impedence:
+ ;; must null the marker or the buffer gets clogged with impedance:
(set-marker steady-point nil)
item-widget)))
diff --git a/lisp/allout.el b/lisp/allout.el
index 8cbdbee7303..9289e38b418 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -170,7 +170,7 @@ respective allout-mode keybinding variables, `allout-command-prefix',
;; the function value keymap of allout-mode-map is used in
;; minor-mode-map-alist - update it:
(fset allout-mode-map allout-mode-map-value))
-;;;_ * intialize the mode map:
+;;;_ * initialize the mode map:
;; ensure that allout-mode-map has some setting even if allout-mode hasn't
;; been invoked:
(allout-compose-and-institute-keymap)
@@ -279,7 +279,7 @@ Intended to be used as the `allout-auto-activation' :set function."
;;;_ > allout-setup ()
;;;###autoload
(defun allout-setup ()
- "Do fundamental emacs session for allout auto-activation.
+ "Do fundamental Emacs session for allout auto-activation.
Establishes allout processing as part of visiting a file if
`allout-auto-activation' is non-nil, or removes it otherwise.
@@ -298,7 +298,7 @@ Control whether and how allout outline mode is automatically
activated when files are visited with non-nil buffer-specific
file variable `allout-layout'.
-When allout-auto-activation is \"On\" \(t), allout mode is
+When allout-auto-activation is \"On\" (t), allout mode is
activated in buffers with non-nil `allout-layout', and the
specified layout is applied.
@@ -560,7 +560,7 @@ of this var to take effect."
These bullets are distinguish topics with particular character.
They are not used by default in the topic creation routines, but
are offered as options when you modify topic creation with a
-universal argument \(\\[universal-argument]), or during rebulleting \(\\[allout-rebullet-current-heading]).
+universal argument (\\[universal-argument]), or during rebulleting (\\[allout-rebullet-current-heading]).
Distinctive bullets are not cycled when topics are shifted or
otherwise automatically rebulleted, so their marking is
@@ -612,7 +612,7 @@ headers look like comments in the programming language. It will also use
the comment-start string, with an '_' appended, for `allout-primary-bullet'.
String values are used as literals, not regular expressions, so
-do not escape any regulare-expression characters.
+do not escape any regular-expression characters.
Value t means to first check for assoc value in `allout-mode-leaders'
alist, then use comment-start string, if any, then use default (`.').
@@ -825,7 +825,7 @@ formatted copy."
(defcustom allout-encrypt-unencrypted-on-saves t
"If non-nil, topics pending encryption are encrypted during buffer saves.
-This provents file-system exposure of un-encrypted contents of
+This prevents file-system exposure of un-encrypted contents of
items marked for encryption.
When non-nil, if the topic currently being edited is decrypted,
@@ -844,7 +844,7 @@ such topics are encrypted.)"
(defvar allout-auto-save-temporarily-disabled nil
"True while topic encryption is pending and auto-saving was active.
-The value of buffer-saved-size at the time of decryption is used,
+The value of `buffer-saved-size' at the time of decryption is used,
for restoring when all encryptions are established.")
(defvar allout-just-did-undo nil
"True just after undo commands, until allout-post-command-business.")
@@ -910,7 +910,7 @@ For details, see `allout-toggle-current-subtree-encryption's docstring."
(defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring.
"Buffer-specific setting for allout layout.
-In buffers where this is non-nil \(and if `allout-auto-activation'
+In buffers where this is non-nil (and if `allout-auto-activation'
has been customized to enable this behavior), `allout-mode' will be
automatically activated. The layout dictated by the value will be used to
set the initial exposure when `allout-mode' is activated.
@@ -1037,7 +1037,7 @@ suitably economical.")
(defun allout-lead-with-comment-string (&optional header-lead)
"Set the topic-header leading string to specified string.
-Useful when for encapsulating outline structure in programming
+Useful for encapsulating outline structure in programming
language comments. Returns the leading string."
(interactive "P")
@@ -1440,7 +1440,7 @@ Functions on the hook must take two arguments:
- DEPTH -- integer indicating the depth of the subtree that was deleted.
- REMOVED-FROM -- integer indicating the point where the subtree was removed.
-Some edits that remove or invalidate items may missed by this hook:
+Some edits that remove or invalidate items may be missed by this hook:
specifically edits that native allout routines do not control.
This hook might be invoked multiple times by a single command.")
@@ -1472,10 +1472,10 @@ that was affected by the undo.
Functions on the hook should not require any arguments.")
;;;_ = allout-outside-normal-auto-fill-function
(defvar allout-outside-normal-auto-fill-function nil
- "Value of normal-auto-fill-function outside of allout mode.
+ "Value of `normal-auto-fill-function' outside of allout mode.
-Used by allout-auto-fill to do the mandated normal-auto-fill-function
-wrapped within allout's automatic fill-prefix setting.")
+Used by `allout-auto-fill' to do the mandated `normal-auto-fill-function'
+wrapped within allout's automatic `fill-prefix' setting.")
(make-variable-buffer-local 'allout-outside-normal-auto-fill-function)
;;;_ = prevent redundant activation by desktop mode:
(add-to-list 'desktop-minor-mode-handlers '(allout-mode . nil))
@@ -1576,7 +1576,7 @@ message if an error is encountered. The message will serve as a
non-nil return on `write-contents-functions' to prevent saving of
the buffer while it has decrypted content.
-This behavior depends on emacs versions that implement the
+This behavior depends on Emacs versions that implement the
`write-contents-functions' hook."
(if (or (not (allout-mode-p))
@@ -1627,7 +1627,7 @@ and the place for the cursor after the decryption is done."
)
;;;_ > allout-called-interactively-p ()
(defmacro allout-called-interactively-p ()
- "A version of called-interactively-p independent of emacs version."
+ "A version of `called-interactively-p' independent of Emacs version."
;; ... to ease maintenance of allout without betraying deprecation.
(if (equal (subr-arity (symbol-function 'called-interactively-p))
'(0 . 0))
@@ -1712,7 +1712,7 @@ Allout outline mode is a minor mode that provides extensive
outline oriented formatting and manipulation. It enables
structural editing of outlines, as well as navigation and
exposure. It also is specifically aimed at accommodating
-syntax-sensitive text like programming languages. \(For example,
+syntax-sensitive text like programming languages. (For example,
see the allout code itself, which is organized as an allout
outline.)
@@ -1733,7 +1733,7 @@ Below is a description of the key bindings, and then description
of special `allout-mode' features and terminology. See also the
outline menubar additions for quick reference to many of the
features. Customize `allout-auto-activation' to prepare your
-emacs session for automatic activation of `allout-mode'.
+Emacs session for automatic activation of `allout-mode'.
The bindings are those listed in `allout-prefixed-keybindings'
and `allout-unprefixed-keybindings'. We recommend customizing
@@ -1781,7 +1781,7 @@ the HOT-SPOT Operation section.
\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
current topic
\\[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and
- its' offspring -- distinctive bullets are not changed, others
+ its offspring -- distinctive bullets are not changed, others
are alternated according to nesting depth.
\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings --
the offspring are not affected.
@@ -1791,12 +1791,12 @@ the HOT-SPOT Operation section.
----------------------------------
\\[allout-kill-topic] `allout-kill-topic' Kill current topic, including offspring.
\\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
-\\[allout-kill-line] `allout-kill-line' kill-line, attending to outline structure.
+\\[allout-kill-line] `allout-kill-line' Kill line, attending to outline structure.
\\[allout-copy-line-as-kill] `allout-copy-line-as-kill' Copy line but don't delete it.
\\[allout-yank] `allout-yank' Yank, adjusting depth of yanked topic to
depth of heading if yanking into bare topic
heading (ie, prefix sans text).
-\\[allout-yank-pop] `allout-yank-pop' Is to allout-yank as yank-pop is to yank
+\\[allout-yank-pop] `allout-yank-pop' Is to `allout-yank' as `yank-pop' is to `yank'.
Topic-oriented Encryption:
-------------------------
@@ -1836,7 +1836,7 @@ for a save, it is automatically decrypted for continued editing.
NOTE: A few GnuPG v2 versions improperly preserve incorrect
symmetric decryption keys, preventing entry of the correct key on
subsequent decryption attempts until the cache times-out. That
-can take several minutes. \(Decryption of other entries is not
+can take several minutes. (Decryption of other entries is not
affected.) Upgrade your EasyPG version, if you can, and you can
deliberately clear your gpg-agent's cache by sending it a '-HUP'
signal.
@@ -1872,12 +1872,12 @@ at the beginning of the current entry.
Extending Allout
-Allout exposure and authoring activites all have associated
+Allout exposure and authoring activities all have associated
hooks, by which independent code can cooperate with allout
without changes to the allout core. Here are key ones:
`allout-mode-hook'
-`allout-mode-deactivate-hook' \(deprecated)
+`allout-mode-deactivate-hook' (deprecated)
`allout-mode-off-hook'
`allout-exposure-change-hook'
`allout-structure-added-hook'
@@ -1939,7 +1939,7 @@ PREFIX-LEAD:
When the PREFIX-LEAD is set to the comment-string of a
programming language, outline structuring can be embedded in
program code without interfering with processing of the text
- (by emacs or the language processor) as program code. This
+ (by Emacs or the language processor) as program code. This
setting happens automatically when allout mode is used in
programming-mode buffers. See `allout-use-mode-specific-leader'
docstring for more detail.
@@ -1951,8 +1951,8 @@ BULLET: A character at the end of the ITEM PREFIX, it must be one of
`allout-distinctive-bullets-string'. When creating a TOPIC,
plain BULLETs are by default used, according to the DEPTH of the
TOPIC. Choice among the distinctive BULLETs is offered when you
- provide a universal argugment \(\\[universal-argument]) to the
- TOPIC creation command, or when explictly rebulleting a TOPIC. The
+ provide a universal argument (\\[universal-argument]) to the
+ TOPIC creation command, or when explicitly rebulleting a TOPIC. The
significance of the various distinctive bullets is purely by
convention. See the documentation for the above bullet strings for
more details.
@@ -2250,7 +2250,7 @@ to return the current prefix."
allout-recent-prefix-end))
;;;_ > allout-recent-bullet ()
(defmacro allout-recent-bullet ()
- "Like allout-recent-prefix, but returns bullet of last encountered prefix.
+ "Like `allout-recent-prefix', but returns bullet of last encountered prefix.
All outline functions which directly do string matches to assess
headings set the variables `allout-recent-prefix-beginning' and
@@ -2283,7 +2283,7 @@ If topic has no offspring, then the next sibling with offspring will
determine whether or not this one is determined to be aberrant.
If true, then the allout-recent-* settings are calibrated on the
-offspring that qaulifies it as aberrant, ie with depth that
+offspring that qualifies it as aberrant, ie with depth that
exceeds the topic by more than one."
;; This is most clearly understood when considering standard-prefix-leader
@@ -2625,13 +2625,13 @@ The remaining optional args are for internal use by the function.
Point is left at the end of the subtree.
Charts are used to capture outline structure, so that outline-altering
-routines need assess the structure only once, and then use the chart
+routines need to assess the structure only once, and then use the chart
for their elaborate manipulations.
The chart entries for the topics are in reverse order, so the
last topic is listed first. The entry for each topic consists of
an integer indicating the point at the beginning of the topic
-prefix. Charts for offspring consists of a list containing,
+prefix. Charts for offspring consist of a list containing,
recursively, the charts for the respective subtopics. The chart
for a topics' offspring precedes the entry for the topic itself.
@@ -3100,7 +3100,7 @@ Return the start point of the new topic if successful, nil otherwise.
Costs more than regular `allout-next-sibling' for short traversals:
- - we have to check the prior (next, if travelling backwards)
+ - we have to check the prior (next, if traveling backwards)
item to confirm connectivity with the prior topic, and
- if confirmed, we have to reestablish the allout-recent-* settings with
some extra navigation
@@ -3186,7 +3186,7 @@ Presumes point is at the start of a topic prefix."
(if (allout-called-interactively-p) (allout-end-of-prefix)))))
;;;_ > allout-next-visible-heading (arg)
(defun allout-next-visible-heading (arg)
- "Move to the next ARG'th visible heading line, backward if arg is negative.
+ "Move to the next ARGth visible heading line, backward if ARG is negative.
Move to buffer limit in indicated direction if headings are exhausted."
@@ -3388,8 +3388,8 @@ return to regular interpretation of self-insert characters."
"Catchall handling of key bindings in hot-spots.
Translates unmodified keystrokes to corresponding allout commands, when
-they would qualify if prefixed with the allout-command-prefix, and sets
-this-command accordingly.
+they would qualify if prefixed with the `allout-command-prefix', and sets
+`this-command' accordingly.
Returns the qualifying command, if any, else nil."
(interactive)
@@ -3533,7 +3533,7 @@ the current topics' depth.
If INSTEAD is:
- nil, then the bullet char for the context is used, per distinction or depth
-- a \(numeric) character, then character's string representation is used
+- a (numeric) character, then character's string representation is used
- a string, then the user is asked for bullet with the first char as default
- anything else, the user is solicited with bullet char per context as default
@@ -3849,7 +3849,7 @@ Nuances:
(defun allout-open-subtopic (arg)
"Open new topic header at deeper level than the current one.
-Negative universal arg means to open deeper, but place the new topic
+Negative universal ARG means to open deeper, but place the new topic
prior to the current one."
(interactive "p")
(allout-open-topic 1 (> 0 arg) (< 1 arg)))
@@ -3857,9 +3857,9 @@ prior to the current one."
(defun allout-open-sibtopic (arg)
"Open new topic header at same level as the current one.
-Positive universal arg means to use the bullet of the prior sibling.
+Positive universal ARG means to use the bullet of the prior sibling.
-Negative universal arg means to place the new topic prior to the current
+Negative universal ARG means to place the new topic prior to the current
one."
(interactive "p")
(allout-open-topic 0 (> 0 arg) (not (= 1 arg))))
@@ -3867,7 +3867,7 @@ one."
(defun allout-open-supertopic (arg)
"Open new topic header at shallower level than the current one.
-Negative universal arg means to open shallower, but place the new
+Negative universal ARG means to open shallower, but place the new
topic prior to the current one."
(interactive "p")
@@ -3992,7 +3992,7 @@ All args are optional.
If INSTEAD is:
- nil, then the bullet char for the context is used, per distinction or depth
-- a \(numeric) character, then character's string representation is used
+- a (numeric) character, then character's string representation is used
- a string, then the user is asked for bullet with the first char as default
- anything else, the user is solicited with bullet char per context as default
@@ -4033,7 +4033,7 @@ this function."
number-control
index)))
- ;; Is new one is identical to old?
+ ;; Is new one identical to old?
(if (and (= current-depth new-depth)
(string= current-bullet
(substring new-prefix (1- (length new-prefix)))))
@@ -4407,7 +4407,7 @@ subtopics into siblings of the item."
(run-hook-with-args 'allout-structure-deleted-hook depth (point))))))
;;;_ > allout-copy-line-as-kill ()
(defun allout-copy-line-as-kill ()
- "Like allout-kill-topic, but save to kill ring instead of deleting."
+ "Like `allout-kill-topic', but save to kill ring instead of deleting."
(interactive)
(let ((buffer-read-only t))
(condition-case nil
@@ -5854,12 +5854,12 @@ With repeat count, copy the exposed portions of entire buffer."
(defun allout-toggle-current-subtree-encryption (&optional keymode-cue)
"Encrypt clear or decrypt encoded topic text.
-Allout uses emacs 'epg' libary to perform encryption. Symmetric
+Allout uses Emacs 'epg' library to perform encryption. Symmetric
and keypair encryption are supported. All encryption is ascii
armored.
Entry encryption defaults to symmetric key mode unless keypair
-recipients are associated with the file \(see
+recipients are associated with the file (see
`epa-file-encrypt-to') or the function is invoked with a
\(KEYMODE-CUE) universal argument greater than 1.
@@ -5881,7 +5881,7 @@ pending encryption or encrypted. `*' asterisk immediately after
the bullet signals that the body is encrypted, its absence means
the topic is meant to be encrypted but is not currently. When a
file with topics pending encryption is saved, topics pending
-encryption are encrypted. See allout-encrypt-unencrypted-on-saves
+encryption are encrypted. See `allout-encrypt-unencrypted-on-saves'
for auto-encryption specifics.
\*NOTE WELL* that automatic encryption that happens during saves will
@@ -5900,7 +5900,7 @@ encrypted. If you want to encrypt the contents of a top-level topic, use
"Encrypt clear text or decrypt encoded topic contents (body and subtopics.)
Entry encryption defaults to symmetric key mode unless keypair
-recipients are associated with the file \(see
+recipients are associated with the file (see
`epa-file-encrypt-to') or the function is invoked with a
\(KEYMODE-CUE) universal argument greater than 1.
@@ -5916,7 +5916,7 @@ associated with it. This can be used to deassociate any
recipients with the file, by selecting no recipients in the
dialog.
-Encryption and decryption uses the emacs epg library.
+Encryption and decryption uses the Emacs 'epg' library.
Encrypted text will be ascii-armored.
@@ -6033,7 +6033,7 @@ If DECRYPT is true (default false), then decrypt instead of encrypt.
ALLOUT-BUFFER identifies the buffer containing the text.
Entry encryption defaults to symmetric key mode unless keypair
-recipients are associated with the file \(see
+recipients are associated with the file (see
`epa-file-encrypt-to') or the function is invoked with a
\(KEYMODE-CUE) universal argument greater than 1.
@@ -6057,7 +6057,7 @@ rejections due to matches against
NOTE: A few GnuPG v2 versions improperly preserve incorrect
symmetric decryption keys, preventing entry of the correct key on
subsequent decryption attempts until the cache times-out. That
-can take several minutes. \(Decryption of other entries is not
+can take several minutes. (Decryption of other entries is not
affected.) Upgrade your EasyPG version, if you can, and you can
deliberately clear your gpg-agent's cache by sending it a '-HUP'
signal."
@@ -6196,7 +6196,7 @@ signal."
(defun allout-inhibit-auto-save-info-for-decryption (was-buffer-saved-size)
"Temporarily prevent auto-saves in this buffer when an item is decrypted.
-WAS-BUFFER-SAVED-SIZE is the value of buffer-saved-size *before*
+WAS-BUFFER-SAVED-SIZE is the value of `buffer-saved-size' *before*
the decryption."
(when (not (or (= buffer-saved-size -1) (= was-buffer-saved-size -1)))
(setq allout-auto-save-temporarily-disabled was-buffer-saved-size
@@ -6229,8 +6229,8 @@ the decryption."
"Return the point of the next topic pending encryption, or nil if none.
Such a topic has the `allout-topic-encryption-bullet' without an
-immediately following '*' that would mark the topic as being encrypted. It
-must also have content."
+immediately following '*' that would mark the topic as being encrypted.
+It must also have content."
(let (done got content-beg)
(save-match-data
(while (not done)
@@ -6332,7 +6332,7 @@ save. See `allout-encrypt-unencrypted-on-saves' for more info."
"Activate outline mode and establish file var so it is started subsequently.
See `allout-layout' and customization of `allout-auto-activation'
-for details on preparing emacs for automatic allout activation."
+for details on preparing Emacs for automatic allout activation."
(interactive "P")
@@ -6380,7 +6380,7 @@ Returns a list of the form (BEGINNING-POINT PREFIX-STRING SUFFIX-STRING)."
(defun allout-adjust-file-variable (varname value)
"Adjust the setting of an Emacs file variable named VARNAME to VALUE.
-This activity is inhibited if either `enable-local-variables'
+This activity is inhibited if either `enable-local-variables' or
`allout-enable-file-variable-adjustment' are nil.
When enabled, an entry for the variable is created if not already present,
diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el
index 4d6f02a40b7..08b569de333 100644
--- a/lisp/ansi-color.el
+++ b/lisp/ansi-color.el
@@ -413,7 +413,7 @@ start of the region and set the face with which to start. Set
(setq ansi-color-context-region nil))))))
;; This function helps you look for overlapping overlays. This is
-;; usefull in comint-buffers. Overlapping overlays should not happen!
+;; useful in comint-buffers. Overlapping overlays should not happen!
;; A possible cause for bugs are the markers. If you create an overlay
;; up to the end of the region, then that end might coincide with the
;; process-mark. As text is added BEFORE the process-mark, the overlay
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 817aaff55ca..f70025e9d3f 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -77,7 +77,7 @@
;; M-x global-auto-revert-mode RET
;;
;; To activate Global Auto-Revert Mode every time Emacs is started
-;; customise the option `global-auto-revert-mode' or the following
+;; customize the option `global-auto-revert-mode' or the following
;; line could be added to your ~/.emacs:
;; (global-auto-revert-mode 1)
;;
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 51e869e3a21..4d93e01fb2e 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -83,7 +83,7 @@ To specify the file in which to save them, modify the variable
"The `.emacs.bmk' file used to be called this name.")
-;; defvarred to avoid a compilation warning:
+;; defvared to avoid a compilation warning:
(defvar bookmark-file nil
"Old name for `bookmark-default-file'.")
diff --git a/lisp/calc/calc-bin.el b/lisp/calc/calc-bin.el
index 20b4a9db5e2..44354f0822f 100644
--- a/lisp/calc/calc-bin.el
+++ b/lisp/calc/calc-bin.el
@@ -291,7 +291,7 @@ the size of a Calc bignum digit.")
(if (eq (car-safe b) 'mod)
(if (equal mod (nth 2 b))
(setq b (nth 1 b))
- (math-reject-arg b "*Inconsistent modulos"))))
+ (math-reject-arg b "*Inconsistent modulus"))))
(setq mod (nth 2 b)
b (nth 1 b)))
(if (Math-messy-integerp mod)
@@ -303,9 +303,9 @@ the size of a Calc bignum digit.")
(if w
(if (/= w bits)
(calc-record-why
- "*Warning: Modulo inconsistent with word size"))
+ "*Warning: Modulus inconsistent with word size"))
(setq w bits))
- (calc-record-why "*Warning: Modulo is not a power of 2"))
+ (calc-record-why "*Warning: Modulus is not a power of 2"))
(math-make-mod (if b
(funcall f a b w)
(funcall f a w))
diff --git a/lisp/calc/calc-menu.el b/lisp/calc/calc-menu.el
index d8099b0aadc..d8c01656784 100644
--- a/lisp/calc/calc-menu.el
+++ b/lisp/calc/calc-menu.el
@@ -24,19 +24,19 @@
(defvar calc-arithmetic-menu
(list "Arithmetic"
(list "Basic"
- ["-(1:)" calc-change-sign
+ ["-(1:)" calc-change-sign
:keys "n" :active (>= (calc-stack-size) 1)]
- ["(2:) + (1:)" calc-plus
+ ["(2:) + (1:)" calc-plus
:keys "+" :active (>= (calc-stack-size) 2)]
- ["(2:) - (1:)" calc-minus
+ ["(2:) - (1:)" calc-minus
:keys "-" :active (>= (calc-stack-size) 2)]
- ["(2:) * (1:)" calc-times
+ ["(2:) * (1:)" calc-times
:keys "*" :active (>= (calc-stack-size) 2)]
- ["(2:) / (1:)" calc-divide
+ ["(2:) / (1:)" calc-divide
:keys "/" :active (>= (calc-stack-size) 2)]
- ["(2:) ^ (1:)" calc-power
+ ["(2:) ^ (1:)" calc-power
:keys "^" :active (>= (calc-stack-size) 2)]
- ["(2:) ^ (1/(1:))"
+ ["(2:) ^ (1/(1:))"
(progn
(require 'calc-ext)
(let ((calc-inverse-flag t))
@@ -44,8 +44,8 @@
:keys "I ^"
:active (>= (calc-stack-size) 2)
:help "The (1:)th root of (2:)"]
- ["abs(1:)"
- (progn
+ ["abs(1:)"
+ (progn
(require 'calc-arith)
(call-interactively 'calc-abs))
:keys "A"
@@ -57,7 +57,7 @@
(call-interactively 'calc-inv))
:keys "&"
:active (>= (calc-stack-size) 1)]
- ["sqrt(1:)"
+ ["sqrt(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-sqrt))
@@ -70,7 +70,7 @@
:keys "\\"
:active (>= (calc-stack-size) 2)
:help "The integer quotient of (2:) over (1:)"]
- ["(2:) mod (1:)"
+ ["(2:) mod (1:)"
(progn
(require 'calc-misc)
(call-interactively 'calc-mod))
@@ -78,28 +78,28 @@
:active (>= (calc-stack-size) 2)
:help "The remainder when (2:) is divided by (1:)"])
(list "Rounding"
- ["floor(1:)"
+ ["floor(1:)"
(progn
(require 'calc-arith)
(call-interactively 'calc-floor))
:keys "F"
:active (>= (calc-stack-size) 1)
:help "The greatest integer less than or equal to (1:)"]
- ["ceiling(1:)"
+ ["ceiling(1:)"
(progn
(require 'calc-arith)
(call-interactively 'calc-ceiling))
:keys "I F"
:active (>= (calc-stack-size) 1)
:help "The smallest integer greater than or equal to (1:)"]
- ["round(1:)"
+ ["round(1:)"
(progn
(require 'calc-arith)
(call-interactively 'calc-round))
:keys "R"
:active (>= (calc-stack-size) 1)
:help "The nearest integer to (1:)"]
- ["truncate(1:)"
+ ["truncate(1:)"
(progn
(require 'calc-arith)
(call-interactively 'calc-trunc))
@@ -140,32 +140,32 @@
:active (>= (calc-stack-size) 1)
:help "The argument (polar angle) of (1:)"])
(list "Conversion"
- ["Convert (1:) to a float"
+ ["Convert (1:) to a float"
(progn
(require 'calc-ext)
(call-interactively 'calc-float))
:keys "c f"
:active (>= (calc-stack-size) 1)]
- ["Convert (1:) to a fraction"
+ ["Convert (1:) to a fraction"
(progn
(require 'calc-ext)
(call-interactively 'calc-fraction))
:keys "c F"
:active (>= (calc-stack-size) 1)])
(list "Binary"
- ["Set word size"
+ ["Set word size"
(progn
(require 'calc-bin)
(call-interactively 'calc-word-size))
:keys "b w"]
- ["Clip (1:) to word size"
+ ["Clip (1:) to word size"
(progn
(require 'calc-bin)
(call-interactively 'calc-clip))
:keys "b c"
:active (>= (calc-stack-size) 1)
:help "Reduce (1:) modulo 2^wordsize"]
- ["(2:) and (1:)"
+ ["(2:) and (1:)"
(progn
(require 'calc-bin)
(call-interactively 'calc-and))
@@ -180,13 +180,13 @@
:active (>= (calc-stack-size) 2)
:help "Bitwise inclusive OR [modulo 2^wordsize]"]
["(2:) xor (1:)"
- (progn
+ (progn
(require 'calc-bin)
(call-interactively 'calc-xor))
:keys "b x"
:active (>= (calc-stack-size) 2)
:help "Bitwise exclusive OR [modulo 2^wordsize]"]
- ["diff(2:,1:)"
+ ["diff(2:,1:)"
(progn
(require 'calc-bin)
(call-interactively 'calc-diff))
@@ -263,82 +263,82 @@
:keys "I P"
:help "Euler's constant"])
(list "Logs and Exps"
- ["ln(1:)"
- (progn
- (require 'calc-math)
- (call-interactively 'calc-ln))
+ ["ln(1:)"
+ (progn
+ (require 'calc-math)
+ (call-interactively 'calc-ln))
:keys "L"
:active (>= (calc-stack-size) 1)
:help "The natural logarithm"]
- ["e^(1:)"
+ ["e^(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-exp))
:keys "E"
:active (>= (calc-stack-size) 1)]
- ["log(1:) [base 10]"
+ ["log(1:) [base 10]"
(progn
(require 'calc-math)
(call-interactively 'calc-log10))
:keys "H L"
:active (>= (calc-stack-size) 1)
:help "The common logarithm"]
- ["10^(1:)"
+ ["10^(1:)"
(progn
(require 'calc-math)
(let ((calc-inverse-flag t))
(call-interactively 'calc-log10)))
:keys "I H L"
:active (>= (calc-stack-size) 1)]
- ["log(2:) [base(1:)]"
+ ["log(2:) [base(1:)]"
(progn
(require 'calc-math)
(call-interactively 'calc-log))
:keys "B"
:active (>= (calc-stack-size) 2)
:help "The logarithm with an arbitrary base"]
- ["(2:) ^ (1:)"
- calc-power
+ ["(2:) ^ (1:)"
+ calc-power
:keys "^"
:active (>= (calc-stack-size) 2)])
(list "Trigonometric Functions"
- ["sin(1:)"
+ ["sin(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-sin))
:keys "S"
:active (>= (calc-stack-size) 1)]
- ["cos(1:)"
+ ["cos(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-cos))
:keys "C"
:active (>= (calc-stack-size) 1)]
- ["tan(1:)"
+ ["tan(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-tan))
:keys "T"
:active (>= (calc-stack-size) 1)]
- ["arcsin(1:)"
+ ["arcsin(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arcsin))
:keys "I S"
:active (>= (calc-stack-size) 1)]
- ["arccos(1:)"
+ ["arccos(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arccos))
:keys "I C"
:active (>= (calc-stack-size) 1)]
- ["arctan(1:)"
+ ["arctan(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arctan))
:keys "I T"
:active (>= (calc-stack-size) 1)]
- ["arctan2(2:,1:)"
+ ["arctan2(2:,1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arctan2))
@@ -367,65 +367,65 @@
:style radio
:selected (eq calc-angle-mode 'hms)])
(list "Hyperbolic Functions"
- ["sinh(1:)"
+ ["sinh(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-sinh))
:keys "H S"
:active (>= (calc-stack-size) 1)]
- ["cosh(1:)"
+ ["cosh(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-cosh))
:keys "H C"
:active (>= (calc-stack-size) 1)]
- ["tanh(1:)"
+ ["tanh(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-tanh))
:keys "H T"
:active (>= (calc-stack-size) 1)]
- ["arcsinh(1:)"
+ ["arcsinh(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arcsinh))
:keys "I H S"
:active (>= (calc-stack-size) 1)]
- ["arccosh(1:)"
+ ["arccosh(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arccosh))
:keys "I H C"
:active (>= (calc-stack-size) 1)]
- ["arctanh(1:)"
+ ["arctanh(1:)"
(progn
(require 'calc-math)
(call-interactively 'calc-arctanh))
:keys "I H T"
:active (>= (calc-stack-size) 1)])
(list "Advanced Math Functions"
- ["Gamma(1:)"
+ ["Gamma(1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-gamma))
:keys "f g"
:active (>= (calc-stack-size) 1)
:help "The Euler Gamma function"]
- ["GammaP(2:,1:)"
+ ["GammaP(2:,1:)"
(progn
(require 'calc-funcs)
(call-interactively 'calc-inc-gamma))
:keys "f G"
:active (>= (calc-stack-size) 2)
:help "The lower incomplete Gamma function"]
- ["Beta(2:,1:)"
+ ["Beta(2:,1:)"
(progn
(require 'calc-funcs)
(call-interactively 'calc-beta))
:keys "f b"
:active (>= (calc-stack-size) 2)
:help "The Euler Beta function"]
- ["BetaI(3:,2:,1:)"
+ ["BetaI(3:,2:,1:)"
(progn
(require 'calc-funcs)
(call-interactively 'calc-inc-beta))
@@ -439,14 +439,14 @@
:keys "f e"
:active (>= (calc-stack-size) 1)
:help "The error function"]
- ["BesselJ(2:,1:)"
+ ["BesselJ(2:,1:)"
(progn
(require 'calc-funcs)
(call-interactively 'calc-bessel-J))
:keys "f j"
:active (>= (calc-stack-size) 2)
:help "The Bessel function of the first kind (of order (2:))"]
- ["BesselY(2:,1:)"
+ ["BesselY(2:,1:)"
(progn
(require 'calc-funcs)
(call-interactively 'calc-bessel-Y))
@@ -454,44 +454,44 @@
:active (>= (calc-stack-size) 2)
:help "The Bessel function of the second kind (of order (2:))"])
(list "Combinatorial Functions"
- ["gcd(2:,1:)"
+ ["gcd(2:,1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-gcd))
:keys "k g"
:active (>= (calc-stack-size) 2)]
- ["lcm(2:,1:)"
+ ["lcm(2:,1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-lcm))
:keys "k l"
:active (>= (calc-stack-size) 2)]
- ["factorial(1:)"
+ ["factorial(1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-factorial))
:keys "!"
:active (>= (calc-stack-size) 1)]
- ["(2:) choose (1:)"
+ ["(2:) choose (1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-choose))
:keys "k c"
:active (>= (calc-stack-size) 2)]
- ["permutations(2:,1:)"
+ ["permutations(2:,1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-perm))
:keys "H k c"
:active (>= (calc-stack-size) 2)]
- ["Primality test for (1:)"
+ ["Primality test for (1:)"
(progn
(require 'calc-comb)
(call-interactively 'calc-prime-test))
:keys "k p"
:active (>= (calc-stack-size) 1)
:help "For large (1:), a probabilistic test"]
- ["Factor (1:) into primes"
+ ["Factor (1:) into primes"
(progn
(require 'calc-comb)
(call-interactively 'calc-prime-factors))
@@ -527,17 +527,17 @@
["Help on Scientific Functions"
(calc-info-goto-node "Scientific Functions")])
"Menu for Calc's scientific functions.")
-
+
(defvar calc-algebra-menu
(list "Algebra"
(list "Simplification"
- ["Simplify (1:)"
+ ["Simplify (1:)"
(progn
(require 'calc-alg)
(call-interactively 'calc-simplify))
:keys "a s"
:active (>= (calc-stack-size) 1)]
- ["Simplify (1:) with extended rules"
+ ["Simplify (1:) with extended rules"
(progn
(require 'calc-alg)
(call-interactively 'calc-simplify-extended))
@@ -545,72 +545,72 @@
:active (>= (calc-stack-size) 1)
:help "Apply possibly unsafe simplifications"])
(list "Manipulation"
- ["Expand formula (1:)"
+ ["Expand formula (1:)"
(progn
(require 'calc-alg)
(call-interactively 'calc-expand-formula))
:keys "a \""
:active (>= (calc-stack-size) 1)
:help "Expand (1:) into its defining formula, if possible"]
- ["Evaluate variables in (1:)"
+ ["Evaluate variables in (1:)"
(progn
(require 'calc-ext)
(call-interactively 'calc-evaluate))
:keys "="
:active (>= (calc-stack-size) 1)]
- ["Make substitution in (1:)"
+ ["Make substitution in (1:)"
(progn
(require 'calc-alg)
(call-interactively 'calc-substitute))
:keys "a b"
:active (>= (calc-stack-size) 1)
- :help
+ :help
"Substitute all occurrences of a sub-expression with a new sub-expression"])
(list "Polynomials"
- ["Factor (1:)"
+ ["Factor (1:)"
(progn
(require 'calc-alg)
(call-interactively 'calc-factor))
:keys "a f"
:active (>= (calc-stack-size) 1)]
- ["Collect terms in (1:)"
+ ["Collect terms in (1:)"
(progn
(require 'calc-alg)
- (call-interactively 'calc-collect))
+ (call-interactively 'calc-collect))
:keys "a c"
:active (>= (calc-stack-size) 1)
:help "Arrange as a polynomial in a given variable"]
- ["Expand (1:)"
+ ["Expand (1:)"
(progn
(require 'calc-alg)
(call-interactively 'calc-expand))
:keys "a x"
:active (>= (calc-stack-size) 1)
:help "Apply distributive law everywhere"]
- ["Find roots of (1:)"
+ ["Find roots of (1:)"
(progn
(require 'calcalg2)
(call-interactively 'calc-poly-roots))
:keys "a P"
:active (>= (calc-stack-size) 1)])
(list "Calculus"
- ["Differentiate (1:)"
+ ["Differentiate (1:)"
(progn
(require 'calcalg2)
(call-interactively 'calc-derivative))
:keys "a d"
:active (>= (calc-stack-size) 1)]
- ["Integrate (1:) [indefinite]"
+ ["Integrate (1:) [indefinite]"
(progn
(require 'calcalg2)
(call-interactively 'calc-integral))
:keys "a i"
:active (>= (calc-stack-size) 1)]
- ["Integrate (1:) [definite]"
+ ["Integrate (1:) [definite]"
(progn
(require 'calcalg2)
(let ((var (read-string "Integration variable: ")))
- (calc-tabular-command 'calcFunc-integ "Integration"
+ (calc-tabular-command 'calcFunc-integ "Integration"
"intg" nil var nil nil)))
:keys "C-u a i"
:active (>= (calc-stack-size) 1)]
@@ -621,20 +621,20 @@
:keys "a I"
:active (>= (calc-stack-size) 1)
:help "Integrate using the open Romberg method"]
- ["Taylor expand (1:)"
+ ["Taylor expand (1:)"
(progn
(require 'calcalg2)
(call-interactively 'calc-taylor))
:keys "a t"
:active (>= (calc-stack-size) 1)]
- ["Minimize (2:) [initial guess = (1:)]"
+ ["Minimize (2:) [initial guess = (1:)]"
(progn
(require 'calcalg3)
(call-interactively 'calc-find-minimum))
:keys "a N"
:active (>= (calc-stack-size) 2)
:help "Find a local minimum"]
- ["Maximize (2:) [initial guess = (1:)]"
+ ["Maximize (2:) [initial guess = (1:)]"
(progn
(require 'calcalg3)
(call-interactively 'calc-find-maximum))
@@ -642,26 +642,26 @@
:active (>= (calc-stack-size) 2)
:help "Find a local maximum"])
(list "Solving"
- ["Solve equation (1:)"
+ ["Solve equation (1:)"
(progn
(require 'calcalg2)
(call-interactively 'calc-solve-for))
:keys "a S"
:active (>= (calc-stack-size) 1)]
- ["Solve equation (2:) numerically [initial guess = (1:)]"
+ ["Solve equation (2:) numerically [initial guess = (1:)]"
(progn
(require 'calcalg3)
(call-interactively 'calc-find-root))
:keys "a R"
:active (>= (calc-stack-size) 2)]
- ["Find roots of polynomial (1:)"
+ ["Find roots of polynomial (1:)"
(progn
(require 'calcalg2)
(call-interactively 'calc-poly-roots))
:keys "a P"
:active (>= (calc-stack-size) 1)])
(list "Curve Fitting"
- ["Fit (1:)=[x values, y values] to a curve"
+ ["Fit (1:)=[x values, y values] to a curve"
(progn
(require 'calcalg3)
(call-interactively 'calc-curve-fit))
@@ -675,13 +675,13 @@
(defvar calc-graphics-menu
(list "Graphics"
- ["Graph 2D [(1:)= y values, (2:)= x values]"
+ ["Graph 2D [(1:)= y values, (2:)= x values]"
(progn
(require 'calc-graph)
(call-interactively 'calc-graph-fast))
:keys "g f"
:active (>= (calc-stack-size) 2)]
- ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]"
+ ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]"
(progn
(require 'calc-graph)
(call-interactively 'calc-graph-fast-3d))
@@ -696,11 +696,11 @@
(defvar calc-vectors-menu
(list "Matrices/Vectors"
(list "Matrices"
- ["(2:) + (1:)" calc-plus
+ ["(2:) + (1:)" calc-plus
:keys "+" :active (>= (calc-stack-size) 2)]
- ["(2:) - (1:)" calc-minus
+ ["(2:) - (1:)" calc-minus
:keys "-" :active (>= (calc-stack-size) 2)]
- ["(2:) * (1:)" calc-times
+ ["(2:) * (1:)" calc-times
:keys "*" :active (>= (calc-stack-size) 2)]
["(1:)^(-1)"
(progn
@@ -709,17 +709,17 @@
:keys "&"
:active (>= (calc-stack-size) 1)]
["Create an identity matrix"
- (progn
+ (progn
(require 'calc-vec)
(call-interactively 'calc-ident))
:keys "v i"]
- ["transpose(1:)"
+ ["transpose(1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-transpose))
:keys "v t"
:active (>= (calc-stack-size) 1)]
- ["det(1:)"
+ ["det(1:)"
(progn
(require 'calc-mtx)
(call-interactively 'calc-mdet))
@@ -731,19 +731,19 @@
(call-interactively 'calc-mtrace))
:keys "V T"
:active (>= (calc-stack-size) 1)]
- ["LUD decompose (1:)"
+ ["LUD decompose (1:)"
(progn
(require 'calc-mtx)
(call-interactively 'calc-mlud))
:keys "V L"
:active (>= (calc-stack-size) 1)]
- ["Extract a row from (1:)"
+ ["Extract a row from (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-mrow))
:keys "v r"
:active (>= (calc-stack-size) 1)]
- ["Extract a column from (1:)"
+ ["Extract a column from (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-mcol))
@@ -756,13 +756,13 @@
(call-interactively 'calc-head))
:keys "v h"
:active (>= (calc-stack-size) 1)]
- ["Extract an element from (1:)"
+ ["Extract an element from (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-mrow))
:keys "v r"
:active (>= (calc-stack-size) 1)]
- ["Reverse (1:)"
+ ["Reverse (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-reverse-vector))
@@ -775,19 +775,19 @@
:keys "v u"
:active (>= (calc-stack-size) 1)
:help "Separate the elements of (1:)"]
- ["(2:) cross (1:)"
+ ["(2:) cross (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-cross))
:keys "V C"
:active (>= (calc-stack-size) 2)
:help "The cross product in R^3"]
- ["(2:) dot (1:)"
- calc-mult
+ ["(2:) dot (1:)"
+ calc-mult
:keys "*"
:active (>= (calc-stack-size) 2)
:help "The dot product"]
- ["Map a function across (1:)"
+ ["Map a function across (1:)"
(progn
(require 'calc-map)
(call-interactively 'calc-map))
@@ -795,25 +795,25 @@
:active (>= (calc-stack-size) 1)
:help "Apply a function to each element"])
(list "Vectors As Sets"
- ["Remove duplicates from (1:)"
+ ["Remove duplicates from (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-remove-duplicates))
:keys "V +"
:active (>= (calc-stack-size) 1)]
- ["(2:) union (1:)"
+ ["(2:) union (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-set-union))
:keys "V V"
:active (>= (calc-stack-size) 2)]
- ["(2:) intersect (1:)"
+ ["(2:) intersect (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-set-intersect))
:keys "V ^"
:active (>= (calc-stack-size) 2)]
- ["(2:) \\ (1:)"
+ ["(2:) \\ (1:)"
(progn
(require 'calc-vec)
(call-interactively 'calc-set-difference))
@@ -821,35 +821,35 @@
:help "Set difference"
:active (>= (calc-stack-size) 2)])
(list "Statistics On Vectors"
- ["length(1:)"
+ ["length(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-count))
:keys "u #"
:active (>= (calc-stack-size) 1)
:help "The number of data values"]
- ["sum(1:)"
+ ["sum(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-sum))
:keys "u +"
:active (>= (calc-stack-size) 1)
:help "The sum of the data values"]
- ["max(1:)"
+ ["max(1:)"
(progn
(require 'calc-stat)
- (call-interactively 'calc-vector-max))
+ (call-interactively 'calc-vector-max))
:keys "u x"
:active (>= (calc-stack-size) 1)
:help "The maximum of the data values"]
- ["min(1:)"
+ ["min(1:)"
(progn
(require 'calc-stat)
- (call-interactively 'calc-vector-min))
+ (call-interactively 'calc-vector-min))
:keys "u N"
:active (>= (calc-stack-size) 1)
- :help "The minumum of the data values"]
- ["mean(1:)"
+ :help "The minimum of the data values"]
+ ["mean(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-mean))
@@ -863,28 +863,28 @@
:keys "I u M"
:active (>= (calc-stack-size) 1)
:help "The average (arithmetic mean) of the data values as an error form"]
- ["sdev(1:)"
+ ["sdev(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-sdev))
:keys "u S"
:active (>= (calc-stack-size) 1)
:help "The sample sdev, sqrt[sum((values - mean)^2)/(N-1)]"]
- ["variance(1:)"
+ ["variance(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-variance))
:keys "H u S"
:active (>= (calc-stack-size) 1)
:help "The sample variance, sum((values - mean)^2)/(N-1)"]
- ["population sdev(1:)"
+ ["population sdev(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-pop-sdev))
:keys "I u S"
:active (>= (calc-stack-size) 1)
:help "The population sdev, sqrt[sum((values - mean)^2)/N]"]
- ["population variance(1:)"
+ ["population variance(1:)"
(progn
(require 'calc-stat)
(call-interactively 'calc-vector-pop-variance))
@@ -937,25 +937,25 @@
(defvar calc-units-menu
(list "Units"
- ["Convert units in (1:)"
+ ["Convert units in (1:)"
(progn
(require 'calc-units)
(call-interactively 'calc-convert-units ))
:keys "u c"
:active (>= (calc-stack-size) 1)]
- ["Convert temperature in (1:)"
+ ["Convert temperature in (1:)"
(progn
(require 'calc-units)
(call-interactively 'calc-convert-temperature))
:keys "u t"
:active (>= (calc-stack-size) 1)]
- ["Simplify units in (1:)"
+ ["Simplify units in (1:)"
(progn
(require 'calc-units)
(call-interactively 'calc-simplify-units))
:keys "u s"
:active (>= (calc-stack-size) 1)]
- ["View units table"
+ ["View units table"
(progn
(require 'calc-units)
(call-interactively 'calc-view-units-table))
@@ -1072,40 +1072,40 @@
(defvar calc-variables-menu
(list "Variables"
- ["Store (1:) into a variable"
+ ["Store (1:) into a variable"
(progn
(require 'calc-store)
(call-interactively 'calc-store))
:keys "s s"
:active (>= (calc-stack-size) 1)]
- ["Recall a variable value"
+ ["Recall a variable value"
(progn
(require 'calc-store)
(call-interactively 'calc-recall ))
:keys "s r"]
- ["Edit the value of a variable"
+ ["Edit the value of a variable"
(progn
(require 'calc-store)
(call-interactively 'calc-edit-variable))
:keys "s e"]
- ["Exchange (1:) with a variable value"
+ ["Exchange (1:) with a variable value"
(progn
(require 'calc-store)
(call-interactively 'calc-store-exchange))
:keys "s x"
:active (>= (calc-stack-size) 1)]
- ["Clear variable value"
+ ["Clear variable value"
(progn
(require 'calc-store)
(call-interactively 'calc-unstore))
:keys "s u"]
- ["Evaluate variables in (1:)"
+ ["Evaluate variables in (1:)"
(progn
(require 'calc-ext)
(call-interactively 'calc-evaluate))
:keys "="
:active (>= (calc-stack-size) 1)]
- ["Evaluate (1:), assigning a value to a variable"
+ ["Evaluate (1:), assigning a value to a variable"
(progn
(require 'calc-store)
(call-interactively 'calc-let))
@@ -1119,19 +1119,19 @@
(defvar calc-stack-menu
(list "Stack"
- ["Remove (1:)"
- calc-pop
+ ["Remove (1:)"
+ calc-pop
:keys "DEL"
:active (>= (calc-stack-size) 1)]
- ["Switch (1:) and (2:)"
- calc-roll-down
+ ["Switch (1:) and (2:)"
+ calc-roll-down
:keys "TAB"
:active (>= (calc-stack-size) 2)]
- ["Duplicate (1:)"
- calc-enter
+ ["Duplicate (1:)"
+ calc-enter
:keys "RET"
:active (>= (calc-stack-size) 1)]
- ["Edit (1:)"
+ ["Edit (1:)"
(progn
(require 'calc-yank)
(call-interactively calc-edit))
@@ -1144,12 +1144,12 @@
(defvar calc-errors-menu
(list "Undo"
- ["Undo"
+ ["Undo"
(progn
(require 'calc-undo)
(call-interactively 'calc-undo))
:keys "U"]
- ["Redo"
+ ["Redo"
(progn
(require 'calc-undo)
(call-interactively 'calc-redo))
@@ -1162,7 +1162,7 @@
(defvar calc-modes-menu
(list "Modes"
- ["Precision"
+ ["Precision"
(progn
(require 'calc-ext)
(call-interactively 'calc-precision))
@@ -1277,7 +1277,7 @@
["Binary"
(progn
(require 'calc-bin)
- (call-interactively
+ (call-interactively
(lambda () (interactive) (calc-binary-radix t))))
:keys "C-u d 2"
:style radio
@@ -1330,7 +1330,7 @@
:keys "d e"
:style radio
:selected (eq (car-safe calc-float-format) 'eng)])
- (list "Complex Format"
+ (list "Complex Format"
["Default"
(progn
(require 'calc-cplx)
@@ -1522,17 +1522,17 @@
(defvar calc-help-menu
(list "Help"
- ["Manual"
+ ["Manual"
calc-info
:keys "h i"]
- ["Tutorial"
- calc-tutorial
+ ["Tutorial"
+ calc-tutorial
:keys "h t"]
- ["Summary"
- calc-info-summary
+ ["Summary"
+ calc-info-summary
:keys "h s"]
"----"
- ["Help on Help"
+ ["Help on Help"
(progn
(calc-info-goto-node "Introduction")
(Info-goto-node "Help Commands"))])
@@ -1557,7 +1557,7 @@
calc-errors-menu
calc-modes-menu
calc-help-menu
- ["Reset"
+ ["Reset"
(progn
(require 'calc-ext)
(call-interactively 'calc-reset))
@@ -1565,4 +1565,3 @@
["Quit" calc-quit]))
(provide 'calc-menu)
-
diff --git a/lisp/calc/calc-nlfit.el b/lisp/calc/calc-nlfit.el
index 37e6f66c1b1..bd162866c31 100644
--- a/lisp/calc/calc-nlfit.el
+++ b/lisp/calc/calc-nlfit.el
@@ -22,7 +22,7 @@
;;; Commentary:
;; This code uses the Levenberg-Marquardt method, as described in
-;; _Numerical Analysis_ by H. R. Schwarz, to fit data to
+;; _Numerical Analysis_ by H. R. Schwarz, to fit data to
;; nonlinear curves. Currently, the only the following curves are
;; supported:
;; The logistic S curve, y=a/(1+exp(b*(t-c)))
@@ -33,14 +33,14 @@
;; The logistic bell curve, y=A*exp(B*(t-C))/(1+exp(B*(t-C)))^2
;; Note that this is the derivative of the formula for the S curve.
-;; We get A=-a*b, B=b and C=c. Here, y is interpreted as the rate
-;; of growth of a population at time t. So we will think of the
-;; data as consisting of rates p0, p1, ..., pn and their
+;; We get A=-a*b, B=b and C=c. Here, y is interpreted as the rate
+;; of growth of a population at time t. So we will think of the
+;; data as consisting of rates p0, p1, ..., pn and their
;; respective times t0, t1, ..., tn.
;; The Hubbert Linearization, y/x=A*(1-x/B)
;; Here, y is thought of as the rate of growth of a population
-;; and x represents the actual population. This is essentially
+;; and x represents the actual population. This is essentially
;; the differential equation describing the actual population.
;; The Levenberg-Marquardt method is an iterative process: it takes
@@ -53,7 +53,7 @@
;; approximations for b and c are found using least squares on the
;; linearization log((a/y)-1) = log(bb) + cc*t of
;; y=a/(1+bb*exp(cc*t)), which is equivalent to the above s curve
-;; formula, and then tranlating it to b and c. From this, we can
+;; formula, and then translating it to b and c. From this, we can
;; also get approximations for the bell curve parameters.
;;; Code:
@@ -68,7 +68,7 @@
(defun math-nlfit-least-squares (xdata ydata &optional sdata sigmas)
"Return the parameters A and B for the best least squares fit y=a+bx."
(let* ((n (length xdata))
- (s2data (if sdata
+ (s2data (if sdata
(mapcar 'calcFunc-sqr sdata)
(make-list n 1)))
(S (if sdata 0 n))
@@ -109,11 +109,11 @@
;;; The methods described by de Sousa require the cumulative data qdata
;;; and the rates pdata. We will assume that we are given either
;;; qdata and the corresponding times tdata, or pdata and the corresponding
-;;; tdata. The following two functions will find pdata or qdata,
+;;; tdata. The following two functions will find pdata or qdata,
;;; given the other..
-;;; First, given two lists; one of values q0, q1, ..., qn and one of
-;;; corresponding times t0, t1, ..., tn; return a list
+;;; First, given two lists; one of values q0, q1, ..., qn and one of
+;;; corresponding times t0, t1, ..., tn; return a list
;;; p0, p1, ..., pn of the rates of change of the qi with respect to t.
;;; p0 is the right hand derivative (q1 - q0)/(t1 - t0).
;;; pn is the left hand derivative (qn - q(n-1))/(tn - t(n-1)).
@@ -122,7 +122,7 @@
(defun math-nlfit-get-rates-from-cumul (tdata qdata)
(let ((pdata (list
- (math-div
+ (math-div
(math-sub (nth 1 qdata)
(nth 0 qdata))
(math-sub (nth 1 tdata)
@@ -155,7 +155,7 @@
pdata))
(reverse pdata)))
-;;; Next, given two lists -- one of rates p0, p1, ..., pn and one of
+;;; Next, given two lists -- one of rates p0, p1, ..., pn and one of
;;; corresponding times t0, t1, ..., tn -- and an initial values q0,
;;; return a list q0, q1, ..., qn of the cumulative values.
;;; q0 is the initial value given.
@@ -169,7 +169,7 @@
(cons
(math-add (car qdata)
(math-mul
- (math-mul
+ (math-mul
'(float 5 -1)
(math-add (nth 1 pdata) (nth 0 pdata)))
(math-sub (nth 1 tdata)
@@ -181,13 +181,13 @@
;;; Given the qdata, pdata and tdata, find the parameters
;;; a, b and c that fit q = a/(1+b*exp(c*t)).
-;;; a is found using the method described by de Sousa.
+;;; a is found using the method described by de Sousa.
;;; b and c are found using least squares on the linearization
;;; log((a/q)-1) = log(b) + c*t
;;; In some cases (where the logistic curve may well be the wrong
;;; model), the computed a will be less than or equal to the maximum
;;; value of q in qdata; in which case the above linearization won't work.
-;;; In this case, a will be replaced by a number slightly above
+;;; In this case, a will be replaced by a number slightly above
;;; the maximum value of q.
(defun math-nlfit-find-qmax (qdata pdata tdata)
@@ -224,7 +224,7 @@
(setq qmh
(math-add qmh
(math-mul
- (math-mul
+ (math-mul
'(float 5 -1)
(math-add (nth 1 pdata) (nth 0 pdata)))
(math-sub (nth 1 tdata)
@@ -239,7 +239,7 @@
(let* ((qhalf (math-nlfit-find-qmaxhalf pdata tdata))
(q0 (math-mul 2 qhalf))
(qdata (math-nlfit-get-cumul-from-rates tdata pdata q0)))
- (while (math-lessp (math-nlfit-find-qmax
+ (while (math-lessp (math-nlfit-find-qmax
(mapcar
(lambda (q) (math-add q0 q))
qdata)
@@ -260,7 +260,7 @@
(i 0))
(while (< i 10)
(setq q0 (math-mul '(float 5 -1) (math-add qmin qmax)))
- (if (math-lessp
+ (if (math-lessp
(math-nlfit-find-qmax
(mapcar
(lambda (q) (math-add q0 q))
@@ -272,7 +272,7 @@
(setq i (1+ i)))
(math-mul '(float 5 -1) (math-add qmin qmax)))))
-;;; To improve the approximations to the parameters, we can use
+;;; To improve the approximations to the parameters, we can use
;;; Marquardt method as described in Schwarz's book.
;;; Small numbers used in the Givens algorithm
@@ -329,7 +329,7 @@
(let ((cij (math-nlfit-get-matx-elt C i j))
(cjj (math-nlfit-get-matx-elt C j j)))
(when (not (math-equal 0 cij))
- (if (math-lessp (calcFunc-abs cjj)
+ (if (math-lessp (calcFunc-abs cjj)
(math-mul math-nlfit-delta (calcFunc-abs cij)))
(setq w (math-neg cij)
gamma 0
@@ -337,7 +337,7 @@
rho 1)
(setq w (math-mul
(calcFunc-sign cjj)
- (calcFunc-sqrt
+ (calcFunc-sqrt
(math-add
(math-mul cjj cjj)
(math-mul cij cij))))
@@ -351,10 +351,10 @@
(math-nlfit-set-matx-elt C j j w)
(math-nlfit-set-matx-elt C i j rho)
(let ((k (1+ j)))
- (while (<= k n)
+ (while (<= k n)
(let* ((cjk (math-nlfit-get-matx-elt C j k))
(cik (math-nlfit-get-matx-elt C i k))
- (h (math-sub
+ (h (math-sub
(math-mul gamma cjk) (math-mul sigma cik))))
(setq cik (math-add
(math-mul sigma cjk)
@@ -386,9 +386,9 @@
(setq s (math-add s (math-mul (math-nlfit-get-matx-elt C i k)
(math-nlfit-get-elt x k))))
(setq k (1+ k))))
- (math-nlfit-set-elt x i
- (math-neg
- (math-div s
+ (math-nlfit-set-elt x i
+ (math-neg
+ (math-div s
(math-nlfit-get-matx-elt C i i))))
(setq i (1- i))))
(let ((i (1+ n)))
@@ -405,7 +405,7 @@
sigma 1)
(if (math-lessp (calcFunc-abs rho) 1)
(setq sigma rho
- gamma (calcFunc-sqrt
+ gamma (calcFunc-sqrt
(math-sub 1 (math-mul sigma sigma))))
(setq gamma (math-div 1 (calcFunc-abs rho))
sigma (math-mul (calcFunc-sign rho)
@@ -429,7 +429,7 @@
(defun math-nlfit-jacobian (grad xlist parms &optional slist)
(let ((j nil))
- (while xlist
+ (while xlist
(let ((row (apply grad (car xlist) parms)))
(setq j
(cons
@@ -495,7 +495,7 @@
(setq ydata (cdr ydata))
(setq sdata (cdr sdata)))
(reverse d)))
-
+
(defun math-nlfit-make-dtilda (d n)
(append d (make-list n 0)))
@@ -520,8 +520,8 @@
(newchisq (math-nlfit-chi-sq xlist ylist newparms fn slist)))
(if (math-lessp newchisq chisq)
(progn
- (if (math-lessp
- (math-div
+ (if (math-lessp
+ (math-div
(math-sub chisq newchisq) newchisq) math-nlfit-epsilon)
(setq really-done t))
(setq lambda (math-div lambda 10))
@@ -551,7 +551,7 @@
(let ((ex (calcFunc-exp (math-mul c (math-sub x d)))))
(math-div
(math-mul a ex)
- (math-sqr
+ (math-sqr
(math-add
1 ex)))))
@@ -582,7 +582,7 @@
(defun math-nlfit-find-covar (grad xlist pparms)
(let ((j nil))
- (while xlist
+ (while xlist
(setq j (cons (cons 'vec (apply grad (car xlist) pparms)) j))
(setq xlist (cdr xlist)))
(setq j (cons 'vec (reverse j)))
@@ -603,7 +603,7 @@
(setq i (1+ i)))
(setq sgs (reverse sgs)))
(list sgs covar)))
-
+
;;; Now the Calc functions
(defun math-nlfit-s-logistic-params (xdata ydata)
@@ -687,15 +687,15 @@
(funcall initparms xdata ydata))
(fit (math-nlfit-fit xdata ydata parmguess fn grad sdata))
(finalparms (nth 1 fit))
- (sigmacovar
+ (sigmacovar
(if sdevv
(math-nlfit-get-sigmas grad xdata finalparms (nth 0 fit))))
- (sigmas
+ (sigmas
(if sdevv
(nth 0 sigmacovar)))
- (finalparms
+ (finalparms
(if sigmas
- (math-map-binop
+ (math-map-binop
(lambda (x y) (list 'sdev x y)) finalparms sigmas)
finalparms))
(soln (funcall solnexpr finalparms var)))
@@ -712,8 +712,8 @@
((eq sdv 'calcFunc-xfit)
(let (sln)
(setq sln
- (list 'vec
- soln
+ (list 'vec
+ soln
traillist
(nth 1 sigmacovar)
'(vec)
@@ -721,7 +721,7 @@
(let ((n (length xdata))
(m (length finalparms)))
(if (and sdata (> n m))
- (calcFunc-utpc (nth 0 fit)
+ (calcFunc-utpc (nth 0 fit)
(- n m))
'(var nan var-nan)))))
(math-nlfit-enter-result 1 "xfit" sln)))
@@ -787,14 +787,14 @@
(list (nth 1 (nth 0 finalparms))
(nth 1 (nth 1 finalparms)))
(lambda (x a b)
- (math-mul a
+ (math-mul a
(math-sub
1
(math-div x b))))
sdata)))
(setq sln
- (list 'vec
- soln
+ (list 'vec
+ soln
traillist
(nth 2 parmvals)
(list
@@ -807,7 +807,7 @@
chisq
(let ((n (length qdata)))
(if (and sdata (> n 2))
- (calcFunc-utpc
+ (calcFunc-utpc
chisq
(- n 2))
'(var nan var-nan)))))
@@ -817,4 +817,3 @@
(calc-record traillist "parm")))))
(provide 'calc-nlfit)
-
diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el
index e16c26eaa19..97d955eb07d 100644
--- a/lisp/calc/calc-poly.el
+++ b/lisp/calc/calc-poly.el
@@ -419,7 +419,7 @@
(list 'frac 1 denom))
1))
-;;; Compute the GCD of two monovariate polynomial lists.
+;;; Compute the GCD of two univariate polynomial lists.
;;; Knuth section 4.6.1, algorithm C.
(defun math-poly-gcd-coefs (u v)
(let ((d (math-poly-gcd (math-poly-gcd-list u)
diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el
index 2360cf00ddc..135ea0bae40 100644
--- a/lisp/calc/calc-yank.el
+++ b/lisp/calc/calc-yank.el
@@ -131,7 +131,7 @@
val))
val))))))))
-;;; The Calc set- and get-register commands are modified versions of functions
+;;; The Calc set- and get-register commands are modified versions of functions
;;; in register.el
(defvar calc-register-alist nil
@@ -206,7 +206,7 @@ With prefix arg, delete as well."
(defun calc-add-to-register (register start end prepend delete-flag)
"Add the lines in the region to register REGISTER.
-If PREPEND is non-nil, add them to the beginning of the register,
+If PREPEND is non-nil, add them to the beginning of the register,
otherwise the end. If DELETE-FLAG is non-nil, also delete the region."
(let* ((top-num (calc-locate-cursor-element start))
(top-pos (save-excursion
@@ -242,7 +242,7 @@ With prefix arg, also delete the region."
(if (eq major-mode 'calc-mode)
(calc-add-to-register register start end nil delete-flag)
(append-to-register register start end delete-flag)))
-
+
(defun calc-prepend-to-register (register start end &optional delete-flag)
"Copy the lines in the region to the beginning of register REGISTER.
With prefix arg, also delete the region."
@@ -250,7 +250,7 @@ With prefix arg, also delete the region."
(if (eq major-mode 'calc-mode)
(calc-add-to-register register start end t delete-flag)
(prepend-to-register register start end delete-flag)))
-
+
(defun calc-clean-newlines (s)
@@ -585,12 +585,12 @@ To cancel the edit, simply kill the *Calc Edit* buffer."
(setq calc-allow-ret allow-ret)
(let ((inhibit-read-only t))
(erase-buffer))
- (add-hook 'kill-buffer-hook (lambda ()
+ (add-hook 'kill-buffer-hook (lambda ()
(let ((calc-edit-handler nil))
(calc-edit-finish t))
(message "(Cancelled)")) t t)
(insert (propertize
- (concat
+ (concat
(or title title "Calc Edit Mode. ")
"Press `C-c C-c'"
(if allow-ret "" " or RET")
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 60a84bdff35..23f955afe7c 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -1003,7 +1003,7 @@ Used by `calc-user-invocation'.")
(defvar calc-quick-prev-results nil
"Previous results from Quick Calc.")
(defvar calc-said-hello nil
- "Non-nil if the welcomd message has been displayed.")
+ "Non-nil if the welcome message has been displayed.")
(defvar calc-executing-macro nil
"Non-nil if a keyboard macro is executing from the \"K\" key.")
(defvar calc-any-selections nil
@@ -1235,7 +1235,8 @@ Used by `calc-user-invocation'.")
(glob (current-global-map))
(loc (current-local-map)))
(or (input-pending-p) (message "%s" prompt))
- (let ((key (calc-read-key t)))
+ (let ((key (calc-read-key t))
+ (input-method-function nil))
(calc-unread-command (cdr key))
(unwind-protect
(progn
diff --git a/lisp/calculator.el b/lisp/calculator.el
index 4a79316d736..faf62424729 100644
--- a/lisp/calculator.el
+++ b/lisp/calculator.el
@@ -81,7 +81,7 @@ This determines the default behavior of unary operators."
(defcustom calculator-prompt "Calc=%s> "
"The prompt used by the Emacs calculator.
-It should contain a \"%s\" somewhere that will indicate the i/o radixes;
+It should contain a \"%s\" somewhere that will indicate the i/o radices;
this will be a two-character string as described in the documentation
for `calculator-mode'."
:type 'string
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index c44eb6e1b5d..230366da2b0 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -508,7 +508,7 @@ The time should be in either 24 hour format or am/pm format.
Optional argument WARNTIME is an integer (or string) giving the number
of minutes before the appointment at which to start warning.
The default is `appt-message-warning-time'."
- (interactive "sTime (hh:mm[am/pm]): \nsMessage:
+ (interactive "sTime (hh:mm[am/pm]): \nsMessage: \n\
sMinutes before the appointment to start warning: ")
(unless (string-match appt-time-regexp time)
(error "Unacceptable time-string"))
@@ -521,7 +521,7 @@ sMinutes before the appointment to start warning: ")
(or appt-timer (appt-activate))
(let ((time-msg (list (list (appt-convert-time time))
(concat time " " msg) t)))
- ;; It is presently non-sensical to have multiple warnings about
+ ;; It is presently nonsensical to have multiple warnings about
;; the same appointment with just different delays, but it might
;; not always be so. TODO
(if warntime (setq time-msg (append time-msg (list warntime))))
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index 1b980b3b1fa..d161602bec0 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -147,7 +147,7 @@ See the documentation for the function `diary-list-sexp-entries'."
Nil means there are no comments. The diary does not display
parts of entries that are inside comments. You can use comments
for whatever you like, e.g. for meta-data that packages such as
-`appt.el' can use. Comments may not span mutliple lines, and there
+`appt.el' can use. Comments may not span multiple lines, and there
can be only one comment on any line.
See also `diary-comment-end'."
:version "24.1"
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el
index 84a1544d709..b841ed4ab73 100644
--- a/lisp/calendar/solar.el
+++ b/lisp/calendar/solar.el
@@ -962,7 +962,7 @@ Accurate to within a minute between 1951 and 2050."
(defun solar-mean-equinoxes/solstices (k year)
"Julian day of mean equinox/solstice K for YEAR.
K=0, spring equinox; K=1, summer solstice; K=2, fall equinox; K=3, winter
-solstice. These formulae are only to be used between 1000 BC and 3000 AD."
+solstice. These formulas are only to be used between 1000 BC and 3000 AD."
(let ((y (/ year 1000.0))
(z (/ (- year 2000) 1000.0)))
(if (< year 1000) ; actually between -1000 and 1000
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index b0c7f125982..de232c25e3f 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -61,14 +61,14 @@
;;
;; The TODO list file has a special format and some auxiliary
;; information, which will be added by the todo-show function if
-;; it attempts to visit an un-initialised file. Hence it is
+;; it attempts to visit an un-initialized file. Hence it is
;; recommended to use the todo-show function for the first time,
-;; in order to initialise the file, but it is not necessary
+;; in order to initialize the file, but it is not necessary
;; afterwards.
;;
;; As these commands are quite long to type, I would recommend
;; the addition of two bindings to your to your global keymap. I
-;; personally have the following in my initialisation file:
+;; personally have the following in my initialization file:
;;
;; (global-set-key "\C-ct" 'todo-show) ; switch to TODO buffer
;; (global-set-key "\C-ci" 'todo-insert-item) ; insert new item
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index e5969a3c291..ccc81e6613e 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,43 @@
+2011-12-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * semantic/bovine/c.el (semantic-tag-abstract-p): Fix typo.
+
+2011-11-26 Chong Yidong <cyd@gnu.org>
+
+ * semantic/wisent/python-wy.el:
+ * semantic/wisent/js-wy.el:
+ * semantic/wisent/javat-wy.el:
+ * semantic/bovine/c-by.el:
+ * semantic/grammar-wy.el: Regenerate.
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * semantic/lex-spp.el (semantic-lex-spp-first-token-arg-list): Fix typo.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * cedet-cscope.el (cedet-cscope-version-check):
+ * cedet-global.el (cedet-global-min-version)
+ (cedet-gnu-global-version-check):
+ * cedet.el (cedet-version):
+ * data-debug.el (data-debug-prev, data-debug-contract-current-line):
+ * ede.el (ede-buffer-belongs-to-project-p, ede-auto-add-to-target)
+ (ede-new, ede-invoke-method, project-edit-file-target, project-rescan)
+ (ede-add-project-to-global-list, ede-map-all-subprojects):
+ * inversion.el (inversion-check-version):
+ * mode-local.el (mode-local-map-file-buffers, define-child-mode)
+ (define-overloadable-function):
+ * pulse.el (pulse-flag, pulse):
+ * semantic.el (semantic-elapsed-time, semantic-parse-region)
+ (navigate-menu):
+ * ede/proj-comp.el (ede-compilation-program):
+ * semantic/debug.el (semantic-debug-parser-go)
+ (semantic-debug-parser-fail, semantic-debug-parser-quit)
+ (semantic-debug-parser-abort):
+ * semantic/idle.el (semantic-idle-core-handler):
+ * semantic/bovine/debug.el (semantic-bovine-debug-error-frame):
+ Fix typos.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* semantic/lex.el (semantic-lex-tokens):
diff --git a/lisp/cedet/cedet-cscope.el b/lisp/cedet/cedet-cscope.el
index 74892533ab6..71942698c5f 100644
--- a/lisp/cedet/cedet-cscope.el
+++ b/lisp/cedet/cedet-cscope.el
@@ -135,8 +135,8 @@ the error code."
(defun cedet-cscope-version-check (&optional noerror)
"Check the version of the installed CScope command.
-If optional programatic argument NOERROR is non-nil, then
-instead of throwing an error if CScope isn't available, then
+If optional programmatic argument NOERROR is non-nil,
+then instead of throwing an error if CScope isn't available,
return nil."
(interactive)
(require 'inversion)
diff --git a/lisp/cedet/cedet-files.el b/lisp/cedet/cedet-files.el
index ae037028bf7..6f40ee7030f 100644
--- a/lisp/cedet/cedet-files.el
+++ b/lisp/cedet/cedet-files.el
@@ -83,7 +83,7 @@ specific conversions during tests."
(setq file (concat driveletter ":"
(substring file (match-end 1))))))
- ;; Handle the \\file\name nomenclature on some windows boxes.
+ ;; Handle the \\file\name nomenclature on some Windows boxes.
(when (string-match "^!" file)
(setq file (concat "//" (substring file 1)))))
file))
diff --git a/lisp/cedet/cedet-global.el b/lisp/cedet/cedet-global.el
index d2a9794ec81..aa18c0d2f42 100644
--- a/lisp/cedet/cedet-global.el
+++ b/lisp/cedet/cedet-global.el
@@ -27,7 +27,7 @@
(declare-function inversion-check-version "inversion")
(defvar cedet-global-min-version "5.0"
- "Minimum version of GNU global required.")
+ "Minimum version of GNU Global required.")
(defcustom cedet-global-command "global"
"Command name for the GNU Global executable."
@@ -131,8 +131,8 @@ If a default starting DIR is not specified, the current buffer's
(defun cedet-gnu-global-version-check (&optional noerror)
"Check the version of the installed GNU Global command.
-If optional programatic argument NOERROR is non-nil, then
-instead of throwing an error if Global isn't available, then
+If optional programmatic argument NOERROR is non-nil,
+then instead of throwing an error if Global isn't available,
return nil."
(interactive)
(require 'inversion)
diff --git a/lisp/cedet/cedet-idutils.el b/lisp/cedet/cedet-idutils.el
index e071265c143..ee8e432ddd9 100644
--- a/lisp/cedet/cedet-idutils.el
+++ b/lisp/cedet/cedet-idutils.el
@@ -84,7 +84,7 @@ Note: Scope is not yet supported."
(defun cedet-idutils-fnid-call (flags)
"Call ID Utils fnid with the list of FLAGS.
-Return the created buffer with with program output."
+Return the created buffer with program output."
(let ((b (get-buffer-create "*CEDET fnid*"))
(cd default-directory)
)
@@ -112,7 +112,7 @@ Return the created buffer with with program output."
(defun cedet-idutils-mkid-call (flags)
"Call ID Utils mkid with the list of FLAGS.
-Return the created buffer with with program output."
+Return the created buffer with program output."
(let ((b (get-buffer-create "*CEDET mkid*"))
(cd default-directory)
)
@@ -163,8 +163,8 @@ the error code."
(defun cedet-idutils-version-check (&optional noerror)
"Check the version of the installed ID Utils command.
-If optional programatic argument NOERROR is non-nil, then
-instead of throwing an error if Global isn't available, then
+If optional programmatic argument NOERROR is non-nil,
+then instead of throwing an error if Global isn't available,
return nil."
(interactive)
(require 'inversion)
diff --git a/lisp/cedet/cedet.el b/lisp/cedet/cedet.el
index d7645bc97ed..9ccf74de27a 100644
--- a/lisp/cedet/cedet.el
+++ b/lisp/cedet/cedet.el
@@ -75,7 +75,7 @@
This is used by `semantic-mode' and `global-ede-mode'.")
(defun cedet-version ()
- "Display all active versions of CEDET and Dependent packages.
+ "Display all active versions of CEDET and dependent packages.
The PACKAGE column is the name of a given package from CEDET.
@@ -85,7 +85,7 @@ See `cedet-packages' for details.
FILE VERSION is the version number found in the source file
for the specified PACKAGE.
-LOADED VERSION is the version of PACKAGE current loaded in Emacs
+LOADED VERSION is the version of PACKAGE currently loaded in Emacs
memory and (presumably) running in this Emacs instance. Value is X
if the package has not been loaded."
(interactive)
diff --git a/lisp/cedet/data-debug.el b/lisp/cedet/data-debug.el
index e50e9993af0..329d1c608c2 100644
--- a/lisp/cedet/data-debug.el
+++ b/lisp/cedet/data-debug.el
@@ -916,7 +916,7 @@ If PARENT is non-nil, it is somehow related as a parent to thing."
(skip-chars-forward " *-><[]" (point-at-eol)))
(defun data-debug-prev ()
- "Go to the next line in the Ddebug buffer."
+ "Go to the previous line in the Ddebug buffer."
(interactive)
(forward-line -1)
(beginning-of-line)
@@ -972,7 +972,7 @@ Do nothing if already expanded."
(defun data-debug-contract-current-line ()
"Contract the current line (if possible).
-Do nothing if already expanded."
+Do nothing if already contracted."
(when (and (data-debug-current-line-expanded-p)
;; Don't contract if the current line is not expandable.
(get-text-property (point) 'ddebug-function))
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 987351a25e0..741e1ffbe5f 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -214,7 +214,7 @@ Argument LIST-O-O is the list of objects to choose from."
(and obj (obj-of-class-p obj ede-target))))
(defun ede-buffer-belongs-to-project-p ()
- "Return non-nil if this buffer belongs to at least one target."
+ "Return non-nil if this buffer belongs to at least one project."
(if (or (null ede-object) (consp ede-object)) nil
(obj-of-class-p ede-object ede-project)))
@@ -243,7 +243,7 @@ Argument MENU-DEF is the menu definition to use."
ede-obj (if (listp ede-object) ede-object (list ede-object)))
;; First, collect the build items from the project
(setq newmenu (append newmenu (ede-menu-items-build obj t)))
- ;; Second, Declare the current target menu items
+ ;; Second, declare the current target menu items
(if (and ede-obj (ede-menu-obj-of-class-p ede-target))
(while ede-obj
(setq newmenu (append newmenu
@@ -264,7 +264,7 @@ Argument MENU-DEF is the menu definition to use."
(setq targets (cdr targets)))
;; Fourth, build sub projects.
;; -- nerp
- ;; Fifth, Add make distribution
+ ;; Fifth, add make distribution
(append newmenu (list [ "Make distribution" ede-make-dist t ]))
)))))
@@ -512,7 +512,7 @@ an EDE controlled project."
"Look for a target that wants to own the current file.
Follow the preference set with `ede-auto-add-method' and get the list
of objects with the `ede-want-file-p' method."
- (if ede-object (error "Ede-object already defined for %s" (buffer-name)))
+ (if ede-object (error "ede-object already defined for %s" (buffer-name)))
(if (or (eq ede-auto-add-method 'never)
(ede-ignore-file (buffer-file-name)))
nil
@@ -566,7 +566,7 @@ Argument FILE is the file or directory to load a project from."
(ede-load-project-file (file-name-directory file))))
(defun ede-new (type &optional name)
- "Create a new project starting of project type TYPE.
+ "Create a new project starting from project type TYPE.
Optional argument NAME is the name to give this project."
(interactive
(list (completing-read "Project Type: "
@@ -642,7 +642,7 @@ Optional argument NAME is the name to give this project."
(defun ede-invoke-method (sym &rest args)
"Invoke method SYM on the current buffer's project object.
-ARGS are additional arguments to pass to method sym."
+ARGS are additional arguments to pass to method SYM."
(if (not ede-object)
(error "Cannot invoke %s for %s" (symbol-name sym)
(buffer-name)))
@@ -815,7 +815,7 @@ Argument FNND is an argument."
(error "remove-file not supported by %s" (object-name ot)))
(defmethod project-edit-file-target ((ot ede-target))
- "Edit the target OT associated w/ this file."
+ "Edit the target OT associated with this file."
(find-file (oref (ede-current-project) file)))
(defmethod project-new-target ((proj ede-project) &rest args)
@@ -857,7 +857,7 @@ Argument COMMAND is the command to use for compiling the target."
(error "Dist-files is not supported by %s" (object-name this)))
(defmethod project-rescan ((this ede-project))
- "Rescan the EDE proj project THIS."
+ "Rescan the EDE project THIS."
(error "Rescanning a project is not supported by %s" (object-name this)))
(defun ede-ecb-project-paths ()
@@ -879,7 +879,7 @@ On success, return the added project."
(when (not proj)
(error "No project created to add to master list"))
(when (not (eieio-object-p proj))
- (error "Attempt to add Non-object to master project list"))
+ (error "Attempt to add non-object to master project list"))
(when (not (obj-of-class-p proj ede-project-placeholder))
(error "Attempt to add a non-project to the ede projects list"))
(add-to-list 'ede-projects proj)
@@ -1157,7 +1157,7 @@ See also `ede-map-all-subprojects'."
(mapcar proc (oref this subproj)))
(defmethod ede-map-all-subprojects ((this ede-project) allproc)
- "For object THIS, execute PROC on THIS and all subprojects.
+ "For object THIS, execute PROC on THIS and all subprojects.
This function also applies PROC to sub-sub projects.
See also `ede-map-subprojects'."
(apply 'append
diff --git a/lisp/cedet/ede/autoconf-edit.el b/lisp/cedet/ede/autoconf-edit.el
index bd4a5a627a9..c6545dd9015 100644
--- a/lisp/cedet/ede/autoconf-edit.el
+++ b/lisp/cedet/ede/autoconf-edit.el
@@ -191,7 +191,7 @@ This is to make it compatible with `autoconf-find-last-macro'.
Assume that MACRO doesn't appear in the buffer yet, so search
the ordering list `autoconf-preferred-macro-order'."
;; Search this list backwards.. heh heh heh
- ;; This lets us do a reverse search easilly.
+ ;; This lets us do a reverse search easily.
(let ((ml (member macro (reverse autoconf-preferred-macro-order))))
(if (not ml) (error "Don't know how to position for %s yet" macro))
(setq ml (cdr ml))
diff --git a/lisp/cedet/ede/files.el b/lisp/cedet/ede/files.el
index 6179d304464..f17dfd85fdf 100644
--- a/lisp/cedet/ede/files.el
+++ b/lisp/cedet/ede/files.el
@@ -249,7 +249,7 @@ Do this whenever a new project is created, as opposed to loaded."
"Return a project description object if DIR has a project.
Optional argument FORCE means to ignore a hash-hit of 'nomatch.
This depends on an up to date `ede-project-class-files' variable.
-Any directory that contains the file .ede-ignore will allways
+Any directory that contains the file .ede-ignore will always
return nil."
(when (not (file-exists-p (expand-file-name ".ede-ignore" dir)))
(let* ((dirtest (expand-file-name dir))
diff --git a/lisp/cedet/ede/generic.el b/lisp/cedet/ede/generic.el
index 7efe534a640..69570771546 100644
--- a/lisp/cedet/ede/generic.el
+++ b/lisp/cedet/ede/generic.el
@@ -43,7 +43,7 @@
;;
;; Customization:
;;
-;; Since these projects are all so increadibly generic, a user will
+;; Since these projects are all so incredibly generic, a user will
;; need to configure some aspects of the project by hand. In order to
;; enable this without configuring the project objects directly (which
;; are auto-generated) a special ede-generic-config object is defined to
@@ -359,7 +359,7 @@ the new configuration."
(defun ede-generic-new-autoloader (internal-name external-name
projectfile class)
"Add a new EDE Autoload instance for identifying a generic project.
-INTERNAL-NAME is a long name that identifies thsi project type.
+INTERNAL-NAME is a long name that identifies this project type.
EXTERNAL-NAME is a shorter human readable name to describe the project.
PROJECTFILE is a file name that identifies a project of this type to EDE, such as
a Makefile, or SConstruct file.
diff --git a/lisp/cedet/ede/pconf.el b/lisp/cedet/ede/pconf.el
index 05290158189..ae503e836d8 100644
--- a/lisp/cedet/ede/pconf.el
+++ b/lisp/cedet/ede/pconf.el
@@ -82,7 +82,7 @@ don't do it. A value of nil means to just do it.")
(directory-file-name
(ede-subproject-relative-path sp top-level-project-local)))))
(when (string= dir "./") (setq dir ""))
- ;; Use concat, because expand-file-name removes the relativeness.
+ ;; Use concat, because expand-file-name removes the relativity.
(concat dir "Makefile") )))))
;;
;; NOTE TO SELF. TURN THIS INTO THE OFFICIAL LIST
diff --git a/lisp/cedet/ede/proj-comp.el b/lisp/cedet/ede/proj-comp.el
index ae5796e042b..84bf8ebf1a0 100644
--- a/lisp/cedet/ede/proj-comp.el
+++ b/lisp/cedet/ede/proj-comp.el
@@ -97,8 +97,8 @@ use the same autoconf form.")
(objectextention :initarg :objectextention
:type string
:documentation
- "A string which is the extention used for object files.
-For example, C code uses .o on unix, and Emacs Lisp uses .elc.")
+ "A string which is the extension used for object files.
+For example, C code uses .o on Unix, and Emacs Lisp uses .elc.")
)
"A program used to compile or link a program via a Makefile.
Contains everything needed to output code into a Makefile, or autoconf
diff --git a/lisp/cedet/ede/proj-shared.el b/lisp/cedet/ede/proj-shared.el
index ec514194e33..4e233f56a12 100644
--- a/lisp/cedet/ede/proj-shared.el
+++ b/lisp/cedet/ede/proj-shared.el
@@ -61,7 +61,7 @@ Use ldlibs to add addition libraries.")
; "$(CC_SHARED) -shared $(CFLAGS) $(LDFLAGS) -L. -o $@ $^")
; )
; :commands '("$(C_SHARED_LINK) %s")
- ;; @TODO - addative modification of autoconf.
+ ;; @TODO - additive modification of autoconf.
:autoconf '("AC_PROG_LIBTOOL")
)
"Compiler for C sourcecode.")
@@ -108,7 +108,7 @@ Use ldlibs to add addition libraries.")
:variables '(("CXX_SHARED" . "g++")
("CXX_SHARED_COMPILE" .
"$(CXX_SHARED) -shared $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)"))
- ;; @TODO - addative modification of autoconf.
+ ;; @TODO - additive modification of autoconf.
:autoconf '("AC_PROG_LIBTOOL")
)
"Compiler for C sourcecode.")
diff --git a/lisp/cedet/ede/proj.el b/lisp/cedet/ede/proj.el
index 79022be6a5f..a77bb02218b 100644
--- a/lisp/cedet/ede/proj.el
+++ b/lisp/cedet/ede/proj.el
@@ -546,7 +546,7 @@ You may need to add support for this type of file."
(file-name-extension (car sources))
"")))
))
- ;; Return the disovered compilers
+ ;; Return the discovered compilers.
comp)))
(defmethod ede-proj-linkers ((obj ede-proj-target))
@@ -580,7 +580,7 @@ Converts all symbols into the objects to be used."
(while (and avail (not (eieio-instance-inheritor-slot-boundp (car avail) 'sourcetype)))
(setq avail (cdr avail)))
(setq link (cdr avail)))))
- ;; Return the disovered linkers
+ ;; Return the discovered linkers.
link)))
diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el
index 316309092e7..033a486f1a7 100644
--- a/lisp/cedet/ede/project-am.el
+++ b/lisp/cedet/ede/project-am.el
@@ -284,7 +284,7 @@ buffer being in order to provide a smart default target type."
(progn (forward-line -1)
(end-of-line)
(insert "\n"))
- ;; If the above search fails, thats ok. We'd just want to be at
+ ;; If the above search fails, that's ok. We'd just want to be at
;; point-min anyway.
)
(makefile-insert-macro (car (cdr (cdr ntype))))))
diff --git a/lisp/cedet/inversion.el b/lisp/cedet/inversion.el
index 065ac6d0559..35841d2a6b2 100644
--- a/lisp/cedet/inversion.el
+++ b/lisp/cedet/inversion.el
@@ -199,12 +199,12 @@ not an indication of new features or bug fixes."
(= v1-1 v2-1)
(= v1-2 v2-2)
(= v1-3 v2-3)
- v1-4 v2-4 ; all or nothin if elt - is =
+ v1-4 v2-4 ; all or nothing if elt - is =
(< v1-4 v2-4))
(and (= v1-0 v2-0)
(= v1-1 v2-1)
(= v1-2 v2-2)
- v1-3 v2-3 ; all or nothin if elt - is =
+ v1-3 v2-3 ; all or nothing if elt - is =
(< v1-3 v2-3))
(and (= v1-1 v2-1)
(< v1-2 v2-2))
@@ -216,14 +216,14 @@ not an indication of new features or bug fixes."
)))
(defun inversion-check-version (version incompatible-version
- minimum &rest reserved)
+ minimum &rest reserved)
"Check that a given version meets the minimum requirement.
VERSION, INCOMPATIBLE-VERSION and MINIMUM are of similar format to
return entries of `inversion-decode-version', or a classic version
string. INCOMPATIBLE-VERSION can be nil.
RESERVED arguments are kept for a later use.
Return:
-- nil if everything is ok
+- nil if everything is ok.
- 'outdated if VERSION is less than MINIMUM.
- 'incompatible if VERSION is not backward compatible with MINIMUM.
- t if the check failed."
@@ -374,7 +374,7 @@ Return nil when VERSION-STRING was not found."
(with-temp-buffer
;; The 3000 is a bit arbitrary, but should cut down on
;; fileio as version info usually is at the very top
- ;; of a file. AFter a long commentary could be bad.
+ ;; of a file. After a long commentary could be bad.
(insert-file-contents-literally file nil 0 3000)
(goto-char (point-min))
(when (re-search-forward (format tag package 'version) nil t)
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index 0e7657642c2..511a3cd1d8b 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -36,7 +36,7 @@
;;
;; You should use a mode-local variable or override to allow extension
;; only if you expect a mode author to provide that extension. If a
-;; user might wish to customize a give variable or function then
+;; user might wish to customize a given variable or function then
;; the existing customization mechanism should be used.
;; To Do:
@@ -55,7 +55,7 @@
FUNCTION does not have arguments; when it is entered `current-buffer'
is the currently selected file buffer.
If optional argument PREDICATE is non nil, only select file buffers
-for which the function PREDICATE return non-nil.
+for which the function PREDICATE returns non-nil.
If optional argument BUFFERS is non-nil, it is a list of buffers to
walk through. It defaults to `buffer-list'."
(dolist (b (or buffers (buffer-list)))
@@ -146,7 +146,7 @@ local variables have been defined."
(mode-local-map-mode-buffers #'activate-mode-local-bindings mode))
(defmacro define-child-mode (mode parent &optional docstring)
- "Make major mode MODE inherits behavior from PARENT mode.
+ "Make major mode MODE inherit behavior from PARENT mode.
DOCSTRING is optional and not used.
To work properly, this should be put after PARENT mode local variables
definition."
@@ -523,11 +523,11 @@ See also the function `define-overload'."
result)))
(defmacro define-overloadable-function (name args docstring &rest body)
- "Define a new function, as with `defun' which can be overloaded.
+ "Define a new function, as with `defun', which can be overloaded.
NAME is the name of the function to create.
ARGS are the arguments to the function.
DOCSTRING is a documentation string to describe the function. The
-docstring will automatically had details about its overload symbol
+docstring will automatically have details about its overload symbol
appended to the end.
BODY is code that would be run when there is no override defined. The
default is to call the function `NAME-default' with the appropriate
diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el
index e3d2bd967b6..4929feb0302 100644
--- a/lisp/cedet/pulse.el
+++ b/lisp/cedet/pulse.el
@@ -36,7 +36,7 @@
;;
;; `pulse-momentary-highlight-one-line' - Pulse a single line at POINT.
;; `pulse-momentary-highlight-region' - Pulse a region.
-;; `pulse-momentary-highlight-overlay' - Pulse an overlay
+;; `pulse-momentary-highlight-overlay' - Pulse an overlay.
;; These three functions will just blink the specified area if
;; the version of Emacs you are using doesn't support pulsing.
;;
@@ -65,7 +65,7 @@ background color.
If the value is nil, highlight with an unchanging color until a
key is pressed.
If the value is `never', do no coloring at all.
-Any other value means to the default pulsing behavior.
+Any other value means to do the default pulsing behavior.
If `pulse-flag' is non-nil, but `pulse-available-p' is nil, then
this flag is ignored."
@@ -163,7 +163,7 @@ Return t if there is more drift to do, nil if completed."
(defun pulse (&optional face)
"Pulse the colors on our highlight face.
-If optional FACE is provide, reset the face to FACE color,
+If optional FACE is provided, reset the face to FACE color,
instead of `pulse-highlight-start-face'.
Be sure to call `pulse-reset-face' after calling pulse."
(unwind-protect
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index 639b46ad2cf..337413caf75 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -344,7 +344,7 @@ to use Semantic, and `semantic-init-hook' is run."
;; don't go along for the ride.
(add-hook 'clone-indirect-buffer-hook 'semantic-clear-toplevel-cache
nil t)
- ;; Specify that this function has done it's work. At this point
+ ;; Specify that this function has done its work. At this point
;; we can consider that semantic is active in this buffer.
(setq semantic-new-buffer-fcn-was-run t)
;; Here are some buffer local variables we can initialize ourselves
@@ -378,7 +378,7 @@ Do not set this yourself. Call `semantic-debug'.")
(defun semantic-elapsed-time (start end)
"Copied from elp.el. Was `elp-elapsed-time'.
-Argument START and END bound the time being calculated."
+Arguments START and END bound the time being calculated."
(float-time (time-subtract end start)))
(defun bovinate (&optional clear)
@@ -431,13 +431,13 @@ will be silently ignored.
Optional arguments:
NONTERMINAL is the rule to start parsing at.
-DEPTH specifies the lexical depth to descend for parser that use
+DEPTH specifies the lexical depth to descend for parsers that use
lexical analysis as their first step.
RETURNONERROR specifies that parsing should stop on the first
unmatched syntax encountered. When nil, parsing skips the syntax,
adding it to the unmatched syntax cache.
-Must return a list of semantic tags wich have been cooked
+Must return a list of semantic tags which have been cooked
\(repositioned properly) but which DO NOT HAVE OVERLAYS associated
with them. When overloading this function, use `semantic--tag-expand'
to cook raw tags.")
@@ -680,7 +680,7 @@ Does nothing if the current buffer doesn't need reparsing."
(save-excursion (semantic-fetch-tags))
nil)
;; If we are here, it is because the lexical step failed,
- ;; proably due to unterminated lists or something like that.
+ ;; probably due to unterminated lists or something like that.
;; We do nothing, and just wait for the next idle timer
;; to go off. In the meantime, remember this, and make sure
@@ -960,7 +960,7 @@ Throw away all the old tags, and recreate the tag database."
'("--"))
(define-key navigate-menu [senator-go-to-up-reference]
'(menu-item "Parent Tag" senator-go-to-up-reference
- :help "Navigate up one reference by tag."))
+ :help "Navigate up one reference by tag"))
(define-key navigate-menu [senator-next-tag]
'(menu-item "Next Tag" senator-next-tag
:help "Go to the next tag"))
@@ -971,7 +971,7 @@ Throw away all the old tags, and recreate the tag database."
;; Top level menu items:
(define-key cedet-menu-map [semantic-force-refresh]
'(menu-item "Reparse Buffer" semantic-force-refresh
- :help "Force a full reparse of the current buffer."
+ :help "Force a full reparse of the current buffer"
:visible semantic-mode))
(define-key cedet-menu-map [semantic-edit-menu]
`(menu-item "Edit Tags" ,edit-menu
diff --git a/lisp/cedet/semantic/analyze.el b/lisp/cedet/semantic/analyze.el
index 43e998b852e..ef09ea13b42 100644
--- a/lisp/cedet/semantic/analyze.el
+++ b/lisp/cedet/semantic/analyze.el
@@ -57,7 +57,7 @@
;;
;; context - A semantic datatype representing a point in a buffer.
;;
-;; constriant - If a context specifies a specific datatype is needed,
+;; constraint - If a context specifies a specific datatype is needed,
;; that is a constraint.
;; constants - Some datatypes define elements of themselves as a
;; constant. These need to be returned as there would be no
@@ -161,7 +161,7 @@ be just a string in some circumstances.")
(defclass semantic-analyze-context-return (semantic-analyze-context)
() ; No extra data.
"Analysis class for return data.
-Return data methods identify the requred type by the return value
+Return data methods identify the required type by the return value
of the parent function.")
;;; METHODS
@@ -254,7 +254,7 @@ Optional argument THROWSYM specifies a symbol the throw on non-recoverable error
(fname nil)
(miniscope (when scope (clone scope)))
)
- ;; First order check. Is this wholely contained in the typecache?
+ ;; First order check. Is this wholly contained in the typecache?
(setq tmp (semanticdb-typecache-find sequence))
(if tmp
diff --git a/lisp/cedet/semantic/analyze/fcn.el b/lisp/cedet/semantic/analyze/fcn.el
index eae6d013400..967e5c59cda 100644
--- a/lisp/cedet/semantic/analyze/fcn.el
+++ b/lisp/cedet/semantic/analyze/fcn.el
@@ -157,7 +157,7 @@ Almost all searches use the same arguments."
;;
(define-overloadable-function semantic-analyze-dereference-metatype (type scope &optional type-declaration)
- ;; todo - move into typecahe!!
+ ;; todo - move into typecache!!
"Return a concrete type tag based on input TYPE tag.
A concrete type is an actual declaration of a memory description,
such as a structure, or class. A meta type is an alias,
diff --git a/lisp/cedet/semantic/bovine/c-by.el b/lisp/cedet/semantic/bovine/c-by.el
index 31489a4f625..99429f01acd 100644
--- a/lisp/cedet/semantic/bovine/c-by.el
+++ b/lisp/cedet/semantic/bovine/c-by.el
@@ -1,6 +1,6 @@
;;; semantic/bovine/c-by.el --- Generated parser support file
-;;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el
index d8b004df1bd..4da23498cfc 100644
--- a/lisp/cedet/semantic/bovine/c.el
+++ b/lisp/cedet/semantic/bovine/c.el
@@ -298,7 +298,7 @@ Moves completely over balanced #if blocks."
;; @TODO - can we use the new c-scan-conditionals
(c-forward-conditional 1))
((looking-at "^\\s-*#\\s-*elif")
- ;; We need to let the preprocessor analize this one.
+ ;; We need to let the preprocessor analyze this one.
(beginning-of-line)
(setq done t)
)
@@ -344,7 +344,7 @@ Uses known macro tables in SPP to determine what block to skip."
(string= sym "0"))
(and ifdef (not (semantic-lex-spp-symbol-p sym)))
(and ifndef (semantic-lex-spp-symbol-p sym)))
- ;; The if indecates to skip this preprocessor section
+ ;; The if indicates to skip this preprocessor section.
(let ((pt nil))
;; (message "%s %s yes" ift sym)
(beginning-of-line)
@@ -650,7 +650,7 @@ as for the parent."
(setq depth 0)
;; This is a copy of semantic-parse-region-default where we
- ;; are doing something special with the lexication of the
+ ;; are doing something special with the lexing of the
;; contents of the semantic-list token. Stuff not used by C
;; removed.
(let ((tokstream
@@ -816,7 +816,7 @@ now.
;;
;; will create 2 toplevel tags, one is type A, and the other variable B
;; where the :type of B is just a type tag A that is a prototype, and
- ;; the actual struct info of A is it's own toplevel tag.
+ ;; the actual struct info of A is its own toplevel tag.
(when (or (semantic-tag-of-class-p tag 'function)
(semantic-tag-of-class-p tag 'variable))
(let* ((basetype (semantic-tag-type tag))
@@ -954,7 +954,7 @@ now.
(nth 1 (car names)) ; name
"typedef"
(semantic-tag-type-members tag)
- ;; parent is just tbe name of what
+ ;; parent is just the name of what
;; is passed down as a tag.
(list
(semantic-tag-name
@@ -1311,7 +1311,7 @@ Optional PARENT and COLOR as specified with
"Return non-nil if TAG is considered abstract.
PARENT is tag's parent.
In C, a method is abstract if it is `virtual', which is already
-handled. A class is abstract iff it's destructor is virtual."
+handled. A class is abstract iff its destructor is virtual."
(cond
((eq (semantic-tag-class tag) 'type)
(require 'semantic/find)
@@ -1591,7 +1591,7 @@ DO NOT return the list of tags encompassing point."
(setq tagreturn (cons (semantic-tag-type (car (semanticdb-find-result-nth tmp idx))) tagreturn))
(setq idx (1+ idx)))
)
- ;; Use the encompased types around point to also look for using statements.
+ ;; Use the encompassed types around point to also look for using statements.
;;(setq tagreturn (cons "bread_name" tagreturn))
(while (cdr tagsaroundpoint) ; don't search the last one
(setq tmp (semantic-find-tags-by-class 'using (semantic-tag-components (car tagsaroundpoint))))
diff --git a/lisp/cedet/semantic/bovine/debug.el b/lisp/cedet/semantic/bovine/debug.el
index 9ca7409e335..684db1e7bbf 100644
--- a/lisp/cedet/semantic/bovine/debug.el
+++ b/lisp/cedet/semantic/bovine/debug.el
@@ -114,7 +114,7 @@ LEXTOKEN, is a token returned by the lexer which is being matched."
:documentation
"An error condition caught in an action.")
)
- "Debugger frame representaion of a lisp error thrown during parsing.")
+ "Debugger frame representation of a lisp error thrown during parsing.")
(defun semantic-create-bovine-debug-error-frame (condition)
"Create an error frame for bovine debugger.
diff --git a/lisp/cedet/semantic/bovine/el.el b/lisp/cedet/semantic/bovine/el.el
index 2151e9ef53b..98f744dca6e 100644
--- a/lisp/cedet/semantic/bovine/el.el
+++ b/lisp/cedet/semantic/bovine/el.el
@@ -863,7 +863,7 @@ fields and such to, but that is for some other day."
In Emacs Lisp, a prototype for something may start (autoload ...).
This is certainly not expected if this is used to display a summary.
Make up something else. When we go to write something that needs
-a real Emacs Lisp protype, we can fix it then."
+a real Emacs Lisp prototype, we can fix it then."
(let ((class (semantic-tag-class tag))
(name (semantic-format-tag-name tag parent color))
)
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el
index 41a569564d0..7e01b88f60b 100644
--- a/lisp/cedet/semantic/complete.el
+++ b/lisp/cedet/semantic/complete.el
@@ -1023,9 +1023,9 @@ Output must be in semanticdb Find result format."
(defmethod semantic-collector-try-completion-whitespace
((obj semantic-collector-abstract) prefix)
- "For OBJ, do whatepsace completion based on PREFIX.
+ "For OBJ, do whitespace completion based on PREFIX.
This implies that if there are two completions, one matching
-the test \"preifx\\>\", and one not, the one matching the full
+the test \"prefix\\>\", and one not, the one matching the full
word version of PREFIX will be chosen, and that text returned.
This function requires that `semantic-collector-calculate-completions'
has been run first."
@@ -1478,7 +1478,7 @@ one in the source buffer."
(tag (cdr nt))
(table (car nt))
)
- ;; If we fail to normalize, resete.
+ ;; If we fail to normalize, reset.
(when (not tag) (setq table rtable tag rtag))
;; Do the focus.
(let ((buf (or (semantic-tag-buffer tag)
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el
index 35aef5d16ef..a651e08d53c 100644
--- a/lisp/cedet/semantic/db-find.el
+++ b/lisp/cedet/semantic/db-find.el
@@ -210,7 +210,7 @@ This class will cache data derived during various searches.")
"Synchronize the search index IDX with some NEW-TAGS."
;; Reset our parts.
(semantic-reset idx)
- ;; Notify dependants by clearning their indicies.
+ ;; Notify dependants by clearing their indices.
(semanticdb-notify-references
(oref idx table)
(lambda (tab me)
@@ -224,7 +224,7 @@ This class will cache data derived during various searches.")
(if (semantic-find-tags-by-class 'include new-tags)
(progn
(semantic-reset idx)
- ;; Notify dependants by clearning their indicies.
+ ;; Notify dependants by clearing their indices.
(semanticdb-notify-references
(oref idx table)
(lambda (tab me)
@@ -234,7 +234,7 @@ This class will cache data derived during various searches.")
(when (oref idx type-cache)
(when (semanticdb-partial-synchronize (oref idx type-cache) new-tags)
;; If the synchronize returns true, we need to notify.
- ;; Notify dependants by clearning their indicies.
+ ;; Notify dependants by clearing their indices.
(semanticdb-notify-references
(oref idx table)
(lambda (tab me)
@@ -405,10 +405,10 @@ Default action as described in `semanticdb-find-translate-path'."
;; do a caching lookup.
(let ((index (semanticdb-get-table-index table)))
(if (semanticdb-find-need-cache-update-p table)
- ;; Lets go look up our indicies
+ ;; Let's go look up our indices.
(let ((ans (semanticdb-find-translate-path-includes--internal path)))
(oset index include-path ans)
- ;; Once we have our new indicies set up, notify those
+ ;; Once we have our new indices set up, notify those
;; who depend on us if we found something for them to
;; depend on.
(when ans (semanticdb-refresh-references table))
@@ -575,7 +575,7 @@ a new path from the provided PATH."
(setq ans (semanticdb-file-table
(car systemdb)
;; I would expect most omniscient to return the same
- ;; thing reguardless of filename, but we may have
+ ;; thing regardless of filename, but we may have
;; one that can return a table of all things the
;; current file needs.
(buffer-file-name (current-buffer))))
@@ -675,7 +675,7 @@ Included databases are filtered based on `semanticdb-find-default-throttle'."
;;
;; NOTE: Not used if EDE is active!
((and (semanticdb-find-throttle-active-p 'project)
- ;; And dont do this if it is a system include. Not supported by all languages,
+ ;; And don't do this if it is a system include. Not supported by all languages,
;; but when it is, this is a nice fast way to skip this step.
(not (semantic-tag-include-system-p includetag))
;; Don't do this if we have an EDE project.
diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el
index 213216cee1a..e662290340d 100644
--- a/lisp/cedet/semantic/db-javascript.el
+++ b/lisp/cedet/semantic/db-javascript.el
@@ -137,7 +137,7 @@ Create one of our special tables that can act as an intermediary."
(defmethod semanticdb-get-tags ((table semanticdb-table-javascript ))
"Return the list of tags belonging to TABLE."
- ;; NOTE: Omniscient databases probably don't want to keep large tabes
+ ;; NOTE: Omniscient databases probably don't want to keep large tables
;; lolly-gagging about. Keep internal Emacs tables empty and
;; refer to alternate databases when you need something.
semanticdb-javascript-tags)
@@ -151,7 +151,7 @@ local variable."
;;; Usage
;;
-;; Unlike other tables, an omniscent database does not need to
+;; Unlike other tables, an omniscient database does not need to
;; be associated with a path. Use this routine to always add ourselves
;; to a search list.
(define-mode-local-override semanticdb-find-translate-path javascript-mode
diff --git a/lisp/cedet/semantic/db-typecache.el b/lisp/cedet/semantic/db-typecache.el
index a4c4bd99f26..7d23ad17009 100644
--- a/lisp/cedet/semantic/db-typecache.el
+++ b/lisp/cedet/semantic/db-typecache.el
@@ -368,7 +368,7 @@ a master list."
(semanticdb-typecache-merge-streams
incstream
;; Getting the cache from this table will also cause this
- ;; file to update its cache from its decendents.
+ ;; file to update its cache from its descendants.
;;
;; In theory, caches are only built for most includes
;; only once (in the loop before this one), so this ends
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el
index c9013ed8c90..3d2128db29a 100644
--- a/lisp/cedet/semantic/db.el
+++ b/lisp/cedet/semantic/db.el
@@ -636,7 +636,7 @@ The file associated with OBJ does not need to be in a buffer."
(when (featurep 'semantic/lex-spp)
(oset table lexical-table (semantic-lex-spp-save-table)))
- ;; Incremental parser doesn't mokey around with this.
+ ;; Incremental parser doesn't monkey around with this.
(oset table unmatched-syntax semantic-unmatched-syntax-cache)
;; Synchronize the index
diff --git a/lisp/cedet/semantic/debug.el b/lisp/cedet/semantic/debug.el
index ecab73a80dc..6db47f8b0be 100644
--- a/lisp/cedet/semantic/debug.el
+++ b/lisp/cedet/semantic/debug.el
@@ -175,7 +175,7 @@ TOKEN is a lexical token."
"For IFACE, highlight NONTERM in the parser buffer.
NONTERM is the name of the rule currently being processed that shows up
as a nonterminal (or tag) in the source buffer.
-If RULE and MATCH indicies are specified, highlight those also."
+If RULE and MATCH indices are specified, highlight those also."
(set-buffer (oref iface :parser-buffer))
(let* ((rules (semantic-find-tags-by-class 'nonterminal (current-buffer)))
@@ -519,22 +519,22 @@ down to your parser later."
)
(defmethod semantic-debug-parser-go ((parser semantic-debug-parser))
- "Continue executiong in this PARSER until the next breakpoint."
+ "Continue execution in this PARSER until the next breakpoint."
(setq semantic-debug-user-command 'go)
)
(defmethod semantic-debug-parser-fail ((parser semantic-debug-parser))
- "Continue executiong in this PARSER until the next breakpoint."
+ "Continue execution in this PARSER until the next breakpoint."
(setq semantic-debug-user-command 'fail)
)
(defmethod semantic-debug-parser-quit ((parser semantic-debug-parser))
- "Continue executiong in this PARSER until the next breakpoint."
+ "Continue execution in this PARSER until the next breakpoint."
(setq semantic-debug-user-command 'quit)
)
(defmethod semantic-debug-parser-abort ((parser semantic-debug-parser))
- "Continue executiong in this PARSER until the next breakpoint."
+ "Continue execution in this PARSER until the next breakpoint."
(setq semantic-debug-user-command 'abort)
)
diff --git a/lisp/cedet/semantic/edit.el b/lisp/cedet/semantic/edit.el
index 4ac2733a34f..3fbcf6d932f 100644
--- a/lisp/cedet/semantic/edit.el
+++ b/lisp/cedet/semantic/edit.el
@@ -392,7 +392,7 @@ See `semantic-edits-change-leaf-tag' for details on parents."
;; There are no tags left, and all tags originally
;; found are encompassed by the change. Setup our list
;; from the cache
- (setq list-to-search semantic--buffer-cache);; We have a tag ouside the list. Check for
+ (setq list-to-search semantic--buffer-cache);; We have a tag outside the list. Check for
;; We know we have a parent because it would
;; completely cover the change. A tag can only
;; do that if it is a parent after we get here.
@@ -549,7 +549,7 @@ This function is for internal use by `semantic-edits-incremental-parser'."
;; is not the first change for this
;; iteration, and it starts before the end
;; of current parse region, then it is
- ;; encompased within the bounds of tags
+ ;; encompassed within the bounds of tags
;; modified by the previous iteration's
;; change.
(< (semantic-overlay-start (car changes))
@@ -649,7 +649,7 @@ This function is for internal use by `semantic-edits-incremental-parser'."
parent-tag (aref tmp 2))
;; We can calculate parse begin/end by checking
;; out what is in TAGS. The one near start is
- ;; always first. Make sure the reprase includes
+ ;; always first. Make sure the reparse includes
;; the `whitespace' around the snarfed tags.
;; Since cache-list is positioned properly, use it
;; to find that boundary.
@@ -707,7 +707,7 @@ This function is for internal use by `semantic-edits-incremental-parser'."
;; since that is how the multi-tag parser works. Grab
;; the reparse symbol from the first of the returned tags.
;;
- ;; Feb '06 - If repase-symbol is nil, then they are top level
+ ;; Feb '06 - If reparse-symbol is nil, then they are top level
;; tags. (I'm guessing.) Is this right?
(setq reparse-symbol
(semantic--tag-get-property (car (or tags cache-list))
@@ -859,7 +859,7 @@ pre-positioned to a convenient location."
(setq cacheend chil)
(while (and cacheend (not (eq last (car cacheend))))
(setq cacheend (cdr cacheend)))
- ;; The splicable part is after cacheend.. so move cacheend
+ ;; The spliceable part is after cacheend.. so move cacheend
;; one more tag.
(setq cacheend (cdr cacheend))
;; Splice the found end tag into the cons cell
diff --git a/lisp/cedet/semantic/fw.el b/lisp/cedet/semantic/fw.el
index ca3015c5941..479044ec518 100644
--- a/lisp/cedet/semantic/fw.el
+++ b/lisp/cedet/semantic/fw.el
@@ -251,7 +251,7 @@ later installation should be done in MODE hook."
(defmacro semantic-exit-on-input (symbol &rest forms)
"Using SYMBOL as an argument to `throw', execute FORMS.
-If FORMS includes a call to `semantic-thow-on-input', then
+If FORMS includes a call to `semantic-throw-on-input', then
if a user presses any key during execution, this form macro
will exit with the value passed to `semantic-throw-on-input'.
If FORMS completes, then the return value is the same as `progn'."
diff --git a/lisp/cedet/semantic/grammar-wy.el b/lisp/cedet/semantic/grammar-wy.el
index acaad49f6af..879fdd92331 100644
--- a/lisp/cedet/semantic/grammar-wy.el
+++ b/lisp/cedet/semantic/grammar-wy.el
@@ -22,8 +22,7 @@
;;; Commentary:
;;
-;; This file is generated from the grammar file semantic-grammar.wy in
-;; the upstream CEDET repository.
+;; This file was generated from admin/grammars/grammar.wy.
;;; Code:
@@ -113,296 +112,296 @@
'((DEFAULT-PREC NO-DEFAULT-PREC KEYWORD LANGUAGEMODE LEFT NONASSOC PACKAGE PREC PUT QUOTEMODE RIGHT SCOPESTART START TOKEN TYPE USE-MACROS STRING SYMBOL PERCENT_PERCENT CHARACTER PREFIXED_LIST SEXP PROLOGUE EPILOGUE PAREN_BLOCK BRACE_BLOCK LPAREN RPAREN LBRACE RBRACE COLON SEMI OR LT GT)
nil
(grammar
- ((prologue))
- ((epilogue))
- ((declaration))
- ((nonterminal))
- ((PERCENT_PERCENT)))
+ ((prologue))
+ ((epilogue))
+ ((declaration))
+ ((nonterminal))
+ ((PERCENT_PERCENT)))
(prologue
- ((PROLOGUE)
- (wisent-raw-tag
- (semantic-tag-new-code "prologue" nil))))
+ ((PROLOGUE)
+ (wisent-raw-tag
+ (semantic-tag-new-code "prologue" nil))))
(epilogue
- ((EPILOGUE)
- (wisent-raw-tag
- (semantic-tag-new-code "epilogue" nil))))
+ ((EPILOGUE)
+ (wisent-raw-tag
+ (semantic-tag-new-code "epilogue" nil))))
(declaration
- ((decl)
- (eval $1)))
+ ((decl)
+ (eval $1)))
(decl
- ((default_prec_decl))
- ((no_default_prec_decl))
- ((languagemode_decl))
- ((package_decl))
- ((precedence_decl))
- ((put_decl))
- ((quotemode_decl))
- ((scopestart_decl))
- ((start_decl))
- ((keyword_decl))
- ((token_decl))
- ((type_decl))
- ((use_macros_decl)))
+ ((default_prec_decl))
+ ((no_default_prec_decl))
+ ((languagemode_decl))
+ ((package_decl))
+ ((precedence_decl))
+ ((put_decl))
+ ((quotemode_decl))
+ ((scopestart_decl))
+ ((start_decl))
+ ((keyword_decl))
+ ((token_decl))
+ ((type_decl))
+ ((use_macros_decl)))
(default_prec_decl
- ((DEFAULT-PREC)
- `(wisent-raw-tag
- (semantic-tag "default-prec" 'assoc :value
- '("t")))))
+ ((DEFAULT-PREC)
+ `(wisent-raw-tag
+ (semantic-tag "default-prec" 'assoc :value
+ '("t")))))
(no_default_prec_decl
- ((NO-DEFAULT-PREC)
- `(wisent-raw-tag
- (semantic-tag "default-prec" 'assoc :value
- '("nil")))))
+ ((NO-DEFAULT-PREC)
+ `(wisent-raw-tag
+ (semantic-tag "default-prec" 'assoc :value
+ '("nil")))))
(languagemode_decl
- ((LANGUAGEMODE symbols)
- `(wisent-raw-tag
- (semantic-tag ',(car $2)
- 'languagemode :rest ',(cdr $2)))))
+ ((LANGUAGEMODE symbols)
+ `(wisent-raw-tag
+ (semantic-tag ',(car $2)
+ 'languagemode :rest ',(cdr $2)))))
(package_decl
- ((PACKAGE SYMBOL)
- `(wisent-raw-tag
- (semantic-tag-new-package ',$2 nil))))
+ ((PACKAGE SYMBOL)
+ `(wisent-raw-tag
+ (semantic-tag-new-package ',$2 nil))))
(precedence_decl
- ((associativity token_type_opt items)
- `(wisent-raw-tag
- (semantic-tag ',$1 'assoc :type ',$2 :value ',$3))))
+ ((associativity token_type_opt items)
+ `(wisent-raw-tag
+ (semantic-tag ',$1 'assoc :type ',$2 :value ',$3))))
(associativity
- ((LEFT)
- (progn "left"))
- ((RIGHT)
- (progn "right"))
- ((NONASSOC)
- (progn "nonassoc")))
+ ((LEFT)
+ (progn "left"))
+ ((RIGHT)
+ (progn "right"))
+ ((NONASSOC)
+ (progn "nonassoc")))
(put_decl
- ((PUT put_name put_value)
- `(wisent-raw-tag
- (semantic-tag ',$2 'put :value ',(list $3))))
- ((PUT put_name put_value_list)
- `(wisent-raw-tag
- (semantic-tag ',$2 'put :value ',$3)))
- ((PUT put_name_list put_value)
- `(wisent-raw-tag
- (semantic-tag ',(car $2)
- 'put :rest ',(cdr $2)
- :value ',(list $3))))
- ((PUT put_name_list put_value_list)
- `(wisent-raw-tag
- (semantic-tag ',(car $2)
- 'put :rest ',(cdr $2)
- :value ',$3))))
+ ((PUT put_name put_value)
+ `(wisent-raw-tag
+ (semantic-tag ',$2 'put :value ',(list $3))))
+ ((PUT put_name put_value_list)
+ `(wisent-raw-tag
+ (semantic-tag ',$2 'put :value ',$3)))
+ ((PUT put_name_list put_value)
+ `(wisent-raw-tag
+ (semantic-tag ',(car $2)
+ 'put :rest ',(cdr $2)
+ :value ',(list $3))))
+ ((PUT put_name_list put_value_list)
+ `(wisent-raw-tag
+ (semantic-tag ',(car $2)
+ 'put :rest ',(cdr $2)
+ :value ',$3))))
(put_name_list
- ((BRACE_BLOCK)
- (mapcar 'semantic-tag-name
- (semantic-parse-region
- (car $region1)
- (cdr $region1)
- 'put_names 1))))
+ ((BRACE_BLOCK)
+ (mapcar 'semantic-tag-name
+ (semantic-parse-region
+ (car $region1)
+ (cdr $region1)
+ 'put_names 1))))
(put_names
- ((LBRACE)
- nil)
- ((RBRACE)
- nil)
- ((put_name)
- (wisent-raw-tag
- (semantic-tag $1 'put-name))))
+ ((LBRACE)
+ nil)
+ ((RBRACE)
+ nil)
+ ((put_name)
+ (wisent-raw-tag
+ (semantic-tag $1 'put-name))))
(put_name
- ((SYMBOL))
- ((token_type)))
+ ((SYMBOL))
+ ((token_type)))
(put_value_list
- ((BRACE_BLOCK)
- (mapcar 'semantic-tag-code-detail
- (semantic-parse-region
- (car $region1)
- (cdr $region1)
- 'put_values 1))))
+ ((BRACE_BLOCK)
+ (mapcar 'semantic-tag-code-detail
+ (semantic-parse-region
+ (car $region1)
+ (cdr $region1)
+ 'put_values 1))))
(put_values
- ((LBRACE)
- nil)
- ((RBRACE)
- nil)
- ((put_value)
- (wisent-raw-tag
- (semantic-tag-new-code "put-value" $1))))
+ ((LBRACE)
+ nil)
+ ((RBRACE)
+ nil)
+ ((put_value)
+ (wisent-raw-tag
+ (semantic-tag-new-code "put-value" $1))))
(put_value
- ((SYMBOL any_value)
- (cons $1 $2)))
+ ((SYMBOL any_value)
+ (cons $1 $2)))
(scopestart_decl
- ((SCOPESTART SYMBOL)
- `(wisent-raw-tag
- (semantic-tag ',$2 'scopestart))))
+ ((SCOPESTART SYMBOL)
+ `(wisent-raw-tag
+ (semantic-tag ',$2 'scopestart))))
(quotemode_decl
- ((QUOTEMODE SYMBOL)
- `(wisent-raw-tag
- (semantic-tag ',$2 'quotemode))))
+ ((QUOTEMODE SYMBOL)
+ `(wisent-raw-tag
+ (semantic-tag ',$2 'quotemode))))
(start_decl
- ((START symbols)
- `(wisent-raw-tag
- (semantic-tag ',(car $2)
- 'start :rest ',(cdr $2)))))
+ ((START symbols)
+ `(wisent-raw-tag
+ (semantic-tag ',(car $2)
+ 'start :rest ',(cdr $2)))))
(keyword_decl
- ((KEYWORD SYMBOL string_value)
- `(wisent-raw-tag
- (semantic-tag ',$2 'keyword :value ',$3))))
+ ((KEYWORD SYMBOL string_value)
+ `(wisent-raw-tag
+ (semantic-tag ',$2 'keyword :value ',$3))))
(token_decl
- ((TOKEN token_type_opt SYMBOL string_value)
- `(wisent-raw-tag
- (semantic-tag ',$3 ',(if $2 'token 'keyword)
- :type ',$2 :value ',$4)))
- ((TOKEN token_type_opt symbols)
- `(wisent-raw-tag
- (semantic-tag ',(car $3)
- 'token :type ',$2 :rest ',(cdr $3)))))
+ ((TOKEN token_type_opt SYMBOL string_value)
+ `(wisent-raw-tag
+ (semantic-tag ',$3 ',(if $2 'token 'keyword)
+ :type ',$2 :value ',$4)))
+ ((TOKEN token_type_opt symbols)
+ `(wisent-raw-tag
+ (semantic-tag ',(car $3)
+ 'token :type ',$2 :rest ',(cdr $3)))))
(token_type_opt
- (nil)
- ((token_type)))
+ (nil)
+ ((token_type)))
(token_type
- ((LT SYMBOL GT)
- (progn $2)))
+ ((LT SYMBOL GT)
+ (progn $2)))
(type_decl
- ((TYPE token_type plist_opt)
- `(wisent-raw-tag
- (semantic-tag ',$2 'type :value ',$3))))
+ ((TYPE token_type plist_opt)
+ `(wisent-raw-tag
+ (semantic-tag ',$2 'type :value ',$3))))
(plist_opt
- (nil)
- ((plist)))
+ (nil)
+ ((plist)))
(plist
- ((plist put_value)
- (append
- (list $2)
- $1))
- ((put_value)
- (list $1)))
+ ((plist put_value)
+ (append
+ (list $2)
+ $1))
+ ((put_value)
+ (list $1)))
(use_name_list
- ((BRACE_BLOCK)
- (mapcar 'semantic-tag-name
- (semantic-parse-region
- (car $region1)
- (cdr $region1)
- 'use_names 1))))
+ ((BRACE_BLOCK)
+ (mapcar 'semantic-tag-name
+ (semantic-parse-region
+ (car $region1)
+ (cdr $region1)
+ 'use_names 1))))
(use_names
- ((LBRACE)
- nil)
- ((RBRACE)
- nil)
- ((SYMBOL)
- (wisent-raw-tag
- (semantic-tag $1 'use-name))))
+ ((LBRACE)
+ nil)
+ ((RBRACE)
+ nil)
+ ((SYMBOL)
+ (wisent-raw-tag
+ (semantic-tag $1 'use-name))))
(use_macros_decl
- ((USE-MACROS SYMBOL use_name_list)
- `(wisent-raw-tag
- (semantic-tag "macro" 'macro :type ',$2 :value ',$3))))
+ ((USE-MACROS SYMBOL use_name_list)
+ `(wisent-raw-tag
+ (semantic-tag "macro" 'macro :type ',$2 :value ',$3))))
(string_value
- ((STRING)
- (read $1)))
+ ((STRING)
+ (read $1)))
(any_value
- ((SYMBOL))
- ((STRING))
- ((PAREN_BLOCK))
- ((PREFIXED_LIST))
- ((SEXP)))
+ ((SYMBOL))
+ ((STRING))
+ ((PAREN_BLOCK))
+ ((PREFIXED_LIST))
+ ((SEXP)))
(symbols
- ((lifo_symbols)
- (nreverse $1)))
+ ((lifo_symbols)
+ (nreverse $1)))
(lifo_symbols
- ((lifo_symbols SYMBOL)
- (cons $2 $1))
- ((SYMBOL)
- (list $1)))
+ ((lifo_symbols SYMBOL)
+ (cons $2 $1))
+ ((SYMBOL)
+ (list $1)))
(nonterminal
- ((SYMBOL
- (setq semantic-grammar-wy--nterm $1 semantic-grammar-wy--rindx 0)
- COLON rules SEMI)
- (wisent-raw-tag
- (semantic-tag $1 'nonterminal :children $4))))
+ ((SYMBOL
+ (setq semantic-grammar-wy--nterm $1 semantic-grammar-wy--rindx 0)
+ COLON rules SEMI)
+ (wisent-raw-tag
+ (semantic-tag $1 'nonterminal :children $4))))
(rules
- ((lifo_rules)
- (apply 'nconc
- (nreverse $1))))
+ ((lifo_rules)
+ (apply 'nconc
+ (nreverse $1))))
(lifo_rules
- ((lifo_rules OR rule)
- (cons $3 $1))
- ((rule)
- (list $1)))
+ ((lifo_rules OR rule)
+ (cons $3 $1))
+ ((rule)
+ (list $1)))
(rule
- ((rhs)
- (let*
- ((nterm semantic-grammar-wy--nterm)
- (rindx semantic-grammar-wy--rindx)
- (rhs $1)
- comps prec action elt)
- (setq semantic-grammar-wy--rindx
- (1+ semantic-grammar-wy--rindx))
- (while rhs
- (setq elt
- (car rhs)
- rhs
- (cdr rhs))
- (cond
- ((vectorp elt)
- (if prec
- (error "Duplicate %%prec in `%s:%d' rule" nterm rindx))
- (setq prec
- (aref elt 0)))
- ((consp elt)
- (if
- (or action comps)
- (setq comps
- (cons elt comps)
- semantic-grammar-wy--rindx
- (1+ semantic-grammar-wy--rindx))
- (setq action
- (car elt))))
- (t
- (setq comps
- (cons elt comps)))))
- (wisent-cook-tag
- (wisent-raw-tag
- (semantic-tag
- (format "%s:%d" nterm rindx)
- 'rule :type
- (if comps "group" "empty")
- :value comps :prec prec :expr action))))))
+ ((rhs)
+ (let*
+ ((nterm semantic-grammar-wy--nterm)
+ (rindx semantic-grammar-wy--rindx)
+ (rhs $1)
+ comps prec action elt)
+ (setq semantic-grammar-wy--rindx
+ (1+ semantic-grammar-wy--rindx))
+ (while rhs
+ (setq elt
+ (car rhs)
+ rhs
+ (cdr rhs))
+ (cond
+ ((vectorp elt)
+ (if prec
+ (error "Duplicate %%prec in `%s:%d' rule" nterm rindx))
+ (setq prec
+ (aref elt 0)))
+ ((consp elt)
+ (if
+ (or action comps)
+ (setq comps
+ (cons elt comps)
+ semantic-grammar-wy--rindx
+ (1+ semantic-grammar-wy--rindx))
+ (setq action
+ (car elt))))
+ (t
+ (setq comps
+ (cons elt comps)))))
+ (wisent-cook-tag
+ (wisent-raw-tag
+ (semantic-tag
+ (format "%s:%d" nterm rindx)
+ 'rule :type
+ (if comps "group" "empty")
+ :value comps :prec prec :expr action))))))
(rhs
- (nil)
- ((rhs item)
- (cons $2 $1))
- ((rhs action)
- (cons
- (list $2)
- $1))
- ((rhs PREC item)
- (cons
- (vector $3)
- $1)))
+ (nil)
+ ((rhs item)
+ (cons $2 $1))
+ ((rhs action)
+ (cons
+ (list $2)
+ $1))
+ ((rhs PREC item)
+ (cons
+ (vector $3)
+ $1)))
(action
- ((PAREN_BLOCK))
- ((PREFIXED_LIST))
- ((BRACE_BLOCK)
- (format "(progn\n%s)"
- (let
- ((s $1))
- (if
- (string-match "^{[ \n ]*" s)
- (setq s
- (substring s
- (match-end 0))))
- (if
- (string-match "[ \n ]*}$" s)
- (setq s
- (substring s 0
- (match-beginning 0))))
- s))))
+ ((PAREN_BLOCK))
+ ((PREFIXED_LIST))
+ ((BRACE_BLOCK)
+ (format "(progn\n%s)"
+ (let
+ ((s $1))
+ (if
+ (string-match "^{[ \n ]*" s)
+ (setq s
+ (substring s
+ (match-end 0))))
+ (if
+ (string-match "[ \n ]*}$" s)
+ (setq s
+ (substring s 0
+ (match-beginning 0))))
+ s))))
(items
- ((lifo_items)
- (nreverse $1)))
+ ((lifo_items)
+ (nreverse $1)))
(lifo_items
- ((lifo_items item)
- (cons $2 $1))
- ((item)
- (list $1)))
+ ((lifo_items item)
+ (cons $2 $1))
+ ((item)
+ (list $1)))
(item
- ((SYMBOL))
- ((CHARACTER))))
+ ((SYMBOL))
+ ((CHARACTER))))
'(grammar prologue epilogue declaration nonterminal rule put_names put_values use_names)))
"Parser table.")
@@ -411,10 +410,10 @@
(semantic-install-function-overrides
'((parse-stream . wisent-parse-stream)))
(setq semantic-parser-name "LALR"
- semantic--parse-table semantic-grammar-wy--parse-table
- semantic-debug-parser-source "semantic-grammar.wy"
- semantic-flex-keywords-obarray semantic-grammar-wy--keyword-table
- semantic-lex-types-obarray semantic-grammar-wy--token-table)
+ semantic--parse-table semantic-grammar-wy--parse-table
+ semantic-debug-parser-source "semantic-grammar.wy"
+ semantic-flex-keywords-obarray semantic-grammar-wy--keyword-table
+ semantic-lex-types-obarray semantic-grammar-wy--token-table)
;; Collect unmatched syntax lexical tokens
(semantic-make-local-hook 'wisent-discarding-token-functions)
(add-hook 'wisent-discarding-token-functions
diff --git a/lisp/cedet/semantic/grammar.el b/lisp/cedet/semantic/grammar.el
index 1d1184e534f..98b1ab55c32 100644
--- a/lisp/cedet/semantic/grammar.el
+++ b/lisp/cedet/semantic/grammar.el
@@ -104,10 +104,10 @@ It ignores whitespaces, newlines and comments."
;; regexp match semicolons inside strings!
semantic-lex-ignore-comments
;; Must detect prefixed list before punctuation because prefix chars
- ;; are also punctuations!
+ ;; are also punctuation!
semantic-grammar-wy--<qlist>-sexp-analyzer
- ;; Must detect punctuations after comments because the semicolon can
- ;; be a punctuation or a comment start!
+ ;; Must detect punctuation after comments because the semicolon can
+ ;; be punctuation or a comment start!
semantic-grammar-wy--<punctuation>-string-analyzer
semantic-grammar-wy--<block>-block-analyzer
semantic-grammar-wy--<sexp>-sexp-analyzer)
diff --git a/lisp/cedet/semantic/html.el b/lisp/cedet/semantic/html.el
index 137759d46ac..a7d150ec4a9 100644
--- a/lisp/cedet/semantic/html.el
+++ b/lisp/cedet/semantic/html.el
@@ -126,7 +126,7 @@ html parser. PNT is the new point to set."
NAME is the name of this section.
MEMBERS is a list of semantic tags representing the elements that make
up this section.
-LEVEL is the levelling level.
+LEVEL is the leveling level.
START and END define the location of data described by the tag."
(let ((anchorp (eq level 11)))
(append (semantic-tag name
diff --git a/lisp/cedet/semantic/ia-sb.el b/lisp/cedet/semantic/ia-sb.el
index 95a68673b8c..edd62cc5ca5 100644
--- a/lisp/cedet/semantic/ia-sb.el
+++ b/lisp/cedet/semantic/ia-sb.el
@@ -348,7 +348,7 @@ TEXT TAG and INDENT are the details."
(insert (semantic-tag-name tag))
(if movepoint (setq movepoint (point)))
;; I'd like to use this to add fancy () or what not at the end
- ;; but we need the parent file whih requires an upgrade to the
+ ;; but we need the parent file which requires an upgrade to the
;; analysis tool.
;;(semantic-insert-foreign-tag tag ??))
)
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index b49d1db1ad5..4b3a51e79f7 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -245,7 +245,7 @@ And also manages services that depend on tag values."
;; services. Stop on keypress.
;; NOTE ON COMMENTED SAFE HERE
- ;; We used to not execute the services if the buffer wsa
+ ;; We used to not execute the services if the buffer was
;; unparseable. We now assume that they are lexically
;; safe to do, because we have marked the buffer unparseable
;; if there was a problem.
@@ -254,11 +254,11 @@ And also manages services that depend on tag values."
(save-excursion
(semantic-throw-on-input 'idle-queue)
(when semantic-idle-scheduler-verbose-flag
- (message "IDLE: execture service %s..." service))
+ (message "IDLE: execute service %s..." service))
(semantic-safe (format "Idle Service Error %s: %%S" service)
(funcall service))
(when semantic-idle-scheduler-verbose-flag
- (message "IDLE: execture service %s...done" service))
+ (message "IDLE: execute service %s...done" service))
)))
;;)
;; Finally loop over remaining buffers, trying to update them as
@@ -515,7 +515,7 @@ Does nothing if the current buffer doesn't need reparsing."
(save-excursion (semantic-fetch-tags))
nil)
;; If we are here, it is because the lexical step failed,
- ;; proably due to unterminated lists or something like that.
+ ;; probably due to unterminated lists or something like that.
;; We do nothing, and just wait for the next idle timer
;; to go off. In the meantime, remember this, and make sure
diff --git a/lisp/cedet/semantic/imenu.el b/lisp/cedet/semantic/imenu.el
index 033c34e1b83..7566c08f13a 100644
--- a/lisp/cedet/semantic/imenu.el
+++ b/lisp/cedet/semantic/imenu.el
@@ -368,7 +368,7 @@ Optional argument PARENT is a tag parent of STREAM."
semantic-imenu-expandable-tag-classes)
children
)
- ;; to keep an homogeneous menu organisation, type menu items
+ ;; to keep an homogeneous menu organization, type menu items
;; always have a sub-menu with at least the *definition*
;; item (even if the tag has no type components)
(progn
diff --git a/lisp/cedet/semantic/lex-spp.el b/lisp/cedet/semantic/lex-spp.el
index 8009a257a7b..cf82da303ce 100644
--- a/lisp/cedet/semantic/lex-spp.el
+++ b/lisp/cedet/semantic/lex-spp.el
@@ -452,7 +452,7 @@ continue processing recursively."
;; If val is nil, that's probably wrong.
;; Found a system header case where this was true.
((null val) "")
- ;; Debug wierd stuff.
+ ;; Debug weird stuff.
(t (debug)))
))
((stringp txt)
@@ -821,7 +821,7 @@ STR occurs in the current buffer between BEG and END."
;; a macro.
(defun semantic-lex-spp-first-token-arg-list (token)
- "If TOKEN is a semantic-list, turn it into a an SPP ARG LIST."
+ "If TOKEN is a semantic-list, turn it into an SPP ARG LIST."
(when (and (consp token)
(symbolp (car token))
(eq 'semantic-list (car token)))
@@ -1067,7 +1067,7 @@ of type `spp-macro-undef' is to be created."
;;
;; These analyzers help a language define how include files
;; are identified. These are ONLY for languages that perform
-;; an actual textual includesion, and not for imports.
+;; an actual textual inclusion, and not for imports.
;;
;; This section is supposed to allow the macros from the headers to be
;; added to the local dynamic macro table, but that hasn't been
diff --git a/lisp/cedet/semantic/lex.el b/lisp/cedet/semantic/lex.el
index 4da3be98f37..dab5c444fae 100644
--- a/lisp/cedet/semantic/lex.el
+++ b/lisp/cedet/semantic/lex.el
@@ -165,7 +165,7 @@
;;
;; %type <punctuation> syntax "\\(\\s.\\|\\s$\\|\\s'\\)+" matchdatatype string
;;
-;; ;; Some punctuations based on the type defines above
+;; ;; Some punctuation based on the type defines above
;;
;; %token <punctuation> NOT "!"
;; %token <punctuation> NOTEQ "!="
@@ -1248,7 +1248,7 @@ they are comment end characters) AND when you want whitespace tokens."
(if (eq (semantic-lex-token-class (car semantic-lex-token-stream))
'whitespace)
;; Merge whitespace tokens together if they are adjacent. Two
- ;; whitespace tokens may be sperated by a comment which is not in
+ ;; whitespace tokens may be separated by a comment which is not in
;; the token stream.
(setcdr (semantic-lex-token-bounds (car semantic-lex-token-stream))
(match-end 0))
@@ -1271,7 +1271,7 @@ they are comment end characters)."
(if (eq (semantic-lex-token-class (car semantic-lex-token-stream))
'whitespace)
;; Merge whitespace tokens together if they are adjacent. Two
- ;; whitespace tokens may be sperated by a comment which is not in
+ ;; whitespace tokens may be separated by a comment which is not in
;; the token stream.
(progn
(setq semantic-lex-end-point (match-end 0))
@@ -1313,7 +1313,7 @@ and number formats."
(define-lex-analyzer semantic-lex-punctuation-type
"Detect and create a punctuation type token.
-Recognized punctuations are defined in the current table of lexical
+Recognized punctuation is defined in the current table of lexical
types, as the value of the `punctuation' token type."
(and (looking-at "\\(\\s.\\|\\s$\\|\\s'\\)+")
(let* ((key (match-string 0))
@@ -1362,11 +1362,11 @@ Return either a paren token or a semantic list token depending on
))
(define-lex-simple-regex-analyzer semantic-lex-open-paren
- "Detect and create an open parenthisis token."
+ "Detect and create an open parenthesis token."
"\\s(" 'open-paren 0 (setq semantic-lex-current-depth (1+ semantic-lex-current-depth)))
(define-lex-simple-regex-analyzer semantic-lex-close-paren
- "Detect and create a close paren token."
+ "Detect and create a close parenthesis token."
"\\s)" 'close-paren 0 (setq semantic-lex-current-depth (1- semantic-lex-current-depth)))
(define-lex-regex-analyzer semantic-lex-string
diff --git a/lisp/cedet/semantic/sb.el b/lisp/cedet/semantic/sb.el
index d9a3ede360d..8c3d6c17cf4 100644
--- a/lisp/cedet/semantic/sb.el
+++ b/lisp/cedet/semantic/sb.el
@@ -87,7 +87,7 @@ Restore the old current buffer when completed."
;; @ type
;; = default value
;;
-;; +> keywrd Type
+;; +> keyword Type
;; +> type part
;;
;; +> -> click to see additional information
diff --git a/lisp/cedet/semantic/scope.el b/lisp/cedet/semantic/scope.el
index 16deb245527..ea4903c70ea 100644
--- a/lisp/cedet/semantic/scope.el
+++ b/lisp/cedet/semantic/scope.el
@@ -303,7 +303,7 @@ are from nesting data types."
(miniscope (semantic-scope-cache "mini"))
ptag)
- ;; Find the next entry in the refereneced type for
+ ;; Find the next entry in the referenced type for
;; our function, and append to return list till our
;; returnlist is empty.
(while snlist
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el
index 5399d4d5649..b4618d1c18f 100644
--- a/lisp/cedet/semantic/senator.el
+++ b/lisp/cedet/semantic/senator.el
@@ -179,8 +179,8 @@ source."
(goto-char (semantic-tag-start tag))
(when (re-search-forward (concat
;; The tag name is expected to be
- ;; between word delimiters, whitespaces,
- ;; or punctuations.
+ ;; between word delimiters, whitespace,
+ ;; or punctuation.
"\\(\\<\\|\\s-+\\|\\s.\\)"
(regexp-quote name)
"\\(\\>\\|\\s-+\\|\\s.\\)")
diff --git a/lisp/cedet/semantic/sort.el b/lisp/cedet/semantic/sort.el
index c3d8b26810c..a4126e1384b 100644
--- a/lisp/cedet/semantic/sort.el
+++ b/lisp/cedet/semantic/sort.el
@@ -229,7 +229,7 @@ unmodified as components of their parent tags."
(mapc (lambda (tag)
(let ((components (semantic-tag-components tag)))
(if (and components
- ;; unpositined tags can be hazardous to
+ ;; unpositioned tags can be hazardous to
;; completion. Do we need any type of tag
;; here? - EL
(semantic-tag-with-position-p (car components)))
diff --git a/lisp/cedet/semantic/symref.el b/lisp/cedet/semantic/symref.el
index 61006802c0d..cbae9f85573 100644
--- a/lisp/cedet/semantic/symref.el
+++ b/lisp/cedet/semantic/symref.el
@@ -324,7 +324,7 @@ Use the `semantic-symref-hit-tags' method to get this list.")
(setq ans (list (car files))
files (cdr files))
(dolist (F files)
- ;; This algorithm for uniqing the file list depends on the
+ ;; This algorithm for uniquifying the file list depends on the
;; tool in question providing all the hits in the same file
;; grouped together.
(when (not (string= F (car ans)))
diff --git a/lisp/cedet/semantic/symref/list.el b/lisp/cedet/semantic/symref/list.el
index a09928c7dfc..53422541c47 100644
--- a/lisp/cedet/semantic/symref/list.el
+++ b/lisp/cedet/semantic/symref/list.el
@@ -24,7 +24,7 @@
;; Provide a simple user facing API to finding symbol references.
;;
;; This UI is the base of some refactoring tools. For any refactor,
-;; the user will execture [FIXME what?] `semantic-symref' in a tag.
+;; the user will execute `semantic-symref' in a tag.
;; Once that data is collected, the output will be listed in a buffer.
;; In the output buffer, the user can then initiate different
;; refactoring operations.
@@ -103,7 +103,7 @@ Display the references in`semantic-symref-results-mode'."
(when (not res) (error "No references found"))
(semantic-symref-result-get-tags res t)
(message "Gathering References...done")
- ;; Build a refrences buffer.
+ ;; Build a references buffer.
(let ((buff (get-buffer-create
(format "*Symref %s" str)))
)
@@ -401,7 +401,7 @@ BUTTON is the button that was clicked."
;;; UTILS
;;
-;; List mode utils for understadning the current line
+;; List mode utils for understanding the current line
(defun semantic-symref-list-on-hit-p ()
"Return the line number if the cursor is on a buffer line with a hit.
diff --git a/lisp/cedet/semantic/tag-file.el b/lisp/cedet/semantic/tag-file.el
index d118d9b6203..86fa382a766 100644
--- a/lisp/cedet/semantic/tag-file.el
+++ b/lisp/cedet/semantic/tag-file.el
@@ -125,7 +125,7 @@ Depends on `semantic-dependency-include-path' for searching. Always searches
(tag-fname nil))
(cond ((semantic-tag-in-buffer-p tag)
;; If the tag has an overlay and buffer associated with it,
- ;; switch to that buffer so that we get the right override metohds.
+ ;; switch to that buffer so that we get the right override methods.
(set-buffer (semantic-tag-buffer tag)))
((semantic-tag-file-name tag)
;; If it didn't have a buffer, but does have a file
diff --git a/lisp/cedet/semantic/tag-ls.el b/lisp/cedet/semantic/tag-ls.el
index 4d001322108..2f585cbdf45 100644
--- a/lisp/cedet/semantic/tag-ls.el
+++ b/lisp/cedet/semantic/tag-ls.el
@@ -195,7 +195,7 @@ See `semantic-tag-static-p'."
;;;###autoload
(define-overloadable-function semantic-tag-prototype-p (tag)
"Return non nil if TAG is a prototype.
-For some laguages, such as C, a prototype is a declaration of
+For some languages, such as C, a prototype is a declaration of
something without an implementation."
)
diff --git a/lisp/cedet/semantic/tag.el b/lisp/cedet/semantic/tag.el
index cf3f5b603c8..f8538ef7901 100644
--- a/lisp/cedet/semantic/tag.el
+++ b/lisp/cedet/semantic/tag.el
@@ -919,7 +919,7 @@ That is the value of the attribute `:system-flag'."
"Return a filename representation of TAG.
The default action is to return the `semantic-tag-name'.
Some languages do not use full filenames in their include statements.
-Override this method to translate the code represenation
+Override this method to translate the code representation
into a filename. (A relative filename if necessary.)
See `semantic-dependency-tag-file' to expand an include
@@ -1162,7 +1162,7 @@ This function is for internal use only."
(semantic-tag-components-with-overlays tag)))))
(defun semantic--tag-unlink-cache-from-buffer ()
- "Convert all tags in the current cache to use overlay proxys.
+ "Convert all tags in the current cache to use overlay proxies.
This function is for internal use only."
(require 'semantic)
(semantic--tag-unlink-list-from-buffer
diff --git a/lisp/cedet/semantic/texi.el b/lisp/cedet/semantic/texi.el
index c2f080ce75b..78d5569c2a7 100644
--- a/lisp/cedet/semantic/texi.el
+++ b/lisp/cedet/semantic/texi.el
@@ -262,7 +262,7 @@ can handle the @menu environment.")
(let ((parenthetical (semantic-up-context-default))
)
(when (not parenthetical)
- ;; We are in parenthises. Are they the types of parens
+ ;; We are in parentheses. Are they the types of parens
;; belonging to a texinfo construct?
(forward-word -1)
(when (looking-at "@\\w+{")
@@ -483,7 +483,7 @@ that start with that symbol."
;; This section provides specialized access into texinfo files.
;; Because texinfo files often directly refer to functions and programs
;; it is useful to access the texinfo file from the C code for document
-;; maintainance.
+;; maintenance.
(defun semantic-texi-associated-files (&optional buffer)
"Find texinfo files associated with BUFFER."
(save-excursion
diff --git a/lisp/cedet/semantic/wisent/javat-wy.el b/lisp/cedet/semantic/wisent/javat-wy.el
index 38c19387440..562b0da6caa 100644
--- a/lisp/cedet/semantic/wisent/javat-wy.el
+++ b/lisp/cedet/semantic/wisent/javat-wy.el
@@ -19,12 +19,11 @@
;;; Commentary:
;;
-;; This file was generated from etc/java-tags.wy.
+;; This file was generated from admin/grammars/java-tags.wy.
;;; Code:
(require 'semantic/lex)
-
;;; Prologue
;;
@@ -396,7 +395,7 @@
((SEMICOLON))
((block)))
(block
- ((BRACE_BLOCK)))
+ ((BRACE_BLOCK)))
(formal_parameter_list
((PAREN_BLOCK)
(semantic-parse-region
@@ -557,7 +556,7 @@
'((parse-stream . wisent-parse-stream)))
(setq semantic-parser-name "LALR"
semantic--parse-table wisent-java-tags-wy--parse-table
- semantic-debug-parser-source "wisent-java-tags.wy"
+ semantic-debug-parser-source "java-tags.wy"
semantic-flex-keywords-obarray wisent-java-tags-wy--keyword-table
semantic-lex-types-obarray wisent-java-tags-wy--token-table)
;; Collect unmatched syntax lexical tokens
@@ -567,10 +566,6 @@
;;; Analyzers
-;;
-(define-lex-keyword-type-analyzer wisent-java-tags-wy--<keyword>-keyword-analyzer
- "keyword analyzer for <keyword> tokens."
- "\\(\\sw\\|\\s_\\)+")
(define-lex-block-type-analyzer wisent-java-tags-wy--<block>-block-analyzer
"block analyzer for <block> tokens."
@@ -583,23 +578,6 @@
("]" RBRACK))
)
-(define-lex-regex-type-analyzer wisent-java-tags-wy--<symbol>-regexp-analyzer
- "regexp analyzer for <symbol> tokens."
- "\\(\\sw\\|\\s_\\)+"
- nil
- 'IDENTIFIER)
-
-(define-lex-sexp-type-analyzer wisent-java-tags-wy--<string>-sexp-analyzer
- "sexp analyzer for <string> tokens."
- "\\s\""
- 'STRING_LITERAL)
-
-(define-lex-regex-type-analyzer wisent-java-tags-wy--<number>-regexp-analyzer
- "regexp analyzer for <number> tokens."
- semantic-lex-number-expression
- nil
- 'NUMBER_LITERAL)
-
(define-lex-string-type-analyzer wisent-java-tags-wy--<punctuation>-string-analyzer
"string analyzer for <punctuation> tokens."
"\\(\\s.\\|\\s$\\|\\s'\\)+"
@@ -645,12 +623,33 @@
(NOT . "!"))
'punctuation)
+(define-lex-regex-type-analyzer wisent-java-tags-wy--<symbol>-regexp-analyzer
+ "regexp analyzer for <symbol> tokens."
+ "\\(\\sw\\|\\s_\\)+"
+ nil
+ 'IDENTIFIER)
+
(define-lex-regex-type-analyzer wisent-java-tags-wy--<unicode>-regexp-analyzer
"regexp analyzer for <unicode> tokens."
"\\\\u[0-9a-f][0-9a-f][0-9a-f][0-9a-f]"
nil
'unicodecharacter)
+(define-lex-regex-type-analyzer wisent-java-tags-wy--<number>-regexp-analyzer
+ "regexp analyzer for <number> tokens."
+ semantic-lex-number-expression
+ nil
+ 'NUMBER_LITERAL)
+
+(define-lex-sexp-type-analyzer wisent-java-tags-wy--<string>-sexp-analyzer
+ "sexp analyzer for <string> tokens."
+ "\\s\""
+ 'STRING_LITERAL)
+
+(define-lex-keyword-type-analyzer wisent-java-tags-wy--<keyword>-keyword-analyzer
+ "keyword analyzer for <keyword> tokens."
+ "\\(\\sw\\|\\s_\\)+")
+
;;; Epilogue
;;
@@ -669,7 +668,7 @@ It ignores whitespaces, newlines and comments."
wisent-java-tags-wy--<symbol>-regexp-analyzer
wisent-java-tags-wy--<punctuation>-string-analyzer
wisent-java-tags-wy--<block>-block-analyzer
- ;; In theory, unicode chars should be turned into normal chars
+ ;; In theory, Unicode chars should be turned into normal chars
;; and then combined into regular ascii keywords and text. This
;; analyzer just keeps these things from making the lexer go boom.
wisent-java-tags-wy--<unicode>-regexp-analyzer
diff --git a/lisp/cedet/semantic/wisent/js-wy.el b/lisp/cedet/semantic/wisent/js-wy.el
index b523db8771b..c8dded08d1f 100644
--- a/lisp/cedet/semantic/wisent/js-wy.el
+++ b/lisp/cedet/semantic/wisent/js-wy.el
@@ -1,7 +1,7 @@
;;; semantic/wisent/js-wy.el --- Generated parser support file
;; Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
-;; Copyright (C) Ecma International.
+;; Copyright (C) 1998-2011 Ecma International
;; This file is part of GNU Emacs.
@@ -20,9 +20,45 @@
;;; Commentary:
;;
-;; This file was generated from etc/grammars/javascript-jv.wy.
+;; This file was generated from admin/grammars/js.wy.
+
+;; It is derived from the grammar in the ECMAScript Language
+;; Specification published at
+;;
+;; http://www.ecma-international.org/publications/standards/Ecma-262.htm
+;;
+;; and redistributed under the following license:
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions
+;; are met:
+;;
+;; 1. Redistributions of source code must retain the above copyright
+;; notice, this list of conditions and the following disclaimer.
+;;
+;; 2. Redistributions in binary form must reproduce the above
+;; copyright notice, this list of conditions and the following
+;; disclaimer in the documentation and/or other materials provided
+;; with the distribution.
+;;
+;; 3. Neither the name of the authors nor Ecma International may be
+;; used to endorse or promote products derived from this software
+;; without specific prior written permission. THIS SOFTWARE IS
+;; PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR
+;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;; ARE DISCLAIMED. IN NO EVENT SHALL ECMA INTERNATIONAL BE LIABLE FOR
+;; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+;; OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+;; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+;; DAMAGE.
;;; Code:
+
(require 'semantic/lex)
;;; Prologue
@@ -370,7 +406,7 @@
'((parse-stream . wisent-parse-stream)))
(setq semantic-parser-name "LALR"
semantic--parse-table wisent-javascript-jv-wy--parse-table
- semantic-debug-parser-source "wisent-javascript-jv.wy"
+ semantic-debug-parser-source "js.wy"
semantic-flex-keywords-obarray wisent-javascript-jv-wy--keyword-table
semantic-lex-types-obarray wisent-javascript-jv-wy--token-table)
;; Collect unmatched syntax lexical tokens
@@ -380,38 +416,6 @@
;;; Analyzers
-;;
-(define-lex-keyword-type-analyzer wisent-javascript-jv-wy--<keyword>-keyword-analyzer
- "keyword analyzer for <keyword> tokens."
- "\\(\\sw\\|\\s_\\)+")
-
-(define-lex-block-type-analyzer wisent-javascript-jv-wy--<block>-block-analyzer
- "block analyzer for <block> tokens."
- "\\s(\\|\\s)"
- '((("(" OPEN_PARENTHESIS PAREN_BLOCK)
- ("{" START_BLOCK BRACE_BLOCK)
- ("[" OPEN_SQ_BRACKETS BRACK_BLOCK))
- (")" CLOSE_PARENTHESIS)
- ("}" END_BLOCK)
- ("]" CLOSE_SQ_BRACKETS))
- )
-
-(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<symbol>-regexp-analyzer
- "regexp analyzer for <symbol> tokens."
- "\\(\\sw\\|\\s_\\)+"
- nil
- 'VARIABLE)
-
-(define-lex-sexp-type-analyzer wisent-javascript-jv-wy--<string>-sexp-analyzer
- "sexp analyzer for <string> tokens."
- "\\s\""
- 'STRING)
-
-(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<number>-regexp-analyzer
- "regexp analyzer for <number> tokens."
- semantic-lex-number-expression
- nil
- 'NUMBER)
(define-lex-string-type-analyzer wisent-javascript-jv-wy--<punctuation>-string-analyzer
"string analyzer for <punctuation> tokens."
@@ -458,6 +462,38 @@
(ASSIGN_SYMBOL . "="))
'punctuation)
+(define-lex-block-type-analyzer wisent-javascript-jv-wy--<block>-block-analyzer
+ "block analyzer for <block> tokens."
+ "\\s(\\|\\s)"
+ '((("(" OPEN_PARENTHESIS PAREN_BLOCK)
+ ("{" START_BLOCK BRACE_BLOCK)
+ ("[" OPEN_SQ_BRACKETS BRACK_BLOCK))
+ (")" CLOSE_PARENTHESIS)
+ ("}" END_BLOCK)
+ ("]" CLOSE_SQ_BRACKETS))
+ )
+
+(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<symbol>-regexp-analyzer
+ "regexp analyzer for <symbol> tokens."
+ "\\(\\sw\\|\\s_\\)+"
+ nil
+ 'VARIABLE)
+
+(define-lex-regex-type-analyzer wisent-javascript-jv-wy--<number>-regexp-analyzer
+ "regexp analyzer for <number> tokens."
+ semantic-lex-number-expression
+ nil
+ 'NUMBER)
+
+(define-lex-sexp-type-analyzer wisent-javascript-jv-wy--<string>-sexp-analyzer
+ "sexp analyzer for <string> tokens."
+ "\\s\""
+ 'STRING)
+
+(define-lex-keyword-type-analyzer wisent-javascript-jv-wy--<keyword>-keyword-analyzer
+ "keyword analyzer for <keyword> tokens."
+ "\\(\\sw\\|\\s_\\)+")
+
;;; Epilogue
;;
diff --git a/lisp/cedet/semantic/wisent/python-wy.el b/lisp/cedet/semantic/wisent/python-wy.el
index 36965757a14..2445d7162a7 100644
--- a/lisp/cedet/semantic/wisent/python-wy.el
+++ b/lisp/cedet/semantic/wisent/python-wy.el
@@ -20,7 +20,58 @@
;;; Commentary:
;;
-;; This file was generated from etc/grammars/python.wy.
+;; This file was generated from admin/grammars/python.wy.
+;; It is derived in part from the Python grammar, used under the
+;; following license:
+;;
+;; PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+;; --------------------------------------------
+;; 1. This LICENSE AGREEMENT is between the Python Software Foundation
+;; ("PSF"), and the Individual or Organization ("Licensee") accessing
+;; and otherwise using this software ("Python") in source or binary
+;; form and its associated documentation.
+;;
+;; 2. Subject to the terms and conditions of this License Agreement,
+;; PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide
+;; license to reproduce, analyze, test, perform and/or display
+;; publicly, prepare derivative works, distribute, and otherwise use
+;; Python alone or in any derivative version, provided, however, that
+;; PSF's License Agreement and PSF's notice of copyright, i.e.,
+;; "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;; 2009, 2010 Python Software Foundation; All Rights Reserved" are
+;; retained in Python alone or in any derivative version prepared by
+;; Licensee.
+;;
+;; 3. In the event Licensee prepares a derivative work that is based
+;; on or incorporates Python or any part thereof, and wants to make
+;; the derivative work available to others as provided herein, then
+;; Licensee hereby agrees to include in any such work a brief summary
+;; of the changes made to Python.
+;;
+;; 4. PSF is making Python available to Licensee on an "AS IS"
+;; basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+;; IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+;; DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+;; FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+;; INFRINGE ANY THIRD PARTY RIGHTS.
+;;
+;; 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+;; FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A
+;; RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR
+;; ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+;;
+;; 6. This License Agreement will automatically terminate upon a
+;; material breach of its terms and conditions.
+;;
+;; 7. Nothing in this License Agreement shall be deemed to create any
+;; relationship of agency, partnership, or joint venture between PSF
+;; and Licensee. This License Agreement does not grant permission to
+;; use PSF trademarks or trade name in a trademark sense to endorse or
+;; promote products or services of Licensee, or any third party.
+;;
+;; 8. By copying, installing or otherwise using Python, Licensee
+;; agrees to be bound by the terms and conditions of this License
+;; Agreement.
;;; Code:
@@ -664,7 +715,7 @@
'((parse-stream . wisent-parse-stream)))
(setq semantic-parser-name "LALR"
semantic--parse-table wisent-python-wy--parse-table
- semantic-debug-parser-source "wisent-python.wy"
+ semantic-debug-parser-source "python.wy"
semantic-flex-keywords-obarray wisent-python-wy--keyword-table
semantic-lex-types-obarray wisent-python-wy--token-table)
;; Collect unmatched syntax lexical tokens
@@ -675,10 +726,6 @@
;;; Analyzers
-(define-lex-keyword-type-analyzer wisent-python-wy--<keyword>-keyword-analyzer
- "keyword analyzer for <keyword> tokens."
- "\\(\\sw\\|\\s_\\)+")
-
(define-lex-block-type-analyzer wisent-python-wy--<block>-block-analyzer
"block analyzer for <block> tokens."
"\\s(\\|\\s)"
@@ -690,18 +737,6 @@
("]" RBRACK))
)
-(define-lex-regex-type-analyzer wisent-python-wy--<symbol>-regexp-analyzer
- "regexp analyzer for <symbol> tokens."
- "\\(\\sw\\|\\s_\\)+"
- nil
- 'NAME)
-
-(define-lex-regex-type-analyzer wisent-python-wy--<number>-regexp-analyzer
- "regexp analyzer for <number> tokens."
- semantic-lex-number-expression
- nil
- 'NUMBER_LITERAL)
-
(define-lex-string-type-analyzer wisent-python-wy--<punctuation>-string-analyzer
"string analyzer for <punctuation> tokens."
"\\(\\s.\\|\\s$\\|\\s'\\)+"
@@ -745,6 +780,22 @@
(LTLTEQ . "<<="))
'punctuation)
+(define-lex-regex-type-analyzer wisent-python-wy--<symbol>-regexp-analyzer
+ "regexp analyzer for <symbol> tokens."
+ "\\(\\sw\\|\\s_\\)+"
+ nil
+ 'NAME)
+
+(define-lex-regex-type-analyzer wisent-python-wy--<number>-regexp-analyzer
+ "regexp analyzer for <number> tokens."
+ semantic-lex-number-expression
+ nil
+ 'NUMBER_LITERAL)
+
+(define-lex-keyword-type-analyzer wisent-python-wy--<keyword>-keyword-analyzer
+ "keyword analyzer for <keyword> tokens."
+ "\\(\\sw\\|\\s_\\)+")
+
;;; Epilogue
;;
diff --git a/lisp/cedet/semantic/wisent/python.el b/lisp/cedet/semantic/wisent/python.el
index 1f52e9eb3b6..c73033ce0ac 100644
--- a/lisp/cedet/semantic/wisent/python.el
+++ b/lisp/cedet/semantic/wisent/python.el
@@ -43,7 +43,7 @@
;; The 'r' prefix means raw, i.e., normal backslash substitutions are
;; to be suppressed. For example, r"01\n34" is a string with six
;; characters 0, 1, \, n, 3 and 4. The 'u' prefix means the following
-;; string is a unicode.
+;; string is Unicode.
(defconst wisent-python-string-re
(concat (regexp-opt '("r" "u" "ur" "R" "U" "UR" "Ur" "uR") t)
"?['\"]")
diff --git a/lisp/cedet/srecode/args.el b/lisp/cedet/srecode/args.el
index d8e02f978b2..73445fbf13d 100644
--- a/lisp/cedet/srecode/args.el
+++ b/lisp/cedet/srecode/args.el
@@ -32,7 +32,7 @@
;;; :blank
;;
;; Using :blank means that the template should force blank lines
-;; before and after the template, reguardless of where the insertion
+;; before and after the template, regardless of where the insertion
;; is occurring.
(defun srecode-semantic-handle-:blank (dict)
"Add macros into the dictionary DICT specifying blank line spacing.
@@ -185,4 +185,3 @@ do not contain any text from preceding or following text."
(provide 'srecode/args)
;;; srecode/args.el ends here
-
diff --git a/lisp/cedet/srecode/ctxt.el b/lisp/cedet/srecode/ctxt.el
index f392379347a..11d84e96f41 100644
--- a/lisp/cedet/srecode/ctxt.el
+++ b/lisp/cedet/srecode/ctxt.el
@@ -64,7 +64,7 @@ Some useful context values used by the provided srecode templates are:
\"comment\" - In a comment in a block of code
-- these items show up at the end of the context list. --
\"public\", \"protected\", \"private\" -
- In or near a section of public/pritected/private entries.
+ In or near a section of public/protected/private entries.
\"code\" - In a block of code.
\"string\" - In a string in a block of code
\"comment\" - In a comment in a block of code
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el
index 62ceff82448..1575ce7ae3b 100644
--- a/lisp/cedet/srecode/dictionary.el
+++ b/lisp/cedet/srecode/dictionary.el
@@ -437,7 +437,7 @@ The root dictionary is usually for a current or active insertion."
;;; COMPOUND VALUE METHODS
;;
;; Compound values must provide at least the toString method
-;; for use in converting the compound value into sometehing insertable.
+;; for use in converting the compound value into something insertable.
(defmethod srecode-compound-toString ((cp srecode-dictionary-compound-value)
function
diff --git a/lisp/cedet/srecode/document.el b/lisp/cedet/srecode/document.el
index caf1ddebdb2..e25905ead83 100644
--- a/lisp/cedet/srecode/document.el
+++ b/lisp/cedet/srecode/document.el
@@ -122,7 +122,7 @@ RESULT is a string."
("read" . "Reads from")
("reset" . "Resets the parameters and returns")
("scan" . "Scans the ")
- ("setup\\|init\\(iallize\\)?" . "Initializes the ")
+ ("setup\\|init\\(ialize\\)?" . "Initializes the ")
("select" . "Chooses the ")
("send" . "Sends a")
("re?c\\(v\\|ieves?\\)" . "Receives a ")
@@ -698,7 +698,7 @@ allocating something based on its type."
(cdr (car al)))))
(setq al nil)))
(setq al (cdr al)))
- ;; add tailers to names which are obviously returning something.
+ ;; add trailers to names which are obviously returning something.
(if tailit
(progn
(setq al srecode-document-autocomment-return-last-alist)
diff --git a/lisp/cedet/srecode/fields.el b/lisp/cedet/srecode/fields.el
index f13fb17ca8f..f4d34a0f2ab 100644
--- a/lisp/cedet/srecode/fields.el
+++ b/lisp/cedet/srecode/fields.el
@@ -324,7 +324,7 @@ Try to use this to provide useful completion when available.")
)
(defvar srecode-field-replication-max-size 100
- "Maximum size of a field before cancelling replication.")
+ "Maximum size of a field before canceling replication.")
(defun srecode-field-mod-hook (ol after start end &optional pre-len)
"Modification hook for the field overlay.
diff --git a/lisp/cedet/srecode/find.el b/lisp/cedet/srecode/find.el
index d9765ebd449..b947c63f4dd 100644
--- a/lisp/cedet/srecode/find.el
+++ b/lisp/cedet/srecode/find.el
@@ -238,7 +238,7 @@ Optional argument HASH is the hash table to fill in."
(tabs (when mt (oref mt :tables)))
)
(while tabs
- ;; Exclude templates for a perticular application.
+ ;; Exclude templates for a particular application.
(when (and (not (oref (car tabs) :application))
(srecode-template-table-in-project-p (car tabs)))
(maphash (lambda (key temp)
diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el
index 9fbfc5dc042..bbf8b881c4d 100644
--- a/lisp/cedet/srecode/insert.el
+++ b/lisp/cedet/srecode/insert.el
@@ -312,7 +312,7 @@ occur in your template.")
(setq doit nil)))
(goto-char pm)
)
- ;; Do indentation reguardless of the newline.
+ ;; Do indentation regardless of the newline.
(when (and (eq i t) inbuff)
(indent-according-to-mode)
(goto-char pm))
@@ -946,7 +946,7 @@ with the dictionaries found in the dictionary."
;; It will first insert the included template, then insert the embedded
;; template wherever the $^$ in the included template was.
;;
-;; Since it uses dual inheretance, it will magically get the end-matching
+;; Since it uses dual inheritance, it will magically get the end-matching
;; behavior of #, with the including feature of >.
;;
(defclass srecode-template-inserter-include-wrap (srecode-template-inserter-include srecode-template-inserter-section-start)
diff --git a/lisp/cedet/srecode/srt-wy.el b/lisp/cedet/srecode/srt-wy.el
index 2fb8e7665e9..5bd202093e9 100644
--- a/lisp/cedet/srecode/srt-wy.el
+++ b/lisp/cedet/srecode/srt-wy.el
@@ -18,13 +18,12 @@
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
-
-;; Generated from srecode-template.wy in the CEDET repository.
+;;
+;; This file was generated from admin/grammars/srecode-template.wy.
;;; Code:
(require 'semantic/lex)
-
;;; Prologue
;;
@@ -206,10 +205,12 @@
;;; Analyzers
-;;
-(define-lex-keyword-type-analyzer srecode-template-wy--<keyword>-keyword-analyzer
- "keyword analyzer for <keyword> tokens."
- "\\(\\sw\\|\\s_\\)+")
+
+(define-lex-string-type-analyzer srecode-template-wy--<punctuation>-string-analyzer
+ "string analyzer for <punctuation> tokens."
+ "\\s.+"
+ nil
+ 'punctuation)
(define-lex-regex-type-analyzer srecode-template-wy--<symbol>-regexp-analyzer
"regexp analyzer for <symbol> tokens."
@@ -217,22 +218,20 @@
nil
'symbol)
-(define-lex-sexp-type-analyzer srecode-template-wy--<string>-sexp-analyzer
- "sexp analyzer for <string> tokens."
- "\\s\""
- 'string)
-
(define-lex-regex-type-analyzer srecode-template-wy--<number>-regexp-analyzer
"regexp analyzer for <number> tokens."
semantic-lex-number-expression
nil
'number)
-(define-lex-string-type-analyzer srecode-template-wy--<punctuation>-string-analyzer
- "string analyzer for <punctuation> tokens."
- "\\s.+"
- nil
- 'punctuation)
+(define-lex-sexp-type-analyzer srecode-template-wy--<string>-sexp-analyzer
+ "sexp analyzer for <string> tokens."
+ "\\s\""
+ 'string)
+
+(define-lex-keyword-type-analyzer srecode-template-wy--<keyword>-keyword-analyzer
+ "keyword analyzer for <keyword> tokens."
+ "\\(\\sw\\|\\s_\\)+")
;;; Epilogue
diff --git a/lisp/cedet/srecode/texi.el b/lisp/cedet/srecode/texi.el
index acfc2486711..df90f6c464f 100644
--- a/lisp/cedet/srecode/texi.el
+++ b/lisp/cedet/srecode/texi.el
@@ -244,7 +244,7 @@ that class.
`function' => @dfn{function}
`variable' => @code{variable}
`class' => @code{class} @xref{class}
- `unknown' => @code{unknonwn}
+ `unknown' => @code{unknown}
\"text\" => ``text''
'quoteme => @code{quoteme}
non-nil => non-@code{nil}
diff --git a/lisp/color.el b/lisp/color.el
index 5b67eb58a63..96b79a4ace2 100644
--- a/lisp/color.el
+++ b/lisp/color.el
@@ -28,7 +28,7 @@
;; complements, and computing CIEDE2000 color distances.
;;
;; Supported color representations include RGB (red, green, blue), HSV
-;; (hue, saturation, value), HSL (hue, saturation, luminence), sRGB,
+;; (hue, saturation, value), HSL (hue, saturation, luminance), sRGB,
;; CIE XYZ, and CIE L*a*b* color components.
;;; Code:
@@ -128,8 +128,8 @@ inclusive."
RED, GREEN, and BLUE should each be numbers between 0.0 and 1.0,
inclusive.
-Return a list (HUE, SATURATION, LUMINENCE), where HUE is in radians
-and both SATURATION and LUMINENCE are between 0.0 and 1.0,
+Return a list (HUE, SATURATION, LUMINANCE), where HUE is in radians
+and both SATURATION and LUMINANCE are between 0.0 and 1.0,
inclusive."
(let* ((r red)
(g green)
diff --git a/lisp/comint.el b/lisp/comint.el
index f25293ff3ac..c0b02e5a230 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -1980,7 +1980,7 @@ Make backspaces delete the previous character."
;; The point should float after any insertion we do.
(saved-point (copy-marker (point) t)))
- ;; We temporarly remove any buffer narrowing, in case the
+ ;; We temporarily remove any buffer narrowing, in case the
;; process mark is outside of the restriction
(save-restriction
(widen)
@@ -2568,7 +2568,7 @@ This command is like `M-.' in bash."
;; First usage; initialize to a marker
(setq comint-insert-previous-argument-last-start-pos
(make-marker)))))
- ;; Make sure we're not in the prompt, and add a beginning space if necess.
+ ;; Make sure we're not in the prompt, and add a beginning space if necessary.
(if (<= (point) (comint-line-beginning-position))
(comint-bol)
(just-one-space))
diff --git a/lisp/composite.el b/lisp/composite.el
index 487962ee07c..72317ac470e 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -656,7 +656,7 @@ prepending a space before it."
(if (not (char-charset (lglyph-char glyph) coding))
(progn
;; As the terminal doesn't support this glyph, return a
- ;; gstring in which each glyph is its own graphme-cluster
+ ;; gstring in which each glyph is its own grapheme-cluster
;; of width 1..
(setq i 0)
(while (and (< i nglyphs)
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 07944a6c16f..3d5ae69fe3d 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -3225,7 +3225,7 @@ Also change :reverse-video to :inverse-video."
(if (not inactive)
;; Widget is alive, we don't have to do anything special
(widget-default-delete widget)
- ;; WIDGET is already deleted because we did so to inactivate it;
+ ;; WIDGET is already deleted because we did so to deactivate it;
;; now just get rid of the label we put in its place.
(delete-region (car (cdr inactive))
(+ (car (cdr inactive)) (cdr (cdr inactive))))
diff --git a/lisp/delim-col.el b/lisp/delim-col.el
index ed6ab96107a..96a0745dd31 100644
--- a/lisp/delim-col.el
+++ b/lisp/delim-col.el
@@ -206,7 +206,7 @@ This has effect only when there are lines with different number of columns."
:group 'columns)
(defcustom delimit-columns-start 0
- "Specify column number to start prettifing.
+ "Specify column number to start prettifying.
See also `delimit-columns-end' for documentation.
@@ -221,7 +221,7 @@ column (column 0) is located at left corner."
:group 'columns)
(defcustom delimit-columns-end 1000000
- "Specify column number to end prettifing.
+ "Specify column number to end prettifying.
See also `delimit-columns-start' for documentation.
diff --git a/lisp/delsel.el b/lisp/delsel.el
index 6d2c47f3957..fcd45f1a148 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -144,7 +144,7 @@ any selection."
(put 'newline 'delete-selection t)
(put 'open-line 'delete-selection 'kill)
-;; This is very useful for cancelling a selection in the minibuffer without
+;; This is very useful for canceling a selection in the minibuffer without
;; aborting the minibuffer.
(defun minibuffer-keyboard-quit ()
"Abort recursive edit.
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index c175bd7c3c7..47f96e8d68f 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -221,7 +221,7 @@ At the time of writing it is at the URL
file))
(defun describe-char-unicode-data (char)
- "Return a list of Unicode data for unicode CHAR.
+ "Return a list of Unicode data for Unicode CHAR.
Each element is a list of a property description and the property value.
The list is null if CHAR isn't found in `describe-char-unicodedata-file'.
This function is semi-obsolete. Use `get-char-code-property'."
@@ -358,7 +358,7 @@ This function is semi-obsolete. Use `get-char-code-property'."
(compose-string (string ch) 0 1 (format "\t%c\t" ch))
(string ch)))
-;; Return a nicely formated list of categories; extended category
+;; Return a nicely formatted list of categories; extended category
;; description is added to the category name as a tooltip
(defsubst describe-char-categories (category-set)
(let ((mnemonics (category-set-mnemonics category-set)))
@@ -422,6 +422,20 @@ as well as widgets, buttons, overlays, and text properties."
(setq charset (char-charset char)
code (encode-char char charset)))
(setq code char))
+ (cond
+ ;; Append a PDF character to directional embeddings and
+ ;; overrides, to prevent potential messup of the following
+ ;; text.
+ ((memq char '(?\x202a ?\x202b ?\x202d ?\x202e))
+ (setq char-description
+ (concat char-description
+ (propertize (string ?\x202c) 'invisible t))))
+ ;; Append a LRM character to any strong character to avoid
+ ;; messing up the numerical codepoint.
+ ((memq (get-char-code-property char 'bidi-class) '(R AL))
+ (setq char-description
+ (concat char-description
+ (propertize (string ?\x200e) 'invisible t)))))
(when composition
;; When the composition is trivial (i.e. composed only with the
;; current character itself without any alternate characters),
diff --git a/lisp/dframe.el b/lisp/dframe.el
index 93d9e7948cf..b4f44e1a308 100644
--- a/lisp/dframe.el
+++ b/lisp/dframe.el
@@ -82,7 +82,7 @@
;; c) If successful (your -frame variable has a value), call
;; timer setup if applicable.
;; your-frame-reposition- -- Function to call from after-create-hook to
-;; reposition your frame with `dframe-repsoition-frame'.
+;; reposition your frame with `dframe-reposition-frame'.
;; your-mode -- Set up the major mode of the buffer for your app.
;; Set these variables: dframe-track-mouse-function,
;; dframe-help-echo-function,
@@ -96,7 +96,7 @@
;; dframe-track-mouse, dframe-help-echo-function --
;; These variables need to be set to functions that display info
;; based on the mouse's position.
-;; Text propert 'help-echo, set to `dframe-help-echo', which will
+;; Text property 'help-echo, set to `dframe-help-echo', which will
;; call `dframe-help-echo-function'.
;; Have a `-click' function, it can call `dframe-quick-mouse' for
;; positioning. If the variable `dframe-power-click' is non-nil,
@@ -136,7 +136,7 @@ This is nil for terminals, since updating a frame in a terminal
is not useful to the user.")
(defcustom dframe-update-speed
- (if (featurep 'xemacs) 2 ; 1 is too obrusive in XEmacs
+ (if (featurep 'xemacs) 2 ; 1 is too obtrusive in XEmacs
1)
"Idle time in seconds needed before dframe will update itself.
Updates occur to allow dframe to display directory information
@@ -718,7 +718,7 @@ Argument PROMPT is the prompt to use."
(defun dframe-set-timer (timeout fn &optional _null-on-error)
"Apply a timer with TIMEOUT, to call FN, or remove a timer if TIMEOUT is nil.
-TIMEOUT is the number of seconds until the dframe controled program
+TIMEOUT is the number of seconds until the dframe controlled program
timer is called again. When TIMEOUT is nil, turn off all timeouts.
This function must be called from the buffer belonging to the program
who requested the timer. NULL-ON-ERROR is ignored."
@@ -726,7 +726,7 @@ who requested the timer. NULL-ON-ERROR is ignored."
(if timeout
(add-to-list 'dframe-client-functions fn)
(setq dframe-client-functions (delete fn dframe-client-functions)))
- ;; Now decided what to do about the timout.
+ ;; Now decided what to do about the timeout.
(if (or
;; We have a timer, restart the timer with the new time.
timeout
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index b63940cec2d..757e814dba1 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -927,8 +927,7 @@ return t; if SYM is q or ESC, return nil."
(concat (apply 'format prompt args)
(if help-form
(format " [Type yn!q or %s] "
- (key-description
- (char-to-string help-char)))
+ (key-description (vector help-char)))
" [Type y, n, q or !] ")))
(set sym (setq char (read-char-choice prompt char-choices)))
(if (memq char '(?y ?\s ?!)) t)))))
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 4daf313445c..0863cc1abac 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1392,7 +1392,7 @@ Considers buffers closer to the car of `buffer-list' to be more recent."
;; Apparently people do use it. - lrd 12/22/97.
(with-no-warnings
- ;; Warnings are suppresed to avoid "global/dynamic var `X' lacks a prefix".
+ ;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix".
;; This is unbearably ugly, but not more than having global variables
;; named size, time, name or s, however practical it can be while writing
;; `dired-mark-sexp' predicates.
diff --git a/lisp/dired.el b/lisp/dired.el
index e88ebc83b33..3a82ebcf504 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -704,7 +704,7 @@ Don't use that together with FILTER."
(defun dired-file-name-at-point ()
"Try to get a file name at point in the current dired buffer.
-This hook is inteneded to be put in `file-name-at-point-functions'."
+This hook is intended to be put in `file-name-at-point-functions'."
(let ((filename (dired-get-filename nil t)))
(when filename
(if (file-directory-p filename)
@@ -2678,7 +2678,7 @@ Anything else means ask for each directory."
(defvar dired-re-no-dot "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")
;; Delete file, possibly delete a directory and all its files.
-;; This function is usefull outside of dired. One could change it's name
+;; This function is useful outside of dired. One could change its name
;; to e.g. recursive-delete-file and put it somewhere else.
(defun dired-delete-file (file &optional recursive trash) "\
Delete FILE or directory (possibly recursively if optional RECURSIVE is true.)
@@ -3667,7 +3667,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
-;;;;;; dired-diff) "dired-aux" "dired-aux.el" "2026ac587f0d9e893bae7662ff9d9318")
+;;;;;; dired-diff) "dired-aux" "dired-aux.el" "2301de52aab0488c60d2b4841b6f597f")
;;; Generated autoloads from dired-aux.el
(autoload 'dired-diff "dired-aux" "\
@@ -4128,7 +4128,7 @@ instead.
;;;***
;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump)
-;;;;;; "dired-x" "dired-x.el" "ea7c74fbb7dddf43bb85875018cb59ad")
+;;;;;; "dired-x" "dired-x.el" "a542cdbf155ff79f36331bae217f3b28")
;;; Generated autoloads from dired-x.el
(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index d16d8c6f62d..7e4329234e3 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -124,7 +124,7 @@
;; (except the tooltip) if the next match is on the same page.
;; And it's much slower than the current search facility, because
-;; isearch really searches for each step forward or backward wheras
+;; isearch really searches for each step forward or backward whereas
;; the current approach searches once and then it knows to which
;; pages to jump.
diff --git a/lisp/electric.el b/lisp/electric.el
index 69acb773648..cec1b5d2000 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -85,7 +85,7 @@
(eq last-input-event ?\C-g))
(progn (setq unread-command-events nil
prefix-arg nil)
- ;; If it wasn't cancelling a prefix character, then quit.
+ ;; If it wasn't canceling a prefix character, then quit.
(if (or (= (length (this-command-keys)) 1)
(not inhibit-quit)) ; safety
(progn (ding)
@@ -197,11 +197,13 @@ Returns nil when we can't find this char."
;; value, which only works well if the variable is preloaded.
;;;###autoload
(defvar electric-indent-chars '(?\n)
- "Characters that should cause automatic reindentation.
-Each entry of the list can be either a character or a cons of the
-form (CHAR . PREDICATE) which means that CHAR should cause reindentation
-only if PREDICATE returns non-nil. PREDICATE is called with no arguments
-and with point before the inserted char.")
+ "Characters that should cause automatic reindentation.")
+
+(defvar electric-indent-functions nil
+ "Special hook run to decide whether to auto-indent.
+Each function is called with one argument (the inserted char), with
+point right after that char, and it should return t to cause indentation,
+`no-indent' to prevent indentation or nil to let other functions decide.")
(defun electric-indent-post-self-insert-function ()
;; FIXME: This reindents the current line, but what we really want instead is
@@ -212,18 +214,21 @@ and with point before the inserted char.")
;; There might be a way to get it working by analyzing buffer-undo-list, but
;; it looks challenging.
(let (pos)
- (when (and (or (memq last-command-event electric-indent-chars)
- (let ((cp (assq last-command-event electric-indent-chars)))
- (and cp (setq pos (electric--after-char-pos))
- (save-excursion
- (goto-char (1- pos))
- (funcall (cdr cp))))))
- ;; Don't reindent while inserting spaces at beginning of line.
- (or (not (memq last-command-event '(?\s ?\t)))
- (save-excursion (skip-chars-backward " \t") (not (bolp))))
- (setq pos (electric--after-char-pos))
- ;; Not in a string or comment.
- (not (nth 8 (save-excursion (syntax-ppss pos)))))
+ (when (and
+ ;; Don't reindent while inserting spaces at beginning of line.
+ (or (not (memq last-command-event '(?\s ?\t)))
+ (save-excursion (skip-chars-backward " \t") (not (bolp))))
+ (setq pos (electric--after-char-pos))
+ (save-excursion
+ (goto-char pos)
+ (let ((act (or (run-hook-with-args-until-success
+ 'electric-indent-functions
+ last-command-event)
+ (memq last-command-event electric-indent-chars))))
+ (not
+ (or (memq act '(nil no-indent))
+ ;; In a string or comment.
+ (unless (eq act 'do-indent) (nth 8 (syntax-ppss))))))))
;; For newline, we want to reindent both lines and basically behave like
;; reindent-then-newline-and-indent (whose code we hence copied).
(when (< (1- pos) (line-beginning-position))
@@ -231,7 +236,7 @@ and with point before the inserted char.")
(save-excursion
(unless (memq indent-line-function
'(indent-relative indent-to-left-margin
- indent-relative-maybe))
+ indent-relative-maybe))
;; Don't reindent the previous line if the indentation function
;; is not a real one.
(goto-char before)
@@ -260,15 +265,23 @@ reindentation is triggered whenever you insert a character listed
in `electric-indent-chars'."
:global t
:group 'electricity
- (if electric-indent-mode
- (add-hook 'post-self-insert-hook
- #'electric-indent-post-self-insert-function
- ;; post-self-insert-hooks interact in non-trivial ways.
- ;; It turns out that electric-indent-mode generally works
- ;; better last.
- 'append)
- (remove-hook 'post-self-insert-hook
- #'electric-indent-post-self-insert-function)))
+ (if (not electric-indent-mode)
+ (remove-hook 'post-self-insert-hook
+ #'electric-indent-post-self-insert-function)
+ ;; post-self-insert-hooks interact in non-trivial ways.
+ ;; It turns out that electric-indent-mode generally works better if run
+ ;; late, but still before blink-paren.
+ (add-hook 'post-self-insert-hook
+ #'electric-indent-post-self-insert-function
+ 'append)
+ ;; FIXME: Ugly!
+ (let ((bp (memq #'blink-paren-post-self-insert-function
+ (default-value 'post-self-insert-hook))))
+ (when (memq #'electric-indent-post-self-insert-function bp)
+ (setcar bp #'electric-indent-post-self-insert-function)
+ (setcdr bp (cons #'blink-paren-post-self-insert-function
+ (delq #'electric-indent-post-self-insert-function
+ (cdr bp))))))))
;; Electric pairing.
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 8527bc9e640..ae2900775ac 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -625,12 +625,12 @@
;;
;; (ad-activate-regexp "^ange-ftp-")
;;
-;; A saver way would have been to use
+;; A safer way would have been to use
;;
;; (ad-update-regexp "^ange-ftp-")
;;
;; instead which would have only reactivated currently actively advised
-;; functions, but not functions that were currently deactivated. All these
+;; functions, but not functions that were currently inactive. All these
;; functions can also be called interactively.
;; A certain piece of advice is considered a match if its name contains a
@@ -833,7 +833,7 @@
;; Reactivate an advised function but only if its advice is currently
;; active. This can be used to bring all currently advised function up
;; to date with the current state of advice without also activating
-;; currently deactivated functions.
+;; currently inactive functions.
;; - Caching:
;; Is the saving of an advised definition and an identifying cache-id so
;; it can be reused, for example, for activation after deactivation.
@@ -853,7 +853,7 @@
;; - ad-activate to activate the advice of a FUNCTION
;; - ad-deactivate to deactivate the advice of a FUNCTION
;; - ad-update to activate the advice of a FUNCTION unless it was not
-;; yet activated or is currently deactivated.
+;; yet activated or is currently inactive.
;; - ad-unadvise deactivates a FUNCTION and removes all of its advice
;; information, hence, it cannot be activated again
;; - ad-recover tries to redefine a FUNCTION to its original definition and
@@ -1261,7 +1261,7 @@
;; contain some advice matched by the regular expression. This is a save
;; way to update the activation of advised functions whose advice changed
;; in some way or other without accidentally also activating currently
-;; deactivated functions:
+;; inactive functions:
;;
;; (ad-update-regexp "^fg-")
;; nil
@@ -1608,7 +1608,7 @@
;; fii
;;
;; Now we advise `fii' to use an optional second argument that controls the
-;; amount of incrementation. A list following the (optional) position
+;; amount of incrementing. A list following the (optional) position
;; argument of the advice will be interpreted as an argument list
;; specification. This means you cannot specify an empty argument list, and
;; why would you want to anyway?
diff --git a/lisp/emacs-lisp/assoc.el b/lisp/emacs-lisp/assoc.el
index 31be851f2dd..e650995d3fe 100644
--- a/lisp/emacs-lisp/assoc.el
+++ b/lisp/emacs-lisp/assoc.el
@@ -61,10 +61,9 @@ pair is not at the head of alist. ALIST is not altered."
(defun aput (alist-symbol key &optional value)
- "Inserts a key-value pair into an alist.
+ "Insert a key-value pair into an alist.
The alist is referenced by ALIST-SYMBOL. The key-value pair is made
-from KEY and optionally, VALUE. Returns the altered alist or nil if
-ALIST is nil.
+from KEY and optionally, VALUE. Returns the altered alist.
If the key-value pair referenced by KEY can be found in the alist, and
VALUE is supplied non-nil, then the value of KEY will be set to VALUE.
@@ -78,7 +77,7 @@ of the alist (with value nil if VALUE is nil or not supplied)."
(setq alist (symbol-value alist-symbol))
(cond ((null alist) (set alist-symbol elem))
((anot-head-p alist key) (set alist-symbol (nconc elem alist)))
- (value (setcar alist (car elem)))
+ (value (setcar alist (car elem)) alist)
(t alist))))
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index b3ac23b2b76..19a4d44273d 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -446,7 +446,11 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE
generated-autoload-load-name
(autoload-file-load-name absfile)))
(when (and outfile
- (not (equal outfile (autoload-generated-file))))
+ (not
+ (if (memq system-type '(ms-dos windows-nt))
+ (equal (downcase outfile)
+ (downcase (autoload-generated-file)))
+ (equal outfile (autoload-generated-file)))))
(setq otherbuf t))
(save-excursion
(save-restriction
@@ -512,15 +516,7 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE
(when output-start
(let ((secondary-autoloads-file-buf
- (if (local-variable-p 'generated-autoload-file)
- (current-buffer))))
- ;; Ignore a buffer-local setting if it points to the
- ;; global value. Otherwise we end up writing a mix of md5s
- ;; and time-stamps to the global file. (Bug#10049)
- (and secondary-autoloads-file-buf
- outfile
- (not otherbuf)
- (setq secondary-autoloads-file-buf nil))
+ (if otherbuf (current-buffer))))
(with-current-buffer (marker-buffer output-start)
(save-excursion
;; Insert the section-header line which lists the file name
diff --git a/lisp/emacs-lisp/avl-tree.el b/lisp/emacs-lisp/avl-tree.el
index e8b7a1f9a8b..bc1efc118ef 100644
--- a/lisp/emacs-lisp/avl-tree.el
+++ b/lisp/emacs-lisp/avl-tree.el
@@ -74,7 +74,7 @@
cmpfun)
(defmacro avl-tree--root (tree)
- ;; Return the root node for an avl-tree. INTERNAL USE ONLY.
+ ;; Return the root node for an AVL tree. INTERNAL USE ONLY.
`(avl-tree--node-left (avl-tree--dummyroot ,tree)))
(defsetf avl-tree--root (tree) (node)
@@ -206,7 +206,7 @@ Return t if the height of the tree has shrunk."
Return cons cell (SHRUNK . DATA), where SHRUNK is t if the
height of the tree has shrunk and nil otherwise, and DATA is
-the releted data."
+the related data."
(let ((br (avl-tree--node-branch root branch)))
(cond
;; DATA not in tree.
@@ -372,7 +372,7 @@ itself."
;;; INTERNAL USE ONLY
(defun avl-tree--do-copy (root)
- "Copy the avl tree with ROOT as root. Highly recursive."
+ "Copy the AVL tree with ROOT as root. Highly recursive."
(if (null root)
nil
(avl-tree--node-create
@@ -401,7 +401,7 @@ itself."
;; front of the STACK, until a leaf is reached.
(let ((node (car (avl-tree--stack-store stack)))
(dir (if (avl-tree--stack-reverse stack) 1 0)))
- (when node ; check for emtpy stack
+ (when node ; check for empty stack
(while (setq node (avl-tree--node-branch node dir))
(push node (avl-tree--stack-store stack))))))
@@ -411,21 +411,21 @@ itself."
;; define public alias for constructors so that we can set docstring
(defalias 'avl-tree-create 'avl-tree--create
- "Create an empty avl tree.
+ "Create an empty AVL tree.
COMPARE-FUNCTION is a function which takes two arguments, A and B,
and returns non-nil if A is less than B, and nil otherwise.")
(defalias 'avl-tree-compare-function 'avl-tree--cmpfun
- "Return the comparison function for the avl tree TREE.
+ "Return the comparison function for the AVL tree TREE.
\(fn TREE)")
(defun avl-tree-empty (tree)
- "Return t if avl tree TREE is emtpy, otherwise return nil."
+ "Return t if AVL tree TREE is empty, otherwise return nil."
(null (avl-tree--root tree)))
(defun avl-tree-enter (tree data &optional updatefun)
- "Insert DATA into the avl tree TREE.
+ "Insert DATA into the AVL tree TREE.
If an element that matches DATA (according to the tree's
comparison function, see `avl-tree-create') already exists in
@@ -433,8 +433,8 @@ TREE, it will be replaced by DATA by default.
If UPDATEFUN is supplied and an element matching DATA already
exists in TREE, UPDATEFUN is called with two arguments: DATA, and
-the matching element. Its return value replaces the existing
-element. This value *must* itself match DATA (and hence the
+the matching element. Its return value replaces the existing
+element. This value *must* itself match DATA (and hence the
pre-existing data), or an error will occur.
Returns the new data."
@@ -443,7 +443,7 @@ Returns the new data."
0 data updatefun)))
(defun avl-tree-delete (tree data &optional test nilflag)
- "Delete the element matching DATA from the avl tree TREE.
+ "Delete the element matching DATA from the AVL tree TREE.
Matching uses the comparison function previously specified in
`avl-tree-create' when TREE was created.
@@ -456,7 +456,7 @@ distinguished from the case of a successfully deleted null
element.
If supplied, TEST specifies a test that a matching element must
-pass before it is deleted. If a matching element is found, it is
+pass before it is deleted. If a matching element is found, it is
passed as an argument to TEST, and is deleted only if the return
value is non-nil."
(cdr (avl-tree--do-delete (avl-tree--cmpfun tree)
@@ -465,14 +465,14 @@ value is non-nil."
(defun avl-tree-member (tree data &optional nilflag)
- "Return the element in the avl tree TREE which matches DATA.
+ "Return the element in the AVL tree TREE which matches DATA.
Matching uses the comparison function previously specified in
`avl-tree-create' when TREE was created.
If there is no such element in the tree, nil is
-returned. Optional argument NILFLAG specifies a value to return
-instead of nil in this case. This allows non-existent elements to
-be distinguished from a null element. (See also
+returned. Optional argument NILFLAG specifies a value to return
+instead of nil in this case. This allows non-existent elements to
+be distinguished from a null element. (See also
`avl-tree-member-p', which does this for you.)"
(let ((node (avl-tree--root tree))
(compare-function (avl-tree--cmpfun tree)))
@@ -488,15 +488,15 @@ be distinguished from a null element. (See also
(defun avl-tree-member-p (tree data)
- "Return t if an element matching DATA exists in the avl tree TREE,
-otherwise return nil. Matching uses the comparison function
+ "Return t if an element matching DATA exists in the AVL tree TREE.
+Otherwise return nil. Matching uses the comparison function
previously specified in `avl-tree-create' when TREE was created."
(let ((flag '(nil)))
(not (eq (avl-tree-member tree data flag) flag))))
(defun avl-tree-map (__map-function__ tree &optional reverse)
- "Modify all elements in the avl tree TREE by applying FUNCTION.
+ "Modify all elements in the AVL tree TREE by applying FUNCTION.
Each element is replaced by the return value of FUNCTION applied
to that element.
@@ -512,7 +512,7 @@ descending order if REVERSE is non-nil."
(defun avl-tree-mapc (__map-function__ tree &optional reverse)
- "Apply FUNCTION to all elements in avl tree TREE,
+ "Apply FUNCTION to all elements in AVL tree TREE,
for side-effect only.
FUNCTION is applied to the elements in ascending order, or
@@ -526,7 +526,7 @@ descending order if REVERSE is non-nil."
(defun avl-tree-mapf
(__map-function__ combinator tree &optional reverse)
- "Apply FUNCTION to all elements in avl tree TREE,
+ "Apply FUNCTION to all elements in AVL tree TREE,
and combine the results using COMBINATOR.
The FUNCTION is applied and the results are combined in ascending
@@ -545,7 +545,7 @@ order, or descending order if REVERSE is non-nil."
(defun avl-tree-mapcar (__map-function__ tree &optional reverse)
- "Apply FUNCTION to all elements in avl tree TREE,
+ "Apply FUNCTION to all elements in AVL tree TREE,
and make a list of the results.
The FUNCTION is applied and the list constructed in ascending
@@ -578,7 +578,7 @@ is more efficient."
(avl-tree--node-data node))))
(defun avl-tree-copy (tree)
- "Return a copy of the avl tree TREE."
+ "Return a copy of the AVL tree TREE."
(let ((new-tree (avl-tree-create (avl-tree--cmpfun tree))))
(setf (avl-tree--root new-tree) (avl-tree--do-copy (avl-tree--root tree)))
new-tree))
@@ -600,7 +600,7 @@ is more efficient."
treesize))
(defun avl-tree-clear (tree)
- "Clear the avl tree TREE."
+ "Clear the AVL tree TREE."
(setf (avl-tree--root tree) nil))
@@ -617,8 +617,8 @@ calling `avl-tree-stack-pop' will give unpredictable results).
Operations on these objects are significantly more efficient than
constructing a real stack with `avl-tree-flatten' and using
-standard stack functions. As such, they can be useful in
-implementing efficient algorithms of AVL trees. However, in cases
+standard stack functions. As such, they can be useful in
+implementing efficient algorithms of AVL trees. However, in cases
where mapping functions `avl-tree-mapc', `avl-tree-mapcar' or
`avl-tree-mapf' would be sufficient, it is better to use one of
those instead."
@@ -629,11 +629,11 @@ those instead."
(defun avl-tree-stack-pop (avl-tree-stack &optional nilflag)
"Pop the first element from AVL-TREE-STACK.
-\(See also `avl-tree-stack'\).
+\(See also `avl-tree-stack').
-Returns nil if the stack is empty, or NILFLAG if specified. (The
-latter allows an empty stack to be distinguished from a null
-element stored in the AVL tree.)"
+Returns nil if the stack is empty, or NILFLAG if specified.
+\(The latter allows an empty stack to be distinguished from
+a null element stored in the AVL tree.)"
(let (node next)
(if (not (setq node (pop (avl-tree--stack-store avl-tree-stack))))
nilflag
@@ -650,9 +650,9 @@ element stored in the AVL tree.)"
"Return the first element of AVL-TREE-STACK, without removing it
from the stack.
-Returns nil if the stack is empty, or NILFLAG if specified. (The
-latter allows an empty stack to be distinguished from a null
-element stored in the AVL tree.)"
+Returns nil if the stack is empty, or NILFLAG if specified.
+\(The latter allows an empty stack to be distinguished from
+a null element stored in the AVL tree.)"
(or (car (avl-tree--stack-store avl-tree-stack))
nilflag))
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 0630f5f4e4e..c9027fb663d 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -135,7 +135,7 @@
;; We'd have to notice defvars and defconsts, since those variables should
;; always be dynamic, and attempting to do a lexical binding of them
;; should simply do a dynamic binding instead.
-;; But! We need to know about variables that were not necessarily defvarred
+;; But! We need to know about variables that were not necessarily defvared
;; in the file being compiled (doing a boundp check isn't good enough.)
;; Fdefvar() would have to be modified to add something to the plist.
;;
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 096e91ea4fb..9aa230cfe9b 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -178,9 +178,9 @@ adds `c' to it; otherwise adds `.elc'."
;; This can be the 'byte-compile property of any symbol.
(autoload 'byte-compile-inline-expand "byte-opt")
-;; This is the entrypoint to the lapcode optimizer pass1.
+;; This is the entry point to the lapcode optimizer pass1.
(autoload 'byte-optimize-form "byte-opt")
-;; This is the entrypoint to the lapcode optimizer pass2.
+;; This is the entry point to the lapcode optimizer pass2.
(autoload 'byte-optimize-lapcode "byte-opt")
(autoload 'byte-compile-unfold-lambda "byte-opt")
@@ -359,10 +359,12 @@ else the global value will be modified."
"List of commands that are not meant to be called from Lisp.")
(defvar byte-compile-not-obsolete-vars nil
- "If non-nil, a list of variables that shouldn't be reported as obsolete.")
+ "List of variables that shouldn't be reported as obsolete.")
+(defvar byte-compile-global-not-obsolete-vars nil
+ "Global list of variables that shouldn't be reported as obsolete.")
(defvar byte-compile-not-obsolete-funcs nil
- "If non-nil, a list of functions that shouldn't be reported as obsolete.")
+ "List of functions that shouldn't be reported as obsolete.")
(defcustom byte-compile-generate-call-tree nil
"Non-nil means collect call-graph information when compiling.
@@ -1113,7 +1115,7 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'."
(unless (and funcp (memq symbol byte-compile-not-obsolete-funcs))
(byte-compile-warn "`%s' is an obsolete %s%s%s" symbol
(if funcp "function" "variable")
- (if asof (concat " (as of Emacs " asof ")") "")
+ (if asof (concat " (as of " asof ")") "")
(cond ((stringp instead)
(concat "; " instead))
(instead
@@ -2195,7 +2197,7 @@ list that represents a doc string reference.
(byte-compile-keep-pending form)))))
;; Functions and variables with doc strings must be output separately,
-;; so make-docfile can recognise them. Most other things can be output
+;; so make-docfile can recognize them. Most other things can be output
;; as byte-code.
(put 'autoload 'byte-hunk-handler 'byte-compile-file-form-autoload)
@@ -3030,6 +3032,7 @@ That command is designed for interactive use only" fn))
((let ((od (get var 'byte-obsolete-variable)))
(and od
(not (memq var byte-compile-not-obsolete-vars))
+ (not (memq var byte-compile-global-not-obsolete-vars))
(or (case (nth 1 od)
(set (not (eq access-type 'reference)))
(get (eq access-type 'reference))
@@ -4116,7 +4119,7 @@ binding slots have been popped."
(byte-defop-compiler-1 make-obsolete-variable)
(defun byte-compile-make-obsolete-variable (form)
(when (eq 'quote (car-safe (nth 1 form)))
- (push (nth 1 (nth 1 form)) byte-compile-not-obsolete-vars))
+ (push (nth 1 (nth 1 form)) byte-compile-global-not-obsolete-vars))
(byte-compile-normal-call form))
(defun byte-compile-defvar (form)
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index c6e157be776..daafd2226ec 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -67,7 +67,7 @@
;; TODO: (not just for cconv but also for the lexbind changes in general)
;; - let (e)debug find the value of lexical variables from the stack.
-;; - make eval-region do the eval-sexp-add-defvars danse.
+;; - make eval-region do the eval-sexp-add-defvars dance.
;; - byte-optimize-form should be applied before cconv.
;; OTOH, the warnings emitted by cconv-analyze need to come before optimize
;; since afterwards they can because obnoxious (warnings about an "unused
@@ -507,7 +507,7 @@ places where they originally did not directly appear."
(defalias 'byte-compile-not-lexical-var-p 'boundp))
(defun cconv--analyse-use (vardata form varkind)
- "Analyse the use of a variable.
+ "Analyze the use of a variable.
VARDATA should be (BINDER READ MUTATED CAPTURED CALLED).
VARKIND is the name of the kind of variable.
FORM is the parent form that binds this var."
@@ -559,7 +559,7 @@ FORM is the parent form that binds this var."
(t (let ((varstruct (list arg nil nil nil nil)))
(push (cons (list arg) (cdr varstruct)) newvars)
(push varstruct newenv)))))
- (dolist (form body) ;Analyse body forms.
+ (dolist (form body) ;Analyze body forms.
(cconv-analyse-form form newenv))
;; Summarize resulting data about arguments.
(dolist (vardata newvars)
@@ -612,7 +612,7 @@ and updates the data stored in ENV."
(push (cons binder (cdr varstruct)) newvars)
(push varstruct env))))
- (dolist (form body-forms) ; Analyse body forms.
+ (dolist (form body-forms) ; Analyze body forms.
(cconv-analyse-form form env))
(dolist (vardata newvars)
diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el
index 75e7d62f395..e9f2ec54601 100644
--- a/lisp/emacs-lisp/chart.el
+++ b/lisp/emacs-lisp/chart.el
@@ -169,7 +169,7 @@ Make sure the width/height is correct."
:initform t)
(name-face :initarg :name-face
:initform 'bold)
- (labels-face :initarg :lables-face
+ (labels-face :initarg :labels-face
:initform 'italic)
(chart :initarg :chart
:initform nil)
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index c9e32023187..9b708d4bbd2 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -2118,7 +2118,7 @@ before using the Ispell engine on it."
;; Find out how we spell-check this word.
(if (or
;; All caps w/ option th, or s tacked on the end
- ;; for pluralization or numberthness.
+ ;; for pluralization or number.
(string-match "^[A-Z][A-Z]+\\(s\\|th\\)?$" word)
(looking-at "}") ; a keymap expression
)
diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el
index 287bb531538..81af2030ebe 100644
--- a/lisp/emacs-lisp/cl-indent.el
+++ b/lisp/emacs-lisp/cl-indent.el
@@ -159,12 +159,16 @@ is set to `defun'.")
(current-column))))
(goto-char indent-point)
(beginning-of-line)
- (cond ((not (extended-loop-p (elt state 1)))
- (+ loop-indentation lisp-simple-loop-indentation))
- ((looking-at "^\\s-*\\(:?\\sw+\\|;\\)")
- (+ loop-indentation lisp-loop-keyword-indentation))
- (t
- (+ loop-indentation lisp-loop-forms-indentation)))))
+ (list
+ (cond ((not (extended-loop-p (elt state 1)))
+ (+ loop-indentation lisp-simple-loop-indentation))
+ ((looking-at "^\\s-*\\(:?\\sw+\\|;\\)")
+ (+ loop-indentation lisp-loop-keyword-indentation))
+ (t
+ (+ loop-indentation lisp-loop-forms-indentation)))
+ ;; Tell the caller that the next line needs recomputation, even
+ ;; though it doesn't start a sexp.
+ loop-indentation)))
;; Cf (info "(elisp)Specification List")
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index bf9f2c9d6ed..fae4d9adc38 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -233,10 +233,10 @@ or call the function `%s'."))))
(defun ,modefun (&optional arg ,@extra-args)
,(or doc
(format (concat "Toggle %s on or off.
-Interactively, with no prefix argument, toggle the mode.
-With universal prefix ARG turn mode on.
-With zero or negative ARG turn mode off.
-\\{%s}") pretty-name keymap-sym))
+With a prefix argument ARG, enable %s if ARG is
+positive, and disable it otherwise. If called from Lisp, enable
+the mode if ARG is omitted or nil.
+\\{%s}") pretty-name pretty-name keymap-sym))
;; Use `toggle' rather than (if ,mode 0 1) so that using
;; repeat-command still does the toggling correctly.
(interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 86c7e59fd07..d7cfcfb870a 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -3448,7 +3448,7 @@ instrumented. Then it does `edebug-on-entry' and switches to `go' mode."
(defun edebug-on-entry (function &optional flag)
"Cause Edebug to stop when FUNCTION is called.
With prefix argument, make this temporary so it is automatically
-cancelled the first time the function is entered."
+canceled the first time the function is entered."
(interactive "aEdebug on entry to: \nP")
;; Could store this in the edebug data instead.
(put function 'edebug-on-entry (if flag 'temp t)))
diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el
index df57148962f..278dff0f085 100644
--- a/lisp/emacs-lisp/eieio-base.el
+++ b/lisp/emacs-lisp/eieio-base.el
@@ -178,7 +178,7 @@ only one object ever exists."
;; calculate path names relative to a given instance. This will
;; make the saved object location independent by converting all file
;; references to be relative to the directory the object is saved to.
-;; You must call `eieio-peristent-path-relative' on each file name
+;; You must call `eieio-persistent-path-relative' on each file name
;; saved in your object.
(defclass eieio-persistent ()
((file :initarg :file
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 5e29a85d386..170d3fb0bf8 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -57,7 +57,7 @@
(eval-and-compile
;; About the above. EIEIO must process its own code when it compiles
-;; itself, thus, by eval-and-compiling outselves, we solve the problem.
+;; itself, thus, by eval-and-compiling ourselves, we solve the problem.
;; Compatibility
(if (fboundp 'compiled-function-arglist)
@@ -992,7 +992,7 @@ if default value is nil."
;; EML - Note: the only reason to override a class bound slot
;; is to change the default, so allow unbound in.
- ;; If we have a repeat, only update the vlaue...
+ ;; If we have a repeat, only update the value...
(eieio-perform-slot-validation-for-default a tp value skipnil)
(setcar dp value))
diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el
index 0b8aa034500..ce6f8348a6b 100644
--- a/lisp/emacs-lisp/elint.el
+++ b/lisp/emacs-lisp/elint.el
@@ -296,7 +296,7 @@ If necessary, this first calls `elint-initialize'."
(elint-display-log)
(elint-set-mode-line t)
(mapc 'elint-top-form (elint-update-env))
- ;; Tell the user we're finished. This is terribly klugy: we set
+ ;; Tell the user we're finished. This is terribly kludgy: we set
;; elint-top-form-logged so elint-log-message doesn't print the
;; ** top form ** header...
(elint-set-mode-line)
@@ -335,7 +335,7 @@ Will be local in linted buffers.")
Is measured in buffer-modified-ticks and is local in linted buffers.")
;; This is a minor optimization. It is local to every buffer, and so
-;; does not prevent recursive requirs. It does not list the requires
+;; does not prevent recursive requires. It does not list the requires
;; of requires.
(defvar elint-features nil
"List of all libraries this buffer has required, or that have been provided.")
@@ -1098,7 +1098,7 @@ optional prefix argument REINIT is non-nil."
;; This includes all the built-in and dumped things with documentation.
(defun elint-scan-doc-file ()
"Scan the DOC file for function and variables.
-Marks the function wih their arguments, and returns a list of variables."
+Marks the function with their arguments, and returns a list of variables."
;; Cribbed from help-fns.el.
(let ((docbuf " *DOC*")
vars sym args)
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 8b64cd84bb1..820519e92d8 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -392,7 +392,7 @@ DATA is displayed to the user and should state the reason of the failure."
;; compiling doesn't depend on cl and thus doesn't need an
;; environment arg for `macroexpand'.
(if (fboundp 'cl-macroexpand)
- ;; Suppress warning about run-time call to cl funtion: we
+ ;; Suppress warning about run-time call to cl function: we
;; only call it if it's fboundp.
(with-no-warnings
(cl-macroexpand form (and (boundp 'cl-macro-environment)
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 9408c0a3c9d..44e87e171d1 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -131,6 +131,7 @@
(put 'autoload 'doc-string-elt 3)
(put 'defun 'doc-string-elt 3)
(put 'defun* 'doc-string-elt 3)
+(put 'defmethod 'doc-string-elt 3)
(put 'defvar 'doc-string-elt 3)
(put 'defcustom 'doc-string-elt 3)
(put 'deftheme 'doc-string-elt 2)
@@ -769,7 +770,7 @@ this command arranges for all errors to enter the debugger."
Reset the `defvar' and `defcustom' variables to the initial value.
Reinitialize the face according to the `defface' specification."
;; The code in edebug-defun should be consistent with this, but not
- ;; the same, since this gets a macroexpended form.
+ ;; the same, since this gets a macroexpanded form.
(cond ((not (listp form))
form)
((and (eq (car form) 'defvar)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 0bd37ce1d49..a1513039a98 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -113,6 +113,8 @@
;;; ToDo:
+;; - a trust mechanism, since compiling a package can run arbitrary code.
+;; For example, download package signatures and check that they match.
;; - putting info dirs at the start of the info path means
;; users see a weird ordering of categories. OTOH we want to
;; override later entries. maybe emacs needs to enforce
@@ -224,7 +226,10 @@ Each element has the form (ID . LOCATION).
LOCATION specifies the base location for the archive.
If it starts with \"http:\", it is treated as a HTTP URL;
otherwise it should be an absolute directory name.
- (Other types of URL are currently not supported.)"
+ (Other types of URL are currently not supported.)
+
+Only add locations that you trust, since fetching and installing
+a package can run arbitrary code."
:type '(alist :key-type (string :tag "Archive name")
:value-type (string :tag "URL or directory name"))
:risky t
@@ -277,7 +282,7 @@ contrast, `package-user-dir' contains packages for personal use."
:version "24.1")
;; The value is precomputed in finder-inf.el, but don't load that
-;; until it's needed (i.e. when `package-intialize' is called).
+;; until it's needed (i.e. when `package-initialize' is called).
(defvar package--builtins nil
"Alist of built-in packages.
The actual value is initialized by loading the library
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el
index d43ba6c0d3e..afc8c7faa47 100644
--- a/lisp/emacs-lisp/smie.el
+++ b/lisp/emacs-lisp/smie.el
@@ -579,7 +579,7 @@ PREC2 is a table as returned by `smie-precs->prec2' or
(smie-debug--describe-cycle
table (smie-debug--prec2-cycle csts)))))
(incf i 10))
- ;; Propagate equalities back to their source.
+ ;; Propagate equality constraints back to their sources.
(dolist (eq (nreverse eqs))
(when (null (cadr eq))
;; There's an equality constraint, but we still haven't given
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index c65cbc39eab..85fa4772eb6 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -56,7 +56,7 @@
;; syntax-ppss-flush-cache since that would not only flush the cache but also
;; reset syntax-propertize--done which should not be done in this case).
"Mode-specific function to apply the syntax-table properties.
-Called with 2 arguments: START and END.
+Called with two arguments: START and END.
This function can call `syntax-ppss' on any position before END, but it
should not call `syntax-ppss-flush-cache', which means that it should not
call `syntax-ppss' on some position and later modify the buffer on some
@@ -248,7 +248,7 @@ Note: back-references in REGEXPs do not work."
(if syntax
(put-text-property
mb me 'syntax-table syntax))))))))
-
+
(if (or (not (cddr rule)) (zerop gn))
(setq code (nconc (nreverse thiscode) code))
(push `(if (match-beginning ,gn)
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el
index e16970c6804..32ec2bbf7ee 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -146,7 +146,7 @@ If ADVANCE is non-nil, move forward by one line afterwards."
(defvar tabulated-list-glyphless-char-display
(let ((table (make-char-table 'glyphless-char-display nil)))
(set-char-table-parent table glyphless-char-display)
- ;; Some text terminals can't display the unicode arrows; be safe.
+ ;; Some text terminals can't display the Unicode arrows; be safe.
(aset table 9650 (cons nil "^"))
(aset table 9660 (cons nil "v"))
table)
diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el
index 8f991575eda..a5a6f71d79e 100644
--- a/lisp/emacs-lisp/testcover.el
+++ b/lisp/emacs-lisp/testcover.el
@@ -220,7 +220,7 @@ non-nil, byte-compiles each function after instrumenting."
(defun testcover-reinstrument (form)
"Reinstruments FORM to use testcover instead of edebug. This
function modifies the list that FORM points to. Result is nil if
-FORM should return multiple vlues, t if should always return same
+FORM should return multiple values, t if should always return same
value, 'maybe if either is acceptable."
(let ((fun (car-safe form))
id val)
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 9a50352d507..a68c4dfdf69 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1242,7 +1242,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
;; Handle shifted cursor keys and other movement commands.
;; If region is not active, region is activated if key is shifted.
- ;; If region is active, region is cancelled if key is unshifted
+ ;; If region is active, region is canceled if key is unshifted
;; (and region not started with C-SPC).
;; If rectangle is active, expand rectangle in specified direction and
;; ignore the movement.
diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el
index 690555e81dc..b6a3a977909 100644
--- a/lisp/emulation/cua-gmrk.el
+++ b/lisp/emulation/cua-gmrk.el
@@ -94,7 +94,7 @@ insert the deleted or copied text before the global marker, even when the
global marker is in another buffer.
If the global marker isn't set, set the global marker at point in the current
buffer. Otherwise jump to the global marker position and cancel it.
-With prefix argument, don't jump to global mark when cancelling it."
+With prefix argument, don't jump to global mark when canceling it."
(interactive "P")
(unless cua--global-mark-initialized
(cua--init-global-mark))
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el
index 76cab39f5b2..00aec2d0bf9 100644
--- a/lisp/emulation/cua-rect.el
+++ b/lisp/emulation/cua-rect.el
@@ -1258,7 +1258,7 @@ The numbers are formatted according to the FORMAT string."
(untabify (point-min) (point-max)))
(defun cua-text-fill-rectangle (width text)
- "Replace rectagle with filled TEXT read from minibuffer.
+ "Replace rectangle with filled TEXT read from minibuffer.
A numeric prefix argument is used a new width for the filled rectangle."
(interactive (list
(prefix-numeric-value current-prefix-arg)
@@ -1269,7 +1269,7 @@ A numeric prefix argument is used a new width for the filled rectangle."
(lambda () (insert text))))
(defun cua-refill-rectangle (width)
- "Fill contents of current rectagle.
+ "Fill contents of current rectangle.
A numeric prefix argument is used as new width for the filled rectangle."
(interactive "P")
(cua--rectangle-aux-replace
diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el
index 99d204692fa..e58656d7941 100644
--- a/lisp/emulation/edt-mapper.el
+++ b/lisp/emulation/edt-mapper.el
@@ -151,7 +151,7 @@
;;; Logic in simple.el maps some of these unassigned function keys to
;;; ordinary typing keys. Where this is the case, a call to
;;; read-key-sequence, below, does not return the name of the function
-;;; key pressd by the user but, instead, it returns the name of the
+;;; key pressed by the user but, instead, it returns the name of the
;;; key to which it has been mapped. It needs to know the name of the
;;; key pressed by the user. As a workaround, we assign a function to
;;; each of the unassigned function keys of interest, here. These
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el
index a0c6062fb29..1298e5424ac 100644
--- a/lisp/emulation/vip.el
+++ b/lisp/emulation/vip.el
@@ -420,7 +420,7 @@ Type `n' to quit this window for now.\n")
(goto-char (point-min))
(if (y-or-n-p "Inhibit VIP startup message? ")
(progn
- (with-current-buffer
+ (with-current-buffer
(find-file-noselect
(substitute-in-file-name vip-startup-file))
(goto-char (point-max))
@@ -877,7 +877,7 @@ is the name of the register for COM."
(if (> beg end) (exchange-point-and-mark)))
(defun vip-global-execute ()
- "Call last keyboad macro for each line in the region."
+ "Call last keyboard macro for each line in the region."
(if (> (point) (mark)) (exchange-point-and-mark))
(beginning-of-line)
(call-last-kbd-macro)
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index df37157f7a9..b6d487704f4 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -716,7 +716,7 @@
(error
(viper-message-conditions conds))))
-;; escape to emacs mode termporarily
+;; escape to emacs mode temporarily
(defun viper-escape-to-emacs (arg &optional events)
"Escape to Emacs state from Vi state for one Emacs command.
ARG is used as the prefix value for the executed command. If
@@ -726,7 +726,7 @@ EVENTS is a list of events, which become the beginning of the command."
(message "Switched to EMACS state for the next command..."))
(viper-escape-to-state arg events 'emacs-state))
-;; escape to Vi mode termporarily
+;; escape to Vi mode temporarily
(defun viper-escape-to-vi (arg)
"Escape from Emacs state to Vi state for one Vi 1-character command.
If the Vi command that the user types has a prefix argument, e.g., `d2w', then
@@ -1979,7 +1979,7 @@ Undo previous insertion and inserts new."
;; Quote region by each line with a user supplied string.
(defun viper-quote-region ()
(let ((quote-str viper-quote-string)
- (donot-change-dafault t))
+ (donot-change-default t))
(setq quote-str
(viper-read-string-with-history
"Quote string: "
@@ -1991,9 +1991,9 @@ Undo previous insertion and inserts new."
((string-match "lisp.*-mode" (symbol-name major-mode)) ";;")
((memq major-mode '(c-mode cc-mode c++-mode)) "//")
((memq major-mode '(sh-mode shell-mode)) "#")
- (t (setq donot-change-dafault nil)
+ (t (setq donot-change-default nil)
quote-str))))
- (or donot-change-dafault
+ (or donot-change-default
(setq viper-quote-string quote-str))
(viper-enlarge-region (point) (mark t))
(if (> (point) (mark t)) (exchange-point-and-mark))
@@ -2407,7 +2407,7 @@ problems."
t 'local)
(add-hook
'viper-pre-command-hooks 'viper-replace-state-pre-command-sentinel t 'local)
- ;; guard against a smartie who switched from R-replace to normal replace
+ ;; guard against a smarty who switched from R-replace to normal replace
(remove-hook
'viper-post-command-hooks 'viper-R-state-post-command-sentinel 'local)
(if overwrite-mode (overwrite-mode -1))
@@ -2531,7 +2531,7 @@ problems."
'viper-post-command-hooks 'viper-R-state-post-command-sentinel t 'local)
(add-hook
'viper-pre-command-hooks 'viper-replace-state-pre-command-sentinel t 'local)
- ;; guard against a smartie who switched from R-replace to normal replace
+ ;; guard against a smarty who switched from R-replace to normal replace
(remove-hook
'viper-post-command-hooks 'viper-replace-state-post-command-sentinel 'local)
)
@@ -3715,7 +3715,7 @@ Although this function is bound to \\[viper-toggle-search-style], the most
convenient way to use it is to bind `//' to the macro
`1 M-x viper-toggle-search-style' and `///' to
`2 M-x viper-toggle-search-style'. In this way, hitting `//' quickly will
-toggle case-fold-search and hitting `/' three times witth toggle regexp
+toggle case-fold-search and hitting `/' three times with toggle regexp
search. Macros are more convenient in this case because they don't affect
the Emacs binding of `/'."
(interactive "P")
@@ -3767,7 +3767,7 @@ If MAJOR-MODE is set, set the macros only in that major mode."
"//" 'vi-state
[1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
scope)
- ;; toggle regexp/vanila search
+ ;; toggle regexp/vanilla search
(viper-record-kbd-macro
"///" 'vi-state
[2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
@@ -3824,7 +3824,7 @@ the macros are set in the current major mode.
"//" 'emacs-state
[1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
(or arg-majormode major-mode))
- ;; toggle regexp/vanila search
+ ;; toggle regexp/vanilla search
(viper-record-kbd-macro
"///" 'emacs-state
[2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
@@ -4017,7 +4017,7 @@ Null string will repeat previous search."
(setq viper-prefix-commands
(cons viper-buffer-search-char viper-prefix-commands)))
-;; This is a Viper wraper for isearch-forward.
+;; This is a Viper wrapper for isearch-forward.
(defun viper-isearch-forward (arg)
"Do incremental search forward."
(interactive "P")
@@ -4025,7 +4025,7 @@ Null string will repeat previous search."
(if (listp arg) (setq arg (car arg)))
(viper-exec-form-in-emacs (list 'isearch-forward arg)))
-;; This is a Viper wraper for isearch-backward."
+;; This is a Viper wrapper for isearch-backward."
(defun viper-isearch-backward (arg)
"Do incremental search backward."
(interactive "P")
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el
index 93bf8251ce1..3e21e77a77b 100644
--- a/lisp/emulation/viper-ex.el
+++ b/lisp/emulation/viper-ex.el
@@ -259,7 +259,7 @@
(defvar ex-addresses nil)
;; This flag is supposed to be set only by `#', `print', and `list',
-;; none of which is implemented. So, it and the pices of the code it
+;; none of which is implemented. So, it and the pieces of the code it
;; controls are dead weight. We keep it just in case this might be
;; needed in the future.
(defvar ex-flag nil)
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el
index c069c387003..2fc8dc599cb 100644
--- a/lisp/emulation/viper-init.el
+++ b/lisp/emulation/viper-init.el
@@ -205,7 +205,7 @@ designated buffers.")
(viper-deflocalvar viper-insert-diehard-minor-mode nil
"Minor mode that simulates Vi very closely.
-Not recommened, except for the novice user.")
+Not recommended, except for the novice user.")
(viper-deflocalvar viper-insert-kbd-minor-mode nil
"Minor mode for Ex command macros Insert state.
@@ -593,7 +593,7 @@ to a new place after repeating previous Vi command."
;; The reason this is needed is because dabbrev-expand (and possibly
;; others) may jump to before the insertion point, delete something and
;; then reinsert a bigger piece. For instance: bla^blo
-;; If dabbrev-expand is called after `blo' and ^ undicates viper-insert-point,
+;; If dabbrev-expand is called after `blo' and ^ indicates viper-insert-point,
;; then point jumps to the beginning of `blo'. If expansion is found, `blablo'
;; is deleted, and we have |^, where | denotes point. Next, dabbrev-expand
;; will insert the expansion, and we get: blablo^
@@ -679,7 +679,7 @@ to a new place after repeating previous Vi command."
:group 'viper-search)
(defcustom viper-search-scroll-threshold 2
- "*If search lands within this threshnold from the window top/bottom,
+ "*If search lands within this threshold from the window top/bottom,
the window will be scrolled up or down appropriately, to reveal context.
If you want Viper search to behave as usual in Vi, set this variable to a
negative number."
@@ -818,7 +818,7 @@ Related buffers can be cycled through via :R and :P commands."
;;; Face-saving tricks
(defgroup viper-highlighting nil
- "Hilighting of replace region, search pattern, minibuffer, etc."
+ "Highlighting of replace region, search pattern, minibuffer, etc."
:prefix "viper-"
:group 'viper)
diff --git a/lisp/emulation/viper-macs.el b/lisp/emulation/viper-macs.el
index 00153c1ff0e..2704bdc5b40 100644
--- a/lisp/emulation/viper-macs.el
+++ b/lisp/emulation/viper-macs.el
@@ -319,7 +319,7 @@ a key is a symbol, e.g., `a', `\\1', `f2', etc., or a list, e.g.,
;; Accepts as macro names: strings and vectors.
;; strings must be strings of characters; vectors must be vectors of keys
-;; in canonic form. The canonic form is essentially the form used in XEmacs
+;; in canonical form, which is essentially the form used in XEmacs.
;; More general definitions are inherited by more specific scopes:
;; global->major mode->buffer. More specific definitions override more general
(defun viper-record-kbd-macro (macro-name state macro-body &optional scope)
@@ -921,7 +921,7 @@ name from there."
(defun viper-global-execute ()
- "Call last keyboad macro for each line in the region."
+ "Call last keyboard macro for each line in the region."
(if (> (point) (mark t)) (exchange-point-and-mark))
(beginning-of-line)
(call-last-kbd-macro)
diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el
index 778910017cd..a99ffdea558 100644
--- a/lisp/emulation/viper-mous.el
+++ b/lisp/emulation/viper-mous.el
@@ -66,7 +66,7 @@
"*Function that determines what constitutes a word for clicking events.
Takes two parameters: a COUNT, indicating how many words to return,
and CLICK-COUNT, telling whether this is the first click, a double-click,
-or a tripple-click."
+or a triple-click."
:type 'symbol
:group 'viper-mouse)
@@ -95,7 +95,7 @@ considered related."
;; remembers prefix argument to pass along to commands invoked by second
;; click.
-;; This is needed because in Emacs (not XEmacs), assigning to preix-arg
+;; This is needed because in Emacs (not XEmacs), assigning to prefix-arg
;; causes Emacs to count the second click as if it was a single click
(defvar viper-global-prefix-argument nil)
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el
index 38a881845df..3704725b8dd 100644
--- a/lisp/emulation/viper.el
+++ b/lisp/emulation/viper.el
@@ -491,7 +491,7 @@ unless it is coming up in a wrong Viper state."
)
"List specifying how to modify the various major modes to enable some Viperisms.
The list has the structure: ((mode viper-state keymap) (mode viper-state
-keymap) ...). If `mode' is on the list, the `kemap' will be made active (on
+keymap) ...). If `mode' is on the list, the `keymap' will be made active (on
the minor-mode-map-alist) in the specified viper state.
If you change this list, have to restart Emacs for the change to take effect.
However, if you did the change through the customization widget, then Emacs
@@ -777,7 +777,7 @@ It also can't undo some Viper settings."
(viper-unbind-mouse-search-key)
(viper-unbind-mouse-insert-key)
;; In emacs, we have to advice handle-switch-frame
- ;; This advice is undone earlier, when all advices matchine "viper-" are
+ ;; This advice is undone earlier, when all advices matching "viper-" are
;; deactivated.
(if (featurep 'xemacs)
(remove-hook 'mouse-leave-frame-hook 'viper-remember-current-frame))
@@ -1050,7 +1050,7 @@ It also can't undo some Viper settings."
(memq 'down (event-modifiers (aref key 1)))))
(read-event))))))
) ; (if (featurep 'xemacs)
-
+
(if (featurep 'xemacs)
;; XEmacs
(defadvice describe-key-briefly
@@ -1076,7 +1076,7 @@ It also can't undo some Viper settings."
(prefix-numeric-value current-prefix-arg))
1))))
) ; (if (featurep 'xemacs)
-
+
(defadvice find-file (before viper-add-suffix-advice activate)
"Use `read-file-name' for reading arguments."
(interactive (cons (read-file-name "Find file: " nil default-directory)
diff --git a/lisp/epg.el b/lisp/epg.el
index 00c00f9c9d3..133e76da96c 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -82,7 +82,7 @@
(defconst epg-invalid-recipients-reason-alist
'((0 . "No specific reason given")
(1 . "Not Found")
- (2 . "Ambigious specification")
+ (2 . "Ambiguous specification")
(3 . "Wrong key usage")
(4 . "Key revoked")
(5 . "Key expired")
@@ -95,7 +95,7 @@
(defconst epg-delete-problem-reason-alist
'((1 . "No such key")
(2 . "Must delete secret key first")
- (3 . "Ambigious specification")))
+ (3 . "Ambiguous specification")))
(defconst epg-import-ok-reason-alist
'((0 . "Not actually changed")
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 9a029893352..1b67835cb07 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,15 @@
+2011-11-28 Mike Kazantsev <mk.fraggod@gmail.com> (tiny change)
+
+ * erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Updated regexp to
+ match quoted filenames with spaces inside.
+ (erc-dcc-handle-ctcp-send): Updated regexp match group numbers,
+ added processing of escaped quotes and backslashes if filename
+ itself was in quotes.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * erc-log.el (erc-logging-enabled): Fix typo.
+
2011-11-14 Juanma Barranquero <lekktu@gmail.com>
* erc-notify.el (erc-notify-interval, erc-cmd-NOTIFY): Fix typos.
diff --git a/lisp/erc/ChangeLog.01 b/lisp/erc/ChangeLog.01
index 1e90b33a23b..2b29acf5a25 100644
--- a/lisp/erc/ChangeLog.01
+++ b/lisp/erc/ChangeLog.01
@@ -93,7 +93,7 @@
* erc.el:
* erc-insert-hook: Changed strategy completely, no start end parameters any more.
- We narrow-to-region now, thats much cleaner.
+ We narrow-to-region now, that's much cleaner.
* rename erc-fill-region to erc-fill and change the autoload
** You'll probably need to restart Emacs
@@ -221,7 +221,7 @@
* Applied antifuchs/mhp patches, the latest on erc-help, unmodified
* New variable: erc-reuse-buffers default to t.
* Modified erc-generate-new-buffer-name to use it. it checks if server and port are the same,
- then one can assume thats the same channel/query target again.
+ then one can assume that's the same channel/query target again.
2001-11-23 Mario Lang <mlang@delysid.org>
@@ -399,7 +399,7 @@
* erc.el: * Tijs van Bakel's work from 10th Nov. merged in
* My additions to that idea merged in too
- Basicly, this is a major rewrite, if you are scared and want avoid problems,
+ Basically, this is a major rewrite, if you are scared and want avoid problems,
stay at your current version. It seems fairly stable though.
That changed? erc-buffer-name handling was completely rewritten,
and erc-buffer-list local variable handling removed.
@@ -415,7 +415,7 @@
* erc.el: only some code beautification
* erc-imenu.el:
- remove add-hook call, thats done in erc.el now for autoloadability
+ remove add-hook call, that's done in erc.el now for autoloadability
* erc.el: * Make erc-imenu autoloadable
@@ -912,7 +912,7 @@
fixed one occurrence of a setq with only one argument (XEmacs didn't like that)
* erc.el:
- Added erc-next-line-add-newlines customisation possibility.
+ Added erc-next-line-add-newlines customization possibility.
* erc.el:
added erc-fill-prefix for defining your own way of filling and fixed filling somehow
@@ -940,8 +940,7 @@
* erc.el: typo
- * erc.el: ommit
- :wq
+ * erc.el: omit
2001-07-06 Alex Schroeder <alex@gnu.org>
diff --git a/lisp/erc/ChangeLog.02 b/lisp/erc/ChangeLog.02
index d1b05a23140..d20b6ca35a7 100644
--- a/lisp/erc/ChangeLog.02
+++ b/lisp/erc/ChangeLog.02
@@ -75,7 +75,7 @@
everything but the last character.
* erc.el(erc-send-current-line):
- Check wether point is in the input line. If
+ Check whether point is in the input line. If
not, just beep and do nothing.
2002-12-28 Alex Schroeder <alex@gnu.org>
@@ -98,7 +98,7 @@
2002-12-28 Jorgen Schaefer <forcer@users.sourceforge.net>
* erc.el(erc-log-irc-protocol):
- Removed check wether get-buffer-create
+ Removed check whether get-buffer-create
returned nil. "The value is never nil", says the docstring.
* erc.el: Day Of The Small Changes
@@ -245,7 +245,7 @@
(erc-process-alive): Check erc-process for boundp and processp.
* erc.el(erc-kill-buffer-function):
- Do not check wether the process is
+ Do not check whether the process is
alive before running the hook, because there might be functions on
the hook that need to run even when the process is dead. And
function that wants to check this, should use (erc-process-alive).
@@ -343,7 +343,7 @@
2002-12-14 Damien Elmes <erc@repose.cx>
* erc.el:
- last-peers: initialise to a cons. thanks to Francis Litterio
+ last-peers: initialize to a cons. thanks to Francis Litterio
<franl@world.std.com> for the patch
* erc.el:
@@ -979,7 +979,7 @@
2002-11-16 Alex Schroeder <alex@gnu.org>
- * erc-autoaway.el, erc-button.el, erc-fill.el, erc-match.el,
+ * erc-autoaway.el, erc-button.el, erc-fill.el, erc-match.el,
erc-menu.el, erc-ring.el, erc-track.el:
Cleanup of file headers: copyright years, GPL mumbo-jumbo, commentaries.
@@ -1037,7 +1037,7 @@
* (erc-away-p): new function
erc-fill.el:
- * (erc-fill-variable): Check wether erc-timestamp-format is bound before
+ * (erc-fill-variable): Check whether erc-timestamp-format is bound before
using it (erc-fill.el does not require erc-stamp).
2002-11-10 Alex Schroeder <alex@gnu.org>
@@ -1447,7 +1447,7 @@
* erc-match.el: fixed spelling error
* erc-track.el, erc-match.el: * erc-match.el:
- highlight current nickname in its own face (deactivated by default):
+ highlight current nickname in its own face (inactive by default):
- added erc-current-nick-highlight-type, erc-current-nick-face,
erc-current-nick-p
@@ -1564,7 +1564,7 @@
(require 'erc-nickserv) is now necessary for this to work
* erc.el:
- * results of /COUNTRY now formatted as notice; errors are ignored,
+ * results of /COUNTRY now formatted as notice; errors are ignored,
fixing
bug which made prompt disappear
@@ -1959,9 +1959,9 @@
* erc.el: remove trailing \n from any sent text
- * servers.pl, erc-bbdb.el, erc-button.el, erc-chess.el,
- erc-complete.el, erc-fill.el, erc-ibuffer.el, erc-list.el,
- erc-match.el, erc-menu.el, erc-nets.el, erc-replace.el,
+ * servers.pl, erc-bbdb.el, erc-button.el, erc-chess.el,
+ erc-complete.el, erc-fill.el, erc-ibuffer.el, erc-list.el,
+ erc-match.el, erc-menu.el, erc-nets.el, erc-replace.el,
erc-speak.el, erc-speedbar.el, erc-track.el, erc.el:
clean whitespace
@@ -2616,4 +2616,3 @@ See ChangeLog.01 for earlier changes.
;; Local Variables:
;; coding: utf-8
;; End:
-
diff --git a/lisp/erc/ChangeLog.03 b/lisp/erc/ChangeLog.03
index 956ef5f4c66..135d8f788f8 100644
--- a/lisp/erc/ChangeLog.03
+++ b/lisp/erc/ChangeLog.03
@@ -693,10 +693,10 @@
2003-04-29 Jorgen Schaefer <forcer@users.sourceforge.net>
* erc.el(erc):
- Check wether erc-save-buffer-in-logs is bound, too
+ Check whether erc-save-buffer-in-logs is bound, too
* erc.el(erc):
- Check wether erc-logging-enabled is bound before using it - not
+ Check whether erc-logging-enabled is bound before using it - not
everyone is using erc-log.el!
2003-04-28 Andreas Fuchs <asf@void.at>
@@ -838,7 +838,7 @@
* erc.el:
erc-log-channels: removed; set the directory to start logging
(erc-directory-writeable-p): create directory if it doesn't exist, check if
- it's writeable
+ it's writable
(erc-logging-enabled): don't reference erc-log-channels
2003-04-07 Damien Elmes <erc@repose.cx>
@@ -1166,7 +1166,7 @@
(erc-person): Call erc-downcase before getting
something from the hash.
- (erc-nick-in-channel): Checking wether erc-process must be used is
+ (erc-nick-in-channel): Checking whether erc-process must be used is
unnecessary -- this will be done in erc-person.
(erc-nick-channels): New.
(erc-add-nick-to-channel, erc-update-member): Call erc-downcase
@@ -1425,7 +1425,7 @@
reference argument directly - no string matching
* erc.el(erc-extract-command-from-line):
- hmm, thinko in the canonicalisation. should
+ hmm, thinko in the canonicalization. should
be fixed
2003-01-16 Francis Litterio <franl@users.sourceforge.net>
@@ -1556,7 +1556,7 @@
* erc.el: This is the "everything is suddenly broken!" release
You know, this is CVS, you can still go back, and wait until the transition
- is finished, but here is patch one, which basicly breaks every command
+ is finished, but here is patch one, which basically breaks every command
which is typed on the prompt.
Hit me, we can still revert, but something needs to be done about this.
* (erc-extract-command-from-line): intern-soft the function here.
@@ -1678,7 +1678,7 @@
2003-01-11 Jorgen Schaefer <forcer@users.sourceforge.net>
* erc-stamp.el(erc-insert-timestamp-right):
- Check wether erc-fill-column is
+ Check whether erc-fill-column is
available before using it. Else default to fill-column or if
everything else fails, the window width of the current window. For the
fill-columns, use them directly as the starting position for the
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index f86c9ef845a..5baa676ab39 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -1432,7 +1432,7 @@ add things to `%s' instead."
(when (string= cmd "PRIVMSG")
(erc-auto-query proc parsed))))))
-;; FIXME: need clean way of specifiying extra hooks in
+;; FIXME: need clean way of specifying extra hooks in
;; define-erc-response-handler.
(add-hook 'erc-server-PRIVMSG-functions 'erc-auto-query)
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el
index 19e1801e03c..fce22aadcc4 100644
--- a/lisp/erc/erc-dcc.el
+++ b/lisp/erc/erc-dcc.el
@@ -649,7 +649,16 @@ that subcommand."
?q query ?n nick ?u login ?h host))))
(defconst erc-dcc-ctcp-query-send-regexp
- "^DCC SEND \\([^ ]+\\) \\([0-9]+\\) \\([0-9]+\\) *\\([0-9]*\\)")
+ (concat "^DCC SEND \\("
+ ;; Following part matches either filename without spaces
+ ;; or filename enclosed in double quotes with any number
+ ;; of escaped double quotes inside.
+ "\"\\(\\(.*?\\(\\\\\"\\)?\\)+?\\)\"\\|\\([^ ]+\\)"
+ "\\) \\([0-9]+\\) \\([0-9]+\\) *\\([0-9]*\\)"))
+
+(defsubst erc-dcc-unquote-filename (filename)
+ (erc-replace-regexp-in-string "\\\\\\\\" "\\"
+ (erc-replace-regexp-in-string "\\\\\"" "\"" filename t t) t t))
(defun erc-dcc-handle-ctcp-send (proc query nick login host to)
"This is called if a CTCP DCC SEND subcommand is sent to the client.
@@ -664,10 +673,12 @@ It extracts the information about the dcc request and adds it to
'dcc-request-bogus
?r "SEND" ?n nick ?u login ?h host))
((string-match erc-dcc-ctcp-query-send-regexp query)
- (let ((filename (match-string 1 query))
- (ip (erc-decimal-to-ip (match-string 2 query)))
- (port (match-string 3 query))
- (size (match-string 4 query)))
+ (let ((filename
+ (or (match-string 3 query)
+ (erc-dcc-unquote-filename (match-string 2 query))))
+ (ip (erc-decimal-to-ip (match-string 6 query)))
+ (port (match-string 7 query))
+ (size (match-string 8 query)))
;; FIXME: a warning really should also be sent
;; if the ip address != the host the dcc sender is on.
(erc-display-message
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index 24990e1e068..f1754afd1ac 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -50,7 +50,7 @@
;; erc-log-write-after-send t
;; erc-log-write-after-insert t)
;;
-;; If you only want to save logs for some buffers, customise the
+;; If you only want to save logs for some buffers, customize the
;; variable `erc-enable-logging'.
;; How it works:
@@ -314,7 +314,7 @@ Returns nil if `erc-server-buffer-p' returns t."
"Return non-nil if logging is enabled for BUFFER.
If BUFFER is nil, the value of `current-buffer' is used.
Logging is enabled if `erc-log-channels-directory' is non-nil, the directory
-is writeable (it will be created as necessary) and
+is writable (it will be created as necessary) and
`erc-enable-logging' returns a non-nil value."
(and erc-log-channels-directory
(or (functionp erc-log-channels-directory)
@@ -450,4 +450,3 @@ You can save every individual message by putting this function on
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
-
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el
index bde51da6e3d..7e567bd1648 100644
--- a/lisp/erc/erc-match.el
+++ b/lisp/erc/erc-match.el
@@ -36,7 +36,7 @@
(require 'erc)
(eval-when-compile (require 'cl))
-;; Customisation:
+;; Customization:
(defgroup erc-match nil
"Keyword and Friend/Foe/... recognition.
@@ -633,4 +633,3 @@ This function is meant to be called from `erc-text-matched-hook'."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
-
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index b663aeed423..e2e5fa1c4f2 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -1040,7 +1040,7 @@ relative to `erc-track-switch-direction'"
((oldest leastactive)
(- (length erc-modified-channels-alist) arg))
(t (1- arg))))
- ;; normalise out of range user input
+ ;; normalize out of range user input
(cond ((>= offset (length erc-modified-channels-alist))
(setq offset (1- (length erc-modified-channels-alist))))
((< offset 0)
@@ -1075,4 +1075,3 @@ switch back to the last non-ERC buffer visited. Next is defined by
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
-
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 2d8c2565f69..0eff33f1e75 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1569,7 +1569,7 @@ symbol, it may have these values:
;; current ERC buffer.
;; if buf-name is taken by a different connection (or by something !erc)
;; then see if "buf-name/server" meets the same criteria
- (dolist (candidate (list buf-name (concat buf-name "/" server)))
+ (dolist (candidate (list buf-name (concat buf-name "/" server)))
(if (and (not buffer-name)
erc-reuse-buffers
(get-buffer candidate)
@@ -2626,7 +2626,7 @@ VALUE is computed by evaluating the rest of LINE in Lisp."
(defun erc-cmd-default (line)
"Fallback command.
-Commands for which no erc-cmd-xxx exists, are tunnelled through
+Commands for which no erc-cmd-xxx exists, are tunneled through
this function. LINE is sent to the server verbatim, and
therefore has to contain the command itself as well."
(erc-log (format "cmd: DEFAULT: %s" line))
@@ -4001,7 +4001,7 @@ and as second argument the event parsed as a vector."
(not (string-match "^\C-a\\ACTION.*\C-a$" message))))
(defun erc-format-privmessage (nick msg privp msgp)
- "Format a PRIVMSG in an insertible fashion."
+ "Format a PRIVMSG in an insertable fashion."
(let* ((mark-s (if msgp (if privp "*" "<") "-"))
(mark-e (if msgp (if privp "*" ">") "-"))
(str (format "%s%s%s %s" mark-s nick mark-e msg))
@@ -5797,7 +5797,7 @@ If it doesn't exist, create it."
"Give information about the nickname at `point'.
If called interactively, give a human readable message in the
-minibuffer. If called programatically, return the corresponding
+minibuffer. If called programmatically, return the corresponding
entry of `channel-members'."
(interactive)
(require 'thingatpt)
diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el
index 4e1dbd41045..04ba19d407d 100644
--- a/lisp/eshell/em-alias.el
+++ b/lisp/eshell/em-alias.el
@@ -74,7 +74,7 @@
;; session, it is likely that they are experiencing a spelling
;; difficulty associated with a certain command. To combat this,
;; Eshell will offer to automatically define an alias for that
-;; mispelled command, once a given tolerance threshold has been
+;; misspelled command, once a given tolerance threshold has been
;; reached.
;; Whenever the same bad command name is encountered
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index db9b003895f..df1f7b67e29 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -90,7 +90,7 @@ This option slows down recursive glob processing by quite a bit."
(defcustom eshell-error-if-no-glob nil
"If non-nil, it is an error for a glob pattern not to match.
- This mimcs the behavior of zsh if non-nil, but bash if nil."
+ This mimics the behavior of zsh if non-nil, but bash if nil."
:type 'boolean
:group 'eshell-glob)
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index db5e98062a9..5e44e541526 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -90,12 +90,14 @@
"If non-nil, name of the file to read/write input history.
See also `eshell-read-history' and `eshell-write-history'.
If it is nil, Eshell will use the value of HISTFILE."
- :type 'file
+ :type '(choice (const :tag "Use HISTFILE" nil)
+ file)
:group 'eshell-hist)
(defcustom eshell-history-size 128
"Size of the input history ring. If nil, use envvar HISTSIZE."
- :type 'integer
+ :type '(choice (const :tag "Use HISTSIZE" nil)
+ integer)
:group 'eshell-hist)
(defcustom eshell-hist-ignoredups nil
@@ -261,7 +263,13 @@ element, regardless of any text on the command line. In that case,
(make-local-variable 'eshell-history-size)
(or eshell-history-size
- (setq eshell-history-size (getenv "HISTSIZE")))
+ (let ((hsize (getenv "HISTSIZE")))
+ (setq eshell-history-size
+ (if (and (stringp hsize)
+ (integerp (setq hsize (string-to-number hsize)))
+ (> hsize 0))
+ hsize
+ 128))))
(make-local-variable 'eshell-history-file-name)
(or eshell-history-file-name
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index 2308e08ed62..e45b36e3511 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -173,7 +173,7 @@ OWNERSHIP:
FILE ATTRIBUTES:
l[+-]N +/-/= N links
- a[Mwhms][+-](N|'FILE') access time +/-/= N mnths/weeks/hours/mins/secs
+ a[Mwhms][+-](N|'FILE') access time +/-/= N months/weeks/hours/mins/secs
(days if unspecified) if FILE specified,
use as comparison basis; so a+'file.c'
shows files accessed before file.c was
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el
index 2c346dfcd3d..b6f12e1ff2e 100644
--- a/lisp/eshell/em-rebind.el
+++ b/lisp/eshell/em-rebind.el
@@ -144,7 +144,7 @@ This is default behavior of shells like bash."
;;; Functions:
(defun eshell-rebind-initialize ()
- "Initialize the inputing code."
+ "Initialize the inputting code."
(unless eshell-non-interactive-p
(add-hook 'eshell-mode-hook 'eshell-setup-input-keymap nil t)
(make-local-variable 'eshell-previous-point)
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index 7d5fbbeabeb..bd575a0f809 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -24,7 +24,7 @@
;; At the moment, eshell is stream-based in its interactive input and
;; output. This means that full-screen commands, such as "vi" or
;; "lynx", will not display correctly. These are therefore thought of
-;; as "visual" programs. In order to run these progrem under Emacs,
+;; as "visual" programs. In order to run these programs under Emacs,
;; Eshell uses the term.el package, and invokes them in a separate
;; buffer, giving the illusion that Eshell itself is allowing these
;; visual processes to execute.
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index bbb453be711..b508fd5352f 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -81,7 +81,7 @@ Setting this to nil is offered as an aid to debugging only."
Numeric form is tested using the regular expression
`eshell-number-regexp'.
-NOTE: If you find that numeric conversions are intefering with the
+NOTE: If you find that numeric conversions are interfering with the
specification of filenames (for example, in calling `find-file', or
some other Lisp function that deals with files, not numbers), add the
following in your .emacs file:
diff --git a/lisp/ezimage.el b/lisp/ezimage.el
index a3562944039..d0bbdfb2f8a 100644
--- a/lisp/ezimage.el
+++ b/lisp/ezimage.el
@@ -239,7 +239,7 @@ IMAGESPEC is the image data, and DOCSTRING is documentation for the image."
("[ ]" . ezimage-page)
("{+}" . ezimage-box-plus)
("{-}" . ezimage-box-minus)
- ;; Some vaguely representitive entries
+ ;; Some vaguely representative entries
("*" . ezimage-checkout)
("#" . ezimage-object)
("!" . ezimage-object-out-of-date)
diff --git a/lisp/faces.el b/lisp/faces.el
index 7bc103ca699..21193589deb 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1704,13 +1704,14 @@ If omitted or nil, that stands for the selected frame's display."
(> (tty-color-gray-shades display) 2)))))
(defun read-color (&optional prompt convert-to-RGB allow-empty-name msg)
- "Read a color name or RGB triplet of the form \"#RRRRGGGGBBBB\".
+ "Read a color name or RGB triplet.
Completion is available for color names, but not for RGB triplets.
-RGB triplets have the form #XXXXXXXXXXXX, where each X is a hex
-digit. The number of Xs must be a multiple of 3, with the same
-number of Xs for each of red, green, and blue. The order is red,
-green, blue.
+RGB triplets have the form \"#RRGGBB\". Each of the R, G, and B
+components can have one to four digits, but all three components
+must have the same number of digits. Each digit is a hex value
+between 0 and F; either upper case or lower case for A through F
+are acceptable.
In addition to standard color names and RGB hex values, the
following are available as color candidates. In each case, the
@@ -1925,7 +1926,7 @@ frame parameters in PARAMETERS."
(progn
;; Initialize faces from face spec and custom theme.
(face-spec-recalc face frame)
- ;; X resouces for the default face are applied during
+ ;; X resources for the default face are applied during
;; `x-create-frame'.
(and (not (eq face 'default)) window-system-p
(make-face-x-resource-internal face frame))
diff --git a/lisp/files.el b/lisp/files.el
index 6cf94a89c92..40b6e7d56b4 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1343,7 +1343,7 @@ automatically choosing a major mode, use \\[find-file-literally]."
(let ((value (find-file-noselect filename nil nil wildcards)))
(if (listp value)
(mapcar 'switch-to-buffer (nreverse value))
- (switch-to-buffer value nil 'force-same-window))))
+ (switch-to-buffer value))))
(defun find-file-other-window (filename &optional wildcards)
"Edit file FILENAME, in another window.
@@ -4866,7 +4866,7 @@ given. With a prefix argument, TRASH is nil."
directory 'full directory-files-no-dot-files-regexp))
(error "Directory is not empty, not moving to trash")
(move-file-to-trash directory)))
- ;; Otherwise, call outselves recursively if needed.
+ ;; Otherwise, call ourselves recursively if needed.
(t
(if (and recursive (not (file-symlink-p directory)))
(mapc (lambda (file)
@@ -5790,7 +5790,7 @@ returns nil."
;; vc dired listings provide the state or blanks between file
;; permissions and date. The state is always surrounded by
- ;; parantheses:
+ ;; parentheses:
;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el
;; This is not supported yet.
(purecopy (concat "\\([0-9][BkKMGTPEZY]? " iso
@@ -6110,7 +6110,7 @@ message to that effect instead of signaling an error."
(defvar kill-emacs-query-functions nil
"Functions to call with no arguments to query about killing Emacs.
-If any of these functions returns nil, killing Emacs is cancelled.
+If any of these functions returns nil, killing Emacs is canceled.
`save-buffers-kill-emacs' calls these functions, but `kill-emacs',
the low level primitive, does not. See also `kill-emacs-hook'.")
diff --git a/lisp/filesets.el b/lisp/filesets.el
index 269ee331fb2..680a107adfe 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -267,12 +267,12 @@ SYM to VAL and return t. If INIT-FLAG is non-nil, set with
(not ignore-flag)))
(defun filesets-set-default! (sym val)
- "Call `filestes-set-default' and reset cached data (i.e. rebuild menu)."
+ "Call `filesets-set-default' and reset cached data (i.e. rebuild menu)."
(when (filesets-set-default sym val)
(filesets-reset-fileset)))
(defun filesets-set-default+ (sym val)
- "Call `filestes-set-default' and reset filesets' standard menu."
+ "Call `filesets-set-default' and reset filesets' standard menu."
(when (filesets-set-default sym val)
(setq filesets-has-changed-flag t)))
; (filesets-reset-fileset nil t)))
diff --git a/lisp/foldout.el b/lisp/foldout.el
index b0eaf753d60..4f93b4205b2 100644
--- a/lisp/foldout.el
+++ b/lisp/foldout.el
@@ -111,9 +111,9 @@
;; setup a lot easier.
;;
;; folding.el by Jamie Lokier <u90jl@ecs.ox.ac.uk> supports folding by
-;; recognising special marker text in you file.
+;; recognizing special marker text in you file.
;;
-;; c-outline.el (by me) provides outline-mode support to recognise `C'
+;; c-outline.el (by me) provides outline-mode support to recognize `C'
;; statements as outline headings, so with foldout you can have a folding `C'
;; code editor without having to put in start- and end-of-fold markers. This
;; is a real winner!
diff --git a/lisp/follow.el b/lisp/follow.el
index 92efc8d8cfa..ee8be14c6dc 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -87,7 +87,7 @@
;; to turn it off.
-;; The command `follow-delete-other-windows-and-split' maximises the
+;; The command `follow-delete-other-windows-and-split' maximizes the
;; visible area of the current buffer.
;;
;; I recommend adding it, and `follow-mode', to hotkeys in the global
@@ -98,7 +98,7 @@
;; (global-set-key [f7] 'follow-delete-other-windows-and-split)
-;; There exist two system variables that control the appearence of
+;; There exist two system variables that control the appearance of
;; lines wider than the window containing them. The default is to
;; truncate long lines whenever a window isn't as wide as the frame.
;;
@@ -154,7 +154,7 @@
;; follow-delete-other-windows-and-split C-c . 1
;; Maximize the visible area of the current buffer,
;; and enter Follow mode. This is a very convenient
-;; way to start Follow mode, hence we recomend that
+;; way to start Follow mode, hence we recommend that
;; this command be added to the global keymap.
;;
;; follow-recenter C-c . C-l
@@ -351,7 +351,7 @@ After that, changing the prefix key requires manipulating keymaps."
;; global map.
(easy-menu-add-item nil '("Tools")
'("Follow"
- ;; The Emacs code used to just grey out operations when follow-mode was
+ ;; The Emacs code used to just gray out operations when follow-mode was
;; not enabled, whereas the XEmacs code used to remove it altogether.
;; Not sure which is preferable, but clearly the preference should not
;; depend on the flavor.
@@ -562,7 +562,7 @@ Keys specific to Follow mode:
;;
;; Almost like the real thing, except when the cursor ends up outside
;; the top or bottom... In our case however, we end up outside the
-;; window and hence we are recenterd. Should we let `recenter' handle
+;; window and hence we are recentered. Should we let `recenter' handle
;; the point position we would never leave the selected window. To do
;; it ourselves we would need to do our own redisplay, which is easier
;; said than done. (Why didn't I do a real display abstraction from
@@ -1129,7 +1129,7 @@ Otherwise, return nil."
;;{{{ Redisplay
;; Redraw all the windows on the screen, starting with the top window.
-;; The window used as as marker is WIN, or the selcted window if WIN
+;; The window used as as marker is WIN, or the selected window if WIN
;; is nil. Start every window directly after the end of the previous
;; window, to make sure long lines are displayed correctly.
@@ -1993,7 +1993,7 @@ report this using the `report-emacs-bug' function."
;; going to be recentered at the next redisplay, unless we do a
;; read-and-write cycle to update the `force' flag inside the windows.
;;
-;; In 19.30, a new varible `window-scroll-functions' is called every
+;; In 19.30, a new variable `window-scroll-functions' is called every
;; time a window is recentered. It is not perfect for our situation,
;; since when it is called for a tail window, it is to late. However,
;; if it is called for another window, we can try to update our
diff --git a/lisp/font-core.el b/lisp/font-core.el
index 0db17efd7b7..a5de29520f7 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -210,7 +210,7 @@ this function onto `change-major-mode-hook'."
;; A few people have hassled in the past for a way to make it easier to turn on
;; Font Lock mode, without the user needing to know for which modes s/he has to
;; turn it on, perhaps the same way hilit19.el/hl319.el does. I've always
-;; balked at that way, as I see it as just re-moulding the same problem in
+;; balked at that way, as I see it as just re-molding the same problem in
;; another form. That is; some person would still have to keep track of which
;; modes (which may not even be distributed with Emacs) support Font Lock mode.
;; The list would always be out of date. And that person might have to be me.
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index d410b8eb51a..c319974fb41 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -981,7 +981,7 @@ The value of this variable is used when Font Lock mode is turned on."
;; rules one way and C code another. Neat!
;;
;; A further reason to use the fontification indirection feature is when the
-;; default syntactual fontification, or the default fontification in general,
+;; default syntactic fontification, or the default fontification in general,
;; is not flexible enough for a particular major mode. For example, perhaps
;; comments are just too hairy for `font-lock-fontify-syntactically-region' to
;; cope with. You need to write your own version of that function, e.g.,
diff --git a/lisp/forms.el b/lisp/forms.el
index ef6d9b023b4..215f3ce88f7 100644
--- a/lisp/forms.el
+++ b/lisp/forms.el
@@ -1295,7 +1295,7 @@ Commands: Equivalent keys in read-only mode:
)
(defun forms--mode-menu-ro (map)
-;;; Menu initialisation
+;;; Menu initialization
; (define-key map [menu-bar] (make-sparse-keymap))
(define-key map [menu-bar forms]
(cons "Forms" (make-sparse-keymap "Forms")))
@@ -1341,7 +1341,7 @@ Commands: Equivalent keys in read-only mode:
(put 'forms-delete-record 'menu-enable '(not forms-read-only))
)
(defun forms--mode-menu-edit (map)
-;;; Menu initialisation
+;;; Menu initialization
; (define-key map [menu-bar] (make-sparse-keymap))
(define-key map [menu-bar forms]
(cons "Forms" (make-sparse-keymap "Forms")))
diff --git a/lisp/frame.el b/lisp/frame.el
index f63179de1f1..af668f80961 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1133,15 +1133,21 @@ To get the frame's current border color, use `frame-parameters'."
(list (cons 'border-color color-name))))
(define-minor-mode auto-raise-mode
- "Toggle whether or not the selected frame should auto-raise.
+ "Toggle whether or not selected frames should auto-raise.
With a prefix argument ARG, enable Auto Raise mode if ARG is
positive, and disable it otherwise. If called from Lisp, enable
the mode if ARG is omitted or nil.
-Note that this controls Emacs's own auto-raise feature.
-Some window managers allow you to enable auto-raise for certain windows.
-You can use that for Emacs windows if you wish, but if you do,
-that is beyond the control of Emacs and this command has no effect on it."
+Auto Raise mode does nothing under most window managers, which
+switch focus on mouse clicks. It only has an effect if your
+window manager switches focus on mouse movement (in which case
+you should also change `focus-follows-mouse' to t). Then,
+enabling Auto Raise mode causes any graphical Emacs frame which
+acquires focus to be automatically raised.
+
+Note that this minor mode controls Emacs's own auto-raise
+feature. Window managers that switch focus on mouse movement
+often have their own auto-raise feature."
:variable (frame-parameter nil 'auto-raise)
(if (frame-parameter nil 'auto-raise)
(raise-frame)))
@@ -1152,10 +1158,16 @@ With a prefix argument ARG, enable Auto Lower mode if ARG is
positive, and disable it otherwise. If called from Lisp, enable
the mode if ARG is omitted or nil.
-Note that this controls Emacs's own auto-lower feature.
-Some window managers allow you to enable auto-lower for certain windows.
-You can use that for Emacs windows if you wish, but if you do,
-that is beyond the control of Emacs and this command has no effect on it."
+Auto Lower mode does nothing under most window managers, which
+switch focus on mouse clicks. It only has an effect if your
+window manager switches focus on mouse movement (in which case
+you should also change `focus-follows-mouse' to t). Then,
+enabling Auto Lower Mode causes any graphical Emacs frame which
+loses focus to be automatically lowered.
+
+Note that this minor mode controls Emacs's own auto-lower
+feature. Window managers that switch focus on mouse movement
+often have their own features for raising or lowering frames."
:variable (frame-parameter nil 'auto-lower))
(defun set-frame-name (name)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 5e25d01da71..1984e014725 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,86 @@
+2011-12-09 Tassilo Horn <tassilo@member.fsf.org>
+
+ * message.el (message-valid-fqdn-regexp): Udate with newly approved
+ top-level domain names ".tel" and ".asia".
+
+2011-12-08 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-sum.el (gnus-summary-show-article): Don't load shr
+ unconditionally.
+
+2011-12-07 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-pop-to-buffer): Use pop-to-buffer instead of
+ pop-to-buffer-same-window for old Emacsen.
+
+2011-12-04 Chong Yidong <cyd@gnu.org>
+
+ * message.el (message-pop-to-buffer): Partially revert 2011-11-30
+ change (Bug#10200).
+
+2011-12-02 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * compface.el (uncompface):
+ * gnus-art.el (gnus-article-x-face-command): Update the header format
+ of icon data for the most recent icontopbm program.
+
+2011-12-01 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-msg.el (gnus-inews-do-gcc):
+ * message.el (message-send-mail):
+ * mml.el (mml-generate-mime): Share the value of the buffer-local
+ `message-options' variable between a draft buffer and temprary working
+ buffers.
+
+2011-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * message.el (message-pop-to-buffer): Revert 2011-09-11 change.
+
+2011-11-30 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-art.el (gnus-article-browse-html-parts): Convert link file names
+ for Cygwin.
+
+2011-11-24 Glenn Morris <rgm@gnu.org>
+
+ * starttls.el: Fix case of "GnuTLS".
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * gnus-group.el (gnus-group-highlight): Fix typo.
+
+2011-11-24 Adam W <adam_w67@yahoo.com> (tiny change)
+
+ * mail-source.el (mail-source-fetch-maildir): Don't expect the return
+ value of `delete-file', that returns nil for a local file but returns t
+ for a remote file using ssh.
+
+2011-11-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * shr.el (shr-table-horizontal-line): Use "?\s" instead of "? " to
+ avoid later breakage.
+
+2011-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-art.el (gnus-article-setup-buffer): Decode group name used for
+ article buffers' name.
+
+2011-11-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * shr.el (shr-table-horizontal-line): Revert infinite loops introduced
+ by Paul Eggert's spellfixes two days ago.
+
+2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-view.el (mm-display-inline-fontify): Make the font-lock variables
+ buffer-local instead of binding them to avoid warnings. Also demote
+ errors (bug#10063).
+ (font-lock-mode-hook): Shut up byte compiler.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * mm-util.el (mm-charset-after): Fix typo.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* gnus-sum.el (gnus-summary-make-menu-bar):
@@ -297,7 +380,7 @@
(message-mail-other-window, message-mail-other-frame)
(message-news-other-window, message-news-other-frame):
Use switch-to-buffer-other-frame and switch-to-buffer-other-window
- instead of setting buffer display varibles.
+ instead of setting buffer display variables.
2011-09-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -332,7 +415,7 @@
decoding nnimap groups.
* gnus.el (gnus-variable-list): Don't save `gnus-format-specs' in the
- newsrc file. It doesn't seem like an important optimisation any more.
+ newsrc file. It doesn't seem like an important optimization any more.
2011-09-10 Dave Abrahams <dave@boostpro.com> (tiny change)
@@ -985,7 +1068,7 @@
* nnimap.el (nnimap-process-expiry-targets): Say what target we're
expiring articles to.
- * mm-util.el (mm-charset-to-coding-system): Recognise all ANSI.x3.4
+ * mm-util.el (mm-charset-to-coding-system): Recognize all ANSI.x3.4
variations as ASCII (bug#5458).
2011-06-30 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -2245,7 +2328,7 @@
* gnus-art.el (gnus-article-next-page-1): Because customized mode-line
face with line-width greater than zero will cause RET in gnus summary
buffer to scroll down article page-wise because auto vscroll happens,
- it should be temporalily disabled when doing a scroll-up.
+ it should be temporally disabled when doing a scroll-up.
2011-02-19 Lars Ingebrigtsen <larsi@gnus.org>
@@ -2738,7 +2821,7 @@
2011-01-28 Lars Ingebrigtsen <larsi@gnus.org>
* gnus-sum.el (gnus-select-newsgroup): Don't try to alter the active
- data if the group is unactivated.
+ data if the group is inactive.
2011-01-28 Julien Danjou <julien@danjou.info>
@@ -2829,7 +2912,7 @@
we're using an encrypted connection.
* proto-stream.el: Alter the interface functions to also return the
- actual stream type used: network or tls.
+ actual stream type used: network or TLS.
2011-01-25 Julien Danjou <julien@danjou.info>
@@ -2849,7 +2932,7 @@
2011-01-24 Lars Ingebrigtsen <larsi@gnus.org>
- * shr.el (shr-expand-newlines): Proof of concept implemantation of boxy
+ * shr.el (shr-expand-newlines): Proof of concept implementation of boxy
backgrounds.
(shr-expand-newlines): Switch to using overlays to enable kill'n'yank
in a more sensible manner.
@@ -3558,7 +3641,7 @@
2010-11-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * proto-stream.el (open-protocol-stream): All starttls connections are
+ * proto-stream.el (open-protocol-stream): All STARTTLS connections are
handled by the network handler.
2010-11-30 Julien Danjou <julien@danjou.info>
@@ -3647,9 +3730,9 @@
(nnimap-open-connection): Be more backwards-compatible.
* proto-stream.el (proto-stream-always-use-starttls): New variable.
- (proto-stream-open-starttls): De-duplicate the starttls code.
+ (proto-stream-open-starttls): De-duplicate the STARTTLS code.
(proto-stream-open-starttls): Folded back into the main function.
- (proto-stream-open-network): Fix typo in the gnutls path.
+ (proto-stream-open-network): Fix typo in the GnuTLS path.
(proto-stream-command): Refactor out.
* nntp.el (nntp-open-connection): Fix the STARTTLS command syntax.
@@ -3661,7 +3744,7 @@
* proto-stream.el (proto-stream-open-tls): Delete output from openssl
if we're using tls.el.
- (proto-stream-open-network): If we don't have gnutls-cli or gnutls
+ (proto-stream-open-network): If we don't have gnutls-cli or GnuTLS
built in, then don't try to establish a STARTTLS connection.
* nntp.el (nntp-open-connection): Switch on STARTTLS on supported
@@ -4504,7 +4587,7 @@
2010-10-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * shr.el (shr-tag-span): Drop colorisation of regions since we don't
+ * shr.el (shr-tag-span): Drop colorization of regions since we don't
control the background color.
(shr-tag-img): Ignore very small web bug type images.
(shr-put-image): Add help-echo alt texts to the images.
@@ -5061,7 +5144,7 @@
* gnus-sum.el (gnus-summary-set-local-parameters): Ignore the `active'
non-variable, too.
- * nnimap.el (nnimap-open-connection): Use gnutls STARTTLS, if
+ * nnimap.el (nnimap-open-connection): Use GnuTLS STARTTLS, if
available.
(nnimap-update-info): Rely more on the current active than the param
active to avoid marking articles as read too much.
@@ -5110,8 +5193,8 @@
group is the "last", so that the backends like nnfolder actually save
their folders.
- * nnimap.el (nnimap-open-connection): If we have gnutls loaded, then
- try to use that for the tls stream.
+ * nnimap.el (nnimap-open-connection): If we have GnuTLS loaded, then
+ try to use that for the TLS stream.
(nnimap-retrieve-group-data-early): Rework the marks code to heed
UIDVALIDITY and find out which groups are read-only and not.
(nnimap-get-flags): Use the same marks parsing code as the rest of
@@ -6330,8 +6413,8 @@
* gnus-int.el (gnus-request-update-info): Protect against backends not
having the function.
- * nnimap.el (nnimap-stream): Mention starttls.
- (nnimap-open-connection): Add starttls support.
+ * nnimap.el (nnimap-stream): Mention STARTTLS.
+ (nnimap-open-connection): Add STARTTLS support.
2010-09-23 Andrew Cohen <cohen@andy.bu.edu>
@@ -7060,7 +7143,7 @@
* gnus-start.el (gnus-activate-group): Take an optional parameter to
say that you don't want to call gnus-request-group with don-check, but
- do check the reponse. This is for virtual groups only.
+ do check the response. This is for virtual groups only.
(gnus-get-unread-articles): Count the archive groups as secondary, so
that they're activated the same way as before.
@@ -10921,7 +11004,7 @@
2007-11-14 Denys Duchier <denys.duchier@univ-orleans.fr> (tiny change)
* pop3.el (pop3-open-server): Accept and process data more robustly at
- connexion start to avoid spurious "POP SSL connexion failed" errors.
+ connection start to avoid spurious "POP SSL connection failed" errors.
2007-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -11668,7 +11751,7 @@
(nntp-open-marks): Decode group names when bootstrapping marks.
* rfc2047.el (rfc2047-encode-message-header): Make XEmacs decode
- Newsgroups and Folowup-To headers.
+ Newsgroups and Followup-To headers.
2007-07-13 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -11860,7 +11943,7 @@
* message.el (message-font-lock-keywords): Use message-header-xheader
face for "X-Foo", its apparent intended purpose. Move "X-" pattern
- ahead of the anything pattern, to get it recognised.
+ ahead of the anything pattern, to get it recognized.
2007-05-12 Michaël Cadilhac <michael@cadilhac.name>
@@ -14905,7 +14988,7 @@
(nnweb-request-list): Don't list bogus groups. There can only be one.
(nnweb-request-create-group): Don't use ARGS.
(nnweb-possibly-change-server, nnweb-request-group): Remove some
- initialisations. Let nnoo do the work.
+ initializations. Let nnoo do the work.
2006-01-31 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -16476,7 +16559,7 @@
2005-07-01 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (article-display-face): Improve the efficiency.
- (article-display-x-face): Ditto; remove grey x-face stuff.
+ (article-display-x-face): Ditto; remove gray x-face stuff.
2005-06-30 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -18611,7 +18694,7 @@
2004-09-28 Kevin Greiner <kgreiner@compsol.cc>
* gnus-agent.el (gnus-agent-synchronize-group-flags): Replace
- gnus-requst-update-info with explicit code to sync the in-memory
+ gnus-request-update-info with explicit code to sync the in-memory
info read flags with the marks being sync'd to the backend.
* gnus-util.el (gnus-pp): Add optional stream to match pp API.
@@ -19398,7 +19481,7 @@
* gnus-group.el (gnus-group-get-new-news-this-group):
Don't update info that isn't there.
-2004-06-29 Ilya N. Golubev <gin@mo.msk.ru>.
+2004-06-29 Ilya N. Golubev <gin@mo.msk.ru>
* mm-util.el (mm-mime-mule-charset-alist): Add the windows-1251
entry.
@@ -19725,7 +19808,7 @@
2004-05-26 Simon Josefsson <jas@extundo.com>
- * starttls.el: Merge with my GNUTLS based starttls.el.
+ * starttls.el: Merge with my GnuTLS based starttls.el.
(starttls-gnutls-program, starttls-use-gnutls)
(starttls-extra-arguments, starttls-process-connection-type)
(starttls-connect, starttls-failure, starttls-success):
diff --git a/lisp/gnus/ChangeLog.1 b/lisp/gnus/ChangeLog.1
index 86c4eea59ab..a2d6d61efd4 100644
--- a/lisp/gnus/ChangeLog.1
+++ b/lisp/gnus/ChangeLog.1
@@ -2346,7 +2346,7 @@
* nnmh.el: Don't call nnmail-activate.
- * gnus.el: User-variabelize all custom vars.
+ * gnus.el: User-variablize all custom vars.
1998-02-13 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
@@ -3471,7 +3471,7 @@
* pop3.el (pop3-md5): `with-temp-buffer' doesn't exist in Emacs
19.34.
- * nneething.el (nneething-directory): Defvarred.
+ * nneething.el (nneething-directory): Defvared.
* message.el: Autoloaded nndraft things.
(message-set-auto-save-file-name): Use it.
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2
index e52f898b184..893ee88e98d 100644
--- a/lisp/gnus/ChangeLog.2
+++ b/lisp/gnus/ChangeLog.2
@@ -1396,7 +1396,7 @@
* tls.el (tls-process-connection-type): Doc fix.
* imap.el (imap-starttls-open): Rewrite, should support both old
- starttls.el and new starttls.el that uses GNUTLS.
+ starttls.el and new starttls.el that uses GnuTLS.
2003-09-18 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -2111,7 +2111,7 @@
* gnus-srvr.el (gnus-browse-foreign-server): Parse garbage NNTP
groups correctly.
-2003-06-06 Benjamin Rutt <rutt+news@cis.ohio-state.edu>.
+2003-06-06 Benjamin Rutt <rutt+news@cis.ohio-state.edu>
* message.el (message-fetch-field): Augment documentation to state
the narrowed-to-headers restriction.
@@ -5094,7 +5094,7 @@
2003-02-02 Katsumi Yamaoka <yamaoka@jpl.org>
* nnheader.el (nnheader-directory-separator-character): Change the
- way to compute the dafault value.
+ way to compute the default value.
2003-02-02 Jesper Harder <harder@ifa.au.dk>
@@ -5120,7 +5120,7 @@
* gnus-util.el (gnus-prin1-to-string): Bind print-length and
print-level.
- * gnus-art.el (article-display-x-face): Removed grey x-face stuff.
+ * gnus-art.el (article-display-x-face): Removed gray x-face stuff.
(gnus-treat-display-grey-xface): Removed.
* gnus-fun.el (gnus-grab-cam-face): New.
@@ -6816,7 +6816,7 @@
downloaded variable if we're in an uncovered group.
* gnus-agent.el (gnus-agent-downloaded-article-face): Change the
- font to soemthing less noticeable.
+ font to something less noticeable.
(gnus-agent-group-covered-p): New function.
2002-12-09 ShengHuo ZHU <zsh@cs.rochester.edu>
@@ -6972,7 +6972,7 @@
* gnus-agent.el (gnus-agent-check-overview-buffer): Make debugger
print message on entry.
-2002-11-25 Kevin Greiner <kgreiner@xpediantsolutions.com>.
+2002-11-25 Kevin Greiner <kgreiner@xpediantsolutions.com>
* gnus-range.el (gnus-range-difference): New function.
* gnus-sum.el (gnus-summary-insert-old-articles): Use it.
@@ -7964,7 +7964,7 @@
(mml2015-pgg-encrypt): New functions.
(defvar, autoload): Prevent byte-compile warnings.
-2002-09-24 TSUCHIYA Masatoshi <tsuchiya@namazu.org>.
+2002-09-24 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
* gnus-art.el (article-strip-banner): Check for the existence of
from header.
@@ -8097,7 +8097,7 @@
* gnus-sum.el (gnus-summary-next-group): Semi-exit only when needed.
-2002-09-12 John Paul Wallington <jpw@shootybangbang.com>.
+2002-09-12 John Paul Wallington <jpw@shootybangbang.com>
* gnus.el (gnus-visual, gnus-meta): Fix typo.
@@ -8111,7 +8111,7 @@
(nnimap-split-rule): Doc fix.
(nnimap-request-expire-articles): Cleanup code.
-2002-09-11 TSUCHIYA Masatoshi <tsuchiya@namazu.org>.
+2002-09-11 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
* gnus-art.el (gnus-article-address-banner-alist): New option.
(article-strip-banner): Refer the above option to split banners of
@@ -8170,7 +8170,7 @@
2002-09-03 Simon Josefsson <jas@extundo.com>
- * nntp.el (nntp-wait-for-string): Dont infloop if process died.
+ * nntp.el (nntp-wait-for-string): Don't infloop if process died.
* gnus-agent.el (gnus-agent-batch): Add doc.
@@ -8205,7 +8205,7 @@
(gnus-group-fetch-control): New function.
Add them to the keymap and menu. Require mm-url.
-2002-08-30 Alex Schroeder <alex@emacswiki.org>.
+2002-08-30 Alex Schroeder <alex@emacswiki.org>
* gnus-mlspl.el (gnus-group-split-fancy): Doc fix.
@@ -8270,7 +8270,7 @@
* gnus-util.el (gnus-select-frame-set-input-focus): New function.
-2002-08-20 $B>.4X(B $B5HB'(B (KOSEKI Yoshinori) <kose@meadowy.org>.
+2002-08-20 $B>.4X(B $B5HB'(B (KOSEKI Yoshinori) <kose@meadowy.org>
* message.el (message-set-auto-save-file-name): Add support for
the Cygwin Emacs; the system-type is `cygwin'.
@@ -8396,7 +8396,7 @@
* nnimap.el (nnimap-split-articles): Do not call nnmail-fetch-field
when splitting malformed messages without message-id.
-2002-07-28 Niklas Morberg <niklas.morberg@axis.com>.
+2002-07-28 Niklas Morberg <niklas.morberg@axis.com>
* nnweb.el (nnweb-type, nnweb-type-definition)
(nnweb-gmane-create-mapping, nnweb-gmane-wash-article)
@@ -8440,18 +8440,18 @@
nnmail-expiry-target to 'delete, so that absolute deletion
happens when absolute deletion is requested.
-2002-07-21 Nevin Kapur <nevin@jhu.edu>.
+2002-07-21 Nevin Kapur <nevin@jhu.edu>
* nnmail.el (nnmail-fancy-expiry-target): Treat nonexisting
headers as empty headers.
-2002-07-21 Jochen Hein <jochen@jochen.org>.
+2002-07-21 Jochen Hein <jochen@jochen.org>
* gnus-art.el (gnus-emphasis-alist): Add strikethrough and
correct typo.
(gnus-emphasis-strikethru): New face.
-2002-07-20 Jason Merrill <jason@redhat.com>.
+2002-07-20 Jason Merrill <jason@redhat.com>
* nnfolder.el (nnfolder-retrieve-headers): Avoid searching the
entire file for each of a sequence of missing articles.
@@ -9836,7 +9836,7 @@
2002-02-08 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-art.el (gnus-treat-display-grey-xface): New variable.
- (article-display-x-face): Use it. Disable grey xface, if
+ (article-display-x-face): Use it. Disable gray xface, if
uncompface is not found.
* message.el (message-mode): Don't enable multibyte on an indirect
@@ -9879,7 +9879,7 @@
(rfc2047-decode-region): Don't unfold. Let
gnus-article-treat-unfold-headers do it.
-2002-02-07 Matt Armstrong <matt@lickey.com>.
+2002-02-07 Matt Armstrong <matt@lickey.com>
* message.el (message-mode): Set local-abbrev-table.
@@ -10428,7 +10428,7 @@
* mml-sec.el (mml-secure-message-encrypt-smime): New.
* mml-sec.el (mml-secure-message-encrypt-pgp): New.
* mml-sec.el (mml-secure-message-encrypt-pgpmime): New.
- * mml.el (mml-parse-1): Added code to recognise the secure tag and
+ * mml.el (mml-parse-1): Added code to recognize the secure tag and
convert it to either a part or multipart depending on if there are
other parts in the message.
* mml.el (mml-mode-map): Changed default sign/encrypt keybindings
@@ -11350,7 +11350,7 @@
* gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Renamed.
* gnus-art.el (gnus-ignored-headers): Hide all X-Faces.
- (article-display-x-face): Display grey X-Faces.
+ (article-display-x-face): Display gray X-Faces.
* gnus-fun.el (gnus-convert-gray-x-face-region): New function.
(gnus-convert-gray-x-face-to-ppm): Ditto.
@@ -13226,7 +13226,7 @@
(gnus-topic-catchup-articles): New function. Suggested by Robin
S. Socha <robin-dated-1001857693.185e29@socha.net>.
-2001-09-27 11:00:00 Gerd M,Av(Bllmann <gerd@gnu.org>.
+2001-09-27 11:00:00 Gerd M,Av(Bllmann <gerd@gnu.org>
* gnus-ems.el (gnus-article-display-xface): Insert xface after
previous ones.
@@ -13977,7 +13977,7 @@
* mml.el (mml-menu): Changed name to "Attachments".
* mm-decode.el (mm-destroy-postponed-undisplay-list): Only message
- when there is something to detroy.
+ when there is something to destroy.
2001-05-21 17:11:46 Lars Magne Ingebrigtsen <larsi@gnus.org>
diff --git a/lisp/gnus/compface.el b/lisp/gnus/compface.el
index 2a2383777cb..e132f736269 100644
--- a/lisp/gnus/compface.el
+++ b/lisp/gnus/compface.el
@@ -42,7 +42,8 @@ or `faces-xface' and `netpbm' or `libgr-progs', for instance."
'delete '(t nil) nil))
(progn
(goto-char (point-min))
- (insert "/* Width=48, Height=48 */\n")
+ (insert "/* Format_version=1, Width=48, Height=48, Depth=1,\
+ Valid_bits_per_item=16 */\n")
;; I just can't get "icontopbm" to work correctly on its
;; own in XEmacs. And Emacs doesn't understand un-raw pbm
;; files.
diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el
index f913ddb5378..3ee72bc5fc6 100644
--- a/lisp/gnus/gmm-utils.el
+++ b/lisp/gnus/gmm-utils.el
@@ -217,7 +217,7 @@ This is a copy of the `lazy' widget in Emacs 22.1 provided for compatibility."
'static-color 'pseudo-color)))))
'gnome
'retro)
- "Prefered tool bar style."
+ "Preferred tool bar style."
:type '(choice (const :tag "GNOME style" gnome)
(const :tag "Retro look" retro))
:group 'gmm)
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 71f8cf82d39..bf7f31e6392 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -1368,7 +1368,7 @@ downloaded into the agent."
;; disable the set read each time this server is opened.
;; NOTE: Opening this group will restore the valid local
;; range but it will also expand the local range to
- ;; incompass the new active range.
+ ;; encompass the new active range.
(gnus-agent-set-local group agent-min (1- active-min)))))))
(defun gnus-agent-save-group-info (method group active)
@@ -3232,7 +3232,7 @@ FORCE is equivalent to setting the expiration predicates to true."
;; Convert the keep lists to elements that look like (article#
;; nil keep_flag nil) then append it to the expanded dlist
- ;; These statements are sorted by ascending precidence of the
+ ;; These statements are sorted by ascending precedence of the
;; keep_flag.
(setq dlist (nconc dlist
(mapcar (lambda (e)
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index dd41947a2af..555c715bc2f 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -268,11 +268,14 @@ This can also be a list of the above values."
(if (or (gnus-image-type-available-p 'xface)
(gnus-image-type-available-p 'pbm))
'gnus-display-x-face-in-from
- "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | ee -")
+ "{ echo \
+'/* Format_version=1, Width=48, Height=48, Depth=1, Valid_bits_per_item=16 */'\
+; uncompface; } | icontopbm | ee -")
(if (gnus-image-type-available-p 'pbm)
'gnus-display-x-face-in-from
- "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | \
-display -"))
+ "{ echo \
+'/* Format_version=1, Width=48, Height=48, Depth=1, Valid_bits_per_item=16 */'\
+; uncompface; } | icontopbm | display -"))
"*String or function to be executed to display an X-Face header.
If it is a string, the command will be executed in a sub-shell
asynchronously. The compressed face will be piped to this command."
@@ -2879,6 +2882,14 @@ message header will be added to the bodies of the \"text/html\" parts."
(with-current-buffer gnus-article-buffer
gnus-article-mime-handles)
cid-dir))
+ (when (eq system-type 'cygwin)
+ (setq cid-file
+ (concat "/" (substring
+ (with-output-to-string
+ (call-process "cygpath" nil
+ standard-output
+ nil "-m" cid-file))
+ 0 -1))))
(replace-match (concat "file://" cid-file)
nil nil nil 1))))
(unless content (setq content (buffer-string))))
@@ -4497,7 +4508,9 @@ commands:
(defun gnus-article-setup-buffer ()
"Initialize the article buffer."
(let* ((name (if gnus-single-article-buffer "*Article*"
- (concat "*Article " gnus-newsgroup-name "*")))
+ (concat "*Article "
+ (gnus-group-decoded-name gnus-newsgroup-name)
+ "*")))
(original
(progn (string-match "\\*Article" name)
(concat " *Original Article"
diff --git a/lisp/gnus/gnus-dired.el b/lisp/gnus/gnus-dired.el
index c38b0cd3606..b4d23ff579c 100644
--- a/lisp/gnus/gnus-dired.el
+++ b/lisp/gnus/gnus-dired.el
@@ -251,7 +251,7 @@ file to save in."
(if (eq gnus-dired-mail-mode 'gnus-user-agent)
(gnus-print-buffer)
;; FIXME:
- (error "MIME print only implemeted via Gnus")))
+ (error "MIME print only implemented via Gnus")))
(ps-despool print-to))))
((file-symlink-p file-name)
(error "File is a symlink to a nonexistent target"))
diff --git a/lisp/gnus/gnus-fun.el b/lisp/gnus/gnus-fun.el
index 08ec3c4ffb0..44cb1583ec9 100644
--- a/lisp/gnus/gnus-fun.el
+++ b/lisp/gnus/gnus-fun.el
@@ -274,10 +274,10 @@ colors of the displayed X-Faces."
result))
(defun gnus-fun-ppm-change-string ()
- (let* ((possibilites '("%02x0000" "00%02x00" "0000%02x"
- "%02x%02x00" "00%02x%02x" "%02x00%02x"))
+ (let* ((possibilities '("%02x0000" "00%02x00" "0000%02x"
+ "%02x%02x00" "00%02x%02x" "%02x00%02x"))
(format (concat "'#%02x%02x%02x' '#"
- (nth (random 6) possibilites)
+ (nth (random 6) possibilities)
"'"))
(values nil))
(dotimes (i 255)
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 4c527caff5c..694b4d7e8b4 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -362,7 +362,7 @@ If you want to modify the group buffer, you can use this hook."
gnus-group-news-low))
"*Controls the highlighting of group buffer lines.
-Below is a list of `Form'/`Face' pairs. When deciding how a a
+Below is a list of `Form'/`Face' pairs. When deciding how a
particular group line should be displayed, each form is
evaluated. The content of the face field after the first true form is
used. You can change how those group lines are displayed by
@@ -1354,14 +1354,14 @@ if it is a string, only list groups matching REGEXP."
(predicate t) ; We list all groups?
(t
(or
- (if (eq unread t) ; Unactivated?
+ (if (eq unread t) ; Inactive?
gnus-group-list-inactive-groups
- ; We list unactivated
+ ; We list inactive
(and (numberp unread) (> unread 0)))
; We list groups with unread articles
(and gnus-list-groups-with-ticked-articles
(cdr (assq 'tick (gnus-info-marks info))))
- ; And groups with tickeds
+ ; And groups with ticked articles
;; Check for permanent visibility.
(and gnus-permanently-visible-groups
(string-match gnus-permanently-visible-groups
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index e6a06a0500d..58373525f96 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -1549,7 +1549,7 @@ this is a reply."
(message-narrow-to-headers)
(let ((gcc (or gcc (mail-fetch-field "gcc" nil t)))
(cur (current-buffer))
- groups group method group-art
+ groups group method group-art options
mml-externalize-attachments)
(when gcc
(message-remove-header "gcc")
@@ -1573,6 +1573,7 @@ this is a reply."
gnus-gcc-externalize-attachments))
(save-excursion
(nnheader-set-temp-buffer " *acc*")
+ (setq message-options (with-current-buffer cur message-options))
(insert-buffer-substring cur)
(message-encode-message-body)
(save-restriction
@@ -1587,7 +1588,7 @@ this is a reply."
;; BUG: We really need to get the charset for
;; each name in the Newsgroups and Followup-To
;; lines to allow crossposting between group
- ;; namess with incompatible character sets.
+ ;; names with incompatible character sets.
;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2001-10-08.
(group-field-charset
(gnus-group-name-charset
@@ -1629,6 +1630,8 @@ this is a reply."
(boundp 'gnus-inews-mark-gcc-as-read)
(symbol-value 'gnus-inews-mark-gcc-as-read))))
(gnus-group-mark-article-read group (cdr group-art)))
+ (setq options message-options)
+ (with-current-buffer cur (setq message-options options))
(kill-buffer (current-buffer)))))))))
(defun gnus-inews-insert-gcc (&optional group)
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index b18b78df063..3a9294d58d6 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -2533,7 +2533,7 @@ If FORCE is non-nil, the .newsrc file is read."
((or (eq symbol options-symbol)
(eq symbol Options-symbol))
(setq gnus-newsrc-options
- ;; This concating is quite inefficient, but since our
+ ;; This concatting is quite inefficient, but since our
;; thorough studies show that approx 99.37% of all
;; .newsrc files only contain a single options line, we
;; don't give a damn, frankly, my dear.
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 5380595eadb..17ccae986e9 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -1657,7 +1657,7 @@ For example:
This variable is a list of FUNCTION or (REGEXP . FUNCTION). If item
is FUNCTION, FUNCTION will be apply to all newsgroups. If item is a
-\(REGEXP . FUNCTION), FUNCTION will be only apply to thes newsgroups
+\(REGEXP . FUNCTION), FUNCTION will be applied only to the newsgroups
whose names match REGEXP.
For example:
@@ -2969,7 +2969,7 @@ When FORCE, rebuild the tool bar."
'gnus-summary-mode-map)))
(when map
;; Need to set `gnus-summary-tool-bar-map' because `gnus-article-mode'
- ;; uses it's value.
+ ;; uses its value.
(setq gnus-summary-tool-bar-map map))))
(set (make-local-variable 'tool-bar-map) gnus-summary-tool-bar-map))
@@ -7087,7 +7087,7 @@ With ARG, turn line truncation on if ARG is positive."
(defun gnus-summary-find-for-reselect ()
"Return the number of an article to stay on across a reselect.
The current article is considered, then following articles, then previous
-articles. An article is sought which is not cancelled and isn't a temporary
+articles. An article is sought which is not canceled and isn't a temporary
insertion from another group. If there's no such then return a dummy 0."
(let (found)
(dolist (rev '(nil t))
@@ -9611,9 +9611,12 @@ C-u g', show the raw article."
(when (gnus-summary-goto-subject (cdr gnus-article-current) nil t)
(gnus-summary-update-secondary-mark (cdr gnus-article-current))))))
((not arg)
- (require 'shr)
- (let ((shr-ignore-cache t))
- ;; Select the article the normal way.
+ ;; Select the article the normal way.
+ (if (eq mm-text-html-renderer 'shr)
+ (progn
+ (require 'shr)
+ (let ((shr-ignore-cache t))
+ (gnus-summary-select-article nil 'force)))
(gnus-summary-select-article nil 'force)))
((equal arg '(16))
;; C-u C-u g
@@ -11913,7 +11916,7 @@ will not be marked as saved."
;; This is a pseudo-article.
(if (assq 'name header)
(gnus-copy-file (cdr (assq 'name header)))
- (gnus-message 1 "Article %d is unsaveable" article))
+ (gnus-message 1 "Article %d is unsavable" article))
;; This is a real article.
(save-window-excursion
(gnus-summary-select-article decode decode nil article)
diff --git a/lisp/gnus/gnus-topic.el b/lisp/gnus/gnus-topic.el
index 17af1a38333..87ca27adcf4 100644
--- a/lisp/gnus/gnus-topic.el
+++ b/lisp/gnus/gnus-topic.el
@@ -582,7 +582,7 @@ articles in the topic and its subtopics."
(or gnus-topic-display-empty-topics ;We want empty topics
(not (zerop unread)) ;Non-empty
tick ;Ticked articles
- (/= point-max (point-max)))) ;Unactivated groups
+ (/= point-max (point-max)))) ;Inactive groups
(gnus-extent-start-open (point))
(gnus-topic-insert-topic-line
(car type) visiblep
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 5f385ec1054..b1f0f60668e 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -700,7 +700,7 @@ be set in `.emacs' instead."
(defface gnus-summary-cancelled
'((((class color))
(:foreground "yellow" :background "black")))
- "Face used for cancelled articles."
+ "Face used for canceled articles."
:group 'gnus-summary)
;; backward-compatibility alias
(put 'gnus-summary-cancelled-face 'face-alias 'gnus-summary-cancelled)
diff --git a/lisp/gnus/mail-parse.el b/lisp/gnus/mail-parse.el
index 06aac776486..0fcc206cf71 100644
--- a/lisp/gnus/mail-parse.el
+++ b/lisp/gnus/mail-parse.el
@@ -22,7 +22,7 @@
;; This file contains wrapper functions for a wide range of mail
;; parsing functions. The idea is that there are low-level libraries
-;; that impement according to various specs (RFC2231, DRUMS, USEFOR),
+;; that implement according to various specs (RFC2231, DRUMS, USEFOR),
;; but that programmers that want to parse some header (say,
;; Content-Type) will want to use the latest spec.
;;
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el
index 6e6ef76c0c1..2315cff6261 100644
--- a/lisp/gnus/mail-source.el
+++ b/lisp/gnus/mail-source.el
@@ -1017,6 +1017,7 @@ This only works when `display-time' is enabled."
(dolist (file (directory-files (concat path subdir) t))
(when (and (not (file-directory-p file))
(not (if function
+ ;; `function' should return nil if successful.
(funcall function file mail-source-crash-box)
(let ((coding-system-for-write
mm-text-coding-system)
@@ -1035,7 +1036,8 @@ This only works when `display-time' is enabled."
;;; (insert "\n\n")
;; MMDF mail format
(insert "\001\001\001\001\n"))
- (delete-file file)))))
+ (delete-file file)
+ nil))))
(incf found (mail-source-callback callback file))
(mail-source-delete-crash-box)))))
found)))
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 176857633e1..85c084751f8 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -906,7 +906,7 @@ The function `message-setup' runs this hook."
:type 'hook)
(defcustom message-cancel-hook nil
- "Hook run when cancelling articles."
+ "Hook run when canceling articles."
:group 'message-various
:link '(custom-manual "(message)Various Message Variables")
:type 'hook)
@@ -1893,14 +1893,14 @@ You must have the \"hashcash\" binary installed, see `hashcash-path'."
(concat "[a-z0-9][-.a-z0-9]+\\." ;; [hostname.subdomain.]domain.
;; valid TLDs:
"\\([a-z][a-z]\\|" ;; two letter country TDLs
- "aero\\|arpa\\|bitnet\\|biz\\|bofh\\|"
+ "aero\\|arpa\\|asia\\|bitnet\\|biz\\|bofh\\|"
"cat\\|com\\|coop\\|edu\\|gov\\|"
"info\\|int\\|jobs\\|"
"mil\\|mobi\\|museum\\|name\\|net\\|"
- "org\\|pro\\|travel\\|uucp\\)")
+ "org\\|pro\\|tel\\|travel\\|uucp\\)")
;; http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains
;; http://en.wikipedia.org/wiki/GTLD
- ;; `in the process of being approved': .asia .post .tel .sex
+ ;; `approved, but not yet in operation': .xxx
;; "dead" nato bitnet uucp
"Regular expression that matches a valid FQDN."
;; see also: gnus-button-valid-fqdn-regexp
@@ -4507,7 +4507,8 @@ This function could be useful in `message-setup-hook'."
(boundp 'gnus-group-posting-charset-alist))
(gnus-setup-posting-charset nil)
message-posting-charset))
- (headers message-required-mail-headers))
+ (headers message-required-mail-headers)
+ options)
(when (and message-generate-hashcash
(not (eq message-generate-hashcash 'opportunistic)))
(message "Generating hashcash...")
@@ -4546,9 +4547,11 @@ This function could be useful in `message-setup-hook'."
(error "Failed to send the message")))))
;; Let the user do all of the above.
(run-hooks 'message-header-hook))
+ (setq options message-options)
(unwind-protect
(with-current-buffer tembuf
(erase-buffer)
+ (setq message-options options)
;; Avoid copying text props (except hard newlines).
(insert (with-current-buffer mailbuf
(mml-buffer-substring-no-properties-except-hard-newlines
@@ -4630,9 +4633,11 @@ If you always want Gnus to send messages in one piece, set
(message "Sending via mail...")
(funcall (or message-send-mail-real-function
message-send-mail-function)))
- (message-send-mail-partially)))
+ (message-send-mail-partially))
+ (setq options message-options))
(kill-buffer tembuf))
(set-buffer mailbuf)
+ (setq message-options options)
(push 'mail message-sent-message-via)))
(defvar sendmail-program)
@@ -4835,7 +4840,7 @@ Otherwise, generate and save a value for `canlock-password' first."
(message-fetch-field "Followup-To")))
;; BUG: We really need to get the charset for each name in the
;; Newsgroups and Followup-To lines to allow crossposting
- ;; between group namess with incompatible character sets.
+ ;; between group names with incompatible character sets.
;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2001-10-08.
(group-field-charset
(gnus-group-name-charset method newsgroups-field))
@@ -6331,7 +6336,7 @@ between beginning of field and beginning of line."
(progn
(gnus-select-frame-set-input-focus (window-frame window))
(select-window window))
- (funcall (or switch-function 'switch-to-buffer) buffer)
+ (funcall (or switch-function #'pop-to-buffer) buffer)
(set-buffer buffer))
(when (and (buffer-modified-p)
(not (prog1
@@ -6339,7 +6344,11 @@ between beginning of field and beginning of line."
"Message already being composed; erase? ")
(message nil))))
(error "Message being composed")))
- (funcall (or switch-function 'switch-to-buffer) name)
+ (funcall (or switch-function
+ (if (fboundp #'pop-to-buffer-same-window)
+ #'pop-to-buffer-same-window
+ #'pop-to-buffer))
+ name)
(set-buffer name))
(erase-buffer)
(message-mode)))
@@ -7167,7 +7176,7 @@ header line with the old Message-ID."
(defun message-wash-subject (subject)
"Remove junk like \"Re:\", \"(fwd)\", etc. added to subject string SUBJECT.
-Previous forwarders, replyers, etc. may add it."
+Previous forwarders, repliers, etc. may add it."
(with-temp-buffer
(insert subject)
(goto-char (point-min))
diff --git a/lisp/gnus/mm-bodies.el b/lisp/gnus/mm-bodies.el
index 695451ddc45..ee7ba1c193b 100644
--- a/lisp/gnus/mm-bodies.el
+++ b/lisp/gnus/mm-bodies.el
@@ -87,9 +87,9 @@ If no encoding was done, nil is returned."
(goto-char (point-min))
(if (re-search-forward "[^\x0-\x7f]" nil t)
(or mail-parse-charset
- (message-options-get 'mm-encody-body-charset)
+ (message-options-get 'mm-body-charset-encoding-alist)
(message-options-set
- 'mm-encody-body-charset
+ 'mm-body-charset-encoding-alist
(mm-read-coding-system "Charset used in the article: ")))
;; The logic in `mml-generate-mime-1' confirms that it's OK
;; to return nil here.
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 36c56e0921b..44e2af5b904 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -360,7 +360,7 @@ to:
(\"text/html\" \"text/richtext\")
Adding \"image/.*\" might also be useful. Spammers use it as the
-prefered part of multipart/alternative messages. See also
+preferred part of multipart/alternative messages. See also
`gnus-buttonized-mime-types', to which adding \"multipart/alternative\"
enables you to choose manually one of two types those mails include."
:type '(repeat regexp) ;; See `mm-preferred-alternative-precedence'.
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index d57b61dac83..129609df10d 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -956,7 +956,7 @@ This is a no-op in XEmacs."
(defun mm-charset-after (&optional pos)
"Return charset of a character in current buffer at position POS.
-If POS is nil, it defauls to the current point.
+If POS is nil, it defaults to the current point.
If POS is out of range, the value is nil.
If the charset is `composition', return the actual one."
(let ((char (char-after pos)) charset)
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index 6358e34176f..854ca3497da 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -566,6 +566,8 @@
(face-property 'default prop) (current-buffer))))
(delete-region ,(point-min-marker) ,(point-max-marker)))))))))
+;; Shut up byte-compiler.
+(defvar font-lock-mode-hook)
(defun mm-display-inline-fontify (handle &optional mode)
"Insert HANDLE inline fontifying with MODE.
If MODE is not set, try to find mode automatically."
@@ -597,25 +599,25 @@ If MODE is not set, try to find mode automatically."
(t
text)))
(require 'font-lock)
- (let ((font-lock-maximum-size nil)
- ;; Disable support modes, e.g., jit-lock, lazy-lock, etc.
- (font-lock-mode-hook nil)
- (font-lock-support-mode nil)
- ;; I find font-lock a bit too verbose.
- (font-lock-verbose nil))
+ ;; I find font-lock a bit too verbose.
+ (let ((font-lock-verbose nil))
+ ;; Disable support modes, e.g., jit-lock, lazy-lock, etc.
+ (set (make-local-variable 'font-lock-mode-hook) nil)
+ (set (make-local-variable 'font-lock-support-mode) nil)
(setq buffer-file-name (mm-handle-filename handle))
(set (make-local-variable 'enable-local-variables) nil)
- (if mode
- (funcall mode)
- (let ((auto-mode-alist
- (delq (rassq 'doc-view-mode-maybe auto-mode-alist)
- (copy-sequence auto-mode-alist))))
- (set-auto-mode)))
- ;; The mode function might have already turned on font-lock.
- ;; Do not fontify if the guess mode is fundamental.
- (unless (or (symbol-value 'font-lock-mode)
- (eq major-mode 'fundamental-mode))
- (font-lock-fontify-buffer)))
+ (with-demoted-errors
+ (if mode
+ (funcall mode)
+ (let ((auto-mode-alist
+ (delq (rassq 'doc-view-mode-maybe auto-mode-alist)
+ (copy-sequence auto-mode-alist))))
+ (set-auto-mode)))
+ ;; The mode function might have already turned on font-lock.
+ ;; Do not fontify if the guess mode is fundamental.
+ (unless (or (symbol-value 'font-lock-mode)
+ (eq major-mode 'fundamental-mode))
+ (font-lock-fontify-buffer))))
;; By default, XEmacs font-lock uses non-duplicable text
;; properties. This code forces all the text properties
;; to be copied along with the text.
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index 352fa329e3e..867c3be4b60 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -466,16 +466,21 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
(defun mml-generate-mime ()
"Generate a MIME message based on the current MML document."
(let ((cont (mml-parse))
- (mml-multipart-number mml-multipart-number))
+ (mml-multipart-number mml-multipart-number)
+ (options message-options))
(if (not cont)
nil
- (mm-with-multibyte-buffer
- (if (and (consp (car cont))
- (= (length cont) 1))
- (mml-generate-mime-1 (car cont))
- (mml-generate-mime-1 (nconc (list 'multipart '(type . "mixed"))
- cont)))
- (buffer-string)))))
+ (prog1
+ (mm-with-multibyte-buffer
+ (setq message-options options)
+ (if (and (consp (car cont))
+ (= (length cont) 1))
+ (mml-generate-mime-1 (car cont))
+ (mml-generate-mime-1 (nconc (list 'multipart '(type . "mixed"))
+ cont)))
+ (setq options message-options)
+ (buffer-string))
+ (setq message-options options)))))
(defun mml-generate-mime-1 (cont)
(let ((mm-use-ultra-safe-encoding
@@ -1454,7 +1459,7 @@ Should be adopted if code in `message-send-mail' is changed."
"Display current buffer with Gnus, in a new buffer.
If RAW, display a raw encoded MIME message.
-The window layout for the preview buffer is controled by the variables
+The window layout for the preview buffer is controlled by the variables
`special-display-buffer-names', `special-display-regexps', or
`gnus-buffer-configuration' (the first match made will be used),
or the `pop-to-buffer' function."
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el
index a798e22902f..25557ad7119 100644
--- a/lisp/gnus/nndiary.el
+++ b/lisp/gnus/nndiary.el
@@ -55,7 +55,7 @@
;; * nnoo. NNDiary is very similar to nnml. This makes the idea of using nnoo
;; (to derive nndiary from nnml) natural. However, my experience with nnoo
-;; is that for reasonably complex back ends like this one, noo is a burden
+;; is that for reasonably complex back ends like this one, nnoo is a burden
;; rather than an help. It's tricky to use, not everything can be inherited,
;; what can be inherited and when is not very clear, and you've got to be
;; very careful because a little mistake can fuck up your other back ends,
@@ -353,7 +353,7 @@ all. This may very well take some time.")
;; List of NNDiary headers that specify the time spec. Each header name is
;; followed by either two integers (specifying a range of possible values
;; for this header) or one list (specifying all the possible values for this
- ;; header). In the latter case, the list does NOT include the unspecifyed
+ ;; header). In the latter case, the list does NOT include the unspecified
;; spec (*).
;; For time zone values, we have symbolic time zone names associated with
;; the (relative) number of seconds ahead GMT.
@@ -1163,9 +1163,9 @@ all. This may very well take some time.")
;; Parse the schedule string STR, or signal an error.
;; Signals are caught by `nndary-schedule'.
(if (string-match "[ \t]*\\*[ \t]*" str)
- ;; unspecifyed
+ ;; unspecified
nil
- ;; specifyed
+ ;; specified
(if (listp min-or-values)
;; min-or-values is values
;; #### NOTE: this is actually only a hack for time zones.
@@ -1320,7 +1320,7 @@ all. This may very well take some time.")
(or minute (setq minute 59))
(or hour (setq hour 23))
;; I'll just compute all possible values and test them by decreasing
- ;; order until one succeeds. This is probably quide rude, but I got
+ ;; order until one succeeds. This is probably quite rude, but I got
;; bored in finding a good algorithm for doing that ;-)
;; ### FIXME: remove identical entries.
(let ((dom-list (nth 2 sched))
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index cda17ba57c6..b4e6e31fae4 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1035,7 +1035,7 @@ textual parts.")
((eq action 'set) ""))
(mapconcat #'identity flags " ")))))))
;; Wait for the last command to complete to avoid later
- ;; syncronisation problems with the stream.
+ ;; synchronization problems with the stream.
(when sequence
(nnimap-wait-for-response sequence))))))
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el
index 88fd4fe1ff6..3d0fc78dca7 100644
--- a/lisp/gnus/nnir.el
+++ b/lisp/gnus/nnir.el
@@ -1269,12 +1269,12 @@ Tested with swish-e-2.0.1 on Windows NT 4.0."
;; nnir-search failure reason is in this buffer, show it if
;; the user wants it.
(when (> gnus-verbose 6)
- (display-buffer nnir-tmp-buffer)))) ;; FIXME: Dont clear buffer !
+ (display-buffer nnir-tmp-buffer)))) ;; FIXME: Don't clear buffer !
(message "Doing hyrex-search query \"%s\"...done" qstring)
(sit-for 0)
;; nnir-search returns:
- ;; for nnml/nnfolder: "filename mailid weigth"
- ;; for nnimap: "group mailid weigth"
+ ;; for nnml/nnfolder: "filename mailid weight"
+ ;; for nnimap: "group mailid weight"
(goto-char (point-min))
(delete-non-matching-lines "^\\S + [0-9]+ [0-9]+$")
;; HyREX doesn't search directly in groups -- so filter out here.
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index d83467a1ed5..93e8544b633 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -1799,7 +1799,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
(i 0)
(new 0)
(total 0)
- incoming incomings source)
+ source)
(when (and (nnmail-get-value "%s-get-new-mail" method)
sources)
(while (setq source (pop sources))
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 9d6011e6573..4ad9d11f906 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -204,7 +204,7 @@
(add-hook 'gnus-summary-mode-hook 'nnmairix-summary-mode-hook)
;; ;;;###autoload
-;; (defun nnmairix-initalize (&optional force)
+;; (defun nnmairix-initialize (&optional force)
;; (interactive "P")
;; (if (not (or (file-readable-p "~/.mairixrc")
;; force))
@@ -333,7 +333,7 @@ can happen are wrong marks in nnmairix groups."
"Use only the registry for determining original group(s).
If set to t, nnmairix will only use the registry for determining
the original group(s) of an article (which is also necessary for
-propapagting marks). If set to nil, it will also try to determine
+propagating marks). If set to nil, it will also try to determine
the group from an additional mairix search which might be slow
when propagating lots of marks."
:version "23.1"
@@ -512,7 +512,7 @@ Other back ends might or might not work.")
;; Everything else is an error
(t
(nnheader-report
- 'nnmairix "Error running marix. See buffer %s for details"
+ 'nnmairix "Error running mairix. See buffer %s for details"
nnmairix-mairix-output-buffer)
nil))))))
diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el
index 399008cec1b..59e06364f42 100644
--- a/lisp/gnus/nnml.el
+++ b/lisp/gnus/nnml.el
@@ -1213,7 +1213,7 @@ Use the nov database for the current group if available."
;; #### already belongs to a range, whereas the corresponding
;; #### article doesn't exist (for example, if you delete an
;; #### article). For that reason, it is important to update
- ;; #### the ranges (meaning remove inexistent articles) before
+ ;; #### the ranges (meaning remove nonexistent articles) before
;; #### doing anything on them.
;; 2 a/ read articles:
(let ((read (gnus-info-read info)))
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index 325aa67f80d..f4b8ce66d16 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -665,7 +665,7 @@ command whose response triggered the error."
(process-buffer -process))))
;; When I an able to identify the
;; connection to the server AND I've
- ;; received NO reponse for
+ ;; received NO response for
;; nntp-connection-timeout seconds.
(when (and -buffer (eq 0 (buffer-size -buffer)))
;; Close the connection. Take no
@@ -1681,7 +1681,7 @@ password contained in '~/.nntp-authinfo'."
;; for the first available article. Obviously, a client can
;; use that entry to avoid making unnecessary requests. The
;; only problem is for a client that assumes that the response
- ;; will always be within the requested ranage. For such a
+ ;; will always be within the requested range. For such a
;; client, we can get N copies of the same entry (one for each
;; XOVER command sent to the server).
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el
index ee3e6582e80..0f7a450b30c 100644
--- a/lisp/gnus/pop3.el
+++ b/lisp/gnus/pop3.el
@@ -270,11 +270,11 @@ Use streaming commands."
message-count))
(defcustom pop3-stream-type nil
- "*Transport security type for POP3 connexions.
-This may be either nil (plain connexion), `ssl' (use an
+ "*Transport security type for POP3 connections.
+This may be either nil (plain connection), `ssl' (use an
SSL/TSL-secured stream) or `starttls' (use the starttls mechanism
to turn on TLS security after opening the stream). However, if
-this is nil, `ssl' is assumed for connexions to port
+this is nil, `ssl' is assumed for connections to port
995 (pop3s)."
:version "23.1" ;; No Gnus
:group 'pop3
diff --git a/lisp/gnus/rfc2047.el b/lisp/gnus/rfc2047.el
index feed078034c..f1cb1f69e56 100644
--- a/lisp/gnus/rfc2047.el
+++ b/lisp/gnus/rfc2047.el
@@ -586,7 +586,7 @@ should not change this value.")
((>= column rfc2047-encode-max-chars)
(when eword
(cond ((string-match "\n[ \t]+\\'" eword)
- ;; Reomove a superfluous empty line.
+ ;; Remove a superfluous empty line.
(setq eword (substring eword 0 (match-beginning 0))))
((string-match "(+\\'" eword)
;; Break the line before the open parenthesis.
@@ -639,7 +639,7 @@ should not change this value.")
(setq crest " "
eword (concat eword next)))
(when (string-match "\n[ \t]+\\'" eword)
- ;; Reomove a superfluous empty line.
+ ;; Remove a superfluous empty line.
(setq eword (substring eword 0 (match-beginning 0))))
(rfc2047-encode-1 (length crest) (substring string index)
cs encoder start " " tail
diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el
index 7b9af3302af..f2d8f843564 100644
--- a/lisp/gnus/shr.el
+++ b/lisp/gnus/shr.el
@@ -53,17 +53,17 @@ fit these criteria."
:group 'shr
:type 'regexp)
-(defcustom shr-table-horizontal-line ?
+(defcustom shr-table-horizontal-line ?\s
"Character used to draw horizontal table lines."
:group 'shr
:type 'character)
-(defcustom shr-table-vertical-line ?
+(defcustom shr-table-vertical-line ?\s
"Character used to draw vertical table lines."
:group 'shr
:type 'character)
-(defcustom shr-table-corner ?
+(defcustom shr-table-corner ?\s
"Character used to draw table corners."
:group 'shr
:type 'character)
@@ -583,7 +583,7 @@ Return a string with image data."
"Return a function to display an image.
CONTENT-FUNCTION is a function to retrieve an image for a cid url that
is an argument. The function to be returned takes three arguments URL,
-START, and END. Note that START and END should be merkers."
+START, and END. Note that START and END should be markers."
`(lambda (url start end)
(when url
(if (string-match "\\`cid:" url)
diff --git a/lisp/gnus/sieve-manage.el b/lisp/gnus/sieve-manage.el
index 5c2e775a211..a0c1d4f108b 100644
--- a/lisp/gnus/sieve-manage.el
+++ b/lisp/gnus/sieve-manage.el
@@ -1,4 +1,4 @@
-;;; sieve-manage.el --- Implementation of the managesive protocol in elisp
+;;; sieve-manage.el --- Implementation of the managesieve protocol in elisp
;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
diff --git a/lisp/gnus/smime.el b/lisp/gnus/smime.el
index 128bda6f516..3c1f75f3dc9 100644
--- a/lisp/gnus/smime.el
+++ b/lisp/gnus/smime.el
@@ -99,7 +99,7 @@
;;
;; I would include pointers to introductory text on concepts used in
;; this library here, but the material I've read are so horrible I
-;; don't want to recomend them.
+;; don't want to recommend them.
;;
;; Why can't someone write a simple introduction to all this stuff?
;; Until then, much of this resemble security by obscurity.
@@ -180,7 +180,7 @@ File should contain certificates in PEM format."
(defcustom smime-certificate-directory "~/Mail/certs/"
"*Directory containing other people's certificates.
It should contain files named to the X.509 hash of the certificate,
-and the files themself should be in PEM format."
+and the files themselves should be in PEM format."
;The S/MIME library provide simple functionality for fetching
;certificates into this directory, so there is no need to populate it
;manually.
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index fa152f688c4..869dbc9bc0e 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -156,7 +156,7 @@ last rule in your split configuration."
:group 'spam)
(defcustom spam-autodetect-recheck-messages nil
- "Should spam.el recheck all meessages when autodetecting?
+ "Should spam.el recheck all messages when autodetecting?
Normally this is nil, so only unseen messages will be checked."
:type 'boolean
:group 'spam)
diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el
index b995f7478ce..af9fd42c127 100644
--- a/lisp/gnus/starttls.el
+++ b/lisp/gnus/starttls.el
@@ -5,7 +5,7 @@
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Author: Simon Josefsson <simon@josefsson.org>
;; Created: 1999/11/20
-;; Keywords: TLS, SSL, OpenSSL, GNUTLS, mail, news
+;; Keywords: TLS, SSL, OpenSSL, GnuTLS, mail, news
;; This file is part of GNU Emacs.
@@ -33,15 +33,15 @@
;; implementations both called "starttls.el". The first one is Daiki
;; Ueno's starttls.el which uses his own "starttls" command line tool,
;; and the second one is Simon Josefsson's starttls.el which uses
-;; "gnutls-cli" from GNUTLS.
+;; "gnutls-cli" from GnuTLS.
;;
-;; If "starttls" is available, it is prefered by the code over
+;; If "starttls" is available, it is preferred by the code over
;; "gnutls-cli", for backwards compatibility. Use
;; `starttls-use-gnutls' to toggle between implementations if you have
-;; both tools installed. It is recommended to use GNUTLS, though, as
+;; both tools installed. It is recommended to use GnuTLS, though, as
;; it performs more verification of the certificates.
-;; The GNUTLS support requires GNUTLS 0.9.90 (released 2003-10-08) or
+;; The GnuTLS support requires GnuTLS 0.9.90 (released 2003-10-08) or
;; later, from <http://www.gnu.org/software/gnutls/>, or "starttls"
;; from <ftp://ftp.opaopa.org/pub/elisp/>.
@@ -121,8 +121,8 @@
:group 'mail)
(defcustom starttls-gnutls-program "gnutls-cli"
- "Name of GNUTLS command line tool.
-This program is used when GNUTLS is used, i.e. when
+ "Name of GnuTLS command line tool.
+This program is used when GnuTLS is used, i.e. when
`starttls-use-gnutls' is non-nil."
:version "22.1"
:type 'string
@@ -136,7 +136,7 @@ i.e. when `starttls-use-gnutls' is nil."
:group 'starttls)
(defcustom starttls-use-gnutls (not (executable-find starttls-program))
- "*Whether to use GNUTLS instead of the `starttls' command."
+ "*Whether to use GnuTLS instead of the `starttls' command."
:version "22.1"
:type 'boolean
:group 'starttls)
@@ -150,7 +150,7 @@ These apply when the `starttls' command is used, i.e. when
(defcustom starttls-extra-arguments nil
"Extra arguments to `starttls-program'.
-These apply when GNUTLS is used, i.e. when `starttls-use-gnutls' is non-nil.
+These apply when GnuTLS is used, i.e. when `starttls-use-gnutls' is non-nil.
For example, non-TLS compliant servers may require
'(\"--protocols\" \"ssl3\"). Invoke \"gnutls-cli --help\" to
@@ -167,8 +167,8 @@ find out which parameters are available."
(defcustom starttls-connect "- Simple Client Mode:\n\n"
"*Regular expression indicating successful connection.
-The default is what GNUTLS's \"gnutls-cli\" outputs."
- ;; GNUTLS cli.c:main() prints this string when it is starting to run
+The default is what GnuTLS's \"gnutls-cli\" outputs."
+ ;; GnuTLS cli.c:main() prints this string when it is starting to run
;; in the application read/write phase. If the logic, or the string
;; itself, is modified, this must be updated.
:version "22.1"
@@ -177,8 +177,8 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
(defcustom starttls-failure "\\*\\*\\* Handshake has failed"
"*Regular expression indicating failed TLS handshake.
-The default is what GNUTLS's \"gnutls-cli\" outputs."
- ;; GNUTLS cli.c:do_handshake() prints this string on failure. If the
+The default is what GnuTLS's \"gnutls-cli\" outputs."
+ ;; GnuTLS cli.c:do_handshake() prints this string on failure. If the
;; logic, or the string itself, is modified, this must be updated.
:version "22.1"
:type 'regexp
@@ -186,8 +186,8 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
(defcustom starttls-success "- Compression: "
"*Regular expression indicating completed TLS handshakes.
-The default is what GNUTLS's \"gnutls-cli\" outputs."
- ;; GNUTLS cli.c:do_handshake() calls, on success,
+The default is what GnuTLS's \"gnutls-cli\" outputs."
+ ;; GnuTLS cli.c:do_handshake() calls, on success,
;; common.c:print_info(), that unconditionally print this string
;; last. If that logic, or the string itself, is modified, this
;; must be updated.
@@ -283,7 +283,7 @@ BUFFER is the buffer (or `buffer-name') to associate with the process.
Third arg is name of the host to connect to, or its IP address.
Fourth arg PORT is an integer specifying a port to connect to.
If `starttls-use-gnutls' is nil, this may also be a service name, but
-GNUTLS requires a port number."
+GnuTLS requires a port number."
(if starttls-use-gnutls
(starttls-open-stream-gnutls name buffer host port)
(message "Opening STARTTLS connection to `%s:%s'" host (format "%s" port))
diff --git a/lisp/gs.el b/lisp/gs.el
index 2eba7af71ae..b86632f7637 100644
--- a/lisp/gs.el
+++ b/lisp/gs.el
@@ -96,7 +96,7 @@ FILE is the value to substitute for the place-holder `<file>'."
(declare-function x-display-pixel-width "xfns.c" (&optional terminal))
(defun gs-width-in-pt (frame pixel-width)
- "Return, on FRAME, pixel width PIXEL-WIDTH tranlated to pt."
+ "Return, on FRAME, pixel width PIXEL-WIDTH translated to pt."
(let ((mm (* (float pixel-width)
(/ (float (x-display-mm-width frame))
(float (x-display-pixel-width frame))))))
@@ -106,7 +106,7 @@ FILE is the value to substitute for the place-holder `<file>'."
(declare-function x-display-pixel-height "xfns.c" (&optional terminal))
(defun gs-height-in-pt (frame pixel-height)
- "Return, on FRAME, pixel height PIXEL-HEIGHT tranlated to pt."
+ "Return, on FRAME, pixel height PIXEL-HEIGHT translated to pt."
(let ((mm (* (float pixel-height)
(/ (float (x-display-mm-height frame))
(float (x-display-pixel-height frame))))))
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 5d67a6c4f4c..5906683071b 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -141,7 +141,7 @@ The format is (FUNCTION ARGS...).")
'help-function 'describe-character-set
'help-echo (purecopy "mouse-2, RET: describe this character set"))
-;; make some more ideosyncratic button types
+;; Make some more idiosyncratic button types.
(define-button-type 'help-symbol
:supertype 'help-xref
diff --git a/lisp/help.el b/lisp/help.el
index 506889c210e..36d49aae9b3 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -969,7 +969,7 @@ This is effective only when Temp Buffer Resize mode is enabled.
The value is the maximum height (in lines) which
`resize-temp-buffer-window' will give to a window displaying a
temporary buffer. It can also be a function to be called to
-choose the height for such a buffer. It gets one argumemt, the
+choose the height for such a buffer. It gets one argument, the
buffer, and should return a positive integer. At the time the
function is called, the window to be resized is selected."
:type '(choice integer function)
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 0dee4157d78..50e631a95c5 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -367,7 +367,7 @@ buffer with the contents of a file
;;;###autoload
(define-minor-mode highlight-changes-visible-mode
- "Toggle visiblility of highlighting due to Highlight Changes mode.
+ "Toggle visibility of highlighting due to Highlight Changes mode.
With a prefix argument ARG, enable Highlight Changes Visible mode
if ARG is positive, and disable it otherwise. If called from
Lisp, enable the mode if ARG is omitted or nil.
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el
index 75bc1f9743c..69da8fc6110 100644
--- a/lisp/hippie-exp.el
+++ b/lisp/hippie-exp.el
@@ -391,7 +391,7 @@ undoes the expansion."
lst)))
;; Check if current buffer matches any atom or regexp in LST.
-;; Atoms are interpreted as major modes, strings as regexps mathing the name.
+;; Atoms are interpreted as major modes, strings as regexps matching the name.
(defun he-buffer-member (lst)
(or (memq major-mode lst)
(progn
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index cd9f1fa6b43..b0fd37abd36 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -1,4 +1,4 @@
-;;; htmlfontify.el --- htmlise a buffer/source tree with optional hyperlinks
+;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks
;; Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc.
@@ -10,7 +10,7 @@
;; Author: Vivek Dasmohapatra <vivek@etla.org>
;; Maintainer: Vivek Dasmohapatra <vivek@etla.org>
;; Created: 2002-01-05
-;; Description: htmlise a buffer/source tree with optional hyperlinks
+;; Description: htmlize a buffer/source tree with optional hyperlinks
;; URL: http://rtfm.etla.org/emacs/htmlfontify/
;; Compatibility: Emacs23, Emacs22
;; Incompatibility: Emacs19, Emacs20, Emacs21
@@ -150,11 +150,11 @@ main-content <=MAIN_CONTENT;\\n\" rtfm-section file style rtfm-section file))
:prefix "hfy-")
(defcustom hfy-page-header 'hfy-default-header
- "Function called to build the header of the html source.
+ "Function called to build the header of the HTML source.
This is called with two arguments (the filename relative to the top
level source directory being etag'd and fontified), and a string containing
the <style>...</style> text to embed in the document.
-It should return the string returned will be used as the header for the
+It should return a string that will be used as the header for the
htmlfontified version of the source file.\n
See also `hfy-page-footer'."
:group 'htmlfontify
@@ -166,8 +166,8 @@ See also `hfy-page-footer'."
(defcustom hfy-split-index nil
"Whether or not to split the index `hfy-index-file' alphabetically.
If non-nil, the index is split on the first letter of each tag.
-Useful when the index would otherwise
-be large and take a long time to render or be difficult to navigate."
+Useful when the index would otherwise be large and take
+a long time to render or be difficult to navigate."
:group 'htmlfontify
:tag "split-index"
:type '(boolean))
@@ -179,7 +179,7 @@ It takes only one argument, the filename."
:tag "page-footer"
:type '(function))
-(defcustom hfy-extn ".html"
+(defcustom hfy-extn ".html"
"File extension used for output files."
:group 'htmlfontify
:tag "extension"
@@ -251,7 +251,7 @@ when not running under a window system."
(defcustom hfy-post-html-hooks nil
"List of functions to call after creating and filling the HTML buffer.
-These functions will be called with the html buffer as the current buffer."
+These functions will be called with the HTML buffer as the current buffer."
:group 'htmlfontify
:tag "post-html-hooks"
:options '(set-auto-mode)
@@ -342,7 +342,7 @@ commands in `hfy-etags-cmd-alist'."
:type '(file))
(defcustom hfy-shell-file-name "/bin/sh"
- "Shell (bourne or compatible) to invoke for complex shell operations."
+ "Shell (Bourne or compatible) to invoke for complex shell operations."
:group 'htmlfontify
:tag "shell-file-name"
:type '(file))
@@ -580,7 +580,7 @@ If a window system is unavailable, calls `hfy-fallback-colour-values'."
(color-values colour)
;;(message "[%S]" window-system)
(x-color-values colour))
- ;; blarg - tty colours are no good - go fetch some X colours:
+ ;; blarg - tty colors are no good - go fetch some X colors:
(hfy-fallback-colour-values colour))))
(defvar hfy-cperl-mode-kludged-p nil)
@@ -595,7 +595,8 @@ in a windowing system - try to trick it..."
(setq cperl-syntaxify-by-font-lock t)))
(setq hfy-cperl-mode-kludged-p t))) )
-(defun hfy-opt (symbol) "Is option SYMBOL set."
+(defun hfy-opt (symbol)
+ "Is option SYMBOL set."
(memq symbol hfy-optimisations))
(defun hfy-default-header (file style)
@@ -1066,7 +1067,7 @@ See also `hfy-face-to-style-i', `hfy-flatten-style'."
;; text-decoration is not inherited.
;; but it's not wrong and if this ever changes it will
;; be needed, so I think it's better to leave it in? -- v
- (nconc final-style '(("text-decoration"."none"))))))
+ (nconc final-style '(("text-decoration" . "none"))))))
final-style))
;; strip redundant bits from a name. Technically, this could result in
@@ -1576,7 +1577,7 @@ FILE, if set, is the file name."
(delete-overlay rovl))
(copy-to-buffer html-buffer (point-min) (point-max))
(set-buffer html-buffer)
- ;; rip out props that could interfere with our htmlisation of the buffer:
+ ;; rip out props that could interfere with our htmlization of the buffer:
(remove-text-properties (point-min) (point-max) hfy-ignored-properties)
;; Apply overlay invisible spec
(setq orig-ovls
@@ -1774,7 +1775,7 @@ Strips any leading \"./\" from each filename."
(split-string (shell-command-to-string hfy-find-cmd))) )
;; strip the filename off, return a directory name
-;; not a particularly thorough implementaion, but it will be
+;; not a particularly thorough implementation, but it will be
;; fed pretty carefully, so it should be Ok:
(defun hfy-dirname (file)
"Return everything preceding the last \"/\" from a relative filename FILE,
@@ -1992,7 +1993,7 @@ FILE is the specific file we are rendering."
tags-list) )))
(defun hfy-shell ()
- "Return `shell-file-name', or \"/bin/sh\" if it is a non-bourne shell."
+ "Return `shell-file-name', or \"/bin/sh\" if it is a non-Bourne shell."
(if (string-match "\\<bash\\>\\|\\<sh\\>\\|\\<dash\\>" shell-file-name)
shell-file-name
(or hfy-shell-file-name "/bin/sh")))
@@ -2026,13 +2027,13 @@ FILE is the specific file we are rendering."
(hash-entry nil) (tag-string nil) (tag-line nil)
(tag-point nil) (new-entry nil) (etags-file nil))
- ;; (re)initialise the tag reverse map:
+ ;; (re)initialize the tag reverse map:
(if trmap-cache (setq trmap-hash (cadr trmap-cache))
(setq trmap-hash (make-hash-table :test 'equal))
(setq hfy-tags-rmap (list (list srcdir trmap-hash) hfy-tags-rmap)))
(clrhash trmap-hash)
- ;; (re)initialise the tag cache:
+ ;; (re)initialize the tag cache:
(if cache-entry (setq cache-hash (cadr cache-entry))
(setq cache-hash (make-hash-table :test 'equal))
(setq hfy-tags-cache (list (list srcdir cache-hash) hfy-tags-cache)))
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 3f3b0b7a843..bc7dff278cc 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -426,7 +426,7 @@ directory, like `default-directory'."
'(menu-item "Save current filter groups permanently..."
ibuffer-save-filter-groups
:enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)
- :help "Use a mnemnonic name to store current filter groups"))
+ :help "Use a mnemonic name to store current filter groups"))
(define-key-after groups-map [switch-to-saved-filter-groups]
'(menu-item "Restore permanently saved filters..."
ibuffer-switch-to-saved-filter-groups
@@ -676,7 +676,7 @@ directory, like `default-directory'."
(define-key-after map [menu-bar view filter save-filters]
'(menu-item "Save current filters permanently..." ibuffer-save-filters
:enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)
- :help "Use a mnemnonic name to store current filter stack"))
+ :help "Use a mnemonic name to store current filter stack"))
(define-key-after map [menu-bar view filter switch-to-saved-filters]
'(menu-item "Restore permanently saved filters..."
ibuffer-switch-to-saved-filters
diff --git a/lisp/ido.el b/lisp/ido.el
index 6af431a2882..f2dcba614a9 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -770,7 +770,7 @@ can be completed using TAB,
(defcustom ido-use-virtual-buffers nil
"If non-nil, refer to past buffers as well as existing ones.
Essentially it works as follows: Say you are visiting a file and
-the buffer gets cleaned up by mignight.el. Later, you want to
+the buffer gets cleaned up by midnight.el. Later, you want to
switch to that buffer, but find it's no longer open. With
virtual buffers enabled, the buffer name stays in the buffer
list (using the `ido-virtual' face, and always at the end), and if
@@ -1692,7 +1692,7 @@ This function also adds a hook to the minibuffer."
(defun ido-nonreadable-directory-p (dir)
;; Return t if dir is a directory, but not readable
;; Do not check for non-readable directories via tramp, as this causes a premature
- ;; connect on incomplete tramp paths (after entring just method:).
+ ;; connect on incomplete tramp paths (after entering just method:).
(let ((ido-enable-tramp-completion nil))
(and (ido-final-slash dir)
(not (ido-is-unc-host dir))
@@ -1702,7 +1702,7 @@ This function also adds a hook to the minibuffer."
(defun ido-directory-too-big-p (dir)
;; Return t if dir is a directory, but too big to show
;; Do not check for non-readable directories via tramp, as this causes a premature
- ;; connect on incomplete tramp paths (after entring just method:).
+ ;; connect on incomplete tramp paths (after entering just method:).
(let ((ido-enable-tramp-completion nil))
(and (numberp ido-max-directory-size)
(ido-final-slash dir)
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index 8c151d35ed2..4a164dfaa42 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -469,7 +469,7 @@ For more information, see the documentation for
If non-nil, using `image-dired-next-line-and-display' and
`image-dired-previous-line-and-display' will leave a trail of thumbnail
images in the thumbnail buffer. If you enable this and want to clean
-the thumbnail buffer because it is filled with too many thumbmnails,
+the thumbnail buffer because it is filled with too many thumbnails,
just call `image-dired-display-thumb' to display only the image at point.
This value can be toggled using `image-dired-toggle-append-browsing'."
:type 'boolean
@@ -1605,7 +1605,7 @@ With prefix argument ARG, create thumbnails even if they already exist
(setq thumb-name (image-dired-thumb-name curr-file))
;; If the user overrides the exist check, we must clear the
;; image cache so that if the user wants to display the
- ;; thumnail, it is not fetched from cache.
+ ;; thumbnail, it is not fetched from cache.
(if arg
(clear-image-cache))
(if (or (not (file-exists-p thumb-name))
@@ -2043,7 +2043,7 @@ function. The result is a couple of new files in
files)))
(defun image-dired-display-next-thumbnail-original ()
- "In thubnail buffer, move to next thumbnail and display the image."
+ "In thumbnail buffer, move to next thumbnail and display the image."
(interactive)
(image-dired-forward-image)
(image-dired-display-thumbnail-original-image))
diff --git a/lisp/indent.el b/lisp/indent.el
index 93218032700..f5850de8b8f 100644
--- a/lisp/indent.el
+++ b/lisp/indent.el
@@ -63,9 +63,11 @@ e.g., `c-tab-always-indent', and do not respect this variable."
(defun indent-according-to-mode ()
"Indent line in proper way for current major mode.
-The buffer-local variable `indent-line-function' determines how to do this,
-but the functions `indent-relative' and `indent-relative-maybe' are
-special; we don't actually use them here."
+Normally, this is done by calling the function specified by the
+variable `indent-line-function'. However, if the value of that
+variable is `indent-relative' or `indent-relative-maybe', handle
+it specially (since those functions are used for tabbing); in
+that case, indent by aligning to the previous non-blank line."
(interactive)
(syntax-propertize (line-end-position))
(if (memq indent-line-function
@@ -84,22 +86,25 @@ special; we don't actually use them here."
(funcall indent-line-function)))
(defun indent-for-tab-command (&optional arg)
- "Indent line or region in proper way for current major mode or insert a tab.
-Depending on `tab-always-indent', either insert a tab or indent.
-
-In most major modes, if point was in the current line's indentation,
-it is moved to the first non-whitespace character after indenting;
-otherwise it stays at the same position in the text.
-
-If a prefix argument is given, also rigidly indent the entire
+ "Indent the current line or region, or insert a tab, as appropriate.
+This function either inserts a tab, or indents the current line,
+or performs symbol completion, depending on `tab-always-indent'.
+The function called to actually indent the line or insert a tab
+is given by the variable `indent-line-function'.
+
+If a prefix argument is given, after this function indents the
+current line or inserts a tab, it also rigidly indents the entire
balanced expression which starts at the beginning of the current
-line to reflect the current line's change in indentation.
+line, to reflect the current line's indentation.
-If `transient-mark-mode' is turned on and the region is active,
-indent the region (in this case, any prefix argument is ignored).
+In most major modes, if point was in the current line's
+indentation, it is moved to the first non-whitespace character
+after indenting; otherwise it stays at the same position relative
+to the text.
-The function actually called to indent the line is determined by the value of
-`indent-line-function'."
+If `transient-mark-mode' is turned on and the region is active,
+this function instead calls `indent-region'. In this case, any
+prefix argument is ignored."
(interactive "P")
(cond
;; The region is active, indent it.
@@ -393,34 +398,14 @@ indents all the lines with it:
with it.
2) If `indent-region-function' is non-nil, call that function
to indent the region.
- 3) Indent each line as specified by the variable `indent-line-function'.
+ 3) Indent each line via `indent-according-to-mode'.
Called from a program, START and END specify the region to indent.
If the third argument COLUMN is an integer, it specifies the
column to indent to; if it is nil, use one of the three methods above."
(interactive "r\nP")
- (if (null column)
- (if fill-prefix
- (save-excursion
- (goto-char end)
- (setq end (point-marker))
- (goto-char start)
- (let ((regexp (regexp-quote fill-prefix)))
- (while (< (point) end)
- (or (looking-at regexp)
- (and (bolp) (eolp))
- (insert fill-prefix))
- (forward-line 1))))
- (if indent-region-function
- (funcall indent-region-function start end)
- (save-excursion
- (setq end (copy-marker end))
- (goto-char start)
- (while (< (point) end)
- (or (and (bolp) (eolp))
- (indent-according-to-mode))
- (forward-line 1))
- (move-marker end nil))))
+ (cond
+ (column
(setq column (prefix-numeric-value column))
(save-excursion
(goto-char end)
@@ -433,6 +418,28 @@ column to indent to; if it is nil, use one of the three methods above."
(indent-to column 0))
(forward-line 1))
(move-marker end nil)))
+ (fill-prefix
+ (save-excursion
+ (goto-char end)
+ (setq end (point-marker))
+ (goto-char start)
+ (let ((regexp (regexp-quote fill-prefix)))
+ (while (< (point) end)
+ (or (looking-at regexp)
+ (and (bolp) (eolp))
+ (insert fill-prefix))
+ (forward-line 1)))))
+ (indent-region-function
+ (funcall indent-region-function start end))
+ (t
+ (save-excursion
+ (setq end (copy-marker end))
+ (goto-char start)
+ (while (< (point) end)
+ (or (and (bolp) (eolp))
+ (indent-according-to-mode))
+ (forward-line 1))
+ (move-marker end nil))))
;; In most cases, reindenting modifies the buffer, but it may also
;; leave it unmodified, in which case we have to deactivate the mark
;; by hand.
diff --git a/lisp/info-xref.el b/lisp/info-xref.el
index 8a5cca18496..805bec064cf 100644
--- a/lisp/info-xref.el
+++ b/lisp/info-xref.el
@@ -413,7 +413,7 @@ and can take a long time."
(unless (boundp 'viper-mode)
(setq viper-mode nil)) ;; avoid viper.el ask about viperizing
(unless (boundp 'gnus-registry-install)
- (setq gnus-registry-install nil)) ;; avoid gnus-registery.el querying
+ (setq gnus-registry-install nil)) ;; avoid gnus-registry.el querying
(mapatoms
(lambda (symbol)
diff --git a/lisp/info.el b/lisp/info.el
index 0148ee544f9..c1dae66bea2 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -231,6 +231,12 @@ want to set `Info-refill-paragraphs'."
(const :tag "Replace tag and hide reference" t)
(const :tag "Hide tag and reference" hide)
(other :tag "Only replace tag" tag))
+ :set (lambda (sym val)
+ (set sym val)
+ (dolist (buffer (buffer-list))
+ (with-current-buffer buffer
+ (when (eq major-mode 'Info-mode)
+ (revert-buffer t t)))))
:group 'info)
(defcustom Info-refill-paragraphs nil
@@ -811,10 +817,6 @@ otherwise, that defaults to `Top'."
(concat default-directory (buffer-name))))
(Info-find-node-2 nil nodename))
-;; It's perhaps a bit nasty to kill the *info* buffer to force a re-read,
-;; but at least it keeps this routine (which is for makeinfo-buffer and
-;; Info-revert-buffer-function) out of the way of normal operations.
-;;
(defun Info-revert-find-node (filename nodename)
"Go to an Info node FILENAME and NODENAME, re-reading disk contents.
When *info* is already displaying FILENAME and NODENAME, the window position
@@ -822,27 +824,23 @@ is preserved, if possible."
(or (eq major-mode 'Info-mode) (switch-to-buffer "*info*"))
(let ((old-filename Info-current-file)
(old-nodename Info-current-node)
- (old-buffer-name (buffer-name))
+ (window-selected (eq (selected-window) (get-buffer-window)))
(pcolumn (current-column))
(pline (count-lines (point-min) (line-beginning-position)))
(wline (count-lines (point-min) (window-start)))
- (old-history-forward Info-history-forward)
- (old-history Info-history)
(new-history (and Info-current-file
(list Info-current-file Info-current-node (point)))))
- (kill-buffer (current-buffer))
- (switch-to-buffer (or old-buffer-name "*info*"))
- (Info-mode)
+ ;; When `Info-current-file' is nil, `Info-find-node-2' rereads the file.
+ (setq Info-current-file nil)
(Info-find-node filename nodename)
- (setq Info-history-forward old-history-forward)
- (setq Info-history old-history)
(if (and (equal old-filename Info-current-file)
(equal old-nodename Info-current-node))
(progn
;; note goto-line is no good, we want to measure from point-min
- (goto-char (point-min))
- (forward-line wline)
- (set-window-start (selected-window) (point))
+ (when window-selected
+ (goto-char (point-min))
+ (forward-line wline)
+ (set-window-start (selected-window) (point)))
(goto-char (point-min))
(forward-line pline)
(move-to-column pcolumn))
@@ -1087,7 +1085,7 @@ a case-insensitive match is tried."
;; Add anchors to the history too
(setq Info-history-list
(cons new-history
- (delete new-history Info-history-list))))
+ (remove new-history Info-history-list))))
(goto-char anchorpos))
((numberp Info-point-loc)
(forward-line (- Info-point-loc 2))
@@ -1514,7 +1512,7 @@ escaped (\\\",\\\\)."
;; Add a new unique history item to full history list
(let ((new-history (list Info-current-file Info-current-node)))
(setq Info-history-list
- (cons new-history (delete new-history Info-history-list)))
+ (cons new-history (remove new-history Info-history-list)))
(setq Info-history-forward nil))
(if (not (eq Info-fontify-maximum-menu-size nil))
(Info-fontify-node))
@@ -1771,12 +1769,14 @@ If DIRECTION is `backward', search in the reverse direction."
;; If no subfiles, give error now.
(if give-up
(if (null Info-current-subfile)
- (let ((search-spaces-regexp
- (if (or (not isearch-mode) isearch-regexp)
- Info-search-whitespace-regexp)))
- (if backward
- (re-search-backward regexp)
- (re-search-forward regexp)))
+ (if isearch-mode
+ (signal 'search-failed (list regexp "end of manual"))
+ (let ((search-spaces-regexp
+ (if (or (not isearch-mode) isearch-regexp)
+ Info-search-whitespace-regexp)))
+ (if backward
+ (re-search-backward regexp)
+ (re-search-forward regexp))))
(setq found nil)))
(if (and bound (not found))
@@ -1846,7 +1846,9 @@ If DIRECTION is `backward', search in the reverse direction."
(setq list nil)))
(if found
(message "")
- (signal 'search-failed (list regexp))))
+ (signal 'search-failed (if isearch-mode
+ (list regexp "end of manual")
+ (list regexp)))))
(if (not found)
(progn (Info-read-subfile osubfile)
(goto-char opoint)
@@ -2153,7 +2155,7 @@ If SAME-FILE is non-nil, do not move to a different Info file."
(insert "Recently Visited Nodes\n")
(insert "**********************\n\n")
(insert "* Menu:\n\n")
- (let ((hl (delete '("*History*" "Top") Info-history-list)))
+ (let ((hl (remove '("*History*" "Top") Info-history-list)))
(while hl
(let ((file (nth 0 (car hl)))
(node (nth 1 (car hl))))
@@ -3240,7 +3242,7 @@ search results."
(Info-index topic)
(push (cons (cons Info-current-file topic) Info-index-alternatives)
Info-virtual-index-nodes)
- ;; Clean up unneccessary side-effects of `Info-index'.
+ ;; Clean up unnecessary side-effects of `Info-index'.
(setq Info-history-list ohist-list)
(Info-goto-node orignode)
(message "")))
@@ -3403,7 +3405,7 @@ Build a menu of the possible matches."
(declare-function finder-unknown-keywords "finder" ())
(declare-function lm-commentary "lisp-mnt" (&optional file))
(defvar finder-keywords-hash)
-(defvar package-alist) ; finder requires package
+(defvar package--builtins) ; finder requires package
(defun Info-finder-find-node (_filename nodename &optional _no-going-back)
"Finder-specific implementation of `Info-find-node-2'."
@@ -3417,14 +3419,14 @@ Build a menu of the possible matches."
(insert "***************\n\n")
(insert "* Menu:\n\n")
(dolist (assoc (append '((all . "All package info")
- (unknown . "unknown keywords"))
+ (unknown . "Unknown keywords"))
finder-known-keywords))
(let ((keyword (car assoc)))
(insert (format "* %s %s.\n"
(concat (symbol-name keyword) ": "
- "kw:" (symbol-name keyword) ".")
+ "Keyword " (symbol-name keyword) ".")
(cdr assoc))))))
- ((equal nodename "unknown")
+ ((equal nodename "Keyword unknown")
;; Display unknown keywords
(insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n"
Info-finder-file nodename))
@@ -3434,24 +3436,29 @@ Build a menu of the possible matches."
(mapc
(lambda (assoc)
(insert (format "* %-14s %s.\n"
- (concat (symbol-name (car assoc)) "::")
+ (concat (symbol-name (car assoc)) ": "
+ "Keyword " (symbol-name (car assoc)) ".")
(cdr assoc))))
(finder-unknown-keywords)))
- ((equal nodename "all")
+ ((equal nodename "Keyword all")
;; Display all package info.
(insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n"
Info-finder-file nodename))
(insert "Finder Package Info\n")
(insert "*******************\n\n")
- (dolist (package package-alist)
- (insert (format "%s - %s\n"
- (format "*Note %s::" (nth 0 package))
- (nth 1 package)))))
- ((string-match "\\`kw:" nodename)
+ (insert "* Menu:\n\n")
+ (let (desc)
+ (dolist (package package--builtins)
+ (setq desc (cdr-safe package))
+ (when (vectorp desc)
+ (insert (format "* %-16s %s.\n"
+ (concat (symbol-name (car package)) "::")
+ (aref desc 2)))))))
+ ((string-match "\\`Keyword " nodename)
(setq nodename (substring nodename (match-end 0)))
;; Display packages that match the keyword
;; or the list of keywords separated by comma.
- (insert (format "\n\^_\nFile: %s, Node: kw:%s, Up: Top\n\n"
+ (insert (format "\n\^_\nFile: %s, Node: Keyword %s, Up: Top\n\n"
Info-finder-file nodename))
(insert "Finder Packages\n")
(insert "***************\n\n")
@@ -3463,11 +3470,11 @@ Build a menu of the possible matches."
(split-string nodename ",[ \t\n]*" t)
(list nodename))))
hits desc)
- (dolist (kw keywords)
- (push (copy-tree (gethash kw finder-keywords-hash)) hits))
+ (dolist (keyword keywords)
+ (push (copy-tree (gethash keyword finder-keywords-hash)) hits))
(setq hits (delete-dups (apply 'append hits)))
(dolist (package hits)
- (setq desc (cdr-safe (assq package package-alist)))
+ (setq desc (cdr-safe (assq package package--builtins)))
(when (vectorp desc)
(insert (format "* %-16s %s.\n"
(concat (symbol-name package) "::")
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el
index 9614479072a..457fe84c0b1 100644
--- a/lisp/international/ccl.el
+++ b/lisp/international/ccl.el
@@ -1433,7 +1433,7 @@ REG := r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7
ARG := REG | integer
OPERATOR :=
- ;; Normal arithmethic operators (same meaning as C code).
+ ;; Normal arithmetic operators (same meaning as C code).
+ | - | * | / | %
;; Bitwise operators (same meaning as C code)
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index 94237a0a489..55aee4d53db 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -410,7 +410,7 @@ with L, LRE, or LRO Unicode bidi character type.")
("à¾-ྐྵྺྻྼ" "w" ?0) ;
("ིེཻོཽྀ" "w" ?2) ; upper vowel
("ཾྂྃ྆྇ྈྉྊྋ" "w" ?2) ; upper modifier
- ("྄ཱུ༙༵༷" "w" ?3) ; lowel vowel/modifier
+ ("྄ཱུ༙༵༷" "w" ?3) ; lower vowel/modifier
("཰" "w" ?3) ; invisible vowel a
("༠-༩༪-༳" "w" ?6) ; digit
("་à¼-༒༔ཿ" "." ?|) ; line-break char
@@ -512,7 +512,7 @@ with L, LRE, or LRO Unicode bidi character type.")
;; relating Unicode categories to Emacs syntax codes.
;; NBSP isn't semantically interchangeable with other whitespace chars,
- ;; so it's more like punctation.
+ ;; so it's more like punctuation.
(set-case-syntax ?  "." tbl)
(set-case-syntax ?¡ "." tbl)
(set-case-syntax ?¦ "_" tbl)
diff --git a/lisp/international/cp51932.el b/lisp/international/cp51932.el
index d4a347d43aa..a6489268578 100644
--- a/lisp/international/cp51932.el
+++ b/lisp/international/cp51932.el
@@ -1,5 +1,5 @@
;;; cp51932.el -- translation table for CP51932. -*- no-byte-compile: t -*-
-;;; Automatically genrated from CP932-2BYTE.map
+;;; Automatically generated from CP932-2BYTE.map
(let ((map
'(;JISEXT<->UNICODE
(#x2D21 . #x2460)
@@ -468,4 +468,3 @@
(setcar x (cdr x)) (setcdr x tmp)))
map)
(define-translation-table 'cp51932-encode map))
-
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 9f6520c7238..2425ee46eea 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -858,9 +858,9 @@ Internal use only. Should be called at startup time."
(defun x-decompose-font-name (pattern)
"Decompose PATTERN into XLFD fields and return a vector of the fields.
The length of the vector is 12.
-The FOUNDRY and FAMILY fields are concatinated and stored in the first
+The FOUNDRY and FAMILY fields are concatenated and stored in the first
element of the vector.
-The REGISTRY and ENCODING fields are concatinated and stored in the last
+The REGISTRY and ENCODING fields are concatenated and stored in the last
element of the vector.
Return nil if PATTERN doesn't conform to XLFD."
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el
index 870f2bece28..e27424b2328 100644
--- a/lisp/international/mule-conf.el
+++ b/lisp/international/mule-conf.el
@@ -218,7 +218,7 @@
(fmakunbound 'define-iso-single-byte-charset)
;; Can this be shared with 8859-11?
-;; N.b. not all of these are defined unicodes.
+;; N.b. not all of these are defined in Unicode.
(define-charset 'thai-tis620
"TIS620.2533"
:short-name "TIS620.2533"
@@ -865,7 +865,7 @@
;; Lao script.
;; Codes 0x21..0x7E are mapped to Unicode U+0E81..U+0EDF.
-;; Not all of them are defined unicodes.
+;; Not all of them are defined in Unicode.
(define-charset 'lao
"Lao characters (ISO10646 0E81..0EDF)"
:short-name "Lao"
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 6888056704d..1beffa5218b 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -703,13 +703,13 @@ If the value is nil, on decoding, don't treat the first two-byte as
BOM, and on encoding, don't produce BOM bytes.
If the value is t, on decoding, skip the first two-byte as BOM, and on
-encoding, produce BOM bytes accoding to the value of `:endian'.
+encoding, produce BOM bytes according to the value of `:endian'.
If the value is cons, on decoding, check the first two-byte. If they
are 0xFE 0xFF, use the car part coding system of the value. If they
are 0xFF 0xFE, use the cdr part coding system of the value.
Otherwise, treat them as bytes for a normal character. On encoding,
-produce BOM bytes accoding to the value of `:endian'.
+produce BOM bytes according to the value of `:endian'.
This attribute has a meaning only when `:coding-type' is `utf-16' or
`utf-8'.
@@ -1572,7 +1572,7 @@ of `ctext-non-standard-encodings-alist'.")
;; character in CHARSET is encoded using extended segment. In the
;; latter case, a character in CHARSET is encoded using normal ISO2022
;; designation sequence. If a character is not in any of CHARSETs, it
-;; is encoded using UTF-8 encoding extention.
+;; is encoded using UTF-8 encoding extension.
(defun ctext-non-standard-encodings-table ()
(let* ((table (append ctext-non-standard-encodings
@@ -1656,7 +1656,7 @@ in-place."
(insert 2)))
;; Encode this range as characters in CHARSET.
(put-text-property last-pos (point) 'charset charset))
- ;; Encode this range using UTF-8 encoding extention.
+ ;; Encode this range using UTF-8 encoding extension.
(encode-coding-region last-pos (point) 'mule-utf-8)
(save-excursion
(goto-char last-pos)
@@ -1785,7 +1785,7 @@ contents of the current buffer following point against
succeed, it checks to see if any function in `auto-coding-functions'
gives a match.
-If a coding system is specifed, the return value is a cons
+If a coding system is specified, the return value is a cons
\(CODING . SOURCE), where CODING is the specified coding system and
SOURCE is a symbol `auto-coding-alist', `auto-coding-regexp-alist',
`:coding', or `auto-coding-functions' indicating by what CODING is
diff --git a/lisp/international/ogonek.el b/lisp/international/ogonek.el
index 0da6cc614fd..cc8d1e25c66 100644
--- a/lisp/international/ogonek.el
+++ b/lisp/international/ogonek.el
@@ -284,11 +284,11 @@ The functions come in the following groups.
:type 'character
:group 'ogonek)
(defcustom ogonek-prefix-from-encoding "iso8859-2"
- "Encoding in the source file subject to prefixifation."
+ "Encoding in the source file subject to prefixation."
:type ogonek-encoding-choices
:group 'ogonek)
(defcustom ogonek-prefix-to-encoding "iso8859-2"
- "Encoding in the target file subject to deprefixifation."
+ "Encoding in the target file subject to deprefixation."
:type ogonek-encoding-choices
:group 'ogonek)
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index a29b729dcf0..3a70b1ec2a5 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -2703,7 +2703,7 @@ KEY BINDINGS FOR CONVERSION
;; Generate a half-cooked decode map (char-table) for the current
;; Quail map. An element for a character C is a key string or a list
-;; of a key strings to type to input C. The lenth of key string is at
+;; of a key strings to type to input C. The length of key string is at
;; most 2. If it is 2, more keys may be required to input C.
(defun quail-gen-decode-map ()
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index 757322aa0ce..82349761bdb 100644
--- a/lisp/international/titdic-cnv.el
+++ b/lisp/international/titdic-cnv.el
@@ -122,17 +122,17 @@ compose one Chinese character.
In this input method, you enter a Chinese character by first typing
keys corresponding to Zhuyin symbols (see the above table) followed by
-SPC, 1, 2, 3, or 4 specifing a tone (SPC:$(0?v(N(B, 1:$(0M=Vy(B, 2:$(0Dm(N(B, 3: $(0&9Vy(B,
+SPC, 1, 2, 3, or 4 specifying a tone (SPC:$(0?v(N(B, 1:$(0M=Vy(B, 2:$(0Dm(N(B, 3: $(0&9Vy(B,
4:$(0(+Vy(B).
\\<quail-translation-docstring>")
("chinese-punct-b5" "$(0O:(BB"
- "Input method for Chinese punctuations and symbols of Big5
+ "Input method for Chinese punctuation and symbols of Big5
\(`chinese-big5-1' and `chinese-big5-2').")
("chinese-punct" "$A1j(BG"
- "Input method for Chinese punctuations and symbols of GB2312
+ "Input method for Chinese punctuation and symbols of GB2312
\(`chinese-gb2312').")
("chinese-py-b5" "$(03<(BB"
@@ -203,7 +203,7 @@ compose a Chinese character.
In this input method, you enter a Chinese character by first typing
keys corresponding to Zhuyin symbols (see the above table) followed by
-SPC, 6, 3, 4, or 7 specifing a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy(B, 4:$(0(+Vy(B,
+SPC, 6, 3, 4, or 7 specifying a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy(B, 4:$(0(+Vy(B,
7:$(0M=Vy(B).
\\<quail-translation-docstring>")))
@@ -801,36 +801,36 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
(setq dic (sort dic (function (lambda (x y) (string< (car x ) (car y))))))
(dolist (elt dic)
(insert (format "(%S\t%S)\n" (car elt) (cdr elt))))
- (let ((punctuations '((";" "$(0!'!2!"!#!.!/(B" "$(G!'!2!"!#!.!/(B")
- (":" "$(0!(!+!3!%!$!&!0!1(B" "$(G!(!+!3!%!$!&!0!1(B")
- ("'" "$(0!e!d(B" "$(G!e!d(B")
- ("\"" "$(0!g!f!h!i!q(B" "$(G!g!f!h!i!q(B")
- ("\\" "$(0"`"b#M(B" "$(G"`"b#M(B")
- ("|" "$(0!6!8!:"^(B" "$(G!6!8!:"^(B")
- ("/" "$(0"_"a#L(B" "$(G"_"a#L(B")
- ("?" "$(0!)!4(B" "$(G!)!4(B")
- ("<" "$(0!R"6"A!T"H(B" "$(G!R"6"A!T"H(B")
- (">" "$(0!S"7"B!U(B" "$(G!S"7"B!U(B")
- ("[" "$(0!F!J!b!H!L!V!Z!X!\(B" "$(G!F!J!b!H!L!V!Z!X!\(B")
- ("]" "$(0!G!K!c!I!M!W![!Y!](B" "$(G!G!K!c!I!M!W![!Y!](B")
- ("{" "$(0!B!`!D(B " "$(G!B!`!D(B ")
- ("}" "$(0!C!a!E(B" "$(G!C!a!E(B")
- ("`" "$(0!j!k(B" "$(G!j!k(B")
- ("~" "$(0"D"+",!<!=(B" "$(G"D"+",!<!=(B")
- ("!" "$(0!*!5(B" "$(G!*!5(B")
- ("@" "$(0"i"n(B" "$(G"i"n(B")
- ("#" "$(0!l"-(B" "$(G!l"-(B")
- ("$" "$(0"c"l(B" "$(G"c"l(B")
- ("%" "$(0"h"m(B" "$(G"h"m(B")
- ("&" "$(0!m".(B" "$(G!m".(B")
- ("*" "$(0!n"/!o!w!x(B" "$(G!n"/!o!w!x(B")
- ("(" "$(0!>!^!@(B" "$(G!>!^!@(B")
- (")" "$(0!?!_!A(B" "$(G!?!_!A(B")
- ("-" "$(0!7!9"#"$"1"@(B" "$(G!7!9"#"$"1"@(B")
- ("_" "$(0"%"&(B" "$(G"%"&(B")
- ("=" "$(0"8"C(B" "$(G"8"C(B")
- ("+" "$(0"0"?(B" "$(G"0"?(B"))))
- (dolist (elt punctuations)
+ (let ((punctuation '((";" "$(0!'!2!"!#!.!/(B" "$(G!'!2!"!#!.!/(B")
+ (":" "$(0!(!+!3!%!$!&!0!1(B" "$(G!(!+!3!%!$!&!0!1(B")
+ ("'" "$(0!e!d(B" "$(G!e!d(B")
+ ("\"" "$(0!g!f!h!i!q(B" "$(G!g!f!h!i!q(B")
+ ("\\" "$(0"`"b#M(B" "$(G"`"b#M(B")
+ ("|" "$(0!6!8!:"^(B" "$(G!6!8!:"^(B")
+ ("/" "$(0"_"a#L(B" "$(G"_"a#L(B")
+ ("?" "$(0!)!4(B" "$(G!)!4(B")
+ ("<" "$(0!R"6"A!T"H(B" "$(G!R"6"A!T"H(B")
+ (">" "$(0!S"7"B!U(B" "$(G!S"7"B!U(B")
+ ("[" "$(0!F!J!b!H!L!V!Z!X!\(B" "$(G!F!J!b!H!L!V!Z!X!\(B")
+ ("]" "$(0!G!K!c!I!M!W![!Y!](B" "$(G!G!K!c!I!M!W![!Y!](B")
+ ("{" "$(0!B!`!D(B " "$(G!B!`!D(B ")
+ ("}" "$(0!C!a!E(B" "$(G!C!a!E(B")
+ ("`" "$(0!j!k(B" "$(G!j!k(B")
+ ("~" "$(0"D"+",!<!=(B" "$(G"D"+",!<!=(B")
+ ("!" "$(0!*!5(B" "$(G!*!5(B")
+ ("@" "$(0"i"n(B" "$(G"i"n(B")
+ ("#" "$(0!l"-(B" "$(G!l"-(B")
+ ("$" "$(0"c"l(B" "$(G"c"l(B")
+ ("%" "$(0"h"m(B" "$(G"h"m(B")
+ ("&" "$(0!m".(B" "$(G!m".(B")
+ ("*" "$(0!n"/!o!w!x(B" "$(G!n"/!o!w!x(B")
+ ("(" "$(0!>!^!@(B" "$(G!>!^!@(B")
+ (")" "$(0!?!_!A(B" "$(G!?!_!A(B")
+ ("-" "$(0!7!9"#"$"1"@(B" "$(G!7!9"#"$"1"@(B")
+ ("_" "$(0"%"&(B" "$(G"%"&(B")
+ ("=" "$(0"8"C(B" "$(G"8"C(B")
+ ("+" "$(0"0"?(B" "$(G"0"?(B"))))
+ (dolist (elt punctuation)
(insert (format "(%S %S)\n" (concat "z" (car elt))
(if big5-p (nth 1 elt) (nth 2 elt))))))
(insert ")\n")))
@@ -1017,7 +1017,7 @@ To input words of more than three letters, you type 4 keys, initials
of the first three letters and the last letter. For instance,
\"bjdt\" inputs $A11>)5gJSL((B.
-To input symbols and punctuations, type `/' followed by one of `a' to
+To input symbols and punctuation, type `/' followed by one of `a' to
`z', then select one of the candidates."))
(insert " '((\"\C-?\" . quail-delete-last-char)
(\".\" . quail-next-translation)
@@ -1179,7 +1179,7 @@ the generated Quail package is saved."
(setq tail (cdr tail)))))
(defun batch-miscdic-convert ()
- "Run `miscdic-convert' on the files remaing on the command line.
+ "Run `miscdic-convert' on the files remaining on the command line.
Use this from the command line, with `-batch';
it won't work in an interactive Emacs.
If there's an argument \"-dir\", the next argument specifies a directory
diff --git a/lisp/international/ucs-normalize.el b/lisp/international/ucs-normalize.el
index df05b355b46..8d13eb2039d 100644
--- a/lisp/international/ucs-normalize.el
+++ b/lisp/international/ucs-normalize.el
@@ -227,7 +227,7 @@ Note that Hangul are excluded.")
(eval-when-compile decomposition-pair-to-composition)))
(defun ucs-normalize-primary-composite (decomposition-pair composition-predicate)
- "Convert DECOMPOSITION-PAIR to primay composite using COMPOSITION-PREDICATE."
+ "Convert DECOMPOSITION-PAIR to primary composite using COMPOSITION-PREDICATE."
(let ((char (or (gethash decomposition-pair
ucs-normalize-decomposition-pair-to-primary-composite)
(and (<= #x1100 (car decomposition-pair))
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 977de6ac4b0..01dff91a1ff 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1162,11 +1162,10 @@ The following additional command keys are active while editing.
(unwind-protect
(let* ((message-log-max nil)
- ;; Protect global value of search rings from updating
- ;; by `read-from-minibuffer'. It should be updated only
- ;; by `isearch-update-ring' in `isearch-done', not here.
- (search-ring search-ring)
- (regexp-search-ring regexp-search-ring)
+ ;; Don't add a new search string to the search ring here
+ ;; in `read-from-minibuffer'. It should be added only
+ ;; by `isearch-update-ring' called from `isearch-done'.
+ (history-add-new-input nil)
;; Binding minibuffer-history-symbol to nil is a work-around
;; for some incompatibility with gmhist.
(minibuffer-history-symbol))
@@ -1439,12 +1438,7 @@ string. NLINES has the same meaning as in `occur'."
(interactive
(list
(cond
- (isearch-word (concat "\\b" (replace-regexp-in-string
- "\\W+" "\\W+"
- (replace-regexp-in-string
- "^\\W+\\|\\W+$" "" isearch-string)
- nil t)
- "\\b"))
+ (isearch-word (word-search-regexp isearch-string))
(isearch-regexp isearch-string)
(t (regexp-quote isearch-string)))
(if current-prefix-arg (prefix-numeric-value current-prefix-arg))))
@@ -1549,7 +1543,10 @@ If search string is empty, just beep."
(defun isearch-yank-x-selection ()
"Pull current X selection into search string."
(interactive)
- (isearch-yank-string (x-get-selection)))
+ (isearch-yank-string (x-get-selection))
+ ;; If `x-get-selection' returned the text from the active region,
+ ;; then it "used" the mark which we should hence deactivate.
+ (when select-active-regions (deactivate-mark)))
(defun isearch-mouse-2 (click)
@@ -1640,8 +1637,10 @@ Subword is used when `subword-mode' is activated. "
(if (and (eq case-fold-search t) search-upper-case)
(setq case-fold-search
(isearch-no-upper-case-p isearch-string isearch-regexp)))
- (looking-at (if isearch-regexp isearch-string
- (regexp-quote isearch-string))))
+ (looking-at (cond
+ (isearch-word (word-search-regexp isearch-string t))
+ (isearch-regexp isearch-string)
+ (t (regexp-quote isearch-string)))))
(error nil))
(or isearch-yank-flag
(<= (match-end 0)
@@ -1873,7 +1872,7 @@ the bottom."
(goto-char isearch-point))
(defun isearch-reread-key-sequence-naturally (keylist)
- "Reread key sequence KEYLIST with Isearch mode's keymap deactivated.
+ "Reread key sequence KEYLIST with an inactive Isearch-mode keymap.
Return the key sequence as a string/vector."
(isearch-unread-key-sequence keylist)
(let (overriding-terminal-local-map)
@@ -2226,7 +2225,11 @@ If there is no completion possible, say so and continue searching."
(if nonincremental "search" "I-search")
(if isearch-forward "" " backward")
(if current-input-method
- (concat " [" current-input-method-title "]: ")
+ ;; Input methods for RTL languages use RTL
+ ;; characters for their title, and that messes
+ ;; up the display of search text after the prompt.
+ (bidi-string-mark-left-to-right
+ (concat " [" current-input-method-title "]: "))
": ")
)))
(propertize (concat (upcase (substring m 0 1)) (substring m 1))
@@ -2674,25 +2677,27 @@ by other Emacs features."
;; something important did indeed change
(lazy-highlight-cleanup t) ;kill old loop & remove overlays
(setq isearch-lazy-highlight-error isearch-error)
- (when (not isearch-error)
- (setq isearch-lazy-highlight-start-limit beg
- isearch-lazy-highlight-end-limit end)
- (setq isearch-lazy-highlight-window (selected-window)
- isearch-lazy-highlight-window-start (window-start)
- isearch-lazy-highlight-window-end (window-end)
- isearch-lazy-highlight-start (point)
- isearch-lazy-highlight-end (point)
- isearch-lazy-highlight-wrapped nil
- isearch-lazy-highlight-last-string isearch-string
- isearch-lazy-highlight-case-fold-search isearch-case-fold-search
- isearch-lazy-highlight-regexp isearch-regexp
- isearch-lazy-highlight-space-regexp search-whitespace-regexp
- isearch-lazy-highlight-word isearch-word
- isearch-lazy-highlight-forward isearch-forward)
+ ;; It used to check for `(not isearch-error)' here, but actually
+ ;; lazy-highlighting might find matches to highlight even when
+ ;; `isearch-error' is non-nil. (Bug#9918)
+ (setq isearch-lazy-highlight-start-limit beg
+ isearch-lazy-highlight-end-limit end)
+ (setq isearch-lazy-highlight-window (selected-window)
+ isearch-lazy-highlight-window-start (window-start)
+ isearch-lazy-highlight-window-end (window-end)
+ isearch-lazy-highlight-start (point)
+ isearch-lazy-highlight-end (point)
+ isearch-lazy-highlight-wrapped nil
+ isearch-lazy-highlight-last-string isearch-string
+ isearch-lazy-highlight-case-fold-search isearch-case-fold-search
+ isearch-lazy-highlight-regexp isearch-regexp
+ isearch-lazy-highlight-space-regexp search-whitespace-regexp
+ isearch-lazy-highlight-word isearch-word
+ isearch-lazy-highlight-forward isearch-forward)
(unless (equal isearch-string "")
(setq isearch-lazy-highlight-timer
(run-with-idle-timer lazy-highlight-initial-delay nil
- 'isearch-lazy-highlight-update))))))
+ 'isearch-lazy-highlight-update)))))
(defun isearch-lazy-highlight-search ()
"Search ahead for the next or previous match, for lazy highlighting.
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index a96fbf9253f..21201c6cff5 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -122,7 +122,7 @@
;; t IN | INBOX
;; t In | [No match]
-;;; Customisation
+;;; Customization
;; See the User Variables section below for easy ways to change the
;; functionality of the program. These are accessible using the
diff --git a/lisp/json.el b/lisp/json.el
index 33e985abbee..2debd46c842 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -166,7 +166,7 @@ this around your call to `json-read' instead of `setq'ing it.")
(put 'json-number-format 'error-conditions
'(json-number-format json-error error))
-(put 'json-string-escape 'error-message "Bad unicode escape")
+(put 'json-string-escape 'error-message "Bad Unicode escape")
(put 'json-string-escape 'error-conditions
'(json-string-escape json-error error))
diff --git a/lisp/kmacro.el b/lisp/kmacro.el
index eea3009faf4..6915640944a 100644
--- a/lisp/kmacro.el
+++ b/lisp/kmacro.el
@@ -747,7 +747,7 @@ If kbd macro currently being defined end it before activating it."
;; 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 +
+;; the keymap 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
diff --git a/lisp/language/chinese.el b/lisp/language/chinese.el
index c44dc44581d..0e87d4d8e8c 100644
--- a/lisp/language/chinese.el
+++ b/lisp/language/chinese.el
@@ -125,7 +125,7 @@
(define-coding-system 'chinese-big5
"BIG5 8-bit encoding for Chinese (MIME:Big5)"
:coding-type 'big5
- :mnemonic ?B
+ :mnemonic ?B
:charset-list '(ascii big5)
:mime-charset 'big5)
@@ -152,7 +152,7 @@
(define-coding-system 'chinese-big5-hkscs
"BIG5-HKSCS 8-bit encoding for Chinese, Hong Kong supplement (MIME:Big5-HKSCS)"
:coding-type 'charset
- :mnemonic ?B
+ :mnemonic ?B
:charset-list '(ascii big5-hkscs)
:mime-charset 'big5-hkscs)
(define-coding-system-alias 'big5-hkscs 'chinese-big5-hkscs)
@@ -191,7 +191,7 @@
chinese-cns11643-5 chinese-cns11643-6
chinese-cns11643-7)
(iso639-language . zh)
- (setup-function . (lambda ()
+ (setup-function . (lambda ()
(use-cjk-char-width-table 'zh_TW)))
(exit-function . use-default-char-width-table)
(coding-system iso-2022-cn euc-tw)
@@ -211,7 +211,7 @@ accepts Big5 for input also (which is then converted to CNS)."))
chinese-cns11643-5 chinese-cns11643-6
chinese-cns11643-7 chinese-big5-1 chinese-big5-2)
(iso639-language . zh)
- (setup-function . (lambda ()
+ (setup-function . (lambda ()
(use-cjk-char-width-table 'zh_TW)))
(exit-function . use-default-char-width-table)
(coding-system euc-tw iso-2022-cn)
@@ -220,7 +220,7 @@ accepts Big5 for input also (which is then converted to CNS)."))
(features china-util)
(input-method . "chinese-cns-quick")
(documentation . "\
-Support for Chinese, prefering the EUC-TW character set. Note that
+Support for Chinese, preferring the EUC-TW character set. Note that
the EUC-TW coding system accepts Big5 for input also (which is then
converted to CNS)."))
'("Chinese"))
@@ -241,13 +241,13 @@ converted to CNS)."))
(set-language-info-alist
"Chinese-GBK" '((charset chinese-gbk)
(iso639-language . zh)
- (setup-function . (lambda ()
+ (setup-function . (lambda ()
(use-cjk-char-width-table 'zh_CN)))
(exit-function . use-default-char-width-table)
(coding-system chinese-gbk)
(coding-priority gbk iso-2022-cn chinese-big5
chinese-iso-8bit) ; fixme?
- (ctext-non-standard-encodings "gbk-0")
+ (ctext-non-standard-encodings "gbk-0")
(input-method . "chinese-py-punct") ; fixme?
(sample-text . "Chinese ($BCfJ8(B,$BIaDL$A;0(B,$A::So(B) $(D95$B9%(B")
(features china-util)
diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el
index 444f4d519da..306a7bee9dc 100644
--- a/lisp/language/ethio-util.el
+++ b/lisp/language/ethio-util.el
@@ -802,7 +802,7 @@ The 2nd and 3rd arguments BEGIN and END specify the region."
(forward-char 1)
(insert "}")))
- ;; Special Ethiopic punctuations.
+ ;; Special Ethiopic punctuation.
(goto-char (point-min))
(while (re-search-forward "\\ce[»\\.\\?]\\|«\\ce" nil t)
(cond
@@ -890,7 +890,7 @@ Otherwise, [0-9A-F]."
;;;###autoload
(defun ethio-find-file nil
- "Transliterate file content into Ethiopic dependig on filename suffix."
+ "Transliterate file content into Ethiopic depending on filename suffix."
(cond
((string-match "\\.sera$" (buffer-file-name))
diff --git a/lisp/language/european.el b/lisp/language/european.el
index 5bdec6dec7b..3c2cb083ff6 100644
--- a/lisp/language/european.el
+++ b/lisp/language/european.el
@@ -613,6 +613,7 @@ method and applying Turkish case rules for the characters i, I, $(D)E(B, $(D*
:mnemonic ?M
:charset-list '(mac-roman)
:mime-charset 'macintosh)
+(define-coding-system-alias 'macintosh 'mac-roman)
(define-coding-system 'next
"NeXTstep encoding"
diff --git a/lisp/language/lao-util.el b/lisp/language/lao-util.el
index 008eb92dbbc..2a339504409 100644
--- a/lisp/language/lao-util.el
+++ b/lisp/language/lao-util.el
@@ -386,7 +386,7 @@ character MAA-SAKOD-n.")
"Transcribe a Romanized Lao syllable in the region FROM and TO to Lao string.
Only the first syllable is transcribed.
The value has the form: (START END LAO-STRING), where
-START and END are the beggining and end positions of the Roman Lao syllable,
+START and END are the beginning and end positions of the Roman Lao syllable,
LAO-STRING is the Lao character transcription of it.
Optional 3rd arg STR, if non-nil, is a string to search for Roman Lao
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index b7dbcc1a956..e9943df12a8 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -124,7 +124,7 @@
(?ใ vowel-base "VOWEL SIGN SARA MAI MUAN") ; 0xE3
(?ไ vowel-base "VOWEL SIGN SARA MAI MALAI") ; 0xE4
(?ๅ vowel-base "LAK KHANG YAO") ; 0xE5
- (?ๆ special "MAI YAMOK (repetion)") ; 0xE6
+ (?ๆ special "MAI YAMOK (repetition)") ; 0xE6
(?็ sign-upper "VOWEL SIGN MAI TAI KHU N/S-T") ; 0xE7
(?่ tone "TONE MAI EK N/S-T") ; 0xE8
(?้ tone "TONE MAI THO N/S-T") ; 0xE9
diff --git a/lisp/language/tibet-util.el b/lisp/language/tibet-util.el
index 8458974e753..fd23bbb6d54 100644
--- a/lisp/language/tibet-util.el
+++ b/lisp/language/tibet-util.el
@@ -27,7 +27,7 @@
;;; History:
;; 1997.03.13 Modification in treatment of text properties;
-;; Support for some special signs and punctuations.
+;; Support for some special signs and punctuation.
;; 1999.10.25 Modification for a new composition way by K.Handa.
;;; Commentary:
diff --git a/lisp/language/tibetan.el b/lisp/language/tibetan.el
index a23645bae1f..1607868dea5 100644
--- a/lisp/language/tibetan.el
+++ b/lisp/language/tibetan.el
@@ -30,7 +30,7 @@
;;; History:
-;; 1997.03.13 Modification for special signs and punctuations.
+;; 1997.03.13 Modification for special signs and punctuation.
;;; Commentary:
@@ -44,7 +44,7 @@
;;;
;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
;;;2120 // $(7!!(B $(7!"(B $(7!#(B $(7!$(B $(7!%(B $(7!&(B $(7!'(B $(7!((B $(7!)(B $(7!*(B $(7!+(B $(7!,(B $(7!-(B $(7!.(B $(7!/(B ; obsolete glyphs (2123-5)
-;;;2130 $(7!0(B $(7!1(B $(7!2(B $(7!3(B $(7!4(B $(7!5(B $(7!6(B $(7!7(B $(7!8(B $(7!9(B $(7!:(B $(7!;(B $(7!<(B $(7!=(B $(7!>(B $(7!?(B ; Punctuations,
+;;;2130 $(7!0(B $(7!1(B $(7!2(B $(7!3(B $(7!4(B $(7!5(B $(7!6(B $(7!7(B $(7!8(B $(7!9(B $(7!:(B $(7!;(B $(7!<(B $(7!=(B $(7!>(B $(7!?(B ; Punctuation,
;;;2140 $(7!@(B $(7!A(B $(7!B(B $(7!C(B $(7!D(B $(7!E(B $(7!F(B $(7!G(B $(7!H(B $(7!I(B $(7!J(B $(7!K(B $(7!L(B $(7!M(B $(7!N(B $(7!O(B ; Digits and
;;;2150 $(7!P(B $(7!Q(B $(7!R(B $(7!S(B $(7!T(B $(7!U(B $(7!V(B $(7!W(B $(7!X(B $(7!Y(B $(7!Z(B $(7![(B $(7!\(B $(7!](B $(7!^(B $(7!_(B ; Special signs.
;;;2160 $(7!`(B $(7!a(B $(7!b(B $(7!c(B $(7!d(B $(7!e(B $(7!f(B $(7!g(B $(7!h(B $(7!i(B $(7!j(B $(7!k(B $(7!l(B $(7!m(B $(7!n(B $(7!o(B ;
@@ -424,7 +424,7 @@
))
;;; alist for Tibetan composite vowels (long i, vocalic r, etc.)
-;;; New varialble. created by Tomabechi 2000/06/08
+;;; New variable. created by Tomabechi 2000/06/08
(defconst tibetan-composite-vowel-alist
'(;; LONG A
;; ("$(7"R(B" . ((bc . tc) ?$(7"R(B))
@@ -604,7 +604,7 @@ This also matches some punctuation characters which need conversion.")
(defvar tibetan-decomposed-temp nil)
;; For automatic composition.
-(set-char-table-range
+(set-char-table-range
composition-function-table '(#xF00 . #xFD1)
(list (vector tibetan-composable-pattern 0 'font-shape-gstring)))
diff --git a/lisp/language/viet-util.el b/lisp/language/viet-util.el
index ea601c041e4..b71c65438be 100644
--- a/lisp/language/viet-util.el
+++ b/lisp/language/viet-util.el
@@ -34,7 +34,7 @@
;; for representing these characters: VISCII, TCVN-5712, VPS, VIQR,
;; and Unicode. VISCII, TCVN-5712 and VPS are simple 1-byte code
;; which assigns 134 unique characters in control-code area
-;; (0x00..0x1F) and right half area (0x80..0xFF). VIQR is a menmonic
+;; (0x00..0x1F) and right half area (0x80..0xFF). VIQR is a mnemonic
;; encoding specification representing diacritical marks by following
;; ASCII characters.
@@ -47,7 +47,7 @@
"Return VISCII character code of CHAR if appropriate."
(encode-char char 'viscii))
-;; VIQR is a menmonic encoding specification for Vietnamese.
+;; VIQR is a mnemonic encoding specification for Vietnamese.
;; It represents diacritical marks by ASCII characters as follows:
;; ------------+----------+--------
;; mark | mnemonic | example
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index 7f595db4814..858cfa85a6f 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -5,7 +5,7 @@
;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
-;;;;;; "play/5x5.el" (20119 34052))
+;;;;;; "play/5x5.el" (20168 57844))
;;; Generated autoloads from play/5x5.el
(autoload '5x5 "5x5" "\
@@ -68,7 +68,7 @@ should return a grid vector array that is the new solution.
;;;***
;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from progmodes/ada-mode.el
(autoload 'ada-add-extensions "ada-mode" "\
@@ -88,7 +88,7 @@ Ada mode is the major mode for editing Ada code.
;;;***
;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from progmodes/ada-stmt.el
(autoload 'ada-header "ada-stmt" "\
@@ -99,7 +99,7 @@ Insert a descriptive header at the top of the file.
;;;***
;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;; (20140 44371))
+;;;;;; (20176 51947))
;;; Generated autoloads from progmodes/ada-xref.el
(autoload 'ada-find-file "ada-xref" "\
@@ -114,7 +114,7 @@ Completion is available.
;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log
;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name
;;;;;; add-log-current-defun-function) "add-log" "vc/add-log.el"
-;;;;;; (20119 34052))
+;;;;;; (20033 22846))
;;; Generated autoloads from vc/add-log.el
(put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -253,7 +253,7 @@ old-style time formats for entries are supported.
;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice
;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action)
-;;;;;; "advice" "emacs-lisp/advice.el" (20119 34052))
+;;;;;; "advice" "emacs-lisp/advice.el" (20179 28130))
;;; Generated autoloads from emacs-lisp/advice.el
(defvar ad-redefinition-action 'warn "\
@@ -398,7 +398,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
;;;;;; align-highlight-rule align-current align-entire align-regexp
-;;;;;; align) "align" "align.el" (20119 34052))
+;;;;;; align) "align" "align.el" (20182 4358))
;;; Generated autoloads from align.el
(autoload 'align "align" "\
@@ -489,7 +489,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation
;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el"
-;;;;;; (20126 50779))
+;;;;;; (20178 7273))
;;; Generated autoloads from allout.el
(autoload 'allout-auto-activation-helper "allout" "\
@@ -500,7 +500,7 @@ Intended to be used as the `allout-auto-activation' :set function.
\(fn VAR VALUE)" nil nil)
(autoload 'allout-setup "allout" "\
-Do fundamental emacs session for allout auto-activation.
+Do fundamental Emacs session for allout auto-activation.
Establishes allout processing as part of visiting a file if
`allout-auto-activation' is non-nil, or removes it otherwise.
@@ -600,7 +600,7 @@ Below is a description of the key bindings, and then description
of special `allout-mode' features and terminology. See also the
outline menubar additions for quick reference to many of the
features. Customize `allout-auto-activation' to prepare your
-emacs session for automatic activation of `allout-mode'.
+Emacs session for automatic activation of `allout-mode'.
The bindings are those listed in `allout-prefixed-keybindings'
and `allout-unprefixed-keybindings'. We recommend customizing
@@ -648,7 +648,7 @@ the HOT-SPOT Operation section.
\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
current topic
\\[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and
- its' offspring -- distinctive bullets are not changed, others
+ its offspring -- distinctive bullets are not changed, others
are alternated according to nesting depth.
\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings --
the offspring are not affected.
@@ -658,12 +658,12 @@ the HOT-SPOT Operation section.
----------------------------------
\\[allout-kill-topic] `allout-kill-topic' Kill current topic, including offspring.
\\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
-\\[allout-kill-line] `allout-kill-line' kill-line, attending to outline structure.
+\\[allout-kill-line] `allout-kill-line' Kill line, attending to outline structure.
\\[allout-copy-line-as-kill] `allout-copy-line-as-kill' Copy line but don't delete it.
\\[allout-yank] `allout-yank' Yank, adjusting depth of yanked topic to
depth of heading if yanking into bare topic
heading (ie, prefix sans text).
-\\[allout-yank-pop] `allout-yank-pop' Is to allout-yank as yank-pop is to yank
+\\[allout-yank-pop] `allout-yank-pop' Is to `allout-yank' as `yank-pop' is to `yank'.
Topic-oriented Encryption:
-------------------------
@@ -806,7 +806,7 @@ PREFIX-LEAD:
When the PREFIX-LEAD is set to the comment-string of a
programming language, outline structuring can be embedded in
program code without interfering with processing of the text
- (by emacs or the language processor) as program code. This
+ (by Emacs or the language processor) as program code. This
setting happens automatically when allout mode is used in
programming-mode buffers. See `allout-use-mode-specific-leader'
docstring for more detail.
@@ -818,8 +818,8 @@ BULLET: A character at the end of the ITEM PREFIX, it must be one of
`allout-distinctive-bullets-string'. When creating a TOPIC,
plain BULLETs are by default used, according to the DEPTH of the
TOPIC. Choice among the distinctive BULLETs is offered when you
- provide a universal argugment (\\[universal-argument]) to the
- TOPIC creation command, or when explictly rebulleting a TOPIC. The
+ provide a universal argument (\\[universal-argument]) to the
+ TOPIC creation command, or when explicitly rebulleting a TOPIC. The
significance of the various distinctive bullets is purely by
convention. See the documentation for the above bullet strings for
more details.
@@ -842,7 +842,7 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be.
Activate outline mode and establish file var so it is started subsequently.
See `allout-layout' and customization of `allout-auto-activation'
-for details on preparing emacs for automatic allout activation.
+for details on preparing Emacs for automatic allout activation.
\(fn &optional ARG)" t nil)
@@ -850,7 +850,7 @@ for details on preparing emacs for automatic allout activation.
;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation
;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el"
-;;;;;; (20126 50769))
+;;;;;; (20167 36967))
;;; Generated autoloads from allout-widgets.el
(let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads))))
@@ -910,7 +910,7 @@ outline hot-spot navigation (see `allout-mode').
;;;***
;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;; "net/ange-ftp.el" (20119 34052))
+;;;;;; "net/ange-ftp.el" (20178 7273))
;;; Generated autoloads from net/ange-ftp.el
(defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -932,7 +932,7 @@ directory, so that Emacs will know its current contents.
;;;***
;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
-;;;;;; "animate" "play/animate.el" (20119 34052))
+;;;;;; "animate" "play/animate.el" (20164 60780))
;;; Generated autoloads from play/animate.el
(autoload 'animate-string "animate" "\
@@ -965,7 +965,7 @@ the buffer *Birthday-Present-for-Name*.
;;;***
;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
-;;;;;; "ansi-color" "ansi-color.el" (20119 34052))
+;;;;;; "ansi-color" "ansi-color.el" (20164 60780))
;;; Generated autoloads from ansi-color.el
(autoload 'ansi-color-for-comint-mode-on "ansi-color" "\
@@ -991,7 +991,7 @@ This is a good function to put in `comint-output-filter-functions'.
;;;***
;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules)
-;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (20119 34052))
+;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (19890 42850))
;;; Generated autoloads from progmodes/antlr-mode.el
(autoload 'antlr-show-makefile-rules "antlr-mode" "\
@@ -1027,7 +1027,7 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'.
;;;***
;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el"
-;;;;;; (20119 34052))
+;;;;;; (19956 37456))
;;; Generated autoloads from calendar/appt.el
(autoload 'appt-add "appt" "\
@@ -1050,7 +1050,7 @@ ARG is positive, otherwise off.
;;;### (autoloads (apropos-documentation apropos-value apropos-library
;;;;;; apropos apropos-documentation-property apropos-command apropos-variable
-;;;;;; apropos-read-pattern) "apropos" "apropos.el" (20119 34052))
+;;;;;; apropos-read-pattern) "apropos" "apropos.el" (20161 45793))
;;; Generated autoloads from apropos.el
(autoload 'apropos-read-pattern "apropos" "\
@@ -1120,7 +1120,8 @@ Returns list of symbols and documentation found.
(autoload 'apropos-library "apropos" "\
List the variables and functions defined by library FILE.
FILE should be one of the libraries currently loaded and should
-thus be found in `load-history'.
+thus be found in `load-history'. If `apropos-do-all' is non-nil,
+the output includes key-bindings of commands.
\(fn FILE)" t nil)
@@ -1132,7 +1133,9 @@ search for matches for that word as a substring. If it is a list of words,
search for matches for any two (or more) of those words.
With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also looks
-at the function and at the names and values of properties.
+at function definitions (arguments, documentation and body) and at the
+names and values of properties.
+
Returns list of symbols and values found.
\(fn PATTERN &optional DO-ALL)" t nil)
@@ -1144,17 +1147,19 @@ or a regexp (using some regexp special characters). If it is a word,
search for matches for that word as a substring. If it is a list of words,
search for matches for any two (or more) of those words.
-With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also use
-documentation that is not stored in the documentation file and show key
-bindings.
+Note that by default this command only searches in the file specified by
+`internal-doc-file-name'; i.e., the etc/DOC file. With \\[universal-argument] prefix,
+or if `apropos-do-all' is non-nil, it searches all currently defined
+documentation strings.
+
Returns list of symbols and documentation found.
\(fn PATTERN &optional DO-ALL)" t nil)
;;;***
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20165
+;;;;;; 31925))
;;; Generated autoloads from arc-mode.el
(autoload 'archive-mode "arc-mode" "\
@@ -1174,7 +1179,7 @@ archive.
;;;***
-;;;### (autoloads (array-mode) "array" "array.el" (20119 34052))
+;;;### (autoloads (array-mode) "array" "array.el" (19845 45374))
;;; Generated autoloads from array.el
(autoload 'array-mode "array" "\
@@ -1245,8 +1250,8 @@ Entering array mode calls the function `array-mode-hook'.
;;;***
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20172
+;;;;;; 54913))
;;; Generated autoloads from textmodes/artist.el
(autoload 'artist-mode "artist" "\
@@ -1452,8 +1457,8 @@ Keymap summary
;;;***
-;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19890
+;;;;;; 42850))
;;; Generated autoloads from progmodes/asm-mode.el
(autoload 'asm-mode "asm-mode" "\
@@ -1481,7 +1486,7 @@ Special commands:
;;;***
;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el"
-;;;;;; (20119 34052))
+;;;;;; (20089 47591))
;;; Generated autoloads from gnus/auth-source.el
(defvar auth-source-cache-expiry 7200 "\
@@ -1494,7 +1499,7 @@ let-binding.")
;;;***
;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;; (20126 50800))
+;;;;;; (20127 62865))
;;; Generated autoloads from autoarg.el
(defvar autoarg-mode nil "\
@@ -1555,7 +1560,7 @@ This is similar to `autoarg-mode' but rebinds the keypad keys
;;;***
;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;; (20119 34052))
+;;;;;; (20163 39903))
;;; Generated autoloads from progmodes/autoconf.el
(autoload 'autoconf-mode "autoconf" "\
@@ -1566,7 +1571,7 @@ Major mode for editing Autoconf configure.in files.
;;;***
;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;; "autoinsert" "autoinsert.el" (20126 50812))
+;;;;;; "autoinsert" "autoinsert.el" (20127 62865))
;;; Generated autoloads from autoinsert.el
(autoload 'auto-insert "autoinsert" "\
@@ -1606,7 +1611,7 @@ insert a template for the file depending on the mode of the buffer.
;;;### (autoloads (batch-update-autoloads update-directory-autoloads
;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el"
-;;;;;; (20119 34052))
+;;;;;; (20173 35732))
;;; Generated autoloads from emacs-lisp/autoload.el
(put 'generated-autoload-file 'safe-local-variable 'stringp)
@@ -1657,7 +1662,7 @@ should be non-nil).
;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode
;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode)
-;;;;;; "autorevert" "autorevert.el" (20126 50846))
+;;;;;; "autorevert" "autorevert.el" (20168 57844))
;;; Generated autoloads from autorevert.el
(autoload 'auto-revert-mode "autorevert" "\
@@ -1746,7 +1751,7 @@ specifies in the mode line.
;;;***
;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;; "avoid.el" (20119 34052))
+;;;;;; "avoid.el" (19845 45374))
;;; Generated autoloads from avoid.el
(defvar mouse-avoidance-mode nil "\
@@ -1787,7 +1792,7 @@ definition of \"random distance\".)
;;;***
;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;; (20126 50857))
+;;;;;; (20127 62865))
;;; Generated autoloads from battery.el
(put 'battery-mode-line-string 'risky-local-variable t)
@@ -1823,7 +1828,7 @@ seconds.
;;;***
;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
-;;;;;; "benchmark" "emacs-lisp/benchmark.el" (20119 34052))
+;;;;;; "benchmark" "emacs-lisp/benchmark.el" (19981 40664))
;;; Generated autoloads from emacs-lisp/benchmark.el
(autoload 'benchmark-run "benchmark" "\
@@ -1856,7 +1861,7 @@ For non-interactive use see also `benchmark-run' and
;;;***
;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
-;;;;;; "bibtex" "textmodes/bibtex.el" (20119 34052))
+;;;;;; "bibtex" "textmodes/bibtex.el" (20174 10230))
;;; Generated autoloads from textmodes/bibtex.el
(autoload 'bibtex-initialize "bibtex" "\
@@ -1945,7 +1950,7 @@ A prefix arg negates the value of `bibtex-search-entry-globally'.
;;;***
;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el"
-;;;;;; (20119 34052))
+;;;;;; (19863 8742))
;;; Generated autoloads from textmodes/bibtex-style.el
(autoload 'bibtex-style-mode "bibtex-style" "\
@@ -1957,10 +1962,11 @@ Major mode for editing BibTeX style files.
;;;### (autoloads (binhex-decode-region binhex-decode-region-external
;;;;;; binhex-decode-region-internal) "binhex" "mail/binhex.el"
-;;;;;; (20119 34052))
+;;;;;; (20174 10230))
;;; Generated autoloads from mail/binhex.el
-(defconst binhex-begin-line "^:...............................................................$")
+(defconst binhex-begin-line "^:...............................................................$" "\
+Regular expression matching the start of a BinHex encoded region.")
(autoload 'binhex-decode-region-internal "binhex" "\
Binhex decode region between START and END without using an external program.
@@ -1980,8 +1986,8 @@ Binhex decode region between START and END.
;;;***
-;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from play/blackbox.el
(autoload 'blackbox "blackbox" "\
@@ -2104,7 +2110,7 @@ a reflection.
;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert
;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate
;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark"
-;;;;;; "bookmark.el" (20119 34052))
+;;;;;; "bookmark.el" (20178 7273))
;;; Generated autoloads from bookmark.el
(define-key ctl-x-r-map "b" 'bookmark-jump)
(define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2305,7 +2311,7 @@ Incremental search of bookmarks, hiding the non-matches as we go.
;;;;;; browse-url-xdg-open browse-url-at-mouse browse-url-at-point
;;;;;; browse-url browse-url-of-region browse-url-of-dired-file
;;;;;; browse-url-of-buffer browse-url-of-file browse-url-browser-function)
-;;;;;; "browse-url" "net/browse-url.el" (20126 51279))
+;;;;;; "browse-url" "net/browse-url.el" (20168 57844))
;;; Generated autoloads from net/browse-url.el
(defvar browse-url-browser-function 'browse-url-default-browser "\
@@ -2618,8 +2624,8 @@ from `browse-url-elinks-wrapper'.
;;;***
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (20165
+;;;;;; 31925))
;;; Generated autoloads from play/bruce.el
(autoload 'bruce "bruce" "\
@@ -2635,7 +2641,7 @@ Return a vector containing the lines from `bruce-phrases-file'.
;;;***
;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
-;;;;;; "bs" "bs.el" (20140 44207))
+;;;;;; "bs" "bs.el" (20161 45793))
;;; Generated autoloads from bs.el
(autoload 'bs-cycle-next "bs" "\
@@ -2675,7 +2681,7 @@ name of buffer configuration.
;;;***
-;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20119 34052))
+;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20166 16092))
;;; Generated autoloads from play/bubbles.el
(autoload 'bubbles "bubbles" "\
@@ -2697,7 +2703,7 @@ columns on its right towards the left.
;;;***
;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference"
-;;;;;; "progmodes/bug-reference.el" (20127 25733))
+;;;;;; "progmodes/bug-reference.el" (20127 62865))
;;; Generated autoloads from progmodes/bug-reference.el
(put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format)))))
@@ -2721,7 +2727,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings.
;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile
;;;;;; compile-defun byte-compile-file byte-recompile-directory
;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning)
-;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20119 34052))
+;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20178 7273))
;;; Generated autoloads from emacs-lisp/bytecomp.el
(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
@@ -2841,8 +2847,8 @@ and corresponding effects.
;;;***
-;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (20119
-;;;;;; 34052))
+;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19885
+;;;;;; 24894))
;;; Generated autoloads from calendar/cal-china.el
(put 'calendar-chinese-time-zone 'risky-local-variable t)
@@ -2851,7 +2857,7 @@ and corresponding effects.
;;;***
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (20119 34052))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19885 24894))
;;; Generated autoloads from calendar/cal-dst.el
(put 'calendar-daylight-savings-starts 'risky-local-variable t)
@@ -2863,7 +2869,7 @@ and corresponding effects.
;;;***
;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el"
-;;;;;; (20119 34052))
+;;;;;; (19885 24894))
;;; Generated autoloads from calendar/cal-hebrew.el
(autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\
@@ -2879,8 +2885,8 @@ from the cursor position.
;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle
;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc
-;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20119
-;;;;;; 34052))
+;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20172
+;;;;;; 54913))
;;; Generated autoloads from calc/calc.el
(define-key ctl-x-map "*" 'calc-dispatch)
@@ -2964,8 +2970,8 @@ See Info node `(calc)Defining Functions'.
;;;***
-;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from calc/calc-undo.el
(autoload 'calc-undo "calc-undo" "\
@@ -2975,8 +2981,8 @@ See Info node `(calc)Defining Functions'.
;;;***
-;;;### (autoloads (calculator) "calculator" "calculator.el" (20140
-;;;;;; 44219))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (20141
+;;;;;; 9296))
;;; Generated autoloads from calculator.el
(autoload 'calculator "calculator" "\
@@ -2988,7 +2994,7 @@ See the documentation for `calculator-mode' for more information.
;;;***
;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20141
-;;;;;; 25678))
+;;;;;; 9296))
;;; Generated autoloads from calendar/calendar.el
(autoload 'calendar "calendar" "\
@@ -3032,7 +3038,7 @@ This function is suitable for execution in a .emacs file.
;;;***
;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
-;;;;;; "gnus/canlock.el" (20119 34052))
+;;;;;; "gnus/canlock.el" (19845 45374))
;;; Generated autoloads from gnus/canlock.el
(autoload 'canlock-insert-header "canlock" "\
@@ -3050,7 +3056,7 @@ it fails.
;;;***
;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el"
-;;;;;; (20127 25639))
+;;;;;; (20127 62865))
;;; Generated autoloads from progmodes/cap-words.el
(autoload 'capitalized-words-mode "cap-words" "\
@@ -3089,15 +3095,15 @@ Obsoletes `c-forward-into-nomenclature'.
;;;***
-;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (20119
-;;;;;; 34052))
+;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from progmodes/cc-compat.el
(put 'c-indent-level 'safe-local-variable 'integerp)
;;;***
;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;; (20139 28158))
+;;;;;; (20172 54913))
;;; Generated autoloads from progmodes/cc-engine.el
(autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -3109,7 +3115,7 @@ Return the syntactic context of the current line.
;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region
;;;;;; c-guess-buffer-no-install c-guess-buffer c-guess-no-install
-;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (20119 34052))
+;;;;;; c-guess) "cc-guess" "progmodes/cc-guess.el" (19981 40664))
;;; Generated autoloads from progmodes/cc-guess.el
(defvar c-guess-guessed-offsets-alist nil "\
@@ -3209,7 +3215,7 @@ the absolute file name of the file if STYLE-NAME is nil.
;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode
;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
-;;;;;; (20138 48832))
+;;;;;; (20168 57844))
;;; Generated autoloads from progmodes/cc-mode.el
(autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3386,7 +3392,7 @@ Key bindings:
;;;***
;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;; "progmodes/cc-styles.el" (20119 34052))
+;;;;;; "progmodes/cc-styles.el" (19981 40664))
;;; Generated autoloads from progmodes/cc-styles.el
(autoload 'c-set-style "cc-styles" "\
@@ -3437,7 +3443,7 @@ and exists only for compatibility reasons.
;;;***
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20139 28158))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20167 36967))
;;; Generated autoloads from progmodes/cc-vars.el
(put 'c-basic-offset 'safe-local-variable 'integerp)
(put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3447,7 +3453,7 @@ and exists only for compatibility reasons.
;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;; (20119 34052))
+;;;;;; (19943 25429))
;;; Generated autoloads from international/ccl.el
(autoload 'ccl-compile "ccl" "\
@@ -3708,7 +3714,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program.
;;;***
;;;### (autoloads (cconv-closure-convert) "cconv" "emacs-lisp/cconv.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from emacs-lisp/cconv.el
(autoload 'cconv-closure-convert "cconv" "\
@@ -3723,7 +3729,7 @@ Returns a form where all lambdas don't have any free variables.
;;;***
;;;### (autoloads (cfengine-auto-mode cfengine-mode cfengine3-mode)
-;;;;;; "cfengine" "progmodes/cfengine.el" (20119 34052))
+;;;;;; "cfengine" "progmodes/cfengine.el" (20168 57844))
;;; Generated autoloads from progmodes/cfengine.el
(autoload 'cfengine3-mode "cfengine" "\
@@ -3753,7 +3759,7 @@ on the buffer contents
;;;***
;;;### (autoloads (check-declare-directory check-declare-file) "check-declare"
-;;;;;; "emacs-lisp/check-declare.el" (20119 34052))
+;;;;;; "emacs-lisp/check-declare.el" (19906 31087))
;;; Generated autoloads from emacs-lisp/check-declare.el
(autoload 'check-declare-file "check-declare" "\
@@ -3778,7 +3784,7 @@ Returns non-nil if any false statements are found.
;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer
;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive
;;;;;; checkdoc-interactive checkdoc checkdoc-list-of-strings-p)
-;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (20127 23374))
+;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (20168 57844))
;;; Generated autoloads from emacs-lisp/checkdoc.el
(put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp)
(put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp)
@@ -3974,7 +3980,7 @@ checking of documentation strings.
;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer
;;;;;; encode-hz-region decode-hz-buffer decode-hz-region) "china-util"
-;;;;;; "language/china-util.el" (20119 34052))
+;;;;;; "language/china-util.el" (19845 45374))
;;; Generated autoloads from language/china-util.el
(autoload 'decode-hz-region "china-util" "\
@@ -4012,7 +4018,7 @@ Encode the text in the current buffer to HZ.
;;;***
;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;; "chistory" "chistory.el" (20119 34052))
+;;;;;; "chistory" "chistory.el" (19845 45374))
;;; Generated autoloads from chistory.el
(autoload 'repeat-matching-complex-command "chistory" "\
@@ -4051,7 +4057,7 @@ and runs the normal hook `command-history-hook'.
;;;***
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (20138 48832))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (20137 45833))
;;; Generated autoloads from emacs-lisp/cl.el
(defvar custom-print-functions nil "\
@@ -4067,7 +4073,7 @@ a future Emacs interpreter will be able to use it.")
;;;***
;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
-;;;;;; (20119 34052))
+;;;;;; (20170 64186))
;;; Generated autoloads from emacs-lisp/cl-indent.el
(autoload 'common-lisp-indent-function "cl-indent" "\
@@ -4146,7 +4152,7 @@ For example, the function `case' has an indent property
;;;***
;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from progmodes/cmacexp.el
(autoload 'c-macro-expand "cmacexp" "\
@@ -4166,8 +4172,8 @@ For use inside Lisp programs, see also `c-macro-expansion'.
;;;***
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20092
+;;;;;; 23754))
;;; Generated autoloads from cmuscheme.el
(autoload 'run-scheme "cmuscheme" "\
@@ -4187,7 +4193,7 @@ is run).
;;;***
-;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20119 34052))
+;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20175 31160))
;;; Generated autoloads from color.el
(autoload 'color-name-to-rgb "color" "\
@@ -4209,7 +4215,7 @@ If FRAME cannot display COLOR, return nil.
;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command
;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
-;;;;;; (20135 20784))
+;;;;;; (20168 57844))
;;; Generated autoloads from comint.el
(defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -4304,7 +4310,7 @@ REGEXP-GROUP is the regular expression group in REGEXP to use.
;;;***
;;;### (autoloads (compare-windows) "compare-w" "vc/compare-w.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from vc/compare-w.el
(autoload 'compare-windows "compare-w" "\
@@ -4341,8 +4347,8 @@ on third call it again advances points to the next difference and so on.
;;;;;; compilation-shell-minor-mode compilation-mode compilation-start
;;;;;; compile compilation-disable-input compile-command compilation-search-path
;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook
-;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20127
-;;;;;; 25602))
+;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20167
+;;;;;; 36967))
;;; Generated autoloads from progmodes/compile.el
(defvar compilation-mode-hook nil "\
@@ -4522,7 +4528,7 @@ This is the value of `next-error-function' in Compilation buffers.
;;;***
;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;; (20119 34052))
+;;;;;; (19886 45771))
;;; Generated autoloads from completion.el
(defvar dynamic-completion-mode nil "\
@@ -4544,7 +4550,7 @@ Enable dynamic word-completion.
;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode
;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode
;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from textmodes/conf-mode.el
(autoload 'conf-mode "conf-mode" "\
@@ -4700,7 +4706,7 @@ For details see `conf-mode'. Example:
;;;***
;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;; "cookie1" "play/cookie1.el" (20119 34052))
+;;;;;; "cookie1" "play/cookie1.el" (19845 45374))
;;; Generated autoloads from play/cookie1.el
(autoload 'cookie "cookie1" "\
@@ -4732,8 +4738,8 @@ Randomly permute the elements of VECTOR (all permutations equally likely).
;;;***
;;;### (autoloads (copyright-update-directory copyright copyright-fix-years
-;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (20119
-;;;;;; 34052))
+;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from emacs-lisp/copyright.el
(put 'copyright-at-end-flag 'safe-local-variable 'booleanp)
(put 'copyright-names-regexp 'safe-local-variable 'stringp)
@@ -4772,7 +4778,7 @@ If FIX is non-nil, run `copyright-fix-years' instead.
;;;***
;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
-;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20119 34052))
+;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20178 7273))
;;; Generated autoloads from progmodes/cperl-mode.el
(put 'cperl-indent-level 'safe-local-variable 'integerp)
(put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4971,7 +4977,7 @@ Run a `perldoc' on the word around point.
;;;***
;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
-;;;;;; (20119 34052))
+;;;;;; (20104 14925))
;;; Generated autoloads from progmodes/cpp.el
(autoload 'cpp-highlight-buffer "cpp" "\
@@ -4990,7 +4996,7 @@ Edit display information for cpp conditionals.
;;;***
;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;; (20140 44288))
+;;;;;; (20161 45793))
;;; Generated autoloads from emulation/crisp.el
(defvar crisp-mode nil "\
@@ -5016,7 +5022,7 @@ if ARG is omitted or nil.
;;;***
;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emacs-lisp/crm.el
(autoload 'completing-read-multiple "crm" "\
@@ -5051,8 +5057,8 @@ INHERIT-INPUT-METHOD.
;;;***
-;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19978
+;;;;;; 37530))
;;; Generated autoloads from textmodes/css-mode.el
(autoload 'css-mode "css-mode" "\
@@ -5063,7 +5069,7 @@ Major mode to edit Cascading Style Sheets.
;;;***
;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;; (20128 38948))
+;;;;;; (20127 62865))
;;; Generated autoloads from emulation/cua-base.el
(defvar cua-mode nil "\
@@ -5123,7 +5129,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
;;;;;; customize-mode customize customize-push-and-save customize-save-variable
;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically
;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically)
-;;;;;; "cus-edit" "cus-edit.el" (20119 34052))
+;;;;;; "cus-edit" "cus-edit.el" (20179 28130))
;;; Generated autoloads from cus-edit.el
(defvar custom-browse-sort-alphabetically nil "\
@@ -5439,8 +5445,8 @@ The format is suitable for use with `easy-menu-define'.
;;;***
;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme
-;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20119
-;;;;;; 34052))
+;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20059
+;;;;;; 26455))
;;; Generated autoloads from cus-theme.el
(autoload 'customize-create-theme "cus-theme" "\
@@ -5472,7 +5478,7 @@ omitted, a buffer named *Custom Themes* is used.
;;;***
;;;### (autoloads (cvs-status-mode) "cvs-status" "vc/cvs-status.el"
-;;;;;; (20119 34052))
+;;;;;; (20174 10230))
;;; Generated autoloads from vc/cvs-status.el
(autoload 'cvs-status-mode "cvs-status" "\
@@ -5483,7 +5489,7 @@ Mode used for cvs status output.
;;;***
;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
-;;;;;; "cwarn" "progmodes/cwarn.el" (20119 34052))
+;;;;;; "cwarn" "progmodes/cwarn.el" (20168 57844))
;;; Generated autoloads from progmodes/cwarn.el
(autoload 'cwarn-mode "cwarn" "\
@@ -5532,7 +5538,7 @@ See `cwarn-mode' for more information on Cwarn mode.
;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from language/cyril-util.el
(autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
@@ -5561,7 +5567,7 @@ If the argument is nil, we return the display table to its standard state.
;;;***
;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
-;;;;;; (20119 34052))
+;;;;;; (19989 34789))
;;; Generated autoloads from dabbrev.el
(put 'dabbrev-case-fold-search 'risky-local-variable t)
(put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5608,7 +5614,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
;;;***
;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from cedet/data-debug.el
(autoload 'data-debug-new-buffer "data-debug" "\
@@ -5618,8 +5624,8 @@ Create a new data-debug buffer with NAME.
;;;***
-;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20176
+;;;;;; 51947))
;;; Generated autoloads from net/dbus.el
(autoload 'dbus-handle-event "dbus" "\
@@ -5632,8 +5638,8 @@ If the HANDLER returns a `dbus-error', it is propagated as return message.
;;;***
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20162
+;;;;;; 63140))
;;; Generated autoloads from progmodes/dcl-mode.el
(autoload 'dcl-mode "dcl-mode" "\
@@ -5677,7 +5683,7 @@ Variables controlling indentation style and extra features:
dcl-block-begin-regexp
dcl-block-end-regexp
Regexps that match command lines that begin and end, respectively,
- a block of commmand lines that will be given extra indentation.
+ a block of command lines that will be given extra indentation.
Command lines between THEN-ELSE-ENDIF are always indented; these variables
make it possible to define other places to indent.
Set to nil to disable this feature.
@@ -5760,7 +5766,7 @@ There is some minimal font-lock support (see vars
;;;***
;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
-;;;;;; "emacs-lisp/debug.el" (20119 34052))
+;;;;;; "emacs-lisp/debug.el" (20098 62550))
;;; Generated autoloads from emacs-lisp/debug.el
(setq debugger 'debug)
@@ -5804,7 +5810,7 @@ To specify a nil argument interactively, exit with an empty minibuffer.
;;;***
;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 60780))
;;; Generated autoloads from play/decipher.el
(autoload 'decipher "decipher" "\
@@ -5833,8 +5839,8 @@ The most useful commands are:
;;;***
;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (20119
-;;;;;; 34052))
+;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (20154
+;;;;;; 24929))
;;; Generated autoloads from delim-col.el
(autoload 'delimit-columns-customize "delim-col" "\
@@ -5858,8 +5864,8 @@ START and END delimits the corners of text rectangle.
;;;***
-;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (20153
+;;;;;; 32900))
;;; Generated autoloads from progmodes/delphi.el
(autoload 'delphi-mode "delphi" "\
@@ -5910,8 +5916,8 @@ with no args, if that value is non-nil.
;;;***
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20126
-;;;;;; 50889))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from delsel.el
(defalias 'pending-delete-mode 'delete-selection-mode)
@@ -5941,7 +5947,7 @@ any selection.
;;;***
;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;; "derived" "emacs-lisp/derived.el" (20134 8296))
+;;;;;; "derived" "emacs-lisp/derived.el" (20137 12290))
;;; Generated autoloads from emacs-lisp/derived.el
(autoload 'define-derived-mode "derived" "\
@@ -6008,7 +6014,7 @@ the first time the mode is used.
;;;***
;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;; "descr-text.el" (20127 27092))
+;;;;;; "descr-text.el" (20170 13157))
;;; Generated autoloads from descr-text.el
(autoload 'describe-text-properties "descr-text" "\
@@ -6036,7 +6042,7 @@ as well as widgets, buttons, overlays, and text properties.
;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir
;;;;;; desktop-load-default desktop-read desktop-remove desktop-save
;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop"
-;;;;;; "desktop.el" (20126 50898))
+;;;;;; "desktop.el" (20165 31925))
;;; Generated autoloads from desktop.el
(defvar desktop-save-mode nil "\
@@ -6223,7 +6229,7 @@ Revert to the last loaded desktop.
;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article
;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines)
-;;;;;; "deuglify" "gnus/deuglify.el" (20119 34052))
+;;;;;; "deuglify" "gnus/deuglify.el" (19845 45374))
;;; Generated autoloads from gnus/deuglify.el
(autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\
@@ -6256,7 +6262,7 @@ Deuglify broken Outlook (Express) articles and redisplay.
;;;***
;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
-;;;;;; "calendar/diary-lib.el" (20119 34052))
+;;;;;; "calendar/diary-lib.el" (20168 57844))
;;; Generated autoloads from calendar/diary-lib.el
(autoload 'diary "diary-lib" "\
@@ -6299,7 +6305,7 @@ Major mode for editing the diary file.
;;;***
;;;### (autoloads (diff-buffer-with-file diff-backup diff diff-command
-;;;;;; diff-switches) "diff" "vc/diff.el" (20119 34052))
+;;;;;; diff-switches) "diff" "vc/diff.el" (19999 41597))
;;; Generated autoloads from vc/diff.el
(defvar diff-switches (purecopy "-c") "\
@@ -6343,7 +6349,7 @@ This requires the external program `diff' to be in your `exec-path'.
;;;***
;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el"
-;;;;;; (20127 23725))
+;;;;;; (20181 13366))
;;; Generated autoloads from vc/diff-mode.el
(autoload 'diff-mode "diff-mode" "\
@@ -6375,7 +6381,7 @@ the mode if ARG is omitted or nil.
;;;***
-;;;### (autoloads (dig) "dig" "net/dig.el" (20119 34052))
+;;;### (autoloads (dig) "dig" "net/dig.el" (19845 45374))
;;; Generated autoloads from net/dig.el
(autoload 'dig "dig" "\
@@ -6387,7 +6393,7 @@ Optional arguments are passed to `dig-invoke'.
;;;***
;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window
-;;;;;; dired dired-listing-switches) "dired" "dired.el" (20140 44600))
+;;;;;; dired dired-listing-switches) "dired" "dired.el" (20167 36967))
;;; Generated autoloads from dired.el
(defvar dired-listing-switches (purecopy "-al") "\
@@ -6509,7 +6515,7 @@ Keybindings:
;;;***
;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el"
-;;;;;; (20126 50922))
+;;;;;; (20127 62865))
;;; Generated autoloads from dirtrack.el
(autoload 'dirtrack-mode "dirtrack" "\
@@ -6539,8 +6545,8 @@ function `dirtrack-debug-mode' to turn on debugging output.
;;;***
-;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19931
+;;;;;; 11784))
;;; Generated autoloads from emacs-lisp/disass.el
(autoload 'disassemble "disass" "\
@@ -6559,7 +6565,7 @@ redefine OBJECT if it is a symbol.
;;;;;; standard-display-g1 standard-display-ascii standard-display-default
;;;;;; standard-display-8bit describe-current-display-table describe-display-table
;;;;;; set-display-table-slot display-table-slot make-display-table)
-;;;;;; "disp-table" "disp-table.el" (20119 34052))
+;;;;;; "disp-table" "disp-table.el" (19984 16846))
;;; Generated autoloads from disp-table.el
(autoload 'make-display-table "disp-table" "\
@@ -6681,7 +6687,7 @@ in `.emacs'.
;;;***
;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from play/dissociate.el
(autoload 'dissociated-press "dissociate" "\
@@ -6697,7 +6703,7 @@ Default is 2.
;;;***
-;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (20119 34052))
+;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19886 45771))
;;; Generated autoloads from dnd.el
(defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\
@@ -6718,7 +6724,7 @@ if some action was made, or nil if the URL is ignored.")
;;;***
;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode"
-;;;;;; "textmodes/dns-mode.el" (20119 34052))
+;;;;;; "textmodes/dns-mode.el" (19845 45374))
;;; Generated autoloads from textmodes/dns-mode.el
(autoload 'dns-mode "dns-mode" "\
@@ -6742,8 +6748,8 @@ Locate SOA record and increment the serial field.
;;;***
;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe
-;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20139
-;;;;;; 28158))
+;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20172
+;;;;;; 54913))
;;; Generated autoloads from doc-view.el
(autoload 'doc-view-mode-p "doc-view" "\
@@ -6789,7 +6795,7 @@ See the command `doc-view-mode' for more information on this mode.
;;;***
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20119 34052))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20077 56412))
;;; Generated autoloads from play/doctor.el
(autoload 'doctor "doctor" "\
@@ -6799,7 +6805,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
;;;***
-;;;### (autoloads (double-mode) "double" "double.el" (20126 50942))
+;;;### (autoloads (double-mode) "double" "double.el" (20127 62865))
;;; Generated autoloads from double.el
(autoload 'double-mode "double" "\
@@ -6815,7 +6821,7 @@ strings when pressed twice. See `double-map' for details.
;;;***
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (20119 34052))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19845 45374))
;;; Generated autoloads from play/dunnet.el
(autoload 'dunnet "dunnet" "\
@@ -6827,7 +6833,7 @@ Switch to *dungeon* buffer and start game.
;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap
;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode"
-;;;;;; "emacs-lisp/easy-mmode.el" (20136 49226))
+;;;;;; "emacs-lisp/easy-mmode.el" (20179 28130))
;;; Generated autoloads from emacs-lisp/easy-mmode.el
(defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
@@ -6938,8 +6944,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
;;;***
;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
-;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20119
-;;;;;; 34052))
+;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from emacs-lisp/easymenu.el
(autoload 'easy-menu-define "easymenu" "\
@@ -7093,7 +7099,7 @@ To implement dynamic menus, either call this from
;;;;;; ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer
;;;;;; ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer
;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps"
-;;;;;; "progmodes/ebnf2ps.el" (20119 34052))
+;;;;;; "progmodes/ebnf2ps.el" (20166 16092))
;;; Generated autoloads from progmodes/ebnf2ps.el
(autoload 'ebnf-customize "ebnf2ps" "\
@@ -7367,8 +7373,8 @@ See `ebnf-style-database' documentation.
;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition
;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration
;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree
-;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20119
-;;;;;; 34052))
+;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20104
+;;;;;; 14925))
;;; Generated autoloads from progmodes/ebrowse.el
(autoload 'ebrowse-tree-mode "ebrowse" "\
@@ -7517,7 +7523,7 @@ Display statistics for a class tree.
;;;***
;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;; (20119 34052))
+;;;;;; (20104 14925))
;;; Generated autoloads from ebuff-menu.el
(autoload 'electric-buffer-list "ebuff-menu" "\
@@ -7542,7 +7548,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
;;;***
;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;; "echistory.el" (20119 34052))
+;;;;;; "echistory.el" (19886 45771))
;;; Generated autoloads from echistory.el
(autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -7554,7 +7560,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
;;;***
;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el"
-;;;;;; (20119 34052))
+;;;;;; (20110 24804))
;;; Generated autoloads from gnus/ecomplete.el
(autoload 'ecomplete-setup "ecomplete" "\
@@ -7564,7 +7570,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
;;;***
-;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20131 35255))
+;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20168 57844))
;;; Generated autoloads from cedet/ede.el
(defvar global-ede-mode nil "\
@@ -7591,7 +7597,7 @@ an EDE controlled project.
;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form
;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug"
-;;;;;; "emacs-lisp/edebug.el" (20119 34052))
+;;;;;; "emacs-lisp/edebug.el" (20166 16092))
;;; Generated autoloads from emacs-lisp/edebug.el
(defvar edebug-all-defs nil "\
@@ -7664,7 +7670,7 @@ Toggle edebugging of all forms.
;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories
;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories
;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file
-;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (20119 34052))
+;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (19996 8027))
;;; Generated autoloads from vc/ediff.el
(autoload 'ediff-files "ediff" "\
@@ -7896,7 +7902,7 @@ With optional NODE, goes to that node.
;;;***
;;;### (autoloads (ediff-customize) "ediff-help" "vc/ediff-help.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from vc/ediff-help.el
(autoload 'ediff-customize "ediff-help" "\
@@ -7907,7 +7913,7 @@ With optional NODE, goes to that node.
;;;***
;;;### (autoloads (ediff-show-registry) "ediff-mult" "vc/ediff-mult.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from vc/ediff-mult.el
(autoload 'ediff-show-registry "ediff-mult" "\
@@ -7920,7 +7926,7 @@ Display Ediff's registry.
;;;***
;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
-;;;;;; "ediff-util" "vc/ediff-util.el" (20140 44390))
+;;;;;; "ediff-util" "vc/ediff-util.el" (20175 31160))
;;; Generated autoloads from vc/ediff-util.el
(autoload 'ediff-toggle-multiframe "ediff-util" "\
@@ -7941,7 +7947,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see.
;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
-;;;;;; (20119 34052))
+;;;;;; (19886 45771))
;;; Generated autoloads from edmacro.el
(autoload 'edit-kbd-macro "edmacro" "\
@@ -7990,7 +7996,7 @@ or nil, use a compact 80-column format.
;;;***
;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;; "emulation/edt.el" (20140 44303))
+;;;;;; "emulation/edt.el" (20154 24929))
;;; Generated autoloads from emulation/edt.el
(autoload 'edt-set-scroll-margins "edt" "\
@@ -8008,7 +8014,7 @@ Turn on EDT Emulation.
;;;***
;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
-;;;;;; (20119 34052))
+;;;;;; (19865 50420))
;;; Generated autoloads from ehelp.el
(autoload 'with-electric-help "ehelp" "\
@@ -8045,7 +8051,7 @@ BUFFER is put back into its original major mode.
;;;***
;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;; "eldoc" "emacs-lisp/eldoc.el" (20127 23532))
+;;;;;; "eldoc" "emacs-lisp/eldoc.el" (20161 45793))
;;; Generated autoloads from emacs-lisp/eldoc.el
(defvar eldoc-minor-mode-string (purecopy " ElDoc") "\
@@ -8092,11 +8098,15 @@ Emacs Lisp mode) that support ElDoc.")
;;;***
;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode)
-;;;;;; "electric" "electric.el" (20126 50965))
+;;;;;; "electric" "electric.el" (20168 57844))
;;; Generated autoloads from electric.el
(defvar electric-indent-chars '(10) "\
-Characters that should cause automatic reindentation.")
+Characters that should cause automatic reindentation.
+Each entry of the list can be either a character or a cons of the
+form (CHAR . PREDICATE) which means that CHAR should cause reindentation
+only if PREDICATE returns non-nil. PREDICATE is called with no arguments
+and with point before the inserted char.")
(defvar electric-indent-mode nil "\
Non-nil if Electric-Indent mode is enabled.
@@ -8156,8 +8166,8 @@ Automatically insert newlines around some chars.
;;;***
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from elide-head.el
(autoload 'elide-head "elide-head" "\
@@ -8174,7 +8184,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks.
;;;### (autoloads (elint-initialize elint-defun elint-current-buffer
;;;;;; elint-directory elint-file) "elint" "emacs-lisp/elint.el"
-;;;;;; (20119 34052))
+;;;;;; (20172 54913))
;;; Generated autoloads from emacs-lisp/elint.el
(autoload 'elint-file "elint" "\
@@ -8210,8 +8220,8 @@ optional prefix argument REINIT is non-nil.
;;;***
;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
-;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (20119
-;;;;;; 34052))
+;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (19981
+;;;;;; 40664))
;;; Generated autoloads from emacs-lisp/elp.el
(autoload 'elp-instrument-function "elp" "\
@@ -8246,7 +8256,7 @@ displayed.
;;;***
;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el"
-;;;;;; (20126 50977))
+;;;;;; (20127 62865))
;;; Generated autoloads from emacs-lock.el
(autoload 'emacs-lock-mode "emacs-lock" "\
@@ -8274,7 +8284,7 @@ Other values are interpreted as usual.
;;;***
;;;### (autoloads (report-emacs-bug-query-existing-bugs report-emacs-bug)
-;;;;;; "emacsbug" "mail/emacsbug.el" (20119 34052))
+;;;;;; "emacsbug" "mail/emacsbug.el" (20093 44623))
;;; Generated autoloads from mail/emacsbug.el
(autoload 'report-emacs-bug "emacsbug" "\
@@ -8295,7 +8305,7 @@ The result is an alist with items of the form (URL SUBJECT NO).
;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote
;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor
;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge"
-;;;;;; "vc/emerge.el" (20140 44401))
+;;;;;; "vc/emerge.el" (20141 9296))
;;; Generated autoloads from vc/emerge.el
(autoload 'emerge-files "emerge" "\
@@ -8356,7 +8366,7 @@ Emerge two RCS revisions of a file, with another revision as ancestor.
;;;***
;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
-;;;;;; "enriched" "textmodes/enriched.el" (20127 24788))
+;;;;;; "enriched" "textmodes/enriched.el" (19845 45374))
;;; Generated autoloads from textmodes/enriched.el
(autoload 'enriched-mode "enriched" "\
@@ -8391,8 +8401,8 @@ Commands:
;;;;;; epa-sign-region epa-verify-cleartext-in-region epa-verify-region
;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file
;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys
-;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20119
-;;;;;; 34052))
+;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20104
+;;;;;; 14925))
;;; Generated autoloads from epa.el
(autoload 'epa-list-keys "epa" "\
@@ -8570,7 +8580,7 @@ Insert selected KEYS after the point.
;;;***
;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify
-;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (20119 34052))
+;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19865 50420))
;;; Generated autoloads from epa-dired.el
(autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8596,7 +8606,7 @@ Encrypt marked files.
;;;***
;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
-;;;;;; "epa-file" "epa-file.el" (20119 34052))
+;;;;;; "epa-file" "epa-file.el" (20038 20303))
;;; Generated autoloads from epa-file.el
(autoload 'epa-file-handler "epa-file" "\
@@ -8618,7 +8628,7 @@ Encrypt marked files.
;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt
;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode)
-;;;;;; "epa-mail" "epa-mail.el" (20119 34052))
+;;;;;; "epa-mail" "epa-mail.el" (20043 38232))
;;; Generated autoloads from epa-mail.el
(autoload 'epa-mail-mode "epa-mail" "\
@@ -8682,7 +8692,7 @@ Minor mode to hook EasyPG into Mail mode.
;;;***
-;;;### (autoloads (epg-make-context) "epg" "epg.el" (20119 34052))
+;;;### (autoloads (epg-make-context) "epg" "epg.el" (20172 54913))
;;; Generated autoloads from epg.el
(autoload 'epg-make-context "epg" "\
@@ -8693,7 +8703,7 @@ Return a context object.
;;;***
;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration)
-;;;;;; "epg-config" "epg-config.el" (20119 34052))
+;;;;;; "epg-config" "epg-config.el" (19845 45374))
;;; Generated autoloads from epg-config.el
(autoload 'epg-configuration "epg-config" "\
@@ -8714,7 +8724,7 @@ Look at CONFIG and try to expand GROUP.
;;;***
;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
-;;;;;; "erc/erc.el" (20127 26333))
+;;;;;; "erc/erc.el" (20172 54913))
;;; Generated autoloads from erc/erc.el
(autoload 'erc-select-read-args "erc" "\
@@ -8756,33 +8766,33 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL.
;;;***
-;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (20119
-;;;;;; 34052))
+;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (20161
+;;;;;; 45793))
;;; Generated autoloads from erc/erc-autoaway.el
(autoload 'erc-autoaway-mode "erc-autoaway")
;;;***
-;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20119 34052))
+;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20093 44623))
;;; Generated autoloads from erc/erc-button.el
(autoload 'erc-button-mode "erc-button" nil t)
;;;***
-;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (20119 34052))
+;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19845 45374))
;;; Generated autoloads from erc/erc-capab.el
(autoload 'erc-capab-identify-mode "erc-capab" nil t)
;;;***
-;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (20119 34052))
+;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19845 45374))
;;; Generated autoloads from erc/erc-compat.el
(autoload 'erc-define-minor-mode "erc-compat")
;;;***
;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC)
-;;;;;; "erc-dcc" "erc/erc-dcc.el" (20119 34052))
+;;;;;; "erc-dcc" "erc/erc-dcc.el" (20179 28130))
;;; Generated autoloads from erc/erc-dcc.el
(autoload 'erc-dcc-mode "erc-dcc")
@@ -8815,7 +8825,7 @@ that subcommand.
;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list
;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action
;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from erc/erc-ezbounce.el
(autoload 'erc-cmd-ezb "erc-ezbounce" "\
@@ -8878,7 +8888,7 @@ Add EZBouncer convenience functions to ERC.
;;;***
;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (20127
-;;;;;; 26298))
+;;;;;; 62865))
;;; Generated autoloads from erc/erc-fill.el
(autoload 'erc-fill-mode "erc-fill" nil t)
@@ -8891,7 +8901,7 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'.
;;;***
;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd"
-;;;;;; "erc/erc-identd.el" (20119 34052))
+;;;;;; "erc/erc-identd.el" (19845 45374))
;;; Generated autoloads from erc/erc-identd.el
(autoload 'erc-identd-mode "erc-identd")
@@ -8913,7 +8923,7 @@ system.
;;;***
;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from erc/erc-imenu.el
(autoload 'erc-create-imenu-index "erc-imenu" "\
@@ -8923,20 +8933,20 @@ system.
;;;***
-;;;### (autoloads nil "erc-join" "erc/erc-join.el" (20119 34052))
+;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19845 45374))
;;; Generated autoloads from erc/erc-join.el
(autoload 'erc-autojoin-mode "erc-join" nil t)
;;;***
-;;;### (autoloads nil "erc-list" "erc/erc-list.el" (20119 34052))
+;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19845 45374))
;;; Generated autoloads from erc/erc-list.el
(autoload 'erc-list-mode "erc-list")
;;;***
;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log"
-;;;;;; "erc/erc-log.el" (20119 34052))
+;;;;;; "erc/erc-log.el" (20168 57844))
;;; Generated autoloads from erc/erc-log.el
(autoload 'erc-log-mode "erc-log" nil t)
@@ -8944,7 +8954,7 @@ system.
Return non-nil if logging is enabled for BUFFER.
If BUFFER is nil, the value of `current-buffer' is used.
Logging is enabled if `erc-log-channels-directory' is non-nil, the directory
-is writeable (it will be created as necessary) and
+is writable (it will be created as necessary) and
`erc-enable-logging' returns a non-nil value.
\(fn &optional BUFFER)" nil nil)
@@ -8968,7 +8978,7 @@ You can save every individual message by putting this function on
;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host
;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool
;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from erc/erc-match.el
(autoload 'erc-match-mode "erc-match")
@@ -9014,14 +9024,14 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'.
;;;***
-;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (20119 34052))
+;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19845 45374))
;;; Generated autoloads from erc/erc-menu.el
(autoload 'erc-menu-mode "erc-menu" nil t)
;;;***
;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from erc/erc-netsplit.el
(autoload 'erc-netsplit-mode "erc-netsplit")
@@ -9033,7 +9043,7 @@ Show who's gone.
;;;***
;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks"
-;;;;;; "erc/erc-networks.el" (20119 34052))
+;;;;;; "erc/erc-networks.el" (19845 45374))
;;; Generated autoloads from erc/erc-networks.el
(autoload 'erc-determine-network "erc-networks" "\
@@ -9051,13 +9061,13 @@ Interactively select a server to connect to using `erc-server-alist'.
;;;***
;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify"
-;;;;;; "erc/erc-notify.el" (20119 34052))
+;;;;;; "erc/erc-notify.el" (20161 45793))
;;; Generated autoloads from erc/erc-notify.el
(autoload 'erc-notify-mode "erc-notify" nil t)
(autoload 'erc-cmd-NOTIFY "erc-notify" "\
Change `erc-notify-list' or list current notify-list members online.
-Without args, list the current list of notificated people online,
+Without args, list the current list of notified people online,
with args, toggle notify status of people.
\(fn &rest ARGS)" nil nil)
@@ -9069,33 +9079,33 @@ with args, toggle notify status of people.
;;;***
-;;;### (autoloads nil "erc-page" "erc/erc-page.el" (20119 34052))
+;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19845 45374))
;;; Generated autoloads from erc/erc-page.el
(autoload 'erc-page-mode "erc-page")
;;;***
-;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (20119
-;;;;;; 34052))
+;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19936
+;;;;;; 52203))
;;; Generated autoloads from erc/erc-pcomplete.el
(autoload 'erc-completion-mode "erc-pcomplete" nil t)
;;;***
-;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (20119 34052))
+;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19845 45374))
;;; Generated autoloads from erc/erc-replace.el
(autoload 'erc-replace-mode "erc-replace")
;;;***
-;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (20119 34052))
+;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19845 45374))
;;; Generated autoloads from erc/erc-ring.el
(autoload 'erc-ring-mode "erc-ring" nil t)
;;;***
;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode)
-;;;;;; "erc-services" "erc/erc-services.el" (20119 34052))
+;;;;;; "erc-services" "erc/erc-services.el" (19845 45374))
;;; Generated autoloads from erc/erc-services.el
(autoload 'erc-services-mode "erc-services" nil t)
@@ -9112,14 +9122,14 @@ When called interactively, read the password using `read-passwd'.
;;;***
-;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (20119 34052))
+;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19845 45374))
;;; Generated autoloads from erc/erc-sound.el
(autoload 'erc-sound-mode "erc-sound")
;;;***
;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from erc/erc-speedbar.el
(autoload 'erc-speedbar-browser "erc-speedbar" "\
@@ -9130,21 +9140,21 @@ This will add a speedbar major display mode.
;;;***
-;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (20119
-;;;;;; 34052))
+;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from erc/erc-spelling.el
(autoload 'erc-spelling-mode "erc-spelling" nil t)
;;;***
-;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (20119 34052))
+;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19845 45374))
;;; Generated autoloads from erc/erc-stamp.el
(autoload 'erc-timestamp-mode "erc-stamp" nil t)
;;;***
;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el"
-;;;;;; (20127 26257))
+;;;;;; (20168 57844))
;;; Generated autoloads from erc/erc-track.el
(defvar erc-track-minor-mode nil "\
@@ -9170,7 +9180,7 @@ keybindings will not do anything useful.
;;;***
;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size)
-;;;;;; "erc-truncate" "erc/erc-truncate.el" (20119 34052))
+;;;;;; "erc-truncate" "erc/erc-truncate.el" (19845 45374))
;;; Generated autoloads from erc/erc-truncate.el
(autoload 'erc-truncate-mode "erc-truncate" nil t)
@@ -9190,7 +9200,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'.
;;;***
;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from erc/erc-xdcc.el
(autoload 'erc-xdcc-mode "erc-xdcc")
@@ -9203,7 +9213,7 @@ Add a file to `erc-xdcc-files'.
;;;### (autoloads (ert-describe-test ert-run-tests-interactively
;;;;;; ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest)
-;;;;;; "ert" "emacs-lisp/ert.el" (20123 28776))
+;;;;;; "ert" "emacs-lisp/ert.el" (20168 57844))
;;; Generated autoloads from emacs-lisp/ert.el
(autoload 'ert-deftest "ert" "\
@@ -9273,7 +9283,7 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test).
;;;***
;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emacs-lisp/ert-x.el
(put 'ert-with-test-buffer 'lisp-indent-function 1)
@@ -9285,8 +9295,8 @@ Kill all test buffers that are still live.
;;;***
-;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20164
+;;;;;; 60780))
;;; Generated autoloads from eshell/esh-mode.el
(autoload 'eshell-mode "esh-mode" "\
@@ -9299,7 +9309,7 @@ Emacs shell interactive mode.
;;;***
;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell"
-;;;;;; "eshell/eshell.el" (20119 34052))
+;;;;;; "eshell/eshell.el" (20116 6099))
;;; Generated autoloads from eshell/eshell.el
(autoload 'eshell "eshell" "\
@@ -9340,7 +9350,7 @@ corresponding to a successful execution.
;;;;;; visit-tags-table tags-table-mode find-tag-default-function
;;;;;; find-tag-hook tags-add-tables tags-compression-info-list
;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from progmodes/etags.el
(defvar tags-file-name nil "\
@@ -9658,7 +9668,7 @@ for \\[find-tag] (which see).
;;;;;; ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer
;;;;;; ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer
;;;;;; setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el"
-;;;;;; (20119 34052))
+;;;;;; (20175 31160))
;;; Generated autoloads from language/ethio-util.el
(autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9828,7 +9838,7 @@ With ARG, insert that many delimiters.
;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
-;;;;;; (20119 34052))
+;;;;;; (19931 11784))
;;; Generated autoloads from net/eudc.el
(autoload 'eudc-set-server "eudc" "\
@@ -9884,7 +9894,7 @@ This does nothing except loading eudc by autoload side-effect.
;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline
;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary)
-;;;;;; "eudc-bob" "net/eudc-bob.el" (20119 34052))
+;;;;;; "eudc-bob" "net/eudc-bob.el" (19845 45374))
;;; Generated autoloads from net/eudc-bob.el
(autoload 'eudc-display-generic-binary "eudc-bob" "\
@@ -9920,7 +9930,7 @@ Display a button for the JPEG DATA.
;;;***
;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
-;;;;;; "eudc-export" "net/eudc-export.el" (20119 34052))
+;;;;;; "eudc-export" "net/eudc-export.el" (20175 31160))
;;; Generated autoloads from net/eudc-export.el
(autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\
@@ -9937,7 +9947,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record.
;;;***
;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;; (20119 34052))
+;;;;;; (20162 19074))
;;; Generated autoloads from net/eudc-hotlist.el
(autoload 'eudc-edit-hotlist "eudc-hotlist" "\
@@ -9947,8 +9957,8 @@ Edit the hotlist of directory servers in a specialized buffer.
;;;***
-;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from emacs-lisp/ewoc.el
(autoload 'ewoc-create "ewoc" "\
@@ -9977,7 +9987,7 @@ fourth arg NOSEP non-nil inhibits this.
;;;### (autoloads (executable-make-buffer-file-executable-if-script-p
;;;;;; executable-self-display executable-set-magic executable-interpret
;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el"
-;;;;;; (20119 34052))
+;;;;;; (20160 63745))
;;; Generated autoloads from progmodes/executable.el
(autoload 'executable-command-find-posix-p "executable" "\
@@ -10020,18 +10030,18 @@ file modes.
;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 29468))
;;; Generated autoloads from expand.el
(autoload 'expand-add-abbrevs "expand" "\
-Add a list of abbrev to abbrev table TABLE.
+Add a list of abbreviations to abbrev table TABLE.
ABBREVS is a list of abbrev definitions; each abbrev description entry
has the form (ABBREV EXPANSION ARG).
ABBREV is the abbreviation to replace.
EXPANSION is the replacement string or a function which will make the
-expansion. For example you, could use the DMacros or skeleton packages
+expansion. For example, you could use the DMacros or skeleton packages
to generate such functions.
ARG is an optional argument which can be a number or a list of
@@ -10040,7 +10050,7 @@ beginning of the expanded text.
If ARG is a list of numbers, point is placed according to the first
member of the list, but you can visit the other specified positions
-cyclicaly with the functions `expand-jump-to-previous-slot' and
+cyclically with the functions `expand-jump-to-previous-slot' and
`expand-jump-to-next-slot'.
If ARG is omitted, point is placed at the end of the expanded text.
@@ -10069,7 +10079,7 @@ This is used only in conjunction with `expand-add-abbrevs'.
;;;***
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20119 34052))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20178 7273))
;;; Generated autoloads from progmodes/f90.el
(autoload 'f90-mode "f90" "\
@@ -10139,8 +10149,8 @@ with no args, if that value is non-nil.
;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set
;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase
;;;;;; text-scale-set face-remap-set-base face-remap-reset-base
-;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20126
-;;;;;; 41069))
+;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from face-remap.el
(autoload 'face-remap-add-relative "face-remap" "\
@@ -10280,7 +10290,7 @@ Besides the choice of face, it is the same as `buffer-face-mode'.
;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue
;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts
-;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20119 34052))
+;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (20172 54913))
;;; Generated autoloads from mail/feedmail.el
(autoload 'feedmail-send-it "feedmail" "\
@@ -10334,7 +10344,7 @@ you can set `feedmail-queue-reminder-alist' to nil.
;;;***
;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
-;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (20119 34052))
+;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (20164 60780))
;;; Generated autoloads from ffap.el
(autoload 'ffap-next "ffap" "\
@@ -10398,7 +10408,7 @@ Evaluate the forms in variable `ffap-bindings'.
;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively
;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find
;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory)
-;;;;;; "filecache" "filecache.el" (20119 34052))
+;;;;;; "filecache" "filecache.el" (19845 45374))
;;; Generated autoloads from filecache.el
(autoload 'file-cache-add-directory "filecache" "\
@@ -10458,7 +10468,7 @@ the name is considered already unique; only the second substitution
;;;;;; copy-file-locals-to-dir-locals delete-dir-local-variable
;;;;;; add-dir-local-variable delete-file-local-variable-prop-line
;;;;;; add-file-local-variable-prop-line delete-file-local-variable
-;;;;;; add-file-local-variable) "files-x" "files-x.el" (20119 34052))
+;;;;;; add-file-local-variable) "files-x" "files-x.el" (20167 36967))
;;; Generated autoloads from files-x.el
(autoload 'add-file-local-variable "files-x" "\
@@ -10523,8 +10533,8 @@ Copy directory-local variables to the -*- line.
;;;***
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20178
+;;;;;; 7273))
;;; Generated autoloads from filesets.el
(autoload 'filesets-init "filesets" "\
@@ -10535,7 +10545,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu.
;;;***
-;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (20119 34052))
+;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19845 45374))
;;; Generated autoloads from find-cmd.el
(autoload 'find-cmd "find-cmd" "\
@@ -10555,7 +10565,7 @@ result is a string that should be ready for the command line.
;;;***
;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired"
-;;;;;; "find-dired.el" (20119 34052))
+;;;;;; "find-dired.el" (19980 19797))
;;; Generated autoloads from find-dired.el
(autoload 'find-dired "find-dired" "\
@@ -10595,7 +10605,7 @@ use in place of \"-ls\" as the final argument.
;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file
;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from find-file.el
(defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\
@@ -10689,7 +10699,7 @@ Visit the file you click on in another window.
;;;;;; find-variable find-variable-noselect find-function-other-frame
;;;;;; find-function-other-window find-function find-function-noselect
;;;;;; find-function-search-for-symbol find-library) "find-func"
-;;;;;; "emacs-lisp/find-func.el" (20119 34052))
+;;;;;; "emacs-lisp/find-func.el" (20153 32815))
;;; Generated autoloads from emacs-lisp/find-func.el
(autoload 'find-library "find-func" "\
@@ -10848,7 +10858,7 @@ Define some key bindings for the find-function family of functions.
;;;***
;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
-;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (20119 34052))
+;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (19886 45771))
;;; Generated autoloads from find-lisp.el
(autoload 'find-lisp-find-dired "find-lisp" "\
@@ -10869,7 +10879,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP.
;;;***
;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords)
-;;;;;; "finder" "finder.el" (20119 34052))
+;;;;;; "finder" "finder.el" (19893 19022))
;;; Generated autoloads from finder.el
(autoload 'finder-list-keywords "finder" "\
@@ -10891,7 +10901,7 @@ Find packages matching a given keyword.
;;;***
;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;; "flow-ctrl.el" (20119 34052))
+;;;;;; "flow-ctrl.el" (19845 45374))
;;; Generated autoloads from flow-ctrl.el
(autoload 'enable-flow-control "flow-ctrl" "\
@@ -10913,7 +10923,7 @@ to get the effect of a C-q.
;;;***
;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/flow-fill.el
(autoload 'fill-flowed-encode "flow-fill" "\
@@ -10929,7 +10939,7 @@ to get the effect of a C-q.
;;;***
;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on
-;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (20119 34052))
+;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (19984 16846))
;;; Generated autoloads from progmodes/flymake.el
(autoload 'flymake-mode "flymake" "\
@@ -10958,14 +10968,14 @@ Turn flymake mode off.
;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
-;;;;;; "flyspell" "textmodes/flyspell.el" (20139 33526))
+;;;;;; "flyspell" "textmodes/flyspell.el" (20174 10230))
;;; Generated autoloads from textmodes/flyspell.el
(autoload 'flyspell-prog-mode "flyspell" "\
Turn on `flyspell-mode' for comments and strings.
\(fn)" t nil)
-(defvar flyspell-mode nil)
+(defvar flyspell-mode nil "Non-nil if Flyspell mode is enabled.")
(autoload 'flyspell-mode "flyspell" "\
Toggle on-the-fly spell checking (Flyspell mode).
@@ -11030,7 +11040,7 @@ Flyspell whole buffer.
;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;; (20140 43930))
+;;;;;; (20178 7273))
;;; Generated autoloads from follow.el
(autoload 'turn-on-follow-mode "follow" "\
@@ -11106,8 +11116,8 @@ in your `~/.emacs' file, replacing [f7] by your favorite key:
;;;***
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20127
-;;;;;; 26006))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20170
+;;;;;; 13157))
;;; Generated autoloads from mail/footnote.el
(autoload 'footnote-mode "footnote" "\
@@ -11126,7 +11136,7 @@ play around with the following keys:
;;;***
;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;; "forms" "forms.el" (20119 34052))
+;;;;;; "forms" "forms.el" (20168 57844))
;;; Generated autoloads from forms.el
(autoload 'forms-mode "forms" "\
@@ -11163,7 +11173,7 @@ Visit a file in Forms mode in other window.
;;;***
;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el"
-;;;;;; (20140 44048))
+;;;;;; (20178 7273))
;;; Generated autoloads from progmodes/fortran.el
(autoload 'fortran-mode "fortran" "\
@@ -11241,7 +11251,7 @@ with no args, if that value is non-nil.
;;;***
;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region
-;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (20119 34052))
+;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (20165 31925))
;;; Generated autoloads from play/fortune.el
(autoload 'fortune-add-fortune "fortune" "\
@@ -11290,7 +11300,7 @@ and choose the directory as the fortune-file.
;;;***
;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el"
-;;;;;; (20140 44067))
+;;;;;; (20182 4358))
;;; Generated autoloads from progmodes/gdb-mi.el
(defvar gdb-enable-debug nil "\
@@ -11357,8 +11367,8 @@ detailed description of this mode.
;;;***
;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
-;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (20119
-;;;;;; 34052))
+;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from emacs-lisp/generic.el
(defvar generic-mode-list nil "\
@@ -11435,7 +11445,7 @@ regular expression that can be used as an element of
;;;***
;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;; (20119 34052))
+;;;;;; (19906 31087))
;;; Generated autoloads from progmodes/glasses.el
(autoload 'glasses-mode "glasses" "\
@@ -11449,7 +11459,7 @@ at places they belong to.
;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error
;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el"
-;;;;;; (20119 34052))
+;;;;;; (20175 31160))
;;; Generated autoloads from gnus/gmm-utils.el
(autoload 'gmm-regexp-concat "gmm-utils" "\
@@ -11504,7 +11514,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
;;;***
;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20119 34052))
+;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20164 60780))
;;; Generated autoloads from gnus/gnus.el
(when (fboundp 'custom-autoload)
(custom-autoload 'gnus-select-method "gnus"))
@@ -11557,7 +11567,7 @@ prompt the user for the name of an NNTP server to use.
;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group
;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize
;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent"
-;;;;;; "gnus/gnus-agent.el" (20119 34052))
+;;;;;; "gnus/gnus-agent.el" (20168 57844))
;;; Generated autoloads from gnus/gnus-agent.el
(autoload 'gnus-unplugged "gnus-agent" "\
@@ -11648,7 +11658,7 @@ If CLEAN, obsolete (ignore).
;;;***
;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;; (20119 34052))
+;;;;;; (20182 4358))
;;; Generated autoloads from gnus/gnus-art.el
(autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11659,7 +11669,7 @@ Make the current buffer look like a nice article.
;;;***
;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set)
-;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (20119 34052))
+;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (19845 45374))
;;; Generated autoloads from gnus/gnus-bookmark.el
(autoload 'gnus-bookmark-set "gnus-bookmark" "\
@@ -11684,8 +11694,8 @@ deletion, or > if it is flagged for displaying.
;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group
;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active
-;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (20119
-;;;;;; 34052))
+;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from gnus/gnus-cache.el
(autoload 'gnus-jog-cache "gnus-cache" "\
@@ -11727,7 +11737,7 @@ supported.
;;;***
;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article)
-;;;;;; "gnus-delay" "gnus/gnus-delay.el" (20119 34052))
+;;;;;; "gnus-delay" "gnus/gnus-delay.el" (19931 11784))
;;; Generated autoloads from gnus/gnus-delay.el
(autoload 'gnus-delay-article "gnus-delay" "\
@@ -11763,7 +11773,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
;;;***
;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d)
-;;;;;; "gnus-diary" "gnus/gnus-diary.el" (20119 34052))
+;;;;;; "gnus-diary" "gnus/gnus-diary.el" (20161 45793))
;;; Generated autoloads from gnus/gnus-diary.el
(autoload 'gnus-user-format-function-d "gnus-diary" "\
@@ -11779,7 +11789,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
;;;***
;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el"
-;;;;;; (20119 34052))
+;;;;;; (20167 36967))
;;; Generated autoloads from gnus/gnus-dired.el
(autoload 'turn-on-gnus-dired-mode "gnus-dired" "\
@@ -11790,7 +11800,7 @@ Convenience method to turn on gnus-dired-mode.
;;;***
;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
-;;;;;; (20119 34052))
+;;;;;; (19981 40664))
;;; Generated autoloads from gnus/gnus-draft.el
(autoload 'gnus-draft-reminder "gnus-draft" "\
@@ -11802,8 +11812,8 @@ Reminder user if there are unsent drafts.
;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png
;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header
-;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20119
-;;;;;; 34052))
+;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20088
+;;;;;; 26718))
;;; Generated autoloads from gnus/gnus-fun.el
(autoload 'gnus-random-x-face "gnus-fun" "\
@@ -11848,7 +11858,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to
;;;***
;;;### (autoloads (gnus-treat-mail-gravatar gnus-treat-from-gravatar)
-;;;;;; "gnus-gravatar" "gnus/gnus-gravatar.el" (20119 34052))
+;;;;;; "gnus-gravatar" "gnus/gnus-gravatar.el" (19845 45374))
;;; Generated autoloads from gnus/gnus-gravatar.el
(autoload 'gnus-treat-from-gravatar "gnus-gravatar" "\
@@ -11866,7 +11876,7 @@ If gravatars are already displayed, remove them.
;;;***
;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;; "gnus-group" "gnus/gnus-group.el" (20119 34052))
+;;;;;; "gnus-group" "gnus/gnus-group.el" (20179 28130))
;;; Generated autoloads from gnus/gnus-group.el
(autoload 'gnus-fetch-group "gnus-group" "\
@@ -11884,7 +11894,7 @@ Pop up a frame and enter GROUP.
;;;***
;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html"
-;;;;;; "gnus/gnus-html.el" (20119 34052))
+;;;;;; "gnus/gnus-html.el" (20050 11479))
;;; Generated autoloads from gnus/gnus-html.el
(autoload 'gnus-article-html "gnus-html" "\
@@ -11900,7 +11910,7 @@ Pop up a frame and enter GROUP.
;;;***
;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/gnus-kill.el
(defalias 'gnus-batch-kill 'gnus-batch-score)
@@ -11915,7 +11925,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score
;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate
;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/gnus-ml.el
(autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\
@@ -11940,7 +11950,7 @@ Minor mode for providing mailing-list commands.
;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update
;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/gnus-mlspl.el
(autoload 'gnus-group-split-setup "gnus-mlspl" "\
@@ -12041,7 +12051,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
;;;***
;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
-;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20119 34052))
+;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20183 25152))
;;; Generated autoloads from gnus/gnus-msg.el
(autoload 'gnus-msg-mail "gnus-msg" "\
@@ -12067,7 +12077,7 @@ Like `message-reply'.
;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/gnus-picon.el
(autoload 'gnus-treat-from-picon "gnus-picon" "\
@@ -12094,7 +12104,7 @@ If picons are already displayed, remove them.
;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection
;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement
;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range"
-;;;;;; "gnus/gnus-range.el" (20119 34052))
+;;;;;; "gnus/gnus-range.el" (19845 45374))
;;; Generated autoloads from gnus/gnus-range.el
(autoload 'gnus-sorted-difference "gnus-range" "\
@@ -12162,7 +12172,7 @@ Add NUM into sorted LIST by side effect.
;;;***
;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
-;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20124 52030))
+;;;;;; "gnus-registry" "gnus/gnus-registry.el" (20143 51029))
;;; Generated autoloads from gnus/gnus-registry.el
(autoload 'gnus-registry-initialize "gnus-registry" "\
@@ -12178,8 +12188,8 @@ Install the registry hooks.
;;;***
;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
-;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (20119
-;;;;;; 34052))
+;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from gnus/gnus-sieve.el
(autoload 'gnus-sieve-update "gnus-sieve" "\
@@ -12207,7 +12217,7 @@ See the documentation for these variables and functions for details.
;;;***
;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;; (20119 34052))
+;;;;;; (20076 35541))
;;; Generated autoloads from gnus/gnus-spec.el
(autoload 'gnus-update-format "gnus-spec" "\
@@ -12218,7 +12228,7 @@ Update the format specification near point.
;;;***
;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el"
-;;;;;; (20119 34052))
+;;;;;; (20176 51947))
;;; Generated autoloads from gnus/gnus-start.el
(autoload 'gnus-declare-backend "gnus-start" "\
@@ -12229,7 +12239,7 @@ Declare back end NAME with ABILITIES as a Gnus back end.
;;;***
;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el"
-;;;;;; (20119 34052))
+;;;;;; (20172 54913))
;;; Generated autoloads from gnus/gnus-sum.el
(autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
@@ -12241,7 +12251,7 @@ BOOKMARK is a bookmark name or a bookmark record.
;;;***
;;;### (autoloads (gnus-sync-install-hooks gnus-sync-initialize)
-;;;;;; "gnus-sync" "gnus/gnus-sync.el" (20119 34052))
+;;;;;; "gnus-sync" "gnus/gnus-sync.el" (19845 45374))
;;; Generated autoloads from gnus/gnus-sync.el
(autoload 'gnus-sync-initialize "gnus-sync" "\
@@ -12257,7 +12267,7 @@ Install the sync hooks.
;;;***
;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;; (20119 34052))
+;;;;;; (20161 45793))
;;; Generated autoloads from gnus/gnus-win.el
(autoload 'gnus-add-configuration "gnus-win" "\
@@ -12268,7 +12278,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
;;;***
;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el"
-;;;;;; (20119 34052))
+;;;;;; (20176 51947))
;;; Generated autoloads from net/gnutls.el
(defvar gnutls-min-prime-bits nil "\
@@ -12284,7 +12294,7 @@ A value of nil says to use the default gnutls value.")
;;;***
-;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20119 34052))
+;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20178 7273))
;;; Generated autoloads from play/gomoku.el
(autoload 'gomoku "gomoku" "\
@@ -12312,7 +12322,7 @@ Use \\[describe-mode] for more info.
;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address
;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (20127
-;;;;;; 25813))
+;;;;;; 62865))
;;; Generated autoloads from net/goto-addr.el
(define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1")
@@ -12351,7 +12361,7 @@ Like `goto-address-mode', but only for comments and strings.
;;;***
;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve)
-;;;;;; "gravatar" "gnus/gravatar.el" (20119 34052))
+;;;;;; "gravatar" "gnus/gravatar.el" (19845 45374))
;;; Generated autoloads from gnus/gravatar.el
(autoload 'gravatar-retrieve "gravatar" "\
@@ -12369,7 +12379,7 @@ Retrieve MAIL-ADDRESS gravatar and returns it.
;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults
;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command
-;;;;;; grep-window-height) "grep" "progmodes/grep.el" (20119 34052))
+;;;;;; grep-window-height) "grep" "progmodes/grep.el" (20174 10230))
;;; Generated autoloads from progmodes/grep.el
(defvar grep-window-height nil "\
@@ -12427,9 +12437,11 @@ Any other value means to use `find -print' and `xargs'.
This variable's value takes effect when `grep-compute-defaults' is called.")
-(defvar grep-history nil)
+(defvar grep-history nil "\
+History list for grep.")
-(defvar grep-find-history nil)
+(defvar grep-find-history nil "\
+History list for grep-find.")
(autoload 'grep-process-setup "grep" "\
Setup compilation variables and buffer for `grep'.
@@ -12526,7 +12538,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'.
;;;***
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (20119 34052))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (19845 45374))
;;; Generated autoloads from gs.el
(autoload 'gs-load-image "gs" "\
@@ -12540,7 +12552,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful.
;;;***
;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
-;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20127 25495))
+;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20178 7273))
;;; Generated autoloads from progmodes/gud.el
(autoload 'gud-gdb "gud" "\
@@ -12628,8 +12640,8 @@ it if ARG is omitted or nil.
;;;***
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19889
+;;;;;; 21967))
;;; Generated autoloads from play/handwrite.el
(autoload 'handwrite "handwrite" "\
@@ -12647,7 +12659,7 @@ Variables: `handwrite-linespace' (default 12)
;;;***
;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
-;;;;;; (20119 34052))
+;;;;;; (19981 40664))
;;; Generated autoloads from play/hanoi.el
(autoload 'hanoi "hanoi" "\
@@ -12676,7 +12688,7 @@ to be updated.
;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment
;;;;;; hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment)
-;;;;;; "hashcash" "mail/hashcash.el" (20119 34052))
+;;;;;; "hashcash" "mail/hashcash.el" (19845 45374))
;;; Generated autoloads from mail/hashcash.el
(autoload 'hashcash-insert-payment "hashcash" "\
@@ -12721,7 +12733,7 @@ Prefix arg sets default accept amount temporarily.
;;;### (autoloads (scan-buf-previous-region scan-buf-next-region
;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer
;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string
-;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (20119 34052))
+;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (19845 45374))
;;; Generated autoloads from help-at-pt.el
(autoload 'help-at-pt-string "help-at-pt" "\
@@ -12851,7 +12863,7 @@ different regions. With numeric argument ARG, behaves like
;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories
;;;;;; describe-syntax describe-variable variable-at-point describe-function-1
;;;;;; find-lisp-object-file-name help-C-file-name describe-function)
-;;;;;; "help-fns" "help-fns.el" (20119 34052))
+;;;;;; "help-fns" "help-fns.el" (20161 45793))
;;; Generated autoloads from help-fns.el
(autoload 'describe-function "help-fns" "\
@@ -12931,7 +12943,7 @@ Produce a texinfo buffer with sorted doc-strings from the DOC file.
;;;***
;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from help-macro.el
(defvar three-step-help nil "\
@@ -12947,8 +12959,8 @@ gives the window that lists the options.")
;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button
;;;;;; help-make-xrefs help-buffer help-setup-xref help-mode-finish
-;;;;;; help-mode-setup help-mode) "help-mode" "help-mode.el" (20119
-;;;;;; 34052))
+;;;;;; help-mode-setup help-mode) "help-mode" "help-mode.el" (20167
+;;;;;; 36967))
;;; Generated autoloads from help-mode.el
(autoload 'help-mode "help-mode" "\
@@ -13041,7 +13053,7 @@ Add xrefs for symbols in `pp's output between FROM and TO.
;;;***
;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;; "emacs-lisp/helper.el" (20119 34052))
+;;;;;; "emacs-lisp/helper.el" (19845 45374))
;;; Generated autoloads from emacs-lisp/helper.el
(autoload 'Helper-describe-bindings "helper" "\
@@ -13057,7 +13069,7 @@ Provide help for current mode.
;;;***
;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
-;;;;;; "hexl.el" (20119 34052))
+;;;;;; "hexl.el" (19865 50420))
;;; Generated autoloads from hexl.el
(autoload 'hexl-mode "hexl" "\
@@ -13154,7 +13166,7 @@ This discards the buffer's undo information.
;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer
;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer
;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el"
-;;;;;; (20126 50093))
+;;;;;; (20127 62865))
;;; Generated autoloads from hi-lock.el
(autoload 'hi-lock-mode "hi-lock" "\
@@ -13293,7 +13305,7 @@ be found in variable `hi-lock-interactive-patterns'.
;;;***
;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el"
-;;;;;; (20127 25465))
+;;;;;; (20127 62865))
;;; Generated autoloads from progmodes/hideif.el
(autoload 'hide-ifdef-mode "hideif" "\
@@ -13337,7 +13349,7 @@ Several variables affect how the hiding is done:
;;;***
;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el"
-;;;;;; (20119 34052))
+;;;;;; (20172 54913))
;;; Generated autoloads from progmodes/hideshow.el
(defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\
@@ -13399,8 +13411,8 @@ Unconditionally turn off `hs-minor-mode'.
;;;;;; highlight-compare-buffers highlight-changes-rotate-faces
;;;;;; highlight-changes-previous-change highlight-changes-next-change
;;;;;; highlight-changes-remove-highlight highlight-changes-visible-mode
-;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20126
-;;;;;; 50110))
+;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20164
+;;;;;; 60780))
;;; Generated autoloads from hilit-chg.el
(autoload 'highlight-changes-mode "hilit-chg" "\
@@ -13535,7 +13547,7 @@ See `highlight-changes-mode' for more information on Highlight-Changes mode.
;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction
;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space
;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp"
-;;;;;; "hippie-exp.el" (20119 34052))
+;;;;;; "hippie-exp.el" (20167 36967))
;;; Generated autoloads from hippie-exp.el
(defvar hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol) "\
@@ -13608,7 +13620,7 @@ argument VERBOSE non-nil makes the function verbose.
;;;***
;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
-;;;;;; (20126 50128))
+;;;;;; (20127 62865))
;;; Generated autoloads from hl-line.el
(autoload 'hl-line-mode "hl-line" "\
@@ -13661,7 +13673,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays
;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays
;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays"
-;;;;;; "calendar/holidays.el" (20119 34052))
+;;;;;; "calendar/holidays.el" (20107 16822))
;;; Generated autoloads from calendar/holidays.el
(define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1")
@@ -13809,8 +13821,8 @@ The optional LABEL is used to label the buffer created.
;;;***
-;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20164
+;;;;;; 60780))
;;; Generated autoloads from gnus/html2text.el
(autoload 'html2text "html2text" "\
@@ -13821,7 +13833,7 @@ Convert HTML to plain text in the current buffer.
;;;***
;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer)
-;;;;;; "htmlfontify" "htmlfontify.el" (20119 34052))
+;;;;;; "htmlfontify" "htmlfontify.el" (20183 25152))
;;; Generated autoloads from htmlfontify.el
(autoload 'htmlfontify-buffer "htmlfontify" "\
@@ -13854,8 +13866,8 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'.
;;;***
;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
-;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (20119
-;;;;;; 34052))
+;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from ibuf-macs.el
(autoload 'define-ibuffer-column "ibuf-macs" "\
@@ -13952,7 +13964,7 @@ bound to the current value of the filter.
;;;***
;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;; "ibuffer" "ibuffer.el" (20126 50992))
+;;;;;; "ibuffer" "ibuffer.el" (20162 19074))
;;; Generated autoloads from ibuffer.el
(autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -13993,7 +14005,7 @@ FORMATS is the value to use for `ibuffer-formats'.
;;;### (autoloads (icalendar-import-buffer icalendar-import-file
;;;;;; icalendar-export-region icalendar-export-file) "icalendar"
-;;;;;; "calendar/icalendar.el" (20119 34052))
+;;;;;; "calendar/icalendar.el" (20164 29468))
;;; Generated autoloads from calendar/icalendar.el
(autoload 'icalendar-export-file "icalendar" "\
@@ -14045,8 +14057,8 @@ buffer `*icalendar-errors*'.
;;;***
-;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20126
-;;;;;; 50158))
+;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from icomplete.el
(defvar icomplete-mode nil "\
@@ -14068,7 +14080,7 @@ the mode if ARG is omitted or nil.
;;;***
-;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (20119 34052))
+;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19890 42850))
;;; Generated autoloads from progmodes/icon.el
(autoload 'icon-mode "icon" "\
@@ -14109,7 +14121,7 @@ with no args, if that value is non-nil.
;;;***
;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
-;;;;;; (20127 25340))
+;;;;;; (20178 7273))
;;; Generated autoloads from progmodes/idlw-shell.el
(autoload 'idlwave-shell "idlw-shell" "\
@@ -14135,7 +14147,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
;;;***
;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;; (20129 34279))
+;;;;;; (20168 57844))
;;; Generated autoloads from progmodes/idlwave.el
(autoload 'idlwave-mode "idlwave" "\
@@ -14269,8 +14281,8 @@ The main features of this mode are
;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file
;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
-;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20139
-;;;;;; 37519))
+;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20178
+;;;;;; 7273))
;;; Generated autoloads from ido.el
(defvar ido-mode nil "\
@@ -14531,7 +14543,7 @@ DEF, if non-nil, is the default value.
;;;***
-;;;### (autoloads (ielm) "ielm" "ielm.el" (20119 34052))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (20077 56412))
;;; Generated autoloads from ielm.el
(autoload 'ielm "ielm" "\
@@ -14542,7 +14554,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist.
;;;***
-;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20119 34052))
+;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (19845 45374))
;;; Generated autoloads from iimage.el
(define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1")
@@ -14559,7 +14571,7 @@ Toggle inline image minor mode.
;;;;;; create-image image-type-auto-detected-p image-type-available-p
;;;;;; image-type image-type-from-file-name image-type-from-file-header
;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el"
-;;;;;; (20119 34052))
+;;;;;; (20084 29660))
;;; Generated autoloads from image.el
(autoload 'image-type-from-data "image" "\
@@ -14756,7 +14768,7 @@ If Emacs is compiled without ImageMagick support, do nothing.
;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag
;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs
;;;;;; image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs)
-;;;;;; "image-dired" "image-dired.el" (20140 44252))
+;;;;;; "image-dired" "image-dired.el" (20168 57844))
;;; Generated autoloads from image-dired.el
(autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\
@@ -14894,7 +14906,7 @@ easy-to-use form.
;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp
;;;;;; image-file-name-regexps image-file-name-extensions) "image-file"
-;;;;;; "image-file.el" (20126 50176))
+;;;;;; "image-file.el" (20127 62865))
;;; Generated autoloads from image-file.el
(defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\
@@ -14957,7 +14969,7 @@ An image file is one whose name has an extension in
;;;***
;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode
-;;;;;; image-mode) "image-mode" "image-mode.el" (20126 50186))
+;;;;;; image-mode) "image-mode" "image-mode.el" (20160 63745))
;;; Generated autoloads from image-mode.el
(autoload 'image-mode "image-mode" "\
@@ -15002,7 +15014,7 @@ on these modes.
;;;***
;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;; imenu-sort-function) "imenu" "imenu.el" (20119 34052))
+;;;;;; imenu-sort-function) "imenu" "imenu.el" (19845 45374))
;;; Generated autoloads from imenu.el
(defvar imenu-sort-function nil "\
@@ -15119,7 +15131,7 @@ for more information.
;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion
;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region)
-;;;;;; "ind-util" "language/ind-util.el" (20119 34052))
+;;;;;; "ind-util" "language/ind-util.el" (20097 41737))
;;; Generated autoloads from language/ind-util.el
(autoload 'indian-compose-region "ind-util" "\
@@ -15151,7 +15163,7 @@ Convert old Emacs Devanagari characters to UCS.
;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
-;;;;;; "progmodes/inf-lisp.el" (20119 34052))
+;;;;;; "progmodes/inf-lisp.el" (20168 57844))
;;; Generated autoloads from progmodes/inf-lisp.el
(defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\
@@ -15218,7 +15230,7 @@ of `inferior-lisp-program'). Runs the hooks from
;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node
;;;;;; Info-mode info-finder info-apropos Info-index Info-directory
;;;;;; Info-on-current-buffer info-standalone info-emacs-manual
-;;;;;; info info-other-window) "info" "info.el" (20134 14214))
+;;;;;; info info-other-window) "info" "info.el" (20172 54913))
;;; Generated autoloads from info.el
(autoload 'info-other-window "info" "\
@@ -15404,7 +15416,7 @@ Go to Info buffer that displays MANUAL, creating it if none already exists.
;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
-;;;;;; (20119 34052))
+;;;;;; (19984 16846))
;;; Generated autoloads from info-look.el
(autoload 'info-lookup-reset "info-look" "\
@@ -15453,7 +15465,7 @@ Perform completion on file preceding point.
;;;### (autoloads (info-xref-docstrings info-xref-check-all-custom
;;;;;; info-xref-check-all info-xref-check) "info-xref" "info-xref.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from info-xref.el
(autoload 'info-xref-check "info-xref" "\
@@ -15536,7 +15548,7 @@ the sources handy.
;;;***
;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold
-;;;;;; Info-tagify) "informat" "informat.el" (20119 34052))
+;;;;;; Info-tagify) "informat" "informat.el" (19886 45771))
;;; Generated autoloads from informat.el
(autoload 'Info-tagify "informat" "\
@@ -15583,7 +15595,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\"
;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from international/isearch-x.el
(autoload 'isearch-toggle-specified-input-method "isearch-x" "\
@@ -15603,8 +15615,8 @@ Toggle input method in interactive search.
;;;***
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from isearchb.el
(autoload 'isearchb-activate "isearchb" "\
@@ -15620,7 +15632,7 @@ accessed via isearchb.
;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only
;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso
;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt"
-;;;;;; "international/iso-cvt.el" (20119 34052))
+;;;;;; "international/iso-cvt.el" (19845 45374))
;;; Generated autoloads from international/iso-cvt.el
(autoload 'iso-spanish "iso-cvt" "\
@@ -15711,7 +15723,7 @@ Add submenus to the File menu, to convert to and from various formats.
;;;***
;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from international/iso-transl.el
(or key-translation-map (setq key-translation-map (make-sparse-keymap)))
(define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
@@ -15723,7 +15735,7 @@ Add submenus to the File menu, to convert to and from various formats.
;;;;;; ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings
;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell
;;;;;; ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary)
-;;;;;; "ispell" "textmodes/ispell.el" (20139 33409))
+;;;;;; "ispell" "textmodes/ispell.el" (20178 7273))
;;; Generated autoloads from textmodes/ispell.el
(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
@@ -15949,8 +15961,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to
;;;***
-;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20126
-;;;;;; 50194))
+;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20168
+;;;;;; 57844))
;;; Generated autoloads from iswitchb.el
(defvar iswitchb-mode nil "\
@@ -15978,7 +15990,7 @@ between buffers using substrings. See `iswitchb' for details.
;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region
;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku
;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal)
-;;;;;; "japan-util" "language/japan-util.el" (20119 34052))
+;;;;;; "japan-util" "language/japan-util.el" (19845 45374))
;;; Generated autoloads from language/japan-util.el
(autoload 'setup-japanese-environment-internal "japan-util" "\
@@ -16056,7 +16068,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
;;;***
;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;; "jka-compr.el" (20119 34052))
+;;;;;; "jka-compr.el" (20000 30139))
;;; Generated autoloads from jka-compr.el
(defvar jka-compr-inhibit nil "\
@@ -16079,7 +16091,7 @@ by `jka-compr-installed'.
;;;***
-;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20119 34052))
+;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20167 36967))
;;; Generated autoloads from progmodes/js.el
(autoload 'js-mode "js" "\
@@ -16093,7 +16105,7 @@ Major mode for editing JavaScript.
;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emulation/keypad.el
(defvar keypad-setup nil "\
@@ -16149,7 +16161,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'
;;;***
;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from international/kinsoku.el
(autoload 'kinsoku "kinsoku" "\
@@ -16170,8 +16182,8 @@ the context of text formatting.
;;;***
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from international/kkc.el
(defvar kkc-after-update-conversion-functions nil "\
@@ -16196,7 +16208,7 @@ and the return value is the length of the conversion.
;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro
;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter
;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item)
-;;;;;; "kmacro" "kmacro.el" (20119 34052))
+;;;;;; "kmacro" "kmacro.el" (20164 60780))
;;; Generated autoloads from kmacro.el
(global-set-key "\C-x(" 'kmacro-start-macro)
(global-set-key "\C-x)" 'kmacro-end-macro)
@@ -16307,7 +16319,7 @@ If kbd macro currently being defined end it before activating it.
;;;***
;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;; "language/korea-util.el" (20119 34052))
+;;;;;; "language/korea-util.el" (19845 45374))
;;; Generated autoloads from language/korea-util.el
(defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\
@@ -16322,7 +16334,7 @@ If kbd macro currently being defined end it before activating it.
;;;***
;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from play/landmark.el
(defalias 'landmark-repeat 'landmark-test-run)
@@ -16354,7 +16366,7 @@ Use \\[describe-mode] for more info.
;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string
;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string)
-;;;;;; "lao-util" "language/lao-util.el" (20119 34052))
+;;;;;; "lao-util" "language/lao-util.el" (20165 31925))
;;; Generated autoloads from language/lao-util.el
(autoload 'lao-compose-string "lao-util" "\
@@ -16393,7 +16405,7 @@ Transcribe Romanized Lao string STR to Lao character string.
;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc
;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist)
-;;;;;; "latexenc" "international/latexenc.el" (20119 34052))
+;;;;;; "latexenc" "international/latexenc.el" (19845 45374))
;;; Generated autoloads from international/latexenc.el
(defvar latex-inputenc-coding-alist (purecopy '(("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\
@@ -16425,7 +16437,7 @@ coding system names is determined from `latex-inputenc-coding-alist'.
;;;***
;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
-;;;;;; "latin1-disp" "international/latin1-disp.el" (20119 34052))
+;;;;;; "latin1-disp" "international/latin1-disp.el" (19845 45374))
;;; Generated autoloads from international/latin1-disp.el
(defvar latin1-display nil "\
@@ -16467,7 +16479,7 @@ use either \\[customize] or the function `latin1-display'.")
;;;***
;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;; (20119 34052))
+;;;;;; (19961 55377))
;;; Generated autoloads from progmodes/ld-script.el
(autoload 'ld-script-mode "ld-script" "\
@@ -16478,7 +16490,7 @@ A major mode to edit GNU ld script files
;;;***
;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from ledit.el
(defconst ledit-save-files t "\
@@ -16513,7 +16525,7 @@ do (setq lisp-mode-hook 'ledit-from-lisp-mode)
;;;***
-;;;### (autoloads (life) "life" "play/life.el" (20119 34052))
+;;;### (autoloads (life) "life" "play/life.el" (19845 45374))
;;; Generated autoloads from play/life.el
(autoload 'life "life" "\
@@ -16527,7 +16539,7 @@ generations (this defaults to 1).
;;;***
;;;### (autoloads (global-linum-mode linum-mode linum-format) "linum"
-;;;;;; "linum.el" (20126 50215))
+;;;;;; "linum.el" (20127 62865))
;;; Generated autoloads from linum.el
(defvar linum-format 'dynamic "\
@@ -16572,8 +16584,8 @@ See `linum-mode' for more information on Linum mode.
;;;***
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20168
+;;;;;; 57844))
;;; Generated autoloads from loadhist.el
(autoload 'unload-feature "loadhist" "\
@@ -16605,7 +16617,7 @@ something strange, such as redefining an Emacs function.
;;;***
;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
-;;;;;; "locate" "locate.el" (20119 34052))
+;;;;;; "locate" "locate.el" (19886 45771))
;;; Generated autoloads from locate.el
(defvar locate-ls-subdir-switches (purecopy "-al") "\
@@ -16657,7 +16669,7 @@ except that FILTER is not optional.
;;;***
-;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20138 48832))
+;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20138 33157))
;;; Generated autoloads from vc/log-edit.el
(autoload 'log-edit "log-edit" "\
@@ -16684,8 +16696,8 @@ uses the current buffer.
;;;***
-;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (19946
+;;;;;; 1612))
;;; Generated autoloads from vc/log-view.el
(autoload 'log-view-mode "log-view" "\
@@ -16695,8 +16707,8 @@ Major mode for browsing CVS log output.
;;;***
-;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20126
-;;;;;; 50224))
+;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from longlines.el
(autoload 'longlines-mode "longlines" "\
@@ -16722,13 +16734,15 @@ newlines are indicated with a symbol.
;;;***
;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
-;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20119
-;;;;;; 34052))
+;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20174
+;;;;;; 10230))
;;; Generated autoloads from lpr.el
-(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)))
+(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)) "\
+Non-nil if running on MS-DOS or MS Windows.")
-(defvar lpr-lp-system (memq system-type '(usg-unix-v hpux irix)))
+(defvar lpr-lp-system (memq system-type '(usg-unix-v hpux irix)) "\
+Non-nil if running on a system type that uses the \"lp\" command.")
(defvar printer-name (and (eq system-type 'ms-dos) "PRN") "\
The name of a local printer to which data is sent for printing.
@@ -16817,7 +16831,7 @@ for further customization of the printer command.
;;;***
;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;; (20119 34052))
+;;;;;; (19886 45771))
;;; Generated autoloads from ls-lisp.el
(defvar ls-lisp-support-shell-wildcards t "\
@@ -16828,8 +16842,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).")
;;;***
-;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from calendar/lunar.el
(autoload 'lunar-phases "lunar" "\
@@ -16843,8 +16857,8 @@ This function is suitable for execution in a .emacs file.
;;;***
-;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from progmodes/m4-mode.el
(autoload 'm4-mode "m4-mode" "\
@@ -16855,7 +16869,7 @@ A major mode to edit m4 macro files.
;;;***
;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
-;;;;;; (20119 34052))
+;;;;;; (19930 13389))
;;; Generated autoloads from emacs-lisp/macroexp.el
(autoload 'macroexpand-all "macroexp" "\
@@ -16869,7 +16883,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.
;;;***
;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
-;;;;;; name-last-kbd-macro) "macros" "macros.el" (20119 34052))
+;;;;;; name-last-kbd-macro) "macros" "macros.el" (19886 45771))
;;; Generated autoloads from macros.el
(autoload 'name-last-kbd-macro "macros" "\
@@ -16958,7 +16972,7 @@ and then select the region of un-tablified names and use
;;;***
;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr"
-;;;;;; "mail/mail-extr.el" (20119 34052))
+;;;;;; "mail/mail-extr.el" (20160 63745))
;;; Generated autoloads from mail/mail-extr.el
(autoload 'mail-extract-address-components "mail-extr" "\
@@ -16990,7 +17004,7 @@ Convert mail domain DOMAIN to the country it corresponds to.
;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from mail/mail-hist.el
(autoload 'mail-hist-define-keys "mail-hist" "\
@@ -17022,7 +17036,7 @@ This function normally would be called when the message is sent.
;;;### (autoloads (mail-fetch-field mail-unquote-printable-region
;;;;;; mail-unquote-printable mail-quote-printable-region mail-quote-printable
;;;;;; mail-file-babyl-p mail-dont-reply-to-names mail-use-rfc822)
-;;;;;; "mail-utils" "mail/mail-utils.el" (20119 34052))
+;;;;;; "mail-utils" "mail/mail-utils.el" (19922 19303))
;;; Generated autoloads from mail/mail-utils.el
(defvar mail-use-rfc822 nil "\
@@ -17095,7 +17109,7 @@ matches may be returned from the message body.
;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup
;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20127
-;;;;;; 25972))
+;;;;;; 62865))
;;; Generated autoloads from mail/mailabbrev.el
(defvar mail-abbrevs-mode nil "\
@@ -17146,7 +17160,7 @@ double-quotes.
;;;### (autoloads (mail-complete mail-completion-at-point-function
;;;;;; define-mail-alias expand-mail-aliases mail-complete-style)
-;;;;;; "mailalias" "mail/mailalias.el" (20119 34052))
+;;;;;; "mailalias" "mail/mailalias.el" (19881 27850))
;;; Generated autoloads from mail/mailalias.el
(defvar mail-complete-style 'angles "\
@@ -17198,7 +17212,7 @@ current header, calls `mail-complete-function' and passes prefix ARG if any.
;;;***
;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from mail/mailclient.el
(autoload 'mailclient-send-it "mailclient" "\
@@ -17212,7 +17226,7 @@ The mail client is taken to be the handler of mailto URLs.
;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode
;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode)
-;;;;;; "make-mode" "progmodes/make-mode.el" (20119 34052))
+;;;;;; "make-mode" "progmodes/make-mode.el" (20176 51947))
;;; Generated autoloads from progmodes/make-mode.el
(autoload 'makefile-mode "make-mode" "\
@@ -17329,8 +17343,8 @@ An adapted `makefile-mode' that knows about imake.
;;;***
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19886
+;;;;;; 45771))
;;; Generated autoloads from makesum.el
(autoload 'make-command-summary "makesum" "\
@@ -17342,7 +17356,7 @@ Previous contents of that buffer are killed first.
;;;***
;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from man.el
(defalias 'manual-entry 'man)
@@ -17396,7 +17410,7 @@ Default bookmark handler for Man buffers.
;;;***
-;;;### (autoloads (master-mode) "master" "master.el" (20126 50238))
+;;;### (autoloads (master-mode) "master" "master.el" (20127 62865))
;;; Generated autoloads from master.el
(autoload 'master-mode "master" "\
@@ -17419,7 +17433,7 @@ yourself the value of `master-of' by calling `master-show-slave'.
;;;***
;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el"
-;;;;;; (20126 50247))
+;;;;;; (20127 62865))
;;; Generated autoloads from mb-depth.el
(defvar minibuffer-depth-indicate-mode nil "\
@@ -17452,7 +17466,7 @@ recursion depth in the minibuffer prompt. This is only useful if
;;;;;; message-forward-make-body message-forward message-recover
;;;;;; message-supersede message-cancel-news message-followup message-wide-reply
;;;;;; message-reply message-news message-mail message-mode) "message"
-;;;;;; "gnus/message.el" (20136 50092))
+;;;;;; "gnus/message.el" (20183 25152))
;;; Generated autoloads from gnus/message.el
(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
@@ -17618,7 +17632,7 @@ which specify the range to operate on.
;;;***
;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 60780))
;;; Generated autoloads from progmodes/meta-mode.el
(autoload 'metafont-mode "meta-mode" "\
@@ -17635,7 +17649,7 @@ Major mode for editing MetaPost sources.
;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from mail/metamail.el
(autoload 'metamail-interpret-header "metamail" "\
@@ -17680,7 +17694,7 @@ redisplayed as output is inserted.
;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose
;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp"
-;;;;;; "mh-e/mh-comp.el" (20119 34052))
+;;;;;; "mh-e/mh-comp.el" (20160 63745))
;;; Generated autoloads from mh-e/mh-comp.el
(autoload 'mh-smail "mh-comp" "\
@@ -17770,7 +17784,7 @@ delete the draft message.
;;;***
-;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20119 34052))
+;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20170 13157))
;;; Generated autoloads from mh-e/mh-e.el
(put 'mh-progs 'risky-local-variable t)
@@ -17787,7 +17801,7 @@ Display version information about MH-E and the MH mail handling system.
;;;***
;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder"
-;;;;;; "mh-e/mh-folder.el" (20119 34052))
+;;;;;; "mh-e/mh-folder.el" (20004 2139))
;;; Generated autoloads from mh-e/mh-folder.el
(autoload 'mh-rmail "mh-folder" "\
@@ -17869,7 +17883,7 @@ perform the operation on all messages in that region.
;;;***
;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;; "midnight.el" (20119 34052))
+;;;;;; "midnight.el" (19853 59245))
;;; Generated autoloads from midnight.el
(autoload 'clean-buffer-list "midnight" "\
@@ -17896,7 +17910,7 @@ to its second argument TM.
;;;***
;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
-;;;;;; "minibuf-eldef.el" (20126 50271))
+;;;;;; "minibuf-eldef.el" (20127 62865))
;;; Generated autoloads from minibuf-eldef.el
(defvar minibuffer-electric-default-mode nil "\
@@ -17926,7 +17940,7 @@ is modified to remove the default indication.
;;;***
;;;### (autoloads (list-dynamic-libraries butterfly) "misc" "misc.el"
-;;;;;; (20119 34052))
+;;;;;; (19968 28627))
;;; Generated autoloads from misc.el
(autoload 'butterfly "misc" "\
@@ -17956,7 +17970,7 @@ The return value is always nil.
;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files
;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup)
-;;;;;; "misearch" "misearch.el" (20119 34052))
+;;;;;; "misearch" "misearch.el" (20168 57844))
;;; Generated autoloads from misearch.el
(add-hook 'isearch-mode-hook 'multi-isearch-setup)
@@ -18038,7 +18052,7 @@ whose file names match the specified wildcard.
;;;***
;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20162 19074))
;;; Generated autoloads from progmodes/mixal-mode.el
(autoload 'mixal-mode "mixal-mode" "\
@@ -18049,7 +18063,7 @@ Major mode for the mixal asm language.
;;;***
;;;### (autoloads (mm-default-file-encoding) "mm-encode" "gnus/mm-encode.el"
-;;;;;; (20119 34052))
+;;;;;; (20075 14682))
;;; Generated autoloads from gnus/mm-encode.el
(autoload 'mm-default-file-encoding "mm-encode" "\
@@ -18060,7 +18074,7 @@ Return a default encoding for FILE.
;;;***
;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents)
-;;;;;; "mm-extern" "gnus/mm-extern.el" (20119 34052))
+;;;;;; "mm-extern" "gnus/mm-extern.el" (19845 45374))
;;; Generated autoloads from gnus/mm-extern.el
(autoload 'mm-extern-cache-contents "mm-extern" "\
@@ -18079,7 +18093,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
;;;***
;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/mm-partial.el
(autoload 'mm-inline-partial "mm-partial" "\
@@ -18093,7 +18107,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
;;;***
;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
-;;;;;; "mm-url" "gnus/mm-url.el" (20119 34052))
+;;;;;; "mm-url" "gnus/mm-url.el" (19877 30798))
;;; Generated autoloads from gnus/mm-url.el
(autoload 'mm-url-insert-file-contents "mm-url" "\
@@ -18110,7 +18124,7 @@ Insert file contents of URL using `mm-url-program'.
;;;***
;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu"
-;;;;;; "gnus/mm-uu.el" (20119 34052))
+;;;;;; "gnus/mm-uu.el" (19845 45374))
;;; Generated autoloads from gnus/mm-uu.el
(autoload 'mm-uu-dissect "mm-uu" "\
@@ -18130,7 +18144,7 @@ Assume text has been decoded if DECODED is non-nil.
;;;***
;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el"
-;;;;;; (20136 50092))
+;;;;;; (20183 25152))
;;; Generated autoloads from gnus/mml.el
(autoload 'mml-to-mime "mml" "\
@@ -18155,7 +18169,7 @@ body) or \"attachment\" (separate from the body).
;;;***
;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
-;;;;;; (20124 17058))
+;;;;;; (20124 236))
;;; Generated autoloads from gnus/mml1991.el
(autoload 'mml1991-encrypt "mml1991" "\
@@ -18172,7 +18186,7 @@ body) or \"attachment\" (separate from the body).
;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
-;;;;;; "mml2015" "gnus/mml2015.el" (20124 17058))
+;;;;;; "mml2015" "gnus/mml2015.el" (20124 236))
;;; Generated autoloads from gnus/mml2015.el
(autoload 'mml2015-decrypt "mml2015" "\
@@ -18212,8 +18226,8 @@ body) or \"attachment\" (separate from the body).
;;;***
-;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20159
+;;;;;; 42847))
;;; Generated autoloads from progmodes/modula2.el
(defalias 'modula-2-mode 'm2-mode)
@@ -18247,7 +18261,7 @@ followed by the first character of the construct.
;;;***
;;;### (autoloads (denato-region nato-region unmorse-region morse-region)
-;;;;;; "morse" "play/morse.el" (20119 34052))
+;;;;;; "morse" "play/morse.el" (19869 36706))
;;; Generated autoloads from play/morse.el
(autoload 'morse-region "morse" "\
@@ -18273,7 +18287,7 @@ Convert NATO phonetic alphabet in region to ordinary ASCII text.
;;;***
;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag"
-;;;;;; "mouse-drag.el" (20119 34052))
+;;;;;; "mouse-drag.el" (19890 42850))
;;; Generated autoloads from mouse-drag.el
(autoload 'mouse-drag-throw "mouse-drag" "\
@@ -18320,8 +18334,8 @@ To test this function, evaluate:
;;;***
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (20126
-;;;;;; 50277))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (20168
+;;;;;; 57844))
;;; Generated autoloads from mouse-sel.el
(defvar mouse-sel-mode nil "\
@@ -18364,7 +18378,7 @@ kill ring; mouse-1 or mouse-3 kills it.
;;;***
-;;;### (autoloads (mpc) "mpc" "mpc.el" (20120 43280))
+;;;### (autoloads (mpc) "mpc" "mpc.el" (20178 7273))
;;; Generated autoloads from mpc.el
(autoload 'mpc "mpc" "\
@@ -18374,7 +18388,7 @@ Main entry point for MPC.
;;;***
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (20119 34052))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19890 42850))
;;; Generated autoloads from play/mpuz.el
(autoload 'mpuz "mpuz" "\
@@ -18384,7 +18398,7 @@ Multiplication puzzle with GNU Emacs.
;;;***
-;;;### (autoloads (msb-mode) "msb" "msb.el" (20126 50286))
+;;;### (autoloads (msb-mode) "msb" "msb.el" (20127 62865))
;;; Generated autoloads from msb.el
(defvar msb-mode nil "\
@@ -18414,7 +18428,7 @@ different buffer menu using the function `msb'.
;;;;;; describe-current-coding-system describe-current-coding-system-briefly
;;;;;; describe-coding-system describe-character-set list-charset-chars
;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el"
-;;;;;; (20119 34052))
+;;;;;; (20160 63745))
;;; Generated autoloads from international/mule-diag.el
(autoload 'list-character-sets "mule-diag" "\
@@ -18551,7 +18565,7 @@ The default is 20. If LIMIT is negative, do not limit the listing.
;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion
;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist
;;;;;; truncate-string-to-width store-substring string-to-sequence)
-;;;;;; "mule-util" "international/mule-util.el" (20119 34052))
+;;;;;; "mule-util" "international/mule-util.el" (19845 45374))
;;; Generated autoloads from international/mule-util.el
(autoload 'string-to-sequence "mule-util" "\
@@ -18691,8 +18705,8 @@ per-character basis, this may not be accurate.
;;;### (autoloads (network-connection network-connection-to-service
;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host
;;;;;; nslookup nslookup-host ping traceroute route arp netstat
-;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (20119
-;;;;;; 34052))
+;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from net/net-utils.el
(autoload 'ifconfig "net-utils" "\
@@ -18786,8 +18800,8 @@ Open a network connection to HOST on PORT.
;;;***
-;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from net/netrc.el
(autoload 'netrc-credentials "netrc" "\
@@ -18800,7 +18814,7 @@ listed in the PORTS list.
;;;***
;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el"
-;;;;;; (20121 47865))
+;;;;;; (20122 44898))
;;; Generated autoloads from net/network-stream.el
(autoload 'open-network-stream "network-stream" "\
@@ -18896,7 +18910,7 @@ functionality.
;;;;;; uncomment-region comment-kill comment-set-column comment-indent
;;;;;; comment-indent-default comment-normalize-vars comment-multi-line
;;;;;; comment-padding comment-style comment-column) "newcomment"
-;;;;;; "newcomment.el" (20119 34052))
+;;;;;; "newcomment.el" (20087 5852))
;;; Generated autoloads from newcomment.el
(defalias 'indent-for-comment 'comment-indent)
@@ -19096,7 +19110,7 @@ unless optional argument SOFT is non-nil.
;;;***
;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend"
-;;;;;; "net/newst-backend.el" (20119 34052))
+;;;;;; "net/newst-backend.el" (19918 22236))
;;; Generated autoloads from net/newst-backend.el
(autoload 'newsticker-running-p "newst-backend" "\
@@ -19118,7 +19132,7 @@ Run `newsticker-start-hook' if newsticker was not running already.
;;;***
;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el"
-;;;;;; (20119 34052))
+;;;;;; (20167 36967))
;;; Generated autoloads from net/newst-plainview.el
(autoload 'newsticker-plainview "newst-plainview" "\
@@ -19129,7 +19143,7 @@ Start newsticker plainview.
;;;***
;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el"
-;;;;;; (20139 41953))
+;;;;;; (20094 65493))
;;; Generated autoloads from net/newst-reader.el
(autoload 'newsticker-show-news "newst-reader" "\
@@ -19140,7 +19154,7 @@ Start reading news. You may want to bind this to a key.
;;;***
;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p)
-;;;;;; "newst-ticker" "net/newst-ticker.el" (20119 34052))
+;;;;;; "newst-ticker" "net/newst-ticker.el" (19845 45374))
;;; Generated autoloads from net/newst-ticker.el
(autoload 'newsticker-ticker-running-p "newst-ticker" "\
@@ -19161,7 +19175,7 @@ running already.
;;;***
;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el"
-;;;;;; (20141 61905))
+;;;;;; (20168 57844))
;;; Generated autoloads from net/newst-treeview.el
(autoload 'newsticker-treeview "newst-treeview" "\
@@ -19172,7 +19186,7 @@ Start newsticker treeview.
;;;***
;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from gnus/nndiary.el
(autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -19182,8 +19196,8 @@ Generate NOV databases in all nndiary directories.
;;;***
-;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from gnus/nndoc.el
(autoload 'nndoc-add-type "nndoc" "\
@@ -19198,7 +19212,7 @@ symbol in the alist.
;;;***
;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/nnfolder.el
(autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -19210,7 +19224,7 @@ This command does not work if you use short group names.
;;;***
;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from gnus/nnml.el
(autoload 'nnml-generate-nov-databases "nnml" "\
@@ -19221,7 +19235,7 @@ Generate NOV databases in all nnml directories.
;;;***
;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;; "novice" "novice.el" (20119 34052))
+;;;;;; "novice" "novice.el" (19845 45374))
;;; Generated autoloads from novice.el
(defvar disabled-command-function 'disabled-command-function "\
@@ -19254,7 +19268,7 @@ to future sessions.
;;;***
;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
-;;;;;; (20127 24590))
+;;;;;; (20127 62865))
;;; Generated autoloads from textmodes/nroff-mode.el
(autoload 'nroff-mode "nroff-mode" "\
@@ -19269,7 +19283,7 @@ closing requests for requests that are used in matched pairs.
;;;***
;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from nxml/nxml-glyph.el
(autoload 'nxml-glyph-display-string "nxml-glyph" "\
@@ -19281,8 +19295,8 @@ Return nil if the face cannot display a glyph for N.
;;;***
-;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19927
+;;;;;; 37225))
;;; Generated autoloads from nxml/nxml-mode.el
(autoload 'nxml-mode "nxml-mode" "\
@@ -19344,7 +19358,7 @@ Many aspects this mode can be customized using
;;;***
;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm"
-;;;;;; "nxml/nxml-uchnm.el" (20119 34052))
+;;;;;; "nxml/nxml-uchnm.el" (19845 45374))
;;; Generated autoloads from nxml/nxml-uchnm.el
(autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\
@@ -19367,7 +19381,7 @@ the variable `nxml-enabled-unicode-blocks'.
;;;;;; org-babel-pop-to-session-maybe org-babel-load-in-session-maybe
;;;;;; org-babel-expand-src-block-maybe org-babel-view-src-block-info
;;;;;; org-babel-execute-maybe org-babel-execute-safely-maybe) "ob"
-;;;;;; "org/ob.el" (20119 34052))
+;;;;;; "org/ob.el" (20174 10230))
;;; Generated autoloads from org/ob.el
(autoload 'org-babel-execute-safely-maybe "ob" "\
@@ -19414,7 +19428,7 @@ Insert the results of execution into the buffer. Source code
execution and the collection and formatting of results can be
controlled through a variety of header arguments.
-With prefix argument ARG, force re-execution even if a an
+With prefix argument ARG, force re-execution even if an
existing result cached in the buffer would otherwise have been
returned.
@@ -19570,7 +19584,7 @@ Mark current src block
;;;***
;;;### (autoloads (org-babel-describe-bindings) "ob-keys" "org/ob-keys.el"
-;;;;;; (20119 34052))
+;;;;;; (20045 30710))
;;; Generated autoloads from org/ob-keys.el
(autoload 'org-babel-describe-bindings "ob-keys" "\
@@ -19581,7 +19595,7 @@ Describe all keybindings behind `org-babel-key-prefix'.
;;;***
;;;### (autoloads (org-babel-lob-get-info org-babel-lob-execute-maybe
-;;;;;; org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20119 34052))
+;;;;;; org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20045 31431))
;;; Generated autoloads from org/ob-lob.el
(autoload 'org-babel-lob-ingest "ob-lob" "\
@@ -19606,7 +19620,7 @@ Return a Library of Babel function call as a string.
;;;### (autoloads (org-babel-tangle org-babel-tangle-file org-babel-load-file
;;;;;; org-babel-tangle-lang-exts) "ob-tangle" "org/ob-tangle.el"
-;;;;;; (20119 34052))
+;;;;;; (20045 30712))
;;; Generated autoloads from org/ob-tangle.el
(defvar org-babel-tangle-lang-exts '(("emacs-lisp" . "el")) "\
@@ -19648,7 +19662,7 @@ exported source code blocks by language.
;;;***
;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
-;;;;;; (20136 50092))
+;;;;;; (20135 56947))
;;; Generated autoloads from progmodes/octave-inf.el
(autoload 'inferior-octave "octave-inf" "\
@@ -19671,7 +19685,7 @@ startup file, `~/.emacs-octave'.
;;;***
;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;; (20136 50092))
+;;;;;; (20135 56947))
;;; Generated autoloads from progmodes/octave-mod.el
(autoload 'octave-mode "octave-mod" "\
@@ -19759,7 +19773,7 @@ including a reproducible test case and send the message.
;;;;;; org-insert-link-global org-store-link org-run-like-in-org-mode
;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle
;;;;;; org-mode org-babel-do-load-languages) "org" "org/org.el"
-;;;;;; (20119 34052))
+;;;;;; (20170 13157))
;;; Generated autoloads from org/org.el
(autoload 'org-babel-do-load-languages "org" "\
@@ -19983,7 +19997,7 @@ Call the customize function with org as argument.
;;;;;; org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list
;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views
;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda
-;;;;;; org-agenda) "org-agenda" "org/org-agenda.el" (20119 34052))
+;;;;;; org-agenda) "org-agenda" "org/org-agenda.el" (20178 7273))
;;; Generated autoloads from org/org-agenda.el
(autoload 'org-agenda "org-agenda" "\
@@ -20228,7 +20242,7 @@ belonging to the \"Work\" category.
;;;### (autoloads (org-archive-subtree-default-with-confirmation
;;;;;; org-archive-subtree-default) "org-archive" "org/org-archive.el"
-;;;;;; (20119 34052))
+;;;;;; (20045 30713))
;;; Generated autoloads from org/org-archive.el
(autoload 'org-archive-subtree-default "org-archive" "\
@@ -20248,8 +20262,8 @@ This command is set with the variable `org-archive-default-command'.
;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii
;;;;;; org-replace-region-by-ascii org-export-as-ascii-to-buffer
;;;;;; org-export-as-utf8-to-buffer org-export-as-utf8 org-export-as-latin1-to-buffer
-;;;;;; org-export-as-latin1) "org-ascii" "org/org-ascii.el" (20119
-;;;;;; 34052))
+;;;;;; org-export-as-latin1) "org-ascii" "org/org-ascii.el" (20045
+;;;;;; 30713))
;;; Generated autoloads from org/org-ascii.el
(autoload 'org-export-as-latin1 "org-ascii" "\
@@ -20322,8 +20336,8 @@ publishing directory.
;;;***
-;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (20045
+;;;;;; 30713))
;;; Generated autoloads from org/org-attach.el
(autoload 'org-attach "org-attach" "\
@@ -20335,7 +20349,7 @@ Shows a list of commands and prompts for another key to execute a command.
;;;***
;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 29468))
;;; Generated autoloads from org/org-bbdb.el
(autoload 'org-bbdb-anniversaries "org-bbdb" "\
@@ -20346,7 +20360,7 @@ Extract anniversaries from BBDB for display in the agenda.
;;;***
;;;### (autoloads (org-capture-import-remember-templates org-capture-insert-template-here
-;;;;;; org-capture) "org-capture" "org/org-capture.el" (20119 34052))
+;;;;;; org-capture) "org-capture" "org/org-capture.el" (20168 57844))
;;; Generated autoloads from org/org-capture.el
(autoload 'org-capture "org-capture" "\
@@ -20384,7 +20398,7 @@ Set org-capture-templates to be similar to `org-remember-templates'.
;;;***
;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
-;;;;;; "org-clock" "org/org-clock.el" (20119 34052))
+;;;;;; "org-clock" "org/org-clock.el" (20172 54913))
;;; Generated autoloads from org/org-clock.el
(autoload 'org-get-clocktable "org-clock" "\
@@ -20402,7 +20416,7 @@ Set up hooks for clock persistence.
;;;***
;;;### (autoloads (org-datetree-find-date-create) "org-datetree"
-;;;;;; "org/org-datetree.el" (20119 34052))
+;;;;;; "org/org-datetree.el" (20045 30713))
;;; Generated autoloads from org/org-datetree.el
(autoload 'org-datetree-find-date-create "org-datetree" "\
@@ -20418,7 +20432,7 @@ tree can be found.
;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open
;;;;;; org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook
;;;;;; org-export-as-docbook-to-buffer org-export-as-docbook-batch)
-;;;;;; "org-docbook" "org/org-docbook.el" (20119 34052))
+;;;;;; "org-docbook" "org/org-docbook.el" (20045 30713))
;;; Generated autoloads from org/org-docbook.el
(autoload 'org-export-as-docbook-batch "org-docbook" "\
@@ -20495,7 +20509,7 @@ publishing directory.
;;;### (autoloads (org-insert-export-options-template org-export-as-org
;;;;;; org-export-visible org-export) "org-exp" "org/org-exp.el"
-;;;;;; (20119 34052))
+;;;;;; (20167 36967))
;;; Generated autoloads from org/org-exp.el
(autoload 'org-export "org-exp" "\
@@ -20556,8 +20570,8 @@ Insert into the buffer a template with information for exporting.
;;;***
;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update
-;;;;;; org-feed-update-all) "org-feed" "org/org-feed.el" (20119
-;;;;;; 34052))
+;;;;;; org-feed-update-all) "org-feed" "org/org-feed.el" (20065
+;;;;;; 65310))
;;; Generated autoloads from org/org-feed.el
(autoload 'org-feed-update-all "org-feed" "\
@@ -20585,7 +20599,7 @@ Show the raw feed buffer of a feed.
;;;***
;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote"
-;;;;;; "org/org-footnote.el" (20119 34052))
+;;;;;; "org/org-footnote.el" (20161 45793))
;;; Generated autoloads from org/org-footnote.el
(autoload 'org-footnote-action "org-footnote" "\
@@ -20636,7 +20650,7 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree
;;;;;; org-freemind-from-org-mode org-freemind-from-org-mode-node
;;;;;; org-freemind-show org-export-as-freemind) "org-freemind"
-;;;;;; "org/org-freemind.el" (20119 34052))
+;;;;;; "org/org-freemind.el" (20172 54913))
;;; Generated autoloads from org/org-freemind.el
(autoload 'org-export-as-freemind "org-freemind" "\
@@ -20697,7 +20711,7 @@ Convert FreeMind file MM-FILE to `org-mode' file ORG-FILE.
;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html
;;;;;; org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer
;;;;;; org-export-as-html-batch org-export-as-html-and-open) "org-html"
-;;;;;; "org/org-html.el" (20119 34052))
+;;;;;; "org/org-html.el" (20065 65310))
;;; Generated autoloads from org/org-html.el
(put 'org-export-html-style-include-default 'safe-local-variable 'booleanp)
@@ -20791,7 +20805,7 @@ that uses these same face definitions.
;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
;;;;;; org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 29468))
;;; Generated autoloads from org/org-icalendar.el
(autoload 'org-export-icalendar-this-file "org-icalendar" "\
@@ -20819,7 +20833,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'.
;;;### (autoloads (org-id-store-link org-id-find-id-file org-id-find
;;;;;; org-id-goto org-id-get-with-outline-drilling org-id-get-with-outline-path-completion
;;;;;; org-id-get org-id-copy org-id-get-create) "org-id" "org/org-id.el"
-;;;;;; (20119 34052))
+;;;;;; (20065 65310))
;;; Generated autoloads from org/org-id.el
(autoload 'org-id-get-create "org-id" "\
@@ -20888,7 +20902,7 @@ Store a link to the current entry, using its ID.
;;;***
;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el"
-;;;;;; (20119 34052))
+;;;;;; (20045 30716))
;;; Generated autoloads from org/org-indent.el
(autoload 'org-indent-mode "org-indent" "\
@@ -20903,7 +20917,7 @@ FIXME: How to update when broken?
;;;***
;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el"
-;;;;;; (20119 34052))
+;;;;;; (20065 65310))
;;; Generated autoloads from org/org-irc.el
(autoload 'org-irc-store-link "org-irc" "\
@@ -20916,7 +20930,7 @@ Dispatch to the appropriate function to store a link to an IRC session.
;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex
;;;;;; org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer
;;;;;; org-export-as-latex-batch) "org-latex" "org/org-latex.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 29468))
;;; Generated autoloads from org/org-latex.el
(autoload 'org-export-as-latex-batch "org-latex" "\
@@ -20996,8 +21010,8 @@ Export as LaTeX, then process through to PDF, and open.
;;;***
;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull
-;;;;;; org-mobile-push) "org-mobile" "org/org-mobile.el" (20119
-;;;;;; 34052))
+;;;;;; org-mobile-push) "org-mobile" "org/org-mobile.el" (20065
+;;;;;; 65310))
;;; Generated autoloads from org/org-mobile.el
(autoload 'org-mobile-push "org-mobile" "\
@@ -21022,7 +21036,7 @@ Create a file that contains all custom agenda views.
;;;***
;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el"
-;;;;;; (20119 34052))
+;;;;;; (20157 54694))
;;; Generated autoloads from org/org-plot.el
(autoload 'org-plot/gnuplot "org-plot" "\
@@ -21036,7 +21050,7 @@ line directly before or after the table.
;;;### (autoloads (org-publish-current-project org-publish-current-file
;;;;;; org-publish-all org-publish) "org-publish" "org/org-publish.el"
-;;;;;; (20119 34052))
+;;;;;; (20161 45793))
;;; Generated autoloads from org/org-publish.el
(defalias 'org-publish-project 'org-publish)
@@ -21070,7 +21084,7 @@ the project.
;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template
;;;;;; org-remember-annotation org-remember-insinuate) "org-remember"
-;;;;;; "org/org-remember.el" (20119 34052))
+;;;;;; "org/org-remember.el" (20165 31925))
;;; Generated autoloads from org/org-remember.el
(autoload 'org-remember-insinuate "org-remember" "\
@@ -21146,7 +21160,7 @@ See also the variable `org-reverse-note-order'.
;;;***
;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
-;;;;;; "org-table" "org/org-table.el" (20119 34052))
+;;;;;; "org-table" "org/org-table.el" (20168 57844))
;;; Generated autoloads from org/org-table.el
(autoload 'turn-on-orgtbl "org-table" "\
@@ -21170,7 +21184,7 @@ The table is taken from the parameter TXT, or from the buffer at point.
;;;***
;;;### (autoloads (org-export-as-taskjuggler-and-open org-export-as-taskjuggler)
-;;;;;; "org-taskjuggler" "org/org-taskjuggler.el" (20119 34052))
+;;;;;; "org-taskjuggler" "org/org-taskjuggler.el" (20166 16092))
;;; Generated autoloads from org/org-taskjuggler.el
(autoload 'org-export-as-taskjuggler "org-taskjuggler" "\
@@ -21198,7 +21212,7 @@ with the TaskJuggler GUI.
;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region
;;;;;; org-timer org-timer-start) "org-timer" "org/org-timer.el"
-;;;;;; (20119 34052))
+;;;;;; (20045 30718))
;;; Generated autoloads from org/org-timer.el
(autoload 'org-timer-start "org-timer" "\
@@ -21259,7 +21273,7 @@ replace any running timer.
;;;***
;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el"
-;;;;;; (20119 34052))
+;;;;;; (20045 30719))
;;; Generated autoloads from org/org-xoxo.el
(autoload 'org-export-as-xoxo "org-xoxo" "\
@@ -21271,7 +21285,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*
;;;***
;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;; (20126 50306))
+;;;;;; (20162 63140))
;;; Generated autoloads from outline.el
(put 'outline-regexp 'safe-local-variable 'stringp)
(put 'outline-heading-end-regexp 'safe-local-variable 'stringp)
@@ -21335,7 +21349,7 @@ See the command `outline-mode' for more information on this mode.
;;;### (autoloads (list-packages describe-package package-initialize
;;;;;; package-refresh-contents package-install-file package-install-from-buffer
;;;;;; package-install package-enable-at-startup) "package" "emacs-lisp/package.el"
-;;;;;; (20139 30186))
+;;;;;; (20168 57844))
;;; Generated autoloads from emacs-lisp/package.el
(defvar package-enable-at-startup t "\
@@ -21405,7 +21419,7 @@ The list is displayed in a buffer named `*Packages*'.
;;;***
-;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20126 50320))
+;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20127 62865))
;;; Generated autoloads from paren.el
(defvar show-paren-mode nil "\
@@ -21432,7 +21446,7 @@ matching parenthesis is highlighted in `show-paren-style' after
;;;***
;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from calendar/parse-time.el
(put 'parse-time-rules 'risky-local-variable t)
@@ -21445,8 +21459,8 @@ unknown are returned as nil.
;;;***
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20168
+;;;;;; 57844))
;;; Generated autoloads from progmodes/pascal.el
(autoload 'pascal-mode "pascal" "\
@@ -21499,7 +21513,7 @@ no args, if that value is non-nil.
;;;***
;;;### (autoloads (password-in-cache-p password-cache-expiry password-cache)
-;;;;;; "password-cache" "password-cache.el" (20119 34052))
+;;;;;; "password-cache" "password-cache.el" (20089 47591))
;;; Generated autoloads from password-cache.el
(defvar password-cache t "\
@@ -21521,7 +21535,7 @@ Check if KEY is in the cache.
;;;***
;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el"
-;;;;;; (20119 34052))
+;;;;;; (19863 8742))
;;; Generated autoloads from emacs-lisp/pcase.el
(autoload 'pcase "pcase" "\
@@ -21580,8 +21594,8 @@ of the form (UPAT EXP).
;;;***
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20100
+;;;;;; 17869))
;;; Generated autoloads from pcmpl-cvs.el
(autoload 'pcomplete/cvs "pcmpl-cvs" "\
@@ -21592,7 +21606,7 @@ Completion rules for the `cvs' command.
;;;***
;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (20119 34052))
+;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (20104 14925))
;;; Generated autoloads from pcmpl-gnu.el
(autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -21620,7 +21634,7 @@ Completion for the GNU tar utility.
;;;***
;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;; "pcmpl-linux" "pcmpl-linux.el" (20119 34052))
+;;;;;; "pcmpl-linux" "pcmpl-linux.el" (19986 58615))
;;; Generated autoloads from pcmpl-linux.el
(autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -21640,8 +21654,8 @@ Completion for GNU/Linux `mount'.
;;;***
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19961
+;;;;;; 55377))
;;; Generated autoloads from pcmpl-rpm.el
(autoload 'pcomplete/rpm "pcmpl-rpm" "\
@@ -21653,7 +21667,7 @@ Completion for the `rpm' command.
;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown
;;;;;; pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir
-;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20120 43280))
+;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20121 24048))
;;; Generated autoloads from pcmpl-unix.el
(autoload 'pcomplete/cd "pcmpl-unix" "\
@@ -21710,8 +21724,8 @@ Includes files as well as host names followed by a colon.
;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete
-;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20119
-;;;;;; 34052))
+;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20106
+;;;;;; 17429))
;;; Generated autoloads from pcomplete.el
(autoload 'pcomplete "pcomplete" "\
@@ -21770,7 +21784,7 @@ Setup `shell-mode' to use pcomplete.
;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;; "vc/pcvs.el" (20119 34052))
+;;;;;; "vc/pcvs.el" (20164 60780))
;;; Generated autoloads from vc/pcvs.el
(autoload 'cvs-checkout "pcvs" "\
@@ -21845,15 +21859,16 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
;;;***
-;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20119 34052))
+;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20174 10230))
;;; Generated autoloads from vc/pcvs-defs.el
-(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)))
+(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)) "\
+Global menu used by PCL-CVS.")
;;;***
;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20108 12033))
;;; Generated autoloads from progmodes/perl-mode.el
(put 'perl-indent-level 'safe-local-variable 'integerp)
(put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
@@ -21915,7 +21930,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'.
;;;***
;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;; (20119 34052))
+;;;;;; (20093 44623))
;;; Generated autoloads from textmodes/picture.el
(autoload 'picture-mode "picture" "\
@@ -21995,8 +22010,8 @@ they are not defaultly assigned to keys.
;;;***
-;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20097
+;;;;;; 41737))
;;; Generated autoloads from gnus/plstore.el
(autoload 'plstore-open "plstore" "\
@@ -22007,7 +22022,7 @@ Create a plstore instance associated with FILE.
;;;***
;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from textmodes/po.el
(autoload 'po-find-file-coding-system "po" "\
@@ -22018,7 +22033,7 @@ Called through `file-coding-system-alist', before the file is visited for real.
;;;***
-;;;### (autoloads (pong) "pong" "play/pong.el" (20119 34052))
+;;;### (autoloads (pong) "pong" "play/pong.el" (19845 45374))
;;; Generated autoloads from play/pong.el
(autoload 'pong "pong" "\
@@ -22034,7 +22049,7 @@ pong-mode keybindings:\\<pong-mode-map>
;;;***
-;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20119 34052))
+;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20178 7273))
;;; Generated autoloads from gnus/pop3.el
(autoload 'pop3-movemail "pop3" "\
@@ -22047,7 +22062,7 @@ Use streaming commands.
;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression
;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emacs-lisp/pp.el
(autoload 'pp-to-string "pp" "\
@@ -22115,7 +22130,7 @@ Ignores leading comment characters.
;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el"
-;;;;;; (20119 34052))
+;;;;;; (20175 31160))
;;; Generated autoloads from printing.el
(autoload 'pr-interface "printing" "\
@@ -22702,7 +22717,7 @@ are both set to t.
;;;***
-;;;### (autoloads (proced) "proced" "proced.el" (20119 34052))
+;;;### (autoloads (proced) "proced" "proced.el" (20053 39261))
;;; Generated autoloads from proced.el
(autoload 'proced "proced" "\
@@ -22718,7 +22733,7 @@ See `proced-mode' for a description of features available in Proced buffers.
;;;***
;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog"
-;;;;;; "progmodes/prolog.el" (20119 34052))
+;;;;;; "progmodes/prolog.el" (20176 51947))
;;; Generated autoloads from progmodes/prolog.el
(autoload 'prolog-mode "prolog" "\
@@ -22753,8 +22768,8 @@ With prefix argument ARG, restart the Prolog process if running before.
;;;***
-;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from ps-bdf.el
(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\
@@ -22765,8 +22780,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").")
;;;***
-;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20167
+;;;;;; 36967))
;;; Generated autoloads from progmodes/ps-mode.el
(autoload 'ps-mode "ps-mode" "\
@@ -22817,8 +22832,8 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number
;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer
;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces
;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type
-;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (20119
-;;;;;; 34052))
+;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (20172
+;;;;;; 55048))
;;; Generated autoloads from ps-print.el
(defvar ps-page-dimensions-database (purecopy (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list 'letter (* 72 8.5) (* 72 11.0) "Letter") (list 'legal (* 72 8.5) (* 72 14.0) "Legal") (list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall") (list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid") (list 'ledger (* 72 17.0) (* 72 11.0) "Ledger") (list 'statement (* 72 5.5) (* 72 8.5) "Statement") (list 'executive (* 72 7.5) (* 72 10.0) "Executive") (list 'a4small (* 72 7.47) (* 72 10.85) "A4Small") (list 'b4 (* 72 10.125) (* 72 14.33) "B4") (list 'b5 (* 72 7.16) (* 72 10.125) "B5") '(addresslarge 236.0 99.0 "AddressLarge") '(addresssmall 236.0 68.0 "AddressSmall") '(cuthanging13 90.0 222.0 "CutHanging13") '(cuthanging15 90.0 114.0 "CutHanging15") '(diskette 181.0 136.0 "Diskette") '(eurofilefolder 139.0 112.0 "EuropeanFilefolder") '(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow") '(eurofolderwide 526.0 136.0 "EuroFolderWide") '(euronamebadge 189.0 108.0 "EuroNameBadge") '(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge") '(filefolder 230.0 37.0 "FileFolder") '(jewelry 76.0 136.0 "Jewelry") '(mediabadge 180.0 136.0 "MediaBadge") '(multipurpose 126.0 68.0 "MultiPurpose") '(retaillabel 90.0 104.0 "RetailLabel") '(shipping 271.0 136.0 "Shipping") '(slide35mm 26.0 104.0 "Slide35mm") '(spine8mm 187.0 26.0 "Spine8mm") '(topcoated 425.19685 136.0 "TopCoatedPaper") '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") '(vhsface 205.0 127.0 "VHSFace") '(vhsspine 400.0 50.0 "VHSSpine") '(zipdisk 156.0 136.0 "ZipDisk"))) "\
@@ -23015,7 +23030,7 @@ If EXTENSION is any other symbol, it is ignored.
;;;***
;;;### (autoloads (jython-mode python-mode python-after-info-look
-;;;;;; run-python) "python" "progmodes/python.el" (20119 34052))
+;;;;;; run-python) "python" "progmodes/python.el" (20170 13157))
;;; Generated autoloads from progmodes/python.el
(add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode))
@@ -23101,7 +23116,7 @@ Runs `jython-mode-hook' after `python-mode-hook'.
;;;***
;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/qp.el
(autoload 'quoted-printable-decode-region "qp" "\
@@ -23124,7 +23139,7 @@ them into characters should be done separately.
;;;;;; quail-defrule quail-install-decode-map quail-install-map
;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout
;;;;;; quail-define-package quail-use-package quail-title) "quail"
-;;;;;; "international/quail.el" (20119 34052))
+;;;;;; "international/quail.el" (20166 16092))
;;; Generated autoloads from international/quail.el
(autoload 'quail-title "quail" "\
@@ -23355,8 +23370,8 @@ of each directory.
;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls
;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url
-;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20119
-;;;;;; 34052))
+;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20168
+;;;;;; 57844))
;;; Generated autoloads from net/quickurl.el
(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\
@@ -23428,7 +23443,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
;;;***
;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc"
-;;;;;; "net/rcirc.el" (20138 51043))
+;;;;;; "net/rcirc.el" (20170 13157))
;;; Generated autoloads from net/rcirc.el
(autoload 'rcirc "rcirc" "\
@@ -23463,8 +23478,8 @@ Global minor mode for tracking activity in rcirc buffers.
;;;***
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from net/rcompile.el
(autoload 'remote-compile "rcompile" "\
@@ -23476,7 +23491,7 @@ See \\[compile].
;;;***
;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
-;;;;;; (20119 34052))
+;;;;;; (19975 1875))
;;; Generated autoloads from emacs-lisp/re-builder.el
(defalias 'regexp-builder 're-builder)
@@ -23494,7 +23509,7 @@ matching parts of the target buffer will be highlighted.
;;;***
-;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20126 50335))
+;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20167 36967))
;;; Generated autoloads from recentf.el
(defvar recentf-mode nil "\
@@ -23524,7 +23539,7 @@ were operated on recently.
;;;;;; string-rectangle delete-whitespace-rectangle open-rectangle
;;;;;; insert-rectangle yank-rectangle kill-rectangle extract-rectangle
;;;;;; delete-extract-rectangle delete-rectangle) "rect" "rect.el"
-;;;;;; (20119 34052))
+;;;;;; (19999 41597))
;;; Generated autoloads from rect.el
(define-key ctl-x-r-map "c" 'clear-rectangle)
(define-key ctl-x-r-map "k" 'kill-rectangle)
@@ -23661,7 +23676,7 @@ with a prefix argument, prompt for START-AT and FORMAT.
;;;***
;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (20127
-;;;;;; 24416))
+;;;;;; 62865))
;;; Generated autoloads from textmodes/refill.el
(autoload 'refill-mode "refill" "\
@@ -23682,7 +23697,7 @@ For true \"word wrap\" behavior, use `visual-line-mode' instead.
;;;***
;;;### (autoloads (reftex-reset-scanning-information reftex-mode
-;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20136 50092))
+;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20164 60780))
;;; Generated autoloads from textmodes/reftex.el
(autoload 'turn-on-reftex "reftex" "\
@@ -23738,7 +23753,7 @@ This enforces rescanning the buffer on next use.
;;;***
;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from textmodes/reftex-cite.el
(autoload 'reftex-citation "reftex-cite" "\
@@ -23768,7 +23783,7 @@ While entering the regexp, completion on knows citation keys is possible.
;;;***
;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;; (20119 34052))
+;;;;;; (20164 60780))
;;; Generated autoloads from textmodes/reftex-global.el
(autoload 'reftex-isearch-minor-mode "reftex-global" "\
@@ -23785,7 +23800,7 @@ With no argument, this command toggles
;;;***
;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;; (20119 34052))
+;;;;;; (20162 63140))
;;; Generated autoloads from textmodes/reftex-index.el
(autoload 'reftex-index-phrases-mode "reftex-index" "\
@@ -23818,7 +23833,7 @@ Here are all local bindings.
;;;***
;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;; (20119 34052))
+;;;;;; (20161 45793))
;;; Generated autoloads from textmodes/reftex-parse.el
(autoload 'reftex-all-document-files "reftex-parse" "\
@@ -23830,8 +23845,8 @@ of master file.
;;;***
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20119
-;;;;;; 34052))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from textmodes/reftex-vars.el
(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
@@ -23841,7 +23856,7 @@ of master file.
;;;***
;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emacs-lisp/regexp-opt.el
(autoload 'regexp-opt "regexp-opt" "\
@@ -23872,7 +23887,7 @@ This means the number of non-shy regexp grouping constructs
;;;### (autoloads (remember-diary-extract-entries remember-clipboard
;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el"
-;;;;;; (20119 34052))
+;;;;;; (20161 45793))
;;; Generated autoloads from textmodes/remember.el
(autoload 'remember "remember" "\
@@ -23903,7 +23918,7 @@ Extract diary entries from the region.
;;;***
-;;;### (autoloads (repeat) "repeat" "repeat.el" (20119 34052))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (20172 54913))
;;; Generated autoloads from repeat.el
(autoload 'repeat "repeat" "\
@@ -23926,7 +23941,7 @@ recently executed command not bound to an input event\".
;;;***
;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;; (20119 34052))
+;;;;;; (20076 35541))
;;; Generated autoloads from mail/reporter.el
(autoload 'reporter-submit-bug-report "reporter" "\
@@ -23958,7 +23973,7 @@ mail-sending package is used for editing and sending the message.
;;;***
;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from reposition.el
(autoload 'reposition-window "reposition" "\
@@ -23985,7 +24000,7 @@ first comment line visible (if point is in a comment).
;;;***
;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;; (20126 50360))
+;;;;;; (20127 62865))
;;; Generated autoloads from reveal.el
(autoload 'reveal-mode "reveal" "\
@@ -24021,7 +24036,7 @@ the mode if ARG is omitted or nil.
;;;***
;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emacs-lisp/ring.el
(autoload 'ring-p "ring" "\
@@ -24036,7 +24051,7 @@ Make a ring that can contain SIZE elements.
;;;***
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20119 34052))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20077 56412))
;;; Generated autoloads from net/rlogin.el
(autoload 'rlogin "rlogin" "\
@@ -24085,7 +24100,7 @@ variable.
;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers
;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers
;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p)
-;;;;;; "rmail" "mail/rmail.el" (20138 48832))
+;;;;;; "rmail" "mail/rmail.el" (20174 10633))
;;; Generated autoloads from mail/rmail.el
(autoload 'rmail-movemail-variant-p "rmail" "\
@@ -24183,8 +24198,8 @@ This is set to nil by default.")
(defvar rmail-insert-mime-forwarded-message-function nil "\
Function to insert a message in MIME format so it can be forwarded.
-This function is called if `rmail-enable-mime' or
-`rmail-enable-mime-composing' is non-nil.
+This function is called if `rmail-enable-mime' and
+`rmail-enable-mime-composing' are non-nil.
It is called with one argument FORWARD-BUFFER, which is a
buffer containing the message to forward. The current buffer
is the outgoing mail buffer.")
@@ -24269,7 +24284,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server.
;;;***
;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen
-;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (20119 34052))
+;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (20172 54913))
;;; Generated autoloads from mail/rmailout.el
(put 'rmail-output-file-alist 'risky-local-variable t)
@@ -24334,7 +24349,7 @@ than appending to it. Deletes the message after writing if
;;;***
;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from nxml/rng-cmpct.el
(autoload 'rng-c-load-schema "rng-cmpct" "\
@@ -24346,7 +24361,7 @@ Return a pattern.
;;;***
;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from nxml/rng-nxml.el
(autoload 'rng-nxml-mode-init "rng-nxml" "\
@@ -24359,7 +24374,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil.
;;;***
;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from nxml/rng-valid.el
(autoload 'rng-validate-mode "rng-valid" "\
@@ -24377,7 +24392,7 @@ will be automatically rechecked when Emacs becomes idle; the
rechecking will be paused whenever there is input pending.
By default, uses a vacuous schema that allows any well-formed XML
-document. A schema can be specified explictly using
+document. A schema can be specified explicitly using
\\[rng-set-schema-file-and-validate], or implicitly based on the buffer's
file name or on the root element name. In each case the schema must
be a RELAX NG schema using the compact schema (such schemas
@@ -24389,8 +24404,8 @@ to use for finding the schema.
;;;***
-;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19930
+;;;;;; 13389))
;;; Generated autoloads from nxml/rng-xsd.el
(put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile)
@@ -24418,7 +24433,7 @@ must be equal.
;;;***
;;;### (autoloads (robin-use-package robin-modify-package robin-define-package)
-;;;;;; "robin" "international/robin.el" (20119 34052))
+;;;;;; "robin" "international/robin.el" (20159 42847))
;;; Generated autoloads from international/robin.el
(autoload 'robin-define-package "robin" "\
@@ -24451,7 +24466,7 @@ Start using robin package NAME, which is a string.
;;;***
;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
-;;;;;; rot13-string rot13) "rot13" "rot13.el" (20119 34052))
+;;;;;; rot13-string rot13) "rot13" "rot13.el" (20154 24929))
;;; Generated autoloads from rot13.el
(autoload 'rot13 "rot13" "\
@@ -24489,7 +24504,7 @@ Toggle the use of ROT13 encoding for the current window.
;;;***
;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
-;;;;;; (20127 24234))
+;;;;;; (20178 7273))
;;; Generated autoloads from textmodes/rst.el
(add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
@@ -24526,7 +24541,7 @@ for modes derived from Text mode, like Mail mode.
;;;***
;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from progmodes/ruby-mode.el
(autoload 'ruby-mode "ruby-mode" "\
@@ -24547,8 +24562,8 @@ The variable `ruby-indent-level' controls the amount of indentation.
;;;***
-;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20126
-;;;;;; 50390))
+;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from ruler-mode.el
(defvar ruler-mode nil "\
@@ -24565,8 +24580,8 @@ if ARG is omitted or nil.
;;;***
-;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20161
+;;;;;; 45793))
;;; Generated autoloads from emacs-lisp/rx.el
(autoload 'rx-to-string "rx" "\
@@ -24877,8 +24892,8 @@ enclosed in `(and ...)'.
;;;***
-;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20126
-;;;;;; 50398))
+;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from savehist.el
(defvar savehist-mode nil "\
@@ -24910,7 +24925,7 @@ histories, which is probably undesirable.
;;;***
;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
-;;;;;; (20119 34052))
+;;;;;; (20079 39251))
;;; Generated autoloads from progmodes/scheme.el
(autoload 'scheme-mode "scheme" "\
@@ -24952,7 +24967,7 @@ that variable's value is a string.
;;;***
;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/score-mode.el
(autoload 'gnus-score-mode "score-mode" "\
@@ -24966,7 +24981,7 @@ This mode is an extended emacs-lisp mode.
;;;***
;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;; (20126 50406))
+;;;;;; (20127 62865))
;;; Generated autoloads from scroll-all.el
(defvar scroll-all-mode nil "\
@@ -24992,7 +25007,7 @@ one window apply to all visible windows in the same frame.
;;;***
;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
-;;;;;; (20126 43719))
+;;;;;; (19845 45374))
;;; Generated autoloads from scroll-lock.el
(autoload 'scroll-lock-mode "scroll-lock" "\
@@ -25006,7 +25021,7 @@ during scrolling.
;;;***
-;;;### (autoloads nil "secrets" "net/secrets.el" (20119 34052))
+;;;### (autoloads nil "secrets" "net/secrets.el" (20175 31160))
;;; Generated autoloads from net/secrets.el
(when (featurep 'dbusbind)
(autoload 'secrets-show-secrets "secrets" nil t))
@@ -25014,7 +25029,7 @@ during scrolling.
;;;***
;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic"
-;;;;;; "cedet/semantic.el" (20127 23255))
+;;;;;; "cedet/semantic.el" (20172 54913))
;;; Generated autoloads from cedet/semantic.el
(defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\
@@ -25068,7 +25083,7 @@ Semantic mode.
;;;;;; mail-personal-alias-file mail-default-reply-to mail-archive-file-name
;;;;;; mail-header-separator send-mail-function mail-interactive
;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style)
-;;;;;; "sendmail" "mail/sendmail.el" (20121 46524))
+;;;;;; "sendmail" "mail/sendmail.el" (20122 44898))
;;; Generated autoloads from mail/sendmail.el
(defvar mail-from-style 'default "\
@@ -25350,8 +25365,8 @@ Like `mail' command, but display mail buffer in another frame.
;;;***
;;;### (autoloads (server-save-buffers-kill-terminal server-mode
-;;;;;; server-force-delete server-start) "server" "server.el" (20126
-;;;;;; 50430))
+;;;;;; server-force-delete server-start) "server" "server.el" (20172
+;;;;;; 54913))
;;; Generated autoloads from server.el
(put 'server-host 'risky-local-variable t)
@@ -25418,7 +25433,7 @@ only these files will be asked to be saved.
;;;***
-;;;### (autoloads (ses-mode) "ses" "ses.el" (20119 34052))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (20172 54913))
;;; Generated autoloads from ses.el
(autoload 'ses-mode "ses" "\
@@ -25437,7 +25452,7 @@ These are active only in the minibuffer, when entering or editing a formula:
;;;***
;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
-;;;;;; (20127 24193))
+;;;;;; (20167 36967))
;;; Generated autoloads from textmodes/sgml-mode.el
(autoload 'sgml-mode "sgml-mode" "\
@@ -25503,7 +25518,7 @@ To work around that, do:
;;;***
;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;; (20120 43373))
+;;;;;; (20168 57844))
;;; Generated autoloads from progmodes/sh-script.el
(put 'sh-shell 'safe-local-variable 'symbolp)
@@ -25568,7 +25583,7 @@ with your script for an edit-interpret-debug cycle.
;;;***
;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emacs-lisp/shadow.el
(autoload 'list-load-path-shadows "shadow" "\
@@ -25618,8 +25633,8 @@ function, `load-path-shadows-find'.
;;;***
;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group
-;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (20119
-;;;;;; 34052))
+;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (19886
+;;;;;; 45771))
;;; Generated autoloads from shadowfile.el
(autoload 'shadow-define-cluster "shadowfile" "\
@@ -25658,7 +25673,7 @@ Set up file shadowing.
;;;***
;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;; (20126 50438))
+;;;;;; (20168 57844))
;;; Generated autoloads from shell.el
(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -25706,8 +25721,8 @@ Otherwise, one argument `-i' is passed to the shell.
;;;***
-;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20172
+;;;;;; 54913))
;;; Generated autoloads from gnus/shr.el
(autoload 'shr-insert-document "shr" "\
@@ -25718,7 +25733,7 @@ Otherwise, one argument `-i' is passed to the shell.
;;;***
;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
-;;;;;; "sieve" "gnus/sieve.el" (20119 34052))
+;;;;;; "sieve" "gnus/sieve.el" (20165 31925))
;;; Generated autoloads from gnus/sieve.el
(autoload 'sieve-manage "sieve" "\
@@ -25739,7 +25754,7 @@ Otherwise, one argument `-i' is passed to the shell.
;;;***
;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from gnus/sieve-mode.el
(autoload 'sieve-mode "sieve-mode" "\
@@ -25754,8 +25769,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
;;;***
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19890
+;;;;;; 42850))
;;; Generated autoloads from progmodes/simula.el
(autoload 'simula-mode "simula" "\
@@ -25804,7 +25819,7 @@ with no arguments, if that value is non-nil.
;;;***
;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
-;;;;;; define-skeleton) "skeleton" "skeleton.el" (20119 34052))
+;;;;;; define-skeleton) "skeleton" "skeleton.el" (19845 45374))
;;; Generated autoloads from skeleton.el
(defvar skeleton-filter-function 'identity "\
@@ -25914,7 +25929,7 @@ symmetrical ones, and the same character twice for the others.
;;;***
;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff)
-;;;;;; "smerge-mode" "vc/smerge-mode.el" (20119 34052))
+;;;;;; "smerge-mode" "vc/smerge-mode.el" (19946 1612))
;;; Generated autoloads from vc/smerge-mode.el
(autoload 'smerge-ediff "smerge-mode" "\
@@ -25939,7 +25954,7 @@ If no conflict maker is found, turn off `smerge-mode'.
;;;***
;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
-;;;;;; (20119 34052))
+;;;;;; (19939 28373))
;;; Generated autoloads from gnus/smiley.el
(autoload 'smiley-region "smiley" "\
@@ -25957,7 +25972,7 @@ interactively. If there's no argument, do it at the current buffer.
;;;***
;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
-;;;;;; "mail/smtpmail.el" (20119 34052))
+;;;;;; "mail/smtpmail.el" (20168 57844))
;;; Generated autoloads from mail/smtpmail.el
(autoload 'smtpmail-send-it "smtpmail" "\
@@ -25972,7 +25987,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'.
;;;***
-;;;### (autoloads (snake) "snake" "play/snake.el" (20119 34052))
+;;;### (autoloads (snake) "snake" "play/snake.el" (19845 45374))
;;; Generated autoloads from play/snake.el
(autoload 'snake "snake" "\
@@ -25996,7 +26011,7 @@ Snake mode keybindings:
;;;***
;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20161 45793))
;;; Generated autoloads from net/snmp-mode.el
(autoload 'snmp-mode "snmp-mode" "\
@@ -26025,8 +26040,8 @@ then `snmpv2-mode-hook'.
;;;***
-;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19886
+;;;;;; 45771))
;;; Generated autoloads from calendar/solar.el
(autoload 'sunrise-sunset "solar" "\
@@ -26041,8 +26056,8 @@ This function is suitable for execution in a .emacs file.
;;;***
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20165
+;;;;;; 31925))
;;; Generated autoloads from play/solitaire.el
(autoload 'solitaire "solitaire" "\
@@ -26119,7 +26134,7 @@ Pick your favorite shortcuts:
;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs
-;;;;;; sort-lines sort-subr) "sort" "sort.el" (20119 34052))
+;;;;;; sort-lines sort-subr) "sort" "sort.el" (19845 45374))
;;; Generated autoloads from sort.el
(put 'sort-fold-case 'safe-local-variable 'booleanp)
@@ -26263,8 +26278,8 @@ From a program takes two point or marker arguments, BEG and END.
;;;***
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20167
+;;;;;; 36967))
;;; Generated autoloads from gnus/spam.el
(autoload 'spam-initialize "spam" "\
@@ -26280,7 +26295,7 @@ installed through `spam-necessary-extra-headers'.
;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file
;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report"
-;;;;;; "gnus/spam-report.el" (20119 34052))
+;;;;;; "gnus/spam-report.el" (20166 16092))
;;; Generated autoloads from gnus/spam-report.el
(autoload 'spam-report-process-queue "spam-report" "\
@@ -26323,7 +26338,7 @@ Spam reports will be queued with the method used when
;;;***
;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;; "speedbar.el" (20119 34052))
+;;;;;; "speedbar.el" (20178 7273))
;;; Generated autoloads from speedbar.el
(defalias 'speedbar 'speedbar-frame-mode)
@@ -26347,8 +26362,8 @@ selected. If the speedbar frame is active, then select the attached frame.
;;;***
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from play/spook.el
(autoload 'spook "spook" "\
@@ -26367,7 +26382,7 @@ Return a vector containing the lines from `spook-phrases-file'.
;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect
;;;;;; sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from progmodes/sql.el
(autoload 'sql-add-product-keywords "sql" "\
@@ -26863,7 +26878,7 @@ buffer.
;;;***
;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20160 63745))
;;; Generated autoloads from cedet/srecode/srt-mode.el
(autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -26876,7 +26891,7 @@ Major-mode for writing SRecode macros.
;;;***
;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el"
-;;;;;; (20119 34052))
+;;;;;; (20175 31160))
;;; Generated autoloads from gnus/starttls.el
(autoload 'starttls-open-stream "starttls" "\
@@ -26893,7 +26908,7 @@ BUFFER is the buffer (or `buffer-name') to associate with the process.
Third arg is name of the host to connect to, or its IP address.
Fourth arg PORT is an integer specifying a port to connect to.
If `starttls-use-gnutls' is nil, this may also be a service name, but
-GNUTLS requires a port number.
+GnuTLS requires a port number.
\(fn NAME BUFFER HOST PORT)" nil nil)
@@ -26903,8 +26918,8 @@ GNUTLS requires a port number.
;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes
;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke
;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke
-;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (20126
-;;;;;; 50576))
+;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from strokes.el
(autoload 'strokes-global-set-stroke "strokes" "\
@@ -27018,7 +27033,7 @@ Read a complex stroke and insert its glyph into the current buffer.
;;;***
;;;### (autoloads (studlify-buffer studlify-word studlify-region)
-;;;;;; "studly" "play/studly.el" (20119 34052))
+;;;;;; "studly" "play/studly.el" (19845 45374))
;;; Generated autoloads from play/studly.el
(autoload 'studlify-region "studly" "\
@@ -27039,7 +27054,7 @@ Studlify-case the current buffer.
;;;***
;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el"
-;;;;;; (20127 25236))
+;;;;;; (20127 62865))
;;; Generated autoloads from progmodes/subword.el
(autoload 'subword-mode "subword" "\
@@ -27095,7 +27110,7 @@ See `subword-mode' for more information on Subword mode.
;;;***
;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;; (20119 34052))
+;;;;;; (19931 11784))
;;; Generated autoloads from mail/supercite.el
(autoload 'sc-cite-original "supercite" "\
@@ -27127,8 +27142,8 @@ and `sc-post-hook' is run after the guts of this function.
;;;***
-;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20126
-;;;;;; 50587))
+;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from t-mouse.el
(define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
@@ -27156,7 +27171,7 @@ It relies on the `gpm' daemon being activated.
;;;***
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (20119 34052))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19998 49767))
;;; Generated autoloads from tabify.el
(autoload 'untabify "tabify" "\
@@ -27191,7 +27206,7 @@ The variable `tab-width' controls the spacing of tab stops.
;;;;;; table-recognize table-insert-row-column table-insert-column
;;;;;; table-insert-row table-insert table-point-left-cell-hook
;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook)
-;;;;;; "table" "textmodes/table.el" (20119 34052))
+;;;;;; "table" "textmodes/table.el" (20179 28130))
;;; Generated autoloads from textmodes/table.el
(defvar table-cell-map-hook nil "\
@@ -27771,7 +27786,7 @@ companion command to `table-capture' this way.
(autoload 'table-release "table" "\
Convert a table into plain text by removing the frame from a table.
-Remove the frame from a table and inactivate the table. This command
+Remove the frame from a table and deactivate the table. This command
converts a table into plain text without frames. It is a companion to
`table-capture' which does the opposite process.
@@ -27780,7 +27795,7 @@ converts a table into plain text without frames. It is a companion to
;;;***
;;;### (autoloads (tabulated-list-mode) "tabulated-list" "emacs-lisp/tabulated-list.el"
-;;;;;; (20119 34052))
+;;;;;; (20170 13157))
;;; Generated autoloads from emacs-lisp/tabulated-list.el
(autoload 'tabulated-list-mode "tabulated-list" "\
@@ -27822,7 +27837,7 @@ as the ewoc pretty-printer.
;;;***
-;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20140 44272))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20141 9296))
;;; Generated autoloads from talk.el
(autoload 'talk-connect "talk" "\
@@ -27837,7 +27852,7 @@ Connect to the Emacs talk group from the current X display or tty frame.
;;;***
-;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20129 34168))
+;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20161 45793))
;;; Generated autoloads from tar-mode.el
(autoload 'tar-mode "tar-mode" "\
@@ -27861,7 +27876,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
;;;***
;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
-;;;;;; "progmodes/tcl.el" (20119 34052))
+;;;;;; "progmodes/tcl.el" (20164 29468))
;;; Generated autoloads from progmodes/tcl.el
(autoload 'tcl-mode "tcl" "\
@@ -27909,7 +27924,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'.
;;;***
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20119 34052))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20077 56412))
;;; Generated autoloads from net/telnet.el
(autoload 'telnet "telnet" "\
@@ -27935,7 +27950,7 @@ Normally input is edited in Emacs and sent a line at a time.
;;;***
;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
-;;;;;; (20119 34052))
+;;;;;; (20178 7273))
;;; Generated autoloads from term.el
(autoload 'make-term "term" "\
@@ -27977,8 +27992,8 @@ use in that buffer.
;;;***
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (20167
+;;;;;; 36967))
;;; Generated autoloads from terminal.el
(autoload 'terminal-emulator "terminal" "\
@@ -28015,7 +28030,7 @@ subprocess started.
;;;***
;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
-;;;;;; (20119 34052))
+;;;;;; (20172 54913))
;;; Generated autoloads from emacs-lisp/testcover.el
(autoload 'testcover-this-defun "testcover" "\
@@ -28025,7 +28040,7 @@ Start coverage on function under point.
;;;***
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (20119 34052))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19889 21967))
;;; Generated autoloads from play/tetris.el
(autoload 'tetris "tetris" "\
@@ -28056,7 +28071,7 @@ tetris-mode keybindings:
;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command
;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp
;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el"
-;;;;;; (20134 8463))
+;;;;;; (20178 7273))
;;; Generated autoloads from textmodes/tex-mode.el
(defvar tex-shell-file-name nil "\
@@ -28358,7 +28373,7 @@ Major mode to edit DocTeX files.
;;;***
;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;; "texinfmt" "textmodes/texinfmt.el" (20119 34052))
+;;;;;; "texinfmt" "textmodes/texinfmt.el" (20183 25152))
;;; Generated autoloads from textmodes/texinfmt.el
(autoload 'texinfo-format-buffer "texinfmt" "\
@@ -28398,7 +28413,7 @@ if large. You can use `Info-split' to do this manually.
;;;***
;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote)
-;;;;;; "texinfo" "textmodes/texinfo.el" (20119 34052))
+;;;;;; "texinfo" "textmodes/texinfo.el" (19845 45374))
;;; Generated autoloads from textmodes/texinfo.el
(defvar texinfo-open-quote (purecopy "``") "\
@@ -28484,7 +28499,7 @@ value of `texinfo-mode-hook'.
;;;### (autoloads (thai-composition-function thai-compose-buffer
;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from language/thai-util.el
(autoload 'thai-compose-region "thai-util" "\
@@ -28513,7 +28528,7 @@ Compose Thai characters in the current buffer.
;;;### (autoloads (list-at-point number-at-point symbol-at-point
;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
-;;;;;; "thingatpt" "thingatpt.el" (20119 34052))
+;;;;;; "thingatpt" "thingatpt.el" (19990 55648))
;;; Generated autoloads from thingatpt.el
(autoload 'forward-thing "thingatpt" "\
@@ -28576,7 +28591,7 @@ Return the Lisp list at point, or nil if none is found.
;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked
;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from thumbs.el
(autoload 'thumbs-find-thumb "thumbs" "\
@@ -28614,8 +28629,8 @@ In dired, call the setroot program on the image at point.
;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer
;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region
;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription
-;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20119
-;;;;;; 34052))
+;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20175
+;;;;;; 31160))
;;; Generated autoloads from language/tibet-util.el
(autoload 'tibetan-char-p "tibet-util" "\
@@ -28689,7 +28704,7 @@ See also docstring of the function tibetan-compose-region.
;;;***
;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from textmodes/tildify.el
(autoload 'tildify-region "tildify" "\
@@ -28714,7 +28729,7 @@ This function performs no refilling of the changed text.
;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
;;;;;; display-time-mode display-time display-time-day-and-date)
-;;;;;; "time" "time.el" (20126 50604))
+;;;;;; "time" "time.el" (20127 62865))
;;; Generated autoloads from time.el
(defvar display-time-day-and-date nil "\
@@ -28780,7 +28795,7 @@ Return a string giving the duration of the Emacs initialization.
;;;;;; time-to-day-in-year date-leap-year-p days-between date-to-day
;;;;;; time-add time-subtract time-since days-to-time time-less-p
;;;;;; seconds-to-time date-to-time) "time-date" "calendar/time-date.el"
-;;;;;; (20119 34052))
+;;;;;; (19885 24894))
;;; Generated autoloads from calendar/time-date.el
(autoload 'date-to-time "time-date" "\
@@ -28894,7 +28909,7 @@ This function does not work for SECONDS greater than `most-positive-fixnum'.
;;;***
;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
-;;;;;; "time-stamp.el" (20119 34052))
+;;;;;; "time-stamp.el" (20033 22846))
;;; Generated autoloads from time-stamp.el
(put 'time-stamp-format 'safe-local-variable 'stringp)
(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p)
@@ -28938,7 +28953,7 @@ With ARG, turn time stamping on if and only if arg is positive.
;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out
;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in
;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el"
-;;;;;; (20119 34052))
+;;;;;; (20165 31925))
;;; Generated autoloads from calendar/timeclock.el
(autoload 'timeclock-modeline-display "timeclock" "\
@@ -29038,7 +29053,7 @@ relative only to the time worked today, and not to past time.
;;;***
;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;; "international/titdic-cnv.el" (20119 34052))
+;;;;;; "international/titdic-cnv.el" (20175 31160))
;;; Generated autoloads from international/titdic-cnv.el
(autoload 'titdic-convert "titdic-cnv" "\
@@ -29061,7 +29076,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\".
;;;***
;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
-;;;;;; "tmm.el" (20119 34052))
+;;;;;; "tmm.el" (20163 39903))
;;; Generated autoloads from tmm.el
(define-key global-map "\M-`" 'tmm-menubar)
(define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
@@ -29101,7 +29116,7 @@ Its value should be an event that has a binding in MENU.
;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities
;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category)
-;;;;;; "todo-mode" "calendar/todo-mode.el" (20119 34052))
+;;;;;; "todo-mode" "calendar/todo-mode.el" (20168 57844))
;;; Generated autoloads from calendar/todo-mode.el
(autoload 'todo-add-category "todo-mode" "\
@@ -29161,7 +29176,7 @@ Show TODO list.
;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu
;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame)
-;;;;;; "tool-bar" "tool-bar.el" (20126 50619))
+;;;;;; "tool-bar" "tool-bar.el" (20127 62865))
;;; Generated autoloads from tool-bar.el
(autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -29232,7 +29247,7 @@ holds a keymap.
;;;***
;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;; (20140 44316))
+;;;;;; (20141 9296))
;;; Generated autoloads from emulation/tpu-edt.el
(defvar tpu-edt-mode nil "\
@@ -29259,7 +29274,7 @@ Turn on TPU/edt emulation.
;;;***
;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from emulation/tpu-mapper.el
(autoload 'tpu-mapper "tpu-mapper" "\
@@ -29293,7 +29308,7 @@ your local X guru can try to figure out why the key is being ignored.
;;;***
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (20119 34052))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19845 45374))
;;; Generated autoloads from emacs-lisp/tq.el
(autoload 'tq-create "tq" "\
@@ -29307,7 +29322,7 @@ to a tcp server on another machine.
;;;***
;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;; "trace" "emacs-lisp/trace.el" (20119 34052))
+;;;;;; "trace" "emacs-lisp/trace.el" (19845 45374))
;;; Generated autoloads from emacs-lisp/trace.el
(defvar trace-buffer (purecopy "*trace-output*") "\
@@ -29344,7 +29359,7 @@ BUFFER defaults to `trace-buffer'.
;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp"
-;;;;;; "net/tramp.el" (20127 27092))
+;;;;;; "net/tramp.el" (20179 28130))
;;; Generated autoloads from net/tramp.el
(defvar tramp-mode t "\
@@ -29477,7 +29492,7 @@ Discard Tramp from loading remote files.
;;;***
;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el"
-;;;;;; (20119 34052))
+;;;;;; (19946 29209))
;;; Generated autoloads from net/tramp-ftp.el
(autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\
@@ -29487,8 +29502,8 @@ Discard Tramp from loading remote files.
;;;***
-;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20140
-;;;;;; 41907))
+;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20176
+;;;;;; 51947))
;;; Generated autoloads from tutorial.el
(autoload 'help-with-tutorial "tutorial" "\
@@ -29513,7 +29528,7 @@ resumed later.
;;;***
;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from language/tv-util.el
(autoload 'tai-viet-composition-function "tv-util" "\
@@ -29524,7 +29539,7 @@ resumed later.
;;;***
;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
-;;;;;; "textmodes/two-column.el" (20140 44080))
+;;;;;; "textmodes/two-column.el" (20141 9296))
;;; Generated autoloads from textmodes/two-column.el
(autoload '2C-command "two-column" () t 'keymap)
(global-set-key "\C-x6" '2C-command)
@@ -29575,7 +29590,7 @@ First column's text sSs Second column's text
;;;;;; type-break type-break-mode type-break-keystroke-threshold
;;;;;; type-break-good-break-interval type-break-good-rest-interval
;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el"
-;;;;;; (20126 50662))
+;;;;;; (20127 62865))
;;; Generated autoloads from type-break.el
(defvar type-break-mode nil "\
@@ -29757,7 +29772,7 @@ FRAC should be the inverse of the fractional value; for example, a value of
;;;***
-;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (20119 34052))
+;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19845 45374))
;;; Generated autoloads from mail/uce.el
(autoload 'uce-reply-to-uce "uce" "\
@@ -29775,7 +29790,7 @@ You might need to set `uce-mail-reader' before using this.
;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string
;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region
;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize"
-;;;;;; "international/ucs-normalize.el" (20119 34052))
+;;;;;; "international/ucs-normalize.el" (20052 53218))
;;; Generated autoloads from international/ucs-normalize.el
(autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -29841,7 +29856,7 @@ Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus.
;;;***
;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;; "textmodes/underline.el" (20119 34052))
+;;;;;; "textmodes/underline.el" (19845 45374))
;;; Generated autoloads from textmodes/underline.el
(autoload 'underline-region "underline" "\
@@ -29862,7 +29877,7 @@ which specify the range to operate on.
;;;***
;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;; (20119 34052))
+;;;;;; (20172 54913))
;;; Generated autoloads from mail/unrmail.el
(autoload 'batch-unrmail "unrmail" "\
@@ -29881,8 +29896,8 @@ Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE.
;;;***
-;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from emacs-lisp/unsafep.el
(autoload 'unsafep "unsafep" "\
@@ -29895,7 +29910,7 @@ UNSAFEP-VARS is a list of symbols with local bindings.
;;;***
;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url"
-;;;;;; "url/url.el" (20119 34052))
+;;;;;; "url/url.el" (20162 19074))
;;; Generated autoloads from url/url.el
(autoload 'url-retrieve "url" "\
@@ -29937,7 +29952,7 @@ no further processing). URL is either a string or a parsed URL.
;;;***
;;;### (autoloads (url-register-auth-scheme url-get-authentication)
-;;;;;; "url-auth" "url/url-auth.el" (20119 34052))
+;;;;;; "url-auth" "url/url-auth.el" (19845 45374))
;;; Generated autoloads from url/url-auth.el
(autoload 'url-get-authentication "url-auth" "\
@@ -29979,7 +29994,7 @@ RATING a rating between 1 and 10 of the strength of the authentication.
;;;***
;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache)
-;;;;;; "url-cache" "url/url-cache.el" (20119 34052))
+;;;;;; "url-cache" "url/url-cache.el" (19988 13913))
;;; Generated autoloads from url/url-cache.el
(autoload 'url-store-in-cache "url-cache" "\
@@ -30000,7 +30015,7 @@ Extract FNAM from the local disk cache.
;;;***
-;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (20119 34052))
+;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19845 45374))
;;; Generated autoloads from url/url-cid.el
(autoload 'url-cid "url-cid" "\
@@ -30011,7 +30026,7 @@ Extract FNAM from the local disk cache.
;;;***
;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav"
-;;;;;; "url/url-dav.el" (20119 34052))
+;;;;;; "url/url-dav.el" (20168 57844))
;;; Generated autoloads from url/url-dav.el
(autoload 'url-dav-supported-p "url-dav" "\
@@ -30026,8 +30041,8 @@ Extract FNAM from the local disk cache.
;;;***
-;;;### (autoloads (url-file) "url-file" "url/url-file.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19845
+;;;;;; 45374))
;;; Generated autoloads from url/url-file.el
(autoload 'url-file "url-file" "\
@@ -30038,7 +30053,7 @@ Handle file: and ftp: URLs.
;;;***
;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;; "url/url-gw.el" (20119 34052))
+;;;;;; "url/url-gw.el" (19864 29553))
;;; Generated autoloads from url/url-gw.el
(autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -30058,7 +30073,7 @@ Might do a non-blocking connection; use `process-status' to check.
;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file
;;;;;; url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el"
-;;;;;; (20127 23866))
+;;;;;; (20127 62865))
;;; Generated autoloads from url/url-handlers.el
(defvar url-handler-mode nil "\
@@ -30113,7 +30128,7 @@ accessible.
;;;***
;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;; url-http) "url-http" "url/url-http.el" (20119 34052))
+;;;;;; url-http) "url-http" "url/url-http.el" (20167 36967))
;;; Generated autoloads from url/url-http.el
(autoload 'url-http "url-http" "\
@@ -30179,7 +30194,7 @@ HTTPS retrievals are asynchronous.")
;;;***
-;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (20119 34052))
+;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19845 45374))
;;; Generated autoloads from url/url-irc.el
(autoload 'url-irc "url-irc" "\
@@ -30189,8 +30204,8 @@ HTTPS retrievals are asynchronous.")
;;;***
-;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20119
-;;;;;; 34052))
+;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20164
+;;;;;; 60780))
;;; Generated autoloads from url/url-ldap.el
(autoload 'url-ldap "url-ldap" "\
@@ -30204,7 +30219,7 @@ URL can be a URL string, or a URL vector of the type returned by
;;;***
;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from url/url-mailto.el
(autoload 'url-mail "url-mailto" "\
@@ -30220,7 +30235,7 @@ Handle the mailto: URL syntax.
;;;***
;;;### (autoloads (url-data url-generic-emulator-loader url-info
-;;;;;; url-man) "url-misc" "url/url-misc.el" (20119 34052))
+;;;;;; url-man) "url-misc" "url/url-misc.el" (19845 45374))
;;; Generated autoloads from url/url-misc.el
(autoload 'url-man "url-misc" "\
@@ -30252,7 +30267,7 @@ Fetch a data URL (RFC 2397).
;;;***
;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from url/url-news.el
(autoload 'url-news "url-news" "\
@@ -30269,7 +30284,7 @@ Fetch a data URL (RFC 2397).
;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from url/url-ns.el
(autoload 'isPlainHostName "url-ns" "\
@@ -30310,7 +30325,7 @@ Fetch a data URL (RFC 2397).
;;;***
;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
-;;;;;; "url/url-parse.el" (20119 34052))
+;;;;;; "url/url-parse.el" (19845 45374))
;;; Generated autoloads from url/url-parse.el
(autoload 'url-recreate-url "url-parse" "\
@@ -30328,7 +30343,7 @@ TYPE USER PASSWORD HOST PORTSPEC FILENAME TARGET ATTRIBUTES FULLNESS.
;;;***
;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from url/url-privacy.el
(autoload 'url-setup-privacy-info "url-privacy" "\
@@ -30339,7 +30354,7 @@ Setup variables that expose info about you and your system.
;;;***
;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el"
-;;;;;; (20119 34052))
+;;;;;; (19943 25429))
;;; Generated autoloads from url/url-queue.el
(autoload 'url-queue-retrieve "url-queue" "\
@@ -30358,7 +30373,7 @@ controls the level of parallelism via the
;;;;;; url-pretty-length url-strip-leading-spaces url-eat-trailing-space
;;;;;; url-get-normalized-date url-lazy-message url-normalize-url
;;;;;; url-insert-entities-in-string url-parse-args url-debug url-debug)
-;;;;;; "url-util" "url/url-util.el" (20119 34052))
+;;;;;; "url-util" "url/url-util.el" (19867 59212))
;;; Generated autoloads from url/url-util.el
(defvar url-debug nil "\
@@ -30494,7 +30509,7 @@ This uses `url-current-object', set locally to the buffer.
;;;***
;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;; "userlock" "userlock.el" (20119 34052))
+;;;;;; "userlock" "userlock.el" (19845 45374))
;;; Generated autoloads from userlock.el
(autoload 'ask-user-about-lock "userlock" "\
@@ -30524,7 +30539,7 @@ The buffer in question is current when this function is called.
;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion
;;;;;; utf-7-imap-post-read-conversion utf-7-post-read-conversion)
-;;;;;; "utf-7" "international/utf-7.el" (20119 34052))
+;;;;;; "utf-7" "international/utf-7.el" (19845 45374))
;;; Generated autoloads from international/utf-7.el
(autoload 'utf-7-post-read-conversion "utf-7" "\
@@ -30549,7 +30564,7 @@ The buffer in question is current when this function is called.
;;;***
-;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (20119 34052))
+;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (19845 45374))
;;; Generated autoloads from gnus/utf7.el
(autoload 'utf7-encode "utf7" "\
@@ -30561,7 +30576,7 @@ Encode UTF-7 STRING. Use IMAP modification if FOR-IMAP is non-nil.
;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
;;;;;; uudecode-decode-region-external) "uudecode" "mail/uudecode.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from mail/uudecode.el
(autoload 'uudecode-decode-region-external "uudecode" "\
@@ -30591,8 +30606,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers
;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff
;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook
-;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20128
-;;;;;; 38948))
+;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20172
+;;;;;; 54913))
;;; Generated autoloads from vc/vc.el
(defvar vc-checkout-hook nil "\
@@ -30875,7 +30890,7 @@ Return the branch part of a revision number REV.
;;;***
;;;### (autoloads (vc-annotate) "vc-annotate" "vc/vc-annotate.el"
-;;;;;; (20119 34052))
+;;;;;; (19920 63959))
;;; Generated autoloads from vc/vc-annotate.el
(autoload 'vc-annotate "vc-annotate" "\
@@ -30912,7 +30927,7 @@ mode-specific menu. `vc-annotate-color-map' and
;;;***
-;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20119 34052))
+;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20168 57844))
;;; Generated autoloads from vc/vc-arch.el
(defun vc-arch-registered (file)
(if (vc-find-root file "{arch}/=tagging-method")
@@ -30922,13 +30937,14 @@ mode-specific menu. `vc-annotate-color-map' and
;;;***
-;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20127 27092))
+;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20174 10230))
;;; Generated autoloads from vc/vc-bzr.el
(defconst vc-bzr-admin-dirname ".bzr" "\
Name of the directory containing Bzr repository status files.")
-(defconst vc-bzr-admin-checkout-format-file (concat vc-bzr-admin-dirname "/checkout/format"))
+(defconst vc-bzr-admin-checkout-format-file (concat vc-bzr-admin-dirname "/checkout/format") "\
+Name of the format file in a .bzr directory.")
(defun vc-bzr-registered (file)
(if (vc-find-root file vc-bzr-admin-checkout-format-file)
(progn
@@ -30937,9 +30953,10 @@ Name of the directory containing Bzr repository status files.")
;;;***
-;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20119 34052))
+;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20174 10230))
;;; Generated autoloads from vc/vc-cvs.el
- (defun vc-cvs-registered (f)
+(defun vc-cvs-registered (f)
+ "Return non-nil if file F is registered with CVS."
(when (file-readable-p (expand-file-name
"CVS/Entries" (file-name-directory f)))
(load "vc-cvs")
@@ -30947,7 +30964,7 @@ Name of the directory containing Bzr repository status files.")
;;;***
-;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20119 34052))
+;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20168 57844))
;;; Generated autoloads from vc/vc-dir.el
(autoload 'vc-dir "vc-dir" "\
@@ -30972,7 +30989,7 @@ These are the commands available for use in the file status buffer:
;;;***
;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from vc/vc-dispatcher.el
(autoload 'vc-do-command "vc-dispatcher" "\
@@ -30995,7 +31012,7 @@ case, and the process object in the asynchronous case.
;;;***
-;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20119 34052))
+;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20087 5852))
;;; Generated autoloads from vc/vc-git.el
(defun vc-git-registered (file)
"Return non-nil if FILE is registered with git."
@@ -31006,7 +31023,7 @@ case, and the process object in the asynchronous case.
;;;***
-;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20119 34052))
+;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (19845 45374))
;;; Generated autoloads from vc/vc-hg.el
(defun vc-hg-registered (file)
"Return non-nil if FILE is registered with hg."
@@ -31017,12 +31034,14 @@ case, and the process object in the asynchronous case.
;;;***
-;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20119 34052))
+;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20174 10230))
;;; Generated autoloads from vc/vc-mtn.el
-(defconst vc-mtn-admin-dir "_MTN")
+(defconst vc-mtn-admin-dir "_MTN" "\
+Name of the monotone directory.")
-(defconst vc-mtn-admin-format (concat vc-mtn-admin-dir "/format"))
+(defconst vc-mtn-admin-format (concat vc-mtn-admin-dir "/format") "\
+Name of the monotone directory's format file.")
(defun vc-mtn-registered (file)
(if (vc-find-root file vc-mtn-admin-format)
(progn
@@ -31032,7 +31051,7 @@ case, and the process object in the asynchronous case.
;;;***
;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el"
-;;;;;; (20119 34052))
+;;;;;; (20161 45793))
;;; Generated autoloads from vc/vc-rcs.el
(defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -31046,7 +31065,7 @@ For a description of possible values, see `vc-check-master-templates'.")
;;;***
;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el"
-;;;;;; (20119 34052))
+;;;;;; (19845 45374))
;;; Generated autoloads from vc/vc-sccs.el
(defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -31063,7 +31082,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
;;;***
-;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20119 34052))
+;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20162 19074))
;;; Generated autoloads from vc/vc-svn.el
(defun vc-svn-registered (f)
(let ((admin-dir (cond ((and (eq system-type 'windows-nt)
@@ -31077,7 +31096,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
;;;***
;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el"
-;;;;;; (20129 34267))
+;;;;;; (20131 59880))
;;; Generated autoloads from progmodes/vera-mode.el
(add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode))
@@ -31135,7 +31154,7 @@ Key bindings:
;;;***
;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;; (20119 34052))
+;;;;;; (20183 25152))
;;; Generated autoloads from progmodes/verilog-mode.el
(autoload 'verilog-mode "verilog-mode" "\
@@ -31242,6 +31261,8 @@ Some other functions are:
\\[verilog-sk-initial] Insert an initial begin .. end block.
\\[verilog-sk-fork] Insert a fork begin .. end .. join block.
\\[verilog-sk-module] Insert a module .. (/*AUTOARG*/);.. endmodule block.
+ \\[verilog-sk-ovm-class] Insert an OVM Class block.
+ \\[verilog-sk-uvm-class] Insert an UVM Class block.
\\[verilog-sk-primitive] Insert a primitive .. (.. );.. endprimitive block.
\\[verilog-sk-repeat] Insert a repeat (..) begin .. end block.
\\[verilog-sk-specify] Insert a specify .. endspecify block.
@@ -31272,7 +31293,7 @@ Key bindings specific to `verilog-mode-map' are:
;;;***
;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;; (20127 25049))
+;;;;;; (20168 57844))
;;; Generated autoloads from progmodes/vhdl-mode.el
(autoload 'vhdl-mode "vhdl-mode" "\
@@ -31724,10 +31745,10 @@ Usage:
PRINTING:
- Postscript printing with different faces (an optimized set of faces is
+ PostScript printing with different faces (an optimized set of faces is
used if `vhdl-print-customize-faces' is non-nil) or colors (if
`ps-print-color-p' is non-nil) is possible using the standard Emacs
- postscript printing commands. Option `vhdl-print-two-column' defines
+ PostScript printing commands. Option `vhdl-print-two-column' defines
appropriate default settings for nice landscape two-column printing.
The paper format can be set by option `ps-paper-type'. Do not forget to
switch `ps-print-color-p' to nil for printing on black-and-white
@@ -31813,7 +31834,7 @@ Key bindings:
;;;***
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20119 34052))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20104 14925))
;;; Generated autoloads from emulation/vi.el
(autoload 'vi-mode "vi" "\
@@ -31868,7 +31889,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs.
;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
-;;;;;; "language/viet-util.el" (20119 34052))
+;;;;;; "language/viet-util.el" (19845 45374))
;;; Generated autoloads from language/viet-util.el
(autoload 'viet-encode-viscii-char "viet-util" "\
@@ -31916,7 +31937,7 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics.
;;;;;; view-mode view-buffer-other-frame view-buffer-other-window
;;;;;; view-buffer view-file-other-frame view-file-other-window
;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting)
-;;;;;; "view" "view.el" (20126 50686))
+;;;;;; "view" "view.el" (20174 10230))
;;; Generated autoloads from view.el
(defvar view-remove-frame-by-deleting t "\
@@ -32158,8 +32179,8 @@ Exit View mode and make the current buffer editable.
;;;***
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20140
-;;;;;; 44329))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20141
+;;;;;; 9296))
;;; Generated autoloads from emulation/vip.el
(autoload 'vip-setup "vip" "\
@@ -32175,7 +32196,7 @@ Turn on VIP emulation of VI.
;;;***
;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;; (20119 34052))
+;;;;;; (20167 36967))
;;; Generated autoloads from emulation/viper.el
(autoload 'toggle-viper-mode "viper" "\
@@ -32192,7 +32213,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'.
;;;***
;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
-;;;;;; (20119 34052))
+;;;;;; (19906 31087))
;;; Generated autoloads from emacs-lisp/warnings.el
(defvar warning-prefix-function nil "\
@@ -32282,7 +32303,7 @@ this is equivalent to `display-warning', using
;;;***
;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;; (20119 34052))
+;;;;;; (20174 10230))
;;; Generated autoloads from wdired.el
(autoload 'wdired-change-to-wdired-mode "wdired" "\
@@ -32298,7 +32319,7 @@ See `wdired-mode'.
;;;***
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20119 34052))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20159 42847))
;;; Generated autoloads from net/webjump.el
(autoload 'webjump "webjump" "\
@@ -32315,7 +32336,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
;;;***
;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
-;;;;;; (20127 25007))
+;;;;;; (20127 62865))
;;; Generated autoloads from progmodes/which-func.el
(put 'which-func-format 'risky-local-variable t)
(put 'which-func-current 'risky-local-variable t)
@@ -32348,7 +32369,7 @@ in certain major modes.
;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region
;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options
;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode
-;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20142 405))
+;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20176 51947))
;;; Generated autoloads from whitespace.el
(autoload 'whitespace-mode "whitespace" "\
@@ -32747,7 +32768,7 @@ cleaning up these problems.
;;;***
;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
-;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20126 45211))
+;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (20127 62865))
;;; Generated autoloads from wid-browse.el
(autoload 'widget-browse-at "wid-browse" "\
@@ -32773,8 +32794,8 @@ Minor mode for traversing widgets.
;;;***
;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
-;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20119
-;;;;;; 34052))
+;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20162
+;;;;;; 19074))
;;; Generated autoloads from wid-edit.el
(autoload 'widgetp "wid-edit" "\
@@ -32817,8 +32838,8 @@ Setup current buffer so editing string widgets works.
;;;***
;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (20119
-;;;;;; 34052))
+;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (20161
+;;;;;; 45793))
;;; Generated autoloads from windmove.el
(autoload 'windmove-left "windmove" "\
@@ -32871,7 +32892,7 @@ Default MODIFIER is 'shift.
;;;***
;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
-;;;;;; (20119 34052))
+;;;;;; (19998 49767))
;;; Generated autoloads from winner.el
(defvar winner-mode nil "\
@@ -32890,7 +32911,7 @@ With arg, turn Winner mode on if and only if arg is positive.
;;;***
;;;### (autoloads (woman-bookmark-jump woman-find-file woman-dired-find-file
-;;;;;; woman woman-locale) "woman" "woman.el" (20119 34052))
+;;;;;; woman woman-locale) "woman" "woman.el" (20168 57844))
;;; Generated autoloads from woman.el
(defvar woman-locale nil "\
@@ -32939,7 +32960,7 @@ Default bookmark handler for Woman buffers.
;;;***
;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;; (20140 44344))
+;;;;;; (20141 9296))
;;; Generated autoloads from emulation/ws-mode.el
(autoload 'wordstar-mode "ws-mode" "\
@@ -33051,7 +33072,7 @@ The key bindings are:
;;;***
-;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20127 25788))
+;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20175 31160))
;;; Generated autoloads from net/xesam.el
(autoload 'xesam-search "xesam" "\
@@ -33071,7 +33092,7 @@ Example:
;;;***
;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
-;;;;;; (20119 34052))
+;;;;;; (20168 57844))
;;; Generated autoloads from xml.el
(autoload 'xml-parse-file "xml" "\
@@ -33097,7 +33118,7 @@ If PARSE-NS is non-nil, then QNAMES are expanded.
;;;***
;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok"
-;;;;;; "nxml/xmltok.el" (20119 34052))
+;;;;;; "nxml/xmltok.el" (19845 45374))
;;; Generated autoloads from nxml/xmltok.el
(autoload 'xmltok-get-declared-encoding-position "xmltok" "\
@@ -33115,8 +33136,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT.
;;;***
-;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20126
-;;;;;; 50742))
+;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20127
+;;;;;; 62865))
;;; Generated autoloads from xt-mouse.el
(defvar xterm-mouse-mode nil "\
@@ -33146,7 +33167,7 @@ down the SHIFT key while pressing the mouse button.
;;;***
;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
-;;;;;; "gnus/yenc.el" (20119 34052))
+;;;;;; "gnus/yenc.el" (19845 45374))
;;; Generated autoloads from gnus/yenc.el
(autoload 'yenc-decode-region "yenc" "\
@@ -33162,7 +33183,7 @@ Extract file name from an yenc header.
;;;***
;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;; yow) "yow" "play/yow.el" (20119 34052))
+;;;;;; yow) "yow" "play/yow.el" (19845 45374))
;;; Generated autoloads from play/yow.el
(autoload 'yow "yow" "\
@@ -33188,7 +33209,7 @@ Zippy goes to the analyst.
;;;***
-;;;### (autoloads (zone) "zone" "play/zone.el" (20119 34052))
+;;;### (autoloads (zone) "zone" "play/zone.el" (19889 21967))
;;; Generated autoloads from play/zone.el
(autoload 'zone "zone" "\
@@ -33204,46 +33225,47 @@ Zone out, completely.
;;;;;; "calc/calc-fin.el" "calc/calc-forms.el" "calc/calc-frac.el"
;;;;;; "calc/calc-funcs.el" "calc/calc-graph.el" "calc/calc-help.el"
;;;;;; "calc/calc-incom.el" "calc/calc-keypd.el" "calc/calc-lang.el"
-;;;;;; "calc/calc-macs.el" "calc/calc-map.el" "calc/calc-math.el"
-;;;;;; "calc/calc-menu.el" "calc/calc-misc.el" "calc/calc-mode.el"
-;;;;;; "calc/calc-mtx.el" "calc/calc-nlfit.el" "calc/calc-poly.el"
-;;;;;; "calc/calc-prog.el" "calc/calc-rewr.el" "calc/calc-rules.el"
-;;;;;; "calc/calc-sel.el" "calc/calc-stat.el" "calc/calc-store.el"
-;;;;;; "calc/calc-stuff.el" "calc/calc-trail.el" "calc/calc-units.el"
-;;;;;; "calc/calc-vec.el" "calc/calc-yank.el" "calc/calcalg2.el"
-;;;;;; "calc/calcalg3.el" "calc/calccomp.el" "calc/calcsel2.el"
-;;;;;; "calendar/cal-bahai.el" "calendar/cal-coptic.el" "calendar/cal-french.el"
-;;;;;; "calendar/cal-html.el" "calendar/cal-islam.el" "calendar/cal-iso.el"
-;;;;;; "calendar/cal-julian.el" "calendar/cal-loaddefs.el" "calendar/cal-mayan.el"
-;;;;;; "calendar/cal-menu.el" "calendar/cal-move.el" "calendar/cal-persia.el"
-;;;;;; "calendar/cal-tex.el" "calendar/cal-x.el" "calendar/diary-loaddefs.el"
-;;;;;; "calendar/hol-loaddefs.el" "cdl.el" "cedet/cedet-cscope.el"
-;;;;;; "cedet/cedet-files.el" "cedet/cedet-global.el" "cedet/cedet-idutils.el"
-;;;;;; "cedet/cedet.el" "cedet/ede/auto.el" "cedet/ede/autoconf-edit.el"
-;;;;;; "cedet/ede/base.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el"
-;;;;;; "cedet/ede/dired.el" "cedet/ede/emacs.el" "cedet/ede/files.el"
-;;;;;; "cedet/ede/generic.el" "cedet/ede/linux.el" "cedet/ede/locate.el"
-;;;;;; "cedet/ede/make.el" "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el"
-;;;;;; "cedet/ede/pmake.el" "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el"
-;;;;;; "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el"
-;;;;;; "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el"
-;;;;;; "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el" "cedet/ede/proj.el"
-;;;;;; "cedet/ede/project-am.el" "cedet/ede/shell.el" "cedet/ede/simple.el"
-;;;;;; "cedet/ede/source.el" "cedet/ede/speedbar.el" "cedet/ede/srecode.el"
-;;;;;; "cedet/ede/system.el" "cedet/ede/util.el" "cedet/inversion.el"
-;;;;;; "cedet/mode-local.el" "cedet/pulse.el" "cedet/semantic/analyze.el"
-;;;;;; "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/debug.el"
-;;;;;; "cedet/semantic/analyze/fcn.el" "cedet/semantic/analyze/refs.el"
-;;;;;; "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el"
-;;;;;; "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el"
-;;;;;; "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el"
-;;;;;; "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el"
-;;;;;; "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el"
-;;;;;; "cedet/semantic/chart.el" "cedet/semantic/complete.el" "cedet/semantic/ctxt.el"
-;;;;;; "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el"
-;;;;;; "cedet/semantic/db-el.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el"
-;;;;;; "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el"
-;;;;;; "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
+;;;;;; "calc/calc-loaddefs.el" "calc/calc-macs.el" "calc/calc-map.el"
+;;;;;; "calc/calc-math.el" "calc/calc-menu.el" "calc/calc-misc.el"
+;;;;;; "calc/calc-mode.el" "calc/calc-mtx.el" "calc/calc-nlfit.el"
+;;;;;; "calc/calc-poly.el" "calc/calc-prog.el" "calc/calc-rewr.el"
+;;;;;; "calc/calc-rules.el" "calc/calc-sel.el" "calc/calc-stat.el"
+;;;;;; "calc/calc-store.el" "calc/calc-stuff.el" "calc/calc-trail.el"
+;;;;;; "calc/calc-units.el" "calc/calc-vec.el" "calc/calc-yank.el"
+;;;;;; "calc/calcalg2.el" "calc/calcalg3.el" "calc/calccomp.el"
+;;;;;; "calc/calcsel2.el" "calendar/cal-bahai.el" "calendar/cal-coptic.el"
+;;;;;; "calendar/cal-french.el" "calendar/cal-html.el" "calendar/cal-islam.el"
+;;;;;; "calendar/cal-iso.el" "calendar/cal-julian.el" "calendar/cal-loaddefs.el"
+;;;;;; "calendar/cal-mayan.el" "calendar/cal-menu.el" "calendar/cal-move.el"
+;;;;;; "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el"
+;;;;;; "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el"
+;;;;;; "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el"
+;;;;;; "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/auto.el"
+;;;;;; "cedet/ede/autoconf-edit.el" "cedet/ede/base.el" "cedet/ede/cpp-root.el"
+;;;;;; "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el"
+;;;;;; "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el"
+;;;;;; "cedet/ede/loaddefs.el" "cedet/ede/locate.el" "cedet/ede/make.el"
+;;;;;; "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" "cedet/ede/pmake.el"
+;;;;;; "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" "cedet/ede/proj-comp.el"
+;;;;;; "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" "cedet/ede/proj-misc.el"
+;;;;;; "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" "cedet/ede/proj-scheme.el"
+;;;;;; "cedet/ede/proj-shared.el" "cedet/ede/proj.el" "cedet/ede/project-am.el"
+;;;;;; "cedet/ede/shell.el" "cedet/ede/simple.el" "cedet/ede/source.el"
+;;;;;; "cedet/ede/speedbar.el" "cedet/ede/srecode.el" "cedet/ede/system.el"
+;;;;;; "cedet/ede/util.el" "cedet/inversion.el" "cedet/mode-local.el"
+;;;;;; "cedet/pulse.el" "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el"
+;;;;;; "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el"
+;;;;;; "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el"
+;;;;;; "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el"
+;;;;;; "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el"
+;;;;;; "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el"
+;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el"
+;;;;;; "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el"
+;;;;;; "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-debug.el"
+;;;;;; "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el"
+;;;;;; "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" "cedet/semantic/db-global.el"
+;;;;;; "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el"
+;;;;;; "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el"
;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el"
;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el"
@@ -33251,13 +33273,13 @@ Zone out, completely.
;;;;;; "cedet/semantic/fw.el" "cedet/semantic/grammar-wy.el" "cedet/semantic/grammar.el"
;;;;;; "cedet/semantic/html.el" "cedet/semantic/ia-sb.el" "cedet/semantic/ia.el"
;;;;;; "cedet/semantic/idle.el" "cedet/semantic/imenu.el" "cedet/semantic/java.el"
-;;;;;; "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/mru-bookmark.el"
-;;;;;; "cedet/semantic/sb.el" "cedet/semantic/scope.el" "cedet/semantic/senator.el"
-;;;;;; "cedet/semantic/sort.el" "cedet/semantic/symref.el" "cedet/semantic/symref/cscope.el"
-;;;;;; "cedet/semantic/symref/filter.el" "cedet/semantic/symref/global.el"
-;;;;;; "cedet/semantic/symref/grep.el" "cedet/semantic/symref/idutils.el"
-;;;;;; "cedet/semantic/symref/list.el" "cedet/semantic/tag-file.el"
-;;;;;; "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el"
+;;;;;; "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/loaddefs.el"
+;;;;;; "cedet/semantic/mru-bookmark.el" "cedet/semantic/sb.el" "cedet/semantic/scope.el"
+;;;;;; "cedet/semantic/senator.el" "cedet/semantic/sort.el" "cedet/semantic/symref.el"
+;;;;;; "cedet/semantic/symref/cscope.el" "cedet/semantic/symref/filter.el"
+;;;;;; "cedet/semantic/symref/global.el" "cedet/semantic/symref/grep.el"
+;;;;;; "cedet/semantic/symref/idutils.el" "cedet/semantic/symref/list.el"
+;;;;;; "cedet/semantic/tag-file.el" "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el"
;;;;;; "cedet/semantic/tag.el" "cedet/semantic/texi.el" "cedet/semantic/util-modes.el"
;;;;;; "cedet/semantic/util.el" "cedet/semantic/wisent.el" "cedet/semantic/wisent/comp.el"
;;;;;; "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el"
@@ -33269,32 +33291,33 @@ Zone out, completely.
;;;;;; "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/extract.el"
;;;;;; "cedet/srecode/fields.el" "cedet/srecode/filters.el" "cedet/srecode/find.el"
;;;;;; "cedet/srecode/getset.el" "cedet/srecode/insert.el" "cedet/srecode/java.el"
-;;;;;; "cedet/srecode/map.el" "cedet/srecode/mode.el" "cedet/srecode/semantic.el"
-;;;;;; "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" "cedet/srecode/table.el"
-;;;;;; "cedet/srecode/template.el" "cedet/srecode/texi.el" "cus-dep.el"
-;;;;;; "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el" "dos-vars.el"
-;;;;;; "dos-w32.el" "dynamic-setting.el" "emacs-lisp/assoc.el" "emacs-lisp/authors.el"
-;;;;;; "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el"
-;;;;;; "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el"
-;;;;;; "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl-specs.el"
-;;;;;; "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-custom.el"
-;;;;;; "emacs-lisp/eieio-datadebug.el" "emacs-lisp/eieio-opt.el"
-;;;;;; "emacs-lisp/eieio-speedbar.el" "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el"
-;;;;;; "emacs-lisp/gulp.el" "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el"
-;;;;;; "emacs-lisp/regi.el" "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el"
-;;;;;; "emacs-lisp/tcover-unsafep.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el"
-;;;;;; "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el"
-;;;;;; "emulation/edt-vt100.el" "emulation/tpu-extras.el" "emulation/viper-cmd.el"
-;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el"
-;;;;;; "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el"
-;;;;;; "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el"
-;;;;;; "erc/erc-lang.el" "eshell/em-alias.el" "eshell/em-banner.el"
-;;;;;; "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el"
-;;;;;; "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el"
-;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el"
-;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el"
-;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el"
-;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-io.el"
+;;;;;; "cedet/srecode/loaddefs.el" "cedet/srecode/map.el" "cedet/srecode/mode.el"
+;;;;;; "cedet/srecode/semantic.el" "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el"
+;;;;;; "cedet/srecode/table.el" "cedet/srecode/template.el" "cedet/srecode/texi.el"
+;;;;;; "cus-dep.el" "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el"
+;;;;;; "dos-vars.el" "dos-w32.el" "dynamic-setting.el" "emacs-lisp/assoc.el"
+;;;;;; "emacs-lisp/authors.el" "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el"
+;;;;;; "emacs-lisp/byte-opt.el" "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el"
+;;;;;; "emacs-lisp/cl-loaddefs.el" "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el"
+;;;;;; "emacs-lisp/cl-specs.el" "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el"
+;;;;;; "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-datadebug.el"
+;;;;;; "emacs-lisp/eieio-opt.el" "emacs-lisp/eieio-speedbar.el"
+;;;;;; "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el"
+;;;;;; "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" "emacs-lisp/regi.el"
+;;;;;; "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el"
+;;;;;; "emulation/cua-gmrk.el" "emulation/cua-rect.el" "emulation/edt-lk201.el"
+;;;;;; "emulation/edt-mapper.el" "emulation/edt-pc.el" "emulation/edt-vt100.el"
+;;;;;; "emulation/tpu-extras.el" "emulation/viper-cmd.el" "emulation/viper-ex.el"
+;;;;;; "emulation/viper-init.el" "emulation/viper-keym.el" "emulation/viper-macs.el"
+;;;;;; "emulation/viper-mous.el" "emulation/viper-util.el" "erc/erc-backend.el"
+;;;;;; "erc/erc-goodies.el" "erc/erc-ibuffer.el" "erc/erc-lang.el"
+;;;;;; "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el"
+;;;;;; "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el"
+;;;;;; "eshell/em-hist.el" "eshell/em-ls.el" "eshell/em-pred.el"
+;;;;;; "eshell/em-prompt.el" "eshell/em-rebind.el" "eshell/em-script.el"
+;;;;;; "eshell/em-smart.el" "eshell/em-term.el" "eshell/em-unix.el"
+;;;;;; "eshell/em-xtra.el" "eshell/esh-arg.el" "eshell/esh-cmd.el"
+;;;;;; "eshell/esh-ext.el" "eshell/esh-groups.el" "eshell/esh-io.el"
;;;;;; "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el"
;;;;;; "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "foldout.el"
;;;;;; "format-spec.el" "forms-d2.el" "forms-pass.el" "fringe.el"
@@ -33397,8 +33420,8 @@ Zone out, completely.
;;;;;; "vc/ediff-init.el" "vc/ediff-merg.el" "vc/ediff-ptch.el"
;;;;;; "vc/ediff-vers.el" "vc/ediff-wind.el" "vc/pcvs-info.el" "vc/pcvs-parse.el"
;;;;;; "vc/pcvs-util.el" "vc/vc-dav.el" "vcursor.el" "vt-control.el"
-;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20142
-;;;;;; 850 416521))
+;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20183
+;;;;;; 25444 347950))
;;;***
diff --git a/lisp/loadhist.el b/lisp/loadhist.el
index da20e4cb7ca..51df6ecff0a 100644
--- a/lisp/loadhist.el
+++ b/lisp/loadhist.el
@@ -133,7 +133,7 @@ from a file."
font-lock-unfontify-region-function
kill-buffer-query-functions kill-emacs-query-functions
lisp-indent-function mouse-position-function
- redisplaylay-end-trigger-functions suspend-tty-functions
+ redisplay-end-trigger-functions suspend-tty-functions
temp-buffer-show-function window-scroll-functions
window-size-change-functions write-contents-functions
write-file-functions write-region-annotate-functions)
diff --git a/lisp/lpr.el b/lisp/lpr.el
index 76c69f3308c..296063549fc 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -33,11 +33,13 @@
;;;###autoload
(defvar lpr-windows-system
- (memq system-type '(ms-dos windows-nt)))
+ (memq system-type '(ms-dos windows-nt))
+ "Non-nil if running on MS-DOS or MS Windows.")
;;;###autoload
(defvar lpr-lp-system
- (memq system-type '(usg-unix-v hpux irix)))
+ (memq system-type '(usg-unix-v hpux irix))
+ "Non-nil if running on a system type that uses the \"lp\" command.")
(defgroup lpr nil
diff --git a/lisp/mail/binhex.el b/lisp/mail/binhex.el
index 5332c0f14ba..32593462062 100644
--- a/lisp/mail/binhex.el
+++ b/lisp/mail/binhex.el
@@ -79,10 +79,11 @@ input and write the converted data to its standard output."
;;;###autoload
(defconst binhex-begin-line
- "^:...............................................................$")
+ "^:...............................................................$"
+ "Regular expression matching the start of a BinHex encoded region.")
(defconst binhex-body-line
"^[^:]...............................................................$")
-(defconst binhex-end-line ":$")
+(defconst binhex-end-line ":$") ; unused
(defvar binhex-temporary-file-directory
(cond ((fboundp 'temp-directory) (temp-directory))
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el
index 47583e3f860..7e3d983a76c 100644
--- a/lisp/mail/feedmail.el
+++ b/lisp/mail/feedmail.el
@@ -1010,7 +1010,7 @@ If it contains a \"%s\", that will be replaced with the value of
(defcustom feedmail-ask-before-queue-reprompt "FQM: Please type q, i, d, or e; or ? for help [%s]: "
- "A string which will be used for repompting after invalid input.
+ "A string which will be used for reprompting after invalid input.
If it contains a \"%s\", that will be replaced with the value of
`feedmail-ask-before-queue-default'."
:group 'feedmail-queue
@@ -2026,7 +2026,7 @@ backup file names and the like)."
(if (looking-at ".*\r\n.*\r\n")
(while (search-forward "\r\n" nil t)
(replace-match "\n" nil t)))
-;; ;; work around text-vs-binary wierdness
+;; ;; work around text-vs-binary weirdness
;; ;; if we don't find the normal M-H-S, try reading the file a different way
;; (if (not (feedmail-find-eoh t))
;; (let ((file-name-buffer-file-type-alist nil) (default-buffer-file-type nil))
@@ -2188,7 +2188,7 @@ you can set `feedmail-queue-reminder-alist' to nil."
(if (or (eq user-sez ?\C-m) (eq user-sez ?\C-j) (eq user-sez ?y))
(setq user-sez d-char))
;; these char-to-int things are because of some
- ;; incomprensible difference between the two in
+ ;; incomprehensible difference between the two in
;; byte-compiled stuff between Emacs and XEmacs
;; (well, I'm sure someone could comprehend it,
;; but I say 'uncle')
@@ -2261,9 +2261,9 @@ the counts."
(while (string-match feedmail-queue-slug-suspect-regexp slug) (setq slug (replace-match "-" nil nil slug)))
;; collapse multiple hyphens to one
(while (string-match "--+" slug) (setq slug (replace-match "-" nil nil slug)))
- ;; for tidyness, peel off leading hyphens
+ ;; for tidiness, peel off leading hyphens
(if (string-match "^-*" slug) (setq slug (replace-match "" nil nil slug)))
- ;; for tidyness, peel off trailing hyphens
+ ;; for tidiness, peel off trailing hyphens
(if (string-match "-*$" slug) (setq slug (replace-match "" nil nil slug)))
slug
)
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index 0f1669562de..342d6c16b6e 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -294,14 +294,14 @@ Use a range of Latin-1 non-ASCII characters for footnoting."
;; Unicode
(defconst footnote-unicode-string "â°Â¹Â²Â³â´âµâ¶â·â¸â¹"
- "String of unicode footnoting characters.")
+ "String of Unicode footnoting characters.")
(defconst footnote-unicode-regexp (concat "[" footnote-unicode-string "]+")
- "Regexp for unicode footnoting characters.")
+ "Regexp for Unicode footnoting characters.")
(defun Footnote-unicode (n)
"Unicode footnote style.
-Use unicode characters for footnoting."
+Use Unicode characters for footnoting."
(let (modulus result done)
(while (not done)
(setq modulus (mod n 10)
@@ -348,7 +348,7 @@ buffer use the command `Footnote-set-style'."
;;; Style utilities & functions
(defun Footnote-style-p (style)
- "Return non-nil if style is a valid style known to footnote-mode."
+ "Return non-nil if style is a valid style known to `footnote-mode'."
(assq style footnote-style-alist))
(defun Footnote-index-to-string (index)
diff --git a/lisp/mail/metamail.el b/lisp/mail/metamail.el
index 9269a24c4cb..fcc334ea30b 100644
--- a/lisp/mail/metamail.el
+++ b/lisp/mail/metamail.el
@@ -165,7 +165,7 @@ redisplayed as output is inserted."
(list (format "EMACS_VIEW_MODE=%d"
(if (numberp viewmode) viewmode 1)))))
(save-excursion
- ;; Gee! Metamail does not ouput to stdout if input comes from
+ ;; Gee! Metamail does not output to stdout if input comes from
;; stdin.
(let ((selective-display nil)) ;Disable ^M to nl translation.
(write-region beg end metafile nil 'nomessage))
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 5d219c0084f..2415ef969ee 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -482,6 +482,7 @@ still the current message in the Rmail buffer.")
;; It's not clear what it should do now, since there is nothing that
;; records when a message is shown for the first time (unseen is not
;; necessarily the same thing).
+;; See http://lists.gnu.org/archive/html/emacs-devel/2009-03/msg00013.html
(defcustom rmail-message-filter nil
"If non-nil, a filter function for new messages in RMAIL.
Called with region narrowed to the message, including headers,
@@ -489,30 +490,41 @@ before obeying `rmail-ignored-headers'."
:group 'rmail-headers
:type '(choice (const nil) function))
+(make-obsolete-variable 'rmail-message-filter
+ "it is not used (try `rmail-show-message-hook')."
+ "23.1")
+
(defcustom rmail-automatic-folder-directives nil
- "List of directives specifying where to put a message.
+ "List of directives specifying how to automatically file messages.
+Whenever Rmail shows a message in the folder that `rmail-file-name'
+specifies, it calls `rmail-auto-file' to maybe file the message in
+another folder according to this list. Messages that are already
+marked as `filed', or are in different folders, are left alone.
+
Each element of the list is of the form:
(FOLDERNAME FIELD REGEXP [ FIELD REGEXP ] ... )
-Where FOLDERNAME is the name of a folder to put the message.
-If any of the field regexp's are nil, then it is ignored.
+FOLDERNAME is the name of a folder in which to put the message.
+If FOLDERNAME is nil then Rmail deletes the message, and moves on to
+the next. If FOLDERNAME is \"/dev/null\", Rmail deletes the message,
+but does not move to the next.
-If FOLDERNAME is \"/dev/null\", it is deleted.
-If FOLDERNAME is nil then it is deleted, and skipped.
+FIELD is the name of a header field in the message, such as
+\"subject\" or \"from\". A FIELD of \"to\" includes all text
+from both the \"to\" and \"cc\" headers.
-FIELD is the plain text name of a field in the message, such as
-\"subject\" or \"from\". A FIELD of \"to\" will automatically include
-all text from the \"cc\" field as well.
+REGEXP is a regular expression to match (case-sensitively) against
+the preceding specified FIELD.
-REGEXP is an expression to match in the preceding specified FIELD.
-FIELD/REGEXP pairs continue in the list.
+There may be any number of FIELD/REGEXP pairs.
+All pairs must match for a directive to apply to a message.
+For a given message, Rmail applies only the first matching directive.
-examples:
+Examples:
(\"/dev/null\" \"from\" \"@spam.com\") ; delete all mail from spam.com
(\"RMS\" \"from\" \"rms@\") ; save all mail from RMS.
-
-Note that this is only applied in the folder specifed by `rmail-file-name'."
+"
:group 'rmail
:version "21.1"
:type '(repeat (sexp :tag "Directive")))
@@ -552,7 +564,9 @@ In a summary buffer, this holds the RMAIL buffer it is a summary for.")
;; Message counters and markers. Deleted flags.
(defvar rmail-current-message nil
- "Integer specifying the message currently being displayed in this folder.")
+ "Integer specifying the message currently being displayed in this folder.
+Counts messages from 1 to `rmail-total-messages'. A value of 0
+means there are no messages in the folder.")
(put 'rmail-current-message 'permanent-local t)
(defvar rmail-total-messages nil
@@ -638,8 +652,11 @@ be available."
:version "23.3"
:group 'rmail)
-(defvar rmail-enable-mime-composing t
- "*If non-nil, RMAIL uses `rmail-insert-mime-forwarded-message-function' to forward.")
+(defcustom rmail-enable-mime-composing t
+ "If non-nil, use `rmail-insert-mime-forwarded-message-function' to forward."
+ :type 'boolean
+ :version "24.1" ; nil -> t
+ :group 'rmail)
(defvar rmail-show-mime-function nil
"Function of no argument called to show a decoded MIME message.
@@ -649,8 +666,8 @@ The package providing MIME support should set this.")
;;;###autoload
(defvar rmail-insert-mime-forwarded-message-function nil
"Function to insert a message in MIME format so it can be forwarded.
-This function is called if `rmail-enable-mime' or
-`rmail-enable-mime-composing' is non-nil.
+This function is called if `rmail-enable-mime' and
+`rmail-enable-mime-composing' are non-nil.
It is called with one argument FORWARD-BUFFER, which is a
buffer containing the message to forward. The current buffer
is the outgoing mail buffer.")
@@ -681,12 +698,17 @@ expression, LIMIT is the position specifying the end of header.")
(defvar rmail-mime-feature 'rmailmm
"Feature to require for MIME support in Rmail.
-When starting Rmail, if `rmail-enable-mime' is non-nil,
-this feature is required with `require'.
+When starting Rmail, if `rmail-enable-mime' is non-nil, this
+feature is loaded with `require'. The default value is `rmailmm'.
-The default value is `rmailmm'")
+The library should set the variable `rmail-show-mime-function'
+to an appropriate value, and optionally also set
+`rmail-search-mime-message-function',
+`rmail-search-mime-header-function',
+`rmail-insert-mime-forwarded-message-function', and
+`rmail-insert-mime-resent-message-function'.")
-;; FIXME this is unused.
+;; FIXME this is unused since 23.1.
(defvar rmail-decode-mime-charset t
"*Non-nil means a message is decoded by MIME's charset specification.
If this variable is nil, or the message has not MIME specification,
@@ -696,6 +718,9 @@ If the variable `rmail-enable-mime' is non-nil, this variable is
ignored, and all the decoding work is done by a feature specified by
the variable `rmail-mime-feature'.")
+(make-obsolete-variable 'rmail-decode-mime-charset
+ "it does nothing." "23.1")
+
(defvar rmail-mime-charset-pattern
(concat "^content-type:[ \t]*text/plain;"
"\\(?:[ \t\n]*\\(?:format\\|delsp\\)=\"?[-a-z0-9]+\"?;\\)*"
@@ -2923,8 +2948,11 @@ Uses the face specified by `rmail-highlight-face'."
(cons overlay rmail-overlay-list))))))))))
(defun rmail-auto-file ()
- "Automatically move a message into a sub-folder based on criteria.
-Called when a new message is displayed."
+ "Automatically move a message into another sfolder based on criteria.
+This moves messages according to `rmail-automatic-folder-directives'.
+It only does something in the folder that `rmail-file-name' specifies.
+The function `rmail-show-message' calls this whenever it shows a message.
+This leaves a message alone if it already has the `filed' attribute."
(if (or (zerop rmail-total-messages)
(rmail-message-attr-p rmail-current-message "...F")
(not (string= (buffer-file-name)
@@ -2944,10 +2972,14 @@ Called when a new message is displayed."
directive-loop (cdr (car d)))
(while (and (car directive-loop)
(let ((f (cond
- ((string= (car directive-loop) "from") from)
- ((string= (car directive-loop) "to") to)
- ((string= (car directive-loop) "subject") subj)
+ ((string= (downcase (car directive-loop)) "from")
+ from)
+ ((string= (downcase (car directive-loop)) "to")
+ to)
+ ((string= (downcase (car directive-loop))
+ "subject") subj)
(t (mail-fetch-field (car directive-loop))))))
+ ;; FIXME - shouldn't this ignore case?
(and f (string-match (car (cdr directive-loop)) f))))
(setq directive-loop (cdr (cdr directive-loop))))
;; If there are no directives left, then it was a complete match.
@@ -3128,10 +3160,9 @@ but probably is garbage."
;; This is adequate because its only caller, rmail-search,
;; unswaps the buffers.
(goto-char (rmail-msgbeg msg))
- (if rmail-enable-mime
- (if rmail-search-mime-message-function
- (funcall rmail-search-mime-message-function msg regexp)
- (error "You must set `rmail-search-mime-message-function'"))
+ (if (and rmail-enable-mime
+ rmail-search-mime-message-function)
+ (funcall rmail-search-mime-message-function msg regexp)
(re-search-forward regexp (rmail-msgend msg) t)))
(defvar rmail-search-last-regexp nil)
@@ -3769,6 +3800,8 @@ which is an element of rmail-msgref-vector."
With prefix argument, \"resend\" the message instead of forwarding it;
see the documentation of `rmail-resend'."
(interactive "P")
+ (if (zerop rmail-current-message)
+ (error "No message to forward"))
(if resend
(call-interactively 'rmail-resend)
(let ((forward-buffer rmail-buffer)
@@ -3798,7 +3831,8 @@ see the documentation of `rmail-resend'."
;; Insert after header separator--before signature if any.
(rfc822-goto-eoh)
(forward-line 1)
- (if (and rmail-enable-mime rmail-enable-mime-composing)
+ (if (and rmail-enable-mime rmail-enable-mime-composing
+ rmail-insert-mime-forwarded-message-function)
(prog1
(funcall rmail-insert-mime-forwarded-message-function
forward-buffer)
@@ -3854,10 +3888,9 @@ typically for purposes of moderating a list."
(unwind-protect
(with-current-buffer tembuf
;;>> Copy message into temp buffer
- (if rmail-enable-mime
- (if rmail-insert-mime-resent-message-function
+ (if (and rmail-enable-mime
+ rmail-insert-mime-resent-message-function)
(funcall rmail-insert-mime-resent-message-function mailbuf)
- (error "You must set `rmail-insert-mime-resent-message-function'"))
(insert-buffer-substring mailbuf))
(goto-char (point-min))
;; Delete any Sender field, since that's not specifiable.
@@ -4451,7 +4484,7 @@ Edit the contents of this message.
;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message
;;;;;; rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd"
-;;;;;; "rmailkwd.el" "08c288c88cfe7be50830122c064e3884")
+;;;;;; "rmailkwd.el" "ec13237a2b0a9e9c1893e38d36b11134")
;;; Generated autoloads from rmailkwd.el
(autoload 'rmail-add-label "rmailkwd" "\
@@ -4494,7 +4527,7 @@ With prefix argument N moves forward N messages with these labels.
;;;***
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "6296f0170a37670c49a88a1b92d78187")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "2cb1f29b88b0c724fdba389fd7b98b00")
;;; Generated autoloads from rmailmm.el
(autoload 'rmail-mime "rmailmm" "\
@@ -4596,7 +4629,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order.
;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic
;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels
-;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "35e07b0a5ea8e41971f31a8780eba6bb")
+;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "d5971848a5fb43dc0092008376298a80")
;;; Generated autoloads from rmailsum.el
(autoload 'rmail-summary "rmailsum" "\
diff --git a/lisp/mail/rmailkwd.el b/lisp/mail/rmailkwd.el
index 73542578bf6..472740aefd8 100644
--- a/lisp/mail/rmailkwd.el
+++ b/lisp/mail/rmailkwd.el
@@ -96,7 +96,8 @@ LABEL may be a symbol or string."
(error "More than one label specified"))
(with-current-buffer rmail-buffer
(rmail-maybe-set-message-counters)
- (or msg (setq msg rmail-current-message))
+ (if (zerop (or msg (setq msg rmail-current-message)))
+ (error "No message"))
;; Force recalculation of summary for this message.
(aset rmail-summary-vector (1- msg) nil)
(let (attr-index)
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index f3b539c52d0..d01cfc7f2c8 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -281,13 +281,20 @@ TRUNCATED is non-nil if the text of this entity was truncated."
(define-button-type 'rmail-mime-save 'action 'rmail-mime-save)
+;; Display options returned by rmail-mime-entity-display.
+;; Value is on of nil, t, raw.
+(defsubst rmail-mime-display-header (disp) (aref disp 0))
+(defsubst rmail-mime-display-tagline (disp) (aref disp 1))
+(defsubst rmail-mime-display-body (disp) (aref disp 2))
+
(defun rmail-mime-entity-segment (pos &optional entity)
"Return a vector describing the displayed region of a MIME-entity at POS.
Optional 2nd argument ENTITY is the MIME-entity at POS.
The value is a vector [INDEX HEADER TAGLINE BODY END], where
INDEX: index into the returned vector indicating where POS is (1..3)
HEADER: the position of the beginning of a header
- TAGLINE: the position of the beginning of a tag line
+ TAGLINE: the position of the beginning of a tag line, including
+ the newline that precedes it
BODY: the position of the beginning of a body
END: the position of the end of the entity."
(save-excursion
@@ -305,21 +312,32 @@ The value is a vector [INDEX HEADER TAGLINE BODY END], where
(index 1)
tagline-beg body-beg end)
(goto-char beg)
- (if (aref current 0)
+ ;; If the header is displayed, get past it to the tagline.
+ (if (rmail-mime-display-header current)
(search-forward "\n\n" nil t))
(setq tagline-beg (point))
(if (>= pos tagline-beg)
(setq index 2))
- (if (aref current 1)
- (forward-line 1))
+ ;; If the tagline is displayed, get past it to the body.
+ (if (rmail-mime-display-tagline current)
+ ;; The next foward-line call must be in sync with how
+ ;; `rmail-mime-insert-tagline' formats the tagline. The
+ ;; body begins after the empty line that ends the tagline.
+ (forward-line 3))
(setq body-beg (point))
(if (>= pos body-beg)
(setq index 3))
- (if (aref current 2)
+ ;; If the body is displayed, find its end.
+ (if (rmail-mime-display-body current)
(let ((tag (aref (rmail-mime-entity-tagline entity) 0))
tag2)
(setq end (next-single-property-change beg 'rmail-mime-entity
nil (point-max)))
+ ;; `tag' is either an empty string or "/n" where n is
+ ;; the number of the part of the multipart MIME message.
+ ;; The loop below finds the next location whose
+ ;; `rmail-mime-entity' property specifies a tag of a
+ ;; different value.
(while (and (< end (point-max))
(setq entity (get-text-property end 'rmail-mime-entity)
tag2 (aref (rmail-mime-entity-tagline entity) 0))
@@ -367,7 +385,7 @@ Use `raw' for raw mode, and any other non-nil value for decoded mode."
(segment (rmail-mime-entity-segment pos entity)))
(if (or (eq state 'raw)
(and (not state)
- (not (eq (aref current 0) 'raw))))
+ (not (eq (rmail-mime-display-header current) 'raw))))
;; Enter the raw mode.
(rmail-mime-raw-mode entity)
;; Enter the shown mode.
@@ -389,7 +407,7 @@ Use `raw' for raw mode, and any other non-nil value for decoded mode."
(entity (get-text-property pos 'rmail-mime-entity))
(current (aref (rmail-mime-entity-display entity) 0))
(segment (rmail-mime-entity-segment pos entity)))
- (if (aref current 2)
+ (if (rmail-mime-display-body current)
;; Enter the hidden mode.
(progn
;; If point is in the body part, move it to the tagline
@@ -430,12 +448,15 @@ Use `raw' for raw mode, and any other non-nil value for decoded mode."
"Insert a tag line for MIME-entity ENTITY.
ITEM-LIST is a list of strings or button-elements (list) to add
to the tag line."
+ ;; Precede the tagline by an empty line to make it a separate
+ ;; paragraph, so that it is aligned to the left margin of the window
+ ;; even if preceded by a right-to-left paragraph.
(insert "\n[")
(let ((tag (aref (rmail-mime-entity-tagline entity) 0)))
(if (> (length tag) 0) (insert (substring tag 1) ":")))
(insert (car (rmail-mime-entity-type entity)) " ")
(insert-button (let ((new (aref (rmail-mime-entity-display entity) 1)))
- (if (aref new 2) "Hide" "Show"))
+ (if (rmail-mime-display-body new) "Hide" "Show"))
:type 'rmail-mime-toggle
'help-echo "mouse-2, RET: Toggle show/hide")
(dolist (item item-list)
@@ -443,6 +464,9 @@ to the tag line."
(if (stringp item)
(insert item)
(apply 'insert-button item))))
+ ;; Follow the tagline by an empty line to make it a separate
+ ;; paragraph, so that the paragraph direction of the following text
+ ;; is determined based on that text.
(insert "]\n\n"))
(defun rmail-mime-update-tagline (entity)
@@ -463,7 +487,9 @@ to the tag line."
(delete-region (button-start button) (point))
(put-text-property (point) (button-end button) 'rmail-mime-entity entity)
(restore-buffer-modified-p modified)
- (forward-line 1)))
+ ;; The following call to forward-line must be in sync with how
+ ;; rmail-mime-insert-tagline formats the tagline.
+ (forward-line 2)))
(defun rmail-mime-insert-header (header)
"Decode and insert a MIME-entity header HEADER in the current buffer.
@@ -557,48 +583,35 @@ HEADER is a header component of a MIME-entity object (see
(delete-region (point-min) (point-max))))
;; header
- (if (eq (aref current 0) (aref new 0))
+ (if (eq (rmail-mime-display-header current)
+ (rmail-mime-display-header new))
(goto-char (aref segment 2))
- (if (aref current 0)
+ (if (rmail-mime-display-header current)
(delete-char (- (aref segment 2) (aref segment 1))))
- (if (aref new 0)
+ (if (rmail-mime-display-header new)
(rmail-mime-insert-header header)))
;; tagline
- (if (eq (aref current 1) (aref new 1))
- (if (or (not (aref current 1))
- (eq (aref current 2) (aref new 2)))
+ (if (eq (rmail-mime-display-tagline current)
+ (rmail-mime-display-tagline new))
+ (if (or (not (rmail-mime-display-tagline current))
+ (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new)))
(forward-char (- (aref segment 3) (aref segment 2)))
(rmail-mime-update-tagline entity))
- (if (aref current 1)
+ (if (rmail-mime-display-tagline current)
(delete-char (- (aref segment 3) (aref segment 2))))
- (if (aref new 1)
+ (if (rmail-mime-display-tagline new)
(rmail-mime-insert-tagline entity)))
;; body
- (if (eq (aref current 2) (aref new 2))
+ (if (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new))
(forward-char (- (aref segment 4) (aref segment 3)))
- (if (aref current 2)
+ (if (rmail-mime-display-body current)
(delete-char (- (aref segment 4) (aref segment 3))))
- (if (aref new 2)
+ (if (rmail-mime-display-body new)
(rmail-mime-insert-decoded-text entity)))
(put-text-property beg (point) 'rmail-mime-entity entity)))
-;; FIXME move to the test/ directory?
-(defun test-rmail-mime-handler ()
- "Test of a mail using no MIME parts at all."
- (let ((mail "To: alex@gnu.org
-Content-Type: text/plain; charset=koi8-r
-Content-Transfer-Encoding: 8bit
-MIME-Version: 1.0
-
-\372\304\322\301\327\323\324\327\325\312\324\305\41"))
- (switch-to-buffer (get-buffer-create "*test*"))
- (erase-buffer)
- (set-buffer-multibyte nil)
- (insert mail)
- (rmail-mime-show t)
- (set-buffer-multibyte t)))
-
-
(defun rmail-mime-insert-image (entity)
"Decode and insert the image body of MIME-entity ENTITY."
(let* ((content-type (car (rmail-mime-entity-type entity)))
@@ -726,22 +739,25 @@ directly."
(setq beg (point))
;; header
- (if (eq (aref current 0) (aref new 0))
+ (if (eq (rmail-mime-display-header current)
+ (rmail-mime-display-header new))
(goto-char (aref segment 2))
- (if (aref current 0)
+ (if (rmail-mime-display-header current)
(delete-char (- (aref segment 2) (aref segment 1))))
- (if (aref new 0)
+ (if (rmail-mime-display-header new)
(rmail-mime-insert-header header)))
;; tagline
- (if (eq (aref current 1) (aref new 1))
- (if (or (not (aref current 1))
- (eq (aref current 2) (aref new 2)))
+ (if (eq (rmail-mime-display-tagline current)
+ (rmail-mime-display-tagline new))
+ (if (or (not (rmail-mime-display-tagline current))
+ (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new)))
(forward-char (- (aref segment 3) (aref segment 2)))
(rmail-mime-update-tagline entity))
- (if (aref current 1)
+ (if (rmail-mime-display-tagline current)
(delete-char (- (aref segment 3) (aref segment 2))))
- (if (aref new 1)
+ (if (rmail-mime-display-tagline new)
(rmail-mime-insert-tagline
entity
" Save:"
@@ -764,11 +780,12 @@ directly."
;; 'image-data data))
)))
;; body
- (if (eq (aref current 2) (aref new 2))
+ (if (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new))
(forward-char (- (aref segment 4) (aref segment 3)))
- (if (aref current 2)
+ (if (rmail-mime-display-body current)
(delete-char (- (aref segment 4) (aref segment 3))))
- (if (aref new 2)
+ (if (rmail-mime-display-body new)
(cond ((eq (cdr bulk-data) 'text)
(rmail-mime-insert-decoded-text entity))
((cdr bulk-data)
@@ -779,27 +796,6 @@ directly."
(rmail-mime-insert-decoded-text entity)))))
(put-text-property beg (point) 'rmail-mime-entity entity)))
-(defun test-rmail-mime-bulk-handler ()
- "Test of a mail used as an example in RFC 2183."
- (let ((mail "Content-Type: image/jpeg
-Content-Disposition: attachment; filename=genome.jpeg;
- modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\";
-Content-Description: a complete map of the human genome
-Content-Transfer-Encoding: base64
-
-iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAZQ
-TFRF////AAAAVcLTfgAAAPZJREFUeNq9ldsOwzAIQ+3//+l1WlvA5ZLsoUiTto4TB+ISoAjy
-+ITfRBfcAmgRFFeAm+J6uhdKdFhFWUgDkFsK0oUp/9G2//Kj7Jx+5tSKOdBscgUYiKHRS/me
-WATQdRUvAK0Bnmshmtn79PpaLBbbOZkjKvRnjRZoRswOkG1wFchKew2g9wXVJVZL/m4+B+vv
-9AxQQR2Q33SgAYJzzVACdAWjAfRYzYFO9n6SLnydtQHSMxYDMAKqZ/8FS/lTK+zuq3CtK64L
-UDwbgUEAUmk2Zyg101d6PhCDySgAvTvDgKiuOrc4dLxUb7UMnhGIexyI+d6U+ABuNAP4Simx
-lgAAAABJRU5ErkJggg==
-"))
- (switch-to-buffer (get-buffer-create "*test*"))
- (erase-buffer)
- (insert mail)
- (rmail-mime-show)))
-
(defun rmail-mime-multipart-handler (content-type
content-disposition
content-transfer-encoding)
@@ -937,37 +933,6 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
(rmail-mime-hidden-mode child)))))
entities)))
-(defun test-rmail-mime-multipart-handler ()
- "Test of a mail used as an example in RFC 2046."
- (let ((mail "From: Nathaniel Borenstein <nsb@bellcore.com>
-To: Ned Freed <ned@innosoft.com>
-Date: Sun, 21 Mar 1993 23:56:48 -0800 (PST)
-Subject: Sample message
-MIME-Version: 1.0
-Content-type: multipart/mixed; boundary=\"simple boundary\"
-
-This is the preamble. It is to be ignored, though it
-is a handy place for composition agents to include an
-explanatory note to non-MIME conformant readers.
-
---simple boundary
-
-This is implicitly typed plain US-ASCII text.
-It does NOT end with a linebreak.
---simple boundary
-Content-type: text/plain; charset=us-ascii
-
-This is explicitly typed plain US-ASCII text.
-It DOES end with a linebreak.
-
---simple boundary--
-
-This is the epilogue. It is also to be ignored."))
- (switch-to-buffer (get-buffer-create "*test*"))
- (erase-buffer)
- (insert mail)
- (rmail-mime-show t)))
-
(defun rmail-mime-insert-multipart (entity)
"Presentation handler for a multipart MIME entity."
(let ((current (aref (rmail-mime-entity-display entity) 0))
@@ -978,27 +943,31 @@ This is the epilogue. It is also to be ignored."))
(beg (point))
(segment (rmail-mime-entity-segment (point) entity)))
;; header
- (if (eq (aref current 0) (aref new 0))
+ (if (eq (rmail-mime-display-header current)
+ (rmail-mime-display-header new))
(goto-char (aref segment 2))
- (if (aref current 0)
+ (if (rmail-mime-display-header current)
(delete-char (- (aref segment 2) (aref segment 1))))
- (if (aref new 0)
+ (if (rmail-mime-display-header new)
(rmail-mime-insert-header header)))
;; tagline
- (if (eq (aref current 1) (aref new 1))
- (if (or (not (aref current 1))
- (eq (aref current 2) (aref new 2)))
+ (if (eq (rmail-mime-display-tagline current)
+ (rmail-mime-display-tagline new))
+ (if (or (not (rmail-mime-display-tagline current))
+ (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new)))
(forward-char (- (aref segment 3) (aref segment 2)))
(rmail-mime-update-tagline entity))
- (if (aref current 1)
+ (if (rmail-mime-display-tagline current)
(delete-char (- (aref segment 3) (aref segment 2))))
- (if (aref new 1)
+ (if (rmail-mime-display-tagline new)
(rmail-mime-insert-tagline entity)))
(put-text-property beg (point) 'rmail-mime-entity entity)
;; body
- (if (eq (aref current 2) (aref new 2))
+ (if (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new))
(forward-char (- (aref segment 4) (aref segment 3)))
(dolist (child (rmail-mime-entity-children entity))
(rmail-mime-insert child)))
@@ -1228,7 +1197,7 @@ This function will be called recursively if multiple parts are
available."
(let ((current (aref (rmail-mime-entity-display entity) 0))
(new (aref (rmail-mime-entity-display entity) 1)))
- (if (not (eq (aref new 0) 'raw))
+ (if (not (eq (rmail-mime-display-header new) 'raw))
;; Not a raw-mode. Each handler should handle it.
(funcall (rmail-mime-entity-handler entity) entity)
(let ((header (rmail-mime-entity-header entity))
@@ -1237,14 +1206,15 @@ available."
(beg (point))
(segment (rmail-mime-entity-segment (point) entity)))
;; header
- (if (eq (aref current 0) (aref new 0))
+ (if (eq (rmail-mime-display-header current)
+ (rmail-mime-display-header new))
(goto-char (aref segment 2))
- (if (aref current 0)
+ (if (rmail-mime-display-header current)
(delete-char (- (aref segment 2) (aref segment 1))))
(insert-buffer-substring rmail-mime-mbox-buffer
(aref header 0) (aref header 1)))
;; tagline
- (if (aref current 1)
+ (if (rmail-mime-display-tagline current)
(delete-char (- (aref segment 3) (aref segment 2))))
;; body
(let ((children (rmail-mime-entity-children entity)))
@@ -1253,9 +1223,10 @@ available."
(put-text-property beg (point) 'rmail-mime-entity entity)
(dolist (child children)
(rmail-mime-insert child)))
- (if (eq (aref current 2) (aref new 2))
+ (if (eq (rmail-mime-display-body current)
+ (rmail-mime-display-body new))
(forward-char (- (aref segment 4) (aref segment 3)))
- (if (aref current 2)
+ (if (rmail-mime-display-body current)
(delete-char (- (aref segment 4) (aref segment 3))))
(insert-buffer-substring rmail-mime-mbox-buffer
(aref body 0) (aref body 1))
@@ -1298,7 +1269,8 @@ The arguments ARG and STATE have no effect in this case."
(or arg (goto-char (point-min)))
(point)) 'rmail-mime-entity)))
(if (or (not arg) entity) (rmail-mime-toggle-raw state)))
- (message "Not a MIME message")))
+ (message "Not a MIME message, just toggling headers")
+ (rmail-toggle-header)))
(let* ((data (rmail-apply-in-message rmail-current-message 'buffer-string))
(buf (get-buffer-create "*RMAIL*"))
(rmail-mime-mbox-buffer rmail-view-buffer)
diff --git a/lisp/mail/rmailout.el b/lisp/mail/rmailout.el
index c168ca9d8f5..ad76a493483 100644
--- a/lisp/mail/rmailout.el
+++ b/lisp/mail/rmailout.el
@@ -468,6 +468,8 @@ from a non-Rmail buffer. In this case, COUNT is ignored."
(if rmail-buffer
(set-buffer rmail-buffer)
(error "There is no Rmail buffer"))
+ (if (zerop rmail-total-messages)
+ (error "No messages to output"))
(let ((orig-count count)
beg end)
(while (> count 0)
@@ -533,6 +535,8 @@ so you should call `rmail-output' directly in that case."
(if rmail-buffer
(set-buffer rmail-buffer)
(error "There is no Rmail buffer"))
+ (if (zerop rmail-total-messages)
+ (error "No messages to output"))
(let ((orig-count count)
(cur (current-buffer)))
(while (> count 0)
@@ -594,6 +598,8 @@ than appending to it. Deletes the message after writing if
(expand-file-name file-name
(and rmail-default-body-file
(file-name-directory rmail-default-body-file))))
+ (if (zerop rmail-current-message)
+ (error "No message to output"))
(save-excursion
(goto-char (point-min))
(search-forward "\n\n")
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index a3f722443dc..5c147be3104 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -342,10 +342,9 @@ Emacs will list the message in the summary."
(defun rmail-message-regexp-p-1 (msg regexp)
;; Search functions can expect to start from the beginning.
(narrow-to-region (point) (save-excursion (search-forward "\n\n") (point)))
- (if rmail-enable-mime
- (if rmail-search-mime-header-function
- (funcall rmail-search-mime-header-function msg regexp (point))
- (error "You must set `rmail-search-mime-header-function'"))
+ (if (and rmail-enable-mime
+ rmail-search-mime-header-function)
+ (funcall rmail-search-mime-header-function msg regexp (point))
(re-search-forward regexp nil t)))
;;;###autoload
@@ -763,6 +762,12 @@ the message being processed."
(point)))))))))
(if (null from)
" "
+ ;; We are going to return only 25 characters of the
+ ;; address, so make sure it is RFC2047 decoded before
+ ;; taking its substring. This is important when the address is not on the same line as the name, e.g.:
+ ;; To: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?=
+ ;; <stepnem@gmail.com>
+ (setq from (rfc2047-decode-string from))
(setq len (length from))
(setq mch (string-match "[@%]" from))
(format "%25s"
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 026b03e350f..bc38b10124e 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -975,7 +975,7 @@ The list is in preference order.")
(subst-char-in-region (point-min) (point-max) 9 ? t) ; tab --> blank
(goto-char (point-min))
- ;; tidyness in case hook is not robust when it looks at this
+ ;; tidiness in case hook is not robust when it looks at this
(while (re-search-forward "[ \t]+" header-end t) (replace-match " "))
(goto-char (point-min))
diff --git a/lisp/mail/unrmail.el b/lisp/mail/unrmail.el
index 9ed2e90b456..652693209e8 100644
--- a/lisp/mail/unrmail.el
+++ b/lisp/mail/unrmail.el
@@ -231,10 +231,9 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'."
(while (search-forward "\nFrom " nil t)
(forward-char -5)
(insert ?>)))
- ;; Make sure the message ends with two newlines
(goto-char (point-max))
- (unless (looking-back "\n\n")
- (insert "\n"))
+ ;; Add terminator blank line to message.
+ (insert "\n")
;; Write it to the output file, suitably encoded.
(let ((coding-system-for-write coding))
(write-region (point-min) (point-max) to-file t
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in
index c844a8f6630..c8e535d4ac0 100644
--- a/lisp/makefile.w32-in
+++ b/lisp/makefile.w32-in
@@ -232,12 +232,15 @@ $(lisp)/subdirs.el:
update-subdirs: update-subdirs-$(SHELLTYPE)
update-subdirs-CMD: doit
- echo ;; -*- no-byte-compile: t -*-> $(lisp)/subdirs.el
- echo ;; In load-path, after this directory should come>> $(lisp)/subdirs.el
+ echo ;; In load-path, after this directory should come> $(lisp)/subdirs.el
echo ;; certain of its subdirectories. Here we specify them.>> $(lisp)/subdirs.el
echo (normal-top-level-add-to-load-path $(SQUOTE)(>> $(lisp)/subdirs.el
@for %%d in ($(WINS_SUBDIR) cedet) do echo "%%d">> $(lisp)/subdirs.el
echo ))>> $(lisp)/subdirs.el
+ echo ;; Local Variables:>> $(lisp)/subdirs.el
+ echo ;; version-control: never>> $(lisp)/subdirs.el
+ echo ;; no-byte-compile: t>> $(lisp)/subdirs.el
+ echo ;; End:>> $(lisp)/subdirs.el
update-subdirs-SH: doit
$(srcdir)/update-subdirs $(lisp); \
diff --git a/lisp/man.el b/lisp/man.el
index 14fdac4e5da..aeba3327c40 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -687,7 +687,7 @@ POS defaults to `point'."
;; Otherwise record the current column and look backwards.
(setq column (current-column))
(skip-chars-backward ",; \t")
- ;; Record the distance travelled.
+ ;; Record the distance traveled.
(setq distance (- column (current-column)))
(when (looking-back
(concat "([ \t]*\\(?:" Man-section-regexp "\\)[ \t]*)"))
@@ -754,8 +754,10 @@ POS defaults to `point'."
(defun Man-completion-table (string pred action)
(cond
- ((eq action 'lambda)
- (not (string-match "([^)]*\\'" string)))
+ ;; This ends up returning t for pretty much any string, and hence leads to
+ ;; spurious "complete but not unique" messages. And since `man' doesn't
+ ;; require-match anyway, there's not point being clever.
+ ;;((eq action 'lambda) (not (string-match "([^)]*\\'" string)))
((equal string "-k")
;; Let SPC (minibuffer-complete-word) insert the space.
(complete-with-action action '("-k ") string pred))
@@ -1095,7 +1097,7 @@ Same for the ANSI bold and normal escape sequences."
(replace-match "+")
(put-text-property (1- (point)) (point) 'face 'bold))
;; When the header is longer than the manpage name, groff tries to
- ;; condense it to a shorter line interspered with ^H. Remove ^H with
+ ;; condense it to a shorter line interspersed with ^H. Remove ^H with
;; their preceding chars (but don't put Man-overstrike-face). (Bug#5566)
(goto-char (point-min))
(while (re-search-forward ".\b" nil t) (backward-delete-char 2))
@@ -1189,7 +1191,7 @@ script would have done them."
(goto-char (point-min))
(while (re-search-forward "[-|]\\(\b[-|]\\)+" nil t) (replace-match "+"))
;; When the header is longer than the manpage name, groff tries to
- ;; condense it to a shorter line interspered with ^H. Remove ^H with
+ ;; condense it to a shorter line interspersed with ^H. Remove ^H with
;; their preceding chars (but don't put Man-overstrike-face). (Bug#5566)
(goto-char (point-min))
(while (re-search-forward ".\b" nil t) (backward-delete-char 2))
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 9aa0ba4e262..9c020ffadab 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -445,7 +445,7 @@
(define-key menu [props]
`(menu-item ,(purecopy "Text Properties") facemenu-menu))
- ;; ns-win.el said: Add spell for platorm consistency.
+ ;; ns-win.el said: Add spell for platform consistency.
(if (featurep 'ns)
(define-key menu [spell]
`(menu-item ,(purecopy "Spell") ispell-menu-map)))
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index ca179a78b61..02e531120be 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,14 @@
+2011-11-20 Bill Wohler <wohler@newt.com>
+
+ * Release MH-E version 8.3.1.
+
+ * mh-e.el (Version, mh-version): Update for release 8.3.1.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * mh-utils.el (mh-folder-list): Fix typo.
+ (mh-children-p): Move part of the docstring to a comment.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* mh-search.el (mh-pick-parse-search-buffer): Fix typo.
@@ -347,7 +358,7 @@
2008-06-20 Stephen Eglen <stephen@gnu.org>
- * mh-show.el (mh-defun-show-buffer): Use `...' rather than than
+ * mh-show.el (mh-defun-show-buffer): Use `...' rather than
"..." in generated docstrings.
2008-06-12 Glenn Morris <rgm@gnu.org>
@@ -2663,7 +2674,7 @@
Follow MH-E Developers Guide conventions. Use `' quotes for Help
hyperlinks such as symbols, Info nodes, or URLs. Use \" quotes for
- everything else. Otherwise, you can accidently get links to
+ everything else. Otherwise, you can accidentally get links to
nonsense symbols.
2005-12-22 Bill Wohler <wohler@newt.com>
@@ -3445,4 +3456,3 @@
;; sentence-end-double-space: nil
;; add-log-time-zone-rule: t
;; End:
-
diff --git a/lisp/mh-e/ChangeLog.1 b/lisp/mh-e/ChangeLog.1
index b12c47e7f1f..65ffb0375ab 100644
--- a/lisp/mh-e/ChangeLog.1
+++ b/lisp/mh-e/ChangeLog.1
@@ -428,7 +428,7 @@
2004-11-08 Satyaki Das <satyaki@theforce.stanford.edu>
* mh-acros.el (mh-funcall-if-exists): In XEmacs, presence of a
- function at compile time doesn't guarantee it's existence at run
+ function at compile time doesn't guarantee its existence at run
time. So make the macro handle that situation better.
2004-11-05 Satyaki Das <satyaki@theforce.stanford.edu>
@@ -2553,7 +2553,7 @@
for users who have customized it to a long list now redundant with
`mh-invisible-header-fields-default'.
(mh-invisible-header-fields-default-override): New defcustom.
- Users check off the fields they want displyed from what we
+ Users check off the fields they want displayed from what we
included in `mh-invisible-header-fields-default'.
(mh-invisible-headers): Function adapted to new variables.
@@ -7385,7 +7385,7 @@
(mh-visit-folder) alias, and v (mh-visit-folder).
(mh-index-folder-mode-help-messages): Changes for above.
(mh-index-folder-message-menu, mh-index-folder-folder-menu): New
- menus. I decided to delete the unavailable items since greying out
+ menus. I decided to delete the unavailable items since graying out
implies that the user can do something to access them. In this
case, that's not the case. Well, that's not entirely true--the
user could write code for those functions ;-).
@@ -9150,7 +9150,7 @@
%number(msg).
(mh-scan-msg-format-string): Format to be used with the current
maximum width of message number for the folder in the
- `mh-upate-scan-format' function.
+ `mh-update-scan-format' function.
(mh-update-scan-format): Use `mh-scan-msg-format-regexp' for greater
flexibility. The message number is no longer anchored to the
beginning of the `mh-scan-format-nmh' or `mh-scan-format-mh' format
@@ -10195,7 +10195,7 @@
2002-04-02 Peter S Galbraith <psg@debian.org>
* mh-e.el: 'defvar mh-folder-unseen-seq-name' called a function to
- set it's value, and this happens also on byte-compilation (where
+ set its value, and this happens also on byte-compilation (where
it can fail if the user's MH environment is not setup correctly).
I now set the value of mh-folder-unseen-seq-name at runtime when I
first need it. This should fix Debian bugs
@@ -10944,7 +10944,7 @@
2001-11-21 Peter S Galbraith <psg@debian.org>
* mh-comp.el (mh-reply-show-message-p): The setting of this
- variable determines whether the MH show-buffer is diplayed with
+ variable determines whether the MH show-buffer is displayed with
the current message when using mh-reply without a prefix argument.
Set it to nil if you already include the message automatically in
your draft using "repl: -filter repl.filter" in your ~/.mh_profile
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index b614cdb7991..77ff914b0cc 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -5,7 +5,7 @@
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
-;; Version: 8.3
+;; Version: 8.3.1
;; Keywords: mail
;; This file is part of GNU Emacs.
@@ -127,7 +127,7 @@
;; Try to keep variables local to a single file. Provide accessors if
;; variables are shared. Use this section as a last resort.
-(defconst mh-version "8.3" "Version number of MH-E.")
+(defconst mh-version "8.3.1" "Version number of MH-E.")
;; Variants
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el
index 0327b64a33f..a97185e1496 100644
--- a/lisp/mh-e/mh-mime.el
+++ b/lisp/mh-e/mh-mime.el
@@ -1399,7 +1399,7 @@ See also \\[mh-mh-to-mime]."
("mailto") ; RFC1738 Electronic mail address
("news") ; RFC1738 Usenet news
("nntp") ; RFC1738 Usenet news using NNTP access
- ("propspero") ; RFC1738 Prospero Directory Service
+ ("prospero") ; RFC1738 Prospero Directory Service
("telnet") ; RFC1738 Telnet
("tftp") ; RFC2046 Trivial File Transfer Protocol
("url") ; RFC2017 URL scheme MIME access-type Protocol
diff --git a/lisp/mh-e/mh-tool-bar.el b/lisp/mh-e/mh-tool-bar.el
index ddc9b3ffe94..4469c043b15 100644
--- a/lisp/mh-e/mh-tool-bar.el
+++ b/lisp/mh-e/mh-tool-bar.el
@@ -127,7 +127,7 @@ where,
first line is useful and complete without the rest of the string.
Optional item ENABLE-EXPR is an arbitrary lisp expression. If it
- evaluates to nil, then the button is deactivated, otherwise it is
+ evaluates to nil, then the button is inactive, otherwise it is
active. If it isn't present then the button is always active."
;; The following variable names have been carefully chosen to make code
;; generation easier. Modifying the names should be done carefully.
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index 6132af17dab..327d8ad7040 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -484,18 +484,18 @@ no effect."
folder)
(defmacro mh-children-p (folder)
- "Return t if FOLDER from sub-folders cache has children.
-The car of folder is the name, and the cdr is either t or some
-sort of count that I do not understand. It's too small to be the
-number of messages in the sub-folders and too large to be the
-number of sub-folders. XXX"
+ "Return t if FOLDER from sub-folders cache has children."
+;; The car of folder is the name, and the cdr is either t or some
+;; sort of count that I do not understand. It's too small to be the
+;; number of messages in the sub-folders and too large to be the
+;; number of sub-folders. XXX
`(if (cdr ,folder)
t
nil))
;;;###mh-autoload
(defun mh-folder-list (folder)
- "Return FOLDER and its descendents.
+ "Return FOLDER and its descendants.
FOLDER may have a + prefix. Returns a list of strings without the
+ prefix. If FOLDER is nil, then all folders are considered. For
example, if your Mail directory only contains the folders +inbox,
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index fa057aee36f..11e195d4f7f 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -2427,7 +2427,7 @@ PATTERN is as returned by `completion-pcm--string->pattern'."
"Find all completions for STRING at POINT in TABLE, satisfying PRED.
POINT is a position inside STRING.
FILTER is a function applied to the return value, that can be used, e.g. to
-filter out additional entries (because TABLE migth not obey PRED)."
+filter out additional entries (because TABLE might not obey PRED)."
(unless filter (setq filter 'identity))
(let* ((beforepoint (substring string 0 point))
(afterpoint (substring string point))
diff --git a/lisp/misearch.el b/lisp/misearch.el
index c533562f073..de1a32ff7d5 100644
--- a/lisp/misearch.el
+++ b/lisp/misearch.el
@@ -142,7 +142,7 @@ Intended to be added to `isearch-mode-hook'."
;; 1. First try searching in the initial buffer
(let ((res (funcall search-fun string bound noerror)))
;; Reset wrapping for all-buffers pause after successful search
- (if (and res (eq multi-isearch-pause t))
+ (if (and res (not bound) (eq multi-isearch-pause t))
(setq multi-isearch-current-buffer nil))
res)
;; 2. If the above search fails, start visiting next/prev buffers
@@ -173,8 +173,8 @@ Intended to be added to `isearch-mode-hook'."
found)
;; Return nil when multi-isearch-next-buffer-current-function fails
;; (`with-current-buffer' raises an error for nil returned from it).
- (error nil))
- (signal 'search-failed (list string "Repeat for next buffer"))))))))
+ (error (signal 'search-failed (list string "end of multi"))))
+ (signal 'search-failed (list string "repeat for next buffer"))))))))
(defun multi-isearch-wrap ()
"Wrap the multiple buffers search when search is failed.
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el
index bcf1749e13f..7f04cac96fe 100644
--- a/lisp/mouse-sel.el
+++ b/lisp/mouse-sel.el
@@ -60,7 +60,7 @@
;;
;; Thanks to KevinB@bartley.demon.co.uk for his useful input.
;;
-;;--- Customisation -------------------------------------------------------
+;;--- Customization -------------------------------------------------------
;;
;; * You may want to use none or more of following:
;;
diff --git a/lisp/mpc.el b/lisp/mpc.el
index 238e8ad68ae..224131623f4 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -1589,7 +1589,7 @@ when constructing the set of constraints."
(defvar mpc--changed-selection)
(defun mpc-reorder (&optional nodeactivate)
- "Reorder entries based on thre currently active selections.
+ "Reorder entries based on the currently active selections.
I.e. split the current browser buffer into a first part containing the
entries included in the selection, then a separator, and then the entries
not included in the selection.
@@ -1651,7 +1651,7 @@ Return non-nil if a selection was deactivated."
;;; Hierarchical tagbrowser ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Todo:
;; - Add a button on each dir to open/close it (?)
-;; - add the parent dir on the previous line, greyed-out, if it's not
+;; - add the parent dir on the previous line, grayed-out, if it's not
;; present (because we're in the non-selected part and the parent is
;; in the selected part).
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index cbad30199d7..a0d2281bfe8 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -46,10 +46,10 @@
;; Extended filename syntax:
;;
;; The default extended filename syntax is '/user@host:name', where the
-;; 'user@' part may be omitted. This syntax can be customised to a certain
+;; 'user@' part may be omitted. This syntax can be customized to a certain
;; extent by changing ange-ftp-name-format. There are limitations.
;; The `host' part has an optional suffix `#port' which may be used to
-;; specify a non-default port number for the connexion.
+;; specify a non-default port number for the connection.
;;
;; If the user part is omitted then ange-ftp generates a default user
;; instead whose value depends on the variable ange-ftp-default-user.
@@ -721,7 +721,7 @@ parenthesized expressions in REGEXP for the components (in that order)."
"^local:\\|^Trying\\|^125 \\|^550-\\|^221 .*oodbye\\|"
"^500 .*AUTH\\|^KERBEROS\\|"
"^504 Unknown security mechanism\\|"
- "^530 Please login with USER and PASS\\|" ; non kerberised vsFTPd
+ "^530 Please login with USER and PASS\\|" ; non kerberized vsFTPd
"^534 Kerberos Authentication not enabled\\|"
"^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT")
"Regular expression matching FTP messages that can be ignored."
@@ -1664,8 +1664,8 @@ good, skip, fatal, or unknown."
(if (not (and seen-prompt ange-ftp-pending-error-line))
(ange-ftp-process-handle-line line proc)
;; If we've seen a potential error message and it
- ;; hasn't been cancelled by a good message before
- ;; seeing a propt, then the error was real.
+ ;; hasn't been canceled by a good message before
+ ;; seeing a prompt, then the error was real.
(delete-process proc)
(setq ange-ftp-process-busy nil
ange-ftp-process-result-line ange-ftp-pending-error-line))))
@@ -5995,7 +5995,7 @@ Other orders of $ and _ seem to all work just fine.")
(concat
pubset
(and userid (concat userid "."))
- ;; change every '/' in filename to a '.', normally not neccessary
+ ;; change every '/' in filename to a '.', normally not necessary
(and filename
(subst-char-in-string ?/ ?. filename)))))
;; Let's hope that BS2000 recognize this anyway:
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index b55884ff180..3ab1a345470 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -138,7 +138,7 @@
;; M-x browse-url-of-dired-file RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Customisation (~/.emacs)
+;; Customization (~/.emacs)
;; To see what variables are available for customization, type
;; `M-x set-variable browse-url TAB'. Better, use
@@ -190,7 +190,7 @@
;;
;; (add-hook 'browse-url-of-file-hook 'browse-url-netscape-reload)
-;; You may also want to customise browse-url-netscape-arguments, e.g.
+;; You may also want to customize browse-url-netscape-arguments, e.g.
;; (setq browse-url-netscape-arguments '("-install"))
;;
;; or similarly for the other browsers.
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el
index 03b84a45ea3..8a8d9e6332f 100644
--- a/lisp/net/dbus.el
+++ b/lisp/net/dbus.el
@@ -150,7 +150,7 @@ association to the service from D-Bus."
;; entry has the structure ((UNAME SERVICE PATH MEMBER [RULE]) ...).
;; MEMBER is either a string (the handler), or a cons cell (a
;; property value). UNAME and property values are not taken into
- ;; account for comparision.
+ ;; account for comparison.
;; Loop over the registered functions.
(dolist (elt entry)
diff --git a/lisp/net/eudc-export.el b/lisp/net/eudc-export.el
index 87ff0b4060f..af8bc084b57 100644
--- a/lisp/net/eudc-export.el
+++ b/lisp/net/eudc-export.el
@@ -128,7 +128,7 @@ LOCATION is used as the address location for bbdb."
zip city state)
(setq addr-components (nreverse addr-components))
;; If not containing the zip code the last line is supposed to contain a
- ;; country name and the addres is supposed to be in european style
+ ;; country name and the address is supposed to be in european style
(if (not (string-match "[0-9][0-9][0-9]" last1))
(progn
(setq state last1)
diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el
index 9cb071b185d..18471782f2c 100644
--- a/lisp/net/gnutls.el
+++ b/lisp/net/gnutls.el
@@ -108,7 +108,7 @@ trust and key files, and priority string."
trustfiles crlfiles keylist min-prime-bits
verify-flags verify-error verify-hostname-error
&allow-other-keys)
- "Negotiate a SSL/TLS connection. Returns proc. Signals gnutls-error.
+ "Negotiate a SSL/TLS connection. Returns proc. Signals gnutls-error.
Note arguments are passed CL style, :type TYPE instead of just TYPE.
diff --git a/lisp/net/netrc.el b/lisp/net/netrc.el
index b04863b5fc0..80836b03978 100644
--- a/lisp/net/netrc.el
+++ b/lisp/net/netrc.el
@@ -237,7 +237,7 @@ MODE can be \"login\" or \"password\", suitable for passing to
;;;###autoload
(defun netrc-credentials (machine &rest ports)
"Return a user name/password pair.
-Port specifications will be prioritised in the order they are
+Port specifications will be prioritized in the order they are
listed in the PORTS list."
(let ((list (netrc-parse))
found)
diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el
index e27b4541ab5..9c07953c9c9 100644
--- a/lisp/net/network-stream.el
+++ b/lisp/net/network-stream.el
@@ -115,7 +115,7 @@ values:
capability command, and should return the command to switch on
STARTTLS if the server supports STARTTLS, and nil otherwise.
-:always-query-capabilies says whether to query the server for
+:always-query-capabilities says whether to query the server for
capabilities, even if we're doing a `plain' network connection.
:client-certificate should either be a list where the first
diff --git a/lisp/net/newst-plainview.el b/lisp/net/newst-plainview.el
index 16b36df07f8..f1b3ce7fd05 100644
--- a/lisp/net/newst-plainview.el
+++ b/lisp/net/newst-plainview.el
@@ -1574,7 +1574,7 @@ property to '(<nt-type>-<nt-age> <nt-type> <nt-age>)."
(while (and (setq pos2 (next-single-property-change pos1 'nt-type))
(<= pos2 end)
(> pos2 pos1))
- ;; must shift one char to the left in order to handle inivisible
+ ;; must shift one char to the left in order to handle invisible
;; newlines, motion in invisible text areas and all that correctly
(put-text-property (1- pos1) (1- pos2)
'invisible
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index 7cfdd2cb89d..8ff74a94eb0 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -1793,7 +1793,7 @@ Update teeview afterwards unless NO-UPDATE is non-nil."
result))
(defun newsticker--group-remove-obsolete-feeds (group)
- "Recursively remove obselete feeds from GROUP."
+ "Recursively remove obsolete feeds from GROUP."
(let ((result nil)
(urls (append newsticker-url-list newsticker-url-list-defaults)))
(mapc (lambda (g)
diff --git a/lisp/net/ntlm.el b/lisp/net/ntlm.el
index 25e7a7b43de..9af148e8faa 100644
--- a/lisp/net/ntlm.el
+++ b/lisp/net/ntlm.el
@@ -102,8 +102,8 @@ is not given."
(md4-pack-int16 ld) ;domain field, count field
(md4-pack-int16 ld) ;domain field, max count field
(md4-pack-int32 (cons 0 off-d)) ;domain field, offset field
- user ;bufer field
- domain ;bufer field
+ user ;buffer field
+ domain ;buffer field
)))
(eval-when-compile
@@ -207,16 +207,16 @@ by PASSWORD-HASHES. PASSWORD-HASHES should be a return value of
;; buffer field
lmRespData ;lmResponse, 24 bytes
ntRespData ;ntResponse, 24 bytes
- (ntlm-ascii2unicode domain ;unicode domain string, 2*ld bytes
+ (ntlm-ascii2unicode domain ;Unicode domain string, 2*ld bytes
(length domain)) ;
- (ntlm-ascii2unicode user ;unicode user string, 2*lu bytes
+ (ntlm-ascii2unicode user ;Unicode user string, 2*lu bytes
(length user)) ;
- (ntlm-ascii2unicode user ;unicode user string, 2*lu bytes
+ (ntlm-ascii2unicode user ;Unicode user string, 2*lu bytes
(length user)) ;
)))
(defun ntlm-get-password-hashes (password)
- "Return a pair of SMB hash and NT MD4 hash of the given password PASSWORD"
+ "Return a pair of SMB hash and NT MD4 hash of the given password PASSWORD."
(list (ntlm-smb-passwd-hash password)
(ntlm-md4hash password)))
@@ -526,7 +526,7 @@ into a Unicode string. PASSWD is truncated to 128 bytes if longer."
(setq len (length passwd))
(if (> len 128)
(setq len 128))
- ;; Password must be converted to NT unicode
+ ;; Password must be converted to NT Unicode
(setq wpwd (ntlm-ascii2unicode passwd len))
;; Calculate length in bytes
(setq len (* len 2))
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el
index 7a1e5fc6a80..a31ec496c16 100644
--- a/lisp/net/quickurl.el
+++ b/lisp/net/quickurl.el
@@ -201,7 +201,7 @@ in your ~/.emacs (after loading/requiring quickurl).")
(listp (cdr url)))
(defun quickurl-make-url (keyword url &optional comment)
- "Create a URL from KEYWORD, URL and (optionaly) COMMENT."
+ "Create a URL from KEYWORD, URL and (optionally) COMMENT."
(if (and comment (not (zerop (length comment))))
(list keyword url comment)
(cons keyword url)))
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index f6981aeabd9..7d069a0f306 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -659,7 +659,7 @@ Functions are called with PROCESS and SENTINEL arguments.")
(defun rcirc-disconnect-buffer (&optional buffer)
(with-current-buffer (or buffer (current-buffer))
;; set rcirc-target to nil for each channel so cleanup
- ;; doesnt happen when we reconnect
+ ;; doesn't happen when we reconnect
(setq rcirc-target nil)
(setq mode-line-process ":disconnected")))
diff --git a/lisp/net/secrets.el b/lisp/net/secrets.el
index 7e0eaff1dce..1a48e8863f1 100644
--- a/lisp/net/secrets.el
+++ b/lisp/net/secrets.el
@@ -729,7 +729,7 @@ to their attributes."
;; Create the search buffer.
(with-current-buffer (get-buffer-create "*Secrets*")
(switch-to-buffer-other-window (current-buffer))
- ;; Inialize buffer with `secrets-mode'.
+ ;; Initialize buffer with `secrets-mode'.
(secrets-mode)
(secrets-show-collections))))
diff --git a/lisp/net/tls.el b/lisp/net/tls.el
index 42ae5920eee..6f66156a7e2 100644
--- a/lisp/net/tls.el
+++ b/lisp/net/tls.el
@@ -123,7 +123,7 @@ successful negotiation."
(defcustom tls-success "- Handshake was completed\\|SSL handshake has read "
"Regular expression indicating completed TLS handshakes.
-The default is what GNUTLS's \"gnutls-cli\" or OpenSSL's
+The default is what GnuTLS's \"gnutls-cli\" or OpenSSL's
\"openssl s_client\" outputs."
:version "22.1"
:type 'regexp
@@ -150,7 +150,7 @@ consider trustworthy, e.g.:
(defcustom tls-untrusted
"- Peer's certificate is NOT trusted\\|Verify return code: \\([^0] \\|.[^ ]\\)"
"Regular expression indicating failure of TLS certificate verification.
-The default is what GNUTLS's \"gnutls-cli\" or OpenSSL's
+The default is what GnuTLS's \"gnutls-cli\" or OpenSSL's
\"openssl s_client\" return in the event of unsuccessful
verification."
:type 'regexp
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el
index fcf523a7068..998f62920a1 100644
--- a/lisp/net/tramp-cmds.el
+++ b/lisp/net/tramp-cmds.el
@@ -23,7 +23,7 @@
;;; Commentary:
-;; This package provides all interactive commands which are releated
+;; This package provides all interactive commands which are related
;; to Tramp.
;;; Code:
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 269b47be20c..27dff3aa8d9 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -39,7 +39,7 @@
;; Consequently, GNU Emacs 23.1 with enabled D-Bus bindings is a
;; precondition.
-;; The GVFS D-Bus interface is said to be instable. There are even no
+;; The GVFS D-Bus interface is said to be unstable. There are even no
;; introspection data. The interface, as discovered during
;; development time, is given in respective comments.
@@ -188,7 +188,7 @@
;; STRING stable_name
;; STRING x_content_types Since GVFS 1.0 only !!!
;; STRING icon
-;; STRING prefered_filename_encoding
+;; STRING preferred_filename_encoding
;; BOOLEAN user_visible
;; ARRAY BYTE fuse_mountpoint
;; STRUCT mount_spec
@@ -996,7 +996,7 @@ ADDRESS can have the form \"xx:xx:xx:xx:xx:xx\" or \"[xx:xx:xx:xx:xx:xx]\"."
(let ((signal-name (dbus-event-member-name last-input-event))
(elt mount-info))
;; Jump over the first elements of the mount info. Since there
- ;; were changes in the antries, we cannot access dedicated
+ ;; were changes in the entries, we cannot access dedicated
;; elements.
(while (stringp (car elt)) (setq elt (cdr elt)))
(let* ((fuse-mountpoint (dbus-byte-array-to-string (cadr elt)))
@@ -1066,7 +1066,7 @@ ADDRESS can have the form \"xx:xx:xx:xx:xx:xx\" or \"[xx:xx:xx:xx:xx:xx]\"."
tramp-gvfs-interface-mounttracker "listMounts"))
nil)
;; Jump over the first elements of the mount info. Since there
- ;; were changes in the antries, we cannot access dedicated
+ ;; were changes in the entries, we cannot access dedicated
;; elements.
(while (stringp (car elt)) (setq elt (cdr elt)))
(let* ((fuse-mountpoint (dbus-byte-array-to-string (cadr elt)))
diff --git a/lisp/net/tramp-gw.el b/lisp/net/tramp-gw.el
index 70b70004de9..4ddd63bc3b8 100644
--- a/lisp/net/tramp-gw.el
+++ b/lisp/net/tramp-gw.el
@@ -178,7 +178,7 @@ instead of the host name declared in TARGET-VEC."
(tramp-file-name-host gw-vec)))
;; Declare the SOCKS server to be used.
(socks-server
- (list "Tramp tempory socks server list"
+ (list "Tramp temporary socks server list"
;; Host name.
(tramp-file-name-real-host gw-vec)
;; Port number.
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 50a3c1fca5e..ee4c8966626 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -1042,9 +1042,9 @@ target of the symlink differ."
(tramp-flush-file-property l (file-name-directory l-localname))
(tramp-flush-file-property l l-localname)
- ;; Right, they are on the same host, regardless of user, method, etc.
- ;; We now make the link on the remote machine. This will occur as the user
- ;; that FILENAME belongs to.
+ ;; Right, they are on the same host, regardless of user, method,
+ ;; etc. We now make the link on the remote machine. This will
+ ;; occur as the user that FILENAME belongs to.
(tramp-send-command-and-check
l
(format
@@ -4224,148 +4224,166 @@ connection if a previous connection has died for some reason."
(setq p nil)))
;; New connection must be opened.
- (unless (and p (processp p) (memq (process-status p) '(run open)))
-
- ;; We call `tramp-get-buffer' in order to get a debug buffer for
- ;; messages from the beginning.
- (tramp-get-buffer vec)
- (tramp-with-progress-reporter
- vec 3
- (if (zerop (length (tramp-file-name-user vec)))
- (format "Opening connection for %s using %s"
- (tramp-file-name-host vec)
- (tramp-file-name-method vec))
- (format "Opening connection for %s@%s using %s"
- (tramp-file-name-user vec)
- (tramp-file-name-host vec)
- (tramp-file-name-method vec)))
-
- ;; Start new process.
- (when (and p (processp p))
- (delete-process p))
- (setenv "TERM" tramp-terminal-type)
- (setenv "LC_ALL" "C")
- (setenv "PROMPT_COMMAND")
- (setenv "PS1" tramp-initial-end-of-output)
- (let* ((target-alist (tramp-compute-multi-hops vec))
- (process-connection-type tramp-process-connection-type)
- (process-adaptive-read-buffering nil)
- (coding-system-for-read nil)
- ;; This must be done in order to avoid our file name handler.
- (p (let ((default-directory
- (tramp-compat-temporary-file-directory)))
- (apply
- 'start-process
- (tramp-get-connection-name vec)
- (tramp-get-connection-buffer vec)
- (if tramp-encoding-command-interactive
- (list tramp-encoding-shell
- tramp-encoding-command-interactive)
- (list tramp-encoding-shell))))))
-
- ;; Set sentinel and query flag.
- (tramp-set-connection-property p "vector" vec)
- (set-process-sentinel p 'tramp-process-sentinel)
- (tramp-compat-set-process-query-on-exit-flag p nil)
+ (condition-case err
+ (unless (and p (processp p) (memq (process-status p) '(run open)))
+
+ ;; We call `tramp-get-buffer' in order to get a debug
+ ;; buffer for messages from the beginning.
+ (tramp-get-buffer vec)
+ (tramp-with-progress-reporter
+ vec 3
+ (if (zerop (length (tramp-file-name-user vec)))
+ (format "Opening connection for %s using %s"
+ (tramp-file-name-host vec)
+ (tramp-file-name-method vec))
+ (format "Opening connection for %s@%s using %s"
+ (tramp-file-name-user vec)
+ (tramp-file-name-host vec)
+ (tramp-file-name-method vec)))
+
+ ;; Start new process.
+ (when (and p (processp p))
+ (delete-process p))
+ (setenv "TERM" tramp-terminal-type)
+ (setenv "LC_ALL" "C")
+ (setenv "PROMPT_COMMAND")
+ (setenv "PS1" tramp-initial-end-of-output)
+ (let* ((target-alist (tramp-compute-multi-hops vec))
+ (process-connection-type tramp-process-connection-type)
+ (process-adaptive-read-buffering nil)
+ (coding-system-for-read nil)
+ ;; This must be done in order to avoid our file
+ ;; name handler.
+ (p (let ((default-directory
+ (tramp-compat-temporary-file-directory)))
+ (apply
+ 'start-process
+ (tramp-get-connection-name vec)
+ (tramp-get-connection-buffer vec)
+ (if tramp-encoding-command-interactive
+ (list tramp-encoding-shell
+ tramp-encoding-command-interactive)
+ (list tramp-encoding-shell))))))
+
+ ;; Set sentinel and query flag.
+ (tramp-set-connection-property p "vector" vec)
+ (set-process-sentinel p 'tramp-process-sentinel)
+ (tramp-compat-set-process-query-on-exit-flag p nil)
- (tramp-message
- vec 6 "%s" (mapconcat 'identity (process-command p) " "))
-
- ;; Check whether process is alive.
- (tramp-barf-if-no-shell-prompt
- p 60 "Couldn't find local shell prompt %s" tramp-encoding-shell)
-
- ;; Now do all the connections as specified.
- (while target-alist
- (let* ((hop (car target-alist))
- (l-method (tramp-file-name-method hop))
- (l-user (tramp-file-name-user hop))
- (l-host (tramp-file-name-host hop))
- (l-port nil)
- (login-program
- (tramp-get-method-parameter
- l-method 'tramp-login-program))
- (login-args
- (tramp-get-method-parameter l-method 'tramp-login-args))
- (async-args
- (tramp-get-method-parameter l-method 'tramp-async-args))
- (gw-args
- (tramp-get-method-parameter l-method 'tramp-gw-args))
- (gw (tramp-get-file-property hop "" "gateway" nil))
- (g-method (and gw (tramp-file-name-method gw)))
- (g-user (and gw (tramp-file-name-user gw)))
- (g-host (and gw (tramp-file-name-real-host gw)))
- (command login-program)
- ;; We don't create the temporary file. In fact,
- ;; it is just a prefix for the ControlPath option
- ;; of ssh; the real temporary file has another
- ;; name, and it is created and protected by ssh.
- ;; It is also removed by ssh when the connection
- ;; is closed.
- (tmpfile
- (tramp-set-connection-property
- p "temp-file"
- (make-temp-name
- (expand-file-name
- tramp-temp-name-prefix
- (tramp-compat-temporary-file-directory)))))
- spec)
-
- ;; Add arguments for asynchronous processes.
- (when (and process-name async-args)
- (setq login-args (append async-args login-args)))
-
- ;; Add gateway arguments if necessary.
- (when (and gw gw-args)
- (setq login-args (append gw-args login-args)))
-
- ;; Check for port number. Until now, there's no need
- ;; for handling like method, user, host.
- (when (string-match tramp-host-with-port-regexp l-host)
- (setq l-port (match-string 2 l-host)
- l-host (match-string 1 l-host)))
-
- ;; Set variables for computing the prompt for reading
- ;; password. They can also be derived from a gateway.
- (setq tramp-current-method (or g-method l-method)
- tramp-current-user (or g-user l-user)
- tramp-current-host (or g-host l-host))
-
- ;; Replace login-args place holders.
- (setq
- l-host (or l-host "")
- l-user (or l-user "")
- l-port (or l-port "")
- spec (format-spec-make
- ?h l-host ?u l-user ?p l-port ?t tmpfile)
- command
- (concat
- ;; We do not want to see the trailing local prompt in
- ;; `start-file-process'.
- (unless (memq system-type '(windows-nt)) "exec ")
- command " "
- (mapconcat
- (lambda (x)
- (setq x (mapcar (lambda (y) (format-spec y spec)) x))
- (unless (member "" x) (mapconcat 'identity x " ")))
- login-args " ")
- ;; Local shell could be a Windows COMSPEC. It
- ;; doesn't know the ";" syntax, but we must exit
- ;; always for `start-file-process'. "exec" does not
- ;; work either.
- (if (memq system-type '(windows-nt)) " && exit || exit")))
-
- ;; Send the command.
- (tramp-message vec 3 "Sending command `%s'" command)
- (tramp-send-command vec command t t)
- (tramp-process-actions p vec pos tramp-actions-before-shell 60)
(tramp-message
- vec 3 "Found remote shell prompt on `%s'" l-host))
- ;; Next hop.
- (setq target-alist (cdr target-alist)))
-
- ;; Make initial shell settings.
- (tramp-open-connection-setup-interactive-shell p vec)))))))
+ vec 6 "%s" (mapconcat 'identity (process-command p) " "))
+
+ ;; Check whether process is alive.
+ (tramp-barf-if-no-shell-prompt
+ p 60
+ "Couldn't find local shell prompt %s" tramp-encoding-shell)
+
+ ;; Now do all the connections as specified.
+ (while target-alist
+ (let* ((hop (car target-alist))
+ (l-method (tramp-file-name-method hop))
+ (l-user (tramp-file-name-user hop))
+ (l-host (tramp-file-name-host hop))
+ (l-port nil)
+ (login-program
+ (tramp-get-method-parameter
+ l-method 'tramp-login-program))
+ (login-args
+ (tramp-get-method-parameter
+ l-method 'tramp-login-args))
+ (async-args
+ (tramp-get-method-parameter
+ l-method 'tramp-async-args))
+ (gw-args
+ (tramp-get-method-parameter l-method 'tramp-gw-args))
+ (gw (tramp-get-file-property hop "" "gateway" nil))
+ (g-method (and gw (tramp-file-name-method gw)))
+ (g-user (and gw (tramp-file-name-user gw)))
+ (g-host (and gw (tramp-file-name-real-host gw)))
+ (command login-program)
+ ;; We don't create the temporary file. In
+ ;; fact, it is just a prefix for the
+ ;; ControlPath option of ssh; the real
+ ;; temporary file has another name, and it is
+ ;; created and protected by ssh. It is also
+ ;; removed by ssh when the connection is
+ ;; closed.
+ (tmpfile
+ (tramp-set-connection-property
+ p "temp-file"
+ (make-temp-name
+ (expand-file-name
+ tramp-temp-name-prefix
+ (tramp-compat-temporary-file-directory)))))
+ spec)
+
+ ;; Add arguments for asynchronous processes.
+ (when (and process-name async-args)
+ (setq login-args (append async-args login-args)))
+
+ ;; Add gateway arguments if necessary.
+ (when (and gw gw-args)
+ (setq login-args (append gw-args login-args)))
+
+ ;; Check for port number. Until now, there's no
+ ;; need for handling like method, user, host.
+ (when (string-match tramp-host-with-port-regexp l-host)
+ (setq l-port (match-string 2 l-host)
+ l-host (match-string 1 l-host)))
+
+ ;; Set variables for computing the prompt for
+ ;; reading password. They can also be derived
+ ;; from a gateway.
+ (setq tramp-current-method (or g-method l-method)
+ tramp-current-user (or g-user l-user)
+ tramp-current-host (or g-host l-host))
+
+ ;; Replace login-args place holders.
+ (setq
+ l-host (or l-host "")
+ l-user (or l-user "")
+ l-port (or l-port "")
+ spec (format-spec-make
+ ?h l-host ?u l-user ?p l-port ?t tmpfile)
+ command
+ (concat
+ ;; We do not want to see the trailing local
+ ;; prompt in `start-file-process'.
+ (unless (memq system-type '(windows-nt)) "exec ")
+ command " "
+ (mapconcat
+ (lambda (x)
+ (setq x (mapcar (lambda (y) (format-spec y spec)) x))
+ (unless (member "" x) (mapconcat 'identity x " ")))
+ login-args " ")
+ ;; Local shell could be a Windows COMSPEC. It
+ ;; doesn't know the ";" syntax, but we must exit
+ ;; always for `start-file-process'. "exec" does
+ ;; not work either.
+ (if (memq system-type '(windows-nt)) " && exit || exit")))
+
+ ;; Send the command.
+ (tramp-message vec 3 "Sending command `%s'" command)
+ (tramp-send-command vec command t t)
+ (tramp-process-actions
+ p vec pos tramp-actions-before-shell 60)
+ (tramp-message
+ vec 3 "Found remote shell prompt on `%s'" l-host))
+ ;; Next hop.
+ (setq target-alist (cdr target-alist)))
+
+ ;; Make initial shell settings.
+ (tramp-open-connection-setup-interactive-shell p vec))))
+
+ ;; When the user did interrupt, we must cleanup.
+ (quit
+ (let ((p (tramp-get-connection-process vec)))
+ (when (and p (processp p))
+ (tramp-flush-connection-property vec)
+ (tramp-flush-connection-property p)
+ (delete-process p)))
+ ;; Propagate the quit signal.
+ (signal (car err) (cdr err)))))))
(defun tramp-send-command (vec command &optional neveropen nooutput)
"Send the COMMAND to connection VEC.
@@ -4905,7 +4923,7 @@ If no corresponding command is found, nil is returned."
(defun tramp-get-inline-coding (vec prop size)
"Return the coding command related to PROP.
-PROP is either `remote-encoding', `remode-decoding',
+PROP is either `remote-encoding', `remote-decoding',
`local-encoding' or `local-decoding'.
SIZE is the length of the file to be coded. Depending on SIZE,
@@ -5033,11 +5051,11 @@ function cell is returned to be applied on a buffer."
;; until the last but one hop via `start-file-process'. Apply it
;; also for ftp and smb.
;; * WIBNI if we had a command "trampclient"? If I was editing in
-;; some shell with root priviledges, it would be nice if I could
+;; some shell with root privileges, it would be nice if I could
;; just call
;; trampclient filename.c
;; as an editor, and the _current_ shell would connect to an Emacs
-;; server and would be used in an existing non-priviledged Emacs
+;; server and would be used in an existing non-privileged Emacs
;; session for doing the editing in question.
;; That way, I need not tell Emacs my password again and be afraid
;; that it makes it into core dumps or other ugly stuff (I had Emacs
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 150ef18be52..73b9339e25a 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -480,7 +480,7 @@ PRESERVE-UID-GID and PRESERVE-SELINUX-CONTEXT are completely ignored."
;; Dissect NAME.
(with-parsed-tramp-file-name name nil
;; Tilde expansion if necessary. We use the user name as share,
- ;; which is offen the case in domains.
+ ;; which is often the case in domains.
(when (string-match "\\`/?~\\([^/]*\\)" localname)
(setq localname
(replace-match
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 0ee6ad8dea4..2848211fae9 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -298,8 +298,8 @@ shouldn't return t when it isn't."
(search-forward-regexp "Missing ControlMaster argument" nil t))))
(defcustom tramp-default-method
- ;; An external copy method seems to be preferred, because it is much
- ;; more performant for large files, and it hasn't too serious delays
+ ;; An external copy method seems to be preferred, because it performs
+ ;; much better for large files, and it hasn't too serious delays
;; for small files. But it must be ensured that there aren't
;; permanent password queries. Either a password agent like
;; "ssh-agent" or "Pageant" shall run, or the optional
@@ -1331,7 +1331,7 @@ ARGS to actually emit the message (if applicable)."
(setq fn nil)))
(setq btn (1+ btn))))
;; The following code inserts filename and line number.
- ;; Should be deactivated by default, because it is time
+ ;; Should be inactive by default, because it is time
;; consuming.
; (let ((ffn (find-function-noselect (intern fn))))
; (insert
diff --git a/lisp/net/xesam.el b/lisp/net/xesam.el
index efb2cdd6166..279ea54e4cc 100644
--- a/lisp/net/xesam.el
+++ b/lisp/net/xesam.el
@@ -88,7 +88,7 @@
;;
;; (setq xesam-query-type 'fulltext-query)
;;
-;; Another option to be customised is the number of hits to be
+;; Another option to be customized is the number of hits to be
;; presented at once.
;;
;; (setq xesam-hits-per-page 50)
@@ -196,7 +196,7 @@ be different at least in one face property not set in that face."
(defconst xesam-all-fields
'("xesam:35mmEquivalent" "xesam:aimContactMedium" "xesam:aperture"
"xesam:aspectRatio" "xesam:attachmentEncoding" "xesam:attendee"
- "xesam:audioBirate" "xesam:audioChannels" "xesam:audioCodec"
+ "xesam:audioBitrate" "xesam:audioChannels" "xesam:audioCodec"
"xesam:audioCodecType" "xesam:audioSampleFormat" "xesam:audioSampleRate"
"xesam:author" "xesam:bcc" "xesam:birthDate" "xesam:blogContactURL"
"xesam:cameraManufacturer" "xesam:cameraModel" "xesam:cc" "xesam:ccdWidth"
@@ -240,7 +240,8 @@ be different at least in one face property not set in that face."
"xesam:subject" "xesam:supercedes" "xesam:title" "xesam:to"
"xesam:totalSpace" "xesam:totalUncompressedSize" "xesam:url"
"xesam:usageIntensity" "xesam:userComment" "xesam:userKeyword"
- "xesam:uuid" "xesam:version" "xesam:verticalResolution" "xesam:videoBirate"
+ "xesam:uuid" "xesam:version" "xesam:verticalResolution"
+ "xesam:videoBitrate"
"xesam:videoCodec" "xesam:videoCodecType" "xesam:whiteBalance"
"xesam:width" "xesam:wordCount" "xesam:workEmailAddress"
"xesam:workPhoneNumber" "xesam:workPostalAddress"
@@ -278,8 +279,8 @@ fields are supported.")
(defun xesam-dbus-call-method (&rest args)
"Apply a D-Bus method call.
-`dbus-call-method' is to be preferred, because it is more
-performant. If the target D-Bus service is owned by Emacs, this
+`dbus-call-method' is preferred, because it performs better.
+If the target D-Bus service is owned by Emacs, this
is not applicable, and `dbus-call-method-non-blocking' must be
used instead. ARGS are identical to the argument list of both
functions."
@@ -819,7 +820,7 @@ search, is returned."
(with-current-buffer
(generate-new-buffer (xesam-buffer-name service search))
(switch-to-buffer-other-window (current-buffer))
- ;; Inialize buffer with `xesam-mode'. `xesam-vendor' must be
+ ;; Initialize buffer with `xesam-mode'. `xesam-vendor' must be
;; set before calling `xesam-mode', because we want to give the
;; hook functions a chance to identify their search engine.
(setq xesam-vendor (xesam-get-cached-property engine "vendor.id"))
diff --git a/lisp/net/zeroconf.el b/lisp/net/zeroconf.el
index cc538c224dc..a889a6a4177 100644
--- a/lisp/net/zeroconf.el
+++ b/lisp/net/zeroconf.el
@@ -82,7 +82,7 @@
;; The function `zeroconf-publish-service' publishes a new service to
;; the Avahi daemon. Although the domain, where to the service is
-;; published, can be specified by this function, it is usally the
+;; published, can be specified by this function, it is usually the
;; default domain "local" (also written as nil or "").
;; (zeroconf-publish-service
diff --git a/lisp/notifications.el b/lisp/notifications.el
index a4e7fdd5425..e4e44fb0f67 100644
--- a/lisp/notifications.el
+++ b/lisp/notifications.el
@@ -163,7 +163,7 @@ Various PARAMS can be set:
only URI schema supported right now) or a name
in a freedesktop.org-compliant icon theme.
:sound-file The path to a sound file to play when the notification pops up.
- :sound-name A themeable named sound from the freedesktop.org sound naming
+ :sound-name A themable named sound from the freedesktop.org sound naming
specification to play when the notification pops up.
Similar to icon-name,only for sounds. An example would
be \"message-new-instant\".
diff --git a/lisp/nxml/rng-valid.el b/lisp/nxml/rng-valid.el
index 876e582ed21..1f69f5d7bf3 100644
--- a/lisp/nxml/rng-valid.el
+++ b/lisp/nxml/rng-valid.el
@@ -230,7 +230,7 @@ will be automatically rechecked when Emacs becomes idle; the
rechecking will be paused whenever there is input pending.
By default, uses a vacuous schema that allows any well-formed XML
-document. A schema can be specified explictly using
+document. A schema can be specified explicitly using
\\[rng-set-schema-file-and-validate], or implicitly based on the buffer's
file name or on the root element name. In each case the schema must
be a RELAX NG schema using the compact schema \(such schemas
@@ -377,8 +377,8 @@ The schema is set like `rng-auto-set-schema'."
(defun rng-kill-timers ()
;; rng-validate-timer and rng-validate-quick-timer have the
;; permanent-local property, so that the timers can be
- ;; cancelled even after changing mode.
- ;; This function takes care of cancelling the timers and
+ ;; canceled even after changing mode.
+ ;; This function takes care of canceling the timers and
;; then killing the local variables.
(when (local-variable-p 'rng-validate-timer)
(when rng-validate-timer
diff --git a/lisp/nxml/xsd-regexp.el b/lisp/nxml/xsd-regexp.el
index fbf0e159247..9701b8dc6e0 100644
--- a/lisp/nxml/xsd-regexp.el
+++ b/lisp/nxml/xsd-regexp.el
@@ -49,7 +49,7 @@
;; Unicode character means a character in one of the Mule charsets
;; ascii, latin-iso8859-1, mule-unicode-0100-24ff,
;; mule-unicode-2500-33ff, mule-unicode-e000-ffff, eight-bit-control
-;; or a character translateable to such a character (i.e a character
+;; or a character translatable to such a character (i.e a character
;; for which `encode-char' will return non-nil).
;;
;; Using unify-8859-on-decoding-mode is probably a good idea here
diff --git a/lisp/obsolete/fast-lock.el b/lisp/obsolete/fast-lock.el
index 9c750ca5e89..c42c2309413 100644
--- a/lisp/obsolete/fast-lock.el
+++ b/lisp/obsolete/fast-lock.el
@@ -144,7 +144,7 @@
;; 3.07--3.08:
;; - Made `fast-lock-read-cache' set `fast-lock-cache-filename'
;; 3.08--3.09:
-;; - Made `fast-lock-save-cache' cope if `fast-lock-minimum-size' is an a list
+;; - Made `fast-lock-save-cache' cope if `fast-lock-minimum-size' is a list
;; - Made `fast-lock-mode' respect the value of `font-lock-inhibit-thing-lock'
;; - Added `fast-lock-after-unfontify-buffer'
;; 3.09--3.10:
diff --git a/lisp/obsolete/pgg.el b/lisp/obsolete/pgg.el
index 42030f7d502..876f3744bc2 100644
--- a/lisp/obsolete/pgg.el
+++ b/lisp/obsolete/pgg.el
@@ -174,7 +174,7 @@ is true, or else the output buffer is displayed."
(defvar pgg-pending-timers (make-vector 7 0)
"Hash table for managing scheduled pgg cache management timers.
-We associate key and timer, so the timer can be cancelled if a new
+We associate key and timer, so the timer can be canceled if a new
timeout for the key is set while an old one is still pending.")
(defun pgg-read-passphrase (prompt &optional key notruncate)
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index b946d147e5b..555709f1fa8 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,24 @@
+2011-12-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * ob.el (org-babel-expand-body:generic, org-babel-number-p):
+ * ob-ref.el (org-babel-ref-parse): Fix typos.
+
+2011-11-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * ob.el (org-babel-execute-src-block): Fix typo.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * org.el (org-link-unescape, org-link-unescape-compound): Fix typos.
+
+2011-11-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * org-list.el (org-list-send-item): Use sort instead of sort*.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * org-table.el (org-table-line-to-dline): Fix typo.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* org-agenda.el (org-agenda-add-entry-text-descriptive-links)
@@ -262,7 +283,7 @@
* org-archive.el (org-archive-subtree): While it might be possible
to archive an headline of a temporary buffer (i.e. not visiting a
- file), it wouldn't be really sensical.
+ file), it wouldn't be really sensible.
2011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
@@ -3992,7 +4013,7 @@
* org-list.el (org-list-blocks): New variable.
(org-list-context): New function.
(org-list-full-item-re): New variable.
- (org-list-struct-assoc-at-point): Use new varible.
+ (org-list-struct-assoc-at-point): Use new variable.
(org-list-struct): Rewrite of function. Now, list data is
collected by looking at the list line after line. It reads the
whole list each time because reading only a subtree was not enough
@@ -4165,7 +4186,7 @@
2011-07-28 David Maus <dmaus@ictsoc.de>
- * org.el (org-link-escape): New unicode aware percent encoding
+ * org.el (org-link-escape): New Unicode aware percent encoding
algorithm.
2011-07-28 Sebastian Rose <sebastian_rose@gmx.de>
@@ -4173,7 +4194,7 @@
* org-protocol.el (org-protocol-unhex-single-byte-sequence): New
function. Decode hex-encoded singly byte sequences.
(org-protocol-unhex-compound): Use new function if decoding sequence
- as unicode character failed.
+ as Unicode character failed.
2011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -6185,8 +6206,8 @@
2010-11-11 Carsten Dominik <carsten.dominik@gmail.com>
* org-indent.el (org-indent-add-properties):
- Use `with-silent-modificatons'.
- (org-indent-remove-properties): Use `with-silent-modificatons'.
+ Use `with-silent-modifications'.
+ (org-indent-remove-properties): Use `with-silent-modifications'.
2010-11-11 Carsten Dominik <carsten.dominik@gmail.com>
@@ -8123,7 +8144,7 @@
2010-11-11 Nicolas Goaziou <n.goaziou@gmail.com>
* org-list.el (org-insert-item-internal): New function to handle
- positionning and contents of an item being inserted at a specific
+ positioning and contents of an item being inserted at a specific
pos. It is not possible anymore to split a term in a description
list or a checkbox when inserting a new item.
@@ -9742,7 +9763,7 @@
2010-07-19 Bastien Guerry <bzg@altern.org>
- * org-timer.el (org-timer-set-timer): Fix bug about cancelling
+ * org-timer.el (org-timer-set-timer): Fix bug about canceling
timers.
2010-07-19 David Maus <dmaus@ictsoc.de>
@@ -12566,7 +12587,7 @@
buffer and at the position of the given clock. However, changes
to the current clock are local and have no effect on the user's
active clock. This allows, for example, far any clock to be
- cancelled without cancelling the active clock.
+ canceled without canceling the active clock.
(org-clock-clock-in): New inline function that switches the active
clock to the given clock. If either the argument RESUME, or the
global `org-clock-in-resume', are non-nil, it will resume a clock
@@ -13637,7 +13658,7 @@
2009-08-06 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-remove-empty-overlays-at)
- (org-clean-visibility-after-subtree-move): New functons.
+ (org-clean-visibility-after-subtree-move): New functions.
(org-move-subtree-down): Simplify cleanup of display.
2009-08-06 Carsten Dominik <carsten.dominik@gmail.com>
@@ -14386,7 +14407,7 @@
2009-08-06 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-edit-src-code, org-edit-fixed-width-region): Use a
- better bufer-generating mechanism.
+ better buffer-generating mechanism.
(org-edit-src-find-buffer): New function.
* org-icalendar.el (org-print-icalendar-entries): Don't check for
@@ -14739,7 +14760,7 @@
2009-08-06 Carsten Dominik <carsten.dominik@gmail.com>
- * org.el (org-sort-entries-or-items): Match TODO keywrds
+ * org.el (org-sort-entries-or-items): Match TODO keywords
case-sensitively, when sorting.
(org-priority): Do not match TODO keywords with wrong case.
@@ -15201,7 +15222,7 @@
* org-exp.el (org-export-as-html): Use IDs in the correct way.
- * org.el (org-uuidgen-p): New funtion.
+ * org.el (org-uuidgen-p): New function.
* org-agenda.el (org-agenda-fontify-priorities): New default value
`cookies'.
@@ -15449,7 +15470,7 @@
* org.el (org-enforce-todo-checkbox-dependencies): New option.
(org-block-todo-from-checkboxes): New function.
- (org-todo): Make tripple prefix arg circumvent blocking.
+ (org-todo): Make triple prefix arg circumvent blocking.
2009-01-30 Glenn Morris <rgm@gnu.org>
@@ -17067,7 +17088,7 @@
(org-file-apps-defaults-macosx): Let PostScript files be opened by
preview.
(org-time-stamp-inactive): Call `org-time-stamp'.
- (org-time-stamp): New argument `inactive'. Also edit inacive
+ (org-time-stamp): New argument `inactive'. Also edit inactive
stamps. Convert time stamp type.
(org-open-file): Interpret the `default' value for the `command'
in `org-file-apps'.
@@ -17580,7 +17601,7 @@
2008-06-17 Carsten Dominik <dominik@science.uva.nl>
* org.el (org-schedule, org-deadline): Protect scheduled and
- deadline tasks against changes that accidently remove the
+ deadline tasks against changes that accidentally remove the
repeater. Also show a message with the new date when done.
2008-06-17 Carsten Dominik <dominik@science.uva.nl>
diff --git a/lisp/org/ob-ledger.el b/lisp/org/ob-ledger.el
index a5bdcbf2f73..4fe61451982 100644
--- a/lisp/org/ob-ledger.el
+++ b/lisp/org/ob-ledger.el
@@ -30,7 +30,7 @@
;;
;; 1) there is no such thing as a "session" in ledger
;;
-;; 2) we are generally only going to return output from the leger program
+;; 2) we are generally only going to return output from the ledger program
;;
;; 3) we are adding the "cmdline" header argument
;;
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el
index d0a2c14bee9..1e14021a364 100644
--- a/lisp/org/ob-ref.el
+++ b/lisp/org/ob-ref.el
@@ -69,7 +69,7 @@
"Parse a variable ASSIGNMENT in a header argument.
If the right hand side of the assignment has a literal value
return that value, otherwise interpret as a reference to an
-external resource and find it's value using
+external resource and find its value using
`org-babel-ref-resolve'. Return a list with two elements. The
first element of the list will be the name of the variable, and
the second will be an emacs-lisp representation of the value of
diff --git a/lisp/org/ob.el b/lisp/org/ob.el
index 728c6c5cb5e..8bba4672169 100644
--- a/lisp/org/ob.el
+++ b/lisp/org/ob.el
@@ -380,7 +380,7 @@ Insert the results of execution into the buffer. Source code
execution and the collection and formatting of results can be
controlled through a variety of header arguments.
-With prefix argument ARG, force re-execution even if a an
+With prefix argument ARG, force re-execution even if an
existing result cached in the buffer would otherwise have been
returned.
@@ -464,7 +464,7 @@ block."
(defun org-babel-expand-body:generic (body params &optional var-lines)
"Expand BODY with PARAMS.
-Expand a block of code with org-babel according to it's header
+Expand a block of code with org-babel according to its header
arguments. This generic implementation of body expansion is
called for languages which have not defined their own specific
org-babel-expand-body:lang function."
@@ -2045,7 +2045,7 @@ appropriate."
cell))
(defun org-babel-number-p (string)
- "If STRING represents a number return it's value."
+ "If STRING represents a number return its value."
(if (and (string-match "^-?[0-9]*\\.?[0-9]*$" string)
(= (length (substring string (match-beginning 0)
(match-end 0)))
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index f7aa7bf4701..a54f3c4c3d3 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -800,7 +800,7 @@ will only be dimmed."
:group 'org-agenda-todo-list
:type '(choice
(const :tag "Do not dim" nil)
- (const :tag "Dim to a grey face" t)
+ (const :tag "Dim to a gray face" t)
(const :tag "Make invisible" invisible)))
(defcustom org-timeline-show-empty-dates 3
@@ -1619,7 +1619,7 @@ Where CATEGORY-REGEXP is a regexp matching the categories where
the icon should be displayed.
FILE-OR-DATA either a file path or a string containing image data.
-The other fields can be omited safely if not needed:
+The other fields can be omitted safely if not needed:
TYPE indicates the image type.
DATA-P is a boolean indicating whether the FILE-OR-DATA string is
image data.
@@ -8331,7 +8331,7 @@ tag and (if present) the flagging note."
(org-agenda-remove-flag hdmarker)
(let ((win (get-buffer-window "*Flagging Note*")))
(and win (delete-window win)))
- (message "Entry unflaged"))
+ (message "Entry unflagged"))
(setq note (org-entry-get hdmarker "THEFLAGGINGNOTE"))
(unless note
(error "No flagging note"))
@@ -8354,7 +8354,7 @@ tag and (if present) the flagging note."
(org-entry-delete nil "THEFLAGGINGNOTE")
(setq newhead (org-get-heading)))
(org-agenda-change-all-lines newhead marker)
- (message "Entry unflaged")))
+ (message "Entry unflagged")))
(defun org-agenda-get-any-marker (&optional pos)
(or (get-text-property (or pos (point-at-bol)) 'org-hd-marker)
diff --git a/lisp/org/org-bibtex.el b/lisp/org/org-bibtex.el
index 138d99a36d9..3607458a410 100644
--- a/lisp/org/org-bibtex.el
+++ b/lisp/org/org-bibtex.el
@@ -215,7 +215,7 @@
"List to hold parsed bibtex entries.")
(defcustom org-bibtex-autogen-keys nil
- "Set to a truthy value to use `bibtex-generate-autokey' to generate keys."
+ "Set to a truth value to use `bibtex-generate-autokey' to generate keys."
:group 'org-bibtex
:type 'boolean)
diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el
index 05cca0e311e..e3a87b77b5c 100644
--- a/lisp/org/org-capture.el
+++ b/lisp/org/org-capture.el
@@ -372,7 +372,7 @@ to avoid conflicts with other active capture processes."
(plist-get (if local org-capture-current-plist org-capture-plist) prop))
(defun org-capture-member (prop &optional local)
- "Is PROP a preperty in `org-capture-plist'.
+ "Is PROP a property in `org-capture-plist'.
When LOCAL is set, use the local variable `org-capture-current-plist',
this is necessary after initialization of the capture process,
to avoid conflicts with other active capture processes."
@@ -1449,7 +1449,7 @@ The template may still contain \"%?\" for cursor positioning."
(goto-char (point-min))
(while (looking-at "[ \t]*\n") (replace-match ""))
(if (re-search-forward "[ \t\n]*\\'" nil t) (replace-match "\n"))
- ;; Return the expanded tempate and kill the temporary buffer
+ ;; Return the expanded template and kill the temporary buffer
(untabify (point-min) (point-max))
(set-buffer-modified-p nil)
(prog1 (buffer-string) (kill-buffer (current-buffer))))))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 6279ed3df0d..09b646d40ba 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -328,7 +328,7 @@ to add an effort property.")
"Hook run when stopping the current clock.")
(defvar org-clock-cancel-hook nil
- "Hook run when cancelling the current clock.")
+ "Hook run when canceling the current clock.")
(defvar org-clock-goto-hook nil
"Hook run when selecting the currently clocked-in entry.")
(defvar org-clock-has-been-used nil
@@ -346,7 +346,7 @@ to add an effort property.")
(defvar org-clock-start-time "")
(defvar org-clock-leftover-time nil
- "If non-nil, user cancelled a clock; this is when leftover time started.")
+ "If non-nil, user canceled a clock; this is when leftover time started.")
(defvar org-clock-effort ""
"Effort estimate of the currently clocking task.")
@@ -1919,7 +1919,7 @@ the returned times will be formatted strings."
shiftedm (- 13 (* 3 (nth 1 tmp)))
shiftedq (- 5 (nth 1 tmp))))
(setq d 1 h 0 m 0 d1 1 month shiftedm month1 (+ 3 shiftedm) h1 0 m1 0 y shiftedy))
- ((> (+ q shift) 0) ; shift is whitin this year
+ ((> (+ q shift) 0) ; shift is within this year
(setq shiftedq (+ q shift))
(setq shiftedy y)
(setq d 1 h 0 m 0 d1 1 month (+ 1 (* 3 (- (+ q shift) 1))) month1 (+ 4 (* 3 (- (+ q shift) 1))) h1 0 m1 0))))
diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el
index 05df6bb7524..0f6fc0bed6a 100644
--- a/lisp/org/org-colview.el
+++ b/lisp/org/org-colview.el
@@ -474,7 +474,7 @@ Where possible, use the standard interface for changing this line."
((equal major-mode 'org-agenda-mode)
(org-columns-eval eval)
;; The following let preserves the current format, and makes sure
- ;; that in only a single file things need to be upated.
+ ;; that in only a single file things need to be updated.
(let* ((org-agenda-overriding-columns-format org-columns-current-fmt)
(buffer (marker-buffer pom))
(org-agenda-contributing-files
@@ -605,7 +605,7 @@ an integer, select that value."
((equal major-mode 'org-agenda-mode)
(org-columns-eval '(org-entry-put pom key nval))
;; The following let preserves the current format, and makes sure
- ;; that in only a single file things need to be upated.
+ ;; that in only a single file things need to be updated.
(let* ((org-agenda-overriding-columns-format org-columns-current-fmt)
(buffer (marker-buffer pom))
(org-agenda-contributing-files
diff --git a/lisp/org/org-ctags.el b/lisp/org/org-ctags.el
index 352d414a4b6..d567b929056 100644
--- a/lisp/org/org-ctags.el
+++ b/lisp/org/org-ctags.el
@@ -36,7 +36,7 @@
;; links to these 'tagged' destinations, allowing seamless navigation between
;; multiple org-mode files. Topics can be created in any org mode file and
;; will always be found by plain links from other files. Other file types
-;; recognised by ctags (source code files, latex files, etc) will also be
+;; recognized by ctags (source code files, latex files, etc) will also be
;; available as destinations for plain links, and similarly, org-mode links
;; will be available as tags from source files. Finally, the function
;; `org-ctags-find-tag-interactive' lets you choose any known tag, using
diff --git a/lisp/org/org-exp.el b/lisp/org/org-exp.el
index ee8e6027706..35a51649452 100644
--- a/lisp/org/org-exp.el
+++ b/lisp/org/org-exp.el
@@ -2922,7 +2922,7 @@ to the value of `temporary-file-directory'."
(org-load-modules-maybe)
(unless org-local-vars
(setq org-local-vars (org-get-local-variables)))
- (eval ;; convert to fmt -- mimicing `org-run-like-in-org-mode'
+ (eval ;; convert to fmt -- mimicking `org-run-like-in-org-mode'
(list 'let org-local-vars
(list (intern (format "org-export-as-%s" fmt))
nil nil nil ''string t))))
diff --git a/lisp/org/org-freemind.el b/lisp/org/org-freemind.el
index 91a1e5e59cb..b01f6d9fa6e 100644
--- a/lisp/org/org-freemind.el
+++ b/lisp/org/org-freemind.el
@@ -660,7 +660,7 @@ Otherwise give an error say the file exists."
(with-current-buffer mm-buffer
(erase-buffer)
(setq buffer-file-coding-system 'utf-8)
- ;; Fix-me: Currentl Freemind (ver 0.9.0 RC9) does not support this:
+ ;; Fix-me: Currently Freemind (ver 0.9.0 RC9) does not support this:
;;(insert "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
(insert "<map version=\"0.9.0\">\n")
(insert "<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->\n"))
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index 9184f0c3d54..72fc71854e2 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -68,7 +68,7 @@
;; Computing a list structure can be a costly operation on huge lists
;; (a few thousand lines long). Thus, code should follow the rule :
-;; "collect once, use many". As a corollary, it is usally a bad idea
+;; "collect once, use many". As a corollary, it is usually a bad idea
;; to use directly an interactive function inside the code, as those,
;; being independent entities, read the whole list structure another
;; time.
@@ -1439,7 +1439,7 @@ This function returns, destructively, the new list structure."
;; 1.1. Remove the item just created in structure.
(setq struct (delete (assq new-item struct) struct))
;; 1.2. Copy ITEM and any of its sub-items at NEW-ITEM.
- (setq struct (sort*
+ (setq struct (sort
(append
struct
(mapcar (lambda (e)
@@ -3008,7 +3008,7 @@ Valid parameters PARAMS are:
Alternatively, each parameter can also be a form returning
a string. These sexp can use keywords `counter' and `depth',
-reprensenting respectively counter associated to the current
+representing respectively counter associated to the current
item, and depth of the current sub-list, starting at 0.
Obviously, `counter' is only available for parameters applying to
items."
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index 655123cafa9..ca7bfe2a4d0 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -145,8 +145,8 @@
(defgroup org-protocol nil
"Intercept calls from emacsclient to trigger custom actions.
-This is done by advising `server-visit-files' to scann the list of filenames
-for `org-protocol-the-protocol' and sub-procols defined in
+This is done by advising `server-visit-files' to scan the list of filenames
+for `org-protocol-the-protocol' and sub-protocols defined in
`org-protocol-protocol-alist' and `org-protocol-protocol-alist-default'."
:version "22.1"
:group 'convenience
diff --git a/lisp/org/org-publish.el b/lisp/org/org-publish.el
index 0c924cd9f07..7a0d7b56e22 100644
--- a/lisp/org/org-publish.el
+++ b/lisp/org/org-publish.el
@@ -278,12 +278,12 @@ in the sitemap."
:type 'string)
(defcustom org-publish-sitemap-file-entry-format "%t"
- "How a sitemap file entry is formated.
+ "How a sitemap file entry is formatted.
You could use brackets to delimit on what part the link will be.
%t is the title.
%a is the author.
-%d is the date formated using `org-publish-sitemap-date-format'."
+%d is the date formatted using `org-publish-sitemap-date-format'."
:group 'org-publish
:type 'string)
@@ -715,7 +715,7 @@ If :auto-sitemap is set, publish the sitemap too.
If :makeindex is set, also produce a file theindex.org."
(mapc
(lambda (project)
- ;; Each project uses it's own cache file:
+ ;; Each project uses its own cache file:
(org-publish-initialize-cache (car project))
(let*
((project-plist (cdr project))
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 2fba931528e..76e4eae4b45 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -51,7 +51,7 @@
(defvar orgtbl-after-send-table-hook nil
"Hook for functions attaching to `C-c C-c', if the table is sent.
This can be used to add additional functionality after the table is sent
-to the receiver position, othewise, if table is not sent, the functions
+to the receiver position, otherwise, if table is not sent, the functions
are not run.")
(defcustom orgtbl-optimized (eq org-enable-table-editor 'optimized)
@@ -1302,7 +1302,7 @@ However, when FORCE is non-nil, create new columns if necessary."
(defun org-table-line-to-dline (line &optional above)
"Turn a buffer line number into a data line number.
If there is no data line in this line, return nil.
-If there is no matchin dline (most likely te refrence was a hline), the
+If there is no matching dline (most likely the reference was a hline), the
first dline below it is used. When ABOVE is non-nil, the one above is used."
(catch 'exit
(let ((ll (length org-table-dlines))
@@ -2641,7 +2641,7 @@ in the buffer and column1 and column2 are table column numbers."
(prog1 (org-trim (org-table-get-field c1))
(if highlight (org-table-highlight-rectangle (point) (point)))))
;; A range, return a vector
- ;; First sort the numbers to get a regular ractangle
+ ;; First sort the numbers to get a regular rectangle
(if (< r2 r1) (setq tmp r1 r1 r2 r2 tmp))
(if (< c2 c1) (setq tmp c1 c1 c2 c2 tmp))
(if corners-only
@@ -2901,7 +2901,7 @@ known that the table will be realigned a little later anyway."
(defun org-table-iterate (&optional arg)
"Recalculate the table until it does not change anymore.
-The maximun number of iterations is 10, but you can chose a different value
+The maximum number of iterations is 10, but you can chose a different value
with the prefix ARG."
(interactive "P")
(let ((imax (if arg (prefix-numeric-value arg) 10))
diff --git a/lisp/org/org-taskjuggler.el b/lisp/org/org-taskjuggler.el
index 1fb3114bf3f..45b16aecf12 100644
--- a/lisp/org/org-taskjuggler.el
+++ b/lisp/org/org-taskjuggler.el
@@ -571,7 +571,7 @@ with separator \"\n\"."
(and filtered-items (mapconcat 'identity filtered-items "\n"))))
(defun org-taskjuggler-get-attributes (item attributes)
- "Return all attribute as a single formated string. ITEM is an
+ "Return all attributes as a single formatted string. ITEM is an
alist representing either a resource or a task. ATTRIBUTES is a
list of symbols. Only entries from ITEM are considered that are
listed in ATTRIBUTES."
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 25bfb8a78e8..afd4ea6b4c3 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -8775,8 +8775,8 @@ If optional argument MERGE is set, merge TABLE into
(char-to-string char))) text "")))
(defun org-link-unescape (str)
- "Unhex hexified unicode strings as returned from the JavaScript function
-encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'."
+ "Unhex hexified Unicode strings as returned from the JavaScript function
+encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'."
(unless (and (null str) (string= "" str))
(let ((pos 0) (case-fold-search t) unhexed)
(while (setq pos (string-match "\\(%[0-9a-f][0-9a-f]\\)+" str pos))
@@ -8786,7 +8786,7 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'."
str)
(defun org-link-unescape-compound (hex)
- "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
+ "Unhexify Unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
Note: this function also decodes single byte encodings like
`%E1' (\"á\") if not followed by another `%[A-F0-9]{2}' group."
(save-match-data
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el
index b2c8de6ec2f..3b2a944f5bb 100644
--- a/lisp/pcmpl-gnu.el
+++ b/lisp/pcmpl-gnu.el
@@ -35,7 +35,7 @@
;; User Variables:
(defcustom pcmpl-gnu-makefile-regexps
- '("\\`GNUmakefile" "\\`Makefile" "\\.mak\\'")
+ '("\\`GNUmakefile" "\\`[Mm]akefile" "\\.ma?k\\'")
"A list of regexps that will match Makefile names."
:type '(repeat regexp)
:group 'pcmpl-gnu)
@@ -99,7 +99,10 @@
"Completion for GNU `make'."
(let ((pcomplete-help "(make)Top"))
(pcomplete-opt "bmC/def(pcmpl-gnu-makefile-names)hiI/j?kl?no.pqrsStvwW.")
- (while (pcomplete-here (pcmpl-gnu-make-rule-names) nil 'identity))))
+ (while (pcomplete-here (completion-table-in-turn
+ (pcmpl-gnu-make-rule-names)
+ (pcomplete-entries))
+ nil 'identity))))
(defun pcmpl-gnu-makefile-names ()
"Return a list of possible makefile names."
@@ -109,14 +112,16 @@
"Return a list of possible make rule names in MAKEFILE."
(let* ((minus-f (member "-f" pcomplete-args))
(makefile (or (cadr minus-f)
- (if (file-exists-p "GNUmakefile")
- "GNUmakefile"
- "Makefile")))
+ (cond
+ ((file-exists-p "GNUmakefile") "GNUmakefile")
+ ((file-exists-p "makefile") "makefile")
+ (t "Makefile"))))
rules)
(if (not (file-readable-p makefile))
(unless minus-f (list "-f"))
(with-temp-buffer
- (insert-file-contents-literally makefile)
+ (ignore-errors ;Could be a directory or something.
+ (insert-file-contents makefile))
(while (re-search-forward
(concat "^\\s-*\\([^\n#%.$][^:=\n]*\\)\\s-*:[^=]") nil t)
(setq rules (append (split-string (match-string 1)) rules))))
@@ -309,7 +314,8 @@
(let* ((fa (file-attributes (pcomplete-arg 1)))
(size (nth 7 fa)))
(and (numberp size)
- (< size large-file-warning-threshold))))
+ (or (null large-file-warning-threshold)
+ (< size large-file-warning-threshold)))))
(let ((file (pcomplete-arg 1)))
(completion-table-dynamic
(lambda (_string)
diff --git a/lisp/play/5x5.el b/lisp/play/5x5.el
index a7a332d97f2..e111e743608 100644
--- a/lisp/play/5x5.el
+++ b/lisp/play/5x5.el
@@ -579,7 +579,7 @@ Solutions are sorted from least to greatest Hamming weight."
(let* (calc-command-flags
(grid-size-squared (* 5x5-grid-size 5x5-grid-size))
- ;; targetv is the vector the origine of which is org="current
+ ;; targetv is the vector the origin of which is org="current
;; grid" and the end of which is dest="all ones".
(targetv
(5x5-log
@@ -649,7 +649,7 @@ Solutions are sorted from least to greatest Hamming weight."
;; 23x25 is a diagonal of 1, and the two last columns are a
;; base of kernel of transferm.
;;
- ;; base-change must be by construction inversible.
+ ;; base-change must be by construction invertible.
(base-change
(5x5-log
"p"
diff --git a/lisp/play/gametree.el b/lisp/play/gametree.el
index 4d514d2d0aa..e7ed146b4a1 100644
--- a/lisp/play/gametree.el
+++ b/lisp/play/gametree.el
@@ -549,7 +549,7 @@ Argument is a character, naming the register."
(defun gametree-save-and-hack-layout ()
"Save the current tree layout and hack the file local variable spec.
This function saves the current layout in `gametree-local-layout' and,
-if a local file varible specification for this variable exists in the
+if a local file variable specification for this variable exists in the
buffer, it is replaced by the new value. See the documentation for
`gametree-local-layout' for more information."
(interactive)
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index 33fcf451ebb..ee6b67e6109 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -379,7 +379,7 @@ Other useful commands:\n
best-square square
score-max score)
(aset gomoku-score-table square -1))) ; no: kill it !
- ;; If score is equally good, choose randomly. But first check freeness:
+ ;; If score is equally good, choose randomly. But first check freedom:
((not (zerop (aref gomoku-board square)))
(aset gomoku-score-table square -1))
((zerop (random (setq count (1+ count))))
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el
index 8629baf35d3..9ef03725c60 100644
--- a/lisp/play/landmark.el
+++ b/lisp/play/landmark.el
@@ -385,7 +385,7 @@ is non-nil. One interesting value is `turn-on-font-lock'."
best-square square
score-max score)
(aset landmark-score-table square -1))) ; no: kill it !
- ;; If score is equally good, choose randomly. But first check freeness:
+ ;; If score is equally good, choose randomly. But first check freedom:
((not (zerop (aref landmark-board square)))
(aset landmark-score-table square -1))
((zerop (random (setq count (1+ count))))
diff --git a/lisp/printing.el b/lisp/printing.el
index c5951a4983f..dab57d16dca 100644
--- a/lisp/printing.el
+++ b/lisp/printing.el
@@ -547,7 +547,7 @@ Please send all bug fixes and enhancements to
;; `pr-auto-region' Non-nil means region is automagically detected.
;;
;; `pr-auto-mode' Non-nil means major-mode specific printing is
-;; prefered over normal printing.
+;; preferred over normal printing.
;;
;; `pr-mode-alist' Specify an alist for a major-mode and printing
;; function.
@@ -2426,7 +2426,7 @@ marked instead of all buffer."
(defcustom pr-auto-mode t
- "Non-nil means major-mode specific printing is prefered over normal printing.
+ "Non-nil means major-mode specific printing is preferred over normal printing.
That is, if current major-mode is declared in `pr-mode-alist', the `*-buffer*'
and `*-region*' commands will behave like `*-mode*' commands; otherwise,
@@ -2536,7 +2536,7 @@ LPR-PRINT It's a symbol function for text printing. It's invoked with
nil, it's used (point-max).
PS-PRINT It's a symbol function for PostScript printing. It's invoked
- with 3 arguments: n-up printing, file name and the list:
+ with three arguments: n-up printing, file name and the list:
(HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...).
Usually PS-PRINT function prepares the environment or buffer
@@ -3692,7 +3692,7 @@ VI. Customization:
"\n\n
The printing interface buffer has the same functionality as the printing menu.
The major difference is that the states (like sending PostScript generated to a
-file, n-up printing, etc.) are set and saved between priting buffer
+file, n-up printing, etc.) are set and saved between printing buffer
activation. Also, the landscape, duplex and tumble values are the same for
PostScript file and directory/buffer/region/mode processing; using menu, there
are different value sets for PostScript file and directory/buffer/region/mode
@@ -5458,7 +5458,7 @@ If menu binding was not done, calls `pr-menu-bind'."
(defun pr-toggle-mode-menu (&optional no-menu)
- "Toggle whether major-mode specific printing is prefered over normal printing."
+ "Toggle whether major-mode specific printing is preferred over normal printing."
(interactive)
(pr-toggle 'pr-auto-mode "Auto mode"
'printing 1 12 'toggle nil no-menu))
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 9d2aad7741b..64734420a8c 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -826,7 +826,7 @@ the 4 file locations can be clicked on and jumped to."
;; to be considered as part of a word or not.
;; Some characters may have multiple meanings depending on the context:
;; - ' is either the beginning of a constant character or an attribute
-;; - # is either part of a based litteral or a gnatprep statement.
+;; - # is either part of a based literal or a gnatprep statement.
;; - " starts a string, but not if inside a constant character.
;; - ( and ) should be ignored if inside a constant character.
;; Thus their syntax property is changed automatically, and we can still use
@@ -1694,7 +1694,7 @@ ARG is ignored, and is there for compatibility with `capitalize-word' only."
(defun ada-no-auto-case (&optional _arg)
"Do nothing. ARG is ignored.
This function can be used for the auto-casing variables in Ada mode, to
-adapt to unusal auto-casing schemes. Since it does nothing, you can for
+adapt to unusual auto-casing schemes. Since it does nothing, you can for
instance use it for `ada-case-identifier' if you don't want any special
auto-casing for identifiers, whereas keywords have to be lower-cased.
See also `ada-auto-case' to disable auto casing altogether."
@@ -3939,7 +3939,7 @@ If NOERROR is non-nil, it only returns nil if no matching start found."
;; processing them recursively avoids the need for any special
;; handling.
;; Nothing should be done if we have only the specs or a
- ;; generic instantion.
+ ;; generic instantiation.
((and (looking-at "\\<procedure\\|function\\>"))
(if first
@@ -4401,7 +4401,7 @@ Moves to 'begin' if in a declarative part."
(ada-goto-matching-end 1))
;; on first line of subprogram body
- ;; Do nothing for specs or generic instantion, since these are
+ ;; Do nothing for specs or generic instantiation, since these are
;; handled as the general case (find the enclosing block)
;; We also need to make sure that we ignore nested subprograms
((save-excursion
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 0cfdab23702..2f6a7be393a 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -1357,7 +1357,7 @@ project file."
(or executable-name
(file-name-sans-extension (buffer-file-name))))))
- ;; For gvd, add an extra switch so that the Emacs window is completly
+ ;; For gvd, add an extra switch so that the Emacs window is completely
;; swallowed inside the Gvd one
(if (and ada-tight-gvd-integration
(string-match "^[^ \t]*gvd" cmd))
@@ -1783,7 +1783,7 @@ Information is extracted from the ali file."
)
)
- ;; Last check to be completly sure we have found the correct line (the
+ ;; Last check to be completely sure we have found the correct line (the
;; ali might not be up to date for instance)
(if declaration-found
(progn
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el
index aa1289cd632..8213a83461b 100644
--- a/lisp/progmodes/cc-awk.el
+++ b/lisp/progmodes/cc-awk.el
@@ -128,7 +128,7 @@
;; REGEXPS FOR "HARMLESS" STRINGS/LINES.
(defconst c-awk-harmless-char-re "[^_#/\"\\\\\n\r]")
;; Matches any character but a _, #, /, ", \, or newline. N.B. _" starts a
-;; localisation string in gawk 3.1
+;; localization string in gawk 3.1
(defconst c-awk-harmless-_ "_\\([^\"]\\|\\'\\)")
;; Matches an underline NOT followed by ".
(defconst c-awk-harmless-string*-re
@@ -160,7 +160,7 @@
(defconst c-awk-string-without-end-here-re
(concat "\\=_?\"" c-awk-string-innards-re))
;; Matches an AWK string at point up to, but not including, any terminator.
-;; A gawk 3.1+ string may look like _"localisable string".
+;; A gawk 3.1+ string may look like _"localizable string".
(defconst c-awk-one-line-possibly-open-string-re
(concat "\"\\(" c-awk-string-ch-re "\\|" c-awk-non-eol-esc-pair-re "\\)*"
"\\(\"\\|\\\\?$\\|\\'\\)"))
@@ -231,7 +231,7 @@
;; to foul things up.
(defconst c-awk-non-arith-op-bra-re
"[[\(&=:!><,?;'~|]")
-;; Matches an openeing BRAcket ,round or square, or any operator character
+;; Matches an opening BRAcket, round or square, or any operator character
;; apart from +,-,/,*,%. For the purpose at hand (detecting a / which is a
;; regexp bracket) these arith ops are unnecessary and a pain, because of "++"
;; and "--".
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 68f31c55e71..4981bbfd2bc 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -2051,7 +2051,7 @@ function does not require the declaration to contain a brace block."
(c-narrow-to-comment-innards range) ; This may move point back.
(let* ((here (point))
last
- (here-filler ; matches WS and comment-prefices at point.
+ (here-filler ; matches WS and comment-prefixes at point.
(concat "\\=\\(^[ \t]*\\(" c-current-comment-prefix "\\)"
"\\|[ \t\n\r\f]\\)*"))
(prefix-at-bol-here ; matches WS and prefix at BOL, just before point
@@ -2071,7 +2071,7 @@ function does not require the declaration to contain a brace block."
;; Now seek successively earlier sentence ends between PAR-BEG and
;; HERE, until the "start of sentence" following it is earlier than
- ;; HERE, or we hit PAR-BEG. Beware of comment prefices!
+ ;; HERE, or we hit PAR-BEG. Beware of comment prefixes!
(while (and (re-search-backward (c-sentence-end) par-beg 'limit)
(setq last (point))
(goto-char (match-end 0)) ; tentative beginning of sentence
@@ -2178,7 +2178,7 @@ function does not require the declaration to contain a brace block."
(end (1- (cdr range)))
(here-filler ; matches WS and escaped newlines at point.
"\\=\\([ \t\n\r\f]\\|\\\\[\n\r]\\)*")
- ;; Enhance paragraph-start and paragraph-separate also to recognise
+ ;; Enhance paragraph-start and paragraph-separate also to recognize
;; blank lines terminated by escaped EOLs. IT MAY WELL BE that
;; these values should be customizable user options, or something.
(paragraph-start c-string-par-start)
@@ -2234,7 +2234,7 @@ function does not require the declaration to contain a brace block."
(save-match-data
(let* ((here (point))
last
- ;; Enhance paragraph-start and paragraph-separate to recognise
+ ;; Enhance paragraph-start and paragraph-separate to recognize
;; blank lines terminated by escaped EOLs.
(paragraph-start c-string-par-start)
(paragraph-separate c-string-par-separate)
@@ -2316,7 +2316,7 @@ function does not require the declaration to contain a brace block."
(defun c-after-statement-terminator-p () ; Should we pass in LIM here?
;; Does point immediately follow a statement "terminator"? A virtual
- ;; semicolon is regarded here as such. So is a an opening brace ;-)
+ ;; semicolon is regarded here as such. So is an opening brace ;-)
;;
;; This function might do hidden buffer changes.
(or (save-excursion
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index fb9fd406ef8..2991b511830 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -473,7 +473,7 @@ various buffer change hooks."
(let ((saved-undo-list (elt saved-state 0)))
(if (eq buffer-undo-list saved-undo-list)
- ;; No change was done afterall.
+ ;; No change was done after all.
(setq buffer-undo-list (cdr saved-undo-list))
(if keep
@@ -774,7 +774,7 @@ be after it."
;; In addition to `c-at-vsemi-p-fn', a mode may need to supply a function for
;; `c-vsemi-status-unknown-p-fn'. The macro `c-vsemi-status-unknown-p' is a
;; rather recondite kludge. It exists because the function
-;; `c-beginning-of-statement-1' sometimes tests for VSs as an optimisation,
+;; `c-beginning-of-statement-1' sometimes tests for VSs as an optimization,
;; but `c-at-vsemi-p' might well need to call `c-beginning-of-statement-1' in
;; its calculations, thus potentially leading to infinite recursion.
;;
@@ -1249,7 +1249,7 @@ been put there by c-put-char-property. POINT remains unchanged."
;; which introduces a CPP construct and every EOL (or EOB, or character
;; preceding //, etc.) which terminates it. We can instantly "comment
;; out" all CPP constructs by giving `c-cpp-delimiter' a syntax-table
-;; propery '(14) (generic comment delimiter).
+;; property '(14) (generic comment delimiter).
(defmacro c-set-cpp-delimiters (beg end)
;; This macro does a hidden buffer change.
`(progn
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 8ac38c253fb..cd483d20f2f 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -893,7 +893,7 @@ comment at the start of cc-engine.el for more info."
((eq sym 'while)
;; Is this a real while, or a do-while?
;; The next `when' triggers unless we are SURE that
- ;; the `while' is not the tailend of a `do-while'.
+ ;; the `while' is not the tail end of a `do-while'.
(when (or (not pptok)
(memq (char-after pptok) delims)
;; The following kludge is to prevent
@@ -2364,7 +2364,7 @@ comment at the start of cc-engine.el for more info."
(defun c-parse-state-get-strategy (here good-pos)
;; Determine the scanning strategy for adjusting `c-parse-state', attempting
- ;; to minimise the amount of scanning. HERE is the pertinent position in
+ ;; to minimize the amount of scanning. HERE is the pertinent position in
;; the buffer, GOOD-POS is a position where `c-state-cache' (possibly with
;; its head trimmed) is known to be good, or nil if there is no such
;; position.
@@ -2548,7 +2548,7 @@ comment at the start of cc-engine.el for more info."
c-state-cache)))
;; N.B. This defsubst codes one method for the simple, normal case,
;; and a more sophisticated, slower way for the general case. Don't
- ;; eliminate this defsubst - it's a speed optimisation.
+ ;; eliminate this defsubst - it's a speed optimization.
(c-append-lower-brace-pair-to-state-cache (1- bra+1)))))
(defun c-append-to-state-cache (from)
@@ -2788,7 +2788,7 @@ comment at the start of cc-engine.el for more info."
;;
;; This function must only be called only when (> `c-state-cache-good-pos'
;; HERE). Usually the gap between CACHE-POS and HERE is large. It is thus
- ;; optimised to eliminate (or minimise) scanning between these two
+ ;; optimized to eliminate (or minimize) scanning between these two
;; positions.
;;
;; Return a three element list (GOOD-POS SCAN-BACK-POS FWD-FLAG), where:
@@ -4233,9 +4233,9 @@ comment at the start of cc-engine.el for more info."
;; fails to take account of the change of the s-t property on the opening / to
;; "string", and reports that the { is within a string started by the second /.
;;
-;; The workaround for this is for the AWK Mode initialisation to switch the
+;; The workaround for this is for the AWK Mode initialization to switch the
;; defalias for c-in-literal to c-slow-in-literal. This will slow down other
-;; cc-modes in XEmacs whenever an awk-buffer has been initialised.
+;; cc-modes in XEmacs whenever an awk-buffer has been initialized.
;;
;; (Alan Mackenzie, 2003/4/30).
@@ -4904,7 +4904,7 @@ comment at the start of cc-engine.el for more info."
(setq cfd-prop-match nil))
(when (/= cfd-macro-end 0)
- ;; Restore limits if we did macro narrowment above.
+ ;; Restore limits if we did macro narrowing above.
(narrow-to-region (point-min) cfd-buffer-end)))
(goto-char cfd-continue-pos)
@@ -5052,7 +5052,7 @@ comment at the start of cc-engine.el for more info."
;; The strategy now (2010-01) adopted is to mark and unmark < and
;; > IN MATCHING PAIRS ONLY. [Previously, they were marked
;; individually when their context so indicated. This gave rise to
-;; intractible problems when one of a matching pair was deleted, or
+;; intractable problems when one of a matching pair was deleted, or
;; pulled into a literal.]
;;
;; At each buffer change, the syntax-table properties are removed in a
@@ -5965,7 +5965,7 @@ comment at the start of cc-engine.el for more info."
;; `*-font-lock-extra-types');
;; o - 'prefix if it's a known prefix of a type;
;; o - 'found if it's a type that matches one in `c-found-types';
- ;; o - 'maybe if it's an identfier that might be a type; or
+ ;; o - 'maybe if it's an identifier that might be a type; or
;; o - nil if it can't be a type (the point isn't moved then).
;;
;; The point is assumed to be at the beginning of a token.
@@ -6467,7 +6467,7 @@ comment at the start of cc-engine.el for more info."
(when (c-keyword-member kwd-sym 'c-typeless-decl-kwds)
(setq maybe-typeless t))
- ;; Haven't matched a type so it's an umambiguous
+ ;; Haven't matched a type so it's an unambiguous
;; specifier keyword and we know we're in a
;; declaration.
(setq at-decl-or-cast t)
@@ -6832,7 +6832,7 @@ comment at the start of cc-engine.el for more info."
got-suffix-after-parens
(eq (char-after got-suffix-after-parens) ?\())
;; Got a type, no declarator but a paren suffix. I.e. it's a
- ;; normal function call afterall (or perhaps a C++ style object
+ ;; normal function call after all (or perhaps a C++ style object
;; instantiation expression).
(throw 'at-decl-or-cast nil))))
@@ -7100,7 +7100,7 @@ comment at the start of cc-engine.el for more info."
;; colon). Currently (2006-03), this applies only to Objective C's
;; keywords "@private", "@protected", and "@public". Returns t.
;;
- ;; One of the things which will NOT be recognised as a label is a bit-field
+ ;; One of the things which will NOT be recognized as a label is a bit-field
;; element of a struct, something like "int foo:5".
;;
;; The end of the label is taken to be just after the colon, or the end of
@@ -9151,7 +9151,7 @@ comment at the start of cc-engine.el for more info."
'label))
(if (eq step 'up)
(setq placeholder (point))
- ;; There was no containing statement afterall.
+ ;; There was no containing statement after all.
(goto-char placeholder)))))
placeholder))
(if (looking-at c-block-stmt-2-key)
@@ -9582,7 +9582,7 @@ comment at the start of cc-engine.el for more info."
(c-add-syntax 'inher-cont (c-point 'boi)))
;; CASE 5D.5: Continuation of the "expression part" of a
- ;; top level construct. Or, perhaps, an unrecognised construct.
+ ;; top level construct. Or, perhaps, an unrecognized construct.
(t
(while (and (setq placeholder (point))
(eq (car (c-beginning-of-decl-1 containing-sexp))
@@ -9593,7 +9593,7 @@ comment at the start of cc-engine.el for more info."
(< (point) placeholder)))
(c-add-stmt-syntax
(cond
- ((eq (point) placeholder) 'statement) ; unrecognised construct
+ ((eq (point) placeholder) 'statement) ; unrecognized construct
;; A preceding comma at the top level means that a
;; new variable declaration starts here. Use
;; topmost-intro-cont for it, for consistency with
@@ -9784,7 +9784,7 @@ comment at the start of cc-engine.el for more info."
(c-beginning-of-statement-1 containing-sexp)
(c-add-stmt-syntax 'statement nil t containing-sexp paren-state))
- ;;CASE 5N: We are at a tompmost continuation line and the only
+ ;;CASE 5N: We are at a topmost continuation line and the only
;;preceding items are annotations.
((and (c-major-mode-is 'java-mode)
(setq placeholder (point))
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index a5a9582315b..ac4d1bf9e57 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -194,9 +194,13 @@
(unless (face-property-instance oldface 'reverse)
(invert-face newface)))))
-(defvar c-annotation-face (make-face 'c-annotation-face)
- "Face used to highlight annotations in java-mode and other modes that may wish to use it.")
-(set-face-foreground 'c-annotation-face "blue")
+(defvar c-annotation-face 'c-annotation-face)
+
+(defface c-annotation-face
+ '((default :inherit font-lock-constant-face))
+ "Face for highlighting annotations in Java mode and similar modes."
+ :version "24.1"
+ :group 'c)
(eval-and-compile
;; We need the following definitions during compilation since they're
@@ -1040,7 +1044,7 @@ casts and declarations are fontified. Used on level 2 and higher."
;; Inside the following "condition form", we move forward over the
;; declarator's identifier up as far as any opening bracket (for array
;; size) or paren (for parameters of function-type) or brace (for
- ;; array/struct initialisation) or "=" or terminating delimiter
+ ;; array/struct initialization) or "=" or terminating delimiter
;; (e.g. "," or ";" or "}").
(and
pos
@@ -1122,7 +1126,7 @@ casts and declarations are fontified. Used on level 2 and higher."
(char-after (match-beginning 1))))
(if types
- ;; Register and fontify the identifer as a type.
+ ;; Register and fontify the identifier as a type.
(let ((c-promote-possible-types t))
(goto-char id-start)
(c-forward-type))
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index e1fb69c30c8..37818638d41 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -221,7 +221,7 @@ the evaluated constant value at compile time."
;;
;; OPS either has the structure of `c-operators', is a single
;; group in `c-operators', or is a plain list of operators.
- ;;
+ ;;
;; OPGROUP-FILTER specifies how to select the operator groups. It
;; can be t to choose all groups, a list of group type symbols
;; (such as 'prefix) to accept, or a function which will be called
@@ -433,7 +433,7 @@ element is a cons where the car is the character to modify and the cdr
the new syntax, as accepted by `modify-syntax-entry'."
;; The $ character is not allowed in most languages (one exception
;; is Java which allows it for legacy reasons) but we still classify
- ;; it as an indentifier character since it's often used in various
+ ;; it as an identifier character since it's often used in various
;; machine generated identifiers.
t '((?_ . "w") (?$ . "w"))
(objc java) (append '((?@ . "w"))
@@ -772,7 +772,7 @@ literal are multiline."
"Regexp matching the prefix of a cpp directive in the languages that
normally use that macro preprocessor. Tested at bol or at boi.
Assumed to not contain any submatches or \\| operators."
- ;; TODO (ACM, 2005-04-01). Amend the following to recognise escaped NLs;
+ ;; TODO (ACM, 2005-04-01). Amend the following to recognize escaped NLs;
;; amend all uses of c-opt-cpp-prefix which count regexp-depth.
t "\\s *#\\s *"
(java awk) nil)
@@ -1520,7 +1520,7 @@ properly."
;; end-of-defun-function will be set so that commands like
;; `mark-defun' and `narrow-to-defun' work right. The key sequences
;; C-M-a and C-M-e are, however, bound directly to the CC Mode
-;; functions, allowing optimisation for large n.
+;; functions, allowing optimization for large n.
(c-lang-defconst beginning-of-defun-function
"Function to which beginning-of-defun-function will be set."
t 'c-beginning-of-defun
@@ -2530,7 +2530,7 @@ Note that Java specific rules are currently applied to tell this from
"\\.?[0-9]"
"\\|"
- ;; The nonambiguous operators from `prefix-ops'.
+ ;; The unambiguous operators from `prefix-ops'.
(c-make-keywords-re nil
(set-difference nonkeyword-prefix-ops in-or-postfix-ops
:test 'string-equal))
@@ -2681,7 +2681,7 @@ possible for good performance."
pos (match-end 0)))
res))))
- ;; Allow cpp operatios (where applicable).
+ ;; Allow cpp operations (where applicable).
t (if (c-lang-const c-opt-cpp-prefix)
(set-difference (c-lang-const c-block-prefix-disallowed-chars)
'(?#))
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index 4e9350de425..942303b1096 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -66,7 +66,7 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
(defvar cc-imenu-c++-generic-expression
`(
;; Try to match ::operator definitions first. Otherwise `X::operator new ()'
- ;; will be incorrectly recognised as function `new ()' because the regexps
+ ;; will be incorrectly recognized as function `new ()' because the regexps
;; work by backtracking from the end of the definition.
(nil
,(concat
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index d93d174047b..cc5a5236255 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -293,7 +293,7 @@ control). See \"cc-mode.el\" for more info."
;; replaces `fill-paragraph' and does the adaption before calling
;; `fill-paragraph-function', and we have to mask comments etc
;; before that. Also, `c-fill-paragraph' chains on to
- ;; `fill-paragraph' and the value on `fill-parapgraph-function' to
+ ;; `fill-paragraph' and the value on `fill-paragraph-function' to
;; do the actual filling work.
(substitute-key-definition 'fill-paragraph 'c-fill-paragraph
c-mode-base-map global-map)
@@ -505,7 +505,7 @@ that requires a literal mode spec at compile time."
;; doesn't work with filladapt but it's better than nothing.
(set (make-local-variable 'fill-paragraph-function) 'c-fill-paragraph)
- ;; Initialise the cache of brace pairs, and opening braces/brackets/parens.
+ ;; Initialize the cache of brace pairs, and opening braces/brackets/parens.
(c-state-cache-init)
(when (or c-recognize-<>-arglists
@@ -587,7 +587,7 @@ that requires a literal mode spec at compile time."
(add-hook 'after-change-functions 'c-after-change nil t)
(set (make-local-variable 'font-lock-extend-after-change-region-function)
'c-extend-after-change-region)) ; Currently (2009-05) used by all
- ; lanaguages with #define (C, C++,; ObjC), and by AWK.
+ ; languages with #define (C, C++,; ObjC), and by AWK.
(defun c-setup-doc-comment-style ()
"Initialize the variables that depend on the value of `c-doc-comment-style'."
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 02256ead392..a4338a3193b 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -420,7 +420,7 @@ If a LINE-TYPE is missing, then \\[indent-for-comment] indents the comment
according to `comment-column'.
Note that a non-nil value on `c-indent-comments-syntactically-p'
-overrides this variable, so empty lines are indentented syntactically
+overrides this variable, so empty lines are indented syntactically
in that case, i.e. as if \\[c-indent-command] was used instead."
:type
(let ((space '(cons :tag "space"
@@ -586,7 +586,7 @@ in a mode hook, you have to call `c-setup-doc-comment-style'
afterwards to redo that work."
;; Symbols other than those documented above may be used on this
;; variable. If a variable exists that has that name with
- ;; "-font-lock-keywords" appended, it's value is prepended to the
+ ;; "-font-lock-keywords" appended, its value is prepended to the
;; font lock keywords list. If it's a function then it's called and
;; the result is prepended.
:type '(radio
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el
index eea822328f1..823304bd250 100644
--- a/lisp/progmodes/cfengine.el
+++ b/lisp/progmodes/cfengine.el
@@ -24,7 +24,7 @@
;;; Commentary:
;; Provides support for editing GNU Cfengine files, including
-;; font-locking, Imenu and indention, but with no special keybindings.
+;; font-locking, Imenu and indentation, but with no special keybindings.
;; The CFEngine 3.x support doesn't have Imenu support but patches are
;; welcome.
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index ca596023151..13fa310106c 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -839,7 +839,7 @@ voice);
b) Can lineup vertically \"middles\" of rows, like `=' in
a = b;
cc = d;
- c) Can insert spaces where this impoves readability (in one
+ c) Can insert spaces where this improves readability (in one
interactive sweep over the buffer);
d) Has support for imenu, including:
1) Separate unordered list of \"interesting places\";
@@ -1277,7 +1277,7 @@ versions of Emacs."
"----"
["Ispell PODs" cperl-pod-spell
;; Better not to update syntaxification here:
- ;; debugging syntaxificatio can be broken by this???
+ ;; debugging syntaxification can be broken by this???
(or
(get-text-property (point-min) 'in-pod)
(< (progn
@@ -1388,12 +1388,12 @@ The expansion is entirely correct because it uses the C preprocessor."
;;; These two must be unwound, otherwise take exponential time
(defconst cperl-maybe-white-and-comment-rex "[ \t\n]*\\(#[^\n]*\n[ \t\n]*\\)*"
-"Regular expression to match optional whitespace with interpspersed comments.
+"Regular expression to match optional whitespace with interspersed comments.
Should contain exactly one group.")
;;; This one is tricky to unwind; still very inefficient...
(defconst cperl-white-and-comment-rex "\\([ \t\n]\\|#[^\n]*\n\\)+"
-"Regular expression to match whitespace with interpspersed comments.
+"Regular expression to match whitespace with interspersed comments.
Should contain exactly one group.")
@@ -1811,7 +1811,7 @@ or as help on variables `cperl-tips', `cperl-problems',
(funcall f))
(make-local-variable 'compilation-error-regexp-alist)
(push 'cperl compilation-error-regexp-alist)))
- ((boundp 'compilation-error-regexp-alist);; xmeacs 19.x
+ ((boundp 'compilation-error-regexp-alist);; xemacs 19.x
(make-local-variable 'compilation-error-regexp-alist)
(set 'compilation-error-regexp-alist
(append cperl-compilation-error-regexp-alist
@@ -2801,7 +2801,7 @@ Will not look before LIM."
(skip-chars-forward " \t")
(if (memq (char-after (point))
(append "#\n" nil))
- nil ; Can't use intentation of this line...
+ nil ; Can't use indentation of this line...
(point)))
(skip-chars-forward " \t")
(point)))
@@ -7650,7 +7650,7 @@ $~ The name of the current report format.
... &= ... Bitwise and assignment.
... * ... Multiplication.
... ** ... Exponentiation.
-*NAME Glob: all objects refered by NAME. *NAM1 = *NAM2 aliases NAM1 to NAM2.
+*NAME Glob: all objects referred by NAME. *NAM1 = *NAM2 aliases NAM1 to NAM2.
&NAME(arg0, ...) Subroutine call. Arguments go to @_.
... + ... Addition. +EXPR Makes EXPR into scalar context.
++ Auto-increment (magical on strings). ++EXPR EXPR++
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index 211c856f9b7..0516aca8d2b 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -210,16 +210,16 @@ This function is designed to be added to hooks, for example:
(defun cwarn-is-enabled (mode &optional feature)
"Non-nil if CWarn FEATURE is enabled for MODE.
-feature is an atom representing one construction to highlight.
+FEATURE is an atom representing one construction to highlight.
Check if any feature is enabled for MODE if no feature is specified.
The valid features are described by the variable
`cwarn-font-lock-feature-keywords-alist'."
- (let ((mode-configuraion (assq mode cwarn-configuration)))
- (and mode-configuraion
+ (let ((mode-configuration (assq mode cwarn-configuration)))
+ (and mode-configuration
(or (null feature)
- (let ((list-or-t (nth 1 mode-configuraion)))
+ (let ((list-or-t (nth 1 mode-configuration)))
(or (eq list-or-t t)
(if (eq (car-safe list-or-t) 'not)
(not (memq feature (cdr list-or-t)))
@@ -235,7 +235,7 @@ The valid features are described by the variable
(eq (char-after) ?#)))
(defun cwarn-font-lock-keywords (addp)
- "Install/Remove keywords into current buffer.
+ "Install/remove keywords into current buffer.
If ADDP is non-nil, install else remove."
(dolist (pair cwarn-font-lock-feature-keywords-alist)
(let ((feature (car pair))
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index d855861d552..eeb145e2b1a 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -708,7 +708,7 @@ Returns point of the found command line or nil if not able to move."
(setq done t) ; not a label-only line, exit the loop
(setq retval (point))))
;; We couldn't go further back, and we haven't found a command yet.
- ;; Return to the start positionn
+ ;; Return to the start position.
(goto-char start)
(setq done t)
(setq retval nil)))
@@ -756,7 +756,7 @@ Returns point of the found command line or nil if not able to move."
(setq done t) ; not a label-only line, exit the loop
(setq retval (point)))))
;; We couldn't go further back, and we haven't found a command yet.
- ;; Return to the start positionn
+ ;; Return to the start position.
(goto-char start)
(setq done t)
(setq retval nil)))
diff --git a/lisp/progmodes/ebnf-dtd.el b/lisp/progmodes/ebnf-dtd.el
index 204b6a91b0f..7b63575195e 100644
--- a/lisp/progmodes/ebnf-dtd.el
+++ b/lisp/progmodes/ebnf-dtd.el
@@ -515,7 +515,7 @@
;; -----
;;
;; At moment, only the `<!ELEMENT' generates a syntactic chart. The
-;; `<!ATTLIST', `<!NOTATION' and `<!ENTITY' are syntacticly checked but they
+;; `<!ATTLIST', `<!NOTATION' and `<!ENTITY' are syntactically checked but they
;; don't generate a syntactic chart.
;;
;; Besides the syntax above, ebnf-dtd also accepts a `pure' dtd file. An
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 13cba0fe701..2d0b18f3dae 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1191,7 +1191,7 @@ error message."
;; Note: there is a small inefficiency in find-buffer-visiting :
;; truename is computed even if not needed. Not too sure about this
;; but I suspect truename computation accesses the disk.
- ;; It is maybe a good idea to optimise this find-buffer-visiting.
+ ;; It is maybe a good idea to optimize this find-buffer-visiting.
;; An alternative would be to use only get-file-buffer
;; but this looks less "sure" to find the buffer for the file.
(while (and (not the-buffer) buffer-search-extensions)
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index ce04d8b390e..95b8d810028 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -724,7 +724,7 @@ Can be overridden by the value of `font-lock-maximum-decoration'.")
["Reset to Saved" Custom-reset-saved :active t
:help "Reset all edited or set settings to saved"]
["Reset to Standard Settings" Custom-reset-standard :active t
- :help "Erase all cusomizations in buffer"]
+ :help "Erase all customizations in buffer"]
)
"--"
["Indent Subprogram" f90-indent-subprogram t]
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index e98ca58f3e0..2dac46a6d5b 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -665,7 +665,7 @@ Used in the Fortran entry in `hs-special-modes-alist'.")
["Reset to Saved" Custom-reset-saved :active t
:help "Reset all edited or set settings to saved"]
["Reset to Standard Settings" Custom-reset-standard :active t
- :help "Erase all cusomizations in buffer"]
+ :help "Erase all customizations in buffer"]
)
"--"
["Comment Region" fortran-comment-region mark-active]
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 7d31fb63e91..ab40dff24f1 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -74,7 +74,7 @@
;; GDB in Emacs on Mac OSX works best with FSF GDB as Apple have made
;; some changes to the version that they include as part of Mac OSX.
;; This requires GDB version 7.0 or later (estimated release date Aug 2009)
-;; as earlier versions don not compile on Mac OSX.
+;; as earlier versions do not compile on Mac OSX.
;;; Known Bugs:
@@ -214,7 +214,7 @@ Emacs can't find.")
(defvar gdb-source-window nil)
(defvar gdb-inferior-status nil)
(defvar gdb-continuation nil)
-(defvar gdb-version nil)
+(defvar gdb-supports-non-stop nil)
(defvar gdb-filter-output nil
"Message to be shown in GUD console.
@@ -574,7 +574,7 @@ When `gdb-non-stop' is nil, return COMMAND unchanged."
(if gdb-non-stop
(if (and gdb-gud-control-all-threads
(not noall)
- (string-equal gdb-version "7.0+"))
+ gdb-supports-non-stop)
(concat command " --all ")
(gdb-current-context-command command))
command))
@@ -823,7 +823,7 @@ detailed description of this mode.
(run-hooks 'gdb-mode-hook))
(defun gdb-init-1 ()
- ;; (re-)initialise
+ ;; (re-)initialize
(setq gdb-selected-frame nil
gdb-frame-number nil
gdb-thread-number nil
@@ -872,14 +872,16 @@ detailed description of this mode.
(when gdb-non-stop
(gdb-input (list "-gdb-set non-stop 1" 'gdb-non-stop-handler)))
+ (gdb-input (list "-enable-pretty-printing" 'ignore))
+
;; find source file and compilation directory here
- (gdb-input
- ; Needs GDB 6.2 onwards.
- (list "-file-list-exec-source-files" 'gdb-get-source-file-list))
(if gdb-create-source-file-list
(gdb-input
+ ; Needs GDB 6.2 onwards.
+ (list "-file-list-exec-source-files" 'gdb-get-source-file-list)))
+ (gdb-input
; Needs GDB 6.0 onwards.
- (list "-file-list-exec-source-file" 'gdb-get-source-file)))
+ (list "-file-list-exec-source-file" 'gdb-get-source-file))
(gdb-input
(list "-gdb-show prompt" 'gdb-get-prompt)))
@@ -890,10 +892,18 @@ detailed description of this mode.
(message
"This version of GDB doesn't support non-stop mode. Turning it off.")
(setq gdb-non-stop nil)
- (setq gdb-version "pre-7.0"))
- (setq gdb-version "7.0+")
+ (setq gdb-supports-non-stop nil))
+ (setq gdb-supports-non-stop t)
(gdb-input (list "-gdb-set target-async 1" 'ignore))
- (gdb-input (list "-enable-pretty-printing" 'ignore))))
+ (gdb-input (list "-list-target-features" 'gdb-check-target-async))))
+
+(defun gdb-check-target-async ()
+ (goto-char (point-min))
+ (unless (re-search-forward "async" nil t)
+ (message
+ "Target doesn't support non-stop mode. Turning it off.")
+ (setq gdb-non-stop nil)
+ (gdb-input (list "-gdb-set non-stop 0" 'ignore))))
(defvar gdb-define-alist nil "Alist of #define directives for GUD tooltips.")
@@ -1071,7 +1081,7 @@ With arg, enter name of variable to be watched in the minibuffer."
(tooltip-identifier-from-point (point)))))))
(set-text-properties 0 (length expr) nil expr)
(gdb-input
- (list (concat"-var-create - * " expr "")
+ (list (concat "-var-create - * " expr "")
`(lambda () (gdb-var-create-handler ,expr)))))))
(message "gud-watch is a no-op in this mode."))))
@@ -1699,7 +1709,7 @@ static char *magick[] = {
(defun gdb-current-context-command (command)
"Add --thread to gdb COMMAND when needed."
(if (and gdb-thread-number
- (string-equal gdb-version "7.0+"))
+ gdb-supports-non-stop)
(concat command " --thread " gdb-thread-number)
command))
@@ -1983,8 +1993,8 @@ current thread and update GDB buffers."
(when (not gdb-register-names)
(gdb-input
(list (concat "-data-list-register-names"
- (if (string-equal gdb-version "7.0+")
- (concat" --thread " thread-id)))
+ (if gdb-supports-non-stop
+ (concat " --thread " thread-id)))
'gdb-register-names-handler)))
;;; Don't set gud-last-frame here as it's currently done in gdb-frame-handler
@@ -3578,7 +3588,7 @@ member."
(gud-basic-call
(concat "-gdb-set variable " var " = " value)))))
-;; Dont display values of arrays or structures.
+;; Don't display values of arrays or structures.
;; These can be expanded using gud-watch.
(defun gdb-locals-handler-custom ()
(let ((locals-list (bindat-get-field (gdb-json-partial-output) 'locals))
@@ -4133,7 +4143,7 @@ buffers, if required."
(if gdb-many-windows
(gdb-setup-windows)
(gdb-get-buffer-create 'gdb-breakpoints-buffer)
- (if gdb-show-main
+ (if (and gdb-show-main gdb-main-file)
(let ((pop-up-windows t))
(display-buffer (gud-find-file gdb-main-file))))))
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index dbffbc266e7..75d71d2d8a9 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -438,9 +438,9 @@ This variable's value takes effect when `grep-compute-defaults' is called.")
;; History of grep commands.
;;;###autoload
-(defvar grep-history nil)
+(defvar grep-history nil "History list for grep.")
;;;###autoload
-(defvar grep-find-history nil)
+(defvar grep-find-history nil "History list for grep-find.")
;; History of lgrep and rgrep regexp and files args.
(defvar grep-regexp-history nil)
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index c60e8d72abc..406db76487d 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -103,7 +103,7 @@ If SOFT is non-nil, returns nil if the symbol doesn't already exist."
(defvar gud-running nil
"Non-nil if debugged program is running.
-Used to grey out relevant toolbar icons.")
+Used to gray out relevant toolbar icons.")
(defvar gud-target-name "--unknown--"
"The apparent name of the program being debugged in a gud buffer.")
@@ -1168,7 +1168,7 @@ containing the executable being debugged."
;; appears to indicate a breakpoint. Then we prod the dbx sub-process
;; to output the information we want with a combination of the
;; `printf' and `file' commands as a pseudo marker which we can
-;; recognise next time through the marker-filter. This would be like
+;; recognize next time through the marker-filter. This would be like
;; the gdb marker but you can't get the file name without a newline...
;; Note that gud-remove won't work since Irix dbx expects a breakpoint
;; number rather than a line number etc. Maybe this could be made to
@@ -1689,7 +1689,7 @@ and source-file directory for your debugger."
;; Run jdb (like this): jdb
;;
;; type any jdb switches followed by the name of the class you'd like to debug.
-;; Supply a fully qualfied classname (these do not have the ".class" extension)
+;; Supply a fully qualified classname (these don't have the ".class" extension)
;; for the name of the class to debug (e.g. "COM.the-kind.ddavies.CoolClass").
;; See the known problems section below for restrictions when specifying jdb
;; command line switches (search forward for '-classpath').
@@ -1745,7 +1745,7 @@ and source-file directory for your debugger."
;; All the .java files in the directories in gud-jdb-directories are
;; syntactically analyzed each time gud jdb is invoked. It would be
;; nice to keep as much information as possible between runs. It would
-;; be really nice to analyze the files only as neccessary (when the
+;; be really nice to analyze the files only as necessary (when the
;; source needs to be displayed.) I'm not sure to what extent the former
;; can be accomplished and I'm not sure the latter can be done at all
;; since I don't know of any general way to tell which .class files are
@@ -2094,7 +2094,7 @@ extension EXTN. Normally EXTN is given as the regular expression
;; By this point the current directory is all screwed up. Maybe we
;; could fix things and re-invoke gud-common-init, but for now I think
- ;; issueing the error is good enough.
+ ;; issuing the error is good enough.
(if user-error
(progn
(kill-buffer (current-buffer))
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index ca8be01d4a8..9cbc1dc6d32 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -194,9 +194,9 @@
;; Unfortunately, these workarounds do not restore hideshow state.
;; If someone figures out a better way, please let me know.
-;; * Correspondance
+;; * Correspondence
;;
-;; Correspondance welcome; please indicate version number. Send bug
+;; Correspondence welcome; please indicate version number. Send bug
;; reports and inquiries to <ttn@gnu.org>.
;; * Thanks
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el
index 2708346f05f..0266fc17f9c 100644
--- a/lisp/progmodes/idlw-help.el
+++ b/lisp/progmodes/idlw-help.el
@@ -986,10 +986,10 @@ describes the correct routine - even if the keyword description cannot
be found. TYPE is ignored.
This function expects a more or less standard routine header. In
-particlar it looks for the `NAME:' tag, either with a colon, or alone
+particular it looks for the `NAME:' tag, either with a colon, or alone
on a line. Then `NAME:' must be followed by the routine name on the
same or the next line. When KEYWORD is non-nil, looks first for a
-`KEYWORDS' section. It is amazing how inconsisten this is through
+`KEYWORDS' section. It is amazing how inconsistent this is through
some IDL libraries I have seen. We settle for a line containing an
upper case \"KEYWORD\" string. If this line is not found we search
for the keyword anyway to increase the hit-rate
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index faccbb1f0ca..aa46b54d848 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -1844,7 +1844,7 @@ file name."
(cond
((file-regular-p file2) file2)
((file-regular-p file1) file1)
- ;; If we cannot veryfy the existence of the file, we return the shorter
+ ;; If we cannot verify the existence of the file, we return the shorter
;; name. The idea behind this is that this may be a relative file name
;; and our idea about the current working directory may be wrong.
;; If it is a relative file name, it hopefully is short.
@@ -2903,7 +2903,7 @@ from `idlwave-shell-examine-alist' via mini-buffer shortcut key."
;; Move to beginning of current or previous expression
(if (looking-at "\\<\\|(")
;; At beginning of expression, don't move backwards unless
- ;; this is at the end of an indentifier.
+ ;; this is at the end of an identifier.
(if (looking-at "\\>")
(backward-sexp))
(backward-sexp))
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 1233ee19ff6..24deb569d74 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -5789,7 +5789,7 @@ end
(setq idlwave-idlwave_routine_info-compiled t))
;; Restore if necessary. Must use execute to hide lame routine_info
- ;; errors on undefinded routine
+ ;; errors on undefined routine
(idlwave-shell-send-command
(format "if execute(\"_v=routine_info('idlwave_routine_info',/SOURCE)\") eq 0 then restore,'%s' else if _v.path eq '' then restore,'%s'"
idlwave-shell-temp-rinfo-save-file
@@ -7866,7 +7866,7 @@ itself."
"Display online help about the completion at point."
(interactive "eP")
;; Restore last-command for next command, to make
- ;; scrolling/cancelling of completions work.
+ ;; scrolling/canceling of completions work.
(setq this-command last-command)
(idlwave-do-mouse-completion-help ev))
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el
index 636766b36e7..1328e303d45 100644
--- a/lisp/progmodes/inf-lisp.el
+++ b/lisp/progmodes/inf-lisp.el
@@ -598,7 +598,7 @@ See variable `lisp-describe-sym-command'."
(error "No Lisp subprocess; see variable `inferior-lisp-buffer'"))))
-;;; Do the user's customisation...
+;;; Do the user's customization...
;;;===============================
(defvar inferior-lisp-load-hook nil
"This hook is run when the library `inf-lisp' is loaded.")
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 0e3fdc78a39..f0c86265232 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -1599,7 +1599,7 @@ will be returned."
(defun js-syntactic-context ()
"Return the JavaScript syntactic context at point.
-When called interatively, also display a message with that
+When called interactively, also display a message with that
context."
(interactive)
(let* ((syntactic-context (js--syntactic-context-from-pstate
@@ -3000,7 +3000,7 @@ browser, respectively."
'(js> ((fifth hitab) "selectedTab") (fourth hitab))
cmds)))
- ;; Hilighting whole window
+ ;; Highlighting whole window
((third hitab)
(push '(js! ((third hitab) "document"
"documentElement" "setAttribute")
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index c49519ed179..c1a87a9d033 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -1278,7 +1278,7 @@ definition and conveniently use this command."
((or (eq (char-before (line-end-position 1)) ?\\)
(eq (char-before (line-end-position 0)) ?\\))
;; A backslash region. Find beginning and end, remove
- ;; backslashes, fill, and then reapply backslahes.
+ ;; backslashes, fill, and then reapply backslashes.
(end-of-line)
(let ((beginning
(save-excursion
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 67e3c4a18b4..b1502adbeb1 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -414,7 +414,7 @@ no args, if that value is non-nil."
(electric-pascal-terminate-line)))
(defun electric-pascal-colon ()
- "Insert `:' and do all indentions except line indent on this line."
+ "Insert `:' and do all indentations except line indent on this line."
(interactive)
(insert last-command-event)
;; Do nothing if within string.
@@ -427,7 +427,7 @@ no args, if that value is non-nil."
(pascal-indent-command))))
(defun electric-pascal-equal ()
- "Insert `=', and do indention if within type declaration."
+ "Insert `=', and do indentation if within type declaration."
(interactive)
(insert last-command-event)
(if (eq (car (pascal-calculate-indent)) 'declaration)
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index ef0905bb2a8..5b229cc0c24 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -164,12 +164,12 @@
;; with the original form). My code on the matter was improved
;; considerably by Markus Triska.
;; o Fixed `prolog-insert-spaces-after-paren' (which used an
-;; unitialized variable).
+;; uninitialized variable).
;; o Minor changes to clean up the code and avoid some implicit
;; package requirements.
;; Version 1.13:
;; o Removed the use of `map-char-table' in `prolog-build-case-strings'
-;; which appears to cause prblems in (at least) Emacs 23.0.0.1.
+;; which appears to cause problems in (at least) Emacs 23.0.0.1.
;; o Added if-then-else indentation + corresponding electric
;; characters. New customization: `prolog-electric-if-then-else-flag'
;; o Align support (requires `align'). New customization:
@@ -391,7 +391,7 @@ Otherwise indent to `prolog-indent-width'."
(defcustom prolog-left-indent-regexp "\\(;\\|\\*?->\\)"
"*Regexp for character sequences after which next line is indented.
-Next line after such a regexp is indented to the opening paranthesis level."
+Next line after such a regexp is indented to the opening parenthesis level."
:group 'prolog-indentation
:type 'regexp)
@@ -691,7 +691,7 @@ nil means send actual operating system end of file."
(defcustom prolog-use-standard-consult-compile-method-flag t
"*Non-nil means use the standard compilation method.
Otherwise the new compilation method will be used. This
-utilises a special compilation buffer with the associated
+utilizes a special compilation buffer with the associated
features such as parsing of error messages and automatically
jumping to the source code responsible for the error.
@@ -868,8 +868,9 @@ VERSION is of the format (Major . Minor)"
(defun prolog-find-value-by-system (alist)
"Get value from ALIST according to `prolog-system'."
(let ((system (or prolog-system
- (buffer-local-value 'prolog-system
- (prolog-inferior-buffer 'dont-run)))))
+ (let ((infbuf (prolog-inferior-buffer 'dont-run)))
+ (when infbuf
+ (buffer-local-value 'prolog-system infbuf))))))
(if (listp alist)
(let (result
id)
@@ -1522,7 +1523,7 @@ This function must be called from the source code buffer."
;; Emacs-20).
(set (make-local-variable 'compilation-parse-errors-function)
'prolog-parse-sicstus-compilation-errors))
- (toggle-read-only 0)
+ (setq buffer-read-only nil)
(insert command-string "\n"))
(save-selected-window
(pop-to-buffer buffer))
@@ -1569,7 +1570,7 @@ For use with the `compilation-parse-errors-function' variable."
limit t)
(setq filepath (match-string 2)))
- ;; ###### Does this work with SICStus under Windows (i.e. backslahes and stuff?)
+ ;; ###### Does this work with SICStus under Windows (i.e. backslashes and stuff?)
(if (string-match "\\(.*/\\)\\([^/]*\\)$" filepath)
(progn
(setq dir (match-string 1 filepath))
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index 7810b377e58..c2adc3b801b 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -713,7 +713,7 @@ defines the beginning of a group. These tokens are: { [ <<"
(ps-mode-r-balance ">>"))
(defun ps-mode-r-balance (right)
- "Adjust indentification if point after RIGHT."
+ "Adjust indenting if point after RIGHT."
(if ps-mode-auto-indent
(save-excursion
(when (re-search-backward (concat "^[ \t]*" (regexp-quote right) "\\=") nil t)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index a0a368777e7..fbf7c3c42f7 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1122,7 +1122,7 @@ don't move and return nil. Otherwise return t."
;;;; Imenu.
-;; For possibily speeding this up, here's the top of the ELP profile
+;; For possibly speeding this up, here's the top of the ELP profile
;; for rescanning pydoc.py (2.2k lines, 90kb):
;; Function Name Call Count Elapsed Time Average Time
;; ==================================== ========== ============= ============
@@ -1549,7 +1549,7 @@ behavior, change `python-remove-cwd-from-path' to nil."
(if path (concat path path-separator))
data-directory)
process-environment))
- ;; If we use a pipe, unicode characters are not printed
+ ;; If we use a pipe, Unicode characters are not printed
;; correctly (Bug#5794) and IPython does not work at
;; all (Bug#5390).
(process-connection-type t))
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index bca5c93e0a5..62ca2ce085f 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -567,6 +567,7 @@ This is buffer-local in every such buffer.")
'((csh . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ \t]*[-+*/%^]?=")
;; actually spaces are only supported in let/(( ... ))
(ksh88 . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ \t]*\\([-+*/%&|~^]\\|<<\\|>>\\)?=")
+ (bash . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?\\+?=")
(rc . "\\<\\([[:alnum:]_*]+\\)[ \t]*=")
(sh . "\\<\\([[:alnum:]_]+\\)="))
"Regexp for the variable name and what may follow in an assignment.
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index af9ab537893..03e095b6bfc 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -96,7 +96,7 @@
;; This improves the interaction under Emacs but it still is somewhat
;; awkward.
-;; Quoted identifiers are not supported for hilighting. Most
+;; Quoted identifiers are not supported for highlighting. Most
;; databases support the use of double quoted strings in place of
;; identifiers; ms (Microsoft SQLServer) also supports identifiers
;; enclosed within brackets [].
@@ -1329,9 +1329,9 @@ statement. The format of variable should be a valid
;; are not followed closely, and most vendors offer significant
;; capabilities beyond those defined in the standard specifications.
-;; SQL mode provides support for hilighting based on the product. In
-;; addition to hilighting the product keywords, any ANSI keywords not
-;; used by the product are also hilighted. This will help identify
+;; SQL mode provides support for highlighting based on the product. In
+;; addition to highlighting the product keywords, any ANSI keywords not
+;; used by the product are also highlighted. This will help identify
;; keywords that could be restricted in future versions of the product
;; or might be a problem if ported to another product.
@@ -2506,7 +2506,7 @@ See `sql-product-alist' for a list of products and supported features."
"Configure font-lock and imenu with product-specific settings.
The KEYWORDS-ONLY flag is passed to font-lock to specify whether
-only keywords should be hilighted and syntactic hilighting
+only keywords should be highlighted and syntactic highlighting
skipped. The IMENU flag indicates whether `imenu-mode' should
also be configured."
@@ -3807,7 +3807,7 @@ you entered, right above the output it created.
;; 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
+ ;; will have just one quote. Therefore syntactic highlighting is
;; disabled for interactive buffers. No imenu support.
(sql-product-font-lock t nil)
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 2d8334bcb7d..3ae66a477e8 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -87,7 +87,7 @@
;; you may add the below lines (the values of the variables presented
;; here are the defaults). Note also that if you use an Emacs that
;; supports custom, it's probably better to use the custom menu to
-;; edit these. If working as a member of a large team these settings
+;; edit these. If working as a member of a large team these settings
;; should be common across all users (in a site-start file), or set
;; in Local Variables in every file. Otherwise, different people's
;; AUTO expansion may result different whitespace changes.
@@ -123,9 +123,9 @@
;;; Code:
;; This variable will always hold the version number of the mode
-(defconst verilog-mode-version "650"
+(defconst verilog-mode-version "725"
"Version of this Verilog mode.")
-(defconst verilog-mode-release-date "2010-11-05-GNU"
+(defconst verilog-mode-release-date "2011-11-27-GNU"
"Release date of this Verilog mode.")
(defconst verilog-mode-release-emacs t
"If non-nil, this version of Verilog mode was released with Emacs itself.")
@@ -174,6 +174,18 @@
(char-after (1- (point)))))
(error nil))
(condition-case nil
+ (if (fboundp 'when)
+ nil ;; fab
+ (defsubst point-at-bol (&optional N)
+ (save-excursion (beginning-of-line N) (point))))
+ (error nil))
+ (condition-case nil
+ (if (fboundp 'when)
+ nil ;; fab
+ (defsubst point-at-eol (&optional N)
+ (save-excursion (end-of-line N) (point))))
+ (error nil))
+ (condition-case nil
(require 'custom)
(error nil))
(condition-case nil
@@ -275,8 +287,19 @@ STRING should be given if the last search was by `string-match' on STRING."
(eval-and-compile
;; Both xemacs and emacs
(condition-case nil
+ (require 'diff) ;; diff-command and diff-switches
+ (error nil))
+ (condition-case nil
+ (require 'compile) ;; compilation-error-regexp-alist-alist
+ (error nil))
+ (condition-case nil
(unless (fboundp 'buffer-chars-modified-tick) ;; Emacs 22 added
(defmacro buffer-chars-modified-tick () (buffer-modified-tick)))
+ (error nil))
+ ;; Added in Emacs 24.1
+ (condition-case nil
+ (unless (fboundp 'prog-mode)
+ (define-derived-mode prog-mode fundamental-mode "Prog"))
(error nil)))
(eval-when-compile
@@ -310,6 +333,14 @@ STRING should be given if the last search was by `string-match' on STRING."
;; `("Verilog" ("MA" ["SAA" nil :help "Help SAA"] ["SAB" nil :help "Help SAA"])
;; "----" ["MB" nil :help "Help MB"]))
+(defun verilog-define-abbrev (table name expansion &optional hook)
+ "Filter `define-abbrev' TABLE NAME EXPANSION and call HOOK.
+Provides SYSTEM-FLAG in newer Emacs."
+ (condition-case nil
+ (define-abbrev table name expansion hook 0 t)
+ (error
+ (define-abbrev table name expansion hook))))
+
(defun verilog-customize ()
"Customize variables and other settings used by Verilog-Mode."
(interactive)
@@ -335,9 +366,31 @@ This function may be removed when Emacs 21 is no longer supported."
;; And GNU Emacs 22 has obsoleted last-command-char
last-command-event)))
-(defalias 'verilog-syntax-ppss
- (if (fboundp 'syntax-ppss) 'syntax-ppss
- (lambda (&optional pos) (parse-partial-sexp (point-min) (or pos (point))))))
+(defvar verilog-no-change-functions nil
+ "True if `after-change-functions' is disabled.
+Use of `syntax-ppss' may break, as ppss's cache may get corrupted.")
+
+(defvar verilog-in-hooks nil
+ "True when within a `verilog-run-hooks' block.")
+
+(defmacro verilog-run-hooks (&rest hooks)
+ "Run each hook in HOOKS using `run-hooks'.
+Set `verilog-in-hooks' during this time, to assist AUTO caches."
+ `(let ((verilog-in-hooks t))
+ (run-hooks ,@hooks)))
+
+(defun verilog-syntax-ppss (&optional pos)
+ (when verilog-no-change-functions
+ (if verilog-in-hooks
+ (verilog-scan-cache-flush)
+ ;; else don't let the AUTO code itself get away with flushing the cache,
+ ;; as that'll make things very slow
+ (backtrace)
+ (error "%s: Internal problem; use of syntax-ppss when cache may be corrupt"
+ (verilog-point-text))))
+ (if (fboundp 'syntax-ppss)
+ (syntax-ppss pos)
+ (parse-partial-sexp (point-min) (or pos (point)))))
(defgroup verilog-mode nil
"Facilitates easy editing of Verilog source text."
@@ -631,6 +684,22 @@ file referenced. If false, this is not supported."
:type 'boolean)
(put 'verilog-highlight-includes 'safe-local-variable 'verilog-booleanp)
+(defcustom verilog-auto-declare-nettype nil
+ "*Non-nil specifies the data type to use with `verilog-auto-input' etc.
+Set this to \"wire\" if the Verilog code uses \"`default_nettype
+none\". Note using `default_nettype none isn't recommended practice; this
+mode is experimental."
+ :group 'verilog-mode-actions
+ :type 'boolean)
+(put 'verilog-auto-declare-nettype 'safe-local-variable `stringp)
+
+(defcustom verilog-auto-wire-type nil
+ "*Non-nil specifies the data type to use with `verilog-auto-wire' etc.
+Set this to \"logic\" for SystemVerilog code, or use `verilog-auto-logic'."
+ :group 'verilog-mode-actions
+ :type 'boolean)
+(put 'verilog-auto-wire-type 'safe-local-variable `stringp)
+
(defcustom verilog-auto-endcomments t
"*True means insert a comment /* ... */ after 'end's.
The name of the function or case will be set between the braces."
@@ -638,6 +707,12 @@ The name of the function or case will be set between the braces."
:type 'boolean)
(put 'verilog-auto-endcomments 'safe-local-variable 'verilog-booleanp)
+(defcustom verilog-auto-delete-trailing-whitespace nil
+ "*True means to `delete-trailing-whitespace' in `verilog-auto'."
+ :group 'verilog-mode-actions
+ :type 'boolean)
+(put 'verilog-auto-delete-trailing-whitespace 'safe-local-variable 'verilog-booleanp)
+
(defcustom verilog-auto-ignore-concat nil
"*True means ignore signals in {...} concatenations for AUTOWIRE etc.
This will exclude signals referenced as pin connections in {...}
@@ -696,6 +771,12 @@ always be saved."
(defvar verilog-auto-last-file-locals nil
"Text from file-local-variables during last evaluation.")
+(defvar verilog-diff-function 'verilog-diff-report
+ "*Function to run when `verilog-diff-auto' detects differences.
+Function takes three arguments, the original buffer, the
+difference buffer, and the point in original buffer with the
+first difference.")
+
;;; Compile support
(require 'compile)
(defvar verilog-error-regexp-added nil)
@@ -896,6 +977,19 @@ of each Verilog file that requires it, rather than being set globally."
:type 'boolean)
(put 'verilog-auto-sense-defines-constant 'safe-local-variable 'verilog-booleanp)
+(defcustom verilog-auto-reset-blocking-in-non t
+ "*If true, AUTORESET will reset those signals which were
+assigned with blocking assignments (=) even in a block with
+non-blocking assignments (<=).
+
+If nil, all blocking assigned signals are ignored when any
+non-blocking assignment is in the AUTORESET block. This allows
+blocking assignments to be used for temporary values and not have
+those temporaries reset. See example in `verilog-auto-reset'."
+ :type 'boolean
+ :group 'verilog-mode-auto)
+(put 'verilog-auto-reset-blocking-in-non 'safe-local-variable 'verilog-booleanp)
+
(defcustom verilog-auto-reset-widths t
"*If true, AUTORESET should determine the width of signals.
This is then used to set the width of the zero (32'h0 for example). This
@@ -917,7 +1011,9 @@ the MSB or LSB of a signal inside an AUTORESET."
Declaration order is advantageous with order based instantiations
and is the default for backward compatibility. Sorted order
reduces changes when declarations are moved around in a file, and
-it's bad practice to rely on order based instantiations anyhow."
+it's bad practice to rely on order based instantiations anyhow.
+
+See also `verilog-auto-inst-sort'."
:group 'verilog-mode-auto
:type 'boolean)
(put 'verilog-auto-arg-sort 'safe-local-variable 'verilog-booleanp)
@@ -969,6 +1065,18 @@ instead expand to:
:type 'boolean)
(put 'verilog-auto-inst-param-value 'safe-local-variable 'verilog-booleanp)
+(defcustom verilog-auto-inst-sort nil
+ "*If set, AUTOINST signal names will be sorted, not in declaration order.
+Also affects AUTOINSTPARAM. Declaration order is the default for
+backward compatibility, and as some teams prefer signals that are
+declared together to remain together. Sorted order reduces
+changes when declarations are moved around in a file.
+
+See also `verilog-auto-arg-sort'."
+ :group 'verilog-mode-auto
+ :type 'boolean)
+(put 'verilog-auto-inst-sort 'safe-local-variable 'verilog-booleanp)
+
(defcustom verilog-auto-inst-vector t
"*If true, when creating default ports with AUTOINST, use bus subscripts.
If nil, skip the subscript when it matches the entire bus as declared in
@@ -981,12 +1089,20 @@ speed up some simulators, but is less general and harder to read, so avoid."
(defcustom verilog-auto-inst-template-numbers nil
"*If true, when creating templated ports with AUTOINST, add a comment.
-The comment will add the line number of the template that was used for that
-port declaration. Setting this aids in debugging, but nil is suggested for
-regular use to prevent large numbers of merge conflicts."
+
+If t, the comment will add the line number of the template that
+was used for that port declaration. This setting is suggested
+only for debugging use, as regular use may cause a large numbers
+of merge conflicts.
+
+If 'lhs', the comment will show the left hand side of the
+AUTO_TEMPLATE rule that is matched. This is less precise than
+numbering (t) when multiple rules have the same pin name, but
+won't merge conflict."
:group 'verilog-mode-auto
- :type 'boolean)
-(put 'verilog-auto-inst-template-numbers 'safe-local-variable 'verilog-booleanp)
+ :type '(choice (const nil) (const t) (const lhs)))
+(put 'verilog-auto-inst-template-numbers 'safe-local-variable
+ '(lambda (x) (memq x '(nil t lhs))))
(defcustom verilog-auto-inst-column 40
"*Indent-to column number for net name part of AUTOINST created pin."
@@ -1015,6 +1131,14 @@ See the \\[verilog-faq] for examples on using this."
:type 'string)
(put 'verilog-auto-output-ignore-regexp 'safe-local-variable 'stringp)
+(defcustom verilog-auto-tieoff-declaration "wire"
+ "*Data type used for the declaration for AUTOTIEOFF. If \"wire\" then
+create a wire, if \"assign\" create an assignment, else the data type for
+variable creation."
+ :group 'verilog-mode-auto
+ :type 'string)
+(put 'verilog-auto-tieoff-declaration 'safe-local-variable 'stringp)
+
(defcustom verilog-auto-tieoff-ignore-regexp nil
"*If set, when creating AUTOTIEOFF list, ignore signals matching this regexp.
See the \\[verilog-faq] for examples on using this."
@@ -1114,8 +1238,10 @@ If set will become buffer local.")
(define-key map "\M-\r" `electric-verilog-terminate-and-indent)
(define-key map "\M-\t" 'verilog-complete-word)
(define-key map "\M-?" 'verilog-show-completions)
+ ;; Note \C-c and letter are reserved for users
(define-key map "\C-c\`" 'verilog-lint-off)
(define-key map "\C-c\*" 'verilog-delete-auto-star-implicit)
+ (define-key map "\C-c\?" 'verilog-diff-auto)
(define-key map "\C-c\C-r" 'verilog-label-be)
(define-key map "\C-c\C-i" 'verilog-pretty-declarations)
(define-key map "\C-c=" 'verilog-pretty-expr)
@@ -1241,6 +1367,8 @@ If set will become buffer local.")
:help "Expand AUTO meta-comment statements"]
["Kill AUTOs" verilog-delete-auto
:help "Remove AUTO expansions"]
+ ["Diff AUTOs" verilog-diff-auto
+ :help "Show differences in AUTO expansions"]
["Inject AUTOs" verilog-inject-auto
:help "Inject AUTOs into legacy non-AUTO buffer"]
("AUTO Help..."
@@ -1264,6 +1392,8 @@ If set will become buffer local.")
:help "Help on AUTOASCIIENUM - creating ASCII for enumerations"]
["AUTOINOUTCOMP" (describe-function 'verilog-auto-inout-comp)
:help "Help on AUTOINOUTCOMP - copying complemented i/o from another file"]
+ ["AUTOINOUTIN" (describe-function 'verilog-auto-inout-in)
+ :help "Help on AUTOINOUTCOMP - copying i/o from another file as all inputs"]
["AUTOINOUTMODULE" (describe-function 'verilog-auto-inout-module)
:help "Help on AUTOINOUTMODULE - copying i/o from another file"]
["AUTOINSERTLISP" (describe-function 'verilog-auto-insert-lisp)
@@ -1278,6 +1408,8 @@ If set will become buffer local.")
:help "Help on expanding Verilog-2001 .* pins"]
["AUTOINSTPARAM" (describe-function 'verilog-auto-inst-param)
:help "Help on AUTOINSTPARAM - adding parameter pins to cells"]
+ ["AUTOLOGIC" (describe-function 'verilog-auto-logic)
+ :help "Help on AUTOLOGIC - declaring logic signals"]
["AUTOOUTPUT" (describe-function 'verilog-auto-output)
:help "Help on AUTOOUTPUT - adding outputs from cells"]
["AUTOOUTPUTEVERY" (describe-function 'verilog-auto-output-every)
@@ -1318,6 +1450,10 @@ If set will become buffer local.")
"----"
["Module" verilog-sk-module
:help "Insert a module .. (/*AUTOARG*/);.. endmodule block"]
+ ["OVM Class" verilog-sk-ovm-class
+ :help "Insert an OVM class block"]
+ ["UVM Class" verilog-sk-uvm-class
+ :help "Insert an UVM class block"]
["Primitive" verilog-sk-primitive
:help "Insert a primitive .. (.. );.. endprimitive block"]
"----"
@@ -1372,6 +1508,31 @@ If set will become buffer local.")
"Abbrev table in use in Verilog-mode buffers.")
(define-abbrev-table 'verilog-mode-abbrev-table ())
+(verilog-define-abbrev verilog-mode-abbrev-table "class" "" 'verilog-sk-ovm-class)
+(verilog-define-abbrev verilog-mode-abbrev-table "always" "" 'verilog-sk-always)
+(verilog-define-abbrev verilog-mode-abbrev-table "begin" nil `verilog-sk-begin)
+(verilog-define-abbrev verilog-mode-abbrev-table "case" "" `verilog-sk-case)
+(verilog-define-abbrev verilog-mode-abbrev-table "for" "" `verilog-sk-for)
+(verilog-define-abbrev verilog-mode-abbrev-table "generate" "" `verilog-sk-generate)
+(verilog-define-abbrev verilog-mode-abbrev-table "initial" "" `verilog-sk-initial)
+(verilog-define-abbrev verilog-mode-abbrev-table "fork" "" `verilog-sk-fork)
+(verilog-define-abbrev verilog-mode-abbrev-table "module" "" `verilog-sk-module)
+(verilog-define-abbrev verilog-mode-abbrev-table "primitive" "" `verilog-sk-primitive)
+(verilog-define-abbrev verilog-mode-abbrev-table "repeat" "" `verilog-sk-repeat)
+(verilog-define-abbrev verilog-mode-abbrev-table "specify" "" `verilog-sk-specify)
+(verilog-define-abbrev verilog-mode-abbrev-table "task" "" `verilog-sk-task)
+(verilog-define-abbrev verilog-mode-abbrev-table "while" "" `verilog-sk-while)
+(verilog-define-abbrev verilog-mode-abbrev-table "casex" "" `verilog-sk-casex)
+(verilog-define-abbrev verilog-mode-abbrev-table "casez" "" `verilog-sk-casez)
+(verilog-define-abbrev verilog-mode-abbrev-table "if" "" `verilog-sk-if)
+(verilog-define-abbrev verilog-mode-abbrev-table "else if" "" `verilog-sk-else-if)
+(verilog-define-abbrev verilog-mode-abbrev-table "assign" "" `verilog-sk-assign)
+(verilog-define-abbrev verilog-mode-abbrev-table "function" "" `verilog-sk-function)
+(verilog-define-abbrev verilog-mode-abbrev-table "input" "" `verilog-sk-input)
+(verilog-define-abbrev verilog-mode-abbrev-table "output" "" `verilog-sk-output)
+(verilog-define-abbrev verilog-mode-abbrev-table "inout" "" `verilog-sk-inout)
+(verilog-define-abbrev verilog-mode-abbrev-table "wire" "" `verilog-sk-wire)
+(verilog-define-abbrev verilog-mode-abbrev-table "reg" "" `verilog-sk-reg)
;;
;; Macros
@@ -1386,6 +1547,9 @@ FIXEDCASE and LITERAL as in `replace-match`. STRING is what to replace.
The case (verilog-string-replace-matches \"o\" \"oo\" nil nil \"foobar\")
will break, as the o's continuously replace. xa -> x works ok though."
;; Hopefully soon to a emacs built-in
+ ;; Also note \ in the replacement prevent multiple replacements; IE
+ ;; (verilog-string-replace-matches "@" "\\\\([0-9]+\\\\)" nil nil "wire@_@")
+ ;; Gives "wire\([0-9]+\)_@" not "wire\([0-9]+\)_\([0-9]+\)"
(let ((start 0))
(while (string-match from-string string start)
(setq string (replace-match to-string fixedcase literal string)
@@ -1434,26 +1598,28 @@ will break, as the o's continuously replace. xa -> x works ok though."
(defsubst verilog-re-search-forward-quick (regexp bound noerror)
"Like `verilog-re-search-forward', including use of REGEXP BOUND and NOERROR,
but trashes match data and is faster for REGEXP that doesn't match often.
-This may at some point use text properties to ignore comments,
+This uses `verilog-scan' and text properties to ignore comments,
so there may be a large up front penalty for the first search."
(let (pt)
(while (and (not pt)
(re-search-forward regexp bound noerror))
- (if (not (verilog-inside-comment-p))
- (setq pt (match-end 0))))
+ (if (verilog-inside-comment-or-string-p)
+ (re-search-forward "[/\"\n]" nil t) ;; Only way a comment or quote can end
+ (setq pt (match-end 0))))
pt))
(defsubst verilog-re-search-backward-quick (regexp bound noerror)
; checkdoc-params: (REGEXP BOUND NOERROR)
"Like `verilog-re-search-backward', including use of REGEXP BOUND and NOERROR,
but trashes match data and is faster for REGEXP that doesn't match often.
-This may at some point use text properties to ignore comments,
+This uses `verilog-scan' and text properties to ignore comments,
so there may be a large up front penalty for the first search."
(let (pt)
(while (and (not pt)
(re-search-backward regexp bound noerror))
- (if (not (verilog-inside-comment-p))
- (setq pt (match-end 0))))
+ (if (verilog-inside-comment-or-string-p)
+ (re-search-backward "[/\"]" nil t) ;; Only way a comment or quote can begin
+ (setq pt (match-beginning 0))))
pt))
(defsubst verilog-re-search-forward-substr (substr regexp bound noerror)
@@ -1496,6 +1662,14 @@ This speeds up complicated regexp matches."
done))
;;(verilog-re-search-backward-substr "-end" "get-end-of" nil t) ;;-end (test bait)
+(defun verilog-delete-trailing-whitespace ()
+ "Delete trailing spaces or tabs, but not newlines nor linefeeds."
+ ;; Similar to `delete-trailing-whitespace' but that's not present in XEmacs
+ (save-excursion
+ (goto-char (point-min))
+ (while (re-search-forward "[ \t]+$" nil t) ;; Not syntatic WS as no formfeed
+ (replace-match "" nil nil))))
+
(defvar compile-command)
;; compilation program
@@ -1535,11 +1709,11 @@ portion, will be substituted."
(set (make-local-variable 'compile-command) "make "))
(t
(set (make-local-variable 'compile-command)
- (if verilog-tool
- (if (string-match "%s" (eval verilog-tool))
- (format (eval verilog-tool) (or buffer-file-name ""))
- (concat (eval verilog-tool) " " (or buffer-file-name "")))
- ""))))
+ (if verilog-tool
+ (if (string-match "%s" (eval verilog-tool))
+ (format (eval verilog-tool) (or buffer-file-name ""))
+ (concat (eval verilog-tool) " " (or buffer-file-name "")))
+ ""))))
(verilog-modify-compile-command))
(defun verilog-expand-command (command)
@@ -1564,7 +1738,7 @@ be substituted."
(stringp compile-command)
(string-match "\\b\\(__FLAGS__\\|__FILE__\\)\\b" compile-command))
(set (make-local-variable 'compile-command)
- (verilog-expand-command compile-command))))
+ (verilog-expand-command compile-command))))
(if (featurep 'xemacs)
;; Following code only gets called from compilation-mode-hook on XEmacs to add error handling.
@@ -1585,8 +1759,8 @@ find the errors."
(cdr compilation-error-regexp-alist-alist)))))
(if (boundp 'compilation-font-lock-keywords)
(progn
- (set (make-local-variable 'compilation-font-lock-keywords)
- verilog-error-font-lock-keywords)
+ (set (make-local-variable 'compilation-font-lock-keywords)
+ verilog-error-font-lock-keywords)
(font-lock-set-defaults)))
;; Need to re-run compilation-error-regexp builder
(if (fboundp 'compilation-build-compilation-error-regexp-alist)
@@ -1657,6 +1831,30 @@ find the errors."
"`ovm_sequencer_utils_end"
) nil )))
+(defconst verilog-uvm-begin-re
+ (eval-when-compile
+ (verilog-regexp-opt
+ '(
+ "`uvm_component_utils_begin"
+ "`uvm_component_param_utils_begin"
+ "`uvm_field_utils_begin"
+ "`uvm_object_utils_begin"
+ "`uvm_object_param_utils_begin"
+ "`uvm_sequence_utils_begin"
+ "`uvm_sequencer_utils_begin"
+ ) nil )))
+
+(defconst verilog-uvm-end-re
+ (eval-when-compile
+ (verilog-regexp-opt
+ '(
+ "`uvm_component_utils_end"
+ "`uvm_field_utils_end"
+ "`uvm_object_utils_end"
+ "`uvm_sequence_utils_end"
+ "`uvm_sequencer_utils_end"
+ ) nil )))
+
(defconst verilog-vmm-begin-re
(eval-when-compile
(verilog-regexp-opt
@@ -1794,6 +1992,145 @@ find the errors."
"`static_dut_error"
"`static_message") nil )))
+(defconst verilog-uvm-statement-re
+ (eval-when-compile
+ (verilog-regexp-opt
+ '(
+ ;; Statements
+ "`uvm_analysis_imp_decl"
+ "`uvm_blocking_get_imp_decl"
+ "`uvm_blocking_get_peek_imp_decl"
+ "`uvm_blocking_master_imp_decl"
+ "`uvm_blocking_peek_imp_decl"
+ "`uvm_blocking_put_imp_decl"
+ "`uvm_blocking_slave_imp_decl"
+ "`uvm_blocking_transport_imp_decl"
+ "`uvm_component_param_utils"
+ "`uvm_component_registry"
+ "`uvm_component_registry_param"
+ "`uvm_component_utils"
+ "`uvm_create"
+ "`uvm_create_on"
+ "`uvm_create_seq" ;; Undocumented in 1.1
+ "`uvm_declare_p_sequencer"
+ "`uvm_declare_sequence_lib" ;; Deprecated in 1.1
+ "`uvm_do"
+ "`uvm_do_callbacks"
+ "`uvm_do_callbacks_exit_on"
+ "`uvm_do_obj_callbacks"
+ "`uvm_do_obj_callbacks_exit_on"
+ "`uvm_do_on"
+ "`uvm_do_on_pri"
+ "`uvm_do_on_pri_with"
+ "`uvm_do_on_with"
+ "`uvm_do_pri"
+ "`uvm_do_pri_with"
+ "`uvm_do_seq" ;; Undocumented in 1.1
+ "`uvm_do_seq_with" ;; Undocumented in 1.1
+ "`uvm_do_with"
+ "`uvm_error"
+ "`uvm_error_context"
+ "`uvm_fatal"
+ "`uvm_fatal_context"
+ "`uvm_field_aa_int_byte"
+ "`uvm_field_aa_int_byte_unsigned"
+ "`uvm_field_aa_int_enum"
+ "`uvm_field_aa_int_int"
+ "`uvm_field_aa_int_int_unsigned"
+ "`uvm_field_aa_int_integer"
+ "`uvm_field_aa_int_integer_unsigned"
+ "`uvm_field_aa_int_key"
+ "`uvm_field_aa_int_longint"
+ "`uvm_field_aa_int_longint_unsigned"
+ "`uvm_field_aa_int_shortint"
+ "`uvm_field_aa_int_shortint_unsigned"
+ "`uvm_field_aa_int_string"
+ "`uvm_field_aa_object_int"
+ "`uvm_field_aa_object_string"
+ "`uvm_field_aa_string_int"
+ "`uvm_field_aa_string_string"
+ "`uvm_field_array_enum"
+ "`uvm_field_array_int"
+ "`uvm_field_array_object"
+ "`uvm_field_array_string"
+ "`uvm_field_enum"
+ "`uvm_field_event"
+ "`uvm_field_int"
+ "`uvm_field_object"
+ "`uvm_field_queue_enum"
+ "`uvm_field_queue_int"
+ "`uvm_field_queue_object"
+ "`uvm_field_queue_string"
+ "`uvm_field_real"
+ "`uvm_field_sarray_enum"
+ "`uvm_field_sarray_int"
+ "`uvm_field_sarray_object"
+ "`uvm_field_sarray_string"
+ "`uvm_field_string"
+ "`uvm_field_utils"
+ "`uvm_file" ;; Undocumented in 1.1, use `__FILE__
+ "`uvm_get_imp_decl"
+ "`uvm_get_peek_imp_decl"
+ "`uvm_info"
+ "`uvm_info_context"
+ "`uvm_line" ;; Undocumented in 1.1, use `__LINE__
+ "`uvm_master_imp_decl"
+ "`uvm_non_blocking_transport_imp_decl" ;; Deprecated in 1.1
+ "`uvm_nonblocking_get_imp_decl"
+ "`uvm_nonblocking_get_peek_imp_decl"
+ "`uvm_nonblocking_master_imp_decl"
+ "`uvm_nonblocking_peek_imp_decl"
+ "`uvm_nonblocking_put_imp_decl"
+ "`uvm_nonblocking_slave_imp_decl"
+ "`uvm_nonblocking_transport_imp_decl"
+ "`uvm_object_param_utils"
+ "`uvm_object_registry"
+ "`uvm_object_registry_param" ;; Undocumented in 1.1
+ "`uvm_object_utils"
+ "`uvm_pack_array"
+ "`uvm_pack_arrayN"
+ "`uvm_pack_enum"
+ "`uvm_pack_enumN"
+ "`uvm_pack_int"
+ "`uvm_pack_intN"
+ "`uvm_pack_queue"
+ "`uvm_pack_queueN"
+ "`uvm_pack_real"
+ "`uvm_pack_sarray"
+ "`uvm_pack_sarrayN"
+ "`uvm_pack_string"
+ "`uvm_peek_imp_decl"
+ "`uvm_put_imp_decl"
+ "`uvm_rand_send"
+ "`uvm_rand_send_pri"
+ "`uvm_rand_send_pri_with"
+ "`uvm_rand_send_with"
+ "`uvm_record_attribute"
+ "`uvm_record_field"
+ "`uvm_register_cb"
+ "`uvm_send"
+ "`uvm_send_pri"
+ "`uvm_sequence_utils" ;; Deprecated in 1.1
+ "`uvm_set_super_type"
+ "`uvm_slave_imp_decl"
+ "`uvm_transport_imp_decl"
+ "`uvm_unpack_array"
+ "`uvm_unpack_arrayN"
+ "`uvm_unpack_enum"
+ "`uvm_unpack_enumN"
+ "`uvm_unpack_int"
+ "`uvm_unpack_intN"
+ "`uvm_unpack_queue"
+ "`uvm_unpack_queueN"
+ "`uvm_unpack_real"
+ "`uvm_unpack_sarray"
+ "`uvm_unpack_sarrayN"
+ "`uvm_unpack_string"
+ "`uvm_update_sequence_lib" ;; Deprecated in 1.1
+ "`uvm_update_sequence_lib_and_item" ;; Deprecated in 1.1
+ "`uvm_warning"
+ "`uvm_warning_context") nil )))
+
;;
;; Regular expressions used to calculate indent, etc.
@@ -1805,6 +2142,29 @@ find the errors."
;; a[34:32] :
;; a,
;; b :
+(defconst verilog-assignment-operator-re
+ (eval-when-compile
+ (verilog-regexp-opt
+ `(
+ ;; blocking assignment_operator
+ "=" "+=" "-=" "*=" "/=" "%=" "&=" "|=" "^=" "<<=" ">>=" "<<<=" ">>>="
+ ;; non blocking assignment operator
+ "<="
+ ;; comparison
+ "==" "!=" "===" "!===" "<=" ">=" "==\?" "!=\?"
+ ;; event_trigger
+ "->" "->>"
+ ;; property_expr
+ "|->" "|=>"
+ ;; Is this a legal verilog operator?
+ ":="
+ ) 't
+ )))
+(defconst verilog-assignment-operation-re
+ (concat
+; "\\(^\\s-*[A-Za-z0-9_]+\\(\\[\\([A-Za-z0-9_]+\\)\\]\\)*\\s-*\\)"
+; "\\(^\\s-*[^=<>+-*/%&|^:\\s-]+[^=<>+-*/%&|^\n]*?\\)"
+ "\\(^.*?\\)" "\\B" verilog-assignment-operator-re "\\B" ))
(defconst verilog-label-re (concat verilog-symbol-re "\\s-*:\\s-*"))
(defconst verilog-property-re
@@ -1843,7 +2203,12 @@ find the errors."
"\\(\\<`ovm_object_utils_end\\>\\)\\|"
"\\(\\<`ovm_sequence_utils_end\\>\\)\\|"
"\\(\\<`ovm_sequencer_utils_end\\>\\)"
-
+ ;; UVM
+ "\\(\\<`uvm_component_utils_end\\>\\)\\|"
+ "\\(\\<`uvm_field_utils_end\\>\\)\\|"
+ "\\(\\<`uvm_object_utils_end\\>\\)\\|"
+ "\\(\\<`uvm_sequence_utils_end\\>\\)\\|"
+ "\\(\\<`uvm_sequencer_utils_end\\>\\)"
))
(defconst verilog-auto-end-comment-lines-re
@@ -1925,6 +2290,12 @@ find the errors."
"`ovm_object_utils_end"
"`ovm_sequence_utils_end"
"`ovm_sequencer_utils_end"
+ ;; UVM
+ "`uvm_component_utils_end"
+ "`uvm_field_utils_end"
+ "`uvm_object_utils_end"
+ "`uvm_sequence_utils_end"
+ "`uvm_sequencer_utils_end"
;; VMM
"`vmm_data_member_end"
"`vmm_env_member_end"
@@ -1979,7 +2350,7 @@ find the errors."
"specify"
"table"
"task"
- ;;; OVM
+ ;; OVM
"`ovm_component_utils_begin"
"`ovm_component_param_utils_begin"
"`ovm_field_utils_begin"
@@ -1987,6 +2358,14 @@ find the errors."
"`ovm_object_param_utils_begin"
"`ovm_sequence_utils_begin"
"`ovm_sequencer_utils_begin"
+ ;; UVM
+ "`uvm_component_utils_begin"
+ "`uvm_component_param_utils_begin"
+ "`uvm_field_utils_begin"
+ "`uvm_object_utils_begin"
+ "`uvm_object_param_utils_begin"
+ "`uvm_sequence_utils_begin"
+ "`uvm_sequencer_utils_begin"
;; VMM
"`vmm_data_member_begin"
"`vmm_env_member_begin"
@@ -2000,7 +2379,7 @@ find the errors."
(defconst verilog-beg-block-re-ordered
( concat "\\(\\<begin\\>\\)" ;1
"\\|\\(\\<randcase\\>\\|\\(\\<unique\\s-+\\|priority\\s-+\\)?case[xz]?\\>\\)" ; 2,3
- "\\|\\(\\(\\<disable\\>\\s-+\\)?fork\\>\\)" ;4,5
+ "\\|\\(\\(\\<disable\\>\\s-+\\|\\<wait\\>\\s-+\\)?fork\\>\\)" ;4,5
"\\|\\(\\<class\\>\\)" ;6
"\\|\\(\\<table\\>\\)" ;7
"\\|\\(\\<specify\\>\\)" ;8
@@ -2013,7 +2392,7 @@ find the errors."
"\\|\\(\\(\\(\\<cover\\>\\s-+\\)\\|\\(\\<assert\\>\\s-+\\)\\)*\\<property\\>\\)" ;17 21
"\\|\\(\\<\\(rand\\)?sequence\\>\\)" ;21 25
"\\|\\(\\<clocking\\>\\)" ;22 27
- "\\|\\(\\<`ovm_[a-z_]+_begin\\>\\)" ;28
+ "\\|\\(\\<`[ou]vm_[a-z_]+_begin\\>\\)" ;28
"\\|\\(\\<`vmm_[a-z_]+_member_begin\\>\\)"
;;
@@ -2125,6 +2504,8 @@ find the errors."
(eval-when-compile (verilog-regexp-words `("endmodule" "endclass" "endprogram" "endinterface" "endpackage" "endprimitive" "endconfig"))))
(defconst verilog-zero-indent-re
(concat verilog-defun-re "\\|" verilog-end-defun-re))
+(defconst verilog-inst-comment-re
+ (eval-when-compile (verilog-regexp-words `("Outputs" "Inouts" "Inputs" "Interfaces" "Interfaced"))))
(defconst verilog-behavioral-block-beg-re
(eval-when-compile (verilog-regexp-words `("initial" "final" "always" "always_comb" "always_latch" "always_ff"
@@ -2186,6 +2567,20 @@ find the errors."
"`ovm_object_utils_end"
"`ovm_sequence_utils_end"
"`ovm_sequencer_utils_end"
+ ;; UVM Begin tokens
+ "`uvm_component_utils_begin"
+ "`uvm_component_param_utils_begin"
+ "`uvm_field_utils_begin"
+ "`uvm_object_utils_begin"
+ "`uvm_object_param_utils_begin"
+ "`uvm_sequence_utils_begin"
+ "`uvm_sequencer_utils_begin"
+ ;; UVM End tokens
+ "`uvm_component_utils_end" ;; Typo in spec, it's not uvm_component_end
+ "`uvm_field_utils_end"
+ "`uvm_object_utils_end"
+ "`uvm_sequence_utils_end"
+ "`uvm_sequencer_utils_end"
;; VMM Begin tokens
"`vmm_data_member_begin"
"`vmm_env_member_begin"
@@ -2227,8 +2622,7 @@ find the errors."
`(
"endmodule" "endprimitive" "endinterface" "endpackage" "endprogram" "endclass"
))))
-(defconst verilog-disable-fork-re "disable\\s-+fork\\>")
-(defconst verilog-fork-wait-re "fork\\s-+wait\\>")
+(defconst verilog-disable-fork-re "\\(disable\\|wait\\)\\s-+fork\\>")
(defconst verilog-extended-case-re "\\(unique\\s-+\\|priority\\s-+\\)?case[xz]?")
(defconst verilog-extended-complete-re
(concat "\\(\\<extern\\s-+\\|\\<\\(\\<pure\\>\\s-+\\)?virtual\\s-+\\|\\<protected\\s-+\\)*\\(\\<function\\>\\|\\<task\\>\\)"
@@ -2609,6 +3003,7 @@ user-visible changes to the buffer must not be within a
(buffer-undo-list t)
(inhibit-read-only t)
(inhibit-point-motion-hooks t)
+ (verilog-no-change-functions t)
before-change-functions
after-change-functions
deactivate-mark
@@ -2622,8 +3017,9 @@ user-visible changes to the buffer must not be within a
(defmacro verilog-save-no-change-functions (&rest body)
"Execute BODY forms, disabling all change hooks in BODY.
-For insigificant changes, see instead `verilog-save-buffer-state'."
+For insignificant changes, see instead `verilog-save-buffer-state'."
`(let* ((inhibit-point-motion-hooks t)
+ (verilog-no-change-functions t)
before-change-functions
after-change-functions)
(progn ,@body)))
@@ -2633,13 +3029,17 @@ For insigificant changes, see instead `verilog-save-buffer-state'."
(defvar verilog-scan-cache-preserving nil
"If set, the specified buffer's comment properties are static.
-Buffer changes will be ignored. See `verilog-inside-comment-p'
+Buffer changes will be ignored. See `verilog-inside-comment-or-string-p'
and `verilog-scan'.")
(defvar verilog-scan-cache-tick nil
"Modification tick at which `verilog-scan' was last completed.")
(make-variable-buffer-local 'verilog-scan-cache-tick)
+(defun verilog-scan-cache-flush ()
+ "Flush the `verilog-scan' cache."
+ (setq verilog-scan-cache-tick nil))
+
(defun verilog-scan-cache-ok-p ()
"Return t iff the scan cache is up to date."
(or (and verilog-scan-cache-preserving
@@ -2660,8 +3060,8 @@ This requires that insertions must use `verilog-insert'."
(progn ,@body))))
(defun verilog-scan-region (beg end)
- "Parse comments between BEG and END for `verilog-inside-comment-p'.
-This creates v-cmt properties where comments are in force."
+ "Parse between BEG and END for `verilog-inside-comment-or-string-p'.
+This creates v-cmts properties where comments are in force."
;; Why properties and not overlays? Overlays have much slower non O(1)
;; lookup times.
;; This function is warm - called on every verilog-insert
@@ -2678,8 +3078,9 @@ This creates v-cmt properties where comments are in force."
;; "1+": The leading // or /* itself isn't considered as
;; being "inside" the comment, so that a (search-backward)
;; that lands at the start of the // won't mis-indicate
- ;; it's inside a comment
- (put-text-property (1+ pt) (point) 'v-cmt t))
+ ;; it's inside a comment. Also otherwise it would be
+ ;; hard to find a commented out /*AS*/ vs one that isn't
+ (put-text-property (1+ pt) (point) 'v-cmts t))
((looking-at "/\\*")
(setq pt (point))
(or (search-forward "*/" end t)
@@ -2688,17 +3089,24 @@ This creates v-cmt properties where comments are in force."
;;(error "%s: Unmatched /* */, at char %d"
;; (verilog-point-text) (point))
(goto-char end))
- (put-text-property (1+ pt) (point) 'v-cmt t))
+ (put-text-property (1+ pt) (point) 'v-cmts t))
+ ((looking-at "\"")
+ (setq pt (point))
+ (or (re-search-forward "[^\\]\"" end t) ;; don't forward-char first, since we look for a non backslash first
+ ;; No error - let later code indicate it so we can
+ (goto-char end))
+ (put-text-property (1+ pt) (point) 'v-cmts t))
(t
(forward-char 1)
- (if (re-search-forward "/[/*]" end t)
- (backward-char 2)
+ (if (re-search-forward "[/\"]" end t)
+ (backward-char 1)
(goto-char end))))))))))
(defun verilog-scan ()
"Parse the buffer, marking all comments with properties.
Also assumes any text inserted since `verilog-scan-cache-tick'
either is ok to parse as a non-comment, or `verilog-insert' was used."
+ ;; See also `verilog-scan-debug' and `verilog-scan-and-debug'
(unless (verilog-scan-cache-ok-p)
(save-excursion
(verilog-save-buffer-state
@@ -2706,21 +3114,47 @@ either is ok to parse as a non-comment, or `verilog-insert' was used."
(message "Scanning %s cache=%s cachetick=%S tick=%S" (current-buffer)
verilog-scan-cache-preserving verilog-scan-cache-tick
(buffer-chars-modified-tick)))
- (remove-text-properties (point-min) (point-max) '(v-cmt nil))
+ (remove-text-properties (point-min) (point-max) '(v-cmts nil))
(verilog-scan-region (point-min) (point-max))
(setq verilog-scan-cache-tick (buffer-chars-modified-tick))
(when verilog-debug (message "Scanning... done"))))))
-(defun verilog-inside-comment-p ()
- "Check if point inside a comment.
+(defun verilog-scan-debug ()
+ "For debugging, show with display face results of `verilog-scan'."
+ (font-lock-mode 0)
+ ;;(if dbg (setq dbg (concat dbg (format "verilog-scan-debug\n"))))
+ (save-excursion
+ (goto-char (point-min))
+ (remove-text-properties (point-min) (point-max) '(face nil))
+ (while (not (eobp))
+ (cond ((get-text-property (point) 'v-cmts)
+ (put-text-property (point) (1+ (point)) `face 'underline)
+ ;;(if dbg (setq dbg (concat dbg (format " v-cmts at %S\n" (point)))))
+ (forward-char 1))
+ (t
+ (goto-char (or (next-property-change (point)) (point-max))))))))
+
+(defun verilog-scan-and-debug ()
+ "For debugging, run `verilog-scan' and `verilog-scan-debug'."
+ (let (verilog-scan-cache-preserving
+ verilog-scan-cache-tick)
+ (goto-char (point-min))
+ (verilog-scan)
+ (verilog-scan-debug)))
+
+(defun verilog-inside-comment-or-string-p (&optional pos)
+ "Check if optional point POS is inside a comment.
This may require a slow pre-parse of the buffer with `verilog-scan'
to establish comment properties on all text."
;; This function is very hot
(verilog-scan)
- (get-text-property (point) 'v-cmt))
+ (if pos
+ (and (>= pos (point-min))
+ (get-text-property pos 'v-cmts))
+ (get-text-property (point) 'v-cmts)))
(defun verilog-insert (&rest stuff)
- "Insert STUFF arguments, tracking comments for `verilog-inside-comment-p'.
+ "Insert STUFF arguments, tracking for `verilog-inside-comment-or-string-p'.
Any insert that includes a comment must have the entire commente
inserted using a single call to `verilog-insert'."
(let ((pt (point)))
@@ -2741,7 +3175,7 @@ Use filename, if current buffer being edited shorten to just buffer name."
(buffer-name))
buffer-file-name
(buffer-name))
- ":" (int-to-string (count-lines (point-min) (or pointnum (point))))))
+ ":" (int-to-string (1+ (count-lines (point-min) (or pointnum (point)))))))
(defun electric-verilog-backward-sexp ()
"Move backward over one balanced expression."
@@ -2835,28 +3269,24 @@ Use filename, if current buffer being edited shorten to just buffer name."
(setq md 3) ;; ender is third item in regexp
)
((match-end 4)
- ;; might be "disable fork" or "fork wait"
+ ;; might be "disable fork" or "wait fork"
(let
(here)
- (if (looking-at verilog-fork-wait-re)
- (progn ;; it is a fork wait; ignore it
+ (if (or
+ (looking-at verilog-disable-fork-re)
+ (and (looking-at "fork")
+ (progn
+ (setq here (point)) ;; sometimes a fork is just a fork
+ (forward-word -1)
+ (looking-at verilog-disable-fork-re))))
+ (progn ;; it is a disable fork; ignore it
(goto-char (match-end 0))
+ (forward-word 1)
(setq reg nil))
- (if (or
- (looking-at verilog-disable-fork-re)
- (and (looking-at "fork")
- (progn
- (setq here (point)) ;; sometimes a fork is just a fork
- (forward-word -1)
- (looking-at verilog-disable-fork-re))))
- (progn ;; it is a disable fork; ignore it
- (goto-char (match-end 0))
- (forward-word 1)
- (setq reg nil))
- (progn ;; it is a nice simple fork
- (goto-char here) ;; return from looking for "disable fork"
- ;; Search forward for matching join
- (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|_none\\)?\\>\\)" ))))))
+ (progn ;; it is a nice simple fork
+ (goto-char here) ;; return from looking for "disable fork"
+ ;; Search forward for matching join
+ (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|_none\\)?\\>\\)" )))))
((match-end 6)
;; Search forward for matching endclass
(setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
@@ -2916,8 +3346,6 @@ Use filename, if current buffer being edited shorten to just buffer name."
(setq here (point)) ; remember where we started
(goto-char (match-beginning 1))
(cond
- ((looking-at verilog-fork-wait-re)
- (goto-char (match-end 0))) ; false alarm
((if (or
(looking-at verilog-disable-fork-re)
(and (looking-at "fork")
@@ -3076,6 +3504,8 @@ Some other functions are:
\\[verilog-sk-initial] Insert an initial begin .. end block.
\\[verilog-sk-fork] Insert a fork begin .. end .. join block.
\\[verilog-sk-module] Insert a module .. (/*AUTOARG*/);.. endmodule block.
+ \\[verilog-sk-ovm-class] Insert an OVM Class block.
+ \\[verilog-sk-uvm-class] Insert an UVM Class block.
\\[verilog-sk-primitive] Insert a primitive .. (.. );.. endprimitive block.
\\[verilog-sk-repeat] Insert a repeat (..) begin .. end block.
\\[verilog-sk-specify] Insert a specify .. endspecify block.
@@ -3110,7 +3540,6 @@ Key bindings specific to `verilog-mode-map' are:
#'verilog-indent-line-relative)
(setq comment-indent-function 'verilog-comment-indent)
(set (make-local-variable 'parse-sexp-ignore-comments) nil)
-
(set (make-local-variable 'comment-start) "// ")
(set (make-local-variable 'comment-end) "")
(set (make-local-variable 'comment-start-skip) "/\\*+ *\\|// *")
@@ -3168,7 +3597,9 @@ Key bindings specific to `verilog-mode-map' are:
hs-special-modes-alist))))
;; Stuff for autos
- (add-hook 'write-contents-hooks 'verilog-auto-save-check nil 'local))
+ (add-hook 'write-contents-hooks 'verilog-auto-save-check nil 'local)
+ ;; verilog-mode-hook call added by define-derived-mode
+ )
;;
@@ -3519,6 +3950,12 @@ area. See also `verilog-comment-region'."
(interactive)
(verilog-re-search-backward verilog-defun-re nil 'move))
+(defun verilog-beg-of-defun-quick ()
+ "Move backward to the beginning of the current function or procedure.
+Uses `verilog-scan' cache."
+ (interactive)
+ (verilog-re-search-backward-quick verilog-defun-re nil 'move))
+
(defun verilog-end-of-defun ()
"Move forward to the end of the current function or procedure."
(interactive)
@@ -3596,7 +4033,7 @@ With ARG, first kill any existing labels."
(looking-at "\\w+\\W*:\\W*\\(coverpoint\\|cross\\|constraint\\)")
;; keep going if we are in the middle of a word
(not (or (looking-at "\\<") (forward-word -1)))
- ;; stop if we see an assertion (perhaps labled)
+ ;; stop if we see an assertion (perhaps labeled)
(and
(looking-at "\\(\\<\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(\\<assert\\>\\)")
(progn
@@ -3741,13 +4178,21 @@ More specifically, point @ in the line foo : @ begin"
(t
(throw 'found (= nest 0)))))))
nil)))
+
(defun verilog-backward-up-list (arg)
- "Like backward-up-list, but deal with comments."
- (let (saved-psic parse-sexp-ignore-comments)
- (setq parse-sexp-ignore-comments 1)
- (backward-up-list arg)
- (setq parse-sexp-ignore-comments saved-psic)
- ))
+ "Like `backward-up-list', but deal with comments."
+ (let ((parse-sexp-ignore-comments t))
+ (backward-up-list arg)))
+
+(defun verilog-forward-sexp-cmt (arg)
+ "Call `forward-sexp', inside comments."
+ (let ((parse-sexp-ignore-comments nil))
+ (forward-sexp arg)))
+
+(defun verilog-forward-sexp-ign-cmt (arg)
+ "Call `forward-sexp', ignoring comments."
+ (let ((parse-sexp-ignore-comments t))
+ (forward-sexp arg)))
(defun verilog-in-struct-region-p ()
"Return true if in a struct region.
@@ -4449,7 +4894,6 @@ becomes:
next-error-last-buffer
compilation-last-buffer)))
(when (buffer-live-p buff)
- ;; FIXME with-current-buffer?
(save-excursion
(switch-to-buffer buff)
(beginning-of-line)
@@ -4565,8 +5009,9 @@ This lets programs calling batch mode to easily extract error messages."
(error "%%Error: %s%s" (error-message-string err)
(if (featurep 'xemacs) "\n" ""))))) ;; XEmacs forgets to add a newline
-(defun verilog-batch-execute-func (funref)
- "Internal processing of a batch command, running FUNREF on all command arguments."
+(defun verilog-batch-execute-func (funref &optional no-save)
+ "Internal processing of a batch command, running FUNREF on all command arguments.
+Save the result unless optional NO-SAVE is t."
(verilog-batch-error-wrapper
;; Setting global variables like that is *VERY NASTY* !!! --Stef
;; However, this function is called only when Emacs is being used as
@@ -4587,15 +5032,15 @@ This lets programs calling batch mode to easily extract error messages."
(buffer-list))
;; Process the files
(mapcar (lambda (buf)
- (when (buffer-file-name buf)
- (save-excursion
- (if (not (file-exists-p (buffer-file-name buf)))
- (error
- (concat "File not found: " (buffer-file-name buf))))
- (message (concat "Processing " (buffer-file-name buf)))
- (set-buffer buf)
- (funcall funref)
- (save-buffer))))
+ (when (buffer-file-name buf)
+ (save-excursion
+ (if (not (file-exists-p (buffer-file-name buf)))
+ (error
+ (concat "File not found: " (buffer-file-name buf))))
+ (message (concat "Processing " (buffer-file-name buf)))
+ (set-buffer buf)
+ (funcall funref)
+ (unless no-save (save-buffer)))))
(buffer-list))))
(defun verilog-batch-auto ()
@@ -4616,6 +5061,16 @@ with \\[verilog-delete-auto] on all command-line files, and saves the buffers."
(error "Use verilog-batch-delete-auto only with --batch")) ;; Otherwise we'd mess up buffer modes
(verilog-batch-execute-func `verilog-delete-auto))
+(defun verilog-batch-diff-auto ()
+ "For use with --batch, perform automatic differences as a stand-alone tool.
+This sets up the appropriate Verilog mode environment, expand automatics
+with \\[verilog-diff-auto] on all command-line files, and reports an error
+if any differences are observed. This is appropriate for adding to regressions
+to insure automatics are always properly maintained."
+ (unless noninteractive
+ (error "Use verilog-batch-diff-auto only with --batch")) ;; Otherwise we'd mess up buffer modes
+ (verilog-batch-execute-func `verilog-diff-auto t))
+
(defun verilog-batch-inject-auto ()
"For use with --batch, perform automatic injection as a stand-alone tool.
This sets up the appropriate Verilog mode environment, injects new automatics
@@ -4692,123 +5147,123 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
;; if we have a directive, done.
(if (save-excursion (beginning-of-line)
(and (looking-at verilog-directive-re-1)
- (not (or (looking-at "[ \t]*`ovm_")
+ (not (or (looking-at "[ \t]*`[ou]vm_")
(looking-at "[ \t]*`vmm_")))))
(throw 'nesting 'directive))
;; indent structs as if there were module level
(if (verilog-in-struct-p)
(throw 'nesting 'block))
- ;; unless we are in the newfangled coverpoint or constraint blocks
- ;; if we are in a parenthesized list, and the user likes to indent these, return.
- (if (and
+ ;; if we are in a parenthesized list, and the user likes to indent these, return.
+ ;; unless we are in the newfangled coverpoint or constraint blocks
+ (if (and
verilog-indent-lists
(verilog-in-paren)
(not (verilog-in-coverage-p))
)
- (progn (setq par 1)
+ (progn (setq par 1)
(throw 'nesting 'block)))
- ;; See if we are continuing a previous line
- (while t
- ;; trap out if we crawl off the top of the buffer
- (if (bobp) (throw 'nesting 'cpp))
-
- (if (verilog-continued-line-1 lim)
- (let ((sp (point)))
- (if (and
- (not (looking-at verilog-complete-reg))
- (verilog-continued-line-1 lim))
- (progn (goto-char sp)
- (throw 'nesting 'cexp))
-
- (goto-char sp))
-
- (if (and begin
- (not verilog-indent-begin-after-if)
- (looking-at verilog-no-indent-begin-re))
- (progn
- (beginning-of-line)
- (skip-chars-forward " \t")
- (throw 'nesting 'statement))
- (progn
- (throw 'nesting 'cexp))))
- ;; not a continued line
- (goto-char starting_position))
-
- (if (looking-at "\\<else\\>")
- ;; search back for governing if, striding across begin..end pairs
- ;; appropriately
- (let ((elsec 1))
- (while (verilog-re-search-backward verilog-ends-re nil 'move)
+ ;; See if we are continuing a previous line
+ (while t
+ ;; trap out if we crawl off the top of the buffer
+ (if (bobp) (throw 'nesting 'cpp))
+
+ (if (verilog-continued-line-1 lim)
+ (let ((sp (point)))
+ (if (and
+ (not (looking-at verilog-complete-reg))
+ (verilog-continued-line-1 lim))
+ (progn (goto-char sp)
+ (throw 'nesting 'cexp))
+
+ (goto-char sp))
+
+ (if (and begin
+ (not verilog-indent-begin-after-if)
+ (looking-at verilog-no-indent-begin-re))
+ (progn
+ (beginning-of-line)
+ (skip-chars-forward " \t")
+ (throw 'nesting 'statement))
+ (progn
+ (throw 'nesting 'cexp))))
+ ;; not a continued line
+ (goto-char starting_position))
+
+ (if (looking-at "\\<else\\>")
+ ;; search back for governing if, striding across begin..end pairs
+ ;; appropriately
+ (let ((elsec 1))
+ (while (verilog-re-search-backward verilog-ends-re nil 'move)
+ (cond
+ ((match-end 1) ; else, we're in deep
+ (setq elsec (1+ elsec)))
+ ((match-end 2) ; if
+ (setq elsec (1- elsec))
+ (if (= 0 elsec)
+ (if verilog-align-ifelse
+ (throw 'nesting 'statement)
+ (progn ;; back up to first word on this line
+ (beginning-of-line)
+ (verilog-forward-syntactic-ws)
+ (throw 'nesting 'statement)))))
+ ((match-end 3) ; assert block
+ (setq elsec (1- elsec))
+ (verilog-beg-of-statement) ;; doesn't get to beginning
+ (if (looking-at verilog-property-re)
+ (throw 'nesting 'statement) ; We don't need an endproperty for these
+ (throw 'nesting 'block) ;We still need a endproperty
+ ))
+ (t ; endblock
+ ; try to leap back to matching outward block by striding across
+ ; indent level changing tokens then immediately
+ ; previous line governs indentation.
+ (let (( reg) (nest 1))
+ ;; verilog-ends => else|if|end|join(_any|_none|)|endcase|endclass|endtable|endspecify|endfunction|endtask|endgenerate|endgroup
+ (cond
+ ((match-end 4) ; end
+ ;; Search back for matching begin
+ (setq reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)" ))
+ ((match-end 5) ; endcase
+ ;; Search back for matching case
+ (setq reg "\\(\\<randcase\\>\\|\\<case[xz]?\\>[^:]\\)\\|\\(\\<endcase\\>\\)" ))
+ ((match-end 6) ; endfunction
+ ;; Search back for matching function
+ (setq reg "\\(\\<function\\>\\)\\|\\(\\<endfunction\\>\\)" ))
+ ((match-end 7) ; endtask
+ ;; Search back for matching task
+ (setq reg "\\(\\<task\\>\\)\\|\\(\\<endtask\\>\\)" ))
+ ((match-end 8) ; endspecify
+ ;; Search back for matching specify
+ (setq reg "\\(\\<specify\\>\\)\\|\\(\\<endspecify\\>\\)" ))
+ ((match-end 9) ; endtable
+ ;; Search back for matching table
+ (setq reg "\\(\\<table\\>\\)\\|\\(\\<endtable\\>\\)" ))
+ ((match-end 10) ; endgenerate
+ ;; Search back for matching generate
+ (setq reg "\\(\\<generate\\>\\)\\|\\(\\<endgenerate\\>\\)" ))
+ ((match-end 11) ; joins
+ ;; Search back for matching fork
+ (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|none\\)?\\>\\)" ))
+ ((match-end 12) ; class
+ ;; Search back for matching class
+ (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
+ ((match-end 13) ; covergroup
+ ;; Search back for matching covergroup
+ (setq reg "\\(\\<covergroup\\>\\)\\|\\(\\<endgroup\\>\\)" )))
+ (catch 'skip
+ (while (verilog-re-search-backward reg nil 'move)
(cond
- ((match-end 1) ; else, we're in deep
- (setq elsec (1+ elsec)))
- ((match-end 2) ; if
- (setq elsec (1- elsec))
- (if (= 0 elsec)
- (if verilog-align-ifelse
- (throw 'nesting 'statement)
- (progn ;; back up to first word on this line
- (beginning-of-line)
- (verilog-forward-syntactic-ws)
- (throw 'nesting 'statement)))))
- ((match-end 3) ; assert block
- (setq elsec (1- elsec))
- (verilog-beg-of-statement) ;; doesn't get to beginning
- (if (looking-at verilog-property-re)
- (throw 'nesting 'statement) ; We don't need an endproperty for these
- (throw 'nesting 'block) ;We still need a endproperty
- ))
- (t ; endblock
- ; try to leap back to matching outward block by striding across
- ; indent level changing tokens then immediately
- ; previous line governs indentation.
- (let (( reg) (nest 1))
-;; verilog-ends => else|if|end|join(_any|_none|)|endcase|endclass|endtable|endspecify|endfunction|endtask|endgenerate|endgroup
- (cond
- ((match-end 4) ; end
- ;; Search back for matching begin
- (setq reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)" ))
- ((match-end 5) ; endcase
- ;; Search back for matching case
- (setq reg "\\(\\<randcase\\>\\|\\<case[xz]?\\>[^:]\\)\\|\\(\\<endcase\\>\\)" ))
- ((match-end 6) ; endfunction
- ;; Search back for matching function
- (setq reg "\\(\\<function\\>\\)\\|\\(\\<endfunction\\>\\)" ))
- ((match-end 7) ; endtask
- ;; Search back for matching task
- (setq reg "\\(\\<task\\>\\)\\|\\(\\<endtask\\>\\)" ))
- ((match-end 8) ; endspecify
- ;; Search back for matching specify
- (setq reg "\\(\\<specify\\>\\)\\|\\(\\<endspecify\\>\\)" ))
- ((match-end 9) ; endtable
- ;; Search back for matching table
- (setq reg "\\(\\<table\\>\\)\\|\\(\\<endtable\\>\\)" ))
- ((match-end 10) ; endgenerate
- ;; Search back for matching generate
- (setq reg "\\(\\<generate\\>\\)\\|\\(\\<endgenerate\\>\\)" ))
- ((match-end 11) ; joins
- ;; Search back for matching fork
- (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|none\\)?\\>\\)" ))
- ((match-end 12) ; class
- ;; Search back for matching class
- (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
- ((match-end 13) ; covergroup
- ;; Search back for matching covergroup
- (setq reg "\\(\\<covergroup\\>\\)\\|\\(\\<endgroup\\>\\)" )))
- (catch 'skip
- (while (verilog-re-search-backward reg nil 'move)
- (cond
- ((match-end 1) ; begin
- (setq nest (1- nest))
- (if (= 0 nest)
- (throw 'skip 1)))
- ((match-end 2) ; end
- (setq nest (1+ nest)))))
- )))))))
- (throw 'nesting (verilog-calc-1)))
- );; catch nesting
+ ((match-end 1) ; begin
+ (setq nest (1- nest))
+ (if (= 0 nest)
+ (throw 'skip 1)))
+ ((match-end 2) ; end
+ (setq nest (1+ nest)))))
+ )))))))
+ (throw 'nesting (verilog-calc-1)))
+ );; catch nesting
);; type
)
;; Return type of block and indent level.
@@ -4883,8 +5338,7 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
((match-end 4) ; *sigh* could be "disable fork"
(let ((here (point)))
(verilog-beg-of-statement)
- (if (or (looking-at verilog-disable-fork-re)
- (looking-at verilog-fork-wait-re))
+ (if (looking-at verilog-disable-fork-re)
t ; this is a normal statement
(progn ; or is fork, starts a new block
(goto-char here)
@@ -5050,6 +5504,9 @@ Jump from end to matching begin, from endcase to matching case, and so on."
((looking-at "\\<endproperty\\>")
;; 11: Search back for matching property
(setq reg "\\(\\<property\\>\\)\\|\\(\\<endproperty\\>\\)" ))
+ ((looking-at verilog-uvm-end-re)
+ ;; 12: Search back for matching sequence
+ (setq reg (concat "\\(" verilog-uvm-begin-re "\\|" verilog-uvm-end-re "\\)")))
((looking-at verilog-ovm-end-re)
;; 12: Search back for matching sequence
(setq reg (concat "\\(" verilog-ovm-begin-re "\\|" verilog-ovm-end-re "\\)")))
@@ -5177,6 +5634,12 @@ Set point to where line starts."
;;XX
((looking-at "\\<\\(always\\(_latch\\|_ff\\|_comb\\)?\\|case\\(\\|[xz]\\)\\|for\\(\\|each\\|ever\\)\\|i\\(f\\|nitial\\)\\|repeat\\|while\\)\\>")
(not (looking-at "\\<randcase\\>\\|\\<case[xz]?\\>[^:]")))
+ ((looking-at verilog-uvm-statement-re)
+ nil)
+ ((looking-at verilog-uvm-begin-re)
+ t)
+ ((looking-at verilog-uvm-end-re)
+ t)
((looking-at verilog-ovm-statement-re)
nil)
((looking-at verilog-ovm-begin-re)
@@ -5241,9 +5704,24 @@ Set point to where line starts."
t))))))))
(defun verilog-backward-syntactic-ws ()
+ "Move backwards putting point after first non-whitespace non-comment."
(verilog-skip-backward-comments)
(forward-comment (- (buffer-size))))
+(defun verilog-backward-syntactic-ws-quick ()
+ "As with `verilog-backward-syntactic-ws' but uses `verilog-scan' cache."
+ (while (cond ((bobp)
+ nil) ; Done
+ ((> (skip-syntax-backward " ") 0)
+ t)
+ ((eq (preceding-char) ?\n) ;; \n's terminate // so aren't space syntax
+ (forward-char -1)
+ t)
+ ((or (verilog-inside-comment-or-string-p (1- (point)))
+ (verilog-inside-comment-or-string-p (point)))
+ (re-search-backward "[/\"]" nil t) ;; Only way a comment or quote can begin
+ t))))
+
(defun verilog-forward-syntactic-ws ()
(verilog-skip-forward-comment-p)
(forward-comment (buffer-size)))
@@ -5339,9 +5817,17 @@ Optional BOUND limits search."
(defun verilog-in-attribute-p ()
"Return true if point is in an attribute (* [] attribute *)."
- (save-excursion
- (verilog-re-search-backward "\\((\\*\\)\\|\\(\\*)\\)" nil 'move)
- (numberp (match-beginning 1))))
+ (save-match-data
+ (save-excursion
+ (verilog-re-search-backward "\\((\\*\\)\\|\\(\\*)\\)" nil 'move)
+ (numberp (match-beginning 1)))))
+
+(defun verilog-in-parameter-p ()
+ "Return true if point is in a parameter assignment #( p1=1, p2=5)."
+ (save-match-data
+ (save-excursion
+ (verilog-re-search-backward "\\(#(\\)\\|\\()\\)" nil 'move)
+ (numberp (match-beginning 1)))))
(defun verilog-in-escaped-name-p ()
"Return true if in an escaped name."
@@ -5357,11 +5843,27 @@ Optional BOUND limits search."
(beginning-of-line)
(looking-at verilog-directive-re-1)))
+(defun verilog-in-parenthesis-p ()
+ "Return true if in a ( ) expression (but not { } or [ ])."
+ (save-match-data
+ (save-excursion
+ (verilog-re-search-backward "\\((\\)\\|\\()\\)" nil 'move)
+ (numberp (match-beginning 1)))))
+
(defun verilog-in-paren ()
- "Return true if in a parenthetical expression."
+ "Return true if in a parenthetical expression.
+May cache result using `verilog-syntax-ppss'."
(let ((state (save-excursion (verilog-syntax-ppss))))
(> (nth 0 state) 0 )))
+(defun verilog-in-paren-quick ()
+ "Return true if in a parenthetical expression.
+Always starts from point-min, to allow inserts with hooks disabled."
+ ;; The -quick refers to its use alongside the other -quick functions,
+ ;; not that it's likely to be faster than verilog-in-paren.
+ (let ((state (save-excursion (parse-partial-sexp (point-min) (point)))))
+ (> (nth 0 state) 0 )))
+
(defun verilog-in-struct-p ()
"Return true if in a struct declaration."
(interactive)
@@ -5607,7 +6109,11 @@ Only look at a few lines to determine indent level."
(goto-char fst)
(+ (current-column) verilog-cexp-indent))))))
(goto-char here)
- (indent-line-to val)))
+ (indent-line-to val)
+ (if (and (not verilog-indent-lists)
+ (verilog-in-paren))
+ (verilog-pretty-declarations))
+ ))
((= (preceding-char) ?\) )
(goto-char here)
(let ((val (eval (cdr (assoc type verilog-indent-alist)))))
@@ -5915,102 +6421,104 @@ Be verbose about progress unless optional QUIET set."
(unless quiet (message "")))))))
(defun verilog-pretty-expr (&optional quiet myre)
- "Line up expressions around point, optionally QUIET with regexp MYRE."
- (interactive "i\nsRegular Expression: ((<|:)?=) ")
- (save-excursion
- (if (or (eq myre nil)
- (string-equal myre ""))
- (setq myre "\\(<\\|:\\)?="))
- ;; want to match the first <= | := | =
- (setq myre (concat "\\(^.*?\\)\\(" myre "\\)"))
- (let ((rexp(concat "^\\s-*" verilog-complete-reg)))
- (beginning-of-line)
- (if (and (not (looking-at rexp ))
- (looking-at myre)
- (save-excursion
- (goto-char (match-beginning 2))
- (not (verilog-in-comment-or-string-p))))
- (let* ((here (point))
- (e) (r)
- (start
- (progn
- (beginning-of-line)
- (setq e (point))
- (verilog-backward-syntactic-ws)
- (beginning-of-line)
- (while (and (not (looking-at rexp ))
- (looking-at myre)
- (not (bobp))
- )
- (setq e (point))
- (verilog-backward-syntactic-ws)
- (beginning-of-line)
- ) ;Ack, need to grok `define
- e))
- (end
- (progn
- (goto-char here)
- (end-of-line)
- (setq e (point)) ;Might be on last line
- (verilog-forward-syntactic-ws)
- (beginning-of-line)
- (while (and
- (not (looking-at rexp ))
- (looking-at myre)
- (progn
- (end-of-line)
- (not (eq e (point)))))
- (setq e (point))
- (verilog-forward-syntactic-ws)
- (beginning-of-line)
- )
- e))
- (endpos (set-marker (make-marker) end))
- (ind)
- )
- (goto-char start)
- (verilog-do-indent (verilog-calculate-indent))
- (if (and (not quiet)
- (> (- end start) 100))
- (message "Lining up expressions..(please stand by)"))
-
- ;; Set indent to minimum throughout region
- (while (< (point) (marker-position endpos))
- (beginning-of-line)
- (verilog-just-one-space myre)
- (end-of-line)
- (verilog-forward-syntactic-ws)
- )
-
- ;; Now find biggest prefix
- (setq ind (verilog-get-lineup-indent-2 myre start endpos))
-
- ;; Now indent each line.
- (goto-char start)
- (while (progn (setq e (marker-position endpos))
- (setq r (- e (point)))
- (> r 0))
- (setq e (point))
- (if (not quiet) (message "%d" r))
- (cond
- ((looking-at myre)
- (goto-char (match-beginning 2))
- (if (not (verilog-parenthesis-depth)) ;; ignore parenthesized exprs
- (if (eq (char-after) ?=)
- (indent-to (1+ ind)) ; line up the = of the <= with surrounding =
- (indent-to ind)
- )))
- ((verilog-continued-line-1 start)
- (goto-char e)
- (indent-line-to ind))
- (t ; Must be comment or white space
- (goto-char e)
- (verilog-forward-ws&directives)
- (forward-line -1))
- )
- (forward-line 1))
- (unless quiet (message ""))
- )))))
+ "Line up expressions around point, optionally QUIET with regexp MYRE ignored."
+ (interactive)
+ (if (not (verilog-in-comment-or-string-p))
+ (save-excursion
+ (let ((rexp (concat "^\\s-*" verilog-complete-reg)))
+ (beginning-of-line)
+ (if (and (not (looking-at rexp ))
+ (looking-at verilog-assignment-operation-re)
+ (save-excursion
+ (goto-char (match-end 2))
+ (and (not (verilog-in-attribute-p))
+ (not (verilog-in-parameter-p))
+ (not (verilog-in-comment-or-string-p)))))
+ (let* ((here (point))
+ (e) (r)
+ (start
+ (progn
+ (beginning-of-line)
+ (setq e (point))
+ (verilog-backward-syntactic-ws)
+ (beginning-of-line)
+ (while (and (not (looking-at rexp ))
+ (looking-at verilog-assignment-operation-re)
+ (not (bobp))
+ )
+ (setq e (point))
+ (verilog-backward-syntactic-ws)
+ (beginning-of-line)
+ ) ;Ack, need to grok `define
+ e))
+ (end
+ (progn
+ (goto-char here)
+ (end-of-line)
+ (setq e (point)) ;Might be on last line
+ (verilog-forward-syntactic-ws)
+ (beginning-of-line)
+ (while (and
+ (not (looking-at rexp ))
+ (looking-at verilog-assignment-operation-re)
+ (progn
+ (end-of-line)
+ (not (eq e (point)))))
+ (setq e (point))
+ (verilog-forward-syntactic-ws)
+ (beginning-of-line)
+ )
+ e))
+ (endpos (set-marker (make-marker) end))
+ (ind)
+ )
+ (goto-char start)
+ (verilog-do-indent (verilog-calculate-indent))
+ (if (and (not quiet)
+ (> (- end start) 100))
+ (message "Lining up expressions..(please stand by)"))
+
+ ;; Set indent to minimum throughout region
+ (while (< (point) (marker-position endpos))
+ (beginning-of-line)
+ (verilog-just-one-space verilog-assignment-operation-re)
+ (beginning-of-line)
+ (verilog-do-indent (verilog-calculate-indent))
+ (end-of-line)
+ (verilog-forward-syntactic-ws)
+ )
+
+ ;; Now find biggest prefix
+ (setq ind (verilog-get-lineup-indent-2 verilog-assignment-operation-re start endpos))
+
+ ;; Now indent each line.
+ (goto-char start)
+ (while (progn (setq e (marker-position endpos))
+ (setq r (- e (point)))
+ (> r 0))
+ (setq e (point))
+ (if (not quiet) (message "%d" r))
+ (cond
+ ((looking-at verilog-assignment-operation-re)
+ (goto-char (match-beginning 2))
+ (if (not (or (verilog-in-parenthesis-p) ;; leave attributes and comparisons alone
+ (verilog-in-coverage-p)))
+ (if (eq (char-after) ?=)
+ (indent-to (1+ ind)) ; line up the = of the <= with surrounding =
+ (indent-to ind)
+ ))
+ )
+ ((verilog-continued-line-1 start)
+ (goto-char e)
+ (indent-line-to ind))
+ (t ; Must be comment or white space
+ (goto-char e)
+ (verilog-forward-ws&directives)
+ (forward-line -1))
+ )
+ (forward-line 1))
+ (unless quiet (message ""))
+ ))))))
(defun verilog-just-one-space (myre)
"Remove extra spaces around regular expression MYRE."
@@ -6021,11 +6529,9 @@ Be verbose about progress unless optional QUIET set."
(p2 (match-end 2)))
(progn
(goto-char p2)
- (if (looking-at "\\s-") (just-one-space))
+ (just-one-space)
(goto-char p1)
- (forward-char -1)
- (if (looking-at "\\s-") (just-one-space))
- ))))
+ (just-one-space)))))
(defun verilog-indent-declaration (baseind)
"Indent current lines as declaration.
@@ -6128,7 +6634,7 @@ Region is defined by B and EDPOS."
(while (progn (setq e (marker-position edpos))
(< (point) e))
(if (and (verilog-re-search-forward myre e 'move)
- (not (verilog-parenthesis-depth))) ;; skip parenthesized exprs
+ (not (verilog-in-attribute-p))) ;; skip attribute exprs
(progn
(goto-char (match-beginning 2))
(verilog-backward-syntactic-ws)
@@ -6374,10 +6880,10 @@ for matches of `str' and adding the occurrence tp `all' through point END."
(defun verilog-keyword-completion (keyword-list)
"Give list of all possible completions of keywords in KEYWORD-LIST."
(mapcar (lambda (s)
- (if (string-match (concat "\\<" verilog-str) s)
- (if (or (null verilog-pred)
- (funcall verilog-pred s))
- (setq verilog-all (cons s verilog-all)))))
+ (if (string-match (concat "\\<" verilog-str) s)
+ (if (or (null verilog-pred)
+ (funcall verilog-pred s))
+ (setq verilog-all (cons s verilog-all)))))
keyword-list))
@@ -6883,16 +7389,18 @@ See also `verilog-sk-header' for an alternative format."
(defsubst verilog-sig-width (sig)
(verilog-make-width-expression (verilog-sig-bits sig)))
-(defsubst verilog-alw-new (outputs temps inputs delayed)
- (list outputs temps inputs delayed))
-(defsubst verilog-alw-get-outputs (sigs)
+(defsubst verilog-alw-new (outputs-del outputs-imm temps inputs)
+ (list outputs-del outputs-imm temps inputs))
+(defsubst verilog-alw-get-outputs-delayed (sigs)
(nth 0 sigs))
-(defsubst verilog-alw-get-temps (sigs)
+(defsubst verilog-alw-get-outputs-immediate (sigs)
(nth 1 sigs))
-(defsubst verilog-alw-get-inputs (sigs)
+(defsubst verilog-alw-get-temps (sigs)
(nth 2 sigs))
-(defsubst verilog-alw-get-uses-delayed (sigs)
+(defsubst verilog-alw-get-inputs (sigs)
(nth 3 sigs))
+(defsubst verilog-alw-get-uses-delayed (sigs)
+ (nth 0 sigs))
(defsubst verilog-modi-new (name fob pt type)
(vector name fob pt type))
@@ -6911,18 +7419,18 @@ See also `verilog-sk-header' for an alternative format."
;; Signal reading for given module
;; Note these all take modi's - as returned from verilog-modi-current
-(defsubst verilog-decls-new (out inout in wires regs assigns consts gparams interfaces)
- (vector out inout in wires regs assigns consts gparams interfaces))
+(defsubst verilog-decls-new (out inout in vars unuseds assigns consts gparams interfaces)
+ (vector out inout in vars unuseds assigns consts gparams interfaces))
(defsubst verilog-decls-get-outputs (decls)
(aref decls 0))
(defsubst verilog-decls-get-inouts (decls)
(aref decls 1))
(defsubst verilog-decls-get-inputs (decls)
(aref decls 2))
-(defsubst verilog-decls-get-wires (decls)
+(defsubst verilog-decls-get-vars (decls)
(aref decls 3))
-(defsubst verilog-decls-get-regs (decls)
- (aref decls 4))
+;;(defsubst verilog-decls-get-unused (decls)
+;; (aref decls 4))
(defsubst verilog-decls-get-assigns (decls)
(aref decls 5))
(defsubst verilog-decls-get-consts (decls)
@@ -6974,7 +7482,7 @@ Signals must be in standard (base vector) form."
;;(verilog-signals-not-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") ("EXT" "")))
(defun verilog-signals-memory (in-list)
- "Return list of signals in IN-LIST that are memoried (multidimensional)."
+ "Return list of signals in IN-LIST that are memorized (multidimensional)."
(let (out-list)
(while in-list
(if (nth 3 (car in-list))
@@ -7026,6 +7534,7 @@ Duplicate signals are also removed. For example A[2] and A[1] become A[2:1]."
buswarn ""))
;; Extract bus details
(setq bus (verilog-sig-bits sig))
+ (setq bus (and bus (verilog-simplify-range-expression bus)))
(cond ((and bus
(or (and (string-match "\\[\\([0-9]+\\):\\([0-9]+\\)\\]" bus)
(setq highbit (string-to-number (match-string 1 bus))
@@ -7145,9 +7654,10 @@ Ignore width if optional NO-WIDTH is set."
"Return module name when after its ( or ;."
(save-excursion
(re-search-backward "[(;]")
- (verilog-re-search-backward-quick "\\b[a-zA-Z0-9`_\$]" nil nil)
- (skip-chars-backward "a-zA-Z0-9`_$")
- (looking-at "[a-zA-Z0-9`_\$]+")
+ ;; Due to "module x import y (" we must search for declaration begin
+ (verilog-re-search-backward-quick verilog-defun-re nil nil)
+ (goto-char (match-end 0))
+ (verilog-re-search-forward-quick "\\b[a-zA-Z0-9`_\$]+" nil nil)
;; Important: don't use match string, this must work with Emacs 19 font-lock on
(verilog-symbol-detick
(buffer-substring-no-properties (match-beginning 0) (match-end 0)) t)))
@@ -7203,13 +7713,13 @@ Optional NUM-PARAM and MAX-PARAM check for a specific number of parameters."
Return a array of [outputs inouts inputs wire reg assign const]."
(let ((end-mod-point (or (verilog-get-end-of-defun t) (point-max)))
(functask 0) (paren 0) (sig-paren 0) (v2kargs-ok t)
- in-modport
- sigs-in sigs-out sigs-inout sigs-wire sigs-reg sigs-assign sigs-const
+ in-modport ign-prop
+ sigs-in sigs-out sigs-inout sigs-var sigs-assign sigs-const
sigs-gparam sigs-intf
vec expect-signal keywd newsig rvalue enum io signed typedefed multidim
modport)
(save-excursion
- (verilog-beg-of-defun)
+ (verilog-beg-of-defun-quick)
(setq sigs-const (verilog-read-auto-constants (point) end-mod-point))
(while (< (point) end-mod-point)
;;(if dbg (setq dbg (concat dbg (format "Pt %s Vec %s C%c Kwd'%s'\n" (point) vec (following-char) keywd))))
@@ -7225,16 +7735,16 @@ Return a array of [outputs inouts inputs wire reg assign const]."
(or (search-forward "*/")
(error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
((looking-at "(\\*")
- (forward-char 2)
- (or (looking-at "\\s-*)") ; It's an "always @ (*)"
- (search-forward "*)")
+ ;; To advance past either "(*)" or "(* ... *)" don't forward past first *
+ (forward-char 1)
+ (or (search-forward "*)")
(error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
((eq ?\" (following-char))
(or (re-search-forward "[^\\]\"" nil t) ;; don't forward-char first, since we look for a non backslash first
(error "%s: Unmatched quotes, at char %d" (verilog-point-text) (point))))
((eq ?\; (following-char))
(setq vec nil io nil expect-signal nil newsig nil paren 0 rvalue nil
- v2kargs-ok nil in-modport nil)
+ v2kargs-ok nil in-modport nil ign-prop nil)
(forward-char 1))
((eq ?= (following-char))
(setq rvalue t newsig nil)
@@ -7290,16 +7800,15 @@ Return a array of [outputs inouts inputs wire reg assign const]."
((equal keywd "parameter")
(setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren
expect-signal 'sigs-gparam io t modport nil))
- ((member keywd '("wire" "tri" "tri0" "tri1" "triand" "trior" "wand" "wor"))
- (unless io (setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren
- expect-signal 'sigs-wire modport nil)))
- ((member keywd '("reg" "trireg"
+ ((member keywd '("wire"
+ "tri" "tri0" "tri1" "triand" "trior" "wand" "wor"
+ "reg" "trireg"
"byte" "shortint" "int" "longint" "integer" "time"
"bit" "logic"
"shortreal" "real" "realtime"
"string" "event" "chandle"))
(unless io (setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren
- expect-signal 'sigs-reg modport nil)))
+ expect-signal 'sigs-var modport nil)))
((equal keywd "assign")
(setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren
expect-signal 'sigs-assign modport nil))
@@ -7307,11 +7816,14 @@ Return a array of [outputs inouts inputs wire reg assign const]."
"localparam" "genvar"))
(unless io (setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren
expect-signal 'sigs-const modport nil)))
- ((equal keywd "signed")
- (setq signed "signed"))
+ ((member keywd '("signed" "unsigned"))
+ (setq signed keywd))
+ ((member keywd '("assert" "assume" "cover" "expect" "restrict"))
+ (setq ign-prop t))
((member keywd '("class" "clocking" "covergroup" "function"
"property" "randsequence" "sequence" "task"))
- (setq functask (1+ functask)))
+ (unless ign-prop
+ (setq functask (1+ functask))))
((member keywd '("endclass" "endclocking" "endgroup" "endfunction"
"endproperty" "endsequence" "endtask"))
(setq functask (1- functask)))
@@ -7354,8 +7866,8 @@ Return a array of [outputs inouts inputs wire reg assign const]."
(verilog-decls-new (nreverse sigs-out)
(nreverse sigs-inout)
(nreverse sigs-in)
- (nreverse sigs-wire)
- (nreverse sigs-reg)
+ (nreverse sigs-var)
+ nil
(nreverse sigs-assign)
(nreverse sigs-const)
(nreverse sigs-gparam)
@@ -7442,8 +7954,7 @@ Return a array of [outputs inouts inputs wire reg assign const]."
multidim nil)
sigs-intf)))
((setq portdata (and verilog-read-sub-decls-in-interfaced
- (or (assoc port (verilog-decls-get-regs submoddecls))
- (assoc port (verilog-decls-get-wires submoddecls)))))
+ (assoc port (verilog-decls-get-vars submoddecls))))
(setq sigs-intfd
(cons (verilog-sig-new
sig
@@ -7556,7 +8067,8 @@ Inserts the list of signals found, using submodi to look up each port."
submoddecls comment port
(buffer-substring
(point) (1- (progn (search-backward "(") ; start at (
- (forward-sexp 1) (point)))))))) ; expr
+ (verilog-forward-sexp-ign-cmt 1)
+ (point)))))))) ; expr
;;
(forward-line 1)))))
@@ -7573,8 +8085,9 @@ Inserts the list of signals found."
(or (search-forward "*/")
(error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
((looking-at "(\\*")
- (or (looking-at "(\\*\\s-*)") ; It's a "always @ (*)"
- (search-forward "*)")
+ ;; To advance past either "(*)" or "(* ... *)" don't forward past first *
+ (forward-char 1)
+ (or (search-forward "*)")
(error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
;; On pins, parse and advance to next pin
;; Looking at pin, but *not* an // Output comment, or ) to end the inst
@@ -7612,11 +8125,11 @@ Outputs comments above subcell signals, for example:
st-point end-inst-point
;; below 3 modified by verilog-read-sub-decls-line
sigs-out sigs-inout sigs-in sigs-intf sigs-intfd)
- (verilog-beg-of-defun)
- (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-mod-point t)
+ (verilog-beg-of-defun-quick)
+ (while (verilog-re-search-forward-quick "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-mod-point t)
(save-excursion
(goto-char (match-beginning 0))
- (unless (verilog-inside-comment-p)
+ (unless (verilog-inside-comment-or-string-p)
;; Attempt to snarf a comment
(let* ((submod (verilog-read-inst-module))
(inst (verilog-read-inst-name))
@@ -7629,7 +8142,8 @@ Outputs comments above subcell signals, for example:
submoddecls (verilog-decls-new nil nil nil nil nil nil nil nil nil)
comment (concat inst " of " submod))
(verilog-backward-open-paren)
- (setq end-inst-point (save-excursion (forward-sexp 1) (point))
+ (setq end-inst-point (save-excursion (verilog-forward-sexp-ign-cmt 1)
+ (point))
st-point (point))
(forward-char 1)
(verilog-read-sub-decls-gate submoddecls comment submod end-inst-point))
@@ -7639,7 +8153,8 @@ Outputs comments above subcell signals, for example:
(setq submoddecls (verilog-modi-get-decls submodi)
verilog-read-sub-decls-gate-ios nil)
(verilog-backward-open-paren)
- (setq end-inst-point (save-excursion (forward-sexp 1) (point))
+ (setq end-inst-point (save-excursion (verilog-forward-sexp-ign-cmt 1)
+ (point))
st-point (point))
;; This could have used a list created by verilog-auto-inst
;; However I want it to be runnable even on user's manually added signals
@@ -7677,10 +8192,10 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
(verilog-backward-open-paren)
(while (re-search-forward "\\.\\([^(,) \t\n\f]*\\)\\s-*" end-mod-point t)
(setq pin (match-string 1))
- (unless (verilog-inside-comment-p)
+ (unless (verilog-inside-comment-or-string-p)
(setq pins (cons (list pin) pins))
(when (looking-at "(")
- (forward-sexp 1))))
+ (verilog-forward-sexp-ign-cmt 1))))
(vector pins))))
(defun verilog-read-arg-pins ()
@@ -7691,7 +8206,7 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
(verilog-backward-open-paren)
(while (re-search-forward "\\([a-zA-Z0-9$_.%`]+\\)" end-mod-point t)
(setq pin (match-string 1))
- (unless (verilog-inside-comment-p)
+ (unless (verilog-inside-comment-or-string-p)
(setq pins (cons (list pin) pins))))
(vector pins))))
@@ -7707,7 +8222,7 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
(search-forward "(" end-mod-point)
(setq tpl-end-pt (save-excursion
(backward-char 1)
- (forward-sexp 1) ;; Moves to paren that closes argdecl's
+ (verilog-forward-sexp-cmt 1) ;; Moves to paren that closes argdecl's
(backward-char 1)
(point)))
(while (re-search-forward "\\s-*\\([\"a-zA-Z0-9$_.%`]+\\)\\s-*,*" tpl-end-pt t)
@@ -7720,6 +8235,7 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
(defun verilog-read-auto-lisp-present ()
"Set `verilog-cache-has-lisp' if any AUTO_LISP in this buffer."
(save-excursion
+ (goto-char (point-min))
(setq verilog-cache-has-lisp (re-search-forward "\\<AUTO_LISP(" nil t))))
(defun verilog-read-auto-lisp (start end)
@@ -7732,7 +8248,7 @@ Must call `verilog-read-auto-lisp-present' before this function."
(while (re-search-forward "\\<AUTO_LISP(" end t)
(backward-char)
(let* ((beg-pt (prog1 (point)
- (forward-sexp 1))) ;; Closing paren
+ (verilog-forward-sexp-cmt 1))) ;; Closing paren
(end-pt (point)))
(eval-region beg-pt end-pt nil))))))
@@ -7741,9 +8257,10 @@ Must call `verilog-read-auto-lisp-present' before this function."
;; Do not remove the eval-when-compile
;; - we want a error when we are debugging this code if they are refed.
(defvar sigs-in)
- (defvar sigs-out)
+ (defvar sigs-out-d)
+ (defvar sigs-out-i)
+ (defvar sigs-out-unk)
(defvar sigs-temp)
- (defvar uses-delayed)
(defvar vector-skip-list))
(defun verilog-read-always-signals-recurse
@@ -7764,8 +8281,9 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
(or (search-forward "*/")
(error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
((looking-at "(\\*")
- (or (looking-at "(\\*\\s-*)") ; It's a "always @ (*)"
- (search-forward "*)")
+ ;; To advance past either "(*)" or "(* ... *)" don't forward past first *
+ (forward-char 1)
+ (or (search-forward "*)")
(error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
(t (setq keywd (buffer-substring-no-properties
(point)
@@ -7817,9 +8335,16 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
(setq ignore-next t rvalue nil)))
(forward-char 1))
((equal keywd "=")
- (if (and (eq (char-before) ?< )
- (not rvalue))
- (setq uses-delayed 1))
+ (when got-sig
+ ;;(if dbg (setq dbg (concat dbg (format "\t\tequal got-sig=%S got-list=%s\n" got-sig got-list))))
+ (set got-list (cons got-sig (symbol-value got-list)))
+ (setq got-sig nil))
+ (when (not rvalue)
+ (if (eq (char-before) ?< )
+ (setq sigs-out-d (append sigs-out-d sigs-out-unk)
+ sigs-out-unk nil)
+ (setq sigs-out-i (append sigs-out-i sigs-out-unk)
+ sigs-out-unk nil)))
(setq ignore-next nil rvalue t)
(forward-char 1))
((equal keywd "?")
@@ -7865,7 +8390,7 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
)
(setq got-list (cond (temp-next 'sigs-temp)
(rvalue 'sigs-in)
- (t 'sigs-out))
+ (t 'sigs-out-unk))
got-sig (if (or (not keywd)
(assoc keywd (symbol-value got-list)))
nil (list keywd nil nil))
@@ -7889,17 +8414,18 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
"Parse always block at point and return list of (outputs inout inputs)."
(save-excursion
(let* (;;(dbg "")
- sigs-out sigs-temp sigs-in
- uses-delayed) ;; Found signal/rvalue; push if not function
+ sigs-out-d sigs-out-i sigs-out-unk sigs-temp sigs-in)
(search-forward ")")
(verilog-read-always-signals-recurse nil nil nil)
+ (setq sigs-out-i (append sigs-out-i sigs-out-unk)
+ sigs-out-unk nil)
;;(if dbg (with-current-buffer (get-buffer-create "*vl-dbg*")) (delete-region (point-min) (point-max)) (insert dbg) (setq dbg ""))
;; Return what was found
- (verilog-alw-new sigs-out sigs-temp sigs-in uses-delayed))))
+ (verilog-alw-new sigs-out-d sigs-out-i sigs-temp sigs-in))))
(defun verilog-read-instants ()
"Parse module at point and return list of ( ( file instance ) ... )."
- (verilog-beg-of-defun)
+ (verilog-beg-of-defun-quick)
(let* ((end-mod-point (verilog-get-end-of-defun t))
(state nil)
(instants-list nil))
@@ -7930,7 +8456,7 @@ list of ( (signal_name connection_name)... )."
(save-excursion
;; Find beginning
(let ((tpl-regexp "\\([0-9]+\\)")
- (lineno 0)
+ (lineno -1) ; -1 to offset for the AUTO_TEMPLATE's newline
(templateno 0)
(pt (point))
tpl-sig-list tpl-wild-list tpl-end-pt rep)
@@ -7962,22 +8488,27 @@ list of ( (signal_name connection_name)... )."
;; Parse lines in the template
(when verilog-auto-inst-template-numbers
(save-excursion
- (goto-char (point-min))
- (while (search-forward "AUTO_TEMPLATE" nil t)
- (setq templateno (1+ templateno)))))
+ (let ((pre-pt (point)))
+ (goto-char (point-min))
+ (while (search-forward "AUTO_TEMPLATE" pre-pt t)
+ (setq templateno (1+ templateno)))
+ (while (< (point) pre-pt)
+ (forward-line 1)
+ (setq lineno (1+ lineno))))))
(setq tpl-end-pt (save-excursion
(backward-char 1)
- (forward-sexp 1) ;; Moves to paren that closes argdecl's
+ (verilog-forward-sexp-cmt 1) ;; Moves to paren that closes argdecl's
(backward-char 1)
(point)))
;;
(while (< (point) tpl-end-pt)
(cond ((looking-at "\\s-*\\.\\([a-zA-Z0-9`_$]+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)")
- (setq tpl-sig-list (cons (list
- (match-string-no-properties 1)
- (match-string-no-properties 2)
- templateno lineno)
- tpl-sig-list))
+ (setq tpl-sig-list
+ (cons (list
+ (match-string-no-properties 1)
+ (match-string-no-properties 2)
+ templateno lineno)
+ tpl-sig-list))
(goto-char (match-end 0)))
;; Regexp form??
((looking-at
@@ -8000,7 +8531,8 @@ list of ( (signal_name connection_name)... )."
(setq lineno (1+ lineno))
(goto-char (match-end 0)))
((looking-at "//")
- (search-forward "\n"))
+ (search-forward "\n")
+ (setq lineno (1+ lineno)))
((looking-at "/\\*")
(forward-char 2)
(or (search-forward "*/")
@@ -8086,7 +8618,7 @@ warning message, you need to add to your .emacs file:
(while (re-search-forward "^\\s-*`include\\s-+\\([^ \t\n\f]+\\)" nil t)
(let ((inc (verilog-string-replace-matches
"\"" "" nil nil (match-string-no-properties 1))))
- (unless (verilog-inside-comment-p)
+ (unless (verilog-inside-comment-or-string-p)
(verilog-read-defines inc recurse t)))))
;; Read `defines
;; note we don't use verilog-re... it's faster this way, and that
@@ -8100,14 +8632,15 @@ warning message, you need to add to your .emacs file:
;; Hack: Read parameters
(goto-char (point-min))
(while (re-search-forward
- "^\\s-*\\(parameter\\|localparam\\)\\(\\s-*\\[[^]]*\\]\\)?\\s-+" nil t)
+ "^\\s-*\\(parameter\\|localparam\\)\\(\\s-*\\[[^]]*\\]\\)?\\s-*" nil t)
(let (enumname)
;; The primary way of getting defines is verilog-read-decls
;; However, that isn't called yet for included files, so we'll add another scheme
(if (looking-at "[^\n]*synopsys\\s +enum\\s +\\([a-zA-Z0-9_]+\\)")
(setq enumname (match-string-no-properties 1)))
(forward-comment 999)
- (while (looking-at "\\s-*,?\\s-*\\([a-zA-Z0-9_$]+\\)\\s-*=\\s-*\\([^;,]*\\),?\\s-*")
+ (while (looking-at (concat "\\s-*,?\\s-*\\(?:/[/*].*?$\\)?\\s-*\\([a-zA-Z0-9_$]+\\)"
+ "\\s-*=\\s-*\\([^;,]*\\),?\\s-*\\(/[/*].*?$\\)?\\s-*"))
(verilog-set-define (match-string-no-properties 1)
(match-string-no-properties 2) origbuf enumname)
(goto-char (match-end 0))
@@ -8278,11 +8811,11 @@ Some macros and such are also found and included. For dinotrace.el."
verilog-library-files
verilog-library-flags)))
;; Allow user to customize
- (run-hooks 'verilog-before-getopt-flags-hook)
+ (verilog-run-hooks 'verilog-before-getopt-flags-hook)
;; Process arguments
(verilog-getopt verilog-library-flags)
;; Allow user to customize
- (run-hooks 'verilog-getopt-flags-hook))
+ (verilog-run-hooks 'verilog-getopt-flags-hook))
(defun verilog-add-list-unique (varref object)
"Append to VARREF list the given OBJECT,
@@ -8387,7 +8920,7 @@ Allows version control to check out the file if need be."
(while (and
;; It may be tempting to look for verilog-defun-re,
;; don't, it slows things down a lot!
- (verilog-re-search-forward-quick "\\<\\(module\\|interface\\)\\>" nil t)
+ (verilog-re-search-forward-quick "\\<\\(module\\|interface\\|program\\)\\>" nil t)
(setq type (match-string-no-properties 0))
(verilog-re-search-forward-quick "[(;]" nil t))
(if (equal module (verilog-read-module-name))
@@ -8804,13 +9337,12 @@ if non-nil."
;; Combined
(defun verilog-decls-get-signals (decls)
+ "Return all declared signals, excluding 'assign' statements."
(append
(verilog-decls-get-outputs decls)
(verilog-decls-get-inouts decls)
(verilog-decls-get-inputs decls)
- (verilog-decls-get-wires decls)
- (verilog-decls-get-regs decls)
- (verilog-decls-get-assigns decls)
+ (verilog-decls-get-vars decls)
(verilog-decls-get-consts decls)
(verilog-decls-get-gparams decls)))
@@ -8826,10 +9358,8 @@ if non-nil."
(verilog-modi-cache-add modi 'verilog-read-decls 1 sig-list))
(defsubst verilog-modi-cache-add-inputs (modi sig-list)
(verilog-modi-cache-add modi 'verilog-read-decls 2 sig-list))
-(defsubst verilog-modi-cache-add-wires (modi sig-list)
+(defsubst verilog-modi-cache-add-vars (modi sig-list)
(verilog-modi-cache-add modi 'verilog-read-decls 3 sig-list))
-(defsubst verilog-modi-cache-add-regs (modi sig-list)
- (verilog-modi-cache-add modi 'verilog-read-decls 4 sig-list))
(defun verilog-signals-from-signame (signame-list)
"Return signals in standard form from SIGNAME-LIST, a simple list of signal names."
@@ -8843,7 +9373,7 @@ if non-nil."
(defun verilog-auto-re-search-do (search-for func)
"Search for the given auto text regexp SEARCH-FOR, and perform FUNC where it occurs."
(goto-char (point-min))
- (while (verilog-re-search-forward search-for nil t)
+ (while (verilog-re-search-forward-quick search-for nil t)
(funcall func)))
(defun verilog-insert-one-definition (sig type indent-pt)
@@ -8867,10 +9397,31 @@ with appropriate INDENT-PT indentation."
(when (verilog-sig-memory sig)
(insert " " (verilog-sig-memory sig))))
-(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort)
- "Print out a definition for a list of SIGS of the given DIRECTION,
+(defun verilog-insert-definition (modi sigs direction indent-pt v2k &optional dont-sort)
+ "Print out a definition for MODI's list of SIGS of the given DIRECTION,
with appropriate INDENT-PT indentation. If V2K, use Verilog 2001 I/O
-format. Sort unless DONT-SORT. DIRECTION is normally wire/reg/output."
+format. Sort unless DONT-SORT. DIRECTION is normally wire/reg/output.
+When MODI is non-null, also add to modi-cache, for tracking."
+ (when modi
+ (cond ((equal direction "wire")
+ (verilog-modi-cache-add-vars modi sigs))
+ ((equal direction "reg")
+ (verilog-modi-cache-add-vars modi sigs))
+ ((equal direction "output")
+ (verilog-modi-cache-add-outputs modi sigs)
+ (when verilog-auto-declare-nettype
+ (verilog-modi-cache-add-vars modi sigs)))
+ ((equal direction "input")
+ (verilog-modi-cache-add-inputs modi sigs)
+ (when verilog-auto-declare-nettype
+ (verilog-modi-cache-add-vars modi sigs)))
+ ((equal direction "inout")
+ (verilog-modi-cache-add-inouts modi sigs)
+ (when verilog-auto-declare-nettype
+ (verilog-modi-cache-add-vars modi sigs)))
+ ((equal direction "interface"))
+ (t
+ (error "Unsupported verilog-insert-definition direction: %s" direction))))
(or dont-sort
(setq sigs (sort (copy-alist sigs) `verilog-signals-sort-compare)))
(while sigs
@@ -8878,12 +9429,18 @@ format. Sort unless DONT-SORT. DIRECTION is normally wire/reg/output."
(verilog-insert-one-definition
sig
;; Want "type x" or "output type x", not "wire type x"
- (cond ((verilog-sig-type sig)
+ (cond ((or (verilog-sig-type sig)
+ verilog-auto-wire-type)
(concat
- (if (not (member direction '("wire" "interface")))
- (concat direction " "))
- (verilog-sig-type sig)))
- (t direction))
+ (when (member direction '("input" "output" "inout"))
+ (concat direction " "))
+ (or (verilog-sig-type sig)
+ verilog-auto-wire-type)))
+ ((and verilog-auto-declare-nettype
+ (member direction '("input" "output" "inout")))
+ (concat direction " " verilog-auto-declare-nettype))
+ (t
+ direction))
indent-pt)
(insert (if v2k "," ";"))
(if (or (not (verilog-sig-comment sig))
@@ -8914,7 +9471,7 @@ Presumes that any newlines end a list element."
;; We can't just search backward for ) as it might be inside another expression.
;; Also want "`ifdef X input foo `endif" to just leave things to the human to deal with
(save-excursion
- (verilog-backward-syntactic-ws)
+ (verilog-backward-syntactic-ws-quick)
(when (and (not (save-excursion ;; Not beginning (, or existing ,
(backward-char 1)
(looking-at "[(,]")))
@@ -8931,7 +9488,7 @@ This repairs those mis-inserted by a AUTOARG."
(save-excursion
(verilog-forward-close-paren)
(backward-char 1)
- (verilog-backward-syntactic-ws)
+ (verilog-backward-syntactic-ws-quick)
(backward-char 1)
(when (looking-at ",")
(delete-char 1))))
@@ -8978,27 +9535,68 @@ This repairs those mis-inserted by a AUTOARG."
(t nil)))))
;;(verilog-make-width-expression "`A:`B")
-(defun verilog-simplify-range-expression (range-exp)
- "Return a simplified range expression with constants eliminated from RANGE-EXP."
- (let ((out range-exp)
- (last-pass ""))
- (while (not (equal last-pass out))
- (setq last-pass out)
- (while (string-match "(\\<\\([0-9A-Z-az_]+\\)\\>)" out)
- (setq out (replace-match "\\1" nil nil out)))
- (while (string-match "\\<\\([0-9]+\\)\\>\\s *\\+\\s *\\<\\([0-9]+\\)\\>" out)
- (setq out (replace-match
- (int-to-string (+ (string-to-number (match-string 1 out))
- (string-to-number (match-string 2 out))))
- nil nil out)))
- (while (string-match "\\<\\([0-9]+\\)\\>\\s *\\-\\s *\\<\\([0-9]+\\)\\>" out)
- (setq out (replace-match
- (int-to-string (- (string-to-number (match-string 1 out))
- (string-to-number (match-string 2 out))))
- nil nil out))))
- out))
-;;(verilog-simplify-range-expression "1")
-;;(verilog-simplify-range-expression "(((16)+1)-3)")
+(defun verilog-simplify-range-expression (expr)
+ "Return a simplified range expression with constants eliminated from EXPR."
+ ;; Note this is always called with brackets; ie [z] or [z:z]
+ (if (not (string-match "[---+*()]" expr))
+ expr ;; short-circuit
+ (let ((out expr)
+ (last-pass ""))
+ (while (not (equal last-pass out))
+ (setq last-pass out)
+ ;; Prefix regexp needs beginning of match, or some symbol of
+ ;; lesser or equal precedence. We assume the [:]'s exist in expr.
+ ;; Ditto the end.
+ (while (string-match
+ (concat "\\([[({:*+-]\\)" ; - must be last
+ "(\\<\\([0-9A-Za-z_]+\\))"
+ "\\([])}:*+-]\\)")
+ out)
+ (setq out (replace-match "\\1\\2\\3" nil nil out)))
+ ;; For precedence do * before +/-
+ (while (string-match
+ (concat "\\([[({:*+-]\\)"
+ "\\([0-9]+\\)\\s *\\([*]\\)\\s *\\([0-9]+\\)"
+ "\\([])}:*+-]\\)")
+ out)
+ (setq out (replace-match
+ (concat (match-string 1 out)
+ (int-to-string (* (string-to-number (match-string 2 out))
+ (string-to-number (match-string 4 out))))
+ (match-string 5 out))
+ nil nil out)))
+ (while (string-match
+ (concat "\\([[({:+-]\\)" ; No * here as higher prec
+ "\\([0-9]+\\)\\s *\\([---+]\\)\\s *\\([0-9]+\\)"
+ "\\([])}:+-]\\)")
+ out)
+ (let ((pre (match-string 1 out))
+ (lhs (string-to-number (match-string 2 out)))
+ (rhs (string-to-number (match-string 4 out)))
+ (post (match-string 5 out))
+ val)
+ (when (equal pre "-")
+ (setq lhs (- lhs)))
+ (setq val (if (equal (match-string 3 out) "-")
+ (- lhs rhs)
+ (+ lhs rhs))
+ out (replace-match
+ (concat (if (and (equal pre "-")
+ (< val 0))
+ "" ;; Not "--20" but just "-20"
+ pre)
+ (int-to-string val)
+ post)
+ nil nil out)) )))
+ out)))
+;;(verilog-simplify-range-expression "[1:3]") ;; 1
+;;(verilog-simplify-range-expression "[(1):3]") ;; 1
+;;(verilog-simplify-range-expression "[(((16)+1)+1+(1+1))]") ;;20
+;;(verilog-simplify-range-expression "[(2*3+6*7)]") ;; 48
+;;(verilog-simplify-range-expression "[(FOO*4-1*2)]") ;; FOO*4-2
+;;(verilog-simplify-range-expression "[(FOO*4+1-1)]") ;; FOO*4+0
+;;(verilog-simplify-range-expression "[(func(BAR))]") ;; func(BAR)
+;;(verilog-simplify-range-expression "[FOO-1+1-1+1]") ;; FOO-0
(defun verilog-typedef-name-p (variable-name)
"Return true if the VARIABLE-NAME is a type definition."
@@ -9011,15 +9609,17 @@ This repairs those mis-inserted by a AUTOARG."
(defun verilog-delete-autos-lined ()
"Delete autos that occupy multiple lines, between begin and end comments."
+ ;; The newline must not have a comment property, so we must
+ ;; delete the end auto's newline, not the first newline
+ (forward-line 1)
(let ((pt (point)))
- (forward-line 1)
(when (and
(looking-at "\\s-*// Beginning")
(search-forward "// End of automatic" nil t))
;; End exists
(end-of-line)
- (delete-region pt (point))
- (forward-line 1))))
+ (forward-line 1)
+ (delete-region pt (point)))))
(defun verilog-delete-empty-auto-pair ()
"Delete begin/end auto pair at point, if empty."
@@ -9066,11 +9666,11 @@ Ignore other open bracket with matching close bracket."
(defun verilog-delete-to-paren ()
"Delete the automatic inst/sense/arg created by autos.
-Deletion stops at the matching end parenthesis."
+Deletion stops at the matching end parenthesis, outside comments."
(delete-region (point)
(save-excursion
(verilog-backward-open-paren)
- (forward-sexp 1) ;; Moves to paren that closes argdecl's
+ (verilog-forward-sexp-ign-cmt 1) ;; Moves to paren that closes argdecl's
(backward-char 1)
(point))))
@@ -9078,7 +9678,8 @@ Deletion stops at the matching end parenthesis."
"Return if a .* AUTOINST is safe to delete or expand.
It was created by the AUTOS themselves, or by the user."
(and verilog-auto-star-expand
- (looking-at "[ \t\n\f,]*\\([)]\\|// \\(Outputs\\|Inouts\\|Inputs\\|Interfaces\\)\\)")))
+ (looking-at
+ (concat "[ \t\n\f,]*\\([)]\\|// " verilog-inst-comment-re "\\)"))))
(defun verilog-delete-auto-star-all ()
"Delete a .* AUTOINST, if it is safe."
@@ -9110,7 +9711,7 @@ removed."
(save-excursion
(while (progn
(forward-line -1)
- (looking-at "\\s *//\\s *\\(Outputs\\|Inouts\\|Inputs\\|Interfaces\\)\n"))
+ (looking-at (concat "\\s *//\\s *" verilog-inst-comment-re "\n")))
(delete-region (match-beginning 0) (match-end 0))))
;; If it is simple, we can put the ); on the same line as the last text
(let ((rtn-pt (point)))
@@ -9139,18 +9740,13 @@ called before and after this function, respectively."
(verilog-save-no-change-functions
(verilog-save-scan-cache
;; Allow user to customize
- (run-hooks 'verilog-before-delete-auto-hook)
+ (verilog-run-hooks 'verilog-before-delete-auto-hook)
;; Remove those that have multi-line insertions, possibly with parameters
+ ;; We allow anything beginning with AUTO, so that users can add their own
+ ;; patterns
(verilog-auto-re-search-do
- (concat "/\\*"
- (eval-when-compile
- (verilog-regexp-words
- `("AUTOASCIIENUM" "AUTOCONCATCOMMENT" "AUTODEFINEVALUE"
- "AUTOINOUT" "AUTOINOUTCOMP" "AUTOINOUTMODULE"
- "AUTOINPUT" "AUTOINSERTLISP" "AUTOOUTPUT" "AUTOOUTPUTEVERY"
- "AUTOREG" "AUTOREGINPUT" "AUTORESET" "AUTOTIEOFF"
- "AUTOUNUSED" "AUTOWIRE")))
+ (concat "/\\*AUTO[A-Za-z0-9_]+"
;; Optional parens or quoted parameter or .* for (((...)))
"\\(\\|([^)]*)\\|(\"[^\"]*\")\\).*?"
"\\*/")
@@ -9169,11 +9765,11 @@ called before and after this function, respectively."
'verilog-delete-auto-star-all)
;; Remove template comments ... anywhere in case was pasted after AUTOINST removed
(goto-char (point-min))
- (while (re-search-forward "\\s-*// \\(Templated\\|Implicit \\.\\*\\)[ \tLT0-9]*$" nil t)
+ (while (re-search-forward "\\s-*// \\(Templated\\|Implicit \\.\\*\\)\\([ \tLT0-9]*\\| LHS: .*\\)?$" nil t)
(replace-match ""))
;; Final customize
- (run-hooks 'verilog-delete-auto-hook)))))
+ (verilog-run-hooks 'verilog-delete-auto-hook)))))
;;
;; Auto inject
@@ -9235,7 +9831,7 @@ Typing \\[verilog-inject-auto] will make this into:
(when (not (re-search-forward "/\\*AUTOARG\\*/" endmodp t))
(verilog-re-search-forward-quick ";" nil t)
(backward-char 1)
- (verilog-backward-syntactic-ws)
+ (verilog-backward-syntactic-ws-quick)
(backward-char 1) ; Moves to paren that closes argdecl's
(when (looking-at ")")
(verilog-insert "/*AUTOARG*/")))))))
@@ -9251,9 +9847,9 @@ Typing \\[verilog-inject-auto] will make this into:
pre-sigs
got-sigs)
(backward-char 1)
- (forward-sexp 1)
+ (verilog-forward-sexp-ign-cmt 1)
(backward-char 1) ;; End )
- (when (not (verilog-re-search-backward "/\\*\\(AUTOSENSE\\|AS\\)\\*/" start-pt t))
+ (when (not (verilog-re-search-backward-quick "/\\*\\(AUTOSENSE\\|AS\\)\\*/" start-pt t))
(setq pre-sigs (verilog-signals-from-signame
(verilog-read-signals start-pt (point)))
got-sigs (verilog-auto-sense-sigs moddecls nil))
@@ -9277,12 +9873,12 @@ Typing \\[verilog-inject-auto] will make this into:
(forward-char 1)
(let ((indent-pt (+ (current-column)))
(end-pt (save-excursion (verilog-forward-close-paren) (point))))
- (cond ((verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-pt t)
+ (cond ((verilog-re-search-forward-quick "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-pt t)
(goto-char end-pt)) ;; Already there, continue search with next instance
(t
;; Delete identical interconnect
(let ((case-fold-search nil)) ;; So we don't convert upper-to-lower, etc
- (while (verilog-re-search-forward "\\.\\s *\\([a-zA-Z0-9`_\$]+\\)*\\s *(\\s *\\1\\s *)\\s *" end-pt t)
+ (while (verilog-re-search-forward-quick "\\.\\s *\\([a-zA-Z0-9`_\$]+\\)*\\s *(\\s *\\1\\s *)\\s *" end-pt t)
(delete-region (match-beginning 0) (match-end 0))
(setq end-pt (- end-pt (- (match-end 0) (match-beginning 0)))) ;; Keep it correct
(while (or (looking-at "[ \t\n\f,]+")
@@ -9298,6 +9894,131 @@ Typing \\[verilog-inject-auto] will make this into:
(verilog-insert-indent "/*AUTOINST*/")))))))))
;;
+;; Auto diff
+;;
+
+(defun verilog-diff-buffers-p (b1 b2 &optional whitespace)
+ "Return nil if buffers B1 and B2 have same contents.
+Else, return point in B1 that first mismatches.
+If optional WHITESPACE true, ignore whitespace."
+ (save-excursion
+ (let* ((case-fold-search nil) ;; compare-buffer-substrings cares
+ (p1 (with-current-buffer b1 (goto-char (point-min))))
+ (p2 (with-current-buffer b2 (goto-char (point-min))))
+ (maxp1 (with-current-buffer b1 (point-max)))
+ (maxp2 (with-current-buffer b2 (point-max)))
+ (op1 -1) (op2 -1)
+ progress size)
+ (while (not (and (eq p1 op1) (eq p2 op2)))
+ ;; If both windows have whitespace optionally skip over it.
+ (when whitespace
+ ;; skip-syntax-* doesn't count \n
+ (with-current-buffer b1
+ (goto-char p1)
+ (skip-chars-forward " \t\n\r\f\v")
+ (setq p1 (point)))
+ (with-current-buffer b2
+ (goto-char p2)
+ (skip-chars-forward " \t\n\r\f\v")
+ (setq p2 (point))))
+ (setq size (min (- maxp1 p1) (- maxp2 p2)))
+ (setq progress (compare-buffer-substrings b2 p2 (+ size p2)
+ b1 p1 (+ size p1)))
+ (setq progress (if (zerop progress) size (1- (abs progress))))
+ (setq op1 p1 op2 p2
+ p1 (+ p1 progress)
+ p2 (+ p2 progress)))
+ ;; Return value
+ (if (and (eq p1 maxp1) (eq p2 maxp2))
+ nil p1))))
+
+(defun verilog-diff-file-with-buffer (f1 b2 &optional whitespace show)
+ "View the differences between file F1 and buffer B2.
+This requires the external program `diff-command' to be in your `exec-path',
+and uses `diff-switches' in which you may want to have \"-u\" flag.
+Ignores WHITESPACE if t, and writes output to stdout if SHOW."
+ ;; Similar to `diff-buffer-with-file' but works on XEmacs, and doesn't
+ ;; call `diff' as `diff' has different calling semantics on different
+ ;; versions of Emacs.
+ (if (not (file-exists-p f1))
+ (message "Buffer %s has no associated file on disc" (buffer-name b2))
+ (with-temp-buffer "*Verilog-Diff*"
+ (let ((outbuf (current-buffer))
+ (f2 (make-temp-file "vm-diff-auto-")))
+ (unwind-protect
+ (progn
+ (with-current-buffer b2
+ (save-restriction
+ (widen)
+ (write-region (point-min) (point-max) f2 nil 'nomessage)))
+ (call-process diff-command nil outbuf t
+ diff-switches ;; User may want -u in diff-switches
+ (if whitespace "-b" "")
+ f1 f2)
+ ;; Print out results. Alternatively we could have call-processed
+ ;; ourself, but this way we can reuse diff switches
+ (when show
+ (with-current-buffer outbuf (message "%s" (buffer-string))))))
+ (sit-for 0)
+ (when (file-exists-p f2)
+ (delete-file f2))))))
+
+(defun verilog-diff-report (b1 b2 diffpt)
+ "Report differences detected with `verilog-diff-auto'.
+Differences are between buffers B1 and B2, starting at point
+DIFFPT. This function is called via `verilog-diff-function'."
+ (let ((name1 (with-current-buffer b1 (buffer-file-name))))
+ (message "%%Warning: %s:%d: Difference in AUTO expansion found"
+ name1 (with-current-buffer b1 (1+ (count-lines (point-min) (point)))))
+ (cond (noninteractive
+ (verilog-diff-file-with-buffer name1 b2 t t))
+ (t
+ (ediff-buffers b1 b2)))))
+
+(defun verilog-diff-auto ()
+ "Expand AUTOs in a temporary buffer and indicate any changes.
+Whitespace differences are ignored to determine identicalness, but
+once a difference is detected, whitespace differences may be shown.
+
+To call this from the command line, see \\[verilog-batch-diff-auto].
+
+The action on differences is selected with
+`verilog-diff-function'. The default is `verilog-diff-report'
+which will report an error and run `ediff' in interactive mode,
+or `diff' in batch mode."
+ (interactive)
+ (let ((b1 (current-buffer)) b2 diffpt
+ (name1 (buffer-file-name))
+ (newname "*Verilog-Diff*"))
+ (save-excursion
+ (when (get-buffer newname)
+ (kill-buffer newname))
+ (setq b2 (let (buffer-file-name) ;; Else clone is upset
+ (clone-buffer newname)))
+ (with-current-buffer b2
+ ;; auto requires the filename, but can't have same filename in two
+ ;; buffers; so override both b1 and b2's names
+ (let ((buffer-file-name name1))
+ (unwind-protect
+ (progn
+ (with-current-buffer b1 (setq buffer-file-name nil))
+ (verilog-auto)
+ (when (not verilog-auto-star-save)
+ (verilog-delete-auto-star-implicit)))
+ ;; Restore name if unwind
+ (with-current-buffer b1 (setq buffer-file-name name1)))))
+ ;;
+ (setq diffpt (verilog-diff-buffers-p b1 b2 t))
+ (cond ((not diffpt)
+ (unless noninteractive (message "AUTO expansion identical"))
+ (kill-buffer newname)) ;; Nice to cleanup after oneself
+ (t
+ (funcall verilog-diff-function b1 b2 diffpt)))
+ ;; Return result of compare
+ diffpt)))
+
+
+;;
;; Auto save
;;
@@ -9483,14 +10204,19 @@ If PAR-VALUES replace final strings with these parameter values."
(concat "\\<" (nth 0 (car check-values)) "\\>")
(concat "(" (nth 1 (car check-values)) ")")
t t vl-bits)
+ vl-mbits (verilog-string-replace-matches
+ (concat "\\<" (nth 0 (car check-values)) "\\>")
+ (concat "(" (nth 1 (car check-values)) ")")
+ t t vl-mbits)
check-values (cdr check-values)))
- (setq vl-bits (verilog-simplify-range-expression vl-bits))) ; Not in the loop for speed
+ (setq vl-bits (verilog-simplify-range-expression vl-bits)
+ vl-mbits (verilog-simplify-range-expression vl-mbits)
+ vl-width (verilog-make-width-expression vl-bits))) ; Not in the loop for speed
;; Default net value if not found
(setq tpl-net (concat port
(if vl-modport (concat "." vl-modport) "")
(if (verilog-sig-multidim port-st)
- (concat "/*" (verilog-sig-multidim-string port-st)
- vl-bits "*/")
+ (concat "/*" vl-mbits vl-bits "*/")
(concat vl-bits))))
;; Find template
(cond (tpl-ass ; Template of exact port name
@@ -9536,20 +10262,37 @@ If PAR-VALUES replace final strings with these parameter values."
(cond (tpl-ass
(indent-to (+ (if (< verilog-auto-inst-column 48) 24 16)
verilog-auto-inst-column))
- (if verilog-auto-inst-template-numbers
- (verilog-insert " // Templated"
- " T" (int-to-string (nth 2 tpl-ass))
- " L" (int-to-string (nth 3 tpl-ass)))
- (verilog-insert " // Templated")))
+ ;; verilog-insert requires the complete comment in one call - including the newline
+ (cond ((equal verilog-auto-inst-template-numbers `lhs)
+ (verilog-insert " // Templated"
+ " LHS: " (nth 0 tpl-ass)
+ "\n"))
+ (verilog-auto-inst-template-numbers
+ (verilog-insert " // Templated"
+ " T" (int-to-string (nth 2 tpl-ass))
+ " L" (int-to-string (nth 3 tpl-ass))
+ "\n"))
+ (t
+ (verilog-insert " // Templated\n"))))
(for-star
(indent-to (+ (if (< verilog-auto-inst-column 48) 24 16)
verilog-auto-inst-column))
- (verilog-insert " // Implicit .\*"))) ;For some reason the . or * must be escaped...
- (insert "\n")))
+ (verilog-insert " // Implicit .\*\n")) ;For some reason the . or * must be escaped...
+ (t
+ (insert "\n")))))
;;(verilog-auto-inst-port (list "foo" "[5:0]") 10 (list (list "foo" "a@\"(% (+ @ 1) 4)\"a")) "3")
;;(x "incom[@\"(+ (* 8 @) 7)\":@\"(* 8 @)\"]")
;;(x ".out (outgo[@\"(concat (+ (* 8 @) 7) \\\":\\\" ( * 8 @))\"]));")
+(defun verilog-auto-inst-port-list (sig-list indent-pt tpl-list tpl-num for-star par-values)
+ "For `verilog-auto-inst' print a list of ports using `verilog-auto-inst-port'."
+ (when verilog-auto-inst-sort
+ (setq sig-list (sort (copy-alist sig-list) `verilog-signals-sort-compare)))
+ (mapc (lambda (port)
+ (verilog-auto-inst-port port indent-pt
+ tpl-list tpl-num for-star par-values))
+ sig-list))
+
(defun verilog-auto-inst-first ()
"Insert , etc before first ever port in this instant, as part of \\[verilog-auto-inst]."
;; Do we need a trailing comma?
@@ -9558,7 +10301,7 @@ If PAR-VALUES replace final strings with these parameter values."
;; Insert first port on new line
(insert "\n") ;; Must insert before search, so point will move forward if insert comma
(save-excursion
- (verilog-re-search-backward "[^ \t\n\f]" nil nil)
+ (verilog-re-search-backward-quick "[^ \t\n\f]" nil nil)
(when (looking-at ")\\|\\*") ;; Generally don't insert, unless we are fairly sure
(forward-char 1)
(insert ","))))
@@ -9592,6 +10335,9 @@ If `verilog-auto-star-expand' is set, also expand SystemVerilog .* ports,
and delete them before saving unless `verilog-auto-star-save' is set.
See `verilog-auto-star' for more information.
+The pins are printed in declaration order or alphabetically,
+based on the `verilog-auto-inst-sort' variable.
+
Limitations:
Module names must be resolvable to filenames by adding a
`verilog-library-extensions', and being found in the same directory, or
@@ -9719,6 +10465,22 @@ Templates:
.NotInTemplate (NotInTemplate),
.ptl_bus (ptl_busnew[3:0]), // Templated
....
+
+
+Multiple Module Templates:
+
+ The same template lines can be applied to multiple modules with
+ the syntax as follows:
+
+ /* InstModuleA AUTO_TEMPLATE
+ InstModuleB AUTO_TEMPLATE
+ InstModuleC AUTO_TEMPLATE
+ InstModuleD AUTO_TEMPLATE (
+ .ptl_bus (ptl_busnew[]),
+ );
+ */
+
+ Note there is only one AUTO_TEMPLATE opening parenthesis.
@ Templates:
@@ -9899,18 +10661,15 @@ For more information see the \\[verilog-faq] and forums at URL
;; Find submodule's signals and dump
(let ((sig-list (and (equal (verilog-modi-get-type submodi) "interface")
(verilog-signals-not-in
- (append (verilog-decls-get-wires submoddecls)
- (verilog-decls-get-regs submoddecls))
+ (verilog-decls-get-vars submoddecls)
skip-pins)))
(vl-dir "interfaced"))
(when sig-list
(when (not did-first) (verilog-auto-inst-first) (setq did-first t))
;; Note these are searched for in verilog-read-sub-decls.
(verilog-insert-indent "// Interfaced\n")
- (mapc (lambda (port)
- (verilog-auto-inst-port port indent-pt
- tpl-list tpl-num for-star par-values))
- sig-list)))
+ (verilog-auto-inst-port-list sig-list indent-pt
+ tpl-list tpl-num for-star par-values)))
(let ((sig-list (verilog-signals-not-in
(verilog-decls-get-interfaces submoddecls)
skip-pins))
@@ -9919,10 +10678,8 @@ For more information see the \\[verilog-faq] and forums at URL
(when (not did-first) (verilog-auto-inst-first) (setq did-first t))
;; Note these are searched for in verilog-read-sub-decls.
(verilog-insert-indent "// Interfaces\n")
- (mapc (lambda (port)
- (verilog-auto-inst-port port indent-pt
- tpl-list tpl-num for-star par-values))
- sig-list)))
+ (verilog-auto-inst-port-list sig-list indent-pt
+ tpl-list tpl-num for-star par-values)))
(let ((sig-list (verilog-signals-not-in
(verilog-decls-get-outputs submoddecls)
skip-pins))
@@ -9930,10 +10687,8 @@ For more information see the \\[verilog-faq] and forums at URL
(when sig-list
(when (not did-first) (verilog-auto-inst-first) (setq did-first t))
(verilog-insert-indent "// Outputs\n")
- (mapc (lambda (port)
- (verilog-auto-inst-port port indent-pt
- tpl-list tpl-num for-star par-values))
- sig-list)))
+ (verilog-auto-inst-port-list sig-list indent-pt
+ tpl-list tpl-num for-star par-values)))
(let ((sig-list (verilog-signals-not-in
(verilog-decls-get-inouts submoddecls)
skip-pins))
@@ -9941,10 +10696,8 @@ For more information see the \\[verilog-faq] and forums at URL
(when sig-list
(when (not did-first) (verilog-auto-inst-first) (setq did-first t))
(verilog-insert-indent "// Inouts\n")
- (mapc (lambda (port)
- (verilog-auto-inst-port port indent-pt
- tpl-list tpl-num for-star par-values))
- sig-list)))
+ (verilog-auto-inst-port-list sig-list indent-pt
+ tpl-list tpl-num for-star par-values)))
(let ((sig-list (verilog-signals-not-in
(verilog-decls-get-inputs submoddecls)
skip-pins))
@@ -9952,10 +10705,8 @@ For more information see the \\[verilog-faq] and forums at URL
(when sig-list
(when (not did-first) (verilog-auto-inst-first) (setq did-first t))
(verilog-insert-indent "// Inputs\n")
- (mapc (lambda (port)
- (verilog-auto-inst-port port indent-pt
- tpl-list tpl-num for-star par-values))
- sig-list)))
+ (verilog-auto-inst-port-list sig-list indent-pt
+ tpl-list tpl-num for-star par-values)))
;; Kill extra semi
(save-excursion
(cond (did-first
@@ -10058,10 +10809,8 @@ Templates:
(when (not did-first) (verilog-auto-inst-first) (setq did-first t))
;; Note these are searched for in verilog-read-sub-decls.
(verilog-insert-indent "// Parameters\n")
- (mapc (lambda (port)
- (verilog-auto-inst-port port indent-pt
- tpl-list tpl-num nil nil))
- sig-list)))
+ (verilog-auto-inst-port-list sig-list indent-pt
+ tpl-list tpl-num nil nil)))
;; Kill extra semi
(save-excursion
(cond (did-first
@@ -10076,7 +10825,8 @@ Templates:
(defun verilog-auto-reg ()
"Expand AUTOREG statements, as part of \\[verilog-auto].
Make reg statements for any output that isn't already declared,
-and isn't a wire output from a block.
+and isn't a wire output from a block. `verilog-auto-wire-type'
+may be used to change the datatype of the declarations.
Limitations:
This ONLY detects outputs of AUTOINSTants (see `verilog-read-sub-decls').
@@ -10111,8 +10861,7 @@ Typing \\[verilog-auto] will make this into:
(modsubdecls (verilog-modi-get-sub-decls modi))
(sig-list (verilog-signals-not-in
(verilog-decls-get-outputs moddecls)
- (append (verilog-decls-get-wires moddecls)
- (verilog-decls-get-regs moddecls)
+ (append (verilog-decls-get-vars moddecls)
(verilog-decls-get-assigns moddecls)
(verilog-decls-get-consts moddecls)
(verilog-decls-get-gparams moddecls)
@@ -10122,8 +10871,7 @@ Typing \\[verilog-auto] will make this into:
(forward-line 1)
(when sig-list
(verilog-insert-indent "// Beginning of automatic regs (for this module's undeclared outputs)\n")
- (verilog-insert-definition sig-list "reg" indent-pt nil)
- (verilog-modi-cache-add-regs modi sig-list)
+ (verilog-insert-definition modi sig-list "reg" indent-pt nil)
(verilog-insert-indent "// End of automatics\n")))))
(defun verilog-auto-reg-input ()
@@ -10173,18 +10921,40 @@ Typing \\[verilog-auto] will make this into:
(verilog-signals-not-in
(append (verilog-subdecls-get-inputs modsubdecls)
(verilog-subdecls-get-inouts modsubdecls))
- (verilog-decls-get-signals moddecls)))))
+ (append (verilog-decls-get-signals moddecls)
+ (verilog-decls-get-assigns moddecls))))))
(forward-line 1)
(when sig-list
(verilog-insert-indent "// Beginning of automatic reg inputs (for undeclared instantiated-module inputs)\n")
- (verilog-insert-definition sig-list "reg" indent-pt nil)
- (verilog-modi-cache-add-regs modi sig-list)
+ (verilog-insert-definition modi sig-list "reg" indent-pt nil)
(verilog-insert-indent "// End of automatics\n")))))
+(defun verilog-auto-logic ()
+ "Expand AUTOLOGIC statements, as part of \\[verilog-auto].
+Make wire statements using the SystemVerilog logic keyword.
+This is currently equivelent to:
+
+ /*AUTOWIRE*/
+
+with the below at the bottom of the file
+
+ // Local Variables:
+ // verilog-auto-logic-type:\"logic\"
+ // End:
+
+In the future AUTOLOGIC may declare additional identifiers,
+while AUTOWIRE will not."
+ (save-excursion
+ (unless verilog-auto-wire-type
+ (set (make-local-variable 'verilog-auto-wire-type)
+ "logic"))
+ (verilog-auto-wire)))
+
(defun verilog-auto-wire ()
"Expand AUTOWIRE statements, as part of \\[verilog-auto].
Make wire statements for instantiations outputs that aren't
-already declared.
+already declared. `verilog-auto-wire-type' may be used to change
+the datatype of the declarations.
Limitations:
This ONLY detects outputs of AUTOINSTants (see `verilog-read-sub-decls'),
@@ -10240,15 +11010,13 @@ Typing \\[verilog-auto] will make this into:
(forward-line 1)
(when sig-list
(verilog-insert-indent "// Beginning of automatic wires (for undeclared instantiated-module outputs)\n")
- (verilog-insert-definition sig-list "wire" indent-pt nil)
- (verilog-modi-cache-add-wires modi sig-list)
+ (verilog-insert-definition modi sig-list "wire" indent-pt nil)
(verilog-insert-indent "// End of automatics\n")
- (when nil ;; Too slow on huge modules, plus makes everyone's module change
- (beginning-of-line)
- (setq pnt (point))
- (verilog-pretty-declarations quiet)
- (goto-char pnt)
- (verilog-pretty-expr t "//"))))))
+ ;; We used to optionally call verilog-pretty-declarations and
+ ;; verilog-pretty-expr here, but it's too slow on huge modules,
+ ;; plus makes everyone's module change. Finally those call
+ ;; syntax-ppss which is broken when change hooks are disabled.
+ ))))
(defun verilog-auto-output (&optional with-params)
"Expand AUTOOUTPUT statements, as part of \\[verilog-auto].
@@ -10304,7 +11072,7 @@ same expansion will result from only extracting outputs starting with ov:
(let* ((indent-pt (current-indentation))
(regexp (and with-params
(nth 0 (verilog-read-auto-params 1))))
- (v2k (verilog-in-paren))
+ (v2k (verilog-in-paren-quick))
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(modsubdecls (verilog-modi-get-sub-decls modi))
@@ -10323,8 +11091,7 @@ same expansion will result from only extracting outputs starting with ov:
(when v2k (verilog-repair-open-comma))
(when sig-list
(verilog-insert-indent "// Beginning of automatic outputs (from unused autoinst outputs)\n")
- (verilog-insert-definition sig-list "output" indent-pt v2k)
- (verilog-modi-cache-add-outputs modi sig-list)
+ (verilog-insert-definition modi sig-list "output" indent-pt v2k)
(verilog-insert-indent "// End of automatics\n"))
(when v2k (verilog-repair-close-comma)))))
@@ -10363,7 +11130,7 @@ Typing \\[verilog-auto] will make this into:
(save-excursion
;;Point must be at insertion point
(let* ((indent-pt (current-indentation))
- (v2k (verilog-in-paren))
+ (v2k (verilog-in-paren-quick))
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(sig-list (verilog-signals-combine-bus
@@ -10374,8 +11141,7 @@ Typing \\[verilog-auto] will make this into:
(when v2k (verilog-repair-open-comma))
(when sig-list
(verilog-insert-indent "// Beginning of automatic outputs (every signal)\n")
- (verilog-insert-definition sig-list "output" indent-pt v2k)
- (verilog-modi-cache-add-outputs modi sig-list)
+ (verilog-insert-definition modi sig-list "output" indent-pt v2k)
(verilog-insert-indent "// End of automatics\n"))
(when v2k (verilog-repair-close-comma)))))
@@ -10432,7 +11198,7 @@ same expansion will result from only extracting inputs starting with i:
(let* ((indent-pt (current-indentation))
(regexp (and with-params
(nth 0 (verilog-read-auto-params 1))))
- (v2k (verilog-in-paren))
+ (v2k (verilog-in-paren-quick))
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(modsubdecls (verilog-modi-get-sub-decls modi))
@@ -10440,8 +11206,7 @@ same expansion will result from only extracting inputs starting with i:
(verilog-subdecls-get-inputs modsubdecls)
(append (verilog-decls-get-inputs moddecls)
(verilog-decls-get-inouts moddecls)
- (verilog-decls-get-wires moddecls)
- (verilog-decls-get-regs moddecls)
+ (verilog-decls-get-vars moddecls)
(verilog-decls-get-consts moddecls)
(verilog-decls-get-gparams moddecls)
(verilog-subdecls-get-interfaced modsubdecls)
@@ -10456,8 +11221,7 @@ same expansion will result from only extracting inputs starting with i:
(when v2k (verilog-repair-open-comma))
(when sig-list
(verilog-insert-indent "// Beginning of automatic inputs (from unused autoinst inputs)\n")
- (verilog-insert-definition sig-list "input" indent-pt v2k)
- (verilog-modi-cache-add-inputs modi sig-list)
+ (verilog-insert-definition modi sig-list "input" indent-pt v2k)
(verilog-insert-indent "// End of automatics\n"))
(when v2k (verilog-repair-close-comma)))))
@@ -10514,7 +11278,7 @@ same expansion will result from only extracting inouts starting with i:
(let* ((indent-pt (current-indentation))
(regexp (and with-params
(nth 0 (verilog-read-auto-params 1))))
- (v2k (verilog-in-paren))
+ (v2k (verilog-in-paren-quick))
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(modsubdecls (verilog-modi-get-sub-decls modi))
@@ -10534,18 +11298,18 @@ same expansion will result from only extracting inouts starting with i:
(when v2k (verilog-repair-open-comma))
(when sig-list
(verilog-insert-indent "// Beginning of automatic inouts (from unused autoinst inouts)\n")
- (verilog-insert-definition sig-list "inout" indent-pt v2k)
- (verilog-modi-cache-add-inouts modi sig-list)
+ (verilog-insert-definition modi sig-list "inout" indent-pt v2k)
(verilog-insert-indent "// End of automatics\n"))
(when v2k (verilog-repair-close-comma)))))
-(defun verilog-auto-inout-module (&optional complement)
+(defun verilog-auto-inout-module (&optional complement all-in)
"Expand AUTOINOUTMODULE statements, as part of \\[verilog-auto].
Take input/output/inout statements from the specified module and insert
into the current module. This is useful for making null templates and
shell modules which need to have identical I/O with another module.
Any I/O which are already defined in this module will not be redefined.
-For the complement of this function, see `verilog-auto-inout-comp'.
+For the complement of this function, see `verilog-auto-inout-comp',
+and to make monitors with all inputs, see `verilog-auto-inout-in'.
Limitations:
If placed inside the parenthesis of a module declaration, it creates
@@ -10610,22 +11374,29 @@ against the previous example's module:
;; Note this may raise an error
(when (setq submodi (verilog-modi-lookup submod t))
(let* ((indent-pt (current-indentation))
- (v2k (verilog-in-paren))
+ (v2k (verilog-in-paren-quick))
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(submoddecls (verilog-modi-get-decls submodi))
(sig-list-i (verilog-signals-not-in
- (if complement
- (verilog-decls-get-outputs submoddecls)
- (verilog-decls-get-inputs submoddecls))
+ (cond (all-in
+ (append
+ (verilog-decls-get-inputs submoddecls)
+ (verilog-decls-get-inouts submoddecls)
+ (verilog-decls-get-outputs submoddecls)))
+ (complement
+ (verilog-decls-get-outputs submoddecls))
+ (t (verilog-decls-get-inputs submoddecls)))
(append (verilog-decls-get-inputs moddecls))))
(sig-list-o (verilog-signals-not-in
- (if complement
- (verilog-decls-get-inputs submoddecls)
- (verilog-decls-get-outputs submoddecls))
+ (cond (all-in nil)
+ (complement
+ (verilog-decls-get-inputs submoddecls))
+ (t (verilog-decls-get-outputs submoddecls)))
(append (verilog-decls-get-outputs moddecls))))
(sig-list-io (verilog-signals-not-in
- (verilog-decls-get-inouts submoddecls)
+ (cond (all-in nil)
+ (t (verilog-decls-get-inouts submoddecls)))
(append (verilog-decls-get-inouts moddecls))))
(sig-list-if (verilog-signals-not-in
(verilog-decls-get-interfaces submoddecls)
@@ -10647,13 +11418,10 @@ against the previous example's module:
(when (or sig-list-i sig-list-o sig-list-io)
(verilog-insert-indent "// Beginning of automatic in/out/inouts (from specific module)\n")
;; Don't sort them so a upper AUTOINST will match the main module
- (verilog-insert-definition sig-list-o "output" indent-pt v2k t)
- (verilog-insert-definition sig-list-io "inout" indent-pt v2k t)
- (verilog-insert-definition sig-list-i "input" indent-pt v2k t)
- (verilog-insert-definition sig-list-if "interface" indent-pt v2k t)
- (verilog-modi-cache-add-inputs modi sig-list-i)
- (verilog-modi-cache-add-outputs modi sig-list-o)
- (verilog-modi-cache-add-inouts modi sig-list-io)
+ (verilog-insert-definition modi sig-list-o "output" indent-pt v2k t)
+ (verilog-insert-definition modi sig-list-io "inout" indent-pt v2k t)
+ (verilog-insert-definition modi sig-list-i "input" indent-pt v2k t)
+ (verilog-insert-definition modi sig-list-if "interface" indent-pt v2k t)
(verilog-insert-indent "// End of automatics\n"))
(when v2k (verilog-repair-close-comma)))))))
@@ -10707,7 +11475,58 @@ signals matching the regular expression will be included. For example the
same expansion will result from only extracting signals starting with i:
/*AUTOINOUTCOMP(\"ExampMain\",\"^i\")*/"
- (verilog-auto-inout-module t))
+ (verilog-auto-inout-module t nil))
+
+(defun verilog-auto-inout-in ()
+ "Expand AUTOINOUTIN statements, as part of \\[verilog-auto].
+Take input/output/inout statements from the specified module and
+insert them as all inputs into the current module. This is
+useful for making monitor modules which need to see all signals
+as inputs based on another module. Any I/O which are already
+defined in this module will not be redefined. See also
+`verilog-auto-inout-module'.
+
+Limitations:
+ If placed inside the parenthesis of a module declaration, it creates
+ Verilog 2001 style, else uses Verilog 1995 style.
+
+ Concatenation and outputting partial busses is not supported.
+
+ Module names must be resolvable to filenames. See `verilog-auto-inst'.
+
+ Signals are not inserted in the same order as in the original module,
+ though they will appear to be in the same order to a AUTOINST
+ instantiating either module.
+
+An example:
+
+ module ExampShell (/*AUTOARG*/);
+ /*AUTOINOUTIN(\"ExampMain\")*/
+ endmodule
+
+ module ExampMain (i,o,io);
+ input i;
+ output o;
+ inout io;
+ endmodule
+
+Typing \\[verilog-auto] will make this into:
+
+ module ExampShell (/*AUTOARG*/i,o,io);
+ /*AUTOINOUTIN(\"ExampMain\")*/
+ // Beginning of automatic in/out/inouts (from specific module)
+ input i;
+ input io;
+ input o;
+ // End of automatics
+ endmodule
+
+You may also provide an optional regular expression, in which case only
+signals matching the regular expression will be included. For example the
+same expansion will result from only extracting signals starting with i:
+
+ /*AUTOINOUTCOMP(\"ExampMain\",\"^i\")*/"
+ (verilog-auto-inout-module nil t))
(defun verilog-auto-insert-lisp ()
"Expand AUTOINSERTLISP statements, as part of \\[verilog-auto].
@@ -10756,7 +11575,7 @@ text:
(forward-char)
(point))) ;; Closing paren
(cmd-beg-pt (save-excursion (goto-char cmd-end-pt)
- (backward-sexp 1)
+ (backward-sexp 1) ;; Inside comment
(point))) ;; Beginning paren
(cmd (buffer-substring-no-properties cmd-beg-pt cmd-end-pt)))
(forward-line 1)
@@ -10776,7 +11595,9 @@ text:
(sig-list (verilog-signals-not-params
(verilog-signals-not-in (verilog-alw-get-inputs sigss)
(append (and (not verilog-auto-sense-include-inputs)
- (verilog-alw-get-outputs sigss))
+ (verilog-alw-get-outputs-delayed sigss))
+ (and (not verilog-auto-sense-include-inputs)
+ (verilog-alw-get-outputs-immediate sigss))
(verilog-alw-get-temps sigss)
(verilog-decls-get-consts moddecls)
(verilog-decls-get-gparams moddecls)
@@ -10840,7 +11661,7 @@ operator. (This was added to the language in part due to AUTOSENSE!)
(save-excursion
;; Find beginning
(let* ((start-pt (save-excursion
- (verilog-re-search-backward "(" nil t)
+ (verilog-re-search-backward-quick "(" nil t)
(point)))
(indent-pt (save-excursion
(or (and (goto-char start-pt) (1+ (current-column)))
@@ -10848,9 +11669,7 @@ operator. (This was added to the language in part due to AUTOSENSE!)
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(sig-memories (verilog-signals-memory
- (append
- (verilog-decls-get-regs moddecls)
- (verilog-decls-get-wires moddecls))))
+ (verilog-decls-get-vars moddecls)))
sig-list not-first presense-sigs)
;; Read signals in always, eliminate outputs from sense list
(setq presense-sigs (verilog-signals-from-signame
@@ -10863,11 +11682,11 @@ operator. (This was added to the language in part due to AUTOSENSE!)
(if (not (eq tlen (length sig-list))) (verilog-insert " /*memory or*/ "))))
(if (and presense-sigs ;; Add a "or" if not "(.... or /*AUTOSENSE*/"
(save-excursion (goto-char (point))
- (verilog-re-search-backward "[a-zA-Z0-9$_.%`]+" start-pt t)
- (verilog-re-search-backward "\\s-" start-pt t)
+ (verilog-re-search-backward-quick "[a-zA-Z0-9$_.%`]+" start-pt t)
+ (verilog-re-search-backward-quick "\\s-" start-pt t)
(while (looking-at "\\s-`endif")
- (verilog-re-search-backward "[a-zA-Z0-9$_.%`]+" start-pt t)
- (verilog-re-search-backward "\\s-" start-pt t))
+ (verilog-re-search-backward-quick "[a-zA-Z0-9$_.%`]+" start-pt t)
+ (verilog-re-search-backward-quick "\\s-" start-pt t))
(not (looking-at "\\s-or\\b"))))
(setq not-first t))
(setq sig-list (sort sig-list `verilog-signals-sort-compare))
@@ -10889,9 +11708,13 @@ registers set elsewhere in the always block.
Limitations:
AUTORESET will not clear memories.
- AUTORESET uses <= if there are any <= assignments in the block,
+ AUTORESET uses <= if the signal has a <= assignment in the block,
else it uses =.
+ If <= is used, all = assigned variables are ignored if
+ `verilog-auto-reset-blocking-in-non' is nil; they are presumed
+ to be temporaries.
+
/*AUTORESET*/ presumes that any signals mentioned between the previous
begin/case/if statement and the AUTORESET comment are being reset manually
and should not be automatically reset. This includes omitting any signals
@@ -10927,12 +11750,12 @@ Typing \\[verilog-auto] will make this into:
/*AUTORESET*/
// Beginning of autoreset for uninitialized flops
a <= 0;
- b <= 0;
+ b = 0; // if `verilog-auto-reset-blocking-in-non' true
// End of automatics
end
else begin
a <= in_a;
- b <= in_b;
+ b = in_b;
c <= in_c;
end
end"
@@ -10944,22 +11767,24 @@ Typing \\[verilog-auto] will make this into:
(modi (verilog-modi-current))
(moddecls (verilog-modi-get-decls modi))
(all-list (verilog-decls-get-signals moddecls))
- sigss sig-list prereset-sigs assignment-str)
+ sigss sig-list dly-list prereset-sigs)
;; Read signals in always, eliminate outputs from reset list
(setq prereset-sigs (verilog-signals-from-signame
(save-excursion
(verilog-read-signals
(save-excursion
- (verilog-re-search-backward "\\(@\\|\\<begin\\>\\|\\<if\\>\\|\\<case\\>\\)" nil t)
+ (verilog-re-search-backward-quick "\\(@\\|\\<begin\\>\\|\\<if\\>\\|\\<case\\>\\)" nil t)
(point))
(point)))))
(save-excursion
- (verilog-re-search-backward "@" nil t)
+ (verilog-re-search-backward-quick "@" nil t)
(setq sigss (verilog-read-always-signals)))
- (setq assignment-str (if (verilog-alw-get-uses-delayed sigss)
- (concat " <= " verilog-assignment-delay)
- " = "))
- (setq sig-list (verilog-signals-not-in (verilog-alw-get-outputs sigss)
+ (setq dly-list (verilog-alw-get-outputs-delayed sigss))
+ (setq sig-list (verilog-signals-not-in (append
+ (verilog-alw-get-outputs-delayed sigss)
+ (when (or (not (verilog-alw-get-uses-delayed sigss))
+ verilog-auto-reset-blocking-in-non)
+ (verilog-alw-get-outputs-immediate sigss)))
(append
(verilog-alw-get-temps sigss)
prereset-sigs)))
@@ -10967,17 +11792,18 @@ Typing \\[verilog-auto] will make this into:
(when sig-list
(insert "\n");
(verilog-insert-indent "// Beginning of autoreset for uninitialized flops\n");
- (indent-to indent-pt)
(while sig-list
(let ((sig (or (assoc (verilog-sig-name (car sig-list)) all-list) ;; As sig-list has no widths
(car sig-list))))
+ (indent-to indent-pt)
(insert (verilog-sig-name sig)
- assignment-str
+ (if (assoc (verilog-sig-name sig) dly-list)
+ (concat " <= " verilog-assignment-delay)
+ " = ")
(verilog-sig-tieoff sig (not verilog-auto-reset-widths))
";\n")
- (indent-to indent-pt)
(setq sig-list (cdr sig-list))))
- (verilog-insert "// End of automatics")))))
+ (verilog-insert-indent "// End of automatics")))))
(defun verilog-auto-tieoff ()
"Expand AUTOTIEOFF statements, as part of \\[verilog-auto].
@@ -10996,6 +11822,9 @@ them to a one.
You can add signals you do not want included in AUTOTIEOFF with
`verilog-auto-tieoff-ignore-regexp'.
+`verilog-auto-wire-type' may be used to change the datatype of
+the declarations.
+
An example of making a stub for another module:
module ExampStub (/*AUTOINST*/);
@@ -11031,8 +11860,7 @@ Typing \\[verilog-auto] will make this into:
(modsubdecls (verilog-modi-get-sub-decls modi))
(sig-list (verilog-signals-not-in
(verilog-decls-get-outputs moddecls)
- (append (verilog-decls-get-wires moddecls)
- (verilog-decls-get-regs moddecls)
+ (append (verilog-decls-get-vars moddecls)
(verilog-decls-get-assigns moddecls)
(verilog-decls-get-consts moddecls)
(verilog-decls-get-gparams moddecls)
@@ -11045,10 +11873,14 @@ Typing \\[verilog-auto] will make this into:
(forward-line 1)
(verilog-insert-indent "// Beginning of automatic tieoffs (for this module's unterminated outputs)\n")
(setq sig-list (sort (copy-alist sig-list) `verilog-signals-sort-compare))
- (verilog-modi-cache-add-wires modi sig-list) ; Before we trash list
+ (verilog-modi-cache-add-vars modi sig-list) ; Before we trash list
(while sig-list
(let ((sig (car sig-list)))
- (verilog-insert-one-definition sig "wire" indent-pt)
+ (cond ((equal verilog-auto-tieoff-declaration "assign")
+ (indent-to indent-pt)
+ (insert "assign " (verilog-sig-name sig)))
+ (t
+ (verilog-insert-one-definition sig verilog-auto-tieoff-declaration indent-pt)))
(indent-to (max 48 (+ indent-pt 40)))
(insert "= " (verilog-sig-tieoff sig)
";\n")
@@ -11151,24 +11983,28 @@ comment. The comment must be between the keyword and the symbol.
\(Annoying, but that's what Synopsys's dc_shell FSM reader requires.)
Next, registers which that enum applies to are also tagged with the same
-enum. Synopsys also suggests labeling state vectors, but `verilog-mode'
-doesn't care.
+enum.
Finally, a AUTOASCIIENUM command is used.
The first parameter is the name of the signal to be decoded.
- If and only if the first parameter width is 2^(number of states
- in enum) and does NOT match the width of the enum, the signal
- is assumed to be a one hot decode. Otherwise, it's a normal
- encoded state vector.
The second parameter is the name to store the ASCII code into. For the
signal foo, I suggest the name _foo__ascii, where the leading _ indicates
a signal that is just for simulation, and the magic characters _ascii
tell viewers like Dinotrace to display in ASCII format.
- The final optional parameter is a string which will be removed from the
- state names.
+ The third optional parameter is a string which will be removed
+ from the state names. It defaults to "" which removes nothing.
+
+ The fourth optional parameter is \"onehot\" to force one-hot
+ decoding. If unspecified, if and only if the first parameter
+ width is 2^(number of states in enum) and does NOT match the
+ width of the enum, the signal is assumed to be a one hot
+ decode. Otherwise, it's a normal encoded state vector.
+
+ `verilog-auto-wire-type' may be used to change the datatype of
+ the declarations.
An example:
@@ -11202,10 +12038,13 @@ Typing \\[verilog-auto] will make this into:
end
// End of automatics"
(save-excursion
- (let* ((params (verilog-read-auto-params 2 3))
+ (let* ((params (verilog-read-auto-params 2 4))
(undecode-name (nth 0 params))
(ascii-name (nth 1 params))
- (elim-regexp (nth 2 params))
+ (elim-regexp (and (nth 2 params)
+ (not (equal (nth 2 params) ""))
+ (nth 2 params)))
+ (one-hot-flag (nth 3 params))
;;
(indent-pt (current-indentation))
(modi (verilog-modi-current))
@@ -11213,11 +12052,10 @@ Typing \\[verilog-auto] will make this into:
;;
(sig-list-consts (append (verilog-decls-get-consts moddecls)
(verilog-decls-get-gparams moddecls)))
- (sig-list-all (append (verilog-decls-get-regs moddecls)
+ (sig-list-all (append (verilog-decls-get-vars moddecls)
(verilog-decls-get-outputs moddecls)
(verilog-decls-get-inouts moddecls)
- (verilog-decls-get-inputs moddecls)
- (verilog-decls-get-wires moddecls)))
+ (verilog-decls-get-inputs moddecls)))
;;
(undecode-sig (or (assoc undecode-name sig-list-all)
(error "%s: Signal %s not found in design" (verilog-point-text) undecode-name)))
@@ -11229,13 +12067,15 @@ Typing \\[verilog-auto] will make this into:
(error "%s: No state definitions for %s" (verilog-point-text) undecode-enum))
nil))
;;
- (one-hot (and ;; width(enum) != width(sig)
- (or (not (verilog-sig-bits (car enum-sigs)))
- (not (equal (verilog-sig-width (car enum-sigs))
- (verilog-sig-width undecode-sig))))
- ;; count(enums) == width(sig)
- (equal (number-to-string (length enum-sigs))
- (verilog-sig-width undecode-sig))))
+ (one-hot (or
+ (string-match "onehot" (or one-hot-flag ""))
+ (and ;; width(enum) != width(sig)
+ (or (not (verilog-sig-bits (car enum-sigs)))
+ (not (equal (verilog-sig-width (car enum-sigs))
+ (verilog-sig-width undecode-sig))))
+ ;; count(enums) == width(sig)
+ (equal (number-to-string (length enum-sigs))
+ (verilog-sig-width undecode-sig)))))
(enum-chars 0)
(ascii-chars 0))
;;
@@ -11252,13 +12092,11 @@ Typing \\[verilog-auto] will make this into:
(verilog-insert-indent "// Beginning of automatic ASCII enum decoding\n")
(let ((decode-sig-list (list (list ascii-name (format "[%d:0]" (- (* ascii-chars 8) 1))
(concat "Decode of " undecode-name) nil nil))))
- (verilog-insert-definition decode-sig-list "reg" indent-pt nil)
- (verilog-modi-cache-add-regs modi decode-sig-list))
+ (verilog-insert-definition modi decode-sig-list "reg" indent-pt nil))
;;
(verilog-insert-indent "always @(" undecode-name ") begin\n")
(setq indent-pt (+ indent-pt verilog-indent-level))
- (indent-to indent-pt)
- (insert "case ({" undecode-name "})\n")
+ (verilog-insert-indent "case ({" undecode-name "})\n")
(setq indent-pt (+ indent-pt verilog-case-indent))
;;
(let ((tmp-sigs enum-sigs)
@@ -11271,7 +12109,9 @@ Typing \\[verilog-auto] will make this into:
(concat
(format chrfmt
(concat (if one-hot "(")
- (if one-hot (verilog-sig-width undecode-sig))
+ ;; Use enum-sigs length as that's numeric
+ ;; verilog-sig-width undecode-sig might not be.
+ (if one-hot (number-to-string (length enum-sigs)))
;; We use a shift instead of var[index]
;; so that a non-one hot value will show as error.
(if one-hot "'b1<<")
@@ -11326,6 +12166,8 @@ following the /*AUTO...*/ command.
Use \\[verilog-delete-auto] to remove the AUTOs.
+Use \\[verilog-diff-auto] to see differences in AUTO expansion.
+
Use \\[verilog-inject-auto] to insert AUTOs for the first time.
Use \\[verilog-faq] for a pointer to frequently asked questions.
@@ -11348,11 +12190,14 @@ Or fix indentation with:
Likewise, you can delete or inject AUTOs with:
emacs --batch <filenames.v> -f verilog-batch-delete-auto
emacs --batch <filenames.v> -f verilog-batch-inject-auto
+Or check if AUTOs have the same expansion
+ emacs --batch <filenames.v> -f verilog-batch-diff-auto
Using \\[describe-function], see also:
`verilog-auto-arg' for AUTOARG module instantiations
`verilog-auto-ascii-enum' for AUTOASCIIENUM enumeration decoding
- `verilog-auto-inout-comp' for AUTOINOUTCOMP copy complemented i/o
+ `verilog-auto-inout-comp' for AUTOINOUTCOMP copy complemented i/o
+ `verilog-auto-inout-in' for AUTOINOUTIN inputs for all i/o
`verilog-auto-inout-module' for AUTOINOUTMODULE copying i/o from elsewhere
`verilog-auto-inout' for AUTOINOUT making hierarchy inouts
`verilog-auto-input' for AUTOINPUT making hierarchy inputs
@@ -11360,6 +12205,7 @@ Using \\[describe-function], see also:
`verilog-auto-inst' for AUTOINST instantiation pins
`verilog-auto-star' for AUTOINST .* SystemVerilog pins
`verilog-auto-inst-param' for AUTOINSTPARAM instantiation params
+ `verilog-auto-logic' for AUTOLOGIC declaring logic signals
`verilog-auto-output' for AUTOOUTPUT making hierarchy outputs
`verilog-auto-output-every' for AUTOOUTPUTEVERY making all outputs
`verilog-auto-reg' for AUTOREG registers
@@ -11402,10 +12248,13 @@ Wilson Snyder (wsnyder@wsnyder.org)."
(verilog-save-no-change-functions
(verilog-save-scan-cache
(save-excursion
+ ;; Wipe cache; otherwise if we AUTOed a block above this one,
+ ;; we'll misremember we have generated IOs, confusing AUTOOUTPUT
+ (setq verilog-modi-cache-list nil)
;; If we're not in verilog-mode, change syntax table so parsing works right
(unless (eq major-mode `verilog-mode) (verilog-mode))
;; Allow user to customize
- (run-hooks 'verilog-before-auto-hook)
+ (verilog-run-hooks 'verilog-before-auto-hook)
;; Try to save the user from needing to revert-file to reread file local-variables
(verilog-auto-reeval-locals)
(verilog-read-auto-lisp-present)
@@ -11445,6 +12294,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
;; first in/outs from other files
(verilog-auto-re-search-do "/\\*AUTOINOUTMODULE([^)]*)\\*/" 'verilog-auto-inout-module)
(verilog-auto-re-search-do "/\\*AUTOINOUTCOMP([^)]*)\\*/" 'verilog-auto-inout-comp)
+ (verilog-auto-re-search-do "/\\*AUTOINOUTIN([^)]*)\\*/" 'verilog-auto-inout-in)
;; next in/outs which need previous sucked inputs first
(verilog-auto-re-search-do "/\\*AUTOOUTPUT\\((\"[^\"]*\")\\)\\*/"
(lambda () (verilog-auto-output t)))
@@ -11458,6 +12308,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
;; Then tie off those in/outs
(verilog-auto-re-search-do "/\\*AUTOTIEOFF\\*/" 'verilog-auto-tieoff)
;; Wires/regs must be after inputs/outputs
+ (verilog-auto-re-search-do "/\\*AUTOLOGIC\\*/" 'verilog-auto-logic)
(verilog-auto-re-search-do "/\\*AUTOWIRE\\*/" 'verilog-auto-wire)
(verilog-auto-re-search-do "/\\*AUTOREG\\*/" 'verilog-auto-reg)
(verilog-auto-re-search-do "/\\*AUTOREGINPUT\\*/" 'verilog-auto-reg-input)
@@ -11471,7 +12322,10 @@ Wilson Snyder (wsnyder@wsnyder.org)."
(when verilog-auto-inst-template-numbers
(verilog-auto-templated-rel))))
;;
- (run-hooks 'verilog-auto-hook)
+ (verilog-run-hooks 'verilog-auto-hook)
+ ;;
+ (when verilog-auto-delete-trailing-whitespace
+ (verilog-delete-trailing-whitespace))
;;
(set (make-local-variable 'verilog-auto-update-tick) (buffer-chars-modified-tick))
;;
@@ -11502,10 +12356,12 @@ Wilson Snyder (wsnyder@wsnyder.org)."
(define-key map "i" 'verilog-sk-initial)
(define-key map "j" 'verilog-sk-fork)
(define-key map "m" 'verilog-sk-module)
+ (define-key map "o" 'verilog-sk-ovm-class)
(define-key map "p" 'verilog-sk-primitive)
(define-key map "r" 'verilog-sk-repeat)
(define-key map "s" 'verilog-sk-specify)
(define-key map "t" 'verilog-sk-task)
+ (define-key map "u" 'verilog-sk-uvm-class)
(define-key map "w" 'verilog-sk-while)
(define-key map "x" 'verilog-sk-casex)
(define-key map "z" 'verilog-sk-casez)
@@ -11531,7 +12387,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
;; may want to consider moving the binding to another key in your .emacs
;; file.
;;
-;(define-key verilog-mode-map "\C-ct" verilog-template-map)
+;; Note \C-c and letter are reserved for users
(define-key verilog-mode-map "\C-c\C-t" verilog-template-map)
;;; ---- statement skeletons ------------------------------------------
@@ -11571,7 +12427,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
"output: " str)
(define-skeleton verilog-sk-prompt-msb
- "Prompt for least significant bit specification."
+ "Prompt for most significant bit specification."
"msb:" str & ?: & '(verilog-sk-prompt-lsb) | -1 )
(define-skeleton verilog-sk-prompt-lsb
@@ -11616,6 +12472,38 @@ See also `verilog-header' for an alternative format."
> _ \n
> (- verilog-indent-level-behavioral) "endmodule" (progn (electric-verilog-terminate-line) nil))
+;;; ------------------------------------------------------------------------
+;;; Define a default OVM class, with macros and new()
+;;; ------------------------------------------------------------------------
+
+(define-skeleton verilog-sk-ovm-class
+ "Insert a class definition"
+ ()
+ > "class " (setq name (skeleton-read "Name: ")) " extends " (skeleton-read "Extends: ") ";" \n
+ > _ \n
+ > "`ovm_object_utils_begin(" name ")" \n
+ > (- verilog-indent-level) " `ovm_object_utils_end" \n
+ > _ \n
+ > "function new(name=\"" name "\");" \n
+ > "super.new(name);" \n
+ > (- verilog-indent-level) "endfunction" \n
+ > _ \n
+ > "endclass" (progn (electric-verilog-terminate-line) nil))
+
+(define-skeleton verilog-sk-uvm-class
+ "Insert a class definition"
+ ()
+ > "class " (setq name (skeleton-read "Name: ")) " extends " (skeleton-read "Extends: ") ";" \n
+ > _ \n
+ > "`uvm_object_utils_begin(" name ")" \n
+ > (- verilog-indent-level) " `uvm_object_utils_end" \n
+ > _ \n
+ > "function new(name=\"" name "\");" \n
+ > "super.new(name);" \n
+ > (- verilog-indent-level) "endfunction" \n
+ > _ \n
+ > "endclass" (progn (electric-verilog-terminate-line) nil))
+
(define-skeleton verilog-sk-primitive
"Insert a task definition."
()
@@ -11918,10 +12806,10 @@ Clicking on the middle-mouse button loads them in a buffer (as in dired)."
;; This scanner is syntax-fragile, so don't get bent
(when verilog-highlight-modules
(condition-case nil
- (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-point t)
+ (while (verilog-re-search-forward-quick "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-point t)
(save-excursion
(goto-char (match-beginning 0))
- (unless (verilog-inside-comment-p)
+ (unless (verilog-inside-comment-or-string-p)
(verilog-read-inst-module-matcher) ;; sets match 0
(let* ((ov (make-overlay (match-beginning 0) (match-end 0))))
(overlay-put ov 'start-closed 't)
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index cd2d45b7856..a81cc107ce3 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -1714,7 +1714,7 @@ an absolute path (i.e. all caches can be stored in one global directory)."
(defgroup vhdl-menu nil
- "Customizations for menues."
+ "Customizations for menus."
:group 'vhdl)
(defcustom vhdl-index-menu nil
@@ -1844,7 +1844,7 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry
;; Internal variables
(defvar vhdl-menu-max-size 20
- "*Specifies the maximum size of a menu before splitting it into submenues.")
+ "*Specifies the maximum size of a menu before splitting it into submenus.")
(defvar vhdl-progress-interval 1
"*Interval used to update progress status during long operations.
@@ -2468,7 +2468,7 @@ conversion."
(goto-char marker))
(defun vhdl-menu-split (list title)
- "Split menu LIST into several submenues, if number of
+ "Split menu LIST into several submenus, if number of
elements > `vhdl-menu-max-size'."
(if (> (length list) vhdl-menu-max-size)
(let ((remain list)
@@ -4266,7 +4266,7 @@ Usage:
CODE BEAUTIFICATION:
`C-c M-b' and `C-c C-b' beautify the code of a region or of the entire
- buffer respectively. This inludes indentation, alignment, and case
+ buffer respectively. This includes indentation, alignment, and case
fixing. Code beautification can also be run non-interactively using the
command:
@@ -16857,7 +16857,7 @@ User Options
`vhdl-configuration-file-name': (new)
Specify how the configuration file name is obtained.
`vhdl-compose-configuration-name': (new)
- Specify how the configuration name is optained.
+ Specify how the configuration name is obtained.
`vhdl-compose-configuration-create-file': (new)
Specify whether a new file should be created for a configuration.
`vhdl-compose-configuration-hierarchical': (new)
diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el
index c0e4d68107b..db5b57f8585 100644
--- a/lisp/ps-mule.el
+++ b/lisp/ps-mule.el
@@ -366,7 +366,7 @@ See also `ps-mule-font-info-database-bdf'.")
;; character is printed by which FONT-SPEC. It has one extra slot
;; whose value is an alist of the form:
;; (CHARSET . FONT-SPEC)
-;; FONT-SPEC is a vecotr of the form:
+;; FONT-SPEC is a vector of the form:
;; (ID FONT-SRC FONT-NAME ENCODING EXTRA)
(defvar ps-mule-font-spec-tables nil)
@@ -932,7 +932,7 @@ the sequence."
(list ps-mule-bitmap-prologue)))
(defun ps-mule-generate-bitmap-font (font-spec size relative-compose
- baselie-offset bbx)
+ baseline-offset bbx)
(let* ((id (ps-mule-font-spec-id font-spec))
(bytes (ps-mule-font-spec-bytes font-spec))
output-list)
@@ -941,7 +941,7 @@ the sequence."
(list (format "/E%02X [ 0 1 255 {pop /.notdef} for ] def\n" id)
(format "%%%% %s\n" (ps-mule-font-spec-name font-spec))
(format "/F%02X %f %S %d E%02X NBF\n" id size
- relative-compose baselie-offset id)))
+ relative-compose baseline-offset id)))
(setq output-list
(list (list (format "/E%02X [ 0 1 255 { pop 0 } for ] def\n" id))
(list (format "/V%02X [" id))
@@ -950,7 +950,7 @@ the sequence."
(format "/F%02X E%02X V%02X NPF\n" id id id))))
(aset ps-mule-bitmap-font-record id
(vector (= bytes 1) output-list
- size relative-compose baselie-offset bbx))
+ size relative-compose baseline-offset bbx))
(if ps-mule-bitmap-dict-list
output-list
(setq ps-mule-bitmap-dict-list (list "/BitmapDict <<\n" ">> def\n"))
@@ -1010,7 +1010,7 @@ the sequence."
ps-mule-external-libraries))
(defun ps-mule-encode-header-string (string fonttag)
- "Generate PostScript code for ploting STRING by font FONTTAG.
+ "Generate PostScript code for plotting STRING by font FONTTAG.
FONTTAG should be a string \"/h0\", \"/h1\", \"/L0\", or \"/H0\".
Any other value is treated as \"/H0\"."
(with-temp-buffer
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 6c80705f993..da804d99ae0 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -5372,9 +5372,9 @@ Where:
KIND is a valid value of `ps-n-up-filling'.
XCOL YCOL are the relative position for the next column.
XLIN YLIN are the relative position for the beginning of next line.
-REPEAT is the number of repetions for external loop.
-END is the number of repetions for internal loop and also the number of pages in
- a row.
+REPEAT is the number of repetitions for external loop.
+END is the number of repetitions for internal loop and also the number
+ of pages in a row.
XSTART YSTART are the relative position for the first page in a sheet.")
@@ -6658,7 +6658,7 @@ If FACE is not a valid face name, use default face."
;; But autoload them here to make the separation invisible.
;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
-;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "cf055ee6ba398da614a675dc25bdb123")
+;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "01641c7c3af4e45e1c3afeb75a73120c")
;;; Generated autoloads from ps-mule.el
(defvar ps-multibyte-buffer nil "\
diff --git a/lisp/recentf.el b/lisp/recentf.el
index 79f4eb437d9..2dac870afd5 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -567,7 +567,7 @@ menu-elements (no sub-menu)."
(if (and l (functionp filter))
(let ((case-fold-search recentf-case-fold-search)
elts others)
- ;; split L into two sub-listes, one of sub-menus elements and
+ ;; split L into two sub-lists, one of sub-menus elements and
;; another of single menu elements.
(dolist (elt l)
(if (recentf-sub-menu-element-p elt)
diff --git a/lisp/repeat.el b/lisp/repeat.el
index 8bab8691b4f..13b6a1d2315 100644
--- a/lisp/repeat.el
+++ b/lisp/repeat.el
@@ -26,7 +26,7 @@
;; Sometimes the fastest way to get something done is just to lean on a key;
;; moving forward through a series of words by leaning on M-f is an example.
-;; But 'forward-page is orthodoxily bound to C-x ], so moving forward through
+;; But 'forward-page is orthodoxly bound to C-x ], so moving forward through
;; several pages requires
;; Loop until desired page is reached:
;; Hold down control key with left pinkie.
@@ -363,7 +363,7 @@ recently executed command not bound to an input event\"."
;; OK, there's one situation left where that doesn't work correctly: when the
;; most recent self-insertion provoked an auto-fill. The problem is that
-;; unravelling the undo information after an auto-fill is too hard, since all
+;; unraveling the undo information after an auto-fill is too hard, since all
;; kinds of stuff can get in there as a result of comment prefixes etc. It'd
;; be possible to advise do-auto-fill to record the most recent
;; self-insertion before it does its thing, but that's a performance hit on
diff --git a/lisp/replace.el b/lisp/replace.el
index bf6425f4099..a46f62ae139 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1225,7 +1225,7 @@ See also `multi-occur'."
(with-current-buffer occur-buf
(if (stringp nlines)
- (fundamental-mode) ;; This is for collect opeartion.
+ (fundamental-mode) ;; This is for collect operation.
(occur-mode))
(let ((inhibit-read-only t)
;; Don't generate undo entries for creation of the initial contents.
@@ -1663,7 +1663,7 @@ with the `noescape' argument set.
t t)))
(defun replace-loop-through-replacements (data count)
- ;; DATA is a vector contaning the following values:
+ ;; DATA is a vector containing the following values:
;; 0 next-rotate-count
;; 1 repeat-count
;; 2 next-replacement
diff --git a/lisp/reveal.el b/lisp/reveal.el
index ea46cfd1dd3..c776ab72969 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -189,12 +189,12 @@ Each element has the form (WINDOW . OVERLAY).")
;;;###autoload
(define-minor-mode reveal-mode
- "Toggle decloaking of invisible text near point (Reveal mode).
+ "Toggle uncloaking of invisible text near point (Reveal mode).
With a prefix argument ARG, enable Reveal mode if ARG is
positive, and disable it otherwise. If called from Lisp, enable
Reveal mode if ARG is omitted or nil.
-Reveral mode is a buffer-local minor mode. When enabled, it
+Reveal mode is a buffer-local minor mode. When enabled, it
reveals invisible text around point."
:group 'reveal
:lighter (global-reveal-mode nil " Reveal")
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 2d8c6e0964d..ded76f9fbcb 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -179,7 +179,8 @@ been set up by `rfn-eshadow-setup-minibuffer'."
(let ((goal (substitute-in-file-name (minibuffer-contents)))
(mid (overlay-end rfn-eshadow-overlay))
(start (minibuffer-prompt-end))
- (end (point-max)))
+ (end (point-max))
+ (non-essential t))
(unless
;; Catch the common case where the shadow does not need to move.
(and mid
diff --git a/lisp/server.el b/lisp/server.el
index bc989c55ed1..edd8f2afa93 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -307,11 +307,13 @@ Updates `server-clients'."
(setq server-clients (delq proc server-clients))
- ;; Delete the client's tty.
- (let ((terminal (process-get proc 'terminal)))
- ;; Only delete the terminal if it is non-nil.
- (when (and terminal (eq (terminal-live-p terminal) t))
- (delete-terminal terminal)))
+ ;; Delete the client's tty, except on Windows (both GUI and console),
+ ;; where there's only one terminal and does not make sense to delete it.
+ (unless (eq system-type 'windows-nt)
+ (let ((terminal (process-get proc 'terminal)))
+ ;; Only delete the terminal if it is non-nil.
+ (when (and terminal (eq (terminal-live-p terminal) t))
+ (delete-terminal terminal))))
;; Delete the client's process.
(if (eq (process-status proc) 'open)
@@ -685,7 +687,14 @@ Server mode runs a process that accepts commands from the
(defun server-eval-and-print (expr proc)
"Eval EXPR and send the result back to client PROC."
- (let ((v (eval (car (read-from-string expr)))))
+ ;; While we're running asynchronously (from a process filter), it is likely
+ ;; that the emacsclient command was run in response to a user
+ ;; action, so the user probably knows that Emacs is processing this
+ ;; emacsclient request, so if we get a C-g it's likely that the user
+ ;; intended it to interrupt us rather than interrupt whatever Emacs
+ ;; was doing before it started handling the process filter.
+ ;; Hence `with-local-quit' (bug#6585).
+ (let ((v (with-local-quit (eval (car (read-from-string expr))))))
(when proc
(with-temp-buffer
(let ((standard-output (current-buffer)))
@@ -1028,7 +1037,11 @@ The following commands are accepted by the client:
(setq tty-name (pop args-left)
tty-type (pop args-left)
dontkill (or dontkill
- (not use-current-frame))))
+ (not use-current-frame)))
+ ;; On Windows, emacsclient always asks for a tty frame.
+ ;; If running a GUI server, force the frame type to GUI.
+ (when (eq window-system 'w32)
+ (push "-window-system" args-left)))
;; -position LINE[:COLUMN]: Set point to the given
;; position in the next file.
diff --git a/lisp/ses.el b/lisp/ses.el
index c71c603726c..cceccde3346 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -1143,7 +1143,7 @@ preceding cell has spilled over."
(setq x (concat text (if (< maxcol ses--numcols) " " "\n")))
;; We use set-text-properties to prevent a wacky print function from
;; inserting rogue properties, and to ensure that the keymap property is
- ;; inherited (is it a bug that only unpropertied strings actually
+ ;; inherited (is it a bug that only unpropertized strings actually
;; inherit from surrounding text?)
(set-text-properties 0 (length x) nil x)
(insert-and-inherit x)
@@ -1315,7 +1315,7 @@ Newlines in the data are escaped."
(setq formula (cadr formula)))
(if (eq (car-safe printer) 'ses-safe-printer)
(setq printer (cadr printer)))
- ;; This is noticably faster than (format "%S %S %S %S %S")
+ ;; This is noticeably faster than (format "%S %S %S %S %S")
(setq text (concat "(ses-cell "
(symbol-name sym)
" "
@@ -1371,7 +1371,7 @@ first reference is found."
result-so-far)
(defsubst ses-relocate-symbol (sym rowcol startrow startcol rowincr colincr)
- "Relocate one symbol SYM, whichs corresponds to ROWCOL (a cons of ROW and
+ "Relocate one symbol SYM, which corresponds to ROWCOL (a cons of ROW and
COL). Cells starting at (STARTROW,STARTCOL) are being shifted
by (ROWINCR,COLINCR)."
(let ((row (car rowcol))
@@ -2273,7 +2273,7 @@ cells."
(defun ses-read-printer (prompt default)
"Common code for `ses-read-cell-printer', `ses-read-column-printer', and `ses-read-default-printer'.
-PROMPT should end with \": \". Result is t if operation was cancelled."
+PROMPT should end with \": \". Result is t if operation was canceled."
(barf-if-buffer-read-only)
(if (eq default t)
(setq default "")
@@ -2720,7 +2720,7 @@ When inserting cells, the formulas are usually relocated to keep the same
relative references to neighboring cells. This is best if the formulas
generally refer to other cells within the yanked text. You can use the C-u
prefix to specify insertion without relocation, which is best when the
-formulas refer to cells outsite the yanked text.
+formulas refer to cells outside the yanked text.
When inserting formulas, the text is treated as a string constant if it doesn't
make sense as a sexp or would otherwise be considered a symbol. Use 'sym to
diff --git a/lisp/shell.el b/lisp/shell.el
index 31c5729b83a..47119e6769c 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -89,7 +89,7 @@
;; comint-strip-ctrl-m Remove trailing ^Ms from output
;;
;; The shell mode hook is shell-mode-hook
-;; comint-prompt-regexp is initialised to shell-prompt-pattern, for backwards
+;; comint-prompt-regexp is initialized to shell-prompt-pattern, for backwards
;; compatibility.
;; Read the rest of this file for more information.
diff --git a/lisp/simple.el b/lisp/simple.el
index e70d37588a0..c9ac32e0f9e 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1052,16 +1052,23 @@ In addition, with prefix argument, show details about that character
in *Help* buffer. See also the command `describe-char'."
(interactive "P")
(let* ((char (following-char))
- ;; If the character is one of LRE, LRO, RLE, RLO, it will
- ;; start a directional embedding, which could completely
- ;; disrupt the rest of the line (e.g., RLO will display the
- ;; rest of the line right-to-left). So we put an invisible
- ;; PDF character after these characters, to end the
- ;; embedding, which eliminates any effects on the rest of the
- ;; line.
- (pdf (if (memq char '(?\x202a ?\x202b ?\x202d ?\x202e))
- (propertize (string ?\x202c) 'invisible t)
- ""))
+ (bidi-fixer
+ (cond ((memq char '(?\x202a ?\x202b ?\x202d ?\x202e))
+ ;; If the character is one of LRE, LRO, RLE, RLO, it
+ ;; will start a directional embedding, which could
+ ;; completely disrupt the rest of the line (e.g., RLO
+ ;; will display the rest of the line right-to-left).
+ ;; So we put an invisible PDF character after these
+ ;; characters, to end the embedding, which eliminates
+ ;; any effects on the rest of the line.
+ (propertize (string ?\x202c) 'invisible t))
+ ;; Strong right-to-left characters cause reordering of
+ ;; the following numerical characters which show the
+ ;; codepoint, so append LRM to countermand that.
+ ((memq (get-char-code-property char 'bidi-class) '(R AL))
+ (propertize (string ?\x200e) 'invisible t))
+ (t
+ "")))
(beg (point-min))
(end (point-max))
(pos (point))
@@ -1125,14 +1132,15 @@ in *Help* buffer. See also the command `describe-char'."
(if (< char 256)
(single-key-description char)
(buffer-substring-no-properties (point) (1+ (point))))
- pdf encoding-msg pos total percent beg end col hscroll)
+ bidi-fixer
+ encoding-msg pos total percent beg end col hscroll)
(message "Char: %s%s %s point=%d of %d (%d%%) column=%d%s"
(if enable-multibyte-characters
(if (< char 128)
(single-key-description char)
(buffer-substring-no-properties (point) (1+ (point))))
(single-key-description char))
- pdf encoding-msg pos total percent col hscroll))))))
+ bidi-fixer encoding-msg pos total percent col hscroll))))))
;; Initialize read-expression-map. It is defined at C level.
(let ((m (make-sparse-keymap)))
@@ -1582,7 +1590,7 @@ by the new completion."
n)
;; next-matching-history-element always puts us at (point-min).
;; Move to the position we were at before changing the buffer contents.
- ;; This is still sensical, because the text before point has not changed.
+ ;; This is still sensible, because the text before point has not changed.
(goto-char point-at-start)))
(defun previous-complete-history-element (n)
@@ -2907,11 +2915,11 @@ These commands include \\[set-mark-command] and \\[start-kbd-macro]."
(defvar filter-buffer-substring-functions nil
"Wrapper hook around `filter-buffer-substring'.
-The functions on this special hook are called with 4 arguments:
+The functions on this special hook are called with four arguments:
NEXT-FUN BEG END DELETE
-NEXT-FUN is a function of 3 arguments (BEG END DELETE)
-that performs the default operation. The other 3 arguments are like
-the ones passed to `filter-buffer-substring'.")
+NEXT-FUN is a function of three arguments (BEG END DELETE)
+that performs the default operation. The other three arguments
+are like the ones passed to `filter-buffer-substring'.")
(defvar buffer-substring-filters nil
"List of filter functions for `filter-buffer-substring'.
@@ -4277,8 +4285,8 @@ into account variable-width characters and line continuation.
If nil, `line-move' moves point by logical lines.
A non-nil setting of `goal-column' overrides the value of this variable
and forces movement by logical lines.
-Disabling `auto-hscroll-mode' also overrides forces movement by logical
-lines when the window is horizontally scrolled."
+A window that is horizontally scrolled also forces movement by logical
+lines."
:type 'boolean
:group 'editing-basics
:version "23.1")
@@ -4358,12 +4366,10 @@ lines when the window is horizontally scrolled."
(if (and line-move-visual
;; Display-based column are incompatible with goal-column.
(not goal-column)
- ;; When auto-hscroll-mode is turned off and the text in
- ;; the window is scrolled to the left, display-based
- ;; motion doesn't make sense (because each logical line
- ;; occupies exactly one screen line).
- (not (and (null auto-hscroll-mode)
- (> (window-hscroll) 0))))
+ ;; When the text in the window is scrolled to the left,
+ ;; display-based motion doesn't make sense (because each
+ ;; logical line occupies exactly one screen line).
+ (not (> (window-hscroll) 0)))
(line-move-visual arg noerror)
(line-move-1 arg noerror to-end))))
@@ -5706,7 +5712,7 @@ At top-level, as an editor command, this simply beeps."
(defvar buffer-quit-function nil
"Function to call to \"quit\" the current buffer, or nil if none.
\\[keyboard-escape-quit] calls this function when its more local actions
-\(such as cancelling a prefix argument, minibuffer or region) do not apply.")
+\(such as canceling a prefix argument, minibuffer or region) do not apply.")
(defun keyboard-escape-quit ()
"Exit the current \"mode\" (in a generalized sense of the word).
@@ -6017,7 +6023,7 @@ of the text to replace. If END is nil, point is used instead.")
(defvar completion-list-insert-choice-function #'completion--replace
"Function to use to insert the text chosen in *Completions*.
-Called with 3 arguments (BEG END TEXT), it should replace the text
+Called with three arguments (BEG END TEXT), it should replace the text
between BEG and END with TEXT. Expected to be set buffer-locally
in the *Completions* buffer.")
@@ -6211,7 +6217,7 @@ BASE-POSITION, says where to insert the completion."
choice buffer base-position nil)
;; This remove-text-properties should be unnecessary since `choice'
;; comes from buffer-substring-no-properties.
- ;;(remove-text-properties 0 (lenth choice) '(mouse-face nil) choice)
+ ;;(remove-text-properties 0 (length choice) '(mouse-face nil) choice)
;; Insert the completion into the buffer where it was requested.
(funcall (or insert-function completion-list-insert-choice-function)
(or (car base-position) (point))
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 23a91888c1b..efe7832aca6 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -35,7 +35,7 @@ this version is not backward compatible to 0.14 or earlier.")
;;
;;; Customizing and Developing for speedbar
;;
-;; Please see the speedbar manual for informaion.
+;; Please see the speedbar manual for information.
;;
;;; Notes:
;;
@@ -471,7 +471,7 @@ Possible values are:
'trim - trim large directories to only show the last few.
nil - no trimming."
:group 'speedbar
- :type '(radio (const :tag "Span large directories over mutiple lines."
+ :type '(radio (const :tag "Span large directories over multiple lines."
span)
(const :tag "Trim large directories to only show the last few."
trim)
@@ -696,7 +696,7 @@ function `speedbar-extension-list-to-regex'.")
(append '(".[ch]\\(\\+\\+\\|pp\\|c\\|h\\|xx\\)?" ".tex\\(i\\(nfo\\)?\\)?"
".el" ".emacs" ".l" ".lsp" ".p" ".java" ".js" ".f\\(90\\|77\\|or\\)?")
(if speedbar-use-imenu-flag
- '(".ada" ".p[lm]" ".tcl" ".m" ".scm" ".pm" ".py" ".g"
+ '(".ad[abs]" ".p[lm]" ".tcl" ".m" ".scm" ".pm" ".py" ".g"
;; html is not supported by default, but an imenu tags package
;; is available. Also, html files are nice to be able to see.
".s?html"
@@ -1004,7 +1004,7 @@ supported at a time.
#'speedbar-frame-mode
(if (featurep 'xemacs)
(append speedbar-frame-plist
- ;; This is a hack to get speedbar to iconfiy
+ ;; This is a hack to get speedbar to iconify
;; with the selected frame.
(list 'parent (selected-frame)))
speedbar-frame-parameters)
@@ -1862,7 +1862,7 @@ of the special mode functions."
(if (not v)
(setq speedbar-special-mode-expansion-list t)
;; If it is autoloaded, we need to load it now so that
- ;; we have access to the varialbe -speedbar-menu-items.
+ ;; we have access to the variable -speedbar-menu-items.
;; Is this XEmacs safe?
(let ((sf (symbol-function v)))
(if (and (listp sf) (eq (car sf) 'autoload))
@@ -2101,7 +2101,7 @@ cell of the form ( 'DIRLIST . 'FILELIST )."
;; If the shown files variable has extra directories, then
;; it is our responsibility to redraw them all
;; Luckily, the nature of inserting items into this list means
- ;; that by reversing it, we can easilly go in the right order
+ ;; that by reversing it, we can easily go in the right order
(let ((sf (cdr (reverse speedbar-shown-directories))))
(setq speedbar-shown-directories
(list (expand-file-name default-directory)))
diff --git a/lisp/startup.el b/lisp/startup.el
index 877ba1987f6..06911e00d0d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -943,7 +943,7 @@ opening the first frame (e.g. open a connection to an X server).")
(normal-erase-is-backspace-setup-frame)
;; Register default TTY colors for the case the terminal hasn't a
- ;; terminal init file. We do this regardles of whether the terminal
+ ;; terminal init file. We do this regardless of whether the terminal
;; supports colors or not and regardless the current display type,
;; since users can connect to color-capable terminals and also
;; switch color support on or off in mid-session by setting the
diff --git a/lisp/subr.el b/lisp/subr.el
index 1cd6598eeb5..36937e8f370 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1,4 +1,4 @@
-;;; subr.el --- basic lisp subroutines for Emacs
+;;; subr.el --- basic lisp subroutines for Emacs -*- coding: utf-8 -*-
;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2011
;; Free Software Foundation, Inc.
@@ -3792,7 +3792,7 @@ The properties used on SYMBOL are `composefunc', `sendfunc',
;; MIN-CHANGE
;; MIN-TIME])
;;
-;; This weirdeness is for optimization reasons: we want
+;; This weirdness is for optimization reasons: we want
;; `progress-reporter-update' to be as fast as possible, so
;; `(car reporter)' is better than `(aref reporter 0)'.
;;
diff --git a/lisp/term.el b/lisp/term.el
index e1638aecc76..484bc36363e 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -40,10 +40,10 @@
;; overhead this has became so small that IMHO is surely outweighted by
;; the benefits you get but, as usual, YMMV
;;
-;; Important caveat, when deciding the cursor/'grey keys' keycodes I had to
+;; Important caveat, when deciding the cursor/'gray keys' keycodes I had to
;; make a choice: on my Linux box this choice allows me to run all the
;; ncurses applications without problems but make these keys
-;; uncomprehensible to all the cursesX programs. Your mileage may vary so
+;; incomprehensible to all the cursesX programs. Your mileage may vary so
;; you may consider changing the default 'emulation'. Just search for this
;; piece of code and modify it as you like:
;;
@@ -910,7 +910,7 @@ is buffer-local."
(setq term-raw-escape-map
(copy-keymap (lookup-key (current-global-map) "\C-x")))
- ;; Added nearly all the 'grey keys' -mm
+ ;; Added nearly all the 'gray keys' -mm
(if (featurep 'xemacs)
(define-key term-raw-map [button2] 'term-mouse-paste)
@@ -2122,7 +2122,7 @@ If this takes us past the end of the current line, don't skip at all."
"Is point after the process output marker?"
;; Since output could come into the buffer after we looked at the point
;; but before we looked at the process marker's value, we explicitly
- ;; serialise. This is just because I don't know whether or not Emacs
+ ;; serialize. This is just because I don't know whether or not Emacs
;; services input during execution of lisp commands.
(let ((proc-pos (marker-position
(process-mark (get-buffer-process (current-buffer))))))
@@ -3890,7 +3890,7 @@ if KIND is 1, erase from home to point; else erase from home to point-max."
(goto-char (point-max))
(recenter -1))
-;;; Do the user's customisation...
+;;; Do the user's customization...
(defvar term-load-hook nil
"This hook is run when term is loaded in.
diff --git a/lisp/term/common-win.el b/lisp/term/common-win.el
index c13d22dde71..63c8840621c 100644
--- a/lisp/term/common-win.el
+++ b/lisp/term/common-win.el
@@ -281,11 +281,11 @@ have been processed."
;; The ordering of the colors is chosen for the user's convenience in
;; `list-colors-display', which displays the reverse of this list.
;; Roughly speaking, `list-colors-display' orders by (i) named shades
-;; of grey with hue 0.0, sorted by value (ii) named colors with
+;; of gray with hue 0.0, sorted by value (ii) named colors with
;; saturation 1.0, sorted by hue, (iii) named non-white colors with
;; saturation less than 1.0, sorted by hue, (iv) other named shades of
;; white, (v) numbered colors sorted by hue, and (vi) numbered shades
-;; of grey.
+;; of gray.
(declare-function ns-list-colors "nsfns.m" (&optional frame))
diff --git a/lisp/term/iris-ansi.el b/lisp/term/iris-ansi.el
index 490c06148a9..3e06810cce6 100644
--- a/lisp/term/iris-ansi.el
+++ b/lisp/term/iris-ansi.el
@@ -136,8 +136,8 @@
(define-key map "\e[Z" [?\S-\t])
(define-key map "\e[072q" [?\C-\t])
- ;; This only works if you remove the M-TAB keybing from the system.4Dwmrc
- ;; our your ~/.4Dwmrc, if you use the 4Dwm window manager.
+ ;; This only works if you remove the M-TAB keybinding from the system.4Dwmrc
+ ;; or your ~/.4Dwmrc, if you use the 4Dwm window manager.
(define-key map "\e[073q" [?\M-\t])
(define-key map "\e[074q" [?\M-q])
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el
index db826f1db8a..b639af7cda0 100644
--- a/lisp/term/ns-win.el
+++ b/lisp/term/ns-win.el
@@ -492,7 +492,7 @@ unless the current buffer is a scratch buffer."
command-line-default-directory)))
(file (find-file-noselect f))
(bufwin1 (get-buffer-window file 'visible))
- (bufwin2 (get-buffer-window "*scratch*" 'visibile)))
+ (bufwin2 (get-buffer-window "*scratch*" 'visible)))
(cond
(bufwin1
(select-frame (window-frame bufwin1))
@@ -662,7 +662,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
(defvar ns-reg-to-script) ; nsfont.m
;; This maps font registries (not exposed by NS APIs for font selection) to
-;; unicode scripts (which can be mapped to unicode character ranges which are).
+;; Unicode scripts (which can be mapped to Unicode character ranges which are).
;; See ../international/fontset.el
(setq ns-reg-to-script
'(("iso8859-1" . latin)
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el
index 5b21913c32e..c64dc0e7a19 100644
--- a/lisp/term/rxvt.el
+++ b/lisp/term/rxvt.el
@@ -114,11 +114,11 @@
(defvar rxvt-alternatives-map
(let ((map (make-sparse-keymap)))
- ;; The terminal intialization C code file might have initialized
+ ;; The terminal initialization C code file might have initialized
;; function keys F11->F42 from the termcap/terminfo information. On
;; a PC-style keyboard these keys correspond to
;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The
- ;; code here subsitutes the corresponding definitions in
+ ;; code here substitutes the corresponding definitions in
;; function-key-map. This substitution is needed because if a key
;; definition if found in function-key-map, there are no further
;; lookups in other keymaps.
@@ -228,7 +228,7 @@ for the currently selected frame."
;; 216 non-gray colors first
(let ((r 0) (g 0) (b 0))
(while (> ncolors 24)
- ;; This and other formulae taken from 256colres.pl and
+ ;; This and other formulas taken from 256colres.pl and
;; 88colres.pl in the xterm distribution.
(tty-color-define (format "color-%d" (- 256 ncolors))
(- 256 ncolors)
diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el
index 9a900916830..d62db664d21 100644
--- a/lisp/term/tty-colors.el
+++ b/lisp/term/tty-colors.el
@@ -76,7 +76,7 @@
;; defined for the MS-DOS and MS-Windows consoles, because the users
;; on those systems expect these colors to be available.
;;
-;; For these reasons, package maintaners are advised NOT to use color
+;; For these reasons, package maintainers are advised NOT to use color
;; names such as "lightred" or "lightblue", because they will have
;; different effect on different displays. Instead, use "red1" and
;; "blue1", respectively.
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 05e18ed24a0..ac0f833da63 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -126,7 +126,7 @@ a file in the home directory."
(defun emacs-session-save ()
"This function is called when the window system is shutting down.
-If this function returns non-nil, the window system shutdown is cancelled.
+If this function returns non-nil, the window system shutdown is canceled.
When a session manager tells Emacs that the window system is shutting
down, this function is called. It calls the functions in the hook
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index 47da0bf4de5..f9d11cb2685 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -460,7 +460,7 @@ features. Set to nil to skip the checks."
"Terminal initialization function for xterm."
;; rxvt terminals sometimes set the TERM variable to "xterm", but
;; rxvt's keybindings are incompatible with xterm's. It is
- ;; better in that case to use rxvt's initializion function.
+ ;; better in that case to use rxvt's initialization function.
(if (and (getenv "COLORTERM" (selected-frame))
(string-match "\\`rxvt" (getenv "COLORTERM" (selected-frame))))
(tty-run-terminal-initialization (selected-frame) "rxvt")
@@ -637,7 +637,7 @@ versions of xterm."
;; 216 non-gray colors first
(let ((r 0) (g 0) (b 0))
(while (> ncolors 24)
- ;; This and other formulae taken from 256colres.pl and
+ ;; This and other formulas taken from 256colres.pl and
;; 88colres.pl in the xterm distribution.
(tty-color-define (format "color-%d" (- 256 ncolors))
(- 256 ncolors)
diff --git a/lisp/terminal.el b/lisp/terminal.el
index 6fdaecf9c9c..99f652f7df4 100644
--- a/lisp/terminal.el
+++ b/lisp/terminal.el
@@ -1285,7 +1285,7 @@ in the directory specified by `te-terminfo-directory'."
;; Rename it to the desired name.
;; We use this roundabout approach
;; to avoid any risk of writing a name that
- ;; was michievouslyt set up as a symlink.
+ ;; was mischievously set up as a symlink.
(rename-file temp-file file-name))
;; Now compile that source to make the binary that the
;; programs actually use.
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index d13437f4c7c..bd1fcc43d22 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1985,7 +1985,7 @@ Also updates the variables `artist-draw-min-y' and `artist-draw-max-y'."
"Retrieve a replacement for character C from `artist-replacement-table'.
The replacement is used to convert tabs and new-lines to spaces."
;; Characters may be outside the range of the `artist-replacement-table',
- ;; for example if they are unicode code points >= 256.
+ ;; for example if they are Unicode code points >= 256.
;; Check so we don't attempt to access the array out of its bounds,
;; assuming no such character needs to be replaced.
(if (< c (length artist-replacement-table))
@@ -2338,7 +2338,7 @@ Octant are numbered 1--8, anti-clockwise as:
5
6))))
-;; Some inline funtions for creating, setting and reading
+;; Some inline functions for creating, setting and reading
;; members of a coordinate
;;
@@ -3215,7 +3215,7 @@ X1, Y1. An endpoint is a cons pair, (ENDPOINT-X . ENDPOINT-Y)."
;; 2| |
;; 3+-----+
;;
-;; We will then pop (0,0) and remove the left-most vertival line while
+;; We will then pop (0,0) and remove the left-most vertical line while
;; pushing the lower left corner (0,3) on the stack, and so on until
;; the entire rectangle is vaporized.
;;
@@ -3960,11 +3960,11 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2."
;; Implementation note: This really should honor the interval-fn entry
;; in the master table, `artist-mt', which would mean leaving a timer
;; that calls `draw-fn' every now and then. That timer would then have
-;; to be cancelled and reinstalled whenever the user moves the cursor.
+;; to be canceled and reinstalled whenever the user moves the cursor.
;; This could be done, but what if the user suddenly switches to another
;; drawing mode, or even kills the buffer! In the mouse case, it is much
;; simpler: when at the end of `artist-mouse-draw-continously', the
-;; user has released the button, so the timer will always be cancelled
+;; user has released the button, so the timer will always be canceled
;; at that point.
(defun artist-key-draw-continously (x y)
"Draw current continuous shape at X,Y."
@@ -5589,7 +5589,7 @@ The event, EV, is the mouse event."
;; of drawing mode.
;;
;; You should provide these functions. You might think that
-;; only you is using your type of mode, so noone will be able
+;; only you is using your type of mode, so no one will be able
;; to switch to another operation of the same type of mode,
;; but someone else might base a new drawing mode upon your
;; work.
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index 4459ac10098..8df2e81c723 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -1451,12 +1451,12 @@ Set this variable before loading BibTeX mode."
(defvar bibtex-field-braces-opt nil
"Optimized value of `bibtex-field-braces-alist'.
Created by `bibtex-field-re-init'.
-It is a an alist with elements (FIELD . REGEXP).")
+It is an alist with elements (FIELD . REGEXP).")
(defvar bibtex-field-strings-opt nil
"Optimized value of `bibtex-field-strings-alist'.
Created by `bibtex-field-re-init'.
-It is a an alist with elements (FIELD RULE1 RULE2 ...),
+It is an alist with elements (FIELD RULE1 RULE2 ...),
where each RULE is (REGEXP . TO-STR).")
(defvar bibtex-pop-previous-search-point nil
@@ -3595,7 +3595,7 @@ If optional arg CONTENT is non-nil extract content of text fields."
(defun bibtex-autofill-entry ()
"Try to fill fields of current BibTeX entry based on neighboring entries.
The current entry must have a key. Determine the neighboring entry
-\(previouse or next\) whose key is more similar to the key of the current
+\(previous or next\) whose key is more similar to the key of the current
entry. For all empty fields of the current entry insert the corresponding
field contents of the neighboring entry. Finally try to update the text
based on the difference between the keys of the neighboring and the current
diff --git a/lisp/textmodes/conf-mode.el b/lisp/textmodes/conf-mode.el
index 5cc5ba45e13..40d682c3d93 100644
--- a/lisp/textmodes/conf-mode.el
+++ b/lisp/textmodes/conf-mode.el
@@ -155,7 +155,7 @@ not align (only setting space according to `conf-assignment-space')."
(modify-syntax-entry ?/ ". 124" table)
(modify-syntax-entry ?* ". 23b" table)
table)
- "Syntax table in use in Java prperties buffers.")
+ "Syntax table in use in Java properties buffers.")
(defvar conf-ppd-mode-syntax-table
(let ((table (make-syntax-table conf-mode-syntax-table)))
@@ -185,7 +185,7 @@ not align (only setting space according to `conf-assignment-space')."
(2 'font-lock-constant-face nil t))
;; section { ... } (do this last because some assign ...{...)
("^[ \t]*\\([^=:\n]+?\\)[ \t\n]*{[^{}]*?$" 1 'font-lock-type-face prepend))
- "Keywords to hilight in Conf mode.")
+ "Keywords to highlight in Conf mode.")
(defvar conf-javaprop-font-lock-keywords
'(;; var=val
@@ -197,7 +197,7 @@ not align (only setting space according to `conf-assignment-space')."
(5 'font-lock-variable-name-face nil t)
(6 'font-lock-constant-face nil t)
(7 'font-lock-variable-name-face nil t)))
- "Keywords to hilight in Conf Java Properties mode.")
+ "Keywords to highlight in Conf Java Properties mode.")
(defvar conf-space-keywords-alist
'(("\\`/etc/gpm/" . "key\\|name\\|foreground\\|background\\|border\\|head")
@@ -240,7 +240,7 @@ This variable is best set in the file local variables, or through
(1 'font-lock-variable-name-face))
;; section { ... } (do this last because some assign ...{...)
("^[ \t]*\\([^:\n]+\\)[ \t\n]*{[^{}]*?$" 1 'font-lock-type-face prepend))
- "Keywords to hilight in Conf Colon mode.")
+ "Keywords to highlight in Conf Colon mode.")
(defvar conf-assignment-sign ?=
"Sign used for assignments (char or string).")
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el
index 52f6e5b4889..b8614b16f82 100644
--- a/lisp/textmodes/fill.el
+++ b/lisp/textmodes/fill.el
@@ -469,7 +469,7 @@ Point is moved to just past the fill prefix on the first line."
(goto-char from)
(if enable-multibyte-characters
- ;; Delete unnecessay newlines surrounded by words. The
+ ;; Delete unnecessary newlines surrounded by words. The
;; character category `|' means that we can break a line at the
;; character. And, char-table
;; `fill-nospace-between-words-table' tells how to concatenate
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index d54debcec4c..6b4c1a2940d 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -466,7 +466,7 @@ See also `flyspell-duplicate-distance'."
;;*---------------------------------------------------------------------*/
;;* flyspell-mode ... */
;;*---------------------------------------------------------------------*/
-;;;###autoload(defvar flyspell-mode nil)
+;;;###autoload(defvar flyspell-mode nil "Non-nil if Flyspell mode is enabled.")
;;;###autoload
(define-minor-mode flyspell-mode
"Toggle on-the-fly spell checking (Flyspell mode).
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 704fad4fb3b..ba7b84fe1dd 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -2399,7 +2399,8 @@ Optional REFRESH will unhighlighted then highlight, using block cursor
(setq start (1+ start)))) ; On block non-refresh, inc start.
(let ((modified (buffer-modified-p)) ; don't allow this fn to modify buffer
(buffer-read-only nil) ; Allow highlighting read-only buffers.
- (text (buffer-substring-no-properties start end)) ; Save hilight region
+ (text (buffer-substring-no-properties start end))
+ ; Save highlight region.
(inhibit-quit t) ; inhibit interrupt processing here.
(buffer-undo-list t)) ; don't clutter the undo list.
(goto-char end)
@@ -2498,7 +2499,7 @@ scrolling the current window. Leave the new window selected."
;; hidden by new window, scroll it to just below new win
;; otherwise set top line of other win so it doesn't scroll.
(if (< oldot top) (setq top oldot))
- ;; if frame is unsplitable, temporarily disable that...
+ ;; if frame is unsplittable, temporarily disable that...
(if (cdr (assq 'unsplittable (frame-parameters (selected-frame))))
(let ((frame (selected-frame)))
(modify-frame-parameters frame '((unsplittable . nil)))
@@ -3977,8 +3978,8 @@ Both should not be used to define a buffer-local dictionary."
; LocalWords: Francais Nederlands charset autoloaded popup nonmenu regexp num
; LocalWords: AMStex hspace includeonly nocite epsfig displaymath eqnarray reg
; LocalWords: minipage modeline pers dict unhighlight buf grep sync prev inc
-; LocalWords: fn hilight oldot NB AIX msg init read's bufs pt cmd Quinlan eg
-; LocalWords: uuencoded unidiff sc nn VM SGML eval IspellPersDict unsplitable
+; LocalWords: fn oldot NB AIX msg init read's bufs pt cmd Quinlan eg
+; LocalWords: uuencoded unidiff sc nn VM SGML eval IspellPersDict
; LocalWords: lns XEmacs HTML casechars Multibyte
;;; ispell.el ends here
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index 678d48758da..3356ce195f2 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -742,7 +742,7 @@ by supplying an argument.
Entry to this mode calls the value of `picture-mode-hook' if non-nil.
Note that Picture mode commands will work outside of Picture mode, but
-they are not defaultly assigned to keys."
+they are not by default assigned to keys."
(interactive)
(if (eq major-mode 'picture-mode)
(error "You are already editing a picture")
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el
index 78d80da41ac..e0fd940208a 100644
--- a/lisp/textmodes/reftex-cite.el
+++ b/lisp/textmodes/reftex-cite.el
@@ -69,14 +69,14 @@
(unless (eq (get 'reftex-default-bibliography :reftex-raw)
reftex-default-bibliography)
(put 'reftex-default-bibliography :reftex-expanded
- (reftex-locate-bibliography-files
+ (reftex-locate-bibliography-files
default-directory reftex-default-bibliography))
(put 'reftex-default-bibliography :reftex-raw
reftex-default-bibliography))
(get 'reftex-default-bibliography :reftex-expanded))
(defun reftex-bib-or-thebib ()
- ;; Tests if BibTeX or \begin{tehbibliography} should be used for the
+ ;; Tests if BibTeX or \begin{thebibliography} should be used for the
;; citation
;; Find the bof of the current file
(let* ((docstruct (symbol-value reftex-docstruct-symbol))
@@ -128,7 +128,7 @@
;; If RETURN is non-nil, just return the entry and restore point.
(let* ((re
- (if item
+ (if item
(concat "\\\\bibitem\\(\\[[^]]*\\]\\)?{" (regexp-quote key) "}")
(concat "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*" (regexp-quote key)
"[, \t\r\n}]")))
@@ -152,7 +152,7 @@
(when return
;; Just return the relevant entry
(if item (goto-char (match-end 0)))
- (setq return (buffer-substring
+ (setq return (buffer-substring
(point) (reftex-end-of-bib-entry item)))
(goto-char oldpos) ;; restore point.
(set-buffer buffer-conf)
@@ -169,9 +169,9 @@
(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
+ (if item
(progn (end-of-line)
(re-search-forward
"\\\\bibitem\\|\\end{thebibliography}")
@@ -192,16 +192,16 @@
;; Read a regexp, completing on known citation keys.
(setq default (regexp-quote (reftex-get-bibkey-default)))
- (setq re-list
- (split-string
- (completing-read
+ (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
+ (cdr (assoc 'bibview-cache
(symbol-value reftex-docstruct-symbol))))
nil)
nil nil nil 'reftex-cite-regexp-hist)
@@ -248,7 +248,7 @@
(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")
@@ -257,12 +257,12 @@
(< (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
@@ -270,24 +270,24 @@
;; 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))))
@@ -350,7 +350,7 @@
(unless files
(error "Need file name to find thebibliography environment"))
(while (setq file (pop files))
- (setq buf (reftex-get-file-buffer-force
+ (setq buf (reftex-get-file-buffer-force
file (not reftex-keep-temporary-buffers)))
(unless buf
(error "No such file %s" file))
@@ -386,16 +386,16 @@
;; Read a regexp, completing on known citation keys.
(setq default (regexp-quote (reftex-get-bibkey-default)))
- (setq re-list
- (split-string
- (completing-read
+ (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
+ (cdr (assoc 'bibview-cache
(symbol-value reftex-docstruct-symbol))))
nil)
nil nil nil 'reftex-cite-regexp-hist)
@@ -408,14 +408,14 @@
(error "Empty regular expression"))
(while (and (setq re (pop re-list)) entries)
- (setq entries
+ (setq entries
(delq nil (mapcar
(lambda (x)
(if (string-match re (cdr (assoc "&entry" x)))
x nil))
entries))))
- (setq entries
- (mapcar
+ (setq entries
+ (mapcar
(lambda (x)
(push (cons "&formatted" (reftex-format-bibitem x)) x)
(push (reftex-get-bib-field "&key" x) x)
@@ -655,12 +655,12 @@ While entering the regexp, completion on knows citation keys is possible.
(when (eq (car selected-entries) 'concat)
;; All keys go into a single command - we need to trick a little
- ;; FIXME: Unfortunately, this meens that commenting does not work right.
+ ;; FIXME: Unfortunately, this means that commenting does not work right.
(pop selected-entries)
(let ((concat-keys (mapconcat 'car selected-entries ",")))
- (setq insert-entries
+ (setq insert-entries
(list (list concat-keys (cons "&key" concat-keys))))))
-
+
(unless no-insert
;; We shall insert this into the buffer...
diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el
index 7de15c66cec..2aecc34e2b0 100644
--- a/lisp/textmodes/reftex-dcr.el
+++ b/lisp/textmodes/reftex-dcr.el
@@ -212,7 +212,7 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
(add-hook 'pre-command-hook 'reftex-highlight-shall-die)
(when (eq how 'tmp-window)
- ;; Resize window and arrange restauration
+ ;; Resize window and arrange restoration
(shrink-window (1- (- (window-height) 9)))
(recenter '(4))
(add-hook 'pre-command-hook 'reftex-restore-window-conf))
@@ -361,7 +361,7 @@ will display info in the echo area."
"View location in a LaTeX document which cites the BibTeX entry at point.
Since BibTeX files can be used by many LaTeX documents, this function
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.
+link to a document, call the function with a prefix arg.
Calling this function several times find successive citation locations."
(interactive "P")
(when arg
diff --git a/lisp/textmodes/reftex-sel.el b/lisp/textmodes/reftex-sel.el
index b4e15fd2776..f4f10f1d1e0 100644
--- a/lisp/textmodes/reftex-sel.el
+++ b/lisp/textmodes/reftex-sel.el
@@ -570,13 +570,13 @@ Useful for large TOC's."
nil t)
(beginning-of-line))
(defun reftex-select-next-heading (&optional arg)
- "Move to next table of contentes line."
+ "Move to next table of contents line."
(interactive "p")
(end-of-line)
(re-search-forward "^ " nil t arg)
(beginning-of-line))
(defun reftex-select-previous-heading (&optional arg)
- "Move to previous table of contentes line."
+ "Move to previous table of contents line."
(interactive "p")
(re-search-backward "^ " nil t arg))
(defun reftex-select-quit ()
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 81e92487eb0..64dffe78d50 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -2716,7 +2716,7 @@ general but you do not like the details."
(rst-define-level-faces)))
;; Faces for displaying items on several levels; these definitions define
-;; different shades of grey where the lightest one (i.e. least contrasting) is
+;; different shades of gray where the lightest one (i.e. least contrasting) is
;; used for level 1
(defcustom rst-level-face-max 6
"Maximum depth of levels for which section title faces are defined."
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index fa958632799..f9e3283b783 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -847,7 +847,7 @@ and disable it otherwise. If called from Lisp, enable the mode
if ARG is omitted or nil.
SGML Electric Tag Pair mode is a buffer-local minor mode for use
-with `sgml-mode' and related maor modes. When enabled, editing
+with `sgml-mode' and related major modes. When enabled, editing
an opening markup tag automatically updates the closing tag."
:lighter "/e"
(if sgml-electric-tag-pair-mode
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index 08922445521..6f9e592d8ed 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -173,19 +173,19 @@
;; +-------------------------------+----------------------------------+
;; |`table-recognize' |Recognize all tables in the |
;; |`table-unrecognize' |current buffer and |
-;; | |activate/inactivate them. |
+;; | |activate/deactivate them. |
;; +-------------------------------+----------------------------------+
;; |`table-recognize-region' |Recognize all the cells in a |
-;; |`table-unrecognize-region' |region and activate/inactivate |
+;; |`table-unrecognize-region' |region and activate/deactivate |
;; | |them. |
;; +-------------------------------+----------------------------------+
;; |`table-recognize-table' |Recognize all the cells in a |
;; |`table-unrecognize-table' |single table and |
-;; | |activate/inactivate them. |
+;; | |activate/deactivate them. |
;; +-------------------------------+----------------------------------+
;; |`table-recognize-cell' |Recognize a cell. Find a cell |
;; |`table-unrecognize-cell' |which contains the current point |
-;; | |and activate/inactivate that cell.|
+;; | |and activate/deactivate that cell.|
;; +-------------------------------+----------------------------------+
;; |`table-forward-cell' |Move point to the next Nth cell in|
;; | |a table. |
@@ -345,7 +345,7 @@
;; Above code is well known ~/.emacs idiom for customizing a mode
;; specific keymap however it does not work for this package. This is
;; because there is no table mode in effect. This package does not
-;; use a local map therefor you must modify `table-cell-map'
+;; use a local map therefore you must modify `table-cell-map'
;; explicitly. The correct way of achieving above task is:
;;
;; (add-hook 'table-cell-map-hook
@@ -2155,7 +2155,7 @@ specified."
(defun table-shorten-cell (n)
"Shorten the current cell by N lines by shrinking the cell vertically.
Shortening is done by removing blank lines from the bottom of the cell
-and possibly from the top of the cell as well. Therefor, the cell
+and possibly from the top of the cell as well. Therefore, the cell
must have some bottom/top blank lines to be shorten effectively. This
is applicable to all the cells aligned horizontally with the current
one because they are also shortened in order to keep the rectangular
@@ -3856,7 +3856,7 @@ companion command to `table-capture' this way.
;;;###autoload
(defun table-release ()
"Convert a table into plain text by removing the frame from a table.
-Remove the frame from a table and inactivate the table. This command
+Remove the frame from a table and deactivate the table. This command
converts a table into plain text without frames. It is a companion to
`table-capture' which does the opposite process."
(interactive)
@@ -4293,7 +4293,7 @@ cache buffer into the designated cell in the table buffer."
(car (table--get-coordinate (cdr (table--horizontal-cell-list nil t))))
(1+ (cdr (table--get-coordinate (cdr (table--vertical-cell-list nil t))))))))
-(defun table-call-interactively (function &optional recoard-flag keys)
+(defun table-call-interactively (function &optional record-flag keys)
"Call FUNCTION, or a table version of it if applicable.
See `call-interactively' for full description of the arguments."
(let ((table-func (intern-soft (format "*table--cell-%s" function))))
@@ -4301,7 +4301,7 @@ See `call-interactively' for full description of the arguments."
(if (and table-func
(table--point-in-cell-p))
table-func
- function) recoard-flag keys)))
+ function) record-flag keys)))
(defun table-funcall (function &rest arguments)
"Call FUNCTION, or a table version of it if applicable.
@@ -5535,7 +5535,7 @@ When COORDINATE is omitted or nil the point in current buffer is assumed in plac
table-cell-info-lu-coordinate))
(defun table--offset-coordinate (coordinate offset &optional negative)
- "Return the offseted COORDINATE by OFFSET.
+ "Return the offset COORDINATE by OFFSET.
When optional NEGATIVE is non-nil offsetting direction is negative."
(cons (if negative (- (car coordinate) (car offset))
(+ (car coordinate) (car offset)))
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index c4892ce572c..34bd24fba3a 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -2254,7 +2254,7 @@ Only applies the FSPEC to the args part of FORMAT."
;; Remove those commands whose input was considered stable for
;; some other command (typically if (t . "%.pdf") is inactive
;; then we're using pdflatex and the fact that the dvi file
- ;; is inexistent doesn't matter).
+ ;; is nonexistent doesn't matter).
(let ((tmp nil))
(dolist (cmd cmds)
(unless (member (nth 1 cmd) unchanged-in)
diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el
index 094885bb0d0..b186b02851d 100644
--- a/lisp/textmodes/texinfmt.el
+++ b/lisp/textmodes/texinfmt.el
@@ -518,7 +518,7 @@ if large. You can use `Info-split' to do this manually."
;;; Handle paragraph filling
-;; Keep as concatinated lists for ease of maintenance
+;; Keep as concatenated lists for ease of maintenance
(defvar texinfo-no-refill-regexp
(concat
@@ -2088,11 +2088,11 @@ This command is executed when texinfmt sees @item inside @multitable."
(table-entry-height 0)
;; unformatted row looks like: A1 @tab A2 @tab A3
;; extract-row command deletes the source line in the table.
- (unformated-row (texinfo-multitable-extract-row)))
+ (unformatted-row (texinfo-multitable-extract-row)))
;; Use a temporary buffer
(set-buffer (get-buffer-create texinfo-multitable-buffer-name))
(delete-region (point-min) (point-max))
- (insert unformated-row)
+ (insert unformatted-row)
(goto-char (point-min))
;; 1. Check for correct number of @tab in line.
(let ((tab-number 1)) ; one @tab between two columns
@@ -4238,7 +4238,7 @@ the @ifeq command."
Must be used only with -batch, and kills Emacs on completion.
Each file will be processed even if an error occurred previously.
For example, invoke
- \"emacs -batch -funcall batch-texinfo-format $docs/ ~/*.texinfo\"."
+ \"emacs -batch -l texinfmt -f batch-texinfo-format $docs/ ~/*.texinfo\"."
(if (not noninteractive)
(error "batch-texinfo-format may only be used -batch"))
(let ((version-control t)
diff --git a/lisp/textmodes/texnfo-upd.el b/lisp/textmodes/texnfo-upd.el
index 047bba72ccd..d674b3a397e 100644
--- a/lisp/textmodes/texnfo-upd.el
+++ b/lisp/textmodes/texnfo-upd.el
@@ -23,7 +23,9 @@
;;; Commentary:
-;; Known bug: update commands fail to ignore @ignore.
+;; Known bug: update commands fail to ignore @ignore, and fail to DTRT
+;; with the @if... directives (so expect trouble when the manual uses
+;; different @node lines or @menu items in @iftex and in @ifnottex).
;; Summary: how to use the updating commands
@@ -37,6 +39,16 @@
;; With a prefix argument, the `texinfo-update-node' and
;; `texinfo-make-menu' functions do their jobs in the region.
;;
+;; Important note: We do NOT recommend use of these commands to update
+;; the `Next', `Previous' and `Up' pointers on @node lines. Most
+;; manuals, including those whose Texinfo files adhere to the strucure
+;; described below, don't need these pointers, because makeinfo will
+;; generate them automatically (see the node "makeinfo Pointer
+;; Creation" in the Texinfo manual). By contrast, due to known bugs
+;; described above, texinfo-update-node etc. could produce incorrect
+;; pointers, and thus make a perfectly valid Texinfo file into an
+;; invalid one. You _have_ been warned!
+;;
;; In brief, the functions for creating or updating nodes and menus, are:
;;
;; texinfo-update-node (&optional beginning end)
@@ -89,6 +101,16 @@
;; It does not matter whether the `@node' line has pre-existing
;; `Next', `Previous', or `Up' pointers in it. They are removed.
+;; Warning: Since the pre-existing pointers are replaced with the ones
+;; computed by `texinfo-update-node', and since this function has
+;; known bugs with the more advanced Texinfo features (see above), it
+;; could produce an invalid Texinfo file. You are well advised not to
+;; use this function, except if you know what you are doing and
+;; exercise extreme caution. Keep in mind that most manuals do not
+;; need the `Next', `Previous', and `Up' pointers to be present on the
+;; @node lines; makeinfo will automatically generate them when it
+;; produces the Info or HTML versions of the manual.
+
;; The `texinfo-every-node-update' function runs `texinfo-update-node'
;; on the whole buffer.
@@ -119,12 +141,15 @@
;; on the whole buffer.
;; The `texinfo-master-menu' function creates an extended menu located
-;; after the top node. (The file must have a top node.) The function
-;; first updates all the regular menus in the buffer (incorporating the
-;; descriptions from pre-existing menus), and then constructs a master
-;; menu that includes every entry from every other menu. (However, the
-;; function cannot update an already existing master menu; if one
-;; exists, it must be removed before calling the function.)
+;; after the top node. (The file must have a top node.) This
+;; function works only on Texinfo files all of whose menus are
+;; present in a single file; use `texinfo-multiple-files-update' for
+;; multi-file manuals. The function constructs a master menu that
+;; includes every entry from every other menu. Use this command to
+;; create or update the @detailmenu menu after you've created or
+;; updated all the menus in the file, including the menu in the Top
+;; node, using the `texinfo-make-menu' or the `texinfo-all-menus-update'
+;; command.
;; The `texinfo-indent-menu-description' function indents every
;; description in the menu following point, to the specified column.
@@ -142,7 +167,7 @@
;; as node names in pre-existing `@node' lines that lack names.
;;
;; Since node names should be more concise than section or chapter
-;; titles, node names so inserted will need to be edited manually.
+;; titles, you will usually want to manually edit node names so inserted.
;;; Code:
@@ -330,8 +355,13 @@ at the level specified by LEVEL. Point is left at the end of menu."
"Update every regular menu in a Texinfo file.
Update pre-existing master menu, if there is one.
+Only single-file manuals are supported by this function. For
+multi-file manuals, use `texinfo-multiple-files-update'.
+
If called with a non-nil argument, this function first updates all the
-nodes in the buffer before updating the menus.
+nodes in the buffer before updating the menus. Do NOT invoke this
+command with an argument if your Texinfo file uses @node lines without
+the `Next', `Previous', and `Up' pointers!
Indents the first line of descriptions, and leaves trailing whitespace
in a menu that lacks descriptions, so descriptions will format well.
@@ -843,20 +873,35 @@ second and subsequent lines of a multi-line description."
(defun texinfo-master-menu (update-all-nodes-menus-p)
"Make a master menu for a whole Texinfo file.
-Non-nil argument (prefix, if interactive) means first update all
-existing nodes and menus. Remove pre-existing master menu, if there is one.
-
-This function creates a master menu that follows the top node. The
-master menu includes every entry from all the other menus. It
-replaces any existing ordinary menu that follows the top node.
-
-If called with a non-nil argument, this function first updates all the
-menus in the buffer (incorporating descriptions from pre-existing
-menus) before it constructs the master menu.
-
-The function removes the detailed part of an already existing master
-menu. This action depends on the pre-existing master menu using the
-standard `texinfo-master-menu-header'.
+Remove pre-existing master menu, if there is one.
+
+This function supports only single-file manuals. For multi-file
+manuals, use `texinfo-multiple-files-update'.
+
+This function creates or updates the @detailmenu section of a
+master menu that follows the Top node. It replaces any existing
+detailed menu that follows the top node. The detailed menu
+includes every entry from all the other menus. By default, the
+existing menus, including the menu in the Top node, are not
+updated according to the buffer contents, so all the menus should
+be updated first using `texinfo-make-menu' or
+`texinfo-all-menus-update', which see. Alternatively, invoke
+this function with a prefix argument, see below.
+
+Non-nil, non-numeric argument (C-u prefix, if interactive) means
+first update all existing menus in the buffer (incorporating
+descriptions from pre-existing menus) before it constructs the
+master menu. If the argument is numeric (e.g., \"C-u 2\"),
+update all existing nodes as well, by calling
+\`texinfo-update-node' on the entire file. Warning: do NOT
+invoke with a numeric argument if your Texinfo file uses @node
+lines without the `Next', `Previous', `Up' pointers, as the
+result could be an invalid Texinfo file!
+
+The function removes and recreates the detailed part of an already
+existing master menu. This action assumes that the pre-existing
+master menu uses the standard `texinfo-master-menu-header' for the
+detailed menu.
The master menu has the following format, which is adapted from the
recommendation in the Texinfo Manual:
@@ -909,10 +954,11 @@ section titles are often too short to explain a node well."
(if update-all-nodes-menus-p
(progn
- (message "Making a master menu in %s ...first updating all nodes... "
- (buffer-name))
- (texinfo-update-node (point-min) (point-max))
-
+ (when (numberp update-all-nodes-menus-p)
+ (message
+ "Making a master menu in %s ...first updating all nodes... "
+ (buffer-name))
+ (texinfo-update-node (point-min) (point-max)))
(message "Updating all menus in %s ... " (buffer-name))
(texinfo-make-menu (point-min) (point-max))))
@@ -978,7 +1024,7 @@ However, there does not need to be a title field."
(let ((first-chapter
(save-excursion (re-search-forward "^@node\\|^@include") (point))))
(unless (re-search-forward "^@menu" first-chapter t)
- (error "Buffer lacks ordinary `Top' menu in which to insert master")))
+ (error "Buffer lacks a menu in its first node; create it, then run me again")))
(beginning-of-line)
(delete-region ; buffer must have ordinary top menu
(point)
@@ -1207,6 +1253,11 @@ end of that region; it limits the search."
"Without any prefix argument, update the node in which point is located.
Interactively, a prefix argument means to operate on the region.
+Warning: do NOT use this function if your Texinfo file uses @node
+lines without the `Next', `Previous', `Up' pointers, because the
+result could be an invalid Texinfo file due to known deficiencies
+in this command: it does not support @ignore and @if* directives.
+
The functions for creating or updating nodes and menus, and their
keybindings, are:
@@ -1246,7 +1297,12 @@ which menu descriptions are indented. Its default value is 32."
(message "Done...nodes updated in region. You may save the buffer."))))))
(defun texinfo-every-node-update ()
- "Update every node in a Texinfo file."
+ "Update every node in a Texinfo file.
+
+Warning: do NOT use this function if your Texinfo file uses @node
+lines without the `Next', `Previous', `Up' pointers, because the
+result could be an invalid Texinfo file due to known deficiencies
+in this command: it does not support @ignore and @if* directives."
(interactive)
(save-excursion
(texinfo-update-node (point-min) (point-max))
@@ -1934,7 +1990,11 @@ With optional UPDATE-EVERYTHING argument (numeric prefix arg, if
interactive), update all the menus and all the `Next', `Previous', and
`Up' pointers of all the files included in OUTER-FILE before inserting
a master menu in OUTER-FILE. Also, update the `Top' level node
-pointers of OUTER-FILE.
+pointers of OUTER-FILE. Do NOT invoke this command with a numeric prefix
+arg, if your files use @node lines without the `Next', `Previous', `Up'
+pointers, because this could produce invalid Texinfo files due to known
+deficiencies in `texinfo-update-node': it does not support the @ignore
+and @if... directives.
Notes:
diff --git a/lisp/thumbs.el b/lisp/thumbs.el
index 6ac8eddc9d6..6ffd256d0a0 100644
--- a/lisp/thumbs.el
+++ b/lisp/thumbs.el
@@ -92,7 +92,7 @@ When it reaches that size (in bytes), a warning is sent."
:group 'thumbs)
;; Unfortunately Windows XP has a program called CONVERT.EXE in
-;; C:/WINDOWS/SYSTEM32/ for partioning NTFS system. So Emacs
+;; C:/WINDOWS/SYSTEM32/ for partitioning NTFS systems. So Emacs
;; can find the one in your ImageMagick directory, you need to
;; customize this value to the absolute filename.
(defcustom thumbs-conversion-program
@@ -235,7 +235,7 @@ reached."
(setq dirsize (- dirsize (car (cdar files-list))))
(setq files-list (cdr files-list)))))
-;; Check the thumbsnail directory size and clean it if necessary.
+;; Check the thumbnail directory size and clean it if necessary.
(when thumbs-thumbsdir-auto-clean
(thumbs-cleanup-thumbsdir))
diff --git a/lisp/time.el b/lisp/time.el
index ac4a011bdf8..4955b177545 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -369,7 +369,7 @@ would give mode line times like `94/12/30 21:07:48 (UTC)'."
nil)))
(with-no-warnings
- ;; Warnings are suppresed to avoid "global/dynamic var `X' lacks a prefix".
+ ;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix".
(defvar now)
(defvar time)
(defvar load)
diff --git a/lisp/tutorial.el b/lisp/tutorial.el
index be1a12b499b..2e651484008 100644
--- a/lisp/tutorial.el
+++ b/lisp/tutorial.el
@@ -182,7 +182,7 @@ LEFT and RIGHT are the elements to compare."
(equal (car x) (car y)))
(setq x (cdr x))
(setq y (cdr y)))
- ;; Try to make a comparision that is useful for presentation (this
+ ;; Try to make a comparison that is useful for presentation (this
;; could be made nicer perhaps):
(let ((cx (car x))
(cy (car y)))
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 47f006eebda..db28770ad0e 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1673,7 +1673,7 @@
(url-dav-process-DAV:activelock)
(url-dav-process-DAV:lockdiscovery): Can now correctly parse
DAV:lockdiscovery nodes, so that we can find out who has a
- resource locked and properly parse the reponse to a LOCK request.
+ resource locked and properly parse the response to a LOCK request.
(url-dav-process-DAV:status): Now parses out the numeric status
from the HTTP response line.
(url-dav-process-response): New function to handle all the
@@ -1977,7 +1977,7 @@
* lisp/url-gw.el (url-gw-inhibit-code-conversion): Remove.
(url-open-stream): Bind coding-system-for{read,write} when setting
- up the connexion. Don't call url-gw-inhibit-code-conversion.
+ up the connection. Don't call url-gw-inhibit-code-conversion.
2001-05-24 William M. Perry <wmperry@gnu.org>
@@ -2448,7 +2448,7 @@
* lisp/url-nfs.el (url-nfs-create-wrapper): New function to create
wrappers onto the appropriate file-based URLs for file-name-handlers.
- * lisp/url-ftp.el: Moved the FTP stuff into it's own file - it
+ * lisp/url-ftp.el: Moved the FTP stuff into its own file - it
might get messy with file-name-handlers and things.
* lisp/url-http.el (url-http-clean-headers): Fix problem when
@@ -2516,4 +2516,3 @@
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el
index 9e29de0cbed..0e3713c9fcc 100644
--- a/lisp/url/url-dav.el
+++ b/lisp/url/url-dav.el
@@ -417,7 +417,7 @@ XML document."
Automatically creates an XML request body if TAG is non-nil.
BODY is the XML document fragment to be enclosed by <TAG></TAG>.
-DEPTH is how deep the request should propogate. Default is 0, meaning
+DEPTH is how deep the request should propagate. Default is 0, meaning
it should apply only to URL. A negative number means to use
`Infinity' for the depth. Not all WebDAV servers support this depth
though.
diff --git a/lisp/url/url-gw.el b/lisp/url/url-gw.el
index 7d80f2f6725..a3a384b7a90 100644
--- a/lisp/url/url-gw.el
+++ b/lisp/url/url-gw.el
@@ -72,12 +72,12 @@ This list will be executed as a command after logging in via telnet."
:group 'url-gateway)
(defcustom url-gateway-telnet-login-prompt "^\r*.?login:"
- "Prompt that tells us we should send our username when loggin in w/telnet."
+ "Prompt that tells us we should send our username when logging in w/telnet."
:type 'regexp
:group 'url-gateway)
(defcustom url-gateway-telnet-password-prompt "^\r*.?password:"
- "Prompt that tells us we should send our password when loggin in w/telnet."
+ "Prompt that tells us we should send our password when logging in w/telnet."
:type 'regexp
:group 'url-gateway)
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index bb7744be434..a9ff042d681 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -721,7 +721,7 @@ should be shown to the user."
;; The request could not be completed due to a conflict with
;; the current state of the resource. This code is only
;; allowed in situations where it is expected that the user
- ;; mioght be able to resolve the conflict and resubmit the
+ ;; might be able to resolve the conflict and resubmit the
;; request. The response body SHOULD include enough
;; information for the user to recognize the source of the
;; conflict.
diff --git a/lisp/vc/cvs-status.el b/lisp/vc/cvs-status.el
index 063eb414579..3444b230e8d 100644
--- a/lisp/vc/cvs-status.el
+++ b/lisp/vc/cvs-status.el
@@ -257,7 +257,7 @@ The tree will be printed no closer than column COLUMN."
(defun cvs-tree-merge (tree1 tree2)
"Merge tags trees TREE1 and TREE2 into one.
-BEWARE: because of stability issues, this is not a symetric operation."
+BEWARE: because of stability issues, this is not a symmetric operation."
(assert (and (listp tree1) (listp tree2)))
(cond
((null tree1) tree2)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 9f0fa584b0d..8f4b59f9e53 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -146,7 +146,7 @@ when editing big diffs)."
;; but not all since they may hide useful M-<foo> global
;; bindings when editing.
(set-keymap-parent map diff-mode-shared-map)
- (dolist (key '("A" "r" "R" "g" "q" "W"))
+ (dolist (key '("A" "r" "R" "g" "q" "W" "z"))
(define-key map key nil))
map))
;; From compilation-minor-mode.
@@ -815,9 +815,11 @@ PREFIX is only used internally: don't use it."
(diff-find-file-name old noprompt (match-string 1)))
;; if all else fails, ask the user
(unless noprompt
- (let ((file (read-file-name (format "Use file %s: "
- (or (first fs) ""))
- nil (first fs) t (first fs))))
+ (let ((file (expand-file-name (or (first fs) ""))))
+ (setq file
+ (read-file-name (format "Use file %s: " file)
+ (file-name-directory file) file t
+ (file-name-nondirectory file)))
(set (make-local-variable 'diff-remembered-files-alist)
(cons (cons fs file) diff-remembered-files-alist))
file))))))
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el
index 20c83429ced..85ec49885bd 100644
--- a/lisp/vc/ediff-diff.el
+++ b/lisp/vc/ediff-diff.el
@@ -1292,7 +1292,7 @@ delimiter regions"))
Used for splitting difference regions into individual words.")
(make-variable-buffer-local 'ediff-forward-word-function)
-;; \240 is unicode symbol for nonbreakable whitespace
+;; \240 is Unicode symbol for nonbreakable whitespace
(defvar ediff-whitespace " \n\t\f\r\240"
"*Characters constituting white space.
These characters are ignored when differing regions are split into words.")
diff --git a/lisp/vc/ediff-help.el b/lisp/vc/ediff-help.el
index ddd9371b060..ee7837b29a3 100644
--- a/lisp/vc/ediff-help.el
+++ b/lisp/vc/ediff-help.el
@@ -50,7 +50,7 @@ For help on a specific command: Click Button 2 over it; or
(defconst ediff-long-help-message-compare3
"
p,DEL -previous diff | | -vert/horiz split | xy -copy buf X's region to Y
-n,SPC -next diff | h -hilighting | rx -restore buf X's old diff
+n,SPC -next diff | h -highlighting | rx -restore buf X's old diff
j -jump to diff | @ -auto-refinement | * -refine current region
gx -goto X's point| ## -ignore whitespace | ! -update diff regions
C-l -recenter | #c -ignore case |
@@ -64,7 +64,7 @@ Normally, not a user option. See `ediff-help-message' for details.")
(defconst ediff-long-help-message-compare2
"
p,DEL -previous diff | | -vert/horiz split |a/b -copy A/B's region to B/A
-n,SPC -next diff | h -hilighting | rx -restore buf X's old diff
+n,SPC -next diff | h -highlighting | rx -restore buf X's old diff
j -jump to diff | @ -auto-refinement | * -refine current region
gx -goto X's point| ## -ignore whitespace | ! -update diff regions
C-l -recenter | #c -ignore case |
@@ -78,7 +78,7 @@ Normally, not a user option. See `ediff-help-message' for details.")
(defconst ediff-long-help-message-narrow2
"
p,DEL -previous diff | | -vert/horiz split |a/b -copy A/B's region to B/A
-n,SPC -next diff | h -hilighting | rx -restore buf X's old diff
+n,SPC -next diff | h -highlighting | rx -restore buf X's old diff
j -jump to diff | @ -auto-refinement | * -refine current region
gx -goto X's point| ## -ignore whitespace | ! -update diff regions
C-l -recenter | #c -ignore case | % -narrow/widen buffs
@@ -92,7 +92,7 @@ Normally, not a user option. See `ediff-help-message' for details.")
(defconst ediff-long-help-message-word-mode
"
p,DEL -previous diff | | -vert/horiz split | xy -copy buf X's region to Y
-n,SPC -next diff | h -hilighting | rx -restore buf X's old diff
+n,SPC -next diff | h -highlighting | rx -restore buf X's old diff
j -jump to diff | |
gx -goto X's point| % -narrow/widen buffs | ! -recompute diffs
C-l -recenter | #c -ignore case |
@@ -106,7 +106,7 @@ Normally, not a user option. See `ediff-help-message' for details.")
(defconst ediff-long-help-message-merge
"
p,DEL -previous diff | | -vert/horiz split | x -copy buf X's region to C
-n,SPC -next diff | h -hilighting | r -restore buf C's old diff
+n,SPC -next diff | h -highlighting | r -restore buf C's old diff
j -jump to diff | @ -auto-refinement | * -refine current region
gx -goto X's point| ## -ignore whitespace | ! -update diff regions
C-l -recenter | #f/#h -focus/hide regions | + -combine diff regions
diff --git a/lisp/vc/ediff-init.el b/lisp/vc/ediff-init.el
index 787a8b7c0f1..d3db66a9e2a 100644
--- a/lisp/vc/ediff-init.el
+++ b/lisp/vc/ediff-init.el
@@ -370,7 +370,7 @@ It needs to be killed when we quit the session.")
this-command)))
(defgroup ediff-highlighting nil
- "Hilighting of difference regions in Ediff."
+ "Highlighting of difference regions in Ediff."
:prefix "ediff-"
:group 'ediff)
diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el
index cadcdec29b4..ce7818d5ef4 100644
--- a/lisp/vc/ediff-mult.el
+++ b/lisp/vc/ediff-mult.el
@@ -2164,7 +2164,7 @@ all marked sessions must be active."
;; If meta-buf doesn't exist, it is created. In that case, id doesn't have a
;; parent meta-buf
;; Check if META-BUF exists before calling this function
-;; Optional MUST-REDRAW, if non-nil, would force redrawal of the whole meta
+;; Optional MUST-REDRAW, if non-nil, would force redrawing of the whole meta
;; buffer. Otherwise, it will just go over the buffer and update activity marks
;; and session status.
;; SESSION-NUMBER, if specified, says which session caused the update.
diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index df6a7e938af..b1c6e367ef7 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -452,7 +452,7 @@ to invocation.")
(if ediff-3way-job
(ediff-with-current-buffer ediff-buffer-C
(ediff-nuke-selective-display)
- ;; the merge bufer should never be narrowed
+ ;; the merge buffer should never be narrowed
;; (it can happen if it is on rmail-mode or similar)
(if (ediff-with-current-buffer control-buffer ediff-merge-job)
(widen))
@@ -2635,7 +2635,7 @@ delete this buffer in another session as well."
))
;; Kill the variant buffer, according to user directives (ask, kill
-;; unconditionaly, keep)
+;; unconditionally, keep)
;; BUFF is the buffer, BUFF-TYPE is either 'A, or 'B, 'C, 'Ancestor
(defun ediff-dispose-of-variant-according-to-user (buff bufftype ask keep-variants)
;; if this is indirect buffer, kill it and substitute with direct buf
@@ -3811,7 +3811,7 @@ Ediff Control Panel to restore highlighting."
;; later, and nconc above will break it. Either this or use slow
;; append instead of nconc
(selected-buffers (ediff-get-selected-buffers))
- (prefered-buffer (car all-buffers))
+ (preferred-buffer (car all-buffers))
visible-dired-buffers
(excl-buff-name-list
(mapcar
@@ -3841,7 +3841,7 @@ Ediff Control Panel to restore highlighting."
(cond ((member (buffer-name x) excl-buff-name-list) nil)
((memq x selected-buffers) x)
((not (ediff-get-visible-buffer-window x)) nil)
- ((eq x prefered-buffer) x)
+ ((eq x preferred-buffer) x)
;; if prev selected buffer is dired, look only at
;; dired.
((eq use-dired-major-mode 'yes)
diff --git a/lisp/vc/pcvs-defs.el b/lisp/vc/pcvs-defs.el
index f6340392dc2..477cd472289 100644
--- a/lisp/vc/pcvs-defs.el
+++ b/lisp/vc/pcvs-defs.el
@@ -493,7 +493,8 @@ It is expected to call the function.")
(define-key m [examine]
`(menu-item ,(purecopy "Examine Directory") cvs-examine
:help ,(purecopy "Examine the current state of a workarea")))
- (fset 'cvs-global-menu m)))
+ (fset 'cvs-global-menu m))
+ "Global menu used by PCL-CVS.")
;; cvs-1.10 and above can take file arguments in other directories
diff --git a/lisp/vc/pcvs-parse.el b/lisp/vc/pcvs-parse.el
index c514026b1f1..43292ed14e4 100644
--- a/lisp/vc/pcvs-parse.el
+++ b/lisp/vc/pcvs-parse.el
@@ -430,7 +430,7 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'."
;; Conflict
(and
(cvs-match (concat "C \\(.*" qfile "\\)$") (path 1) (type 'CONFLICT))
- ;; C might be followed by a "suprious" U for non-mergeable files
+ ;; C might be followed by a "spurious" U for non-mergable files
(cvs-or (cvs-match (concat "U \\(.*" qfile "\\)$")) t))
;; Successful merge
(cvs-match (concat "M \\(.*" qfile "\\)$") (path 1))
diff --git a/lisp/vc/pcvs-util.el b/lisp/vc/pcvs-util.el
index 4915cb9bf7f..ea739ea726a 100644
--- a/lisp/vc/pcvs-util.el
+++ b/lisp/vc/pcvs-util.el
@@ -89,7 +89,7 @@ try to split a new window instead."
(or (let ((buf (get-buffer-window buf))) (and buf (select-window buf)))
(and pop-up-windows
(ignore-errors (select-window (split-window-below)))
- (switch-to-buffer buf))
+ (switch-to-buffer buf nil 'force-same-window))
(pop-to-buffer (current-buffer)))))
(defun cvs-bury-buffer (buf &optional mainbuf)
diff --git a/lisp/vc/pcvs.el b/lisp/vc/pcvs.el
index 256719d4c84..9a8be04fc38 100644
--- a/lisp/vc/pcvs.el
+++ b/lisp/vc/pcvs.el
@@ -322,7 +322,7 @@ The argument is added (or not) to the list of FLAGS and is constructed
by appending the branch to ARG which defaults to \"-r\".
Since the `cvs-secondary-branch-prefix' is only active if the primary
prefix is active, it is important to read the secondary prefix before
-the primay since reading the primary can deactivate it."
+the primary since reading the primary can deactivate it."
(let ((branch (and (cvs-prefix-get 'cvs-branch-prefix 'read-only)
(cvs-prefix-get 'cvs-secondary-branch-prefix))))
(if branch (cons (concat (or arg "-r") branch) flags) flags)))
diff --git a/lisp/vc/vc-arch.el b/lisp/vc/vc-arch.el
index eeac55ac0f8..a20a49a4c39 100644
--- a/lisp/vc/vc-arch.el
+++ b/lisp/vc/vc-arch.el
@@ -398,7 +398,7 @@ CALLBACK expects (ENTRIES &optional MORE-TO-COME); see
(with-temp-buffer
(insert-file-contents rej)
(goto-char (point-min))
- (looking-at "Conflicts occured, diff3 conflict markers left in file\\.")))))
+ (looking-at "Conflicts occurred, diff3 conflict markers left in file\\.")))))
(defun vc-arch-delete-rej-if-obsolete ()
"For use in `after-save-hook'."
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index f6b6a56f31c..c5c0ce73b3a 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -124,7 +124,8 @@ Use the current Bzr root directory as the ROOT argument to
;; Used in the autoloaded vc-bzr-registered; see below.
;;;###autoload
(defconst vc-bzr-admin-checkout-format-file
- (concat vc-bzr-admin-dirname "/checkout/format"))
+ (concat vc-bzr-admin-dirname "/checkout/format")
+ "Name of the format file in a .bzr directory.")
(defconst vc-bzr-admin-dirstate
(concat vc-bzr-admin-dirname "/checkout/dirstate"))
(defconst vc-bzr-admin-branch-format-file
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index 6a76359b5f7..7d6c3caf7ff 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -189,7 +189,8 @@ See also variable `vc-cvs-sticky-date-format-string'."
;;; State-querying functions
;;;
-;;;###autoload (defun vc-cvs-registered (f)
+;;;###autoload(defun vc-cvs-registered (f)
+;;;###autoload "Return non-nil if file F is registered with CVS."
;;;###autoload (when (file-readable-p (expand-file-name
;;;###autoload "CVS/Entries" (file-name-directory f)))
;;;###autoload (load "vc-cvs")
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index 82eb8783a74..d4b631a1d1b 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -1021,7 +1021,7 @@ specific headers."
(lambda (info)
;; The state for directory entries might
;; have been changed to 'up-to-date,
- ;; reset it, othewise it will be removed when doing 'x'
+ ;; reset it, otherwise it will be removed when doing 'x'
;; next time.
;; FIXME: There should be a more elegant way to do this.
(when (and (vc-dir-fileinfo->directory info)
diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el
index 84c7f4a510b..7fe727bd179 100644
--- a/lisp/vc/vc-dispatcher.el
+++ b/lisp/vc/vc-dispatcher.el
@@ -103,7 +103,7 @@
;;
;; When the client mode adds a local vc-mode-line-hook to a buffer, it
;; will be called with the buffer file name as argument whenever the
-;; dispatcher resynchs the buffer.
+;; dispatcher resyncs the buffer.
;; To do:
;;
diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el
index 0b263e9c669..f49ad09b5d7 100644
--- a/lisp/vc/vc-mtn.el
+++ b/lisp/vc/vc-mtn.el
@@ -59,9 +59,10 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
(setq vc-handled-backends (delq 'Mtn vc-handled-backends)))
;;;###autoload
-(defconst vc-mtn-admin-dir "_MTN")
+(defconst vc-mtn-admin-dir "_MTN" "Name of the monotone directory.")
;;;###autoload
-(defconst vc-mtn-admin-format (concat vc-mtn-admin-dir "/format"))
+(defconst vc-mtn-admin-format (concat vc-mtn-admin-dir "/format")
+ "Name of the monotone directory's format file.")
;;;###autoload (defun vc-mtn-registered (file)
;;;###autoload (if (vc-find-root file vc-mtn-admin-format)
@@ -299,7 +300,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
ids)))
(defun vc-mtn-revision-completion-table (files)
- ;; TODO: Implement completion for for selectors
+ ;; TODO: Implement completion for selectors
;; TODO: Implement completion for composite selectors.
(lexical-let ((files files))
;; What about using `files'?!? --Stef
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 909585138fc..eea1a992094 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -181,7 +181,7 @@
;; * working-revision (file)
;;
;; Return the working revision of FILE. This is the revision fetched
-;; by the last checkout or upate, not necessarily the same thing as the
+;; by the last checkout or update, not necessarily the same thing as the
;; head or tip revision. Should return "0" for a file added but not yet
;; committed.
;;
@@ -2690,7 +2690,7 @@ log entries should be gathered."
(substring rev 0 index))))
(defun vc-default-responsible-p (backend file)
- "Indicate whether BACKEND is reponsible for FILE.
+ "Indicate whether BACKEND is responsible for FILE.
The default is to return nil always."
nil)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index d4fc35920a9..b8673f2049f 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -223,7 +223,7 @@
;; automatically for a PC if Oemacs is detected. This set uses separate
;; control, shift and meta keys with function keys 1 to 10. In
;; particular, movement keys are concentrated on f5 to f8 with (in
-;; increasing order of distance travelled) C-, M- and S- as prefixes.
+;; increasing order of distance traveled) C-, M- and S- as prefixes.
;; See the actual bindings below (search for C-f1). This is because the
;; C-S- prefix is represented by weird key sequences and the set is
;; incomplete; if you don't mind that, some hints are given in comments
diff --git a/lisp/version.el b/lisp/version.el
index d28a3004585..aa4e22469c5 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -1,4 +1,4 @@
-;;; version.el --- record version number of Emacs -*- no-byte-compile: t -*-
+;;; version.el --- record version number of Emacs
;; Copyright (C) 1985, 1992, 1994-1995, 1999-2011
;; Free Software Foundation, Inc.
@@ -40,7 +40,8 @@ This variable first existed in version 19.23.")
(defconst emacs-build-time (current-time) "\
Time at which Emacs was dumped out.")
-(defconst emacs-build-system (system-name))
+(defconst emacs-build-system (system-name) "\
+Name of the system on which Emacs was built.")
(defun emacs-version (&optional here) "\
Return string describing the version of Emacs that is running.
@@ -83,8 +84,9 @@ to the system configuration; look at `system-configuration' instead."
(purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version))
" $\n")))
-;;Local variables:
-;;version-control: never
-;;End:
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; End:
;;; version.el ends here
diff --git a/lisp/view.el b/lisp/view.el
index 6955fbdfad8..0d8ad3336f9 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -311,10 +311,9 @@ file: Users may suspend viewing in order to modify the buffer.
Exiting View mode will then discard the user's edits. Setting
EXIT-ACTION to `kill-buffer-if-not-modified' avoids this."
(interactive "bView buffer: ")
- (if (with-current-buffer buffer
- (and (eq (get major-mode 'mode-class)
- 'special)
- (null buffer-file-name)))
+ (if (eq (with-current-buffer buffer
+ (get major-mode 'mode-class))
+ 'special)
(progn
(switch-to-buffer buffer)
(message "Not using View mode because the major mode is special"))
@@ -482,7 +481,7 @@ Entry to view-mode runs the normal hook `view-mode-hook'."
;; sets view-read-only to t as a buffer-local variable
;; after exiting View mode. That arranges that the next toggle-read-only
;; will reenable View mode.
- ;; Cancelling View mode in any other way should cancel that, too,
+ ;; Canceling View mode in any other way should cancel that, too,
;; so that View mode stays off if toggle-read-only is called.
(if (local-variable-p 'view-read-only)
(kill-local-variable 'view-read-only))
@@ -497,7 +496,7 @@ Entry to view-mode runs the normal hook `view-mode-hook'."
"Update `view-return-to-alist' of buffer BUFFER.
Remove from `view-return-to-alist' all entries referencing dead
windows. Optional argument ITEM non-nil means add ITEM to
-`view-return-to-alist' after purging. For a decsription of items
+`view-return-to-alist' after purging. For a description of items
that can be added see the RETURN-TO-ALIST argument of the
function `view-mode-exit'. If `view-return-to-alist' contains an
entry for the selected window, purge that entry from
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index cb21d4b08c0..1f54b8577c3 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -381,10 +381,10 @@ bit output with no translation."
(w32-add-charset-info "mac-roman" 'w32-charset-mac 10000)
(w32-add-charset-info "iso10646-1" 'w32-charset-default t)
-;; ;; If unicode windows charset is not defined, use ansi fonts.
+;; ;; If Unicode Windows charset is not defined, use ansi fonts.
;; (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t))
-;; Prefered names
+;; Preferred names
(w32-add-charset-info "big5-0" 'w32-charset-chinesebig5 950)
(w32-add-charset-info "gb2312.1980-0" 'w32-charset-gb2312 936)
(w32-add-charset-info "jisx0208-sjis" 'w32-charset-shiftjis 932)
diff --git a/lisp/wdired.el b/lisp/wdired.el
index cc99bd40628..b9c07d15ae8 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -32,7 +32,7 @@
;; the files in a "dired" buffer? Now you can do this. All the power
;; of Emacs commands are available to renaming files!
;;
-;; This package provides a function that makes the filenames of a a
+;; This package provides a function that makes the filenames of a
;; dired buffer editable, by changing the buffer mode (which inhibits
;; all of the commands of dired mode). Here you can edit the names of
;; one or more files and directories, and when you press C-c C-c, the
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index 53a35b4f0b3..57f51e21fbb 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -623,8 +623,12 @@ and `newline'."
(defface whitespace-newline
'((((class color) (background dark))
(:foreground "darkgray" :bold nil))
- (((class color) (background light))
+ (((class color) (min-colors 88) (background light))
(:foreground "lightgray" :bold nil))
+ ;; Displays with 16 colors use lightgray as background, so using a
+ ;; lightgray foreground makes the newline mark invisible.
+ (((class color) (background light))
+ (:foreground "brown" :bold nil))
(t (:underline t :bold nil)))
"Face used to visualize NEWLINE char mapping.
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 8c4df9fc9cf..07eccaff4fb 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -295,10 +295,10 @@ minibuffer."
(error "Canceled"))
value))))
-(defun widget-remove-if (predictate list)
+(defun widget-remove-if (predicate list)
(let (result (tail list))
(while tail
- (or (funcall predictate (car tail))
+ (or (funcall predicate (car tail))
(setq result (cons (car tail) result)))
(setq tail (cdr tail)))
(nreverse result)))
@@ -577,7 +577,7 @@ This is only meaningful for radio buttons or checkboxes in a list."
"Map FUNCTION over the buttons in BUFFER.
FUNCTION is called with the arguments WIDGET and MAPARG.
-If FUNCTION returns non-nil, the walk is cancelled.
+If FUNCTION returns non-nil, the walk is canceled.
The arguments MAPARG, and BUFFER default to nil and (current-buffer),
respectively."
diff --git a/lisp/window.el b/lisp/window.el
index 10c6adc04e4..138fb7bcb2a 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -170,7 +170,7 @@ Applications should never rebind this variable. To resize a
window to a height less than the one specified here, an
application should instead call `window-resize' with a non-nil
IGNORE argument. In order to have `split-window' make a window
-shorter, explictly specify the SIZE argument of that function."
+shorter, explicitly specify the SIZE argument of that function."
:type 'integer
:version "24.1"
:group 'windows)
@@ -190,7 +190,7 @@ Applications should never rebind this variable. To resize a
window to a width less than the one specified here, an
application should instead call `window-resize' with a non-nil
IGNORE argument. In order to have `split-window' make a window
-narrower, explictly specify the SIZE argument of that function."
+narrower, explicitly specify the SIZE argument of that function."
:type 'integer
:version "24.1"
:group 'windows)
@@ -246,57 +246,57 @@ windows horizontally arranged within WINDOW."
(setq child (window-right child)))
count))))
-(defun walk-window-tree-1 (proc walk-window-tree-window any &optional sub-only)
+(defun walk-window-tree-1 (fun walk-window-tree-window any &optional sub-only)
"Helper function for `walk-window-tree' and `walk-window-subtree'."
(let (walk-window-tree-buffer)
(while walk-window-tree-window
(setq walk-window-tree-buffer
(window-buffer walk-window-tree-window))
(when (or walk-window-tree-buffer any)
- (funcall proc walk-window-tree-window))
+ (funcall fun walk-window-tree-window))
(unless walk-window-tree-buffer
(walk-window-tree-1
- proc (window-left-child walk-window-tree-window) any)
+ fun (window-left-child walk-window-tree-window) any)
(walk-window-tree-1
- proc (window-top-child walk-window-tree-window) any))
+ fun (window-top-child walk-window-tree-window) any))
(if sub-only
(setq walk-window-tree-window nil)
(setq walk-window-tree-window
(window-right walk-window-tree-window))))))
-(defun walk-window-tree (proc &optional frame any)
- "Run function PROC on each live window of FRAME.
-PROC must be a function with one argument - a window. FRAME must
+(defun walk-window-tree (fun &optional frame any)
+ "Run function FUN on each live window of FRAME.
+FUN must be a function with one argument - a window. FRAME must
be a live frame and defaults to the selected one. ANY, if
-non-nil means to run PROC on all live and internal windows of
+non-nil means to run FUN on all live and internal windows of
FRAME.
This function performs a pre-order, depth-first traversal of the
-window tree. If PROC changes the window tree, the result is
+window tree. If FUN changes the window tree, the result is
unpredictable."
(let ((walk-window-tree-frame (window-normalize-frame frame)))
(walk-window-tree-1
- proc (frame-root-window walk-window-tree-frame) any)))
+ fun (frame-root-window walk-window-tree-frame) any)))
-(defun walk-window-subtree (proc &optional window any)
- "Run function PROC on the subtree of windows rooted at WINDOW.
-WINDOW defaults to the selected window. PROC must be a function
-with one argument - a window. By default, run PROC only on live
+(defun walk-window-subtree (fun &optional window any)
+ "Run function FUN on the subtree of windows rooted at WINDOW.
+WINDOW defaults to the selected window. FUN must be a function
+with one argument - a window. By default, run FUN only on live
windows of the subtree. If the optional argument ANY is non-nil,
-run PROC on all live and internal windows of the subtree. If
-WINDOW is live, run PROC on WINDOW only.
+run FUN on all live and internal windows of the subtree. If
+WINDOW is live, run FUN on WINDOW only.
This function performs a pre-order, depth-first traversal of the
-subtree rooted at WINDOW. If PROC changes that tree, the result
+subtree rooted at WINDOW. If FUN changes that tree, the result
is unpredictable."
(setq window (window-normalize-window window))
- (walk-window-tree-1 proc window any t))
+ (walk-window-tree-1 fun window any t))
(defun window-with-parameter (parameter &optional value frame any)
"Return first window on FRAME with PARAMETER non-nil.
FRAME defaults to the selected frame. Optional argument VALUE
non-nil means only return a window whose window-parameter value
-for PARAMETER equals VALUE \(comparison is done with `equal').
+for PARAMETER equals VALUE (comparison is done with `equal').
Optional argument ANY non-nil means consider internal windows
too."
(let (this-value windows)
@@ -312,7 +312,7 @@ too."
(defun window-atom-root (&optional window)
"Return root of atomic window WINDOW is a part of.
WINDOW can be any window and defaults to the selected one.
-Return nil if WINDOW is not part of a atomic window."
+Return nil if WINDOW is not part of an atomic window."
(setq window (window-normalize-window window))
(let (root)
(while (and window (window-parameter window 'window-atom))
@@ -380,7 +380,7 @@ Otherwise, top and bottom side windows are full width."
(defcustom window-sides-slots '(nil nil nil nil)
"Maximum number of side window slots.
The value is a list of four elements specifying the number of
-side window slots on \(in this order) the left, top, right and
+side window slots on (in this order) the left, top, right and
bottom side of each frame. If an element is a number, this means
to display at most that many side windows on the corresponding
side. If an element is nil, this means there's no bound on the
@@ -504,7 +504,7 @@ If the value is `width', then only the window's width is fixed.
Any other non-nil value fixes both the width and the height.
Emacs won't change the size of any window displaying that buffer,
-unless it has no other choice \(like when deleting a neighboring
+unless it has no other choice (like when deleting a neighboring
window).")
(make-variable-buffer-local 'window-size-fixed)
@@ -524,10 +524,10 @@ imposed by fixed size windows, `window-min-height' or
windows may get as small as `window-safe-min-height' lines and
`window-safe-min-width' columns. IGNORE a window means ignore
restrictions for that window only."
- (window-min-size-1
+ (window--min-size-1
(window-normalize-window window) horizontal ignore))
-(defun window-min-size-1 (window horizontal ignore)
+(defun window--min-size-1 (window horizontal ignore)
"Internal function of `window-min-size'."
(let ((sub (window-child window)))
(if sub
@@ -538,13 +538,13 @@ restrictions for that window only."
;; the minimum sizes of its child windows.
(while sub
(setq value (+ value
- (window-min-size-1 sub horizontal ignore)))
+ (window--min-size-1 sub horizontal ignore)))
(setq sub (window-right sub)))
;; The minimum size of an ortho-combination is the maximum of
;; the minimum sizes of its child windows.
(while sub
(setq value (max value
- (window-min-size-1 sub horizontal ignore)))
+ (window--min-size-1 sub horizontal ignore)))
(setq sub (window-right sub))))
value)
(with-current-buffer (window-buffer window)
@@ -687,7 +687,7 @@ WINDOW can be resized in the desired direction. The function
(window--size-fixed-1
(window-normalize-window window) horizontal))
-(defun window-min-delta-1 (window delta &optional horizontal ignore trail noup)
+(defun window--min-delta-1 (window delta &optional horizontal ignore trail noup)
"Internal function for `window-min-delta'."
(if (not (window-parent window))
;; If we can't go up, return zero.
@@ -723,7 +723,7 @@ WINDOW can be resized in the desired direction. The function
(setq sub (window-right sub))))
(if noup
delta
- (window-min-delta-1 parent delta horizontal ignore trail))))))
+ (window--min-delta-1 parent delta horizontal ignore trail))))))
(defun window-min-delta (&optional window horizontal ignore trail noup nodown)
"Return number of lines by which WINDOW can be shrunk.
@@ -749,7 +749,7 @@ Optional argument NOUP non-nil means don't go up in the window
tree but try to enlarge windows within WINDOW's combination only.
Optional argument NODOWN non-nil means don't check whether WINDOW
-itself \(and its child windows) can be shrunk; check only whether
+itself (and its child windows) can be shrunk; check only whether
at least one other window can be enlarged appropriately."
(setq window (window-normalize-window window))
(let ((size (window-total-size window horizontal))
@@ -757,7 +757,7 @@ at least one other window can be enlarged appropriately."
(cond
(nodown
;; If NODOWN is t, try to recover the entire size of WINDOW.
- (window-min-delta-1 window size horizontal ignore trail noup))
+ (window--min-delta-1 window size horizontal ignore trail noup))
((= size minimum)
;; If NODOWN is nil and WINDOW's size is already at its minimum,
;; there's nothing to recover.
@@ -765,10 +765,10 @@ at least one other window can be enlarged appropriately."
(t
;; Otherwise, try to recover whatever WINDOW is larger than its
;; minimum size.
- (window-min-delta-1
+ (window--min-delta-1
window (- size minimum) horizontal ignore trail noup)))))
-(defun window-max-delta-1 (window delta &optional horizontal ignore trail noup)
+(defun window--max-delta-1 (window delta &optional horizontal ignore trail noup)
"Internal function of `window-max-delta'."
(if (not (window-parent window))
;; Can't go up. Return DELTA.
@@ -804,7 +804,7 @@ at least one other window can be enlarged appropriately."
delta
;; Else try with parent of WINDOW, passing the DELTA we
;; recovered so far.
- (window-max-delta-1 parent delta horizontal ignore trail))))))
+ (window--max-delta-1 parent delta horizontal ignore trail))))))
(defun window-max-delta (&optional window horizontal ignore trail noup nodown)
"Return maximum number of lines WINDOW by which WINDOW can be enlarged.
@@ -831,7 +831,7 @@ tree but try to obtain the entire space from windows within
WINDOW's combination.
Optional argument NODOWN non-nil means do not check whether
-WINDOW itself \(and its child windows) can be enlarged; check
+WINDOW itself (and its child windows) can be enlarged; check
only whether other windows can be shrunk appropriately."
(setq window (window-normalize-window window))
(if (and (not (window--size-ignore window ignore))
@@ -840,7 +840,7 @@ only whether other windows can be shrunk appropriately."
;; size.
0
;; WINDOW has no fixed size.
- (window-max-delta-1 window 0 horizontal ignore trail noup)))
+ (window--max-delta-1 window 0 horizontal ignore trail noup)))
;; Make NOUP also inhibit the min-size check.
(defun window--resizable (window delta &optional horizontal ignore trail noup nodown)
@@ -997,9 +997,9 @@ taken into account."
(setq hor (cdr fcsb)))))
(cons vert hor)))
-(defun walk-windows (proc &optional minibuf all-frames)
- "Cycle through all live windows, calling PROC for each one.
-PROC must specify a function with a window as its sole argument.
+(defun walk-windows (fun &optional minibuf all-frames)
+ "Cycle through all live windows, calling FUN for each one.
+FUN must specify a function with a window as its sole argument.
The optional arguments MINIBUF and ALL-FRAMES specify the set of
windows to include in the walk.
@@ -1041,7 +1041,7 @@ windows nor the buffer list."
(when (framep all-frames)
(select-window (frame-first-window all-frames) 'norecord))
(dolist (walk-windows-window (window-list-1 nil minibuf all-frames))
- (funcall proc walk-windows-window))))
+ (funcall fun walk-windows-window))))
(defun window-point-1 (&optional window)
"Return value of WINDOW's point.
@@ -1211,7 +1211,7 @@ More precisely, cycle through all windows calling the function
PREDICATE on each one of them with the window as its sole
argument. Return the first window for which PREDICATE returns
non-nil. Windows are scanned starting with the window following
-the selcted window. If no window satisfies PREDICATE, return
+the selected window. If no window satisfies PREDICATE, return
DEFAULT.
MINIBUF t means include the minibuffer window even if the
@@ -1418,7 +1418,7 @@ windows."
;; window and is currently used, for example, by ispell.el.
(defun window--resize-mini-window (window delta)
"Resize minibuffer window WINDOW by DELTA lines.
-If WINDOW cannot be resized by DELTA lines make it as large \(or
+If WINDOW cannot be resized by DELTA lines make it as large (or
as small) as possible but don't signal an error."
(when (window-minibuffer-p window)
(let* ((frame (window-frame window))
@@ -1513,12 +1513,12 @@ instead."
"Recursively set new normal height of child windows of window PARENT.
HORIZONTAL non-nil means set the new normal width of these
windows. WINDOW specifies a child window of PARENT that has been
-resized by THIS-DELTA lines \(columns).
+resized by THIS-DELTA lines (columns).
Optional argument TRAIL either 'before or 'after means set values
for windows before or after WINDOW only. Optional argument
-OTHER-DELTA a number specifies that this many lines \(columns)
-have been obtained from \(or returned to) an ancestor window of
+OTHER-DELTA a number specifies that this many lines (columns)
+have been obtained from (or returned to) an ancestor window of
PARENT in order to resize WINDOW."
(let* ((delta-normal
(if (and (= (- this-delta) (window-total-size window horizontal))
@@ -2039,8 +2039,8 @@ move it as far as possible in the desired direction."
;; two windows we want to resize.
(cond
((> delta 0)
- (setq max-delta (window-max-delta-1 left 0 horizontal nil 'after))
- (setq min-delta (window-min-delta-1 right (- delta) horizontal nil 'before))
+ (setq max-delta (window--max-delta-1 left 0 horizontal nil 'after))
+ (setq min-delta (window--min-delta-1 right (- delta) horizontal nil 'before))
(when (or (< max-delta delta) (> min-delta (- delta)))
;; We can't get the whole DELTA - move as far as possible.
(setq delta (min max-delta (- min-delta))))
@@ -2062,8 +2062,8 @@ move it as far as possible in the desired direction."
(window-left-column right)
(window-top-line right)))))
((< delta 0)
- (setq max-delta (window-max-delta-1 right 0 horizontal nil 'before))
- (setq min-delta (window-min-delta-1 left delta horizontal nil 'after))
+ (setq max-delta (window--max-delta-1 right 0 horizontal nil 'before))
+ (setq min-delta (window--min-delta-1 left delta horizontal nil 'after))
(when (or (< max-delta (- delta)) (> min-delta delta))
;; We can't get the whole DELTA - move as far as possible.
(setq delta (max (- max-delta) min-delta)))
@@ -2190,7 +2190,7 @@ for a horizontal split, and t for a vertical split. EDGES gives
the combined size and position of the child windows in the split,
and the rest of the elements are the child windows in the split.
Each of the child windows may again be a window or a list
-representing a window split, and so on. EDGES is a list \(LEFT
+representing a window split, and so on. EDGES is a list (LEFT
TOP RIGHT BOTTOM) as returned by `window-edges'."
(setq frame (window-normalize-frame frame))
(window--subtree (frame-root-window frame) t))
@@ -2430,7 +2430,7 @@ the value returned by that function.
Otherwise, if WINDOW is part of an atomic window, call this
function with the root of the atomic window as its argument. If
WINDOW is a non-side window, make WINDOW the only non-side window
-on the frame. Side windows are not deleted. If WINDOW is a side
+on the frame. Side windows are not deleted. If WINDOW is a side
window signal an error."
(interactive)
(setq window (window-normalize-window window))
@@ -2920,6 +2920,7 @@ window.
This function removes the buffer denoted by BUFFER-OR-NAME from
all window-local buffer lists."
+ (interactive "bBuffer to replace: ")
(let ((buffer (window-normalize-buffer buffer-or-name)))
(dolist (window (window-list-1 nil nil t))
(if (eq (window-buffer window) buffer)
@@ -2937,9 +2938,9 @@ With prefix argument KILL non-nil, kill the buffer instead of
burying it.
According to information stored in WINDOW's `quit-restore' window
-parameter either \(1) delete WINDOW and its frame, \(2) delete
-WINDOW, \(3) restore the buffer previously displayed in WINDOW,
-or \(4) make WINDOW display some other buffer than the present
+parameter either (1) delete WINDOW and its frame, (2) delete
+WINDOW, (3) restore the buffer previously displayed in WINDOW,
+or (4) make WINDOW display some other buffer than the present
one. If non-nil, reset `quit-restore' parameter to nil."
(interactive "P")
(setq window (window-normalize-window window t))
@@ -3046,14 +3047,14 @@ WINDOW's size. Interactively, SIZE is the prefix argument.
Optional third argument SIDE nil (or `below') specifies that the
new window shall be located below WINDOW. SIDE `above' means the
new window shall be located above WINDOW. In both cases SIZE
-specifies the new number of lines for WINDOW \(or the new window
+specifies the new number of lines for WINDOW (or the new window
if SIZE is negative) including space reserved for the mode and/or
header line.
SIDE t (or `right') specifies that the new window shall be
located on the right side of WINDOW. SIDE `left' means the new
window shall be located on the left of WINDOW. In both cases
-SIZE specifies the new number of columns for WINDOW \(or the new
+SIZE specifies the new number of columns for WINDOW (or the new
window provided SIZE is negative) including space reserved for
fringes and the scrollbar or a divider column. Any other non-nil
value for SIDE is currently handled like t (or `right').
@@ -3570,7 +3571,7 @@ specific buffers."
(defvar window-state-ignored-parameters '(quit-restore)
"List of window parameters ignored by `window-state-get'.")
-(defun window-state-get-1 (window &optional markers)
+(defun window--state-get-1 (window &optional markers)
"Helper function for `window-state-get'."
(let* ((type
(cond
@@ -3625,7 +3626,7 @@ specific buffers."
(let (list)
(setq window (window-child window))
(while window
- (setq list (cons (window-state-get-1 window markers) list))
+ (setq list (cons (window--state-get-1 window markers) list))
(setq window (window-right window)))
(nreverse list)))))
(append head tail)))
@@ -3664,12 +3665,12 @@ value can be also stored on disk and read back in a new session."
;; These are probably not needed.
,@(when (window-size-fixed-p window) `((fixed-height . t)))
,@(when (window-size-fixed-p window t) `((fixed-width . t))))
- (window-state-get-1 window markers)))
+ (window--state-get-1 window markers)))
(defvar window-state-put-list nil
"Helper variable for `window-state-put'.")
-(defun window-state-put-1 (state &optional window ignore totals)
+(defun window--state-put-1 (state &optional window ignore totals)
"Helper function for `window-state-put'."
(let ((type (car state)))
(setq state (cdr state))
@@ -3677,8 +3678,7 @@ value can be also stored on disk and read back in a new session."
((eq type 'leaf)
;; For a leaf window just add unprocessed entries to
;; `window-state-put-list'.
- (setq window-state-put-list
- (cons (cons window state) window-state-put-list)))
+ (push (cons window state) window-state-put-list))
((memq type '(vc hc))
(let* ((horizontal (eq type 'hc))
(total (window-total-size window horizontal))
@@ -3689,7 +3689,7 @@ value can be also stored on disk and read back in a new session."
;; real window that we want to fill with what we find here.
(when (memq (car item) '(leaf vc hc))
(if (assq 'last item)
- ;; The last child window. Below `window-state-put-1'
+ ;; The last child window. Below `window--state-put-1'
;; will put into it whatever ITEM has in store.
(setq new nil)
;; Not the last child window, prepare for splitting
@@ -3730,11 +3730,11 @@ value can be also stored on disk and read back in a new session."
;; Now process the current window (either the one we've just
;; split or the last child of its parent).
- (window-state-put-1 item window ignore totals)
+ (window--state-put-1 item window ignore totals)
;; Continue with the last window split off.
(setq window new))))))))
-(defun window-state-put-2 (ignore)
+(defun window--state-put-2 (ignore)
"Helper function for `window-state-put'."
(dolist (item window-state-put-list)
(let ((window (car item))
@@ -3860,20 +3860,20 @@ windows can get as small as `window-safe-min-height' and
;; Work on the windows of a temporary buffer to make sure that
;; splitting proceeds regardless of any buffer local values of
;; `window-size-fixed'. Release that buffer after the buffers of
- ;; all live windows have been set by `window-state-put-2'.
+ ;; all live windows have been set by `window--state-put-2'.
(with-temp-buffer
(set-window-buffer window (current-buffer))
- (window-state-put-1 state window nil totals)
- (window-state-put-2 ignore))
+ (window--state-put-1 state window nil totals)
+ (window--state-put-2 ignore))
(window--check frame))))
(defun display-buffer-record-window (type window buffer)
"Record information for window used by `display-buffer'.
TYPE specifies the type of the calling operation and must be one
-of the symbols 'reuse \(when WINDOW existed already and was
-reused for displaying BUFFER), 'window \(when WINDOW was created
-on an already existing frame), or 'frame \(when WINDOW was
-created on a new frame). WINDOW is the window used for or created
+of the symbols 'reuse (when WINDOW existed already and was
+reused for displaying BUFFER), 'window (when WINDOW was created
+on an already existing frame), or 'frame (when WINDOW was
+created on a new frame). WINDOW is the window used for or created
by the `display-buffer' routines. BUFFER is the buffer that
shall be displayed.
@@ -3968,7 +3968,7 @@ the buffer as first, and nil as second argument.
Alternatively, an element of this list can be specified as
\(BUFFER-NAME FRAME-PARAMETERS), where BUFFER-NAME is a buffer
-name and FRAME-PARAMETERS an alist of \(PARAMETER . VALUE) pairs.
+name and FRAME-PARAMETERS an alist of (PARAMETER . VALUE) pairs.
`special-display-popup-frame' will interpret such pairs as frame
parameters when it creates a special frame, overriding the
corresponding values from `special-display-frame-alist'.
@@ -4044,7 +4044,7 @@ name matches REGEXP, overriding the corresponding values from
As a special case, if FRAME-PARAMETERS contains (same-window . t)
`special-display-popup-frame' displays buffers matching REGEXP in
-the selected window. \(same-frame . t) in FRAME-PARAMETERS means
+the selected window. (same-frame . t) in FRAME-PARAMETERS means
to display such buffers in a window on the selected frame.
If `special-display-function' specifies some other function than
@@ -4139,8 +4139,8 @@ Optional argument ARGS is a list specifying additional
information.
If ARGS is an alist, use it as a list of frame parameters. If
-these parameters contain \(same-window . t), display BUFFER in
-the selected window. If they contain \(same-frame . t), display
+these parameters contain (same-window . t), display BUFFER in
+the selected window. If they contain (same-frame . t), display
BUFFER in a window of the selected frame.
If ARGS is a list whose car is a symbol, use (car ARGS) as a
@@ -4234,7 +4234,7 @@ See also `same-window-buffer-names'."
"Return non-nil if a buffer named BUFFER-NAME would be shown in the \"same\" window.
This function returns non-nil if `display-buffer' or
`pop-to-buffer' would show a buffer named BUFFER-NAME in the
-selected rather than \(as usual\) some other window. See
+selected rather than (as usual) some other window. See
`same-window-buffer-names' and `same-window-regexps'."
(cond
((not (stringp buffer-name)))
@@ -4396,11 +4396,11 @@ the largest or least recently used window. To change the default
customize the option `split-window-preferred-function'.
You can enforce this function to not split WINDOW horizontally,
-by setting \(or binding) the variable `split-width-threshold' to
+by setting (or binding) the variable `split-width-threshold' to
nil. If, in addition, you set `split-height-threshold' to zero,
chances increase that this function does split WINDOW vertically.
-In order to not split WINDOW vertically, set \(or bind) the
+In order to not split WINDOW vertically, set (or bind) the
variable `split-height-threshold' to nil. Additionally, you can
set `split-width-threshold' to zero to make a horizontal split
more likely to occur.
@@ -4515,6 +4515,12 @@ Return WINDOW."
(set-window-dedicated-p window dedicated))
(window--display-buffer-1 window)))
+;; FIXME: Not implemented.
+;; FIXME: By the way, there could be more levels of dedication:
+;; - `barely' dedicated doesn't prevent reuse of the window, only records that
+;; the window hasn't been used for something else yet.
+;; - `softly' dedicated only allows reuse when asked explicitly.
+;; - `strongly' never allows reuse.
(defvar display-buffer-mark-dedicated nil
"If non-nil, `display-buffer' marks the windows it creates as dedicated.
The actual non-nil value of this variable will be copied to the
@@ -4522,7 +4528,7 @@ The actual non-nil value of this variable will be copied to the
(defun window-normalize-buffer-to-display (buffer-or-name)
"Normalize BUFFER-OR-NAME argument for buffer display functions.
-If BUFFER-OR-NAME is nil, return the curent buffer. Else, if a
+If BUFFER-OR-NAME is nil, return the current buffer. Else, if a
buffer specified by BUFFER-OR-NAME exists, return that buffer.
If no such buffer exists, create a buffer with the name
BUFFER-OR-NAME and return that buffer."
@@ -4559,7 +4565,7 @@ BUFFER-OR-NAME and return that buffer."
(defvar display-buffer-overriding-action '(nil . nil)
"Overriding action to perform to display a buffer.
It should be a cons cell (FUNCTION . ALIST), where FUNCTION is a
-function or a list of functions. Each function should accept 2
+function or a list of functions. Each function should accept two
arguments: a buffer to display and an alist similar to ALIST.
See `display-buffer' for details.")
(put 'display-buffer-overriding-action 'risky-local-variable t)
@@ -4573,7 +4579,7 @@ This is a list of elements (CONDITION . ACTION), where:
ACTION is a cons cell (FUNCTION . ALIST), where FUNCTION is a
function or a list of functions. Each such function should
- accept 2 arguments: a buffer to display and an alist of the
+ accept two arguments: a buffer to display and an alist of the
same form as ALIST. See `display-buffer' for details."
:type `(alist :key-type
(choice :tag "Condition"
@@ -4587,7 +4593,7 @@ This is a list of elements (CONDITION . ACTION), where:
(defcustom display-buffer-base-action '(nil . nil)
"User-specified default action for `display-buffer'.
It should be a cons cell (FUNCTION . ALIST), where FUNCTION is a
-function or a list of functions. Each function should accept 2
+function or a list of functions. Each function should accept two
arguments: a buffer to display and an alist similar to ALIST.
See `display-buffer' for details."
:type display-buffer--action-custom-type
@@ -4642,8 +4648,8 @@ or nil if no such window is found.
Optional argument ACTION should have the form (FUNCTION . ALIST).
FUNCTION is either a function or a list of functions. Each such
-function is called with 2 arguments: the buffer to display and an
-alist. It should either display the buffer and return the
+function is called with two arguments: the buffer to display and
+an alist. It should either display the buffer and return the
window, or return nil if unable to display the buffer.
The `display-buffer' function builds a function list and an alist
@@ -4786,9 +4792,10 @@ terminal if either of those variables is non-nil."
(window--display-buffer-1 window))))
(defun display-buffer--special-action (buffer)
- "Try to display BUFFER using `special-display-function'.
-Call `special-display-p' on BUFFER's name, and if that returns
-non-nil, call `special-display-function' on BUFFER."
+ "Return special display action for BUFFER, if any.
+If `special-display-p' returns non-nil for BUFFER, return an
+appropriate display action involving `special-display-function'.
+See `display-buffer' for the format of display actions."
(and special-display-function
;; `special-display-p' returns either t or a list of frame
;; parameters to pass to `special-display-function'.
@@ -4944,14 +4951,11 @@ the buffer.
NORECORD, if non-nil means do not put this buffer at the front of
the list of recently selected ones."
- (pop-to-buffer buffer
- '(display-buffer-same-window
- (inhibit-same-window . nil))
- norecord))
+ (pop-to-buffer buffer display-buffer--same-window-action norecord))
(defun read-buffer-to-switch (prompt)
"Read the name of a buffer to switch to, prompting with PROMPT.
-Return the neame of the buffer as a string.
+Return the name of the buffer as a string.
This function is intended for the `switch-to-buffer' family of
commands since these need to omit the name of the current buffer
@@ -4992,7 +4996,7 @@ minibuffer. The variable `confirm-nonexistent-file-or-buffer'
determines whether to request confirmation before creating a new
buffer.
-BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
+BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil. If BUFFER-OR-NAME is a string that does not identify an
existing buffer, create a buffer with that name. If
BUFFER-OR-NAME is nil, switch to the buffer returned by
@@ -5012,25 +5016,27 @@ Return the buffer switched to."
(interactive
(list (read-buffer-to-switch "Switch to buffer: ") nil 'force-same-window))
(let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
- (if (null force-same-window)
- (pop-to-buffer buffer display-buffer--same-window-action norecord)
- (cond
- ;; Don't call set-window-buffer if it's not needed since it
- ;; might signal an error (e.g. if the window is dedicated).
- ((eq buffer (window-buffer)))
- ((window-minibuffer-p)
- (error "Cannot switch buffers in minibuffer window"))
- ((eq (window-dedicated-p) t)
- (error "Cannot switch buffers in a dedicated window"))
- (t (set-window-buffer nil buffer)))
-
- (unless norecord
- (select-window (selected-window)))
- (set-buffer buffer))))
+ (cond
+ ;; Don't call set-window-buffer if it's not needed since it
+ ;; might signal an error (e.g. if the window is dedicated).
+ ((eq buffer (window-buffer)))
+ ((window-minibuffer-p)
+ (if force-same-window
+ (error "Cannot switch buffers in minibuffer window")
+ (pop-to-buffer buffer norecord)))
+ ((eq (window-dedicated-p) t)
+ (if force-same-window
+ (error "Cannot switch buffers in a dedicated window")
+ (pop-to-buffer buffer norecord)))
+ (t (set-window-buffer nil buffer)))
+
+ (unless norecord
+ (select-window (selected-window)))
+ (set-buffer buffer)))
(defun switch-to-buffer-other-window (buffer-or-name &optional norecord)
"Select the buffer specified by BUFFER-OR-NAME in another window.
-BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
+BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil. Return the buffer switched to.
If called interactively, prompt for the buffer name using the
@@ -5054,7 +5060,7 @@ documentation for additional customization information."
(defun switch-to-buffer-other-frame (buffer-or-name &optional norecord)
"Switch to buffer BUFFER-OR-NAME in another frame.
-BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
+BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil. Return the buffer switched to.
If called interactively, prompt for the buffer name using the
@@ -5163,7 +5169,7 @@ WINDOW can be any live window and defaults to the selected one.
Optional argument MAX-HEIGHT specifies the maximum height of
WINDOW and defaults to the height of WINDOW's frame. Optional
argument MIN-HEIGHT specifies the minimum height of WINDOW and
-defaults to `window-min-height'. Both, MAX-HEIGHT and MIN-HEIGHT
+defaults to `window-min-height'. Both MAX-HEIGHT and MIN-HEIGHT
are specified in lines and include the mode line and header line,
if any.
@@ -5228,7 +5234,7 @@ WINDOW was scrolled."
;; This `condition-case' shouldn't be necessary, but who knows?
(condition-case nil
(if (zerop delta)
- ;; Return zero if DELTA became zero in the proces.
+ ;; Return zero if DELTA became zero in the process.
0
;; Don't try to redisplay with the cursor at the end on its
;; own line--that would force a scroll and spoil things.
@@ -5326,7 +5332,7 @@ A list of elements with possible values `top', `middle', `bottom',
integer or float numbers that define the cycling order for
the command `recenter-top-bottom'.
-Top and bottom destinations are `scroll-margin' lines the from true
+Top and bottom destinations are `scroll-margin' lines from the true
window top and bottom. Middle redraws the frame and centers point
vertically within the window. Integer number moves current line to
the specified absolute window-line. Float number between 0.0 and 1.0
@@ -5565,9 +5571,9 @@ With arg N, put point N/10 of the way from the true end."
(defvar mouse-autoselect-window-state nil
"When non-nil, special state of delayed window autoselection.
-Possible values are `suspend' \(suspend autoselection after a menu or
-scrollbar interaction\) and `select' \(the next invocation of
-'handle-select-window' shall select the window immediately\).")
+Possible values are `suspend' (suspend autoselection after a menu or
+scrollbar interaction) and `select' (the next invocation of
+`handle-select-window' shall select the window immediately).")
(defun mouse-autoselect-window-cancel (&optional force)
"Cancel delayed window autoselection.
@@ -5604,8 +5610,8 @@ means suspend autoselection."
(defun mouse-autoselect-window-select ()
"Select window with delayed window autoselection.
If the mouse position has stabilized in a non-selected window, select
-that window. The minibuffer window is selected only if the minibuffer is
-active. This function is run by `mouse-autoselect-window-timer'."
+that window. The minibuffer window is selected only if the minibuffer
+is active. This function is run by `mouse-autoselect-window-timer'."
(ignore-errors
(let* ((mouse-position (mouse-position))
(window
diff --git a/lisp/woman.el b/lisp/woman.el
index a16bfa39c86..243196a5302 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -2558,7 +2558,7 @@ REQUEST is the invoking directive without the leading dot."
;; ((looking-at "[te]") (setq c nil)) ; reject t(roff) and e(ven page)
((looking-at "[ntoe]")
(setq c (memq (following-char) woman-if-conditions-true)))
- ;; Unrecognised letter so reject:
+ ;; Unrecognized letter so reject:
((looking-at "[A-Za-z]") (setq c nil)
(WoMan-warn "%s %s -- unrecognized condition name rejected!"
request (match-string 0)))
@@ -3697,7 +3697,7 @@ expression in parentheses. Leaves point after the value."
(setq woman-request (match-string 1)))))
;; Delete request or macro name:
(woman-delete-match 0))
- ;; Unrecognised request:
+ ;; Unrecognized request:
((prog1 nil
;; (WoMan-warn ".%s request ignored!" woman-request)
(WoMan-warn-ignored woman-request "ignored!")
diff --git a/lisp/xml.el b/lisp/xml.el
index 68aa5f4db6f..478872dd92e 100644
--- a/lisp/xml.el
+++ b/lisp/xml.el
@@ -756,7 +756,7 @@ This follows the rule [28] in the XML specifications."
;;*******************************************************************
(defun xml-substitute-special (string)
- "Return STRING, after subsituting entity references."
+ "Return STRING, after substituting entity references."
;; This originally made repeated passes through the string from the
;; beginning, which isn't correct, since then either "&amp;amp;" or
;; "&#38;amp;" won't DTRT.
diff --git a/lwlib/lwlib.c b/lwlib/lwlib.c
index 7e3538aec04..b83517ad1f9 100644
--- a/lwlib/lwlib.c
+++ b/lwlib/lwlib.c
@@ -1156,9 +1156,9 @@ lw_get_widget_value_for_widget (widget_instance *instance, Widget w)
/* To forbid recursive calls */
static Boolean lwlib_updating;
-/* This function can be used as a an XtCallback for the widgets that get
- modified to update other instances of the widgets. Closure should be the
- widget_instance. */
+/* This function can be used as an XtCallback for the widgets that get
+ modified to update other instances of the widgets. Closure should be the
+ widget_instance. */
void
lw_internal_update_other_instances (Widget widget,
XtPointer closure,
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c
index 977f4a70b22..0128464d6e0 100644
--- a/lwlib/xlwmenu.c
+++ b/lwlib/xlwmenu.c
@@ -113,7 +113,7 @@ xlwMenuTranslations [] =
<KeyUp>: key()\n\
";
-/* FIXME: Space should toggle toggleable menu item but not remove the menu
+/* FIXME: Space should toggle togglable menu item but not remove the menu
so you can toggle the next one without entering the menu again. */
/* FIXME: Should ESC close one level of menu structure or the complete menu? */
diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp
index ce00e82cdd4..6cbeadc0bba 100644
--- a/msdos/sed2v2.inp
+++ b/msdos/sed2v2.inp
@@ -59,7 +59,7 @@
/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/
-/^#undef VERSION/s/^.*$/#define VERSION "24.0.91"/
+/^#undef VERSION/s/^.*$/#define VERSION "24.0.92"/
/^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
/^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
/^#undef HAVE_DIRENT_H/s/^.*$/#define HAVE_DIRENT_H 1/
diff --git a/nextstep/Cocoa/Emacs.base/Contents/Info.plist b/nextstep/Cocoa/Emacs.base/Contents/Info.plist
index ca5b0671268..61a8a28f3a9 100644
--- a/nextstep/Cocoa/Emacs.base/Contents/Info.plist
+++ b/nextstep/Cocoa/Emacs.base/Contents/Info.plist
@@ -553,7 +553,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
<key>CFBundleExecutable</key>
<string>Emacs</string>
<key>CFBundleGetInfoString</key>
- <string>Emacs 24.0.91 Copyright (C) 2011 Free Software Foundation, Inc.</string>
+ <string>Emacs 24.0.92 Copyright (C) 2011 Free Software Foundation, Inc.</string>
<key>CFBundleIconFile</key>
<string>Emacs.icns</string>
<key>CFBundleIdentifier</key>
@@ -566,7 +566,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
<string>APPL</string>
<!-- This should be the emacs version number. -->
<key>CFBundleShortVersionString</key>
- <string>24.0.91</string>
+ <string>24.0.92</string>
<key>CFBundleSignature</key>
<string>EMAx</string>
<!-- This SHOULD be a build number. -->
diff --git a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
index 21e4dd977ca..438a6103f5e 100644
--- a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
+++ b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
@@ -1,6 +1,6 @@
/* Localized versions of Info.plist keys */
CFBundleName = "Emacs";
-CFBundleShortVersionString = "Version 24.0.91";
-CFBundleGetInfoString = "Emacs version 24.0.91, NS Windowing";
+CFBundleShortVersionString = "Version 24.0.92";
+CFBundleGetInfoString = "Emacs version 24.0.92, NS Windowing";
NSHumanReadableCopyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
diff --git a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
index 5ccb7b38a5b..1b8926e9ef6 100644
--- a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
+++ b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Encoding=UTF-8
Type=Application
-Version=24.0.91
+Version=24.0.92
Categories=GNUstep
Name=Emacs
Comment=GNU Emacs for NeXT/Open/GNUstep and OS X
diff --git a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
index 7212ef41f41..9747ed25a2a 100644
--- a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
+++ b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
@@ -2,7 +2,7 @@
ApplicationDescription = "GNU Emacs for GNUstep / OS X";
ApplicationIcon = emacs.tiff;
ApplicationName = Emacs;
- ApplicationRelease = "24.0.91";
+ ApplicationRelease = "24.0.92";
Authors = (
"Adrian Robert (GNUstep)",
"Christophe de Dinechin (MacOS X)",
@@ -13,7 +13,7 @@
);
Copyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
CopyrightDescription = "Released under the GNU General Public License Version 3 or later";
- FullVersionID = "Emacs 24.0.91, NS Windowing";
+ FullVersionID = "Emacs 24.0.92, NS Windowing";
NSExecutable = Emacs;
NSIcon = emacs.tiff;
NSPrincipalClass = NSApplication;
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 8de94033196..859123c1a86 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,23 @@
+2011-11-27 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
+
+ * inc/stdint.h (uint32_t, uint64_t) [_WIN64]: New typedefs.
+ (UINT64_MAX) [_WIN64]: Fix definition.
+ (uintmax_t, intmax_t): Fix definitions.
+
+ * inc/inttypes.h (strtoumax, strtoimax) [!__MINGW32__]: Provide
+ correct definitions.
+
+ * config.nt (HAVE_DECL_STRTOLL): Define.
+ (va_copy) [_WIN64]: Provide a better definition.
+
+2011-11-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * configure.bat: Fix typos.
+
+2011-11-25 Eli Zaretskii <eliz@gnu.org>
+
+ * INSTALL: Elaborate on debugging fatal errors.
+
2011-11-15 Eli Zaretskii <eliz@gnu.org>
* README.W32: Update the GTK Windows download URL for libpng.
@@ -1784,7 +1804,7 @@
1998-12-08 Geoff Voelker <voelker@cs.washington.edu>
- * makefile.nt: Do string comparision of _NMAKE_VER.
+ * makefile.nt: Do string comparison of _NMAKE_VER.
1998-12-02 Geoff Voelker <voelker@cs.washington.edu>
diff --git a/nt/INSTALL b/nt/INSTALL
index bb621dceb6b..9947cd86a34 100644
--- a/nt/INSTALL
+++ b/nt/INSTALL
@@ -599,6 +599,30 @@
the debugger, and you will be able to debug the cause of the fatal
error.
+ The single most important thing to find out when Emacs aborts or
+ crashes is where did that happen in the Emacs code. This is called
+ "backtrace".
+
+ Emacs on Windows uses more than one thread. When Emacs aborts due
+ to a fatal error, the current thread may not be the application
+ thread running Emacs code. Therefore, to produce a meaningful
+ backtrace from a debugger, you need to instruct it to show the
+ backtrace for every thread. With GDB, you do it like this:
+
+ (gdb) thread apply all backtrace
+
+ To run Emacs under a debugger to begin with, simply start it from
+ the debugger. With GDB, chdir to the `src' directory (if you have
+ the source tree) or to a directory with the `.gdbinit' file (if you
+ don't have the source tree), and type these commands:
+
+ C:\whatever\src> gdb x:\path\to\emacs.exe
+ (gdb) run <ARGUMENTS TO EMACS>
+
+ Thereafter, use Emacs as usual; you can minimize the debugger
+ window, if you like. The debugger will take control if and when
+ Emacs crashes.
+
Emacs functions implemented in C use a naming convention that reflects
their names in lisp. The names of the C routines are the lisp names
prefixed with 'F', and with dashes converted to underscores. For
diff --git a/nt/README b/nt/README
index 5d54ce90041..75a3c1cb111 100644
--- a/nt/README
+++ b/nt/README
@@ -34,7 +34,7 @@
+ emacsclient.exe - A command-line client program that can
communicate with a running Emacs process. See the `Emacs Server'
- node of the Emacs manul.
+ node of the Emacs manual.
+ emacsclientw.exe - A version of emacsclient that does not open
a command-line window.
diff --git a/nt/addpm.c b/nt/addpm.c
index d7919d36f80..c45b4aef68d 100644
--- a/nt/addpm.c
+++ b/nt/addpm.c
@@ -250,7 +250,7 @@ main (int argc, char *argv[])
MB_OKCANCEL | MB_ICONQUESTION);
if (result != IDOK)
{
- fprintf (stderr, "Install cancelled\n");
+ fprintf (stderr, "Install canceled\n");
exit (1);
}
}
@@ -365,4 +365,3 @@ main (int argc, char *argv[])
return 0;
}
-
diff --git a/nt/config.nt b/nt/config.nt
index 3a06a9f5b7a..c77faccb3b4 100644
--- a/nt/config.nt
+++ b/nt/config.nt
@@ -303,6 +303,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRTOLL 1
+
/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
don't. */
#define HAVE_DECL_STRTOULL 1
@@ -324,7 +328,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define PACKAGE "emacs"
/* Version number of package */
-#define VERSION "24.0.91"
+#define VERSION "24.0.92"
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
@@ -353,8 +357,8 @@ typedef unsigned short mode_t;
/* A va_copy replacement for MSVC. */
#ifdef _MSC_VER
# ifdef _WIN64
-# ifndef va_copy
-# error "va_copy is needed, but not defined!"
+# ifndef va_copy /* Need to be checked (?) */
+# define va_copy(d,s) ((d) = (s))
# endif
# else /* not _WIN64 */
# define va_copy(d,s) ((d) = (s))
diff --git a/nt/configure.bat b/nt/configure.bat
index 45d966fc34d..c503900274e 100755
--- a/nt/configure.bat
+++ b/nt/configure.bat
@@ -155,7 +155,7 @@ echo. --without-jpeg do not use JPEG library even if it is installed
echo. --without-gif do not use GIF library even if it is installed
echo. --without-tiff do not use TIFF library even if it is installed
echo. --without-xpm do not use XPM library even if it is installed
-echo. --without-gnutls do not use GNUTLS library even if it is installed
+echo. --without-gnutls do not use GnuTLS library even if it is installed
echo. --with-svg use the RSVG library (experimental)
echo. --distfiles path to files for make dist, e.g. libXpm.dll
if "%use_extensions%" == "0" goto end
@@ -563,7 +563,7 @@ set HAVE_GNUTLS=
goto :tlsDone
:haveTls
-echo ...GNUTLS header available, building with GNUTLS support.
+echo ...GnuTLS header available, building with GnuTLS support.
set HAVE_GNUTLS=1
:tlsDone
diff --git a/nt/emacs.rc b/nt/emacs.rc
index 9f7fc6f14aa..479a228bb69 100644
--- a/nt/emacs.rc
+++ b/nt/emacs.rc
@@ -7,8 +7,8 @@ Emacs ICON icons\emacs.ico
#endif
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24,0,91,0
- PRODUCTVERSION 24,0,91,0
+ FILEVERSION 24,0,92,0
+ PRODUCTVERSION 24,0,92,0
FILEFLAGSMASK 0x3FL
#ifdef EMACSDEBUG
FILEFLAGS 0x1L
@@ -25,12 +25,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Free Software Foundation\0"
VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
- VALUE "FileVersion", "24, 0, 91, 0\0"
+ VALUE "FileVersion", "24, 0, 92, 0\0"
VALUE "InternalName", "Emacs\0"
VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
VALUE "OriginalFilename", "emacs.exe"
VALUE "ProductName", "Emacs\0"
- VALUE "ProductVersion", "24, 0, 91, 0\0"
+ VALUE "ProductVersion", "24, 0, 92, 0\0"
VALUE "OLESelfRegister", "\0"
END
END
diff --git a/nt/emacsclient.rc b/nt/emacsclient.rc
index 6de1daeb959..b653e1fb952 100644
--- a/nt/emacsclient.rc
+++ b/nt/emacsclient.rc
@@ -5,8 +5,8 @@ Emacs ICON icons\emacs.ico
#endif
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24,0,91,0
- PRODUCTVERSION 24,0,91,0
+ FILEVERSION 24,0,92,0
+ PRODUCTVERSION 24,0,92,0
FILEFLAGSMASK 0x3FL
#ifdef EMACSDEBUG
FILEFLAGS 0x1L
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Free Software Foundation\0"
VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
- VALUE "FileVersion", "24, 0, 91, 0\0"
+ VALUE "FileVersion", "24, 0, 92, 0\0"
VALUE "InternalName", "EmacsClient\0"
VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
VALUE "OriginalFilename", "emacsclientw.exe"
VALUE "ProductName", "EmacsClient\0"
- VALUE "ProductVersion", "24, 0, 91, 0\0"
+ VALUE "ProductVersion", "24, 0, 92, 0\0"
VALUE "OLESelfRegister", "\0"
END
END
diff --git a/nt/inc/inttypes.h b/nt/inc/inttypes.h
index 3e8b55ab98e..ba26cc1115d 100644
--- a/nt/inc/inttypes.h
+++ b/nt/inc/inttypes.h
@@ -24,7 +24,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include_next <inttypes.h>
#else /* !__MINGW32__ */
#include "stdint.h"
+#ifdef _WIN64
#define strtoumax _strtoui64
+#define strtoimax _strtoi64
+#else
+#define strtoumax strtoul
+#define strtoimax strtol
+#endif
#endif /* !__MINGW32__ */
#endif
diff --git a/nt/inc/stdint.h b/nt/inc/stdint.h
index fa2e06f3da9..4eda1c5a688 100644
--- a/nt/inc/stdint.h
+++ b/nt/inc/stdint.h
@@ -29,7 +29,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef _WIN64
typedef __int64 intptr_t;
-#define UINT64_MAX 18446744073709551615
+typedef unsigned int uint32_t;
+typedef unsigned __int64 uint64_t;
+#define UINT64_MAX (18446744073709551615i64)
#define UINT64_MIN 0
/* "i64" is the non-standard suffix used by MSVC for 64-bit constants. */
#define INT64_MAX 9223372036854775807i64
@@ -39,6 +41,8 @@ typedef __int64 intptr_t;
#define UINTMAX_MIN UINT64_MIN
#define INTMAX_MAX INT64_MAX
#define INTMAX_MIN INT64_MIN
+#define uintmax_t unsigned __int64
+#define intmax_t __int64
#else
typedef int intptr_t;
typedef unsigned int uint32_t;
@@ -51,10 +55,10 @@ typedef unsigned int uint32_t;
#define UINTMAX_MIN UINT32_MIN
#define INTMAX_MAX INT32_MAX
#define INTMAX_MIN INT32_MIN
+#define uintmax_t unsigned long
+#define intmax_t long
#endif
-#define uintmax_t unsigned __int64
-#define intmax_t __int64
#define PTRDIFF_MAX INTPTR_MAX
#endif /* !__GNUC__ */
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index 194f0759bbf..a474e34eaa5 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -22,7 +22,7 @@
# FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out
# (and remove or replace this comment).
-VERSION = 24.0.91
+VERSION = 24.0.92
TMP_DIST_DIR = emacs-$(VERSION)
diff --git a/nt/runemacs.c b/nt/runemacs.c
index 47b8f54bb02..2d2474c3592 100644
--- a/nt/runemacs.c
+++ b/nt/runemacs.c
@@ -111,7 +111,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow)
#endif
/* Append original arguments if any; first look for arguments we
- recognise (-wait, -high, and -low), and apply them ourselves. */
+ recognize (-wait, -high, and -low), and apply them ourselves. */
while (cmdline[0] == '-' || cmdline[0] == '/')
{
if (strncmp (cmdline+1, "wait", 4) == 0)
diff --git a/oldXMenu/Activate.c b/oldXMenu/Activate.c
index fef8a3b6b25..2f1c85aa1a2 100644
--- a/oldXMenu/Activate.c
+++ b/oldXMenu/Activate.c
@@ -78,7 +78,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
*
* 3) The application has enabled asynchronous event
* queuing mode. In this mode all foreign events
- * will be queued up untill XMenuActivate
+ * will be queued up until XMenuActivate
* terminates; at which time they will be
* returned to the X event queue. As long as
* AEQ mode is enabled any asynchronous event
diff --git a/oldXMenu/AddSel.c b/oldXMenu/AddSel.c
index 9bbcf71cd3c..2b1ff3d6c89 100644
--- a/oldXMenu/AddSel.c
+++ b/oldXMenu/AddSel.c
@@ -30,7 +30,7 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
register XMSelect *sel; /* Newly created selection. */
- int label_length; /* Label lenght in characters. */
+ int label_length; /* Label length in characters. */
int label_width; /* Label width in pixels. */
/*
diff --git a/oldXMenu/X10.h b/oldXMenu/X10.h
index c30632b9d68..5e4ca068ba5 100644
--- a/oldXMenu/X10.h
+++ b/oldXMenu/X10.h
@@ -51,7 +51,7 @@ XDrawFilled so it shouldn't be defined.
*/
typedef struct _XAssoc {
struct _XAssoc *next; /* Next object in this bucket. */
- struct _XAssoc *prev; /* Previous obejct in this bucket. */
+ struct _XAssoc *prev; /* Previous object in this bucket. */
Display *display; /* Display which owns the id. */
XID x_id; /* X Window System id. */
void *data; /* Pointer to untyped memory. */
diff --git a/oldXMenu/XMenu.h b/oldXMenu/XMenu.h
index aa27211c05c..8e4292f5088 100644
--- a/oldXMenu/XMenu.h
+++ b/oldXMenu/XMenu.h
@@ -152,8 +152,8 @@ typedef struct _xmselect {
*
*/
typedef enum _xmstyle {
- LEFT, /* Left oriented obejct. */
- RIGHT, /* Right oriented obejct. */
+ LEFT, /* Left oriented object. */
+ RIGHT, /* Right oriented object. */
CENTER /* Center oriented object. */
} XMStyle;
diff --git a/src/.gdbinit b/src/.gdbinit
index 80415abe40d..2051475bea0 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -311,9 +311,8 @@ define prowx
printf "y=%d x=%d pwid=%d", $row->y, $row->x, $row->pixel_width
printf " a+d=%d+%d=%d", $row->ascent, $row->height-$row->ascent, $row->height
printf " phys=%d+%d=%d", $row->phys_ascent, $row->phys_height-$row->phys_ascent, $row->phys_height
- printf " vis=%d", $row->visible_height
- printf " L=%d T=%d R=%d", $row->used[0], $row->used[1], $row->used[2]
- printf "\n"
+ printf " vis=%d\n", $row->visible_height
+ printf "used=(LMargin=%d,Text=%d,RMargin=%d) Hash=%d\n", $row->used[0], $row->used[1], $row->used[2], $row->hash
printf "start=%d end=%d", $row->start.pos.charpos, $row->end.pos.charpos
if ($row->enabled_p)
printf " ENA"
diff --git a/src/ChangeLog b/src/ChangeLog
index 4cec277fb36..f525535e4d8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
-2011-11-18 Paul Eggert <eggert@cs.ucla.edu>
+2011-12-11 Paul Eggert <eggert@cs.ucla.edu>
Fix integer width and related bugs (Bug#9874).
* alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
@@ -150,6 +150,7 @@
Fix a FIXME, by checking for integer overflow when calculating
target_clm and actual_clm.
* coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR)
+ (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET, CODING_CHAR_CHARSET_P)
(ASSURE_DESTINATION, coding_alloc_by_realloc)
(coding_alloc_by_making_gap, alloc_destination)
(detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16)
@@ -169,7 +170,8 @@
(decode_coding_object, encode_coding_object, detect_coding_system)
(Ffind_coding_systems_region_internal, Fcheck_coding_systems_region)
(code_convert_region, code_convert_string)
- (Fdefine_coding_system_internal):
+ (Fdefine_coding_system_internal)
+ (coding_set_source, coding_set_destination):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(setup_iso_safe_charsets, consume_chars, Funencodable_char_position)
(Fdefine_coding_system_internal):
@@ -786,11 +788,369 @@
rather than rolling our own approximation.
(SCROLL_BAR_VEC_SIZE): Remove; not used.
-2011-11-18 Paul Eggert <eggert@cs.ucla.edu>
+2011-12-10 Jan Djärv <jan.h.d@swipnet.se>
- Fix minor problems found by static checking.
- * dispextern.h, xdisp.c (row_hash): Declare extern only if XASSERTS.
- * dispnew.c (verify_row_hash): Now static.
+ * xterm.c (x_term_init): Move call to gdk_window_add_filter before
+ gtk_init (Bug#10100).
+
+2011-12-10 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if
+ IT->string is nil. (Bug#10263)
+
+2011-12-10 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.h (x_free_frame_resources): Declare.
+
+ * nsfns.m (ns_get_defaults_value): New function (Bug#10103).
+ (Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value.
+
+ * nsterm.h (ns_get_defaults_value): Declare.
+
+ * nsterm.m (ns_default): Call ns_get_defaults_value.
+
+2011-12-09 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero.
+ (Bug#10170)
+
+2011-12-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
+ that where the value of an _OBJC_* symbol points to is in the .bss
+ section (Bug#10240).
+
+2011-12-08 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
+
+ * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)
+ after the loop to call ccl_driver at least once (Bug#8619).
+
+2011-12-08 Kenichi Handa <handa@m17n.org>
+
+ * ftfont.c (get_adstyle_property): Fix previous change
+ (Bug#10233).
+
+2011-12-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * w32.c (init_environment): If no_site_lisp, remove site-lisp
+ dirs from the default value of EMACSLOADPATH (bug#10208).
+
+2011-12-07 Glenn Morris <rgm@gnu.org>
+
+ * lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in
+ installation and source directories as well. (Bug#10208)
+
+2011-12-06 Chong Yidong <cyd@gnu.org>
+
+ * minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228).
+
+2011-12-06 Glenn Morris <rgm@gnu.org>
+
+ * process.c (start_process_unwind): Treat any pid <= 0, except -2,
+ as an error, not just -1. (Bug#10217)
+
+2011-12-05 Chong Yidong <cyd@gnu.org>
+
+ * keyboard.c (process_special_events): New function.
+ (swallow_events, Finput_pending_p): Use it (Bug#10195).
+
+2011-12-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * coding.c (encode_designation_at_bol): Don't use uninitialized
+ local variable (Bug#9318).
+
+2011-12-05 Kenichi Handa <handa@m17n.org>
+
+ * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF,
+ return Qnil (Bug#8046, Bug#10193).
+
+2011-12-05 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (encode_designation_at_bol): New args charbuf_end and
+ dst. Return the number of produced bytes. Callers changed.
+ (coding_set_source): Return how many bytes coding->source was
+ relocated.
+ (coding_set_destination): Return how many bytes
+ coding->destination was relocated.
+ (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET)
+ (CODING_CHAR_CHARSET_P): Adjusted for the avove changes.
+
+2011-12-05 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
+
+ * coding.c (CODING_CHAR_CHARSET_P): New macro.
+ (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above
+ macro (Bug#9318).
+
+2011-12-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ The following changes are to fix Bug#9318.
+
+ * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros.
+ (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER)
+ (encode_coding_iso_2022, encode_coding_sjis)
+ (encode_coding_big5, encode_coding_charset): Use the above macros.
+
+2011-12-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * lisp.h (process_quit_flag): Fix external declaration.
+
+2011-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Don't macro-inline non-performance-critical code.
+ * eval.c (process_quit_flag): New function.
+ * lisp.h (QUIT): Use it.
+
+2011-12-04 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsfns.m (get_geometry_from_preferences): New function.
+ (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103).
+
+2011-12-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacs.c (Qkill_emacs): Define.
+ (syms_of_emacs): Initialize it.
+ * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
+ Qquit_flag to `kill-emacs' instead.
+ (quit_throw_to_read_char): Add parameter `from_signal'.
+ All callers changed. Call Fkill_emacs if requested and safe.
+ * lisp.h (QUIT): Call Fkill_emacs if requested.
+
+2011-12-03 Jan Djärv <jan.h.d@swipnet.se>
+
+ * widget.c (update_wm_hints): Return if wmshell is null.
+ (widget_update_wm_size_hints): New function.
+
+ * widget.h (widget_update_wm_size_hints): Declare.
+
+ * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call
+ widget_update_wm_size_hints (Bug#10104).
+
+2011-12-03 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (handle_invisible_prop): If the invisible text ends just
+ before a newline, prepare the bidi iterator for consuming the
+ newline, and keep the current paragraph direction. (Bug#10183)
+ (redisplay_window): Don't let `margin' become negative. (Bug#10192)
+
+2011-12-02 Juri Linkov <juri@jurta.org>
+
+ * search.c (Fword_search_regexp): New Lisp function created from
+ `wordify'. Change type of arg `lax' from `int' to `Lisp_Object'.
+ (Fword_search_backward, Fword_search_forward)
+ (Fword_search_backward_lax, Fword_search_forward_lax):
+ Use `Fword_search_regexp' instead of `wordify'. Doc fix.
+ (syms_of_search): Define `Sword_search_regexp'. (Bug#10145)
+
+2011-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * fileio.c (Finsert_file_contents): Move after-change-function call
+ to before the "handled:" label, since all "goto handled" appear in
+ cases where the *-change-functions have already been properly called
+ (bug#10117).
+
+2011-12-01 Andreas Schwab <schwab@linux-m68k.org>
+
+ * keyboard.c (interrupt_signal): Don't call kill-emacs when
+ waiting for input. (Bug#10169)
+
+2011-11-30 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (adjust_glyph_matrix): Remove the assertion that
+ verifies glyph row's hash code--we have just reallocated the
+ glyphs, so their contents can be complete garbage. (Bug#10164)
+
+2011-11-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check.
+
+2011-11-30 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
+ attributes are tested _before_ calling verify_row_hash, to protect
+ against GCC re-ordering of the tests. (Bug#10164)
+
+2011-11-29 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.h (struct x_output): net_wm_state_hidden_seen is new.
+
+ * xterm.c (handle_one_xevent): Only set async_visible and friends
+ if net_wm_state_hidden_seen is non-zero (Bug#10002)
+ (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
+ _NET_WM_STATE_HIDDEN is in NET_WM_STATE.
+
+2011-11-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove GCPRO-related macros that exist only to avoid shadowing locals.
+ * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR)
+ (GCPRO6_VAR, UNGCPRO_VAR): Remove. See
+ <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
+ All uses changed to use GCPRO1 etc.
+ (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO):
+ Revert to old implementation (i.e., before 2011-03-11).
+
+2011-11-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * dispnew.c (scrolling_window): Truncate overlaps in copy destination
+ of scroll runs so as to avoid assigning disabled bogus rows and
+ unnecessary graphics copy operations.
+
+2011-11-27 Eli Zaretskii <eliz@gnu.org>
+
+ * s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
+ (snprintf) [_MSC_VER]: Redirect to _snprintf.
+ (strtoll) [_MSC_VER]: Redirect to _strtoi64.
+ (malloc, free, realloc, calloc): Redirect to e_* only when
+ compiling Emacs.
+
+ * lisp.h (GCTYPEBITS): Move before first use.
+ (ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
+ (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
+ this macro definition.
+
+ * s/ms-w32.h (tzname): Redirect to _tzname for all values of
+ _MSC_VER.
+
+2011-11-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_create_frame_widgets):
+ Call gtk_window_set_has_resize_grip (FALSE) if that function is
+ present with Gtk+ 2.0.
+
+2011-11-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fileio.c (Finsert_file_contents): Undo previous change; see
+ <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
+
+2011-11-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Rename locals to avoid shadowing.
+ * fileio.c (Finsert_file_contents):
+ Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing.
+ * process.c (wait_reading_process_output):
+ Rename inner 'proc' to 'p' to avoid shadowing.
+ Indent for consistency with usual Emacs style.
+
+2011-11-25 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (redisplay_window): If cursor row is not fully visible
+ after recentering, and scroll-conservatively is set to a large
+ number, scroll window by a few more lines to make the cursor fully
+ visible and out of scroll-margin. (Bug#10105)
+ (start_display): Don't move to the next line if the display should
+ start at a newline that is part of a display vector or an overlay
+ string. (Bug#10119)
+
+2011-11-24 Juri Linkov <juri@jurta.org>
+
+ * image.c (imagemagick_load_image): Move `MagickSetResolution' down
+ after the `MagickPingImage' call. (Bug#10112)
+
+2011-11-23 Chong Yidong <cyd@gnu.org>
+
+ * window.c (Fcoordinates_in_window_p): Accept only live windows.
+
+2011-11-23 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c (Fkill_buffer): Run replace_buffer_in_windows before
+ making another buffer current. (Bug#10114)
+
+2011-11-23 Glenn Morris <rgm@gnu.org>
+
+ * font.c (font_find_for_lface) [HAVE_NS]: Ignore case. (Bug#2526)
+
+2011-11-23 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (compute_stop_pos): Check validity of end_charpos before
+ using it (Bug#5984).
+
+2011-11-22 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode-
+ and header-lines, as they don't have one computed for them.
+ (Bug#10098)
+
+ * .gdbinit (prow): Make displayed values more self-explaining.
+ Add row's hash code.
+
+2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * process.c (wait_reading_process_output): Fix asynchrounous
+ GnuTLS socket handling on some versions of the GnuTLS library.
+ (wait_reading_process_output): Add comment and URL.
+
+2011-11-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (x_clear_frame): Reinstate the XClearWindow call.
+
+2011-11-21 Chong Yidong <cyd@gnu.org>
+
+ * window.c (Fnext_window, Fprevious_window): Doc fix.
+
+2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo.
+
+2011-11-20 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fset_window_combination_limit): Rename argument
+ STATUS to LIMIT.
+ (Vwindow_combination_limit): Remove "status" from doc-string.
+
+2011-11-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * m/ibms390.h: Remove.
+ * m/ibms390x.h: Don't include "ibms390.h".
+
+2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * fileio.c (Finsert_file_contents): Add missing gcpro1 variable.
+ Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * casetab.c (Fset_case_table):
+ * charset.c (Fcharset_after): Fix typos.
+
+2011-11-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Standardize on VIRT_ADDR_VARIES behavior (Bug#10042).
+ Otherwise, valgrind does not work on some platforms.
+ Problem reported by Andreas Schwab in
+ <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
+ * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
+ is set, removing the need for VIRT_ADDRESS_VARIES.
+ (PURE_P): Use a more-efficient implementation that needs just one
+ comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
+ number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
+ to 4 (xorl, subq, cmpq, setbe).
+ * alloc.c (pure): Always extern now, since that's the
+ VIRT_ADDR_VARIES behavior.
+ (PURE_POINTER_P): Use a single comparison, not two, for
+ consistency with the new puresize.h.
+ * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
+ * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
+ Remove VIRT_ADDR_VARIES no longer needed.
+
+2011-11-19 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
+ (erase_phys_cursor, update_window_cursor, show_mouse_face)
+ (cursor_in_mouse_face_p): If the cursor position is out of bounds,
+ behave as if the cursor position were at the window margin.
+
+ * window.c (get_phys_cursor_glyph): If the window is hscrolled,
+ and the cursor position is out of bounds, behave as if the cursor
+ position were at the window margin. (Bug#10075)
+
+2011-11-18 Chong Yidong <cyd@gnu.org>
+
+ * window.c (Fwindow_combination_limit): Make first argument
+ non-optional, since it is meaningless for live windows like the
+ selected window.
2011-11-18 Dmitry Antipov <dmantipov@yandex.ru>
@@ -860,8 +1220,8 @@
* xdisp.c (display_line): Move the call to
highlight_trailing_whitespace before the call to
compute_line_metrics, since the latter needs to see the final
- faces of all the glyphs to compute ROW's hash value. Fixes
- assertion violations in row_equal_p. (Bug#10035)
+ faces of all the glyphs to compute ROW's hash value.
+ Fixes assertion violations in row_equal_p. (Bug#10035)
2011-11-14 Juanma Barranquero <lekktu@gmail.com>
@@ -945,8 +1305,8 @@
2011-11-08 Chong Yidong <cyd@gnu.org>
* window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
- (Fwindow_body_height, Fwindow_body_width): Move from Lisp. Signal
- an error if not a live window.
+ (Fwindow_body_height, Fwindow_body_width): Move from Lisp.
+ Signal an error if not a live window.
(Fwindow_total_width, Fwindow_total_height): Move from Lisp.
(Fwindow_total_size, Fwindow_body_size): Move to Lisp.
@@ -1078,8 +1438,8 @@
(x_destroy_window): Move code to x_free_frame_resources.
* xfns.c (unwind_create_frame): Fix comment.
- (Fx_create_frame, x_create_tip_frame): Move
- terminal->reference_count++ just before making the frame
+ (Fx_create_frame, x_create_tip_frame):
+ Move terminal->reference_count++ just before making the frame
official. Move initialization of image_cache_refcount and
dpyinfo_refcount before calling init_frame_faces (Bug#9943).
@@ -1149,8 +1509,8 @@
* xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
Don't stop backward scan on the continuation glyph, even though
its CHARPOS is positive.
- (mouse_face_from_buffer_pos, note_mouse_highlight): Rename
- cover_string to disp_string.
+ (mouse_face_from_buffer_pos, note_mouse_highlight):
+ Rename cover_string to disp_string.
2011-11-01 Martin Rudalics <rudalics@gmx.at>
@@ -7789,7 +8149,7 @@
2011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
- * xml.c (parse_region): Avoid creating spurious whiespace nodes.
+ * xml.c (parse_region): Avoid creating spurious whitespace nodes.
2011-04-08 Chong Yidong <cyd@stupidchicken.com>
@@ -8405,7 +8765,7 @@
* keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
Use Frun_hooks.
(command_loop_1): Use Frun_hooks. Call safe_run_hooks
- unconditionnaly since it does the check itself.
+ unconditionally since it does the check itself.
2011-03-23 Paul Eggert <eggert@cs.ucla.edu>
@@ -9289,7 +9649,7 @@
(xg_set_widget_bg): New function.
(delete_cb): New function.
(xg_create_frame_widgets): Connect delete-event to delete_cb.
- Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
+ Call xg_set_widget_bg. Only set background pixmap for ! HAVE_GTK3
(xg_set_background_color): Call xg_set_widget_bg.
(xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
(xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
diff --git a/src/ChangeLog.1 b/src/ChangeLog.1
index efe77648458..7fef45f36da 100644
--- a/src/ChangeLog.1
+++ b/src/ChangeLog.1
@@ -2237,7 +2237,7 @@
* data.c (Fset):
If Vautoload_queue non-nil, record function and old definition
- by consing onto Vautoload_qeueue.
+ by consing onto Vautoload_queue.
* fns.c (Fprovide):
If Vautoload_queue is non-nil, record old value of Vfeatures.
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10
index 181b11b5a2b..e759183724e 100644
--- a/src/ChangeLog.10
+++ b/src/ChangeLog.10
@@ -516,7 +516,7 @@
* w32fns.c (current_popup_menu): Use from w32menu.c.
(w32_wnd_proc) <WM_EXITMENULOOP, WM_TIMER>: Use menubar_active
and current_popup_menu to determine whether a menubar menu has
- been cancelled.
+ been canceled.
* w32term.h (w32_output): Remove menu_command_in_progress.
@@ -1003,7 +1003,7 @@
(syms_of_xdisp): DEFVAR_LISP and initialize it. Update doc string
to describe new value `grow-only', and use of C-l.
(display_tool_bar_line): Only use default face for border below
- toolbar if not grow-only (to get acceptable visual appearence).
+ toolbar if not grow-only (to get acceptable visual appearance).
Explicitly set visible_height for empty toolbar lines.
(redisplay_tool_bar): Handle `grow-only' setting. Check and clear
minimize_tool_bar_window_p flag.
@@ -4346,7 +4346,7 @@
* textprop.c (Fremove_list_of_text_properties):
Ensure modify_region is called only when buffer is modified and that
- signal_after_change is allways called in that case.
+ signal_after_change is always called in that case.
* print.c (PRINTFINISH): Call signal_after_change.
@@ -5084,7 +5084,7 @@
2006-02-26 Chong Yidong <cyd@stupidchicken.com>
- * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary argument.
+ * xterm.h, xterm.c (x_uncatch_errors): Delete unnecessary argument.
* xterm.c (x_load_font, x_term_init, XTmouse_position)
(handle_one_xevent, x_connection_closed, x_list_fonts):
@@ -6387,7 +6387,7 @@
2005-11-20 Nick Roberts <nickrob@snap.net.nz>
* lisp.h: Use typedef when Lisp_Object is EMACS_INT so that
- this type is recognised when debugging.
+ this type is recognized when debugging.
2005-11-19 Andreas Schwab <schwab@suse.de>
@@ -12087,7 +12087,7 @@
(merge_face_heights): Eliminate GCPRO arg. All callers changed.
* keyboard.c (command_loop_1): Change Vtransient_mark_mode
- before deciding whether to inactivate mark.
+ before deciding whether to deactivate mark.
2004-11-06 Lars Brinkhoff <lars@nocrew.org>
@@ -13398,7 +13398,7 @@
2004-07-04 John Paul Wallington <jpw@gnu.org>
* fileio.c (read_file_name_completion_ignore_case): New variable.
- (syms_of_fileio): Declare and initialise it.
+ (syms_of_fileio): Declare and initialize it.
(Fread_file_name): Bind `completion-ignore-case' to respect it.
2004-07-03 Eli Zaretskii <eliz@gnu.org>
@@ -18755,7 +18755,7 @@
2003-05-21 Dave Love <fx@gnu.org>
- [Merged from unicode branch.]
+ [Merged from Unicode branch.]
* xfns.c (x_window, x_window): Use use_xim.
@@ -23013,7 +23013,7 @@
(try_window_id): Likewise.
(redisplay_window): New local var buffer_unchanged_p.
- * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
+ * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_hourglass.
* process.c (create_process): Test USG_SUBTTY_WORKS.
(process_send_signal): Clean up handling of GID.
diff --git a/src/ChangeLog.11 b/src/ChangeLog.11
index 73ac5fd4e00..f9fd442da3f 100644
--- a/src/ChangeLog.11
+++ b/src/ChangeLog.11
@@ -966,7 +966,7 @@
($(BLD)/editfns.$(O)): Depend on ../lib/strftime.h.
($(BLD)/print.$(O)): Depend on ../lib/ftoastr.h and ../lib/intprops.h.
- * deps.mk: Update for recent changes: gnutls support, gnulib
+ * deps.mk: Update for recent changes: GnuTLS support, gnulib
imports, addition of globals.h.
* makefile.w32-in ($(BLD)/sysdep.$(O)): Depend on
@@ -2191,7 +2191,7 @@
2010-12-16 Jan Djärv <jan.h.d@swipnet.se>
* nsterm.m (ns_draw_window_cursor): If the cursor color is the
- same as the background, use the face forground as cursor.
+ same as the background, use the face foreground as cursor.
2010-12-13 Eli Zaretskii <eliz@gnu.org>
@@ -3268,7 +3268,7 @@
2010-10-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnutls.c (emacs_gnutls_write): If we're trying to write before
- gnutls is ready, return EAGAIN as the errno.
+ GnuTLS is ready, return EAGAIN as the errno.
2010-10-10 Dan Nicolaescu <dann@ics.uci.edu>
@@ -3585,12 +3585,12 @@
* process.c (make_process): Set the gnutls_p field to zero by
default.
(read_process_output): Always call the gnutls_read function if the
- stream is a gnutls stream.
+ stream is a GnuTLS stream.
(send_process): Ditto for writes.
* gnutls.c (emacs_gnutls_write, emacs_gnutls_read): Refuse to read
or write anything until the state is GNUTLS_STAGE_READY.
- (Fgnutls_boot): Mark the stream as being a gnutls stream.
+ (Fgnutls_boot): Mark the stream as being a GnuTLS stream.
2010-09-29 Eli Zaretskii <eliz@gnu.org>
@@ -4839,7 +4839,7 @@
2010-08-13 Jason Rumney <jasonr@gnu.org>
- * w32menu.c (simple_dialog_show): Use unicode message box if available.
+ * w32menu.c (simple_dialog_show): Use Unicode message box if available.
(MessageBoxW_Proc): New function typedef.
(unicode-message-box): New function pointer.
(globals_of_w32menu): Import it from user32.dll. (Bug#5629)
@@ -5896,7 +5896,7 @@
* eval.c (Feval, Ffuncall): Use the new names.
* lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED.
- (DEFUN): Add braces around the union initialisation and use ## to
+ (DEFUN): Add braces around the union initialization and use ## to
specify the right union alternative and avoid a cast.
2010-07-18 Juanma Barranquero <lekktu@gmail.com>
@@ -6604,9 +6604,9 @@
* keyboard.c (input_available_signal): Declare.
(kbd_buffer_nr_stored): New function.
(kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
- more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
+ more than KBD_BUFFER_SIZE/2, stop reading input (Bug#6571).
(kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
- returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
+ returns less than KBD_BUFFER_SIZE/4, resume reading input (Bug#6571).
(tty_read_avail_input): If input is on hold, return.
Don't read more that free slots in kbd_buffer (Bug#6571).
@@ -7199,7 +7199,7 @@
2010-06-27 Chong Yidong <cyd@stupidchicken.com>
- * xfns.c (Fx_create_frame): Don't consult X resouces when setting
+ * xfns.c (Fx_create_frame): Don't consult X resources when setting
menu-bar-lines and tool-bar-lines. Use menu-bar-mode and
tool-bar-mode, which are now set using these X resources at
startup, to determine the defaults (Bug#2249).
@@ -7683,7 +7683,7 @@
2010-05-20 Juri Linkov <juri@jurta.org>
- * fileio.c (Fdelete_file): Change interative spec to use
+ * fileio.c (Fdelete_file): Change interactive spec to use
`read-file-name' like in `find-file-read-args' where the default
value is `default-directory' instead of `buffer-file-name'.
http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html
@@ -8991,8 +8991,8 @@
2010-04-13 Jan Djärv <jan.h.d@swipnet.se>
* gtkutil.c (xg_set_geometry): Set geometry for PPosition also.
- (x_wm_set_size_hint): Dont set position flags, gtk_window_parse_geometry
- does that.
+ (x_wm_set_size_hint): Don't set position flags,
+ gtk_window_parse_geometry does that.
* xfns.c (Fx_create_frame, x_create_tip_frame): Set default border width
to zero.
@@ -9266,7 +9266,7 @@
Get rid of the direct_output optimizations.
* keyboard.c (nonundocount): Remove extern declaration.
- (command_loop_1): Remove brittle optimisation for cheap and
+ (command_loop_1): Remove brittle optimization for cheap and
common operations.
* xdisp.c (redisplay_internal): Don't bother checking
redisplay_performed_directly_p any more.
@@ -9864,8 +9864,8 @@
2010-01-27 Jason Rumney <jasonr@gnu.org>
- * w32inevt.c (w32_kbd_patch_key): Save the unicode character.
- (key_event): Use unicode for characters 128 and higher (Bug#4567).
+ * w32inevt.c (w32_kbd_patch_key): Save the Unicode character.
+ (key_event): Use Unicode for characters 128 and higher (Bug#4567).
2010-01-27 Kenichi Handa <handa@m17n.org>
@@ -11541,7 +11541,7 @@
(syms_of_nsfont): Declare it.
(ns_registry_to_script): New function.
(ns_get_req_script): Call it.
- (ns_findfonts): Don't give up on non-unicode registry.
+ (ns_findfonts): Don't give up on non-Unicode registry.
* font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
@@ -11805,7 +11805,7 @@
* coding.c (encode_coding_utf_16): Fix checking of a Unicode
character.
- * cmds.c (Fself_insert_command): Avoid unnecessay
+ * cmds.c (Fself_insert_command): Avoid unnecessary
unibyte->multibyte conversion. (Bug#4240) (Bug#4037)
2009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
@@ -11923,7 +11923,7 @@
* process.c (status_notify): Don't perform redisplay.
(Fdelete_process, list_processes_1, process_send_signal):
- Expliticly perform redisplay.
+ Explicitly perform redisplay.
(wait_reading_process_output): Always check process status, but
don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
@@ -12481,7 +12481,7 @@
* dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
- for hours, when optimzation is enabled.
+ for hours, when optimization is enabled.
(xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
(xd_read_message): Make them static.
@@ -13149,7 +13149,7 @@
(ftfont_has_char): Special handling of `ja' and `ko' adstyle.
* font.c (font_sort_entites): Change the meaning of the arg
- BEST-ONLY. Don't optimize for VEC of lenght 1.
+ BEST-ONLY. Don't optimize for VEC of length 1.
(font_select_entity): Just return the value of font_sort_entites.
* xfaces.c (merge_face_vectors): Reflect font properties in
@@ -16072,7 +16072,7 @@
2008-09-07 Andreas Schwab <schwab@suse.de>
* callproc.c (Fcall_process): Don't hold references to string data
- across garbage collection. Move initialisation of new_argv down
+ across garbage collection. Move initialization of new_argv down
to avoid compiler bug.
2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
@@ -17147,10 +17147,10 @@
2008-07-30 Jason Rumney <jasonr@gnu.org>
- * w32font.h (struct w32font_info): Use unicode version of textmetrics.
+ * w32font.h (struct w32font_info): Use Unicode version of textmetrics.
- * w32font.c (w32font_encode_char): Leave as unicode if in range.
- (w32font_open_internal): Get unicode version of textmetrics.
+ * w32font.c (w32font_encode_char): Leave as Unicode if in range.
+ (w32font_open_internal): Get Unicode version of textmetrics.
Don't enable or disable glyph indices here.
(w32font_open): Disable use of glyph indices.
@@ -19178,7 +19178,7 @@
2008-06-10 Jason Rumney <jasonr@gnu.org>
* w32uniscribe.c (add_opentype_font_name_to_list):
- Skip non unicode fonts.
+ Skip non Unicode fonts.
2008-06-10 Chong Yidong <cyd@stupidchicken.com>
@@ -19248,7 +19248,7 @@
* w32menu.c (Fx_popup_menu): Unwind protect while building menu.
(parse_single_submenu): Remove.
(digest_single_submenu): Remove.
- (syms_of_w32menu): Don't initialise variables that have moved
+ (syms_of_w32menu): Don't initialize variables that have moved
to menu.c.
(set_frame_menubar): Sync with version in xmenu.c.
(w32_menu_show): Sync with xmenu_show in xmenu.c.
@@ -19647,7 +19647,7 @@
`raster' specified.
(add_font_entity_to_list): Allow non-opentype truetype fonts back
in the uniscribe backend, but disallow any font that has no
- unicode subrange support.
+ Unicode subrange support.
2008-05-29 Juanma Barranquero <lekktu@gmail.com>
@@ -21290,7 +21290,7 @@
(CACHE_BLOCKSIZE): New constants.
* w32font.c (Qja, Qko, Qzh): New symbols.
- (syms_of_w32font): Initialise them.
+ (syms_of_w32font): Initialize them.
(font_matches_spec): Use them to filter by language.
(recompute_cached_metrics): Remove function.
(compute_metrics, clear_cached_metrics): New functions.
@@ -21813,8 +21813,8 @@
2008-03-06 Jason Rumney <jasonr@gnu.org>
* w32font.c (w32_registry): Take font_type argument. Use ANSI
- when charset not specified. Only translate ANSI to unicode when
- font_type is truetype.
+ when charset not specified. Only translate ANSI to Unicode when
+ font_type is TrueType.
(w32font_coverage_ok): New function.
(add_font_entity_to_list): Use it to filter unsuitable fonts.
@@ -22234,7 +22234,7 @@
* lisp.h (Fdelete_terminal): Declare.
* charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
- (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
+ (CHECK_CHARSET_GET_ATTR): Don't use the nonexistent return value of
wrong_type_argument.
2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
@@ -23182,7 +23182,7 @@
* font.c (font_prop_validate_symbol, font_prop_validate_style)
(font_prop_validate_non_neg, font_prop_validate_spacing):
Delete argument prop_index.
- (font_property_table): Change arguments to validater. Change Callers.
+ (font_property_table): Change arguments to validator. Change Callers.
(font_lispy_object): Delete.
(font_at): Use font_find_object instead fo font_lispy_object.
@@ -23463,10 +23463,10 @@
(w32font_list, w32font_match): Use it.
(w32font_open): Don't populate subranges.
(w32font_has_char): Use script Lisp symbols, not subrange bitmask.
- (w32font_encode_char): Always return unicode code-point as-is.
+ (w32font_encode_char): Always return Unicode code-point as-is.
(w32font_text_extents): Supply a transformation matrix to
GetGlyphOutline. Never look up by glyph index. Avoid looping
- twice. Use unicode version of GetTexExtentPoint32 instead of
+ twice. Use Unicode version of GetTexExtentPoint32 instead of
glyph index version.
(set_fonts_frame): Remove.
(w32_enumfont_pattern_entity): Add frame parameter, use it to
@@ -25081,7 +25081,7 @@
* keymap.c (describe_vector): Handle default value of a char table.
* fontset.c (fontset_face): Handle fallback fonts correctly.
- (Ffontset_info): Return infomation about fallback fonts.
+ (Ffontset_info): Return information about fallback fonts.
2008-02-01 Kenichi Handa <handa@m17n.org>
@@ -25425,16 +25425,16 @@
(pfnGetFontUnicodeRanges): New dynamically loaded function.
(w32_initialize): Try to load it.
(x_get_font_repertory): Use it if available.
- (w32_encode_char): Add shortcut for unicode output.
+ (w32_encode_char): Add shortcut for Unicode output.
* w32fns.c (w32_load_system_font): Default charset to -1.
- (x_to_w32_charset): Match all fonts for unicode.
+ (x_to_w32_charset): Match all fonts for Unicode.
(w32_to_x_charset): New parameter matching. Don't return partial
or wildcard charsets.
(w32_to_all_x_charsets): Don't return partial or wildcard charsets.
- (w32_codepage_for_font): Return CP_UNICODE for unicode.
+ (w32_codepage_for_font): Return CP_UNICODE for Unicode.
(w32_to_x_font): Match charset to real charset.
- (enum_font_cb2): Always list unicode versions.
+ (enum_font_cb2): Always list Unicode versions.
* makefile.w32-in (temacs): Increase EMHEAP.
@@ -25458,7 +25458,7 @@
* w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
of x_new_fontset.
- (w32_load_system_font): Initialize charset as unicode.
+ (w32_load_system_font): Initialize charset as Unicode.
font_info.encoding becomes encoding_type.
(w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
(x_to_w32_font): Use encode_coding_object in place of encode_coding.
@@ -27366,7 +27366,7 @@
* ccl.c: Include "character.h".
(Qccl, Qcclp): New variables.
- (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
+ (CCL_WRITE_CHAR): Always treat the arg CH as a character even if
it's less than 256.
(CCL_WRITE_MULTIBYTE_CHAR): Delete.
(CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
@@ -27685,7 +27685,7 @@
* xterm.c (handle_one_xevent): Revert to counting chars not bytes.
* w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
- the unicode range available in MULE by locale-coding-system.
+ the Unicode range available in MULE by locale-coding-system.
Improve dbcs lead byte detection. Set event timestamp and modifiers
earlier.
@@ -29136,7 +29136,7 @@
* lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
* lread.c (defvar_per_buffer):
- * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
+ * abbrev.c (syms_of_abbrev) <local-abbrev-table>: Move to buffer.c.
* window.c (candidate_window_p): Only consider as visible frames that
are on the same terminal.
@@ -29651,7 +29651,7 @@
* callproc.c (child_setup, getenv_internal): Use the
display-environment-variable and term-environment-variable frame params.
- (set_initial_environment): Initialise Vprocess_environment.
+ (set_initial_environment): Initialize Vprocess_environment.
* config.in: Disable multi-keyboard support on a mac.
@@ -30873,7 +30873,7 @@
2007-06-17 Jason Rumney <jasonr@gnu.org>
* w32menu.c (add_menu_item): Don't use multibyte string functions on
- unicode strings.
+ Unicode strings.
2007-06-16 Juanma Barranquero <lekktu@gmail.com>
@@ -30892,7 +30892,7 @@
2007-06-14 Jason Rumney <jasonr@gnu.org>
* w32.c (get_process_times_fn): New function pointer.
- (globals_of_w32): Intialize it if present in kernel32.dll.
+ (globals_of_w32): Initialize it if present in kernel32.dll.
(w32_get_internal_run_time): New function.
* editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
@@ -31298,7 +31298,7 @@
(term_mouse_highlight, term_mouse_movement, term_mouse_position)
(term_mouse_click, handle_one_term_event, Fterm_open_connection)
(Fterm_close_connection): New functions.
- (term_init): Initialise mouse_face_window.
+ (term_init): Initialize mouse_face_window.
2007-05-19 Chong Yidong <cyd@stupidchicken.com>
@@ -31330,7 +31330,7 @@
2007-05-12 Chong Yidong <cyd@stupidchicken.com>
- * image.c (pbm_load): Correctly check image size for greyscale pbm.
+ * image.c (pbm_load): Correctly check image size for grayscale pbm.
* xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2
index 05e448c043c..ba61c337efc 100644
--- a/src/ChangeLog.2
+++ b/src/ChangeLog.2
@@ -1152,7 +1152,7 @@
1987-07-29 Richard Mlynarik (mly@prep)
- * lread.c (init_read): Initialise load_in_progress.
+ * lread.c (init_read): Initialize load_in_progress.
1987-07-28 Richard M. Stallman (rms@prep)
@@ -1811,7 +1811,7 @@
1987-03-13 Richard M. Stallman (rms@prep)
* sysdep.c: Don't redefine TCSETAW if already defined.
- (Cancelled by change on March 17).
+ (Canceled by change on March 17).
* sunfns.c: New file containing interface to Sun windows.
This is enabled by the switch HAVE_SUN_WINDOWS.
@@ -2251,7 +2251,7 @@
1987-01-16 Richard Mlynarik (mly@prep)
* xfns.c (Fx_set_{background,cursor,mouse}_color):
- Initialise save_color.
+ Initialize save_color.
* fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c:
Delete/replace unused/conditionalised variables
@@ -3002,7 +3002,7 @@
1986-11-18 Richard Mlynarik (mly@prep)
* emacs.c (main):
- Giving `inhibit_x_windows' an initialisation loses;
+ Giving `inhibit_x_windows' an initialization loses;
do it explicitly.
* xfns.c (Fx_rubber_band):
@@ -3291,7 +3291,7 @@
1986-11-03 Richard Mlynarik (mly@prep)
* xterm.c (stufflines):
- Initialise signal mask.
+ Initialize signal mask.
* xterm.h:
Add definition of sigmask
@@ -3346,7 +3346,7 @@
New function.
* window.c (Fset_window_hscroll):
- Don't inhibit redisplay optimisations if hscroll is same.
+ Don't inhibit redisplay optimizations if hscroll is same.
* ymakefile:
rm ../etc/DOC to avoid make-docfile overwriting any files which
@@ -3358,7 +3358,7 @@
VMS changes from Sasaki
* termcap.c (tgetent):
- Make sure `indirect' initialised.
+ Make sure `indirect' initialized.
* xfns.c (grey_p and callers):
New function to compensate for ugly chauvinistic American
@@ -3496,7 +3496,7 @@
core-dump)
Dike out global-minor-modes. This wasn't actually being used by
- anything (due to a bug) and wasn't even being initialised!
+ anything (due to a bug) and wasn't even being initialized!
minor-mode-alist does what this thought it was doing.
1986-10-11 Richard Mlynarik (mly@prep)
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
index cdfe63fc59c..34906e505da 100644
--- a/src/ChangeLog.3
+++ b/src/ChangeLog.3
@@ -3271,7 +3271,7 @@
[not HAVE_X11] (x_set_border_pixel): Use gray_width and
gray_height, instead of assuming that the bitmap is 16x16.
(x_make_gc): Instead of creating a pixmap and then calling
- XPutImage to make it into a grey stipple, just call
+ XPutImage to make it into a gray stipple, just call
XCreatePixmapFromBitmapData to do it all at once.
* xterm.c (x_text_icon): Move the request for font information
@@ -6089,7 +6089,7 @@
shrink below the minimum, this code would only try to delete it if
it had a parent. Well, even if the window doesn't have a parent,
you want Fdelete_window to signal an error, since you're trying to
- resize one of the undeleteable windows into nothingness. So call
+ resize one of the undeletable windows into nothingness. So call
Fdelete_window even if the window doesn't have a parent.
* window.c (MINSIZE): Add kludge so that the minibuffer is always
@@ -9010,7 +9010,7 @@
* keyboard.c (cmd_error): If an error occurs before somebody has
provided a screen to print it on, print it to stderr and exit
Emacs. Handle batch-mode errors with the same code.
- * lisp.h (Qexternal_debugging_ouput): New extern declaration, for
+ * lisp.h (Qexternal_debugging_output): New extern declaration, for
use in cmd_error.
* screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix.
@@ -13137,7 +13137,7 @@
* print.c: Include dispextern.h.
(printchar, strout): Use message_buf.
- * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLenght.
+ * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLength.
* term.c: Likewise.
* scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a
@@ -13147,7 +13147,7 @@
(do_scrolling): Use alloca for queue.
* dispnew.c (remake_screen_structures): Allocate message_buf.
- Don't use MscreenWidth, MscreenLenght.
+ Don't use MscreenWidth, MscreenLength.
* xdisp.c: bf_cur replaced with current_buffer.
Calls to SetBfx deleted.
@@ -14880,7 +14880,7 @@
1989-08-09 Joseph Arceneaux (jla@spiff)
- * ../oldXMenu/Makefile: Removed all the unneccessary X stuff.
+ * ../oldXMenu/Makefile: Removed all the unnecessary X stuff.
1989-08-07 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
diff --git a/src/ChangeLog.4 b/src/ChangeLog.4
index 208d9c2cdb0..88c9e3dbf71 100644
--- a/src/ChangeLog.4
+++ b/src/ChangeLog.4
@@ -3656,7 +3656,7 @@
* m/delta.h (BROKEN_CLOSEDIR): Added because closedir is interruptible.
(HAVE_UNISTD_H): Deleted because configure takes care of it.
- (C_SWITCH_MACHINE): Added optimisation options for gnu cc.
+ (C_SWITCH_MACHINE): Added optimization options for gnu cc.
1993-12-17 Mike Long (mike.long@analog.com)
@@ -5007,7 +5007,7 @@
Change display code to handle the `invisible' text property.
* dispnew.c (direct_output_for_insert): Fail if character
just inserted has text properties.
- (direct_ouput_forward_char): Fail if moving near invisible chars.
+ (direct_output_forward_char): Fail if moving near invisible chars.
* indent.c (compute_motion): Compute correctly for invisible text.
(vmotion): Take care of invisible newlines.
* intervals.c (set_point): Ignore `invisible' property
diff --git a/src/ChangeLog.5 b/src/ChangeLog.5
index 1f21e9fb99c..ee79917a34d 100644
--- a/src/ChangeLog.5
+++ b/src/ChangeLog.5
@@ -3463,7 +3463,7 @@
* lisp.h (running_asynch_code): New global flag.
* emacs.c (running_asynch_code): New global flag.
- (main): Initialise it.
+ (main): Initialize it.
* process.c (read_process_output, exec_sentinel): Set and
reset the running_asynch_code global flag and restore match data.
diff --git a/src/ChangeLog.6 b/src/ChangeLog.6
index 141a570040c..74141f6813a 100644
--- a/src/ChangeLog.6
+++ b/src/ChangeLog.6
@@ -718,7 +718,7 @@
(init_ntproc) [HAVE_SOCKETS]: Only load winsock library on startup
if PRELOAD_WINSOCK is set in environment (or registry).
- * ntproc.c (Fwin32_has_winsock, Fwin32_unload_winsock)
+ * ntproc.c (Fwin32_has_winsock, Fwin32_unload_winsock)
[HAVE_SOCKETS]: New functions.
(syms_of_ntproc) [HAVE_SOCKETS]: defsubr them.
@@ -845,7 +845,7 @@
(timer_id): Renamed to mouse_button_timer.
(saved_mouse_move_msg, mouse_move_timer): New variables.
(win_msg_worker): Delete WM_TIMER code.
- (win32_wnd_proc): Handle WM_TIMER events here. Use separate timers
+ (win32_wnd_proc): Handle WM_TIMER events here. Use separate timers
for mouse down and mouse move (including scroll bar drag) events.
Add new handling code for WM_VSCROLL and WM_MOUSEMOVE events.
Only filter WM_MOUSEMOVE events when a button is held down.
@@ -1100,17 +1100,17 @@
(nt_sleep): Renamed to sys_sleep.
- (rename): Renamed to sys_rename. Always rename to a temporary name
+ (rename): Renamed to sys_rename. Always rename to a temporary name
first on Windows 95. Unlink new name first if necessary.
(dir_finding): Variable deleted.
(dir_is_fat, dir_pathname): New variables.
- (openddir): Fail if dir_find_handle is in use. Save directory name
+ (openddir): Fail if dir_find_handle is in use. Save directory name
in dir_pathname, and set dir_is_fat appropriately.
(closedir, readdir): Use dir_find_handle in place of dir_finding.
(readdir): Copy directory name from dir_pathname on first
- call. Use IS_DIRECTORY_SEP instead of IS_ANY_SEP. Force filename
+ call. Use IS_DIRECTORY_SEP instead of IS_ANY_SEP. Force filename
to be lower case on FAT volumes.
(getpwuid): Move struct passwd initialization to init_user_info,
@@ -1141,7 +1141,7 @@
(get_emacs_configuration): Detect Windows flavor (Windows 95 or
NT) at run-time. Change OS name for Windows 95 to be "win95".
- (fd_info): New variable. Array of extra info for file descriptors
+ (fd_info): New variable. Array of extra info for file descriptors
needed for pipe/socket support.
(utc_base_ft, utc_base, init): New internal variables used for
@@ -1182,7 +1182,7 @@
support in sys_select.
(term_ntproc): New function.
- (init_ntproc): New function to initialise socket support and make
+ (init_ntproc): New function to initialize socket support and make
initial std handles non-inheritable. Also ensure stdin, stdout
and stderr have valid handles so that pipes and sockets can't
inadvertently use fd 0, 1, or 2.
@@ -1206,7 +1206,7 @@
* ntinevt.c (win32_kdb_patch_key): Initialize isdead.
(key_event) [HAVE_NTGUI]: Use Windows key code.
- * ntproc.c: Include config.h after CRT headers. Include fcntl.h.
+ * ntproc.c: Include config.h after CRT headers. Include fcntl.h.
(child_process, MAX_CHILDREN, CHILD_ACTIVE): Moved to nt.h.
(DebugPrint): New macro.
(new_child): Create input event structures for child processes.
@@ -1440,7 +1440,7 @@
Correctly detect when default_directory is absolute.
Be strict when looking for MSDOS drive specifier; defer calling
getdefdir. Ignore drive specifier if name now has UNC prefix.
- Correctly recognise if name is not absolute when trying simple
+ Correctly recognize if name is not absolute when trying simple
method to expand; return original string if possible.
Skip dir sep after ~ or ~user.
Use getpwnam instead of HOME for ~user on NT.
@@ -2580,7 +2580,7 @@
(win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box):
Use Get/ReleaseFrameDC.
(win32_update_begin): Regenerate palette if required.
- (w32_read_socket): Use FALSE. Handle WM_PALETTECHANGED.
+ (w32_read_socket): Use FALSE. Handle WM_PALETTECHANGED.
(win32_term_init): Use GetDC directly.
Enable palette in display structure.
Predefine white and black.
@@ -4501,7 +4501,7 @@
* msdos.c (putchar): Call internal_flush instead of _flsbuf.
(DO_TERMSCRIPT): New macro to support open-termscript.
(internal_flush): Corrected handling of flush in middle of
- escape sequences. Handle screen width > 127.
+ escape sequences. Handle screen width > 127.
(flush_escape): New function for use by internal_flush.
(sys_select): New MS-DOS specific version with us timing.
(EMACSCOLORS): New environment variable.
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7
index 73d0d45e9c1..fc97acdeb1e 100644
--- a/src/ChangeLog.7
+++ b/src/ChangeLog.7
@@ -5774,7 +5774,7 @@
(w32_initialize): Set input mode. Use w32_msg_worker instead
of windows_msg_worker. Dynamically link proportional scroll bar
- functions and intialize proportional scroll bar variables.
+ functions and initialize proportional scroll bar variables.
(syms_of_w32term): DEFVAR new variables.
* w32term.h (w32_output): New fields menubar_widget, menubar_active,
@@ -10963,7 +10963,7 @@
1996-08-28 Morten Welinder <terra@diku.dk>
* minibuf.c (Vhistory_length, Qhistory_length): New variables.
- (syms_of_minibuf): Register and initialise these.
+ (syms_of_minibuf): Register and initialize these.
(read_minibuf): Truncate history list if needed.
1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8
index 00e4a1f62c8..6a48b09e64b 100644
--- a/src/ChangeLog.8
+++ b/src/ChangeLog.8
@@ -2723,7 +2723,7 @@
(CURSOR_FACE_ID, MOUSE_FACE_ID): New.
* xfaces.c (Qscroll_bar, Qcursor, Qborder, Qmouse): New.
- (syms_of_xfaces): Intialize new symbols.
+ (syms_of_xfaces): Initialize new symbols.
* fns.c (Fmakehash): Take one argument, test, make all the
rest keyword arguments.
@@ -5409,7 +5409,7 @@
1998-11-10 Gerd Moellmann <gerd@gnu.org>
- * xrdb.c (x_load_resources): Add grey background colors as
+ * xrdb.c (x_load_resources): Add gray background colors as
defaults for menus, scroll bars, and dialogs.
* insdel.c (prepare_to_modify_buffer): Move setting
@@ -8018,7 +8018,7 @@
* xterm.c (x_scroll_run): Renamed from do_line_dance.
- * xdisp.c (redisplay_window): For window-based redisplay, alway
+ * xdisp.c (redisplay_window): For window-based redisplay, always
try try_window_id.
* xterm.c (struct glyph_string): New member two_byte_p that is
@@ -9227,7 +9227,7 @@
* xdisp.c (store_frame_title_char): New function to store a
single character for the frame title with re-allocation of
frame_title_buf.
- (init_xdisp): Intialize frame_title_.* variables to null.
+ (init_xdisp): Initialize frame_title_.* variables to null.
* dispnew.c (quit_error_check): Removed.
@@ -12321,7 +12321,7 @@
(enumfont_t): Remove unused head pointer.
(enum_font_cb2): Dereference elfLogFont.
(w32_list_bdf_fonts): New function.
- (w32_list_fonts): Use one_w32_dispay_info instead of insisting on
+ (w32_list_fonts): Use one_w32_display_info instead of insisting on
valid frame. Remove MessageBox. Support BDF fonts.
(Fw32_find_bdf_fonts): New function.
(syms_of_w32fns): Add Vw32_bdf_filename_alist and
@@ -12583,7 +12583,7 @@
quit_char is typed, in order to break out of potential deadlocks.
(cancel_all_deferred_msgs): New function.
(complete_deferred_msg): Don't abort if msg not found; may have
- been cancelled.
+ been canceled.
(Fw32_reconstruct_hot_key): Use pre-interned symbols.
(Fw32_send_sys_command): Wait for system command to
complete before returning.
@@ -12766,7 +12766,7 @@
1998-12-08 Geoff Voelker <voelker@cs.washington.edu>
- * makefile.nt: Do string comparision of _NMAKE_VER.
+ * makefile.nt: Do string comparison of _NMAKE_VER.
1998-12-06 Eli Zaretskii <eliz@mescaline.gnu.org>
@@ -13266,7 +13266,7 @@
* charset.c (Fchar_bytes): Doc fix.
(char_bytes): Fix returned value to match returned type.
- (syms_of_charset): Fix type clash in initialisation of
+ (syms_of_charset): Fix type clash in initialization of
Vauto_fill_chars.
1998-10-29 Geoff Voelker <voelker@cs.washington.edu>
@@ -13429,7 +13429,7 @@
`x-list-fonts.c'.
(w32_get_font_info, w32_query_font, w32_find_ccl_program): New
functions for fontset support - adapted from x_ equivalents.
- (syms_of_w32fns): New lisp variables initialised. Function
+ (syms_of_w32fns): New lisp variables initialized. Function
pointers for fontset.c set up.
* w32term.c: Include fontset.h. Define codepage macros.
@@ -13701,7 +13701,7 @@
* ccl.c (CCL_WRITE_CHAR): Don't use bcopy.
(ccl_driver): If BUFFER-MAGNIFICATION of the CCL program is 0,
cause error if the program is going to output some bytes. When
- outputing a string to notify an error, check the case that
+ outputting a string to notify an error, check the case that
DST_BYTES is zero.
* coding.h (CODING_FINISH_INTERRUPT): New macro.
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9
index 9e7bd24f792..6e3a8d8ab3b 100644
--- a/src/ChangeLog.9
+++ b/src/ChangeLog.9
@@ -3479,7 +3479,7 @@
a workaround for SunOS 4's cc.
(CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
(CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
- (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
+ (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessary "do"
statement.
2001-01-23 Gerd Moellmann <gerd@gnu.org>
@@ -5150,7 +5150,7 @@
2000-11-27 Jason Rumney <jasonr@gnu.org>
* w32fns.c (w32_load_system_font): Always mark font as double byte
- if codepage is unicode.
+ if codepage is Unicode.
2000-11-27 Gerd Moellmann <gerd@gnu.org>
diff --git a/src/alloc.c b/src/alloc.c
index f21f0b4fa3a..84a84df3597 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -203,9 +203,6 @@ static int malloc_hysteresis;
remapping on more recent systems because this is less important
nowadays than in the days of small memories and timesharing. */
-#ifndef VIRT_ADDR_VARIES
-static
-#endif
EMACS_INT pure[(PURESIZE + sizeof (EMACS_INT) - 1) / sizeof (EMACS_INT)] = {1,};
#define PUREBEG (char *) pure
@@ -222,10 +219,7 @@ static ptrdiff_t pure_bytes_used_before_overflow;
/* Value is non-zero if P points into pure space. */
#define PURE_POINTER_P(P) \
- (((PNTR_COMPARISON_TYPE) (P) \
- < (PNTR_COMPARISON_TYPE) ((char *) purebeg + pure_size)) \
- && ((PNTR_COMPARISON_TYPE) (P) \
- >= (PNTR_COMPARISON_TYPE) purebeg))
+ ((uintptr_t) (P) - (uintptr_t) purebeg <= pure_size)
/* Index in pure at which next pure Lisp object will be allocated.. */
diff --git a/src/bidi.c b/src/bidi.c
index e8f2df89a9e..bd78a5eff29 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -51,7 +51,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
A note about references to UAX#9 rules: if the reference says
something like "X9/Retaining", it means that you need to refer to
- rule X9 and to its modifications decribed in the "Implementation
+ rule X9 and to its modifications described in the "Implementation
Notes" section of UAX#9, under "Retaining Format Codes". */
#include <config.h>
diff --git a/src/buffer.c b/src/buffer.c
index f1ce9f4ec47..afa7e915429 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1526,7 +1526,13 @@ with SIGHUP. */)
UNGCPRO;
}
- /* Make this buffer not be current.
+ /* Run replace_buffer_in_windows before making another buffer current
+ since set-window-buffer-start-and-point will refuse to make another
+ buffer current if the selected window does not show the current
+ buffer. (Bug#10114) */
+ replace_buffer_in_windows (buffer);
+
+ /* Make this buffer not be current.
In the process, notice if this is the sole visible buffer
and give up if so. */
if (b == current_buffer)
@@ -1566,7 +1572,6 @@ with SIGHUP. */)
/* These may run Lisp code and into infinite loops (if someone
insisted on circular lists) so allow quitting here. */
- replace_buffer_in_windows (buffer);
frames_discard_buffer (buffer);
clear_charpos_cache (b);
@@ -1626,7 +1631,7 @@ with SIGHUP. */)
/* Reset the local variables, so that this buffer's local values
won't be protected from GC. They would be protected
- if they happened to remain encached in their symbols.
+ if they happened to remain cached in their symbols.
This gets rid of them for certain. */
swap_out_buffer_local_variables (b);
reset_buffer_local_variables (b, 1);
@@ -2480,7 +2485,7 @@ swap_out_buffer_local_variables (struct buffer *b)
Lisp_Object sym = XCAR (XCAR (alist));
eassert (XSYMBOL (sym)->redirect == SYMBOL_LOCALIZED);
/* Need not do anything if some other buffer's binding is
- now encached. */
+ now cached. */
if (EQ (SYMBOL_BLV (XSYMBOL (sym))->where, buffer))
{
/* Symbol is set up for this buffer's old local value:
@@ -4399,7 +4404,7 @@ static int mmap_fd_1;
static int mmap_page_size;
-/* 1 means mmap has been intialized. */
+/* 1 means mmap has been initialized. */
static int mmap_initialized_p;
@@ -4438,7 +4443,7 @@ static int mmap_initialized_p;
#define MMAP_ALLOCATED_P(start, end) 1
#endif
-/* Perform necessary intializations for the use of mmap. */
+/* Perform necessary initializations for the use of mmap. */
static void
mmap_init (void)
diff --git a/src/buffer.h b/src/buffer.h
index 323c85a0c77..e2d4b555e11 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -978,7 +978,7 @@ extern int last_per_buffer_idx;
variable has an index > 0 associated with it, except when it always
has buffer-local values, in which case the index is -1. If this is
0, this is a bug and means that the slot of VAR in
- buffer_local_flags wasn't intiialized. */
+ buffer_local_flags wasn't initialized. */
#define PER_BUFFER_VAR_IDX(VAR) \
PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR))
diff --git a/src/callint.c b/src/callint.c
index 5eb824b8c74..444892ef9cb 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -78,7 +78,7 @@ c -- Character (no input method is used).
C -- Command name: symbol with interactive function definition.
d -- Value of point as number. Does not do I/O.
D -- Directory name.
-e -- Parametrized event (i.e., one that's a list) that invoked this command.
+e -- Parameterized event (i.e., one that's a list) that invoked this command.
If used more than once, the Nth `e' returns the Nth parameterized event.
This skips events that are integers or symbols.
f -- Existing file name.
diff --git a/src/casetab.c b/src/casetab.c
index 64e47859d9b..8778048072c 100644
--- a/src/casetab.c
+++ b/src/casetab.c
@@ -95,7 +95,7 @@ CANONICALIZE maps each character to a canonical equivalent;
any two characters that are related by case-conversion have the same
canonical equivalent character; it may be nil, in which case it is
deduced from DOWNCASE and UPCASE.
-EQUIVALENCES is a map that cyclicly permutes each equivalence class
+EQUIVALENCES is a map that cyclically permutes each equivalence class
(of characters with the same canonical equivalent); it may be nil,
in which case it is deduced from CANONICALIZE. */)
(Lisp_Object table)
diff --git a/src/ccl.c b/src/ccl.c
index 97fca3bb032..1c6f444920c 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -47,7 +47,7 @@ static Lisp_Object Qcode_conversion_map;
static Lisp_Object Qcode_conversion_map_id;
/* Symbols of ccl program have this property, a value of the property
- is an index for Vccl_protram_table. */
+ is an index for Vccl_program_table. */
static Lisp_Object Qccl_program_idx;
/* Table of registered CCL programs. Each element is a vector of
@@ -552,7 +552,7 @@ static Lisp_Object Vccl_program_table;
But, when VALm is mapped to VALn and VALn is not a number, the
mapping proceed as below:
- If VALn is nil, the lastest map is ignored and the mapping of VALm
+ If VALn is nil, the last map is ignored and the mapping of VALm
proceed to the next map.
In VALn is t, VALm is reverted to reg[rrr] and the mapping of VALm
@@ -561,7 +561,7 @@ static Lisp_Object Vccl_program_table;
If VALn is lambda, move to the next map set like reaching to the
end of the current map set.
- If VALn is a symbol, call the CCL program refered by it.
+ If VALn is a symbol, call the CCL program referred by it.
Then, use reg[rrr] as a mapped value except for -1, -2 and -3.
Such special values are regarded as nil, t, and lambda respectively.
@@ -823,7 +823,7 @@ while (0)
: (charset = CHARSET_FROM_ID ((id)), DECODE_CHAR (charset, (code))))
/* Encode character C by some of charsets in CHARSET_LIST. Set ID to
- the id of the used charset, ENCODED to the resulf of encoding.
+ the id of the used charset, ENCODED to the result of encoding.
Assume that we can use the variable `charset'. */
#define CCL_ENCODE_CHAR(c, charset_list, id, encoded) \
diff --git a/src/character.c b/src/character.c
index d5d89381aaf..5e2a7b9461c 100644
--- a/src/character.c
+++ b/src/character.c
@@ -670,7 +670,7 @@ str_as_multibyte (unsigned char *str, ptrdiff_t len, ptrdiff_t nbytes,
}
/* Parse unibyte string at STR of LEN bytes, and return the number of
- bytes it may ocupy when converted to multibyte string by
+ bytes it may occupy when converted to multibyte string by
`str_to_multibyte'. */
ptrdiff_t
diff --git a/src/character.h b/src/character.h
index 2e1372eaf94..cc76ab213fc 100644
--- a/src/character.h
+++ b/src/character.h
@@ -596,7 +596,7 @@ sanitize_char_width (EMACS_INT width)
? ASCII_CHAR_WIDTH (c) \
: sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c))))
-/* If C is a variation selector, return the index numnber of the
+/* If C is a variation selector, return the index of the
variation selector (1..256). Otherwise, return 0. */
#define CHAR_VARIATION_SELECTOR_P(c) \
diff --git a/src/charset.c b/src/charset.c
index 8f16771b855..ec90a64341e 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -167,9 +167,9 @@ static struct
maximum character of the current charset. */
int min_char, max_char;
- /* A Unicode character correspoinding to the code indice 0 (i.e. the
+ /* A Unicode character corresponding to the code index 0 (i.e. the
minimum code-point) of the current charset, or -1 if the code
- indice 0 is not a Unicode character. This is checked when
+ index 0 is not a Unicode character. This is checked when
table.encoder[CHAR] is zero. */
int zero_index_char;
@@ -2074,7 +2074,7 @@ that case, find the charset from what supported by that coding system. */)
DEFUN ("charset-after", Fcharset_after, Scharset_after, 0, 1, 0,
doc: /*
Return charset of a character in the current buffer at position POS.
-If POS is nil, it defauls to the current point.
+If POS is nil, it defaults to the current point.
If POS is out of range, the value is nil. */)
(Lisp_Object pos)
{
diff --git a/src/chartab.c b/src/chartab.c
index c3dd1fe5b15..e1252962612 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -747,7 +747,7 @@ equivalent and can be merged. It defaults to `equal'. */)
ARG is passed to C_FUNCTION when that is called.
It returns the value of last character covered by TABLE (not the
- value inheritted from the parent), and by side-effect, the car part
+ value inherited from the parent), and by side-effect, the car part
of RANGE is updated to the minimum character C where C and all the
following characters in TABLE have the same value. */
diff --git a/src/cm.h b/src/cm.h
index 8f23990ce55..a8c7e0d7c4b 100644
--- a/src/cm.h
+++ b/src/cm.h
@@ -16,7 +16,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-/* Holds the minimum and maximum costs for the parametrized capabilities. */
+/* Holds the minimum and maximum costs for the parameterized capabilities. */
struct parmcap
{
int mincost, maxcost;
@@ -66,7 +66,7 @@ struct cm
location */
unsigned int cm_autolf:1; /* \r performs a \r\n (rn) */
- /* Parametrized capabilities. This needs to be a struct since
+ /* Parameterized capabilities. This needs to be a struct since
the costs are accessed through pointers. */
#if 0
@@ -79,7 +79,7 @@ struct cm
struct parmcap cc_multiright; /* multiple right (RI) */
#endif
- /* Costs for the non-parametrized capabilities */
+ /* Costs for the non-parameterized capabilities */
int cc_up; /* cost for up */
int cc_down; /* etc. */
int cc_left;
diff --git a/src/coding.c b/src/coding.c
index b0dfc498add..74cf232cfb2 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -847,16 +847,16 @@ static int encode_coding_ccl (struct coding_system *);
static void decode_coding_raw_text (struct coding_system *);
static int encode_coding_raw_text (struct coding_system *);
-static void coding_set_source (struct coding_system *);
-static void coding_set_destination (struct coding_system *);
+static ptrdiff_t coding_set_source (struct coding_system *);
+static ptrdiff_t coding_set_destination (struct coding_system *);
static void coding_alloc_by_realloc (struct coding_system *, ptrdiff_t);
static void coding_alloc_by_making_gap (struct coding_system *,
ptrdiff_t, ptrdiff_t);
static unsigned char *alloc_destination (struct coding_system *,
ptrdiff_t, unsigned char *);
static void setup_iso_safe_charsets (Lisp_Object);
-static unsigned char *encode_designation_at_bol (struct coding_system *,
- int *, unsigned char *);
+static int encode_designation_at_bol (struct coding_system *,
+ int *, int *, unsigned char *);
static int detect_eol (const unsigned char *,
ptrdiff_t, enum coding_category);
static Lisp_Object adjust_coding_eol_type (struct coding_system *, int);
@@ -915,27 +915,68 @@ record_conversion_result (struct coding_system *coding,
}
}
-/* This wrapper macro is used to preserve validity of pointers into
- buffer text across calls to decode_char, which could cause
- relocation of buffers if it loads a charset map, because loading a
- charset map allocates large structures. */
+/* These wrapper macros are used to preserve validity of pointers into
+ buffer text across calls to decode_char, encode_char, etc, which
+ could cause relocation of buffers if it loads a charset map,
+ because loading a charset map allocates large structures. */
+
#define CODING_DECODE_CHAR(coding, src, src_base, src_end, charset, code, c) \
do { \
+ ptrdiff_t offset; \
+ \
charset_map_loaded = 0; \
c = DECODE_CHAR (charset, code); \
- if (charset_map_loaded) \
+ if (charset_map_loaded \
+ && (offset = coding_set_source (coding))) \
{ \
- const unsigned char *orig = coding->source; \
- ptrdiff_t offset; \
- \
- coding_set_source (coding); \
- offset = coding->source - orig; \
src += offset; \
src_base += offset; \
src_end += offset; \
} \
} while (0)
+#define CODING_ENCODE_CHAR(coding, dst, dst_end, charset, c, code) \
+ do { \
+ ptrdiff_t offset; \
+ \
+ charset_map_loaded = 0; \
+ code = ENCODE_CHAR (charset, c); \
+ if (charset_map_loaded \
+ && (offset = coding_set_destination (coding))) \
+ { \
+ dst += offset; \
+ dst_end += offset; \
+ } \
+ } while (0)
+
+#define CODING_CHAR_CHARSET(coding, dst, dst_end, c, charset_list, code_return, charset) \
+ do { \
+ ptrdiff_t offset; \
+ \
+ charset_map_loaded = 0; \
+ charset = char_charset (c, charset_list, code_return); \
+ if (charset_map_loaded \
+ && (offset = coding_set_destination (coding))) \
+ { \
+ dst += offset; \
+ dst_end += offset; \
+ } \
+ } while (0)
+
+#define CODING_CHAR_CHARSET_P(coding, dst, dst_end, c, charset, result) \
+ do { \
+ ptrdiff_t offset; \
+ \
+ charset_map_loaded = 0; \
+ result = CHAR_CHARSET_P (c, charset); \
+ if (charset_map_loaded \
+ && (offset = coding_set_destination (coding))) \
+ { \
+ dst += offset; \
+ dst_end += offset; \
+ } \
+ } while (0)
+
/* If there are at least BYTES length of room at dst, allocate memory
for coding->destination and update dst and dst_end. We don't have
@@ -1015,9 +1056,14 @@ record_conversion_result (struct coding_system *coding,
| ((p)[-1] & 0x3F))))
-static void
+/* Update coding->source from coding->src_object, and return how many
+ bytes coding->source was changed. */
+
+static ptrdiff_t
coding_set_source (struct coding_system *coding)
{
+ const unsigned char *orig = coding->source;
+
if (BUFFERP (coding->src_object))
{
struct buffer *buf = XBUFFER (coding->src_object);
@@ -1036,11 +1082,18 @@ coding_set_source (struct coding_system *coding)
/* Otherwise, the source is C string and is never relocated
automatically. Thus we don't have to update anything. */
}
+ return coding->source - orig;
}
-static void
+
+/* Update coding->destination from coding->dst_object, and return how
+ many bytes coding->destination was changed. */
+
+static ptrdiff_t
coding_set_destination (struct coding_system *coding)
{
+ const unsigned char *orig = coding->destination;
+
if (BUFFERP (coding->dst_object))
{
if (BUFFERP (coding->src_object) && coding->src_pos < 0)
@@ -1065,6 +1118,7 @@ coding_set_destination (struct coding_system *coding)
/* Otherwise, the destination is C string and is never relocated
automatically. Thus we don't have to update anything. */
}
+ return coding->destination - orig;
}
@@ -2650,14 +2704,19 @@ encode_coding_emacs_mule (struct coding_system *coding)
if (preferred_charset_id >= 0)
{
+ int result;
+
charset = CHARSET_FROM_ID (preferred_charset_id);
- if (CHAR_CHARSET_P (c, charset))
+ CODING_CHAR_CHARSET_P (coding, dst, dst_end, c, charset, result);
+ if (result)
code = ENCODE_CHAR (charset, c);
else
- charset = char_charset (c, charset_list, &code);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ &code, charset);
}
else
- charset = char_charset (c, charset_list, &code);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ &code, charset);
if (! charset)
{
c = coding->default_char;
@@ -2666,7 +2725,8 @@ encode_coding_emacs_mule (struct coding_system *coding)
EMIT_ONE_ASCII_BYTE (c);
continue;
}
- charset = char_charset (c, charset_list, &code);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ &code, charset);
}
dimension = CHARSET_DIMENSION (charset);
emacs_mule_id = CHARSET_EMACS_MULE_ID (charset);
@@ -4185,7 +4245,8 @@ decode_coding_iso_2022 (struct coding_system *coding)
#define ENCODE_ISO_CHARACTER(charset, c) \
do { \
- unsigned code = ENCODE_CHAR ((charset), (c)); \
+ unsigned code; \
+ CODING_ENCODE_CHAR (coding, dst, dst_end, (charset), (c), code); \
\
if (CHARSET_DIMENSION (charset) == 1) \
ENCODE_ISO_CHARACTER_DIMENSION1 ((charset), code); \
@@ -4283,15 +4344,19 @@ encode_invocation_designation (struct charset *charset,
/* Produce designation sequences of charsets in the line started from
- SRC to a place pointed by DST, and return updated DST.
+ CHARBUF to a place pointed by DST, and return the number of
+ produced bytes. DST should not directly point a buffer text area
+ which may be relocated by char_charset call.
If the current block ends before any end-of-line, we may fail to
find all the necessary designations. */
-static unsigned char *
-encode_designation_at_bol (struct coding_system *coding, int *charbuf,
+static int
+encode_designation_at_bol (struct coding_system *coding,
+ int *charbuf, int *charbuf_end,
unsigned char *dst)
{
+ unsigned char *orig = dst;
struct charset *charset;
/* Table of charsets to be designated to each graphic register. */
int r[4];
@@ -4309,7 +4374,7 @@ encode_designation_at_bol (struct coding_system *coding, int *charbuf,
for (reg = 0; reg < 4; reg++)
r[reg] = -1;
- while (found < 4)
+ while (charbuf < charbuf_end && found < 4)
{
int id;
@@ -4334,7 +4399,7 @@ encode_designation_at_bol (struct coding_system *coding, int *charbuf,
ENCODE_DESIGNATION (CHARSET_FROM_ID (r[reg]), reg, coding);
}
- return dst;
+ return dst - orig;
}
/* See the above "GENERAL NOTES on `encode_coding_XXX ()' functions". */
@@ -4378,13 +4443,26 @@ encode_coding_iso_2022 (struct coding_system *coding)
if (bol_designation)
{
- unsigned char *dst_prev = dst;
-
/* We have to produce designation sequences if any now. */
- dst = encode_designation_at_bol (coding, charbuf, dst);
- bol_designation = 0;
+ unsigned char desig_buf[16];
+ int nbytes;
+ ptrdiff_t offset;
+
+ charset_map_loaded = 0;
+ nbytes = encode_designation_at_bol (coding, charbuf, charbuf_end,
+ desig_buf);
+ if (charset_map_loaded
+ && (offset = coding_set_destination (coding)))
+ {
+ dst += offset;
+ dst_end += offset;
+ }
+ memcpy (dst, desig_buf, nbytes);
+ dst += nbytes;
/* We are sure that designation sequences are all ASCII bytes. */
- produced_chars += dst - dst_prev;
+ produced_chars += nbytes;
+ bol_designation = 0;
+ ASSURE_DESTINATION (safe_room);
}
c = *charbuf++;
@@ -4455,12 +4533,17 @@ encode_coding_iso_2022 (struct coding_system *coding)
if (preferred_charset_id >= 0)
{
+ int result;
+
charset = CHARSET_FROM_ID (preferred_charset_id);
- if (! CHAR_CHARSET_P (c, charset))
- charset = char_charset (c, charset_list, NULL);
+ CODING_CHAR_CHARSET_P (coding, dst, dst_end, c, charset, result);
+ if (! result)
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ NULL, charset);
}
else
- charset = char_charset (c, charset_list, NULL);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ NULL, charset);
if (!charset)
{
if (coding->mode & CODING_MODE_SAFE_ENCODING)
@@ -4471,7 +4554,8 @@ encode_coding_iso_2022 (struct coding_system *coding)
else
{
c = coding->default_char;
- charset = char_charset (c, charset_list, NULL);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c,
+ charset_list, NULL, charset);
}
}
ENCODE_ISO_CHARACTER (charset, c);
@@ -4897,7 +4981,9 @@ encode_coding_sjis (struct coding_system *coding)
else
{
unsigned code;
- struct charset *charset = char_charset (c, charset_list, &code);
+ struct charset *charset;
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ &code, charset);
if (!charset)
{
@@ -4909,7 +4995,8 @@ encode_coding_sjis (struct coding_system *coding)
else
{
c = coding->default_char;
- charset = char_charset (c, charset_list, &code);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c,
+ charset_list, &code, charset);
}
}
if (code == CHARSET_INVALID_CODE (charset))
@@ -4984,7 +5071,9 @@ encode_coding_big5 (struct coding_system *coding)
else
{
unsigned code;
- struct charset *charset = char_charset (c, charset_list, &code);
+ struct charset *charset;
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ &code, charset);
if (! charset)
{
@@ -4996,7 +5085,8 @@ encode_coding_big5 (struct coding_system *coding)
else
{
c = coding->default_char;
- charset = char_charset (c, charset_list, &code);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c,
+ charset_list, &code, charset);
}
}
if (code == CHARSET_INVALID_CODE (charset))
@@ -5154,7 +5244,7 @@ encode_coding_ccl (struct coding_system *coding)
&& coding->mode & CODING_MODE_LAST_BLOCK)
ccl->last_block = 1;
- while (charbuf < charbuf_end)
+ do
{
ccl_driver (ccl, charbuf, destination_charbuf,
charbuf_end - charbuf, 1024, charset_list);
@@ -5176,6 +5266,7 @@ encode_coding_ccl (struct coding_system *coding)
|| ccl->status == CCL_STAT_INVALID_CMD)
break;
}
+ while (charbuf < charbuf_end);
switch (ccl->status)
{
@@ -5572,7 +5663,9 @@ encode_coding_charset (struct coding_system *coding)
}
else
{
- charset = char_charset (c, charset_list, &code);
+ CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list,
+ &code, charset);
+
if (charset)
{
if (CHARSET_DIMENSION (charset) == 1)
@@ -9207,7 +9300,7 @@ frame's terminal device. */)
= TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1));
Lisp_Object coding_system = CODING_ID_NAME (terminal_coding->id);
- /* For backward compatibility, return nil if it is `undecided'. */
+ /* For backward compatibility, return nil if it is `undecided'. */
return (! EQ (coding_system, Qundecided) ? coding_system : Qnil);
}
diff --git a/src/coding.h b/src/coding.h
index 2165fa23712..711e41ed5b8 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -457,7 +457,7 @@ struct coding_system
/* Number of error source data found in a decoding routine. */
int errors;
- /* Store the positions of error source data. */
+ /* Store the positions of error source data. */
ptrdiff_t *error_positions;
/* Finish status of code conversion. */
diff --git a/src/data.c b/src/data.c
index 7b30e91b12f..2337b0a4952 100644
--- a/src/data.c
+++ b/src/data.c
@@ -839,7 +839,7 @@ do_symval_forwarding (register union Lisp_Fwd *valcontents)
case Lisp_Fwd_Kboard_Obj:
/* We used to simply use current_kboard here, but from Lisp
- code, it's value is often unexpected. It seems nicer to
+ code, its value is often unexpected. It seems nicer to
allow constructions like this to work as intuitively expected:
(with-selected-frame frame
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 352f2fc1ff8..7801ec259bb 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -184,7 +184,7 @@ static int xd_in_read_queued_messages = 0;
#endif
/* This was a macro. On Solaris 2.11 it was said to compile for
- hours, when optimzation is enabled. So we have transferred it into
+ hours, when optimization is enabled. So we have transferred it into
a function. */
/* Determine the DBusType of a given Lisp symbol. OBJECT must be one
of the predefined D-Bus type symbols. */
diff --git a/src/dired.c b/src/dired.c
index 3a3adfb5082..1d112db8a93 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -229,11 +229,11 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, Lisp_Object m
ptrdiff_t len;
int wanted = 0;
Lisp_Object name, finalname;
- struct gcpro inner_gcpro1, inner_gcpro2;
+ struct gcpro gcpro1, gcpro2;
len = NAMLEN (dp);
name = finalname = make_unibyte_string (dp->d_name, len);
- GCPRO2_VAR (finalname, name, inner_gcpro);
+ GCPRO2 (finalname, name);
/* Note: DECODE_FILE can GC; it should protect its argument,
though. */
@@ -289,23 +289,23 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, Lisp_Object m
/* Construct an expanded filename for the directory entry.
Use the decoded names for input to Ffile_attributes. */
Lisp_Object decoded_fullname, fileattrs;
- struct gcpro innermost_gcpro1, innermost_gcpro2;
+ struct gcpro gcpro1, gcpro2;
decoded_fullname = fileattrs = Qnil;
- GCPRO2_VAR (decoded_fullname, fileattrs, innermost_gcpro);
+ GCPRO2 (decoded_fullname, fileattrs);
/* Both Fexpand_file_name and Ffile_attributes can GC. */
decoded_fullname = Fexpand_file_name (name, directory);
fileattrs = Ffile_attributes (decoded_fullname, id_format);
list = Fcons (Fcons (finalname, fileattrs), list);
- UNGCPRO_VAR (innermost_gcpro);
+ UNGCPRO;
}
else
list = Fcons (finalname, list);
}
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
}
}
@@ -673,11 +673,11 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
if (!NILP (predicate))
{
Lisp_Object val;
- struct gcpro inner_gcpro1;
+ struct gcpro gcpro1;
- GCPRO1_VAR (name, inner_gcpro);
+ GCPRO1 (name);
val = call1 (predicate, name);
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
if (NILP (val))
continue;
diff --git a/src/dispextern.h b/src/dispextern.h
index ccb85e7422e..9d5feea6024 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -405,7 +405,7 @@ struct glyph
{
/* Metrics of a partial glyph of an image (type == IMAGE_GLYPH). */
struct glyph_slice img;
- /* Start and end indices of glyphs of a graphme cluster of a
+ /* Start and end indices of glyphs of a grapheme cluster of a
composition (type == COMPOSITE_GLYPH). */
struct { int from, to; } cmp;
/* Pixel offsets for upper and lower part of the acronym. */
@@ -2649,11 +2649,11 @@ struct redisplay_interface
void (*flush_display) (struct frame *f);
/* Flush the display of frame F if non-NULL. This is called
- during redisplay, and should be NULL on systems which flushes
+ during redisplay, and should be NULL on systems which flush
automatically before reading input. */
void (*flush_display_optional) (struct frame *f);
- /* Clear the mouse hightlight in window W, if there is any. */
+ /* Clear the mouse highlight in window W, if there is any. */
void (*clear_window_mouse_face) (struct window *w);
/* Set *LEFT and *RIGHT to the left and right overhang of GLYPH on
@@ -3127,9 +3127,7 @@ void w32_init_fringe (struct redisplay_interface *);
void w32_reset_fringes (void);
#endif
-#if XASSERTS
extern unsigned row_hash (struct glyph_row *);
-#endif
/* Defined in image.c */
diff --git a/src/dispnew.c b/src/dispnew.c
index 88f75414074..e53e3fdf80d 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -431,7 +431,7 @@ margin_glyphs_to_reserve (struct window *w, int total_glyphs, Lisp_Object margin
#if XASSERTS
/* Return non-zero if ROW's hash value is correct, zero if not. */
-static int
+int
verify_row_hash (struct glyph_row *row)
{
return row->hash == row_hash (row);
@@ -608,7 +608,6 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
row->glyphs[LAST_AREA]
= row->glyphs[LEFT_MARGIN_AREA] + dim.width;
}
- xassert (!row->enabled_p || verify_row_hash (row));
++row;
}
}
@@ -3575,12 +3574,11 @@ update_window (struct window *w, int force_p)
rif->update_window_begin_hook (w);
yb = window_text_bottom_y (w);
-
- /* If window has a header line, update it before everything else.
- Adjust y-positions of other rows by the header line height. */
row = desired_matrix->rows;
end = row + desired_matrix->nrows - 1;
+ /* Take note of the header line, if there is one. We will
+ update it below, after updating all of the window's lines. */
if (row->mode_line_p)
{
header_line_row = row;
@@ -3625,6 +3623,8 @@ update_window (struct window *w, int force_p)
/* Update the rest of the lines. */
for (; row < end && (force_p || !input_pending); ++row)
+ /* scrolling_window resets the enabled_p flag of the rows it
+ reuses from current_matrix. */
if (row->enabled_p)
{
int vpos = MATRIX_ROW_VPOS (row, desired_matrix);
@@ -4550,18 +4550,69 @@ scrolling_window (struct window *w, int header_line_p)
{
rif->clear_window_mouse_face (w);
rif->scroll_run_hook (w, r);
+ }
- /* Invalidate runs that copy from where we copied to. */
- for (j = i + 1; j < nruns; ++j)
+ /* Truncate runs that copy to where we copied to, and
+ invalidate runs that copy from where we copied to. */
+ for (j = nruns - 1; j > i; --j)
+ {
+ struct run *p = runs[j];
+ int truncated_p = 0;
+
+ if (p->nrows > 0
+ && p->desired_y < r->desired_y + r->height
+ && p->desired_y + p->height > r->desired_y)
{
- struct run *p = runs[j];
+ if (p->desired_y < r->desired_y)
+ {
+ p->nrows = r->desired_vpos - p->desired_vpos;
+ p->height = r->desired_y - p->desired_y;
+ truncated_p = 1;
+ }
+ else
+ {
+ int nrows_copied = (r->desired_vpos + r->nrows
+ - p->desired_vpos);
+
+ if (p->nrows <= nrows_copied)
+ p->nrows = 0;
+ else
+ {
+ int height_copied = (r->desired_y + r->height
+ - p->desired_y);
+
+ p->current_vpos += nrows_copied;
+ p->desired_vpos += nrows_copied;
+ p->nrows -= nrows_copied;
+ p->current_y += height_copied;
+ p->desired_y += height_copied;
+ p->height -= height_copied;
+ truncated_p = 1;
+ }
+ }
+ }
- if ((p->current_y >= r->desired_y
+ if (r->current_y != r->desired_y
+ /* The condition below is equivalent to
+ ((p->current_y >= r->desired_y
&& p->current_y < r->desired_y + r->height)
- || (p->current_y + p->height >= r->desired_y
+ || (p->current_y + p->height > r->desired_y
&& (p->current_y + p->height
- < r->desired_y + r->height)))
- p->nrows = 0;
+ <= r->desired_y + r->height)))
+ because we have 0 < p->height <= r->height. */
+ && p->current_y < r->desired_y + r->height
+ && p->current_y + p->height > r->desired_y)
+ p->nrows = 0;
+
+ /* Reorder runs by copied pixel lines if truncated. */
+ if (truncated_p && p->nrows > 0)
+ {
+ int k = nruns - 1;
+
+ while (runs[k]->nrows == 0 || runs[k]->height < p->height)
+ k--;
+ memmove (runs + j, runs + j + 1, (k - j) * sizeof (*runs));
+ runs[k] = p;
}
}
@@ -4576,7 +4627,14 @@ scrolling_window (struct window *w, int header_line_p)
to_overlapped_p = to->overlapped_p;
from->redraw_fringe_bitmaps_p = from->fringe_bitmap_periodic_p;
assign_row (to, from);
- to->enabled_p = 1, from->enabled_p = 0;
+ /* The above `assign_row' actually does swap, so if we had
+ an overlap in the copy destination of two runs, then
+ the second run would assign a previously disabled bogus
+ row. But thanks to the truncation code in the
+ preceding for-loop, we no longer have such an overlap,
+ and thus the assigned row should always be enabled. */
+ xassert (to->enabled_p);
+ from->enabled_p = 0;
to->overlapped_p = to_overlapped_p;
}
}
diff --git a/src/emacs.c b/src/emacs.c
index a5d2f619b8c..4c8d3298495 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -154,6 +154,8 @@ Lisp_Object Qfile_name_handler_alist;
Lisp_Object Qrisky_local_variable;
+Lisp_Object Qkill_emacs;
+
/* If non-zero, Emacs should not attempt to use a window-specific code,
but instead should use the virtual terminal under which it was started. */
int inhibit_window_system;
@@ -2399,6 +2401,7 @@ syms_of_emacs (void)
{
DEFSYM (Qfile_name_handler_alist, "file-name-handler-alist");
DEFSYM (Qrisky_local_variable, "risky-local-variable");
+ DEFSYM (Qkill_emacs, "kill-emacs");
#ifndef CANNOT_DUMP
defsubr (&Sdump_emacs);
diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
index aef1ffdf783..d9084bf9a98 100644
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -1,4 +1,4 @@
-/* A Gtk Widget that inherits GtkFixed, but can be shrinked.
+/* A Gtk Widget that inherits GtkFixed, but can be shrunk.
This file is only use when compiling with Gtk+ 3.
Copyright (C) 2011 Free Software Foundation, Inc.
diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h
index dbac136bd7f..c70e9a3efe3 100644
--- a/src/emacsgtkfixed.h
+++ b/src/emacsgtkfixed.h
@@ -1,4 +1,4 @@
-/* A Gtk Widget that inherits GtkFixed, but can be shrinked.
+/* A Gtk Widget that inherits GtkFixed, but can be shrunk.
This file is only use when compiling with Gtk+ 3.
Copyright (C) 2011 Free Software Foundation, Inc.
diff --git a/src/eval.c b/src/eval.c
index c6bf2ccef1d..b604df8f35b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1601,6 +1601,18 @@ static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object);
static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
Lisp_Object data);
+void
+process_quit_flag (void)
+{
+ Lisp_Object flag = Vquit_flag;
+ Vquit_flag = Qnil;
+ if (EQ (flag, Qkill_emacs))
+ Fkill_emacs (Qnil);
+ if (EQ (Vthrow_on_input, flag))
+ Fthrow (Vthrow_on_input, Qt);
+ Fsignal (Qquit, Qnil);
+}
+
DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0,
doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA.
This function does not return.
@@ -3701,7 +3713,7 @@ When lexical binding is not being used, this variable is nil.
A value of `(t)' indicates an empty environment, otherwise it is an
alist of active lexical bindings. */);
Vinternal_interpreter_environment = Qnil;
- /* Don't export this variable to Elisp, so noone can mess with it
+ /* Don't export this variable to Elisp, so no one can mess with it
(Just imagine if someone makes it buffer-local). */
Funintern (Qinternal_interpreter_environment, Qnil);
diff --git a/src/fileio.c b/src/fileio.c
index 110977b3a60..3139e634c80 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -62,7 +62,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef DOS_NT
/* On Windows, drive letters must be alphabetic - on DOS, the Netware
- redirector allows the six letters between 'Z' and 'a' as well. */
+ redirector allows the six letters between 'Z' and 'a' as well. */
#ifdef MSDOS
#define IS_DRIVE(x) ((x) >= 'A' && (x) <= 'z')
#endif
@@ -70,7 +70,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define IS_DRIVE(x) isalpha ((unsigned char) (x))
#endif
/* Need to lower-case the drive letter, or else expanded
- filenames will sometimes compare inequal, because
+ filenames will sometimes compare unequal, because
`expand-file-name' doesn't always down-case the drive letter. */
#define DRIVE_LETTER(x) (tolower ((unsigned char) (x)))
#endif
@@ -338,7 +338,7 @@ Given a Unix syntax file name, returns a string ending in slash. */)
while (p != beg && !IS_DIRECTORY_SEP (p[-1])
#ifdef DOS_NT
- /* only recognise drive specifier at the beginning */
+ /* only recognize drive specifier at the beginning */
&& !(p[-1] == ':'
/* handle the "/:d:foo" and "/:foo" cases correctly */
&& ((p == beg + 2 && !IS_DIRECTORY_SEP (*beg))
@@ -401,7 +401,7 @@ or the entire name if it contains no slash. */)
while (p != beg && !IS_DIRECTORY_SEP (p[-1])
#ifdef DOS_NT
- /* only recognise drive specifier at beginning */
+ /* only recognize drive specifier at beginning */
&& !(p[-1] == ':'
/* handle the "/:d:foo" case correctly */
&& (p == beg + 2 || (p == beg + 4 && IS_DIRECTORY_SEP (*beg))))
@@ -1553,7 +1553,7 @@ those `/' is discarded. */)
if (p)
/* Start over with the new string, so we check the file-name-handler
again. Important with filenames like "/home/foo//:/hello///there"
- which whould substitute to "/:/hello///there" rather than "/there". */
+ which would substitute to "/:/hello///there" rather than "/there". */
return Fsubstitute_in_file_name
(make_specified_string (p, -1, endp - p, multibyte));
@@ -3689,6 +3689,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
ptrdiff_t this_count = SPECPDL_INDEX ();
int multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters));
Lisp_Object conversion_buffer;
+ struct gcpro gcpro1;
conversion_buffer = code_conversion_save (1, multibyte);
@@ -3709,7 +3710,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
{
/* We read one bunch by one (READ_BUF_SIZE bytes) to allow
quitting while reading a huge while. */
- /* try is reserved in some compilers (Microsoft C) */
+ /* `try'' is reserved in some compilers (Microsoft C). */
int trytry = min (total - how_much, READ_BUF_SIZE - unprocessed);
/* Allow quitting out of the actual I/O. */
@@ -4101,6 +4102,16 @@ variable `last-coding-system-used' to the coding system actually used. */)
adjust_after_insert (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted,
inserted);
+ /* Call after-change hooks for the inserted text, aside from the case
+ of normal visiting (not with REPLACE), which is done in a new buffer
+ "before" the buffer is changed. */
+ if (inserted > 0 && total > 0
+ && (NILP (visit) || !NILP (replace)))
+ {
+ signal_after_change (PT, 0, inserted);
+ update_compositions (PT, PT, CHECK_BORDER);
+ }
+
/* Now INSERTED is measured in characters. */
handled:
@@ -4179,7 +4190,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
/* If REPLACE is non-nil and we succeeded in not replacing the
beginning or end of the buffer text with the file's contents,
call format-decode with `point' positioned at the beginning
- of the buffer and `inserted' equalling the number of
+ of the buffer and `inserted' equaling the number of
characters in the buffer. Otherwise, format-decode might
fail to correctly analyze the beginning or end of the buffer.
Hence we temporarily save `point' and `inserted' here and
@@ -4276,16 +4287,6 @@ variable `last-coding-system-used' to the coding system actually used. */)
unbind_to (count1, Qnil);
}
- /* Call after-change hooks for the inserted text, aside from the case
- of normal visiting (not with REPLACE), which is done in a new buffer
- "before" the buffer is changed. */
- if (inserted > 0 && total > 0
- && (NILP (visit) || !NILP (replace)))
- {
- signal_after_change (PT, 0, inserted);
- update_compositions (PT, PT, CHECK_BORDER);
- }
-
if (!NILP (visit)
&& current_buffer->modtime == -1)
{
diff --git a/src/fns.c b/src/fns.c
index 2c9559f742b..121143439e0 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3245,7 +3245,7 @@ DEFUN ("base64-decode-string", Fbase64_decode_string, Sbase64_decode_string,
return decoded_string;
}
-/* Base64-decode the data at FROM of LENGHT bytes into TO. If
+/* Base64-decode the data at FROM of LENGTH bytes into TO. If
MULTIBYTE is nonzero, the decoded result should be in multibyte
form. If NCHARS_RETRUN is not NULL, store the number of produced
characters in *NCHARS_RETURN. */
diff --git a/src/font.c b/src/font.c
index cb27155f09d..64ac36d364c 100644
--- a/src/font.c
+++ b/src/font.c
@@ -614,7 +614,7 @@ static const struct
/* Function to validate PROP's value VAL, or NULL if any value is
ok. The value is VAL or its regularized value if VAL is valid,
and Qerror if not. */
- Lisp_Object (*validater) (Lisp_Object prop, Lisp_Object val);
+ Lisp_Object (*validator) (Lisp_Object prop, Lisp_Object val);
} font_property_table[] =
{ { &QCtype, font_prop_validate_symbol },
{ &QCfoundry, font_prop_validate_symbol },
@@ -672,7 +672,7 @@ font_prop_validate (int idx, Lisp_Object prop, Lisp_Object val)
if (idx < 0)
return val;
}
- validated = (font_property_table[idx].validater) (prop, val);
+ validated = (font_property_table[idx].validator) (prop, val);
if (EQ (validated, Qerror))
signal_error ("invalid font property", Fcons (prop, val));
return validated;
@@ -825,7 +825,7 @@ font_expand_wildcards (Lisp_Object *field, int n)
range_mask = (range_mask << 1) | 1;
/* The triplet RANGE_FROM, RANGE_TO, and RANGE_MASK is a
- position-based retriction for FIELD[I]. */
+ position-based restriction for FIELD[I]. */
for (i = 0, range_from = 0, range_to = 14 - n; i < n;
i++, range_from++, range_to++, range_mask <<= 1)
{
@@ -842,7 +842,7 @@ font_expand_wildcards (Lisp_Object *field, int n)
else
{
/* The triplet FROM, TO, and MASK is a value-based
- retriction for FIELD[I]. */
+ restriction for FIELD[I]. */
int from, to;
unsigned mask;
@@ -3162,14 +3162,7 @@ font_find_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec, int c)
else
{
Lisp_Object alters
- = Fassoc_string (val, Vface_alternative_font_family_alist,
- /* Font family names are case-sensitive under NS. */
-#ifndef HAVE_NS
- Qt
-#else
- Qnil
-#endif
- );
+ = Fassoc_string (val, Vface_alternative_font_family_alist, Qt);
if (! NILP (alters))
{
diff --git a/src/font.h b/src/font.h
index f49f06a1fbc..72ee15c5e00 100644
--- a/src/font.h
+++ b/src/font.h
@@ -705,7 +705,7 @@ struct font_driver
/* Chain of font drivers. There's one global font driver list
- (font_driver_list in font.c). In addition, each frame has it's own
+ (font_driver_list in font.c). In addition, each frame has its own
font driver list at FRAME_PTR->font_driver_list. */
struct font_driver_list
@@ -721,7 +721,7 @@ struct font_driver_list
/* Chain of arbitrary data specific to each font driver. Each frame
- has it's own font data list at FRAME_PTR->font_data_list. */
+ has its own font data list at FRAME_PTR->font_data_list. */
struct font_data_list
{
diff --git a/src/fontset.c b/src/fontset.c
index ae919468695..b5b36822a2d 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -166,7 +166,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
These structures are hidden from the other codes than this file.
The other codes handle fontsets only by their ID numbers. They
usually use the variable name `fontset' for IDs. But, in this
- file, we always use varialbe name `id' for IDs, and name `fontset'
+ file, we always use variable name `id' for IDs, and name `fontset'
for an actual fontset object, i.e., char-table.
*/
@@ -633,7 +633,7 @@ fontset_find_font (Lisp_Object fontset, int c, struct face *face, int id, int fa
{
/* Something strange happened, perhaps because of a
Font-backend problem. Too avoid crashing, record
- that this spec is unsable. It may be better to find
+ that this spec is unusable. It may be better to find
another font of the same spec, but currently we don't
have such an API. */
RFONT_DEF_SET_FACE (rfont_def, -1);
@@ -907,7 +907,7 @@ face_suitable_for_char_p (struct face *face, int c)
/* Return ID of face suitable for displaying character C on frame F.
- FACE must be reazlied for ASCII characters in advance. Called from
+ FACE must be realized for ASCII characters in advance. Called from
the macro FACE_FOR_CHAR. */
int
@@ -1348,7 +1348,7 @@ accumulate_script_ranges (Lisp_Object arg, Lisp_Object range, Lisp_Object val)
In FONTSET, set FONT_DEF in a fashion specified by ADD for
characters in RANGE and ranges in SCRIPT_RANGE_LIST before RANGE.
- The consumed ranges are poped up from SCRIPT_RANGE_LIST, and the
+ The consumed ranges are popped up from SCRIPT_RANGE_LIST, and the
new SCRIPT_RANGE_LIST is stored in ARG.
If ASCII is nil, don't set FONT_DEF for ASCII characters. It is
diff --git a/src/frame.c b/src/frame.c
index dbee6a8092b..00653af74d6 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -374,7 +374,7 @@ make_frame (int mini_p)
/* Use set_window_buffer, not Fset_window_buffer, and don't let
hooks be run by it. The reason is that the whole frame/window
- arrangement is not yet fully intialized at this point. Windows
+ arrangement is not yet fully initialized at this point. Windows
don't have the right size, glyph matrices aren't initialized
etc. Running Lisp functions at this point surely ends in a
SEGV. */
@@ -1712,7 +1712,7 @@ If omitted, FRAME defaults to the currently selected frame. */)
}
/* Update the display_time slot of the buffers shown in WINDOW
- and all its descendents. */
+ and all its descendants. */
static void
make_frame_visible_1 (Lisp_Object window)
@@ -1929,7 +1929,7 @@ request a switch to FOCUS-FRAME, and `last-event-frame' will be
FOCUS-FRAME after reading an event typed at FRAME.
If FOCUS-FRAME is omitted or nil, any existing redirection is
-cancelled, and the frame again receives its own keystrokes.
+canceled, and the frame again receives its own keystrokes.
Focus redirection is useful for temporarily redirecting keystrokes to
a surrogate minibuffer frame when a frame doesn't have its own
diff --git a/src/fringe.c b/src/fringe.c
index 727547b1ab7..edc254fa3f2 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -35,7 +35,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
Logical bitmaps are used internally to denote things like
'end-of-buffer', 'left-truncation', 'overlay-arrow', etc.
- Physical bitmaps specify the visual appearence of the bitmap,
+ Physical bitmaps specify the visual appearance of the bitmap,
e.g. 'bottom-left-angle', 'left-arrow', 'left-triangle', etc.
User defined bitmaps are physical bitmaps.
@@ -928,7 +928,7 @@ update_window_fringes (struct window *w, int keep_current_p)
int top_ind_rn, bot_ind_rn;
int top_ind_min_y, bot_ind_max_y;
- /* top_ind_rn is set to a nonnegative value whenver
+ /* top_ind_rn is set to a nonnegative value whenever
row->indicate_bob_p is set, so it's OK that top_row_ends_at_zv_p
is not initialized here. Similarly for bot_ind_rn,
row->indicate_eob_p and bot_row_ends_at_zv_p. */
diff --git a/src/ftfont.c b/src/ftfont.c
index 9da4a98d692..2f0643a31e0 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -164,6 +164,13 @@ get_adstyle_property (FcPattern *p)
char *str, *end;
Lisp_Object adstyle;
+#ifdef FC_FONTFORMAT
+ if ((FcPatternGetString (p, FC_FONTFORMAT, 0, &fcstr) == FcResultMatch)
+ && xstrcasecmp ((char *) fcstr, "bdf") != 0
+ && xstrcasecmp ((char *) fcstr, "pcf") != 0)
+ /* Not a BDF nor PCF font. */
+ return Qnil;
+#endif
if (FcPatternGetString (p, FC_STYLE, 0, &fcstr) != FcResultMatch)
return Qnil;
str = (char *) fcstr;
@@ -272,7 +279,7 @@ ftfont_pattern_entity (FcPattern *p, Lisp_Object extra)
}
else
{
- /* As this font is not scalable, parhaps this is a BDF or PCF
+ /* As this font is not scalable, perhaps this is a BDF or PCF
font. */
FT_Face ft_face;
@@ -730,7 +737,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
if ((n = FONT_SLANT_NUMERIC (spec)) >= 0
&& n < 100)
- /* Fontconfig doesn't support reverse-italic/obligue. */
+ /* Fontconfig doesn't support reverse-italic/oblique. */
return NULL;
if (INTEGERP (AREF (spec, FONT_DPI_INDEX)))
@@ -1462,7 +1469,7 @@ ftfont_get_bitmap (struct font *font, unsigned int code, struct font_bitmap *bit
: ft_face->glyph->bitmap.pixel_mode == FT_PIXEL_MODE_LCD_V ? 8
: -1);
if (bitmap->bits_per_pixel < 0)
- /* We don't suport that kind of pixel mode. */
+ /* We don't support that kind of pixel mode. */
return -1;
bitmap->rows = ft_face->glyph->bitmap.rows;
bitmap->width = ft_face->glyph->bitmap.width;
diff --git a/src/ftxfont.c b/src/ftxfont.c
index bbba3ca8163..e04e802a3db 100644
--- a/src/ftxfont.c
+++ b/src/ftxfont.c
@@ -48,14 +48,14 @@ static GC *ftxfont_get_gcs (FRAME_PTR, unsigned long, unsigned long);
static int ftxfont_draw_bitmap (FRAME_PTR, GC, GC *, struct font *,
unsigned, int, int, XPoint *, int, int *,
int);
-static void ftxfont_draw_backgrond (FRAME_PTR, struct font *, GC,
- int, int, int);
+static void ftxfont_draw_background (FRAME_PTR, struct font *, GC,
+ int, int, int);
struct ftxfont_frame_data
{
/* Background and foreground colors. */
XColor colors[2];
- /* GCs interporationg the above colors. gcs[0] is for a color
+ /* GCs interpolating the above colors. gcs[0] is for a color
closest to BACKGROUND, and gcs[5] is for a color closest to
FOREGROUND. */
GC gcs[6];
@@ -219,7 +219,8 @@ ftxfont_draw_bitmap (FRAME_PTR f, GC gc_fore, GC *gcs, struct font *font, unsign
}
static void
-ftxfont_draw_backgrond (FRAME_PTR f, struct font *font, GC gc, int x, int y, int width)
+ftxfont_draw_background (FRAME_PTR f, struct font *font, GC gc, int x, int y,
+ int width)
{
XGCValues xgcv;
@@ -296,7 +297,7 @@ ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y, int with_b
BLOCK_INPUT;
if (with_background)
- ftxfont_draw_backgrond (f, font, s->gc, x, y, s->width);
+ ftxfont_draw_background (f, font, s->gc, x, y, s->width);
code = alloca (sizeof (unsigned) * len);
for (i = 0; i < len; i++)
code[i] = ((XCHAR2B_BYTE1 (s->char2b + from + i) << 8)
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 31cbd32f441..43cdb38c640 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -127,7 +127,7 @@ xg_set_screen (GtkWidget *w, FRAME_PTR f)
Returns non-zero if display could be opened, zero if display could not
be opened, and less than zero if the GTK version doesn't support
- multipe displays. */
+ multiple displays. */
void
xg_display_open (char *display_name, Display **dpy)
@@ -1100,6 +1100,14 @@ xg_create_frame_widgets (FRAME_PTR f)
else
wtop = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ /* gtk_window_set_has_resize_grip is a Gtk+ 3.0 function but Ubuntu
+ has backported it to Gtk+ 2.0 and they add the resize grip for
+ Gtk+ 2.0 applications also. But it has a bug that makes Emacs loop
+ forever, so disable the grip. */
+#if GTK_MAJOR_VERSION < 3 && defined (HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
+ gtk_window_set_has_resize_grip (GTK_WINDOW (wtop), FALSE);
+#endif
+
xg_set_screen (wtop, f);
wvbox = gtk_vbox_new (FALSE, 0);
@@ -2363,7 +2371,7 @@ xg_create_one_menuitem (widget_value *item,
HIGHLIGHT_CB is the callback to call when entering/leaving menu items.
POP_UP_P is non-zero if we shall create a popup menu.
MENU_BAR_P is non-zero if we shall create a menu bar.
- ADD_TEAROFF_P is non-zero if we shall add a teroff menu item. Ignored
+ ADD_TEAROFF_P is non-zero if we shall add a tearoff menu item. Ignored
if MENU_BAR_P is non-zero.
TOPMENU is the topmost GtkWidget that others shall be placed under.
It may be NULL, in that case we create the appropriate widget
@@ -4262,7 +4270,7 @@ xg_make_tool_item (FRAME_PTR f,
#endif
gtk_tool_item_set_homogeneous (ti, FALSE);
- /* Callback to save modifyer mask (Shift/Control, etc). GTK makes
+ /* Callback to save modifier mask (Shift/Control, etc). GTK makes
no distinction based on modifiers in the activate callback,
so we have to do it ourselves. */
g_signal_connect (wb, "button-release-event",
diff --git a/src/gtkutil.h b/src/gtkutil.h
index 2dfb3a5ed6c..7cc2d21f9c4 100644
--- a/src/gtkutil.h
+++ b/src/gtkutil.h
@@ -98,7 +98,7 @@ extern GtkWidget *xg_create_widget (const char *type,
struct _widget_value *val,
GCallback select_cb,
GCallback deactivate_cb,
- GCallback hightlight_cb);
+ GCallback highlight_cb);
extern void xg_modify_menubar_widgets (GtkWidget *menubar,
FRAME_PTR f,
@@ -106,7 +106,7 @@ extern void xg_modify_menubar_widgets (GtkWidget *menubar,
int deep_p,
GCallback select_cb,
GCallback deactivate_cb,
- GCallback hightlight_cb);
+ GCallback highlight_cb);
extern int xg_update_frame_menubar (FRAME_PTR f);
diff --git a/src/image.c b/src/image.c
index fd842f3e347..736c1b3472f 100644
--- a/src/image.c
+++ b/src/image.c
@@ -7619,7 +7619,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
image = image_spec_value (img->spec, QCindex, NULL);
ino = INTEGERP (image) ? XFASTINT (image) : 0;
ping_wand = NewMagickWand ();
- MagickSetResolution (ping_wand, 2, 2);
+
if (filename != NULL)
{
status = MagickPingImage (ping_wand, filename);
@@ -7629,6 +7629,8 @@ imagemagick_load_image (struct frame *f, struct image *img,
status = MagickPingImageBlob (ping_wand, contents, size);
}
+ MagickSetResolution (ping_wand, 2, 2);
+
if (! (0 <= ino && ino < MagickGetNumberImages (ping_wand)))
{
image_error ("Invalid image number `%s' in image `%s'",
@@ -7755,7 +7757,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
}
/* Finally we are done manipulating the image. Figure out the
- resulting width/height and transfer ownerwship to Emacs. */
+ resulting width/height and transfer ownership to Emacs. */
height = MagickGetImageHeight (image_wand);
width = MagickGetImageWidth (image_wand);
@@ -7787,7 +7789,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
goto imagemagick_error;
}
- /* Copy imagegmagick image to x with primitive yet robust pixel
+ /* Copy imagemagick image to x with primitive yet robust pixel
pusher loop. This has been tested a lot with many different
images. */
diff --git a/src/intervals.c b/src/intervals.c
index 6f8dda4294e..ecb37495a04 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -1900,7 +1900,7 @@ set_point (ptrdiff_t charpos)
current buffer, and the invisible property has a `stickiness' such that
inserting a character at position POS would inherit the property it,
return POS + ADJ, otherwise return POS. If TEST_INTANG is non-zero,
- then intangibility is required as well as invisibleness.
+ then intangibility is required as well as invisibility.
TEST_OFFS should be either 0 or -1, and ADJ should be either 1 or -1.
diff --git a/src/keyboard.c b/src/keyboard.c
index 3b82c497650..aa8a9908f3b 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -464,7 +464,8 @@ static void input_available_signal (int signo);
static Lisp_Object (Fcommand_execute) (Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object);
static void handle_interrupt (void);
-static void quit_throw_to_read_char (void) NO_RETURN;
+static void quit_throw_to_read_char (int) NO_RETURN;
+static void process_special_events (void);
static void timer_start_idle (void);
static void timer_stop_idle (void);
static void timer_resume_idle (void);
@@ -653,7 +654,7 @@ echo_now (void)
echo_kboard = current_kboard;
if (waiting_for_input && !NILP (Vquit_flag))
- quit_throw_to_read_char ();
+ quit_throw_to_read_char (0);
}
/* Turn off echoing, for the start of a new command. */
@@ -2998,7 +2999,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
Lisp_Object keys;
ptrdiff_t key_count;
int key_count_reset;
- struct gcpro inner_gcpro1;
+ struct gcpro gcpro1;
ptrdiff_t count = SPECPDL_INDEX ();
/* Save the echo status. */
@@ -3026,7 +3027,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
keys = Fcopy_sequence (this_command_keys);
else
keys = Qnil;
- GCPRO1_VAR (keys, inner_gcpro);
+ GCPRO1 (keys);
/* Clear out this_command_keys. */
this_command_key_count = 0;
@@ -3064,7 +3065,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
if (saved_immediate_echo)
echo_now ();
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
/* The input method can return no events. */
if (! CONSP (tem))
@@ -3817,7 +3818,7 @@ kbd_buffer_get_event (KBOARD **kbp,
/* If the quit flag is set, then read_char will return
quit_char, so that counts as "available input." */
if (!NILP (Vquit_flag))
- quit_throw_to_read_char ();
+ quit_throw_to_read_char (0);
/* One way or another, wait until input is available; then, if
interrupt handlers have not read it, read it now. */
@@ -4145,14 +4146,12 @@ kbd_buffer_get_event (KBOARD **kbp,
return (obj);
}
-/* Process any events that are not user-visible,
- then return, without reading any user-visible events. */
+/* Process any non-user-visible events (currently X selection events),
+ without reading any user-visible events. */
-void
-swallow_events (int do_display)
+static void
+process_special_events (void)
{
- int old_timers_run;
-
while (kbd_fetch_ptr != kbd_store_ptr)
{
struct input_event *event;
@@ -4187,6 +4186,17 @@ swallow_events (int do_display)
else
break;
}
+}
+
+/* Process any events that are not user-visible, run timer events that
+ are ripe, and return, without reading any user-visible events. */
+
+void
+swallow_events (int do_display)
+{
+ int old_timers_run;
+
+ process_special_events ();
old_timers_run = timers_run;
get_input_pending (&input_pending, READABLE_EVENTS_DO_TIMERS_NOW);
@@ -4813,7 +4823,7 @@ const char *const lispy_function_keys[] =
"ico-00", /* VK_ICO_00 0xE4 */
0, /* VK_PROCESSKEY 0xE5 - used by IME */
"ico-clear", /* VK_ICO_CLEAR 0xE6 */
- 0, /* VK_PACKET 0xE7 - used to pass unicode chars */
+ 0, /* VK_PACKET 0xE7 - used to pass Unicode chars */
0, /* 0xE8 */
"reset", /* VK_OEM_RESET 0xE9 */
"jump", /* VK_OEM_JUMP 0xEA */
@@ -9058,9 +9068,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
int junk;
#endif
- struct gcpro outer_gcpro1;
+ struct gcpro gcpro1;
- GCPRO1_VAR (fake_prefixed_keys, outer_gcpro);
+ GCPRO1 (fake_prefixed_keys);
raw_keybuf_count = 0;
last_nonmenu_event = Qnil;
@@ -9356,7 +9366,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
if (EQ (key, Qt))
{
unbind_to (count, Qnil);
- UNGCPRO_VAR (outer_gcpro);
+ UNGCPRO;
return -1;
}
@@ -10054,7 +10064,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
add_command_key (keybuf[t]);
}
- UNGCPRO_VAR (outer_gcpro);
+ UNGCPRO;
return t;
}
@@ -10142,7 +10152,7 @@ will read just one key sequence. */)
! NILP (can_return_switch_frame), 0);
#if 0 /* The following is fine for code reading a key sequence and
- then proceeding with a lenghty computation, but it's not good
+ then proceeding with a lengthy computation, but it's not good
for code reading keys in a loop, like an input method. */
#ifdef HAVE_WINDOW_SYSTEM
if (display_hourglass_p)
@@ -10527,6 +10537,9 @@ if there is a doubt, the value is t. */)
|| !NILP (Vunread_input_method_events))
return (Qt);
+ /* Process non-user-visible events (Bug#10195). */
+ process_special_events ();
+
get_input_pending (&input_pending,
READABLE_EVENTS_DO_TIMERS_NOW
| READABLE_EVENTS_FILTER_EVENTS);
@@ -10829,7 +10842,7 @@ set_waiting_for_input (struct timeval *time_to_clear)
/* If handle_interrupt was called before and buffered a C-g,
make it run again now, to avoid timing error. */
if (!NILP (Vquit_flag))
- quit_throw_to_read_char ();
+ quit_throw_to_read_char (0);
}
void
@@ -10844,7 +10857,7 @@ clear_waiting_for_input (void)
If we have a frame on the controlling tty, we assume that the
SIGINT was generated by C-g, so we call handle_interrupt.
- Otherwise, the handler kills Emacs. */
+ Otherwise, tell QUIT to kill Emacs. */
static void
interrupt_signal (int signalnum) /* If we don't have an argument, some */
@@ -10861,12 +10874,10 @@ interrupt_signal (int signalnum) /* If we don't have an argument, some */
if (!terminal)
{
/* If there are no frames there, let's pretend that we are a
- well-behaving UN*X program and quit. We cannot do that while
- GC is in progress, though. */
- if (!gc_in_progress)
- Fkill_emacs (Qnil);
- else
- Vquit_flag = Qt;
+ well-behaving UN*X program and quit. We must not call Lisp
+ in a signal handler, so tell QUIT to exit when it is
+ safe. */
+ Vquit_flag = Qkill_emacs;
}
else
{
@@ -11015,15 +11026,20 @@ handle_interrupt (void)
separate event loop thread like W32. */
#ifndef HAVE_NS
if (waiting_for_input && !echoing)
- quit_throw_to_read_char ();
+ quit_throw_to_read_char (1);
#endif
}
/* Handle a C-g by making read_char return C-g. */
static void
-quit_throw_to_read_char (void)
+quit_throw_to_read_char (int from_signal)
{
+ /* When not called from a signal handler it is safe to call
+ Lisp. */
+ if (!from_signal && EQ (Vquit_flag, Qkill_emacs))
+ Fkill_emacs (Qnil);
+
sigfree ();
/* Prevent another signal from doing this before we finish. */
clear_waiting_for_input ();
@@ -12105,7 +12121,7 @@ This variable is keyboard-local. */);
Function key definitions that apply to all terminal devices should go
here. If a mapping is defined in both the current
`local-function-key-map' binding and this variable, then the local
-definition will take precendence. */);
+definition will take precedence. */);
Vfunction_key_map = Fmake_sparse_keymap (Qnil);
DEFVAR_LISP ("key-translation-map", Vkey_translation_map,
@@ -12250,7 +12266,7 @@ text in the region before modifying the buffer. The next
DEFVAR_LISP ("debug-on-event",
Vdebug_on_event,
doc: /* Enter debugger on this event. When Emacs
-receives the special event specifed by this variable, it will try to
+receives the special event specified by this variable, it will try to
break into the debugger as soon as possible instead of processing the
event normally through `special-event-map'.
diff --git a/src/lisp.h b/src/lisp.h
index 648eb6430bd..ecc2fd16267 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -163,14 +163,23 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
/* First, try and define DECL_ALIGN(type,var) which declares a static
variable VAR of type TYPE with the added requirement that it be
TYPEBITS-aligned. */
+
+#ifndef GCTYPEBITS
+#define GCTYPEBITS 3
+#endif
+
#ifndef NO_DECL_ALIGN
# ifndef DECL_ALIGN
# if HAVE_ATTRIBUTE_ALIGNED
# define DECL_ALIGN(type, var) \
type __attribute__ ((__aligned__ (1 << GCTYPEBITS))) var
# elif defined(_MSC_VER)
+# define ALIGN_GCTYPEBITS 8
+# if (1 << GCTYPEBITS) != ALIGN_GCTYPEBITS
+# error ALIGN_GCTYPEBITS is wrong!
+# endif
# define DECL_ALIGN(type, var) \
- type __declspec(align(1 << GCTYPEBITS)) var
+ type __declspec(align(ALIGN_GCTYPEBITS)) var
# else
/* What directives do other compilers use? */
# endif
@@ -300,10 +309,6 @@ enum Lisp_Fwd_Type
Lisp_Fwd_Kboard_Obj, /* Fwd to a Lisp_Object field of kboards. */
};
-#ifndef GCTYPEBITS
-#define GCTYPEBITS 3
-#endif
-
/* These values are overridden by the m- file on some machines. */
#ifndef VALBITS
#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
@@ -324,7 +329,7 @@ union Lisp_Object
struct
{
- /* Use explict signed, the signedness of a bit-field of type
+ /* Use explicit signed, the signedness of a bit-field of type
int is implementation defined. */
signed EMACS_INT val : VALBITS;
ENUM_BF (Lisp_Type) type : GCTYPEBITS;
@@ -349,7 +354,7 @@ union Lisp_Object
struct
{
ENUM_BF (Lisp_Type) type : GCTYPEBITS;
- /* Use explict signed, the signedness of a bit-field of type
+ /* Use explicit signed, the signedness of a bit-field of type
int is implementation defined. */
signed EMACS_INT val : VALBITS;
} s;
@@ -948,7 +953,7 @@ struct Lisp_Vector
/* Compute A OP B, using the unsigned comparison operator OP. A and B
should be integer expressions. This is not the same as
- mathemeatical comparison; for example, UNSIGNED_CMP (0, <, -1)
+ mathematical comparison; for example, UNSIGNED_CMP (0, <, -1)
returns 1. For efficiency, prefer plain unsigned comparison if A
and B's sizes both fit (after integer promotion). */
#define UNSIGNED_CMP(a, op, b) \
@@ -1909,9 +1914,6 @@ typedef struct {
CHECK_NATNUM (tmp); \
XSETCDR ((x), tmp); \
} while (0)
-
-/* Cast pointers to this type to compare them. */
-#define PNTR_COMPARISON_TYPE uintptr_t
/* Define a built-in function for calling from Lisp.
`lname' should be the name to give the function in Lisp,
@@ -2158,7 +2160,10 @@ extern char *stack_bottom;
Exception: if you set immediate_quit to nonzero,
then the handler that responds to the C-g does the quit itself.
This is a good thing to do around a loop that has no side effects
- and (in particular) cannot call arbitrary Lisp code. */
+ and (in particular) cannot call arbitrary Lisp code.
+
+ If quit-flag is set to `kill-emacs' the SIGINT handler has received
+ a request to exit Emacs when it is safe to do. */
#ifdef SYNC_INPUT
extern void process_pending_signals (void);
@@ -2170,16 +2175,11 @@ extern int pending_signals;
#define ELSE_PENDING_SIGNALS
#endif /* not SYNC_INPUT */
+extern void process_quit_flag (void);
#define QUIT \
do { \
if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \
- { \
- Lisp_Object flag = Vquit_flag; \
- Vquit_flag = Qnil; \
- if (EQ (Vthrow_on_input, flag)) \
- Fthrow (Vthrow_on_input, Qt); \
- Fsignal (Qquit, Qnil); \
- } \
+ process_quit_flag (); \
ELSE_PENDING_SIGNALS \
} while (0)
@@ -2253,143 +2253,127 @@ struct gcpro
|| GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS)
-#define GCPRO1(var) \
- GCPRO1_VAR (var, gcpro)
-#define GCPRO2(var1, var2) \
- GCPRO2_VAR (var1, var2, gcpro)
-#define GCPRO3(var1, var2, var3) \
- GCPRO3_VAR (var1, var2, var3, gcpro)
-#define GCPRO4(var1, var2, var3, var4) \
- GCPRO4_VAR (var1, var2, var3, var4, gcpro)
-#define GCPRO5(var1, var2, var3, var4, var5) \
- GCPRO5_VAR (var1, var2, var3, var4, var5, gcpro)
-#define GCPRO6(var1, var2, var3, var4, var5, var6) \
- GCPRO6_VAR (var1, var2, var3, var4, var5, var6, gcpro)
-#define UNGCPRO UNGCPRO_VAR (gcpro)
-
#if GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
/* Do something silly with gcproN vars just so gcc shuts up. */
/* You get warnings from MIPSPro... */
-#define GCPRO1_VAR(var, gcpro) ((void) gcpro##1)
-#define GCPRO2_VAR(var1, var2, gcpro) \
- ((void) gcpro##2, (void) gcpro##1)
-#define GCPRO3_VAR(var1, var2, var3, gcpro) \
- ((void) gcpro##3, (void) gcpro##2, (void) gcpro##1)
-#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \
- ((void) gcpro##4, (void) gcpro##3, (void) gcpro##2, (void) gcpro##1)
-#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \
- ((void) gcpro##5, (void) gcpro##4, (void) gcpro##3, (void) gcpro##2, \
- (void) gcpro##1)
-#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \
- ((void) gcpro##6, (void) gcpro##5, (void) gcpro##4, (void) gcpro##3, \
- (void) gcpro##2, (void) gcpro##1)
-#define UNGCPRO_VAR(gcpro) ((void) 0)
+#define GCPRO1(varname) ((void) gcpro1)
+#define GCPRO2(varname1, varname2) ((void) gcpro2, (void) gcpro1)
+#define GCPRO3(varname1, varname2, varname3) \
+ ((void) gcpro3, (void) gcpro2, (void) gcpro1)
+#define GCPRO4(varname1, varname2, varname3, varname4) \
+ ((void) gcpro4, (void) gcpro3, (void) gcpro2, (void) gcpro1)
+#define GCPRO5(varname1, varname2, varname3, varname4, varname5) \
+ ((void) gcpro5, (void) gcpro4, (void) gcpro3, (void) gcpro2, (void) gcpro1)
+#define GCPRO6(varname1, varname2, varname3, varname4, varname5, varname6) \
+ ((void) gcpro6, (void) gcpro5, (void) gcpro4, (void) gcpro3, (void) gcpro2, \
+ (void) gcpro1)
+#define UNGCPRO ((void) 0)
#else /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */
#ifndef DEBUG_GCPRO
-#define GCPRO1_VAR(var1, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcprolist = &gcpro##1; }
-
-#define GCPRO2_VAR(var1, var2, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcprolist = &gcpro##2; }
-
-#define GCPRO3_VAR(var1, var2, var3, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcprolist = &gcpro##3; }
-
-#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
- gcprolist = &gcpro##4; }
-
-#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
- gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
- gcprolist = &gcpro##5; }
-
-#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
- gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
- gcpro##6 .next = &gcpro##5; gcpro##6 .var = &var6; gcpro##6 .nvars = 1; \
- gcprolist = &gcpro##6; }
-
-#define UNGCPRO_VAR(gcpro) (gcprolist = gcpro##1 .next)
+#define GCPRO1(varname) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname; gcpro1.nvars = 1; \
+ gcprolist = &gcpro1; }
+
+#define GCPRO2(varname1, varname2) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcprolist = &gcpro2; }
+
+#define GCPRO3(varname1, varname2, varname3) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcprolist = &gcpro3; }
+
+#define GCPRO4(varname1, varname2, varname3, varname4) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro4.next = &gcpro3; gcpro4.var = &varname4; gcpro4.nvars = 1; \
+ gcprolist = &gcpro4; }
+
+#define GCPRO5(varname1, varname2, varname3, varname4, varname5) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro4.next = &gcpro3; gcpro4.var = &varname4; gcpro4.nvars = 1; \
+ gcpro5.next = &gcpro4; gcpro5.var = &varname5; gcpro5.nvars = 1; \
+ gcprolist = &gcpro5; }
+
+#define GCPRO6(varname1, varname2, varname3, varname4, varname5, varname6) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro4.next = &gcpro3; gcpro4.var = &varname4; gcpro4.nvars = 1; \
+ gcpro5.next = &gcpro4; gcpro5.var = &varname5; gcpro5.nvars = 1; \
+ gcpro6.next = &gcpro5; gcpro6.var = &varname6; gcpro6.nvars = 1; \
+ gcprolist = &gcpro6; }
+
+#define UNGCPRO (gcprolist = gcpro1.next)
#else
extern int gcpro_level;
-#define GCPRO1_VAR(var1, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##1 .level = gcpro_level++; \
- gcprolist = &gcpro##1; }
-
-#define GCPRO2_VAR(var1, var2, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##1 .level = gcpro_level; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##2 .level = gcpro_level++; \
- gcprolist = &gcpro##2; }
-
-#define GCPRO3_VAR(var1, var2, var3, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##1 .level = gcpro_level; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##3 .level = gcpro_level++; \
- gcprolist = &gcpro##3; }
-
-#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##1 .level = gcpro_level; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
- gcpro##4 .level = gcpro_level++; \
- gcprolist = &gcpro##4; }
-
-#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##1 .level = gcpro_level; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
- gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
- gcpro##5 .level = gcpro_level++; \
- gcprolist = &gcpro##5; }
-
-#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \
- {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
- gcpro##1 .level = gcpro_level; \
- gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
- gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
- gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
- gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
- gcpro##6 .next = &gcpro##5; gcpro##6 .var = &var6; gcpro##6 .nvars = 1; \
- gcpro##6 .level = gcpro_level++; \
- gcprolist = &gcpro##6; }
-
-#define UNGCPRO_VAR(gcpro) \
- ((--gcpro_level != gcpro##1 .level) \
- ? (abort (), 0) \
- : ((gcprolist = gcpro##1 .next), 0))
+#define GCPRO1(varname) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname; gcpro1.nvars = 1; \
+ gcpro1.level = gcpro_level++; \
+ gcprolist = &gcpro1; }
+
+#define GCPRO2(varname1, varname2) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro1.level = gcpro_level; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro2.level = gcpro_level++; \
+ gcprolist = &gcpro2; }
+
+#define GCPRO3(varname1, varname2, varname3) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro1.level = gcpro_level; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro3.level = gcpro_level++; \
+ gcprolist = &gcpro3; }
+
+#define GCPRO4(varname1, varname2, varname3, varname4) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro1.level = gcpro_level; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro4.next = &gcpro3; gcpro4.var = &varname4; gcpro4.nvars = 1; \
+ gcpro4.level = gcpro_level++; \
+ gcprolist = &gcpro4; }
+
+#define GCPRO5(varname1, varname2, varname3, varname4, varname5) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro1.level = gcpro_level; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro4.next = &gcpro3; gcpro4.var = &varname4; gcpro4.nvars = 1; \
+ gcpro5.next = &gcpro4; gcpro5.var = &varname5; gcpro5.nvars = 1; \
+ gcpro5.level = gcpro_level++; \
+ gcprolist = &gcpro5; }
+
+#define GCPRO6(varname1, varname2, varname3, varname4, varname5, varname6) \
+ {gcpro1.next = gcprolist; gcpro1.var = &varname1; gcpro1.nvars = 1; \
+ gcpro1.level = gcpro_level; \
+ gcpro2.next = &gcpro1; gcpro2.var = &varname2; gcpro2.nvars = 1; \
+ gcpro3.next = &gcpro2; gcpro3.var = &varname3; gcpro3.nvars = 1; \
+ gcpro4.next = &gcpro3; gcpro4.var = &varname4; gcpro4.nvars = 1; \
+ gcpro5.next = &gcpro4; gcpro5.var = &varname5; gcpro5.nvars = 1; \
+ gcpro6.next = &gcpro5; gcpro6.var = &varname6; gcpro6.nvars = 1; \
+ gcpro6.level = gcpro_level++; \
+ gcprolist = &gcpro6; }
+
+#define UNGCPRO \
+ ((--gcpro_level != gcpro1.level) \
+ ? (abort (), 0) \
+ : ((gcprolist = gcpro1.next), 0))
#endif /* DEBUG_GCPRO */
#endif /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */
@@ -3337,6 +3321,7 @@ extern Lisp_Object Qfile_name_handler_alist;
#ifdef FLOAT_CATCH_SIGILL
extern void fatal_error_signal (int);
#endif
+extern Lisp_Object Qkill_emacs;
EXFUN (Fkill_emacs, 1) NO_RETURN;
#if HAVE_SETLOCALE
void fixup_locale (void);
diff --git a/src/lread.c b/src/lread.c
index d7c5db3a02c..90bc8c11b96 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1922,7 +1922,7 @@ which is the input stream for reading characters.
This function does not move point. */)
(Lisp_Object start, Lisp_Object end, Lisp_Object printflag, Lisp_Object read_function)
{
- /* FIXME: Do the eval-sexp-add-defvars danse! */
+ /* FIXME: Do the eval-sexp-add-defvars dance! */
ptrdiff_t count = SPECPDL_INDEX ();
Lisp_Object tem, cbuf;
@@ -3990,7 +3990,7 @@ init_obarray (void)
Qnil = intern_c_string ("nil");
/* Fmake_symbol inits fields of new symbols with Qunbound and Qnil,
- so those two need to be fixed manally. */
+ so those two need to be fixed manually. */
SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound);
XSYMBOL (Qunbound)->function = Qunbound;
XSYMBOL (Qunbound)->plist = Qnil;
@@ -4186,13 +4186,16 @@ init_lread (void)
}
/* Add site-lisp under the installation dir, if it exists. */
- tem = Fexpand_file_name (build_string ("site-lisp"),
- Vinstallation_directory);
- tem1 = Ffile_exists_p (tem);
- if (!NILP (tem1))
+ if (!no_site_lisp)
{
- if (NILP (Fmember (tem, Vload_path)))
- Vload_path = Fcons (tem, Vload_path);
+ tem = Fexpand_file_name (build_string ("site-lisp"),
+ Vinstallation_directory);
+ tem1 = Ffile_exists_p (tem);
+ if (!NILP (tem1))
+ {
+ if (NILP (Fmember (tem, Vload_path)))
+ Vload_path = Fcons (tem, Vload_path);
+ }
}
/* If Emacs was not built in the source directory,
@@ -4228,11 +4231,14 @@ init_lread (void)
if (NILP (Fmember (tem, Vload_path)))
Vload_path = Fcons (tem, Vload_path);
- tem = Fexpand_file_name (build_string ("site-lisp"),
- Vsource_directory);
+ if (!no_site_lisp)
+ {
+ tem = Fexpand_file_name (build_string ("site-lisp"),
+ Vsource_directory);
- if (NILP (Fmember (tem, Vload_path)))
- Vload_path = Fcons (tem, Vload_path);
+ if (NILP (Fmember (tem, Vload_path)))
+ Vload_path = Fcons (tem, Vload_path);
+ }
}
}
if (!NILP (sitelisp) && !no_site_lisp)
diff --git a/src/m/ibms390.h b/src/m/ibms390.h
deleted file mode 100644
index c309035dc5c..00000000000
--- a/src/m/ibms390.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Machine description file for IBM S390 in 32-bit mode
-
-Copyright (C) 1985-1986, 2001-2011 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */
-
-
-/* Define VIRT_ADDR_VARIES if the virtual addresses of
- pure and impure space as loaded can vary, and even their
- relative order cannot be relied on.
-
- Otherwise Emacs assumes that text space precedes data space,
- numerically. */
-#define VIRT_ADDR_VARIES
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
index 04092d6e1ac..5ea7974b052 100644
--- a/src/m/ibms390x.h
+++ b/src/m/ibms390x.h
@@ -17,8 +17,6 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-#include "ibms390.h"
-
#define BITS_PER_LONG 64
#define BITS_PER_EMACS_INT 64
diff --git a/src/m/intel386.h b/src/m/intel386.h
index 16f0645715c..114b7fef963 100644
--- a/src/m/intel386.h
+++ b/src/m/intel386.h
@@ -19,7 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef WINDOWSNT
-#define VIRT_ADDR_VARIES
#define DATA_START get_data_start ()
#endif
@@ -28,4 +27,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* we cannot get the maximum address for brk */
#define ULIMIT_BREAK_VALUE (32*1024*1024)
#endif
-
diff --git a/src/m/template.h b/src/m/template.h
index 54fb0da9521..38649e8ac6d 100644
--- a/src/m/template.h
+++ b/src/m/template.h
@@ -21,14 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
does not define it automatically.
Ones defined so far include m68k and many others */
-/* Define VIRT_ADDR_VARIES if the virtual addresses of
- pure and impure space as loaded can vary, and even their
- relative order cannot be relied on.
-
- Otherwise Emacs assumes that text space precedes data space,
- numerically. */
-#define VIRT_ADDR_VARIES
-
/* After adding support for a new machine, modify the large case
statement in configure.in to recognize reasonable
configuration names, and add a description of the system to
diff --git a/src/minibuf.c b/src/minibuf.c
index 7dd189c325b..9a4df333788 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -905,26 +905,36 @@ DEFUN ("read-from-minibuffer", Fread_from_minibuffer,
The optional second arg INITIAL-CONTENTS is an obsolete alternative to
DEFAULT-VALUE. It normally should be nil in new code, except when
HIST is a cons. It is discussed in more detail below.
+
Third arg KEYMAP is a keymap to use whilst reading;
if omitted or nil, the default is `minibuffer-local-map'.
-If fourth arg READ is non-nil, then interpret the result as a Lisp object
+
+If fourth arg READ is non-nil, interpret the result as a Lisp object
and return that object:
in other words, do `(car (read-from-string INPUT-STRING))'
+
Fifth arg HIST, if non-nil, specifies a history list and optionally
the initial position in the list. It can be a symbol, which is the
- history list variable to use, or it can be a cons cell
- (HISTVAR . HISTPOS). In that case, HISTVAR is the history list variable
- to use, and HISTPOS is the initial position for use by the minibuffer
- history commands. For consistency, you should also specify that
- element of the history as the value of INITIAL-CONTENTS. Positions
- are counted starting from 1 at the beginning of the list.
-Sixth arg DEFAULT-VALUE is a default value or list of default values.
- If non-nil, it is available via history commands. If READ is
- non-nil, it is also the default to `read' if the user enters empty
- input. If READ is non-nil, `read-from-minibuffer' does NOT return
- DEFAULT-VALUE for empty input! It returns the empty string.
+ history list variable to use, or a cons cell (HISTVAR . HISTPOS).
+ In that case, HISTVAR is the history list variable to use, and
+ HISTPOS is the initial position for use by the minibuffer history
+ commands. For consistency, you should also specify that element of
+ the history as the value of INITIAL-CONTENTS. Positions are counted
+ starting from 1 at the beginning of the list.
+
+Sixth arg DEFAULT-VALUE, if non-nil, should be a string, which is used
+ as the default to `read' if READ is non-nil and the user enters
+ empty input. But if READ is nil, this function does _not_ return
+ DEFAULT-VALUE for empty input! Instead, it returns the empty string.
+
+ Whatever the value of READ, DEFAULT-VALUE is made available via the
+ minibuffer history commands. DEFAULT-VALUE can also be a list of
+ strings, in which case all the strings are available in the history,
+ and the first string is the default to `read' if READ is non-nil.
+
Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
the current input method and the setting of `enable-multibyte-characters'.
+
If the variable `minibuffer-allow-text-properties' is non-nil,
then the string which is returned includes whatever text properties
were present in the minibuffer. Otherwise the value has no text properties.
diff --git a/src/msdos.c b/src/msdos.c
index 6b6e365a165..64e9d72c784 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -1342,7 +1342,7 @@ static void
IT_copy_glyphs (int xfrom, int xto, size_t len, int ypos)
{
/* The offsets of source and destination relative to the
- conventional memorty selector. */
+ conventional memory selector. */
int from = 2 * (xfrom + screen_size_X * ypos) + ScreenPrimary;
int to = 2 * (xto + screen_size_X * ypos) + ScreenPrimary;
@@ -1558,7 +1558,7 @@ IT_set_terminal_window (struct frame *f, int foo)
{
}
-/* Remember the screen colors of the curent frame, to serve as the
+/* Remember the screen colors of the current frame, to serve as the
default colors for newly-created frames. */
DEFUN ("msdos-remember-default-colors", Fmsdos_remember_default_colors,
Smsdos_remember_default_colors, 1, 1, 0,
diff --git a/src/nsfns.m b/src/nsfns.m
index f320a909497..ccefec1e34f 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -1076,7 +1076,41 @@ unwind_create_frame (Lisp_Object frame)
return Qnil;
}
+/*
+ * Read geometry related parameters from preferences if not in PARMS.
+ * Returns the union of parms and any preferences read.
+ */
+
+static Lisp_Object
+get_geometry_from_preferences (struct ns_display_info *dpyinfo,
+ Lisp_Object parms)
+{
+ struct {
+ const char *val;
+ const char *cls;
+ Lisp_Object tem;
+ } r[] = {
+ { "width", "Width", Qwidth },
+ { "height", "Height", Qheight },
+ { "left", "Left", Qleft },
+ { "top", "Top", Qtop },
+ };
+
+ int i;
+ for (i = 0; i < sizeof (r)/sizeof (r[0]); ++i)
+ {
+ if (NILP (Fassq (r[i].tem, parms)))
+ {
+ Lisp_Object value
+ = x_get_arg (dpyinfo, parms, r[i].tem, r[i].val, r[i].cls,
+ RES_TYPE_NUMBER);
+ if (! EQ (value, Qunbound))
+ parms = Fcons (Fcons (r[i].tem, value), parms);
+ }
+ }
+ return parms;
+}
/* ==========================================================================
@@ -1285,6 +1319,7 @@ This function is an internal primitive--use `make-frame' instead. */)
x_default_parameter (f, parms, Qtitle, Qnil, "title", "Title",
RES_TYPE_STRING);
+ parms = get_geometry_from_preferences (dpyinfo, parms);
window_prompting = x_figure_window_size (f, parms, 1);
tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN);
@@ -1511,6 +1546,17 @@ Optional arg INIT, if non-nil, provides a default file name to use. */)
return ret ? fname : Qnil;
}
+const char *
+ns_get_defaults_value (const char *key)
+{
+ NSObject *obj = [[NSUserDefaults standardUserDefaults]
+ objectForKey: [NSString stringWithUTF8String: key]];
+
+ if (!obj) return NULL;
+
+ return [[NSString stringWithFormat: @"%@", obj] UTF8String];
+}
+
DEFUN ("ns-get-resource", Fns_get_resource, Sns_get_resource, 2, 2, 0,
doc: /* Return the value of the property NAME of OWNER from the defaults database.
@@ -1525,9 +1571,7 @@ If OWNER is nil, Emacs is assumed. */)
CHECK_STRING (name);
/*fprintf (stderr, "ns-get-resource checking resource '%s'\n", SDATA (name)); */
- value =[[[NSUserDefaults standardUserDefaults]
- objectForKey: [NSString stringWithUTF8String: SDATA (name)]]
- UTF8String];
+ value = ns_get_defaults_value (SDATA (name));
if (value)
return build_string (value);
@@ -2182,8 +2226,7 @@ x_get_string_resource (XrmDatabase rdb, char *name, char *class)
/* --quick was passed, so this is a no-op. */
return NULL;
- res = [[[NSUserDefaults standardUserDefaults] objectForKey:
- [NSString stringWithUTF8String: toCheck]] UTF8String];
+ res = ns_get_defaults_value (toCheck);
return !res ? NULL :
(!strncasecmp (res, "YES", 3) ? "true" :
(!strncasecmp (res, "NO", 2) ? "false" : res));
diff --git a/src/nsfont.m b/src/nsfont.m
index ca94b07a6bd..7dfb995dd27 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -256,7 +256,7 @@ ns_char_width (NSFont *sfont, int c)
/* Return whether set1 covers set2 to a reasonable extent given by pct.
- We check, out of each 16 unicode char range containing chars in set2,
+ We check, out of each 16 Unicode char range containing chars in set2,
whether at least one character is present in set1.
This must be true for pct of the pairs to consider it covering. */
static BOOL
@@ -297,7 +297,7 @@ static NSString
/* Convert OTF 4-letter script code to emacs script name. (Why can't
- everyone just use some standard unicode names for these?) */
+ everyone just use some standard Unicode names for these?) */
static NSString
*ns_otf_to_script (Lisp_Object otf)
{
@@ -329,7 +329,7 @@ static NSString
/* Searches the :script, :lang, and :otf extra-bundle properties of the spec,
plus registry regular property, for something that can be mapped to a
- unicode script. Empty string returned if no script spec found. */
+ Unicode script. Empty string returned if no script spec found. */
static NSString
*ns_get_req_script (Lisp_Object font_spec)
{
@@ -385,7 +385,7 @@ accumulate_script_ranges (Lisp_Object arg, Lisp_Object range, Lisp_Object val)
}
-/* Use the unicode range information in Vchar_script_table to convert a script
+/* Use the Unicode range information in Vchar_script_table to convert a script
name into an NSCharacterSet. */
static NSCharacterSet
*ns_script_to_charset (NSString *scriptName)
@@ -426,7 +426,7 @@ static NSCharacterSet
If none are found, we reduce the percentage and try again, until 5%.
This provides a font with at least some characters if such can be found.
We don't use isSupersetOfSet: because (a) it doesn't work on Tiger, and
- (b) need approximate match as fonts covering full unicode ranges are rare. */
+ (b) need approximate match as fonts covering full Unicode ranges are rare. */
static NSSet
*ns_get_covering_families (NSString *script, float pct)
{
@@ -1292,7 +1292,7 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block)
if (!unichars || !(font_info->glyphs[block]))
abort ();
- /* create a string containing all unicode characters in this block */
+ /* create a string containing all Unicode characters in this block */
for (idx = block<<8, i =0; i<0x100; idx++, i++)
if (idx < 0xD800 || idx > 0xDFFF)
unichars[i] = idx;
@@ -1487,5 +1487,5 @@ syms_of_nsfont (void)
DEFSYM (Qroman, "roman");
DEFSYM (Qmedium, "medium");
DEFVAR_LISP ("ns-reg-to-script", Vns_reg_to_script,
- doc: /* Internal use: maps font registry to unicode script. */);
+ doc: /* Internal use: maps font registry to Unicode script. */);
}
diff --git a/src/nsgui.h b/src/nsgui.h
index 5cc2eee3230..99c64cd4cde 100644
--- a/src/nsgui.h
+++ b/src/nsgui.h
@@ -65,7 +65,7 @@ typedef struct _XCharStruct
int descent;
} XCharStruct;
-/* Fake tructure from Xlib.h to represent two-byte characters. */
+/* Fake structure from Xlib.h to represent two-byte characters. */
#ifndef __OBJC__
typedef unsigned short unichar;
#endif
@@ -202,4 +202,3 @@ typedef struct _NSRect { NSPoint origin; NSSize size; } NSRect;
#define PWinGravity (1L << 9) /* program specified window gravity */
#endif /* __NSGUI_H__ */
-
diff --git a/src/nsterm.h b/src/nsterm.h
index 574d31c962a..14918cca90d 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -470,7 +470,7 @@ struct nsfont_info
XCharStruct max_bounds;
/* we compute glyph codes and metrics on-demand in blocks of 256 indexed
by hibyte, lobyte */
- unsigned short **glyphs; /* map unicode index to glyph */
+ unsigned short **glyphs; /* map Unicode index to glyph */
struct font_metrics **metrics;
};
@@ -760,6 +760,7 @@ extern void ns_release_object (void *obj);
extern void ns_retain_object (void *obj);
extern void *ns_alloc_autorelease_pool ();
extern void ns_release_autorelease_pool ();
+extern const char *ns_get_defaults_value ();
/* in nsmenu */
extern void update_frame_tool_bar (FRAME_PTR f);
@@ -794,6 +795,7 @@ extern void x_set_tool_bar_lines (struct frame *f,
Lisp_Object oldval);
extern void x_activate_menubar (struct frame *);
extern void free_frame_menubar (struct frame *);
+extern void x_free_frame_resources (struct frame *);
#define NSAPP_DATA2_RUNASSCRIPT 10
extern void ns_run_ascript (void);
diff --git a/src/nsterm.m b/src/nsterm.m
index c5b28d57ac5..1d645943065 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -559,7 +559,7 @@ ns_constrain_all_frames (void)
{
NSView *view = FRAME_NS_VIEW (f);
/* This no-op will trigger the default window placing
- * constriant system. */
+ * constraint system. */
f->output_data.ns->dont_constrain = 0;
[[view window] setFrameOrigin:[[view window] frame].origin];
}
@@ -2108,7 +2108,7 @@ ns_scroll_run (struct window *w, struct run *run)
}
else
{
- /* Scolling down. Make sure we don't copy over the mode line.
+ /* Scrolling down. Make sure we don't copy over the mode line.
at the bottom. */
if (to_y + run->height > bottom_y)
height = bottom_y - to_y;
@@ -3075,7 +3075,7 @@ ns_dumpglyphs_image (struct glyph_string *s, NSRect r)
/* If there is no mask, the background won't be seen,
so draw a rectangle on the image for the cursor.
- Do this for all images, getting trancparency right is not reliable. */
+ Do this for all images, getting transparency right is not reliable. */
if (s->hl == DRAW_CURSOR)
{
int thickness = abs (s->img->relief);
@@ -3824,11 +3824,9 @@ ns_default (const char *parameter, Lisp_Object *result,
Check a parameter value in user's preferences
-------------------------------------------------------------------------- */
{
- const char *value;
+ const char *value = ns_get_defaults_value (parameter);
- if ( (value =[[[NSUserDefaults standardUserDefaults]
- stringForKey: [NSString stringWithUTF8String: parameter]]
- UTF8String]) )
+ if (value)
{
double f;
char *pos;
diff --git a/src/print.c b/src/print.c
index f3302daaea3..b8b7ab371f6 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1627,7 +1627,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
/* Detect circular list. */
if (NILP (Vprint_circle))
{
- /* Simple but imcomplete way. */
+ /* Simple but incomplete way. */
if (i != 0 && EQ (obj, halftail))
{
sprintf (buf, " . #%"pMd, i / 2);
diff --git a/src/process.c b/src/process.c
index 71da2e17670..206af7059fb 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1408,7 +1408,7 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */)
val = XCDR (Vdefault_process_coding_system);
}
XPROCESS (proc)->encode_coding_system = val;
- /* Note: At this momemnt, the above coding system may leave
+ /* Note: At this moment, the above coding system may leave
text-conversion or eol-conversion unspecified. They will be
decided after we read output from the process and decode it by
some coding system, or just before we actually send a text to
@@ -1515,8 +1515,9 @@ start_process_unwind (Lisp_Object proc)
if (!PROCESSP (proc))
abort ();
- /* Was PROC started successfully? */
- if (XPROCESS (proc)->pid == -1)
+ /* Was PROC started successfully?
+ -2 is used for a pty with no process, eg for gdb. */
+ if (XPROCESS (proc)->pid <= 0 && XPROCESS (proc)->pid != -2)
remove_process (proc);
return Qnil;
@@ -3470,7 +3471,7 @@ usage: (make-network-process &rest ARGS) */)
{
/* Setup coding systems for communicating with the network stream. */
- struct gcpro inner_gcpro1;
+ struct gcpro gcpro1;
/* Qt denotes we have not yet called Ffind_operation_coding_system. */
Lisp_Object coding_systems = Qt;
Lisp_Object fargs[5], val;
@@ -3498,9 +3499,9 @@ usage: (make-network-process &rest ARGS) */)
{
fargs[0] = Qopen_network_stream, fargs[1] = name,
fargs[2] = buffer, fargs[3] = host, fargs[4] = service;
- GCPRO1_VAR (proc, inner_gcpro);
+ GCPRO1 (proc);
coding_systems = Ffind_operation_coding_system (5, fargs);
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
}
if (CONSP (coding_systems))
val = XCAR (coding_systems);
@@ -3531,9 +3532,9 @@ usage: (make-network-process &rest ARGS) */)
{
fargs[0] = Qopen_network_stream, fargs[1] = name,
fargs[2] = buffer, fargs[3] = host, fargs[4] = service;
- GCPRO1_VAR (proc, inner_gcpro);
+ GCPRO1 (proc);
coding_systems = Ffind_operation_coding_system (5, fargs);
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
}
}
if (CONSP (coding_systems))
@@ -3713,7 +3714,7 @@ DEFUN ("network-interface-info", Fnetwork_interface_info, Snetwork_interface_inf
doc: /* Return information about network interface named IFNAME.
The return value is a list (ADDR BCAST NETMASK HWADDR FLAGS),
where ADDR is the layer 3 address, BCAST is the layer 3 broadcast address,
-NETMASK is the layer 3 network mask, HWADDR is the layer 2 addres, and
+NETMASK is the layer 3 network mask, HWADDR is the layer 2 address, and
FLAGS is the current flags of the interface. */)
(Lisp_Object ifname)
{
@@ -4606,15 +4607,46 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
some data in the TCP buffers so that select works, but
with custom pull/push functions we need to check if some
data is available in the buffers manually. */
- if (nfds == 0 &&
- wait_proc && wait_proc->gnutls_p /* Check for valid process. */
- /* Do we have pending data? */
- && emacs_gnutls_record_check_pending (wait_proc->gnutls_state) > 0)
- {
- nfds = 1;
- /* Set to Available. */
- FD_SET (wait_proc->infd, &Available);
- }
+ if (nfds == 0)
+ {
+ if (! wait_proc)
+ {
+ /* We're not waiting on a specific process, so loop
+ through all the channels and check for data.
+ This is a workaround needed for some versions of
+ the gnutls library -- 2.12.14 has been confirmed
+ to need it. See
+ http://comments.gmane.org/gmane.emacs.devel/145074 */
+ for (channel = 0; channel < MAXDESC; ++channel)
+ if (! NILP (chan_process[channel]))
+ {
+ struct Lisp_Process *p =
+ XPROCESS (chan_process[channel]);
+ if (p && p->gnutls_p && p->infd
+ && ((emacs_gnutls_record_check_pending
+ (p->gnutls_state))
+ > 0))
+ {
+ nfds++;
+ FD_SET (p->infd, &Available);
+ }
+ }
+ }
+ else
+ {
+ /* Check this specific channel. */
+ if (wait_proc->gnutls_p /* Check for valid process. */
+ /* Do we have pending data? */
+ && ((emacs_gnutls_record_check_pending
+ (wait_proc->gnutls_state))
+ > 0))
+ {
+ nfds = 1;
+ /* Set to Available. */
+ FD_SET (wait_proc->infd, &Available);
+ }
+ }
+ }
#endif
}
diff --git a/src/puresize.h b/src/puresize.h
index a1b7007805b..889d836af78 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -79,21 +79,7 @@ extern void pure_write_error (void) NO_RETURN;
/* Define PURE_P. */
-#ifdef VIRT_ADDR_VARIES
-/* For machines where text and data can go anywhere
- in virtual memory. */
-
extern EMACS_INT pure[];
#define PURE_P(obj) \
- ((PNTR_COMPARISON_TYPE) XPNTR (obj) < (PNTR_COMPARISON_TYPE) ((char *) pure + PURESIZE) \
- && (PNTR_COMPARISON_TYPE) XPNTR (obj) >= (PNTR_COMPARISON_TYPE) pure)
-
-#else /* not VIRT_ADDR_VARIES */
-
-extern char my_edata[];
-
-#define PURE_P(obj) \
- ((PNTR_COMPARISON_TYPE) XPNTR (obj) < (PNTR_COMPARISON_TYPE) my_edata)
-
-#endif /* VIRT_ADDRESS_VARIES */
+ ((uintptr_t) XPNTR (obj) - (uintptr_t) pure <= PURESIZE)
diff --git a/src/regex.c b/src/regex.c
index b7699378f5a..0ba05a95fdb 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -53,7 +53,7 @@
(HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC && !emacs)
#endif
-/* For platform which support the ISO C amendement 1 functionality we
+/* For platform which support the ISO C amendment 1 functionality we
support user defined character classes. */
#if WIDE_CHAR_SUPPORT
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
diff --git a/src/regex.h b/src/regex.h
index eba62f2e769..32ccfb7ddef 100644
--- a/src/regex.h
+++ b/src/regex.h
@@ -582,7 +582,7 @@ extern void regfree _RE_ARGS ((regex_t *__preg));
}
#endif /* C++ */
-/* For platform which support the ISO C amendement 1 functionality we
+/* For platform which support the ISO C amendment 1 functionality we
support user defined character classes. */
#if WIDE_CHAR_SUPPORT
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
@@ -592,7 +592,7 @@ extern void regfree _RE_ARGS ((regex_t *__preg));
#if WIDE_CHAR_SUPPORT
/* The GNU C library provides support for user-defined character classes
- and the functions from ISO C amendement 1. */
+ and the functions from ISO C amendment 1. */
# ifdef CHARCLASS_NAME_MAX
# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
# else
diff --git a/src/s/cygwin.h b/src/s/cygwin.h
index af5308ff7bb..8f5a0ab1fc7 100644
--- a/src/s/cygwin.h
+++ b/src/s/cygwin.h
@@ -91,9 +91,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
why it needed to be changed. */
#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
-/* Virtual addresses of pure and impure space can vary, as on Windows. */
-#define VIRT_ADDR_VARIES
-
/* Emacs supplies its own malloc, but glib (part of Gtk+) calls
memalign and on Cygwin, that becomes the Cygwin-supplied memalign.
As malloc is not the Cygwin malloc, the Cygwin memalign always
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index 37199bcc29b..be457498add 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -100,14 +100,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
header sections which lose when `static' is defined away, as it is
on HP-UX. (You get duplicate symbol errors on linking). */
#undef _FILE_OFFSET_BITS
-
-/* Define VIRT_ADDR_VARIES if the virtual addresses of
- pure and impure space as loaded can vary, and even their
- relative order cannot be relied on.
-
- Otherwise Emacs assumes that text space precedes data space,
- numerically. */
-#define VIRT_ADDR_VARIES
/* The data segment on this machine always starts at address 0x40000000. */
#define DATA_SEG_BITS 0x40000000
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index fb0882860d1..cc19765aba6 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -267,6 +267,8 @@ struct sigaction {
#define getpid _getpid
#ifdef _MSC_VER
typedef int pid_t;
+#define snprintf _snprintf
+#define strtoll _strtoi64
#endif
#define isatty _isatty
#define logb _logb
@@ -275,15 +277,17 @@ typedef int pid_t;
#define popen _popen
#define pclose _pclose
#define umask _umask
+#ifndef _MSC_VER
#define utimbuf _utimbuf
+#endif
#define strdup _strdup
#define strupr _strupr
#define strnicmp _strnicmp
#define stricmp _stricmp
#define tzset _tzset
-#if !defined (_MSC_VER) || (_MSC_VER < 1400)
#define tzname _tzname
+#if !defined (_MSC_VER) || (_MSC_VER < 1400)
#undef utime
#define utime _utime
#endif
@@ -335,7 +339,7 @@ extern char *get_emacs_configuration_options (void);
#define _WINSOCK_H
/* Defines size_t and alloca (). */
-#if (defined(_MSC_VER) && defined(emacs)) || defined(USE_CRT_DLL)
+#ifdef emacs
#define malloc e_malloc
#define free e_free
#define realloc e_realloc
diff --git a/src/search.c b/src/search.c
index df53dbf8d89..160d08e3c8c 100644
--- a/src/search.c
+++ b/src/search.c
@@ -83,11 +83,10 @@ static struct re_registers search_regs;
Qnil if no searching has been done yet. */
static Lisp_Object last_thing_searched;
-/* error condition signaled when regexp compile_pattern fails */
-
+/* Error condition signaled when regexp compile_pattern fails. */
static Lisp_Object Qinvalid_regexp;
-/* Error condition used for failing searches */
+/* Error condition used for failing searches. */
static Lisp_Object Qsearch_failed;
static void set_search_regs (ptrdiff_t, ptrdiff_t);
@@ -1893,7 +1892,7 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat,
|| CHAR_HEAD_P (cursor[1]))
&& (CHAR_HEAD_P (cursor[0])
/* Check if this is the last byte of
- a translable character. */
+ a translatable character. */
|| (translate_prev_byte1 == cursor[-1]
&& (CHAR_HEAD_P (translate_prev_byte1)
|| (translate_prev_byte2 == cursor[-2]
@@ -1992,7 +1991,7 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat,
|| CHAR_HEAD_P (ptr[1]))
&& (CHAR_HEAD_P (ptr[0])
/* Check if this is the last byte of a
- translable character. */
+ translatable character. */
|| (translate_prev_byte1 == ptr[-1]
&& (CHAR_HEAD_P (translate_prev_byte1)
|| (translate_prev_byte2 == ptr[-2]
@@ -2079,13 +2078,16 @@ set_search_regs (ptrdiff_t beg_byte, ptrdiff_t nbytes)
XSETBUFFER (last_thing_searched, current_buffer);
}
-/* Given STRING, a string of words separated by word delimiters,
- compute a regexp that matches those exact words separated by
- arbitrary punctuation. If LAX is nonzero, the end of the string
- need not match a word boundary unless it ends in whitespace. */
-
-static Lisp_Object
-wordify (Lisp_Object string, int lax)
+DEFUN ("word-search-regexp", Fword_search_regexp, Sword_search_regexp, 1, 2, 0,
+ doc: /* Return a regexp which matches words, ignoring punctuation.
+Given STRING, a string of words separated by word delimiters,
+compute a regexp that matches those exact words separated by
+arbitrary punctuation. If LAX is non-nil, the end of the string
+need not match a word boundary unless it ends in whitespace.
+
+Used in `word-search-forward', `word-search-backward',
+`word-search-forward-lax', `word-search-backward-lax'. */)
+ (Lisp_Object string, Lisp_Object lax)
{
register unsigned char *o;
register ptrdiff_t i, i_byte, len, punct_count = 0, word_count = 0;
@@ -2129,7 +2131,7 @@ wordify (Lisp_Object string, int lax)
if (TYPE_MAXIMUM (EMACS_INT) / 5 < adjust)
memory_full (SIZE_MAX);
adjust = - punct_count + 5 * adjust
- + ((lax && !whitespace_at_end) ? 2 : 4);
+ + ((!NILP (lax) && !whitespace_at_end) ? 2 : 4);
if (STRING_MULTIBYTE (string))
{
if (INT_ADD_OVERFLOW (SBYTES (string), adjust))
@@ -2173,7 +2175,7 @@ wordify (Lisp_Object string, int lax)
prev_c = c;
}
- if (!lax || whitespace_at_end)
+ if (NILP (lax) || whitespace_at_end)
{
*o++ = '\\';
*o++ = 'b';
@@ -2228,10 +2230,14 @@ An optional second argument bounds the search; it is a buffer position.
The match found must not extend before that position.
Optional third argument, if t, means if fail just return nil (no error).
If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences. */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation. */)
(Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
{
- return search_command (wordify (string, 0), bound, noerror, count, -1, 1, 0);
+ return search_command (Fword_search_regexp (string, Qnil), bound, noerror, count, -1, 1, 0);
}
DEFUN ("word-search-forward", Fword_search_forward, Sword_search_forward, 1, 4,
@@ -2242,10 +2248,14 @@ An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.
Optional third argument, if t, means if fail just return nil (no error).
If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences. */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation. */)
(Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
{
- return search_command (wordify (string, 0), bound, noerror, count, 1, 1, 0);
+ return search_command (Fword_search_regexp (string, Qnil), bound, noerror, count, 1, 1, 0);
}
DEFUN ("word-search-backward-lax", Fword_search_backward_lax, Sword_search_backward_lax, 1, 4,
@@ -2260,10 +2270,14 @@ An optional second argument bounds the search; it is a buffer position.
The match found must not extend before that position.
Optional third argument, if t, means if fail just return nil (no error).
If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences. */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation. */)
(Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
{
- return search_command (wordify (string, 1), bound, noerror, count, -1, 1, 0);
+ return search_command (Fword_search_regexp (string, Qt), bound, noerror, count, -1, 1, 0);
}
DEFUN ("word-search-forward-lax", Fword_search_forward_lax, Sword_search_forward_lax, 1, 4,
@@ -2278,10 +2292,14 @@ An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.
Optional third argument, if t, means if fail just return nil (no error).
If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences. */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation. */)
(Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
{
- return search_command (wordify (string, 1), bound, noerror, count, 1, 1, 0);
+ return search_command (Fword_search_regexp (string, Qt), bound, noerror, count, 1, 1, 0);
}
DEFUN ("re-search-backward", Fre_search_backward, Sre_search_backward, 1, 4,
@@ -3157,7 +3175,7 @@ record_unwind_save_match_data (void)
Fmatch_data (Qnil, Qnil, Qnil));
}
-/* Quote a string to inactivate reg-expr chars */
+/* Quote a string to deactivate reg-expr chars */
DEFUN ("regexp-quote", Fregexp_quote, Sregexp_quote, 1, 1, 0,
doc: /* Return a regexp string which matches exactly STRING and nothing else. */)
@@ -3254,6 +3272,7 @@ is to bind it with `let' around a small expression. */);
defsubr (&Sposix_string_match);
defsubr (&Ssearch_forward);
defsubr (&Ssearch_backward);
+ defsubr (&Sword_search_regexp);
defsubr (&Sword_search_forward);
defsubr (&Sword_search_backward);
defsubr (&Sword_search_forward_lax);
diff --git a/src/sound.c b/src/sound.c
index 9e15caae3ea..af9dc98c3d3 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -267,7 +267,7 @@ struct sound
read from the start of a sound file. */
char *header;
- /* Number of bytes raed from sound file. This is always <=
+ /* Number of bytes read from sound file. This is always <=
MAX_SOUND_HEADER_BYTES. */
int header_size;
diff --git a/src/sysdep.c b/src/sysdep.c
index 9b4bd088046..bd8a1020441 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -433,7 +433,7 @@ child_setup_tty (int out)
#endif /* AIX */
/* We originally enabled ICANON (and set VEOF to 04), and then had
- proces.c send additional EOF chars to flush the output when faced
+ process.c send additional EOF chars to flush the output when faced
with long lines, but this leads to weird effects when the
subprocess has disabled ICANON and ends up seeing those spurious
extra EOFs. So we don't send EOFs any more in
@@ -1663,7 +1663,7 @@ init_signals (void)
sys_siglist[SIGQUIT] = "Quit";
# endif
# ifdef SIGRETRACT
- sys_siglist[SIGRETRACT] = "Need to relinguish monitor mode";
+ sys_siglist[SIGRETRACT] = "Need to relinquish monitor mode";
# endif
# ifdef SIGSAK
sys_siglist[SIGSAK] = "Secure attention";
diff --git a/src/term.c b/src/term.c
index fb3166a6e50..036f5797e48 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3234,7 +3234,7 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
MultiLeft (tty) = tgetstr ("LE", address);
MultiRight (tty) = tgetstr ("RI", address);
- /* SVr4/ANSI color suppert. If "op" isn't available, don't support
+ /* SVr4/ANSI color support. If "op" isn't available, don't support
color because we can't switch back to the default foreground and
background. */
tty->TS_orig_pair = tgetstr ("op", address);
diff --git a/src/textprop.c b/src/textprop.c
index a877e2a67ae..1a635444b00 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -1625,7 +1625,7 @@ Return t if any property was actually removed, nil otherwise. */)
DEFUN ("text-property-any", Ftext_property_any,
Stext_property_any, 4, 5, 0,
- doc: /* Check text from START to END for property PROPERTY equalling VALUE.
+ doc: /* Check text from START to END for property PROPERTY equaling VALUE.
If so, return the position of the first character whose property PROPERTY
is `eq' to VALUE. Otherwise return nil.
If the optional fifth argument OBJECT is a buffer (or nil, which means
@@ -1661,7 +1661,7 @@ markers). If OBJECT is a string, START and END are 0-based indices into it. */
DEFUN ("text-property-not-all", Ftext_property_not_all,
Stext_property_not_all, 4, 5, 0,
- doc: /* Check text from START to END for property PROPERTY not equalling VALUE.
+ doc: /* Check text from START to END for property PROPERTY not equaling VALUE.
If so, return the position of the first character whose property PROPERTY
is not `eq' to VALUE. Otherwise, return nil.
If the optional fifth argument OBJECT is a buffer (or nil, which means
diff --git a/src/unexelf.c b/src/unexelf.c
index 04c029f7e80..1715c3670ca 100644
--- a/src/unexelf.c
+++ b/src/unexelf.c
@@ -1219,9 +1219,15 @@ temacs:
nn = symp->st_shndx;
if (nn > old_bss_index)
nn--;
- old = ((symp->st_value - NEW_SECTION_H (symp->st_shndx).sh_addr)
- + OLD_SECTION_H (nn).sh_offset + old_base);
- memcpy (new, old, symp->st_size);
+ if (nn == old_bss_index)
+ memset (new, 0, symp->st_size);
+ else
+ {
+ old = ((symp->st_value
+ - NEW_SECTION_H (symp->st_shndx).sh_addr)
+ + OLD_SECTION_H (nn).sh_offset + old_base);
+ memcpy (new, old, symp->st_size);
+ }
}
#endif
}
diff --git a/src/w32.c b/src/w32.c
index b2b47dbd179..b26327462d8 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -1654,6 +1654,24 @@ init_environment (char ** argv)
}
}
+ /* When Emacs is invoked with --no-site-lisp, we must remove the
+ site-lisp directories from the default value of EMACSLOADPATH.
+ This assumes that the site-lisp entries are at the front, and
+ that additional entries do exist. */
+ if (no_site_lisp)
+ {
+ for (i = 0; i < N_ENV_VARS; i++)
+ {
+ if (strcmp (env_vars[i].name, "EMACSLOADPATH") == 0)
+ {
+ char *site;
+ while ((site = strstr (env_vars[i].def_value, "site-lisp")))
+ env_vars[i].def_value = strchr (site, ';') + 1;
+ break;
+ }
+ }
+ }
+
#define SET_ENV_BUF_SIZE (4 * MAX_PATH) /* to cover EMACSLOADPATH */
/* Treat emacs_dir specially: set it unconditionally based on our
@@ -3057,7 +3075,7 @@ generate_inode_val (const char * name)
unsigned hash;
/* Get the truly canonical filename, if it exists. (Note: this
- doesn't resolve aliasing due to subst commands, or recognise hard
+ doesn't resolve aliasing due to subst commands, or recognize hard
links. */
if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH))
abort ();
@@ -5845,7 +5863,7 @@ term_ntproc (void)
void
init_ntproc (void)
{
- /* Initialise the socket interface now if available and requested by
+ /* Initialize the socket interface now if available and requested by
the user by defining PRELOAD_WINSOCK; otherwise loading will be
delayed until open-network-stream is called (w32-has-winsock can
also be used to dynamically load or reload winsock).
diff --git a/src/w32console.c b/src/w32console.c
index 49bf56ddee9..30c71f1c276 100644
--- a/src/w32console.c
+++ b/src/w32console.c
@@ -748,7 +748,7 @@ syms_of_ntterm (void)
doc: /* Non-nil means make terminal frames use the full screen buffer dimensions.
This is desirable when running Emacs over telnet.
A value of nil means use the current console window dimensions; this
-may be preferrable when working directly at the console with a large
+may be preferable when working directly at the console with a large
scroll-back buffer. */);
w32_use_full_screen_buffer = 0;
@@ -757,4 +757,3 @@ scroll-back buffer. */);
defsubr (&Sset_cursor_size);
defsubr (&Sset_message_beep);
}
-
diff --git a/src/w32fns.c b/src/w32fns.c
index aa4650dd7b2..20284108185 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -2262,7 +2262,7 @@ w32_msg_pump (deferred_msg * msg_buf)
some third party shell extensions can cause it to be used in
system dialogs, which causes a crash if it is not initialized.
This is a known bug in Windows, which was fixed long ago, but
- the patch for XP is not publically available until XP SP3,
+ the patch for XP is not publicly available until XP SP3,
and older versions will never be patched. */
CoInitialize (NULL);
w32_createwindow ((struct frame *) msg.wParam);
@@ -2417,7 +2417,7 @@ complete_deferred_msg (HWND hwnd, UINT msg, LRESULT result)
deferred_msg * msg_buf = find_deferred_msg (hwnd, msg);
if (msg_buf == NULL)
- /* Message may have been cancelled, so don't abort. */
+ /* Message may have been canceled, so don't abort. */
return;
msg_buf->result = result;
@@ -2538,7 +2538,7 @@ post_character_message (HWND hwnd, UINT msg,
the lisp thread to respond.
Note that we don't want to block the input thread waiting for
- a reponse from the lisp thread (although that would at least
+ a response from the lisp thread (although that would at least
solve the deadlock problem above), because we want to be able
to receive C-g to interrupt the lisp thread. */
cancel_all_deferred_msgs ();
@@ -2880,7 +2880,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
key.dwControlKeyState = modifiers;
add = w32_kbd_patch_key (&key);
- /* 0 means an unrecognised keycode, negative means
+ /* 0 means an unrecognized keycode, negative means
dead key. Ignore both. */
while (--add >= 0)
{
@@ -2943,7 +2943,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
break;
case WM_IME_CHAR:
- /* If we can't get the IME result as unicode, use default processing,
+ /* If we can't get the IME result as Unicode, use default processing,
which will at least allow characters decodable in the system locale
get through. */
if (!get_composition_string_fn)
@@ -3711,7 +3711,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
if (w32_system_caret_hwnd == NULL)
{
/* Use the default caret width, and avoid changing it
- unneccesarily, as it confuses screen reader software. */
+ unnecessarily, as it confuses screen reader software. */
w32_system_caret_hwnd = hwnd;
CreateCaret (hwnd, NULL, 0,
w32_system_caret_height);
@@ -3749,7 +3749,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
flags |= TPM_RIGHTBUTTON;
/* Remember we did a SetCapture on the initial mouse down event,
- so for safety, we make sure the capture is cancelled now. */
+ so for safety, we make sure the capture is canceled now. */
ReleaseCapture ();
button_state = 0;
@@ -4951,7 +4951,7 @@ If TYPE is nil or omitted, get the property as a string.
Otherwise TYPE is the name of the atom that denotes the type expected.
If SOURCE is non-nil, get the property on that window instead of from
FRAME. The number 0 denotes the root window.
-If DELETE_P is non-nil, delete the property after retreiving it.
+If DELETE_P is non-nil, delete the property after retrieving it.
If VECTOR_RET_P is non-nil, don't return a string but a vector of values.
Value is nil if FRAME hasn't a property with name PROP or if PROP has
@@ -5011,7 +5011,8 @@ no value of TYPE (always string in the MS Windows case). */)
cursor. Duplicated from xdisp.c, but cannot use the version there
due to lack of atimers on w32. */
#define DEFAULT_HOURGLASS_DELAY 1
-/* Return non-zero if houglass timer has been started or hourglass is shown. */
+/* Return non-zero if hourglass timer has been started or hourglass is
+ shown. */
/* PENDING: if W32 can use atimers (atimer.[hc]) then the common impl in
xdisp.c could be used. */
@@ -6031,7 +6032,7 @@ Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */)
file = DECODE_FILE (build_string (filename));
}
- /* User cancelled the dialog without making a selection. */
+ /* User canceled the dialog without making a selection. */
else if (!CommDlgExtendedError ())
file = Qnil;
/* An error occurred, fallback on reading from the mini-buffer. */
diff --git a/src/w32font.c b/src/w32font.c
index bd58e7e757b..5cc37c0e74f 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -462,7 +462,7 @@ w32font_has_char (Lisp_Object entity, int c)
Return a glyph code of FONT for character C (Unicode code point).
If FONT doesn't have such a glyph, return FONT_INVALID_CODE.
- For speed, the gdi backend uses unicode (Emacs calls encode_char
+ For speed, the gdi backend uses Unicode (Emacs calls encode_char
far too often for it to be efficient). But we still need to detect
which characters are not supported by the font.
*/
@@ -620,7 +620,7 @@ w32font_text_extents (struct font *font, unsigned *code,
total_width = size.cx;
}
- /* On 95/98/ME, only some unicode functions are available, so fallback
+ /* On 95/98/ME, only some Unicode functions are available, so fallback
on doing a dummy draw to find the total width. */
if (!total_width)
{
@@ -1153,7 +1153,7 @@ w32_enumfont_pattern_entity (Lisp_Object frame,
else
ASET (entity, FONT_SIZE_INDEX, make_number (0));
- /* Cache unicode codepoints covered by this font, as there is no other way
+ /* Cache Unicode codepoints covered by this font, as there is no other way
of getting this information easily. */
if (font_type & TRUETYPE_FONTTYPE)
{
@@ -1514,7 +1514,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font,
/* Skip non matching fonts. */
/* For uniscribe backend, consider only truetype or opentype fonts
- that have some unicode coverage. */
+ that have some Unicode coverage. */
if (match_data->opentype_only
&& ((!(physical_font->ntmTm.ntmFlags & NTMFLAGS_OPENTYPE)
&& !(font_type & TRUETYPE_FONTTYPE))
@@ -1557,7 +1557,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font,
Lisp_Object spec_charset = AREF (match_data->orig_font_spec,
FONT_REGISTRY_INDEX);
- /* iso10646-1 fonts must contain unicode mapping tables. */
+ /* iso10646-1 fonts must contain Unicode mapping tables. */
if (EQ (spec_charset, Qiso10646_1))
{
if (!is_unicode)
@@ -1572,7 +1572,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font,
&& !(physical_font->ntmFontSig.fsUsb[0] & 0x007F001F))
return 1;
}
- /* unicode-sip fonts must contain characters in unicode plane 2.
+ /* unicode-sip fonts must contain characters in Unicode plane 2.
so look for bit 57 (surrogates) in the Unicode subranges, plus
the bits for CJK ranges that include those characters. */
else if (EQ (spec_charset, Qunicode_sip))
@@ -1597,7 +1597,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font,
ASET (entity, FONT_REGISTRY_INDEX, spec_charset);
}
/* Otherwise if using the uniscribe backend, report ANSI and DEFAULT
- fonts as unicode and skip other charsets. */
+ fonts as Unicode and skip other charsets. */
else if (match_data->opentype_only)
{
if (logical_font->elfLogFont.lfCharSet == ANSI_CHARSET
@@ -1640,7 +1640,7 @@ x_to_w32_charset (char * lpcs)
if (strncmp (lpcs, "*-#", 3) == 0)
return atoi (lpcs + 3);
- /* All Windows fonts qualify as unicode. */
+ /* All Windows fonts qualify as Unicode. */
if (!strncmp (lpcs, "iso10646", 8))
return DEFAULT_CHARSET;
@@ -1925,7 +1925,7 @@ w32_registry (LONG w32_charset, DWORD font_type)
{
char *charset;
- /* If charset is defaulted, charset is unicode or unknown, depending on
+ /* If charset is defaulted, charset is Unicode or unknown, depending on
font type. */
if (w32_charset == DEFAULT_CHARSET)
return font_type == TRUETYPE_FONTTYPE ? Qiso10646_1 : Qunknown;
@@ -2080,7 +2080,7 @@ fill_in_logfont (FRAME_PTR f, LOGFONT *logfont, Lisp_Object font_spec)
{
Lisp_Object key, val;
key = XCAR (tmp), val = XCDR (tmp);
- /* Only use QCscript if charset is not provided, or is unicode
+ /* Only use QCscript if charset is not provided, or is Unicode
and a single script is specified. This is rather crude,
and is only used to narrow down the fonts returned where
there is a definite match. Some scripts, such as latin, han,
diff --git a/src/w32menu.c b/src/w32menu.c
index 93194b68018..369b75877e8 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -1219,7 +1219,7 @@ simple_dialog_show (FRAME_PTR f, Lisp_Object contents, Lisp_Object header)
is_simple_dialog, we don't need to worry about checking contents
to see what type of dialog to use. */
- /* Use unicode if possible, so any language can be displayed. */
+ /* Use Unicode if possible, so any language can be displayed. */
if (unicode_message_box)
{
WCHAR *text, *title;
@@ -1476,7 +1476,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item)
utf16_string);
if (!return_value)
{
- /* On W9x/ME, unicode menus are not supported, though AppendMenuW
+ /* On W9x/ME, Unicode menus are not supported, though AppendMenuW
apparently does exist at least in some cases and appears to be
stubbed out to do nothing. out_string is UTF-8, but since
our standard menus are in English and this is only going to
@@ -1486,7 +1486,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item)
AppendMenu (menu, fuFlags,
item != NULL ? (UINT) item: (UINT) wv->call_data,
out_string);
- /* Don't use unicode menus in future. */
+ /* Don't use Unicode menus in future. */
unicode_append_menu = NULL;
}
diff --git a/src/w32proc.c b/src/w32proc.c
index 279816bcc3e..254a32503c4 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -122,12 +122,12 @@ new_child (void)
for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
if (!CHILD_ACTIVE (cp))
- goto Initialise;
+ goto Initialize;
if (child_proc_count == MAX_CHILDREN)
return NULL;
cp = &child_procs[child_proc_count++];
- Initialise:
+ Initialize:
memset (cp, 0, sizeof (*cp));
cp->fd = -1;
cp->pid = -1;
@@ -821,7 +821,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
The w32 GNU-based library from Cygnus doubles quotes to escape
them, while MSVC uses backslash for escaping. (Actually the MSVC
- startup code does attempt to recognise doubled quotes and accept
+ startup code does attempt to recognize doubled quotes and accept
them, but gets it wrong and ends up requiring three quotes to get a
single embedded quote!) So by default we decide whether to use
quote or backslash as the escape character based on whether the
diff --git a/src/w32select.c b/src/w32select.c
index e3225c3f996..392cb07a96d 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -39,7 +39,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
*
* When copying or cutting (sending data to the OS), the data is
* announced and stored internally, but only actually rendered on
- * request. The requester determines the format provided. The
+ * request. The requestor determines the format provided. The
* {next-}selection-coding-system is only used, when its corresponding
* clipboard type matches the type requested.
*
@@ -335,7 +335,7 @@ render_all (Lisp_Object ignore)
OpenClipboard (NULL);
- /* There is no usefull means to report errors here, there are none
+ /* There is no useful means to report errors here, there are none
expected anyway, and even if there were errors, they wouldn't do
any harm. So we just go ahead and do what has to be done without
bothering with error handling. */
@@ -750,7 +750,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
else
{
/* Advertise all supported formats so that whatever the
- requester chooses, only one encoding step needs to be
+ requestor chooses, only one encoding step needs to be
made. This is intentionally different from what we do in
the handler for WM_RENDERALLFORMATS. */
SetClipboardData (CF_UNICODETEXT, NULL);
@@ -1138,4 +1138,3 @@ globals_of_w32select (void)
clipboard_owner = create_owner ();
}
-
diff --git a/src/w32term.c b/src/w32term.c
index e9fa16ba325..6df218326d1 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -2665,7 +2665,7 @@ x_scroll_run (struct window *w, struct run *run)
}
else
{
- /* Scolling down. Make sure we don't copy over the mode line.
+ /* Scrolling down. Make sure we don't copy over the mode line.
at the bottom. */
if (to_y + run->height > bottom_y)
height = bottom_y - to_y;
@@ -4506,7 +4506,7 @@ w32_read_socket (struct terminal *terminal, int expected,
}
/* If window has been obscured or exposed by another window
- being maximised or minimised/restored, then recheck
+ being maximized or minimized/restored, then recheck
visibility of all frames. Direct changes to our own
windows get handled by WM_SIZE. */
#if 0
@@ -5576,7 +5576,7 @@ x_raise_frame (struct frame *f)
input focus anyway (so the window with focus will never be
completely obscured) - if not, then just moving the mouse over it
is sufficient to give it focus. On Windows, the user must actually
- click on the frame (preferrably the title bar so as not to move
+ click on the frame (preferably the title bar so as not to move
point), which is more awkward. Also, no other Windows program
raises a window to the top but leaves another window (possibly now
completely obscured) with input focus.
@@ -5692,10 +5692,10 @@ x_make_frame_visible (struct frame *f)
/* According to a report in emacs-devel 2008-06-03, SW_SHOWNORMAL
causes unexpected behavior when unminimizing frames that were
- previously maximised. But only SW_SHOWNORMAL works properly for
+ previously maximized. But only SW_SHOWNORMAL works properly for
frames that were truely hidden (using make-frame-invisible), so
we need it to avoid Bug#5482. It seems that async_iconified
- is only set for minimised windows that are still visible, so
+ is only set for minimized windows that are still visible, so
use that to determine the appropriate flag to pass ShowWindow. */
my_show_window (f, FRAME_W32_WINDOW (f),
f->async_iconified ? SW_RESTORE : SW_SHOWNORMAL);
@@ -6164,7 +6164,7 @@ w32_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
dpyinfo->has_palette = GetDeviceCaps (hdc, RASTERCAPS) & RC_PALETTE;
ReleaseDC (NULL, hdc);
- /* initialise palette with white and black */
+ /* initialize palette with white and black */
{
XColor color;
w32_defined_color (0, "white", &color, 1);
diff --git a/src/w32term.h b/src/w32term.h
index 02392133837..f587ee11af9 100644
--- a/src/w32term.h
+++ b/src/w32term.h
@@ -209,7 +209,7 @@ extern int x_display_pixel_width (struct w32_display_info *);
the information that is specific to W32 windows. */
/* Put some things in x_output for compatibility.
- NTEMACS_TODO: Move all common things here to eliminate unneccesary
+ NTEMACS_TODO: Move all common things here to eliminate unnecessary
diffs between X and w32 code. */
struct x_output
{
@@ -229,7 +229,7 @@ enum
{
/* Values for focus_state, used as bit mask.
EXPLICIT means we received a FocusIn for the frame and know it has
- the focus. IMPLICIT means we recevied an EnterNotify and the frame
+ the focus. IMPLICIT means we received an EnterNotify and the frame
may have the focus if no window manager is running.
FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
FOCUS_NONE = 0,
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index 36197b3b28a..63da3b9e962 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -469,7 +469,7 @@ uniscribe_encode_char (struct font *font, int c)
/* Non BMP characters must be handled by the uniscribe shaping
engine as GDI functions (except blindly displaying lines of
- unicode text) and the promising looking ScriptGetCMap do not
+ Unicode text) and the promising looking ScriptGetCMap do not
convert surrogate pairs to glyph indexes correctly. */
{
items = (SCRIPT_ITEM *) alloca (sizeof (SCRIPT_ITEM) * 2 + 1);
@@ -581,7 +581,7 @@ add_opentype_font_name_to_list (ENUMLOGFONTEX *logical_font,
&& font_type != TRUETYPE_FONTTYPE)
return 1;
- /* Skip fonts that have no unicode coverage. */
+ /* Skip fonts that have no Unicode coverage. */
if (!physical_font->ntmFontSig.fsUsb[3]
&& !physical_font->ntmFontSig.fsUsb[2]
&& !physical_font->ntmFontSig.fsUsb[1]
diff --git a/src/w32xfns.c b/src/w32xfns.c
index fbbf11bd65c..fc2d5904d67 100644
--- a/src/w32xfns.c
+++ b/src/w32xfns.c
@@ -188,7 +188,7 @@ get_next_msg (W32Msg * lpmsg, BOOL bWait)
}
nQueue--;
- /* Consolidate WM_PAINT messages to optimise redrawing. */
+ /* Consolidate WM_PAINT messages to optimize redrawing. */
if (lpmsg->msg.message == WM_PAINT && nQueue)
{
int_msg * lpCur = lpHead;
@@ -441,4 +441,3 @@ void
x_sync (void *f)
{
}
-
diff --git a/src/widget.c b/src/widget.c
index 0582718948d..96bfd4787e9 100644
--- a/src/widget.c
+++ b/src/widget.c
@@ -476,6 +476,9 @@ update_wm_hints (EmacsFrame ew)
int base_height;
int min_rows = 0, min_cols = 0;
+ /* This happens when the frame is just created. */
+ if (! wmshell) return;
+
#if 0
check_frame_size (ew->emacs_frame.frame, &min_rows, &min_cols);
#endif
@@ -506,6 +509,14 @@ update_wm_hints (EmacsFrame ew)
NULL);
}
+void
+widget_update_wm_size_hints (Widget widget)
+{
+ EmacsFrame ew = (EmacsFrame)widget;
+ update_wm_hints (ew);
+}
+
+
#if 0
static void
@@ -808,7 +819,7 @@ EmacsFrameQueryGeometry (Widget widget, XtWidgetGeometry *request, XtWidgetGeome
return result->request_mode ? XtGeometryAlmost : XtGeometryYes;
}
-/* Special entrypoints */
+/* Special entry points */
void
EmacsFrameSetCharSize (Widget widget, int columns, int rows)
{
diff --git a/src/widget.h b/src/widget.h
index f64f188e158..11041d54ad0 100644
--- a/src/widget.h
+++ b/src/widget.h
@@ -92,9 +92,9 @@ extern WidgetClass emacsFrameClass;
extern struct _DisplayContext* display_context;
-/* Special entrypoints */
+/* Special entry points */
void EmacsFrameSetCharSize (Widget, int, int);
void widget_store_internal_border (Widget widget);
+void widget_update_wm_size_hints (Widget widget);
#endif /* _EmacsFrame_h */
-
diff --git a/src/window.c b/src/window.c
index 60d17c74de3..3b9705444f9 100644
--- a/src/window.c
+++ b/src/window.c
@@ -465,10 +465,8 @@ Return nil if WINDOW has no previous sibling. */)
return decode_any_window (window)->prev;
}
-DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 0, 1, 0,
+DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 1, 1, 0,
doc: /* Return combination limit of window WINDOW.
-If WINDOW is omitted or nil, it defaults to the selected window.
-
If the return value is nil, child windows of WINDOW can be recombined with
WINDOW's siblings. A return value of t means that child windows of
WINDOW are never \(re-)combined with WINDOW's siblings. */)
@@ -478,18 +476,16 @@ WINDOW are never \(re-)combined with WINDOW's siblings. */)
}
DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_window_combination_limit, 2, 2, 0,
- doc: /* Set combination limit of window WINDOW to STATUS; return STATUS.
-If WINDOW is omitted or nil, it defaults to the selected window.
-
-If STATUS is nil, child windows of WINDOW can be recombined with
-WINDOW's siblings. STATUS t means that child windows of WINDOW are
+ doc: /* Set combination limit of window WINDOW to LIMIT; return LIMIT.
+If LIMIT is nil, child windows of WINDOW can be recombined with
+WINDOW's siblings. LIMIT t means that child windows of WINDOW are
never \(re-)combined with WINDOW's siblings. Other values are reserved
for future use. */)
- (Lisp_Object window, Lisp_Object status)
+ (Lisp_Object window, Lisp_Object limit)
{
register struct window *w = decode_any_window (window);
- w->combination_limit = status;
+ w->combination_limit = limit;
return w->combination_limit;
}
@@ -1056,6 +1052,7 @@ window_relative_x_coord (struct window *w, enum window_part part, int x)
DEFUN ("coordinates-in-window-p", Fcoordinates_in_window_p,
Scoordinates_in_window_p, 2, 2, 0,
doc: /* Return non-nil if COORDINATES are in WINDOW.
+WINDOW must be a live window.
COORDINATES is a cons of the form (X . Y), X and Y being distances
measured in characters from the upper-left corner of the frame.
\(0 . 0) denotes the character in the upper left corner of the
@@ -1077,7 +1074,7 @@ If they are in the windows's left or right marginal areas, `left-margin'\n\
int x, y;
Lisp_Object lx, ly;
- CHECK_WINDOW (window);
+ CHECK_LIVE_WINDOW (window);
w = XWINDOW (window);
f = XFRAME (w->frame);
CHECK_CONS (coordinates);
@@ -2186,7 +2183,7 @@ next_window (Lisp_Object window, Lisp_Object minibuf, Lisp_Object all_frames, in
DEFUN ("next-window", Fnext_window, Snext_window, 0, 3, 0,
- doc: /* Return window following WINDOW in cyclic ordering of windows.
+ doc: /* Return live window after WINDOW in the cyclic ordering of windows.
WINDOW must be a live window and defaults to the selected one. The
optional arguments MINIBUF and ALL-FRAMES specify the set of windows to
consider.
@@ -2225,7 +2222,7 @@ windows, eventually ending up back at the window you started with.
DEFUN ("previous-window", Fprevious_window, Sprevious_window, 0, 3, 0,
- doc: /* Return window preceding WINDOW in cyclic ordering of windows.
+ doc: /* Return live window before WINDOW in the cyclic ordering of windows.
WINDOW must be a live window and defaults to the selected one. The
optional arguments MINIBUF and ALL-FRAMES specify the set of windows to
consider.
@@ -3092,7 +3089,7 @@ This function runs `window-scroll-functions' before running
error ("Window is dedicated to `%s'", SDATA (BVAR (XBUFFER (tem), name)));
else
/* WINDOW is weakly dedicated to its buffer, reset
- dedicatedness. */
+ dedication. */
w->dedicated = Qnil;
call1 (Qrecord_window_buffer, window);
@@ -5772,20 +5769,37 @@ get_leaf_windows (struct window *w, struct window **flat, int i)
/* Return a pointer to the glyph W's physical cursor is on. Value is
- null if W's current matrix is invalid, so that no meaningfull glyph
+ null if W's current matrix is invalid, so that no meaningful glyph
can be returned. */
struct glyph *
get_phys_cursor_glyph (struct window *w)
{
struct glyph_row *row;
struct glyph *glyph;
+ int hpos = w->phys_cursor.hpos;
+
+ if (!(w->phys_cursor.vpos >= 0
+ && w->phys_cursor.vpos < w->current_matrix->nrows))
+ return NULL;
+
+ row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos);
+ if (!row->enabled_p)
+ return NULL;
+
+ if (XINT (w->hscroll))
+ {
+ /* When the window is hscrolled, cursor hpos can legitimately be
+ out of bounds, but we draw the cursor at the corresponding
+ window margin in that case. */
+ if (!row->reversed_p && hpos < 0)
+ hpos = 0;
+ if (row->reversed_p && hpos >= row->used[TEXT_AREA])
+ hpos = row->used[TEXT_AREA] - 1;
+ }
- if (w->phys_cursor.vpos >= 0
- && w->phys_cursor.vpos < w->current_matrix->nrows
- && (row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos),
- row->enabled_p)
- && row->used[TEXT_AREA] > w->phys_cursor.hpos)
- glyph = row->glyphs[TEXT_AREA] + w->phys_cursor.hpos;
+ if (row->used[TEXT_AREA] > hpos
+ && 0 <= hpos)
+ glyph = row->glyphs[TEXT_AREA] + hpos;
else
glyph = NULL;
@@ -6287,7 +6301,7 @@ freeze_window_starts (struct frame *f, int freeze_p)
ignore_positions non-zero means ignore non-matching scroll positions
and the like.
- This ignores a couple of things like the dedicatedness status of
+ This ignores a couple of things like the dedication status of
window, combination_limit and the like. This might have to be
fixed. */
@@ -6521,10 +6535,10 @@ sibling.
Other values are reserved for future use.
-The value of this variable is also assigned to the combination-limit
-status of the new parent window. The combination-limit status of a
-window can be retrieved via the function `window-combination-limit' and
-altered by the function `set-window-combination-limit'. */);
+The value of this variable is also assigned to the combination limit of
+the new parent window. The combination limit of a window can be
+retrieved via the function `window-combination-limit' and altered by the
+function `set-window-combination-limit'. */);
Vwindow_combination_limit = Qnil;
defsubr (&Sselected_window);
diff --git a/src/window.h b/src/window.h
index de0f7307a51..b4e268b1a34 100644
--- a/src/window.h
+++ b/src/window.h
@@ -268,7 +268,7 @@ struct window
/* List of buffers re-shown in this window. */
Lisp_Object next_buffers;
- /* An alist with parameteres. */
+ /* An alist with parameters. */
Lisp_Object window_parameters;
/* No Lisp data may follow below this point without changing
@@ -877,7 +877,7 @@ extern int buffer_shared;
extern void check_frame_size (struct frame *frame, int *rows, int *cols);
/* Return a pointer to the glyph W's physical cursor is on. Value is
- null if W's current matrix is invalid, so that no meaningfull glyph
+ null if W's current matrix is invalid, so that no meaningful glyph
can be returned. */
struct glyph *get_phys_cursor_glyph (struct window *w);
diff --git a/src/xdisp.c b/src/xdisp.c
index 3883a753940..4eef9e05231 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1445,7 +1445,7 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y,
position is CHARPOS. For the contingency that we
didn't, and stopped at the first newline from the
display string, move back over the glyphs
- prfoduced from the string, until we find the
+ produced from the string, until we find the
rightmost glyph not from the string. */
if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string))
{
@@ -1915,7 +1915,7 @@ get_glyph_string_clip_rects (struct glyph_string *s, NativeRectangle *rects, int
environments with anti-aliased text: if the same text is
drawn onto the same place multiple times, it gets thicker.
If the overlap we are processing is for the erased cursor, we
- take the intersection with the rectagle of the cursor. */
+ take the intersection with the rectangle of the cursor. */
if (s->for_overlaps & OVERLAPS_ERASED_CURSOR)
{
XRectangle rc, r_save = r;
@@ -2849,8 +2849,14 @@ start_display (struct it *it, struct window *w, struct text_pos pos)
|| (new_x == it->last_visible_x
&& FRAME_WINDOW_P (it->f))))
{
- if (it->current.dpvec_index >= 0
- || it->current.overlay_string_index >= 0)
+ if ((it->current.dpvec_index >= 0
+ || it->current.overlay_string_index >= 0)
+ /* If we are on a newline from a display vector or
+ overlay string, then we are already at the end of
+ a screen line; no need to go to the next line in
+ that case, as this line is not really continued.
+ (If we do go to the next line, C-e will not DTRT.) */
+ && it->c != '\n')
{
set_iterator_to_next (it, 1);
move_it_in_display_line_to (it, -1, -1, 0);
@@ -3169,13 +3175,11 @@ compute_stop_pos (struct it *it)
Lisp_Object object, limit, position;
ptrdiff_t charpos, bytepos;
- /* If nowhere else, stop at the end. */
- it->stop_charpos = it->end_charpos;
-
if (STRINGP (it->string))
{
/* Strings are usually short, so don't limit the search for
properties. */
+ it->stop_charpos = it->end_charpos;
object = it->string;
limit = Qnil;
charpos = IT_STRING_CHARPOS (*it);
@@ -3185,6 +3189,12 @@ compute_stop_pos (struct it *it)
{
ptrdiff_t pos;
+ /* If end_charpos is out of range for some reason, such as a
+ misbehaving display function, rationalize it (Bug#5984). */
+ if (it->end_charpos > ZV)
+ it->end_charpos = ZV;
+ it->stop_charpos = it->end_charpos;
+
/* If next overlay change is in front of the current stop pos
(which is IT->end_charpos), stop there. Note: value of
next_overlay_change is point-max if no overlay change
@@ -4086,26 +4096,37 @@ handle_invisible_prop (struct it *it)
if (it->bidi_p && newpos < ZV)
{
ptrdiff_t bpos = CHAR_TO_BYTE (newpos);
-
- if (FETCH_BYTE (bpos) == '\n'
- || (newpos > BEGV && FETCH_BYTE (bpos - 1) == '\n'))
+ int on_newline = FETCH_BYTE (bpos) == '\n';
+ int after_newline =
+ newpos <= BEGV || FETCH_BYTE (bpos - 1) == '\n';
+
+ /* If the invisible text ends on a newline or on a
+ character after a newline, we can avoid the costly,
+ character by character, bidi iteration to NEWPOS, and
+ instead simply reseat the iterator there. That's
+ because all bidi reordering information is tossed at
+ the newline. This is a big win for modes that hide
+ complete lines, like Outline, Org, etc. */
+ if (on_newline || after_newline)
{
- /* If the invisible text ends on a newline or the
- character after a newline, we can avoid the
- costly, character by character, bidi iteration to
- newpos, and instead simply reseat the iterator
- there. That's because all bidi reordering
- information is tossed at the newline. This is a
- big win for modes that hide complete lines, like
- Outline, Org, etc. (Implementation note: the
- call to reseat_1 is necessary, because it signals
- to the bidi iterator that it needs to reinit its
- internal information when the next element for
- display is requested. */
struct text_pos tpos;
+ bidi_dir_t pdir = it->bidi_it.paragraph_dir;
SET_TEXT_POS (tpos, newpos, bpos);
reseat_1 (it, tpos, 0);
+ /* If we reseat on a newline, we need to prep the
+ bidi iterator for advancing to the next character
+ after the newline, keeping the current paragraph
+ direction (so that PRODUCE_GLYPHS does TRT wrt
+ prepending/appending glyphs to a glyph row). */
+ if (on_newline)
+ {
+ it->bidi_it.first_elt = 0;
+ it->bidi_it.paragraph_dir = pdir;
+ it->bidi_it.ch = '\n';
+ it->bidi_it.nchars = 1;
+ it->bidi_it.ch_len = 1;
+ }
}
else /* Must use the slow method. */
{
@@ -4114,11 +4135,11 @@ handle_invisible_prop (struct it *it)
non-base embedding level. Therefore, we need to
skip invisible text using the bidi iterator,
starting at IT's current position, until we find
- ourselves outside the invisible text. Skipping
- invisible text _after_ bidi iteration avoids
- affecting the visual order of the displayed text
- when invisible properties are added or
- removed. */
+ ourselves outside of the invisible text.
+ Skipping invisible text _after_ bidi iteration
+ avoids affecting the visual order of the
+ displayed text when invisible properties are
+ added or removed. */
if (it->bidi_it.first_elt && it->bidi_it.charpos < ZV)
{
/* If we were `reseat'ed to a new paragraph,
@@ -10220,7 +10241,7 @@ current_message_1 (ptrdiff_t a1, Lisp_Object a2, ptrdiff_t a3, ptrdiff_t a4)
}
-/* Push the current message on Vmessage_stack for later restauration
+/* Push the current message on Vmessage_stack for later restoration
by restore_message. Value is non-zero if the current message isn't
empty. This is a relatively infrequent operation, so it's not
worth optimizing. */
@@ -14116,7 +14137,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
|| (STRINGP (g1->object)
&& (!NILP (Fget_char_property (make_number (g1->charpos),
Qcursor, g1->object))
- /* pevious candidate is from the same display
+ /* previous candidate is from the same display
string as this one, and the display string
came from a text property */
|| (EQ (g1->object, glyph->object)
@@ -14346,7 +14367,7 @@ try_scrolling (Lisp_Object window, int just_this_one_p,
{
int scroll_margin_y;
- /* Compute the pixel ypos of the scroll margin, then move it to
+ /* Compute the pixel ypos of the scroll margin, then move IT to
either that ypos or PT, whichever comes first. */
start_display (&it, w, startp);
scroll_margin_y = it.last_visible_y - this_scroll_margin
@@ -14376,7 +14397,8 @@ try_scrolling (Lisp_Object window, int just_this_one_p,
if (dy > scroll_max)
return SCROLLING_FAILED;
- scroll_down_p = 1;
+ if (dy > 0)
+ scroll_down_p = 1;
}
}
@@ -15038,7 +15060,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
int current_matrix_up_to_date_p = 0;
int used_current_matrix_p = 0;
/* This is less strict than current_matrix_up_to_date_p.
- It indictes that the buffer contents and narrowing are unchanged. */
+ It indicates that the buffer contents and narrowing are unchanged. */
int buffer_unchanged_p = 0;
int temp_scroll_step = 0;
ptrdiff_t count = SPECPDL_INDEX ();
@@ -15560,8 +15582,8 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
? min (scroll_margin, WINDOW_TOTAL_LINES (w) / 4)
: 0;
ptrdiff_t margin_pos = CHARPOS (startp);
- int scrolling_up;
Lisp_Object aggressive;
+ int scrolling_up;
/* If there is a scroll margin at the top of the window, find
its character position. */
@@ -15603,7 +15625,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
pt_offset = float_amount * WINDOW_BOX_TEXT_HEIGHT (w);
if (pt_offset == 0 && float_amount > 0)
pt_offset = 1;
- if (pt_offset)
+ if (pt_offset && margin > 0)
margin -= 1;
}
/* Compute how much to move the window start backward from
@@ -15723,6 +15745,25 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
goto recenter;
}
+ /* Users who set scroll-conservatively to a large number want
+ point just above/below the scroll margin. If we ended up
+ with point's row partially visible, move the window start to
+ make that row fully visible and out of the margin. */
+ if (scroll_conservatively > SCROLL_LIMIT)
+ {
+ int margin =
+ scroll_margin > 0
+ ? min (scroll_margin, WINDOW_TOTAL_LINES (w) / 4)
+ : 0;
+ int move_down = w->cursor.vpos >= WINDOW_TOTAL_LINES (w) / 2;
+
+ move_it_by_lines (&it, move_down ? margin + 1 : -(margin + 1));
+ clear_glyph_matrix (w->desired_matrix);
+ if (1 == try_window (window, it.current.pos,
+ TRY_WINDOW_CHECK_MARGINS))
+ goto done;
+ }
+
/* If centering point failed to make the whole line visible,
put point at the top instead. That has to make the whole line
visible, if it can be done. */
@@ -17027,7 +17068,7 @@ try_window_id (struct window *w)
last_unchanged_at_beg_row = find_last_unchanged_at_beg_row (w);
if (last_unchanged_at_beg_row)
{
- /* Avoid starting to display in the moddle of a character, a TAB
+ /* Avoid starting to display in the middle of a character, a TAB
for instance. This is easier than to set up the iterator
exactly, and it's not a frequent case, so the additional
effort wouldn't really pay off. */
@@ -17957,9 +17998,6 @@ insert_left_trunc_glyphs (struct it *it)
}
/* Compute the hash code for ROW. */
-#if !XASSERTS
-static
-#endif
unsigned
row_hash (struct glyph_row *row)
{
@@ -18856,7 +18894,8 @@ display_line (struct it *it)
#define RECORD_MAX_MIN_POS(IT) \
do \
{ \
- int composition_p = (IT)->what == IT_COMPOSITION; \
+ int composition_p = !STRINGP ((IT)->string) \
+ && ((IT)->what == IT_COMPOSITION); \
ptrdiff_t current_pos = \
composition_p ? (IT)->cmp_it.charpos \
: IT_CHARPOS (*(IT)); \
@@ -24681,9 +24720,17 @@ x_produce_glyphs (struct it *it)
void
x_write_glyphs (struct glyph *start, int len)
{
- int x, hpos;
+ int x, hpos, chpos = updated_window->phys_cursor.hpos;
xassert (updated_window && updated_row);
+ /* When the window is hscrolled, cursor hpos can legitimately be out
+ of bounds, but we draw the cursor at the corresponding window
+ margin in that case. */
+ if (!updated_row->reversed_p && chpos < 0)
+ chpos = 0;
+ if (updated_row->reversed_p && chpos >= updated_row->used[TEXT_AREA])
+ chpos = updated_row->used[TEXT_AREA] - 1;
+
BLOCK_INPUT;
/* Write glyphs. */
@@ -24698,8 +24745,8 @@ x_write_glyphs (struct glyph *start, int len)
if (updated_area == TEXT_AREA
&& updated_window->phys_cursor_on_p
&& updated_window->phys_cursor.vpos == output_cursor.vpos
- && updated_window->phys_cursor.hpos >= hpos
- && updated_window->phys_cursor.hpos < hpos + len)
+ && chpos >= hpos
+ && chpos < hpos + len)
updated_window->phys_cursor_on_p = 0;
UNBLOCK_INPUT;
@@ -25207,8 +25254,17 @@ draw_phys_cursor_glyph (struct window *w, struct glyph_row *row,
{
int on_p = w->phys_cursor_on_p;
int x1;
- x1 = draw_glyphs (w, w->phys_cursor.x, row, TEXT_AREA,
- w->phys_cursor.hpos, w->phys_cursor.hpos + 1,
+ int hpos = w->phys_cursor.hpos;
+
+ /* When the window is hscrolled, cursor hpos can legitimately be
+ out of bounds, but we draw the cursor at the corresponding
+ window margin in that case. */
+ if (!row->reversed_p && hpos < 0)
+ hpos = 0;
+ if (row->reversed_p && hpos >= row->used[TEXT_AREA])
+ hpos = row->used[TEXT_AREA] - 1;
+
+ x1 = draw_glyphs (w, w->phys_cursor.x, row, TEXT_AREA, hpos, hpos + 1,
hl, 0);
w->phys_cursor_on_p = on_p;
@@ -25296,6 +25352,14 @@ erase_phys_cursor (struct window *w)
: (w->phys_cursor.hpos >= cursor_row->used[TEXT_AREA])))
goto mark_cursor_off;
+ /* When the window is hscrolled, cursor hpos can legitimately be out
+ of bounds, but we draw the cursor at the corresponding window
+ margin in that case. */
+ if (!cursor_row->reversed_p && hpos < 0)
+ hpos = 0;
+ if (cursor_row->reversed_p && hpos >= cursor_row->used[TEXT_AREA])
+ hpos = cursor_row->used[TEXT_AREA] - 1;
+
/* If the cursor is in the mouse face area, redisplay that when
we clear the cursor. */
if (! NILP (hlinfo->mouse_face_window)
@@ -25439,8 +25503,26 @@ update_window_cursor (struct window *w, int on)
of being deleted. */
if (w->current_matrix)
{
+ int hpos = w->phys_cursor.hpos;
+ int vpos = w->phys_cursor.vpos;
+ struct glyph_row *row;
+
+ if (vpos >= w->current_matrix->nrows
+ || hpos >= w->current_matrix->matrix_w)
+ return;
+
+ row = MATRIX_ROW (w->current_matrix, vpos);
+
+ /* When the window is hscrolled, cursor hpos can legitimately be
+ out of bounds, but we draw the cursor at the corresponding
+ window margin in that case. */
+ if (!row->reversed_p && hpos < 0)
+ hpos = 0;
+ if (row->reversed_p && hpos >= row->used[TEXT_AREA])
+ hpos = row->used[TEXT_AREA] - 1;
+
BLOCK_INPUT;
- display_and_set_cursor (w, on, w->phys_cursor.hpos, w->phys_cursor.vpos,
+ display_and_set_cursor (w, on, hpos, vpos,
w->phys_cursor.x, w->phys_cursor.y);
UNBLOCK_INPUT;
}
@@ -25610,9 +25692,18 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
if (FRAME_WINDOW_P (f)
&& phys_cursor_on_p && !w->phys_cursor_on_p)
{
+ int hpos = w->phys_cursor.hpos;
+
+ /* When the window is hscrolled, cursor hpos can legitimately be
+ out of bounds, but we draw the cursor at the corresponding
+ window margin in that case. */
+ if (!row->reversed_p && hpos < 0)
+ hpos = 0;
+ if (row->reversed_p && hpos >= row->used[TEXT_AREA])
+ hpos = row->used[TEXT_AREA] - 1;
+
BLOCK_INPUT;
- display_and_set_cursor (w, 1,
- w->phys_cursor.hpos, w->phys_cursor.vpos,
+ display_and_set_cursor (w, 1, hpos, w->phys_cursor.vpos,
w->phys_cursor.x, w->phys_cursor.y);
UNBLOCK_INPUT;
}
@@ -25711,7 +25802,19 @@ coords_in_mouse_face_p (struct window *w, int hpos, int vpos)
int
cursor_in_mouse_face_p (struct window *w)
{
- return coords_in_mouse_face_p (w, w->phys_cursor.hpos, w->phys_cursor.vpos);
+ int hpos = w->phys_cursor.hpos;
+ int vpos = w->phys_cursor.vpos;
+ struct glyph_row *row = MATRIX_ROW (w->current_matrix, vpos);
+
+ /* When the window is hscrolled, cursor hpos can legitimately be out
+ of bounds, but we draw the cursor at the corresponding window
+ margin in that case. */
+ if (!row->reversed_p && hpos < 0)
+ hpos = 0;
+ if (row->reversed_p && hpos >= row->used[TEXT_AREA])
+ hpos = row->used[TEXT_AREA] - 1;
+
+ return coords_in_mouse_face_p (w, hpos, vpos);
}
@@ -28579,7 +28682,8 @@ init_xdisp (void)
/* Platform-independent portion of hourglass implementation. */
-/* Return non-zero if houglass timer has been started or hourglass is shown. */
+/* Return non-zero if hourglass timer has been started or hourglass is
+ shown. */
int
hourglass_started (void)
{
diff --git a/src/xfaces.c b/src/xfaces.c
index 2dc46b2fa02..5a7b39fcca5 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -66,7 +66,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
attributes (1st thru 5th) are updated from the spec.
On the other hand, if one of the other font-related attributes are
- specified, the correspoinding specs in this attribute is set to nil.
+ specified, the corresponding specs in this attribute is set to nil.
15. A face name or list of face names from which to inherit attributes.
@@ -1223,7 +1223,7 @@ face_color_gray_p (struct frame *f, const char *color_name)
int gray_p;
if (defined_color (f, color_name, &color, 0))
- gray_p = (/* Any color sufficiently close to black counts as grey. */
+ gray_p = (/* Any color sufficiently close to black counts as gray. */
(color.red < 5000 && color.green < 5000 && color.blue < 5000)
||
((eabs (color.red - color.green)
diff --git a/src/xfns.c b/src/xfns.c
index 88c70a9b410..9bbaea37583 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -2962,7 +2962,7 @@ x_default_font_parameter (struct frame *f, Lisp_Object parms)
if (NILP (font_param))
{
- /* System font should take precedendce over X resources. We suggest this
+ /* System font should take precedence over X resources. We suggest this
regardless of font-use-system-font because .emacs may not have been
read yet. */
const char *system_font = xsettings_get_system_font ();
@@ -3166,7 +3166,7 @@ This function is an internal primitive--use `make-frame' instead. */)
to get the color reference counts right, so initialize them! */
{
Lisp_Object black;
- struct gcpro inner_gcpro1;
+ struct gcpro gcpro1;
/* Function x_decode_color can signal an error. Make
sure to initialize color slots so that we won't try
@@ -3179,7 +3179,7 @@ This function is an internal primitive--use `make-frame' instead. */)
f->output_data.x->mouse_pixel = -1;
black = build_string ("black");
- GCPRO1_VAR (black, inner_gcpro);
+ GCPRO1 (black);
FRAME_FOREGROUND_PIXEL (f)
= x_decode_color (f, black, BLACK_PIX_DEFAULT (f));
FRAME_BACKGROUND_PIXEL (f)
@@ -3192,7 +3192,7 @@ This function is an internal primitive--use `make-frame' instead. */)
= x_decode_color (f, black, BLACK_PIX_DEFAULT (f));
f->output_data.x->mouse_pixel
= x_decode_color (f, black, BLACK_PIX_DEFAULT (f));
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
}
/* Specify the parent under which to make this X window. */
@@ -4286,7 +4286,7 @@ If TYPE is nil or omitted, get the property as a string.
Otherwise TYPE is the name of the atom that denotes the type expected.
If SOURCE is non-nil, get the property on that window instead of from
FRAME. The number 0 denotes the root window.
-If DELETE_P is non-nil, delete the property after retreiving it.
+If DELETE_P is non-nil, delete the property after retrieving it.
If VECTOR_RET_P is non-nil, don't return a string but a vector of values.
Value is nil if FRAME hasn't a property with name PROP or if PROP has
@@ -4620,7 +4620,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
to get the color reference counts right, so initialize them! */
{
Lisp_Object black;
- struct gcpro inner_gcpro1;
+ struct gcpro gcpro1;
/* Function x_decode_color can signal an error. Make
sure to initialize color slots so that we won't try
@@ -4633,7 +4633,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
f->output_data.x->mouse_pixel = -1;
black = build_string ("black");
- GCPRO1_VAR (black, inner_gcpro);
+ GCPRO1 (black);
FRAME_FOREGROUND_PIXEL (f)
= x_decode_color (f, black, BLACK_PIX_DEFAULT (f));
FRAME_BACKGROUND_PIXEL (f)
@@ -4646,7 +4646,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
= x_decode_color (f, black, BLACK_PIX_DEFAULT (f));
f->output_data.x->mouse_pixel
= x_decode_color (f, black, BLACK_PIX_DEFAULT (f));
- UNGCPRO_VAR (inner_gcpro);
+ UNGCPRO;
}
/* Set the name; the functions to which we pass f expect the name to
@@ -5912,7 +5912,7 @@ the tool bar buttons. */);
x_gtk_whole_detached_tool_bar = 0;
DEFVAR_BOOL ("x-gtk-use-system-tooltips", x_gtk_use_system_tooltips,
- doc: /* *If non-nil with a Gtk+ built Emacs, the Gtk+ toolip is used.
+ doc: /* *If non-nil with a Gtk+ built Emacs, the Gtk+ tooltip is used.
Otherwise use Emacs own tooltip implementation.
When using Gtk+ tooltips, the tooltip face is not used. */);
x_gtk_use_system_tooltips = 1;
diff --git a/src/xmenu.c b/src/xmenu.c
index d73051be6de..b766f142e2d 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1304,7 +1304,7 @@ free_frame_menubar (FRAME_PTR f)
#ifdef USE_MOTIF
/* Removing the menu bar magically changes the shell widget's x
and y position of (0, 0) which, when the menu bar is turned
- on again, leads to pull-down menuss appearing in strange
+ on again, leads to pull-down menus appearing in strange
positions near the upper-left corner of the display. This
happens only with some window managers like twm and ctwm,
but not with other like Motif's mwm or kwm, because the
diff --git a/src/xselect.c b/src/xselect.c
index d2ab416176c..099b1670e4d 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -515,7 +515,7 @@ static struct selection_data *converted_selections;
static Atom conversion_fail_tag;
/* Used as an unwind-protect clause so that, if a selection-converter signals
- an error, we tell the requester that we were unable to do what they wanted
+ an error, we tell the requestor that we were unable to do what they wanted
before we throw to top-level or go into the debugger or whatever. */
static Lisp_Object
@@ -692,7 +692,7 @@ x_reply_selection_request (struct input_event *event,
bytes_remaining = cs->size;
bytes_remaining *= format_bytes;
- /* Wait for the requester to ack by deleting the property.
+ /* Wait for the requestor to ack by deleting the property.
This can run Lisp code (process handlers) or signal. */
if (! had_errors)
{
@@ -731,7 +731,7 @@ x_reply_selection_request (struct input_event *event,
if (had_errors) break;
- /* Wait for the requester to ack this chunk by deleting
+ /* Wait for the requestor to ack this chunk by deleting
the property. This can run Lisp code or signal. */
TRACE1 ("Waiting for increment ACK (deletion of %s)",
XGetAtomName (display, cs->property));
@@ -739,7 +739,7 @@ x_reply_selection_request (struct input_event *event,
}
/* Now write a zero-length chunk to the property to tell the
- requester that we're done. */
+ requestor that we're done. */
BLOCK_INPUT;
if (! waiting_for_other_props_on_window (display, window))
XSelectInput (display, window, 0L);
diff --git a/src/xterm.c b/src/xterm.c
index d5131c9a60c..4bc12c06b34 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -2963,9 +2963,7 @@ x_clear_frame (struct frame *f)
follow an explicit cursor_to. */
BLOCK_INPUT;
- /* The following call is commented out because it does not seem to accomplish
- anything, apart from causing flickering during window resize. */
- /* XClearWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f)); */
+ XClearWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f));
/* We have to clear the scroll bars. If we have changed colors or
something like that, then they should be notified. */
@@ -3319,7 +3317,7 @@ x_scroll_run (struct window *w, struct run *run)
}
else
{
- /* Scolling down. Make sure we don't copy over the mode line.
+ /* Scrolling down. Make sure we don't copy over the mode line.
at the bottom. */
if (to_y + run->height > bottom_y)
height = bottom_y - to_y;
@@ -4183,7 +4181,7 @@ static Boolean xaw3d_arrow_scroll;
/* Whether the drag scrolling maintains the mouse at the top of the
thumb. If not, resizing the thumb needs to be done more carefully
- to avoid jerkyness. */
+ to avoid jerkiness. */
static Boolean xaw3d_pick_top;
@@ -6115,7 +6113,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
last_user_time = event.xproperty.time;
f = x_top_window_to_frame (dpyinfo, event.xproperty.window);
if (f && event.xproperty.atom == dpyinfo->Xatom_net_wm_state)
- if (x_handle_net_wm_state (f, &event.xproperty) && f->iconified)
+ if (x_handle_net_wm_state (f, &event.xproperty) && f->iconified
+ && f->output_data.x->net_wm_state_hidden_seen)
{
/* Gnome shell does not iconify us when C-z is pressed. It hides
the frame. So if our state says we aren't hidden anymore,
@@ -6125,6 +6124,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
f->async_visible = 1;
f->async_iconified = 0;
f->output_data.x->has_been_visible = 1;
+ f->output_data.x->net_wm_state_hidden_seen = 0;
inev.ie.kind = DEICONIFY_EVENT;
XSETFRAME (inev.ie.frame_or_window, f);
}
@@ -8482,7 +8482,10 @@ get_current_wm_state (struct frame *f,
{
Atom a = ((Atom*)tmp_data)[i];
if (a == dpyinfo->Xatom_net_wm_state_hidden)
- is_hidden = 1;
+ {
+ is_hidden = 1;
+ f->output_data.x->net_wm_state_hidden_seen = 1;
+ }
else if (a == dpyinfo->Xatom_net_wm_state_maximized_horz)
{
if (*size_state == FULLSCREEN_HEIGHT)
@@ -8765,7 +8768,7 @@ x_wait_for_event (struct frame *f, int eventtype)
pending_event_wait.f = f;
pending_event_wait.eventtype = eventtype;
- /* Set timeout to 0.1 second. Hopefully not noticable.
+ /* Set timeout to 0.1 second. Hopefully not noticeable.
Maybe it should be configurable. */
EMACS_SET_SECS_USECS (tmo, 0, 100000);
EMACS_GET_TIME (tmo_at);
@@ -9558,6 +9561,14 @@ x_wm_set_size_hint (struct frame *f, long flags, int user_position)
XSizeHints size_hints;
Window window = FRAME_OUTER_WINDOW (f);
+#ifdef USE_X_TOOLKIT
+ if (f->output_data.x->widget)
+ {
+ widget_update_wm_size_hints (f->output_data.x->widget);
+ return;
+ }
+#endif
+
/* Setting PMaxSize caused various problems. */
size_hints.flags = PResizeInc | PMinSize /* | PMaxSize */;
@@ -9950,6 +9961,11 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
https://bugzilla.gnome.org/show_bug.cgi?id=563627. */
id = g_log_set_handler ("GLib", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
| G_LOG_FLAG_RECURSION, my_log_handler, NULL);
+
+ /* NULL window -> events for all windows go to our function.
+ Call before gtk_init so Gtk+ event filters comes after our. */
+ gdk_window_add_filter (NULL, event_handler_gdk, NULL);
+
gtk_init (&argc, &argv2);
g_log_remove_handler ("GLib", id);
@@ -9959,9 +9975,6 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
dpy = DEFAULT_GDK_DISPLAY ();
- /* NULL window -> events for all windows go to our function */
- gdk_window_add_filter (NULL, event_handler_gdk, NULL);
-
#if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION <= 90
/* Load our own gtkrc if it exists. */
{
diff --git a/src/xterm.h b/src/xterm.h
index 92761ccee87..1242bf64d77 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -632,6 +632,9 @@ struct x_output
x_check_expected_move. */
int left_before_move;
int top_before_move;
+
+ /* Non-zero if _NET_WM_STATE_HIDDEN is set for this frame. */
+ int net_wm_state_hidden_seen;
};
#define No_Cursor (None)
@@ -640,7 +643,7 @@ enum
{
/* Values for focus_state, used as bit mask.
EXPLICIT means we received a FocusIn for the frame and know it has
- the focus. IMPLICIT means we recevied an EnterNotify and the frame
+ the focus. IMPLICIT means we received an EnterNotify and the frame
may have the focus if no window manager is running.
FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
FOCUS_NONE = 0,
diff --git a/test/ChangeLog b/test/ChangeLog
index 9afed6f5f90..964238ae45b 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,17 @@
+2011-12-03 Chong Yidong <cyd@gnu.org>
+
+ * automated/compile-tests.el (compile-tests--test-regexps-data):
+ Increase column numbers by one to reflect change in how
+ compilation-message is recorded (Bug#10172).
+
+2011-11-22 Glenn Morris <rgm@gnu.org>
+
+ * rmailmm.el: New file, split from lisp/mail/rmailmm.el.
+
+2011-11-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * cedet/semantic-utest-c.el (semantic-utest-c-comparisons): Fix typo.
+
2011-11-16 Juanma Barranquero <lekktu@gmail.com>
* automated/icalendar-tests.el (icalendar-tests--get-ical-event)
diff --git a/test/automated/compile-tests.el b/test/automated/compile-tests.el
index 419cc0e9116..0203084bf38 100644
--- a/test/automated/compile-tests.el
+++ b/test/automated/compile-tests.el
@@ -41,7 +41,7 @@
1 nil 17 "fplot.f")
;; Ada & Mpatrol
("foo.adb:61:11: [...] in call to size declared at foo.ads:11"
- 1 10 61 "foo.adb")
+ 1 11 61 "foo.adb")
("foo.adb:61:11: [...] in call to size declared at foo.ads:11"
52 nil 11 "foo.ads")
(" 0x8008621 main+16 at error.c:17"
@@ -55,7 +55,7 @@
("[javac] /src/DataBaseTestCase.java:49: warning: finally clause cannot complete normally"
13 nil 49 "/src/DataBaseTestCase.java")
("[jikes] foo.java:3:5:7:9: blah blah"
- 14 (4 . 9) (3 . 7) "foo.java")
+ 14 (5 . 10) (3 . 7) "foo.java")
;; bash
("a.sh: line 1: ls-l: command not found"
1 nil 1 "a.sh")
@@ -70,9 +70,9 @@
1 nil 68 "pong.c")
;; caml
("File \"foobar.ml\", lines 5-8, characters 20-155: blah blah"
- 1 (19 . 155) (5 . 8) "foobar.ml")
+ 1 (20 . 156) (5 . 8) "foobar.ml")
("File \"F:\\ocaml\\sorting.ml\", line 65, characters 2-145:\nWarning 26: unused variable equ."
- 1 (1 . 145) 65 "F:\\ocaml\\sorting.ml")
+ 1 (2 . 146) 65 "F:\\ocaml\\sorting.ml")
("File \"/usr/share/gdesklets/display/TargetGauge.py\", line 41, in add_children"
1 nil 41 "/usr/share/gdesklets/display/TargetGauge.py")
("File \\lib\\python\\Products\\PythonScripts\\PythonScript.py, line 302, in _exec"
@@ -83,13 +83,13 @@
("\"foo.f\", line 3: Error: syntax error near end of statement"
1 nil 3 "foo.f")
("\"vvouch.c\", line 19.5: 1506-046 (S) Syntax error."
- 1 4 19 "vvouch.c")
+ 1 5 19 "vvouch.c")
("\"foo.c\", line 32 pos 1; (E) syntax error; unexpected symbol: \"lossage\""
- 1 0 32 "foo.c")
+ 1 1 32 "foo.c")
("\"foo.adb\", line 2(11): warning: file name does not match ..."
- 1 10 2 "foo.adb")
+ 1 11 2 "foo.adb")
("\"src/swapping.c\", line 30.34: 1506-342 (W) \"/*\" detected in comment."
- 1 33 30 "src/swapping.c")
+ 1 34 30 "src/swapping.c")
;; cucumber
("Scenario: undefined step # features/cucumber.feature:3"
29 nil 3 "features/cucumber.feature")
@@ -115,7 +115,7 @@
("Warning near line 10 file arrayclash.f: Module contains no executable"
1 nil 10 "arrayclash.f")
("Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit"
- 24 8 31 "assign.f")
+ 24 9 31 "assign.f")
;; iar
("\"foo.c\",3 Error[32]: Error message"
1 nil 3 "foo.c")
@@ -123,11 +123,11 @@
1 nil 3 "foo.c")
;; ibm
("foo.c(2:0) : informational EDC0804: Function foo is not referenced."
- 1 -1 2 "foo.c")
+ 1 0 2 "foo.c")
("foo.c(3:8) : warning EDC0833: Implicit return statement encountered."
- 1 7 3 "foo.c")
+ 1 8 3 "foo.c")
("foo.c(5:5) : error EDC0350: Syntax error."
- 1 4 5 "foo.c")
+ 1 5 5 "foo.c")
;; irix
("ccom: Error: foo.c, line 2: syntax error"
1 nil 2 "foo.c")
@@ -163,7 +163,7 @@
("In file included from /usr/include/c++/3.3/backward/warn.h:4,"
1 nil 4 "/usr/include/c++/3.3/backward/warn.h")
(" from /usr/include/c++/3.3/backward/iostream.h:31:0,"
- 1 -1 31 "/usr/include/c++/3.3/backward/iostream.h")
+ 1 0 31 "/usr/include/c++/3.3/backward/iostream.h")
(" from test_clt.cc:1:"
1 nil 1 "test_clt.cc")
;; gnu
@@ -173,15 +173,15 @@
("foo/bar.py:8: FutureWarning message" 1 nil 8 "foo/bar.py")
("foo.py:8: RuntimeWarning message" 1 nil 8 "foo.py")
("foo.c:8:I: message" 1 nil 8 "foo.c")
- ("foo.c:8.23: note: message" 1 22 8 "foo.c")
- ("foo.c:8.23: info: message" 1 22 8 "foo.c")
- ("foo.c:8:23:information: message" 1 22 8 "foo.c")
- ("foo.c:8.23-45: Informational: message" 1 (22 . nil) (8 . 45) "foo.c")
+ ("foo.c:8.23: note: message" 1 23 8 "foo.c")
+ ("foo.c:8.23: info: message" 1 23 8 "foo.c")
+ ("foo.c:8:23:information: message" 1 23 8 "foo.c")
+ ("foo.c:8.23-45: Informational: message" 1 (23 . nil) (8 . 45) "foo.c")
("foo.c:8-23: message" 1 nil (8 . 23) "foo.c")
- ("foo.c:8-45.3: message" 1 (nil . 3) (8 . 45) "foo.c")
- ("foo.c:8.23-9.1: message" 1 (22 . 1) (8 . 9) "foo.c")
+ ("foo.c:8-45.3: message" 1 (nil . 4) (8 . 45) "foo.c")
+ ("foo.c:8.23-9.1: message" 1 (23 . 2) (8 . 9) "foo.c")
("jade:dbcommon.dsl:133:17:E: missing argument for function call"
- 1 16 133 "dbcommon.dsl")
+ 1 17 133 "dbcommon.dsl")
("G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found."
1 nil 54 "G:/cygwin/dev/build-myproj.xml")
("file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found."
@@ -189,8 +189,8 @@
("{standard input}:27041: Warning: end of file not at end of a line; newline inserted"
1 nil 27041 "{standard input}")
;; lcc
- ("E, file.cc(35,52) Illegal operation on pointers" 1 51 35 "file.cc")
- ("W, file.cc(36,52) blah blah" 1 51 36 "file.cc")
+ ("E, file.cc(35,52) Illegal operation on pointers" 1 52 35 "file.cc")
+ ("W, file.cc(36,52) blah blah" 1 52 36 "file.cc")
;; makepp
("makepp: Scanning `/foo/bar.c'" 19 nil nil "/foo/bar.c")
("makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'" 27 nil nil "/foo/bar.c")
@@ -198,7 +198,7 @@
("makepp: bla bla `/foo/bar.c' and `/foo/bar.h'" 35 nil nil "/foo/bar.h")
;; maven
("FooBar.java:[111,53] no interface expected here"
- 1 52 111 "FooBar.java")
+ 1 53 111 "FooBar.java")
;; mips-1 mips-2
("TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomo.c due to truncation"
11 nil 255 "solomon.c")
@@ -220,17 +220,17 @@
1 nil 120 "..\src\ctrl\lister.c")
;; oracle
("Semantic error at line 528, column 5, file erosacqdb.pc:"
- 1 4 528 "erosacqdb.pc")
+ 1 5 528 "erosacqdb.pc")
("Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp"
- 1 9 41 "/usr/src/sb/ODBI_BHP.hpp")
+ 1 10 41 "/usr/src/sb/ODBI_BHP.hpp")
("PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc"
- 1 26 49 "/usr/src/sb/ODBI_dxfgh.pc")
+ 1 27 49 "/usr/src/sb/ODBI_dxfgh.pc")
("PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp"
1 nil 12 "/usr/src/sb/ODBI_BHP.hpp")
("PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp"
1 nil 27 "/usr/src/sb/ODBI_BHP.hpp")
("PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:"
- 1 39 21 "/usr/src/sb/ODBI_BHP.hpp")
+ 1 40 21 "/usr/src/sb/ODBI_BHP.hpp")
;; perl
("syntax error at automake line 922, near \"':'\""
14 nil 922 "automake")
@@ -262,9 +262,9 @@
1 nil 10 "examples/test-unit.rb")
;; rxp
("Error: Mismatched end tag: expected </geroup>, got </group>\nin unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml"
- 1 7 71 "/home/reto/test/group.xml")
+ 1 8 71 "/home/reto/test/group.xml")
("Warning: Start tag for undeclared element geroup\nin unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml"
- 1 7 4 "/home/reto/test/group.xml")
+ 1 8 4 "/home/reto/test/group.xml")
;; sparc-pascal-file sparc-pascal-line sparc-pascal-example
("Thu May 14 10:46:12 1992 mom3.p:"
1 nil nil "mom3.p")
@@ -274,10 +274,10 @@
("cc-1070 cc: WARNING File = linkl.c, Line = 38"
13 nil 38 "linkl.c")
("cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3"
- 18 2 16 "Hoved.f90")
+ 18 3 16 "Hoved.f90")
;; sun-ada
("/home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: \",\" inserted"
- 1 5 361 "/home3/xdhar/rcds_rc/main.a")
+ 1 6 361 "/home3/xdhar/rcds_rc/main.a")
;; 4bsd
("/usr/src/foo/foo.c(8): warning: w may be used before set"
1 nil 8 "/usr/src/foo/foo.c")
@@ -300,7 +300,7 @@
1 nil 46 "t/foo.t")
;; weblint
("index.html (13:1) Unknown element <fdjsk>"
- 1 0 13 "index.html"))
+ 1 1 13 "index.html"))
"List of tests for `compilation-error-regexp-alist'.
Each element has the form (STR POS COLUMN LINE FILENAME), where
STR is an error string, POS is the position of the error in STR,
diff --git a/test/cedet/cedet-utests.el b/test/cedet/cedet-utests.el
index d161ae68fcb..f7eef05dd99 100644
--- a/test/cedet/cedet-utests.el
+++ b/test/cedet/cedet-utests.el
@@ -96,7 +96,7 @@
"Non-nil when CEDET-utest is running all the tests.")
(defun cedet-utest (&optional exit-on-error)
- "Run the CEDET unittests.
+ "Run the CEDET unit tests.
EXIT-ON-ERROR causes the test suite to exit on an error, instead
of just logging the error."
(interactive)
diff --git a/test/cedet/semantic-utest-c.el b/test/cedet/semantic-utest-c.el
index 946a818e70e..3fbd180290c 100644
--- a/test/cedet/semantic-utest-c.el
+++ b/test/cedet/semantic-utest-c.el
@@ -28,7 +28,7 @@
(defvar semantic-utest-c-comparisons
'( ("testsppreplace.c" . "testsppreplaced.c")
)
- "List of files to parse and compare against eachother.")
+ "List of files to parse and compare against each other.")
;;; Code:
;;;###autoload
diff --git a/test/cedet/semantic-utest.el b/test/cedet/semantic-utest.el
index db737b60c6f..12fbc37a112 100644
--- a/test/cedet/semantic-utest.el
+++ b/test/cedet/semantic-utest.el
@@ -170,7 +170,7 @@ def fun2(a,b,c): #1
)
-; "pyhon test case. notice that python is indentation sensitive
+; "python test case. notice that python is indentation sensitive
(defvar semantic-utest-Python-name-contents
@@ -536,7 +536,7 @@ Pre-fill the buffer with CONTENTS."
(defun semantic-utest-generic (testname filename contents name-contents names-removed killme insertme)
"Generic unit test according to template.
-Should work for languages withouth .h files, python javascript java.
+Should work for languages without .h files, python javascript java.
TESTNAME is the name of the test.
FILENAME is the name of the file to create.
CONTENTS is the contents of the file to test.
@@ -622,7 +622,7 @@ INSERTME is the text to be inserted after the deletion."
)
;look at http://mfgames.com/linux/csharp-mode
-(defun semantic-utest-Csharp() ;; hmm i dont even know how to edit a scharp file. need a csharp mode implementation i suppose
+(defun semantic-utest-Csharp() ;; hmm i don't even know how to edit a scharp file. need a csharp mode implementation i suppose
(interactive)
(if (fboundp 'csharp-mode)
(semantic-utest-generic "C#" (semantic-utest-fname "csharptest.cs") semantic-utest-Csharp-buffer-contents semantic-utest-Csharp-name-contents '("fun2") "//1" "//deleted line")
diff --git a/test/cedet/tests/test.el b/test/cedet/tests/test.el
index 8a95572c497..57056b8065b 100644
--- a/test/cedet/tests/test.el
+++ b/test/cedet/tests/test.el
@@ -144,7 +144,7 @@
this
that)
-(define-mode-local-override a-overriden-function
+(define-mode-local-override a-overridden-function
emacs-lisp-mode (tag)
"A function that is overloaded."
nil)
diff --git a/test/cedet/tests/testsppreplaced.c b/test/cedet/tests/testsppreplaced.c
index 5098715081f..58d1ac2b684 100644
--- a/test/cedet/tests/testsppreplaced.c
+++ b/test/cedet/tests/testsppreplaced.c
@@ -69,7 +69,7 @@ int continuation_symbol () { };
int tail (int q) {}
-/* TEST: macros used impropertly. */
+/* TEST: macros used improperly */
int tail_fcn(int q);
@@ -98,7 +98,7 @@ namespace foo { namespace bar {
int foo_bar_func(int a) { }
- }
+ }
}
/* TEST: The VC++ macro hack. */
@@ -115,4 +115,3 @@ int MACROA () {
/* End */
-
diff --git a/test/indent/octave.m b/test/indent/octave.m
index 5ce52ad7a19..4c2fa6c8435 100644
--- a/test/indent/octave.m
+++ b/test/indent/octave.m
@@ -19,7 +19,7 @@ function res = tcomp (fn)
pop = x(:,1:10)(:);
## Here and below, we test if the indentation aligns with a previous
## fixindented line. This is important so as to make it easier for the
- ## user to verride some indentation somewhere, and also because it
+ ## user to override some indentation somewhere, and also because it
## reflects the fact that the indentation decision is taken with a minimum
## amount of work (i.e. in the present case, without having to walk back
## until the `function' line).
diff --git a/test/rmailmm.el b/test/rmailmm.el
new file mode 100644
index 00000000000..97577ee35cb
--- /dev/null
+++ b/test/rmailmm.el
@@ -0,0 +1,93 @@
+;;; rmailmm.el --- tests for mail/rmailmm.el
+
+;; Copyright (C) 2006-2011 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'rmailmm)
+
+(defun rmailmm-test-handler ()
+ "Test of a mail using no MIME parts at all."
+ (let ((mail "To: alex@gnu.org
+Content-Type: text/plain; charset=koi8-r
+Content-Transfer-Encoding: 8bit
+MIME-Version: 1.0
+
+\372\304\322\301\327\323\324\327\325\312\324\305\41"))
+ (switch-to-buffer (get-buffer-create "*test*"))
+ (erase-buffer)
+ (set-buffer-multibyte nil)
+ (insert mail)
+ (rmail-mime-show t)
+ (set-buffer-multibyte t)))
+
+(defun rmailmm-test-bulk-handler ()
+ "Test of a mail used as an example in RFC 2183."
+ (let ((mail "Content-Type: image/jpeg
+Content-Disposition: attachment; filename=genome.jpeg;
+ modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\";
+Content-Description: a complete map of the human genome
+Content-Transfer-Encoding: base64
+
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAZQ
+TFRF////AAAAVcLTfgAAAPZJREFUeNq9ldsOwzAIQ+3//+l1WlvA5ZLsoUiTto4TB+ISoAjy
++ITfRBfcAmgRFFeAm+J6uhdKdFhFWUgDkFsK0oUp/9G2//Kj7Jx+5tSKOdBscgUYiKHRS/me
+WATQdRUvAK0Bnmshmtn79PpaLBbbOZkjKvRnjRZoRswOkG1wFchKew2g9wXVJVZL/m4+B+vv
+9AxQQR2Q33SgAYJzzVACdAWjAfRYzYFO9n6SLnydtQHSMxYDMAKqZ/8FS/lTK+zuq3CtK64L
+UDwbgUEAUmk2Zyg101d6PhCDySgAvTvDgKiuOrc4dLxUb7UMnhGIexyI+d6U+ABuNAP4Simx
+lgAAAABJRU5ErkJggg==
+"))
+ (switch-to-buffer (get-buffer-create "*test*"))
+ (erase-buffer)
+ (insert mail)
+ (rmail-mime-show)))
+
+(defun rmailmm-test-multipart-handler ()
+ "Test of a mail used as an example in RFC 2046."
+ (let ((mail "From: Nathaniel Borenstein <nsb@bellcore.com>
+To: Ned Freed <ned@innosoft.com>
+Date: Sun, 21 Mar 1993 23:56:48 -0800 (PST)
+Subject: Sample message
+MIME-Version: 1.0
+Content-type: multipart/mixed; boundary=\"simple boundary\"
+
+This is the preamble. It is to be ignored, though it
+is a handy place for composition agents to include an
+explanatory note to non-MIME conformant readers.
+
+--simple boundary
+
+This is implicitly typed plain US-ASCII text.
+It does NOT end with a linebreak.
+--simple boundary
+Content-type: text/plain; charset=us-ascii
+
+This is explicitly typed plain US-ASCII text.
+It DOES end with a linebreak.
+
+--simple boundary--
+
+This is the epilogue. It is also to be ignored."))
+ (switch-to-buffer (get-buffer-create "*test*"))
+ (erase-buffer)
+ (insert mail)
+ (rmail-mime-show t)))
+
+;;; rmailmm.el ends here
diff --git a/update-subdirs b/update-subdirs
index dfd594ae781..fadbab84e20 100755
--- a/update-subdirs
+++ b/update-subdirs
@@ -41,8 +41,7 @@ if [ "x$subdirs" = x ]; then
rm -f subdirs.el
else
rm -f subdirs.el~
- echo ";; -*- no-byte-compile: t -*-
-;; In load-path, after this directory should come
+ echo ";; In load-path, after this directory should come
;; certain of its subdirectories. Here we specify them.
(normal-top-level-add-to-load-path '($subdirs))
;; Local" "Variables: