]> code.delx.au - gnu-emacs/commitdiff
Merge from trunk.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 9 Jan 2012 17:36:10 +0000 (09:36 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 9 Jan 2012 17:36:10 +0000 (09:36 -0800)
2137 files changed:
ChangeLog
GNUmakefile
INSTALL
INSTALL.BZR
Makefile.in
README
admin/ChangeLog
admin/FOR-RELEASE
admin/README
admin/admin.el
admin/alloc-colors.c
admin/build-configs
admin/bzrmerge.el
admin/charsets/mapfiles/README
admin/cus-test.el
admin/diff-tar-files
admin/grammars/bovine-grammar.el
admin/grammars/c.by
admin/grammars/grammar.wy
admin/grammars/java-tags.wy
admin/grammars/js.wy
admin/grammars/make.by
admin/grammars/python.wy
admin/grammars/scheme.by
admin/grammars/srecode-template.wy
admin/grammars/wisent-grammar.el
admin/make-announcement
admin/make-emacs
admin/notes/copyright
admin/notes/font-backend
admin/notes/lel-TODO
admin/notes/multi-tty
admin/notes/unicode
admin/nt/README-UNDUMP.W32
admin/nt/README-ftp-server
admin/quick-install-emacs
autogen.sh
autogen/config.in
autogen/configure
autogen/update_autogen
config.bat
configure.in
doc/emacs/ChangeLog
doc/emacs/Makefile.in
doc/emacs/abbrevs.texi
doc/emacs/ack.texi
doc/emacs/anti.texi
doc/emacs/arevert-xtra.texi
doc/emacs/basic.texi
doc/emacs/buffers.texi
doc/emacs/building.texi
doc/emacs/cal-xtra.texi
doc/emacs/calendar.texi
doc/emacs/cmdargs.texi
doc/emacs/commands.texi
doc/emacs/custom.texi
doc/emacs/dired-xtra.texi
doc/emacs/dired.texi
doc/emacs/display.texi
doc/emacs/emacs-xtra.texi
doc/emacs/emacs.texi
doc/emacs/emerge-xtra.texi
doc/emacs/entering.texi
doc/emacs/files.texi
doc/emacs/fixit.texi
doc/emacs/fortran-xtra.texi
doc/emacs/frames.texi
doc/emacs/glossary.texi
doc/emacs/gnu.texi
doc/emacs/help.texi
doc/emacs/indent.texi
doc/emacs/killing.texi
doc/emacs/kmacro.texi
doc/emacs/m-x.texi
doc/emacs/macos.texi
doc/emacs/maintaining.texi
doc/emacs/makefile.w32-in
doc/emacs/mark.texi
doc/emacs/mini.texi
doc/emacs/misc.texi
doc/emacs/modes.texi
doc/emacs/msdog-xtra.texi
doc/emacs/msdog.texi
doc/emacs/mule.texi
doc/emacs/package.texi
doc/emacs/picture-xtra.texi
doc/emacs/programs.texi
doc/emacs/regs.texi
doc/emacs/rmail.texi
doc/emacs/screen.texi
doc/emacs/search.texi
doc/emacs/sending.texi
doc/emacs/text.texi
doc/emacs/trouble.texi
doc/emacs/vc-xtra.texi
doc/emacs/vc1-xtra.texi
doc/emacs/windows.texi
doc/emacs/xresources.texi
doc/lispintro/ChangeLog
doc/lispintro/Makefile.in
doc/lispintro/README
doc/lispintro/cons-1.eps
doc/lispintro/cons-2.eps
doc/lispintro/cons-2a.eps
doc/lispintro/cons-3.eps
doc/lispintro/cons-4.eps
doc/lispintro/cons-5.eps
doc/lispintro/drawers.eps
doc/lispintro/emacs-lisp-intro.texi
doc/lispintro/lambda-1.eps
doc/lispintro/lambda-2.eps
doc/lispintro/lambda-3.eps
doc/lispintro/makefile.w32-in
doc/lispref/ChangeLog
doc/lispref/Makefile.in
doc/lispref/README
doc/lispref/abbrevs.texi
doc/lispref/advice.texi
doc/lispref/anti.texi
doc/lispref/back.texi
doc/lispref/backups.texi
doc/lispref/buffers.texi
doc/lispref/commands.texi
doc/lispref/compile.texi
doc/lispref/control.texi
doc/lispref/customize.texi
doc/lispref/debugging.texi
doc/lispref/display.texi
doc/lispref/edebug.texi
doc/lispref/elisp-covers.texi
doc/lispref/elisp.texi
doc/lispref/errors.texi
doc/lispref/eval.texi
doc/lispref/files.texi
doc/lispref/frames.texi
doc/lispref/functions.texi
doc/lispref/hash.texi
doc/lispref/help.texi
doc/lispref/hooks.texi
doc/lispref/internals.texi
doc/lispref/intro.texi
doc/lispref/keymaps.texi
doc/lispref/lay-flat.texi
doc/lispref/lists.texi
doc/lispref/loading.texi
doc/lispref/locals.texi
doc/lispref/macros.texi
doc/lispref/makefile.w32-in
doc/lispref/maps.texi
doc/lispref/markers.texi
doc/lispref/minibuf.texi
doc/lispref/modes.texi
doc/lispref/nonascii.texi
doc/lispref/numbers.texi
doc/lispref/objects.texi
doc/lispref/os.texi
doc/lispref/package.texi
doc/lispref/positions.texi
doc/lispref/processes.texi
doc/lispref/searching.texi
doc/lispref/sequences.texi
doc/lispref/spellfile
doc/lispref/streams.texi
doc/lispref/strings.texi
doc/lispref/symbols.texi
doc/lispref/syntax.texi
doc/lispref/text.texi
doc/lispref/tindex.pl
doc/lispref/tips.texi
doc/lispref/two-volume-cross-refs.txt
doc/lispref/two-volume.make
doc/lispref/two.el
doc/lispref/variables.texi
doc/lispref/vol1.texi
doc/lispref/vol2.texi
doc/lispref/windows.texi
doc/man/ChangeLog
doc/man/ebrowse.1
doc/man/emacs.1
doc/man/etags.1
doc/man/grep-changelog.1
doc/man/rcs-checkin.1
doc/misc/ChangeLog
doc/misc/Makefile.in
doc/misc/ada-mode.texi
doc/misc/auth.texi
doc/misc/autotype.texi
doc/misc/calc.texi
doc/misc/cc-mode.texi
doc/misc/cl.texi
doc/misc/dbus.texi
doc/misc/dired-x.texi
doc/misc/ebrowse.texi
doc/misc/ede.texi
doc/misc/ediff.texi
doc/misc/edt.texi
doc/misc/eieio.texi
doc/misc/emacs-mime.texi
doc/misc/epa.texi
doc/misc/erc.texi
doc/misc/ert.texi
doc/misc/eshell.texi
doc/misc/eudc.texi
doc/misc/faq.texi
doc/misc/flymake.texi
doc/misc/forms.texi
doc/misc/gnus-coding.texi
doc/misc/gnus-faq.texi
doc/misc/gnus-news.el
doc/misc/gnus-news.texi
doc/misc/gnus.texi
doc/misc/idlwave.texi
doc/misc/info.texi
doc/misc/mairix-el.texi
doc/misc/makefile.w32-in
doc/misc/message.texi
doc/misc/mh-e.texi
doc/misc/newsticker.texi
doc/misc/nxml-mode.texi
doc/misc/org.texi
doc/misc/pcl-cvs.texi
doc/misc/pgg.texi
doc/misc/rcirc.texi
doc/misc/reftex.texi
doc/misc/remember.texi
doc/misc/sasl.texi
doc/misc/sc.texi
doc/misc/sem-user.texi
doc/misc/semantic.texi
doc/misc/ses.texi
doc/misc/sieve.texi
doc/misc/smtpmail.texi
doc/misc/speedbar.texi
doc/misc/tramp.texi
doc/misc/trampver.texi
doc/misc/url.texi
doc/misc/vip.texi
doc/misc/viper.texi
doc/misc/widget.texi
doc/misc/woman.texi
etc/AUTHORS
etc/CONTRIBUTE
etc/ChangeLog
etc/DEBUG
etc/DISTRIB
etc/ERC-NEWS
etc/ETAGS.EBNF
etc/ETAGS.README
etc/GNU
etc/GNUS-NEWS
etc/HELLO
etc/MACHINES
etc/MAILINGLISTS
etc/MH-E-NEWS
etc/MORE.STUFF
etc/NEWS
etc/NEWS.1-17
etc/NEWS.18
etc/NEWS.19
etc/NEWS.20
etc/NEWS.21
etc/NEWS.22
etc/NEWS.23
etc/NEXTSTEP
etc/PROBLEMS
etc/README
etc/TERMS
etc/TODO
etc/charsets/README
etc/compilation.txt
etc/edt-user.el
etc/emacs-buffer.gdb
etc/emacs2.py
etc/emacs3.py
etc/enriched.doc
etc/gnus-tut.txt
etc/grep.txt
etc/images/README
etc/images/checked.xpm
etc/images/custom/README
etc/images/ezimage/README
etc/images/gnus/README
etc/images/gnus/gnus.svg
etc/images/gud/README
etc/images/icons/README
etc/images/icons/hicolor/scalable/apps/emacs.svg
etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg
etc/images/mh-logo.xpm
etc/images/mpc/README
etc/images/newsticker/README
etc/images/smilies/README
etc/images/smilies/grayscale/README
etc/images/smilies/medium/README
etc/images/splash.svg
etc/images/splash.xpm
etc/images/tree-widget/default/README
etc/images/tree-widget/folder/README
etc/images/unchecked.xpm
etc/org/OrgOdtContentTemplate.xml [new file with mode: 0644]
etc/org/OrgOdtStyles.xml [new file with mode: 0644]
etc/org/README [new file with mode: 0644]
etc/ps-prin0.ps
etc/ps-prin1.ps
etc/refcards/Makefile
etc/refcards/README
etc/refcards/calccard.tex
etc/refcards/cs-dired-ref.tex
etc/refcards/cs-refcard.tex
etc/refcards/cs-survival.tex
etc/refcards/de-refcard.tex
etc/refcards/dired-ref.tex
etc/refcards/fr-dired-ref.tex
etc/refcards/fr-refcard.tex
etc/refcards/fr-survival.tex
etc/refcards/gnus-logo.eps
etc/refcards/gnus-refcard.tex
etc/refcards/orgcard.pdf
etc/refcards/orgcard.tex
etc/refcards/pdflayout.sty
etc/refcards/pl-refcard.tex
etc/refcards/pt-br-refcard.tex
etc/refcards/refcard.tex
etc/refcards/ru-refcard.tex
etc/refcards/sk-dired-ref.tex
etc/refcards/sk-refcard.tex
etc/refcards/sk-survival.tex
etc/refcards/survival.tex
etc/refcards/vipcard.tex
etc/refcards/viperCard.tex
etc/schema/locate.rnc
etc/schema/relaxng.rnc
etc/schema/schemas.xml
etc/ses-example.ses
etc/srecode/cpp.srt
etc/srecode/default.srt
etc/srecode/doc-cpp.srt
etc/srecode/doc-default.srt
etc/srecode/doc-java.srt
etc/srecode/ede-make.srt
etc/srecode/el.srt
etc/srecode/getset-cpp.srt
etc/srecode/java.srt
etc/srecode/make.srt
etc/srecode/template.srt
etc/srecode/test.srt
etc/srecode/texi.srt
etc/srecode/wisent.srt
etc/themes/adwaita-theme.el
etc/themes/deeper-blue-theme.el
etc/themes/dichromacy-theme.el
etc/themes/light-blue-theme.el
etc/themes/manoj-dark-theme.el
etc/themes/misterioso-theme.el
etc/themes/tango-dark-theme.el
etc/themes/tango-theme.el
etc/themes/tsdh-dark-theme.el
etc/themes/tsdh-light-theme.el
etc/themes/wheatgrass-theme.el
etc/themes/whiteboard-theme.el
etc/themes/wombat-theme.el
etc/tutorials/TUTORIAL
etc/tutorials/TUTORIAL.bg
etc/tutorials/TUTORIAL.cn
etc/tutorials/TUTORIAL.cs
etc/tutorials/TUTORIAL.de
etc/tutorials/TUTORIAL.eo
etc/tutorials/TUTORIAL.es
etc/tutorials/TUTORIAL.fr
etc/tutorials/TUTORIAL.he
etc/tutorials/TUTORIAL.it
etc/tutorials/TUTORIAL.ja
etc/tutorials/TUTORIAL.ko
etc/tutorials/TUTORIAL.nl
etc/tutorials/TUTORIAL.pl
etc/tutorials/TUTORIAL.pt_BR
etc/tutorials/TUTORIAL.ro
etc/tutorials/TUTORIAL.ru
etc/tutorials/TUTORIAL.sk
etc/tutorials/TUTORIAL.sl
etc/tutorials/TUTORIAL.sv
etc/tutorials/TUTORIAL.th
etc/tutorials/TUTORIAL.zh
leim/ChangeLog
leim/Makefile.in
leim/README
leim/leim-ext.el
leim/makefile.w32-in
leim/quail/arabic.el
leim/quail/croatian.el
leim/quail/cyril-jis.el
leim/quail/cyrillic.el
leim/quail/czech.el
leim/quail/ethiopic.el
leim/quail/georgian.el
leim/quail/greek.el
leim/quail/hangul.el
leim/quail/hanja.el
leim/quail/hanja3.el
leim/quail/hebrew.el
leim/quail/indian.el
leim/quail/ipa-praat.el
leim/quail/ipa.el
leim/quail/japanese.el
leim/quail/latin-alt.el
leim/quail/latin-ltx.el
leim/quail/latin-post.el
leim/quail/latin-pre.el
leim/quail/lrt.el
leim/quail/persian.el
leim/quail/py-punct.el
leim/quail/rfc1345.el
leim/quail/sgml-input.el
leim/quail/sisheng.el
leim/quail/slovak.el
leim/quail/symbol-ksc.el
leim/quail/tibetan.el
leim/quail/uni-input.el
leim/quail/vntelex.el
leim/quail/welsh.el
lib-src/ChangeLog
lib-src/Makefile.in
lib-src/ebrowse.c
lib-src/emacsclient.c
lib-src/etags.c
lib-src/grep-changelog
lib-src/hexl.c
lib-src/make-docfile.c
lib-src/makefile.w32-in
lib-src/movemail.c
lib-src/ntlib.c
lib-src/ntlib.h
lib-src/pop.c
lib-src/pop.h
lib-src/profile.c
lib-src/rcs-checkin
lib-src/rcs2log
lib-src/test-distrib.c
lib-src/update-game-score.c
lib-src/vcdiff
lisp/ChangeLog
lisp/ChangeLog.1
lisp/ChangeLog.10
lisp/ChangeLog.11
lisp/ChangeLog.12
lisp/ChangeLog.13
lisp/ChangeLog.14
lisp/ChangeLog.15
lisp/ChangeLog.2
lisp/ChangeLog.3
lisp/ChangeLog.4
lisp/ChangeLog.5
lisp/ChangeLog.6
lisp/ChangeLog.7
lisp/ChangeLog.8
lisp/ChangeLog.9
lisp/Makefile.in
lisp/abbrev.el
lisp/align.el
lisp/allout-widgets.el
lisp/allout.el
lisp/ansi-color.el
lisp/apropos.el
lisp/arc-mode.el
lisp/array.el
lisp/autoarg.el
lisp/autoinsert.el
lisp/autorevert.el
lisp/avoid.el
lisp/battery.el
lisp/bindings.el
lisp/bookmark.el
lisp/bs.el
lisp/buff-menu.el
lisp/button.el
lisp/calc/README
lisp/calc/README.prev
lisp/calc/calc-aent.el
lisp/calc/calc-alg.el
lisp/calc/calc-arith.el
lisp/calc/calc-bin.el
lisp/calc/calc-comb.el
lisp/calc/calc-cplx.el
lisp/calc/calc-embed.el
lisp/calc/calc-ext.el
lisp/calc/calc-fin.el
lisp/calc/calc-forms.el
lisp/calc/calc-frac.el
lisp/calc/calc-funcs.el
lisp/calc/calc-graph.el
lisp/calc/calc-help.el
lisp/calc/calc-incom.el
lisp/calc/calc-keypd.el
lisp/calc/calc-lang.el
lisp/calc/calc-macs.el
lisp/calc/calc-map.el
lisp/calc/calc-math.el
lisp/calc/calc-menu.el
lisp/calc/calc-misc.el
lisp/calc/calc-mode.el
lisp/calc/calc-mtx.el
lisp/calc/calc-nlfit.el
lisp/calc/calc-poly.el
lisp/calc/calc-prog.el
lisp/calc/calc-rewr.el
lisp/calc/calc-rules.el
lisp/calc/calc-sel.el
lisp/calc/calc-stat.el
lisp/calc/calc-store.el
lisp/calc/calc-stuff.el
lisp/calc/calc-trail.el
lisp/calc/calc-undo.el
lisp/calc/calc-units.el
lisp/calc/calc-vec.el
lisp/calc/calc-yank.el
lisp/calc/calc.el
lisp/calc/calcalg2.el
lisp/calc/calcalg3.el
lisp/calc/calccomp.el
lisp/calc/calcsel2.el
lisp/calculator.el
lisp/calendar/appt.el
lisp/calendar/cal-bahai.el
lisp/calendar/cal-china.el
lisp/calendar/cal-coptic.el
lisp/calendar/cal-dst.el
lisp/calendar/cal-french.el
lisp/calendar/cal-hebrew.el
lisp/calendar/cal-html.el
lisp/calendar/cal-islam.el
lisp/calendar/cal-iso.el
lisp/calendar/cal-julian.el
lisp/calendar/cal-mayan.el
lisp/calendar/cal-menu.el
lisp/calendar/cal-move.el
lisp/calendar/cal-persia.el
lisp/calendar/cal-tex.el
lisp/calendar/cal-x.el
lisp/calendar/calendar.el
lisp/calendar/diary-lib.el
lisp/calendar/holidays.el
lisp/calendar/icalendar.el
lisp/calendar/lunar.el
lisp/calendar/parse-time.el
lisp/calendar/solar.el
lisp/calendar/time-date.el
lisp/calendar/timeclock.el
lisp/calendar/todo-mode.el
lisp/case-table.el
lisp/cdl.el
lisp/cedet/ChangeLog
lisp/cedet/cedet-cscope.el
lisp/cedet/cedet-files.el
lisp/cedet/cedet-global.el
lisp/cedet/cedet-idutils.el
lisp/cedet/cedet.el
lisp/cedet/data-debug.el
lisp/cedet/ede.el
lisp/cedet/ede/auto.el
lisp/cedet/ede/autoconf-edit.el
lisp/cedet/ede/base.el
lisp/cedet/ede/cpp-root.el
lisp/cedet/ede/custom.el
lisp/cedet/ede/dired.el
lisp/cedet/ede/emacs.el
lisp/cedet/ede/files.el
lisp/cedet/ede/generic.el
lisp/cedet/ede/linux.el
lisp/cedet/ede/locate.el
lisp/cedet/ede/make.el
lisp/cedet/ede/makefile-edit.el
lisp/cedet/ede/pconf.el
lisp/cedet/ede/pmake.el
lisp/cedet/ede/proj-archive.el
lisp/cedet/ede/proj-aux.el
lisp/cedet/ede/proj-comp.el
lisp/cedet/ede/proj-elisp.el
lisp/cedet/ede/proj-info.el
lisp/cedet/ede/proj-misc.el
lisp/cedet/ede/proj-obj.el
lisp/cedet/ede/proj-prog.el
lisp/cedet/ede/proj-scheme.el
lisp/cedet/ede/proj-shared.el
lisp/cedet/ede/proj.el
lisp/cedet/ede/project-am.el
lisp/cedet/ede/shell.el
lisp/cedet/ede/simple.el
lisp/cedet/ede/source.el
lisp/cedet/ede/speedbar.el
lisp/cedet/ede/srecode.el
lisp/cedet/ede/system.el
lisp/cedet/ede/util.el
lisp/cedet/inversion.el
lisp/cedet/mode-local.el
lisp/cedet/pulse.el
lisp/cedet/semantic.el
lisp/cedet/semantic/analyze.el
lisp/cedet/semantic/analyze/complete.el
lisp/cedet/semantic/analyze/debug.el
lisp/cedet/semantic/analyze/fcn.el
lisp/cedet/semantic/analyze/refs.el
lisp/cedet/semantic/bovine.el
lisp/cedet/semantic/bovine/c-by.el
lisp/cedet/semantic/bovine/c.el
lisp/cedet/semantic/bovine/debug.el
lisp/cedet/semantic/bovine/el.el
lisp/cedet/semantic/bovine/gcc.el
lisp/cedet/semantic/bovine/make-by.el
lisp/cedet/semantic/bovine/make.el
lisp/cedet/semantic/bovine/scm-by.el
lisp/cedet/semantic/bovine/scm.el
lisp/cedet/semantic/chart.el
lisp/cedet/semantic/complete.el
lisp/cedet/semantic/ctxt.el
lisp/cedet/semantic/db-debug.el
lisp/cedet/semantic/db-ebrowse.el
lisp/cedet/semantic/db-el.el
lisp/cedet/semantic/db-file.el
lisp/cedet/semantic/db-find.el
lisp/cedet/semantic/db-global.el
lisp/cedet/semantic/db-javascript.el
lisp/cedet/semantic/db-mode.el
lisp/cedet/semantic/db-ref.el
lisp/cedet/semantic/db-typecache.el
lisp/cedet/semantic/db.el
lisp/cedet/semantic/debug.el
lisp/cedet/semantic/decorate.el
lisp/cedet/semantic/decorate/include.el
lisp/cedet/semantic/decorate/mode.el
lisp/cedet/semantic/dep.el
lisp/cedet/semantic/doc.el
lisp/cedet/semantic/ede-grammar.el
lisp/cedet/semantic/edit.el
lisp/cedet/semantic/find.el
lisp/cedet/semantic/format.el
lisp/cedet/semantic/fw.el
lisp/cedet/semantic/grammar-wy.el
lisp/cedet/semantic/grammar.el
lisp/cedet/semantic/html.el
lisp/cedet/semantic/ia-sb.el
lisp/cedet/semantic/ia.el
lisp/cedet/semantic/idle.el
lisp/cedet/semantic/imenu.el
lisp/cedet/semantic/java.el
lisp/cedet/semantic/lex-spp.el
lisp/cedet/semantic/lex.el
lisp/cedet/semantic/mru-bookmark.el
lisp/cedet/semantic/sb.el
lisp/cedet/semantic/scope.el
lisp/cedet/semantic/senator.el
lisp/cedet/semantic/sort.el
lisp/cedet/semantic/symref.el
lisp/cedet/semantic/symref/cscope.el
lisp/cedet/semantic/symref/filter.el
lisp/cedet/semantic/symref/global.el
lisp/cedet/semantic/symref/grep.el
lisp/cedet/semantic/symref/idutils.el
lisp/cedet/semantic/symref/list.el
lisp/cedet/semantic/tag-file.el
lisp/cedet/semantic/tag-ls.el
lisp/cedet/semantic/tag-write.el
lisp/cedet/semantic/tag.el
lisp/cedet/semantic/texi.el
lisp/cedet/semantic/util-modes.el
lisp/cedet/semantic/util.el
lisp/cedet/semantic/wisent.el
lisp/cedet/semantic/wisent/comp.el
lisp/cedet/semantic/wisent/java-tags.el
lisp/cedet/semantic/wisent/javascript.el
lisp/cedet/semantic/wisent/javat-wy.el
lisp/cedet/semantic/wisent/js-wy.el
lisp/cedet/semantic/wisent/python-wy.el
lisp/cedet/semantic/wisent/python.el
lisp/cedet/semantic/wisent/wisent.el
lisp/cedet/srecode.el
lisp/cedet/srecode/args.el
lisp/cedet/srecode/compile.el
lisp/cedet/srecode/cpp.el
lisp/cedet/srecode/ctxt.el
lisp/cedet/srecode/dictionary.el
lisp/cedet/srecode/document.el
lisp/cedet/srecode/el.el
lisp/cedet/srecode/expandproto.el
lisp/cedet/srecode/extract.el
lisp/cedet/srecode/fields.el
lisp/cedet/srecode/filters.el
lisp/cedet/srecode/find.el
lisp/cedet/srecode/getset.el
lisp/cedet/srecode/insert.el
lisp/cedet/srecode/java.el
lisp/cedet/srecode/map.el
lisp/cedet/srecode/mode.el
lisp/cedet/srecode/semantic.el
lisp/cedet/srecode/srt-mode.el
lisp/cedet/srecode/srt-wy.el
lisp/cedet/srecode/srt.el
lisp/cedet/srecode/table.el
lisp/cedet/srecode/template.el
lisp/cedet/srecode/texi.el
lisp/chistory.el
lisp/cmuscheme.el
lisp/color.el
lisp/comint.el
lisp/completion.el
lisp/cus-dep.el
lisp/cus-edit.el
lisp/cus-face.el
lisp/cus-start.el
lisp/cus-theme.el
lisp/custom.el
lisp/dabbrev.el
lisp/delim-col.el
lisp/delsel.el
lisp/descr-text.el
lisp/desktop.el
lisp/dframe.el
lisp/dired-aux.el
lisp/dired-x.el
lisp/dired.el
lisp/dirtrack.el
lisp/disp-table.el
lisp/dnd.el
lisp/doc-view.el
lisp/dos-fns.el
lisp/dos-vars.el
lisp/dos-w32.el
lisp/double.el
lisp/dynamic-setting.el
lisp/ebuff-menu.el
lisp/echistory.el
lisp/edmacro.el
lisp/ehelp.el
lisp/electric.el
lisp/elide-head.el
lisp/emacs-lisp/advice.el
lisp/emacs-lisp/assoc.el
lisp/emacs-lisp/authors.el
lisp/emacs-lisp/autoload.el
lisp/emacs-lisp/avl-tree.el
lisp/emacs-lisp/backquote.el
lisp/emacs-lisp/benchmark.el
lisp/emacs-lisp/bindat.el
lisp/emacs-lisp/byte-opt.el
lisp/emacs-lisp/byte-run.el
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/cconv.el
lisp/emacs-lisp/chart.el
lisp/emacs-lisp/check-declare.el
lisp/emacs-lisp/checkdoc.el
lisp/emacs-lisp/cl-extra.el
lisp/emacs-lisp/cl-indent.el
lisp/emacs-lisp/cl-loaddefs.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/cl-seq.el
lisp/emacs-lisp/cl-specs.el
lisp/emacs-lisp/cl.el
lisp/emacs-lisp/copyright.el
lisp/emacs-lisp/crm.el
lisp/emacs-lisp/cust-print.el
lisp/emacs-lisp/debug.el
lisp/emacs-lisp/derived.el
lisp/emacs-lisp/disass.el
lisp/emacs-lisp/easy-mmode.el
lisp/emacs-lisp/easymenu.el
lisp/emacs-lisp/edebug.el
lisp/emacs-lisp/eieio-base.el
lisp/emacs-lisp/eieio-custom.el
lisp/emacs-lisp/eieio-datadebug.el
lisp/emacs-lisp/eieio-opt.el
lisp/emacs-lisp/eieio-speedbar.el
lisp/emacs-lisp/eieio.el
lisp/emacs-lisp/eldoc.el
lisp/emacs-lisp/elint.el
lisp/emacs-lisp/elp.el
lisp/emacs-lisp/ert-x.el
lisp/emacs-lisp/ert.el
lisp/emacs-lisp/ewoc.el
lisp/emacs-lisp/find-func.el
lisp/emacs-lisp/find-gc.el
lisp/emacs-lisp/float-sup.el
lisp/emacs-lisp/generic.el
lisp/emacs-lisp/gulp.el
lisp/emacs-lisp/helper.el
lisp/emacs-lisp/lisp-mnt.el
lisp/emacs-lisp/lisp-mode.el
lisp/emacs-lisp/lisp.el
lisp/emacs-lisp/macroexp.el
lisp/emacs-lisp/map-ynp.el
lisp/emacs-lisp/package-x.el
lisp/emacs-lisp/package.el
lisp/emacs-lisp/pcase.el
lisp/emacs-lisp/pp.el
lisp/emacs-lisp/re-builder.el
lisp/emacs-lisp/regexp-opt.el
lisp/emacs-lisp/regi.el
lisp/emacs-lisp/ring.el
lisp/emacs-lisp/rx.el
lisp/emacs-lisp/shadow.el
lisp/emacs-lisp/smie.el
lisp/emacs-lisp/syntax.el
lisp/emacs-lisp/tabulated-list.el
lisp/emacs-lisp/tcover-ses.el
lisp/emacs-lisp/tcover-unsafep.el
lisp/emacs-lisp/testcover.el
lisp/emacs-lisp/timer.el
lisp/emacs-lisp/tq.el
lisp/emacs-lisp/trace.el
lisp/emacs-lisp/unsafep.el
lisp/emacs-lisp/warnings.el
lisp/emacs-lock.el
lisp/emulation/crisp.el
lisp/emulation/cua-base.el
lisp/emulation/cua-gmrk.el
lisp/emulation/cua-rect.el
lisp/emulation/edt-lk201.el
lisp/emulation/edt-mapper.el
lisp/emulation/edt-pc.el
lisp/emulation/edt-vt100.el
lisp/emulation/edt.el
lisp/emulation/keypad.el
lisp/emulation/tpu-edt.el
lisp/emulation/tpu-extras.el
lisp/emulation/tpu-mapper.el
lisp/emulation/vip.el
lisp/emulation/viper-cmd.el
lisp/emulation/viper-ex.el
lisp/emulation/viper-init.el
lisp/emulation/viper-keym.el
lisp/emulation/viper-macs.el
lisp/emulation/viper-mous.el
lisp/emulation/viper-util.el
lisp/emulation/viper.el
lisp/emulation/ws-mode.el
lisp/env.el
lisp/epa-dired.el
lisp/epa-file.el
lisp/epa-hook.el
lisp/epa-mail.el
lisp/epa.el
lisp/epg-config.el
lisp/epg.el
lisp/erc/ChangeLog
lisp/erc/ChangeLog.01
lisp/erc/ChangeLog.02
lisp/erc/ChangeLog.03
lisp/erc/ChangeLog.04
lisp/erc/ChangeLog.05
lisp/erc/ChangeLog.06
lisp/erc/ChangeLog.07
lisp/erc/ChangeLog.08
lisp/erc/erc-autoaway.el
lisp/erc/erc-backend.el
lisp/erc/erc-button.el
lisp/erc/erc-capab.el
lisp/erc/erc-compat.el
lisp/erc/erc-dcc.el
lisp/erc/erc-ezbounce.el
lisp/erc/erc-fill.el
lisp/erc/erc-goodies.el
lisp/erc/erc-ibuffer.el
lisp/erc/erc-identd.el
lisp/erc/erc-imenu.el
lisp/erc/erc-join.el
lisp/erc/erc-lang.el
lisp/erc/erc-list.el
lisp/erc/erc-log.el
lisp/erc/erc-match.el
lisp/erc/erc-menu.el
lisp/erc/erc-netsplit.el
lisp/erc/erc-networks.el
lisp/erc/erc-notify.el
lisp/erc/erc-page.el
lisp/erc/erc-pcomplete.el
lisp/erc/erc-replace.el
lisp/erc/erc-ring.el
lisp/erc/erc-services.el
lisp/erc/erc-sound.el
lisp/erc/erc-speedbar.el
lisp/erc/erc-spelling.el
lisp/erc/erc-stamp.el
lisp/erc/erc-track.el
lisp/erc/erc-truncate.el
lisp/erc/erc-xdcc.el
lisp/erc/erc.el
lisp/eshell/em-alias.el
lisp/eshell/em-banner.el
lisp/eshell/em-basic.el
lisp/eshell/em-cmpl.el
lisp/eshell/em-dirs.el
lisp/eshell/em-glob.el
lisp/eshell/em-hist.el
lisp/eshell/em-ls.el
lisp/eshell/em-pred.el
lisp/eshell/em-prompt.el
lisp/eshell/em-rebind.el
lisp/eshell/em-script.el
lisp/eshell/em-smart.el
lisp/eshell/em-term.el
lisp/eshell/em-unix.el
lisp/eshell/em-xtra.el
lisp/eshell/esh-arg.el
lisp/eshell/esh-cmd.el
lisp/eshell/esh-ext.el
lisp/eshell/esh-io.el
lisp/eshell/esh-mode.el
lisp/eshell/esh-module.el
lisp/eshell/esh-opt.el
lisp/eshell/esh-proc.el
lisp/eshell/esh-util.el
lisp/eshell/esh-var.el
lisp/eshell/eshell.el
lisp/expand.el
lisp/ezimage.el
lisp/face-remap.el
lisp/facemenu.el
lisp/faces.el
lisp/ffap.el
lisp/filecache.el
lisp/files-x.el
lisp/files.el
lisp/filesets.el
lisp/find-cmd.el
lisp/find-dired.el
lisp/find-file.el
lisp/find-lisp.el
lisp/finder.el
lisp/flow-ctrl.el
lisp/foldout.el
lisp/follow.el
lisp/font-core.el
lisp/font-lock.el
lisp/format-spec.el
lisp/format.el
lisp/forms-d2.el
lisp/forms.el
lisp/frame.el
lisp/fringe.el
lisp/generic-x.el
lisp/gnus/ChangeLog
lisp/gnus/ChangeLog.1
lisp/gnus/ChangeLog.2
lisp/gnus/auth-source.el
lisp/gnus/canlock.el
lisp/gnus/compface.el
lisp/gnus/deuglify.el
lisp/gnus/ecomplete.el
lisp/gnus/flow-fill.el
lisp/gnus/gmm-utils.el
lisp/gnus/gnus-agent.el
lisp/gnus/gnus-art.el
lisp/gnus/gnus-async.el
lisp/gnus/gnus-bcklg.el
lisp/gnus/gnus-bookmark.el
lisp/gnus/gnus-cache.el
lisp/gnus/gnus-cite.el
lisp/gnus/gnus-cus.el
lisp/gnus/gnus-delay.el
lisp/gnus/gnus-demon.el
lisp/gnus/gnus-diary.el
lisp/gnus/gnus-dired.el
lisp/gnus/gnus-draft.el
lisp/gnus/gnus-dup.el
lisp/gnus/gnus-eform.el
lisp/gnus/gnus-ems.el
lisp/gnus/gnus-fun.el
lisp/gnus/gnus-gravatar.el
lisp/gnus/gnus-group.el
lisp/gnus/gnus-html.el
lisp/gnus/gnus-int.el
lisp/gnus/gnus-kill.el
lisp/gnus/gnus-logic.el
lisp/gnus/gnus-mh.el
lisp/gnus/gnus-ml.el
lisp/gnus/gnus-mlspl.el
lisp/gnus/gnus-msg.el
lisp/gnus/gnus-picon.el
lisp/gnus/gnus-range.el
lisp/gnus/gnus-registry.el
lisp/gnus/gnus-salt.el
lisp/gnus/gnus-score.el
lisp/gnus/gnus-setup.el
lisp/gnus/gnus-sieve.el
lisp/gnus/gnus-spec.el
lisp/gnus/gnus-srvr.el
lisp/gnus/gnus-start.el
lisp/gnus/gnus-sum.el
lisp/gnus/gnus-sync.el
lisp/gnus/gnus-topic.el
lisp/gnus/gnus-undo.el
lisp/gnus/gnus-util.el
lisp/gnus/gnus-uu.el
lisp/gnus/gnus-vm.el
lisp/gnus/gnus-win.el
lisp/gnus/gnus.el
lisp/gnus/gravatar.el
lisp/gnus/gssapi.el
lisp/gnus/html2text.el
lisp/gnus/ietf-drums.el
lisp/gnus/legacy-gnus-agent.el
lisp/gnus/mail-parse.el
lisp/gnus/mail-prsvr.el
lisp/gnus/mail-source.el
lisp/gnus/mailcap.el
lisp/gnus/message.el
lisp/gnus/messcompat.el
lisp/gnus/mm-bodies.el
lisp/gnus/mm-decode.el
lisp/gnus/mm-encode.el
lisp/gnus/mm-extern.el
lisp/gnus/mm-partial.el
lisp/gnus/mm-url.el
lisp/gnus/mm-util.el
lisp/gnus/mm-uu.el
lisp/gnus/mm-view.el
lisp/gnus/mml-sec.el
lisp/gnus/mml-smime.el
lisp/gnus/mml.el
lisp/gnus/mml1991.el
lisp/gnus/mml2015.el
lisp/gnus/nnagent.el
lisp/gnus/nnbabyl.el
lisp/gnus/nndiary.el
lisp/gnus/nndir.el
lisp/gnus/nndoc.el
lisp/gnus/nndraft.el
lisp/gnus/nneething.el
lisp/gnus/nnfolder.el
lisp/gnus/nngateway.el
lisp/gnus/nnheader.el
lisp/gnus/nnimap.el
lisp/gnus/nnir.el
lisp/gnus/nnmail.el
lisp/gnus/nnmairix.el
lisp/gnus/nnmbox.el
lisp/gnus/nnmh.el
lisp/gnus/nnml.el
lisp/gnus/nnoo.el
lisp/gnus/nnregistry.el
lisp/gnus/nnrss.el
lisp/gnus/nnspool.el
lisp/gnus/nntp.el
lisp/gnus/nnvirtual.el
lisp/gnus/nnweb.el
lisp/gnus/plstore.el
lisp/gnus/pop3.el
lisp/gnus/qp.el
lisp/gnus/registry.el
lisp/gnus/rfc1843.el
lisp/gnus/rfc2045.el
lisp/gnus/rfc2047.el
lisp/gnus/rfc2104.el
lisp/gnus/rfc2231.el
lisp/gnus/rtree.el
lisp/gnus/score-mode.el
lisp/gnus/shr-color.el
lisp/gnus/shr.el
lisp/gnus/sieve-manage.el
lisp/gnus/sieve-mode.el
lisp/gnus/sieve.el
lisp/gnus/smiley.el
lisp/gnus/smime.el
lisp/gnus/spam-report.el
lisp/gnus/spam-stat.el
lisp/gnus/spam-wash.el
lisp/gnus/spam.el
lisp/gnus/starttls.el
lisp/gnus/utf7.el
lisp/gnus/yenc.el
lisp/gs.el
lisp/help-at-pt.el
lisp/help-fns.el
lisp/help-macro.el
lisp/help-mode.el
lisp/help.el
lisp/hex-util.el
lisp/hexl.el
lisp/hfy-cmap.el
lisp/hi-lock.el
lisp/hilit-chg.el
lisp/hippie-exp.el
lisp/hl-line.el
lisp/htmlfontify.el
lisp/ibuf-ext.el
lisp/ibuf-macs.el
lisp/ibuffer.el
lisp/icomplete.el
lisp/ido.el
lisp/ielm.el
lisp/iimage.el
lisp/image-dired.el
lisp/image-file.el
lisp/image-mode.el
lisp/image.el
lisp/imenu.el
lisp/indent.el
lisp/info-look.el
lisp/info-xref.el
lisp/info.el
lisp/informat.el
lisp/international/ccl.el
lisp/international/characters.el
lisp/international/fontset.el
lisp/international/isearch-x.el
lisp/international/iso-ascii.el
lisp/international/iso-cvt.el
lisp/international/iso-transl.el
lisp/international/kinsoku.el
lisp/international/kkc.el
lisp/international/latexenc.el
lisp/international/latin1-disp.el
lisp/international/mule-cmds.el
lisp/international/mule-conf.el
lisp/international/mule-diag.el
lisp/international/mule-util.el
lisp/international/mule.el
lisp/international/ogonek.el
lisp/international/quail.el
lisp/international/robin.el
lisp/international/titdic-cnv.el
lisp/international/ucs-normalize.el
lisp/international/utf-7.el
lisp/isearch.el
lisp/isearchb.el
lisp/iswitchb.el
lisp/jit-lock.el
lisp/jka-cmpr-hook.el
lisp/jka-compr.el
lisp/json.el
lisp/kermit.el
lisp/kmacro.el
lisp/language/china-util.el
lisp/language/chinese.el
lisp/language/cyril-util.el
lisp/language/cyrillic.el
lisp/language/czech.el
lisp/language/english.el
lisp/language/ethio-util.el
lisp/language/ethiopic.el
lisp/language/european.el
lisp/language/georgian.el
lisp/language/hanja-util.el
lisp/language/hebrew.el
lisp/language/ind-util.el
lisp/language/indian.el
lisp/language/japan-util.el
lisp/language/japanese.el
lisp/language/korea-util.el
lisp/language/korean.el
lisp/language/lao-util.el
lisp/language/lao.el
lisp/language/romanian.el
lisp/language/slovak.el
lisp/language/tai-viet.el
lisp/language/thai-util.el
lisp/language/thai.el
lisp/language/tibet-util.el
lisp/language/tibetan.el
lisp/language/utf-8-lang.el
lisp/language/viet-util.el
lisp/language/vietnamese.el
lisp/ldefs-boot.el
lisp/ledit.el
lisp/linum.el
lisp/loadhist.el
lisp/loadup.el
lisp/locate.el
lisp/longlines.el
lisp/lpr.el
lisp/ls-lisp.el
lisp/macros.el
lisp/mail/binhex.el
lisp/mail/blessmail.el
lisp/mail/emacsbug.el
lisp/mail/footnote.el
lisp/mail/hashcash.el
lisp/mail/mail-extr.el
lisp/mail/mail-hist.el
lisp/mail/mail-utils.el
lisp/mail/mailabbrev.el
lisp/mail/mailalias.el
lisp/mail/mailclient.el
lisp/mail/mailheader.el
lisp/mail/metamail.el
lisp/mail/mspools.el
lisp/mail/reporter.el
lisp/mail/rfc2368.el
lisp/mail/rfc822.el
lisp/mail/rmail-spam-filter.el
lisp/mail/rmail.el
lisp/mail/rmailedit.el
lisp/mail/rmailkwd.el
lisp/mail/rmailmm.el
lisp/mail/rmailmsc.el
lisp/mail/rmailout.el
lisp/mail/rmailsort.el
lisp/mail/rmailsum.el
lisp/mail/sendmail.el
lisp/mail/smtpmail.el
lisp/mail/supercite.el
lisp/mail/uce.el
lisp/mail/undigest.el
lisp/mail/unrmail.el
lisp/mail/uudecode.el
lisp/makefile.w32-in
lisp/makesum.el
lisp/man.el
lisp/master.el
lisp/mb-depth.el
lisp/md4.el
lisp/menu-bar.el
lisp/mh-e/ChangeLog
lisp/mh-e/ChangeLog.1
lisp/mh-e/mh-acros.el
lisp/mh-e/mh-alias.el
lisp/mh-e/mh-buffers.el
lisp/mh-e/mh-comp.el
lisp/mh-e/mh-compat.el
lisp/mh-e/mh-e.el
lisp/mh-e/mh-folder.el
lisp/mh-e/mh-funcs.el
lisp/mh-e/mh-gnus.el
lisp/mh-e/mh-identity.el
lisp/mh-e/mh-inc.el
lisp/mh-e/mh-junk.el
lisp/mh-e/mh-letter.el
lisp/mh-e/mh-limit.el
lisp/mh-e/mh-mime.el
lisp/mh-e/mh-print.el
lisp/mh-e/mh-scan.el
lisp/mh-e/mh-search.el
lisp/mh-e/mh-seq.el
lisp/mh-e/mh-show.el
lisp/mh-e/mh-speed.el
lisp/mh-e/mh-thread.el
lisp/mh-e/mh-tool-bar.el
lisp/mh-e/mh-utils.el
lisp/mh-e/mh-xface.el
lisp/midnight.el
lisp/minibuf-eldef.el
lisp/minibuffer.el
lisp/misc.el
lisp/misearch.el
lisp/mouse-copy.el
lisp/mouse-drag.el
lisp/mouse-sel.el
lisp/mouse.el
lisp/mpc.el
lisp/msb.el
lisp/mwheel.el
lisp/net/ange-ftp.el
lisp/net/browse-url.el
lisp/net/dbus.el
lisp/net/dig.el
lisp/net/dns.el
lisp/net/eudc-bob.el
lisp/net/eudc-export.el
lisp/net/eudc-hotlist.el
lisp/net/eudc-vars.el
lisp/net/eudc.el
lisp/net/eudcb-bbdb.el
lisp/net/eudcb-ldap.el
lisp/net/eudcb-mab.el
lisp/net/eudcb-ph.el
lisp/net/gnutls.el
lisp/net/goto-addr.el
lisp/net/hmac-def.el
lisp/net/hmac-md5.el
lisp/net/imap.el
lisp/net/ldap.el
lisp/net/mairix.el
lisp/net/net-utils.el
lisp/net/netrc.el
lisp/net/network-stream.el
lisp/net/newst-backend.el
lisp/net/newst-plainview.el
lisp/net/newst-reader.el
lisp/net/newst-ticker.el
lisp/net/newst-treeview.el
lisp/net/newsticker.el
lisp/net/ntlm.el
lisp/net/quickurl.el
lisp/net/rcirc.el
lisp/net/rcompile.el
lisp/net/rlogin.el
lisp/net/sasl-cram.el
lisp/net/sasl-digest.el
lisp/net/sasl-ntlm.el
lisp/net/sasl.el
lisp/net/secrets.el
lisp/net/snmp-mode.el
lisp/net/soap-client.el
lisp/net/soap-inspect.el
lisp/net/socks.el
lisp/net/telnet.el
lisp/net/tls.el
lisp/net/tramp-cache.el
lisp/net/tramp-cmds.el
lisp/net/tramp-compat.el
lisp/net/tramp-ftp.el
lisp/net/tramp-gvfs.el
lisp/net/tramp-gw.el
lisp/net/tramp-sh.el
lisp/net/tramp-smb.el
lisp/net/tramp-uu.el
lisp/net/tramp.el
lisp/net/trampver.el
lisp/net/webjump.el
lisp/net/xesam.el
lisp/net/zeroconf.el
lisp/newcomment.el
lisp/notifications.el
lisp/novice.el
lisp/nxml/nxml-enc.el
lisp/nxml/nxml-glyph.el
lisp/nxml/nxml-maint.el
lisp/nxml/nxml-mode.el
lisp/nxml/nxml-ns.el
lisp/nxml/nxml-outln.el
lisp/nxml/nxml-parse.el
lisp/nxml/nxml-rap.el
lisp/nxml/nxml-uchnm.el
lisp/nxml/nxml-util.el
lisp/nxml/rng-cmpct.el
lisp/nxml/rng-dt.el
lisp/nxml/rng-loc.el
lisp/nxml/rng-maint.el
lisp/nxml/rng-match.el
lisp/nxml/rng-nxml.el
lisp/nxml/rng-parse.el
lisp/nxml/rng-pttrn.el
lisp/nxml/rng-uri.el
lisp/nxml/rng-util.el
lisp/nxml/rng-valid.el
lisp/nxml/rng-xsd.el
lisp/nxml/xmltok.el
lisp/nxml/xsd-regexp.el
lisp/obsolete/abbrevlist.el
lisp/obsolete/awk-mode.el
lisp/obsolete/cl-compat.el
lisp/obsolete/complete.el
lisp/obsolete/erc-hecomplete.el
lisp/obsolete/fast-lock.el
lisp/obsolete/iso-acc.el
lisp/obsolete/iso-insert.el
lisp/obsolete/iso-swed.el
lisp/obsolete/keyswap.el
lisp/obsolete/lazy-lock.el
lisp/obsolete/levents.el
lisp/obsolete/lmenu.el
lisp/obsolete/lucid.el
lisp/obsolete/old-emacs-lock.el
lisp/obsolete/old-whitespace.el
lisp/obsolete/options.el
lisp/obsolete/pc-mode.el
lisp/obsolete/pc-select.el
lisp/obsolete/pgg-def.el
lisp/obsolete/pgg-gpg.el
lisp/obsolete/pgg-parse.el
lisp/obsolete/pgg-pgp.el
lisp/obsolete/pgg-pgp5.el
lisp/obsolete/pgg.el
lisp/obsolete/resume.el
lisp/obsolete/s-region.el
lisp/obsolete/scribe.el
lisp/obsolete/spell.el
lisp/obsolete/sregex.el
lisp/obsolete/swedish.el
lisp/obsolete/sym-comp.el
lisp/obsolete/vc-mcvs.el
lisp/org/ChangeLog
lisp/org/ob-C.el
lisp/org/ob-R.el
lisp/org/ob-asymptote.el
lisp/org/ob-awk.el
lisp/org/ob-calc.el
lisp/org/ob-clojure.el
lisp/org/ob-comint.el
lisp/org/ob-css.el
lisp/org/ob-ditaa.el
lisp/org/ob-dot.el
lisp/org/ob-emacs-lisp.el
lisp/org/ob-eval.el
lisp/org/ob-exp.el
lisp/org/ob-fortran.el [new file with mode: 0644]
lisp/org/ob-gnuplot.el
lisp/org/ob-haskell.el
lisp/org/ob-java.el
lisp/org/ob-js.el
lisp/org/ob-keys.el
lisp/org/ob-latex.el
lisp/org/ob-ledger.el
lisp/org/ob-lilypond.el
lisp/org/ob-lisp.el
lisp/org/ob-lob.el
lisp/org/ob-matlab.el
lisp/org/ob-maxima.el
lisp/org/ob-mscgen.el
lisp/org/ob-ocaml.el
lisp/org/ob-octave.el
lisp/org/ob-org.el
lisp/org/ob-perl.el
lisp/org/ob-picolisp.el [new file with mode: 0644]
lisp/org/ob-plantuml.el
lisp/org/ob-python.el
lisp/org/ob-ref.el
lisp/org/ob-ruby.el
lisp/org/ob-sass.el
lisp/org/ob-scheme.el
lisp/org/ob-screen.el
lisp/org/ob-sh.el
lisp/org/ob-shen.el [new file with mode: 0644]
lisp/org/ob-sql.el
lisp/org/ob-sqlite.el
lisp/org/ob-table.el
lisp/org/ob-tangle.el
lisp/org/ob.el
lisp/org/org-agenda.el
lisp/org/org-archive.el
lisp/org/org-ascii.el
lisp/org/org-attach.el
lisp/org/org-bbdb.el
lisp/org/org-beamer.el
lisp/org/org-bibtex.el
lisp/org/org-capture.el
lisp/org/org-clock.el
lisp/org/org-colview.el
lisp/org/org-compat.el
lisp/org/org-crypt.el
lisp/org/org-ctags.el
lisp/org/org-datetree.el
lisp/org/org-docbook.el
lisp/org/org-docview.el
lisp/org/org-entities.el
lisp/org/org-eshell.el [new file with mode: 0644]
lisp/org/org-exp-blocks.el
lisp/org/org-exp.el
lisp/org/org-faces.el
lisp/org/org-feed.el
lisp/org/org-footnote.el
lisp/org/org-freemind.el
lisp/org/org-gnus.el
lisp/org/org-habit.el
lisp/org/org-html.el
lisp/org/org-icalendar.el
lisp/org/org-id.el
lisp/org/org-indent.el
lisp/org/org-info.el
lisp/org/org-inlinetask.el
lisp/org/org-install.el
lisp/org/org-irc.el
lisp/org/org-jsinfo.el
lisp/org/org-latex.el
lisp/org/org-list.el
lisp/org/org-lparse.el [new file with mode: 0644]
lisp/org/org-mac-message.el
lisp/org/org-macs.el
lisp/org/org-mew.el
lisp/org/org-mhe.el
lisp/org/org-mks.el
lisp/org/org-mobile.el
lisp/org/org-mouse.el
lisp/org/org-odt.el [new file with mode: 0644]
lisp/org/org-pcomplete.el
lisp/org/org-plot.el
lisp/org/org-protocol.el
lisp/org/org-publish.el
lisp/org/org-remember.el
lisp/org/org-rmail.el
lisp/org/org-special-blocks.el
lisp/org/org-src.el
lisp/org/org-table.el
lisp/org/org-taskjuggler.el
lisp/org/org-timer.el
lisp/org/org-vm.el
lisp/org/org-w3m.el
lisp/org/org-wl.el
lisp/org/org-xoxo.el
lisp/org/org.el
lisp/outline.el
lisp/paren.el
lisp/password-cache.el
lisp/paths.el
lisp/pcmpl-cvs.el
lisp/pcmpl-gnu.el
lisp/pcmpl-linux.el
lisp/pcmpl-rpm.el
lisp/pcmpl-unix.el
lisp/pcomplete.el
lisp/play/5x5.el
lisp/play/animate.el
lisp/play/blackbox.el
lisp/play/bruce.el
lisp/play/bubbles.el
lisp/play/cookie1.el
lisp/play/decipher.el
lisp/play/dissociate.el
lisp/play/doctor.el
lisp/play/dunnet.el
lisp/play/fortune.el
lisp/play/gamegrid.el
lisp/play/gametree.el
lisp/play/gomoku.el
lisp/play/handwrite.el
lisp/play/landmark.el
lisp/play/life.el
lisp/play/morse.el
lisp/play/mpuz.el
lisp/play/pong.el
lisp/play/snake.el
lisp/play/solitaire.el
lisp/play/spook.el
lisp/play/tetris.el
lisp/play/yow.el
lisp/play/zone.el
lisp/printing.el
lisp/proced.el
lisp/progmodes/ada-mode.el
lisp/progmodes/ada-prj.el
lisp/progmodes/ada-stmt.el
lisp/progmodes/ada-xref.el
lisp/progmodes/antlr-mode.el
lisp/progmodes/asm-mode.el
lisp/progmodes/autoconf.el
lisp/progmodes/bug-reference.el
lisp/progmodes/cap-words.el
lisp/progmodes/cc-align.el
lisp/progmodes/cc-awk.el
lisp/progmodes/cc-bytecomp.el
lisp/progmodes/cc-cmds.el
lisp/progmodes/cc-compat.el
lisp/progmodes/cc-defs.el
lisp/progmodes/cc-engine.el
lisp/progmodes/cc-fonts.el
lisp/progmodes/cc-guess.el
lisp/progmodes/cc-langs.el
lisp/progmodes/cc-menus.el
lisp/progmodes/cc-mode.el
lisp/progmodes/cc-styles.el
lisp/progmodes/cc-vars.el
lisp/progmodes/cfengine.el
lisp/progmodes/cmacexp.el
lisp/progmodes/compile.el
lisp/progmodes/cperl-mode.el
lisp/progmodes/cpp.el
lisp/progmodes/cwarn.el
lisp/progmodes/dcl-mode.el
lisp/progmodes/delphi.el
lisp/progmodes/ebnf-abn.el
lisp/progmodes/ebnf-bnf.el
lisp/progmodes/ebnf-dtd.el
lisp/progmodes/ebnf-ebx.el
lisp/progmodes/ebnf-iso.el
lisp/progmodes/ebnf-otz.el
lisp/progmodes/ebnf-yac.el
lisp/progmodes/ebnf2ps.el
lisp/progmodes/ebrowse.el
lisp/progmodes/etags.el
lisp/progmodes/executable.el
lisp/progmodes/f90.el
lisp/progmodes/flymake.el
lisp/progmodes/fortran.el
lisp/progmodes/gdb-mi.el
lisp/progmodes/glasses.el
lisp/progmodes/grep.el
lisp/progmodes/gud.el
lisp/progmodes/hideif.el
lisp/progmodes/hideshow.el
lisp/progmodes/icon.el
lisp/progmodes/idlw-complete-structtag.el
lisp/progmodes/idlw-help.el
lisp/progmodes/idlw-shell.el
lisp/progmodes/idlw-toolbar.el
lisp/progmodes/idlwave.el
lisp/progmodes/inf-lisp.el
lisp/progmodes/js.el
lisp/progmodes/ld-script.el
lisp/progmodes/m4-mode.el
lisp/progmodes/make-mode.el
lisp/progmodes/mantemp.el
lisp/progmodes/meta-mode.el
lisp/progmodes/mixal-mode.el
lisp/progmodes/octave-inf.el
lisp/progmodes/octave-mod.el
lisp/progmodes/pascal.el
lisp/progmodes/perl-mode.el
lisp/progmodes/prolog.el
lisp/progmodes/ps-mode.el
lisp/progmodes/python.el
lisp/progmodes/ruby-mode.el
lisp/progmodes/scheme.el
lisp/progmodes/sh-script.el
lisp/progmodes/simula.el
lisp/progmodes/sql.el
lisp/progmodes/subword.el
lisp/progmodes/tcl.el
lisp/progmodes/vera-mode.el
lisp/progmodes/verilog-mode.el
lisp/progmodes/vhdl-mode.el
lisp/progmodes/which-func.el
lisp/progmodes/xscheme.el
lisp/ps-bdf.el
lisp/ps-def.el
lisp/ps-mule.el
lisp/ps-print.el
lisp/ps-samp.el
lisp/recentf.el
lisp/rect.el
lisp/register.el
lisp/repeat.el
lisp/replace.el
lisp/reposition.el
lisp/reveal.el
lisp/rfn-eshadow.el
lisp/rot13.el
lisp/ruler-mode.el
lisp/savehist.el
lisp/saveplace.el
lisp/sb-image.el
lisp/scroll-all.el
lisp/scroll-bar.el
lisp/scroll-lock.el
lisp/select.el
lisp/server.el
lisp/ses.el
lisp/shadowfile.el
lisp/shell.el
lisp/simple.el
lisp/skeleton.el
lisp/sort.el
lisp/soundex.el
lisp/speedbar.el
lisp/startup.el
lisp/strokes.el
lisp/subr.el
lisp/t-mouse.el
lisp/tabify.el
lisp/talk.el
lisp/tar-mode.el
lisp/tempo.el
lisp/term.el
lisp/term/AT386.el
lisp/term/README
lisp/term/common-win.el
lisp/term/internal.el
lisp/term/iris-ansi.el
lisp/term/news.el
lisp/term/ns-win.el
lisp/term/pc-win.el
lisp/term/rxvt.el
lisp/term/sun.el
lisp/term/sup-mouse.el
lisp/term/tty-colors.el
lisp/term/tvi970.el
lisp/term/vt100.el
lisp/term/w32-win.el
lisp/term/w32console.el
lisp/term/wyse50.el
lisp/term/x-win.el
lisp/term/xterm.el
lisp/terminal.el
lisp/textmodes/artist.el
lisp/textmodes/bib-mode.el
lisp/textmodes/bibtex-style.el
lisp/textmodes/bibtex.el
lisp/textmodes/conf-mode.el
lisp/textmodes/css-mode.el
lisp/textmodes/dns-mode.el
lisp/textmodes/enriched.el
lisp/textmodes/fill.el
lisp/textmodes/flyspell.el
lisp/textmodes/ispell.el
lisp/textmodes/makeinfo.el
lisp/textmodes/nroff-mode.el
lisp/textmodes/page-ext.el
lisp/textmodes/page.el
lisp/textmodes/paragraphs.el
lisp/textmodes/picture.el
lisp/textmodes/po.el
lisp/textmodes/refbib.el
lisp/textmodes/refer.el
lisp/textmodes/refill.el
lisp/textmodes/reftex-auc.el
lisp/textmodes/reftex-cite.el
lisp/textmodes/reftex-dcr.el
lisp/textmodes/reftex-global.el
lisp/textmodes/reftex-index.el
lisp/textmodes/reftex-parse.el
lisp/textmodes/reftex-ref.el
lisp/textmodes/reftex-sel.el
lisp/textmodes/reftex-toc.el
lisp/textmodes/reftex-vars.el
lisp/textmodes/reftex.el
lisp/textmodes/remember.el
lisp/textmodes/rst.el
lisp/textmodes/sgml-mode.el
lisp/textmodes/table.el
lisp/textmodes/tex-mode.el
lisp/textmodes/texinfmt.el
lisp/textmodes/texinfo.el
lisp/textmodes/texnfo-upd.el
lisp/textmodes/text-mode.el
lisp/textmodes/tildify.el
lisp/textmodes/two-column.el
lisp/textmodes/underline.el
lisp/thingatpt.el
lisp/thumbs.el
lisp/time-stamp.el
lisp/time.el
lisp/timezone.el
lisp/tmm.el
lisp/tool-bar.el
lisp/tooltip.el
lisp/tree-widget.el
lisp/tutorial.el
lisp/type-break.el
lisp/uniquify.el
lisp/url/ChangeLog
lisp/url/url-about.el
lisp/url/url-auth.el
lisp/url/url-cache.el
lisp/url/url-cid.el
lisp/url/url-cookie.el
lisp/url/url-dav.el
lisp/url/url-dired.el
lisp/url/url-expand.el
lisp/url/url-file.el
lisp/url/url-ftp.el
lisp/url/url-future.el
lisp/url/url-gw.el
lisp/url/url-handlers.el
lisp/url/url-history.el
lisp/url/url-http.el
lisp/url/url-imap.el
lisp/url/url-irc.el
lisp/url/url-ldap.el
lisp/url/url-mailto.el
lisp/url/url-methods.el
lisp/url/url-misc.el
lisp/url/url-news.el
lisp/url/url-nfs.el
lisp/url/url-ns.el
lisp/url/url-parse.el
lisp/url/url-privacy.el
lisp/url/url-proxy.el
lisp/url/url-queue.el
lisp/url/url-util.el
lisp/url/url-vars.el
lisp/url/url.el
lisp/userlock.el
lisp/vc/add-log.el
lisp/vc/compare-w.el
lisp/vc/cvs-status.el
lisp/vc/diff-mode.el
lisp/vc/diff.el
lisp/vc/ediff-diff.el
lisp/vc/ediff-help.el
lisp/vc/ediff-hook.el
lisp/vc/ediff-init.el
lisp/vc/ediff-merg.el
lisp/vc/ediff-mult.el
lisp/vc/ediff-ptch.el
lisp/vc/ediff-util.el
lisp/vc/ediff-vers.el
lisp/vc/ediff-wind.el
lisp/vc/ediff.el
lisp/vc/emerge.el
lisp/vc/log-edit.el
lisp/vc/log-view.el
lisp/vc/pcvs-defs.el
lisp/vc/pcvs-info.el
lisp/vc/pcvs-parse.el
lisp/vc/pcvs-util.el
lisp/vc/pcvs.el
lisp/vc/smerge-mode.el
lisp/vc/vc-annotate.el
lisp/vc/vc-arch.el
lisp/vc/vc-bzr.el
lisp/vc/vc-cvs.el
lisp/vc/vc-dav.el
lisp/vc/vc-dir.el
lisp/vc/vc-dispatcher.el
lisp/vc/vc-git.el
lisp/vc/vc-hg.el
lisp/vc/vc-hooks.el
lisp/vc/vc-mtn.el
lisp/vc/vc-rcs.el
lisp/vc/vc-sccs.el
lisp/vc/vc-svn.el
lisp/vc/vc.el
lisp/vcursor.el
lisp/version.el
lisp/view.el
lisp/vt-control.el
lisp/vt100-led.el
lisp/w32-fns.el
lisp/w32-vars.el
lisp/wdired.el
lisp/whitespace.el
lisp/wid-browse.el
lisp/wid-edit.el
lisp/widget.el
lisp/windmove.el
lisp/window.el
lisp/winner.el
lisp/woman.el
lisp/x-dnd.el
lisp/xml.el
lisp/xt-mouse.el
lwlib/ChangeLog
lwlib/Makefile.in
lwlib/lwlib-Xaw.c
lwlib/lwlib-Xlw.c
lwlib/lwlib-Xm.c
lwlib/lwlib-int.h
lwlib/lwlib-utils.c
lwlib/lwlib.c
lwlib/lwlib.h
lwlib/xlwmenu.c
lwlib/xlwmenu.h
lwlib/xlwmenuP.h
make-dist
msdos/ChangeLog
msdos/INSTALL
msdos/README
msdos/depfiles.bat
msdos/inttypes.h
msdos/mainmake.v2
msdos/sed1v2.inp
msdos/sed1x.inp
msdos/sed2v2.inp
msdos/sed2x.inp
msdos/sed3v2.inp
msdos/sed4.inp
msdos/sed5x.inp
msdos/sed6.inp
msdos/sedalloc.inp
msdos/sedleim.inp
msdos/sedlibcf.inp
msdos/sedlibmk.inp
msdos/sedlisp.inp
nextstep/ChangeLog
nextstep/Cocoa/Emacs.base/Contents/Info.plist
nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
nextstep/INSTALL
nextstep/README
nt/ChangeLog
nt/INSTALL
nt/README
nt/README.W32
nt/addpm.c
nt/addsection.c
nt/cmdproxy.c
nt/config.nt
nt/configure.bat
nt/ddeclient.c
nt/emacs.rc
nt/emacsclient.rc
nt/envadd.bat
nt/gmake.defs
nt/icons/README
nt/inc/grp.h
nt/inc/inttypes.h
nt/inc/langinfo.h
nt/inc/nl_types.h
nt/inc/stdint.h
nt/inc/sys/socket.h
nt/inc/sys/stat.h
nt/makefile.w32-in
nt/multi-install-info.bat
nt/nmake.defs
nt/paths.h
nt/preprep.c
nt/runemacs.c
nt/zipdist.bat
oldXMenu/Activate.c
oldXMenu/ChangeLog
oldXMenu/Create.c
oldXMenu/FindSel.c
oldXMenu/Internal.c
oldXMenu/Makefile.in
oldXMenu/insque.c
src/.gdbinit
src/ChangeLog
src/ChangeLog.1
src/ChangeLog.10
src/ChangeLog.11
src/ChangeLog.2
src/ChangeLog.3
src/ChangeLog.4
src/ChangeLog.5
src/ChangeLog.6
src/ChangeLog.7
src/ChangeLog.8
src/ChangeLog.9
src/Makefile.in
src/README
src/alloc.c
src/atimer.c
src/atimer.h
src/bidi.c
src/blockinput.h
src/buffer.c
src/buffer.h
src/bytecode.c
src/callint.c
src/callproc.c
src/casefiddle.c
src/casetab.c
src/category.c
src/ccl.c
src/character.c
src/charset.c
src/charset.h
src/cm.c
src/cm.h
src/cmds.c
src/coding.c
src/coding.h
src/commands.h
src/composite.c
src/composite.h
src/data.c
src/dbusbind.c
src/deps.mk
src/dired.c
src/dispextern.h
src/dispnew.c
src/disptab.h
src/doc.c
src/doprnt.c
src/dosfns.c
src/dosfns.h
src/editfns.c
src/emacs-icon.h
src/emacs.c
src/emacsgtkfixed.c
src/emacsgtkfixed.h
src/epaths.in
src/eval.c
src/fileio.c
src/filelock.c
src/firstfile.c
src/floatfns.c
src/fns.c
src/font.c
src/font.h
src/fontset.c
src/fontset.h
src/frame.c
src/frame.h
src/fringe.c
src/ftfont.c
src/ftxfont.c
src/getpagesize.h
src/gnutls.c
src/gnutls.h
src/gtkutil.c
src/gtkutil.h
src/image.c
src/indent.c
src/indent.h
src/insdel.c
src/intervals.c
src/intervals.h
src/keyboard.c
src/keyboard.h
src/keymap.c
src/keymap.h
src/lastfile.c
src/lisp.h
src/lisp.mk
src/lread.c
src/m/alpha.h
src/m/amdx86-64.h
src/m/ia64.h
src/m/ibmrs6000.h
src/m/ibms390x.h
src/m/intel386.h
src/m/m68k.h
src/m/macppc.h
src/m/sparc.h
src/m/template.h
src/m/vax.h
src/macros.c
src/macros.h
src/makefile.w32-in
src/marker.c
src/mem-limits.h
src/menu.c
src/menu.h
src/minibuf.c
src/msdos.c
src/msdos.h
src/ns.mk
src/nsfns.m
src/nsfont.m
src/nsgui.h
src/nsimage.m
src/nsmenu.m
src/nsselect.m
src/nsterm.h
src/nsterm.m
src/print.c
src/process.c
src/process.h
src/puresize.h
src/ralloc.c
src/regex.c
src/regex.h
src/region-cache.c
src/region-cache.h
src/s/aix4-2.h
src/s/bsd-common.h
src/s/cygwin.h
src/s/darwin.h
src/s/freebsd.h
src/s/gnu-linux.h
src/s/gnu.h
src/s/hpux10-20.h
src/s/irix6-5.h
src/s/ms-w32.h
src/s/msdos.h
src/s/netbsd.h
src/s/sol2-6.h
src/s/template.h
src/s/unixware.h
src/s/usg5-4-common.h
src/scroll.c
src/search.c
src/sheap.c
src/sound.c
src/syntax.c
src/syntax.h
src/sysdep.c
src/sysselect.h
src/syssignal.h
src/systime.h
src/systty.h
src/syswait.h
src/term.c
src/termchar.h
src/termhooks.h
src/terminal.c
src/terminfo.c
src/termopts.h
src/textprop.c
src/tparam.h
src/undo.c
src/unexaix.c
src/unexcoff.c
src/unexcw.c
src/unexelf.c
src/unexmacosx.c
src/unexw32.c
src/vm-limit.c
src/w16select.c
src/w32.c
src/w32.h
src/w32console.c
src/w32fns.c
src/w32font.c
src/w32font.h
src/w32gui.h
src/w32heap.c
src/w32heap.h
src/w32inevt.c
src/w32inevt.h
src/w32menu.c
src/w32proc.c
src/w32reg.c
src/w32select.c
src/w32term.c
src/w32term.h
src/w32uniscribe.c
src/w32xfns.c
src/widget.c
src/widget.h
src/widgetprv.h
src/window.c
src/window.h
src/xdisp.c
src/xfaces.c
src/xfns.c
src/xfont.c
src/xftfont.c
src/xgselect.c
src/xgselect.h
src/xmenu.c
src/xml.c
src/xrdb.c
src/xselect.c
src/xsettings.c
src/xsettings.h
src/xsmfns.c
src/xterm.c
src/xterm.h
test/ChangeLog
test/automated/Makefile.in
test/automated/bytecomp-tests.el
test/automated/comint-testsuite.el
test/automated/compile-tests.el
test/automated/ert-tests.el
test/automated/ert-x-tests.el
test/automated/f90.el
test/automated/font-parse-tests.el
test/automated/gnus-tests.el
test/automated/icalendar-tests.el
test/automated/lexbind-tests.el
test/automated/newsticker-tests.el
test/automated/occur-tests.el
test/automated/vc-bzr.el
test/cedet/cedet-utests.el
test/cedet/ede-tests.el
test/cedet/semantic-ia-utest.el
test/cedet/semantic-tests.el
test/cedet/semantic-utest-c.el
test/cedet/semantic-utest.el
test/cedet/srecode-tests.el
test/cedet/tests/test.c
test/cedet/tests/test.el
test/cedet/tests/test.make
test/cedet/tests/testdoublens.cpp
test/cedet/tests/testdoublens.hpp
test/cedet/tests/testjavacomp.java
test/cedet/tests/testpolymorph.cpp
test/cedet/tests/testspp.c
test/cedet/tests/testsppreplace.c
test/cedet/tests/testsppreplaced.c
test/cedet/tests/testsubclass.cpp
test/cedet/tests/testsubclass.hh
test/cedet/tests/testtypedefs.cpp
test/cedet/tests/testvarnames.c
test/eshell.el
test/indent/prolog.prolog
test/redisplay-testsuite.el
test/rmailmm.el
update-subdirs

index 507848b63b664c9f92039866012656b44e03887c..fb342cffec97b664d392341fc0f4a71953e056a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port HAVE_PTHREAD configuration to MirBSD 10 (Bug#10201).
+       * configure.in (HAVE_PTHREAD): Check for pthread_atfork if linking
+       to gmalloc.c.  This should prevent a MirBSD 10 build failure reported
+       by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>.
+
 2011-12-10  Juanma Barranquero  <lekktu@gmail.com>
 
        * update-subdirs: Don't set no-byte-compile twice (bug#10260).
 
 2009-12-10  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * configure.in: Check for RSVG if GNUStep is used.
+       * configure.in: Check for RSVG if GNUstep is used.
 
 2009-12-09  Jan Djärv  <jan.h.d@swipnet.se>
 
 
 2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * configure.in: Don't define CANNOT_DUMP for GNUStep any more.
+       * configure.in: Don't define CANNOT_DUMP for GNUstep any more.
 
 2009-05-05  Per Starbäck  <per@starback.se>  (tiny change)
 
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1993-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 5fd329c78ef7a37acdc07aab26809f8e0cc09c3f..0602266adee8db6f8f6671239d4467187979bdd7 100644 (file)
@@ -1,6 +1,6 @@
 # Build Emacs from a fresh tarball or version-control checkout.
 
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
diff --git a/INSTALL b/INSTALL
index dcbc729b463f2d27206ac4955e05db8bca13ad64..1e0844879cb35754d073b7b0265f87a1f48ffbde 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 GNU Emacs Installation Guide
-Copyright (C) 1992, 1994, 1996-1997, 2000-2011
+Copyright (C) 1992, 1994, 1996-1997, 2000-2012
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
index 69babac7a8b573dda97bc2384a36622dde4a0b4f..93e53fd09aad5b14126b2837497567694170fc37 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 3ba7c9baae7aabb30c5bc8feb022048fe3fd09be..400fc73e6da6d4fba13c17a872709cc74cf8e6c7 100644 (file)
@@ -2,7 +2,7 @@
 # DIST: make most of the changes to this file you might want, so try
 # DIST: that first.
 
-# Copyright (C) 1992-2011  Free Software Foundation, Inc.
+# Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
diff --git a/README b/README
index eda81de1bbe176f228de66c1299ebc8efa982867..cf837ba4ea30f362f6e3b774643139fa40ae9eda 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 4da85943b7f004d4bda3057ad11077c82cfa1141..3bfbab881aaa95783bb1ce4a3d1790c3bbda6bc9 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 23d2bd2b16a9117fb5d090fe96a12560329e56e2..ad056ab0bda2d475fcd763b2777a906b43b5b52c 100644 (file)
@@ -61,13 +61,6 @@ sk   Miroslav Vaško
 
 * BUGS
 
-** Does deleting frames run Lisp code?  If so, can we get rid of that?
-It is a dangerous design.
-http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01330.html
-
-** Why were the calls to x_fully_uncatch_errors commented out in eval.c?
-http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01987.html
-
 ** rms: gnus-dired.el is a mistake.  Those features should not
 be part of Gnus.  They should be moved to some other part of Emacs.
 rsteib: Gnus dependencies in `gnus-dired.el' (and `mailcap.el') have been
@@ -90,25 +83,8 @@ and change key bindings where necessary.  The current list of modes:
    `log-edit-comment-search-forward'.  Perhaps search commands
    on the global key binding `M-s' are useless in these modes.
 
-** sdl.web@gmail.com, 30 Oct: ps-lpr-switches has no effect
-http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg02091.html
-
-Fixed by this change?
-
-2007-11-09  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
-
-       * ps-print.el: [...]
-       (ps-do-despool): If ps-lpr-switches is not a list, force it to be one.
-
-** In C, use EMACS_INT for variables and structure members
-for buffer/string positions.  E.g. struct it, struct text_pos.
-
 * DOCUMENTATION
 
-** Clean up Emacs.app references in code and documentation.
-
-** Document new font backend
-
 ** Document XEmbed support
 
 ** Check the Emacs Tutorial.
@@ -148,19 +124,19 @@ TUTORIAL.zh
 
 ** Check the manual.
 
-abbrevs.texi      
+abbrevs.texi      cyd
 ack.texi          
 anti.texi
 arevert-xtra.texi cyd
 basic.texi        cyd
 buffers.texi      cyd
-building.texi     
+building.texi     cyd
 calendar.texi     
 cal-xtra.texi     
 cmdargs.texi      
 commands.texi     cyd
-custom.texi       
-dired.texi        
+custom.texi       cyd
+dired.texi        cyd
 dired-xtra.texi
 display.texi      cyd
 emacs.texi        
@@ -177,27 +153,27 @@ indent.texi       cyd
 killing.texi      cyd
 kmacro.texi       cyd
 macos.texi        
-maintaining.texi  
-major.texi        
+maintaining.texi  cyd
 mark.texi         cyd
 mini.texi         
-misc.texi         
+misc.texi         cyd
 modes.texi        cyd
 msdog.texi        
 msdog-xtra.texi   
 mule.texi         
 m-x.texi          cyd
+package.texi      cyd
 picture-xtra.texi
-programs.texi     
+programs.texi     cyd
 regs.texi         cyd
 rmail.texi        
 screen.texi       cyd
 search.texi       cyd
-sending.texi      
-text.texi         
-trouble.texi      
-vc-xtra.texi
-vc1-xtra.texi
+sending.texi      cyd
+text.texi         cyd
+trouble.texi      cyd
+vc-xtra.texi      cyd
+vc1-xtra.texi     cyd
 windows.texi      cyd
 xresources.texi   
 
index 10a8f2244fc8702a1c258c80fbe3cc30f34f433c..b5eefc2da7a6c2c300229eae482be93f1ff16db5 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 9235144f6c637540ceb1154edbee0d906a8fd2d8..2ca838fdff9451de2fbbea6d193da53e6dc30a73 100644 (file)
@@ -1,6 +1,6 @@
 ;;; admin.el --- utilities for Emacs administration
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index b3ea8af9d70071541cee273cd809bbcf66fa4b02..2ad5acadcb0690849807d45a6d05e88eff69815b 100644 (file)
@@ -1,6 +1,6 @@
 /* Allocate X colors.  Used for testing with dense colormaps.
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 79ba58aeec0879dbbf13069e9e4bfc08439d17e3..59a3a1bbbcaaabb12993c95d16f1696c8c6b23ef 100755 (executable)
@@ -1,7 +1,7 @@
 #! /usr/bin/perl
 # Build Emacs in several different configurations.
 
-# Copyright (C) 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 583f0d88866219dfc985455f988fd121652fc2e1..2efb17603cd90d49e095183d1dd412628fcaf2c2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bzrmerge.el --- help merge one Emacs bzr branch to another
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: 
index e87d548cf317c4af56ed1ff098fa98871346cdcc..b43611db11d5f2eb458af6a8e90a36390f6fc29f 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2009-2011 Free Software Foundation, Inc.
+Copyright (C) 2009-2012 Free Software Foundation, Inc.
 Copyright (C) 2009, 2010, 2011
   National Institute of Advanced Industrial Science and Technology (AIST)
   Registration Number H13PRO009
index b254fedccc44847ebcfc24f989b713e6fe0d2c2f..11d781ed01e0ddc45e0cbc4b7efb43871107a54b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cus-test.el --- tests for custom types and load problems
 
-;; Copyright (C) 1998, 2000, 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000, 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
 ;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
index 59ae1a6f26cb875a42d2249be2a478563dd0d877..1dbf9a12399ded6579817dbbf011390e019be160 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Copyright (C) 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index eda7b42adbddfaae9be433357ab17d45dcb14fea..efe4db039c4ba6a2618efee0cba7e4e84d98b3c4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bovine-grammar.el --- Bovine's input grammar mode
 ;;
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
@@ -298,7 +298,7 @@ VALUE is a value, or range of values to match against.  For
 example, a SYMBOL might need to match \"foo\".  Some TYPES will not
 have matching criteria.
 
-LAMBDA is a lambda expression which is evaled with the text of the
+LAMBDA is a lambda expression which is evalled with the text of the
 type when it is found.  It is passed the list of all buffer text
 elements found since the last lambda expression.  It should return a
 semantic element (see below.)
index b49f8ce76c7d998d8da16e9c65fcd17e1c41df23..1bdaf8f447ba717d8ea648f3ce813cda4a7c3f0a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; c.by -- LL grammar for C/C++ language specification
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;;         David Ponce <david@dponce.com>
@@ -261,7 +261,7 @@ define
   ;
 
 ;; In C++, structures can have the same things as classes.
-;; So delete this somday in the figure.
+;; So delete this somday in the figure.
 ;;
 ;;structparts : semantic-list
 ;;            (EXPANDFULL $1 structsubparts)
index 18e8b814303c261756a1da1607ce3b1ba64d1674..1189d6b08865f04891e0c18147b0f5ea652c8567 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
 ;;
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index f4b2f1f1f4953b433209cb9328ca55cb06c61f5c..b58b96c6bfb88a442d54e4c0ba133e911c02db67 100644 (file)
@@ -1,6 +1,6 @@
 ;;; java-tags.wy -- Semantic LALR grammar for Java
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index a13abf56e6ee469b72a0f5710167595a4a569a98..c6b3a58aac3e5954e2295624a7be4275d39ff1bc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; javascript-jv.wy -- LALR grammar for Javascript
 
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 ;; Copyright (C) 1998-2011 Ecma International.
 
 ;; Author: Joakim Verona
@@ -66,7 +66,7 @@
 ;; Other Goals
 %start FormalParameterList
 
-;; with the terminals stuff, I used the javacript.y names,
+;; with the terminals stuff, I used the javascript.y names,
 ;; but the semantic/wisent/java-tags.wy types
 ;; when possible
 ;; ------------------
index dab4472b737b558eb400062849381e7b879a8357..ee933805cf66f3871462574109701ea109f727c4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; make.by -- BY notation for Makefiles.
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;;         David Ponce <david@dponce.com>
index b30305ee78ad2734687f388e8542cadf3642d76d..65f317145a0e997e94391ee33541f4e65db9b1b8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; python.wy -- LALR grammar for Python
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;; Copyright (C) 2001-2010 Python Software Foundation
 
 ;; Author: Richard Kim <ryk@dspwiz.com>
index bc6612d4c708a69387a9e3fde5c6e0021912a366..3925f03c28b817ee2c745016c3c7b45e0ad70c65 100644 (file)
@@ -1,6 +1,6 @@
 ;;; scheme.by -- Scheme BNF language specification
 
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 4ff2d7e4e4177bebddc5628014c8088ce7682566..f38d7eaa2a1e99f81cbf731b55833af9d2f7e1dd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode-template.wy --- Semantic Recoder Template parser
 
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 66045c2294d68c133225616568b5474d30c68695..be014a56906f96ef400639e850884528ca4e2117 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wisent-grammar.el --- Wisent's input grammar mode
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index dcfd55e83758781585ba25547dfe8f47a8d3ff3d..5b45d09e89b27004301ab5c577025eee14086081 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/bash
 
-## Copyright (C) 2002-2011  Free Software Foundation, Inc.
+## Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ## Author: Francesco Potorti` <pot@gnu.org>
 
index d231f66b03bc37ad435b07656a085b46ebab69c8..f64d51b0c418c61e3f4cbe5543f9d2b7209d7287 100755 (executable)
@@ -2,7 +2,7 @@
 # Build Emacs with various options for profiling, debugging,
 # with and without warnings enabled etc.
 
-# Copyright (C) 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 0ad9990077904a332afce1ac45ac7a2d09f7013c..72b7d7e2d2307e98b63007e5994c9dd8c79da8ca 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2007-2011  Free Software Foundation, Inc.
+Copyright (C) 2007-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index d51d3ec1c3bd47174de712facea58aab3254a7cb..ec2dc11345b8783409360f0f55f232d82e5e9395 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index c03d0f6fdfbe76047c1830719f7cddfc01b5e6d6..065a10f20e4c64876c076da0ed6680f6fd44807c 100644 (file)
@@ -1,6 +1,6 @@
 Some lisp/emacs-lisp/ Features and Where They Are Documented
 
-Copyright (C) 2007-2011 Free Software Foundation, Inc.
+Copyright (C) 2007-2012 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 8a10997eb8ba533f0a063da8c85a88a1d3c55a17..ad46f493a025b90960555a3bc90cde465a019a87 100644 (file)
@@ -1,6 +1,6 @@
 -*- coding: utf-8; mode: text; -*-
 
-Copyright (C) 2007-2011  Free Software Foundation, Inc.
+Copyright (C) 2007-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 From README.multi-tty in the multi-tty branch.
index ce7d3732f03f0035040a4b84c795838d0131cad1..382e3ee0f9f67e25f68175ef948422f90c9e043c 100644 (file)
@@ -1,6 +1,6 @@
                                             -*-mode: text; coding: latin-1;-*-
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Problems, fixmes and other unicode-related issues
index 8c7d1510a053cdbefdbef9c34d3df20bb22bc854..d3dd88a99ec8bc2f89b3607929a699f09101ef2f 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
                           Emacs for Windows
index c320bbe915d3875d7b944225be6d37529aedc7c6..1b0c93908890d9580e892d0d7f4a1709655652a1 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
                      Precompiled Distributions of
index 841a895248e2f53c0e47c7a0a5f79f4656be4b11..657dcdc17660e5fb2bf6816ad2eefe21c45dbaef 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 ### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
 
-## Copyright (C) 2001-2011  Free Software Foundation, Inc.
+## Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ## Author: Miles Bader <miles@gnu.org>
 
index 4778d6ca2ad285b6e488eaa62facbdf9ab84e0ca..fb5917fbbf73bfa49460f87fd43388513f4bfd27 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 ### autogen.sh - tool to help build Emacs from a bzr checkout
 
-## Copyright (C) 2011  Free Software Foundation, Inc.
+## Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ## Author: Glenn Morris <rgm@gnu.org>
 
index fde44761db49dfb57c061656f717850e14e7b26f..e93bd7f325ceb9e018cc5a639c5e5855fae7f023 100644 (file)
@@ -2,7 +2,7 @@
 
 /* GNU Emacs site configuration template file.
 
-Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2011
+Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index c24266ebe6d714125d6ee181dd1d596c600c751f..325df38a2dfe230f4f8c1e847ded454770d10c87 100755 (executable)
@@ -10018,7 +10018,7 @@ $as_echo "#define DOUG_LEA_MALLOC 1" >>confdefs.h
   ## Use mmap directly for allocating larger buffers.
   ## FIXME this comes from src/s/{gnu,gnu-linux}.h:
   ## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
-  ## Does the AC_FUNC_MMAP test below make this check unecessary?
+  ## Does the AC_FUNC_MMAP test below make this check unnecessary?
   case "$opsys" in
     gnu*) REL_ALLOC=no ;;
   esac
 done
 
 if test "$ac_cv_header_pthread_h"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5
-$as_echo_n "checking for pthread_self in -lpthread... " >&6; }
-if test "${ac_cv_lib_pthread_pthread_self+set}" = set; then :
+        if test "$GMALLOC_OBJ" = gmalloc.o; then
+    emacs_pthread_function=pthread_atfork
+  else
+    emacs_pthread_function=pthread_self
+  fi
+  as_ac_Lib=`$as_echo "ac_cv_lib_pthread_$emacs_pthread_function" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $emacs_pthread_function in -lpthread" >&5
+$as_echo_n "checking for $emacs_pthread_function in -lpthread... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10355,27 +10361,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char pthread_self ();
+char $emacs_pthread_function ();
 int
 main ()
 {
-return pthread_self ();
+return $emacs_pthread_function ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_pthread_pthread_self=yes
+  eval "$as_ac_Lib=yes"
 else
-  ac_cv_lib_pthread_pthread_self=no
+  eval "$as_ac_Lib=no"
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_self" >&5
-$as_echo "$ac_cv_lib_pthread_pthread_self" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_self" = x""yes; then :
+eval ac_res=\$$as_ac_Lib
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval as_val=\$$as_ac_Lib
+   if test "x$as_val" = x""yes; then :
   HAVE_PTHREAD=yes
 fi
 
index e406f346edeaa7fb1609394c88df93793e7d07f2..58e3838f8c1258bbeed6ca24296f76d5dcef7dbc 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 ### update_autogen - update the generated files in Emacs autogen/ directory
 
-## Copyright (C) 2011  Free Software Foundation, Inc.
+## Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ## Author: Glenn Morris <rgm@gnu.org>
 
index aa2a3a4f90540d567c016fc4c32e99644b4d534d..cb664533e12d5bef988dbcec83d1c45c1116875f 100644 (file)
@@ -1,9 +1,7 @@
 @echo off\r
 rem   ----------------------------------------------------------------------\r
 rem   Configuration script for MSDOS\r
-rem   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003\r
-rem   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011  Free Software Foundation,\r
-rem   Inc.\r
+rem   Copyright (C) 1994-1999, 2001-2012  Free Software Foundation, Inc.\r
 \r
 rem   This file is part of GNU Emacs.\r
 \r
index 53c219c09230bdfe3de91b9a8f34f43915d042aa..91302e1c3ee3c4620dba43550d657f71ef491fef 100644 (file)
@@ -4,7 +4,7 @@ dnl     autoconf
 dnl in the directory containing this script.
 dnl If you changed any AC_DEFINES, also run autoheader.
 dnl
-dnl Copyright (C) 1994-1996, 1999-2011  Free Software Foundation, Inc.
+dnl Copyright (C) 1994-1996, 1999-2012  Free Software Foundation, Inc.
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
@@ -1683,7 +1683,7 @@ if test "$doug_lea_malloc" = "yes" ; then
   ## Use mmap directly for allocating larger buffers.
   ## FIXME this comes from src/s/{gnu,gnu-linux}.h:
   ## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
-  ## Does the AC_FUNC_MMAP test below make this check unecessary?
+  ## Does the AC_FUNC_MMAP test below make this check unnecessary?
   case "$opsys" in
     gnu*) REL_ALLOC=no ;;
   esac
@@ -1720,7 +1720,15 @@ dnl Check if pthreads is available.
 LIB_PTHREAD=
 AC_CHECK_HEADERS(pthread.h)
 if test "$ac_cv_header_pthread_h"; then
-  AC_CHECK_LIB(pthread, pthread_self, HAVE_PTHREAD=yes)
+  dnl gmalloc.c uses pthread_atfork, which is not available on older-style
+  dnl hosts such as MirBSD 10, so test for pthread_atfork instead of merely
+  dnl testing for pthread_self if Emacs uses gmalloc.c.
+  if test "$GMALLOC_OBJ" = gmalloc.o; then
+    emacs_pthread_function=pthread_atfork
+  else
+    emacs_pthread_function=pthread_self
+  fi
+  AC_CHECK_LIB(pthread, $emacs_pthread_function, HAVE_PTHREAD=yes)
 fi
 if test "$HAVE_PTHREAD" = yes; then
   case "${canonical}" in
@@ -3508,7 +3516,7 @@ fi
 
 AH_TOP([/* GNU Emacs site configuration template file.
 
-Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2011
+Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index c26f1a7e1cad4c43282052da8308f0722f5fb8c9..ad49224e0d3e7764ee2023d8edf53ec9d02c4fe8 100644 (file)
@@ -1,3 +1,261 @@
+2012-01-09  Chong Yidong  <cyd@gnu.org>
+
+       * custom.texi (Custom Themes): Switched custom-safe-themes to use
+       SHA-256.
+
+2012-01-07  Chong Yidong  <cyd@gnu.org>
+
+       * display.texi (Useless Whitespace): Add Whitespace mode.
+
+       * custom.texi (Hooks): Discuss how to disable minor modes.
+
+       * files.texi (Diff Mode): Discuss diff-auto-refine-mode
+       (Bug#10309).  Discuss use of Whitespace mode (Bug#10300).
+
+       * trouble.texi (Lossage): Refer to Bugs node for problems.
+       (DEL Does Not Delete): Don't use "usual erasure key" teminology.
+       (Screen Garbled): Don't refer to terminal "manufacturers".
+       (Total Frustration): Node deleted.  Eliza is documented in
+       Amusements now.
+       (Known Problems): More info about using the bug tracker.  Mention
+       debbugs package.
+       (Bug Criteria): Copyedits.
+       (Understanding Bug Reporting): Mention emacs -Q.
+
+2012-01-06  Chong Yidong  <cyd@gnu.org>
+
+       * custom.texi (Specifying File Variables): The mode: keyword
+       doesn't have to be first anymore.  Add example of specifying minor
+       modes.
+       (Directory Variables): Simplify example.  Mention application to
+       non-file buffers.
+       (Disabling): Use "initialization file" terminology.
+       (Init Examples): Fix hook example.
+
+2012-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * cmdargs.texi (MS-Windows Registry): Shorten the index entry.
+       (Bug#10422)
+       Move the stuff about resources to xresources.texi.
+
+       * xresources.texi (Resources): Move information about setting X
+       resources in the Registry from cmdargs.texi.  Make the index entry
+       be similar to the one in cmdargs.texi.
+
+2012-01-05  Chong Yidong  <cyd@gnu.org>
+
+       * custom.texi (Customization Groups): Update example.
+       (Browsing Custom): Document the new search field.
+       (Changing a Variable): Update example for Emacs 24 changes.
+       Document Custom-set and Custom-save commands.
+       (Face Customization): Document Emacs 24 changes.  De-document
+       modify-face.
+       (Specific Customization): Mention customize-variable.
+       (Custom Themes): Add customize-themes, custom-theme-load-path,
+       custom-theme-directory, and describe-theme.
+       (Creating Custom Themes): New node.
+       (Examining): Mention M-:.
+
+       * package.texi (Packages): Fix typo.
+
+2012-01-03  Chong Yidong  <cyd@gnu.org>
+
+       * misc.texi (Single Shell): Don't document Lisp usage of
+       shell-command.  Tidy up discussion of synchronicity.  Add index
+       entries for async-shell-command.
+       (Interactive Shell): Note that M-x shell uses shell-file-name.
+       Note change in behavior in Emacs 24.
+       (Shell Mode): Shell mode now uses completion-at-point.
+       (Shell Prompts): Emphasize that comint-use-prompt-regexp isn't the
+       default method for recognizing prompts nowadays.
+       (Shell Ring): Add xref to Minibuffer History.
+       (Directory Tracking): Explain Dirtrack mode in more detail.
+       (Term Mode): Fix index entries.
+       (Paging in Term): Merge into Term Mode.
+       (Serial Terminal, Emacs Server, emacsclient Options): Copyedits.
+       (Printing): Fix xref.  State default of lpr-switches.
+       (PostScript): Remove obsolete sentence.  Omit description of
+       non-interactive behaviors.
+       (Hyperlinking): Improve description.
+       (Browse-URL): Using compose-mail for mailto URLs is the default.
+       Document browse-url-mailto-function.
+       (Goto Address mode): Add index entries.  Add xref to Browse-URL.
+       (FFAP): FFAP is not a minor mode.
+       (Amusements): M-x lm was renamed to M-x landmark.  Document
+       nato-region.
+
+2012-01-01  Chong Yidong  <cyd@gnu.org>
+
+       * misc.texi (Gnus, Buffers of Gnus): Copyedits.
+       (Gnus Startup): Note that the system might not be set up for news.
+       Describe group levels more clearly.
+       (Gnus Group Buffer, Gnus Summary Buffer): New nodes, split from
+       Summary of Gnus.
+       (Document View): Copyedits.  Move zoom commads to DocView
+       Navigation node.
+       (DocView Navigation, DocView Searching, DocView Slicing)
+       (DocView Conversion): Nodes renamed from Navigation, etc.
+
+       * sending.texi (Mail Sending): Add message-kill-buffer-on-exit.
+
+2011-12-31  Eli Zaretskii  <eliz@gnu.org>
+
+       * basic.texi (Moving Point): Fix the description of C-n and C-p.
+       (Bug#10380)
+
+2011-12-30  Chong Yidong  <cyd@gnu.org>
+
+       * sending.texi (Sending Mail): Document initial mail buffer name,
+       and changed multiple mail buffer behavior.
+       (Mail Format): Put the example at the top of the section.
+       (Mail Headers): Move discussion of "From" to the top.
+       (Mail Sending): Document sendmail-query-once.
+       (Citing Mail): Make it less Rmail-specific.
+
+2011-12-29  Chong Yidong  <cyd@gnu.org>
+
+       * text.texi (Org Mode): Copyedits.  Refer to Outline Format for
+       example.  Add index entries.
+       (Org Organizer, Org Authoring): Nodes renamed.  Copyedits.
+
+2011-12-26  Chong Yidong  <cyd@gnu.org>
+
+       * dired.texi (Dired Enter, Misc Dired Features): Document
+       dired-use-ls-dired changes.  Mention quit-window.
+       (Dired Navigation): Add index entries.
+       (Dired Visiting): Fix View Mode xref.
+       (Marks vs Flags): Prefer C-/ binding for undo.
+       (Subdirectories in Dired): Add xrefs.
+       (Misc Dired Features): Document some Emacs 24 changes.  Add index
+       entries.
+
+       * abbrevs.texi (Abbrev Concepts): No need to mention abbrev-mode
+       variable, since it is explained in Minor Modes node.
+       (Defining Abbrevs): Copyedits.
+       (Expanding Abbrevs): State default of abbrev-all-caps.  Prefer the
+       C-/ binding for undo.
+       (Dabbrev Customization): Add xrefs for case-fold-search and
+       case-replace.
+
+       * dired-xtra.texi (Subdir Switches): Add xref.
+
+       * maintaining.texi (VC Directory Commands): Mention quit-window.
+
+2011-12-25  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (Tags): Mention Semantic.
+       (Create Tags Table, Etags Regexps): Copyedits.
+       (Find Tag): Mention minibuffer completion.
+       (List Tags): Mention completion-at-point.  Completion is actually
+       available in M-x list-tags.
+
+       * vc1-xtra.texi (VC Delete/Rename): Rename from Renaming and VC.
+       Document vc-delete-file.
+
+       * files.texi (Misc File Ops): Mention vc-delete-file.
+
+       * programs.texi (Symbol Completion): Mention completion-at-point
+       explicitly.
+
+2011-12-22  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (Change Log Commands): Don't specially mention
+       vc-update-change-log which is CVS-only.
+
+       * vc1-xtra.texi (Version Headers): Note that these are for
+       Subversion, CVS, etc. only.
+       (General VC Options): De-document vc-keep-workfiles.  Fix
+       RCS-isms.
+
+2011-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * building.texi (Debugger Operation): Fix a typo: "@end iftext"
+       should be @end iftex".
+
+2011-12-21  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (Advanced C-x v v): Use fileset terminology.
+       (VC With A Merging VCS, VC Change Log): Add xref to VC Pull node.
+       (VC Pull): Mention vc-log-incoming.
+       (Log Buffer): Add CVS/RCS only disclaimer.
+
+       * vc1-xtra.texi (Remote Repositories): Update introduction.
+       (Local Version Control): Node deleted (obsolete with DVCSes).
+       (Remote Repositories, Version Backups): Node deleted.  Move
+       documentation of vc-cvs-stay-local to CVS Options.
+       (CVS Options): Reduce verbosity of description of obscure CVS
+       locking feature.
+       (Making Revision Tags, Revision Tag Caveats): Merge into Revision
+       Tags node.
+       (Revision Tags): Move under Miscellaneous VC subsection.
+       (Change Logs and VC): Note that this is wrong for DVCSs.
+       De-document log entry manipulating features.
+       (Renaming and VC): Describe how it works on modern VCSes.
+
+       * files.texi (Misc File Ops): Mention vc-rename-file.
+
+       * programs.texi (Custom C Indent): Add index entries.
+
+2011-12-20  Alan Mackenzie  <acm@muc.de>
+
+       * programs.texi (Motion in C): Update the description of C-M-a and
+       C-M-e, they now DTRT in enclosing scopes.
+       (Custom C Indent): Add @dfn{guessing} of the indentation style.
+
+2011-12-20  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (VCS Concepts): Add "working tree" terminology.
+       (Old Revisions): Use it.
+       (VCS Repositories): Add "distributed" terminology.
+       (Log Buffer): Remove duplicate description
+       about changesets.  Fix "current VC fileset" ambiguity.
+       (Multi-User Branching): Node deleted.
+       (Branches, Switching Branches): Discuss decentralized version
+       control systems.
+       (VC Pull): New node.
+       (Merging): Document merging on decentralized systems.
+       (Creating Branches): Note that this is specific to CVS and related
+       systems.
+
+2011-12-19  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (VCS Merging, VCS Changesets): Index entries.
+       (VC Mode Line): Add index entry for "version control status".
+       (VC Undo): Use vc-revert instead of its vc-revert-buffer alias.
+       Document vc-revert-show-diff.  De-document vc-rollback.
+       (VC Directory Mode): Rewrite introduction.  Move prefix arg
+       documentation here from VC Directory Buffer node.
+       (VC Directory Buffer): Use a decentralized VCS example.
+       (VC Directory Commands): Use a table.  Remove material duplicated
+       in previous nodes on multi-file VC filsets.
+
+2011-12-17  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (VCS Concepts): Make "revision" terminology
+       less CVS-specific.
+       (VC With A Merging VCS, VC With A Locking VCS): Add xref to
+       Registering node.
+       (Secondary VC Commands): Deleted.  Promote subnodes.
+       (Log Buffer): Add command name for C-c C-c.  Fix the name of the
+       log buffer.  Add index entries.
+       (VCS Changesets, Types of Log File, VC With A Merging VCS): Use
+       "commit" terminology.
+       (Old Revisions): Move it to just before VC Change Log.  "Tag" here
+       doesn't refer to tags tables.  Note other possible forms of the
+       revision ID.  C-x v = does not save.
+       (Registering): Note similarity to C-x v v action.  Fix description
+       of how backends are chosen.  De-document vc-default-init-revision.
+       (VC Change Log): Document C-x v l in VC-Dir buffer.  Document RET
+       in root log buffers.
+
+2011-12-16  Chong Yidong  <cyd@gnu.org>
+
+       * maintaining.texi (Version Control Systems): Drop Meta-CVS.
+       (Basic VC Editing): Remove redundant descriptions.
+       (VC With A Merging VCS): Make description more general instead of
+       CVS-specific.
+       (VC With A Locking VCS): Use VC fileset terminology.
+
 2011-12-12  Chong Yidong  <cyd@gnu.org>
 
        * building.texi (Executing Lisp): Fix xref for C-M-x.
index 66cd7f1d92e31f0823708044979a2f569f689cff..2ed265ecd70a3b1cbbe9701c2cb4247ccce9221c 100644 (file)
@@ -1,6 +1,6 @@
 #### Makefile for the Emacs Manual
 
-# Copyright (C) 1994, 1996-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 2eafadf48418c4d468120001e1ac71ee9c2a4ae8..2df1a6b8d5a0ecadc80ba946a46d3aefb971d69f 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Abbrevs
@@ -45,17 +45,14 @@ expanding to @samp{find outer otter}, then you can insert @samp{find
 outer otter.} into the buffer by typing @kbd{f o o .}.
 
 @findex abbrev-mode
-@vindex abbrev-mode
 @cindex Abbrev mode
 @cindex mode, Abbrev
-  Abbrevs expand only when Abbrev mode (a minor mode) is enabled.
-Disabling Abbrev mode does not cause abbrev definitions to be forgotten,
-but they do not expand until Abbrev mode is enabled again.  The command
-@kbd{M-x abbrev-mode} toggles Abbrev mode; with a numeric argument, it
-turns Abbrev mode on if the argument is positive, off otherwise.
-@xref{Minor Modes}.  @code{abbrev-mode} is also a variable; Abbrev mode is
-on when the variable is non-@code{nil}.  The variable @code{abbrev-mode}
-automatically becomes local to the current buffer when it is set.
+  Abbrevs expand only when Abbrev mode, a buffer-local minor mode, is
+enabled.  Disabling Abbrev mode does not cause abbrev definitions to
+be forgotten, but they do not expand until Abbrev mode is enabled
+again.  The command @kbd{M-x abbrev-mode} toggles Abbrev mode; with a
+numeric argument, it turns Abbrev mode on if the argument is positive,
+off otherwise.  @xref{Minor Modes}.
 
   Abbrevs can have @dfn{mode-specific} definitions, active only in one major
 mode.  Abbrevs can also have @dfn{global} definitions that are active in
@@ -108,22 +105,18 @@ region as the expansion of the abbrev being defined.
 @kindex C-x a l
 @findex add-mode-abbrev
   The command @kbd{C-x a l} (@code{add-mode-abbrev}) is similar, but
-defines a mode-specific abbrev.  Mode-specific abbrevs are active only in a
-particular major mode.  @kbd{C-x a l} defines an abbrev for the major mode
-in effect at the time @kbd{C-x a l} is typed.  The arguments work the same
-as for @kbd{C-x a g}.
+defines a mode-specific abbrev for the current major mode.  The
+arguments work the same as for @kbd{C-x a g}.
 
 @kindex C-x a i g
 @findex inverse-add-global-abbrev
 @kindex C-x a i l
 @findex inverse-add-mode-abbrev
-  If the abbrev text itself is already in the buffer, you can use the
-commands @kbd{C-x a i g} (@code{inverse-add-global-abbrev}) and
-@kbd{C-x a i l} (@code{inverse-add-mode-abbrev}) to define it as an
-abbrev by specify the expansion in the minibuffer.  These commands are
-called ``inverse'' because they invert the meaning of the two text
-strings they use (one from the buffer and one read with the
-minibuffer).
+  @kbd{C-x a i g} (@code{inverse-add-global-abbrev}) and @kbd{C-x a i
+l} (@code{inverse-add-mode-abbrev}) perform the opposite task: if the
+abbrev text is already in the buffer, you use these commands to define
+an abbrev by specifying the expansion in the minibuffer.  These
+commands will expand the abbrev text used for the definition.
 
 @findex define-mode-abbrev
 @findex define-global-abbrev
@@ -132,8 +125,8 @@ expansion in the buffer using the command @code{define-global-abbrev}.
 It reads two arguments---the abbrev, and its expansion.  The command
 @code{define-mode-abbrev} does likewise for a mode-specific abbrev.
 
-  To change the definition of an abbrev, just define a new definition.
-When the abbrev has a prior definition, the abbrev definition commands
+  To change the definition of an abbrev, just make a new definition.
+When an abbrev has a prior definition, the abbrev definition commands
 ask for confirmation before replacing it.
 
 @findex kill-all-abbrevs
@@ -155,11 +148,11 @@ The most common way to use an abbrev is to insert it and then insert a
 punctuation or whitespace character to expand it.
 
 @vindex abbrev-all-caps
-  Abbrev expansion preserves case; thus, @samp{foo} expands into @samp{find
-outer otter}; @samp{Foo} into @samp{Find outer otter}, and @samp{FOO} into
-@samp{FIND OUTER OTTER} or @samp{Find Outer Otter} according to the
-variable @code{abbrev-all-caps} (setting it non-@code{nil} specifies
-@samp{FIND OUTER OTTER}).
+  Abbrev expansion preserves case: @samp{foo} expands to @samp{find
+outer otter}, and @samp{Foo} to @samp{Find outer otter}.  @samp{FOO}
+expands to @samp{Find Outer Otter} by default, but if you change the
+variable @code{abbrev-all-caps} to a non-@code{nil} value, it expands
+to @samp{FIND OUTER OTTER}.
 
   These commands are used to control abbrev expansion:
 
@@ -196,14 +189,14 @@ punctuation with @kbd{C-q}.  Thus, @kbd{foo C-q ,} leaves @samp{foo,} in
 the buffer, not expanding it.
 
 @findex unexpand-abbrev
-  If you expand an abbrev by mistake, you can undo the expansion and
-bring back the abbrev itself by typing @kbd{C-_} to undo (@pxref{Undo}).
-This also undoes the insertion of the non-word character that expanded
-the abbrev.  If the result you want is the terminating non-word
-character plus the unexpanded abbrev, you must reinsert the terminating
-character, quoting it with @kbd{C-q}.  You can also use the command
-@kbd{M-x unexpand-abbrev} to cancel the last expansion without
-deleting the terminating character.
+  If you expand an abbrev by mistake, you can undo the expansion by
+typing @kbd{C-/} (@code{undo}).  @xref{Undo}.  This undoes the
+insertion of the abbrev expansion and brings back the abbrev text.  If
+the result you want is the terminating non-word character plus the
+unexpanded abbrev, you must reinsert the terminating character,
+quoting it with @kbd{C-q}.  You can also use the command @kbd{M-x
+unexpand-abbrev} to cancel the last expansion without deleting the
+terminating character.
 
 @findex expand-region-abbrevs
   @kbd{M-x expand-region-abbrevs} searches through the region for defined
@@ -409,12 +402,11 @@ you are expanding.
 
 @vindex dabbrev-case-fold-search
   This feature is controlled by the variable
-@code{dabbrev-case-fold-search}.  If it is @code{t}, case is ignored in
-this search; if it is @code{nil}, the word and the expansion must match
-in case.  If the value of @code{dabbrev-case-fold-search} is
-@code{case-fold-search}, which is true by default, then the variable
-@code{case-fold-search} controls whether to ignore case while searching
-for expansions.
+@code{dabbrev-case-fold-search}.  If it is @code{t}, case is ignored
+in this search; if it is @code{nil}, the word and the expansion must
+match in case.  If the value is @code{case-fold-search} (the default),
+then the variable @code{case-fold-search} controls whether to ignore
+case while searching for expansions (@pxref{Search Case}).
 
 @vindex dabbrev-case-replace
   Normally, dynamic abbrev expansion preserves the case pattern
@@ -425,10 +417,10 @@ expansion to that case pattern.
   The variable @code{dabbrev-case-replace} controls whether to
 preserve the case pattern of the dynamic abbrev.  If it is @code{t},
 the dynamic abbrev's case pattern is preserved in most cases; if it is
-@code{nil}, the expansion is always copied verbatim.  If the value of
-@code{dabbrev-case-replace} is @code{case-replace}, which is true by
-default, then the variable @code{case-replace} controls whether to
-copy the expansion verbatim.
+@code{nil}, the expansion is always copied verbatim.  If the value is
+@code{case-replace} (the default), then the variable
+@code{case-replace} controls whether to copy the expansion verbatim
+(@pxref{Replacement and Case}).
 
   However, if the expansion contains a complex mixed case pattern, and
 the dynamic abbrev matches this pattern as far as it goes, then the
index ae6338ce5a657daef7d96d9dc34817cc7e98e9ae..184f8272caba10ba57887c05f45f3bd64c0255f8 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: iso-latin-1 -*-
 @c This is part of the Emacs manual.
-@c Copyright (C) 1994-1997, 1999-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1994-1997, 1999-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @node Acknowledgments, Screen, Concept Index, Top
@@ -1183,7 +1183,7 @@ Martin Stjernholm co-authored CC Mode, a major editing mode for C,
 C@t{++}, Objective-C, Java, Pike, CORBA IDL, and AWK code.
 
 @item
-Steve Strassman did not write @file{spook.el}, and even if he did, he
+Steve Strassmann did not write @file{spook.el}, and even if he did, he
 really didn't mean for you to use it in an anarchistic way.
 
 @item
index 1ee93362ae6e536c34f89863d5a99ea50e13885b..68f617d2cfd54a63b104ce62c898ccc5cb1c4682 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2005-2011 Free Software Foundation, Inc.
+@c Copyright (C) 2005-2012 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 
 @node Antinews, Mac OS / GNUstep, X Resources, Top
index 6a24646b5f7b66780c200b862b5bc9a9a68e878d..350f16f51dc93e6310604dac770583f1585fd0d4 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
index abb65982873c683fcbecd60b15250404c1413b93..3e768ab54d7b0bba806b719ebce97be891ac0a9b 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Basic, Minibuffer, Exiting, Top
@@ -130,11 +130,13 @@ specifies how many copies of the character to insert
 @cindex moving the cursor
   To do more than insert characters, you have to know how to move
 point (@pxref{Point}).  The keyboard commands @kbd{C-f}, @kbd{C-b},
-@kbd{C-n}, and @kbd{C-p} move point to the right, left, up and down
+@kbd{C-n}, and @kbd{C-p} move point to the right, left, down, and up,
 respectively.  You can also move point using the @dfn{arrow keys}
 present on most keyboards: @kbd{@key{right}}, @kbd{@key{left}},
 @kbd{@key{down}}, and @kbd{@key{up}}; however, many Emacs users find
-that it is slower to use the arrow keys than the control keys.
+that it is slower to use the arrow keys than the control keys, because
+you need to move your hand to the area of the keyboard where those
+keys are located.
 
   You can also click the left mouse button to move point to the
 position clicked.  Emacs also provides a variety of additional
index 302693aeceff45cf123a9294f00b8178bbdd1ee5..fb71e04c184e4d8cc9e37b8d03a640571f4cf8db 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Buffers, Windows, Files, Top
index ab4a485cb8757343feeeb41afaf8f6a562c7410f..7a94ba56052a30887fab32e6249e56b8ef8dfc15 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Building, Maintaining, Programs, Top
@@ -24,9 +24,9 @@ assist in the process of compiling and testing programs.
 * Executing Lisp::      Various modes for editing Lisp programs,
                           with different facilities for running
                           the Lisp programs.
-* Lisp Libraries::      How Lisp programs are loaded into Emacs.
-* Lisp Eval::           Executing a single Lisp expression in Emacs.
-* Lisp Interaction::    Executing Lisp in an Emacs buffer.
+* Libraries: Lisp Libraries.      How Lisp programs are loaded into Emacs.
+* Eval: Lisp Eval.      Executing a single Lisp expression in Emacs.
+* Interaction: Lisp Interaction.  Executing Lisp in an Emacs buffer.
 * External Lisp::       Communicating through Emacs with a separate Lisp.
 @end menu
 
@@ -550,7 +550,7 @@ 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
+@end iftex
 @ifnottex
 @ref{Starting GUD}.
 @end ifnottex
@@ -565,7 +565,7 @@ Mode}).  Completion is available for most debugger commands
 commands to repeat them.
 @iftex
 See the next section
-@end iftext
+@end iftex
 @ifnottex
 @xref{Commands of GUD},
 @end ifnottex
index 6d20c92a6d9961bceb7cca4e0e2a0f9f655e83fa..4d37672b6cad840a1ca54ec0ae3359e2e49b3862 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -41,12 +41,12 @@ customize the variables @code{calendar-intermonth-header} and
 
 @vindex calendar-holiday-marker
 @vindex diary-entry-marker
-@vindex calenday-today-marker
+@vindex calendar-today-marker
   The variable @code{calendar-holiday-marker} specifies how to mark a
 date as being a holiday.  Its value may be a single-character string to
 insert next to the date, or a face name to use for displaying the date.
 Likewise, the variable @code{diary-entry-marker} specifies how to mark a
-date that has diary entries, and @code{calenday-today-marker} is used by
+date that has diary entries, and @code{calendar-today-marker} is used by
 the function @code{calendar-mark-today} to mark today's date.  By
 default, the calendar uses faces named @code{holiday}, @code{diary}, and
 @code{calendar-today} for these purposes.
index 4a09d6e3d9cc30e56d7c413af27d4b21437c0be5..495828d6d8aaf0a061a2c7c4f0ef353bfadcc6de 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Calendar/Diary
index d91090455700b5cc9b0ea949ab0300714da598b1..11cc4df8ce98b793a8e2ef98fb96ccfde554c46e 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Emacs Invocation, X Resources, GNU Free Documentation License, Top
@@ -675,9 +675,9 @@ changing any environment or registry settings.
 @node MS-Windows Registry
 @appendixsubsec The MS-Windows System Registry
 @pindex addpm, MS-Windows installation program
-@cindex registry, setting environment variables and resources on MS-Windows
+@cindex registry, setting environment variables (MS-Windows)
 
-Under MS-Windows, the installation program @command{addpm.exe} adds
+On MS-Windows, the installation program @command{addpm.exe} adds
 values for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
 @env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the
 @file{HKEY_LOCAL_MACHINE} section of the system registry, under
@@ -704,10 +704,6 @@ still cannot determine the values, compiled-in defaults are used.
 In addition to the environment variables above, you can also add many
 of the settings which on X belong in the @file{.Xdefaults} file
 (@pxref{X Resources}) to the @file{/Software/GNU/Emacs} registry key.
-Settings you add to the @file{HKEY_LOCAL_MACHINE} section will affect
-all users of the machine.  Settings you add to the
-@file{HKEY_CURRENT_USER} section will only affect you, and will
-override machine wide settings.
 
 @node Display X
 @appendixsec Specifying the Display Name
index 817cfc369d142c1d8f4094ade7e0724861bfb278..f2a71b045f8b009cd849264f0574179ec047f87e 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @iftex
index e807aebdeee05fd37f1f19830d38684280e6e808..82a63996a64dc455a101615dee23dc0af43a011a 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Customization
@@ -30,287 +30,291 @@ Reference Manual}.
 * Key Bindings::        The keymaps say what command each key runs.
                           By changing them, you can "redefine keys".
 * Init File::           How to write common customizations in the
-                          @file{.emacs} file.
+                          initialization file.
 @end menu
 
 @node Easy Customization
 @section Easy Customization Interface
 
 @cindex settings
-  Emacs has many @dfn{settings} which have values that you can change.
-Many are documented in this manual.  Most settings are @dfn{user
-options}---that is to say, Lisp variables (@pxref{Variables})---and
-their names appear in the Variable Index (@pxref{Variable Index}).
-The other settings are faces and their attributes (@pxref{Faces}).
+@cindex user option
+@cindex customizable variable
+  Emacs has many @dfn{settings} which you can change.  Most settings
+are @dfn{customizable variables} (@pxref{Variables}), which are also
+called @dfn{user options}.  There is a huge number of customizable
+variables, controlling numerous aspects of Emacs behavior; the
+variables documented in this manual are listed in @ref{Variable
+Index}.  A separate class of settings are the @dfn{faces}, which
+determine the fonts, colors, and other attributes of text
+(@pxref{Faces}).
 
 @findex customize
 @cindex customization buffer
-  You can browse settings and change them using @kbd{M-x customize}.
-This creates a @dfn{customization buffer}, which lets you navigate
-through a logically organized list of settings, edit and set their
-values, and save them permanently in your initialization file
-(@pxref{Init File}).
+  To browse and alter settings (both variables and faces), type
+@kbd{M-x customize}.  This creates a @dfn{customization buffer}, which
+lets you navigate through a logically organized list of settings, edit
+and set their values, and save them permanently.
 
 @menu
-* Customization Groups::     How settings are classified in a structure.
+* Customization Groups::     How settings are classified.
 * Browsing Custom::          Browsing and searching for settings.
 * Changing a Variable::      How to edit an option's value and set the option.
-* Saving Customizations::    Specifying the file for saving customizations.
+* Saving Customizations::    Saving customizations for future Emacs sessions.
 * Face Customization::       How to edit the attributes of a face.
-* Specific Customization::   Making a customization buffer for specific
-                                variables, faces, or groups.
-* Custom Themes::            How to define collections of customized options
-                                that can be loaded and unloaded together.
+* Specific Customization::   Customizing specific settings or groups.
+* Custom Themes::            Collections of customization settings.
+* Creating Custom Themes::   How to create a new custom theme.
 @end menu
 
 @node Customization Groups
 @subsection Customization Groups
 @cindex customization groups
 
-  For customization purposes, settings are organized into @dfn{groups}
-to help you find them.  Groups are collected into bigger groups, all
-the way up to a master group called @code{Emacs}.
+  Customization settings are organized into @dfn{customization
+groups}.  These groups are collected into bigger groups, all the way
+up to a master group called @code{Emacs}.
 
   @kbd{M-x customize} creates a customization buffer that shows the
-top-level @code{Emacs} group and the second-level groups immediately
-under it.  It looks like this, in part:
+top-level @code{Emacs} group.  It looks like this, in part:
 
 @c we want the buffer example to all be on one page, but unfortunately
 @c that's quite a bit of text, so force all space to the bottom.
 @page
 @smallexample
 @group
-/- Emacs group: Customization of the One True Editor. -------------\
-      [State]: visible group members are all at standard values.
+To apply changes, use the Save or Set buttons.
+For details, see [Saving Customizations] in the [Emacs manual].
+
+________________________________________ [ Search ]
+
+ Operate on all settings in this buffer:
+ [ Set for current session ] [ Save for future sessions ]
+ [ Undo edits ] [ Reset to saved ] [ Erase customizations ] [ Exit ]
 
-   See also [Manual].
+
+Emacs group: Customization of the One True Editor.
+      [State]: visible group members are all at standard values.
+      See also [Manual].
 
 [Editing] : Basic text editing facilities.
 
-[External] : Interfacing to external utilities.
+[Convenience] : Convenience features for faster editing.
 
 @var{more second-level groups}
-
-\- Emacs group end ------------------------------------------------/
 @end group
 @end smallexample
 
 @noindent
-This says that the buffer displays the contents of the @code{Emacs}
-group.  The other groups are listed because they are its contents.  But
-they are listed differently, without indentation and dashes, because
-@emph{their} contents are not included.  Each group has a single-line
-documentation string; the @code{Emacs} group also has a @samp{[State]}
-line.
+The main part of this buffer shows the @samp{Emacs} customization
+group, which contains several other groups (@samp{Editing},
+@samp{Convenience}, etc.).  The contents of those groups are not
+listed here, only one line of documentation each.
+
+  The @dfn{state} of the group indicates whether setting in that group
+has been edited, set or saved.  @xref{Changing a Variable}.
 
 @cindex editable fields (customization buffer)
 @cindex buttons (customization buffer)
 @cindex links (customization buffer)
-  Most of the text in the customization buffer is read-only, but it
-typically includes some @dfn{editable fields} that you can edit.
-There are also @dfn{buttons} and @dfn{links}, which do something when
-you @dfn{invoke} them.  To invoke a button or a link, either click on
-it with @kbd{Mouse-1}, or move point to it and type @key{RET}.
-
-  For example, the phrase @samp{[State]} that appears in a
-second-level group is a button.  It operates on the same customization
-buffer.  Each group name, such as @samp{[Editing]}, is a hypertext
-link to that group; invoking it creates a new customization buffer,
-showing the group and its contents.
-
-  The @code{Emacs} group only contains other groups.  These groups, in
-turn, can contain settings or still more groups.  By browsing the
-hierarchy of groups, you will eventually find the feature you are
-interested in customizing.  Then you can use the customization buffer
-to set that feature's settings.  You can also go straight to a
-particular group by name, using the command @kbd{M-x customize-group}.
+  Most of the customization buffer is read-only, but it includes some
+@dfn{editable fields} that you can edit.  For example, at the top of
+the customization buffer is an editable field for searching for
+settings (@pxref{Browsing Custom}).  There are also @dfn{buttons} and
+@dfn{links}, which you can activate by either clicking with the mouse,
+or moving point there and typing @key{RET}.  For example, the group
+names like @samp{[Editing]} are links; activating one of these links
+brings up the customization buffer for that group.
+
+@kindex TAB @r{(customization buffer)}
+@kindex S-TAB @r{(customization buffer)}
+@findex widget-forward
+@findex widget-backward
+  In the customizable buffer, you can type @key{TAB}
+(@code{widget-forward}) to move forward to the next button or editable
+field.  @kbd{S-@key{TAB}} (@code{widget-backward}) moves back to the
+previous button or editable field.
 
 @node Browsing Custom
-@subsection Browsing and Searching for Options and Faces
+@subsection Browsing and Searching for Settings
 @findex customize-browse
 
+  From the top-level customization buffer created by @kbd{M-x
+customize}, you can follow the links to the subgroups of the
+@samp{Emacs} customization group.  These subgroups may contain
+settings for you to customize; they may also contain futher subgroups,
+dealing with yet more specialized subsystems of Emacs.  As you
+navigate the hierarchy of customization groups, you should find some
+settings that you want to customize.
+
+  If you are interested in customizing a particular setting or
+customization group, you can go straight there with the commands
+@kbd{M-x customize-option}, @kbd{M-x customize-face}, or @kbd{M-x
+customize-group}.  @xref{Specific Customization}.
+
+@vindex custom-search-field
+  If you don't know exactly what groups or settings you want to
+customize, you can search for them using the editable search field at
+the top of each customization buffer.  Here, you can type in a search
+term---either one or more words separated by spaces, or a regular
+expression (@pxref{Regexps}).  Then type @key{RET} in the field, or
+activate the @samp{Search} button next to it, to switch to a
+customization buffer containing groups and settings that match those
+terms.  Note, however, that this feature only finds groups and
+settings that are loaded in the current Emacs session.
+
+  If you don't want customization buffers to show the search field,
+change the variable @code{custom-search-field} to @code{nil}.
+
+  The command @kbd{M-x customize-apropos} is similar to using the
+search field, except that it reads the search term(s) using the
+minibuffer.  @xref{Specific Customization}.
+
   @kbd{M-x customize-browse} is another way to browse the available
 settings.  This command creates a special customization buffer which
-shows only the names of groups and settings, and puts them in a
-structure.
-
-  In this buffer, you can show the contents of a group by invoking the
-@samp{[+]} button.  When the group contents are visible, this button
-changes to @samp{[-]}; invoking that hides the group contents again.
-
-  Each group or setting in this buffer has a link which says
-@samp{[Group]}, @samp{[Option]} or @samp{[Face]}.  Invoking this link
-creates an ordinary customization buffer showing just that group and
-its contents, just that user option, or just that face.  This is the
-way to change settings that you find with @kbd{M-x customize-browse}.
-
-  If you can guess part of the name of the settings you are interested
-in, @kbd{M-x customize-apropos} is another way to search for settings.
-However, unlike @code{customize} and @code{customize-browse},
-@code{customize-apropos} can only find groups and settings that are
-loaded in the current Emacs session.  @xref{Specific Customization,,
-Customizing Specific Items}.
+shows only the names of groups and settings, in a structured layout.
+You can show the contents of a group, in the same buffer, by invoking
+the @samp{[+]} button next to the group name.  When the group contents
+are shown, the button changes to @samp{[-]}; invoking that hides the
+group contents again.  Each group or setting in this buffer has a link
+which says @samp{[Group]}, @samp{[Option]} or @samp{[Face]}.  Invoking
+this link creates an ordinary customization buffer showing just that
+group, option, or face; this is the way to change settings that you
+find with @kbd{M-x customize-browse}.
 
 @node Changing a Variable
 @subsection Changing a Variable
 
-  Here is an example of what a variable (a user option) looks like in
+  Here is an example of what a variable, or user option, looks like in
 the customization buffer:
 
 @smallexample
-Kill Ring Max: [Hide Value] 60
+[Hide] Kill Ring Max: 60
    [State]: STANDARD.
-Maximum length of kill ring before oldest elements are thrown away.
+   Maximum length of kill ring before oldest elements are thrown away.
 @end smallexample
 
-  The text following @samp{[Hide Value]}, @samp{60} in this case, indicates
-the current value of the variable.  If you see @samp{[Show Value]} instead of
-@samp{[Hide Value]}, it means that the value is hidden; the customization
-buffer initially hides values that take up several lines.  Invoke
-@samp{[Show Value]} to show the value.
+  The first line shows that the variable is named
+@code{kill-ring-max}, formatted as @samp{Kill Ring Max} for easier
+viewing.  Its value is @samp{60}.  The button labeled @samp{[Hide]},
+if activated, hides the variable's value and state; this is useful to
+avoid cluttering up the customization buffer with very long values
+(for this reason, variables that have very long values may start out
+hidden).  If you use the @samp{[Hide]} button, it changes to
+@samp{[Show Value]}, which you can activate to reveal the value and
+state.  On a graphical display, the @samp{[Hide]} and @samp{[Show
+Value]} buttons are replaced with graphical triangles pointing
+downwards and rightwards respectively.
 
   The line after the variable name indicates the @dfn{customization
-state} of the variable: in the example above, it says you have not
-changed the option yet.  The @samp{[State]} button at the beginning of
-this line gives you a menu of various operations for customizing the
+state} of the variable: in this example, @samp{STANDARD} means you
+have not changed the variable, so its value is the default one.  The
+@samp{[State]} button gives a menu of operations for customizing the
 variable.
 
-  The line after the @samp{[State]} line displays the beginning of the
-variable's documentation string.  If there are more lines of
-documentation, this line ends with a @samp{[More]} button; invoke that
-to show the full documentation string.
+  Below the customization state is the documentation for the variable.
+This is the same documentation that would be shown by the @kbd{C-h v}
+command (@pxref{Examining}).  If the documentation is more than one
+line long, only one line may be shown.  If so, that line ends with a
+@samp{[More]} button; activate this to see the full documentation.
 
-  To enter a new value for @samp{Kill Ring Max}, move point to the
-value and edit it textually.  For example, you can type @kbd{M-d},
-then insert another number.  As you begin to alter the text, you will
-see the @samp{[State]} line change to say that you have edited the
-value:
+@cindex user options, changing
+@cindex customizing variables
+@cindex variables, changing
+  To enter a new value for @samp{Kill Ring Max}, just move point to
+the value and edit it.  For example, type @kbd{M-d} to delete the
+@samp{60} and type in another number.  As you begin to alter the text,
+the @samp{[State]} line will change:
 
 @smallexample
-[State]: EDITED, shown value does not take effect until you set or @r{@dots{}}
-                                                           save it.
+[State]: EDITED, shown value does not take effect until you
+         set or save it.
 @end smallexample
 
-@cindex user options, how to set
-@cindex variables, how to set
-@cindex settings, how to set
-  Editing the value does not actually set the variable.  To do that,
-you must @dfn{set} the variable.  To do this, invoke the
-@samp{[State]} button and choose @samp{Set for Current Session}.
-
-  The state of the variable changes visibly when you set it:
+@noindent
+Editing the value does not make it take effect right away.  To do
+that, you must @dfn{set} the variable by activating the @samp{[State]}
+button and choosing @samp{Set for Current Session}.  Then the
+variable's state becomes:
 
 @smallexample
 [State]: SET for current session only.
 @end smallexample
 
-   You don't have to worry about specifying a value that is not valid;
+@noindent
+You don't have to worry about specifying a value that is not valid;
 the @samp{Set for Current Session} operation checks for validity and
 will not install an unacceptable value.
 
 @kindex M-TAB @r{(customization buffer)}
+@kindex C-M-i @r{(customization buffer)}
 @findex widget-complete
-  While editing a field that is a file name, directory name,
-command name, or anything else for which completion is defined, you
-can type @kbd{M-@key{TAB}} (@code{widget-complete}) to do completion.
-(@kbd{@key{ESC} @key{TAB}} and @kbd{C-M-i} do the same thing.)
-
-  Some variables have a small fixed set of possible legitimate values.
-These variables don't let you edit the value textually.  Instead, a
-@samp{[Value Menu]} button appears before the value; invoke this
-button to change the value.  For a boolean ``on or off'' value, the
-button says @samp{[Toggle]}, and it changes to the other value.
-@samp{[Value Menu]} and @samp{[Toggle]} simply edit the buffer; the
-changes take real effect when you use the @samp{Set for Current
-Session} operation.
+  While editing certain kinds of values, such as file names, directory
+names, and Emacs command names, you can perform completion with
+@kbd{C-M-i} (@code{widget-complete}), or the equivalent keys
+@kbd{M-@key{TAB}} or @kbd{@key{ESC} @key{TAB}}.  This behaves much
+like minibuffer completion (@pxref{Completion}).
+
+  Typing @key{RET} on an editable value field moves point forward to
+the next field or button, like @key{TAB}.  You can thus type @key{RET}
+when you are finished editing a field, to move on to the next button
+or field.  To insert a newline within an editable field, use @kbd{C-o}
+or @kbd{C-q C-j}.
+
+  For some variables, there is only a fixed set of legitimate values,
+and you are not allowed to edit the value directly.  Instead, a
+@samp{[Value Menu]} button appears before the value; activating this
+button presents a choice of values.  For a boolean ``on or off''
+value, the button says @samp{[Toggle]}, and flips the value.  After
+using the @samp{[Value Menu]} or @samp{[Toggle]} button, you must
+again set the variable to make the chosen value take effect.
 
   Some variables have values with complex structure.  For example, the
-value of @code{file-coding-system-alist} is an association list.  Here
+value of @code{minibuffer-frame-alist} is an association list.  Here
 is how it appears in the customization buffer:
 
 @smallexample
-File Coding System Alist: [Hide Value]
-[INS] [DEL] File regexp: \.elc\'
-            Choice: [Value Menu] Encoding/decoding pair:
-            Decoding: emacs-mule
-            Encoding: emacs-mule
-[INS] [DEL] File regexp: \(\`\|/\)loaddefs.el\'
-            Choice: [Value Menu] Encoding/decoding pair:
-            Decoding: raw-text
-            Encoding: raw-text-unix
-[INS] [DEL] File regexp: \.tar\'
-            Choice: [Value Menu] Encoding/decoding pair:
-            Decoding: no-conversion
-            Encoding: no-conversion
-[INS] [DEL] File regexp:
-            Choice: [Value Menu] Encoding/decoding pair:
-            Decoding: undecided
-            Encoding: nil
+[Hide] Minibuffer Frame Alist:
+[INS] [DEL] Parameter: width
+            Value: 80
+[INS] [DEL] Parameter: height
+            Value: 2
 [INS]
-   [State]: STANDARD.
-Alist to decide a coding system to use for a file I/O @r{@dots{}}
-                                operation. [Hide Rest]
-The format is ((PATTERN . VAL) ...),
-where PATTERN is a regular expression matching a file name,
-@r{[@dots{}more lines of documentation@dots{}]}
+   [ State ]: STANDARD.
+   Alist of parameters for the initial minibuffer frame. [Hide]
+   @r{[@dots{}more lines of documentation@dots{}]}
 @end smallexample
 
 @noindent
-Each association in the list appears on four lines, with several
-editable fields and/or buttons.  You can edit the regexps and coding
-systems using ordinary editing commands.  You can also invoke
-@samp{[Value Menu]} to switch to a different kind of value---for
-instance, to specify a function instead of a pair of coding systems.
-
-To delete an association from the list, invoke the @samp{[DEL]} button
-for that item.  To add an association, invoke @samp{[INS]} at the
-position where you want to add it.  There is an @samp{[INS]} button
-between each pair of associations, another at the beginning and another
-at the end, so you can add a new association at any position in the
-list.
-
-@kindex TAB @r{(customization buffer)}
-@kindex S-TAB @r{(customization buffer)}
-@findex widget-forward
-@findex widget-backward
-  Two special commands, @key{TAB} and @kbd{S-@key{TAB}}, are useful
-for moving through the customization buffer.  @key{TAB}
-(@code{widget-forward}) moves forward to the next button or editable
-field; @kbd{S-@key{TAB}} (@code{widget-backward}) moves backward to
-the previous button or editable field.
-
-  Typing @key{RET} on an editable field also moves forward, just like
-@key{TAB}.  You can thus type @key{RET} when you are finished editing
-a field, to move on to the next button or field.  To insert a newline
-within an editable field, use @kbd{C-o} or @kbd{C-q C-j}.
+In this case, each association in the list consists of two items, one
+labeled @samp{Parameter} and one labeled @samp{Value}; both are
+editable fields.  You can delete an association from the list with the
+@samp{[DEL]} button next to it.  To add an association, use the
+@samp{[INS]} button at the position where you want to insert it; the
+very last @samp{[INS]} button inserts at the end of the list.
 
 @cindex saving a setting
 @cindex settings, how to save
-  Setting the variable changes its value in the current Emacs session;
-@dfn{saving} the value changes it for future sessions as well.  To
-save the variable, invoke @samp{[State]} and select the @samp{Save for
-Future Sessions} operation.  This works by writing code so as to set
-the variable again, each time you start Emacs (@pxref{Saving
-Customizations}).
+  When you set a variable, the new value takes effect only in the
+current Emacs session.  To @dfn{save} the value for future sessions,
+use the @samp{[State]} button and select the @samp{Save for Future
+Sessions} operation.  @xref{Saving Customizations}.
 
-  You can also restore the variable to its standard value by invoking
-@samp{[State]} and selecting the @samp{Erase Customization} operation.
-There are actually four reset operations:
+  You can also restore the variable to its standard value by using the
+@samp{[State]} button and selecting the @samp{Erase Customization}
+operation.  There are actually four reset operations:
 
 @table @samp
 @item Undo Edits
-If you have made some modifications and not yet set the variable,
-this restores the text in the customization buffer to match
-the actual value.
+If you have modified but not yet set the variable, this restores the
+text in the customization buffer to match the actual value.
 
 @item Reset to Saved
 This restores the value of the variable to the last saved value,
 and updates the text accordingly.
 
 @item Erase Customization
-This sets the variable to its standard value, and updates the text
-accordingly.  This also eliminates any saved value for the variable,
-so that you will get the standard value in future Emacs sessions.
+This sets the variable to its standard value.  Any saved value that
+you have is also eliminated.
 
 @item Set to Backup Value
 This sets the variable to a previous value that was set in the
@@ -322,40 +326,51 @@ you can get the discarded value back again with this operation.
 @cindex comments on customized settings
   Sometimes it is useful to record a comment about a specific
 customization.  Use the @samp{Add Comment} item from the
-@samp{[State]} menu to create a field for entering the comment.  The
-comment you enter will be saved, and displayed again if you again view
-the same variable in a customization buffer, even in another session.
+@samp{[State]} menu to create a field for entering the comment.
 
-  The state of a group indicates whether anything in that group has been
-edited, set or saved.
-
-  Near the top of the customization buffer there are two lines of buttons:
+  Near the top of the customization buffer are two lines of buttons:
 
 @smallexample
  [Set for Current Session] [Save for Future Sessions]
  [Undo Edits] [Reset to Saved] [Erase Customization]   [Finish]
 @end smallexample
 
-@vindex custom-buffer-done-function
 @noindent
-Invoking @samp{[Finish]} either buries or kills this customization
-buffer according to the setting of the option
-@code{custom-buffer-done-kill}; the default is to bury the buffer.
-Each of the other buttons performs an operation---set, save or
-reset---on each of the settings in the buffer that could meaningfully
-be set, saved or reset.  They do not operate on settings whose values
-are hidden, nor on subgroups which are hidden or not visible in the buffer.
+Each of the first five buttons performs the stated operation---set,
+save, reset, etc.---on all the settings in the buffer that could
+meaningfully be affected.  They do not operate on settings that are
+hidden, nor on subgroups that are hidden or not visible in the buffer.
+
+@kindex C-c C-c @r{(customization buffer)}
+@kindex C-x C-c @r{(customization buffer)}
+@findex Custom-set
+@findex Custom-save
+  The command @kbd{C-c C-c} (@code{Custom-set}) is equivalent using to
+the @samp{[Set for Current Session]} button.  The command @kbd{C-x
+C-s} (@code{Custom-save}) is like using the @samp{[Save for Future
+Sessions]} button.
+
+@vindex custom-buffer-done-kill
+  The @samp{[Finish]} button switches out of the customization buffer,
+and buries the buffer at the bottom of the buffer list.  To make it
+kill the customization buffer instead, change the variable
+@code{custom-buffer-done-kill} to @code{t}.
 
 @node Saving Customizations
 @subsection Saving Customizations
 
-@vindex custom-file
-  Saving customizations from the customization buffer works by writing
-code to a file.  By reading this code, future sessions can set up the
-customizations again.  Normally, the code is saved in your
-initialization file (@pxref{Init File}).
+  In the customization buffer, you can @dfn{save} a customization
+setting by choosing the @samp{Save for Future Sessions} choice from
+its @samp{[State]} button.  The @kbd{C-x C-s} (@code{Custom-save})
+command, or the @samp{[Save for Future Sessions]} button at the top of
+the customization buffer, saves all applicable settings in the buffer.
 
-  You can choose to save your customizations in a file other than your
+  Saving works by writing code to a file, usually your initialization
+file (@pxref{Init File}).  Future Emacs sessions automatically read
+this file at startup, which sets up the customizations again.
+
+@vindex custom-file
+  You can choose to save customizations somewhere other than your
 initialization file.  To make this work, you must add a couple of
 lines of code to your initialization file, to set the variable
 @code{custom-file} to the name of the desired file, and to load that
@@ -366,8 +381,8 @@ file.  For example:
 (load custom-file)
 @end example
 
-  You can use @code{custom-file} to specify different customization
-files for different Emacs versions, like this:
+  You can even specify different customization files for different
+Emacs versions, like this:
 
 @example
 (cond ((< emacs-major-version 22)
@@ -393,80 +408,92 @@ customizations you might have on your initialization file.
 @node Face Customization
 @subsection Customizing Faces
 @cindex customizing faces
-@cindex bold font
-@cindex italic font
+@cindex faces, customizing
 @cindex fonts and faces
 
-  In addition to variables, some customization groups also include
-faces.  When you show the contents of a group, both the variables and
-the faces in the group appear in the customization buffer.  Here is an
-example of how a face looks:
+  You can customize faces (@pxref{Faces}), which determine how Emacs
+displays different types of text.  Customization groups can contain
+both variables and faces.
+
+  For example, in programming language modes, source code comments are
+shown with @code{font-lock-comment-face} (@pxref{Font Lock}).  In a
+customization buffer, that face appears like this:
 
 @smallexample
-Custom Changed Face:(sample) [Hide Face]
-   [State]: STANDARD.
-Face used when the customize item has been changed.
-Parent groups: [Custom Magic Faces]
-Attributes: [ ] Font Family: *
-            [ ] Width: *
-            [ ] Height: *
-            [ ] Weight: *
-            [ ] Slant: *
-            [ ] Underline: *
-            [ ] Overline: *
-            [ ] Strike-through: *
-            [ ] Box around text: *
-            [ ] Inverse-video: *
-            [X] Foreground: white       (sample)
-            [X] Background: blue        (sample)
-            [ ] Stipple: *
-            [ ] Inherit: *
+[Hide] Font Lock Comment Face:[sample]
+   [State] : STANDARD.
+   Font Lock mode face used to highlight comments.
+   [ ] Font Family: --
+   [ ] Font Foundry: --
+   [ ] Width: --
+   [ ] Height: --
+   [ ] Weight: --
+   [ ] Slant: --
+   [ ] Underline: --
+   [ ] Overline: --
+   [ ] Strike-through: --
+   [ ] Box around text: --
+   [ ] Inverse-video: --
+   [X] Foreground: Firebrick     [Choose]  (sample)
+   [ ] Background: --
+   [ ] Stipple: --
+   [ ] Inherit: --
+   [Hide Unused Attributes]
 @end smallexample
 
-  Each face attribute has its own line.  The @samp{[@var{x}]} button
-before the attribute name indicates whether the attribute is
-@dfn{enabled}; @samp{[X]} means that it's enabled, and @samp{[ ]}
-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.
-
-  The foreground and background colors can be specified using color
-names or RGB triplets.  @xref{Colors}.
+@noindent
+The first three lines show the name, @samp{[State]} button, and
+documentation for the face.  Below that is a list of @dfn{face
+attributes}.  In front of each attribute is a checkbox.  A filled
+checkbox, @samp{[X]}, means that the face specifies a value for this
+attribute; an empty checkbox, @samp{[ ]}, means that the face does not
+specify any special value for the attribute.  You can activate a
+checkbox to specify or unspecify its attribute.
+
+  Most faces only specify a few attributes (in the above example,
+@code{font-lock-comment-face} only specifies the foreground color).
+Emacs has a special face, @code{default}, whose attributes are all
+specified; it determines the attributes left unspecified by other
+faces.
+
+  The @samp{Hide Unused Attributes} button, at the end of the
+attribute list, hides the unspecified attributes of the face.  When
+attributes are being hidden, the button changes to @samp{[Show All
+Attributes]}, which reveals the entire attribute list.  The
+customization buffer may start out with unspecified attributes hidden,
+to avoid cluttering the interface.
+
+  When an attribute is specified, you can change its value in the
+usual ways.
+
+  Foreground and background colors can be specified using either color
+names or RGB triplets (@pxref{Colors}).  You can also use the
+@samp{[Choose]} button to switch to a list of color names; select a
+color with @key{RET} in that buffer to put the color name in the value
+field.
 
   Setting, saving and resetting a face work like the same operations for
 variables (@pxref{Changing a Variable}).
 
   A face can specify different appearances for different types of
-display.  For example, a face can make text red on a color display, but
-use a bold font on a monochrome display.  To specify multiple
+displays.  For example, a face can make text red on a color display,
+but use a bold font on a monochrome display.  To specify multiple
 appearances for a face, select @samp{For All Kinds of Displays} in the
 menu you get from invoking @samp{[State]}.
 
-@findex modify-face
-  Another more basic way to set the attributes of a specific face is
-with @kbd{M-x modify-face}.  This command reads the name of a face, then
-reads the attributes one by one.  For the color and stipple attributes,
-the attribute's current value is the default---type just @key{RET} if
-you don't want to change that attribute.  Type @samp{none} if you want
-to clear out the attribute.
-
 @node Specific Customization
 @subsection Customizing Specific Items
 
-  Instead of finding the setting you want to change by navigating the
-structure of groups, here are other ways to specify the settings that
-you want to customize.
-
 @table @kbd
 @item M-x customize-option @key{RET} @var{option} @key{RET}
-Set up a customization buffer with just one user option variable,
-@var{option}.
+@itemx M-x customize-variable @key{RET} @var{option} @key{RET}
+Set up a customization buffer for just one user option, @var{option}.
 @item M-x customize-face @key{RET} @var{face} @key{RET}
-Set up a customization buffer with just one face, @var{face}.
+Set up a customization buffer for just one face, @var{face}.
 @item M-x customize-group @key{RET} @var{group} @key{RET}
-Set up a customization buffer with just one group, @var{group}.
+Set up a customization buffer for just one group, @var{group}.
 @item M-x customize-apropos @key{RET} @var{regexp} @key{RET}
-Set up a customization buffer with all the settings and groups that
+Set up a customization buffer for all the settings and groups that
 match @var{regexp}.
 @item M-x customize-changed @key{RET} @var{version} @key{RET}
 Set up a customization buffer with all the settings and groups
@@ -480,35 +507,24 @@ set but not saved.
 @end table
 
 @findex customize-option
-  If you want to alter a particular user option with the customization
-buffer, and you know its name, you can use the command @kbd{M-x
-customize-option} and specify the user option (variable) name.  This
-sets up the customization buffer with just one user option---the one
-that you asked for.  Editing, setting and saving the value work as
-described above, but only for the specified user option.  Minibuffer
-completion is handy if you only know part of the name.  However, this
-command can only see options that have been loaded in the current
-Emacs session.
+  If you want to customize a particular user option, type @kbd{M-x
+customize-option}.  This reads the variable name, and sets up the
+customization buffer with just that one user option.  When entering
+the variable name into the minibuffer, completion is available, but
+only for the names of variables that have been loaded into Emacs.
 
 @findex customize-face
-  Likewise, you can modify a specific face, chosen by name, using
-@kbd{M-x customize-face}.  By default it operates on the face used
-on the character after point.
-
 @findex customize-group
-  You can also set up the customization buffer with a specific group,
-using @kbd{M-x customize-group}.  The immediate contents of the chosen
-group, including settings (user options and faces), and other groups,
-all appear as well (even if not already loaded).  However, the
-subgroups' own contents are not included.
+  Likewise, you can customize a specific face using @kbd{M-x
+customize-face}.  You can set up a customization buffer for a specific
+customization group using @kbd{M-x customize-group}.
 
 @findex customize-apropos
-  For a more general way of controlling what to customize, you can use
-@kbd{M-x customize-apropos}.  You specify a regular expression as
-argument; then all @emph{loaded} settings and groups whose names match
-this regular expression are set up in the customization buffer.  If
-you specify an empty regular expression, this includes @emph{all}
-loaded groups and settings---which takes a long time to set up.
+  @kbd{M-x customize-apropos} prompts for a search term---either one
+or more words separated by spaces, or a regular expression---and sets
+up a customization buffer for all @emph{loaded} settings and groups
+with matching names.  This is like using the search field at the top
+of the customization buffer (@pxref{Customization Groups}).
 
 @findex customize-changed
   When you upgrade to a new Emacs version, you might want to consider
@@ -522,78 +538,159 @@ loading them if necessary.
 @findex customize-saved
 @findex customize-unsaved
   If you change settings and then decide the change was a mistake, you
-can use two special commands to revisit your previous changes.  Use
-@kbd{M-x customize-saved} to look at the settings that you have saved.
-Use @kbd{M-x customize-unsaved} to look at the settings that you
-have set but not saved.
+can use two commands to revisit your changes.  Use @kbd{M-x
+customize-saved} to customize settings that you have saved.  Use
+@kbd{M-x customize-unsaved} to customize settings that you have set
+but not saved.
 
 @node Custom Themes
-@subsection Customization Themes
+@subsection Custom Themes
 @cindex custom themes
 
   @dfn{Custom themes} are collections of settings that can be enabled
-or disabled as a unit.  You can use Custom themes to switch quickly
-and easily between various collections of settings, and to transfer
-such collections from one computer to another.
+or disabled as a unit.  You can use Custom themes to switch easily
+between various collections of settings, and to transfer such
+collections from one computer to another.
 
-@findex customize-create-theme
-  To define a Custom theme, use @kbd{M-x customize-create-theme},
-which brings up a buffer named @samp{*New Custom Theme*}.  At the top
-of the buffer is an editable field where you can specify the name of
-the theme.  Click on the button labeled @samp{Insert Variable} to add
-a variable to the theme, and click on @samp{Insert Face} to add a
-face.  You can edit these values in the @samp{*New Custom Theme*}
-buffer like in an ordinary Customize buffer.  To remove an option from
-the theme, click on its @samp{State} button and select @samp{Delete}.
+  A Custom theme is stored an Emacs Lisp source file.  If the name of
+the Custom theme is @var{name}, the theme file is named
+@file{@var{name}-theme.el}.  @xref{Creating Custom Themes}, for the
+format of a theme file and how to make one.
 
+@findex customize-themes
 @vindex custom-theme-directory
-  After adding the desired options, click on @samp{Save Theme} to save
-the Custom theme.  This writes the theme definition to a file
-@file{@var{foo}-theme.el} (where @var{foo} is the theme name you
-supplied), in the directory @file{~/.emacs.d/}.  You can specify the
-directory by setting @code{custom-theme-directory}.
-
-  You can view and edit the settings of a previously-defined theme by
-clicking on @samp{Visit Theme} and specifying the theme name.  You can
-also import the variables and faces that you have set using Customize
-by visiting the ``special'' theme named @samp{user}.  This theme, which
-records all the options that you set in the ordinary customization
-buffer, is always enabled, and always takes precedence over all other
-enabled Custom themes.  Additionally, the @samp{user} theme is
-recorded with code in your @file{.emacs} file, rather than a
-@file{user-theme.el} file.
+@cindex color scheme
+  Type @kbd{M-x customize-themes} to switch to a buffer named
+@samp{*Custom Themes*}, which lists the Custom themes that Emacs knows
+about.  By default, Emacs looks for theme files in two locations: the
+directory specified by the variable @code{custom-theme-directory}
+(which defaults to @file{~/.emacs.d/}), and a directory named
+@file{etc/themes} in your Emacs installation (see the variable
+@code{data-directory}).  The latter contains several Custom themes
+which are distributed with Emacs, which customize Emacs' faces to fit
+various color schemes.  (Note, however, that Custom themes need not be
+restricted to this purpose; they can be used to customize variables
+too).
+
+@vindex custom-theme-load-path
+  If you want Emacs to look for Custom themes in some other directory,
+add the directory name to the list variable
+@code{custom-theme-load-path}.  Its default value is
+@code{(custom-theme-directory t)}; here, the symbol
+@code{custom-theme-directory} has the special meaning of the value of
+the variable @code{custom-theme-directory}, while @code{t} stands for
+the built-in theme directory @file{etc/themes}.  The themes listed in
+the @samp{*Custom Themes*} buffer are those found in the directories
+specified by @code{custom-theme-load-path}.
+
+@kindex C-x C-s @r{(Custom Themes buffer)}
+  In the @samp{*Custom Themes*} buffer, you can activate the checkbox
+next to a Custom theme to enable or disable the theme for the current
+Emacs session.  When a Custom theme is enabled, all of its settings
+(variables and faces) take effect in the Emacs session.  To apply the
+choice of theme(s) to future Emacs sessions, type @kbd{C-x C-s}
+(@code{custom-theme-save}) or use the @samp{[Save Theme Settings]}
+button.
+
+@vindex custom-safe-themes
+  When you first enable a Custom theme, Emacs displays the contents of
+the theme file and asks if you really want to load it.  Because
+loading a Custom theme can execute arbitrary Lisp code, you should
+only say yes if you know that the theme is safe; in that case, Emacs
+offers to remember in the future that the theme is safe (this is done
+by saving the theme file's SHA-256 hash to the variable
+@code{custom-safe-themes}; if you want to treat all themes as safe,
+change its value to @code{t}).  Themes that come with Emacs (in the
+@file{etc/themes} directory) are exempt from this check, and are
+always considered safe.
 
 @vindex custom-enabled-themes
-  Once you have defined a Custom theme, you can use it by customizing
-the variable @code{custom-enabled-themes}.  This is a list of Custom
-themes that are @dfn{enabled}, or put into effect.  If you set
-@code{custom-enabled-themes} using the Customize interface, the theme
-definitions are automatically loaded from the theme files, if they
-aren't already.  If you save the value of @code{custom-enabled-themes}
-for future Emacs sessions, those Custom themes will be enabled
-whenever Emacs is started up.
-
-  If two enabled themes specify different values for an option, the
-theme occurring earlier in @code{custom-enabled-themes} takes effect.
+  Setting or saving Custom themes actually works by customizing the
+variable @code{custom-enabled-themes}.  The value of this variable is
+a list of Custom theme names (as Lisp symbols, e.g.@: @code{tango}).
+Instead of using the @samp{*Custom Themes*} buffer to set
+@code{custom-enabled-themes}, you can customize the variable using the
+usual customization interface, e.g.@: with @kbd{M-x customize-option}.
+Note that Custom themes are not allowed to set
+@code{custom-enabled-themes} themselves.
+
+  Any customizations that you make through the customization buffer
+take precedence over theme settings.  This lets you easily override
+individual theme settings that you disagree with.  If settings from
+two different themes overlap, the theme occurring earlier in
+@code{custom-enabled-themes} takes precedence.  In the customization
+buffer, if a setting has been changed from its default by a Custom
+theme, its @samp{State} display shows @samp{THEMED} instead of
+@samp{STANDARD}.
 
 @findex load-theme
 @findex enable-theme
 @findex disable-theme
-  You can temporarily enable a Custom theme with @kbd{M-x
-enable-theme}.  This prompts for a theme name in the minibuffer, loads
-the theme from the theme file if necessary, and enables the theme.
-You can @dfn{disable} any enabled theme with the command @kbd{M-x
-disable-theme}; this returns the options specified in the theme to
-their original values.  To re-enable the theme, type @kbd{M-x
-enable-theme} again.  If a theme file is changed during your Emacs
-session, you can reload it by typing @kbd{M-x load-theme}.  (This also
-enables the theme.)
+  You can enable a specific Custom theme in the current Emacs session
+by typing @kbd{M-x load-theme}.  This prompts for a theme name, loads
+the theme from the theme file, and enables the theme.  If a theme file
+has been loaded before, you can enable the theme without loading its
+file by typing @kbd{M-x enable-theme}.  To disable a Custom theme,
+type @kbd{M-x disable-theme}.
+
+@findex describe-theme
+  To see a description of a Custom theme, type @kbd{?} on its line in
+the @samp{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
+anywhere in Emacs and enter the theme name in the minibuffer.
+
+@node Creating Custom Themes
+@subsection Creating Custom Themes
+@cindex custom themes, creating
+
+@findex customize-create-theme
+  You can define a Custom theme using an interface similar to the
+customization buffer, by typing @kbd{M-x customize-create-theme}.
+This switches to a buffer named @samp{*Custom Theme*}.  It also offers
+to insert some common Emacs faces into the theme (a convenience, since
+Custom themes are often used to customize faces).  If you answer no,
+the theme will initially contain no settings.
+
+  Near the top of the @samp{*Custom Theme*} buffer are editable fields
+where you can enter the theme's name and description.  The name can be
+anything except @samp{user}.  The description is the one that will be
+shown when you invoke @kbd{M-x describe-theme} for the theme.  Its
+first line should be a brief one-sentence summary; in the buffer made
+by @kbd{M-x customize-themes}, this sentence is displayed next to the
+theme name.
+
+  To add a new setting to the theme, use the @samp{[Insert Additional
+Face]} or @samp{[Insert Additional Variable]} buttons.  Each button
+reads a face or variable name using the minibuffer, with completion,
+and inserts a customization entry for the face or variable.  You can
+edit the variable values or face attributes in the same way as in a
+normal customization buffer.  To remove a face or variable from the
+theme, uncheck the checkbox next to its name.
+
+@vindex custom-theme-directory
+  After specifying the Custom theme's faces and variables, type
+@kbd{C-x C-s} (@code{custom-theme-write}) or use the buffer's
+@samp{[Save Theme]} button.  This saves the theme file, named
+@file{@var{name}-theme.el} where @var{name} is the theme name, in the
+directory named by @code{custom-theme-directory}.
+
+  From the @samp{*Custom Theme*} buffer, you can view and edit an
+existing Custom theme by activating the @samp{[Visit Theme]} button
+and specifying the theme name.  You can also add the settings of
+another theme into the buffer, using the @samp{[Merge Theme]} button.
+You can import your non-theme settings into a Custom theme by using
+the @samp{[Merge Theme]} button and specifying the special theme named
+@samp{user}.
+
+  A theme file is simply an Emacs Lisp source file, and loading the
+Custom theme works by loading the Lisp file.  Therefore, you can edit
+a theme file directly instead of using the @samp{*Custom Theme*}
+buffer.
+@c Add link to the relevant Emacs Lisp Reference manual node, once
+@c that is written.
 
 @node Variables
 @section Variables
 @cindex variable
-@cindex option, user
-@cindex user option
 
   A @dfn{variable} is a Lisp symbol which has a value.  The symbol's
 name is also called the @dfn{variable name}.  A variable name can
@@ -609,10 +706,10 @@ using the help command @kbd{C-h v} (@code{describe-variable}).
 
   Emacs uses many Lisp variables for internal record keeping, but the
 most interesting variables for a non-programmer user are those meant
-for users to change---these are called @dfn{user options}.  @xref{Easy
-Customization}, for information about using the Customize facility to
-set user options.  In the following sections, we will describe other
-aspects of Emacs variables, such as how to set them outside Customize.
+for users to change---these are called @dfn{customizable variables} or
+@dfn{user options} (@pxref{Easy Customization}).  In the following
+sections, we will describe other aspects of Emacs variables, such as
+how to set them outside Customize.
 
   Emacs Lisp allows any variable (with a few exceptions) to have any
 kind of value.  However, many variables are meaningful only if
@@ -654,9 +751,9 @@ Display the value and documentation of variable @var{var}
 Change the value of variable @var{var} to @var{value}.
 @end table
 
-  To examine the value of a single variable, use @kbd{C-h v}
-(@code{describe-variable}), which reads a variable name using the
-minibuffer, with completion.  It displays both the value and the
+  To examine the value of a variable, use @kbd{C-h v}
+(@code{describe-variable}).  This reads a variable name using the
+minibuffer, with completion, and displays both the value and the
 documentation of the variable.  For example,
 
 @example
@@ -686,10 +783,10 @@ You can customize this variable.
 @noindent
 The line that says ``You can customize the variable'' indicates that
 this variable is a user option.  @kbd{C-h v} is not restricted to user
-options; it allows any variable name.
+options; it allows non-customizable variables too.
 
 @findex set-variable
-  The most convenient way to set a specific user option variable is
+  The most convenient way to set a specific customizable variable is
 with @kbd{M-x set-variable}.  This reads the variable name with the
 minibuffer (with completion), and then reads a Lisp expression for the
 new value using the minibuffer a second time (you can insert the old
@@ -702,22 +799,23 @@ M-x set-variable @key{RET} fill-column @key{RET} 75 @key{RET}
 @noindent
 sets @code{fill-column} to 75.
 
- @kbd{M-x set-variable} is limited to user option variables, but you can
-set any variable with a Lisp expression, using the function @code{setq}.
-Here is a @code{setq} expression to set @code{fill-column}:
+ @kbd{M-x set-variable} is limited to customizable variables, but you
+can set any variable with a Lisp expression like this:
 
 @example
 (setq fill-column 75)
 @end example
 
-  To execute an expression like this one, go to the @samp{*scratch*}
-buffer, type in the expression, and then type @kbd{C-j}.  @xref{Lisp
-Interaction}.
+@noindent
+To execute such an expression, type @kbd{M-:} (@code{eval-expression})
+and enter the expression in the minibuffer (@pxref{Lisp Eval}).
+Alternatively, go to the @samp{*scratch*} buffer, type in the
+expression, and then type @kbd{C-j} (@pxref{Lisp Interaction}).
 
   Setting variables, like all means of customizing Emacs except where
 otherwise stated, affects only the current Emacs session.  The only
 way to alter the variable in future sessions is to put something in
-your initialization file to set it those sessions (@pxref{Init File}).
+your initialization file (@pxref{Init File}).
 
 @node Hooks
 @subsection Hooks
@@ -759,17 +857,34 @@ Manual}, for details.
   Most major modes run one or more @dfn{mode hooks} as the last step
 of initialization.  Mode hooks are a convenient way to customize the
 behavior of individual modes; they are always normal.  For example,
-here's how to set up a hook to turn on Auto Fill mode when entering
-Text mode and other modes based on Text mode:
+here's how to set up a hook to turn on Auto Fill mode in Text mode and
+other modes based on Text mode:
 
 @example
 (add-hook 'text-mode-hook 'auto-fill-mode)
 @end example
 
-  Here is another example, showing how to use a hook to customize the
-indentation of C code.  The hook function uses an anonymous lambda
-expression (@pxref{Lambda Expressions,,, elisp, The Emacs Lisp
-Reference Manual}).
+@noindent
+This works by calling @code{auto-fill-mode}, which enables the minor
+mode when no argument is supplied (@pxref{Minor Modes}).  Next,
+suppose you don't want Auto Fill mode turned on in La@TeX{} mode,
+which is one of the modes based on Text mode.  You can do this with
+the following additional line:
+
+@example
+(add-hook 'latex-mode-hook (lambda () (auto-fill-mode -1)))
+@end example
+
+@noindent
+Here we have used the special macro @code{lambda} to construct an
+anonymous function (@pxref{Lambda Expressions,,, elisp, The Emacs Lisp
+Reference Manual}), which calls @code{auto-fill-mode} with an argument
+of @code{-1} to disable the minor mode.  Because La@TeX{} mode runs
+@code{latex-mode-hook} after running @code{text-mode-hook}, the result
+leaves Auto Fill mode disabled.
+
+  Here is a more complex example, showing how to use a hook to
+customize the indentation of C code:
 
 @example
 @group
@@ -792,8 +907,8 @@ Reference Manual}).
 @cindex program editing
   Major mode hooks also apply to other major modes @dfn{derived} from
 the original mode (@pxref{Derived Modes,,, elisp, The Emacs Lisp
-Reference Manual}).  For instance, HTML mode (@pxref{HTML Mode})
-inherits from Text mode; when HTML mode is enabled, it runs
+Reference Manual}).  For instance, HTML mode is derived from Text mode
+(@pxref{HTML Mode}); when HTML mode is enabled, it runs
 @code{text-mode-hook} before running @code{html-mode-hook}.  This
 provides a convenient way to use a single hook to affect several
 related modes.  In particular, if you want to apply a hook function to
@@ -910,7 +1025,7 @@ explicitly.  For example, here's how to obtain the default value of
 @cindex local variables in files
 @cindex file local variables
 
-  A file can specify local variable values for use when you edit the
+  A file can specify local variable values to use when editing the
 file with Emacs.  Visiting the file checks for local variable
 specifications; it automatically makes these variables local to the
 buffer, and sets them to the values specified in the file.
@@ -933,21 +1048,20 @@ first line:
 
 @noindent
 You can specify any number of variable/value pairs in this way, each
-pair with a colon and semicolon as shown above.  The special
-variable/value pair @code{mode: @var{modename};}, if present,
-specifies a major mode, and should come first in the line.  The
+pair with a colon and semicolon.  The special variable/value pair
+@code{mode: @var{modename};}, if present, specifies a major mode.  The
 @var{value}s are used literally, and not evaluated.
 
 @findex add-file-local-variable-prop-line
 @findex delete-file-local-variable-prop-line
 @findex copy-dir-locals-to-file-locals-prop-line
-  You can use the command @code{add-file-local-variable-prop-line}
-instead of adding entries by hand.  It prompts for a variable
-and value, and adds them to the first line in the appropriate way.
-The command @code{delete-file-local-variable-prop-line} deletes a
-variable from the line.  The command
-@code{copy-dir-locals-to-file-locals-prop-line} copies directory-local
-variables (@pxref{Directory Variables}) to the first line.
+  Instead of adding variable/value pairs by hand, you can use the
+command @kbd{M-x add-file-local-variable-prop-line}.  This prompts for
+a variable and value, and adds them to the first line in the
+appropriate way.  @kbd{M-x delete-file-local-variable-prop-line}
+prompts for a variable, and deletes its entry from the line.  @kbd{M-x
+copy-dir-locals-to-file-locals-prop-line} copies directory-local
+variables to the first line (@pxref{Directory Variables}).
 
   Here is an example first line that specifies Lisp mode and sets two
 variables with numeric values:
@@ -971,7 +1085,7 @@ same is true for man pages which start with the magic string
 @samp{'\"} to specify a list of troff preprocessors (not all do,
 however).
 
-  Instead of using a @samp{-*-} line, you can define file local
+  Apart from using a @samp{-*-} line, you can define file local
 variables using a @dfn{local variables list} near the end of the file.
 The start of the local variables list should be no more than 3000
 characters from the end of the file, and must be on the last page if
@@ -990,10 +1104,10 @@ part of their initialization.
 per line, like this:
 
 @example
-/* Local Variables: */
-/* mode:c           */
-/* comment-column:0 */
-/* End:             */
+/* Local Variables:  */
+/* mode: c           */
+/* comment-column: 0 */
+/* End:              */
 @end example
 
 @noindent
@@ -1004,23 +1118,23 @@ the first line of the list; it then automatically discards them from
 the other lines of the list.  The usual reason for using a prefix
 and/or suffix is to embed the local variables list in a comment, so it
 won't confuse other programs that the file is intended for.  The
-example above is for the C programming language, where comment lines
-start with @samp{/*} and end with @samp{*/}.
+example above is for the C programming language, where comments start
+with @samp{/*} and end with @samp{*/}.
 
 @findex add-file-local-variable
 @findex delete-file-local-variable
 @findex copy-dir-locals-to-file-locals
-  You can construct the local variables list yourself, or use the
-command @code{add-file-local-variable}.  This prompts for a variable
-and value, and adds them to the list.  If necessary, it also adds the
-start and end markers.  The command @code{delete-file-local-variable}
-deletes a variable from the list.  The command
-@code{copy-dir-locals-to-file-locals} copies directory-local variables
-(@pxref{Directory Variables}) to the list.
+  Instead of typing in the local variables list directly, you can use
+the command @kbd{M-x add-file-local-variable}.  This prompts for a
+variable and value, and adds them to the list, adding the @samp{Local
+Variables:} string and start and end markers as necessary.  The
+command @kbd{M-x delete-file-local-variable} deletes a variable from
+the list.  @kbd{M-x copy-dir-locals-to-file-locals} copies
+directory-local variables to the list (@pxref{Directory Variables}).
 
   As with the @samp{-*-} line, the variables in a local variables list
 are used literally, and are not evaluated first.  If you want to split
-a long string across multiple lines of the file, you can use
+a long string value across multiple lines of the file, you can use
 backslash-newline, which is ignored in Lisp string constants; you
 should put the prefix and suffix on each line, even lines that start
 or end within the string, as they will be stripped off when processing
@@ -1054,24 +1168,35 @@ value is @code{t}.  @xref{Enabling Multibyte}.
 @end itemize
 
 @noindent
-These four ``variables'' are not really variables; setting them in any
+These four keywords are not really variables; setting them in any
 other context has no special meaning.
 
-  You can use the @code{mode} ``variable'' to enable minor modes as
-well as the major modes; in fact, you can use it more than once, first
-to set the major mode and then to enable minor modes which are
-specific to particular buffers.  Using @code{mode} for minor modes
-is deprecated, though---instead, use @code{eval: (minor-mode 1)}.
-
-  Often, however, it is a mistake to enable minor modes in file local
-variables.  Most minor modes, like Auto Fill mode, represent individual user
-preferences.  If you want to use a minor mode, it is better to set up
-major mode hooks with your init file to turn that minor mode on for
-yourself alone (@pxref{Init File}), instead of using a local variable
-list to impose your taste on everyone.
-
-  Use the command @code{normal-mode} to reset the local variables and
-major mode of a buffer according to the file name and contents,
+  Do not use the @code{mode} keyword for minor modes.  To enable or
+disable a minor mode in a local variables list, use the @code{eval}
+keyword with a Lisp expression that runs the mode command
+(@pxref{Minor Modes}).  For example, the following local variables
+list enables Eldoc mode (@pxref{Lisp Doc}) by calling
+@code{eldoc-mode} with no argument (calling it with an argument of 1
+would do the same), and disables Font Lock mode (@pxref{Font Lock}) by
+calling @code{font-lock-mode} with an argument of -1.
+
+@example
+;; Local Variables:
+;; eval: (eldoc-mode)
+;; eval: (font-lock-mode -1)
+;; End:
+@end example
+
+@noindent
+Note, however, that it is often a mistake to specify minor modes this
+way.  Minor modes represent individual user preferences, and it may be
+inappropriate to impose your preferences on another user who might
+edit the file.  If you wish to automatically enable or disable a minor
+mode in a situation-dependent way, it is often better to do it in a
+major mode hook (@pxref{Hooks}).
+
+  Use the command @kbd{M-x normal-mode} to reset the local variables
+and major mode of a buffer according to the file name and contents,
 including the local variables list if any.  @xref{Choosing Modes}.
 
 @node Safe File Variables
@@ -1139,85 +1264,81 @@ confirmation about processing @code{eval} variables.
 @node Directory Variables
 @subsection Per-Directory Local Variables
 @cindex local variables, for all files in a directory
-@cindex directory local variables
+@cindex directory-local variables
 @cindex per-directory local variables
 
-  A @dfn{project} is a collection of files on which you work together.
-Usually, the project's files are kept in one or more directories.
-Occasionally, you may wish to define Emacs settings that are common to
-all the files that belong to the project.
-
-  Emacs provides two ways to specify settings that are applicable to
-files in a specific directory: you can put a special file in that
-directory, or you can define a @dfn{project class} for that directory.
+  Sometimes, you may wish to define the same set of local variables to
+all the files in a certain directory and its subdirectories, such as
+the directory tree of a large software project.  This can be
+accomplished with @dfn{directory-local variables}.
 
 @cindex @file{.dir-locals.el} file
-  If you put a file with a special name @file{.dir-locals.el}@footnote{
-On MS-DOS, the name of this file should be @file{_dir-locals.el}, due
-to limitations of the DOS filesystems.  If the filesystem is limited
-to 8+3 file names, the name of the file will be truncated by the OS to
-@file{_dir-loc.el}.
-} in a directory, Emacs will read it when it visits any file in that
-directory or any of its subdirectories, and apply the settings it
-specifies to the file's buffer.  Emacs searches for
-@file{.dir-locals.el} starting in the directory of the visited file,
-and moving up the directory tree.  (To avoid slowdown, this search is
-skipped for remote files.)
+  The usual way to define directory-local variables is to put a file
+named @file{.dir-locals.el}@footnote{ On MS-DOS, the name of this file
+should be @file{_dir-locals.el}, due to limitations of the DOS
+filesystems.  If the filesystem is limited to 8+3 file names, the name
+of the file will be truncated by the OS to @file{_dir-loc.el}.  } in a
+directory.  Whenever Emacs visits any file in that directory or any of
+its subdirectories, it will apply the directory-local variables
+specified in @file{.dir-locals.el}, as though they had been defined as
+file-local variables for that file (@pxref{File Variables}).  Emacs
+searches for @file{.dir-locals.el} starting in the directory of the
+visited file, and moving up the directory tree.  To avoid slowdown,
+this search is skipped for remote files.
 
   The @file{.dir-locals.el} file should hold a specially-constructed
-list.  This list maps Emacs mode names (symbols) to alists; each alist
-specifies values for variables to use when the respective mode is
-turned on.  The special mode name @samp{nil} means that its alist
-applies to any mode.  Instead of a mode name, you can specify a string
-that is a name of a subdirectory of the project's directory; then the
-corresponding alist applies to all the files in that subdirectory.
+list, which maps major mode names (symbols) to alists
+(@pxref{Association Lists,,, elisp, The Emacs Lisp Reference Manual}).
+Each alist entry consists of a variable name and the directory-local
+value to assign to that variable, when the specified major mode is
+enabled.  Instead of a mode name, you can specify @samp{nil}, which
+means that the alist applies to any mode; or you can specify a
+subdirectory name (a string), in which case the alist applies to all
+files in that subdirectory.
 
   Here's an example of a @file{.dir-locals.el} file:
 
 @example
 ((nil . ((indent-tabs-mode . t)
-         (tab-width . 4)
          (fill-column . 80)))
  (c-mode . ((c-file-style . "BSD")))
- (java-mode . ((c-file-style . "BSD")
-               (subdirs . nil)))
+            (subdirs . nil)))
  ("src/imported"
-  . ((nil . ((change-log-default-name .
-              "ChangeLog.local"))))))
+  . ((nil . ((change-log-default-name
+              "ChangeLog.local"))))))
 @end example
 
 @noindent
-This example shows some settings for a hypothetical project.  It sets
-@samp{indent-tabs-mode}, @code{tab-width}, and @code{fill-column} for
-any file in the project's directory tree, and it sets the indentation
-style for any C or Java source file.  The special @code{subdirs} element
-indicates that the Java mode settings are only to be applied in the
-current directory, not in any subdirectories.  Finally, it specifies a
-different @file{ChangeLog} file name for any file in the @file{src/imported}
-subdirectory of the directory where you put the @file{.dir-locals.el}
-file.
+This sets @samp{indent-tabs-mode} and @code{fill-column} for any file
+in the directory tree, and the indentation style for any C source
+file.  The special @code{subdirs} element is not a variable, but a
+special keyword which indicates that the C mode settings are only to
+be applied in the current directory, not in any subdirectories.
+Finally, it specifies a different @file{ChangeLog} file name for any
+file in the @file{src/imported} subdirectory.
 
 @findex add-dir-local-variable
 @findex delete-dir-local-variable
 @findex copy-file-locals-to-dir-locals
-  You can edit the @file{.dir-locals.el} file by hand, or use the
-command @code{add-dir-local-variable}.  This prompts for a mode (or
-subdirectory), variable and value, and adds an entry to the file.
-The command @code{delete-dir-local-variable} deletes an entry.  The
-command @code{copy-file-locals-to-dir-locals} copies file local
-variables (@pxref{File Variables}) to the @file{.dir-locals.el} file.
+  Instead of editing the @file{.dir-locals.el} file by hand, you can
+use the command @kbd{M-x add-dir-local-variable}.  This prompts for a
+mode or subdirectory name, and for variable and value, and adds the
+entry defining the directory-local variable.  @kbd{M-x
+delete-dir-local-variable} deletes an entry.  @kbd{M-x
+copy-file-locals-to-dir-locals} copies the file-local variables in the
+current file into @file{.dir-locals.el}.
 
 @findex dir-locals-set-class-variables
 @findex dir-locals-set-directory-class
-  Another method of specifying directory-local variables is to explicitly
-define a project class using @code{dir-locals-set-class-variables}, and
-then tell Emacs which directories correspond to that class, using
-@code{dir-locals-set-directory-class}.  You can put calls to these functions
-in your @file{~/.emacs} init file; this can be useful when you can't put
-@file{.dir-locals.el} in the directory for some reason, or if you want
-to keep in a single place settings for several directories that don't
-have a common parent.  For example, you could apply settings to an
-unwritable directory this way:
+  Another method of specifying directory-local variables is to define
+a group of variables/value pairs in a @dfn{directory class}, using the
+@code{dir-locals-set-class-variables} function; then, tell Emacs which
+directories correspond to the class by using the
+@code{dir-locals-set-directory-class} function.  These function calls
+normally go in your initialization file (@pxref{Init File}).  This
+method is useful when you can't put @file{.dir-locals.el} in a
+directory for some reason.  For example, you could apply settings to
+an unwritable directory this way:
 
 @example
 (dir-locals-set-class-variables 'unwritable-directory
@@ -1227,8 +1348,14 @@ unwritable directory this way:
    "/usr/include/" 'unwritable-directory)
 @end example
 
-  Unsafe directory-local variables are handled in the same way as
-unsafe file-local variables (@pxref{Safe File Variables}).
+  If a variable has both a directory-local and file-local value
+specified, the file-local value takes effect.  Unsafe directory-local
+variables are handled in the same way as unsafe file-local variables
+(@pxref{Safe File Variables}).
+
+  Directory-local variables also take effect in certain buffers that
+do not visit a file directly but perform work within a directory, such
+as Dired buffers (@pxref{Dired}).
 
 @node Key Bindings
 @section Customizing Key Bindings
@@ -1245,7 +1372,7 @@ init file (@pxref{Init Rebinding}).
 * Local Keymaps::       Major and minor modes have their own keymaps.
 * Minibuffer Maps::     The minibuffer uses its own local keymaps.
 * Rebinding::           How to redefine one key's meaning conveniently.
-* Init Rebinding::      Rebinding keys with your init file, @file{.emacs}.
+* Init Rebinding::      Rebinding keys with your initialization file.
 * Modifier Keys::       Using modifier keys in key bindings.
 * Function Keys::       Rebinding terminal function keys.
 * Named ASCII Chars::   Distinguishing @key{TAB} from @kbd{C-i}, and so on.
@@ -1895,7 +2022,7 @@ input saying whether to execute the command as requested, enable it
 and execute it, or cancel.  If you decide to enable the command, you
 must then answer another question---whether to do this permanently, or
 just for the current session.  (Enabling permanently works by
-automatically editing your @file{.emacs} file.)  You can also type
+automatically editing your initialization file.)  You can also type
 @kbd{!} to enable @emph{all} commands, for the current session only.
 
   The direct mechanism for disabling a command is to put a
@@ -1916,15 +2043,16 @@ is included in the message displayed when the command is used:
 
 @findex disable-command
 @findex enable-command
-  You can make a command disabled either by editing the @file{.emacs}
-file directly, or with the command @kbd{M-x disable-command}, which edits
-the @file{.emacs} file for you.  Likewise, @kbd{M-x enable-command}
-edits @file{.emacs} to enable a command permanently.  @xref{Init File}.
+  You can make a command disabled either by editing the initialization
+file directly, or with the command @kbd{M-x disable-command}, which
+edits the initialization file for you.  Likewise, @kbd{M-x
+enable-command} edits the initialization file to enable a command
+permanently.  @xref{Init File}.
 
   If Emacs was invoked with the @option{-q} or @option{--no-init-file}
 options (@pxref{Initial Options}), it will not edit your
-@file{~/.emacs} init file.  Doing so could lose information
-because Emacs has not read your init file.
+initialization file.  Doing so could lose information because Emacs
+has not read your initialization file.
 
   Whether a command is disabled is independent of what key is used to
 invoke it; disabling also applies if the command is invoked using
@@ -1932,7 +2060,7 @@ invoke it; disabling also applies if the command is invoked using
 as a function from Lisp programs.
 
 @node Init File
-@section The Init File, @file{~/.emacs}
+@section The Emacs Initialization File
 @cindex init file
 @cindex .emacs file
 @cindex ~/.emacs file
@@ -2164,21 +2292,13 @@ Turn off Line Number mode, a global minor mode.
 
 @need 1500
 @item
-Turn on Auto Fill mode automatically in Text mode and related modes.
+Turn on Auto Fill mode automatically in Text mode and related modes
+(@pxref{Hooks}).
 
 @example
 (add-hook 'text-mode-hook 'auto-fill-mode)
 @end example
 
-This shows how to add a hook function to a normal hook variable
-(@pxref{Hooks}).  The function we supply is a list starting with
-@code{lambda}, with a single-quote in front of it to make it a list
-constant rather than an expression.
-
-It's beyond the scope of this manual to explain Lisp functions, but
-for this example it is enough to know that the effect is to execute
-the @code{auto-fill-mode} function when Text mode is entered.
-
 @item
 Load the installed Lisp library named @file{foo} (actually a file
 @file{foo.elc} or @file{foo.el} in a standard Emacs directory).
@@ -2198,7 +2318,7 @@ Load the compiled Lisp file @file{foo.elc} from your home directory.
 (load "~/foo.elc")
 @end example
 
-Here an absolute file name is used, so no searching is done.
+Here a full file name is used, so no searching is done.
 
 @item
 @cindex loading Lisp libraries automatically
index efb05226ba8ff56cee93239bcf525a9de2d715c5..bc141650b4a0839bea09f1a6b6f697322f94f781 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -7,24 +7,24 @@
 @node Subdir Switches
 @section Subdirectory Switches in Dired
 
-You can insert subdirectories with specified @code{ls} switches in
-Dired buffers using @kbd{C-u i}.  You can change the @code{ls}
+You can insert subdirectories with specified @command{ls} switches in
+Dired buffers using @kbd{C-u i}.  You can change the @command{ls}
 switches of an already inserted subdirectory using @kbd{C-u l}.
 
 Dired preserves the switches if you revert the buffer.  Deleting a
 subdirectory forgets about its switches.
 
-Using @code{dired-undo} (usually bound to @kbd{C-_} and @kbd{C-x u})
-to reinsert or delete subdirectories that were inserted with explicit
-switches can bypass Dired's machinery for remembering (or forgetting)
-switches.  Deleting a subdirectory using @code{dired-undo} does not
-forget its switches.  When later reinserted using @kbd{i}, it will be
-reinserted using its old switches.  Using @code{dired-undo} to
-reinsert a subdirectory that was deleted using the regular
-Dired commands (not @code{dired-undo}) will originally insert it with
-its old switches.  Reverting the buffer, however, will relist it using
-the buffer's default switches.  If any of this yields problems, you
-can easily correct the situation using @kbd{C-u i} or @kbd{C-u l}.
+Using @code{dired-undo} (@pxref{Marks vs Flags}) to reinsert or delete
+subdirectories that were inserted with explicit switches can bypass
+Dired's machinery for remembering (or forgetting) switches.  Deleting
+a subdirectory using @code{dired-undo} does not forget its switches.
+When later reinserted using @kbd{i}, it will be reinserted using its
+old switches.  Using @code{dired-undo} to reinsert a subdirectory that
+was deleted using the regular Dired commands (not @code{dired-undo})
+will originally insert it with its old switches.  Reverting the
+buffer, however, will relist it using the buffer's default switches.
+If any of this yields problems, you can easily correct the situation
+using @kbd{C-u i} or @kbd{C-u l}.
 
 Dired does not remember the @code{R} switch.  Inserting a subdirectory
 with switches that include the @code{R} switch is equivalent to
index b6ed47fdb3f04f3ef594d4debeba46f639dca829..34ec0d2045cf05f354560ccb6308e9c7596ba6ab 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Dired
@@ -73,32 +73,45 @@ completion commands can be used in the minibuffer; in particular,
 a directory name.
 
   The variable @code{dired-listing-switches} specifies the options to
-give to @code{ls} for listing the directory; this string @emph{must}
-contain @samp{-l}.  If you use a prefix argument with the @code{dired}
-command, you can specify the @code{ls} switches with the minibuffer
-before you enter the directory specification.  No matter how they are
-specified, the @code{ls} switches can include short options (that is,
-single characters) requiring no arguments, and long options (starting
-with @samp{--}) whose arguments are specified with @samp{=}.
+give to @command{ls} for listing the directory; this string
+@emph{must} contain @samp{-l}.  If you use a prefix argument with the
+@code{dired} command, you can specify the @command{ls} switches with the
+minibuffer before you enter the directory specification.  No matter
+how they are specified, the @command{ls} switches can include short
+options (that is, single characters) requiring no arguments, and long
+options (starting with @samp{--}) whose arguments are specified with
+@samp{=}.
 
 @vindex dired-use-ls-dired
-  Note that Dired automatically adds the option @samp{--dired}, if
-your @code{ls} program supports it, unless you explicitly set
-the variable @code{dired-use-ls-dired} to @code{nil}.  Without this
-option, Dired will have trouble parsing some @samp{unusual} file-names.
-See the documentation of @code{dired-use-ls-dired} for more details.
-
-  On MS-Windows and MS-DOS systems, Emacs @emph{emulates} @code{ls};
-see @ref{ls in Lisp}, for options and peculiarities of that emulation.
+  If your @command{ls} program supports the @samp{--dired} option,
+Dired automatically passes it that option; this causes @command{ls} to
+emit special escape sequences for certain unusual file names, without
+which Dired will not be able to parse those names.  The first time you
+run Dired in an Emacs session, it checks whether @command{ls} supports
+the @samp{--dired} option by calling it once with that option.  If the
+exit code is 0, Dired will subsequently use the @samp{--dired} option;
+otherwise it will not.  You can inhibit this check by customizing the
+variable @code{dired-use-ls-dired}.  The value @code{unspecified} (the
+default) means to perform the check; any other non-@code{nil} value
+means to use the @samp{--dired} option; and @code{nil} means not to
+use the @samp{--dired} option.
+
+  On MS-Windows and MS-DOS systems, Emacs emulates @command{ls}.
+@xref{ls in Lisp}, for options and peculiarities of this emulation.
 
 @findex dired-other-window
 @kindex C-x 4 d
 @findex dired-other-frame
 @kindex C-x 5 d
-  To display the Dired buffer in another window rather than in the
-selected window, use @kbd{C-x 4 d} (@code{dired-other-window}) instead
-of @kbd{C-x d}.  @kbd{C-x 5 d} (@code{dired-other-frame}) uses a
-separate frame to display the Dired buffer.
+  To display the Dired buffer in another window, use @kbd{C-x 4 d}
+(@code{dired-other-window}) instead of @kbd{C-x d}.  @kbd{C-x 5 d}
+(@code{dired-other-frame}) displays the Dired buffer in a separate
+frame.
+
+@kindex q @r{(Dired)}
+@findex quit-window
+  Typing @kbd{q} (@code{quit-window}) buries the Dired buffer, and
+deletes its window if the window was created just for that buffer.
 
 @node Dired Navigation
 @section Navigation in the Dired Buffer
@@ -124,7 +137,11 @@ minibuffer, and moves point to the line in the Dired buffer describing
 that file.
 
 @cindex searching Dired buffers
+@findex dired-isearch-filenames
 @vindex dired-isearch-filenames
+@findex dired-isearch-filenames-regexp
+@kindex M-s f C-s @r{(Dired)}
+@kindex M-s f M-C-s @r{(Dired)}
   @kbd{M-s f C-s} (@code{dired-isearch-filenames}) performs a forward
 incremental search in the Dired buffer, looking for matches only
 amongst the file names and ignoring the rest of the text in the
@@ -331,18 +348,16 @@ another window, but do not select that window (@code{dired-display-file}).
 @item Mouse-1
 @itemx Mouse-2
 @findex dired-mouse-find-file-other-window
-Visit the file named by the line you click on
+Visit the file whose name you clicked on
 (@code{dired-mouse-find-file-other-window}).  This uses another window
 to display the file, like the @kbd{o} command.
 
 @item v
 @kindex v @r{(Dired)}
 @findex dired-view-file
-View the file described on the current line, using @kbd{M-x view-file}
-(@code{dired-view-file}).  Viewing a file with @code{view-file} is
-like visiting it, but is slanted toward moving around in the file
-conveniently and does not allow changing the file.  @xref{Misc File
-Ops, View File, Miscellaneous File Operations}.
+View the file described on the current line, with View mode
+(@code{dired-view-file}).  View mode provides convenient commands to
+navigate the buffer but forbids changing it; @xref{View Mode}.
 
 @item ^
 @kindex ^ @r{(Dired)}
@@ -520,9 +535,9 @@ the regular expression @var{regexp}
 @kbd{% m}, except that it searches the file contents instead of the file
 name.
 
-@item C-x u
+@item C-/
+@itemx C-x u
 @itemx C-_
-@itemx C-/
 @kindex C-_ @r{(Dired)}
 @findex dired-undo
 Undo changes in the Dired buffer, such as adding or removing
@@ -615,7 +630,7 @@ Like the other commands in this section, this command operates on the
 Rename the specified files (@code{dired-do-rename}).  If you rename a
 single file, the argument @var{new} is the new name of the file.  If
 you rename several files, the argument @var{new} is the directory into
-which to move the files (this is like the shell command @code{mv}).
+which to move the files (this is like the shell command @command{mv}).
 
 Dired automatically changes the visited file name of buffers associated
 with renamed files so that they refer to the new names.
@@ -625,7 +640,7 @@ with renamed files so that they refer to the new names.
 @cindex hard links (in Dired)
 @item H @var{new} @key{RET}
 Make hard links to the specified files (@code{dired-do-hardlink}).
-This is like the shell command @code{ln}.  The argument @var{new} is
+This is like the shell command @command{ln}.  The argument @var{new} is
 the directory to make the links in, or (if making just one link) the
 name to give the link.
 
@@ -642,9 +657,10 @@ link.
 @kindex M @r{(Dired)}
 @cindex changing file permissions (in Dired)
 @item M @var{modespec} @key{RET}
-Change the mode (also called ``permission bits'') of the specified files
-(@code{dired-do-chmod}).  @var{modespec} can be in octal or symbolic
-notation like arguments handled by the @code{chmod} program.
+Change the mode (also called @dfn{permission bits}) of the specified
+files (@code{dired-do-chmod}).  @var{modespec} can be in octal or
+symbolic notation, like arguments handled by the @command{chmod}
+program.
 
 @findex dired-do-chgrp
 @kindex G @r{(Dired)}
@@ -663,8 +679,8 @@ this.)
 
 @vindex dired-chown-program
 The variable @code{dired-chown-program} specifies the name of the
-program to use to do the work (different systems put @code{chown} in
-different places).
+program to use to do the work (different systems put @command{chown}
+in different places).
 
 @findex dired-do-touch
 @kindex T @r{(Dired)}
@@ -952,17 +968,17 @@ The backup file is the first file given to @code{diff}.
 @cindex subdirectories in Dired
 @cindex expanding subdirectories in Dired
 
-  A Dired buffer displays just one directory in the normal case;
-but you can optionally include its subdirectories as well.
+  A Dired buffer usually displays just one directory, but you can
+optionally include its subdirectories as well.
 
   The simplest way to include multiple directories in one Dired buffer is
-to specify the options @samp{-lR} for running @code{ls}.  (If you give a
+to specify the options @samp{-lR} for running @command{ls}.  (If you give a
 numeric argument when you run Dired, then you can specify these options
 in the minibuffer.)  That produces a recursive directory listing showing
 all subdirectories at all levels.
 
   More often, you will want to show only specific subdirectories.  You
-can do this with the @kbd{i} command:
+can do this with @kbd{i} (@code{dired-maybe-insert-subdir}):
 
 @table @kbd
 @findex dired-maybe-insert-subdir
@@ -973,25 +989,27 @@ can do this with the @kbd{i} command:
 Insert the contents of a subdirectory later in the buffer.
 @end table
 
-Use the @kbd{i} (@code{dired-maybe-insert-subdir}) command on a line
-that describes a file which is a directory.  It inserts the contents of
-that directory into the same Dired buffer, and moves there.  Inserted
-subdirectory contents follow the top-level directory of the Dired
-buffer, just as they do in @samp{ls -lR} output.
-
-If the subdirectory's contents are already present in the buffer, the
-@kbd{i} command just moves to it.
-
-In either case, @kbd{i} sets the Emacs mark before moving, so @kbd{C-u
-C-@key{SPC}} takes you back to the old position in the buffer (the line
-describing that subdirectory).  You can also use @samp{^} to return
-to the parent directory in the same Dired buffer.
-
-Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
-subdirectory's contents.  Use @kbd{C-u k} on the subdirectory header
-line to remove the subdirectory listing (@pxref{Dired Updating}).  You
-can also hide and show inserted subdirectories (@pxref{Hiding
-Subdirectories}).
+@noindent
+If you use this command on a line that describes a file which is a
+directory, it inserts the contents of that directory into the same
+Dired buffer, and moves there.  Inserted subdirectory contents follow
+the top-level directory of the Dired buffer, just as they do in
+@samp{ls -lR} output.
+
+  If the subdirectory's contents are already present in the buffer,
+the @kbd{i} command just moves to it.
+
+  In either case, @kbd{i} sets the Emacs mark before moving, so
+@kbd{C-u C-@key{SPC}} returns to your previous position in the Dired
+buffer (@pxref{Setting Mark}).  You can also use @samp{^} to return to
+the parent directory in the same Dired buffer (@pxref{Dired
+Visiting}).
+
+  Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
+subdirectory's contents, and use @kbd{C-u k} on the subdirectory
+header line to remove the subdirectory listing (@pxref{Dired
+Updating}).  You can also hide and show inserted subdirectories
+(@pxref{Hiding Subdirectories}).
 
 @ifnottex
 @include dired-xtra.texi
@@ -1209,10 +1227,10 @@ tell @command{find} what condition to test.  To use this command, you
 need to know how to use @command{find}.
 
 @vindex find-ls-option
-  The format of listing produced by these commands is controlled by the
-variable @code{find-ls-option}, whose default value specifies using
-options @samp{-ld} for @code{ls}.  If your listings are corrupted, you
-may need to change the value of this variable.
+  The format of listing produced by these commands is controlled by
+the variable @code{find-ls-option}, whose default value specifies
+using options @samp{-ld} for @command{ls}.  If your listings are
+corrupted, you may need to change the value of this variable.
 
 @findex locate
 @findex locate-with-filter
@@ -1338,10 +1356,14 @@ rotation is lossless, and uses an external utility called JpegTRAN.
 @kindex + @r{(Dired)}
 @findex dired-create-directory
   The command @kbd{+} (@code{dired-create-directory}) reads a
-directory name, and creates the directory if it does not already
-exist.
+directory name, and creates that directory.  It signals an error if
+the directory already exists.
 
 @cindex searching multiple files via Dired
+@kindex M-s a C-s @r{(Dired)}
+@kindex M-s a M-C-s @r{(Dired)}
+@findex dired-do-isearch
+@findex dired-do-isearch-regexp
   The command @kbd{M-s a C-s} (@code{dired-do-isearch}) begins a
 ``multi-file'' incremental search on the marked files.  If a search
 fails at the end of a file, typing @kbd{C-s} advances to the next
index ea9bd95b8eec12c24400ce8f11f91cc3e3d360c5..b098f26eea55756d92635f6d3e8ec49ca16acd13 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 
 @c See file emacs.texi for copying conditions.
@@ -1062,6 +1062,56 @@ 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)}.
 
+@cindex Whitespace mode
+@cindex mode, Whitespace
+@findex whitespace-mode
+@vindex whitespace-style
+  Whitespace mode is a buffer-local minor mode that lets you
+``visualize'' many kinds of whitespace in the buffer, by either
+drawing the whitespace characters with a special face or displaying
+them as special glyphs.  To toggle this mode, type @kbd{M-x
+whitespace-mode}.  The kinds of whitespace visualized are determined
+by the list variable @code{whitespace-style}.  Here is a partial list
+of possible elements (see the variable's documentation for the full
+list):
+
+@table @code
+@item face
+Enable all visualizations which use special faces.  This element has a
+special meaing: if it is absent from the list, none of the other
+visualizations take effect except @code{space-mark}, @code{tab-mark},
+and @code{newline-mark}.
+
+@item trailing
+Highlight trailing whitespace.
+
+@item tabs
+Highlight tab characters.
+
+@item spaces
+Highlight space and non-breaking space characters.
+
+@item lines
+@vindex whitespace-line-column
+Highlight lines longer than 80 lines.  To change the column limit,
+customize the variable @code{whitespace-line-column}.
+
+@item newline
+Highlight newlines.
+
+@item empty
+Highlight empty lines.
+
+@item space-mark
+Draw space and non-breaking characters with a special glyph.
+
+@item tab-mark
+Draw tab characters with a special glyph.
+
+@item newline-mark
+Draw newline characters with a special glyph.
+@end table
+
 @node Selective Display
 @section Selective Display
 @cindex selective display
index f9d1c27fe55bc7d360a9011d0d9e6f3d35cdebf6..596cc13abf5e31129ccd3794227863b4c098bb2b 100644 (file)
@@ -11,7 +11,7 @@
 @copying
 This manual describes specialized features of Emacs.
 
-Copyright @copyright{} 2004-2011
+Copyright @copyright{} 2004-2012
 Free Software Foundation, Inc.
 
 @quotation
index 2cb02feee60f17d01142fe73423b80589d93669f..b8722e9f850758d8254f2b76e188e299e83c5979 100644 (file)
@@ -11,7 +11,7 @@
 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
 updated for Emacs version @value{EMACSVER}.
 
-Copyright @copyright{} 1985-1987, 1993-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1985-1987, 1993-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -548,6 +548,7 @@ Commands for Human Languages
 * Case::                Changing the case of text.
 * Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
+* Org Mode::            The Emacs organizer.
 * TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
 * Nroff Mode::          Editing input to the formatter nroff.
@@ -741,15 +742,16 @@ Version Control
 * VC Mode Line::        How the mode line shows version control status.
 * Basic VC Editing::    How to edit a file under version control.
 * Log Buffer::          Features available in log entry buffers.
+* Registering::         Putting a file under version control.
 * Old Revisions::       Examining and comparing old versions.
-* Secondary VC Commands:: The commands used a little less frequently.
+* VC Change Log::       Viewing the VC Change Log.
+* VC Undo::             Canceling changes before or after committing.
 * VC Directory Mode::   Listing files managed by version control.
 * Branches::            Multiple lines of development.
-* Remote Repositories:: Efficient access to remote CVS servers.
 * Revision Tags::       Symbolic names for revisions.
 * Miscellaneous VC::    Various other commands and features of VC.
 * Customizing VC::      Variables that change VC's behavior.
-  
+
 Introduction to Version Control
 
 * Why Version Control?::    Understanding the problems it addresses.
@@ -766,12 +768,6 @@ Basic Editing under Version Control
 * VC With A Locking VCS::  RCS in its default mode, SCCS, and optionally CVS.
 * Advanced C-x v v::       Advanced features available with a prefix argument.
 
-The Secondary Commands of VC
-
-* Registering::         Putting a file under version control.
-* VC Change Log::       Viewing the VC Change Log.
-* VC Undo::             Canceling changes before or after check-in.
-
 VC Directory Mode
 
 * VC Directory Buffer::   What the buffer looks like and means.
@@ -780,26 +776,15 @@ VC Directory Mode
 Multiple Branches of a File
 
 * Switching Branches::    How to get to another existing branch.
-* Creating Branches::     How to start a new branch.
+* VC Pull::               Updating a branch from another branch.
 * Merging::               Transferring changes between branches.
-* Multi-User Branching::  Multiple users working at multiple branches
-                            in parallel.
-
-Remote Repositories
-
-* Version Backups::       Keeping local copies of repository versions.
-* Local Version Control:: Using another version system for local editing.
-
-Revision Tags
-
-* Making Revision Tags::  The tag facilities.
-* Revision Tag Caveats::  Things to be careful of when using tags.
+* Creating Branches::     How to start a new branch.
 
 Miscellaneous Commands and Features of VC
 
 * Change Logs and VC::    Generating a change log file from log entries.
-* Renaming and VC::       A command to rename both the source and master
-                            file correctly.
+* VC Delete/Rename::      Deleting and renaming version-controlled files.
+* Revision Tags::         Symbolic names for revisions.
 * Version Headers::       Inserting version control headers into working files.
 
 Customizing VC
@@ -934,10 +919,10 @@ Customizing the Calendar and Diary
 
 Document Viewing
 
-* Navigation::  Navigation inside DocView buffers.
-* Searching::   Searching inside documents.
-* Slicing::     Specifying which part of pages should be displayed.
-* Conversion::  Influencing and triggering conversion.
+* DocView Navigation::  Navigating DocView buffers.
+* DocView Searching::   Searching inside documents.
+* DocView Slicing::     Specifying which part of a page is displayed.
+* DocView Conversion::  Influencing and triggering conversion.
 
 Sending Mail
 
@@ -989,7 +974,8 @@ Gnus
 
 * Buffers of Gnus::     The group, summary, and article buffers.
 * Gnus Startup::        What you should know about starting Gnus.
-* Summary of Gnus::     A short description of the basic Gnus commands.
+* Gnus Group Buffer::   A short description of Gnus group commands.
+* Gnus Summary Buffer:: A short description of Gnus summary commands.
 
 Running Shell Commands from Emacs
 
@@ -1002,7 +988,6 @@ Running Shell Commands from Emacs
 * Shell Options::       Options for customizing Shell mode.
 * Terminal emulator::   An Emacs window as a terminal emulator.
 * Term Mode::           Special Emacs commands used in Term mode.
-* Paging in Term::      Paging in the terminal emulator.
 * Remote Host::         Connecting to another computer.
 * Serial Terminal::     Connecting to a serial port.
 
@@ -1048,15 +1033,14 @@ Customization
 
 Easy Customization Interface
 
-* Customization Groups::     How settings are classified in a structure.
+* Customization Groups::     How settings are classified.
 * Browsing Custom::          Browsing and searching for settings.
 * Changing a Variable::      How to edit an option's value and set the option.
-* Saving Customizations::    Specifying the file for saving customizations.
+* Saving Customizations::    Saving customizations for future Emacs sessions.
 * Face Customization::       How to edit the attributes of a face.
-* Specific Customization::   Making a customization buffer for specific
-                                variables, faces, or groups.
-* Custom Themes::            How to define collections of customized options
-                                that can be loaded and unloaded together.
+* Specific Customization::   Customizing specific settings or groups.
+* Custom Themes::            Collections of customization settings.
+* Creating Custom Themes::   How to create a new custom theme.
 
 Variables
 
@@ -1104,9 +1088,7 @@ Dealing with Emacs Trouble
 * Text Garbled::        Garbage in the text.
 * Memory Full::         How to cope when you run out of memory.
 * After a Crash::       Recovering editing in an Emacs session that crashed.
-* Emergency Escape::    Emergency escape---
-                          What to do if Emacs stops responding.
-* Total Frustration::   When you are at your wits' end.
+* Emergency Escape::    What to do if Emacs stops responding.
 
 Reporting Bugs
 
@@ -1386,7 +1368,7 @@ Shapiro, Richard Sharman, Olin Shivers, Espen Skoglund, Rick Sladkey,
 Lynn Slater, Chris Smith, David Smith, Paul D.@: Smith, William
 Sommerfeld, Andre Spiegel, Michael Staats, Ulf Stegemann, Reiner Steib,
 Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken Stevens, Andy Stewart,
-Jonathan Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve Strassman,
+Jonathan Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve Strassmann,
 Olaf Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe Theberge,
 Jens T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Luc
 Teirlinck, David O'Toole, Tom Tromey, Enami Tsugutomo, Eli Tziperman,
index b46868cf52b588c785f4497a92d8e9a06f659511..d9f0b4a2741acc5e96a4ff337f9400f727482c28 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
index 4a76f206aedd67b6a04124f60c88189cb864a73c..ba7f3132b6bcc13675531df22ea887049be8aeb2 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @iftex
index e3da0ca44e63d50140da4c29439250496822936d..a522e055d2bbfc7da785415bfd5482430db4ad99 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Files, Buffers, Keyboard Macros, Top
@@ -1352,9 +1352,25 @@ manipulate and apply parts of patches:
 @findex diff-hunk-next
 Move to the next hunk-start (@code{diff-hunk-next}).
 
+@findex diff-auto-refine-mode
+@cindex mode, Diff Auto-Refine
+@cindex Diff Auto-Refine mode
+This command has a side effect: it @dfn{refines} the hunk you move to,
+highlighting its changes with better granularity.  To disable this
+feature, type @kbd{M-x diff-auto-refine-mode} to toggle off the minor
+mode Diff Auto-Refine mode.  To disable Diff Auto Refine mode by
+default, add this to your init file (@pxref{Hooks}):
+
+@example
+(add-hook 'diff-mode-hook
+          (lambda () (diff-auto-refine-mode -1)))
+@end example
+
 @item M-p
 @findex diff-hunk-prev
-Move to the previous hunk-start (@code{diff-hunk-prev}).
+Move to the previous hunk-start (@code{diff-hunk-prev}).  Like
+@kbd{M-n}, this has the side-effect of refining the hunk you move to,
+unless you disable Diff Auto-Refine mode.
 
 @item M-@}
 @findex diff-file-next
@@ -1447,13 +1463,13 @@ descriptions of the changes.  @kbd{C-x 4 a} itself in Diff mode
 operates on behalf of the current hunk's file, but gets the function
 name from the patch itself.  This is useful for making log entries for
 functions that are deleted by the patch.
-
-@item M-x diff-show-trailing-whitespaces RET
-@findex diff-show-trailing-whitespaces
-Highlight trailing whitespace characters, except for those used by the
-patch syntax (@pxref{Useless Whitespace}).
 @end table
 
+  By default, Diff mode highlights trailing whitespace on modified
+lines, so that they are more obvious.  This is done by enabling
+Whitespace mode in the Diff buffer (@pxref{Useless Whitespace}).  Diff
+mode buffers are set up so that Whitespace mode avoids highlighting
+trailing whitespace occurring in the diff context.
 
 @node Misc File Ops
 @section Miscellaneous File Operations
@@ -1485,6 +1501,12 @@ argument to @kbd{M-x delete-file} or @kbd{M-x delete-directory} makes
 them delete outright, instead of using the Trash, regardless of
 @code{delete-by-moving-to-trash}.
 
+@ifnottex
+  If a file is under version control (@pxref{Version Control}), you
+should delete it using @kbd{M-x vc-delete-file} instead of @kbd{M-x
+delete-file}.  @xref{VC Delete/Rename}.
+@end ifnottex
+
 @findex copy-file
 @cindex copying files
   @kbd{M-x copy-file} reads the file @var{old} and writes a new file
@@ -1498,6 +1520,7 @@ it creates a copy of the @var{old} directory and puts it in @var{new}.
 If @var{new} is not an existing directory, it copies all the contents
 of @var{old} into a new directory named @var{new}.
 
+@cindex renaming files
 @findex rename-file
   @kbd{M-x rename-file} reads two file names @var{old} and @var{new}
 using the minibuffer, then renames file @var{old} as @var{new}.  If
@@ -1512,6 +1535,12 @@ RET /tmp RET} renames @file{~/foo} to @file{/tmp/foo}.  The same rule
 applies to all the remaining commands in this section.  All of them
 ask for confirmation when the new file name already exists, too.
 
+@ifnottex
+  If a file is under version control (@pxref{Version Control}), you
+should rename it using @kbd{M-x vc-rename-file} instead of @kbd{M-x
+rename-file}.  @xref{VC Delete/Rename}.
+@end ifnottex
+
 @findex add-name-to-file
 @cindex hard links (creation)
   @kbd{M-x add-name-to-file} adds an additional name to an existing
index bae78d94744c5673c02dc59e7174b8f2f4ce4a79..c4fbca6574b59011e1da6f0b18280e1880fc0d55 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Fixit, Keyboard Macros, Search, Top
index e5853a17dd02342942614715a96d6472c9cce815..5fc20fae8a3fceaedcb98dd345b82bc099401832 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -22,7 +22,7 @@ extensions @samp{.f90}, @samp{.f95}, @samp{.f03} and @samp{.f08}.
 Customize @code{auto-mode-alist} to add more extensions.  GNU Fortran
 supports both free and fixed form.  This manual mainly documents Fortran
 mode, but the corresponding F90 mode features are mentioned when
-revelant.
+relevant.
 
   Fortran mode provides special motion commands for Fortran statements
 and subprograms, and indentation commands that understand Fortran
index dec5aa771ea575f85eb64bcbccc783769c95f588..1adeee480a656660d08e1f46a8e1e7349a9afb2d 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Frames, International, Windows, Top
index 3af75245e69fd1fe7e8368fe013514a904a35dbc..c6f91cb7b56093bc89789e0507f94d5fc6ff3329 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Glossary, Key Index, Intro, Top
index dfdeedd65ec347613b89ffea3273abcccb6ad85e..ac9b9de6dcb4bd9fd296bc094eafc97a1010d3f7 100644 (file)
@@ -1,4 +1,4 @@
-@c Copyright (C) 1985-1987, 1993, 1995, 2001-2011
+@c Copyright (C) 1985-1987, 1993, 1995, 2001-2012
 @c   Free Software Foundation, Inc.
 @c
 @c Permission is granted to anyone to make or distribute verbatim copies
index c024d42851164245db99f2f062c68f4147d32606..ed08aca5080f450505c194aacba7eaa7e28b82bb 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Help, Mark, M-x, Top
index f99e3519710aef83cf14f7a798b84a20e6a4db6b..3892dc2ae992cf91d5810a1864d8610a64012470 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Indentation, Text, Modes, Top
index 1443ad019bbe061b6c1e2711be1344c0dc755f7d..e76e2fafc55105dac2aa71e96d25dde2bdd143d9 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 
index 4676983fc67dac3b4d259ce4a9a57336170a1f18..a767a312ed31cceabaab453e966f30cecba1787d 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Keyboard Macros, Files, Fixit, Top
index cf55631e14eb863d932060e5f99f83335c7f7568..81ceb1e3ac9af754600ed6c760221cab6bfe0dc3 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node M-x, Help, Minibuffer, Top
index 3e1e67fecd8141e919f70fb82c12b3abaaac3344..a36dc0cbcc596141f47e72117de962375cde4634 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2000-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2000-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Mac OS / GNUstep, Microsoft Windows, Antinews, Top
 @appendix Emacs and Mac OS / GNUstep
index 354812edc1fa81b24a7b79ac1b9febc0846733e1..2ec477031cad2b8bfc885035b9b20367b475ff70 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Maintaining, Abbrevs, Building, Top
@@ -49,13 +49,13 @@ variable @code{vc-handled-backends} to @code{nil}
 * VC Mode Line::        How the mode line shows version control status.
 * Basic VC Editing::    How to edit a file under version control.
 * Log Buffer::          Features available in log entry buffers.
+* Registering::         Putting a file under version control.
 * Old Revisions::       Examining and comparing old versions.
-* Secondary VC Commands::    The commands used a little less frequently.
+* VC Change Log::       Viewing the VC Change Log.
+* VC Undo::             Canceling changes before or after committing.
 * VC Directory Mode::   Listing files managed by version control.
 * Branches::            Multiple lines of development.
 @ifnottex
-* Remote Repositories:: Efficient access to remote CVS servers.
-* Revision Tags::       Symbolic names for revisions.
 * Miscellaneous VC::    Various other commands and features of VC.
 * Customizing VC::      Variables that change VC's behavior.
 @end ifnottex
@@ -71,7 +71,7 @@ control operations.
 
   Some uncommon or intricate version control operations, such as
 altering repository settings, are not supported in VC.  You should
-perform such tasks outside Emacs, e.g. via the command line.
+perform such tasks outside Emacs, e.g.@: via the command line.
 
   This section provides a general overview of version control, and
 describes the version control systems that VC supports.  You can skip
@@ -125,7 +125,7 @@ which it refers to as @dfn{back ends}:
 @item
 SCCS was the first version control system ever built, and was long ago
 superseded by more advanced ones.  VC compensates for certain features
-missing in SCCS (e.g., tag names for releases) by implementing them
+missing in SCCS (e.g.@: tag names for releases) by implementing them
 itself.  Other VC features, such as multiple branches, are simply
 unavailable.  Since SCCS is non-free, we recommend avoiding it.
 
@@ -154,7 +154,7 @@ moving/renaming.  VC supports all basic editing operations under CVS.
 @cindex SVN
 @cindex Subversion
 @item
-Subversion (SVN) is a free version control system designed to be
+Subversion (svn) is a free version control system designed to be
 similar to CVS but without its problems (e.g., it supports atomic
 commits of filesets, and versioning of directories, symbolic links,
 meta-data, renames, copies, and deletes).
@@ -162,37 +162,33 @@ meta-data, renames, copies, and deletes).
 @cindex GNU Arch
 @cindex Arch
 @item
-GNU Arch is one of the earliest @dfn{distributed} version control
+GNU Arch is one of the earliest @dfn{decentralized} version control
 systems (the other being Monotone).  @xref{VCS Concepts}, for a
-description of distributed version control systems.  It is no longer
+description of decentralized version control systems.  It is no longer
 under active development, and has been deprecated in favor of Bazaar.
 
 @cindex git
 @item
-Git is a distributed version control system originally invented by
+Git is a decentralized version control system originally invented by
 Linus Torvalds to support development of Linux (his kernel).  VC
-supports many common git operations, but others, such as repository
+supports many common Git operations, but others, such as repository
 syncing, must be done from the command line.
 
 @cindex hg
 @cindex Mercurial
 @item
-Mercurial (hg) is a distributed version control system broadly
-resembling git.  VC supports most Mercurial commands, with the
+Mercurial (hg) is a decentralized version control system broadly
+resembling Git.  VC supports most Mercurial commands, with the
 exception of repository sync operations.
 
 @cindex bzr
 @cindex Bazaar
 @item
-Bazaar (bzr) is a distributed version control system that supports
-both repository-based and distributed versioning.  VC supports most
+Bazaar (bzr) is a decentralized version control system that supports
+both repository-based and decentralized versioning.  VC supports most
 basic editing operations under Bazaar.
 @end itemize
 
-  Previous versions of VC supported a version control system known as
-Meta-CVS.  This support was dropped due to limited interest from users
-and developers.
-
 @node VCS Concepts
 @subsubsection Concepts of Version Control
 
@@ -210,16 +206,19 @@ as @dfn{log entries} that describe the changes made to each file.
   The copy of a version-controlled file that you actually edit is
 called the @dfn{work file}.  You can change each work file as you
 would an ordinary file.  After you are done with a set of changes, you
-@dfn{commit} (or @dfn{check in}) the changes; this records the changes
-in the repository, along with a descriptive log entry.
+may @dfn{commit} (or @dfn{check in}) the changes; this records the
+changes in the repository, along with a descriptive log entry.
+
+@cindex working tree
+  A directory tree of work files is called a @dfn{working tree}.
 
 @cindex revision
 @cindex revision ID
-  A copy of a file stored in a repository is called a @dfn{revision}.
-The history of a file is a sequence of revisions.  Each revision is
-named by a @dfn{revision ID}.  The format of the revision ID depends
-on the version control system; in the simplest case, it is just an
-integer.
+  Each commit creates a new @dfn{revision} in the repository.  The
+version control system keeps track of all past revisions and the
+changes that were made in each revision.  Each revision is named by a
+@dfn{revision ID}, whose format depends on the version control system;
+in the simplest case, it is just an integer.
 
   To go beyond these basic concepts, you will need to understand three
 aspects in which version control systems differ.  As explained in the
@@ -229,17 +228,18 @@ these modes of operation, but it cannot hide the differences.
 
 @node VCS Merging
 @subsubsection Merge-based vs lock-based Version Control
-@cindex locking versus merging
 
   A version control system typically has some mechanism to coordinate
 between users who want to change the same file.  There are two ways to
 do this: merging and locking.
 
-  In a version control system that uses merging, each user may check
-out and modify a work file at any time.  The system lets you
-@dfn{merge} your work file, which may contain changes that have not
-been committed, with the latest changes that others have committed.
+@cindex merging-based version
+  In a version control system that uses merging, each user may modify
+a work file at any time.  The system lets you @dfn{merge} your work
+file, which may contain changes that have not been committed, with the
+latest changes that others have committed.
 
+@cindex locking-based version
   Older version control systems use a @dfn{locking} scheme instead.
 Here, work files are normally read-only.  To edit a file, you ask the
 version control system to make it writable for you by @dfn{locking}
@@ -264,7 +264,7 @@ number and severity of conflicts that actually occur.
   SCCS always uses locking.  RCS is lock-based by default but can be
 told to operate in a merging style.  CVS and Subversion are
 merge-based by default but can be told to operate in a locking mode.
-Distributed version control systems, such as GNU Arch, git, and
+Decentralized version control systems, such as GNU Arch, Git, and
 Mercurial, are exclusively merging-based.
 
   VC mode supports both locking and merging version control.  The
@@ -276,15 +276,16 @@ possible.
 @node VCS Changesets
 @subsubsection Changeset-based vs File-based Version Control
 
-@cindex changesets
+@cindex file-based version control
   On SCCS, RCS, CVS, and other early version control systems, version
 control operations are @dfn{file-based}: each file has its own comment
 and revision history separate from that of all other files.  Newer
 systems, beginning with Subversion, are @dfn{changeset-based}: a
-checkin may include changes to several files, and the entire set of
+commit may include changes to several files, and the entire set of
 changes is handled as a unit.  Any comment associated with the change
 does not belong to a single file, but to the changeset itself.
 
+@cindex changeset-based version control
   Changeset-based version control is more flexible and powerful than
 file-based version control; usually, when a change to multiple files
 has to be reversed, it's good to be able to easily identify and remove
@@ -295,18 +296,20 @@ all of it.
 
 @cindex centralized version control
 @cindex decentralized version control
+@cindex distributed version control
   Early version control systems were designed around a
 @dfn{centralized} model in which each project has only one repository
 used by all developers.  SCCS, RCS, CVS, and Subversion share this
 kind of model.  One of its drawbacks is that the repository is a choke
 point for reliability and efficiency.
 
-  GNU Arch pioneered the concept of @dfn{decentralized} version
-control, later implemented in git, Mercurial, and Bazaar.  A project
-may have several different repositories, and these systems support a
-sort of super-merge between repositories that tries to reconcile their
-change histories.  In effect, there is one repository for each
-developer, and repository merges take the place of commit operations.
+  GNU Arch pioneered the concept of @dfn{distributed} or
+@dfn{decentralized} version control, later implemented in Git,
+Mercurial, and Bazaar.  A project may have several different
+repositories, and these systems support a sort of super-merge between
+repositories that tries to reconcile their change histories.  In
+effect, there is one repository for each developer, and repository
+merges take the place of commit operations.
 
   VC helps you manage the traffic between your personal workfiles and
 a repository.  Whether the repository is a single master, or one of a
@@ -346,10 +349,9 @@ policy, which you should follow.
   When the policy is to use both, you typically want to write an entry
 for each change just once, then put it into both logs.  You can write
 the entry in @file{ChangeLog}, then copy it to the log buffer with
-@kbd{C-c C-a} when checking in the change (@pxref{Log Buffer}).  Or
-you can write the entry in the log buffer while checking in the
-change, and later use the @kbd{C-x v a} command to copy it to
-@file{ChangeLog}
+@kbd{C-c C-a} when committing the change (@pxref{Log Buffer}).  Or you
+can write the entry in the log buffer while committing the change, and
+later use the @kbd{C-x v a} command to copy it to @file{ChangeLog}
 @iftex
 (@pxref{Change Logs and VC,,,emacs-xtra, Specialized Emacs Features}).
 @end iftex
@@ -359,20 +361,22 @@ change, and later use the @kbd{C-x v a} command to copy it to
 
 @node VC Mode Line
 @subsection Version Control and the Mode Line
-@cindex VC, mode line indicator
+@cindex VC mode line indicator
 
   When you visit a file that is under version control, Emacs indicates
 this on the mode line.  For example, @samp{Bzr-1223} says that Bazaar
 is used for that file, and the current revision ID is 1223.
 
+@cindex version control status
   The character between the back-end name and the revision ID
-indicates the status of the work file.  In a merge-based version
-control system, a @samp{-} character indicates that the work file is
-unmodified, and @samp{:} indicates that it has been modified.
-@samp{!} indicates that the file contains conflicts as result of a
-recent merge operation (@pxref{Merging}), or that the file was removed
-from the version control.  Finally, @samp{?}  means that the file is
-under version control, but is missing from the working tree.
+indicates the @dfn{version control status} of the work file.  In a
+merge-based version control system, a @samp{-} character indicates
+that the work file is unmodified, and @samp{:} indicates that it has
+been modified.  @samp{!} indicates that the file contains conflicts as
+result of a recent merge operation (@pxref{Merging}), or that the file
+was removed from the version control.  Finally, @samp{?}  means that
+the file is under version control, but is missing from the working
+tree.
 
   In a lock-based system, @samp{-} indicates an unlocked file, and
 @samp{:} a locked file; if the file is locked by another user (for
@@ -402,6 +406,7 @@ system, but is usually not excessive.
 @subsection Basic Editing under Version Control
 
 @cindex filesets, VC
+@cindex VC filesets
    Most VC commands operate on @dfn{VC filesets}.  A VC fileset is a
 collection of one or more files that a VC operation acts on.  When you
 type VC commands in a buffer visiting a version-controlled file, the
@@ -409,37 +414,34 @@ VC fileset is simply that one file.  When you type them in a VC
 Directory buffer, and some files in it are marked, the VC fileset
 consists of the marked files (@pxref{VC Directory Mode}).
 
-  The principal VC command is an all-purpose command, @kbd{C-x v v}
-(@code{vc-next-action}), that performs either registration, locking,
-merging or a check-in (depending on the situation) on the current VC
-fileset.  You can use @kbd{C-x v v} in a file-visiting buffer or in a
-VC Directory buffer.
+  On modern changeset-based version control systems (@pxref{VCS
+Changesets}), VC commands handle multi-file VC filesets as a group.
+For example, committing a multi-file VC fileset generates a single
+revision, containing the changes to all those files.  On older
+file-based version control systems like CVS, each file in a multi-file
+VC fileset is handled individually; for example, a commit generates
+one revision for each changed file.
 
 @table @kbd
 @itemx C-x v v
-Perform the appropriate next version control operation on the VC fileset.
+Perform the next appropriate version control operation on the current
+VC fileset.
 @end table
 
 @findex vc-next-action
 @kindex C-x v v
-  The precise action of @kbd{C-x v v} depends on the state of the VC
-fileset, and whether the version control system uses locking or
-merging.  This is described in detail in the subsequent sections.
-
-  VC filesets are the way that VC mode bridges the gap between
-file-based and changeset-based version control systems.  They are,
-essentially, a way to pass multiple file arguments as a group to
-version control commands.  For example, on Subversion, a checkin with
-a multi-file VC fileset becomes a joint commit, as though you had
-typed @command{svn commit} with those file arguments at the shell
-command line.  All files in a VC fileset must be under the same
-version control system; if they are not, Emacs signals an error when
-you attempt to execute a command on the fileset.
-
-  VC filesets are distinct from the ``named filesets'' used for
-viewing and visiting files in functional groups (@pxref{Filesets}).
-Unlike named filesets, VC filesets are not named and don't persist
-across sessions.
+  The principal VC command is a multi-purpose command, @kbd{C-x v v}
+(@code{vc-next-action}), which performs the ``most appropriate''
+action on the current VC fileset: either registering it with a version
+control system, or committing it, or unlocking it, or merging changes
+into it.  The precise actions are described in detail in the following
+subsections.  You can use @kbd{C-x v v} either in a file-visiting
+buffer or in a VC Directory buffer.
+
+  Note that VC filesets are distinct from the ``named filesets'' used
+for viewing and visiting files in functional groups
+(@pxref{Filesets}).  Unlike named filesets, VC filesets are not named
+and don't persist across sessions.
 
 @menu
 * VC With A Merging VCS::  Without locking: default mode for CVS.
@@ -450,46 +452,44 @@ across sessions.
 @node VC With A Merging VCS
 @subsubsection Basic Version Control with Merging
 
-  When your version control system is merging-based (the default for
-CVS and all newer version control systems), work files are always
-writable; you need not do anything special to begin editing a file.
-The status indicator on the mode line is @samp{-} if the file is
-unmodified; it flips to @samp{:} as soon as you save any changes
-(@pxref{VC Mode Line}).
-
-  Here is what @kbd{C-x v v} does when using a merging-based system:
+  On a merging-based version control system (i.e.@: most modern ones;
+@pxref{VCS Merging}), @kbd{C-x v v} does the following:
 
 @itemize @bullet
 @item
-If the work file is in a directory that is not controlled by any
-version control system, prompt for a repository type.  Then, create a
-version control repository of that type and register the file with it.
+If there is more than one file in the VC fileset and the files have
+inconsistent version control statuses, signal an error.  (Note,
+however, that a fileset is allowed to include both ``newly-added''
+files and ``modified'' files; @pxref{Registering}.)
 
 @item
-If the work file is in a directory that is controlled by a version
-control system but not registered with it, register the file.
+If none of the files in the VC fileset are registered with a version
+control system, register the VC fileset, i.e.@: place it under version
+control.  @xref{Registering}.  If Emacs cannot find a system to
+register under, it prompts for a repository type, creates a new
+repository, and registers the VC fileset with it.
 
 @item
-If the work file is the same as in the repository, do nothing.
+If every work file in the VC fileset is unchanged, do nothing.
 
 @item
-If you have not changed the work file, but some other user has checked
-in changes to the repository, merge those changes into the work file.
+If every work file in the VC fileset has been modified, commit the
+changes.  To do this, Emacs pops up a @samp{*vc-log*} buffer; type the
+desired log entry for the new revision, followed by @kbd{C-c C-c} to
+commit.  @xref{Log Buffer}.
+
+If committing to a shared repository, the commit may fail if the
+repository that has been changed since your last update.  In that
+case, you must perform an update before trying again.  On a
+decentralized version control system, use @kbd{C-x v +} (@pxref{VC
+Pull}) or @kbd{C-x v m} (@pxref{Merging}).  On a centralized version
+control system, type @kbd{C-x v v} again to merge in the repository
+changes.
 
 @item
-If you have made modifications to the work file, attempt to commit
-the changes.  To do this, Emacs first reads the log entry for the new
-revision (@pxref{Log Buffer}).  If some other user has committed
-changes to the repository since you last checked it out, the checkin
-fails.  In that case, type @kbd{C-x v v} again to merge those changes
-into your own work file; this puts the work file into a ``conflicted''
-state.  Type @kbd{C-x v v} to clear the ``conflicted'' state; VC then
-regards the file as up-to-date and modified, and you can try to check
-it in again.
-
-To pick up any recent changes from the repository @emph{without}
-trying to commit your own changes, type @kbd{C-x v m @key{RET}}.
-@xref{Merging}.
+Finally, if you are using a centralized version control system, check
+if each work file in the VC fileset is up-to-date.  If any file has
+been changed in the repository, offer to update it.
 @end itemize
 
   These rules also apply when you use RCS in its ``non-locking'' mode,
@@ -498,7 +498,7 @@ Nothing informs you if another user has committed changes in the same
 file since you began editing it; when you commit your revision, his
 changes are removed (however, they remain in the repository and are
 thus not irrevocably lost).  Therefore, you must verify that the
-current revision is unchanged before checking in your changes.  In
+current revision is unchanged before committing your changes.  In
 addition, locking is possible with RCS even in this mode: @kbd{C-x v
 v} with an unmodified file locks the file, just as it does with RCS in
 its normal locking mode (@pxref{VC With A Locking VCS}).
@@ -506,32 +506,44 @@ its normal locking mode (@pxref{VC With A Locking VCS}).
 @node VC With A Locking VCS
 @subsubsection Basic Version Control with Locking
 
-  Under a locking-based version control system (such as SCCS, and RCS
-in its default mode), @kbd{C-x v v} does the following:
+  On a locking-based version control system (such as SCCS, and RCS in
+its default mode), @kbd{C-x v v} does the following:
 
 @itemize @bullet
 @item
-If the file is not locked, lock it and make it writable, so that you
-can change it.
+If there is more than one file in the VC fileset and the files have
+inconsistent version control statuses, signal an error.
+
+@item
+If each file in the VC fileset is not registered with a version
+control system, register the VC fileset.  @xref{Registering}.  If
+Emacs cannot find a system to register under, it prompts for a
+repository type, creates a new repository, and registers the VC
+fileset with it.
+
+@item
+If each file is registered and unlocked, lock it and make it writable,
+so that you can begin to edit it.
 
 @item
-If the file is locked by you, and contains changes, commit the
-changes.  In order to do this, Emacs first reads the log entry for the
-new revision.  @xref{Log Buffer}.
+If each file is locked by you and contains changes, commit the
+changes.  To do this, Emacs pops up a @samp{*vc-log*} buffer; type the
+desired log entry for the new revision, followed by @kbd{C-c C-c} to
+commit (@pxref{Log Buffer}).
 
 @item
-If the file is locked by you, but you have not changed it since you
-locked it, release the lock and makes the file read-only again.
+If each file is locked by you, but you have not changed it, release
+the lock and make the file read-only again.
 
 @item
-If the file is locked by some other user, ask whether you want to
-``steal the lock'' from that user.  If you say yes, the file becomes
-locked by you, but a message is sent to the person who had formerly
-locked the file, to inform him of what has happened.
+If each file is locked by another user, ask whether you want to
+``steal the lock''.  If you say yes, the file becomes locked by you,
+and a warning message is sent to the user who had formerly locked the
+file.
 @end itemize
 
   These rules also apply when you use CVS in locking mode, except
-that CVS does not support stealing a lock.
+that CVS does not support stealing locks.
 
 @node Advanced C-x v v
 @subsubsection Advanced Control in @kbd{C-x v v}
@@ -544,49 +556,55 @@ to do the operation.
 
 @itemize @bullet
 @item
-If the file is modified (or locked), you can specify the revision ID
-to use for the new version that you commit.  This is one way to create
-a new branch (@pxref{Branches}).
+@cindex specific version control system
+You can specify the name of a version control system.  This is useful
+if the fileset can be managed by more than one version control system,
+and Emacs fails to detect the correct one.
 
 @item
-If the file is not modified (and unlocked), you can specify the
-revision to select; this lets you start working from an older
-revision, or on another branch.  If you do not enter any revision,
-that takes you to the highest (``head'') revision on the current
-branch; therefore @kbd{C-u C-x v v @key{RET}} is a convenient way to
-get the latest version of a file from the repository.
+Otherwise, if using CVS or RCS, you can specify a revision ID.
 
-@item
-@cindex specific version control system
-Instead of the revision ID, you can also specify the name of a
-version control system.  This is useful when one file is being managed
-with two version control systems at the same time
-@iftex
-(@pxref{Local Version Control,,,emacs-xtra, Specialized Emacs
-Features}).
-@end iftex
-@ifnottex
-(@pxref{Local Version Control}).
-@end ifnottex
+If the fileset is modified (or locked), this makes Emacs commit with
+that revision ID.  You can create a new branch by supplying an
+appropriate revision ID (@pxref{Branches}).
+
+If the fileset is unmodified (and unlocked), this checks the specified
+revision into the working tree.  You can also specify a revision on
+another branch by giving its revision or branch ID (@pxref{Switching
+Branches}).  An empty argument (i.e.@: @kbd{C-u C-x v v @key{RET}})
+checks out the latest (``head'') revision on the current branch.
 
+This signals an error on a decentralized version control system.
+Those systems do not let you specify your own revision IDs, nor do
+they use the concept of ``checking out'' individual files.
 @end itemize
 
 @node Log Buffer
 @subsection Features of the Log Entry Buffer
 
-  When you tell VC to commit a change, it pops up a buffer called
-@samp{*VC-Log*}.  In this buffer, you should write a @dfn{log entry}
+@cindex C-c C-c @r{(Log Edit mode)}
+@findex log-edit-done
+  When you tell VC to commit a change, it pops up a buffer named
+@samp{*vc-log*}.  In this buffer, you should write a @dfn{log entry}
 describing the changes you have made (@pxref{Why Version Control?}).
-After you are done, type @kbd{C-c C-c}; this exits the buffer and
-commits the change, together with your log entry.
+After you are done, type @kbd{C-c C-c} (@code{log-edit-done}) to exit
+the buffer and commit the change, together with your log entry.
 
-  While in the @samp{*VC-Log*} buffer, you can write one or more
-@dfn{header lines}, specifying additional information to be supplied
-to the version control system.  Each header line must occupy a single
-line at the top of the buffer; the first line that is not a header
-line is treated as the start of the log entry.  For example, the
-following header line states that the present change was not written
-by you, but by another developer:
+@cindex Log Edit mode
+@cindex mode, Log Edit
+@vindex vc-log-mode-hook
+  The major mode for the @samp{*vc-log*} buffer is Log Edit mode, a
+variant of Text mode (@pxref{Text Mode}).  On entering Log Edit mode,
+Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook}
+(@pxref{Hooks}).
+
+  In the @samp{*vc-log*} buffer, you can write one or more @dfn{header
+lines}, specifying additional information to be supplied to the
+version control system.  Each header line must occupy a single line at
+the top of the buffer; the first line that is not a header line is
+treated as the start of the log entry.  For example, the following
+header line states that the present change was not written by you, but
+by another developer:
 
 @smallexample
 Author: J. R. Hacker <jrh@@example.com>
@@ -597,196 +615,215 @@ Apart from the @samp{Author} header, Emacs recognizes the headers
 @samp{Date} (a manually-specified commit time) and @samp{Fixes} (a
 reference to a bug fixed by the change).  Not all version control
 systems recognize all headers: Bazaar recognizes all three headers,
-while git, Mercurial, and Monotone recognizes only @samp{Author} and
-@samp{Summary}.  If you specify a header for a version control that
-does not support it, the header is treated as part of the log entry.
+while Git, Mercurial, and Monotone recognize only @samp{Author} and
+@samp{Date}.  If you specify a header for a system that does not
+support it, the header is treated as part of the log entry.
 
+@kindex C-c C-f @r{(Log Edit mode)}
 @findex log-edit-show-files
+@kindex C-c C-d @r{(Log Edit mode)}
 @findex log-edit-show-diff
-  Type @kbd{C-c C-f} (@code{log-edit-show-files}) to display a list of
-files in the current VC fileset.  If you called @kbd{C-x v v} directly
-from a work file, the fileset consists of that single file; if you
-called @kbd{C-x v v} from a VC directory buffer (@pxref{VC Directory
-Mode}), the fileset may consist of multiple files.
-
+  While in the @samp{*vc-log*} buffer, the ``current VC fileset'' is
+considered to be the fileset that will be committed if you type
+@w{@kbd{C-c C-c}}.  To view a list of the files in the VC fileset,
+type @w{@kbd{C-c C-f}} (@code{log-edit-show-files}).  To view a diff
+of changes between the VC fileset and the version from which you
+started editing (@pxref{Old Revisions}), type @kbd{C-c C-d}
+(@code{log-edit-show-diff}).
+
+@kindex C-c C-a @r{(Log Edit mode)}
 @findex log-edit-insert-changelog
-  Type @kbd{C-c C-d} (@code{log-edit-show-diff}) to show a @dfn{diff}
-of the changes you have made (i.e., the differences between the work
-file and the repository revision from which you started editing).
-@xref{Old Revisions}.
-
-  If the current VC fileset includes one or more @file{ChangeLog}
-files (@pxref{Change Log}), type @kbd{C-c C-a}
+  If the VC fileset includes one or more @file{ChangeLog} files
+(@pxref{Change Log}), type @kbd{C-c C-a}
 (@code{log-edit-insert-changelog}) to pull the relevant entries into
-the @samp{*VC-Log*} buffer.  If the topmost item in each
+the @samp{*vc-log*} buffer.  If the topmost item in each
 @file{ChangeLog} was made under your user name on the current date,
-this command searches that item for entries that match the file(s) to
-be committed; if found, these entries are inserted.
-@iftex
-@xref{Change Logs and VC,,,emacs-xtra, Specialized Emacs Features},
-@end iftex
+this command searches that item for entries matching the file(s) to be
+committed, and inserts them.
 @ifnottex
-@xref{Change Logs and VC},
+If you are using CVS or RCS, see @ref{Change Logs and VC}, for the
+opposite way of working---generating ChangeLog entries from the Log
+Edit buffer.
 @end ifnottex
-for the opposite way of working---generating ChangeLog entries from
-the revision control log.
 
-  To abort a check-in, just @strong{don't} type @kbd{C-c C-c} in that
+  To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that
 buffer.  You can switch buffers and do other editing.  As long as you
-don't try to commit another file, the entry you were editing remains
-in the @samp{*VC-Log*} buffer, and you can go back to that buffer at
-any time to complete the check-in.
-
-  If you change several source files for the same reason, it is often
-convenient to specify the same log entry for many of the files.  (This
-is the normal way to do things on a changeset-oriented system, where
-comments are attached to changesets rather than the history of
-individual files.)  The most convenient way to do this is to mark all
-the files in VC Directory Mode and commit from there; the log buffer
-will carry the fileset information with it and do a group commit when
-you type @kbd{C-c C-c}.
-
+don't try to make another commit, the entry you were editing remains
+in the @samp{*vc-log*} buffer, and you can go back to that buffer at
+any time to complete the commit.
+
+@kindex M-n @r{(Log Edit mode)}
+@kindex M-p @r{(Log Edit mode)}
+@kindex M-s @r{(Log Edit mode)}
+@kindex M-r @r{(Log Edit mode)}
   You can also browse the history of previous log entries to duplicate
-a checkin comment. This can be useful when you want several files to
-have checkin comments that vary only slightly from each other. The
-commands @kbd{M-n}, @kbd{M-p}, @kbd{M-s} and @kbd{M-r} for doing this
-work just like the minibuffer history commands (except that these
-versions are used outside the minibuffer).
+a commit comment.  This can be useful when you want to make several
+commits with similar comments.  The commands @kbd{M-n}, @kbd{M-p},
+@kbd{M-s} and @kbd{M-r} for doing this work just like the minibuffer
+history commands (@pxref{Minibuffer History}), except that they are
+used outside the minibuffer.
 
-@vindex vc-log-mode-hook
-  Each time you commit a change, the log entry buffer is put into VC
-Log Edit mode, which involves running two hooks: @code{text-mode-hook}
-and @code{vc-log-mode-hook}.  @xref{Hooks}.
+@node Registering
+@subsection Registering a File for Version Control
+
+@table @kbd
+@item C-x v i
+Register the visited file for version control.
+@end table
+
+@kindex C-x v i
+@findex vc-register
+  The command @kbd{C-x v i} (@code{vc-register}) @dfn{registers} each
+file in the current VC fileset, placing it under version control.
+This is essentially equivalent to the action of @kbd{C-x v v} on an
+unregistered VC fileset (@pxref{Basic VC Editing}), except that if the
+VC fileset is already registered, @kbd{C-x v i} signals an error
+whereas @kbd{C-x v v} performs some other action.
+
+  To register a file, Emacs must choose a version control system.  For
+a multi-file VC fileset, the VC Directory buffer specifies the system
+to use (@pxref{VC Directory Mode}).  For a single-file VC fileset, if
+the file's directory already contains files registered in a version
+control system, or if the directory is part of a directory tree
+controlled by a version control system, Emacs chooses that system.  In
+the event that more than one version control system is applicable,
+Emacs uses the one that appears first in the variable
+@iftex
+@code{vc-handled-backends}.
+@end iftex
+@ifnottex
+@code{vc-handled-backends} (@pxref{Customizing VC}).
+@end ifnottex
+If Emacs cannot find a version control system to register the file
+under, it prompts for a repository type, creates a new repository, and
+registers the file into that repository.
+
+  On most version control systems, registering a file with @kbd{C-x v
+i} or @kbd{C-x v v} adds it to the ``working tree'' but not to the
+repository.  Such files are labeled as @samp{added} in the VC
+Directory buffer, and show a revision ID of @samp{@@@@} in the mode
+line.  To make the registration take effect in the repository, you
+must perform a commit (@pxref{Basic VC Editing}).  Note that a single
+commit can include both file additions and edits to existing files.
+
+  On a locking-based version control system (@pxref{VCS Merging}),
+registering a file leaves it unlocked and read-only.  Type @kbd{C-x v
+v} if you wish to start editing it.
 
 @node Old Revisions
 @subsection Examining And Comparing Old Revisions
 
-  One of the convenient features of version control is the ability
-to examine any revision of a file, or compare two revisions.
-
 @table @kbd
-@item C-x v ~
-Prompt for a revision of the current file, and visit it in a buffer of
-its own (@code{vc-revision-other-window}).
-
 @item C-x v =
-Compare the files in the current fileset with the working revision(s)
-you started from (@code{vc-diff}).  With a prefix argument, prompt for
-two revisions of the current fileset and compare them.  You can call
-this command from a Dired buffer (@pxref{Dired}).
+Compare the work files in the current VC fileset with the versions you
+started from (@code{vc-diff}).  With a prefix argument, prompt for two
+revisions of the current VC fileset and compare them.  You can also
+call this command from a Dired buffer (@pxref{Dired}).
+
+@ifnottex
+@item M-x vc-ediff
+Like @kbd{C-x v =}, but using Ediff.  @xref{Top, Ediff, ediff, The
+Ediff Manual}.
+@end ifnottex
 
 @item C-x v D
-Compare the entire tree corresponding to the current fileset with the
-tree you started from (@code{vc-root-diff}).  With a prefix argument,
-prompt for two revisions and compare their trees.
+Compare the entire working tree to the revision you started from
+(@code{vc-root-diff}).  With a prefix argument, prompt for two
+revisions and compare their trees.
+
+@item C-x v ~
+Prompt for a revision of the current file, and visit it in a separate
+buffer (@code{vc-revision-other-window}).
 
 @item C-x v g
-Display an annotated version of the file: for each line, show the
-latest revision in which it was modified (@code{vc-annotate}).
+Display an annotated version of the current file: for each line, show
+the latest revision in which it was modified (@code{vc-annotate}).
 @end table
 
-@findex vc-revision-other-window
-@kindex C-x v ~
-  To examine an old revision, visit the work file and type @kbd{C-x v
-~ @var{revision} @key{RET}} (@code{vc-revision-other-window}).  Here,
-@var{revision} is either the desired revision ID (@pxref{VCS
-Concepts}), or the name of a tag or branch
-@iftex
-(@pxref{Tags,,,emacs-xtra, Specialized Emacs Features}).
-@end iftex
-@ifnottex
-(@pxref{Tags}).
-@end ifnottex
-This command puts the text of the old revision in a file named
-@file{@var{filename}.~@var{revision}~}, and visits it in its own
-buffer in a separate window.
-
 @findex vc-diff
 @kindex C-x v =
-  @kbd{C-x v =} (@code{vc-diff}) compares each file in the current VC
-fileset (saving them if necessary) with the repository revision(s)
-from which you started editing.  Note that the latter may or may not
-be the latest revision of the file(s).
-
-  The diff is displayed in another window, in a Diff mode buffer
-(@pxref{Diff Mode}) named @file{*vc-diff*}.  In this buffer, the
-@kbd{g} (@code{revert-buffer}) command performs the file comparison
-again, generating a new diff.
+  @kbd{C-x v =} (@code{vc-diff}) displays a @dfn{diff} which compares
+each work file in the current VC fileset to the version(s) from which
+you started editing.  The diff is displayed in another window, in a
+Diff mode buffer (@pxref{Diff Mode}) named @file{*vc-diff*}.  The
+usual Diff mode commands are available in this buffer.  In particular,
+the @kbd{g} (@code{revert-buffer}) command performs the file
+comparison again, generating a new diff.
 
-@findex vc-diff
 @kindex C-u C-x v =
   To compare two arbitrary revisions of the current VC fileset, call
 @code{vc-diff} with a prefix argument: @kbd{C-u C-x v =}.  This
-prompts for two revision IDs, using the minibuffer, and displays the
-diff in a special buffer in another window.  Instead of providing a
-revision ID, you can give an empty input, which specifies the current
-contents of the work file; or a tag or branch name
-@iftex
-(@pxref{Tags,,,emacs-xtra, Specialized Emacs Features}).
-@end iftex
+prompts for two revision IDs (@pxref{VCS Concepts}), and displays a
+diff between those versions of the fileset.  This will not work
+reliably for multi-file VC filesets, if the version control system is
+file-based rather than changeset-based (e.g.@: CVS), since then
+revision IDs for different files would not be related in any
+meaningful way.
+
+  Instead of the revision ID, some version control systems let you
+specify revisions in other formats.  For instance, under Bazaar you
+can enter @samp{date:yesterday} for the argument to @kbd{C-u C-x v =}
+(and related commands) to specify the first revision committed after
+yesterday.  See the documentation of the version control system for
+details.
+
+  If you invoke @kbd{C-x v =} or @kbd{C-u C-x v =} from a Dired buffer
+(@pxref{Dired}), the file listed on the current line is treated as the
+current VC fileset.
+
 @ifnottex
-(@pxref{Tags}).
+@findex vc-ediff
+  @kbd{M-x vc-ediff} works like @kbd{C-x v =}, except that it uses an
+Ediff session.  @xref{Top, Ediff, ediff, The Ediff Manual}.
 @end ifnottex
-If your version control system is file-based (e.g. CVS) rather than
-changeset-based (Subversion, GNU Arch, git, Mercurial), supplying a
-revision ID for a multi-file fileset (as opposed to a symbolic tag
-name) is unlikely to return diffs that are connected in any meaningful
-way.
-
-  The command @kbd{C-x v D} (@code{vc-root-diff}) is similar to
-@kbd{C-x v =}, but it compares the entire tree associated with the
-current VC fileset with the tree you started with.  This means all the
-files controlled by the current version control repository, even those
-that are not part of the current VC fileset.
-
-  If you invoke @kbd{C-x v =} or @kbd{C-u C-x v =} from a buffer that
-is neither visiting a version-controlled file nor a VC directory
-buffer, these commands generate a diff of all registered files in the
-current directory and its subdirectories.
 
-@findex vc-ediff
-The function @code{vc-ediff} works like @code{vc-diff} and provides a way to
-visually compare two revisions of a file in an Ediff session, @pxref{Top,
-Ediff, ediff, The Ediff Manual}.  It compares the file associated with the
-current buffer with the last repository revision.  To compare two arbitrary
-revisions of the current file, call @code{vc-ediff} with a prefix argument.
+@findex vc-root-diff
+@kindex C-x v D
+  @kbd{C-x v D} (@code{vc-root-diff}) is similar to @kbd{C-x v =}, but
+it displays the changes in the entire current working tree (i.e.@: the
+working tree containing the current VC fileset).  If you invoke this
+command from a Dired buffer, it applies to the working tree containing
+the directory.
 
 @vindex vc-diff-switches
-@vindex vc-rcs-diff-switches
-  @kbd{C-x v =} works by running a variant of the @code{diff} utility
-designed to work with the version control system in use.  The options
-to pass to the @code{diff} command are taken from the first non-@code{nil}
-value of @code{vc-@var{backend}-diff-switches}, @code{vc-diff-switches},
-and @code{diff-switches} (@pxref{Comparing Files}), in that order.
-Since @code{nil} means to check the next variable in the sequence,
-either of the first two may use the value @code{t} to mean no switches at all.
-Most of the @samp{vc@dots{}diff-switches} variables default to
-@code{nil}, but some default to @code{t}.  These are for those version
-control systems (e.g. SVN) whose @code{diff} implementations do not
-accept common options (e.g. @samp{-c}) likely to be in
-@code{diff-switches}.
-
-  The buffer produced by @kbd{C-x v =} supports the commands of
-Compilation mode (@pxref{Compilation Mode}), such as @kbd{C-x `} and
-@kbd{C-c C-c}, in both the ``old'' and ``new'' text, and they always
-find the corresponding locations in the current work file.  (Older
-revisions are not, in general, present as files on your disk.)
+  You can customize the @command{diff} options that @kbd{C-x v =} and
+@kbd{C-x v D} use for generating diffs.  The options used are taken
+from the first non-@code{nil} value amongst the variables
+@code{vc-@var{backend}-diff-switches}, @code{vc-diff-switches}, and
+@code{diff-switches} (@pxref{Comparing Files}), in that order.  Here,
+@var{backend} stands for the relevant version control system,
+e.g.@: @code{bzr} for Bazaar.  Since @code{nil} means to check the
+next variable in the sequence, either of the first two may use the
+value @code{t} to mean no switches at all.  Most of the
+@code{vc-@var{backend}-diff-switches} variables default to @code{nil},
+but some default to @code{t}; these are for version control systems
+whose @code{diff} implementations do not accept common diff options,
+such as Subversion.
+
+@findex vc-revision-other-window
+@kindex C-x v ~
+  To directly examine an older version of a file, visit the work file
+and type @kbd{C-x v ~ @var{revision} @key{RET}}
+(@code{vc-revision-other-window}).  This retrieves the file version
+corresponding to @var{revision}, saves it to
+@file{@var{filename}.~@var{revision}~}, and visits it in a separate
+window.
 
 @findex vc-annotate
 @kindex C-x v g
-  For some back ends, you can display the file @dfn{annotated} with
-per-line revision information, by typing @kbd{C-x v g}
+  Many version control systems allow you to view files @dfn{annotated}
+with per-line revision information, by typing @kbd{C-x v g}
 (@code{vc-annotate}).  This creates a new buffer (the ``annotate
-buffer'') displaying the file's text, with each part colored to show
-how old it is.  Text colored red is new, blue means old, and
-intermediate colors indicate intermediate ages.  By default, the color
-is scaled over the full range of ages, such that the oldest changes
-are blue, and the newest changes are red.
+buffer'') displaying the file's text, with each line colored to show
+how old it is.  Red text is new, blue is old, and intermediate colors
+indicate intermediate ages.  By default, the color is scaled over the
+full range of ages, such that the oldest changes are blue, and the
+newest changes are red.
 
   When you give a prefix argument to this command, Emacs reads two
-arguments using the minibuffer: the ID of which revision to display and
-annotate (instead of the current file contents), and the time span in
-days the color range should cover.
+arguments using the minibuffer: the revision to display and annotate
+(instead of the current file contents), and the time span in days the
+color range should cover.
 
   From the annotate buffer, these and other color scaling options are
 available from the @samp{VC-Annotate} menu.  In this buffer, you can
@@ -795,13 +832,13 @@ view diffs, or view log entries:
 
 @table @kbd
 @item p
-Annotate the previous revision, that is to say, the revision before
-the one currently annotated.  A numeric prefix argument is a repeat
-count, so @kbd{C-u 10 p} would take you back 10 revisions.
+Annotate the previous revision, i.e.@: the revision before the one
+currently annotated.  A numeric prefix argument is a repeat count, so
+@kbd{C-u 10 p} would take you back 10 revisions.
 
 @item n
-Annotate the next revision---the one after the revision currently
-annotated.  A numeric prefix argument is a repeat count.
+Annotate the next revision, i.e.@: the revision after the one
+currently annotated.  A numeric prefix argument is a repeat count.
 
 @item j
 Annotate the revision indicated by the current line.
@@ -840,76 +877,12 @@ Toggle the annotation visibility.  This is useful for looking just at
 the file contents without distraction from the annotations.
 @end table
 
-@node Secondary VC Commands
-@subsection The Secondary Commands of VC
-
-  This section explains the secondary commands of VC.
-
-@menu
-* Registering::         Putting a file under version control.
-* VC Change Log::       Viewing the VC Change Log.
-* VC Undo::             Canceling changes before or after check-in.
-@end menu
-
-@node Registering
-@subsubsection Registering a File for Version Control
-
-@kindex C-x v i
-@findex vc-register
-  You can put any file under version control by simply visiting it, and
-then typing @w{@kbd{C-x v i}} (@code{vc-register}).
-
-@table @kbd
-@item C-x v i
-Register the visited file for version control.
-@end table
-
-  To register the file, Emacs must choose which version control system
-to use for it.  If the file's directory already contains files
-registered in a version control system, Emacs uses that system.  If
-there is more than one system in use for a directory, Emacs uses the
-one that appears first in @code{vc-handled-backends}
-@iftex
-(@pxref{Customizing VC,,,emacs-xtra, Specialized Emacs Features}).
-@end iftex
-@ifnottex
-(@pxref{Customizing VC}).
-@end ifnottex
-On the other hand, if there are no files already registered, Emacs uses
-the first system from @code{vc-handled-backends} that could register
-the file (for example, you cannot register a file under CVS if its
-directory is not already part of a CVS tree); with the default value
-of @code{vc-handled-backends}, this means that Emacs uses RCS in this
-situation.
-
-  If locking is in use, @kbd{C-x v i} leaves the file unlocked and
-read-only.  Type @kbd{C-x v v} if you wish to start editing it.  After
-registering a file with CVS, you must subsequently commit the initial
-revision by typing @kbd{C-x v v}.  Until you do that, the revision ID
-appears as @samp{@@@@} in the mode line.
-
-@vindex vc-default-init-revision
-@cindex initial revision ID to register
-  The default initial revision ID for a newly registered file
-varies by what VCS you are using; normally it will be 1.1 on VCSes
-that use dot-pair revision IDs and 1 on VCSes that use monotonic IDs.
-You can specify a different default by setting the variable
-@code{vc-default-init-revision}, or you can give @kbd{C-x v i} a
-numeric argument; then it reads the initial revision ID for this
-particular file using the minibuffer.
-
-@c See http://debbugs.gnu.org/9745
-@c @vindex vc-initial-comment
-@c   If @code{vc-initial-comment} is non-@code{nil}, @kbd{C-x v i} reads an
-@c initial comment to describe the purpose of this source file.  Reading
-@c the initial comment works like reading a log entry (@pxref{Log Buffer}).
-
 @node VC Change Log
-@subsubsection VC Change Log
+@subsection VC Change Log
 
 @table @kbd
 @item C-x v l
-Display revision control state and change history
+Display the change history for the current fileset
 (@code{vc-print-log}).
 
 @item C-x v L
@@ -928,85 +901,91 @@ Display the changes that will be sent by the next push operation
 @kindex C-x v l
 @findex vc-print-log
   The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer
-named @samp{*vc-change-log*} in a new window.  This buffer lists the
-changes to the current file, including the associated log entries.
-(These are the log entries associated with the version control system,
-i.e. the ones you enter via the @samp{*VC-Log*} buffer.  @xref{Log
-Buffer}.)  Point is centered at the revision of the file currently
-being visited.  With a prefix argument, the command prompts for the
-revision to center on, and the maximum number of revisions to display.
-You can call this command from a Dired buffer (@pxref{Dired}).
+named @samp{*vc-change-log*}, showing the history of changes made to
+the current file, including who made the changes, the dates, and the
+log entry for each change (these are the same log entries you would
+enter via the @samp{*vc-log*} buffer; @pxref{Log Buffer}).  Point is
+centered at the revision of the file currently being visited.  With a
+prefix argument, the command prompts for the revision to center on,
+and the maximum number of revisions to display.
+
+  If you call @kbd{C-x v l} from a VC Directory buffer (@pxref{VC
+Directory Mode}) or a Dired buffer (@pxref{Dired}), it applies to the
+file listed on the current line.
 
 @findex vc-print-root-log
-  Type @kbd{C-x v L} (@code{vc-print-root-log}) to display a
-@samp{*vc-change-log*} buffer showing the history of the
-version-controlled directory tree as a whole.  With a prefix argument,
-the command prompts for the maximum number of revisions to display.
-RCS, SCCS, and CVS do not support this feature.
-
-  On a distributed version control system, the @kbd{C-x v I}
+@findex log-view-toggle-entry-display
+  @kbd{C-x v L} (@code{vc-print-root-log}) displays a
+@samp{*vc-change-log*} buffer showing the history of the entire
+version-controlled directory tree (RCS, SCCS, and CVS do not support
+this feature).  With a prefix argument, the command prompts for the
+maximum number of revisions to display.
+
+  The @kbd{C-x v L} history is shown in a compact form, usually
+showing only the first line of each log entry.  However, you can type
+@key{RET} (@code{log-view-toggle-entry-display}) in the
+@samp{*vc-change-log*} buffer to reveal the entire log entry for the
+revision at point.  A second @key{RET} hides it again.
+
+  On a decentralized version control system, the @kbd{C-x v I}
 (@code{vc-log-incoming}) command displays a log buffer showing the
 changes that will be applied, the next time you run the version
 control system's ``pull'' command to get new revisions from another
-repository.  This other repository is the default one from which
-changes are pulled, as defined by the version control system; with a
-prefix argument, @code{vc-log-incoming} prompts for a specific
-repository from which changes would be pulled, and lists the changes
-accordingly.  Similarly, @kbd{C-x v O} (@code{vc-log-outgoing}) shows
-the changes that will be sent to another repository, the next time you
-run the ``push'' command; with a prefix argument, it prompts for a
-specific repository to which changes would be pushed.
+repository (@pxref{VC Pull}).  This other repository is the default
+one from which changes are pulled, as defined by the version control
+system; with a prefix argument, @code{vc-log-incoming} prompts for a
+specific repository.  Similarly, @kbd{C-x v O}
+(@code{vc-log-outgoing}) shows the changes that will be sent to
+another repository, the next time you run the ``push'' command; with a
+prefix argument, it prompts for a specific destination repository.
 
   In the @samp{*vc-change-log*} buffer, you can use the following keys
-to move between the logs of revisions and of files, to view past
-revisions, to modify change comments, to view annotations and to view
-diffs:
+to move between the logs of revisions and of files, and to examine and
+compare past revisions (@pxref{Old Revisions}):
 
 @table @kbd
 @item p
-Move to the previous revision-item in the buffer.  (Revision entries in the log
+Move to the previous revision entry.  (Revision entries in the log
 buffer are usually in reverse-chronological order, so the previous
 revision-item usually corresponds to a newer revision.)  A numeric
 prefix argument is a repeat count.
 
 @item n
-Move to the next revision-item (which most often corresponds to the
-previous revision of the file).  A numeric prefix argument is a repeat
-count.
+Move to the next revision entry.  A numeric prefix argument is a
+repeat count.
 
 @item P
-Move to the log of the previous file, when the logs of multiple files
-are in the log buffer (@pxref{VC Directory Mode}).  Otherwise, just
-move to the beginning of the log.  A numeric prefix argument is a
-repeat count, so @kbd{C-u 10 P} would move backward 10 files.
+Move to the log of the previous file, if showing logs for a multi-file
+VC fileset.  Otherwise, just move to the beginning of the log.  A
+numeric prefix argument is a repeat count.
 
 @item N
-Move to the log of the next file, when the logs of multiple files are
-in the log buffer (@pxref{VC Directory Mode}).  It also takes a
-numeric prefix argument as a repeat count.
+Move to the log of the next file, if showing logs for a multi-file VC
+fileset.  A numeric prefix argument is a repeat count.
 
 @item a
-Annotate the revision indicated by the current line.
+Annotate the revision on the current line (@pxref{Old Revisions}).
 
 @item e
 Modify the change comment displayed at point.  Note that not all VC
 systems support modifying change comments.
 
 @item f
-Visit the revision indicated at the current line, like typing @kbd{C-x
-v ~} and specifying this revision's ID (@pxref{Old Revisions}).
+Visit the revision indicated at the current line.
 
 @item d
-Display the diff (@pxref{Comparing Files}) between the revision
-indicated at the current line and the next earlier revision.  This is
-useful to see what actually changed in the file when the revision
-indicated on the current line was committed.
+Display a diff between the revision at point and the next earlier
+revision, for the specific file.
 
 @item D
-Display the changeset diff (@pxref{Comparing Files}) between the
-revision indicated at the current line and the next earlier revision.
-This is useful to see all the changes to all files that the revision
-indicated on the current line did when it was committed.
+Display the changeset diff between the revision at point and the next
+earlier revision.  This shows the changes to all files made in that
+revision.
+
+@item @key{RET}
+In a compact-style log buffer (e.g.@: the one created by @kbd{C-x v
+L}), toggle between showing and hiding the full log entry for the
+revision at point.
 @end table
 
 @vindex vc-log-show-limit
@@ -1020,62 +999,71 @@ entries} or @samp{Show unlimited entries} buttons at the end of the
 buffer.  However, RCS, SCCS, and CVS do not support this feature.
 
 @node VC Undo
-@subsubsection Undoing Version Control Actions
+@subsection Undoing Version Control Actions
 
 @table @kbd
 @item C-x v u
-Revert the buffer and the file to the working revision from which you started
-editing the file.
-
-@item C-x v c
-Remove the last-entered change from the master for the visited file.
-This undoes your last check-in.
+Revert the work file(s) in the current VC fileset to the last revision
+(@code{vc-revert}).
 @end table
 
+@c `C-x v c' (vc-rollback) was removed, since it's RCS/SCCS specific.
+
 @kindex C-x v u
-@findex vc-revert-buffer
-  If you want to discard your current set of changes and revert to the
-working revision from which you started editing the file, use @kbd{C-x
-v u} (@code{vc-revert-buffer}).  If the version control system is
-locking-based, this leaves the file unlocked, and you must lock it
-again before making new changes.  @kbd{C-x v u} requires confirmation,
-unless it sees that you haven't made any changes with respect to the
-master copy of the working revision.
-
-  @kbd{C-x v u} is also the command to unlock a file if you lock it and
-then decide not to change it.
-
-@kindex C-x v c
-@findex vc-rollback
-  To cancel a change that you already committed, use @kbd{C-x v c}
-(@code{vc-rollback}).  This command discards all record of the most
-recent checked-in revision, but only if your work file corresponds to
-that revision---you cannot use @kbd{C-x v c} to cancel a revision that
-is not the latest on its branch.  Note that many version control
-systems do not support rollback at all; this command is something of a
-historical relic.
+@findex vc-revert
+@vindex vc-revert-show-diff
+  If you want to discard all the changes you have made to the current
+VC fileset, type @kbd{C-x v u} (@code{vc-revert-buffer}).  This shows
+you a diff between the work file(s) and the revision from which you
+started editing, and asks for confirmation for discarding the changes.
+If you agree, the fileset is reverted.  If you don't want @kbd{C-x v
+u} to show a diff, set the variable @code{vc-revert-show-diff} to
+@code{nil} (you can still view the diff directly with @kbd{C-x v =};
+@pxref{Old Revisions}).  Note that @kbd{C-x v u} cannot be reversed
+with the usual undo commands (@pxref{Undo}), so use it with care.
+
+  On locking-based version control systems, @kbd{C-x v u} leaves files
+unlocked; you must lock again to resume editing.  You can also use
+@kbd{C-x v u} to unlock a file if you lock it and then decide not to
+change it.
 
 @node VC Directory Mode
 @subsection VC Directory Mode
 
+@cindex VC Directory buffer
+  The @dfn{VC Directory buffer} is a specialized buffer for viewing
+the version control statuses of the files in a directory tree, and
+performing version control operations on those files.  In particular,
+it is used to specify multi-file VC filesets for commands like
+@w{@kbd{C-x v v}} to act on (@pxref{VC Directory Commands}).
+
 @kindex C-x v d
 @findex vc-dir
-  When you are working on a large program, it is often useful to find
-out which files have changed within an entire directory tree, or to
-view the status of all files under version control at once, and to
-perform version control operations on collections of files.  You can
-use the command @kbd{C-x v d} (@code{vc-dir}) to make a directory
-listing that includes only files relevant for version control.  This
-creates a @dfn{VC Directory buffer} and displays it in a separate
-window.
+  To use the VC Directory buffer, type @kbd{C-x v d} (@code{vc-dir}).
+This reads a directory name using the minibuffer, and switches to a VC
+Directory buffer for that directory.  By default, the buffer is named
+@samp{*vc-dir*}.  Its contents are described
+@iftex
+below.
+@end iftex
+@ifnottex
+in @ref{VC Directory Buffer}.
+@end ifnottex
+
+  The @code{vc-dir} command automatically detects the version control
+system to be used in the specified directory.  In the event that more
+than one system is being used in the directory, you should invoke the
+command with a prefix argument, @kbd{C-u C-x v d}; this prompts for
+the version control system which the VC Directory buffer should use.
 
+@ifnottex
 @cindex PCL-CVS
 @pindex cvs
 @cindex CVS directory mode
-  The VC Directory buffer works with all the version control systems
-that VC supports.  For CVS, Emacs also offers a more powerful facility
-called PCL-CVS.  @xref{Top, , About PCL-CVS, pcl-cvs, PCL-CVS --- The
-Emacs Front-End to CVS}.
+  In addition to the VC Directory buffer, Emacs has a similar facility
+called PCL-CVS which is specialized for CVS.  @xref{Top, , About
+PCL-CVS, pcl-cvs, PCL-CVS --- The Emacs Front-End to CVS}.
+@end ifnottex
 
 @menu
 * Buffer: VC Directory Buffer.      What the buffer looks like and means.
@@ -1086,369 +1074,367 @@ Emacs Front-End to CVS}.
 @subsubsection The VC Directory Buffer
 
   The VC Directory buffer contains a list of version-controlled files
-in the current directory and its subdirectories.  Files which are
-up-to-date (have no local differences from the repository copy) are
-usually hidden; if all files in a subdirectory are up-to-date, the
-subdirectory is hidden as well.  There is an exception to this rule:
-if VC mode detects that a file has changed to an up-to-date state
-since you last looked at it, that file and its state are shown.
-
-  If a directory uses more that one version control system, you can
-select which system to use for the @code{vc-dir} command by invoking
-@code{vc-dir} with a prefix argument: @kbd{C-u C-x v d}.
-
-  The line for an individual file shows the version control state of
-the file.  Under RCS and SCCS, the name of the user locking the file
-is shown; under CVS, an abbreviated version of the @samp{cvs status}
-output is used.  Here is an example using CVS:
+and their version control statuses.  It lists files in the current
+directory (the one specified when you called @kbd{C-x v d}) and its
+subdirectories, but only those with a ``noteworthy'' status.  Files
+that are up-to-date (i.e.@: the same as in the repository) are
+omitted.  If all the files in a subdirectory are up-to-date, the
+subdirectory is not listed either.  As an exception, if a file has
+become up-to-date as a direct result of a VC command, it is listed.
+
+  Here is an example of a VC Directory buffer listing:
 
 @smallexample
 @group
-                       ./
-    modified           file1.c
-    needs-update       file2.c
-    needs-merge        file3.c
+                     ./
+    edited           configure.ac
+*   added            README
+    unregistered     temp.txt
+                     src/
+*   edited           src/main.c
 @end group
 @end smallexample
 
 @noindent
-In this example, @samp{file1.c} is modified with respect to the
-repository, and @samp{file2.c} is not.  @samp{file3.c} is modified,
-but other changes have also been committed---you need to merge them
-with the work file before you can check it in.
-
-@vindex vc-stay-local
-@vindex vc-cvs-stay-local
-  In the above, if the repository were on a remote machine, VC only
-contacts it when the variable @code{vc-stay-local} (or
-@code{vc-cvs-stay-local}) is @code{nil}
+Two work files have been modified but not committed:
+@file{configure.ac} in the current directory, and @file{foo.c} in the
+@file{src/} subdirectory.  The file named @file{README} has been added
+but is not yet committed, while @file{temp.txt} is not under version
+control (@pxref{Registering}).
+
+The @samp{*} characters next to the entries for @file{README} and
+@file{src/main.c} indicate that the user has marked out these files as
+the current VC fileset
 @iftex
-(@pxref{CVS Options,,,emacs-xtra, Specialized Emacs Features}).
+(see below).
 @end iftex
 @ifnottex
-(@pxref{CVS Options}).
+(@pxref{VC Directory Commands}).
+@end ifnottex
+
+  The above example is typical for a decentralized version control
+system like Bazaar, Git, or Mercurial.  Other systems can show other
+statuses.  For instance, CVS shows the @samp{needs-update} status if
+the repository has changes that have not been applied to the work
+file.  RCS and SCCS show the name of the user locking a file as its
+status.
+
+@ifnottex
+@vindex vc-stay-local
+@vindex vc-cvs-stay-local
+  On CVS and Subversion, the @code{vc-dir} command normally contacts
+the repository, which may be on a remote machine, to check for
+updates.  If you change the variable @code{vc-stay-local} or
+@code{vc-cvs-stay-local} (for CVS) to @code{nil} (@pxref{CVS
+Options}), then Emacs avoids contacting a remote repository when
+generating the VC Directory buffer (it will still contact it when
+necessary, e.g.@: when doing a commit).  This may be desirable if you
+are working offline or the network is slow.
 @end ifnottex
-This is because access to the repository may be slow, or you may be
-working offline and not have access to the repository at all.  As a
-consequence, VC would not be able to tell you that @samp{file3.c} is
-in the ``merge'' state; you would learn that only when you try to
-check-in your modified copy of the file, or use a command such as
-@kbd{C-x v m}.
-
-  In practice, this is not a problem because CVS handles this case
-consistently whenever it arises.  In VC, you'll simply get prompted to
-merge the remote changes into your work file first.  The benefits of
-less network communication usually outweigh the disadvantage of not
-seeing remote changes immediately.
 
 @vindex vc-directory-exclusion-list
-  When a VC directory displays subdirectories it omits some that
-should never contain any files under version control.  By default,
-this includes Version Control subdirectories such as @samp{RCS} and
-@samp{CVS}; you can customize this by setting the variable
-@code{vc-directory-exclusion-list}.
+  The VC Directory buffer omits subdirectories listed in the variable
+@code{vc-directory-exclusion-list}.  Its default value contains
+directories that are used internally by version control systems.
 
 @node VC Directory Commands
 @subsubsection VC Directory Commands
 
-  VC Directory mode has a full set of navigation and marking commands
-for picking out filesets.  Some of these are also available in a
-context menu invoked by @kbd{mouse-2}.
+  Emacs provides several commands for navigating the VC Directory
+buffer, and for ``marking'' files as belonging to the current VC
+fileset.
 
-  Up- and down-arrow keys move in the buffer; @kbd{n} and @kbd{p}  also
-move vertically as in other list-browsing modes.  @key{SPC} and
-@key{TAB} behave like down-arrow, and @key{BackTab} behaves like
-up-arrow.
+@table @kbd
+@item n
+@itemx @key{SPC}
+Move point to the next entry (@code{vc-dir-next-line}).
 
-  Both @kbd{C-m} and @kbd{f} visit the file on the current
-line.  @kbd{o} visits that file in another window.  @kbd{q} dismisses
-the directory buffer.
+@item p
+Move point to the previous entry (@code{vc-dir-previous-line}).
 
-  @kbd{x} hides up-to-date files.
+@item @key{TAB}
+Move to the next directory entry (@code{vc-dir-next-directory}).
 
-  @kbd{m} marks the file or directory on the current line.  If the
-region is active, @kbd{m} marks all the files in the region.  There
-are some restrictions when marking: a file cannot be marked if any of
-its parent directories are marked, and a directory cannot be marked if
-any files in it or in its child directories are marked.
+@item S-@key{TAB}
+Move to the previous directory entry
+(@code{vc-dir-previous-directory}).
 
-  @kbd{M} marks all the files with the same VC state as the current
-file if the cursor is on a file.  If the cursor is on a directory, it
-marks all child files.  With a prefix argument: marks all files and
-directories.
+@item @key{RET}
+@itemx f
+Visit the file or directory listed on the current line
+(@code{vc-dir-find-file}).
 
-  @kbd{u} unmarks the file or directory on the current line.  If the
-region is active, it unmarks all the files in the region.
+@item o
+Visit the file or directory on the current line, in a separate window
+(@code{vc-dir-find-file-other-window}).
 
-  @kbd{U} marks all the files with the same VC state as the current file
-if the cursor is on a file.  If the cursor is on a directory, it
-unmarks all child files.  With a prefix argument: unmarks all marked
+@item m
+Mark the file or directory on the current line (@code{vc-dir-mark}),
+putting it in the current VC fileset.  If the region is active, mark
+all files in the region.
+
+A file cannot be marked with this command if it is already in a marked
+directory, or one of its subdirectories.  Similarly, a directory
+cannot be marked with this command if any file in its tree is marked.
+
+@item M
+If point is on a file entry, mark all files with the same status; if
+point is on a directory entry, mark all files in that directory tree
+(@code{vc-dir-mark-all-files}).  With a prefix argument, mark all
+listed files and directories.
+
+@kindex q @r{(VC Directory)}
+@findex quit-window
+@item q
+Bury the VC Directory buffer, and delete its window if the window was
+created just for that buffer.
+
+@item u
+Unmark the file or directory on the current line.  If the region is
+active, unmark all the files in the region (@code{vc-dir-unmark}).
+
+@item U
+If point is on a file entry, unmark all files with the same status; if
+point is on a directory entry, unmark all files in that directory tree
+(@code{vc-dir-unmark-all-files}).  With a prefix argument, unmark all
 files and directories.
 
-  It is possible to do search, search and replace, incremental search,
-and incremental regexp search on multiple files.  These commands will
-work on all the marked files or the current file if nothing is marked.
-If a directory is marked, the files in that directory shown in the VC
-directory buffer will be used.
+@item x
+Hide files with @samp{up-to-date} status
+(@code{vc-dir-hide-up-to-date}).
 
-  @kbd{S} searches the marked files.
+@item q
+Quit the VC Directory buffer, and bury it (@code{quit-window}).
+@end table
 
-  @kbd{Q} does a query replace on the marked files.
+@findex vc-dir-mark
+@findex vc-dir-mark-all-files
+  While in the VC Directory buffer, all the files that you mark with
+@kbd{m} (@code{vc-dir-mark}) or @kbd{M} (@code{vc-dir-mark}) are in
+the current VC fileset.  If you mark a directory entry with @kbd{m},
+all the listed files in that directory tree are in the current VC
+fileset.  The files and directories that belong to the current VC
+fileset are indicated with a @samp{*} character in the VC Directory
+buffer, next to their VC status.  In this way, you can set up a
+multi-file VC fileset to be acted on by VC commands like @w{@kbd{C-x v
+v}} (@pxref{Basic VC Editing}), @w{@kbd{C-x v =}} (@pxref{Old
+Revisions}), and @w{@kbd{C-x v u}} (@pxref{VC Undo}).
+
+  The VC Directory buffer also defines some single-key shortcuts for
+VC commands with the @kbd{C-x v} prefix: @kbd{=}, @kbd{+}, @kbd{l},
+@kbd{i}, and @kbd{v}.
+
+  For example, you can commit a set of edited files by opening a VC
+Directory buffer, where the files are listed with the @samp{edited}
+status; marking the files; and typing @kbd{v} or @kbd{C-x v v}
+(@code{vc-next-action}).  If the version control system is
+changeset-based, Emacs will commit the files in a single revision.
+
+  While in the VC Directory buffer, you can also perform search and
+replace on the current VC fileset, with the following commands:
 
-  @kbd{M-s a C-s} does an incremental search on the marked files.
+@table @kbd
+@item S
+Search the fileset (@code{vc-dir-search}).
 
-  @kbd{M-s a C-M-s} does an incremental regular expression search
-on the marked files.
+@item Q
+Do a regular expression query replace on the fileset
+(@code{vc-dir-query-replace-regexp}).
+
+@item M-s a C-s
+Do an incremental search on the fileset (@code{vc-dir-isearch}).
+
+@item M-s a C-M-s
+Do an incremental regular expression search on the fileset
+(@code{vc-dir-isearch-regexp}).
+@end table
+
+@noindent
+Apart from acting on multiple files, these commands behave much like
+their single-buffer counterparts (@pxref{Search}).
 
 @cindex stashes in version control
 @cindex shelves in version control
-  Commands are also accessible from the VC-dir menu.  Note that some
-VC backends use the VC-dir menu to make available extra,
-backend-specific, commands.  For example, Git and Bazaar allow you to
-manipulate @dfn{stashes} and @dfn{shelves}.  (These provide a
-mechanism to temporarily store uncommitted changes somewhere out of
-the way, and bring them back at a later time.)
-
-  Normal VC commands with the @kbd{C-x v} prefix work in VC directory
-buffers.  Some single-key shortcuts are available as well; @kbd{=},
-@kbd{+}, @kbd{l}, @kbd{i}, and @kbd{v} behave as through prefixed with
-@kbd{C-x v}.
-
-  The command @kbd{C-x v v} (@code{vc-next-action}) operates on all
-the marked files, so that you can commit several files at once.  If
-the underlying VC supports atomic commits of multiple-file changesets,
-@kbd{C-x v v} with a selected set of modified but not committed files
-will commit all of them at once as a single changeset.
-
-  When @kbd{C-x v v} (@code{vc-next-action}) operates on multiple
-files, all of those files must be either in the same state or in
-compatible states (added, modified and removed states are considered
-compatible).  Otherwise it signals an error.  This differs from the
-behavior of older versions of VC, which did not have fileset
-operations and simply did @code{vc-next-action} on each file
-individually.
-
-  If any files are in a state that calls for commit, @kbd{C-x v v} reads a
-single log entry and uses it for the changeset as a whole.  If the
-underling VCS is file- rather than changeset-oriented, the log entry
-will be replicated into the history of each file.
+  The above commands are also available via the menu bar, and via a
+context menu invoked by @kbd{Mouse-2}.  Furthermore, some VC backends
+use the menu to provide extra backend-specific commands.  For example,
+Git and Bazaar allow you to manipulate @dfn{stashes} and @dfn{shelves}
+(where are a way to temporarily put aside uncommitted changes, and
+bring them back at a later time).
 
 @node Branches
-@subsection Multiple Branches of a File
+@subsection Version Control Branches
 @cindex branch (version control)
-@cindex trunk (version control)
-
-  One use of version control is to maintain multiple ``current''
-revisions of a file.  For example, you might have different revisions of a
-program in which you are gradually adding various unfinished new
-features.  Each such independent line of development is called a
-@dfn{branch}.  VC allows you to create branches, switch between
-different branches, and merge changes from one branch to another.
-Please note, however, that branches are not supported for SCCS.
-
-  A file's main line of development is usually called the @dfn{trunk}.
-You can create multiple branches from the trunk.  How the difference
-between trunk and branch is made visible is dependent on whether the
-VCS uses dot-pair or monotonic version IDs.
-
-  In VCSes with dot-pair revision IDs, the revisions on the trunk are
-normally IDed 1.1, 1.2, 1.3, etc.  At any such revision, you can
-start an independent branch.  A branch starting at revision 1.2 would
-have revision ID 1.2.1.1, and consecutive revisions on this branch
-would have IDs 1.2.1.2, 1.2.1.3, 1.2.1.4, and so on.  If there is
-a second branch also starting at revision 1.2, it would consist of
-revisions 1.2.2.1, 1.2.2.2, 1.2.2.3, etc.
-
-   In VCSes with monotonic revision IDs, trunk revisions are IDed as
-1, 2, 3, etc.  A branch from (say) revision 2 might start with 2.1 and
-continue through 2.2, 2.3, etc.  But naming conventions for branches
-and subbranches vary widely on these systems, and some (like
-Mercurial) never depart from the monotonic integer sequence at all.
-Consult the documentation of the VCS you are using.
-
-@cindex head revision
-  If you omit the final component of a dot-pair revision ID, that is called a
-@dfn{branch ID}.  It refers to the highest existing revision on that
-branch---the @dfn{head revision} of that branch.  The branches in the
-dot-pair example above have branch IDs 1.2.1 and 1.2.2.
+
+  One use of version control is to support multiple independent lines
+of development, which are called @dfn{branches}.  Branches are used
+for maintaining separate ``stable'' and ``development'' versions of a
+program, and for developing unrelated features in isolation from one
+another.
+
+  VC's support for branch operations is currently fairly limited.  For
+decentralized version control systems, it provides commands for
+@dfn{updating} one branch with the contents of another, and for
+@dfn{merging} the changes made to two different branches
+(@pxref{Merging}).  For centralized version control systems, it
+supports checking out different branches and committing into new or
+different branches.
 
 @menu
 * Switching Branches::    How to get to another existing branch.
-* Creating Branches::     How to start a new branch.
+* VC Pull::               Updating the contents of a branch.
 * Merging::               Transferring changes between branches.
-* Multi-User Branching::  Multiple users working at multiple branches
-                            in parallel.
+* Creating Branches::     How to start a new branch.
 @end menu
 
 @node Switching Branches
 @subsubsection Switching between Branches
 
-  To switch between branches, type @kbd{C-u C-x v v} and specify the
-revision ID you want to select.  On a locking-based system, this
-version is then visited @emph{unlocked} (write-protected), so you can
-examine it before locking it.  Switching branches in this way is allowed
-only when the file is not locked.
-
-  On a VCS with dot-pair IDs, you can omit the minor part, thus giving
-only the branch ID; this takes you to the head version on the
-chosen branch.  If you only type @key{RET}, Emacs goes to the highest
-version on the trunk.
+  The various version control systems differ in how branches are
+implemented, and these differences cannot be entirely concealed by VC.
+
+  On some decentralized version control systems, including Bazaar and
+Mercurial in its normal mode of operation, each branch has its own
+working directory tree, so switching between branches just involves
+switching directories.  On Git, switching between branches is done
+using the @command{git branch} command, which changes the contents of
+the working tree itself.
+
+  On centralized version control systems, you can switch between
+branches by typing @kbd{C-u C-x v v} in an up-to-date work file
+(@pxref{Advanced C-x v v}), and entering the revision ID for a
+revision on another branch.  On CVS, for instance, revisions on the
+@dfn{trunk} (the main line of development) normally have IDs of the
+form 1.1, 1.2, 1.3, @dots{}, while the first branch created from (say)
+revision 1.2 has revision IDs 1.2.1.1, 1.2.1.2, @dots{}, the second
+branch created from revision 1.2 has revision IDs 1.2.2.1, 1.2.2.2,
+@dots{}, and so forth.  You can also specify the @dfn{branch ID},
+which is a branch revision ID omitting its final component
+(e.g.@: 1.2.1), to switch to the latest revision on that branch.
+
+  On a locking-based system, switching to a different branch also
+unlocks (write-protects) the working tree.
+
+  Once you have switched to a branch, VC commands will apply to that
+branch until you switch away; for instance, any VC filesets that you
+commit will be committed to that specific branch.
+
+@node VC Pull
+@subsubsection Pulling Changes into a Branch
 
-  After you have switched to any branch (including the main branch), you
-stay on it for subsequent VC commands, until you explicitly select some
-other branch.
+@table @kbd
+@itemx C-x v +
+On a decentralized version control system, update the current branch
+by ``pulling in'' changes from another location.
 
-@node Creating Branches
-@subsubsection Creating New Branches
+On a centralized version control system, update the current VC
+fileset.
+@end table
 
-  To create a new branch from a head revision (one that is the latest
-in the branch that contains it), first select that revision if
-necessary, lock it with @kbd{C-x v v}, and make whatever changes you
-want.  Then, when you commit the changes, use @kbd{C-u C-x v v}.  This
-lets you specify the revision ID for the new revision.  You should
-specify a suitable branch ID for a branch starting at the current
-revision.  For example, if the current revision is 2.5, the branch ID
-should be 2.5.1, 2.5.2, and so on, depending on the number of existing
-branches at that point.
-
-  To create a new branch at an older revision (one that is no longer the
-head of a branch), first select that revision (@pxref{Switching
-Branches}).  Your procedure will then differ depending on whether you
-are using a locking or merging-based VCS.
+@kindex C-x v +
+@findex vc-pull
+  On a decentralized version control system, the command @kbd{C-x v +}
+(@code{vc-pull}) updates the current branch and working tree.  It is
+typically used to update a copy of a remote branch.  If you supply a
+prefix argument, the command prompts for the exact version control
+command to use, which lets you specify where to pull changes from.
+Otherwise, it pulls from a default location determined by the version
+control system.
 
-  On a locking VCS, you will need to lock the old revision branch with
-@kbd{C-x v v}.  You'll be asked to confirm, when you lock the old
-revision, that you really mean to create a new branch---if you say no,
-you'll be offered a chance to lock the latest revision instead.  On
-a merging-based VCS you will skip this step.
+  Amongst decentralized version control systems, @kbd{C-x v +} is
+currently supported only by Bazaar, Git, and Mercurial.  On Bazaar, it
+calls @command{bzr pull} for ordinary branches (to pull from a master
+branch into a mirroring branch), and @command{bzr update} for a bound
+branch (to pull from a central repository).  On Git, it calls
+@command{git pull} to fetch changes from a remote repository and merge
+it into the current branch.  On Mercurial, it calls @command{hg pull
+-u} to fetch changesets from the default remote repository and update
+the working directory.
 
-  Then make your changes and type @kbd{C-x v v} again to commit a new
-revision.  This automatically creates a new branch starting from the
-selected revision.  You need not specially request a new branch,
-because that's the only way to add a new revision at a point that is
-not the head of a branch.
+  Prior to pulling, you can use @kbd{C-x v I} (@code{vc-log-incoming})
+to view a log buffer of the changes to be applied.  @xref{VC Change
+Log}.
 
-  After the branch is created, you ``stay'' on it.  That means that
-subsequent check-ins create new revisions on that branch.  To leave the
-branch, you must explicitly select a different revision with @kbd{C-u C-x
-v v}.  To transfer changes from one branch to another, use the merge
-command, described in the next section.
+  On a centralized version control system like CVS, @kbd{C-x v +}
+updates the current VC fileset from the repository.
 
 @node Merging
 @subsubsection Merging Branches
-
 @cindex merging changes
-  When you have finished the changes on a certain branch, you will
-often want to incorporate them into the file's main line of development
-(the trunk).  This is not a trivial operation, because development might
-also have proceeded on the trunk, so that you must @dfn{merge} the
-changes into a file that has already been changed otherwise.  VC allows
-you to do this (and other things) with the @code{vc-merge} command.
 
 @table @kbd
-@item C-x v m (vc-merge)
-Merge changes into the work file.
+@itemx C-x v m
+On a decentralized version control system, merge changes from another
+branch into the current one.
+
+On a centralized version control system, merge changes from another
+branch into the current VC fileset.
 @end table
 
-@kindex C-x v m
-@findex vc-merge
-  @kbd{C-x v m} (@code{vc-merge}) takes a set of changes and merges it
-into the current version of the work file.  It firsts asks you in the
-minibuffer where the changes should come from.  If you just type
-@key{RET}, Emacs merges any changes that were made on the same branch
-since you checked the file out (we call this @dfn{merging the news}).
-This is the common way to pick up recent changes from the repository,
-regardless of whether you have already changed the file yourself.
-
-  You can also enter a branch ID or a pair of revision IDs in
-the minibuffer.  Then @kbd{C-x v m} finds the changes from that
-branch, or the differences between the two revisions you specified, and
-merges them into the current revision of the current file.
-
-  As an example, suppose that you have finished a certain feature on
-branch 1.3.1.  In the meantime, development on the trunk has proceeded
-to revision 1.5.  To merge the changes from the branch to the trunk,
-first go to the head revision of the trunk, by typing @kbd{C-u C-x v v
-@key{RET}}.  Revision 1.5 is now current.  If locking is used for the file,
-type @kbd{C-x v v} to lock revision 1.5 so that you can change it.  Next,
-type @kbd{C-x v m 1.3.1 @key{RET}}.  This takes the entire set of changes on
-branch 1.3.1 (relative to revision 1.3, where the branch started, up to
-the last revision on the branch) and merges it into the current revision
-of the work file.  You can now commit the changed file, thus creating
-revision 1.6 containing the changes from the branch.
-
-  It is possible to do further editing after merging the branch, before
-the next check-in.  But it is usually wiser to commit the merged
-revision, then lock it and make the further changes.  This will keep
-a better record of the history of changes.
+  While developing a branch, you may sometimes need to @dfn{merge} in
+changes that have already been made in another branch.  This is not a
+trivial operation, as overlapping changes may have been made to the
+two branches.
+
+  On a decentralized version control system, merging is done with the
+command @kbd{C-x v m} (@code{vc-merge}).  On Bazaar, this prompts for
+the exact arguments to pass to @command{bzr merge}, offering a
+sensible default if possible.  On Git, this prompts for the name of a
+branch to merge from, with completion (based on the branch names known
+to the current repository).  The output from running the merge command
+is shown in a separate buffer.
+
+  On a centralized version control system like CVS, @kbd{C-x v m}
+prompts for a branch ID, or a pair of revision IDs (@pxref{Switching
+Branches}); then it finds the changes from that branch, or the changes
+between the two revisions you specified, and merges those changes into
+the current VC fileset.  If you just type @key{RET}, Emacs simply
+merges any changes that were made on the same branch since you checked
+the file out.
 
 @cindex conflicts
 @cindex resolving conflicts
-  When you merge changes into a file that has itself been modified, the
-changes might overlap.  We call this situation a @dfn{conflict}, and
-reconciling the conflicting changes is called @dfn{resolving a
-conflict}.
-
-  Whenever conflicts occur during merging, VC detects them, tells you
-about them in the echo area, and asks whether you want help in merging.
-If you say yes, it starts an Ediff session (@pxref{Top,
-Ediff, Ediff, ediff, The Ediff Manual}).
-
-  If you say no, the conflicting changes are both inserted into the
-file, surrounded by @dfn{conflict markers}.  The example below shows how
-a conflict region looks; the file is called @samp{name} and the current
-master file revision with user B's changes in it is 1.11.
-
-@c @w here is so CVS won't think this is a conflict.
-@smallexample
-@group
-@w{<}<<<<<< name
-  @var{User A's version}
-=======
-  @var{User B's version}
-@w{>}>>>>>> 1.11
-@end group
-@end smallexample
+  Immediately after performing a merge, only the working tree is
+modified, and you can review the changes produced by the merge with
+@kbd{C-x v D} and related commands (@pxref{Old Revisions}).  If the
+two branches contained overlapping changes, merging produces a
+@dfn{conflict}; a warning appears in the output of the merge command,
+and @dfn{conflict markers} are inserted into each affected work file,
+surrounding the two sets of conflicting changes.  You must then
+resolve the conflict by editing the conflicted files.  Once you are
+done, the modified files must be committed in the usual way for the
+merge to take effect (@pxref{Basic VC Editing}).
 
-@findex vc-resolve-conflicts
-  Then you can resolve the conflicts by editing the file manually.  Or
-you can type @code{M-x vc-resolve-conflicts} after visiting the file.
-This starts an Ediff session, as described above.  Don't forget to
-commit the merged version afterwards.
-
-@findex vc-find-conflicted-file
-  If there is more than one conflicted file in a merge, type @kbd{M-x
-vc-find-conflicted-file} after resolving the conflicts in each file.
-This command visits the next conflicted file, and moves point to the
-first conflict marker in that file.
-
-@node Multi-User Branching
-@subsubsection Multi-User Branching
-
-  It is often useful for multiple developers to work simultaneously on
-different branches of a file.  CVS and later systems allow this by
-default; for RCS, it is possible if you create multiple source
-directories.  Each source directory should have a link named
-@file{RCS} which points to a common directory of RCS master files.
-Then each source directory can have its own choice of selected
-revisions, but all share the same common RCS records.
-
-  This technique works reliably and automatically, provided that the
-source files contain RCS version headers
-@iftex
-(@pxref{Version Headers,,,emacs-xtra, Specialized Emacs Features}).
-@end iftex
-@ifnottex
-(@pxref{Version Headers}).
-@end ifnottex
-The headers enable Emacs to be sure, at all times, which revision
-ID is present in the work file.
+@node Creating Branches
+@subsubsection Creating New Branches
+
+  On centralized version control systems like CVS, Emacs supports
+creating new branches as part of a commit operation.  When committing
+a modified VC fileset, type @kbd{C-u C-x v v} (@code{vc-next-action}
+with a prefix argument; @pxref{Advanced C-x v v}).  Then Emacs prompts
+for a revision ID for the new revision.  You should specify a suitable
+branch ID for a branch starting at the current revision.  For example,
+if the current revision is 2.5, the branch ID should be 2.5.1, 2.5.2,
+and so on, depending on the number of existing branches at that point.
+
+  To create a new branch at an older revision (one that is no longer
+the head of a branch), first select that revision (@pxref{Switching
+Branches}).  Your procedure will then differ depending on whether you
+are using a locking or merging-based VCS.
+
+  On a locking VCS, you will need to lock the old revision branch with
+@kbd{C-x v v}.  You'll be asked to confirm, when you lock the old
+revision, that you really mean to create a new branch---if you say no,
+you'll be offered a chance to lock the latest revision instead.  On a
+merging-based VCS you will skip this step.
+
+  Then make your changes and type @kbd{C-x v v} again to commit a new
+revision.  This creates a new branch starting from the selected
+revision.
 
-  If the files do not have version headers, you must instead tell Emacs
-explicitly in each session which branch you are working on.  To do this,
-first find the file, then type @kbd{C-u C-x v v} and specify the correct
-branch ID.  This ensures that Emacs knows which branch it is using
-during this particular editing session.
+  After the branch is created, subsequent commits create new revisions
+on that branch.  To leave the branch, you must explicitly select a
+different revision with @kbd{C-u C-x v v}.
 
 @ifnottex
 @include vc1-xtra.texi
@@ -1458,13 +1444,11 @@ during this particular editing session.
 @section Change Logs
 
 @cindex change log
-  A change log file contains a chronological record of when and why you
-have changed a program, consisting of a sequence of entries describing
-individual changes.  Normally it is kept in a file called
-@file{ChangeLog} in the same directory as the file you are editing, or
-one of its parent directories.  A single @file{ChangeLog} file can
-record changes for all the files in its directory and all its
-subdirectories.
+  Many software projects keep a @dfn{change log}.  This is a file,
+normally named @file{ChangeLog}, containing a chronological record of
+when and how the program was changed.  Sometimes, there are several
+change log files, each recording the changes in one directory or
+directory tree.
 
 @menu
 * Change Log Commands:: Commands for editing change log files.
@@ -1496,7 +1480,7 @@ rather than starting a new item.
 
 You can combine multiple changes of the same nature.  If you don't
 enter any text after the initial @kbd{C-x 4 a}, any subsequent
-@kbd{C-x 4 a} adds another symbol to the change.
+@kbd{C-x 4 a} adds another symbol to the change log entry.
 
 @vindex add-log-always-start-new-record
   If @code{add-log-always-start-new-record} is non-@code{nil},
@@ -1534,15 +1518,7 @@ ordering of entries.
   Version control systems are another way to keep track of changes in
 your program and keep a change log.  In the VC log buffer, typing
 @kbd{C-c C-a} (@code{log-edit-insert-changelog}) inserts the relevant
-Change Log entry, if one exists (@pxref{Log Buffer}).  You can also
-insert a VC log entry into a Change Log buffer by typing @kbd{C-x v a}
-(@code{vc-update-change-log}) in the Change Log buffer
-@iftex
-(@pxref{Change Logs and VC,,,emacs-xtra, Specialized Emacs Features}).
-@end iftex
-@ifnottex
-(@pxref{Change Logs and VC}).
-@end ifnottex
+Change Log entry, if one exists.  @xref{Log Buffer}.
 
 @node Format of ChangeLog
 @subsection Format of ChangeLog
@@ -1597,8 +1573,8 @@ Of course, you should substitute the proper years and copyright holder.
 @cindex tags and tag tables
 
   A @dfn{tag} is a reference to a subunit in a program or in a
-document.  In program source code, tags reference syntactic elements
-of the program: functions, subroutines, data types, macros, etc.  In a
+document.  In source code, tags reference syntactic elements of the
+program: functions, subroutines, data types, macros, etc.  In a
 document, tags reference chapters, sections, appendices, etc.  Each
 tag specifies the name of the file where the corresponding subunit is
 defined, and the position of the subunit's definition in that file.
@@ -1612,34 +1588,36 @@ a Yacc parser, or from Lex scanner definitions; @file{.i} preprocessed
 C files; and Fortran files produced by preprocessing @file{.fpp}
 source files.
 
-  To produce a tags table, you use the @samp{etags} command,
-submitting it a document or the source code of a program.
-@samp{etags} writes the tags to a @dfn{tags table file}, or @dfn{tags
-file} in short.  The conventional name for a tags file is @file{TAGS}.
+@cindex etags
+  To produce a tags table, you run the @command{etags} shell command
+on a document or the source code file.  The @samp{etags} program
+writes the tags to a @dfn{tags table file}, or @dfn{tags file} in
+short.  The conventional name for a tags file is @file{TAGS}.
+@xref{Create Tags Table}.
 
-  Emacs uses the information recorded in tags tables in commands that
-search or replace through multiple source files: these commands use
-the names of the source files recorded in the tags table to know which
-files to search.  Other commands, such as @kbd{M-.}, which finds the
-definition of a function, use the recorded information about the
-function names and positions to find the source file and the position
-within that file where the function is defined.
+  Emacs provides many commands for searching and replacing using the
+information recorded in tags tables.  For instance, the @kbd{M-.}
+(@code{find-tag}) jumps to the location of a specified function
+definition in its source file.  @xref{Find Tag}.
 
 @cindex C++ class browser, tags
 @cindex tags, C++
 @cindex class browser, C++
 @cindex Ebrowse
-  See also the Ebrowse facility, which is tailored for C++.
-@xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}.
+  The Ebrowse facility is similar to @command{etags} but specifically
+tailored for C++.  @xref{Top,, Ebrowse, ebrowse, Ebrowse User's
+Manual}.  The Semantic package provides another way to generate and
+use tags, separate from the @command{etags} facility.
+@xref{Semantic}.
 
 @menu
 * Tag Syntax::          Tag syntax for various types of code and text files.
-* Create Tags Table::   Creating a tags table with @code{etags}.
+* Create Tags Table::   Creating a tags table with @command{etags}.
 * Etags Regexps::       Create arbitrary tags using regular expressions.
 * Select Tags Table::   How to visit a tags table.
 * Find Tag::            Commands to find the definition of a specific tag.
 * Tags Search::         Using a tags table for searching and replacing.
-* List Tags::           Listing and finding tags defined in a file.
+* List Tags::           Using tags for completion, and listing them.
 @end menu
 
 @node Tag Syntax
@@ -1661,7 +1639,7 @@ and @samp{--no-members} can make the tags table file much smaller.
 
 You can tag function declarations and external variables in addition
 to function definitions by giving the @samp{--declarations} option to
-@code{etags}.
+@command{etags}.
 
 @item
 In C++ code, in addition to all the tag constructs of C code, member
@@ -1678,15 +1656,15 @@ Tags for variables and functions in classes are named
 @samp{@var{class}.@var{variable}} and @samp{@var{class}.@var{function}}.
 
 @item
-In La@TeX{} text, the argument of any of the commands @code{\chapter},
+In La@TeX{} documents, the arguments for @code{\chapter},
 @code{\section}, @code{\subsection}, @code{\subsubsection},
 @code{\eqno}, @code{\label}, @code{\ref}, @code{\cite},
 @code{\bibitem}, @code{\part}, @code{\appendix}, @code{\entry},
 @code{\index}, @code{\def}, @code{\newcommand}, @code{\renewcommand},
-@code{\newenvironment} or @code{\renewenvironment} is a tag.@refill
+@code{\newenvironment} and @code{\renewenvironment} are tags.
 
 Other commands can make tags as well, if you specify them in the
-environment variable @env{TEXTAGS} before invoking @code{etags}.  The
+environment variable @env{TEXTAGS} before invoking @command{etags}.  The
 value of this environment variable should be a colon-separated list of
 command names.  For example,
 
@@ -1818,9 +1796,9 @@ Regexps}) to handle other formats and languages.
 
 @node Create Tags Table
 @subsection Creating Tags Tables
-@cindex @code{etags} program
+@cindex @command{etags} program
 
-  The @code{etags} program is used to create a tags table file.  It knows
+  The @command{etags} program is used to create a tags table file.  It knows
 the syntax of several languages, as described in
 @iftex
 the previous section.
@@ -1828,58 +1806,51 @@ the previous section.
 @ifnottex
 @ref{Tag Syntax}.
 @end ifnottex
-Here is how to run @code{etags}:
+Here is how to run @command{etags}:
 
 @example
 etags @var{inputfiles}@dots{}
 @end example
 
 @noindent
-The @code{etags} program reads the specified files, and writes a tags
+The @command{etags} program reads the specified files, and writes a tags
 table named @file{TAGS} in the current working directory.  You can
 optionally specify a different file name for the tags table by using the
 @samp{--output=@var{file}} option; specifying @file{-} as a file name
 prints the tags table to standard output.
 
-  If the specified files don't exist, @code{etags} looks for
+  If the specified files don't exist, @command{etags} looks for
 compressed versions of them and uncompresses them to read them.  Under
-MS-DOS, @code{etags} also looks for file names like @file{mycode.cgz}
+MS-DOS, @command{etags} also looks for file names like @file{mycode.cgz}
 if it is given @samp{mycode.c} on the command line and @file{mycode.c}
 does not exist.
 
-  @code{etags} recognizes the language used in an input file based on
-its file name and contents.  You can specify the language with the
-@samp{--language=@var{name}} option, described below.
-
-  If the tags table data become outdated due to changes in the files
-described in the table, the way to update the tags table is the same
-way it was made in the first place.  If the tags table fails to record
-a tag, or records it for the wrong file, then Emacs cannot possibly
-find its definition until you update the tags table.  However, if the
-position recorded in the tags table becomes a little bit wrong (due to
-other editing), the worst consequence is a slight delay in finding the
-tag.  Even if the stored position is very far wrong, Emacs will still
-find the tag, after searching most of the file for it.  That delay is
-hardly noticeable with today's computers.
+  If the tags table becomes outdated due to changes in the files
+described in it, you can update it by running the @command{etags}
+program again.  If the tags table does not record a tag, or records it
+for the wrong file, then Emacs will not be able to find that
+definition until you update the tags table.  But if the position
+recorded in the tags table becomes a little bit wrong (due to other
+editing), Emacs will still be able to find the right position, with a
+slight delay.
 
    Thus, there is no need to update the tags table after each edit.
 You should update a tags table when you define new tags that you want
 to have listed, or when you move tag definitions from one file to
 another, or when changes become substantial.
 
-  One tags table can virtually include another.  Specify the included
-tags file name with the @samp{--include=@var{file}} option when
-creating the file that is to include it.  The latter file then acts as
-if it covered all the source files specified in the included file, as
-well as the files it directly contains.
+  You can make a tags table @dfn{include} another tags table, by
+passing the @samp{--include=@var{file}} option to @command{etags}.  It
+then covers all the files covered by the included tags file, as well
+as its own.
 
   If you specify the source files with relative file names when you run
-@code{etags}, the tags file will contain file names relative to the
+@command{etags}, the tags file will contain file names relative to the
 directory where the tags file was initially written.  This way, you can
 move an entire directory tree containing both the tags file and the
 source files, and the tags file will still refer correctly to the source
 files.  If the tags file is @file{-} or is in the @file{/dev} directory,
-however, the file names are 
+however, the file names are
 made relative to the current working directory.  This is useful, for
 example, when writing the tags to @file{/dev/stdout}.
 
@@ -1887,40 +1858,41 @@ example, when writing the tags to @file{/dev/stdout}.
 pointing to a tags file in a different directory, because this would
 generally render the file names invalid.
 
-  If you specify absolute file names as arguments to @code{etags}, then
+  If you specify absolute file names as arguments to @command{etags}, then
 the tags file will contain absolute file names.  This way, the tags file
 will still refer to the same files even if you move it, as long as the
 source files remain in the same place.  Absolute file names start with
 @samp{/}, or with @samp{@var{device}:/} on MS-DOS and MS-Windows.
 
-  When you want to make a tags table from a great number of files, you
-may have problems listing them on the command line, because some systems
-have a limit on its length.  The simplest way to circumvent this limit
-is to tell @code{etags} to read the file names from its standard input,
-by typing a dash in place of the file names, like this:
+   When you want to make a tags table from a great number of files,
+you may have problems listing them on the command line, because some
+systems have a limit on its length.  You can circumvent this limit by
+telling @command{etags} to read the file names from its standard
+input, by typing a dash in place of the file names, like this:
 
 @smallexample
 find . -name "*.[chCH]" -print | etags -
 @end smallexample
 
-  Use the option @samp{--language=@var{name}} to specify the language
-explicitly.  You can intermix these options with file names; each one
-applies to the file names that follow it.  Specify
-@samp{--language=auto} to tell @code{etags} to resume guessing the
-language from the file names and file contents.  Specify
-@samp{--language=none} to turn off language-specific processing
-entirely; then @code{etags} recognizes tags by regexp matching alone
-(@pxref{Etags Regexps}).
+  @command{etags} recognizes the language used in an input file based
+on its file name and contents.  You can specify the language
+explicitly with the @samp{--language=@var{name}} option.  You can
+intermix these options with file names; each one applies to the file
+names that follow it.  Specify @samp{--language=auto} to tell
+@command{etags} to resume guessing the language from the file names
+and file contents.  Specify @samp{--language=none} to turn off
+language-specific processing entirely; then @command{etags} recognizes
+tags by regexp matching alone (@pxref{Etags Regexps}).
 
   The option @samp{--parse-stdin=@var{file}} is mostly useful when
-calling @code{etags} from programs.  It can be used (only once) in
-place of a file name on the command line.  @code{Etags} will read from
+calling @command{etags} from programs.  It can be used (only once) in
+place of a file name on the command line.  @command{etags} will read from
 standard input and mark the produced tags as belonging to the file
 @var{file}.
 
-  @samp{etags --help} outputs the list of the languages @code{etags}
+  @samp{etags --help} outputs the list of the languages @command{etags}
 knows, and the file name rules for guessing the language.  It also prints
-a list of all the available @code{etags} options, together with a short
+a list of all the available @command{etags} options, together with a short
 explanation.  If followed by one or more @samp{--language=@var{lang}}
 options, it outputs detailed information about how tags are generated for
 @var{lang}.
@@ -1928,21 +1900,22 @@ options, it outputs detailed information about how tags are generated for
 @node Etags Regexps
 @subsection Etags Regexps
 
-  The @samp{--regex} option provides a general way of recognizing tags
-based on regexp matching.  You can freely intermix this option with
-file names, and each one applies to the source files that follow it.
-If you specify multiple @samp{--regex} options, all of them are used
-in parallel.  The syntax is:
+  The @samp{--regex} option to @command{etags} allows tags to be
+recognized by regular expression matching.  You can intermix this
+option with file names; each one applies to the source files that
+follow it.  If you specify multiple @samp{--regex} options, all of
+them are used in parallel.  The syntax is:
 
 @smallexample
 --regex=[@var{@{language@}}]/@var{tagregexp}/[@var{nameregexp}/]@var{modifiers}
 @end smallexample
 
-  The essential part of the option value is @var{tagregexp}, the
-regexp for matching tags.  It is always used anchored, that is, it
-only matches at the beginning of a line.  If you want to allow
-indented tags, use a regexp that matches initial whitespace; start it
-with @samp{[ \t]*}.
+@noindent
+The essential part of the option value is @var{tagregexp}, the regexp
+for matching tags.  It is always used anchored, that is, it only
+matches at the beginning of a line.  If you want to allow indented
+tags, use a regexp that matches initial whitespace; start it with
+@samp{[ \t]*}.
 
   In these regular expressions, @samp{\} quotes the next character, and
 all the GCC character escape sequences are supported (@samp{\a} for
@@ -1959,7 +1932,7 @@ completion on tag names more reliably.  You can find some examples
 below.
 
   The @var{modifiers} are a sequence of zero or more characters that
-modify the way @code{etags} does the matching.  A regexp with no
+modify the way @command{etags} does the matching.  A regexp with no
 modifiers is applied sequentially to each line of the input file, in a
 case-sensitive way.  The modifiers and their meanings are:
 
@@ -1984,22 +1957,22 @@ etags --regex=/@var{reg1}/i voo.doo --regex=/@var{reg2}/m \
 @end smallexample
 
 @noindent
-Here @code{etags} chooses the parsing language for @file{voo.doo} and
-@file{bar.ber} according to their contents.  @code{etags} also uses
+Here @command{etags} chooses the parsing language for @file{voo.doo} and
+@file{bar.ber} according to their contents.  @command{etags} also uses
 @var{reg1} to recognize additional tags in @file{voo.doo}, and both
 @var{reg1} and @var{reg2} to recognize additional tags in
 @file{bar.ber}.  @var{reg1} is checked against each line of
 @file{voo.doo} and @file{bar.ber}, in a case-insensitive way, while
 @var{reg2} is checked against the whole @file{bar.ber} file,
-permitting multi-line matches, in a case-sensitive way.  @code{etags}
+permitting multi-line matches, in a case-sensitive way.  @command{etags}
 uses only the Lisp tags rules, with no user-specified regexp matching,
 to recognize tags in @file{los.er}.
 
   You can restrict a @samp{--regex} option to match only files of a
 given language by using the optional prefix @var{@{language@}}.
 (@samp{etags --help} prints the list of languages recognized by
-@code{etags}.)  This is particularly useful when storing many
-predefined regular expressions for @code{etags} in a file.  The
+@command{etags}.)  This is particularly useful when storing many
+predefined regular expressions for @command{etags} in a file.  The
 following example tags the @code{DEFVAR} macros in the Emacs source
 files, for the C language only:
 
@@ -2009,7 +1982,7 @@ files, for the C language only:
 
 @noindent
 When you have complex regular expressions, you can store the list of
-them in a file.  The following option syntax instructs @code{etags} to
+them in a file.  The following option syntax instructs @command{etags} to
 read two files of regular expressions.  The regular expressions
 contained in the second file are matched without regard to case.
 
@@ -2018,9 +1991,9 @@ contained in the second file are matched without regard to case.
 @end smallexample
 
 @noindent
-A regex file for @code{etags} contains one regular expression per
+A regex file for @command{etags} contains one regular expression per
 line.  Empty lines, and lines beginning with space or tab are ignored.
-When the first character in a line is @samp{@@}, @code{etags} assumes
+When the first character in a line is @samp{@@}, @command{etags} assumes
 that the rest of the line is the name of another file of regular
 expressions; thus, one such file can include another file.  All the
 other lines are taken to be regular expressions.  If the first
@@ -2083,14 +2056,14 @@ etags --language=none \
 @node Select Tags Table
 @subsection Selecting a Tags Table
 
-@vindex tags-file-name
 @findex visit-tags-table
-  Emacs has at any time one @dfn{selected} tags table, and all the
+  Emacs has at any time one @dfn{selected} tags table.  All the
 commands for working with tags tables use the selected one.  To select
 a tags table, type @kbd{M-x visit-tags-table}, which reads the tags
 table file name as an argument, with @file{TAGS} in the default
 directory as the default.
 
+@vindex tags-file-name
   Emacs does not actually read in the tags table contents until you
 try to use them; all @code{visit-tags-table} does is store the file
 name in the variable @code{tags-file-name}, and setting the variable
@@ -2154,27 +2127,25 @@ Pop back to where you previously invoked @kbd{M-.} and friends.
 
 @kindex M-.
 @findex find-tag
-  @kbd{M-.}@: (@code{find-tag}) is the command to find the definition of
-a specified tag.  It searches through the tags table for that tag, as a
-string, and then uses the tags table info to determine the file that the
-definition is in and the approximate character position in the file of
-the definition.  Then @code{find-tag} visits that file, moves point to
-the approximate character position, and searches ever-increasing
-distances away to find the tag definition.
-
-  If an empty argument is given (just type @key{RET}), the balanced
-expression in the buffer before or around point is used as the
-@var{tag} argument.  @xref{Expressions}.
+  @kbd{M-.}@: (@code{find-tag}) prompts for a tag name and jumps to
+its source definition.  It works by searching through the tags table
+for that tag's file and approximate character position, visiting that
+file, and searching for the tag definition at ever-increasing
+distances away from the recorded approximate position.
+
+  When entering the tag argument to @kbd{M-.}, the usual minibuffer
+completion commands can be used (@pxref{Completion}), with the tag
+names in the selected tags table as completion candidates.  If you
+specify an empty argument, the balanced expression in the buffer
+before or around point is the default argument.  @xref{Expressions}.
 
   You don't need to give @kbd{M-.} the full name of the tag; a part
-will do.  This is because @kbd{M-.} finds tags in the table which
-contain @var{tag} as a substring.  However, it prefers an exact match
-to a substring match.  To find other tags that match the same
-substring, give @code{find-tag} a numeric argument, as in @kbd{C-u
-M-.}; this does not read a tag name, but continues searching the tags
-table's text for another tag containing the same substring last used.
-If you have a real @key{META} key, @kbd{M-0 M-.}@: is an easier
-alternative to @kbd{C-u M-.}.
+will do.  @kbd{M-.} finds tags which contain that argument as a
+substring.  However, it prefers an exact match to a substring match.
+To find other tags that match the same substring, give @code{find-tag}
+a numeric argument, as in @kbd{C-u M-.}  or @kbd{M-0 M-.}; this does
+not read a tag name, but continues searching the tags table's text for
+another tag containing the same substring last used.
 
 @kindex C-x 4 .
 @findex find-tag-other-window
@@ -2182,23 +2153,23 @@ alternative to @kbd{C-u M-.}.
 @findex find-tag-other-frame
   Like most commands that can switch buffers, @code{find-tag} has a
 variant that displays the new buffer in another window, and one that
-makes a new frame for it.  The former is @w{@kbd{C-x 4 .}}, which invokes
-the command @code{find-tag-other-window}.  The latter is @w{@kbd{C-x 5 .}},
-which invokes @code{find-tag-other-frame}.
+makes a new frame for it.  The former is @w{@kbd{C-x 4 .}}
+(@code{find-tag-other-window}), and the latter is @w{@kbd{C-x 5 .}}
+(@code{find-tag-other-frame}).
 
-  To move back to places you've found tags recently, use @kbd{C-u -
-M-.}; more generally, @kbd{M-.} with a negative numeric argument.  This
-command can take you to another buffer.  @w{@kbd{C-x 4 .}} with a negative
-argument finds the previous tag location in another window.
+  To move back to previous tag definitions, use @kbd{C-u - M-.}; more
+generally, @kbd{M-.} with a negative numeric argument.  Similarly,
+@w{@kbd{C-x 4 .}} with a negative argument finds the previous tag
+location in another window.
 
 @kindex M-*
 @findex pop-tag-mark
 @vindex find-tag-marker-ring-length
-  As well as going back to places you've found tags recently, you can go
-back to places @emph{from where} you found them.  Use @kbd{M-*}, which
-invokes the command @code{pop-tag-mark}, for this.  Typically you would
-find and study the definition of something with @kbd{M-.} and then
-return to where you were with @kbd{M-*}.
+  As well as going back to places you've found tags recently, you can
+go back to places @emph{from where} you found them, using @kbd{M-*}
+(@code{pop-tag-mark}).  Thus you can find and examine the definition
+of something with @kbd{M-.} and then return to where you were with
+@kbd{M-*}.
 
   Both @kbd{C-u - M-.} and @kbd{M-*} allow you to retrace your steps to
 a depth determined by the variable @code{find-tag-marker-ring-length}.
@@ -2242,10 +2213,10 @@ can follow its progress.  As soon as it finds an occurrence,
 
 @kindex M-,
 @findex tags-loop-continue
-  Having found one match, you probably want to find all the rest.  To find
-one more match, type @kbd{M-,} (@code{tags-loop-continue}) to resume the
-@code{tags-search}.  This searches the rest of the current buffer, followed
-by the remaining files of the tags table.@refill
+  Having found one match, you probably want to find all the rest.
+Type @kbd{M-,} (@code{tags-loop-continue}) to resume the
+@code{tags-search}, finding one more match.  This searches the rest of
+the current buffer, followed by the remaining files of the tags table.
 
 @findex tags-query-replace
   @kbd{M-x tags-query-replace} performs a single
@@ -2282,56 +2253,56 @@ have to search (those which are not already visited in Emacs buffers).
 Buffers in which no match is found are quickly killed; the others
 continue to exist.
 
-  It may have struck you that @code{tags-search} is a lot like
-@code{grep}.  You can also run @code{grep} itself as an inferior of
-Emacs and have Emacs show you the matching lines one by one.
+  As an alternative to @code{tags-search}, you can run @command{grep}
+as a subprocess and have Emacs show you the matching lines one by one.
 @xref{Grep Searching}.
 
 @node List Tags
 @subsection Tags Table Inquiries
 
 @table @kbd
+@item C-M-i
+@itemx M-@key{TAB}
+Perform completion on the text around point, using the selected tags
+table if one is loaded (@code{completion-at-point}).
 @item M-x list-tags @key{RET} @var{file} @key{RET}
 Display a list of the tags defined in the program file @var{file}.
 @item M-x tags-apropos @key{RET} @var{regexp} @key{RET}
 Display a list of all tags matching @var{regexp}.
 @end table
 
+@cindex completion (symbol names)
+  In most programming language modes, you can type @kbd{C-M-i} or
+@kbd{M-@key{TAB}} (@code{completion-at-point}) to complete the symbol
+at point.  If there is a selected tags table, this command can use it
+to generate completion candidates.  @xref{Symbol Completion}.
+
 @findex list-tags
-  @kbd{M-x list-tags} reads the name of one of the files described by
-the selected tags table, and displays a list of all the tags defined in
-that file.  The ``file name'' argument is really just a string to
-compare against the file names recorded in the tags table; it is read as
-a string rather than as a file name.  Therefore, completion and
-defaulting are not available, and you must enter the file name the same
-way it appears in the tags table.  Do not include a directory as part of
-the file name unless the file name recorded in the tags table includes a
-directory.
+  @kbd{M-x list-tags} reads the name of one of the files covered by
+the selected tags table, and displays a list of tags defined in that
+file.  Do not include a directory as part of the file name unless the
+file name recorded in the tags table includes a directory.
 
 @findex tags-apropos
 @vindex tags-apropos-verbose
-  @kbd{M-x tags-apropos} is like @code{apropos} for tags
-(@pxref{Apropos}).  It finds all the tags in the selected tags table
-whose entries match @var{regexp}, and displays them.  If the variable
-@code{tags-apropos-verbose} is non-@code{nil}, it displays the names
-of the tags files together with the tag names.
-
 @vindex tags-tag-face
 @vindex tags-apropos-additional-actions
-  You can customize the appearance of the output by setting the
-variable @code{tags-tag-face} to a face.  You can display additional
-output with @kbd{M-x tags-apropos} by customizing the variable
-@code{tags-apropos-additional-actions}---see its documentation for
-details.
-
-  You can also use the collection of tag names to complete a symbol
-name in the buffer.  @xref{Symbol Completion}.
-
-  You can use @kbd{M-x next-file} to visit the files in the selected
-tags table.  The first time this command is called, it visits the
-first file in the tags table.  Each subsequent call visits the next
-file in the table, unless a prefix argument is supplied, in which case
-it returns to the first file.
+  @kbd{M-x tags-apropos} is like @code{apropos} for tags
+(@pxref{Apropos}).  It displays a list of tags in the selected tags
+table whose entries match @var{regexp}.  If the variable
+@code{tags-apropos-verbose} is non-@code{nil}, it displays the names
+of the tags files together with the tag names.  You can customize the
+appearance of the output by setting the variable @code{tags-tag-face}
+to a face.  You can display additional output by customizing the
+variable @code{tags-apropos-additional-actions}; see its documentation
+for details.
+
+@findex next-file
+  @kbd{M-x next-file} visits files covered by the selected tags table.
+The first time it is called, it visits the first file covered by the
+table.  Each subsequent call visits the next covered file, unless a
+prefix argument is supplied, in which case it returns to the first
+file.
 
 @node EDE
 @section Emacs Development Environment
index e128a50ebd3d4cfac491d71c31f371517b5c187c..488ccbaaf52112d5c2db53de0aecd9537a8d785b 100644 (file)
@@ -1,6 +1,6 @@
 #### -*- Makefile -*- for the Emacs Manual
 
-# Copyright (C) 2003-2011  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 7d65719e5f0a382a2cf9ed5abe9d858bd09cdc9f..9a15f9454ddb286aff692a9c8017c34f2f088834 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Mark, Killing, Help, Top
index bbe42551345b56fef72f1e594ca3dc00f4e08a91..b7c63171c5652c5a9ec9233356ea80ee92e670b7 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Minibuffer, M-x, Basic, Top
index 714e7f3441cb8c218c276a16a166399bf36caf58..69e141efb0f75a2ec752ae39c685451a50120695 100644 (file)
@@ -1,12 +1,12 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @iftex
 @chapter Miscellaneous Commands
 
   This chapter contains several brief topics that do not fit anywhere
-else: viewing ``document files'', reading netnews, running shell
+else: viewing ``document files'', reading Usenet news, running shell
 commands and shell subprocesses, using a single shared Emacs for
 utilities that expect to run an editor as a subprocess, printing
 hardcopy, sorting text, narrowing display to part of the buffer,
@@ -23,12 +23,13 @@ various diversions and amusements.
 @node Gnus
 @section Gnus
 @cindex Gnus
-@cindex reading netnews
+@cindex Usenet news
+@cindex newsreader
 
-Gnus is an Emacs package primarily designed for reading and posting
-Usenet news.  It can also be used to read and respond to messages from a
-number of other sources---mail, remote directories, digests, and so on.
-Here we introduce Gnus and describe several basic features.
+  Gnus is an Emacs package primarily designed for reading and posting
+Usenet news.  It can also be used to read and respond to messages from
+a number of other sources---email, remote directories, digests, and so
+on.  Here we introduce Gnus and describe several basic features.
 @ifnottex
 For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}.
 @end ifnottex
@@ -37,198 +38,216 @@ For full details on Gnus, type @kbd{C-h i} and then select the Gnus
 manual.
 @end iftex
 
-@findex gnus
-To start Gnus, type @kbd{M-x gnus @key{RET}}.
-
 @menu
 * Buffers of Gnus::     The group, summary, and article buffers.
 * Gnus Startup::        What you should know about starting Gnus.
-* Summary of Gnus::     A short description of the basic Gnus commands.
+* Gnus Group Buffer::   A short description of Gnus group commands.
+* Gnus Summary Buffer:: A short description of Gnus summary commands.
 @end menu
 
 @node Buffers of Gnus
 @subsection Gnus Buffers
 
-Unlike most Emacs packages, Gnus uses several buffers to display
-information and to receive commands.  The three Gnus buffers users use
-most are the @dfn{group buffer}, the @dfn{summary buffer} and the
-@dfn{article buffer}.
-
-The @dfn{group buffer} contains a list of newsgroups.  This is the
-first buffer Gnus displays when it starts up.  It normally displays
-only the groups to which you subscribe and that contain unread
-articles.  Use this buffer to select a specific group.
-
-The @dfn{summary buffer} lists one line for each article in a single
-group.  By default, the author, the subject and the line number are
-displayed for each article, but this is customizable, like most aspects
-of Gnus display.  The summary buffer is created when you select a group
-in the group buffer, and is killed when you exit the group.  Use this
-buffer to select an article.
-
-The @dfn{article buffer} displays the article.  In normal Gnus usage,
-you see this buffer but you don't select it---all useful
-article-oriented commands work in the summary buffer.  But you can
-select the article buffer, and execute all Gnus commands from that
-buffer, if you want to.
+  Gnus uses several buffers to display information and to receive
+commands.  The three most commonly-used Gnus buffers are the
+@dfn{group buffer}, the @dfn{summary buffer} and the @dfn{article
+buffer}.
+
+  The @dfn{group buffer} contains a list of article sources (e.g.@:
+newsgroups and email inboxes), which are collectively referred to as
+@dfn{groups}.  This is the first buffer Gnus displays when it starts
+up.  It normally displays only the groups to which you subscribe and
+that contain unread articles.  From this buffer, you can select a
+group to read.
+
+  The @dfn{summary buffer} lists the articles in a single group,
+showing one article per line.  By default, it displays each article's
+author, subject, and line
+@iftex
+number.
+@end iftex
+@ifnottex
+number, but this is customizable; @xref{Summary Buffer Format,,, gnus,
+The Gnus Manual}.
+@end ifnottex
+The summary buffer is created when you select a group in the group
+buffer, and is killed when you exit the group.
+
+  From the summary buffer, you can choose an article to view.  The
+article is displayed in the @dfn{article buffer}.  In normal Gnus
+usage, you view this buffer but do not select it---all useful Gnus
+commands can be invoked from the summary buffer.  But you can select
+the article buffer, and execute Gnus commands from it, if you wish.
 
 @node Gnus Startup
 @subsection When Gnus Starts Up
 
-At startup, Gnus reads your @file{.newsrc} news initialization file
-and attempts to communicate with the local news server, which is a
-repository of news articles.  The news server need not be the same
-computer you are logged in on.
-
-If you start Gnus and connect to the server, but do not see any
-newsgroups listed in the group buffer, type @kbd{L} or @kbd{A k} to get
-a listing of all the groups.  Then type @kbd{u} to toggle
-subscription to groups.
-
-The first time you start Gnus, Gnus subscribes you to a few selected
-groups.  All other groups start out as @dfn{killed groups} for you; you
-can list them with @kbd{A k}.  All new groups that subsequently come to
-exist at the news server become @dfn{zombie groups} for you; type @kbd{A
-z} to list them.  You can subscribe to a group shown in these lists
-using the @kbd{u} command.
-
-When you quit Gnus with @kbd{q}, it automatically records in your
-@file{.newsrc} and @file{.newsrc.eld} initialization files the
-subscribed or unsubscribed status of all groups.  You should normally
-not edit these files manually, but you may if you know how.
+@findex gnus
+@cindex @file{.newsrc} file
+  If your system has been set up for reading Usenet news, getting
+started with Gnus is easy---just type @kbd{M-x gnus}.
+
+  On starting up, Gnus reads your @dfn{news initialization file}: a
+file named @file{.newsrc} in your home directory which lists your
+Usenet newsgroups and subscriptions (this file is not unique to Gnus;
+it is used by many other newsreader programs).  It then tries to
+contact the system's default news server, which is typically specified
+by the @samp{NNTPSERVER} environment variable.
+
+  If your system does not have a default news server, or if you wish
+to use Gnus for reading email, then before invoking @kbd{M-x gnus} you
+need to tell Gnus where to get news and/or mail.  To do this,
+customize the variables @code{gnus-select-method} and/or
+@code{gnus-secondary-select-methods}.
+@iftex
+See the Gnus manual for details.
+@end iftex
+@ifnottex
+@xref{Finding the News,,, gnus, The Gnus Manual}.
+@end ifnottex
 
-@node Summary of Gnus
-@subsection Summary of Gnus Commands
+  Once Gnus has started up, it displays the group buffer.  By default,
+the group buffer shows only a small number of @dfn{subscribed groups}.
+Groups with other statuses---@dfn{unsubscribed}, @dfn{killed}, or
+@dfn{zombie}---are hidden.  The first time you start Gnus, any group
+to which you are not subscribed is made into a killed group; any group
+that subsequently appears on the news server becomes a zombie group.
 
-Reading news is a two-step process:
+  To proceed, you must select a group in the group buffer to open the
+summary buffer for that group; then, select an article in the summary
+buffer to view its article buffer in a separate window.  The following
+sections explain how to use the group and summary buffers to do this.
 
-@enumerate
-@item
-Choose a group in the group buffer.
+  To quit Gnus, type @kbd{q} in the group buffer.  This automatically
+records your group statuses in the files @file{.newsrc} and
+@file{.newsrc.eld}, so that they take effect in subsequent Gnus
+sessions.
 
-@item
-Select articles from the summary buffer.  Each article selected is
-displayed in the article buffer in a large window, below the summary
-buffer in its small window.
-@end enumerate
+@node Gnus Group Buffer
+@subsection Using the Gnus Group Buffer
 
-  Each Gnus buffer has its own special commands; the meanings of any
-given key in the various Gnus buffers are usually analogous, even if
-not identical.  Here are commands for the group and summary buffers:
+  The following commands are available in the Gnus group buffer:
 
 @table @kbd
-@kindex q @r{(Gnus Group mode)}
-@findex gnus-group-exit
-@item q
-In the group buffer, update your @file{.newsrc} initialization file
-and quit Gnus.
+@kindex SPC @r{(Gnus Group mode)}
+@findex gnus-group-read-group
+@item @key{SPC}
+Switch to the summary buffer for the group on the current line.
 
-In the summary buffer, exit the current group and return to the
-group buffer.  Thus, typing @kbd{q} twice quits Gnus.
+@kindex l @r{(Gnus Group mode)}
+@kindex A s @r{(Gnus Group mode)}
+@findex gnus-group-list-groups
+@item l
+@itemx A s
+In the group buffer, list only the groups to which you subscribe and
+which contain unread articles (this is the default listing).
 
 @kindex L @r{(Gnus Group mode)}
+@kindex A u @r{(Gnus Group mode)}
 @findex gnus-group-list-all-groups
 @item L
-In the group buffer, list all the groups available on your news
-server (except those you have killed).  This may be a long list!
+@itemx A u
+List all subscribed and unsubscribed groups, but not killed or zombie
+groups.
 
-@kindex l @r{(Gnus Group mode)}
-@findex gnus-group-list-groups
-@item l
-In the group buffer, list only the groups to which you subscribe and
-which contain unread articles.
+@kindex A k @r{(Gnus Group mode)}
+@findex gnus-group-list-all-groups
+@item A k
+List killed groups.
+
+@kindex A z @r{(Gnus Group mode)}
+@findex gnus-group-list-all-groups
+@item A z
+List zombie groups.
 
 @kindex u @r{(Gnus Group mode)}
 @findex gnus-group-unsubscribe-current-group
 @cindex subscribe groups
 @cindex unsubscribe groups
 @item u
-In the group buffer, unsubscribe from (or subscribe to) the group listed
-in the line that point is on.  When you quit Gnus by typing @kbd{q},
-Gnus lists in your @file{.newsrc} file which groups you have subscribed
-to.  The next time you start Gnus, you won't see this group,
-because Gnus normally displays only subscribed-to groups.
+Toggle the subscription status of the group on the current line
+(i.e.@: turn a subscribed group into an unsubscribed group, or vice
+versa).  Invoking this on a killed or zombie group turns it into an
+unsubscribed group.
 
-@kindex C-k @r{(Gnus)}
+@kindex C-k @r{(Gnus Group mode)}
 @findex gnus-group-kill-group
 @item C-k
-In the group buffer, ``kill'' the current line's group---don't
-even list it in @file{.newsrc} from now on.  This affects future
-Gnus sessions as well as the present session.
+Kill the group on the current line.  Killed groups are not recorded in
+the @file{.newsrc} file, and they are not shown in the @kbd{l} or
+@kbd{L} listings.
 
-When you quit Gnus by typing @kbd{q}, Gnus writes information
-in the file @file{.newsrc} describing all newsgroups except those you
-have ``killed.''
+@kindex DEL @r{(Gnus Group mode)}
+@item @key{DEL}
+Move point to the previous group containing unread articles.
 
-@kindex SPC @r{(Gnus)}
-@findex gnus-group-read-group
-@item @key{SPC}
-In the group buffer, select the group on the line under the cursor
-and display the first unread article in that group.
+@kindex n @r{(Gnus Group mode)}
+@findex gnus-group-next-unread-group
+@findex gnus-summary-next-unread-article
+@item n
+Move point to the next unread group.
 
-@need 1000
-In the summary buffer,
+@kindex p @r{(Gnus Group mode)}
+@findex gnus-group-prev-unread-group
+@findex gnus-summary-prev-unread-article
+@item p
+Move point to the previous unread group.
 
-@itemize @bullet
-@item
-Select the article on the line under the cursor if none is selected.
+@kindex q @r{(Gnus Group mode)}
+@findex gnus-group-exit
+@item q
+Update your Gnus settings, and quit Gnus.
+@end table
 
-@item
-Scroll the text of the selected article (if there is one).
+@node Gnus Summary Buffer
+@subsection Using the Gnus Summary Buffer
 
-@item
-Select the next unread article if at the end of the current article.
-@end itemize
+  The following commands are available in the Gnus summary buffer:
 
-Thus, you can move through all the articles by repeatedly typing @key{SPC}.
+@table @kbd
+@kindex SPC @r{(Gnus Summary mode)}
+@findex gnus-group-read-group
+@item @key{SPC}
+If there is no article selected, select the article on the current
+line and display its article buffer.  Otherwise, try scrolling the
+selected article buffer in its window; on reaching the end of the
+buffer, select the next unread article.
 
-@kindex DEL @r{(Gnus)}
-@item @key{DEL}
-In the group buffer, move point to the previous group containing
-unread articles.
+Thus, you can read through all articles by repeatedly typing
+@key{SPC}.
 
+@kindex DEL @r{(Gnus Summary mode)}
 @findex gnus-summary-prev-page
-In the summary buffer, scroll the text of the article backwards.
+@item @key{DEL}
+Scroll the text of the article backwards.
 
-@kindex n @r{(Gnus)}
+@kindex n @r{(Gnus Summary mode)}
 @findex gnus-group-next-unread-group
 @findex gnus-summary-next-unread-article
 @item n
-Move point to the next unread group, or select the next unread article.
+Select the next unread article.
 
-@kindex p @r{(Gnus)}
+@kindex p @r{(Gnus Summary mode)}
 @findex gnus-group-prev-unread-group
 @findex gnus-summary-prev-unread-article
 @item p
-Move point to the previous unread group, or select the previous
-unread article.
-
-@kindex C-n @r{(Gnus Group mode)}
-@findex gnus-group-next-group
-@kindex C-p @r{(Gnus Group mode)}
-@findex gnus-group-prev-group
-@kindex C-n @r{(Gnus Summary mode)}
-@findex gnus-summary-next-subject
-@kindex C-p @r{(Gnus Summary mode)}
-@findex gnus-summary-prev-subject
-@item C-n
-@itemx C-p
-Move point to the next or previous item, even if it is marked as read.
-This does not select the article or group on that line.
+Select the previous unread article.
 
 @kindex s @r{(Gnus Summary mode)}
 @findex gnus-summary-isearch-article
 @item s
-In the summary buffer, do an incremental search of the current text in
-the article buffer, just as if you switched to the article buffer and
-typed @kbd{C-s}.
+Do an incremental search on the selected article buffer, as if you
+switched to the buffer and typed @kbd{C-s} (@pxref{Incremental
+Search}).
 
 @kindex M-s @r{(Gnus Summary mode)}
 @findex gnus-summary-search-article-forward
 @item M-s @var{regexp} @key{RET}
-In the summary buffer, search forward for articles containing a match
-for @var{regexp}.
+Search forward for articles containing a match for @var{regexp}.
 
+@kindex q @r{(Gnus Summary mode)}
+@item q
+Exit the summary buffer and return to the group buffer.
 @end table
 
 @node Document View
@@ -244,64 +263,54 @@ for @var{regexp}.
 @cindex document viewer (DocView)
 @findex doc-view-mode
 
-DocView mode (@code{doc-view-mode}) is a viewer for DVI, PostScript
-(PS), PDF, OpenDocument, and Microsoft Office documents.  It provides
-features such as slicing, zooming, and searching inside documents.  It
-works by converting the document to a set of images using the
-@command{gs} (GhostScript) command and other external tools
-@footnote{@code{gs} is a hard requirement.  For DVI files,
-@code{dvipdf} or @code{dvipdfm} is needed.  For OpenDocument and
-Microsoft Office documents, the @code{unoconv} tool is needed.}, and
-displaying those images.
+  DocView mode is a major mode for viewing DVI, PostScript (PS), PDF,
+OpenDocument, and Microsoft Office documents.  It provides features
+such as slicing, zooming, and searching inside documents.  It works by
+converting the document to a set of images using the @command{gs}
+(GhostScript) command and other external tools @footnote{@code{gs} is
+a hard requirement.  For DVI files, @code{dvipdf} or @code{dvipdfm} is
+needed.  For OpenDocument and Microsoft Office documents, the
+@code{unoconv} tool is needed.}, and displaying those images.
 
 @findex doc-view-toggle-display
 @findex doc-view-toggle-display
 @cindex doc-view-minor-mode
-  When you visit a document file with the exception of PostScript
-files, Emacs automatically switches to DocView mode if possible
-@footnote{The needed external tools for this document type have to be
-available, emacs needs to run in a graphical frame, and PNG image
-support has to be compiled into emacs.  If any of these requirements
-is not fulfilled, DocView falls back to an appropriate mode.}.  When
-you visit a PostScript file, Emacs switches to PS mode, a major mode
-for editing PostScript files as text; however, it also enables DocView
-minor mode, so you can type @kbd{C-c C-c} to view the document with
-DocView.  (PDF and DVI files, unlike PostScript files, are not usually
-human-editable.)  In either case, repeating @kbd{C-c C-c}
-(@code{doc-view-toggle-display}) toggles between DocView and the file
-text.
-
-  You can explicitly toggle DocView mode with the command @code{M-x
-doc-view-mode}, and DocView minor mode with the command @code{M-x
+  When you visit a document file that can be displayed with DocView
+mode, Emacs automatically uses DocView mode @footnote{The needed
+external tools for the document type must be available, and Emacs must
+be running in a graphical frame and have PNG image support.  If any of
+these requirements is not fulfilled, Emacs falls back to another major
+mode.}.  As an exception, when you visit a PostScript file, Emacs
+switches to PS mode, a major mode for editing PostScript files as
+text; however, it also enables DocView minor mode, so you can type
+@kbd{C-c C-c} to view the document with DocView.  In either DocView
+mode or DocView minor mode, repeating @kbd{C-c C-c}
+(@code{doc-view-toggle-display}) toggles between DocView and the
+underlying file contents.
+
+  You can explicitly enable DocView mode with the command @code{M-x
+doc-view-mode}.  You can toggle DocView minor mode with @code{M-x
 doc-view-minor-mode}.
 
   When DocView mode starts, it displays a welcome screen and begins
 formatting the file, page by page.  It displays the first page once
 that has been formatted.
 
-@findex doc-view-enlarge
-@findex doc-view-shrink
-@vindex doc-view-resolution
-  When in DocView mode, you can enlarge or shrink the document with
-@kbd{+} (@code{doc-view-enlarge}) and @kbd{-}
-(@code{doc-view-shrink}).  To specify the default size for DocView,
-set or customize the variable @code{doc-view-resolution}.
-
   To kill the DocView buffer, type @kbd{k}
 (@code{doc-view-kill-proc-and-buffer}).  To bury it, type @kbd{q}
 (@code{quit-window}).
 
 @menu
-* Navigation::  Navigation inside DocView buffers.
-* Searching::   Searching inside documents.
-* Slicing::     Specifying which part of pages should be displayed.
-* Conversion::  Influencing and triggering conversion.
+* Navigation: DocView Navigation.  Navigating DocView buffers.
+* Searching: DocView Searching.    Searching inside documents.
+* Slicing: DocView Slicing.        Specifying which part of a page is displayed.
+* Conversion: DocView Conversion.  Influencing and triggering conversion.
 @end menu
 
-@node Navigation
-@subsection Navigation
+@node DocView Navigation
+@subsection DocView Navigation
 
-When in DocView mode, you can scroll the current page using the usual
+  In DocView mode, you can scroll the current page using the usual
 Emacs movement keys: @kbd{C-p}, @kbd{C-n}, @kbd{C-b}, @kbd{C-f}, and
 the arrow keys.
 
@@ -315,6 +324,10 @@ displays the next page if you are at the end of the current page.
 
 @findex doc-view-next-page
 @findex doc-view-previous-page
+@kindex n @r{(DocView mode)}
+@kindex p @r{(DocView mode)}
+@kindex C-x ] @r{(DocView mode)}
+@kindex C-x [ @r{(DocView mode)}
   You can also display the next page by typing @kbd{n}, @key{next} or
 @kbd{C-x ]} (@code{doc-view-next-page}).  To display the previous
 page, type @kbd{p}, @key{prior} or @kbd{C-x [}
@@ -322,23 +335,38 @@ page, type @kbd{p}, @key{prior} or @kbd{C-x [}
 
 @findex doc-view-scroll-up-or-next-page
 @findex doc-view-scroll-down-or-previous-page
-  The @key{SPC} (@code{doc-view-scroll-up-or-next-page}) key is a
-convenient way to advance through the document.  It scrolls within the
-current page or advances to the next.  @key{DEL} moves backwards in a
-similar way (@code{doc-view-scroll-down-or-previous-page}).
+@kindex SPC @r{(DocView mode)}
+@kindex DEL @r{(DocView mode)}
+  @key{SPC} (@code{doc-view-scroll-up-or-next-page}) is a convenient
+way to advance through the document.  It scrolls within the current
+page or advances to the next.  @key{DEL} moves backwards in a similar
+way (@code{doc-view-scroll-down-or-previous-page}).
 
 @findex doc-view-first-page
 @findex doc-view-last-page
 @findex doc-view-goto-page
+@kindex M-< @r{(DocView mode)}
+@kindex M-> @r{(DocView mode)}
   To go to the first page, type @kbd{M-<}
 (@code{doc-view-first-page}); to go to the last one, type @kbd{M->}
 (@code{doc-view-last-page}).  To jump to a page by its number, type
 @kbd{M-g M-g} or @kbd{M-g g} (@code{doc-view-goto-page}).
 
-@node Searching
-@subsection Searching
-
-While in DocView mode, you can search the file's text for a regular
+@findex doc-view-enlarge
+@findex doc-view-shrink
+@vindex doc-view-resolution
+@kindex + @r{(DocView mode)}
+@kindex - @r{(DocView mode)}
+  You can enlarge or shrink the document with @kbd{+}
+(@code{doc-view-enlarge}) and @kbd{-} (@code{doc-view-shrink}).  These
+commands work by reconverting the document at the new size.  To
+specify the default size for DocView, customize the variable
+@code{doc-view-resolution}.
+
+@node DocView Searching
+@subsection DocView Searching
+
+  In DocView mode, you can search the file's text for a regular
 expression (@pxref{Regexps}).  The interface for searching is inspired
 by @code{isearch} (@pxref{Incremental Search}).
 
@@ -359,8 +387,8 @@ To force display of this tooltip, type @kbd{C-t}
 argument; i.e., @kbd{C-u C-s} for a forward search or @kbd{C-u C-r}
 for a backward search.
 
-@node Slicing
-@subsection Slicing
+@node DocView Slicing
+@subsection DocView Slicing
 
 Documents often have wide margins for printing.  They are annoying
 when reading the document on the screen, because they use up screen
@@ -388,62 +416,63 @@ select the slice.
 (@code{doc-view-reset-slice}).  Then DocView shows the entire page
 including its entire margins.
 
-@node Conversion
-@subsection Conversion
+@node DocView Conversion
+@subsection DocView Conversion
 
 @vindex doc-view-cache-directory
 @findex doc-view-clear-cache
-For efficiency, DocView caches the images produced by @command{gs}.
+  For efficiency, DocView caches the images produced by @command{gs}.
 The name of this directory is given by the variable
 @code{doc-view-cache-directory}.  You can clear the cache directory by
 typing @code{M-x doc-view-clear-cache}.
 
 @findex doc-view-kill-proc
 @findex doc-view-kill-proc-and-buffer
-  To force a reconversion of the currently viewed document, type
-@kbd{r} or @kbd{g} (@code{revert-buffer}).  To kill the converter
-process associated with the current buffer, type @kbd{K}
+  To force reconversion of the currently viewed document, type @kbd{r}
+or @kbd{g} (@code{revert-buffer}).  To kill the converter process
+associated with the current buffer, type @kbd{K}
 (@code{doc-view-kill-proc}).  The command @kbd{k}
 (@code{doc-view-kill-proc-and-buffer}) kills the converter process and
 the DocView buffer.
 
-  The zoom commands @kbd{+} (@code{doc-view-enlarge}) and @kbd{-}
-(@code{doc-view-shrink}) need to reconvert the document at the new
-size.  The current page is converted first.
-
 @node Shell
 @section Running Shell Commands from Emacs
 @cindex subshell
 @cindex shell commands
 
-  Emacs has commands for passing single command lines to inferior shell
-processes; it can also run a shell interactively with input and output
-to an Emacs buffer named @samp{*shell*} or run a shell inside a terminal
+  Emacs has commands for passing single command lines to shell
+subprocesses, and for running a shell interactively with input and
+output to an Emacs buffer, and for running a shell in a terminal
 emulator window.
 
 @table @kbd
 @item M-! @var{cmd} @key{RET}
-Run the shell command line @var{cmd} and display the output
+Run the shell command @var{cmd} and display the output
 (@code{shell-command}).
 @item M-| @var{cmd} @key{RET}
-Run the shell command line @var{cmd} with region contents as input;
+Run the shell command @var{cmd} with region contents as input;
 optionally replace the region with the output
 (@code{shell-command-on-region}).
 @item M-& @var{cmd} @key{RET}
-Run the shell command line @var{cmd} asynchronously, and display the
-output (@code{async-shell-command}).
+Run the shell command @var{cmd} asynchronously, and display the output
+(@code{async-shell-command}).
 @item M-x shell
-Run a subshell with input and output through an Emacs buffer.
-You can then give commands interactively.
+Run a subshell with input and output through an Emacs buffer.  You can
+then give commands interactively.
 @item M-x term
-Run a subshell with input and output through an Emacs buffer.
-You can then give commands interactively.
-Full terminal emulation is available.
+Run a subshell with input and output through an Emacs buffer.  You can
+then give commands interactively.  Full terminal emulation is
+available.
 @end table
 
   @kbd{M-x eshell} invokes a shell implemented entirely in Emacs.  It
-is documented in a separate manual.  @xref{Top,Eshell,Eshell, eshell,
-Eshell: The Emacs Shell}.
+is documented in its own manual.
+@ifnottex
+@xref{Top,Eshell,Eshell, eshell, Eshell: The Emacs Shell}.
+@end ifnottex
+@iftex
+See the Eshell Info manual, which is distributed with Emacs.
+@end iftex
 
 @menu
 * Single Shell::           How to run one shell command and return.
@@ -455,7 +484,6 @@ Eshell: The Emacs Shell}.
 * Options: Shell Options.  Options for customizing Shell mode.
 * Terminal emulator::      An Emacs window as a terminal emulator.
 * Term Mode::              Special Emacs commands used in Term mode.
-* Paging in Term::         Paging in the terminal emulator.
 * Remote Host::            Connecting to another computer.
 * Serial Terminal::        Connecting to a serial port.
 @end menu
@@ -466,53 +494,62 @@ Eshell: The Emacs Shell}.
 @kindex M-!
 @findex shell-command
   @kbd{M-!} (@code{shell-command}) reads a line of text using the
-minibuffer and executes it as a shell command in a subshell made just
+minibuffer and executes it as a shell command, in a subshell made just
 for that command.  Standard input for the command comes from the null
 device.  If the shell command produces any output, the output appears
 either in the echo area (if it is short), or in an Emacs buffer named
-@samp{*Shell Command Output*}, which is displayed in another window
-but not selected (if the output is long).
-
-  For instance, one way to decompress a file @file{foo.gz} from Emacs
-is to type @kbd{M-! gunzip foo.gz @key{RET}}.  That shell command
-normally creates the file @file{foo} and produces no terminal output.
-
-  A numeric argument, as in @kbd{M-1 M-!}, says to insert terminal
-output into the current buffer instead of a separate buffer.  It puts
-point before the output, and sets the mark after the output.  For
-instance, @kbd{M-1 M-! gunzip < foo.gz @key{RET}} would insert the
-uncompressed equivalent of @file{foo.gz} into the current buffer.
-
-  If the shell command line ends in @samp{&}, it runs asynchronously.
-For a synchronous shell command, @code{shell-command} returns the
-command's exit status (0 means success), when it is called from a Lisp
-program.  You do not get any status information for an asynchronous
-command, since it hasn't finished yet when @code{shell-command} returns.
-
-  You can also type @kbd{M-&} (@code{async-shell-command}) to execute
-a shell command asynchronously.  This behaves exactly like calling
-@code{shell-command} with @samp{&}, except that you do not need to add
-the @samp{&} to the shell command line.
+@samp{*Shell Command Output*}, displayed in another window (if the
+output is long).
+
+  For instance, one way to decompress a file named @file{foo.gz} is to
+type @kbd{M-! gunzip foo.gz @key{RET}}.  That shell command normally
+creates the file @file{foo} and produces no terminal output.
+
+  A numeric argument to @code{shell-command}, e.g.@: @kbd{M-1 M-!},
+causes it to insert terminal output into the current buffer instead of
+a separate buffer.  It puts point before the output, and sets the mark
+after the output.  For instance, @kbd{M-1 M-! gunzip < foo.gz
+@key{RET}} would insert the uncompressed form of the file
+@file{foo.gz} into the current buffer.
+
+  Provided the specified shell command does not end with @samp{&}, it
+runs @dfn{synchronously}, and you must wait for it to exit before
+continuing to use Emacs.  To stop waiting, type @kbd{C-g} to quit;
+this sends a @code{SIGINT} signal to terminate the shell command (this
+is the same signal that @kbd{C-c} normally generates in the shell).
+Emacs then waits until the command actually terminates.  If the shell
+command doesn't stop (because it ignores the @code{SIGINT} signal),
+type @kbd{C-g} again; this sends the command a @code{SIGKILL} signal,
+which is impossible to ignore.
+
+@kindex M-&
+@findex async-shell-command
+  A shell command that ends in @samp{&} is executed
+@dfn{asynchronously}, and you can continue to use Emacs as it runs.
+You can also type @kbd{M-&} (@code{async-shell-command}) to execute a
+shell command asynchronously; this is exactly like calling @kbd{M-!}
+with a trailing @samp{&}, except that you do not need the @samp{&}.
+The output buffer for asynchronous shell commands is named
+@samp{*Async Shell Command*}.  Emacs inserts the output into this
+buffer as it comes in, whether or not the buffer is visible in a
+window.
 
 @kindex M-|
 @findex shell-command-on-region
-  @kbd{M-|} (@code{shell-command-on-region}) is like @kbd{M-!} but
+  @kbd{M-|} (@code{shell-command-on-region}) is like @kbd{M-!}, but
 passes the contents of the region as the standard input to the shell
-command, instead of no input.  With a numeric argument, meaning insert
-the output in the current buffer, it deletes the old region and the
-output replaces it as the contents of the region.  It returns the
-command's exit status, like @kbd{M-!}.
-
-  One use for @kbd{M-|} is to run @code{gpg} to see what keys are in
-the buffer.  For instance, if the buffer contains a GPG key, type
-@kbd{C-x h M-| gpg @key{RET}} to feed the entire buffer contents to
-the @code{gpg} program.  That program will ignore everything except
-the encoded keys, and will output a list of the keys the buffer
-contains.
+command, instead of no input.  With a numeric argument, it deletes the
+old region and replaces it with the output from the shell command.
+
+  For example, you can use @kbd{M-|} with the @command{gpg} program to
+see what keys are in the buffer.  If the buffer contains a GnuPG key,
+type @kbd{C-x h M-| gpg @key{RET}} to feed the entire buffer contents
+to @command{gpg}.  This will output the list of keys to the
+@samp{*Shell Command Output*} buffer.
 
 @vindex shell-file-name
-  Both @kbd{M-!} and @kbd{M-|} use @code{shell-file-name} to specify
-the shell to use.  This variable is initialized based on your
+  The above commands use the shell specified by the variable
+@code{shell-file-name}.  Its default value is determined by the
 @env{SHELL} environment variable when Emacs is started.  If the file
 name is relative, Emacs searches the directories in the list
 @code{exec-path}; this list is initialized based on the environment
@@ -520,81 +557,65 @@ variable @env{PATH} when Emacs is started.  Your init file can
 override either or both of these default initializations (@pxref{Init
 File}).
 
-  Both @kbd{M-!} and @kbd{M-|} wait for the shell command to complete,
-unless you end the command with @samp{&} to make it asynchronous.  To
-stop waiting, type @kbd{C-g} to quit; that terminates the shell
-command with the signal @code{SIGINT}---the same signal that @kbd{C-c}
-normally generates in the shell.  Emacs then waits until the command
-actually terminates.  If the shell command doesn't stop (because it
-ignores the @code{SIGINT} signal), type @kbd{C-g} again; this sends
-the command a @code{SIGKILL} signal which is impossible to ignore.
-
-  Asynchronous commands ending in @samp{&} feed their output into
-the buffer @samp{*Async Shell Command*}.  Output arrives in that
-buffer regardless of whether it is visible in a window.
-
   To specify a coding system for @kbd{M-!} or @kbd{M-|}, use the command
 @kbd{C-x @key{RET} c} immediately beforehand.  @xref{Communication Coding}.
 
 @vindex shell-command-default-error-buffer
-  Error output from these commands is normally intermixed with the
-regular output.  But if the variable
-@code{shell-command-default-error-buffer} has a string as value, and
-it's the name of a buffer, @kbd{M-!} and @kbd{M-|} insert error output
-before point in that buffer.
+  By default, error output is intermixed with the regular output in
+the output buffer.  But if you change the value of the variable
+@code{shell-command-default-error-buffer} to a string, error output is
+inserted into a buffer of that name.
 
 @node Interactive Shell
-@subsection Interactive Inferior Shell
+@subsection Interactive Subshell
 
 @findex shell
-  To run a subshell interactively, use @kbd{M-x shell}.  This creates
-(or reuses) a buffer named @samp{*shell*} and runs a subshell with
-input coming from and output going to that buffer.  That is to say,
-any ``terminal output'' from the subshell goes into the buffer,
-advancing point, and any ``terminal input'' for the subshell comes
-from text in the buffer.  To give input to the subshell, go to the end
-of the buffer and type the input, terminated by @key{RET}.
-
-  Emacs does not wait for the subshell to do anything.  You can switch
-windows or buffers and edit them while the shell is waiting, or while it is
-running a command.  Output from the subshell waits until Emacs has time to
-process it; this happens whenever Emacs is waiting for keyboard input or
-for time to elapse.
+  To run a subshell interactively, type @kbd{M-x shell}.  This creates
+(or reuses) a buffer named @samp{*shell*}, and runs a shell subprocess
+with input coming from and output going to that buffer.  That is to
+say, any terminal output from the subshell goes into the buffer,
+advancing point, and any terminal input for the subshell comes from
+text in the buffer.  To give input to the subshell, go to the end of
+the buffer and type the input, terminated by @key{RET}.
+
+  While the subshell is waiting or running a command, you can switch
+windows or buffers and perform other editing in Emacs.  Emacs inserts
+the output from the subshell into the Shell buffer whenever it has
+time to process it (e.g.@: while waiting for keyboard input).
 
 @cindex @code{comint-highlight-input} face
 @cindex @code{comint-highlight-prompt} face
-  Input lines, once you submit them, are displayed using the face
-@code{comint-highlight-input}, and prompts are displayed using the
-face @code{comint-highlight-prompt}.  This makes it easier to see
-previous input lines in the buffer.  @xref{Faces}.
-
-  To make multiple subshells, you can invoke @kbd{M-x shell} with a
-prefix argument (e.g. @kbd{C-u M-x shell}), which will read a buffer
-name and create (or reuse) a subshell in that buffer.  You can also
-rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely}, then
-create a new @samp{*shell*} buffer using plain @kbd{M-x shell}.
+  In the Shell buffer, prompts are displayed with the face
+@code{comint-highlight-prompt}, and submitted input lines are
+displayed with the face @code{comint-highlight-input}.  This makes it
+easier to distinguish input lines from the shell output.
+@xref{Faces}.
+
+  To make multiple subshells, invoke @kbd{M-x shell} with a prefix
+argument (e.g. @kbd{C-u M-x shell}).  Then the command will read a
+buffer name, and create (or reuse) a subshell in that buffer.  You can
+also rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely},
+then create a new @samp{*shell*} buffer using plain @kbd{M-x shell}.
 Subshells in different buffers run independently and in parallel.
 
 @vindex explicit-shell-file-name
 @cindex environment variables for subshells
 @cindex @env{ESHELL} environment variable
 @cindex @env{SHELL} environment variable
-  The file name used to load the subshell is the value of the variable
-@code{explicit-shell-file-name}, if that is non-@code{nil}.
-Otherwise, the environment variable @env{ESHELL} is used, or the
-environment variable @env{SHELL} if there is no @env{ESHELL}.  If the
-file name specified is relative, the directories in the list
-@code{exec-path} are searched; this list is initialized based on the
-environment variable @env{PATH} when Emacs is started.  Your init file
-can override either or both of these default initializations.
-(@pxref{Init File}).
+  To specify the shell file name used by @kbd{M-x shell}, customize
+the variable @code{explicit-shell-file-name}.  If this is @code{nil}
+(the default), Emacs uses the environment variable @env{ESHELL} if it
+exists.  Otherwise, it usually uses the variable
+@code{shell-file-name} (@pxref{Single Shell}); but if the default
+directory is remote (@pxref{Remote Files}), it prompts you for the
+shell file name.
 
   Emacs sends the new shell the contents of the file
 @file{~/.emacs_@var{shellname}} as input, if it exists, where
 @var{shellname} is the name of the file that the shell was loaded
 from.  For example, if you use bash, the file sent to it is
-@file{~/.emacs_bash}.  If this file is not found, Emacs tries to fallback
-on @file{~/.emacs.d/init_@var{shellname}.sh}.
+@file{~/.emacs_bash}.  If this file is not found, Emacs tries with
+@file{~/.emacs.d/init_@var{shellname}.sh}.
 
   To specify a coding system for the shell, you can use the command
 @kbd{C-x @key{RET} c} immediately before @kbd{M-x shell}.  You can
@@ -603,44 +624,46 @@ also change the coding system for a running subshell by typing
 Coding}.
 
 @cindex @env{INSIDE_EMACS} environment variable
-  Emacs sets the environment variable @env{INSIDE_EMACS} in the
-subshell to a comma-separated list including the Emacs version.
-Programs can check this variable to determine whether they are running
-inside an Emacs subshell.
-
 @cindex @env{EMACS} environment variable
-  Emacs also sets the @env{EMACS} environment variable (to @code{t}) if
-it is not already defined.  @strong{Warning:} This environment
-variable is deprecated.  Programs that check this variable should be
-changed to check @env{INSIDE_EMACS} instead.
+  Emacs sets the environment variable @env{INSIDE_EMACS} in the
+subshell to @samp{@var{version},comint}, where @var{version} is the
+Emacs version (e.g.@: @samp{24.1}).  Programs can check this variable
+to determine whether they are running inside an Emacs subshell.  (It
+also sets the @env{EMACS} environment variable to @code{t}, if that
+environment variable is not already defined.  However, this
+environment variable is deprecated; programs that use it should switch
+to using @env{INSIDE_EMACS} instead.)
 
 @node Shell Mode
 @subsection Shell Mode
 @cindex Shell mode
 @cindex mode, Shell
 
-  Shell buffers use Shell mode, which defines several special keys
-attached to the @kbd{C-c} prefix.  They are chosen to resemble the usual
-editing and job control characters present in shells that are not under
-Emacs, except that you must type @kbd{C-c} first.  Here is a complete list
-of the special key bindings of Shell mode:
+  The major mode for Shell buffers is Shell mode.  Many of its special
+commands are bound to the @kbd{C-c} prefix, and resemble the usual
+editing and job control characters present in ordinary shells, except
+that you must type @kbd{C-c} first.  Here is a list of Shell mode
+commands:
 
 @table @kbd
 @item @key{RET}
 @kindex RET @r{(Shell mode)}
 @findex comint-send-input
-At end of buffer send line as input; otherwise, copy current line to
-end of buffer and send it (@code{comint-send-input}).  Copying a line
-in this way omits any prompt at the beginning of the line (text output
-by programs preceding your input).  @xref{Shell Prompts}, for how
-Shell mode recognizes prompts.
+Send the current line as input to the subshell
+(@code{comint-send-input}).  Any shell prompt at the beginning of the
+line is omitted (@pxref{Shell Prompts}).  If point is at the end of
+buffer, this is like submitting the command line in an ordinary
+interactive shell.  However, you can also invoke @key{RET} elsewhere
+in the shell buffer to submit the current line as input.
 
 @item @key{TAB}
 @kindex TAB @r{(Shell mode)}
-@findex comint-dynamic-complete
-Complete the command name or file name before point in the shell buffer
-(@code{comint-dynamic-complete}).  @key{TAB} also completes history
-references (@pxref{History References}) and environment variable names.
+@findex completion-at-point
+Complete the command name or file name before point in the shell
+buffer (@code{completion-at-point}).  This uses the usual Emacs
+completion rules (@pxref{Completion}), with the completion
+alternatives being file names, environment variable names, the shell
+command history, and history references (@pxref{History References}).
 
 @vindex shell-completion-fignore
 @vindex comint-completion-fignore
@@ -654,17 +677,16 @@ instead.
 @item M-?
 @kindex M-? @r{(Shell mode)}
 @findex comint-dynamic-list-filename@dots{}
-Display temporarily a list of the possible completions of the file name
-before point in the shell buffer
-(@code{comint-dynamic-list-filename-completions}).
+Display temporarily a list of the possible completions of the file
+name before point (@code{comint-dynamic-list-filename-completions}).
 
 @item C-d
 @kindex C-d @r{(Shell mode)}
 @findex comint-delchar-or-maybe-eof
 Either delete a character or send @acronym{EOF}
 (@code{comint-delchar-or-maybe-eof}).  Typed at the end of the shell
-buffer, @kbd{C-d} sends @acronym{EOF} to the subshell.  Typed at any other
-position in the buffer, @kbd{C-d} deletes a character as usual.
+buffer, this sends @acronym{EOF} to the subshell.  Typed at any other
+position in the buffer, this deletes a character as usual.
 
 @item C-c C-a
 @kindex C-c C-a @r{(Shell mode)}
@@ -760,8 +782,8 @@ Move backward across one shell command, but not beyond the current line
 (@code{shell-backward-command}).
 
 @item M-x dirs
-Ask the shell what its current directory is, so that Emacs can agree
-with the shell.
+Ask the shell for its working directory, and update the Shell buffer's
+default directory.  @xref{Directory Tracking}.
 
 @item M-x send-invisible @key{RET} @var{text} @key{RET}
 @findex send-invisible
@@ -830,41 +852,38 @@ specializations of Shell mode.
 @node Shell Prompts
 @subsection Shell Prompts
 
-@vindex shell-prompt-pattern
-@vindex comint-prompt-regexp
-@vindex comint-use-prompt-regexp
 @cindex prompt, shell
   A prompt is text output by a program to show that it is ready to
 accept new user input.  Normally, Comint mode (and thus Shell mode)
-considers the prompt to be any text output by a program at the
-beginning of an input line.  However, if the variable
-@code{comint-use-prompt-regexp} is non-@code{nil}, then Comint mode
-uses a regular expression to recognize prompts.  In Shell mode,
-@code{shell-prompt-pattern} specifies the regular expression.
-
-  The value of @code{comint-use-prompt-regexp} also affects many
-motion and paragraph commands.  If the value is non-@code{nil}, the
-general Emacs motion commands behave as they normally do in buffers
-without special text properties.  However, if the value is @code{nil},
-the default, then Comint mode divides the buffer into two types of
-``fields'' (ranges of consecutive characters having the same
-@code{field} text property): input and output.  Prompts are part of
-the output.  Most Emacs motion commands do not cross field boundaries,
-unless they move over multiple lines.  For instance, when point is in
-input on the same line as a prompt, @kbd{C-a} puts point at the
-beginning of the input if @code{comint-use-prompt-regexp} is
-@code{nil} and at the beginning of the line otherwise.
-
-  In Shell mode, only shell prompts start new paragraphs.  Thus, a
-paragraph consists of a prompt and the input and output that follow
-it.  However, if @code{comint-use-prompt-regexp} is @code{nil}, the
-default, most paragraph commands do not cross field boundaries.  This
-means that prompts, ranges of input, and ranges of non-prompt output
-behave mostly like separate paragraphs; with this setting, numeric
-arguments to most paragraph commands yield essentially undefined
-behavior.  For the purpose of finding paragraph boundaries, Shell mode
-uses @code{shell-prompt-pattern}, regardless of
-@code{comint-use-prompt-regexp}.
+automatically figures out part of the buffer is a prompt, based on the
+output of the subprocess.  (Specifically, it assumes that any received
+output line which doesn't end with a newline is a prompt.)
+
+  Comint mode divides the buffer into two types of @dfn{fields}: input
+fields (where user input is typed) and output fields (everywhere
+else).  Prompts are part of the output fields.  Most Emacs motion
+commands do not cross field boundaries, unless they move over multiple
+lines.  For instance, when point is in the input field on a shell
+command line, @kbd{C-a} puts point at the beginning of the input
+field, after the prompt.  Internally, the fields are implemented using
+the @code{field} text property (@pxref{Text Properties,,, elisp, the
+Emacs Lisp Reference Manual}).
+
+@vindex comint-use-prompt-regexp
+@vindex shell-prompt-pattern
+  If you change the variable @code{comint-use-prompt-regexp} to a
+non-@code{nil} value, then Comint mode recognize prompts using a
+regular expression (@pxref{Regexps}).  In Shell mode, the regular
+expression is specified by the variable @code{shell-prompt-pattern}.
+The default value of @code{comint-use-prompt-regexp} is @code{nil},
+because this method for recognizing prompts is unreliable, but you may
+want to set it to a non-@code{nil} value in unusual circumstances.  In
+that case, Emacs does not divide the Comint buffer into fields, so the
+general motion commands behave as they normally do in buffers without
+special text properties.  However, you can use the paragraph motion
+commands to conveniently navigate the buffer (@pxref{Paragraphs}); in
+Shell mode, Emacs uses @code{shell-prompt-pattern} as paragraph
+boundaries.
 
 @node Shell History
 @subsection Shell Command History
@@ -921,11 +940,12 @@ Display the buffer's history of shell commands in another window
 (@code{comint-dynamic-list-input-ring}).
 @end table
 
-  Shell buffers provide a history of previously entered shell commands.  To
-reuse shell commands from the history, use the editing commands @kbd{M-p},
-@kbd{M-n}, @kbd{M-r} and @kbd{M-s}.  These work just like the minibuffer
-history commands except that they operate on the text at the end of the
-shell buffer, where you would normally insert text to send to the shell.
+  Shell buffers provide a history of previously entered shell
+commands.  To reuse shell commands from the history, use the editing
+commands @kbd{M-p}, @kbd{M-n}, @kbd{M-r} and @kbd{M-s}.  These work
+just like the minibuffer history commands (@pxref{Minibuffer
+History}), except that they operate within the Shell buffer rather
+than the minibuffer.
 
   @kbd{M-p} fetches an earlier shell command to the end of the shell
 buffer.  Successive use of @kbd{M-p} fetches successively earlier
@@ -1052,39 +1072,40 @@ command @code{comint-magic-space}.
 @vindex shell-popd-regexp
 @vindex shell-cd-regexp
   Shell mode keeps track of @samp{cd}, @samp{pushd} and @samp{popd}
-commands given to the inferior shell, so it can keep the
-@samp{*shell*} buffer's default directory the same as the shell's
-working directory.  It recognizes these commands syntactically, by
-examining lines of input that are sent.
+commands given to the subshell, in order to keep the Shell buffer's
+default directory (@pxref{File Names}) the same as the shell's working
+directory.  It recognizes these commands by examining lines of input
+that you send.
 
   If you use aliases for these commands, you can tell Emacs to
-recognize them also.  For example, if the value of the variable
-@code{shell-pushd-regexp} matches the beginning of a shell command
-line, that line is regarded as a @code{pushd} command.  Change this
-variable when you add aliases for @samp{pushd}.  Likewise,
-@code{shell-popd-regexp} and @code{shell-cd-regexp} are used to
-recognize commands with the meaning of @samp{popd} and @samp{cd}.
-These commands are recognized only at the beginning of a shell command
-line.
-
-@ignore  @c This seems to have been deleted long ago.
-@vindex shell-set-directory-error-hook
-  If Emacs gets an error while trying to handle what it believes is a
-@samp{cd}, @samp{pushd} or @samp{popd} command, it runs the hook
-@code{shell-set-directory-error-hook} (@pxref{Hooks}).
-@end ignore
+recognize them also, by setting the variables
+@code{shell-pushd-regexp}, @code{shell-popd-regexp}, and
+@code{shell-cd-regexp} to the appropriate regular expressions
+(@pxref{Regexps}).  For example, if @code{shell-pushd-regexp} matches
+the beginning of a shell command line, that line is regarded as a
+@code{pushd} command.  These commands are recognized only at the
+beginning of a shell command line.
 
 @findex dirs
-  If Emacs gets confused about changes in the current directory of the
-subshell, use the command @kbd{M-x dirs} to ask the shell what its
-current directory is.  This command works for shells that support the
-most common command syntax; it may not work for unusual shells.
+  If Emacs gets confused about changes in the working directory of the
+subshell, type @kbd{M-x dirs}.  This command asks the shell for its
+working directory and updates the default directory accordingly.  It
+works for shells that support the most common command syntax, but may
+not work for unusual shells.
 
 @findex dirtrack-mode
-  You can also use @kbd{M-x dirtrack-mode} to enable (or disable) an
-alternative method of tracking changes in the current directory.  This
-method relies on your shell prompt containing the full current working
-directory at all times.
+@cindex Dirtrack mode
+@cindex mode, Dirtrack
+@vindex dirtrack-list
+  You can also use Dirtrack mode, a buffer-local minor mode that
+implements an alternative method of tracking the shell's working
+directory.  To use this method, your shell prompt must contain the
+working directory at all times, and you must supply a regular
+expression for recognizing which part of the prompt contains the
+working directory; see the documentation of the variable
+@code{dirtrack-list} for details.  To use Dirtrack mode, type @kbd{M-x
+dirtrack-mode} in the Shell buffer, or add @code{dirtrack-mode} to
+@code{shell-mode-hook} (@pxref{Hooks}).
 
 @node Shell Options
 @subsection Shell Mode Options
@@ -1161,10 +1182,10 @@ subshell with input coming from your keyboard, and output going to
 that buffer.
 
   The terminal emulator uses Term mode, which has two input modes.  In
-line mode, Term basically acts like Shell mode; see @ref{Shell Mode}.
+line mode, Term basically acts like Shell mode (@pxref{Shell Mode}).
 
-  In char mode, each character is sent directly to the inferior
-subshell, as ``terminal input.''  Any ``echoing'' of your input is the
+  In char mode, each character is sent directly to the subshell, as
+``terminal input.''  Any ``echoing'' of your input is the
 responsibility of the subshell.  The sole exception is the terminal
 escape character, which by default is @kbd{C-c} (@pxref{Term Mode}).
 Any ``terminal output'' from the subshell goes into the buffer,
@@ -1180,8 +1201,8 @@ handles each one appropriately, changing the buffer so that the
 appearance of the window matches what it would be on a real terminal.
 You can actually run Emacs inside an Emacs Term window.
 
-  You can use Term mode to communicate with a device connected to a
-serial port of your computer.  @xref{Serial Terminal}.
+  You can also Term mode to communicate with a device connected to a
+serial port.  @xref{Serial Terminal}.
 
   The file name used to load the subshell is determined the same way
 as for Shell mode.  To make multiple terminal emulators, rename the
@@ -1199,22 +1220,24 @@ and later.
 @cindex mode, Term
 
   The terminal emulator uses Term mode, which has two input modes.  In
-line mode, Term basically acts like Shell mode; see @ref{Shell Mode}.
-In char mode, each character is sent directly to the inferior
-subshell, except for the Term escape character, normally @kbd{C-c}.
+line mode, Term basically acts like Shell mode (@pxref{Shell Mode}).
+In char mode, each character is sent directly to the subshell, except
+for the Term escape character, normally @kbd{C-c}.
 
   To switch between line and char mode, use these commands:
 
 @table @kbd
 @kindex C-c C-j @r{(Term mode)}
-@findex term-char-mode
+@findex term-line-mode
 @item C-c C-j
-Switch to line mode.  Do nothing if already in line mode.
+Switch to line mode (@code{term-line-mode}).  Do nothing if already in
+line mode.
 
 @kindex C-c C-k @r{(Term mode)}
-@findex term-line-mode
+@findex term-char-mode
 @item C-c C-k
-Switch to char mode.  Do nothing if already in char mode.
+Switch to char mode (@code{term-char-mode}).  Do nothing if already in
+char mode.
 @end table
 
   The following commands are only available in char mode:
@@ -1229,28 +1252,23 @@ example, @kbd{C-c o} invokes the global binding of @kbd{C-x o}, which
 is normally @samp{other-window}.
 @end table
 
-@node Paging in Term
-@subsection Page-At-A-Time Output
-@cindex page-at-a-time
-
-  Term mode has a page-at-a-time feature.  When enabled it makes
-output pause at the end of each screenful.
+@cindex paging in Term mode
+  Term mode has a page-at-a-time feature.  When enabled, it makes
+output pause at the end of each screenful:
 
 @table @kbd
 @kindex C-c C-q @r{(Term mode)}
 @findex term-pager-toggle
 @item C-c C-q
 Toggle the page-at-a-time feature.  This command works in both line
-and char modes.  When page-at-a-time is enabled, the mode-line
-displays the word @samp{page}.
+and char modes.  When the feature is enabled, the mode-line displays
+the word @samp{page}, and each time Term receives more than a
+screenful of output, it pauses and displays @samp{**MORE**} in the
+mode-line.  Type @key{SPC} to display the next screenful of output, or
+@kbd{?} to see your other options.  The interface is similar to the
+@code{more} program.
 @end table
 
-  With page-at-a-time enabled, whenever Term receives more than a
-screenful of output since your last input, it pauses, displaying
-@samp{**MORE**} in the mode-line.  Type @key{SPC} to display the next
-screenful of output.  Type @kbd{?} to see your other options.  The
-interface is similar to the @code{more} program.
-
 @node Remote Host
 @subsection Remote Host Shell
 @cindex remote host
@@ -1273,71 +1291,8 @@ happens automatically; there is no special password processing.)
 of terminal you're using, by setting the @env{TERM} environment
 variable in the environment for the remote login command.  (If you use
 bash, you do that by writing the variable assignment before the remote
-login command, without separating comma.)  Terminal types @samp{ansi}
-or @samp{vt100} will work on most systems.
-
-@c   If you are talking to a Bourne-compatible
-@c shell, and your system understands the @env{TERMCAP} variable,
-@c you can use the command @kbd{M-x shell-send-termcap}, which
-@c sends a string specifying the terminal type and size.
-@c (This command is also useful after the window has changed size.)
-
-@c You can of course run @samp{gdb} on that remote computer.  One useful
-@c trick:  If you invoke gdb with the @code{--fullname} option,
-@c it will send special commands to Emacs that will cause Emacs to
-@c pop up the source files you're debugging.  This will work
-@c whether or not gdb is running on a different computer than Emacs,
-@c as long as Emacs can access the source files specified by gdb.
-
-@ignore
-  You cannot log in to a remote computer using the Shell mode.
-@c (This will change when Shell is re-written to use Term.)
-Instead, Emacs provides two commands for logging in to another computer
-and communicating with it through an Emacs buffer using Comint mode:
-
-@table @kbd
-@item M-x telnet @key{RET} @var{hostname} @key{RET}
-Set up a Telnet connection to the computer named @var{hostname}.
-@item M-x rlogin @key{RET} @var{hostname} @key{RET}
-Set up an Rlogin connection to the computer named @var{hostname}.
-@end table
-
-@findex telnet
-  Use @kbd{M-x telnet} to set up a Telnet connection to another
-computer.  (Telnet is the standard Internet protocol for remote login.)
-It reads the host name of the other computer as an argument with the
-minibuffer.  Once the connection is established, talking to the other
-computer works like talking to a subshell: you can edit input with the
-usual Emacs commands, and send it a line at a time by typing @key{RET}.
-The output is inserted in the Telnet buffer interspersed with the input.
-
-@findex rlogin
-@vindex rlogin-explicit-args
-  Use @kbd{M-x rlogin} to set up an Rlogin connection.  Rlogin is
-another remote login communication protocol, essentially much like the
-Telnet protocol but incompatible with it, and supported only by certain
-systems.  Rlogin's advantages are that you can arrange not to have to
-give your user name and password when communicating between two machines
-you frequently use, and that you can make an 8-bit-clean connection.
-(To do that in Emacs, set @code{rlogin-explicit-args} to @code{("-8")}
-before you run Rlogin.)
-
-  @kbd{M-x rlogin} sets up the default file directory of the Emacs
-buffer to access the remote host via FTP (@pxref{File Names}), and it
-tracks the shell commands that change the current directory, just like
-Shell mode.
-
-@findex rlogin-directory-tracking-mode
-  There are two ways of doing directory tracking in an Rlogin
-buffer---either with remote directory names
-@file{/@var{host}:@var{dir}/} or with local names (that works if the
-``remote'' machine shares file systems with your machine of origin).
-You can use the command @code{rlogin-directory-tracking-mode} to switch
-modes.  No argument means use remote directory names, a positive
-argument means use local names, and a negative argument means turn
-off directory tracking.
-
-@end ignore
+login command, without a separating comma.)  Terminal types
+@samp{ansi} or @samp{vt100} will work on most systems.
 
 @node Serial Terminal
 @subsection Serial Terminal
@@ -1345,9 +1300,10 @@ off directory tracking.
 @findex serial-term
 
   If you have a device connected to a serial port of your computer,
-you can use Emacs to communicate with it.  @kbd{M-x serial-term} will
-ask you for a serial port name and speed and will then open a new
-window in @ref{Term Mode}.
+you can communicate with it by typing @kbd{M-x serial-term}.  This
+command asks for a serial port name and speed, and switches to a new
+Term mode buffer.  Emacs communicates with the serial device through
+this buffer just like it does with a terminal in ordinary Term mode.
 
   The speed of the serial port is measured in bits per second.  The
 most common speed is 9600 bits per second.  You can change the speed
@@ -1358,10 +1314,6 @@ the mode line.  By default, a serial port is configured as ``8N1'',
 which means that each byte consists of 8 data bits, No parity check
 bit, and 1 stopbit.
 
-  When you have opened the serial port connection, you will see output
-from the device in the window.  Also, what you type in the window is
-sent to the device.
-
   If the speed or the configuration is wrong, you cannot communicate
 with your device and will probably only see garbage output in the
 window.
@@ -1373,12 +1325,14 @@ window.
 @cindex server, using Emacs as
 @cindex @env{EDITOR} environment variable
 
-  Various programs such as @command{mail} can invoke your choice of
-editor to edit a particular piece of text, such as a message that you
-are sending.  By convention, most of these programs use the
-environment variable @env{EDITOR} to specify which editor to run.  If
-you set @env{EDITOR} to @samp{emacs}, they invoke Emacs---but in an
-inconvenient way, by starting a new Emacs process.  This is
+  Various programs can invoke your choice of editor to edit a
+particular piece of text.  For instance, version control programs
+invoke an editor to enter version control logs (@pxref{Version
+Control}), and the Unix @command{mail} utility invokes an editor to
+enter a message to send.  By convention, your choice of editor is
+specified by the environment variable @env{EDITOR}.  If you set
+@env{EDITOR} to @samp{emacs}, Emacs would be invoked, but in an
+inconvenient way---by starting a new Emacs process.  This is
 inconvenient because the new Emacs process doesn't share buffers, a
 command history, or other kinds of information with any existing Emacs
 process.
@@ -1387,30 +1341,33 @@ process.
 server}, so that it ``listens'' for external edit requests and acts
 accordingly.  There are two ways to start an Emacs server:
 
+@itemize
 @findex server-start
-  The first is to run the command @code{server-start} in an existing
-Emacs process: either type @kbd{M-x server-start}, or put the
-expression @code{(server-start)} in your initialization file
-(@pxref{Init File}).  The existing Emacs process is the server; when
-you exit Emacs, the server dies with the Emacs process.
+@item
+Run the command @code{server-start} in an existing Emacs process:
+either type @kbd{M-x server-start}, or put the expression
+@code{(server-start)} in your init file (@pxref{Init File}).  The
+existing Emacs process is the server; when you exit Emacs, the server
+dies with the Emacs process.
 
 @cindex daemon, Emacs
-  The second way to start an Emacs server is to run Emacs as a
-@dfn{daemon}, using the @samp{--daemon} command-line option.
-@xref{Initial Options}.  When Emacs is started this way, it calls
-@code{server-start} after initialization, and returns control to the
-calling terminal instead of opening an initial frame; it then waits in
-the background, listening for edit requests.
+@item
+Run Emacs as a @dfn{daemon}, using the @samp{--daemon} command-line
+option.  @xref{Initial Options}.  When Emacs is started this way, it
+calls @code{server-start} after initialization, and returns control to
+the calling terminal instead of opening an initial frame; it then
+waits in the background, listening for edit requests.
+@end itemize
 
 @cindex @env{TEXEDIT} environment variable
-  Once an Emacs server is set up, you can use a shell command called
-@command{emacsclient} to connect to the existing Emacs process and
-tell it to visit a file.  If you set the @env{EDITOR} environment
-variable to @samp{emacsclient}, programs such as @command{mail} will
-use the existing Emacs process for editing.@footnote{Some programs use
-a different environment variable; for example, to make @TeX{} use
-@samp{emacsclient}, set the @env{TEXEDIT} environment variable to
-@samp{emacsclient +%d %s}.}
+  Either way, once an Emacs server is started, you can use a shell
+command called @command{emacsclient} to connect to the Emacs process
+and tell it to visit a file.  You can then set the @env{EDITOR}
+environment variable to @samp{emacsclient}, so that external programs
+will use the existing Emacs process for editing.@footnote{Some
+programs use a different environment variable; for example, to make
+@TeX{} use @samp{emacsclient}, set the @env{TEXEDIT} environment
+variable to @samp{emacsclient +%d %s}.}
 
 @vindex server-name
   You can run multiple Emacs servers on the same machine by giving
@@ -1421,13 +1378,13 @@ server-name @key{RET} foo @key{RET}} sets the server name to
 name, using the @samp{-s} option (@pxref{emacsclient Options}).
 
 @findex server-eval-at
-  If you have defined a server by a unique server name, you can
-connect to this server from other Emacs instances and evaluate forms
-on it by using the @code{server-eval-at} function.
-
-@code{(server-eval-at "foo" '(+ 1 2))} gives the result @code{3}, if
-there's a server with that name that is listening.  If not, an error
-will be signaled.
+  If you have defined a server by a unique server name, it is possible
+to connect to the server from another Emacs instance and evaluate Lisp
+expressions on the server, using the @code{server-eval-at} function.
+For instance, @code{(server-eval-at "foo" '(+ 1 2))} evaluates the
+expression @code{(+ 1 2)} on the @samp{foo} server, and returns
+@code{3}.  (If there is no server with that name, an error is
+signaled.)  Currently, this feature is mainly useful for developers.
 
 @menu
 * Invoking emacsclient:: Connecting to the Emacs server.
@@ -1541,14 +1498,14 @@ precedence.
 
 @item -c
 Create a new graphical frame, instead of using an existing Emacs
-frame.  Emacs 23 can create a graphical frame even if it was started
-in a text-only terminal, provided it is able to connect to a graphical
+frame.  Emacs can create a graphical frame even if it was started in a
+text-only terminal, provided it is able to connect to a graphical
 display.  If no graphical display is available, Emacs creates a new
 text-only terminal frame (@pxref{Frames}).  If you omit a filename
 argument while supplying the @samp{-c} option, the new frame displays
 the @samp{*scratch*} buffer (@pxref{Buffers}).
 
-@item -F
+@item -F @var{alist}
 @itemx --frame-parameters=@var{alist}
 Set the parameters for a newly-created graphical frame
 (@pxref{Frame Parameters}).
@@ -1629,7 +1586,7 @@ server it finds.  (This option is not supported on MS-Windows.)
 @itemx --tty
 @itemx -nw
 Create a new Emacs frame on the current text-only terminal, instead of
-using an existing Emacs frame.  Emacs 23 can open a text-only terminal
+using an existing Emacs frame.  Emacs can open a text-only terminal
 even if it was started in another text-only terminal, or on a
 graphical display.  If you omit a filename argument while supplying
 this option, the new frame displays the @samp{*scratch*} buffer.
@@ -1653,23 +1610,23 @@ process, type @kbd{M-x kill-emacs}.
 @cindex hardcopy
 @cindex printing
 
-  Emacs provides commands for printing hard copies of either an entire
-buffer or just part of one, with or without page headers.  You can
-invoke the printing commands directly, as detailed in the following
-section, or using the @samp{File} menu on the menu bar.
+  Emacs provides commands for printing hardcopies of either an entire
+buffer or part of one.  You can invoke the printing commands directly,
+as detailed below, or using the @samp{File} menu on the menu bar.
 
 @findex htmlfontify-buffer
   Aside from the commands described in this section, you can also
-``print'' an Emacs buffer to HTML with @kbd{M-x htmlfontify-buffer}.
-This command converts the current buffer to a HTML file, replacing
-Emacs faces with CSS-based markup.  In addition, see the hardcopy
-commands of Dired (@pxref{Misc File Ops}) and the diary
-(@pxref{Displaying the Diary}).
+print hardcopies from Dired (@pxref{Operating on Files}) and the diary
+(@pxref{Displaying the Diary}).  You can also ``print'' an Emacs
+buffer to HTML with the command @kbd{M-x htmlfontify-buffer}, which
+converts the current buffer to a HTML file, replacing Emacs faces with
+CSS-based markup.  Furthermore, Org mode allows you to ``print'' Org
+files to a variety of formats, such as PDF (@pxref{Org Mode}).
 
 @table @kbd
 @item M-x print-buffer
-Print hardcopy of current buffer with page headings containing the file
-name and page number.
+Print hardcopy of current buffer with page headings containing the
+file name and page number.
 @item M-x lpr-buffer
 Print hardcopy of current buffer without page headings.
 @item M-x print-region
@@ -1683,33 +1640,32 @@ Like @code{lpr-buffer} but print only the current region.
 @findex lpr-buffer
 @findex lpr-region
 @vindex lpr-switches
-  The hardcopy commands (aside from the PostScript commands) pass extra
-switches to the @code{lpr} program based on the value of the variable
-@code{lpr-switches}.  Its value should be a list of strings, each string
-an option starting with @samp{-}.  For example, to specify a line width
-of 80 columns for all the printing you do in Emacs, set
-@code{lpr-switches} like this:
-
-@example
-(setq lpr-switches '("-w80"))
-@end example
+@vindex lpr-commands
+  On most operating system, the above hardcopy commands submit files
+for printing by calling the @command{lpr} program.  To change the
+printer program, customize the variable @code{lpr-command}.  To
+specify extra switches to give the printer program, customize the list
+variable @code{lpr-switches}.  Its value should be a list of option
+strings, each of which should start with @samp{-} (e.g.@: the option
+string @code{"-w80"} specifies a line width of 80 columns).  The
+default is the empty list, @code{nil}.
 
 @vindex printer-name
-  You can specify the printer to use by setting the variable
-@code{printer-name}.
+@vindex lpr-printer-switch
+  To specify the printer to use, set the variable @code{printer-name}.
+The default, @code{nil}, specifies the default printer.  If you set it
+to a printer name (a string), that name is passed to @command{lpr}
+with the @samp{-P} switch; if you are not using @command{lpr}, you
+should specify the switch with @code{lpr-printer-switch}.
 
 @vindex lpr-headers-switches
-@vindex lpr-commands
 @vindex lpr-add-switches
-  The variable @code{lpr-command} specifies the name of the printer
-program to run; the default value depends on your operating system type.
-On most systems, the default is @code{"lpr"}.  The variable
-@code{lpr-headers-switches} similarly specifies the extra switches to
-use to make page headers.  The variable @code{lpr-add-switches} controls
-whether to supply @samp{-T} and @samp{-J} options (suitable for
-@code{lpr}) to the printer program: @code{nil} means don't add them.
-@code{lpr-add-switches} should be @code{nil} if your printer program is
-not compatible with @code{lpr}.
+  The variable @code{lpr-headers-switches} similarly specifies the
+extra switches to use to make page headers.  The variable
+@code{lpr-add-switches} controls whether to supply @samp{-T} and
+@samp{-J} options (suitable for @command{lpr}) to the printer program:
+@code{nil} means don't add them (this should be the value if your
+printer program is not compatible with @command{lpr}).
 
 @menu
 * PostScript::           Printing buffers or regions as PostScript.
@@ -1752,28 +1708,17 @@ Generate/print PostScript for the current buffer as if handwritten.
 @findex ps-print-buffer
 @findex ps-print-region-with-faces
 @findex ps-print-buffer-with-faces
-  The PostScript commands, @code{ps-print-buffer} and
-@code{ps-print-region}, print buffer contents in PostScript form.  One
-command prints the entire buffer; the other, just the region.  The
-corresponding @samp{-with-faces} commands,
-@code{ps-print-buffer-with-faces} and @code{ps-print-region-with-faces},
-use PostScript features to show the faces (fonts and colors) in the text
-properties of the text being printed.  The @samp{-with-faces} commands only
-work if they are used in a window system, so it has a way to determine color
-values.
+  The @code{ps-print-buffer} and @code{ps-print-region} commands print
+buffer contents in PostScript form.  One command prints the entire
+buffer; the other, just the region.  The commands
+@code{ps-print-buffer-with-faces} and
+@code{ps-print-region-with-faces} behave similarly, but use PostScript
+features to show the faces (fonts and colors) of the buffer text.
 
   Interactively, when you use a prefix argument (@kbd{C-u}), the command
 prompts the user for a file name, and saves the PostScript image in that file
 instead of sending it to the printer.
 
-  Noninteractively, the argument @var{filename} is treated as follows: if it is
-@code{nil}, send the image to the printer.  If @var{filename} is a string, save
-the PostScript image in a file with that name.
-
-  If you are using a color display, you can print a buffer of program
-code with color highlighting by turning on Font-Lock mode in that
-buffer, and using @code{ps-print-buffer-with-faces}.
-
 @findex ps-spool-region
 @findex ps-spool-buffer
 @findex ps-spool-region-with-faces
@@ -1782,31 +1727,21 @@ buffer, and using @code{ps-print-buffer-with-faces}.
 generate the PostScript output in an Emacs buffer instead of sending
 it to the printer.
 
-  Use the command @code{ps-despool} to send the spooled images to the printer.
-
 @findex ps-despool
-  This command sends the PostScript generated by  @samp{-spool-} commands (see
-commands above) to the printer.
-
-  Interactively, when you use a prefix argument (@kbd{C-u}), the command
-prompts the user for a file name, and saves the spooled PostScript image in
-that file instead of sending it to the printer.
-
-  Noninteractively, the argument @var{filename} is treated as follows: if it is
-@code{nil}, send the image to the printer.  If @var{filename} is a string, save
-the PostScript image in a file with that name.
+  Use the command @code{ps-despool} to send the spooled images to the
+printer.  This command sends the PostScript generated by
+@samp{-spool-} commands (see commands above) to the printer.  With a
+prefix argument (@kbd{C-u}), it prompts for a file name, and saves the
+spooled PostScript image in that file instead of sending it to the
+printer.
 
 @findex handwrite
 @cindex handwriting
-@kbd{M-x handwrite} is more frivolous.  It generates a PostScript
+  @kbd{M-x handwrite} is more frivolous.  It generates a PostScript
 rendition of the current buffer as a cursive handwritten document.  It
 can be customized in group @code{handwrite}.  This function only
 supports ISO 8859-1 characters.
 
-@ifnottex
-  The following section describes variables for customizing these commands.
-@end ifnottex
-
 @node PostScript Variables, Printing Package, PostScript, Printing
 @subsection Variables for PostScript Hardcopy
 
@@ -2355,26 +2290,8 @@ key bindings.
 @node Hyperlinking, Amusements, Emulation, Top
 @section Hyperlinking and Navigation Features
 
-@cindex hyperlinking
-@cindex navigation
-  Various modes documented elsewhere have hypertext features so that
-you can follow links, usually by clicking @kbd{Mouse-2} on the link or
-typing @key{RET} while point is on the link.  Clicking @kbd{Mouse-1}
-quickly on the link also follows it.  (Hold @kbd{Mouse-1} for longer
-if you want to set point instead.)
-
-  Info mode, Help mode and the Dired-like modes are examples of modes
-that have links in the buffer.  The Tags facility links between uses
-and definitions in source files, see @ref{Tags}.  Imenu provides
-navigation amongst items indexed in the current buffer, see
-@ref{Imenu}.  Info-lookup provides mode-specific lookup of definitions
-in Info indexes, see @ref{Documentation}.  Speedbar maintains a frame
-in which links to files, and locations in files are displayed, see
-@ref{Speedbar}.
-
-  Other non-mode-specific facilities described in this section enable
-following links from the current buffer in a context-sensitive
-fashion.
+  The following subsections describe convenience features for handling
+URLs and other types of links occurring in Emacs buffer text.
 
 @menu
 * Browse-URL::                  Following URLs.
@@ -2397,31 +2314,31 @@ fashion.
 Load a URL into a Web browser.
 @end table
 
-The Browse-URL package provides facilities for following URLs specifying
-links on the World Wide Web.  Usually this works by invoking a web
-browser, but you can, for instance, arrange to invoke @code{compose-mail}
-from @samp{mailto:} URLs.
+  The Browse-URL package allows you to easily follow URLs from within
+Emacs.  Most URLs are followed by invoking a web browser;
+@samp{mailto:} URLs are followed by invoking the @code{compose-mail}
+Emacs command to send mail to the specified address (@pxref{Sending
+Mail}).
 
-  The general way to use this feature is to type @kbd{M-x browse-url},
-which displays a specified URL.  If point is located near a plausible
-URL, that URL is used as the default.  Other commands are available
-which you might like to bind to keys, such as
-@code{browse-url-at-point} and @code{browse-url-at-mouse}.
+  The command @kbd{M-x browse-url} prompts for a URL, and follows it.
+If point is located near a plausible URL, that URL is offered as the
+default.  The Browse-URL package also provides other commands which
+you might like to bind to keys, such as @code{browse-url-at-point} and
+@code{browse-url-at-mouse}.
 
+@vindex browse-url-mailto-function
 @vindex browse-url-browser-function
   You can customize Browse-URL's behavior via various options in the
-@code{browse-url} Customize group, particularly
-@code{browse-url-browser-function}.  You can invoke actions dependent
-on the type of URL by defining @code{browse-url-browser-function} as
-an association list.  The package's commentary available via @kbd{C-h
-p} under the @samp{hypermedia} keyword provides more information.
-Packages with facilities for following URLs should always go through
-Browse-URL, so that the customization options for Browse-URL will
-affect all browsing in Emacs.
+@code{browse-url} Customize group.  In particular, the option
+@code{browse-url-mailto-function} lets you define how to follow
+@samp{mailto:} URLs, while @code{browse-url-browser-function} lets you
+define how to follow other types of URLs.  For more information, view
+the package commentary by typing @kbd{C-h P browse-url @key{RET}}.
 
 @node Goto Address mode
 @subsection Activating URLs
 @findex goto-address-mode
+@cindex mode, Goto Address
 @cindex Goto Address mode
 @cindex URLs, activating
 
@@ -2430,20 +2347,23 @@ affect all browsing in Emacs.
 Activate URLs and e-mail addresses in the current buffer.
 @end table
 
-  You can make URLs in the current buffer active with @kbd{M-x
-goto-address-mode}.  This minor mode finds all the URLs in the buffer,
-highlights them, and turns them into @dfn{buttons}: if you click on a
-URL with @kbd{Mouse-1} or @kbd{Mouse-2} (@pxref{Mouse References}), or
-move to the URL and type @kbd{C-c @key{RET}}, that displays the web
-page that the URL specifies.  For a @samp{mailto} URL, it sends mail
-instead, using your selected mail-composition method (@pxref{Mail
-Methods}).
+@kindex C-c RET @r{(Goto Address mode)}
+@findex goto-address-at-point
+  You can make Emacs mark out URLs specially in the current buffer, by
+typing @kbd{M-x goto-address-mode}.  When this buffer-local minor mode
+is enabled, it finds all the URLs in the buffer, highlights them, and
+turns them into clickable buttons.  You can follow the URL by typing
+@kbd{C-c @key{RET}} (@code{goto-address-at-point}) while point is on
+its text; or by clicking with @kbd{Mouse-2}, or by clicking
+@kbd{Mouse-1} quickly (@pxref{Mouse References}).  Following a URL is
+done by calling @code{browse-url} as a subroutine
+(@pxref{Browse-URL}).
 
   It can be useful to add @code{goto-address-mode} to mode hooks and
-the hooks used to display an incoming message (e.g.,
-@code{rmail-show-message-hook} for Rmail, and @code{mh-show-mode-hook}
-for MH-E).  This is not needed for Gnus, which has a similar feature
-of its own.
+hooks for displaying an incoming message
+(e.g.@: @code{rmail-show-message-hook} for Rmail, and
+@code{mh-show-mode-hook} for MH-E).  This is not needed for Gnus,
+which has a similar feature of its own.
 
 @node FFAP
 @subsection Finding Files and URLs at Point
@@ -2454,24 +2374,24 @@ of its own.
 @findex ffap-menu
 @cindex finding file at point
 
-  FFAP mode replaces certain key bindings for finding files, including
-@kbd{C-x C-f}, with commands that provide more sensitive defaults.
-These commands behave like the ordinary ones when given a prefix
-argument.  Otherwise, they get the default file name or URL from the
-text around point.  If what is found in the buffer has the form of a
-URL rather than a file name, the commands use @code{browse-url} to
-view it.
+  The FFAP package replaces certain key bindings for finding files,
+such as @kbd{C-x C-f}, with commands that provide more sensitive
+defaults.  These commands behave like the ordinary ones when given a
+prefix argument.  Otherwise, they get the default file name or URL
+from the text around point.  If what is found in the buffer has the
+form of a URL rather than a file name, the commands use
+@code{browse-url} to view it (@pxref{Browse-URL}).
 
   This feature is useful for following references in mail or news
-buffers, @file{README} files, @file{MANIFEST} files, and so on.  The
-@samp{ffap} package's commentary available via @kbd{C-h p} under the
-@samp{files} keyword and the @code{ffap} Custom group provide details.
+buffers, @file{README} files, @file{MANIFEST} files, and so on.  For
+more information, view the package commentary by typing @kbd{C-h P
+ffap @key{RET}}.
 
 @cindex FFAP minor mode
 @findex ffap-mode
-  You can turn on FFAP minor mode by calling @code{ffap-bindings} to
-make the following key bindings and to install hooks for using
-@code{ffap} in Rmail, Gnus and VM article buffers.
+  To enable FFAP, type @kbd{M-x ffap-bindings}.  This makes the
+following key bindings, and also installs hooks for additional FFAP
+functionality in Rmail, Gnus and VM article buffers.
 
 @table @kbd
 @item C-x C-f @var{filename} @key{RET}
@@ -2580,18 +2500,22 @@ bored, try an argument of 9.  Sit back and watch.
 @cindex Life
   @kbd{M-x life} runs Conway's ``Life'' cellular automaton.
 
-@findex lm
+@findex landmark
 @cindex landmark game
-  @kbd{M-x lm} runs a relatively non-participatory game in which a
-robot attempts to maneuver towards a tree at the center of the window
-based on unique olfactory cues from each of the four directions.
+  @kbd{M-x landmark} runs a relatively non-participatory game in which
+a robot attempts to maneuver towards a tree at the center of the
+window based on unique olfactory cues from each of the four
+directions.
 
 @findex morse-region
 @findex unmorse-region
+@findex nato-region
 @cindex Morse code
 @cindex --/---/.-./.../.
-  @kbd{M-x morse-region} converts text in a region to Morse code and
-@kbd{M-x unmorse-region} converts it back.  No cause for remorse.
+  @kbd{M-x morse-region} converts the text in the region to Morse
+code; @kbd{M-x unmorse-region} converts it back.  @kbd{M-x
+nato-region} converts the text in the region to NATO phonetic
+alphabet; @kbd{M-x denato-region} converts it back.
 
 @findex pong
 @cindex Pong game
@@ -2611,9 +2535,11 @@ across other pegs.
   The command @kbd{M-x zone} plays games with the display when Emacs
 is idle.
 
-  Finally, if you find yourself frustrated, try the famous Eliza
-program.  Just do @kbd{M-x doctor}.  End each input by typing
-@key{RET} twice.
+@findex doctor
+@cindex Eliza
+  Finally, if you find yourself frustrated, try describing your
+problems to the famous psychotherapist Eliza.  Just do @kbd{M-x
+doctor}.  End each input by typing @key{RET} twice.
 
 @ifnottex
 @lowersections
index 4d574242c8daac8c1b5ae353b243c8b9d1caa2de..52ecd37fcf21fad4a3008011b81c550cd8974ce5 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Modes, Indentation, International, Top
@@ -96,7 +96,7 @@ 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
+for instance, programming language modes typically set a buffer-local
 value for the variable @code{comment-start}, which determines how
 source code comments are delimited (@pxref{Comments}).
 
index 095a0cdacbf8db31b530678d66b5a5b8874fb2bd..dc50b3d248fcee6f6fcfddb5dd2b71fe5d6f26b7 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
index 547d8cbadd98f0babb097adc01489fd715c021ae..d31906d9b04e9a5eae04ca7d1d3ea9816d7de392 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
index f676f0b96ce1905d7c21bff0288b91730413f0f4..aebff1e463a1e4418c0562e6316f36ab4e5acc53 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1997, 1999-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1997, 1999-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node International, Modes, Frames, Top
 @chapter International Character Set Support
index b342cbbf18cf60557d34508919fd8b5ed171f401..7e2aa20d52e8f362bd487ca443cb36f355b28e5e 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Packages
@@ -20,7 +20,7 @@ via this buffer.  @xref{Package Menu}.
 
 @findex describe-package
   The command @kbd{C-h P} (@code{describe-package}) prompts for the
-name of a package, and displays a help buffer describing that
+name of a package, and displays a help buffer describing the
 attributes of the package and the features that it implements.
 
   By default, Emacs downloads packages from a @dfn{package archive}
@@ -119,9 +119,9 @@ dependencies; also, delete all packages marked with @kbd{d}
 (@code{package-menu-execute}).  This also removes the marks.
 
 @item r
-Refresh the package list (@code{package-menu-refresh}).  This also
-retrieves the list of available packages from the package archive
-again.
+Refresh the package list (@code{package-menu-refresh}).  This fetches
+the list of available packages from the package archive again, and
+recomputes the package list.
 @end table
 
 @noindent
index 43a2dbc4704b4dbcea3bb6fed2af92d10f4e2162..629baaf9c52a57aaceea695ed4616bcd47c5fc09 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
index bb62ad67b2af6357e73c325a65a8044b544bb0ba..7fef7fb1e22fea471503aeffddc6d3bd13981517 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Programs, Building, Text, Top
@@ -38,8 +38,8 @@ Highlight program syntax (@pxref{Font Lock}).
 * Glasses::             Making identifiersLikeThis more readable.
 * Semantic::            Suite of editing tools based on source code parsing.
 * Misc for Programs::   Other Emacs features useful for editing programs.
-* C Modes::             Special commands of C, C++, Objective-C,
-                          Java, and Pike modes.
+* C Modes::             Special commands of C, C++, Objective-C, Java,
+                          IDL, Pike and AWK modes.
 * Asm Mode::            Asm mode and its special features.
 @ifnottex
 * Fortran::             Fortran mode and its special features.
@@ -606,6 +606,14 @@ information on customizing indentation for C and related modes,
 including how to override parts of an existing style and how to define
 your own styles.
 
+@findex c-guess
+@findex c-guess-install
+  As an alternative to specifying a style, you can tell Emacs to guess
+a style by typing @kbd{M-x c-guess} in a sample code buffer.  You can
+then apply the guessed style to other buffers with @kbd{M-x
+c-guess-install}.  @xref{Guessing the Style,,, ccmode, the CC Mode
+Manual}, for details.
+
 @node Parentheses
 @section Commands for Editing with Parentheses
 
@@ -1283,18 +1291,18 @@ for switching graphical windows, so you should type @kbd{C-M-i} or
 @kbd{@key{ESC} @key{TAB}} instead.
 
 @cindex tags-based completion
-  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}).
-
+@findex completion-at-point
 @cindex Lisp symbol completion
 @cindex completion (Lisp symbols)
-  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 most programming language modes, @kbd{C-M-i} (or
+@kbd{M-@key{TAB}}) invokes the command @code{completion-at-point},
+which generates its completion list in a flexible way.  If Semantic
+mode is enabled, it tries to use the Semantic parser data for
+completion (@pxref{Semantic}).  If Semantic mode is not enabled or
+fails at performing completion, it tries to complete using the
+selected tags table (@pxref{Tags}).  If in Emacs Lisp mode, it
+performs completion using the function, variable, or property names
+defined in the current Emacs session.
 
   In all other respects, in-buffer symbol completion behaves like
 minibuffer completion.  For instance, if Emacs cannot complete to a
@@ -1462,17 +1470,17 @@ with Emacs.
 related modes.
 
 @table @code
-@item M-x c-beginning-of-defun
-@itemx M-x c-end-of-defun
+@item C-M-a
+@itemx C-M-e
 @findex c-beginning-of-defun
 @findex c-end-of-defun
 Move point to the beginning or end of the current function or
-top-level definition.  These are found by searching for the least
+top-level definition.  In languages with enclosing scopes (such as
+C++'s classes) the @dfn{current function} is the immediate one,
+possibly inside a scope.  Otherwise it is the one defined by the least
 enclosing braces.  (By contrast, @code{beginning-of-defun} and
-@code{end-of-defun} search for braces in column zero.)  If you are
-editing code where the opening brace of a function isn't placed in
-column zero, you may wish to bind @code{C-M-a} and @code{C-M-e} to
-these commands.  @xref{Moving by Defuns}.
+@code{end-of-defun} search for braces in column zero.)  @xref{Moving
+by Defuns}.
 
 @item C-c C-u
 @kindex C-c C-u @r{(C mode)}
index f7fd52bd28d8dfd5d873437fa25dae473fa9c9dd..d02ddd64b498db0a6935350f0c53dca38863912a 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Registers, Display, Killing, Top
index d05af468fa17c01658de3b043f7d4ad277903aeb..9713b825ee844037b45c3643fae7b6c8863bfde7 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Rmail
index fcc31e30988d136a0d60fd30f1143de69b16b935..fe3222e198f6a7fc888bd21900574c4eab4a8391 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Screen, User Input, Acknowledgments, Top
index c6747042df5725f2c67c088998e496f36e4ba2ca..877e291ff367a7c757e21cd8a3c737095309355b 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Search, Fixit, Display, Top
index 50ec852d7402e46fbbd01d73799f85ff4c6b589e..6f154ce2af639aa3ba21515221a17749aa1c8c1e 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Sending Mail
 
 @kindex C-x m
 @findex compose-mail
-  To send an @dfn{e-mail} message in Emacs, type @kbd{C-x m}.  This
-selects and initializes a buffer named @samp{*mail*}, where you can
-edit the text and headers of the message.  Finally, type @kbd{C-c C-s}
-or @kbd{C-c C-c} to send the message.
+  To send an email message from Emacs, type @kbd{C-x m}.  This
+switches to a buffer named @samp{*unsent mail*}, where you can edit
+the text and headers of the message.  When done, type @kbd{C-c C-s} or
+@kbd{C-c C-c} to send it.
 
 @table @kbd
 @item C-x m
@@ -30,37 +30,28 @@ In the mail buffer, send the message and bury the buffer
 (@code{message-send-and-exit}).
 @end table
 
+  The mail buffer is an ordinary Emacs buffer, so you can switch to
+other buffers while composing the mail.  If you want to send another
+mail before finishing the current one, type @kbd{C-x m} again to open
+a new mail buffer whose name has a different numeric suffix
+(@pxref{Misc Buffer}).  If you invoke the command with a prefix
+argument, @w{@kbd{C-u C-x m}}, Emacs switches back to the last mail
+buffer, and asks if you want to erase the message in that buffer; if
+you answer no, this lets you pick up editing the message where you
+left off.
+
 @kindex C-x 4 m
 @findex compose-mail-other-window
 @kindex C-x 5 m
 @findex compose-mail-other-frame
-@noindent
-The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does the
-same as @kbd{C-x m}, except it displays the mail buffer in a different
-window.  The command @kbd{C-x 5 m} (@code{compose-mail-other-frame})
-creates a new frame for the mail buffer.
-
-  Because the mail buffer is an ordinary Emacs buffer, you can switch
-to other buffers while in the middle of composing mail, and switch
-back later (or never).  If you type @kbd{C-x m} again when you have
-been composing another message but have not sent it, Emacs asks for
-confirmation before erasing the old message.  If you answer @kbd{n},
-Emacs selects the mail buffer with its old contents, so you can finish
-the old message and send it.  @kbd{C-u C-x m} is another way to do
-this.  Sending the message marks the mail buffer ``unmodified,'' which
-avoids the need for confirmation when @kbd{C-x m} is next used.
-
-  If you want to send another message before finishing the current
-message, use the command @kbd{M-x rename-uniquely} to rename the
-current mail buffer (@pxref{Misc Buffer}).  Then you can use @kbd{C-x
-m} to make a new mail buffer, and work with each mail buffer
-independently.
-
-  Before using Emacs to send mail, you may need to customize the
-variable @code{send-mail-function} if your system is not set up to
-deliver mail directly via SMTP (@pxref{Mail Sending}).  In addition,
-you may need to customize @code{user-mail-address} if the system
-cannot receive mail via SMTP (@pxref{Mail Headers}).
+  The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does
+the same as @kbd{C-x m}, except it displays the mail buffer in a
+different window.  The command @kbd{C-x 5 m}
+(@code{compose-mail-other-frame}) does it in a new frame.
+
+  When you type @kbd{C-c C-c} or @kbd{C-c C-s} to send the mail, Emacs
+may ask you how it should deliver the mail---either directly via SMTP,
+or using some other method.  @xref{Mail Sending}, for details.
 
 @menu
 * Format: Mail Format.        Format of a mail message.
@@ -75,77 +66,91 @@ cannot receive mail via SMTP (@pxref{Mail Headers}).
 @node Mail Format
 @section The Format of the Mail Buffer
 
-  An email message must contain certain pieces of information, called
-@dfn{headers}, which specify the message's sender, recipient(s), and
-so on.
-
-  At the top of the mail buffer is a set of @dfn{header fields}, where
-you can enter this information.  You can insert and edit header fields
-using ordinary editing commands.  @xref{Header Editing}, for commands
-specific to editing header fields.
-
-  Some header fields are automatically pre-initialized in the buffer,
-when appropriate; other headers, such as @samp{Date} and
-@samp{Message-Id}, are normally omitted from the mail buffer and
-created automatically when the message is sent.
-
-@vindex mail-header-separator
-  The line in the buffer that says
-
-@smallexample
---text follows this line--
-@end smallexample
-
-@noindent
-separates the header fields from the @dfn{body} (or @dfn{text}) of the
-message.  Everything above this line is treated as part of the
-headers; everything below it is treated as the body.  The delimiter
-line itself does not appear in the message actually sent.  The text
-used for the delimiter line is controlled by the variable
-@code{mail-header-separator}.
-
-  Here is an example of what the headers and text in the mail buffer
-might look like.
+  Here is an example of the contents of a mail buffer:
 
 @example
-To: gnu@@example.org
-CC: lungfish@@example.com, byob@@example.net
-Subject: The Emacs Manual
+To: subotai@@example.org
+CC: mongol.soldier@@example.net, rms@@gnu.org
+Subject: Re: What is best in life?
+From: conan@@example.org
 --text follows this line--
-Please ignore this message.
+To crush your enemies, see them driven before you, and to hear the
+lamentation of their women.
 @end example
 
+@noindent
+At the top of the mail buffer is a set of @dfn{header fields}, which
+are used for specifying information about the email's recipient(s),
+subject, and so on.  The above buffer contains header fields for
+@samp{To}, @samp{Cc}, @samp{Subject}, and @samp{From}.  Some header
+fields are automatically pre-initialized in the mail buffer, when
+appropriate.
+
+  The line that says @samp{--text follows this line--} separates the
+header fields from the @dfn{body} (or @dfn{text}) of the message.
+Everything above that line is treated as part of the headers;
+everything below it is treated as the body.  The delimiter line itself
+does not appear in the message actually sent.
+
+  You can insert and edit header fields using ordinary editing
+commands.  @xref{Header Editing}, for commands specific to editing
+header fields.  Certain headers, such as @samp{Date} and
+@samp{Message-Id}, are normally omitted from the mail buffer and are
+created automatically when the message is sent.
+
 @node Mail Headers
 @section Mail Header Fields
 @cindex headers (of mail message)
 
   A header field in the mail buffer starts with a field name at the
 beginning of a line, terminated by a colon.  Upper and lower case are
-equivalent in field names (and in mailing addresses also).  After the
-colon and optional whitespace comes the contents of the field.
+equivalent in field names.  After the colon and optional whitespace
+comes the contents of the field.
 
   You can use any name you like for a header field, but normally
-people use only standard field names with accepted meanings.  Here is
-a table of commonly-used fields.  Emacs pre-initializes some of these,
-depending on various options you can set.  You can delete or alter any
-header field before you send the message, if you wish.
+people use only standard field names with accepted meanings.
 
-@table @samp
-@item From
+@vindex user-full-name
 @vindex user-mail-address
-The address of the sender (you).  This should be a valid mailing
-address, as replies will normally go there.  Emacs initializes this
-field using the variables @code{user-full-name} and
-@code{user-mail-address}; see below.
+  The @samp{From} header field identifies the person sending the email
+(i.e.@: you).  This should be a valid mailing address, as replies are
+normally sent there.  The default contents of this header field are
+computed from the variables @code{user-full-name} (which specifies
+your full name) and @code{user-mail-address} (your email address).  On
+some operating systems, Emacs initializes these two variables using
+environment variables (@pxref{General Variables}).  If this
+information is unavailable or wrong, you should customize the
+variables yourself (@pxref{Easy Customization}).
+
+@vindex mail-from-style
+  The value of the variable @code{mail-from-style} specifies how to
+format the contents of the @samp{From} field:
+
+@table @asis
+@item @code{nil}
+Use just the address, as in @samp{king@@grassland.com}.
+@item @code{parens}
+Use both address and full name, as in:@*
+@samp{king@@grassland.com (Elvis Parsley)}.
+@item @code{angles}
+Use both address and full name, as in:@*
+@samp{Elvis Parsley <king@@grassland.com>}.
+@item any other value
+Use @code{angles} normally.  But if the address must be ``quoted'' to
+remain syntactically valid under the @code{angles} format but not
+under the @code{parens} format, use @code{parens} instead.  This is
+the default.
+@end table
+
+  Apart from @samp{From}, here is a table of commonly-used fields:
 
+@table @samp
 @item To
 The mailing address(es) to which the message is addressed.  To list
-more than one address, use commas (not spaces) to separate them.
+more than one address, use commas to separate them.
 
 @item Subject
-A piece of text saying what the message is about.  Most mail-reading
-programs can display a summary of messages, listing the subject of
-each message but not its text.
+The subject of the message.
 
 @item CC
 Additional mailing address(es) to send the message to.  This is like
@@ -158,47 +163,38 @@ not appear in the header of the message actually sent.  ``BCC'' stands
 for @dfn{blind carbon copies}.
 
 @item FCC
-The name of one file, to which a copy of the sent message should be
+The name of a file, to which a copy of the sent message should be
 appended.  Emacs writes the message in mbox format, unless the file is
 in Babyl format (used by Rmail before Emacs 23), in which case Emacs
-writes Babyl.  If an Rmail buffer is visiting the file, Emacs updates
-it accordingly.  To specify more than one file, use several @samp{FCC}
-fields, with one file name in each field.
+writes in Babyl format.  If an Rmail buffer is visiting the file,
+Emacs updates it accordingly.  To specify more than one file, use
+several @samp{FCC} fields, with one file name in each field.
 
 @item Reply-to
 An address to which replies should be sent, instead of @samp{From}.
-You can use this header if, for some reason, your @samp{From} address
-is unable to receive replies.
+This is used if, for some reason, your @samp{From} address cannot
+receive replies.
 
 @item Mail-reply-to
-  This field takes precedence over @samp{Reply-to}.  It is used because
-some mailing lists set the @samp{Reply-to} field for their own purposes
-(a somewhat controversial practice).
+This field takes precedence over @samp{Reply-to}.  It is used because
+some mailing lists set the @samp{Reply-to} field for their own
+purposes (a somewhat controversial practice).
 
 @item Mail-followup-to
-  This field contains one or more addresses.  It is typically used when
-you reply to a message from a mailing list that you are subscribed to.
-It usually indicates that you want replies to go to the list, and that
-you do not need an extra copy sent directly to you.
-
-@c Message mode handles this differently...
-@c @vindex mail-mailing-lists
-@c   The variable @code{mail-mailing-lists} holds a list of mailing list
-@c addresses that you are subscribed to.  If it is non-@code{nil}, Emacs
-@c inserts an appropriate @samp{Mail-followup-to} header when sending mail
-@c to a mailing list.
+One of more address(es) to use as default recipient(s) for follow-up
+messages.  This is typically used when you reply to a message from a
+mailing list that you are subscribed to, and want replies to go to the
+list without sending an extra copy to you.
 
 @item In-reply-to
-A piece of text describing the message you are replying to.  Some mail
-systems can use this information to correlate related pieces of mail.
-Normally, you never need to think about this, because it is filled in
-automatically when you reply to a message in Rmail (or any other mail
-program built into Emacs).
+An identifier for the message you are replying to.  Most mail readers
+use this information to group related messages together.  Normally,
+this header is filled in automatically when you reply to a message in
+any mail program built into Emacs.
 
 @item References
-The Message-Ids of previous related messages (a Message-Id is a unique
-identifier generated when a message is sent).  Like
-@samp{In-reply-to}, this is normally set up automatically for you.
+Identifiers for previous related messages.  Like @samp{In-reply-to},
+this is normally filled in automatically for you.
 @end table
 
 @noindent
@@ -217,35 +213,6 @@ To: foo@@example.net, this@@example.net,
 @end group
 @end example
 
-@vindex user-full-name
-@vindex user-mail-address
-  The default contents of the @samp{From} header field are computed
-from the variables @code{user-full-name} and @code{user-mail-address}.
-On some operating systems, Emacs initializes these two variables using
-environment variables (@pxref{General Variables}).  If this
-information is unavailable or wrong, you can customize the variables
-yourself (@pxref{Easy Customization}).
-
-@vindex mail-from-style
-  The value of the variable @code{mail-from-style} specifies how to
-format the address in the @samp{From} field:
-
-@table @asis
-@item @code{nil}
-Use just the address, as in @samp{king@@grassland.com}.
-@item @code{parens}
-Use both address and full name, as in:@*
-@samp{king@@grassland.com (Elvis Parsley)}.
-@item @code{angles}
-Use both address and full name, as in:@*
-@samp{Elvis Parsley <king@@grassland.com>}.
-@item any other value
-Use @code{angles} for most addresses.  However, if the address must be
-``quoted'' to remain syntactically-valid under the @code{angles}
-format but not under the @code{parens} format, use @code{parens}
-instead.  This is the default.
-@end table
-
 @c There is also mail-specify-envelope-from and mail-envelope-from, but
 @c these are probably not topics for the Emacs manual.
 
@@ -273,13 +240,12 @@ particular message, edit them as necessary before sending the message.
 @vindex mail-personal-alias-file
 
   You can define @dfn{mail aliases}, which are short mnemonic names
-that stand for mail addresses or groups of mail addresses.  By
-default, mail aliases are defined in the file @file{~/.mailrc}.  You
-can specify a different file name to use, by setting the variable
+that stand for one or more mailing addresses.  By default, mail
+aliases are defined in the file @file{~/.mailrc}.  You can specify a
+different file name to use, by setting the variable
 @code{mail-personal-alias-file}.
 
-  To define an alias in @file{.mailrc}, write a line in the following
-format:
+  To define an alias in @file{.mailrc}, write a line like this:
 
 @example
 alias @var{nick} @var{fulladdresses}
@@ -362,11 +328,9 @@ in greater detail.  @xref{Top,,Message, message, Message}.
 @node Mail Sending
 @subsection Mail Sending
 
-  There are two commands to send a message you have been editing:
-
 @table @kbd
 @item C-c C-c
-Send the message, and deselect the mail buffer (@code{message-send-and-exit}).
+Send the message, and bury the mail buffer (@code{message-send-and-exit}).
 @item C-c C-s
 Send the message, and leave the mail buffer selected (@code{message-send}).
 @end table
@@ -374,70 +338,75 @@ Send the message, and leave the mail buffer selected (@code{message-send}).
 @kindex C-c C-s @r{(Message mode)}
 @kindex C-c C-c @r{(Message mode)}
 @findex message-send
-  If you want to send a message and be done with it, type @kbd{C-c
-C-c} (@code{mail-send-and-exit}).  This sends the message and then
-either deletes the window or switches to another buffer.  It also
+@vindex message-kill-buffer-on-exit
+  The usual command to send a message is @kbd{C-c C-c}
+(@code{mail-send-and-exit}).  This sends the message and then
 ``buries'' the mail buffer, putting it at the lowest priority for
-reselection.  This is the usual command for sending a message.
+reselection.  If you want it to kill the mail buffer instead, change
+the variable @code{message-kill-buffer-on-exit} to @code{t}.
 
 @findex message-send-and-exit
   The command @kbd{C-c C-s} (@code{message-send}) sends the message
-and marks the mail buffer unmodified, but leaves the buffer selected.
-Use this command if you want to modify the message (perhaps with new
-recipients) and send it again.
+and leaves the buffer selected.  Use this command if you want to
+modify the message (perhaps with new recipients) and send it again.
 
 @vindex message-send-hook
-  Sending a message runs the hook @code{message-send-hook}.
-
-  In a file-visiting buffer, sending the message does not clear the
-modified flag, because only saving the file should do that.  Also, you
-don't get a warning if you try to send the same message twice.
-
-@vindex sendmail-coding-system
-  When you send a message containing non-@acronym{ASCII} characters,
-they need to be encoded with a coding system (@pxref{Coding Systems}).
-Usually the coding system is specified automatically by your chosen
-language environment (@pxref{Language Environments}).  You can
-explicitly specify the coding system for outgoing mail by setting the
-variable @code{sendmail-coding-system} (@pxref{Recognize Coding}).  If
-the coding system thus determined does not handle the characters in a
-particular message, Emacs asks you to select the coding system to use,
-showing a list of possible coding systems.
+  Sending a message runs the hook @code{message-send-hook}.  It also
+marks the mail buffer as unmodified, except if the mail buffer is also
+a file-visiting buffer (in that case, only saving the file does that,
+and you don't get a warning if you try to send the same message
+twice).
 
 @cindex SMTP
 @cindex Feedmail
 @cindex Sendmail
 @cindex Mailclient
 @vindex send-mail-function
-  The variable @code{send-mail-function} controls how the default mail
-user agent sends mail.  Its value should be a function, which can be
-one of the following:
+  The variable @code{send-mail-function} controls how the message is
+delivered.  Its value should be one of the following functions:
 
 @table @code
-@item sendmail-send-it
-Send mail using the system's default @command{sendmail} (or
-@command{sendmail}-compatible) program.  This is the default on Unix
-and GNU, and works provided the system is a valid @dfn{mail host}
-(that is, provided it can deliver mail via SMTP).
-
-@item mailclient-send-it
-Pass the mail buffer on to the system's designated mail client (see
-@file{mailclient.el}).  This is the default on Mac OS X and
-MS-Windows.
+@item sendmail-query-once
+Query for a delivery method (one of the other entries in this list),
+and use that method for this message; then save the method to
+@code{send-mail-function}, so that it is used for future deliveries.
+This is the default, unless you have already set the variables for
+sending mail via @code{smtpmail-send-it} (see below).
 
 @item smtpmail-send-it
-Send mail through an external mail host (e.g., your Internet service
-provider's SMTP server).  You will need to tell Emacs how to contact
-the SMTP server, by customizing the variables
+Send mail using the through an external mail host, such as your
+Internet service provider's outgoing SMTP mail server.  If you have
+not told Emacs how to contact the SMTP server, it prompts for this
+information, which is saved in the variables
 @code{smtpmail-smtp-server} and @code{smtpmail-auth-credentials}.
 @xref{Top,,Emacs SMTP Library, smtpmail, Sending mail via SMTP}.
 
+@item sendmail-send-it
+Send mail using the system's default @command{sendmail} program, or
+equivalent.  This requires the system to be set up for delivering mail
+directly via SMTP.
+
+@item mailclient-send-it
+Pass the mail buffer on to the system's designated mail client.  See
+the commentary section in the file @file{mailclient.el} for details.
+
 @item feedmail-send-it
 This is similar to @code{sendmail-send-it}, but allows you to queue
 messages for later sending.  See the commentary section in the file
-@file{feedmail.el} for more information.
+@file{feedmail.el} for details.
 @end table
 
+@vindex sendmail-coding-system
+  When you send a message containing non-@acronym{ASCII} characters,
+they need to be encoded with a coding system (@pxref{Coding Systems}).
+Usually the coding system is specified automatically by your chosen
+language environment (@pxref{Language Environments}).  You can
+explicitly specify the coding system for outgoing mail by setting the
+variable @code{sendmail-coding-system} (@pxref{Recognize Coding}).  If
+the coding system thus determined does not handle the characters in a
+particular message, Emacs asks you to select the coding system to use,
+showing a list of possible coding systems.
+
 @node Header Editing
 @subsection Mail Header Editing
 
@@ -511,7 +480,8 @@ just inserts a tab character.
 
 @table @kbd
 @item C-c C-y
-Yank the selected message from Rmail (@code{message-yank-original}).
+Yank the selected message from the mail reader, as a citation
+(@code{message-yank-original}).
 @item C-c C-q
 Fill each paragraph cited from another message
 (@code{message-fill-yanked-message}).
@@ -522,9 +492,9 @@ Fill each paragraph cited from another message
 @findex message-yank-prefix
   You can use the command @kbd{C-c C-y} (@code{message-yank-original})
 to @dfn{cite} a message that you are replying to.  This inserts the
-text of that message into the mail buffer.  This command is active
-only when the mail buffer is invoked from a mail program running in
-Emacs, such as Rmail.
+text of that message into the mail buffer.  This command works only if
+the mail buffer is invoked from a mail reader running in Emacs, such
+as Rmail.
 
   By default, Emacs inserts the string @samp{>} in front of each line
 of the cited text; this prefix string is specified by the variable
index c27a2c2936d20a78bdbad3f8dfc8dfd9984b8a11..ccc546fb0a17d6a4041caefcef7b71f163d350be 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Text, Programs, Indentation, Top
@@ -21,7 +21,10 @@ are also often useful for editing programs.
 the file contains ordinary text, use Text mode, which customizes Emacs
 in small ways for the syntactic conventions of text.  Outline mode
 provides special commands for operating on text with an outline
-structure.
+structure.  Org mode extends Outline mode and turn Emacs into a
+full-fledged organizer: you can manage TODO lists, store notes and
+publish them in many formats.
+
 @iftex
 @xref{Outline Mode}.
 @end iftex
@@ -70,6 +73,7 @@ for editing such pictures.
 * Case::                Changing the case of text.
 * Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
+* Org Mode::            The Emacs organizer.
 * TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
 * Nroff Mode::          Editing input to the formatter nroff.
@@ -1250,6 +1254,153 @@ automatically by putting this in your init file (@pxref{Init File}):
 (eval-after-load "outline" '(require 'foldout))
 @end example
 
+@node Org Mode
+@section Org Mode
+@cindex organizer
+@cindex planner
+@findex Org mode
+@findex mode, Org
+
+@findex org-mode
+  Org mode is a variant of Outline mode for using Emacs as an
+organizer and/or authoring system.  Files with names ending in the
+extension @file{.org} are opened in Org mode (@pxref{Choosing Modes}).
+To explicitly switch to Org mode, type @kbd{M-x org-mode}.
+
+  In Org mode, as in Outline mode, each entry has a heading line that
+starts with one or more @samp{*} characters.  @xref{Outline Format}.
+In addition, any line that begins with the @samp{#} character is
+treated as a comment.
+
+@kindex TAB @r{(Org Mode)}
+@findex org-cycle
+  Org mode provides commands for easily viewing and manipulating the
+outline structure.  The simplest of these commands is @key{TAB}
+(@code{org-cycle}).  If invoked on a heading line, it cycles through
+the different visibility states of the subtree: (i) showing only that
+heading line, (ii) showing only the heading line and the heading lines
+of its direct children, if any, and (iii) showing the entire subtree.
+If invoked in a body line, the global binding for @key{TAB} is
+executed.
+
+@kindex S-TAB @r{(Org Mode)}
+@findex org-shifttab
+  Typing @key{S-TAB} (@code{org-shifttab}) anywhere in an Org mode
+buffer cycles the visibility of the entire outline structure, between
+(i) showing only top-level heading lines, (ii) showing all heading
+lines but no body lines, and (iii) showing everything.
+
+@kindex M-<up> @r{(Org Mode)}
+@kindex M-<down> @r{(Org Mode)}
+@kindex M-<left> @r{(Org Mode)}
+@kindex M-<right> @r{(Org Mode)}
+@findex org-metaup
+@findex org-metadown
+@findex org-metaleft
+@findex org-metaright
+  You can move an entire entry up or down in the buffer, including its
+body lines and subtree (if any), by typing @kbd{M-<up>}
+(@code{org-metaup}) or @kbd{M-<down>} (@code{org-metadown}) on the
+heading line.  Similarly, you can promote or demote a heading line
+with @kbd{M-<left>} (@code{org-metaleft}) and @kbd{M-<left>}
+(@code{org-metaright}).  These commands execute their global bindings
+if invoked on a body line.
+
+  The following subsections give basic instructions for using Org mode
+as an organizer and as an authoring system.  @xref{Top,The Org Mode
+Manual,,org, The Org Manual}, for details.
+
+@menu
+* Org Organizer::   Managing TODO lists and agendas.
+* Org Authoring::   Exporting Org buffers to various formats.
+@end menu
+
+@node Org Organizer
+@subsection Org as an organizer
+@cindex TODO item
+@cindex Org agenda
+
+@kindex C-c C-t @r{(Org Mode)}
+@findex org-todo
+@vindex org-todo-keywords
+  You can tag an Org entry as a @dfn{TODO} item by typing @kbd{C-c
+C-t} (@code{org-todo}) anywhere in the entry.  This adds the keyword
+@samp{TODO} to the heading line.  Typing @kbd{C-c C-t} again switches
+the keyword to @samp{DONE}; another @kbd{C-c C-t} removes the keyword
+entirely, and so forth.  You can customize the keywords used by
+@kbd{C-c C-t} via the variable @code{org-todo-keywords}.
+
+@kindex C-c C-s @r{(Org Mode)}
+@kindex C-c C-d @r{(Org Mode)}
+@findex org-schedule
+@findex org-deadline
+  Apart from marking an entry as TODO, you can attach a date to it, by
+typing @kbd{C-c C-s} (@code{org-schedule}) in the entry.  This prompts
+for a date by popping up the Emacs Calendar (@pxref{Calendar/Diary}),
+and then adds the tag @samp{SCHEDULED}, together with the selected
+date, beneath the heading line.  The command @kbd{C-c C-d}
+(@code{org-deadline}) has the same effect, except that it uses the tag
+@code{DEADLINE}.
+
+@kindex C-c [ @r{(Org Mode)}
+@findex org-agenda-file-to-front
+@vindex org-agenda-files
+  Once you have some TODO items planned in an Org file, you can add
+that file to the list of @dfn{agenda files} by typing @kbd{C-c [}
+(@code{org-agenda-file-to-front}).  Org mode is designed to let you
+easily maintain multiple agenda files, e.g.@: for organizing different
+aspects of your life.  The list of agenda files is stored in the
+variable @code{org-agenda-files}.
+
+@findex org-agenda
+  To view items coming from your agenda files, type @kbd{M-x
+org-agenda}.  This command prompts for what you want to see: a list of
+things to do this week, a list of TODO items with specific keywords,
+etc.
+@ifnottex
+@xref{Agenda Views,,,org, The Org Manual}, for details.
+@end ifnottex
+
+@node Org Authoring
+@subsection Org as an authoring system
+@cindex Org exporting
+
+@findex org-export
+@kindex C-c C-e @r{(Org mode)}
+  You may want to format your Org notes nicely and to prepare them for
+export and publication.  To export the current buffer, type @kbd{C-c
+C-e} (@code{org-export}) anywhere in an Org buffer.  This command
+prompts for an export format; currently supported formats include
+HTML, La@TeX{}, OpenDocument (@file{.odt}), and PDF.  Some formats,
+such as PDF, require certain system tools to be installed.
+
+@vindex org-publish-project-alist
+  To export several files at once to a specific directory, either
+locally or over the network, you must define a list of projects
+through the variable @code{org-publish-project-alist}.  See its
+documentation for details.
+
+  Org supports a simple markup scheme for applying text formatting to
+exported documents:
+
+@example
+- This text is /emphasized/
+- This text is *in bold*
+- This text is _underlined_
+- This text uses =a teletype font=
+
+#+begin_quote
+``This is a quote.''
+#+end_quote
+
+#+begin_example
+This is an example.
+#+end_example
+@end example
+
+  For further details, see @ref{Exporting,,,org, The Org Manual} and
+@ref{Publishing,,,org, The Org Manual}.
+
 @node TeX Mode
 @section @TeX{} Mode
 @cindex @TeX{} mode
index ae7550d0faeb2e5dcac9cc792bb2d2f725cb2e32..8cb5ab44a2e46c6baaa2e4c3c02fd267295d7e61 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @iftex
@@ -40,8 +40,8 @@ Cancel a previously made change in the buffer contents (@code{undo}).
 @dfn{quitting} with @kbd{C-g}, and @dfn{aborting} with @kbd{C-]} or
 @kbd{M-x top-level}.  Quitting cancels a partially typed command, or
 one which is still running.  Aborting exits a recursive editing level
-and cancels the command that invoked the recursive edit.
-(@xref{Recursive Edit}.)
+and cancels the command that invoked the recursive edit
+(@pxref{Recursive Edit}).
 
 @cindex quitting
 @kindex C-g
@@ -54,7 +54,7 @@ a kill command that is taking a long time, either your text will
 kill ring, or maybe both.  If the region is active, @kbd{C-g}
 deactivates the mark, unless Transient Mark mode is off
 (@pxref{Disabled Transient Mark}).  If you are in the middle of an
-incremental search, @kbd{C-g} does special things; it may take two
+incremental search, @kbd{C-g} behaves specially; it may take two
 successive @kbd{C-g} characters to get out of a search.
 @xref{Incremental Search}, for details.
 
@@ -136,12 +136,12 @@ facility.
 @node Lossage, Bugs, Quitting, Top
 @section Dealing with Emacs Trouble
 
-  This section describes various conditions in which Emacs fails to work
-normally, and how to recognize them and correct them.  For a list of
-additional problems you might encounter, see @ref{Bugs and problems, ,
-Bugs and problems, efaq, GNU Emacs FAQ}, and the file @file{etc/PROBLEMS}
-in the Emacs distribution.  Type @kbd{C-h C-f} to read the FAQ; type
-@kbd{C-h C-p} to read the @file{PROBLEMS} file.
+  This section describes how to recognize and deal with situations in
+which Emacs does not work as you expect, such as keyboard code mixups,
+garbled displays, running out of memory, and crashes and hangs.
+
+  @xref{Bugs}, for what to do when you think you have found a bug in
+Emacs.
 
 @menu
 * DEL Does Not Delete::   What to do if @key{DEL} doesn't delete.
@@ -150,40 +150,35 @@ in the Emacs distribution.  Type @kbd{C-h C-f} to read the FAQ; type
 * Text Garbled::          Garbage in the text.
 * Memory Full::           How to cope when you run out of memory.
 * After a Crash::         Recovering editing in an Emacs session that crashed.
-* Emergency Escape::      Emergency escape---
-                            What to do if Emacs stops responding.
-* Total Frustration::     When you are at your wits' end.
+* Emergency Escape::      What to do if Emacs stops responding.
 @end menu
 
 @node DEL Does Not Delete
 @subsection If @key{DEL} Fails to Delete
 @cindex @key{DEL} vs @key{BACKSPACE}
 @cindex @key{BACKSPACE} vs @key{DEL}
-@cindex usual erasure key
 
   Every keyboard has a large key, usually labeled @key{Backspace},
 which is ordinarily used to erase the last character that you typed.
-We call this key @dfn{the usual erasure key}.  In Emacs, it is
-supposed to be equivalent to @key{DEL}.
+In Emacs, this key is supposed to be equivalent to @key{DEL}.
 
   When Emacs starts up on a graphical display, it determines
 automatically which key should be @key{DEL}.  In some unusual cases,
-Emacs gets the wrong information from the system.  If the usual
-erasure key deletes forwards instead of backwards, that is probably
-what happened---Emacs ought to be treating the @key{Backspace} key as
-@key{DEL}, but it isn't.
+Emacs gets the wrong information from the system, and @key{Backspace}
+ends up deleting forwards instead of backwards.
 
   Some keyboards also have a @key{Delete} key, which is ordinarily
 used to delete forwards.  If this key deletes backward in Emacs, that
 too suggests Emacs got the wrong information---but in the opposite
 sense.
 
-  On a text-only terminal, if you find the usual erasure key prompts
+  On a text-only terminal, if you find that @key{Backspace} prompts
 for a Help command, like @kbd{Control-h}, instead of deleting a
 character, it means that key is actually sending the @key{BS}
 character.  Emacs ought to be treating @key{BS} as @key{DEL}, but it
 isn't.
 
+@findex normal-erase-is-backspace-mode
   In all of those cases, the immediate remedy is the same: use the
 command @kbd{M-x normal-erase-is-backspace-mode}.  This toggles
 between the two modes that Emacs supports for handling @key{DEL}, so
@@ -192,13 +187,10 @@ mode.  On a text-only terminal, if you want to ask for help when
 @key{BS} is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also
 work, if it sends character code 127.
 
-@findex normal-erase-is-backspace-mode
-  To fix the problem automatically for every Emacs session, you can
-put one of the following lines into your @file{.emacs} file
-(@pxref{Init File}).  For the first case above, where @key{Backspace}
-deletes forwards instead of backwards, use this line to make
-@key{Backspace} act as @key{DEL} (resulting in behavior compatible
-with Emacs 20 and previous versions):
+  To fix the problem in every Emacs session, put one of the following
+lines into your initialization file (@pxref{Init File}).  For the
+first case above, where @key{Backspace} deletes forwards instead of
+backwards, use this line to make @key{Backspace} act as @key{DEL}:
 
 @lisp
 (normal-erase-is-backspace-mode 0)
@@ -224,12 +216,12 @@ Customization}.
   Recursive editing levels are important and useful features of Emacs, but
 they can seem like malfunctions if you do not understand them.
 
-  If the mode line has square brackets @samp{[@dots{}]} around the parentheses
-that contain the names of the major and minor modes, you have entered a
-recursive editing level.  If you did not do this on purpose, or if you
-don't understand what that means, you should just get out of the recursive
-editing level.  To do so, type @kbd{M-x top-level}.  This is called getting
-back to top level.  @xref{Recursive Edit}.
+  If the mode line has square brackets @samp{[@dots{}]} around the
+parentheses that contain the names of the major and minor modes, you
+have entered a recursive editing level.  If you did not do this on
+purpose, or if you don't understand what that means, you should just
+get out of the recursive editing level.  To do so, type @kbd{M-x
+top-level}.  @xref{Recursive Edit}.
 
 @node Screen Garbled
 @subsection Garbage on the Screen
@@ -244,12 +236,9 @@ the following section.)
 entry for the terminal you are using.  The file @file{etc/TERMS} in
 the Emacs distribution gives the fixes for known problems of this
 sort.  @file{INSTALL} contains general advice for these problems in
-one of its sections.  To investigate the possibility that you have
-this sort of problem, try Emacs on another terminal made by a
-different manufacturer.  If problems happen frequently on one kind of
-terminal but not another kind, it is likely to be a bad terminfo entry,
-though it could also be due to a bug in Emacs that appears for
-terminals that have or that lack specific features.
+one of its sections.  If you seem to be using the right terminfo
+entry, it is possible that there is a bug in the terminfo entry, or a
+bug in Emacs that appears for certain terminal types.
 
 @node Text Garbled
 @subsection Garbage in the Text
@@ -385,25 +374,6 @@ program.
 emergency escape---but there are cases where it won't work, when
 system call hangs or when Emacs is stuck in a tight loop in C code.
 
-@node Total Frustration
-@subsection Help for Total Frustration
-@cindex Eliza
-@cindex doctor
-
-  If using Emacs (or something else) becomes terribly frustrating and none
-of the techniques described above solve the problem, Emacs can still help
-you.
-
-  First, if the Emacs you are using is not responding to commands, type
-@kbd{C-g C-g} to get out of it and then start a new one.
-
-@findex doctor
-  Second, type @kbd{M-x doctor @key{RET}}.
-
-  The Emacs psychotherapist will help you feel better.  Each time you
-say something to the psychotherapist, you must end it by typing
-@key{RET} @key{RET}.  This indicates you are finished typing.
-
 @node Bugs, Contributing, Lossage, Top
 @section Reporting Bugs
 
@@ -432,41 +402,51 @@ of the main places you can read about known issues:
 
 @itemize
 @item
-The @file{etc/PROBLEMS} file in the Emacs distribution; type @kbd{C-h
-C-p} to read it.  This file contains a list of particularly well-known
-issues that have been encountered in compiling, installing and running
-Emacs.  Often, there are suggestions for workarounds and solutions.
+The @file{etc/PROBLEMS} file; type @kbd{C-h C-p} to read it.  This
+file contains a list of particularly well-known issues that have been
+encountered in compiling, installing and running Emacs.  Often, there
+are suggestions for workarounds and solutions.
 
 @item
 Some additional user-level problems can be found in @ref{Bugs and
 problems, , Bugs and problems, efaq, GNU Emacs FAQ}.
 
+@cindex bug tracker
+@item
+The GNU Bug Tracker at @url{http://debbugs.gnu.org}.  Emacs bugs are
+filed in the tracker under the @samp{emacs} package.  The tracker
+records information about the status of each bug, the initial bug
+report, and the follow-up messages by the bug reporter and Emacs
+developers.  You can search for bugs by subject, severity, and other
+criteria.
+
+@cindex debbugs package
+Instead of browsing the bug tracker as a webpage, you can browse it
+from Emacs using the @code{debbugs} package, which can be downloaded
+via the Package Menu (@pxref{Packages}).  This package provides the
+command @kbd{M-x debbugs-gnu} to list bugs, and @kbd{M-x
+debbugs-gnu-search} to search for a specific bug.
+
 @item
 The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup
 @samp{gnu.emacs.bug}).  You can read the list archives at
-@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}.  If you
-like, you can also subscribe to the list.  Be aware that the sole
-purpose of this list is to provide the Emacs maintainers with
-information about bugs and feature requests.  Reports may contain
-fairly large amounts of data; spectators should not complain about
-this.
+@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}.  This list
+works as a ``mirror'' of the Emacs bug reports and follow-up messages
+which are sent to the bug tracker.  It also contains old bug reports
+from before the bug tracker was introduced (in early 2008).
 
-@item
-The bug tracker at @url{http://debbugs.gnu.org}.  From early 2008,
-reports from the @samp{bug-gnu-emacs} list have also been sent here.
-The tracker contains the same information as the mailing list, just in
-a different format.  You may prefer to browse and read reports using
-the tracker.
+If you like, you can subscribe to the list.  Be aware that its purpose
+is to provide the Emacs maintainers with information about bugs and
+feature requests, so reports may contain fairly large amounts of data;
+spectators should not complain about this.
 
 @item
 The @samp{emacs-pretest-bug} mailing list.  This list is no longer
 used, and is mainly of historical interest.  At one time, it was used
 for bug reports in development (i.e., not yet released) versions of
 Emacs.  You can read the archives for 2003 to mid 2007 at
-@url{http://lists.gnu.org/archive/html/emacs-pretest-bug/}.  From
-late 2007 to mid 2008, the address was an alias for the
-@samp{emacs-devel} mailing list.  From mid 2008 onwards, it has been
-an alias for @samp{bug-gnu-emacs}.
+@url{http://lists.gnu.org/archive/html/emacs-pretest-bug/}.  Nowadays,
+it is an alias for @samp{bug-gnu-emacs}.
 
 @item
 The @samp{emacs-devel} mailing list.  Sometimes people report bugs to
@@ -485,33 +465,32 @@ fault''), or exits with an operating system error message that
 indicates a problem in the program (as opposed to something like
 ``disk full''), then it is certainly a bug.
 
-  If Emacs updates the display in a way that does not correspond to what is
-in the buffer, then it is certainly a bug.  If a command seems to do the
-wrong thing but the problem corrects itself if you type @kbd{C-l}, it is a
-case of incorrect display updating.
+  If the Emacs display does not correspond properly to the contents of
+the buffer, then it is a bug.  But you should check that features like
+buffer narrowing (@pxref{Narrowing}), which can hide parts of the
+buffer or change how it is displayed, are not responsible.
 
   Taking forever to complete a command can be a bug, but you must make
-certain that it was really Emacs's fault.  Some commands simply take a
-long time.  Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then @kbd{C-h l}
-to see whether the input Emacs received was what you intended to type;
-if the input was such that you @emph{know} it should have been processed
-quickly, report a bug.  If you don't know whether the command should
-take a long time, find out by looking in the manual or by asking for
-assistance.
+sure that it is really Emacs's fault.  Some commands simply take a
+long time.  Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then
+@kbd{C-h l} to see whether the input Emacs received was what you
+intended to type; if the input was such that you @emph{know} it should
+have been processed quickly, report a bug.  If you don't know whether
+the command should take a long time, find out by looking in the manual
+or by asking for assistance.
 
   If a command you are familiar with causes an Emacs error message in a
 case where its usual definition ought to be reasonable, it is probably a
 bug.
 
-  If a command does the wrong thing, that is a bug.  But be sure you know
-for certain what it ought to have done.  If you aren't familiar with the
-command, or don't know for certain how the command is supposed to work,
-then it might actually be working right.  Rather than jumping to
-conclusions, show the problem to someone who knows for certain.
+  If a command does the wrong thing, that is a bug.  But be sure you
+know for certain what it ought to have done.  If you aren't familiar
+with the command, it might actually be working right.  If in doubt,
+read the command's documentation (@pxref{Name Help}).
 
-  Finally, a command's intended definition may not be the best
-possible definition for editing with.  This is a very important sort
-of problem, but it is also a matter of judgment.  Also, it is easy to
+  A command's intended definition may not be the best possible
+definition for editing with.  This is a very important sort of
+problem, but it is also a matter of judgment.  Also, it is easy to
 come to such a conclusion out of ignorance of some of the existing
 features.  It is probably best not to complain about such a problem
 until you have checked the documentation in the usual ways, feel
@@ -527,59 +506,61 @@ you should report.  The manual's job is to make everything clear to
 people who are not Emacs experts---including you.  It is just as
 important to report documentation bugs as program bugs.
 
-  If the on-line documentation string of a function or variable disagrees
+  If the built-in documentation for a function or variable disagrees
 with the manual, one of them must be wrong; that is a bug.
 
 @node Understanding Bug Reporting
 @subsection Understanding Bug Reporting
 
 @findex emacs-version
-  When you decide that there is a bug, it is important to report it and to
-report it in a way which is useful.  What is most useful is an exact
-description of what commands you type, starting with the shell command to
-run Emacs, until the problem happens.
+  When you decide that there is a bug, it is important to report it
+and to report it in a way which is useful.  What is most useful is an
+exact description of what commands you type, starting with the shell
+command to run Emacs, until the problem happens.
 
   The most important principle in reporting a bug is to report
-@emph{facts}.  Hypotheses and verbal descriptions are no substitute for
-the detailed raw data.  Reporting the facts is straightforward, but many
-people strain to posit explanations and report them instead of the
-facts.  If the explanations are based on guesses about how Emacs is
-implemented, they will be useless; meanwhile, lacking the facts, we will
-have no real information about the bug.
+@emph{facts}.  Hypotheses and verbal descriptions are no substitute
+for the detailed raw data.  Reporting the facts is straightforward,
+but many people strain to posit explanations and report them instead
+of the facts.  If the explanations are based on guesses about how
+Emacs is implemented, they will be useless; meanwhile, lacking the
+facts, we will have no real information about the bug.  If you want to
+actually @emph{debug} the problem, and report explanations that are
+more than guesses, that is useful---but please include the raw facts
+as well.
 
   For example, suppose that you type @kbd{C-x C-f /glorp/baz.ugh
 @key{RET}}, visiting a file which (you know) happens to be rather
-large, and Emacs displays @samp{I feel pretty today}.  The best way to
-report the bug is with a sentence like the preceding one, because it
-gives all the facts.
-
-  A bad way would be to assume that the problem is due to the size of
-the file and say, ``I visited a large file, and Emacs displayed @samp{I
-feel pretty today}.''  This is what we mean by ``guessing
-explanations.''  The problem is just as likely to be due to the fact
-that there is a @samp{z} in the file name.  If this is so, then when we
-got your report, we would try out the problem with some ``large file,''
-probably with no @samp{z} in its name, and not see any problem.  There
-is no way in the world that we could guess that we should try visiting a
+large, and Emacs displays @samp{I feel pretty today}.  The bug report
+would need to provide all that information.  You should not assume
+that the problem is due to the size of the file and say, ``I visited a
+large file, and Emacs displayed @samp{I feel pretty today}.''  This is
+what we mean by ``guessing explanations.''  The problem might be due
+to the fact that there is a @samp{z} in the file name.  If this is so,
+then when we got your report, we would try out the problem with some
+``large file,'' probably with no @samp{z} in its name, and not see any
+problem.  There is no way we could guess that we should try visiting a
 file with a @samp{z} in its name.
 
-  Alternatively, the problem might be due to the fact that the file starts
-with exactly 25 spaces.  For this reason, you should make sure that you
-inform us of the exact contents of any file that is needed to reproduce the
-bug.  What if the problem only occurs when you have typed the @kbd{C-x C-a}
-command previously?  This is why we ask you to give the exact sequence of
-characters you typed since starting the Emacs session.
-
-  You should not even say ``visit a file'' instead of @kbd{C-x C-f} unless
-you @emph{know} that it makes no difference which visiting command is used.
-Similarly, rather than saying ``if I have three characters on the line,''
-say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if that is
-the way you entered the text.
-
-  So please don't guess any explanations when you report a bug.  If you
-want to actually @emph{debug} the problem, and report explanations that
-are more than guesses, that is useful---but please include the facts as
-well.
+  You should not even say ``visit a file'' instead of @kbd{C-x C-f}.
+Similarly, rather than saying ``if I have three characters on the
+line,'' say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if
+that is the way you entered the text.
+
+  If possible, try quickly to reproduce the bug by invoking Emacs with
+@command{emacs -Q} (so that Emacs starts with no initial
+customizations; @pxref{Initial Options}), and repeating the steps that
+you took to trigger the bug.  If you can reproduce the bug this way,
+that rules out bugs in your personal customizations.  Then your bug
+report should begin by stating that you started Emacs with
+@command{emacs -Q}, followed by the exact sequence of steps for
+reproducing the bug.  If possible, inform us of the exact contents of
+any file that is needed to reproduce the bug.
+
+  Some bugs are not reproducible from @command{emacs -Q}; some are not
+easily reproducible at all.  In that case, you should report what you
+have---but, as before, please stick to the raw facts about what you
+did to trigger the bug the first time.
 
 @node Checklist
 @subsection Checklist for Bug Reports
@@ -616,15 +597,14 @@ address.  Or you can simply send an email to that address describing
 the problem.
 
 Your report will be sent to the @samp{bug-gnu-emacs} mailing list, and
-stored in the tracker at @url{http://debbugs.gnu.org}.  Please try to
+stored in the GNU Bug Tracker at @url{http://debbugs.gnu.org}.  Please
 include a valid reply email address, in case we need to ask you for
 more information about your report.  Submissions are moderated, so
 there may be a delay before your report appears.
 
-You do not need to know how the @url{http://debbugs.gnu.org} bug
-tracker works in order to report a bug, but if you want to, you can
-read the tracker's online documentation to see the various features
-you can use.
+You do not need to know how the Gnu Bug Tracker works in order to
+report a bug, but if you want to, you can read the tracker's online
+documentation to see the various features you can use.
 
 All mail sent to the @samp{bug-gnu-emacs} mailing list is also
 gatewayed to the @samp{gnu.emacs.bug} newsgroup.  The reverse is also
@@ -689,10 +669,10 @@ newline after the last line in the buffer (nothing ought to care whether
 the last line is terminated, but try telling the bugs that).
 
 @item
-The precise commands we need to type to reproduce the bug.
-If at all possible, give a full recipe for an Emacs started with the
-@samp{-Q} option (@pxref{Initial Options}).  This bypasses your
-@file{.emacs} customizations.
+The precise commands we need to type to reproduce the bug.  If at all
+possible, give a full recipe for an Emacs started with the @samp{-Q}
+option (@pxref{Initial Options}).  This bypasses your personal
+customizations.
 
 @findex open-dribble-file
 @cindex dribble file
@@ -722,8 +702,8 @@ using @kbd{M-:} or from the @samp{*scratch*} buffer just after
 starting Emacs.  From then on, Emacs copies all terminal output to the
 specified termscript file as well, until the Emacs process is killed.
 If the problem happens when Emacs starts up, put this expression into
-your @file{.emacs} file so that the termscript file will be open when
-Emacs displays the screen for the first time.
+your Emacs initialization file so that the termscript file will be
+open when Emacs displays the screen for the first time.
 
 Be warned: it is often difficult, and sometimes impossible, to fix a
 terminal-dependent bug without access to a terminal of the type that
@@ -806,13 +786,13 @@ produce it, copy it into the bug report.
 
 @item
 Check whether any programs you have loaded into the Lisp world,
-including your @file{.emacs} file, set any variables that may affect the
-functioning of Emacs.  Also, see whether the problem happens in a
-freshly started Emacs without loading your @file{.emacs} file (start
-Emacs with the @code{-Q} switch to prevent loading the init files).  If
-the problem does @emph{not} occur then, you must report the precise
-contents of any programs that you must load into the Lisp world in order
-to cause the problem to occur.
+including your initialization file, set any variables that may affect
+the functioning of Emacs.  Also, see whether the problem happens in a
+freshly started Emacs without loading your initialization file (start
+Emacs with the @code{-Q} switch to prevent loading the init files).
+If the problem does @emph{not} occur then, you must report the precise
+contents of any programs that you must load into the Lisp world in
+order to cause the problem to occur.
 
 @item
 If the problem does depend on an init file or other Lisp programs that
@@ -983,8 +963,8 @@ your best to help.
 Send an explanation with your changes of what problem they fix or what
 improvement they bring about.  For a fix for an existing bug, it is
 best to reply to the relevant discussion on the @samp{bug-gnu-emacs}
-list, or item in the @url{http://debbugs.gnu.org} tracker.  Explain
-why your change fixes the bug.
+list, or the bug entry in the GNU Bug Tracker at
+@url{http://debbugs.gnu.org}.  Explain why your change fixes the bug.
 
 @item
 Always include a proper bug report for the problem you think you have
index 978a2a31a2e54c2d2c255f0913448d6795ea6723..51137a273d3cbf167190b3f3dcf5e0aea0f0a83c 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included in emacs-xtra.texi when producing the printed
index 05e89e69f0ec4d305144bbbfbb8a1cb3c20ea9cc..48b902f18c1e167d58755cf6176107495c2b470c 100644 (file)
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in vc-xtra.texi (when producing the
 @c printed version) or in the main Emacs manual (for the on-line version).
 
-@node Remote Repositories
-@subsection Remote Repositories
-@cindex remote repositories
-
-  A common way of using CVS and other more advanced VCSes is to set up
-a central repository on some Internet host, then have each
-developer check out a personal working copy of the files on his local
-machine.  Committing changes to the repository, and picking up changes
-from other users into one's own working area, then works by direct
-interactions with the repository server.
-
-  One difficulty is that access to a repository server is often slow,
-and that developers might need to work off-line as well.  While only
-third-generation decentralized VCses such as GNU Arch or Mercurial
-really solve this problem, VC is designed to reduce the amount of
-network interaction necessary.
-
-  If you are using a truly decentralized VCS you can skip the rest of
-this section. It describes backup and local-repository techniques
-that are only useful for Subversion and earlier VCSes.
-
-@menu
-* Version Backups::        Keeping local copies of repository versions.
-* Local Version Control::  Using another version system for local editing.
-@end menu
-
-@node Version Backups
-@subsubsection Version Backups
-@cindex version backups
-
-@cindex automatic version backups
-  When VC sees that the repository for a file is on a remote
-machine, it automatically makes local backups of unmodified versions
-of the file---@dfn{automatic version backups}.  This means that you
-can compare the file to the repository version (@kbd{C-x v =}), or
-revert to that version (@kbd{C-x v u}), without any network
-interactions.
-
-  The local copy of the unmodified file is called a @dfn{version
-backup} to indicate that it corresponds exactly to a version that is
-stored in the repository.  Note that version backups are not the same
-as ordinary Emacs backup files
-@iftex
-(@pxref{Backup,,,emacs, the Emacs Manual}).
-@end iftex
-@ifnottex
-(@pxref{Backup}).
-@end ifnottex
-But they follow a similar naming convention.
-
-  For a file that comes from a remote repository, VC makes a
-version backup whenever you save the first changes to the file, and
-removes it after you have committed your modified version to the
-repository. You can disable the making of automatic version backups by
-setting @code{vc-cvs-stay-local} to @code{nil} (@pxref{CVS Options}).
-
-@cindex manual version backups
-  The name of the automatic version backup for version @var{version}
-of file @var{file} is @code{@var{file}.~@var{version}.~}.  This is
-almost the same as the name used by @kbd{C-x v ~}
-@iftex
-(@pxref{Old Revisions,,,emacs, the Emacs Manual}),
-@end iftex
-@ifnottex
-(@pxref{Old Revisions}),
-@end ifnottex
-the only difference being the additional dot (@samp{.})  after the
-version number.  This similarity is intentional, because both kinds of
-files store the same kind of information.  The file made by @kbd{C-x v
-~} acts as a @dfn{manual version backup}.
-
-  All the VC commands that operate on old versions of a file can use
-both kinds of version backups.  For instance, @kbd{C-x v ~} uses
-either an automatic or a manual version backup, if possible, to get
-the contents of the version you request.  Likewise, @kbd{C-x v =} and
-@kbd{C-x v u} use either an automatic or a manual version backup, if
-one of them exists, to get the contents of a version to compare or
-revert to.  If you changed a file outside of Emacs, so that no
-automatic version backup was created for the previous text, you can
-create a manual backup of that version using @kbd{C-x v ~}, and thus
-obtain the benefit of the local copy for Emacs commands.
-
-  The only difference in Emacs's handling of manual and automatic
-version backups, once they exist, is that Emacs deletes automatic
-version backups when you commit to the repository.  By contrast,
-manual version backups remain until you delete them.
-
-@node Local Version Control
-@subsubsection Local Version Control
-@cindex local version control
-@cindex local back end (version control)
-
-When you make many changes to a file that comes from a remote
-repository, it can be convenient to have version control on your local
-machine as well.  You can then record intermediate versions, revert to
-a previous state, etc., before you actually commit your changes to the
-remote server.
-
-VC lets you do this by putting a file under a second, local version
-control system, so that the file is effectively registered in two
-systems at the same time.  For the description here, we will assume
-that the remote system is CVS, and you use RCS locally, although the
-mechanism works with any combination of version control systems
-(@dfn{back ends}).
-
-To make it work with other back ends, you must make sure that the
-``more local'' back end comes before the ``more remote'' back end in
-the setting of @code{vc-handled-backends} (@pxref{Customizing VC}).  By
-default, this variable is set up so that you can use remote CVS and
-local RCS as described here.
-
-To start using local RCS for a file that comes from a remote CVS
-server, you must @emph{register the file in RCS}, by typing @kbd{C-u
-C-x v v rcs @key{RET}}.  (In other words, use @code{vc-next-action} with a
-prefix argument, and specify RCS as the back end.)
-
-You can do this at any time; it does not matter whether you have
-already modified the file with respect to the version in the CVS
-repository.  If possible, VC tries to make the RCS master start with
-the unmodified repository version, then checks in any local changes
-as a new version.  This works if you have not made any changes yet, or
-if the unmodified repository version exists locally as a version
-backup (@pxref{Version Backups}).  If the unmodified version is not
-available locally, the RCS master starts with the modified version;
-the only drawback to this is that you cannot compare your changes
-locally to what is stored in the repository.
-
-The version number of the RCS master is derived from the current CVS
-version, starting a branch from it.  For example, if the current CVS
-version is 1.23, the local RCS branch will be 1.23.1.  Version 1.23 in
-the RCS master will be identical to version 1.23 under CVS; your first
-changes are checked in as 1.23.1.1.  (If the unmodified file is not
-available locally, VC will check in the modified file twice, both as
-1.23 and 1.23.1.1, to make the revision numbers consistent.)
-
-If you do not use locking under CVS (the default), locking is also
-disabled for RCS, so that editing under RCS works exactly as under
-CVS.
-
-When you are done with local editing, you can commit the final version
-back to the CVS repository by typing @kbd{C-u C-x v v cvs @key{RET}}.
-This initializes the log entry buffer
-@iftex
-(@pxref{Log Buffer,,,emacs, the Emacs Manual})
-@end iftex
-@ifnottex
-(@pxref{Log Buffer})
-@end ifnottex
-to contain all the log entries you have recorded in the RCS master;
-you can edit them as you wish, and then commit in CVS by typing
-@kbd{C-c C-c}.  If the commit is successful, VC removes the RCS
-master, so that the file is once again registered under CVS only.
-(The RCS master is not actually deleted, just renamed by appending
-@samp{~} to the name, so that you can refer to it later if you wish.)
-
-While using local RCS, you can pick up recent changes from the CVS
-repository into your local file, or commit some of your changes back
-to CVS, without terminating local RCS version control.  To do this,
-switch to the CVS back end temporarily, with the @kbd{C-x v b} command:
-
-@table @kbd
-@item C-x v b
-Switch to another back end that the current file is registered
-under (@code{vc-switch-backend}).
-
-@item C-u C-x v b @var{backend} @key{RET}
-Switch to @var{backend} for the current file.
-@end table
-
-@kindex C-x v b
-@findex vc-switch-backend
-@kbd{C-x v b} does not change the buffer contents, or any files; it
-only changes VC's perspective on how to handle the file.  Any
-subsequent VC commands for that file will operate on the back end that
-is currently selected.
-
-If the current file is registered in more than one back end, typing
-@kbd{C-x v b} ``cycles'' through all of these back ends.  With a
-prefix argument, it asks for the back end to use in the minibuffer.
-
-Thus, if you are using local RCS, and you want to pick up some recent
-changes in the file from remote CVS, first visit the file, then type
-@kbd{C-x v b} to switch to CVS, and finally use @kbd{C-x v m
-@key{RET}} to merge the news
-@iftex
-(@pxref{Merging,,,emacs, the Emacs Manual}).
-@end iftex
-@ifnottex
-(@pxref{Merging}).
-@end ifnottex
-You can then switch back to RCS by typing @kbd{C-x v b} again, and
-continue to edit locally.
-
-But if you do this, the revision numbers in the RCS master no longer
-correspond to those of CVS.  Technically, this is not a problem, but
-it can become difficult to keep track of what is in the CVS repository
-and what is not.  So we suggest that you return from time to time to
-CVS-only operation, by committing your local changes back to the
-repository using @kbd{C-u C-x v v cvs @key{RET}}.
-
-@node Revision Tags
-@subsection Revision Tags
-@cindex tags and version control
-
-  In a VCS with per-file revision numbers (such as SCCS, RCS, or CVS)
-@dfn{tag} is a named set of file versions (one for each registered
-file) that you can treat as a unit.  In a VCS with per-repository
-version numbers (Subversion and most later ones) a tag is simply
-a symbolic name for a revision.
-
-   One important kind of tag is a @dfn{release}, a (theoretically)
-stable version of the system that is ready for distribution to users.
-
-@menu
-* Making Revision Tags::  The tag facilities.
-* Revision Tag Caveats::  Things to be careful of when using tags.
-@end menu
-
-@node Making Revision Tags
-@subsubsection Making and Using Revision Tags
-
-  There are two basic commands for tags; one makes a
-tag with a given name, the other retrieves a named tag.
-
-@table @code
-@kindex C-x v s
-@findex vc-create-tag
-@item C-x v s @var{name} @key{RET}
-Define the working revision of every registered file in or under the
-current directory as a tag named @var{name}
-(@code{vc-create-tag}).
-
-@kindex C-x v r
-@findex vc-retrieve-tag
-@item C-x v r @var{name} @key{RET}
-For all registered files at or below the current directory level,
-retrieve the tagged revision @var{name}. This command will 
-switch to a branch if @var{name} is a branch name and your VCS
-distinguishes branches from tags. 
-(@code{vc-retrieve-tag}).
-
-This command reports an error if any files are locked at or below the
-current directory, without changing anything; this is to avoid
-overwriting work in progress.
-@end table
-
-Tags are inexpensive, so you need not hesitate to create them whenever
-they are useful.  Branches vary in cost depending on your VCS; in
-older ones they may be expensive.
-
-  You can give a tag or branch name as an argument to @kbd{C-x v =} or
-@kbd{C-x v ~}
-@iftex
-(@pxref{Old Revisions,,,emacs, the Emacs Manual}).
-@end iftex
-@ifnottex
-(@pxref{Old Revisions}).
-@end ifnottex
-Thus, you can use it to compare a tagged version against the current files,
-or two tagged versions against each other.
-
-@node Revision Tag Caveats
-@subsubsection Revision Tag Caveats
-
-  For SCCS, VC implements tags itself; these tags are visible only
-through VC.  Most later systems (including CVS, Subversion, bzr, git,
-and hg) have a native tag facility, and VC uses it where
-available; those tags will be visible even when you bypass VC.
-
-  There is no support for VC tags using GNU Arch yet.
-
-  Under older VCSes (SCCS, RCS, CVS, early versions of Subversion),
-renaming and deletion could create some difficulties with tags.  This is
-not a VC-specific problem, but a general design issue in version
-control systems that was not solved effectively until the earliest
-third-generation systems.
-
-  In a file-oriented VCS, when you rename a registered file you need
-to rename its master along with it; the command @code{vc-rename-file}
-will do this automatically.  If you are using SCCS, you must also
-update the records of the tag, to mention the file by its new name
-(@code{vc-rename-file} does this, too).  An old tag that refers to a
-master file that no longer exists under the recorded name is invalid;
-VC can no longer retrieve it.  It would be beyond the scope of this
-manual to explain enough about RCS and SCCS to explain how to update
-the tags by hand.
-
-  Using @code{vc-rename-file} makes the tag remain valid for
-retrieval, but it does not solve all problems.  For example, some of the
-files in your program probably refer to others by name.  At the very
-least, the makefile probably mentions the file that you renamed.  If you
-retrieve an old tag, the renamed file is retrieved under its new
-name, which is not the name that the makefile expects.  So the program
-won't really work as retrieved.
-
 @node Miscellaneous VC
 @subsection Miscellaneous Commands and Features of VC
 
@@ -307,52 +12,55 @@ won't really work as retrieved.
 
 @menu
 * Change Logs and VC::  Generating a change log file from log entries.
-* Renaming and VC::     A command to rename both the source and master
-                          file correctly.
+* VC Delete/Rename::    Deleting and renaming version-controlled files.
+* Revision Tags::       Symbolic names for revisions.
 * Version Headers::     Inserting version control headers into working files.
 @end menu
 
 @node Change Logs and VC
 @subsubsection Change Logs and VC
 
-  If you use RCS or CVS for a program and also maintain a change log
-file for it
+  If you use RCS or CVS for a program with a @file{ChangeLog} file
 @iftex
 (@pxref{Change Log,,,emacs, the Emacs Manual}),
 @end iftex
 @ifnottex
 (@pxref{Change Log}),
 @end ifnottex
-you can generate change log entries automatically from the version
-control log entries:
+you can generate change log entries from the version control log
+entries of previous commits.
+
+  Note that this only works with RCS or CVS.  This procedure would be
+particularly incorrect on a modern changeset-based version control
+system, where changes to the @file{ChangeLog} file would normally be
+committed as part of a changeset.  In that case, you should write the
+change log entries first, then pull them into the @samp{*vc-log*}
+buffer when you commit
+@iftex
+(@pxref{Log Buffer,,,emacs, the Emacs Manual}).
+@end iftex
+@ifnottex
+(@pxref{Log Buffer}).
+@end ifnottex
 
 @table @kbd
 @item C-x v a
 @kindex C-x v a
 @findex vc-update-change-log
-Visit the current directory's change log file and, for registered files
-in that directory, create new entries for versions checked in since the
-most recent entry in the change log file.
+Visit the current directory's @file{ChangeLog} file and, for
+registered files in that directory, create new entries for versions
+committed since the most recent change log entry
 (@code{vc-update-change-log}).
 
-This command works with RCS or CVS only, not with any of the other
-back ends.
-
 @item C-u C-x v a
 As above, but only find entries for the current buffer's file.
-
-@item M-1 C-x v a
-As above, but find entries for all the currently visited files that are
-maintained with version control.  This works only with RCS, and it puts
-all entries in the log for the default directory, which may not be
-appropriate.
 @end table
 
   For example, suppose the first line of @file{ChangeLog} is dated
 1999-04-10, and that the only check-in since then was by Nathaniel
-Bowditch to @file{rcs2log} on 1999-05-22 with log text @samp{Ignore log
-messages that start with `#'.}.  Then @kbd{C-x v a} visits
-@file{ChangeLog} and inserts text like this:
+Bowditch to @file{rcs2log} on 1999-05-22 with log entry @samp{Ignore
+log messages that start with `#'.}.  Then @kbd{C-x v a} inserts this
+@file{ChangeLog} entry:
 
 @iftex
 @medbreak
@@ -369,17 +77,11 @@ messages that start with `#'.}.  Then @kbd{C-x v a} visits
 @end iftex
 
 @noindent
-You can then edit the new change log entry further as you wish.
-
-  Some of the new change log entries may duplicate what's already in
-ChangeLog.  You will have to remove these duplicates by hand.
-
-  Normally, the log entry for file @file{foo} is displayed as @samp{*
-foo: @var{text of log entry}}.  The @samp{:} after @file{foo} is omitted
-if the text of the log entry starts with @w{@samp{(@var{functionname}):
-}}.  For example, if the log entry for @file{vc.el} is
-@samp{(vc-do-command): Check call-process status.}, then the text in
-@file{ChangeLog} looks like this:
+If the version control log entry specifies a function name (in
+parenthesis at the beginning of a line), that is reflected in the
+@file{ChangeLog} entry.  For example, if a log entry for @file{vc.el}
+is @samp{(vc-do-command): Check call-process status.}, the
+@file{ChangeLog} entry is:
 
 @iftex
 @medbreak
@@ -395,221 +97,184 @@ if the text of the log entry starts with @w{@samp{(@var{functionname}):
 @medbreak
 @end iftex
 
-  When @kbd{C-x v a} adds several change log entries at once, it groups
-related log entries together if they all are checked in by the same
-author at nearly the same time.  If the log entries for several such
-files all have the same text, it coalesces them into a single entry.
-For example, suppose the most recent check-ins have the following log
-entries:
-
-@flushleft
-@bullet{} For @file{vc.texinfo}: @samp{Fix expansion typos.}
-@bullet{} For @file{vc.el}: @samp{Don't call expand-file-name.}
-@bullet{} For @file{vc-hooks.el}: @samp{Don't call expand-file-name.}
-@end flushleft
+  When @kbd{C-x v a} adds several change log entries at once, it
+groups related log entries together if they all are checked in by the
+same author at nearly the same time.  If the log entries for several
+such files all have the same text, it coalesces them into a single
+entry.
 
-@noindent
-They appear like this in @file{ChangeLog}:
+@node VC Delete/Rename
+@subsubsection Deleting and Renaming Version-Controlled Files
+@cindex renaming version-controlled files
 
-@iftex
-@medbreak
-@end iftex
-@smallexample
-@group
-1999-04-01  Nathaniel Bowditch  <nat@@apn.org>
+@table @kbd
+@item M-x vc-delete-file
+Prompt for a file name, delete the file from the working tree, and
+schedule the deletion for committing.
 
-        * vc.texinfo: Fix expansion typos.
+@item M-x vc-rename-file
+Prompt for two file names, @var{VAR} and @var{OLD}, rename them in the
+working tree, and schedule the renaming for committing.
+@end table
 
-        * vc.el, vc-hooks.el: Don't call expand-file-name.
-@end group
-@end smallexample
+@findex vc-delete-file
+  If you wish to delete a version-controlled file, use the command
+@kbd{M-x vc-delete-file}.  This prompts for the file name, and deletes
+it via the version control system.  The file is removed from the
+working tree, and in the VC Directory buffer
 @iftex
-@medbreak
+(@pxref{VC Directory Mode}),
 @end iftex
+@ifnottex
+(@pxref{VC Directory Mode}),
+@end ifnottex
+it is displayed with the @samp{removed} status.  When you commit it,
+the deletion takes effect in the repository.
 
-  Normally, @kbd{C-x v a} separates log entries by a blank line, but you
-can mark several related log entries to be clumped together (without an
-intervening blank line) by starting the text of each related log entry
-with a label of the form @w{@samp{@{@var{clumpname}@} }}.  The label
-itself is not copied to @file{ChangeLog}.  For example, suppose the log
-entries are:
+@findex vc-rename-file
+  To rename a version-controlled file, type @kbd{M-x vc-rename-file}.
+This prompts for two arguments: the name of the file you wish to
+rename, and the new name; then it performs the renaming via the
+version control system.  The renaming takes effect immediately in the
+working tree, and takes effect in the repository when you commit the
+renamed file.
+
+  On modern version control systems that have built-in support for
+renaming, the renamed file retains the full change history of the
+original file.  On CVS and older version control systems, the
+@code{vc-rename-file} command actually works by creating a copy of the
+old file under the new name, registering it, and deleting the old
+file.  In this case, the change history is not preserved.
 
-@flushleft
-@bullet{} For @file{vc.texinfo}: @samp{@{expand@} Fix expansion typos.}
-@bullet{} For @file{vc.el}: @samp{@{expand@} Don't call expand-file-name.}
-@bullet{} For @file{vc-hooks.el}: @samp{@{expand@} Don't call expand-file-name.}
-@end flushleft
+@node Revision Tags
+@subsubsection Revision Tags
+@cindex revision tag
+@cindex tags for version control
 
-@noindent
-Then the text in @file{ChangeLog} looks like this:
+  Most version control systems allow you to apply a @dfn{revision tag}
+to a specific version of a version-controlled tree.  On modern
+changeset-based version control systems, a revision tag is simply a
+symbolic name for a particular revision.  On older file-based systems
+like CVS, each tag is added to the entire set of version-controlled
+files, allowing them to be handled as a unit.  Revision tags are
+commonly used to identify releases that are distributed to users.
 
-@iftex
-@medbreak
-@end iftex
-@smallexample
-@group
-1999-04-01  Nathaniel Bowditch  <nat@@apn.org>
+  There are two basic commands for tags; one makes a tag with a given
+name, the other retrieves a named tag.
 
-        * vc.texinfo: Fix expansion typos.
-        * vc.el, vc-hooks.el: Don't call expand-file-name.
-@end group
-@end smallexample
-@iftex
-@medbreak
-@end iftex
+@table @code
+@kindex C-x v s
+@findex vc-create-tag
+@item C-x v s @var{name} @key{RET}
+Define the working revision of every registered file in or under the
+current directory as a tag named @var{name}
+(@code{vc-create-tag}).
 
-  A log entry whose text begins with @samp{#} is not copied to
-@file{ChangeLog}.  For example, if you merely fix some misspellings in
-comments, you can log the change with an entry beginning with @samp{#}
-to avoid putting such trivia into @file{ChangeLog}.
+@kindex C-x v r
+@findex vc-retrieve-tag
+@item C-x v r @var{name} @key{RET}
+For all registered files at or below the current directory level,
+retrieve the tagged revision @var{name}. This command will switch to a
+branch if @var{name} is a branch name and your VCS distinguishes
+branches from tags.  (@code{vc-retrieve-tag}).
 
-@node Renaming and VC
-@subsubsection Renaming VC Work Files and Master Files
+This command reports an error if any files are locked at or below the
+current directory, without changing anything; this is to avoid
+overwriting work in progress.
+@end table
 
-@findex vc-rename-file
-  When you rename a registered file, you must also rename its master
-file correspondingly to get proper results.  Use @code{vc-rename-file}
-to rename the source file as you specify, and rename its master file
-accordingly.  It also updates any tags (@pxref{Revision Tags}) that
-mention the file, so that they use the new name; despite this, the
-tag thus modified may not completely work (@pxref{Revision Tag Caveats}).
+  You can give a tag or branch name as an argument to @kbd{C-x v =} or
+@kbd{C-x v ~}
+@iftex
+(@pxref{Old Revisions,,,emacs, the Emacs Manual}).
+@end iftex
+@ifnottex
+(@pxref{Old Revisions}).
+@end ifnottex
+Thus, you can use it to compare a tagged version against the current files,
+or two tagged versions against each other.
 
-  Some back ends do not provide an explicit rename operation to their
-repositories.  After issuing @code{vc-rename-file}, use @kbd{C-x v v}
-on the original and renamed buffers and provide the necessary edit
-log.
+  On SCCS, VC implements tags itself; these tags are visible only
+through VC.  Most later systems (including CVS, Subversion, bzr, git,
+and hg) have a native tag facility, and VC uses it where available;
+those tags will be visible even when you bypass VC.
 
-  You cannot use @code{vc-rename-file} on a file that is locked by
-someone else.
+  In a file-oriented VCS, when you rename a registered file you need
+to rename its master along with it; the command @code{vc-rename-file}
+will do this automatically.  If you are using SCCS, you must also
+update the records of the tag, to mention the file by its new name
+(@code{vc-rename-file} does this, too).  An old tag that refers to a
+master file that no longer exists under the recorded name is invalid;
+VC can no longer retrieve it.  It would be beyond the scope of this
+manual to explain enough about RCS and SCCS to explain how to update
+the tags by hand.  Using @code{vc-rename-file} makes the tag remain
+valid for retrieval, but it does not solve all problems.  For example,
+some of the files in your program probably refer to others by name.
+At the very least, the makefile probably mentions the file that you
+renamed.  If you retrieve an old tag, the renamed file is retrieved
+under its new name, which is not the name that the makefile expects.
+So the program won't really work as retrieved.
 
 @node Version Headers
 @subsubsection Inserting Version Control Headers
 
-   Sometimes it is convenient to put version identification strings
-directly into working files.  Certain special strings called
-@dfn{version headers} are replaced in each successive version by the
-number of that version, the name of the user who created it, and other
-relevant information.  All of the back ends that VC supports have such
-a mechanism, except GNU Arch.
-
-  VC does not normally use the information contained in these headers.
-The exception is RCS---with RCS, version headers are sometimes more
-reliable than the master file to determine which version of the file
-you are editing.  Note that in a multi-branch environment, version
-headers are necessary to make VC behave correctly
-@iftex
-(@pxref{Multi-User Branching,,,emacs, the Emacs Manual}).
-@end iftex
-@ifnottex
-(@pxref{Multi-User Branching}).
-@end ifnottex
+  On Subversion, CVS, RCS, and SCCS, you can put certain special
+strings called @dfn{version headers} into a work file.  When the file
+is committed, the version control system automatically puts the
+revision number, the name of the user who made the commit, and other
+relevant information into the version header.
 
-  Searching for RCS version headers is controlled by the variable
-@code{vc-consult-headers}.  If it is non-@code{nil} (the default),
-Emacs searches for headers to determine the version number you are
-editing.  Setting it to @code{nil} disables this feature.
-
-  Note that although CVS uses the same kind of version headers as RCS
-does, VC never searches for these headers if you are using CVS,
-regardless of the above setting.
+@vindex vc-consult-headers
+  VC does not normally use the information in the version headers.  As
+an exception, when using RCS, Emacs uses the version header, if there
+is one, to determine the file version, since it is often more reliable
+than the RCS master file.  To inhibit using the version header this
+way, change the variable @code{vc-consult-headers} to @code{nil}.
 
 @kindex C-x v h
 @findex vc-insert-headers
-  You can use the @kbd{C-x v h} command (@code{vc-insert-headers}) to
-insert a suitable header string.
-
-@table @kbd
-@item C-x v h
-Insert headers in a file for use with your version-control system.
-@end table
-
 @vindex vc-@var{backend}-header
-  The default header string is @samp{@w{$}Id$} for RCS and
-@samp{@w{%}W%} for SCCS.  You can specify other headers to insert by
-setting the variables @code{vc-@var{backend}-header} where
-@var{backend} is @code{rcs} or @code{sccs}.
-
-  Instead of a single string, you can specify a list of strings; then
-each string in the list is inserted as a separate header on a line of
-its own.
-
-  It may be necessary to use apparently-superfluous backslashes when
-writing the strings that you put in this variable.  For instance, you
-might write @code{"$Id\$"} rather than @code{"$Id@w{$}"}.  The extra
-backslash prevents the string constant from being interpreted as a
-header, if the Emacs Lisp file containing it is maintained with
-version control.
-
-@vindex vc-comment-alist
-  Each header is inserted surrounded by tabs, inside comment delimiters,
-on a new line at point.  Normally the ordinary comment
-start and comment end strings of the current mode are used, but for
-certain modes, there are special comment delimiters for this purpose;
-the variable @code{vc-comment-alist} specifies them.  Each element of
-this list has the form @code{(@var{mode} @var{starter} @var{ender})}.
+  To insert a suitable header string into the current buffer, type
+@kbd{C-x v h} (@code{vc-insert-headers}).  This command works only on
+Subversion, CVS, RCS, and SCCS.  The variable
+@code{vc-@var{backend}-header} contains the list of keywords to insert
+into the version header; for instance, CVS uses @code{vc-cvs-header},
+whose default value is @code{'("\$Id\$")}.  (The extra backslashes
+prevent the string constant from being interpreted as a header, if the
+Emacs Lisp file defining it is maintained with version control.)  The
+@kbd{C-x v h} command inserts each keyword in the list on a new line
+at point, surrounded by tabs, and inside comment delimiters if
+necessary.
 
 @vindex vc-static-header-alist
   The variable @code{vc-static-header-alist} specifies further strings
 to add based on the name of the buffer.  Its value should be a list of
 elements of the form @code{(@var{regexp} . @var{format})}.  Whenever
-@var{regexp} matches the buffer name, @var{format} is inserted as part
-of the header.  A header line is inserted for each element that matches
-the buffer name, and for each string specified by
-@code{vc-@var{backend}-header}.  The header line is made by processing the
-string from @code{vc-@var{backend}-header} with the format taken from the
-element.  The default value for @code{vc-static-header-alist} is as follows:
-
-@example
-@group
-(("\\.c$" .
-  "\n#ifndef lint\nstatic char vcid[] = \"\%s\";\n\
-#endif /* lint */\n"))
-@end group
-@end example
-
-@noindent
-It specifies insertion of text of this form:
-
-@example
-@group
-
-#ifndef lint
-static char vcid[] = "@var{string}";
-#endif /* lint */
-@end group
-@end example
-
-@noindent
-Note that the text above starts with a blank line.
-
-  If you use more than one version header in a file, put them close
-together in the file.  The mechanism in @code{revert-buffer} that
-preserves markers may not handle markers positioned between two version
-headers.
+@var{regexp} matches the buffer name, @var{format} is also inserted as
+part of the version header.  A @samp{%s} in @var{format} is replaced
+with the file's version control type.
 
 @node Customizing VC
 @subsection Customizing VC
 
 @vindex vc-handled-backends
-The variable @code{vc-handled-backends} determines which version
+  The variable @code{vc-handled-backends} determines which version
 control systems VC should handle.  The default value is @code{(RCS CVS
 SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems
 that are currently supported.  If you want VC to ignore one or more of
-these systems, exclude its name from the list.  To disable VC entirely,
-set this variable to @code{nil}.
-
-The order of systems in the list is significant: when you visit a file
-registered in more than one system (@pxref{Local Version Control}), VC
-uses the system that comes first in @code{vc-handled-backends} by
-default.  The order is also significant when you register a file for
-the first time, see
+these systems, exclude its name from the list.  To disable VC
+entirely, set this variable to @code{nil}.
+
+  The order of systems in the list is significant: when you visit a
+file registered in more than one system, VC uses the system that comes
+first in @code{vc-handled-backends} by default.  The order is also
+significant when you register a file for the first time
 @iftex
-@ref{Registering,,,emacs, the Emacs Manual},
+(@pxref{Registering,,,emacs, the Emacs Manual}).
 @end iftex
 @ifnottex
-@ref{Registering},
+(@pxref{Registering}).
 @end ifnottex
-for details.
 
 @menu
 * General VC Options::  Options that apply to multiple back ends.
@@ -626,40 +291,27 @@ maintained with version control.  If you want to make backup files even
 for files that use version control, set the variable
 @code{vc-make-backup-files} to a non-@code{nil} value.
 
-@vindex vc-keep-workfiles
-  Normally the work file exists all the time, whether it is locked or
-not.  If you set @code{vc-keep-workfiles} to @code{nil}, then checking
-in a new version with @kbd{C-x v v} deletes the work file; but any
-attempt to visit the file with Emacs creates it again.  (With CVS, work
-files are always kept.)
-
 @vindex vc-follow-symlinks
-  Editing a version-controlled file through a symbolic link can be
-dangerous.  It bypasses the version control system---you can edit the
-file without locking it, and fail to check your changes in.  Also,
-your changes might overwrite those of another user.  To protect against
-this, VC checks each symbolic link that you visit, to see if it points
-to a file under version control.
-
-  The variable @code{vc-follow-symlinks} controls what to do when a
-symbolic link points to a version-controlled file.  If it is @code{nil},
-VC only displays a warning message.  If it is @code{t}, VC automatically
-follows the link, and visits the real file instead, telling you about
-this in the echo area.  If the value is @code{ask} (the default), VC
-asks you each time whether to follow the link.
+@cindex symbolic links (and version control)
+  Editing a version-controlled file through a symbolic link may cause
+unexpected results, if you are unaware that the underlying file is
+version-controlled.  The variable @code{vc-follow-symlinks} controls
+what Emacs does if you try to visit a symbolic link pointing to a
+version-controlled file.  If the value is @code{ask} (the default),
+Emacs asks for confirmation.  If it is @code{nil}, Emacs just displays
+a warning message.  If it is @code{t}, Emacs automatically follows the
+link and visits the real file instead.
 
 @vindex vc-suppress-confirm
   If @code{vc-suppress-confirm} is non-@code{nil}, then @kbd{C-x v v}
 and @kbd{C-x v i} can save the current buffer without asking, and
-@kbd{C-x v u} also operates without asking for confirmation.  (This
-variable does not affect @kbd{C-x v c}; that operation is so drastic
-that it should always ask for confirmation.)
+@kbd{C-x v u} also operates without asking for confirmation.
 
 @vindex vc-command-messages
   VC mode does much of its work by running the shell commands for the
-appropriate backend.  If @code{vc-command-messages} is non-@code{nil}, VC
-displays messages to indicate which shell commands it runs, and
-additional messages when the commands finish.
+appropriate version control system.  If @code{vc-command-messages} is
+non-@code{nil}, VC displays messages to indicate which shell commands
+it runs, and additional messages when the commands finish.
 
 @vindex vc-path
   You can specify additional directories to search for version control
@@ -715,37 +367,16 @@ the variable @code{vc-mistrust-permissions} affects SCCS use, but
 @node CVS Options
 @subsubsection Options specific for CVS
 
-@cindex locking (CVS)
-  By default, CVS does not use locking to coordinate the activities of
-several users; anyone can change a work file at any time.  However,
-there are ways to restrict this, resulting in behavior that resembles
-locking.
-
-@cindex CVSREAD environment variable (CVS)
-  For one thing, you can set the @env{CVSREAD} environment variable
-(the value you use makes no difference).  If this variable is defined,
-CVS makes your work files read-only by default.  In Emacs, you must
-type @kbd{C-x v v} to make the file writable, so that editing works
-in fact similar as if locking was used.  Note however, that no actual
-locking is performed, so several users can make their files writable
-at the same time.  When setting @env{CVSREAD} for the first time, make
-sure to check out all your modules anew, so that the file protections
-are set correctly.
-
-@cindex cvs watch feature
-@cindex watching files (CVS)
-  Another way to achieve something similar to locking is to use the
-@dfn{watch} feature of CVS.  If a file is being watched, CVS makes it
-read-only by default, and you must also use @kbd{C-x v v} in Emacs to
-make it writable.  VC calls @code{cvs edit} to make the file writable,
-and CVS takes care to notify other developers of the fact that you
-intend to change the file.  See the CVS documentation for details on
-using the watch feature.
+@vindex vc-cvs-global-switches
+  You can specify additional command line options to pass to all CVS
+operations in the variable @code{vc-cvs-global-switches}.  These
+switches are inserted immediately after the @code{cvs} command, before
+the name of the operation to invoke.
 
 @vindex vc-stay-local
 @vindex vc-cvs-stay-local
 @cindex remote repositories (CVS)
-  When a file's repository is on a remote machine, VC tries to keep
+  When using a CVS repository on a remote machine, VC can try keeping
 network interactions to a minimum.  This is controlled by the variable
 @code{vc-cvs-stay-local}.  There is another variable,
 @code{vc-stay-local}, which enables the feature also for other back
@@ -753,36 +384,58 @@ ends that support it, including CVS.  In the following, we will talk
 only about @code{vc-cvs-stay-local}, but everything applies to
 @code{vc-stay-local} as well.
 
-If @code{vc-cvs-stay-local} is @code{t} (the default), then VC uses
-only the entry in the local CVS subdirectory to determine the file's
-state (and possibly information returned by previous CVS commands).
-One consequence of this is that when you have modified a file, and
-somebody else has already checked in other changes to the file, you
-are not notified of it until you actually try to commit.  (But you can
-try to pick up any recent changes from the repository first, using
-@kbd{C-x v m @key{RET}},
+  If @code{vc-cvs-stay-local} is @code{t} (the default), VC determines
+the version control status of each file using only the entry in the
+local CVS subdirectory and the information returned by previous CVS
+commands.  As a consequence, if you have modified a file and somebody
+else has checked in other changes, you will not be notified of the
+conflict until you try to commit.
+
+  If you change @code{vc-cvs-stay-local} to @code{nil}, VC queries the
+remote repository @emph{before} it decides what to do in
+@code{vc-next-action} (@kbd{C-x v v}), just as it does for local
+repositories.
+
+  You can also set @code{vc-cvs-stay-local} to a regular expression
+that is matched against the repository host name; VC then stays local
+only for repositories from hosts that match the pattern.
+
+@cindex automatic version backups
+  When using a remote repository, Emacs normally makes @dfn{automatic
+version backups} of the original versions of each edited file.  These
+local backups are made whenever you save the first changes to a file,
+and they are removed after you commit your changes to the repository.
+(Note that these are not the same as ordinary Emacs backup files;
 @iftex
-@pxref{Merging,,,emacs, the Emacs Manual}).
+@pxref{Backup,,,emacs, the Emacs Manual}.)
 @end iftex
 @ifnottex
-@pxref{Merging}).
+@pxref{Backup}.)
 @end ifnottex
+Commands like @kbd{C-x v =} and @kbd{C-x v u} make use of automatic
+version backups, if possible, to avoid having to access the network.
 
-  When @code{vc-cvs-stay-local} is @code{t}, VC also makes local
-version backups, so that simple diff and revert operations are
-completely local (@pxref{Version Backups}).
-
-  On the other hand, if you set @code{vc-cvs-stay-local} to @code{nil},
-then VC queries the remote repository @emph{before} it decides what to
-do in @code{vc-next-action} (@kbd{C-x v v}), just as it does for local
-repositories.  It also does not make any version backups.
+  Setting @code{vc-cvs-stay-local} to @code{nil} disables the making
+of automatic version backups.
 
-  You can also set @code{vc-cvs-stay-local} to a regular expression
-that is matched against the repository host name; VC then stays local
-only for repositories from hosts that match the pattern.
+@cindex manual version backups
+  Automatic version backups have names of the form
+@w{@code{@var{file}.~@var{version}.~}}.  This is similar to the name
+that @kbd{C-x v ~} saves old versions to
+@iftex
+(@pxref{Old Revisions,,,emacs, the Emacs Manual}),
+@end iftex
+@ifnottex
+(@pxref{Old Revisions}),
+@end ifnottex
+except for the additional dot (@samp{.}) after the version.  The
+relevant VC commands can use both kinds of version backups.  The main
+difference is that the ``manual'' version backups made by @kbd{C-x v
+~} are not deleted automatically when you commit.
 
-@vindex vc-cvs-global-switches
-  You can specify additional command line options to pass to all CVS
-operations in the variable @code{vc-cvs-global-switches}.  These
-switches are inserted immediately after the @code{cvs} command, before
-the name of the operation to invoke.
+@cindex locking (CVS)
+  CVS does not use locking by default, but there are ways to enable
+locking-like behavior using its @env{CVSREAD} or @dfn{watch} feature;
+see the CVS documentation for details.  If that case, you can use
+@kbd{C-x v v} in Emacs to toggle locking, as you would for a
+locking-based version control system (@pxref{VC With A Locking VCS}).
index 6a6f7b1a4d77e4ceed495686520ddbe3dad6fc23..76ab79361e44d49aa3af90091d2d86a862d8fc84 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Windows, Frames, Buffers, Top
index b32b3d905e47ed3a58f44e8f7c1018fa080694c2..7a4e47980614bafcdd2b06179d89304e0e48b451 100644 (file)
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1987, 1993-1995, 1997, 2001-2011
+@c Copyright (C) 1987, 1993-1995, 1997, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node X Resources, Antinews, Emacs Invocation, Top
@@ -51,15 +51,16 @@ this file do not take effect immediately, because the X server stores
 its own list of resources; to update it, use the command
 @command{xrdb}---for instance, @samp{xrdb ~/.Xdefaults}.
 
-@cindex Registry (MS-Windows)
+@cindex registry, setting resources (MS-Windows)
   (MS-Windows systems do not support X resource files; on Windows,
 Emacs looks for X resources in the Windows Registry, first under the
-key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} and then under the key
-@samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}.  The menu and scroll
-bars are native widgets on MS-Windows, so they are only customizable
-via the system-wide settings in the Display Control Panel.  You can
-also set resources using the @samp{-xrm} command line option, as
-explained below.)
+key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs}, which affects only
+the current user and override the system-wide settings, and then under
+the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}, which affects
+all users of the system.  The menu and scroll bars are native widgets
+on MS-Windows, so they are only customizable via the system-wide
+settings in the Display Control Panel.  You can also set resources
+using the @samp{-xrm} command line option, as explained below.)
 
   Each line in the X resource file specifies a value for one option or
 for a collection of related options.  Each resource specification
index 6cede6375f2531b7337264e87b11a0658cac057c..0365a3ca17431e00574c6ac60cb394485d34c830 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index df356f1b132b69038f7bf37007aa622148573be7..fa9a0a4037c9b5ee7e84de5cd1b321bd5558f38e 100644 (file)
@@ -1,6 +1,6 @@
 #### Makefile for the Emacs Lisp Introduction manual
 
-# Copyright (C) 1994-1999, 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994-1999, 2001-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index ba4e727cc8e791dbafd3499b69d70ee4c1a6eaf9..d81a6bc2a3a8659a3cf18fc51a6210d63a31407d 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index a1fb08463b4ff46040106bca4adc2d7ae6e65fb2..d17082f5ac71aa93945f2c3d9667c12e2bcc1296 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:26:58 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index a711b66ca2e9e175ad2f8b03de1084adb929acd3..bd227a14c0300aa7895de9a5e4d0451bc6f6396b 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:26:39 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 5612caa0717639f0a66f1c7bf69d8f66668b8f51..676030d780f83a5874084d4903539fc28815f0a6 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Tue Mar 14 15:09:30 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index a1de449373fc5039ad8c3bfaf6308b3b7bbd884e..329c751b8565f9b38759de018f3e77aa6e3b8f8b 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:25:41 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 45882e815a79d01016636e77e2fda4c9c0b9bbd1..fe28852a87282d734df82e6850f92bdfd51addee 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:25:06 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index b8bff1da573d3fe2924cc0190eed14a09c7649d7..214c4059e32c8ef5d1c3b475bceb748ce26c7e57 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:27:28 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 99e3581f38e8dc3303852293330ea9bd3cde94e5..2c066fc708a0f1324bd68c94e85691fc69c97394 100644 (file)
@@ -9,7 +9,7 @@
 %%EndComments
 %%BeginProlog
 
-% Copyright (C) 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 23d0d5a8f349066b86932b2baa152d465d81325e..0f9b6b906aa31cb1a893180514e140a9981811c6 100644 (file)
@@ -228,7 +228,7 @@ people who are not programmers.
 @sp 1
 Edition @value{edition-number}, @value{update-date}
 @sp 1
-Copyright @copyright{} 1990-1995, 1997, 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1990-1995, 1997, 2001-2012 Free Software Foundation, Inc.
 @sp 1
 
 @iftex
index a9c3c530646ac64473b7b08447e1e8f199ccc879..42f8d54264cf3a24041b80f17e00142929273dca 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:31:53 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 44238a1ad7d509f13c45bb4a2f2abf134be230d3..ab9e8a8582022de79fdef0afc8ae03330a3d9c6d 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:33:09 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 1c5cda046e08cdf85145a0335d37e6791525b6ce..8269650e0ec1ececcd7bfbe733464e706dce6215 100644 (file)
@@ -4,7 +4,7 @@
 %%CreationDate: Wed Mar  8 14:33:49 1995
 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
 
-% Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 %
 % This file is part of GNU Emacs.
 %
index 06641cc2222c06adf83cc4cd0593496112547a55..a8aaf43096e51cdb1333fab855d405c9f74fd423 100644 (file)
@@ -1,6 +1,6 @@
 #### -*- Makefile -*- for the Emacs Lisp Introduction manual.
 
-# Copyright (C) 2003-2011  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index a03521d449b62eac08e4fcb00cdbcfc4af58d2d4..f69eeeaadd4a84249861c0a211d0c9cd05f6af8a 100644 (file)
@@ -1,3 +1,41 @@
+2011-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * variables.texi (Creating Buffer-Local): Warn against misuses of
+       make-variable-buffer-local (bug#10258).
+
+2012-01-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * macros.texi (Defining Macros): Document `doc-string' (bug#9668).
+
+2012-01-06  Chong Yidong  <cyd@gnu.org>
+
+       * variables.texi (Directory Local Variables): Document
+       hack-dir-local-variables-non-file-buffer.
+
+2012-01-06  Glenn Morris  <rgm@gnu.org>
+
+       * maps.texi (Standard Keymaps): Refer to Info-edit by name
+       rather than by keybinding.
+
+2011-12-29  Juanma Barranquero  <lekktu@gmail.com>
+
+       * frames.texi (Font and Color Parameters): Add @pxref.
+
+2011-12-29  Daniel Colascione  <dan.colascione@gmail.com>
+
+       * frames.texi (Font and Color Parameters):
+       Document w32 font backends (bug#10399).
+
+2011-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * files.texi (File Attributes, Changing Files):
+       Use a more-natural notation for octal numbers.
+
+2011-12-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * variables.texi (Variables with Restricted Values):
+       Change reference to variable (bug#10354).
+
 2011-12-13  Martin Rudalics  <rudalics@gmx.at>
 
        * windows.texi (Splitting Windows): Use t instead of non-nil
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1998-2011  Free Software Foundation, Inc.
+  Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 75fa884224bc0d062d1a2a2b725d8f66cf8c3dcf..0b616884ff20ad22160071f319a75f42f04837e0 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for the GNU Emacs Lisp Reference Manual.
 
-# Copyright (C) 1990-1996, 1998-2011  Free Software Foundation, Inc.
+# Copyright (C) 1990-1996, 1998-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index a9c0922640b51b08dc9a0af838984a247d9dc16a..df808e4bcab1a6f257a8b4844a88847a133121b5 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 57030559d0bea7cefdce9ba43c8b614707be8273..f7fd8b541ed04edde2e019848ed3e95cffbed073 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/abbrevs
 @node Abbrevs, Processes, Syntax Tables, Top
index 293563812297b624125a1ba5ffb7afdce75f781b..ee1950a589a7c5605a88a38dfe4c9f71ab7cf391 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/advising
 @node Advising Functions, Debugging, Byte Compilation, Top
index bb1e42c930951ad6ffb4277cf2ed9982ba3d92cb..6b9473e99d4df7ff8516d07083e11b7e2bb41469 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999, 2002-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2002-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 
 @c This node must have no pointers.
index 3add7b174d244219b679e84045088d97b6cf2332..75c244ae1ddc17eb0d972e225b440e04cac0004b 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo  @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @c
 @c %**start of header
index aad0cbc146aea19fd84acc5724b8a6d00cdbd0d2..969220845d0a25b8c7f6d094dec0ebe40b1e2f44 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/backups
 @node Backups and Auto-Saving, Buffers, Files, Top
index ee2ce2e200148bc2236644bfc6718e06db6bc950..c2e792cd5859ffbd67e48ae1dde19760fe881996 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/buffers
index 41392273fbdc38a4e19019ac33ec48ba42be425b..4a0bc8a6b2443e31ffa9c0b10635464485d2f94f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/commands
index 372c041ab7a6f7e8ba213ea0dc1675b6bbaac585..4e21df7843006e72d443a3c5b1f003f3a49396f8 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/compile
 @node Byte Compilation, Advising Functions, Loading, Top
index 875c23658b9a4f6b0ff2378b293e9b70ec3e1268..e74f3e198bfecfaf8793bb3edc3af4a653ac59a3 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/control
 @node Control Structures, Variables, Evaluation, Top
index 868edaa5bd4a40f18c419d89c5d3077338310315..f8495513be471ef645d100bc1d64ac6f071e140e 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1997-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1997-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/customize
 @node Customization, Loading, Macros, Top
index 757906f286e656e3113aefc4c57b6275073c4210..9466f21a563f26b0856164063d3e58c015308606 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-1999, 2001-2011 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/debugging
 @node Debugging, Read and Print, Advising Functions, Top
index a9921d7443d9b792c763aaea7b675739918812b8..381eaf66c1271decb539d2e761df8ddbbc7ae3df 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/display
 @node Display, System Interface, Processes, Top
index 391c22ba098ab32c5b316c4f53dd98ff24e51e4f..669a5d0edcded8b4fa28f4e1e7ac6ba51305b9fc 100644 (file)
@@ -1,6 +1,6 @@
 @comment -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1992-1994, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1992-1994, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 
 @c This file can also be used by an independent Edebug User
index 92dfb7a074f2587e3e1c671e4613df99d3e8e112..b2cc5a9adf2cf406500c1d2042f04ca4ee199b1d 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo    @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @c
 @comment %**start of header
index 98eaf1f8ade6d25a958e7d3dcafa8bbb1d8dd002..0b8d972c1d55a7940844078480e37b4f15465525 100644 (file)
@@ -44,7 +44,7 @@
 This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@*
 corresponding to Emacs version @value{EMACSVER}.
 
-Copyright @copyright{} 1990-1996, 1998-2011  Free Software
+Copyright @copyright{} 1990-1996, 1998-2012  Free Software
 Foundation, Inc.
 
 @quotation
index 98967b708b3249f44997bc85b3ade0127fa46799..56ff3636750cec758392ec099b44ac9d55531f94 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/errors
 @node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
index 74f3d9c48b957d19b9dbd45d9d7a913f25985967..adb4841a82d32f1aca33f92cdd299245a51400be 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/eval
 @node Evaluation, Control Structures, Symbols, Top
index 86ecfd122ef2ee3d514d7a2edd0f164c823e3fcd..614bd827489befa560ae531d12d188861195475f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/files
@@ -1115,15 +1115,10 @@ This function recursively follows symbolic links at all levels.
 @end group
 
 @group
-(set-file-modes "~/junk/diffs" 438)
+(set-file-modes "~/junk/diffs" #o666)
      @result{} nil
 @end group
 
-@group
-(format "%o" 438)
-     @result{} "666"             ; @r{Convert to octal.}
-@end group
-
 @group
 % ls -l diffs
   -rw-rw-rw-  1 lewis 0 3063 Oct 30 16:00 diffs
@@ -1570,10 +1565,10 @@ the bitwise complement of the ``umask'' value.
 
 The argument @var{mode} must be an integer.  On most systems, only the
 low 9 bits of @var{mode} are meaningful.  You can use the Lisp construct
-for octal character codes to enter @var{mode}; for example,
+for octal numbers to enter @var{mode}; for example,
 
 @example
-(set-default-file-modes ?\644)
+(set-default-file-modes #o644)
 @end example
 
 Saving a modified version of an existing file does not count as creating
index dad1f28026ec17c0a608c10739887cbaa93d6776..4835a5b3da2c49a539e5c6cc58bbbd2ae47f6cc2 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/frames
@@ -888,9 +888,11 @@ and bar becomes a narrower bar).
 A list of symbols, specifying the @dfn{font backends} to use for
 drawing fonts in the frame, in order of priority.  On X, there are
 currently two available font backends: @code{x} (the X core font
-driver) and @code{xft} (the Xft font driver).  On other systems, there
-is only one available font backend, so it does not make sense to
-modify this frame parameter.
+driver) and @code{xft} (the Xft font driver).  On Windows, there are
+currently two available font backends: @code{gdi} and
+@code{uniscribe} (@pxref{Windows Fonts,,, emacs, The GNU Emacs
+Manual}).  On other systems, there is only one available font backend,
+so it does not make sense to modify this frame parameter.
 
 @vindex background-mode, a frame parameter
 @item background-mode
index f3b2375b61da57d6db9954fb355aa0b8edb7d231..ada00867bd042caa37ec6dd5163dc302b0555089 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/functions
index 0d77cba6fa619bf48a1526061eafa19747a4a7b6..0a2783b6f1687055608ff2a2fcd253bc8f66d648 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/hash
 @node Hash Tables, Symbols, Sequences Arrays Vectors, Top
index 3426e81cdb3462fd5ca65a1817aacdb152a07e69..678ea83465f9e69d4290b85a3afc271ad840991f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/help
index 6e2cac9c06571d9ad2dba6e9b659b95364b95698..95655324ab46a297606059f526bfa39e1a5302fa 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1998, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1998, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/hooks
 @node Standard Hooks, Index, Standard Keymaps, Top
index 9ef4646b50b60b5e898d748f8ba55b7e41ff17d7..df6193cf13ba5919bdb2241b6216236ac32e7099 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/internals
 @node GNU Emacs Internals, Standard Errors, Tips, Top
index 44ac947fa99231c33d2f68e3ccdc4a50132beaf3..64c856d3ed45eb7b5c4ad51c7fc686a21f8eb2f1 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-coding: iso-latin-1-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/intro
 
index e5cca0622a910e62713b189c0ad869c4f5d74684..8e03ade285f57dc096f54b1902cda608f490d410 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/keymaps
 @node Keymaps, Modes, Command Loop, Top
index 55973adac595745606180f18a7a3b340c16cb672..73e2adbc03a5e17caacdd6a6d2fcc218f4ac171b 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo    @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @c
 @comment %**start of header
index 056c924e72c03f89b2d91461ddb1921550c5436a..eb9ddf58603deeca8edd3e86f0b6c306ff95897f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/lists
 @node Lists, Sequences Arrays Vectors, Strings and Characters, Top
index ca233ac5f21a41247905309bdc1f0437bccf5efb..8d8fec62e2c0c2b9bb9d7380497098ef8ae8dff1 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/loading
index a196efc9734ec909fa58f25e4cd7d55a28573197..a075d955add756d123f6585c7d1e24658d8bd06c 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/locals
 @node Standard Buffer-Local Variables, Standard Keymaps, Standard Errors, Top
index c66feec08b78a19fc00e44a6705f7c5d1259af0d..a8b941bba89c2dd1308560ce2b1402cf1cad3fcb 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/macros
 @node Macros, Customization, Functions, Top
@@ -239,6 +239,9 @@ Specify how to step through macro calls for Edebug.
 @item (indent @var{indent-spec})
 Specify how to indent calls to this macro.  @xref{Indenting Macros},
 for more details.
+
+@item (doc-string @var{number})
+Specify which element of the macro is the doc string, if any.
 @end table
 
 A @code{declare} form only has its special effect in the body of a
index 7b88e861d673a23ea2c0b449a9dd0334967c6adb..08b176b7593996ac460b7f839ac0c679559e60dc 100644 (file)
@@ -1,6 +1,6 @@
 # -*- Makefile -*- for the GNU Emacs Lisp Reference Manual.
 
-# Copyright (C) 2003-2011  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index d235fee90ee0c063b2af9a7236b5356ba0727e4f..24cd64a6b35025c4d6fe5bb2d4a212675db6785c 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/maps
 @node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
@@ -144,7 +144,7 @@ cell.
 
 @item Info-edit-map
 @vindex Info-edit-map
-A sparse keymap used by the @kbd{e} command of Info.
+A sparse keymap used by the @code{Info-edit} command.
 
 @item Info-mode-map
 @vindex Info-mode-map
index 7b73c454c8739160e7dcb28aa954f66d4b9b972f..e8a009de4011d230ccb3acb6794848cc35296945 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/markers
 @node Markers, Text, Positions, Top
index aa22e6c92ff86afe5ffee923a187bfe89d12862e..e3008470233f3340dd3df3cc2f900375b96ffcdb 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/minibuf
index 9d652901e5300ecbe523f28a9b7084687f0c9dcb..5d09b79748e974ac049571bb9bb6429f72eed934 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/modes
 @node Modes, Documentation, Keymaps, Top
@@ -701,7 +701,7 @@ init file.)
 @cindex help for major mode
 @cindex documentation for major mode
 
-  The @code{describe-mode} function is provides information about major
+  The @code{describe-mode} function provides information about major
 modes.  It is normally bound to @kbd{C-h m}.  It uses the value of the
 variable @code{major-mode} (@pxref{Major Modes}), which is why every
 major mode command needs to set that variable.
index 46dbbb08e573738cafd08dd530e4185c9ae19c6c..19c729811747016343542811a1adff57d02c1c7e 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/characters
 @node Non-ASCII Characters, Searching and Matching, Text, Top
index 3efddebffb40dc101251c3670fdaa890818f76bf..6768ecece9c7056d6ffcbbf7cbe6bc302957defa 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/numbers
index 26def7858b7bd20d989e955ebd1057a15acc5845..3fb676edcd43f28969acd61083e8915ad746cc7d 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/objects
index 7d05f8f346824abb54cd0583e1d3b97b18d3d6d5..e63300cfac434237c225399121acc48965932a9c 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/os
index 5533f8ab5faa1a3093f5121e5fafdc6fde1594af..eb3612dc8681e57f06a5857df1dd5f0b70683cc3 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2010-2011  Free Software Foundation, Inc.
+@c Copyright (C) 2010-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/package
 @node Packaging, Antinews, System Interface, Top
index 74444c7ad605e554cbb8557854819b8fb014669f..29b338369e5ffcfb1653e0208f79b4b0316355c1 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/positions
 @node Positions, Markers, Frames, Top
index 51d91572d0ea8b7516cb5b76bf1ba210c1d1a931..38eb5a86471756980729a31a97dbe3a6ce2a5444 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/processes
index a601ed0c2c061476fd04aaeeede1f36613df49e1..214815682761129d7e09a8e5a1340d74003681ce 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/searching
index 825dd976eacae0097f129d0e6ea4f2deb8368871..0ea32f99e128f5620d333f9c6ddce923cd9d0406 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/sequences
index e0d77ee054130e479c218b8ed930ee4cb2619fcb..18fb633acfd88786c4b7be5a2dee2fc804a75e27 100644 (file)
@@ -337,7 +337,6 @@ fset
 fstab
 ftp
 fu
-funtions
 garbles
 gc
 gcpro
index 4d3a66d885228d5b3c9c88a57c0342146d1f53e0..36691624405bcc4b48126758ff007a03cff0b200 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/streams
 @node Read and Print, Minibuffers, Debugging, Top
index 2b8911277cd453ed735e210cf0671209de7bb5f2..49199d3e32f161b44a18779e3af0ab8216fda135 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/strings
index 79b3249d760be572f35a801861ab4b581b006a53..866a63c4cd95620adf6aada7aca0986bbaa9249f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/symbols
 @node Symbols, Evaluation, Hash Tables, Top
index 0d7a0c0bed47ae075716b065a0423c473a20c80f..dc215b1e0e6416354aad2cad6bf941f369942eff 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/syntax
index f7f9c71616244d22da11a083230291e013e553a5..b75c013298fe32ce67607f9cd42fbf322424280f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/text
 @node Text, Non-ASCII Characters, Markers, Top
index 5c9b88f57b2b21ce7bc3f215ad91b6fc57e9718c..a8765716e7104f45d112f728e689e55ce0daaba4 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl
 
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index fd875b45be9824d2085119356002c3e3bd7acb69..c0f6c0355e51d08c2201dc5bff3fb02fd970c55e 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/tips
index 6eb11a92f472e3b171c1ed1e0dbd8149a36f50ee..67b5dbf89a3747086c641a4cc78d4c14f07e1c62 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See end for copying conditions.
 
 Two Volume Cross References
index 8949bfe0157828432ad38cbfbe54c61c67f18977..4acbb193f82c67bf9a1869fb7d87b69a82da7b1f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2011  Free Software Foundation, Inc.
+# Copyright (C) 2007-2012  Free Software Foundation, Inc.
 # See end for copying conditions.
 
 # although it would be nice to use tex rather than pdftex to avoid
index b3a8666bcf2247b254fb48713096f34f25009af6..39dee62d45dfe609017c8ac5b7467cd879acd2d9 100644 (file)
@@ -1,6 +1,6 @@
 ;; Auxiliary functions for preparing a two volume manual.
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; --rjc 30mar92
 
index 091765043e394deb930dd6e79d8400ba8c20286b..b0a6795021b1670b4bf9e5c96de016de919d142b 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2012  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/variables
 @node Variables, Functions, Control Structures, Top
@@ -1351,7 +1351,10 @@ needed if you use the @var{local} argument to @code{add-hook} or
 @deffn Command make-variable-buffer-local variable
 This function marks @var{variable} (a symbol) automatically
 buffer-local, so that any subsequent attempt to set it will make it
-local to the current buffer at the time.
+local to the current buffer at the time.  Unlike
+@code{make-local-variable}, with which it is often confused, this
+cannot be undone, and affects the behavior of the variable in all
+buffers.
 
 A peculiar wrinkle of this feature is that binding the variable (with
 @code{let} or other binding constructs) does not create a buffer-local
@@ -1829,6 +1832,15 @@ function works by calling @code{dir-locals-set-class-variables} and
 @code{dir-locals-set-directory-class}, described below.
 @end defun
 
+@defun hack-dir-local-variables-non-file-buffer
+This function looks for directory-local variables, and immediately
+applies them in the current buffer.  It is intended to be called in
+the mode commands for non-file buffers, such as Dired buffers, to let
+them obey directory-local variable settings.  For non-file buffers,
+Emacs looks for directory-local variables in @code{default-directory}
+and its parent directories.
+@end defun
+
 @defun dir-locals-set-class-variables class variables
 This function defines a set of variable settings for the named
 @var{class}, which is a symbol.  You can later assign the class to one
@@ -1998,6 +2010,6 @@ This variable holds a list of all variables of type @code{DEFVAR_BOOL}.
 Attempting to assign them any other value will result in an error:
 
 @example
-(setq window-min-height 5.0)
-@error{} Wrong type argument: integerp, 5.0
+(setq undo-limit 1000.0)
+@error{} Wrong type argument: integerp, 1000.0
 @end example
index c89447fc13901c90114b0466deadfca58c86c565..95f9f7f4d29714c57f711411676112dc5b39ada4 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 @c This file is used for printing the GNU Emacs Lisp Reference Manual
 @c in two volumes.  It is a modified version of elisp.texi.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c %**start of header
 @setfilename elisp
@@ -67,9 +67,7 @@
 This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@*
 corresponding to Emacs version @value{EMACSVER}.
 
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,
-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011  Free Software
-Foundation, Inc.
+Copyright @copyright{} 1990-1996, 1998-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index d45d23da36591c7e67cd4e92dec2851b6611a5c6..08ea022f6a7c9461228274762e7fc72b5c2aebf5 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 @c This file is used for printing the GNU Emacs Lisp Reference Manual
 @c in two volumes.  It is a modified version of elisp.texi.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c %**start of header
 @setfilename elisp
@@ -67,9 +67,7 @@
 This is edition @value{VERSION} of the GNU Emacs Lisp Reference Manual,@*
 corresponding to Emacs version @value{EMACSVER}.
 
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,
-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011  Free Software
-Foundation, Inc.
+Copyright @copyright{} 1990-1996, 1998-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index df63115868908217b3da2faabfd6160c2b34e4bd..85e1b9340fc2143eb17e7320f7b787c55ecbbd13 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2011
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
 @c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/windows
index 758cdde1dea9238e28875b43f323b1b4bcc14d7d..b6def1a7d8ce06d25e0d766916ab7b6c104465f1 100644 (file)
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 2007-2011  Free Software Foundation, Inc.
+    Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 5afe59d6bc1863165d223859cb3094c7c4774a0d..84f1ef1dd9b0a12a05e01c2f62c31bc54dc0c2c3 100644 (file)
@@ -85,7 +85,7 @@ was written by Gerd Moellmann.
 Copyright
 .if t \(co
 .if n (C)
-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+2008-2012 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of this
 document provided the copyright notice and this permission notice are
index 1acdcf5ebd2915e41c946487a4a3f1f58c208432..437d8cbad3b8a8aff430d8fb2e6d3a2fc988b908 100644 (file)
@@ -642,9 +642,7 @@ For detailed credits and acknowledgements, see the GNU Emacs manual.
 Copyright
 .if t \(co
 .if n (C)
-1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2010, 2011
-Free Software Foundation, Inc.
+1995, 1999-2012 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of this
 document provided the copyright notice and this permission notice are
index f7ffa112f3c4f0ecdeff968ada9441a86bf9681f..a1291829665a6588085265463781a4159098bbea 100644 (file)
@@ -267,8 +267,7 @@ Stallman.
 Copyright
 .if t \(co
 .if n (C)
-1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010, 2011  Free Software Foundation, Inc.
+1992, 1999, 2001-2012 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of this
 document provided the copyright notice and this permission notice are
index 45a6abfd579c814c21b2e406dc164af619f6054f..397e649334374c6bfc6ec1f1b28a33600e382c4c 100644 (file)
@@ -62,7 +62,7 @@ Display basic usage information.
 Copyright 
 .if t \(co
 .if n (C)
-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+2008-2012 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of this
 document provided the copyright notice and this permission notice are
index 545b128b40d4b73a8441c1d02708ccda05b75dbf..a17c28a4d58e75a31e2a885883251ffcd68b5a56 100644 (file)
@@ -69,7 +69,7 @@ by Eric S. Raymond.
 Copyright
 .if t \(co
 .if n (C)
-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+2008-2012 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of this
 document provided the copyright notice and this permission notice are
index 5d8e05806e08ba27a5eba1a26bc4278e8a58d359..adb5bbbd6694ba43bda3b218e319295662fb18d2 100644 (file)
@@ -1,3 +1,176 @@
+2012-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Group Parameters): Really note precedence.
+
+2012-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Group Parameters): Note precedence.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * org.texi (Noweb reference syntax): Adding documentation of
+       the `*org-babel-use-quick-and-dirty-noweb-expansion*'
+       variable.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Plain lists): Split the table to fix the display
+       of items.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Plain lists): Fix misplaced explanation.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Plain lists, Agenda files): Add index entries.
+
+2012-01-03  Julian Gehring  <julian.gehring@googlemail.com>
+
+       * org.texi: Use "Org mode" instead of alternatives like
+       "Org-mode" or "org-mode".
+
+2012-01-03  Bernt Hansen  <bernt@norang.ca>
+
+       * org.texi (Agenda commands): Document
+       `org-clock-report-include-clocking-task'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Checkboxes): Document the new behavior of `C-u C-c
+       C-c' on checkboxes.
+
+2012-01-03  Julian Gehring  <julian.gehring@googlemail.com>
+
+       * org.texi: End sentences with two spaces.
+
+2012-01-03  Michael Brand  <michael.ch.brand@gmail.com>
+
+       * org.texi (External links): Document the link types file+sys
+       and file+emacs, slightly narrow used page width.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * org.texi (colnames): Note that colnames behavior may differ
+       across languages.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Weekly/daily agenda, Agenda commands): Fix typos.
+
+2012-01-03  Thomas Dye  <dk@poto.westell.com>
+
+       * org.texi: Augmented discussion of babel property
+       inheritance.  Put footnote outside sentence ending period.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org.texi (eval): Documenting the full range of :eval header
+       argument values.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org.texi (eval): Documentation of the new :eval option.
+
+2012-01-03  Thomas Dye  <dk@poto.local>
+
+       * org.texi: Add accumulated properties.
+
+2012-01-03  Thomas Dye  <dk@poto.local>
+
+       * org.texi: Documented no spaces in name=assign, another
+       correction to :var table.
+
+2012-01-03  Thomas Dye  <dk@poto.local>
+
+       * org.texi: Changed DATA to NAME in Working With Source Code
+       section.
+
+2012-01-03  Tom Dye  <tsd@tsdye.com>
+
+       * org.texi: Minor change to :var table.
+
+2012-01-03  Tom Dye  <tsd@tsdye.com>
+
+       * org.texi: More changes to :var table (some examples were wrong).
+
+2012-01-03  Tom Dye  <tsd@tsdye.com>
+
+       * org.texi: Cleaned up :var table.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Timestamps, Weekly/daily agenda)
+       (Weekly/daily agenda): Add @cindex for "appointment".
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org.texi (Literal examples): A new link to the template for
+       inserting empty code blocks.
+       (Structure of code blocks): A new link to the template for
+       inserting empty code blocks.
+
+2012-01-03  Rafael Laboissiere  <rafael@laboissiere.net>  (tiny change)
+
+       * org.texi (External links): Add footnote on how the behavior
+       of the text search in Org files are controled by the variable
+       `org-link-search-must-match-exact-headline'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org.texi (Buffer-wide header arguments): Update
+       documentation to reflect removal of #+PROPERTIES.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.texi (The clock table): Mention that ACHIVED trees
+       contribute to the clock table.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>  (tiny change)
+
+       * org.texi (Conflicts): Better yasnippet config info.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>  (tiny change)
+
+       * org.texi (Selective export): Explicitely mention the default
+       values for `org-export-select-tags',
+       `org-export-exclude-tags'.
+
+2012-01-03  Tom Dye  <tsd@tsdye.com>
+
+       * org.texi: Added a line to specify that header arguments are
+       lowercase.
+
+2012-01-03  Tom Dye  <tsd@tsdye.com>
+
+       * org.texi: :var requires default value when declared.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.texi (Handling links): Add a note about the
+       `org-link-frame-setup' option.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.texi (Exporting Agenda Views, Extracting agenda
+       information): Fix command line syntax, quote symbol parameter
+       values.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.texi (Exporting Agenda Views): Fix command line syntax.
+
+2011-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gnus.texi (Mail Source Customization, Mail Back End Variables):
+       Use octal notation for file permissions, which are normally
+       thought of in octal.
+       (Mail Back End Variables): Use more-plausible modes in example.
+
+2011-12-20  Alan Mackenzie  <acm@muc.de>
+
+       * cc-mode.texi: Update version string 5.31 -> 5.32.
+
 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.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1993-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 34f136b09ff6e9cd680e01bac92347e112fd3035..6fd0b983b87853fe69f561326ed74a460f95f271 100644 (file)
@@ -1,6 +1,6 @@
 #### Makefile for documentation other than the Emacs manual.
 
-# Copyright (C) 1994, 1996-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 0eb20d0132486756eceff36855f89ee12477da81..8d06ae0de229c01c3db5ad7601e22166b58036f2 100644 (file)
@@ -3,7 +3,7 @@
 @settitle Ada Mode
 
 @copying
-Copyright @copyright{} 1999-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index b64562f68754a8321ab5f0798f1730acccab0e54..b6368cf0517ed1e7daa9d887cf82c9e9644821e1 100644 (file)
@@ -10,7 +10,7 @@
 @copying
 This file describes the Emacs auth-source library.
 
-Copyright @copyright{} 2008-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2008-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -281,7 +281,7 @@ for any of the prompts.
 Note that the password needs to be evaluated if it's a function.  It's
 wrapped in a function to provide some security.
 
-Later, after a successful login, @code{nnimal.el} calls the
+Later, after a successful login, @code{nnimap.el} calls the
 @code{:save-function} like so:
 
 @example
index 289c08eb00efadd2411442d330df683ea6328481..9d7a51233ffb226999b426eb36192fde6466dbcf 100644 (file)
@@ -10,7 +10,7 @@
 @c  @cindex autotypist
 
 @copying
-Copyright @copyright{} 1994-1995, 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1994-1995, 1999, 2001-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index d0c15c1940e5f62b2028248861fd36a61c0f2b23..c42e8e6b9c0a9e3ff8e76121ea3fd30ca72d7d85 100644 (file)
@@ -94,7 +94,7 @@ This file documents Calc, the GNU Emacs calculator, included with
 GNU Emacs @value{EMACSVER}.
 @end ifnotinfo
 
-Copyright @copyright{} 1990-1991, 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1990-1991, 2001-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -11100,7 +11100,7 @@ pairwise relatively prime) is
 @texline @math{15\times 19\times 28 = 7980} years.
 @infoline 15*19*28 = 7980 years.
 This is the length of a Julian cycle.  Working backwards, the previous
-year in which all three cycles began was 4713 BC, and so Scalinger
+year in which all three cycles began was 4713 BC, and so Scaliger
 chose that year as the beginning of a Julian cycle.  Since at the time
 there were no historical records from before 4713 BC, using this year
 as a starting point had the advantage of avoiding negative year
index c36e45e60f7c16453f0bfdce7e2322e4b6c25ba6..e2730cc8b3bc592ec778a4b5a6f5fb6584882b1b 100644 (file)
@@ -159,7 +159,7 @@ CC Mode
 @copying
 This manual is for CC Mode in Emacs.
 
-Copyright @copyright{} 1995-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1995-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -190,7 +190,7 @@ developing GNU and promoting software freedom.''
 @titlepage
 @sp 10
 
-@center @titlefont{CC Mode 5.31}
+@center @titlefont{CC Mode 5.32}
 @sp 2
 @center @subtitlefont{A GNU Emacs mode for editing C and C-like languages}
 @sp 2
@@ -378,7 +378,7 @@ was added in version 5.30.
 
 This manual describes @ccmode{}
 @comment The following line must appear on its own, so that the
-version 5.31.
+version 5.32.
 @comment Release.py script can update the version number automatically
 
 @ccmode{} supports the editing of K&R and ANSI C, C++, Objective-C,
index 3f3d616e3433254097038c305d13dd350d0d1416..594253e2c0a44422144e0cbe276a01fe798b021b 100644 (file)
@@ -5,7 +5,7 @@
 @copying
 This file documents the GNU Emacs Common Lisp emulation package.
 
-Copyright @copyright{} 1993, 2001-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1993, 2001-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 06a52107d71efe58ed48d409f5bcbe364d1a6152..71f60af530ba14363192c588d2ddd374a6201b86 100644 (file)
@@ -9,7 +9,7 @@
 @syncodeindex fn cp
 
 @copying
-Copyright @copyright{} 2007-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2007-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1677,7 +1677,7 @@ Establish the connection to D-Bus @var{bus}.
 
 @var{bus} can be either the symbol @code{:system} or the symbol
 @code{:session}, or it can be a string denoting the address of the
-corresponding bus.  For the system and session busses, this function
+corresponding bus.  For the system and session buses, this function
 is called when loading @file{dbus.el}, there is no need to call it
 again.
 
index a026c63e25beb46a2b9462631c337e2763400499..95c129f411df5b169c4c1bfc14ac126eb7a8af91 100644 (file)
@@ -19,7 +19,7 @@
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @copying
-Copyright @copyright{} 1994-1995, 1999, 2001-2011
+Copyright @copyright{} 1994-1995, 1999, 2001-2012
 Free Software Foundation, Inc.
 
 @quotation
index a2a4017eb64b8cfb004aa482c3688c6b10895c92..cf716f4e03167e1353632da2b349b940f901bd5f 100644 (file)
@@ -10,7 +10,7 @@
 @copying
 This file documents Ebrowse, a C++ class browser for GNU Emacs.
 
-Copyright @copyright{} 2000-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index cc566086f44a843c47ebb1db6813845ff3f2b078..bc6e3281bb740aadda13fba50fc9f586801f81ac 100644 (file)
@@ -5,7 +5,7 @@
 @copying
 This file describes EDE, the Emacs Development Environment.
 
-Copyright @copyright{} 1998-2001, 2004-2005, 2008-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1998-2001, 2004-2005, 2008-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -705,11 +705,11 @@ A brief description of the project or target.  This is currently used
 by the @samp{ede-speedbar} interface.
 @item ede-want-file-p
 Return non-nil if a target will accept a given file.
-It is generally unecessary to override this.  See the section on source
+It is generally unnecessary to override this.  See the section on source
 code.
 @item ede-buffer-mine
 Return non-nil if a buffer belongs to this target.  Used during
-association when a file is loaded.  It is generally unecessary to
+association when a file is loaded.  It is generally unnecessary to
 override this unless you keep auxiliary files.
 @end table
 
@@ -2483,7 +2483,7 @@ Create the make rule needed to create an archive for @var{THIS}.
 
 @deffn Method ede-proj-makefile-insert-source-variables :PRIMARY this
 Insert bin_PROGRAMS variables needed by target @var{THIS}.
-We aren't acutally inserting SOURCE details, but this is used by the
+We aren't actually inserting SOURCE details, but this is used by the
 Makefile.am generator, so use it to add this important bin program.
 @end deffn
 
@@ -2624,7 +2624,7 @@ Return the name of the main target for @var{THIS} target.
 
 @deffn Method ede-proj-makefile-insert-automake-pre-variables :AFTER this
 Insert bin_PROGRAMS variables needed by target @var{THIS}.
-We aren't acutally inserting SOURCE details, but this is used by the
+We aren't actually inserting SOURCE details, but this is used by the
 Makefile.am generator, so use it to add this important bin program.
 @end deffn
 
index 62cd684b57bdbe1a8dd2f3653ca6013c1a9be350..1e9ecf07a145864c3b01044b3f0634e74c3d3450 100644 (file)
@@ -25,7 +25,7 @@
 This file documents Ediff, a comprehensive visual interface to Unix diff
 and patch utilities.
 
-Copyright @copyright{} 1995-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1995-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 8f9f8fc03a2f66deb928ef3b71e091ba41b5a681..af0069fb1bc7d08a93cf9f16b4780e7423155899 100644 (file)
@@ -5,7 +5,7 @@
 @copying
 This file documents the EDT emulation package for Emacs.
 
-Copyright @copyright{} 1986, 1992, 1994-1995, 1999-2011
+Copyright @copyright{} 1986, 1992, 1994-1995, 1999-2012
 Free Software Foundation, Inc.
 
 @quotation
index d65c7a15f7b9ef566e14dc59f6b05a380ea8a655..c006e635a781a607549ed9096dd3b7d6f82e0c79 100644 (file)
@@ -11,7 +11,7 @@
 @copying
 This manual documents EIEIO, an object framework for Emacs Lisp.
 
-Copyright @copyright{} 2007-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2007-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1893,7 +1893,7 @@ better in the Emacs environment.
 
 @enumerate
 @item
-Allow subclasing of Emacs built-in types, such as faces, markers, and
+Allow subclassing of Emacs built-in types, such as faces, markers, and
 buffers.
 @item
 Allow method overloading of method-like functions in Emacs.
index 91440dcfe8fa1041bbcefe3697a5e2b2588714ea..896eba2f1bb96f20dbf4646eb29897d9a0d4865c 100644 (file)
@@ -11,7 +11,7 @@
 @copying
 This file documents the Emacs MIME interface functionality.
 
-Copyright @copyright{} 1998-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1998-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index b4137a7dac6e21c5f223f077795454e4f83f2238..bb5e18f1c8b13d44a49898ab823f50c3e644d39a 100644 (file)
@@ -9,7 +9,7 @@
 @copying
 This file describes EasyPG Assistant @value{VERSION}.
 
-Copyright @copyright{} 2007-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2007-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index b46748a08f9351579632ea8b772ccf30aed0829c..6d791d7c5f653c8e6cc709fbbc34e63872844c82 100644 (file)
@@ -8,7 +8,7 @@
 @copying
 This manual is for ERC version 5.3.
 
-Copyright @copyright{} 2005-2011
+Copyright @copyright{} 2005-2012
 Free Software Foundation, Inc.
 
 @quotation
index 0075526207590622ac6652e6341bb6779ad59145..6002e678ff153410c79db973d2742797130ebf16 100644 (file)
@@ -10,7 +10,7 @@
 @end direntry
 
 @copying
-Copyright @copyright{} 2008, 2010-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2008, 2010-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 7c178757927876df3c139cf353eb901d4faee1ce..99fbf1a4fcff7b5d4fcd8e817081b6c0d54717e3 100644 (file)
@@ -8,7 +8,7 @@
 @copying
 This manual is for Eshell, the Emacs shell.
 
-Copyright @copyright{} 1999-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index a68eda50025bbd8f688ea7b7534389a37ff822e0..dec178c52588726a0bee20ff50b5b6be140492e0 100644 (file)
@@ -12,7 +12,7 @@ EUDC is the Emacs Unified Directory Client, a common interface to
 directory servers using various protocols such as LDAP or the CCSO white
 pages directory system (PH/QI)
 
-Copyright @copyright{} 1998, 2000-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 2000-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 15c9232d4b60df020c3a3a373ae3f170a3a2e4f4..5b7bb7ec9cebe221906685075b9ee05c6f004e39 100644 (file)
@@ -11,7 +11,7 @@
 @c appreciate a notice if you do).
 
 @copying
-Copyright @copyright{} 2001-2011 Free Software Foundation, Inc.@*
+Copyright @copyright{} 2001-2012 Free Software Foundation, Inc.@*
 Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000
 Reuven M. Lerner@*
 Copyright @copyright{} 1992, 1993 Steven Byrnes@*
index 625e9549444b192d510db1a0cfc4b356518db619..687a2f7b4d42c8e2686d26855a7ed208f646fa0f 100644 (file)
@@ -11,7 +11,7 @@
 This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}),
 which is a universal on-the-fly syntax checker for GNU Emacs.
 
-Copyright @copyright{} 2004-2011
+Copyright @copyright{} 2004-2012
 Free Software Foundation, Inc.
 
 @quotation
index 17c1d7feaf07b445bbb36726bedca1567734082f..34c418c14fd0e4ccebad4c7e1ed666e38dda0fda 100644 (file)
@@ -18,7 +18,7 @@
 @copying
 This file documents Forms mode, a form-editing major mode for GNU Emacs.
 
-Copyright @copyright{} 1989, 1997, 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1989, 1997, 2001-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index a79c68f0123188d21c9c875ae61947a592113147..bbaf2c068dafd11c7a66c91494b178e45040d010 100644 (file)
@@ -7,7 +7,7 @@
 @syncodeindex pg cp
 
 @copying
-Copyright @copyright{} 2004-2005, 2007-2011  Free Software
+Copyright @copyright{} 2004-2005, 2007-2012  Free Software
 Foundation, Inc.
 
 @quotation
index 7bd3e4ac7fa943ac66953610cafd64e898a30fa7..ae6373e9a6ecfa60908e43fc135c5558665bca59 100644 (file)
@@ -1,7 +1,7 @@
 @c \input texinfo @c -*-texinfo-*-
 @c Uncomment 1st line before texing this file alone.
 @c %**start of header
-@c Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc.
+@c Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc.
 @c
 @setfilename gnus-faq.info
 @settitle Frequently Asked Questions
index 485e7ce4646fd3c51e6079d14f0b03f1ceab938a..0c083c85a4d329fa489679fd05ebf8bcb148b2d2 100644 (file)
@@ -1,5 +1,5 @@
 ;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Reiner Steib  <Reiner.Steib@gmx.de>
 ;; Keywords: tools
@@ -26,7 +26,7 @@
 (defvar gnus-news-header-disclaimer
 "GNUS NEWS -- history of user-visible changes.
 
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Gnus bug reports to bugs@gnus.org.
index 612ea14e2cf8bbdfffdf19bdb62a011340a37c29..5421e64625a7d440250a1894208c74549ed90551 100644 (file)
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 
-@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 @c    Permission is granted to anyone to make or distribute verbatim copies
 @c    of this document as received, in any medium, provided that the
index 68c7e8bbdbcff5ad57307c94981b0b2648db5257..7728041c83bbd9a852082b73c734f7e1108543ce 100644 (file)
@@ -11,7 +11,7 @@
 @documentencoding ISO-8859-1
 
 @copying
-Copyright @copyright{} 1995-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1995-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1328,7 +1328,7 @@ variable to @code{nil}.
 
 @vindex gnus-auto-subscribed-categories
 As if that wasn't enough, @code{gnus-auto-subscribed-categories} also
-allows you to specify that new groups should be subcribed based on the
+allows you to specify that new groups should be subscribed based on the
 category their select methods belong to.  The default is @samp{(mail
 post-mail)}, meaning that all new groups from mail-like backends
 should be subscribed automatically.
@@ -3180,15 +3180,20 @@ For example:
          (to-group . "\\1"))
 
         ("mail\\.me"
-         (gnus-use-scoring  t))
+         (gnus-use-scoring t))
 
         ("list\\..*"
          (total-expire . t)
          (broken-reply-to . t))))
 @end lisp
 
-String value of parameters will be subjected to regexp substitution, as
-the @code{to-group} example shows.
+All clauses that matches the group name will be used, but the last
+setting ``wins''.  So if you have two clauses that both match the
+group name, and both set, say @code{display}, the last setting will
+override the first.
+
+Parameters that are strings will be subjected to regexp substitution,
+as the @code{to-group} example shows.
 
 @vindex gnus-parameters-case-fold-search
 By default, whether comparing the group name and one of those regexps
@@ -11634,7 +11639,7 @@ message/external-body @acronym{MIME} type.
 @item r (Article)
 @kindex r (Article)
 Prompt for a file name, replace the @acronym{MIME} object with an
-external body refering to the file via the message/external-body
+external body referring to the file via the message/external-body
 @acronym{MIME} type.  (@code{gnus-mime-replace-part}).
 
 @findex gnus-mime-delete-part
@@ -15033,7 +15038,7 @@ number.
 
 @item mail-source-default-file-modes
 @vindex mail-source-default-file-modes
-All new mail files will get this file mode.  The default is 384.
+All new mail files will get this file mode.  The default is @code{#o600}.
 
 @item mail-source-movemail-program
 @vindex mail-source-movemail-program
@@ -15123,10 +15128,10 @@ default file modes the new mail files get:
 
 @lisp
 (add-hook 'nnmail-pre-get-new-mail-hook
-          (lambda () (set-default-file-modes 511)))
+          (lambda () (set-default-file-modes #o700)))
 
 (add-hook 'nnmail-post-get-new-mail-hook
-          (lambda () (set-default-file-modes 551)))
+          (lambda () (set-default-file-modes #o775)))
 @end lisp
 
 @item nnmail-use-long-file-names
@@ -20043,7 +20048,7 @@ matches will use the @code{Message-ID}s of these matching articles.)
 This will ensure that you can raise/lower the score of an entire thread,
 even though some articles in the thread may not have complete
 @code{References} headers.  Note that using this may lead to
-undeterministic scores of the articles in the thread.  (Using this match
+nondeterministic scores of the articles in the thread.  (Using this match
 key will lead to creation of @file{ADAPT} files.)
 @end table
 @end enumerate
@@ -30012,7 +30017,7 @@ this:
 @node Score File Syntax
 @subsection Score File Syntax
 
-Score files are meant to be easily parseable, but yet extremely
+Score files are meant to be easily parsable, but yet extremely
 malleable.  It was decided that something that had the same read syntax
 as an Emacs Lisp list would fit that spec.
 
index 5149eb91651a0170b3a57276092cdcef242a263b..5423ff2e74fbbc2bc3fff4998479a0f778ffc040 100644 (file)
@@ -22,7 +22,7 @@ Emacs, and interacting with an IDL shell run as a subprocess.
 This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE
 @value{VERSION}.
 
-Copyright @copyright{} 1999-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -669,7 +669,7 @@ We have already used the routine info display in the first part of this
 tutorial.  This was the invoked using @kbd{C-c ?}, and displays
 information about the IDL routine near the cursor position.  Wouldn't it
 be nice to have the same kind of information available for your own
-routines and for the huge amount of code in major libraries like JHUPL
+routines and for the huge amount of code in major libraries like JHUAPL
 or the IDL-Astro library?  In many cases, you may already have this
 information.  Files named @file{.idlwave_catalog} in library directories
 contain scanned information on the routines in that directory; many
index 68390a2f0cc7ab0165b856dceae286e1cdd76bd7..7ce874d29411d6c59c9e64a99b6bc9253c1a62b6 100644 (file)
@@ -14,7 +14,7 @@
 This file describes how to use Info, the on-line, menu-driven GNU
 documentation system.
 
-Copyright @copyright{} 1989, 1992, 1996-2011
+Copyright @copyright{} 1989, 1992, 1996-2012
 Free Software Foundation, Inc.
 
 @quotation
index d64f316cb7bf918da6d10b9fdc8d9cddbe2fda62..468283ffd93c6de0da7b9ecb65c31c66335ad0e2 100644 (file)
@@ -6,7 +6,7 @@
 @documentencoding ISO-8859-1
 
 @copying
-Copyright @copyright{} 2008-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2008-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 0edaf3db3d618e7487036110881be8bd745af90c..6e4a65c292cd1f056d75e7a92cf863818f45bec3 100644 (file)
@@ -1,6 +1,6 @@
 #### -*- Makefile -*- for documentation other than the Emacs manual.
 
-# Copyright (C) 2003-2011  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 774bf180266260af5337c48213a06e90c40a020d..7ed5f6a92a5eed7a6ef7d4697df0d6d937525adb 100644 (file)
@@ -10,7 +10,7 @@
 @copying
 This file documents Message, the Emacs message composition mode.
 
-Copyright @copyright{} 1996-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1996-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 4e63410f4a0d61b50a12a184affa2f3455f51bbf..538c3f1ba8261e0141f2ae3af25dd092abf75c6c 100644 (file)
@@ -24,7 +24,7 @@
 This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
 Manual}, last updated @value{UPDATED}.
 
-Copyright @copyright{} 1995, 2001-2003, 2005-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 2001-2003, 2005-2012  Free Software Foundation, Inc.
 
 @c This dual license has been agreed upon by the FSF.
 
index 18e11aeeeb39dce79a9f622dfc3fb017d33565a7..9b61e8f6f3a33437bc71a9eeb80a7a2ad5438d53 100644 (file)
@@ -13,7 +13,7 @@
 This manual is for Newsticker (version @value{VERSION}, @value{UPDATED}).
 
 @noindent
-Copyright @copyright{} 2004-2011
+Copyright @copyright{} 2004-2012
 Free Software Foundation, Inc.
 
 @quotation
index 276034404132c2a7e0b5867b4aedf14622fe8c61..5141ed0e93dc5131915afc701bed47aaf335ddca 100644 (file)
@@ -8,7 +8,7 @@
 This manual documents nxml-mode, an Emacs major mode for editing
 XML with RELAX NG support.
 
-Copyright @copyright{} 2007-2011
+Copyright @copyright{} 2007-2012
 Free Software Foundation, Inc.
 
 @quotation
@@ -878,7 +878,7 @@ the document in different ways, since the XML Recommendation does not
 require XML parsers to read the DTD.  With DTDs, it was impractical to
 get validation without using an external DTD or reference to an
 parameter entity.  With RELAX NG and other schema languages, you can
-simulataneously get the benefits of validation and standalone XML
+simultaneously get the benefits of validation and standalone XML
 documents.  Therefore, I recommend that you do not reference an
 external DOCTYPE in your XML documents.
 
@@ -908,4 +908,3 @@ specification are not enforced.
 @end itemize
 
 @bye
-
index a6fae5e216fd53d87084513d183521e5ba441c60..bc82e0ba7fefd6f3544b39813d76efe9a5694eb7 100644 (file)
@@ -4,8 +4,8 @@
 @setfilename ../../info/org
 @settitle The Org Manual
 
-@set VERSION 7.7
-@set DATE July 2011
+@set VERSION 7.8.03
+@set DATE January 2012
 
 @c Use proper quote and backtick for code sections in PDF output
 @c Cf. Texinfo manual 14.2
@@ -36,7 +36,7 @@
 
 @c orgkey{key}                        A key item
 @c orgcmd{key,cmd}                    Key with command name
-@c xorgcmd{key,command}               Key with command name as @itemx
+@c xorgcmd{key,cmmand}                Key with command name as @itemx
 @c orgcmdnki{key,cmd}                 Like orgcmd, but do not index the key
 @c orgcmdtkc{text,key,cmd}            Like orgcmd,special text instead of key
 @c orgcmdkkc{key1,key2,cmd}           Two keys with one command name, use "or"
 @copying
 This manual is for Org version @value{VERSION}.
 
-Copyright @copyright{} 2004-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 2004-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -296,7 +296,7 @@ license to the document, as described in section 6 of the license.
 
 @subtitle Release @value{VERSION}
 @author by Carsten Dominik
-with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, Eric Schulte, and Thomas Dye
+with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, Eric Schulte, Thomas Dye and Jambunathan K.
 
 @c The following two commands start the copyright page.
 @page
@@ -382,7 +382,7 @@ The spreadsheet
 * Column formulas::             Formulas valid for an entire column
 * Editing and debugging formulas::  Fixing formulas
 * Updating the table::          Recomputing all dependent fields
-* Advanced features::           Field names, parameters and automatic recalc
+* Advanced features::           Field and column names, parameters and automatic recalc
 
 Hyperlinks
 
@@ -433,7 +433,7 @@ Tags
 Properties and columns
 
 * Property syntax::             How properties are spelled out
-* Special properties::          Access to other Org-mode features
+* Special properties::          Access to other Org mode features
 * Property searches::           Matching property values
 * Property inheritance::        Passing values down the tree
 * Column view::                 Tabular viewing and editing
@@ -462,7 +462,7 @@ Dates and times
 
 Creating timestamps
 
-* The date/time prompt::        How Org-mode helps you entering date and time
+* The date/time prompt::        How Org mode helps you entering date and time
 * Custom time format::          Making dates look different
 
 Deadlines and scheduling
@@ -541,7 +541,7 @@ Markup for rich export
 * Include files::               Include additional files into a document
 * Index entries::               Making an index
 * Macro replacement::           Use macros to create complex output
-* Embedded LaTeX::              LaTeX can be freely used inside Org documents
+* Embedded @LaTeX{}::           LaTeX can be freely used inside Org documents
 
 Structural markup elements
 
@@ -560,8 +560,8 @@ Embedded @LaTeX{}
 
 * Special symbols::             Greek letters and other symbols
 * Subscripts and superscripts::  Simple syntax for raising/lowering text
-* LaTeX fragments::             Complex formulas made easy
-* Previewing LaTeX fragments::  What will this snippet look like?
+* @LaTeX{} fragments::             Complex formulas made easy
+* Previewing @LaTeX{} fragments::  What will this snippet look like?
 * CDLaTeX mode::                Speed up entering of formulas
 
 Exporting
@@ -571,9 +571,9 @@ Exporting
 * The export dispatcher::       How to access exporter commands
 * ASCII/Latin-1/UTF-8 export::  Exporting to flat files with encoding
 * HTML export::                 Exporting to HTML
-* LaTeX and PDF export::        Exporting to @LaTeX{}, and processing to PDF
+* @LaTeX{} and PDF export::     Exporting to @LaTeX{}, and processing to PDF
 * DocBook export::              Exporting to DocBook
-* OpenDocumentText export::     Exporting to OpenDocumentText
+* OpenDocument Text export::    Exporting to OpenDocument Text
 * TaskJuggler export::          Exporting to TaskJuggler
 * Freemind export::             Exporting to Freemind mind maps
 * XOXO export::                 Exporting to XOXO
@@ -583,7 +583,7 @@ HTML export
 
 * HTML Export commands::        How to invoke HTML export
 * HTML preamble and postamble::  How to insert a preamble and a postamble
-* Quoting HTML tags::           Using direct HTML in Org-mode
+* Quoting HTML tags::           Using direct HTML in Org mode
 * Links in HTML export::        How links will be interpreted and formatted
 * Tables in HTML export::       How to modify the formatting of tables
 * Images in HTML export::       How to insert figures into HTML output
@@ -594,11 +594,11 @@ HTML export
 
 @LaTeX{} and PDF export
 
-* LaTeX/PDF export commands::   Which key invokes which commands
+* @LaTeX{}/PDF export commands::
 * Header and sectioning::       Setting up the export file structure
-* Quoting LaTeX code::          Incorporating literal @LaTeX{} code
-* Tables in LaTeX export::      Options for exporting tables to @LaTeX{}
-* Images in LaTeX export::      How to insert figures into @LaTeX{} output
+* Quoting @LaTeX{} code::       Incorporating literal @LaTeX{} code
+* Tables in @LaTeX{} export::   Options for exporting tables to @LaTeX{}
+* Images in @LaTeX{} export::   How to insert figures into @LaTeX{} output
 * Beamer class export::         Turning the file into a presentation
 
 DocBook export
@@ -610,15 +610,30 @@ DocBook export
 * Images in DocBook export::    How to insert figures into DocBook output
 * Special characters::          How to handle special characters
 
-OpenDocument export
+OpenDocument Text export
 
-* OpenDocumentText export commands::    How to invoke OpenDocumentText export
-* Applying Custom Styles::      How to apply custom styles to the output
-* Converting to Other formats:: How to convert to formats like doc, docx etc
-* Links in OpenDocumentText export::  How links will be interpreted and formatted
-* Tables in OpenDocumentText export::    How Tables are handled
-* Images in OpenDocumentText export::    How to insert figures
-* Additional Documentation::          How to handle special characters
+* Pre-requisites for @acronym{ODT} export::  What packages @acronym{ODT} exporter relies on
+* @acronym{ODT} export commands::  How to invoke @acronym{ODT} export
+* Applying custom styles::      How to apply custom styles to the output
+* Links in @acronym{ODT} export::  How links will be interpreted and formatted
+* Tables in @acronym{ODT} export::  How Tables are exported
+* Images in @acronym{ODT} export::  How to insert images
+* Math formatting in @acronym{ODT} export::  How @LaTeX{} fragments are formatted
+* Literal examples in @acronym{ODT} export::  How source and example blocks are formatted
+* Advanced topics in @acronym{ODT} export::  Read this if you are a power user
+
+Math formatting in @acronym{ODT} export
+
+* Working with @LaTeX{} math snippets::  How to embed @LaTeX{} math fragments
+* Working with MathML or OpenDocument formula files::  How to embed equations in native format
+
+Advanced topics in @acronym{ODT} export
+
+* Exporting and converting to other formats::  How to produce @samp{pdf} and other formats
+* Working with OpenDocument style files::  Explore the internals
+* Creating one-off styles::     How to produce custom highlighting etc
+* Customizing tables in @acronym{ODT} export::  How to define and use Table templates
+* Validating OpenDocument XML::  How to debug corrupt OpenDocument files
 
 Publishing
 
@@ -649,12 +664,12 @@ Working with source code
 * Editing source code::         Language major-mode editing
 * Exporting code blocks::       Export contents and/or results
 * Extracting source code::      Create pure source code files
-* Evaluating code blocks::      Place results of evaluation in the Org-mode buffer
+* Evaluating code blocks::      Place results of evaluation in the Org mode buffer
 * Library of Babel::            Use and contribute to a library of useful code blocks
 * Languages::                   List of supported code block languages
 * Header arguments::            Configure code block functionality
 * Results of evaluation::       How evaluation results are handled
-* Noweb reference syntax::      Literate programming in Org-mode
+* Noweb reference syntax::      Literate programming in Org mode
 * Key bindings and useful functions::  Work quickly with code blocks
 * Batch execution::             Call functions from the command line
 
@@ -668,7 +683,7 @@ Using header arguments
 * System-wide header arguments::  Set global default values
 * Language-specific header arguments::  Set default values by language
 * Buffer-wide header arguments::  Set default values for a specific buffer
-* Header arguments in Org-mode properties::  Set default values for a buffer or heading
+* Header arguments in Org mode properties::  Set default values for a buffer or heading
 * Code block specific header arguments::  The most common way to set values
 * Header arguments in function calls::  The most specific level
 
@@ -736,7 +751,7 @@ Hacking
 Tables and lists in arbitrary syntax
 
 * Radio tables::                Sending and receiving radio tables
-* A LaTeX example::             Step by step, almost a tutorial
+* A @LaTeX{} example::          Step by step, almost a tutorial
 * Translator functions::        Copy and modify
 * Radio lists::                 Doing the same for lists
 
@@ -898,7 +913,7 @@ make install-info
 
 Then add the following line to @file{.emacs}.  It is needed so that
 Emacs can autoload functions that are located in files not immediately loaded
-when Org-mode starts.
+when Org mode starts.
 @lisp
 (require 'org-install)
 @end lisp
@@ -934,9 +949,9 @@ liking.
 (global-set-key "\C-cb" 'org-iswitchb)
 @end lisp
 
-@cindex Org-mode, turning on
+@cindex Org mode, turning on
 With this setup, all files with extension @samp{.org} will be put
-into Org-mode.  As an alternative, make the first line of a file look
+into Org mode.  As an alternative, make the first line of a file look
 like this:
 
 @example
@@ -944,7 +959,7 @@ MY PROJECTS    -*- mode: org; -*-
 @end example
 
 @vindex org-insert-mode-line-in-empty-file
-@noindent which will select Org-mode for this buffer no matter what
+@noindent which will select Org mode for this buffer no matter what
 the file's name is.  See also the variable
 @code{org-insert-mode-line-in-empty-file}.
 
@@ -987,6 +1002,36 @@ version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org
 that you only need to add your description.  If you re not sending the Email
 from within Emacs, please copy and paste the content into your Email program.
 
+Sometimes you might face a problem due to an error in your Emacs or Org mode
+setup.  Before reporting a bug, it is very helpful to start Emacs with minimal
+customisations and reproduce the problem.  Doing so often helps you determine
+if the problem is with your customisation or with Org mode itself.  You can
+start a typical minimal session with a command like the example below.
+
+@example
+$ emacs -Q -l /path/to/minimal-org.el
+@end example
+
+However if you are using Org mode as distributed with Emacs, a minimal setup
+is not necessary.  In that case it is sufficient to start Emacs as @code{emacs
+-Q}.  The @code{minimal-org.el} setup file can have contents as shown below.
+
+@example
+;;; Minimal setup to load latest `org-mode'
+
+;; activate debugging
+(setq debug-on-error t
+      debug-on-signal nil
+      debug-on-quit nil)
+
+;; add latest org-mode to load path
+(add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp"))
+(add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp"))
+
+;; activate org
+(require 'org-install)
+@end example
+
 If an error occurs, a backtrace can be very useful (see below on how to
 create one).  Often a small example file helps, along with clear information
 about:
@@ -1009,7 +1054,7 @@ error occurred.  Here is how to produce a useful backtrace:
 
 @enumerate
 @item
-Reload uncompiled versions of all Org-mode Lisp files.  The backtrace
+Reload uncompiled versions of all Org mode Lisp files.  The backtrace
 contains much more information if it is produced with uncompiled code.
 To do this, use
 @example
@@ -1196,8 +1241,8 @@ Reveal context around point, showing the current entry, the following heading
 and the hierarchy above.  Useful for working near a location that has been
 exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda command
 (@pxref{Agenda commands}).  With a prefix argument show, on each
-level, all sibling headings.  With double prefix arg, also show the entire
-subtree of the parent.
+level, all sibling headings.  With a double prefix argument, also show the 
+entire subtree of the parent.
 @orgcmd{C-c C-k,show-branches}
 Expose all the headings of the subtree, CONTENT view for just one subtree.
 @orgcmd{C-c C-x b,org-tree-to-indirect-buffer}
@@ -1430,7 +1475,7 @@ functionality.
 @vindex org-show-following-heading
 @vindex org-show-siblings
 @vindex org-show-entry-below
-An important feature of Org-mode is the ability to construct @emph{sparse
+An important feature of Org mode is the ability to construct @emph{sparse
 trees} for selected information in an outline tree, so that the entire
 document is folded as much as possible, but the selected information is made
 visible along with the headline structure above it@footnote{See also the
@@ -1439,7 +1484,7 @@ variables @code{org-show-hierarchy-above}, @code{org-show-following-heading},
 control on how much context is shown around each match.}.  Just try it out
 and you will see immediately how it works.
 
-Org-mode contains several commands creating such trees, all these
+Org mode contains several commands creating such trees, all these
 commands can be accessed through a dispatcher:
 
 @table @asis
@@ -1597,14 +1642,18 @@ to disable them individually.
 
 @table @asis
 @orgcmd{@key{TAB},org-cycle}
+@cindex cycling, in plain lists
 @vindex org-cycle-include-plain-lists
 Items can be folded just like headline levels.  Normally this works only if
 the cursor is on a plain list item.  For more details, see the variable
 @code{org-cycle-include-plain-lists}.  If this variable is set to
 @code{integrate}, plain list items will be treated like low-level
-headlines.  The level of an item is then given by the
-indentation of the bullet/number.  Items are always subordinate to real
-headlines, however; the hierarchies remain completely separated.
+headlines.  The level of an item is then given by the indentation of the
+bullet/number.  Items are always subordinate to real headlines, however; the
+hierarchies remain completely separated.  In a new item with no text yet, the
+first @key{TAB} demotes the item to become a child of the previous
+one.  Subsequent @key{TAB}s move the item to meaningful levels in the list
+and eventually get it back to its initial position.
 @orgcmd{M-@key{RET},org-insert-heading}
 @vindex org-M-RET-may-split-line
 @vindex org-list-automatic-rules
@@ -1615,17 +1664,15 @@ new item@footnote{If you do not want the item to be split, customize the
 variable @code{org-M-RET-may-split-line}.}.  If this command is executed
 @emph{before item's body}, the new item is created @emph{before} the current
 one.
+@end table
+
+@table @kbd
 @kindex M-S-@key{RET}
-@item M-S-@key{RET}
+@item M-S-RET
 Insert a new item with a checkbox (@pxref{Checkboxes}).
-@orgcmd{@key{TAB},org-cycle}
-In a new item with no text yet, the first @key{TAB} demotes the item to
-become a child of the previous one.  Subsequent @key{TAB}s move the item to
-meaningful levels in the list and eventually get it back to its initial
-position.
 @kindex S-@key{down}
-@item S-@key{up}
-@itemx S-@key{down}
+@item S-up
+@itemx S-down
 @cindex shift-selection-mode
 @vindex org-support-shift-select
 @vindex org-list-use-circular-motion
@@ -1637,21 +1684,21 @@ jumping commands like @kbd{C-@key{up}} and @kbd{C-@key{down}} to quite
 similar effect.
 @kindex M-@key{up}
 @kindex M-@key{down}
-@item M-@key{up}
-@itemx M-@key{down}
+@item M-up
+@itemx M-down
 Move the item including subitems up/down@footnote{See
 @code{org-liste-use-circular-motion} for a cyclic behavior.} (swap with
 previous/next item of same indentation).  If the list is ordered, renumbering
 is automatic.
 @kindex M-@key{left}
 @kindex M-@key{right}
-@item M-@key{left}
-@itemx M-@key{right}
+@item M-left
+@itemx M-right
 Decrease/increase the indentation of an item, leaving children alone.
 @kindex M-S-@key{left}
 @kindex M-S-@key{right}
-@item M-S-@key{left}
-@itemx M-S-@key{right}
+@item M-S-left
+@itemx M-S-right
 Decrease/increase the indentation of the item, including subitems.
 Initially, the item tree is selected based on current indentation.  When
 these commands are executed several times in direct succession, the initially
@@ -1694,7 +1741,7 @@ Turn the whole plain list into a subtree of the current heading.  Checkboxes
 (resp. checked).
 @kindex S-@key{left}
 @kindex S-@key{right}
-@item S-@key{left}/@key{right}
+@item S-left/right
 @vindex org-support-shift-select
 This command also cycles bullet styles when the cursor in on the bullet or
 anywhere in an item line, details depending on
@@ -1713,7 +1760,7 @@ numerically, alphabetically, by time, or by custom function.
 
 @vindex org-drawers
 Sometimes you want to keep information associated with an entry, but you
-normally don't want to see it.  For this, Org-mode has @emph{drawers}.
+normally don't want to see it.  For this, Org mode has @emph{drawers}.
 Drawers need to be configured with the variable
 @code{org-drawers}@footnote{You can define drawers on a per-file basis
 with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}.  Drawers
@@ -1731,7 +1778,7 @@ look like this:
 Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and
 show the entry, but keep the drawer collapsed to a single line.  In order to
 look inside the drawer, you need to move the cursor to the drawer line and
-press @key{TAB} there.  Org-mode uses the @code{PROPERTIES} drawer for
+press @key{TAB} there.  Org mode uses the @code{PROPERTIES} drawer for
 storing properties (@pxref{Properties and Columns}), and you can also arrange
 for state change notes (@pxref{Tracking TODO state changes}) and clock times
 (@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}.  If you
@@ -1748,7 +1795,7 @@ Add a time-stamped note to the LOGBOOK drawer.
 
 @vindex org-hide-block-startup
 @cindex blocks, folding
-Org-mode uses begin...end blocks for various purposes from including source
+Org mode uses begin...end blocks for various purposes from including source
 code examples (@pxref{Literal examples}) to capturing time logging
 information (@pxref{Clocking work time}).  These blocks can be folded and
 unfolded by pressing TAB in the begin line.  You can also get all blocks
@@ -1766,8 +1813,8 @@ or on a per-file basis by using
 @section Footnotes
 @cindex footnotes
 
-Org-mode supports the creation of footnotes.  In contrast to the
-@file{footnote.el} package, Org-mode's footnotes are designed for work on a
+Org mode supports the creation of footnotes.  In contrast to the
+@file{footnote.el} package, Org mode's footnotes are designed for work on a
 larger document, not only for one-off documents like emails.  The basic
 syntax is similar to the one used by @file{footnote.el}, i.e.@: a footnote is
 defined in a paragraph that is started by a footnote marker in square
@@ -1781,11 +1828,11 @@ The Org homepage[fn:1] now looks a lot better than it used to.
 [fn:1] The link is: http://orgmode.org
 @end example
 
-Org-mode extends the number-based syntax to @emph{named} footnotes and
+Org mode extends the number-based syntax to @emph{named} footnotes and
 optional inline definition.  Using plain numbers as markers (as
 @file{footnote.el} does) is supported for backward compatibility, but not
 encouraged because of possible conflicts with @LaTeX{} snippets (@pxref{Embedded
-LaTeX}).  Here are the valid references:
+@LaTeX{}}).  Here are the valid references:
 
 @table @code
 @item [1]
@@ -1875,7 +1922,7 @@ you can use the usual commands to follow these links.
 @cindex Orgstruct mode
 @cindex minor mode for structure editing
 
-If you like the intuitive way the Org-mode structure editing and list
+If you like the intuitive way the Org mode structure editing and list
 formatting works, you might want to use these commands in other modes like
 Text mode or Mail mode as well.  The minor mode @code{orgstruct-mode} makes
 this possible.   Toggle the mode with @kbd{M-x orgstruct-mode}, or
@@ -2276,7 +2323,7 @@ formula, moving these references by arrow keys
 * Column formulas::             Formulas valid for an entire column
 * Editing and debugging formulas::  Fixing formulas
 * Updating the table::          Recomputing all dependent fields
-* Advanced features::           Field names, parameters and automatic recalc
+* Advanced features::           Field and column names, parameters and automatic recalc
 @end menu
 
 @node References, Formula syntax for Calc, The spreadsheet, The spreadsheet
@@ -2833,9 +2880,11 @@ dependencies.
 @node Advanced features,  , Updating the table, The spreadsheet
 @subsection Advanced features
 
-If you want the recalculation of fields to happen automatically, or if
-you want to be able to assign @i{names} to fields and columns, you need
-to reserve the first column of the table for special marking characters.
+If you want the recalculation of fields to happen automatically, or if you
+want to be able to assign @i{names}@footnote{Such names must start by an
+alphabetic character and use only alphanumeric/underscore characters.} to
+fields and columns, you need to reserve the first column of the table for
+special marking characters.
 
 @table @kbd
 @orgcmd{C-#,org-table-rotate-recalc-marks}
@@ -3005,7 +3054,7 @@ When plotting @code{3d} or @code{grid} types, set this to @code{t} to graph a
 flat mapping rather than a @code{3d} slope.
 
 @item timefmt
-Specify format of Org-mode timestamps as they will be parsed by Gnuplot.
+Specify format of Org mode timestamps as they will be parsed by Gnuplot.
 Defaults to @samp{%Y-%m-%d-%H:%M:%S}.
 
 @item script
@@ -3168,11 +3217,19 @@ file:papers/last.pdf                      @r{file, relative path}
 ./papers/last.pdf                         @r{same as above}
 file:/myself@@some.where:papers/last.pdf   @r{file, path on remote machine}
 /myself@@some.where:papers/last.pdf        @r{same as above}
-file:sometextfile::NNN                    @r{file with line number to jump to}
+file:sometextfile::NNN                    @r{file, jump to line number}
 file:projects.org                         @r{another Org file}
-file:projects.org::some words             @r{text search in Org file}
+file:projects.org::some words             @r{text search in Org file}@footnote{
+The actual behavior of the search will depend on the value of
+the variable @code{org-link-search-must-match-exact-headline}.  If its value
+is nil, then a fuzzy text search will be done.  If it is t, then only the
+exact headline will be matched.  If the value is @code{'query-to-create},
+then an exact headline will be searched; if it is not found, then the user
+will be queried to create it.}
 file:projects.org::*task title            @r{heading search in Org file}
-docview:papers/last.pdf::NNN              @r{open file in doc-view mode at page NNN}
+file+sys:/path/to/file                    @r{open via OS, like double-click}
+file+emacs:/path/to/file                  @r{force opening by Emacs}
+docview:papers/last.pdf::NNN              @r{open in doc-view mode at page}
 id:B7423F4D-2E8A-471B-8810-C40F074717E9   @r{Link to heading by ID}
 news:comp.emacs                           @r{Usenet link}
 mailto:adent@@galaxy.net                   @r{Mail link}
@@ -3189,7 +3246,7 @@ gnus:group                                @r{Gnus group link}
 gnus:group#id                             @r{Gnus article link}
 bbdb:R.*Stallman                          @r{BBDB link (with regexp)}
 irc:/irc.com/#emacs/bob                   @r{IRC link}
-info:org#External%20links                 @r{Info node link (with encoded space)}
+info:org#External links                   @r{Info node link}
 shell:ls *.org                            @r{A shell command}
 elisp:org-agenda                          @r{Interactive Elisp command}
 elisp:(find-file-other-frame "Elisp.org") @r{Elisp form to evaluate}
@@ -3235,7 +3292,7 @@ create a link.  The link will be stored for later insertion into an Org
 buffer (see below).  What kind of link will be created depends on the current
 buffer:
 
-@b{Org-mode buffers}@*
+@b{Org mode buffers}@*
 For Org files, if there is a @samp{<<target>>} at the cursor, the link points
 to the target.  Otherwise it points to the current headline, which will also
 be the description@footnote{If the headline contains a timestamp, it will be
@@ -3338,6 +3395,7 @@ link and description parts of the link.
 @cindex following links
 @orgcmd{C-c C-o,org-open-at-point}
 @vindex org-file-apps
+@vindex org-link-frame-setup
 Open link at point.  This will launch a web browser for URLs (using
 @command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
 the corresponding links, and execute the command in a shell link.  When the
@@ -3351,7 +3409,9 @@ Classification of files is based on file extension only.  See option
 visit the file with Emacs, use a @kbd{C-u} prefix.  If you want to avoid
 opening in Emacs, use a @kbd{C-u C-u} prefix.@*
 If the cursor is on a headline, but not on a link, offer all links in the
-headline and entry text.
+headline and entry text.  If you want to setup the frame configuration for
+following links, customize @code{org-link-frame-setup}.
+
 @orgkey @key{RET}
 @vindex org-return-follows-link
 When @code{org-return-follows-link} is set, @kbd{@key{RET}} will also follow
@@ -3525,7 +3585,7 @@ Link to a heading with a @code{CUSTOM_ID} property
 @item /regexp/
 Do a regular expression search for @code{regexp}.  This uses the Emacs
 command @code{occur} to list all matches in a separate window.  If the
-target file is in Org-mode, @code{org-occur} is used to create a
+target file is in Org mode, @code{org-occur} is used to create a
 sparse tree with the matches.
 @c If the target file is a directory,
 @c @code{grep} will be used to search all files in the directory.
@@ -3564,7 +3624,7 @@ an implementation example.  See the file @file{org-bibtex.el}.
 @chapter TODO items
 @cindex TODO items
 
-Org-mode does not maintain TODO lists as separate documents@footnote{Of
+Org mode does not maintain TODO lists as separate documents@footnote{Of
 course, you can make a document that contains only long lists of TODO items,
 but this is not required.}.  Instead, TODO items are an integral part of the
 notes file, because TODO items usually come up while taking notes!  With Org
@@ -3573,7 +3633,7 @@ information is not duplicated, and the entire context from which the TODO
 item emerged is always present.
 
 Of course, this technique for managing TODO items scatters them
-throughout your notes file.  Org-mode compensates for this by providing
+throughout your notes file.  Org mode compensates for this by providing
 methods to give you an overview of all the things that you have to do.
 
 @menu
@@ -3659,7 +3719,7 @@ option @code{org-todo-state-tags-triggers} for details.
 
 @vindex org-todo-keywords
 By default, marked TODO entries have one of only two states: TODO and
-DONE.  Org-mode allows you to classify TODO items in more complex ways
+DONE.  Org mode allows you to classify TODO items in more complex ways
 with @emph{TODO keywords} (stored in @code{org-todo-keywords}).  With
 special setup, the TODO keyword system can work differently in different
 files.
@@ -3684,7 +3744,7 @@ TODO items in particular (@pxref{Tags}).
 
 You can use TODO keywords to indicate different @emph{sequential} states
 in the process of working on an item, for example@footnote{Changing
-this variable only becomes effective after restarting Org-mode in a
+this variable only becomes effective after restarting Org mode in a
 buffer.}:
 
 @lisp
@@ -3727,7 +3787,7 @@ be set up like this:
 
 In this case, different keywords do not indicate a sequence, but rather
 different types.  So the normal work flow would be to assign a task to a
-person, and later to mark it DONE.  Org-mode supports this style by adapting
+person, and later to mark it DONE.  Org mode supports this style by adapting
 the workings of the command @kbd{C-c C-t}@footnote{This is also true for the
 @kbd{t} command in the timeline and agenda buffers.}.  When used several
 times in succession, it will still cycle through all names, in order to first
@@ -3758,7 +3818,7 @@ like this:
         (sequence "|" "CANCELED")))
 @end lisp
 
-The keywords should all be different, this helps Org-mode to keep track
+The keywords should all be different, this helps Org mode to keep track
 of which subsequence should be used for a given entry.  In this setup,
 @kbd{C-c C-t} only operates within a subsequence, so it switches from
 @code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to
@@ -3855,9 +3915,9 @@ Remember that the keywords after the vertical bar (or the last keyword
 if no bar is there) must always mean that the item is DONE (although you
 may use a different word).  After changing one of these lines, use
 @kbd{C-c C-c} with the cursor still in the line to make the changes
-known to Org-mode@footnote{Org-mode parses these lines only when
-Org-mode is activated after visiting a file.  @kbd{C-c C-c} with the
-cursor in a line starting with @samp{#+} is simply restarting Org-mode
+known to Org mode@footnote{Org mode parses these lines only when
+Org mode is activated after visiting a file.  @kbd{C-c C-c} with the
+cursor in a line starting with @samp{#+} is simply restarting Org mode
 for the current buffer.}.
 
 @node Faces for TODO keywords, TODO dependencies, Per-file keywords, TODO extensions
@@ -3867,7 +3927,7 @@ for the current buffer.}.
 @vindex org-todo @r{(face)}
 @vindex org-done @r{(face)}
 @vindex org-todo-keyword-faces
-Org-mode highlights TODO keywords with special faces: @code{org-todo}
+Org mode highlights TODO keywords with special faces: @code{org-todo}
 for keywords indicating that an item still has to be acted upon, and
 @code{org-done} for keywords indicating that an item is finished.  If
 you are using more than 2 different states, you might want to use
@@ -3883,7 +3943,7 @@ special faces for some of them.  This can be done using the variable
 @end lisp
 
 While using a list with face properties as shown for CANCELED @emph{should}
-work, this does not always seem to be the case.  If necessary, define a
+work, this does not aways seem to be the case.  If necessary, define a
 special face and use that.  A string is interpreted as a color.  The variable
 @code{org-faces-easy-properties} determines if that color is interpreted as a
 foreground or a background color.
@@ -3955,7 +4015,7 @@ module @file{org-depend.el}.
 @cindex progress logging
 @cindex logging, of progress
 
-Org-mode can automatically record a timestamp and possibly a note when
+Org mode can automatically record a timestamp and possibly a note when
 you mark a TODO item as DONE, or even each time you change the state of
 a TODO item.  This system is highly configurable, settings can be on a
 per-keyword basis and can be localized to a file or even a subtree.  For
@@ -4019,21 +4079,25 @@ behavior---the recommended drawer for this is called @code{LOGBOOK}.  You can
 also overrule the setting of this variable for a subtree by setting a
 @code{LOG_INTO_DRAWER} property.
 
-Since it is normally too much to record a note for every state, Org-mode
+Since it is normally too much to record a note for every state, Org mode
 expects configuration on a per-keyword basis for this.  This is achieved by
-adding special markers @samp{!} (for a timestamp) and @samp{@@} (for a note)
-in parentheses after each keyword.  For example, with the setting
+adding special markers @samp{!} (for a timestamp) or @samp{@@} (for a note
+with timestamp) in parentheses after each keyword.  For example, with the
+setting
 
 @lisp
 (setq org-todo-keywords
   '((sequence "TODO(t)" "WAIT(w@@/!)" "|" "DONE(d!)" "CANCELED(c@@)")))
 @end lisp
 
+To record a timestamp without a note for TODO keywords configured with
+@samp{@@}, just type @kbd{C-c C-c} to enter a blank note when prompted.
+
 @noindent
 @vindex org-log-done
 you not only define global TODO keywords and fast access keys, but also
 request that a time is recorded when the entry is set to
-DONE@footnote{It is possible that Org-mode will record two timestamps
+DONE@footnote{It is possible that Org mode will record two timestamps
 when you are using both @code{org-log-done} and state change logging.
 However, it will never prompt for two notes---if you have configured
 both, the state change recording note will take precedence and cancel
@@ -4182,7 +4246,7 @@ which should only be done in certain contexts, for example.
 @section Priorities
 @cindex priorities
 
-If you use Org-mode extensively, you may end up with enough TODO items that
+If you use Org mode extensively, you may end up with enough TODO items that
 it starts to make sense to prioritize them.  Prioritizing can be done by
 placing a @emph{priority cookie} into the headline of a TODO item, like this
 
@@ -4192,11 +4256,11 @@ placing a @emph{priority cookie} into the headline of a TODO item, like this
 
 @noindent
 @vindex org-priority-faces
-By default, Org-mode supports three priorities: @samp{A}, @samp{B}, and
+By default, Org mode supports three priorities: @samp{A}, @samp{B}, and
 @samp{C}.  @samp{A} is the highest priority.  An entry without a cookie is
 treated just like priority @samp{B}.  Priorities make a difference only for
 sorting in the agenda (@pxref{Weekly/daily agenda}); outside the agenda, they
-have no inherent meaning to Org-mode.  The cookies can be highlighted with
+have no inherent meaning to Org mode.  The cookies can be highlighted with
 special faces by customizing the variable @code{org-priority-faces}.
 
 Priorities can be attached to any outline node; they do not need to be TODO
@@ -4363,9 +4427,11 @@ off a box while there are unchecked boxes above it.
 
 @table @kbd
 @orgcmd{C-c C-c,org-toggle-checkbox}
-Toggle checkbox status or (with prefix arg) checkbox presence at point.  With
-double prefix argument, set it to @samp{[-]}, which is considered to be an
-intermediate state.
+Toggle checkbox status or (with prefix arg) checkbox presence at point.  
+With a single prefix argument, add an empty checkbox or remove the current
+one@footnote{`C-u C-c C-c' on the @emph{first} item of a list with no checkbox
+will add checkboxes to the rest of the list.}.  With a double prefix argument, set it to @samp{[-]}, which is
+considered to be an intermediate state.
 @orgcmd{C-c C-x C-b,org-toggle-checkbox}
 Toggle checkbox status or (with prefix arg) checkbox presence at point.  With
 double prefix argument, set it to @samp{[-]}, which is considered to be an
@@ -4410,7 +4476,7 @@ hand, use this command to get things back into sync.
 @cindex sparse tree, tag based
 
 An excellent way to implement labels and contexts for cross-correlating
-information is to assign @i{tags} to headlines.  Org-mode has extensive
+information is to assign @i{tags} to headlines.  Org mode has extensive
 support for tags.
 
 @vindex org-tag-faces
@@ -4489,7 +4555,7 @@ also a special command for inserting tags:
 @orgcmd{C-c C-q,org-set-tags-command}
 @cindex completion, of tags
 @vindex org-tags-column
-Enter new tags for the current headline.  Org-mode will either offer
+Enter new tags for the current headline.  Org mode will either offer
 completion or a special single-key interface for setting tags, see
 below.  After pressing @key{RET}, the tags will be inserted and aligned
 to @code{org-tags-column}.  When called with a @kbd{C-u} prefix, all
@@ -4532,7 +4598,7 @@ by adding a STARTUP option line to that file:
 #+STARTUP: noptag
 @end example
 
-By default Org-mode uses the standard minibuffer completion facilities for
+By default Org mode uses the standard minibuffer completion facilities for
 entering tags.  However, it also implements another, quicker, tag selection
 method called @emph{fast tag selection}.  This allows you to select and
 deselect tags with just a single key press.  For this to work well you should
@@ -4691,25 +4757,26 @@ and properties.  For a complete description with many examples, see
 @chapter Properties and columns
 @cindex properties
 
-Properties are a set of key-value pairs associated with an entry.  There
-are two main applications for properties in Org-mode.  First, properties
-are like tags, but with a value.  Second, you can use properties to
-implement (very basic) database capabilities in an Org buffer.  For
-an example of the first application, imagine maintaining a file where
+A property is a key-value pair associated with an entry.  Properties can be
+set so they are associated with a single entry, with every entry in a tree,
+or with every entry in an Org mode file.
+
+There are two main applications for properties in Org mode.  First,
+properties are like tags, but with a value.  Imagine maintaining a file where
 you document bugs and plan releases for a piece of software.  Instead of
-using tags like @code{:release_1:}, @code{:release_2:}, one can use a
+using tags like @code{:release_1:}, @code{:release_2:}, you can use a
 property, say @code{:Release:}, that in different subtrees has different
-values, such as @code{1.0} or @code{2.0}.  For an example of the second
-application of properties, imagine keeping track of your music CDs,
-where properties could be things such as the album, artist, date of
-release, number of tracks, and so on.
+values, such as @code{1.0} or @code{2.0}.  Second, you can use properties to
+implement (very basic) database capabilities in an Org buffer.  Imagine
+keeping track of your music CDs, where properties could be things such as the
+album, artist, date of release, number of tracks, and so on.
 
 Properties can be conveniently edited and viewed in column view
 (@pxref{Column view}).
 
 @menu
 * Property syntax::             How properties are spelled out
-* Special properties::          Access to other Org-mode features
+* Special properties::          Access to other Org mode features
 * Property searches::           Matching property values
 * Property inheritance::        Passing values down the tree
 * Column view::                 Tabular viewing and editing
@@ -4721,7 +4788,8 @@ Properties can be conveniently edited and viewed in column view
 @cindex property syntax
 @cindex drawer, for properties
 
-Properties are key-value pairs.  They need to be inserted into a special
+Properties are key-value pairs.  When they are associated with a single entry
+or with a tree they need to be inserted into a special
 drawer (@pxref{Drawers}) with the name @code{PROPERTIES}.  Each property
 is specified on a single line, with the key (surrounded by colons)
 first, and the value after it.  Here is an example:
@@ -4739,6 +4807,10 @@ first, and the value after it.  Here is an example:
     :END:
 @end example
 
+Depending on the value of @code{org-use-property-inheritance}, a property set
+this way will either be associated with a single entry, or the sub-tree
+defined by the entry, see @ref{Property inheritance}.
+
 You may define the allowed values for a particular property @samp{:Xyz:}
 by setting a property @samp{:Xyz_ALL:}.  This special property is
 @emph{inherited}, so if you set it in a level 1 entry, it will apply to
@@ -4763,6 +4835,37 @@ file, use a line like
 #+PROPERTY: NDisks_ALL 1 2 3 4
 @end example
 
+If you want to add to the value of an existing property, append a @code{+} to
+the property name.  The following results in the property @code{var} having
+the value ``foo=1 bar=2''.
+@cindex property, +
+@example
+#+PROPERTY: var  foo=1
+#+PROPERTY: var+ bar=2
+@end example
+
+It is also possible to add to the values of inherited properties.  The
+following results in the @code{genres} property having the value ``Classic
+Baroque'' under the @code{Goldberg Variations} subtree.
+@cindex property, +
+@example
+* CD collection
+** Classic
+    :PROPERTIES:
+    :GENRES: Classic
+    :END:
+*** Goldberg Variations
+    :PROPERTIES:
+    :Title:     Goldberg Variations
+    :Composer:  J.S. Bach
+    :Artist:    Glen Gould
+    :Publisher: Deutsche Grammophon
+    :NDisks:    1
+    :GENRES+:   Baroque
+    :END:
+@end example
+Note that a property can only have one entry per Drawer.
+
 @vindex org-global-properties
 Property values set with the global variable
 @code{org-global-properties} can be inherited by all entries in all
@@ -4803,7 +4906,7 @@ nearest column format definition.
 @section Special properties
 @cindex properties, special
 
-Special properties provide an alternative access method to Org-mode features,
+Special properties provide an alternative access method to Org mode features,
 like the TODO state or the priority of an entry, discussed in the previous
 chapters.  This interface exists so that you can include these states in a
 column view (@pxref{Column view}), or to use them in queries.  The following
@@ -4885,9 +4988,9 @@ a regular expression and matched against the property values.
 @cindex inheritance, of properties
 
 @vindex org-use-property-inheritance
-The outline structure of Org-mode documents lends itself to an
+The outline structure of Org mode documents lends itself to an
 inheritance model of properties: if the parent in a tree has a certain
-property, the children can inherit this property.  Org-mode does not
+property, the children can inherit this property.  Org mode does not
 turn this on by default, because it can slow down property searches
 significantly and is often not needed.  However, if you find inheritance
 useful, you can turn it on by setting the variable
@@ -4898,7 +5001,7 @@ inherited properties.  If a property has the value @samp{nil}, this is
 interpreted as an explicit undefine of the property, so that inheritance
 search will stop at this value and return @code{nil}.
 
-Org-mode has a few properties for which inheritance is hard-coded, at
+Org mode has a few properties for which inheritance is hard-coded, at
 least for the special applications for which they are used:
 
 @cindex property, COLUMNS
@@ -4929,7 +5032,7 @@ subtree (@pxref{Tracking TODO state changes}).
 A great way to view and edit properties in an outline tree is
 @emph{column view}.  In column view, each outline node is turned into a
 table row.  Columns in this table provide access to properties of the
-entries.  Org-mode implements columns by overlaying a tabular structure
+entries.  Org mode implements columns by overlaying a tabular structure
 over the headline of each item.  While the headlines have been turned
 into a table row, you can still change the visibility of the outline
 tree.  For example, you get a compact table by switching to CONTENTS
@@ -5231,9 +5334,9 @@ property API}.
 
 To assist project planning, TODO items can be labeled with a date and/or
 a time.  The specially formatted string carrying the date and time
-information is called a @emph{timestamp} in Org-mode.  This may be a
+information is called a @emph{timestamp} in Org mode.  This may be a
 little confusing because timestamp is often used as indicating when
-something was created or last changed.  However, in Org-mode this term
+something was created or last changed.  However, in Org mode this term
 is used in a much wider sense.
 
 @menu
@@ -5256,17 +5359,20 @@ is used in a much wider sense.
 @cindex scheduling
 
 A timestamp is a specification of a date (possibly with a time or a range of
-times) in a special format, either @samp{<2003-09-16 Tue>} or
-@samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue
-12:00-12:30>}@footnote{This is inspired by the standard ISO 8601 date/time
-format.  To use an alternative format, see @ref{Custom time format}.}.  A
-timestamp can appear anywhere in the headline or body of an Org tree entry.
-Its presence causes entries to be shown on specific dates in the agenda
-(@pxref{Weekly/daily agenda}).  We distinguish:
+times) in a special format, either @samp{<2003-09-16 Tue>}@footnote{In this
+simplest form, the day name is optional when you type the date yourself.
+However, any dates inserted or modified by Org will add that day name, for
+reading convenience.} or @samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16
+Tue 12:00-12:30>}@footnote{This is inspired by the standard ISO 8601
+date/time format.  To use an alternative format, see @ref{Custom time
+format}.}.  A timestamp can appear anywhere in the headline or body of an Org
+tree entry.  Its presence causes entries to be shown on specific dates in the
+agenda (@pxref{Weekly/daily agenda}).  We distinguish:
 
 @table @var
 @item Plain timestamp; Event; Appointment
 @cindex timestamp
+@cindex appointment
 A simple timestamp just assigns a date/time to an item.  This is just
 like writing down an appointment or event in a paper agenda.  In the
 timeline and agenda displays, the headline of an entry associated with a
@@ -5289,7 +5395,7 @@ following will show up in the agenda every Wednesday:
 @end example
 
 @item Diary-style sexp entries
-For more complex date specifications, Org-mode supports using the special
+For more complex date specifications, Org mode supports using the special
 sexp diary entries implemented in the Emacs calendar/diary
 package@footnote{When working with the standard diary sexp functions, you
 need to be very careful with the order of the arguments.  That order depend
@@ -5297,7 +5403,7 @@ evilly on the variable @code{calendar-date-style} (or, for older Emacs
 versions, @code{european-calendar-style}).  For example, to specify a date
 December 12, 2005, the call might look like @code{(diary-date 12 1 2005)} or
 @code{(diary-date 1 12 2005)} or @code{(diary-date 2005 12 1)}, depending on
-the settings.  This has been the source of much confusion.  Org-mode users
+the settings.  This has been the source of much confusion.  Org mode users
 can resort to special versions of these functions like @code{org-date} or
 @code{org-anniversary}.  These work just like the corresponding @code{diary-}
 functions, but with stable ISO order of arguments (year, month, day) wherever
@@ -5338,7 +5444,7 @@ angular ones.  These timestamps are inactive in the sense that they do
 @cindex creating timestamps
 @cindex timestamps, creating
 
-For Org-mode to recognize timestamps, they need to be in the specific
+For Org mode to recognize timestamps, they need to be in the specific
 format.  All commands listed below produce timestamps in the correct
 format.
 
@@ -5362,6 +5468,9 @@ Like @kbd{C-c .} and @kbd{C-c !}, but use the alternative format which
 contains date and time.  The default time can be rounded to multiples of 5
 minutes, see the option @code{org-time-stamp-rounding-minutes}.
 @c
+@orgkey{C-c C-c}
+Normalize timestamp, insert/fix day name if missing or wrong.
+@c
 @orgcmd{C-c <,org-date-from-calendar}
 Insert a timestamp corresponding to the cursor date in the Calendar.
 @c
@@ -5397,7 +5506,7 @@ the following column).
 
 
 @menu
-* The date/time prompt::        How Org-mode helps you entering date and time
+* The date/time prompt::        How Org mode helps you entering date and time
 * Custom time format::          Making dates look different
 @end menu
 
@@ -5407,17 +5516,17 @@ the following column).
 @cindex time, reading in minibuffer
 
 @vindex org-read-date-prefer-future
-When Org-mode prompts for a date/time, the default is shown in default
+When Org mode prompts for a date/time, the default is shown in default
 date/time format, and the prompt therefore seems to ask for a specific
 format.  But it will in fact accept any string containing some date and/or
 time information, and it is really smart about interpreting your input.  You
 can, for example, use @kbd{C-y} to paste a (possibly multi-line) string
-copied from an email message.  Org-mode will find whatever information is in
+copied from an email message.  Org mode will find whatever information is in
 there and derive anything you have not specified from the @emph{default date
 and time}.  The default is usually the current date and time, but when
 modifying an existing timestamp, or when entering the second stamp of a
 range, it is taken from the stamp in the buffer.  When filling in
-information, Org-mode assumes that most of the time you will want to enter a
+information, Org mode assumes that most of the time you will want to enter a
 date in the future: if you omit the month/year and the given day/month is
 @i{before} today, it will assume that you mean a future date@footnote{See the
 variable @code{org-read-date-prefer-future}.  You may set that variable to
@@ -5426,7 +5535,7 @@ tomorrow.}.  If the date has been automatically shifted into the future, the
 time prompt will show this with @samp{(=>F).}
 
 For example, let's assume that today is @b{June 13, 2006}.  Here is how
-various inputs will be interpreted, the items filled in by Org-mode are
+various inputs will be interpreted, the items filled in by Org mode are
 in @b{bold}.
 
 @example
@@ -5536,7 +5645,7 @@ minibuffer@footnote{If you find this distracting, turn the display of with
 
 @vindex org-display-custom-times
 @vindex org-time-stamp-custom-formats
-Org-mode uses the standard ISO notation for dates and times as it is
+Org mode uses the standard ISO notation for dates and times as it is
 defined in ISO 8601.  If you cannot get used to this and require another
 representation of date and time to keep you happy, you can get it by
 customizing the variables @code{org-display-custom-times} and
@@ -5548,7 +5657,7 @@ Toggle the display of custom formats for dates and times.
 @end table
 
 @noindent
-Org-mode needs the default format for scanning, so the custom date/time
+Org mode needs the default format for scanning, so the custom date/time
 format does not @emph{replace} the default format---instead it is put
 @emph{over} the default format using text properties.  This has the
 following consequences:
@@ -5625,23 +5734,23 @@ the task will automatically be forwarded until completed.
 @end example
 
 @noindent
-@b{Important:} Scheduling an item in Org-mode should @i{not} be
+@b{Important:} Scheduling an item in Org mode should @i{not} be
 understood in the same way that we understand @i{scheduling a meeting}.
 Setting a date for a meeting is just a simple appointment, you should
 mark this entry with a simple plain timestamp, to get this item shown
 on the date where it applies.  This is a frequent misunderstanding by
-Org users.  In Org-mode, @i{scheduling} means setting a date when you
+Org users.  In Org mode, @i{scheduling} means setting a date when you
 want to start working on an action item.
 @end table
 
 You may use timestamps with repeaters in scheduling and deadline
-entries.  Org-mode will issue early and late warnings based on the
+entries.  Org mode will issue early and late warnings based on the
 assumption that the timestamp represents the @i{nearest instance} of
 the repeater.  However, the use of diary sexp entries like
 @c
 @code{<%%(org-float t 42)>}
 @c
-in scheduling and deadline timestamps is limited.  Org-mode does not
+in scheduling and deadline timestamps is limited.  Org mode does not
 know enough about the internals of each sexp function to issue early and
 late warnings.  However, it will show the item on each day where the
 sexp entry matches.
@@ -5714,7 +5823,7 @@ to the previous week before any current timestamp.
 @cindex tasks, repeated
 @cindex repeated tasks
 
-Some tasks need to be repeated again and again.  Org-mode helps to
+Some tasks need to be repeated again and again.  Org mode helps to
 organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED,
 or plain timestamp.  In the following example
 @example
@@ -5734,7 +5843,7 @@ over-due, so it is important to be able to mark such an entry as completed
 once you have done so.  When you mark a DEADLINE or a SCHEDULE with the TODO
 keyword DONE, it will no longer produce entries in the agenda.  The problem
 with this is, however, that then also the @emph{next} instance of the
-repeated entry will not be active.  Org-mode deals with this in the following
+repeated entry will not be active.  Org mode deals with this in the following
 way: When you try to mark such an entry DONE (using @kbd{C-c C-t}), it will
 shift the base date of the repeating timestamp by the repeater interval, and
 immediately set the entry state back to TODO@footnote{In fact, the target
@@ -5767,7 +5876,7 @@ task, this may not be the best way to handle it.  For example, if you
 forgot to call your father for 3 weeks, it does not make sense to call
 him 3 times in a single day to make up for it.  Finally, there are tasks
 like changing batteries which should always repeat a certain time
-@i{after} the last time you did it.  For these tasks, Org-mode has
+@i{after} the last time you did it.  For these tasks, Org mode has
 special repeaters  @samp{++} and @samp{.+}.  For example:
 
 @example
@@ -5796,7 +5905,7 @@ created for this purpose, it is described in @ref{Structure editing}.
 @cindex clocking time
 @cindex time clocking
 
-Org-mode allows you to clock the time you spend on specific tasks in a
+Org mode allows you to clock the time you spend on specific tasks in a
 project.  When you start working on an item, you can start the clock.
 When you stop working on that task, or when you mark the task done, the
 clock is stopped and the corresponding time interval is recorded.  It
@@ -5915,10 +6024,11 @@ formatted as one or several Org tables.
 @table @kbd
 @orgcmd{C-c C-x C-r,org-clock-report}
 Insert a dynamic block (@pxref{Dynamic blocks}) containing a clock
-report as an Org-mode table into the current file.  When the cursor is
+report as an Org mode table into the current file.  When the cursor is
 at an existing clock table, just update it.  When called with a prefix
 argument, jump to the first clock report in the current document and
-update it.
+update it.  The clock table always includes also trees with
+@code{:ARCHIVE:} tag.
 @orgcmdkkc{C-c C-c,C-c C-x C-u,org-dblock-update}
 Update dynamic block at point.  The cursor needs to be in the
 @code{#+BEGIN} line of the dynamic block.
@@ -6215,8 +6325,8 @@ not started at exactly the right moment.
 @kindex C-c C-x ;
 @kindex ;
 
-Calling @code{org-timer-set-timer} from an Org-mode buffer runs a countdown
-timer.  Use @kbd{;} from agenda buffers, @key{C-c C-x ;} everywhere else.
+Calling @code{org-timer-set-timer} from an Org mode buffer runs a countdown
+timer.  Use @kbd{;} from agenda buffers, @key{C-c C-x ;} everwhere else.
 
 @code{org-timer-set-timer} prompts the user for a duration and displays a
 countdown timer in the modeline.  @code{org-timer-default-timer} sets the
@@ -6249,7 +6359,7 @@ trees to an archive file keeps the system compact and fast.
 
 Org's method for capturing new items is heavily inspired by John Wiegley
 excellent remember package.  Up to version 6.36 Org used a special setup
-for @file{remember.el}.  @file{org-remember.el} is still part of Org-mode for
+for @file{remember.el}.  @file{org-remember.el} is still part of Org mode for
 backward compatibility with existing setups.  You can find the documentation
 for org-remember at @url{http://orgmode.org/org-remember.pdf}.
 
@@ -6393,7 +6503,7 @@ like this:
 @node Template elements, Template expansion, Capture templates, Capture templates
 @subsubsection Template elements
 
-Now let's look at the elements of a template definition.  Each entry in
+Now lets look at the elements of a template definition.  Each entry in
 @code{org-capture-templates} is a list with the following items:
 
 @table @var
@@ -6418,8 +6528,8 @@ selection.
 The type of entry, a symbol.  Valid values are:
 @table @code
 @item entry
-An Org-mode node, with a headline.  Will be filed as the child of the target
-entry or as a top-level entry.  The target file should be an Org-mode file.
+An Org mode node, with a headline.  Will be filed as the child of the target
+entry or as a top-level entry.  The target file should be an Org mode file.
 @item item
 A plain list item, placed in the first plain  list at the target
 location.  Again the target file should be an Org file.
@@ -6436,7 +6546,7 @@ Text to be inserted as it is.
 
 @item target
 @vindex org-default-notes-file
-Specification of where the captured item should be placed.  In Org-mode
+Specification of where the captured item should be placed.  In Org mode
 files, targets usually define a node.  Entries will become children of this
 node.  Other types will be added to the table or list in the body of this
 node.  Most target specifications contain a file name.  If that file name is
@@ -6536,7 +6646,7 @@ buffer again after capture is completed.
 
 In the template itself, special @kbd{%}-escapes@footnote{If you need one of
 these sequences literally, escape the @kbd{%} with a backslash.}  allow
-dynamic insertion of content. The templates are expanded in the order given here:
+dynamic insertion of content.  The templates are expanded in the order given here:
 
 @smallexample
 %[@var{file}]     @r{insert the contents of the file given by @var{file}.}
@@ -7032,6 +7142,7 @@ the front.  With a prefix argument, file is added/moved to the end.
 @orgcmd{C-c ],org-remove-file}
 Remove current file from the list of agenda files.
 @kindex C-,
+@cindex cycling, of agenda files
 @orgcmd{C-',org-cycle-agenda-files}
 @itemx C-,
 Cycle through agenda file list, visiting one file after the other.
@@ -7187,7 +7298,7 @@ anniversaries, lunar phases, sunrise/set, recurrent appointments
 Org.  It can be very useful to combine output from Org with
 the diary.
 
-In order to include entries from the Emacs diary into Org-mode's
+In order to include entries from the Emacs diary into Org mode's
 agenda, you only need to customize the variable
 
 @lisp
@@ -7196,7 +7307,7 @@ agenda, you only need to customize the variable
 
 @noindent After that, everything will happen automatically.  All diary
 entries including holidays, anniversaries, etc., will be included in the
-agenda buffer created by Org-mode.  @key{SPC}, @key{TAB}, and
+agenda buffer created by Org mode.  @key{SPC}, @key{TAB}, and
 @key{RET} can be used from the agenda buffer to jump to the diary
 file in order to edit existing diary entries.  The @kbd{i} command to
 insert new entries for the current date works in the agenda buffer, as
@@ -7207,7 +7318,7 @@ between calendar and agenda.
 
 If you are using the diary only for sexp entries and holidays, it is
 faster to not use the above setting, but instead to copy or even move
-the entries into an Org file.  Org-mode evaluates diary-style sexp
+the entries into an Org file.  Org mode evaluates diary-style sexp
 entries, and does it faster because there is no overhead for first
 creating the diary display.  Note that the sexp entries must start at
 the left margin, no whitespace is allowed before them.  For example,
@@ -7253,7 +7364,7 @@ followed by a space and the class of the anniversary (@samp{birthday} or
 1973-06-22
 06-22
 1955-08-02 wedding
-2008-04-14 %s released version 6.01 of org-mode, %d years ago
+2008-04-14 %s released version 6.01 of org mode, %d years ago
 @end example
 
 After a change to BBDB, or for the first agenda display during an Emacs
@@ -7265,6 +7376,8 @@ in an Org or Diary file.
 @subsubheading Appointment reminders
 @cindex @file{appt.el}
 @cindex appointment reminders
+@cindex appointment
+@cindex reminders
 
 Org can interact with Emacs appointments notification facility.  To add all
 the appointments of your agenda files, use the command
@@ -7466,7 +7579,7 @@ other properties will slow down the search.  However, once you have paid the
 price by accessing one property, testing additional properties is cheap
 again.
 
-You can configure Org-mode to use property inheritance during a search, but
+You can configure Org mode to use property inheritance during a search, but
 beware that this can slow down searches considerably.  See @ref{Property
 inheritance}, for details.
 
@@ -7499,7 +7612,7 @@ Select @samp{:work:}-tagged TODO lines that are either @samp{WAITING} or
 @cindex timeline, single file
 @cindex time-sorted view
 
-The timeline summarizes all time-stamped items from a single Org-mode
+The timeline summarizes all time-stamped items from a single Org mode
 file in a @emph{time-sorted view}.  The main purpose of this command is
 to give an overview over events in a project.
 
@@ -7520,7 +7633,7 @@ The commands available in the timeline buffer are listed in
 @cindex text search
 @cindex searching, for text
 
-This agenda view is a general text search facility for Org-mode entries.
+This agenda view is a general text search facility for Org mode entries.
 It is particularly useful to find notes.
 
 @table @kbd
@@ -7552,7 +7665,7 @@ If you are following a system like David Allen's GTD to organize your
 work, one of the ``duties'' you have is a regular review to make sure
 that all projects move along.  A @emph{stuck} project is a project that
 has no defined next actions, so it will never show up in the TODO lists
-Org-mode produces.  During the review, you need to identify such
+Org mode produces.  During the review, you need to identify such
 projects and define next actions for them.
 
 @table @kbd
@@ -7570,7 +7683,7 @@ work for you.  The built-in default assumes that all your projects are
 level-2 headlines, and that a project is not stuck if it has at least
 one entry marked with a TODO keyword TODO or NEXT or NEXTACTION.
 
-Let's assume that you, in your own way of using Org-mode, identify
+Let's assume that you, in your own way of using Org mode, identify
 projects with a tag PROJECT, and that you use a TODO keyword MAYBE to
 indicate a project that should not be considered yet.  Let's further
 assume that the TODO keyword DONE marks finished projects, and that NEXT
@@ -7598,7 +7711,7 @@ will still be searched for stuck projects.
 
 @vindex org-agenda-prefix-format
 @vindex org-agenda-tags-column
-Before displaying items in an agenda view, Org-mode visually prepares the
+Before displaying items in an agenda view, Org mode visually prepares the
 items and sorts them.  Each item occupies a single line.  The line starts
 with a @emph{prefix} that contains the @emph{category} (@pxref{Categories})
 of the item and other important information.  You can customize in which
@@ -7651,7 +7764,7 @@ You can set up icons for category by customizing the
 @subsection Time-of-day specifications
 @cindex time-of-day specification
 
-Org-mode checks each agenda item for a time-of-day specification.  The
+Org mode checks each agenda item for a time-of-day specification.  The
 time can be part of the timestamp that triggered inclusion into the
 agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}.  Time
 ranges can be specified with two timestamps, like
@@ -7663,7 +7776,7 @@ plain text (like @samp{12:45} or a @samp{8:30-1pm}).  If the agenda
 integrates the Emacs diary (@pxref{Weekly/daily agenda}), time
 specifications in diary entries are recognized as well.
 
-For agenda display, Org-mode extracts the time and displays it in a
+For agenda display, Org mode extracts the time and displays it in a
 standard 24 hour format as part of the prefix.  The example times in
 the previous paragraphs would end up in the agenda like this:
 
@@ -7861,6 +7974,7 @@ press @kbd{v a} again.
 @c
 @orgcmdkskc{v R,R,org-agenda-clockreport-mode}
 @vindex org-agenda-start-with-clockreport-mode
+@vindex org-clock-report-include-clocking-task
 Toggle Clockreport mode.  In Clockreport mode, the daily/weekly agenda will
 always show a table with the clocked times for the timespan and file scope
 covered by the current agenda view.  The initial setting for this mode in new
@@ -7868,7 +7982,8 @@ agenda buffers can be set with the variable
 @code{org-agenda-start-with-clockreport-mode}.  By using a prefix argument
 when toggling this mode (i.e.@: @kbd{C-u R}), the clock table will not show
 contributions from entries that are hidden by agenda filtering@footnote{Only
-tags filtering will be respected here, effort filtering is ignored.}.
+tags filtering will be respected here, effort filtering is ignored.}.  See
+also the variable @code{org-clock-report-include-clocking-task}.
 @c
 @orgkey{v c}
 @vindex org-agenda-clock-consistency-checks
@@ -7921,18 +8036,27 @@ Remove the restriction lock on the agenda, if it is currently restricted to a
 file or subtree (@pxref{Agenda files}).
 
 @tsubheading{Secondary filtering and query editing}
-@cindex filtering, by tag and effort, in agenda
+@cindex filtering, by tag category and effort, in agenda
 @cindex tag filtering, in agenda
+@cindex category filtering, in agenda
 @cindex effort filtering, in agenda
 @cindex query editing, in agenda
 
+@orgcmd{<,org-agenda-filter-by-category}
+@vindex org-agenda-category-filter-preset
+
+Filter the current agenda view with respect to the category of the item at
+point.  Pressing @code{<} another time will remove this filter.  You can add
+a filter preset through the option @code{org-agenda-category-filter-preset}
+(see below.)
+
 @orgcmd{/,org-agenda-filter-by-tag}
-@vindex org-agenda-filter-preset
+@vindex org-agenda-tag-filter-preset
 Filter the current agenda view with respect to a tag and/or effort estimates.
 The difference between this and a custom agenda command is that filtering is
 very fast, so that you can switch quickly between different filters without
 having to recreate the agenda.@footnote{Custom commands can preset a filter by
-binding the variable @code{org-agenda-filter-preset} as an option.  This
+binding the variable @code{org-agenda-tag-filter-preset} as an option.  This
 filter will then be applied to the view and persist as a basic filter through
 refreshes and more secondary filtering.  The filter is a global property of
 the entire agenda view---in a block agenda, you should only set this in the
@@ -8076,7 +8200,7 @@ agenda, change a tag for all headings in the region.
 @kindex ,
 @item ,
 Set the priority for the current item (@command{org-agenda-priority}).
-Org-mode prompts for the priority character.  If you reply with @key{SPC},
+Org mode prompts for the priority character.  If you reply with @key{SPC},
 the priority cookie is removed from the entry.
 @c
 @orgcmd{P,org-agenda-show-priority}
@@ -8122,13 +8246,15 @@ command.
 @c
 @orgcmd{S-@key{right},org-agenda-do-date-later}
 Change the timestamp associated with the current line by one day into the
-future.  With a numeric prefix argument, change it by that many days.  For
-example, @kbd{3 6 5 S-@key{right}} will change it by a year.  With a
-@kbd{C-u} prefix, change the time by one hour.  If you immediately repeat the
-command, it will continue to change hours even without the prefix arg.  With
-a double @kbd{C-u C-u} prefix, do the same for changing minutes.  The stamp
-is changed in the original Org file, but the change is not directly reflected
-in the agenda buffer.  Use @kbd{r} or @kbd{g} to update the buffer.
+future.  If the date is in the past, the first call to this command will move
+it to today.@*
+With a numeric prefix argument, change it by that many days.  For example,
+@kbd{3 6 5 S-@key{right}} will change it by a year.  With a @kbd{C-u} prefix,
+change the time by one hour.  If you immediately repeat the command, it will
+continue to change hours even without the prefix arg.  With a double @kbd{C-u
+C-u} prefix, do the same for changing minutes.@*
+The stamp is changed in the original Org file, but the change is not directly
+reflected in the agenda buffer.  Use @kbd{r} or @kbd{g} to update the buffer.
 @c
 @orgcmd{S-@key{left},org-agenda-do-date-earlier}
 Change the timestamp associated with the current line by one day
@@ -8213,7 +8339,7 @@ f  @r{Apply a function to marked entries.}
 Open the Emacs calendar and move to the date at the agenda cursor.
 @c
 @orgcmd{c,org-calendar-goto-agenda}
-When in the calendar, compute and show the Org-mode agenda for the
+When in the calendar, compute and show the Org mode agenda for the
 date at the cursor.
 @c
 @cindex diary entries, creating from agenda
@@ -8226,8 +8352,8 @@ file@footnote{This file is parsed for the agenda when
 command in the calendar.  The diary file will pop up in another window, where
 you can add the entry.
 
-If you configure @code{org-agenda-diary-file} to point to an Org-mode file,
-Org will create entries (in org-mode syntax) in that file instead.  Most
+If you configure @code{org-agenda-diary-file} to point to an Org mode file,
+Org will create entries (in Org mode syntax) in that file instead.  Most
 entries will be stored in a date-based outline tree that will later make it
 easy to archive appointments from previous months/years.  The tree will be
 built under an entry with a @code{DATE_TREE} property, or else with years as
@@ -8262,7 +8388,7 @@ This is a globally available command, and also available in the agenda menu.
 @vindex org-agenda-exporter-settings
 Write the agenda view to a file.  Depending on the extension of the selected
 file name, the view will be exported as HTML (extension @file{.html} or
-@file{.htm}), PostScript (extension @file{.ps}), PDF (extension @file{.pdf}),
+@file{.htm}), Postscript (extension @file{.ps}), PDF (extension @file{.pdf}),
 and plain text (any other extension).  When called with a @kbd{C-u} prefix
 argument, immediately open the newly created file.  Use the variable
 @code{org-agenda-exporter-settings} to set options for @file{ps-print} and
@@ -8403,7 +8529,7 @@ command @kbd{C-c a o} provides a similar view for office tasks.
 @cindex options, for custom agenda views
 
 @vindex org-agenda-custom-commands
-Org-mode contains a number of variables regulating agenda construction
+Org mode contains a number of variables regulating agenda construction
 and display.  The global variables define the behavior for all agenda
 commands, including the custom commands.  However, if you want to change
 some settings just for a single custom view, you can do so.  Setting
@@ -8475,11 +8601,11 @@ yourself.
 @cindex agenda views, exporting
 
 If you are away from your computer, it can be very useful to have a printed
-version of some agenda views to carry around.  Org-mode can export custom
+version of some agenda views to carry around.  Org mode can export custom
 agenda views as plain text, HTML@footnote{You need to install Hrvoje Niksic's
-@file{htmlize.el}.}, PostScript, PDF@footnote{To create PDF output, the
+@file{htmlize.el}.}, Postscript, PDF@footnote{To create PDF output, the
 ghostscript @file{ps2pdf} utility must be installed on the system.  Selecting
-a PDF file will also create the PostScript file.}, and iCalendar files.  If
+a PDF file will also create the postscript file.}, and iCalendar files.  If
 you want to do this only occasionally, use the command
 
 @table @kbd
@@ -8489,7 +8615,7 @@ you want to do this only occasionally, use the command
 @vindex org-agenda-exporter-settings
 Write the agenda view to a file.  Depending on the extension of the selected
 file name, the view will be exported as HTML (extension @file{.html} or
-@file{.htm}), PostScript (extension @file{.ps}), iCalendar (extension
+@file{.htm}), Postscript (extension @file{.ps}), iCalendar (extension
 @file{.ics}), or plain text (any other extension).  Use the variable
 @code{org-agenda-exporter-settings} to set options for @file{ps-print} and
 for @file{htmlize} to be used during export, for example
@@ -8539,10 +8665,10 @@ or absolute.
 @end lisp
 
 The extension of the file name determines the type of export.  If it is
-@file{.html}, Org-mode will use the @file{htmlize.el} package to convert
+@file{.html}, Org mode will use the @file{htmlize.el} package to convert
 the buffer to HTML and save it to this file name.  If the extension is
 @file{.ps}, @code{ps-print-buffer-with-faces} is used to produce
-PostScript output.  If the extension is @file{.ics}, iCalendar export is
+Postscript output.  If the extension is @file{.ics}, iCalendar export is
 run export over all files that were used to construct the agenda, and
 limit the export to entries listed in the agenda.  Any other
 extension produces a plain ASCII file.
@@ -8573,7 +8699,7 @@ set options for the export commands.  For example:
 @end lisp
 
 @noindent
-This command sets two options for the PostScript exporter, to make it
+This command sets two options for the Postscript exporter, to make it
 print in two columns in landscape format---the resulting page can be cut
 in two and then used in a paper agenda.  The remaining settings modify
 the agenda prefix to omit category and scheduling information, and
@@ -8586,14 +8712,14 @@ in @code{org-agenda-custom-commands} take precedence.
 @noindent
 From the command line you may also use
 @example
-emacs -f org-batch-store-agenda-views -kill
+emacs -eval (org-batch-store-agenda-views) -kill
 @end example
 @noindent
 or, if you need to modify some parameters@footnote{Quoting depends on the
 system you use, please check the FAQ for examples.}
 @example
 emacs -eval '(org-batch-store-agenda-views                      \
-              org-agenda-span month                             \
+              org-agenda-span (quote month)                     \
               org-agenda-start-day "2007-11-01"                 \
               org-agenda-include-diary nil                      \
               org-agenda-files (quote ("~/org/project.org")))'  \
@@ -8668,11 +8794,11 @@ the agenda).
 @node Markup, Exporting, Agenda Views, Top
 @chapter Markup for rich export
 
-When exporting Org-mode documents, the exporter tries to reflect the
+When exporting Org mode documents, the exporter tries to reflect the
 structure of the document as accurately as possible in the backend.  Since
 export targets like HTML, @LaTeX{}, or DocBook allow much richer formatting,
-Org-mode has rules on how to prepare text for rich export.  This section
-summarizes the markup rules used in an Org-mode buffer.
+Org mode has rules on how to prepare text for rich export.  This section
+summarizes the markup rules used in an Org mode buffer.
 
 @menu
 * Structural markup elements::  The basic structure as seen by the exporter
@@ -8681,7 +8807,7 @@ summarizes the markup rules used in an Org-mode buffer.
 * Include files::               Include additional files into a document
 * Index entries::               Making an index
 * Macro replacement::           Use macros to create complex output
-* Embedded LaTeX::              LaTeX can be freely used inside Org documents
+* Embedded @LaTeX{}::           LaTeX can be freely used inside Org documents
 @end menu
 
 @node Structural markup elements, Images and tables, Markup, Markup
@@ -8764,7 +8890,7 @@ the table of contents entirely, by configuring the variable
 @cindex text before first headline, markup rules
 @cindex #+TEXT
 
-Org-mode normally exports the text before the first headline, and even uses
+Org mode normally exports the text before the first headline, and even uses
 the first line as the document title.  The text will be fully marked up.  If
 you need to include literal HTML, @LaTeX{}, or DocBook code, use the special
 constructs described below in the sections for the individual exporters.
@@ -8818,7 +8944,7 @@ can use this construct, which can also be used to format poetry.
 
 When quoting a passage from another document, it is customary to format this
 as a paragraph that is indented on both the left and the right margin.  You
-can include quotations in Org-mode documents like this:
+can include quotations in Org mode documents like this:
 
 @cindex #+BEGIN_QUOTE
 @example
@@ -8858,7 +8984,7 @@ multiple footnotes side by side.
 @cindex strike-through text, markup rules
 You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=}
 and @code{~verbatim~}, and, if you must, @samp{+strike-through+}.  Text
-in the code and verbatim string is not processed for Org-mode specific
+in the code and verbatim string is not processed for Org mode specific
 syntax; it is exported verbatim.
 
 @node Horizontal rules, Comment lines, Emphasis and monospace, Structural markup elements
@@ -8892,8 +9018,8 @@ Toggle the COMMENT keyword at the beginning of an entry.
 @cindex tables, markup rules
 @cindex #+CAPTION
 @cindex #+LABEL
-Both the native Org-mode tables (@pxref{Tables}) and tables formatted with
-the @file{table.el} package will be exported properly.  For Org-mode tables,
+Both the native Org mode tables (@pxref{Tables}) and tables formatted with
+the @file{table.el} package will be exported properly.  For Org mode tables,
 the lines before the first horizontal separator line will become table header
 lines.  You can use the following lines somewhere before the table to assign
 a caption and a label for cross references, and in the text you can refer to
@@ -8963,16 +9089,16 @@ If the example is source code from a programming language, or any other text
 that can be marked up by font-lock in Emacs, you can ask for the example to
 look like the fontified Emacs buffer@footnote{This works automatically for
 the HTML backend (it requires version 1.34 of the @file{htmlize.el} package,
-which is distributed with Org).  Fontified code chunks in LaTeX can be
+which is distributed with Org).  Fontified code chunks in @LaTeX{} can be
 achieved using either the listings or the
 @url{http://code.google.com/p/minted, minted,} package.  To use listings, turn
 on the variable @code{org-export-latex-listings} and ensure that the listings
-package is included by the LaTeX header (e.g.@: by configuring
+package is included by the @LaTeX{} header (e.g.@: by configuring
 @code{org-export-latex-packages-alist}).  See the listings documentation for
 configuration options, including obtaining colored output.  For minted it is
 necessary to install the program @url{http://pygments.org, pygments}, in
 addition to setting @code{org-export-latex-minted}, ensuring that the minted
-package is included by the LaTeX header, and ensuring that the
+package is included by the @LaTeX{} header, and ensuring that the
 @code{-shell-escape} option is passed to @file{pdflatex} (see
 @code{org-latex-to-pdf-process}).  See the documentation of the variables
 @code{org-export-latex-listings} and @code{org-export-latex-minted} for
@@ -8980,7 +9106,8 @@ further details.}.  This is done with the @samp{src} block, where you also
 need to specify the name of the major mode that should be used to fontify the
 example@footnote{Code in @samp{src} blocks may also be evaluated either
 interactively or on export.  See @pxref{Working With Source Code} for more
-information on evaluating code blocks.}:
+information on evaluating code blocks.}, see @ref{Easy Templates} for
+shortcuts to easily insert code blocks.
 @cindex #+BEGIN_SRC
 
 @example
@@ -9004,7 +9131,7 @@ cool.
 You can also add a @code{-r} switch which @i{removes} the labels from the
 source code@footnote{Adding @code{-k} to @code{-n -r} will @i{keep} the
 labels in the source code while using line numbers for the links, which might
-be useful to explain those in an org-mode example code.}.  With the @code{-n}
+be useful to explain those in an Org mode example code.}.  With the @code{-n}
 switch, links to these references will be labeled by the line numbers from
 the code listing, otherwise links will use the labels with no parentheses.
 Here is an example:
@@ -9070,11 +9197,11 @@ include your @file{.emacs} file, you could use:
 The optional second and third parameter are the markup (e.g.@: @samp{quote},
 @samp{example}, or @samp{src}), and, if the markup is @samp{src}, the
 language for formatting the contents.  The markup is optional; if it is not
-given, the text will be assumed to be in Org-mode format and will be
+given, the text will be assumed to be in Org mode format and will be
 processed normally.  The include line will also allow additional keyword
 parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the
 first line and for each following line, @code{:minlevel} in order to get
-org-mode content demoted to a specified level, as well as any options
+Org mode content demoted to a specified level, as well as any options
 accepted by the selected markup.  For example, to include a file as an item,
 use
 
@@ -9117,7 +9244,7 @@ an index} for more information.
 
 
 
-@node Macro replacement, Embedded LaTeX, Index entries, Markup
+@node Macro replacement, Embedded @LaTeX{}, Index entries, Markup
 @section Macro replacement
 @cindex macro replacement, during export
 @cindex #+MACRO
@@ -9142,7 +9269,7 @@ Macro expansion takes place during export, and some people use it to
 construct complex HTML code.
 
 
-@node Embedded LaTeX,  , Macro replacement, Markup
+@node Embedded @LaTeX{},  , Macro replacement, Markup
 @section Embedded @LaTeX{}
 @cindex @TeX{} interpretation
 @cindex @LaTeX{} interpretation
@@ -9152,7 +9279,7 @@ include scientific notes, which often require mathematical symbols and the
 occasional formula.  @LaTeX{}@footnote{@LaTeX{} is a macro system based on
 Donald E. Knuth's @TeX{} system.  Many of the features described here as
 ``@LaTeX{}'' are really from @TeX{}, but for simplicity I am blurring this
-distinction.}  is widely used to typeset scientific documents.  Org-mode
+distinction.}  is widely used to typeset scientific documents.  Org mode
 supports embedding @LaTeX{} code into its files, because many academics are
 used to writing and reading @LaTeX{} source code, and because it can be
 readily processed to produce pretty output for a number of export backends.
@@ -9160,12 +9287,12 @@ readily processed to produce pretty output for a number of export backends.
 @menu
 * Special symbols::             Greek letters and other symbols
 * Subscripts and superscripts::  Simple syntax for raising/lowering text
-* LaTeX fragments::             Complex formulas made easy
-* Previewing LaTeX fragments::  What will this snippet look like?
+* @LaTeX{} fragments::             Complex formulas made easy
+* Previewing @LaTeX{} fragments::  What will this snippet look like?
 * CDLaTeX mode::                Speed up entering of formulas
 @end menu
 
-@node Special symbols, Subscripts and superscripts, Embedded LaTeX, Embedded LaTeX
+@node Special symbols, Subscripts and superscripts, Embedded @LaTeX{}, Embedded @LaTeX{}
 @subsection Special symbols
 @cindex math symbols
 @cindex special symbols
@@ -9178,7 +9305,7 @@ You can use @LaTeX{} macros to insert special symbols like @samp{\alpha} to
 indicate the Greek letter, or @samp{\to} to indicate an arrow.  Completion
 for these macros is available, just type @samp{\} and maybe a few letters,
 and press @kbd{M-@key{TAB}} to see possible completions.  Unlike @LaTeX{}
-code, Org-mode allows these macros to be present without surrounding math
+code, Org mode allows these macros to be present without surrounding math
 delimiters, for example:
 
 @example
@@ -9212,7 +9339,7 @@ buffer content which remains plain ASCII, but it overlays the UTF-8 character
 for display purposes only.
 @end table
 
-@node Subscripts and superscripts, LaTeX fragments, Special symbols, Embedded LaTeX
+@node Subscripts and superscripts, @LaTeX{} fragments, Special symbols, Embedded @LaTeX{}
 @subsection Subscripts and superscripts
 @cindex subscript
 @cindex superscript
@@ -9250,13 +9377,13 @@ In addition to showing entities as UTF-8 characters, this command will also
 format sub- and superscripts in a WYSIWYM way.
 @end table
 
-@node LaTeX fragments, Previewing LaTeX fragments, Subscripts and superscripts, Embedded LaTeX
+@node @LaTeX{} fragments, Previewing @LaTeX{} fragments, Subscripts and superscripts, Embedded @LaTeX{}
 @subsection @LaTeX{} fragments
 @cindex @LaTeX{} fragments
 
 @vindex org-format-latex-header
 Going beyond symbols and sub- and superscripts, a full formula language is
-needed.  Org-mode can contain @LaTeX{} math fragments, and it supports ways
+needed.  Org mode can contain @LaTeX{} math fragments, and it supports ways
 to process these for several export backends.  When exporting to @LaTeX{},
 the code is obviously left as it is.  When exporting to HTML, Org invokes the
 @uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in
@@ -9309,10 +9436,10 @@ can configure the option @code{org-format-latex-options} to deselect the
 ones you do not wish to have interpreted by the @LaTeX{} converter.
 
 @vindex org-export-with-LaTeX-fragments
-LaTeX processing can be configured with the variable
+@LaTeX{} processing can be configured with the variable
 @code{org-export-with-LaTeX-fragments}.  The default setting is @code{t}
 which means @file{MathJax} for HTML, and no processing for DocBook, ASCII and
-LaTeX backends.  You can also set this variable on a per-file basis using one
+@LaTeX{} backends.  You can also set this variable on a per-file basis using one
 of these lines:
 
 @example
@@ -9322,9 +9449,9 @@ of these lines:
 #+OPTIONS: LaTeX:verbatim   @r{Verbatim export, for jsMath or so}
 @end example
 
-@node Previewing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX
-@subsection Previewing LaTeX fragments
-@cindex LaTeX fragments, preview
+@node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} fragments, Embedded @LaTeX{}
+@subsection Previewing @LaTeX{} fragments
+@cindex @LaTeX{} fragments, preview
 
 If you have @file{dvipng} installed, @LaTeX{} fragments can be processed to
 produce preview images of the typeset expressions:
@@ -9349,18 +9476,18 @@ some aspects of the preview.  In particular, the @code{:scale} (and for HTML
 export, @code{:html-scale}) property can be used to adjust the size of the
 preview images.
 
-@node CDLaTeX mode,  , Previewing LaTeX fragments, Embedded LaTeX
-@subsection Using CDLa@TeX{} to enter math
-@cindex CDLa@TeX{}
+@node CDLaTeX mode,  , Previewing @LaTeX{} fragments, Embedded @LaTeX{}
+@subsection Using CD@LaTeX{} to enter math
+@cindex CD@LaTeX{}
 
-CDLa@TeX{} mode is a minor mode that is normally used in combination with a
+CD@LaTeX{} mode is a minor mode that is normally used in combination with a
 major @LaTeX{} mode like AUC@TeX{} in order to speed-up insertion of
-environments and math templates.  Inside Org-mode, you can make use of
-some of the features of CDLa@TeX{} mode.  You need to install
+environments and math templates.  Inside Org mode, you can make use of
+some of the features of CD@LaTeX{} mode.  You need to install
 @file{cdlatex.el} and @file{texmathp.el} (the latter comes also with
 AUC@TeX{}) from @url{http://www.astro.uva.nl/~dominik/Tools/cdlatex}.
-Don't use CDLa@TeX{} mode itself under Org-mode, but use the light
-version @code{org-cdlatex-mode} that comes as part of Org-mode.  Turn it
+Don't use CD@LaTeX{} mode itself under Org mode, but use the light
+version @code{org-cdlatex-mode} that comes as part of Org mode.  Turn it
 on for the current buffer with @code{M-x org-cdlatex-mode}, or for all
 Org files with
 
@@ -9369,7 +9496,7 @@ Org files with
 @end lisp
 
 When this mode is enabled, the following features are present (for more
-details see the documentation of CDLa@TeX{} mode):
+details see the documentation of CD@LaTeX{} mode):
 @itemize @bullet
 @kindex C-c @{
 @item
@@ -9377,7 +9504,7 @@ Environment templates can be inserted with @kbd{C-c @{}.
 @item
 @kindex @key{TAB}
 The @key{TAB} key will do template expansion if the cursor is inside a
-@LaTeX{} fragment@footnote{Org-mode has a method to test if the cursor is
+@LaTeX{} fragment@footnote{Org mode has a method to test if the cursor is
 inside such a fragment, see the documentation of the function
 @code{org-inside-LaTeX-fragment-p}.}.  For example, @key{TAB} will
 expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor
@@ -9414,20 +9541,20 @@ is normal.
 @chapter Exporting
 @cindex exporting
 
-Org-mode documents can be exported into a variety of other formats.  For
+Org mode documents can be exported into a variety of other formats.  For
 printing and sharing of notes, ASCII export produces a readable and simple
 version of an Org file.  HTML export allows you to publish a notes file on
 the web, while the XOXO format provides a solid base for exchange with a
-broad range of other applications.  @LaTeX{} export lets you use Org-mode and
+broad range of other applications.  @LaTeX{} export lets you use Org mode and
 its structured editing functions to easily create @LaTeX{} files.  DocBook
 export makes it possible to convert Org files to many other formats using
-DocBook tools.  OpenDocumentText export allows seamless collaboration across
-organizational boundaries.  For project management you can create gantt and
-resource charts by using TaskJuggler export.  To incorporate entries with
-associated times like deadlines or appointments into a desktop calendar
-program like iCal, Org-mode can also produce extracts in the iCalendar
-format.  Currently Org-mode only supports export, not import of these
-different formats.
+DocBook tools.  OpenDocument Text(@acronym{ODT}) export allows seamless
+colloboration across organizational boundaries.  For project management you
+can create gantt and resource charts by using TaskJuggler export.  To
+incorporate entries with associated times like deadlines or appointments into
+a desktop calendar program like iCal, Org mode can also produce extracts in
+the iCalendar format.  Currently Org mode only supports export, not import of
+these different formats.
 
 Org supports export of selected regions when @code{transient-mark-mode} is
 enabled (default in Emacs 23).
@@ -9438,9 +9565,9 @@ enabled (default in Emacs 23).
 * The export dispatcher::       How to access exporter commands
 * ASCII/Latin-1/UTF-8 export::  Exporting to flat files with encoding
 * HTML export::                 Exporting to HTML
-* LaTeX and PDF export::        Exporting to @LaTeX{}, and processing to PDF
+* @LaTeX{} and PDF export::     Exporting to @LaTeX{}, and processing to PDF
 * DocBook export::              Exporting to DocBook
-* OpenDocumentText export::     Exporting to OpenDocumentText
+* OpenDocument Text export::    Exporting to OpenDocument Text
 * TaskJuggler export::          Exporting to TaskJuggler
 * Freemind export::             Exporting to Freemind mind maps
 * XOXO export::                 Exporting to XOXO
@@ -9456,7 +9583,8 @@ enabled (default in Emacs 23).
 @cindex org-export-with-tasks
 You may use tags to select the parts of a document that should be exported,
 or to exclude parts from export.  This behavior is governed by two variables:
-@code{org-export-select-tags} and @code{org-export-exclude-tags}.
+@code{org-export-select-tags} and @code{org-export-exclude-tags},
+respectively defaulting to @code{'(:export:)} and @code{'(:noexport:)}.
 
 @enumerate
 @item
@@ -9517,10 +9645,11 @@ Insert template with export options, see example below.
 @vindex user-full-name
 @vindex user-mail-address
 @vindex org-export-default-language
+@vindex org-export-date-timestamp-format
 @example
 #+TITLE:       the title to be shown (default is the buffer name)
 #+AUTHOR:      the author (default taken from @code{user-full-name})
-#+DATE:        a date, fixed, or a format string for @code{format-time-string}
+#+DATE:        a date, an Org timestamp@footnote{@code{org-export-date-timestamp-format} defines how this timestamp will be exported.}, or a format string for @code{format-time-string}
 #+EMAIL:       his/her email address (default from @code{user-mail-address})
 #+DESCRIPTION: the page description, e.g.@: for the XHTML meta tag
 #+KEYWORDS:    the page keywords, e.g.@: for the XHTML meta tag
@@ -9528,19 +9657,19 @@ Insert template with export options, see example below.
 #+TEXT:        Some descriptive text to be inserted at the beginning.
 #+TEXT:        Several lines may be given.
 #+OPTIONS:     H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t f:t TeX:t ...
-#+BIND:        lisp-var lisp-val, e.g.@:: org-export-latex-low-levels itemize
+#+BIND:        lisp-var lisp-val, e.g.@:: @code{org-export-latex-low-levels itemize}
                @r{You need to confirm using these, or configure @code{org-export-allow-BIND}}
 #+LINK_UP:     the ``up'' link of an exported page
 #+LINK_HOME:   the ``home'' link of an exported page
-#+LATEX_HEADER: extra line(s) for the LaTeX header, like \usepackage@{xyz@}
+#+LATEX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@}
 #+EXPORT_SELECT_TAGS:   Tags that select a tree for export
 #+EXPORT_EXCLUDE_TAGS:  Tags that exclude a tree from export
 #+XSLT:        the XSLT stylesheet used by DocBook exporter to generate FO file
 @end example
 
 @noindent
-The OPTIONS line is a compact@footnote{If you want to configure many options
-this way, you can use several OPTIONS lines.} form to specify export
+The @code{#+OPTIONS} line is a compact@footnote{If you want to configure many options
+this way, you can use several @code{#+OPTIONS} lines.} form to specify export
 settings.  Here you can:
 @cindex headline levels
 @cindex section-numbers
@@ -9642,7 +9771,7 @@ not set, or force processing in the current Emacs process if set.
 @cindex Latin-1 export
 @cindex UTF-8 export
 
-ASCII export produces a simple and very readable version of an Org-mode
+ASCII export produces a simple and very readable version of an Org mode
 file, containing only plain ASCII.  Latin-1 and UTF-8 export augment the file
 with special characters and symbols available in these encodings.
 
@@ -9697,18 +9826,18 @@ Links will be exported in a footnote-like style, with the descriptive part in
 the text and the link in a note before the next heading.  See the variable
 @code{org-export-ascii-links-to-notes} for details and other options.
 
-@node HTML export, LaTeX and PDF export, ASCII/Latin-1/UTF-8 export, Exporting
+@node HTML export, @LaTeX{} and PDF export, ASCII/Latin-1/UTF-8 export, Exporting
 @section HTML export
 @cindex HTML export
 
-Org-mode contains an HTML (XHTML 1.0 strict) exporter with extensive
+Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive
 HTML formatting, in ways similar to John Gruber's @emph{markdown}
 language, but with additional support for tables.
 
 @menu
 * HTML Export commands::        How to invoke HTML export
 * HTML preamble and postamble::  How to insert a preamble and a postamble
-* Quoting HTML tags::           Using direct HTML in Org-mode
+* Quoting HTML tags::           Using direct HTML in Org mode
 * Links in HTML export::        How links will be interpreted and formatted
 * Tables in HTML export::       How to modify the formatting of tables
 * Images in HTML export::       How to insert figures into HTML output
@@ -9746,11 +9875,11 @@ the region.  This is good for cut-and-paste operations.
 @item C-c C-e v h/b/H/R
 Export only the visible part of the document.
 @item M-x org-export-region-as-html
-Convert the region to HTML under the assumption that it was Org-mode
+Convert the region to HTML under the assumption that it was Org mode
 syntax before.  This is a global command that can be invoked in any
 buffer.
 @item M-x org-replace-region-by-HTML
-Replace the active region (assumed to be in Org-mode syntax) by HTML
+Replace the active region (assumed to be in Org mode syntax) by HTML
 code.
 @end table
 
@@ -9852,7 +9981,7 @@ and @code{style} attributes for a link:
 
 @cindex #+ATTR_HTML
 @example
-#+ATTR_HTML: title="The Org-mode homepage" style="color:red;"
+#+ATTR_HTML: title="The Org mode homepage" style="color:red;"
 [[http://orgmode.org]]
 @end example
 
@@ -9861,7 +9990,7 @@ and @code{style} attributes for a link:
 @cindex tables, in HTML
 @vindex org-export-html-table-tag
 
-Org-mode tables are exported to HTML using the table tag defined in
+Org mode tables are exported to HTML using the table tag defined in
 @code{org-export-html-table-tag}.  The default setting makes tables without
 cell borders and frame.  If you would like to change this for individual
 tables, place something like the following before the table:
@@ -9870,7 +9999,7 @@ tables, place something like the following before the table:
 @cindex #+ATTR_HTML
 @example
 #+CAPTION: This is a table with lines around and between cells
-#+ATTR_HTML: border="2" rules="all" frame="all"
+#+ATTR_HTML: border="2" rules="all" frame="border"
 @end example
 
 @node Images in HTML export, Math formatting in HTML export, Tables in HTML export, HTML export
@@ -9915,11 +10044,11 @@ You could use @code{http} addresses just as well.
 @cindex MathJax
 @cindex dvipng
 
-@LaTeX{} math snippets (@pxref{LaTeX fragments}) can be displayed in two
+@LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two
 different ways on HTML pages.  The default is to use the
 @uref{http://www.mathjax.org, MathJax system} which should work out of the
 box with Org mode installation because @code{http://orgmode.org} serves
-@file{MathJax} for Org-mode users for small applications and for testing
+@file{MathJax} for Org mode users for small applications and for testing
 purposes.  @b{If you plan to use this regularly or on pages with significant
 page views, you should install@footnote{Installation instructions can be
 found on the MathJax website, see
@@ -9985,7 +10114,7 @@ addition to any of the standard classes like for headlines, tables, etc.
 @example
 p.author            @r{author information, including email}
 p.date              @r{publishing date}
-p.creator           @r{creator info, about org-mode version}
+p.creator           @r{creator info, about org mode version}
 .title              @r{document title}
 .todo               @r{TODO keywords, all not-done states}
 .done               @r{the DONE keywords, all states that count as done}
@@ -10111,16 +10240,16 @@ You can choose default values for these options by customizing the variable
 @code{org-infojs-options}.  If you always want to apply the script to your
 pages, configure the variable @code{org-export-html-use-infojs}.
 
-@node LaTeX and PDF export, DocBook export, HTML export, Exporting
+@node @LaTeX{} and PDF export, DocBook export, HTML export, Exporting
 @section @LaTeX{} and PDF export
 @cindex @LaTeX{} export
 @cindex PDF export
 @cindex Guerry, Bastien
 
-Org-mode contains a @LaTeX{} exporter written by Bastien Guerry.  With
-further processing@footnote{The default LaTeX output is designed for
-processing with pdftex or latex.  It includes packages that are not
-compatible with xetex and possibly luatex.  See the variables
+Org mode contains a @LaTeX{} exporter written by Bastien Guerry.  With
+further processing@footnote{The default @LaTeX{} output is designed for
+processing with @code{pdftex} or @LaTeX{}.  It includes packages that are not
+compatible with @code{xetex} and possibly @code{luatex}.  See the variables
 @code{org-export-latex-default-packages-alist} and
 @code{org-export-latex-packages-alist}.}, this backend is also used to
 produce PDF output.  Since the @LaTeX{} output uses @file{hyperref} to
@@ -10130,15 +10259,15 @@ structured in order to be correctly exported: respect the hierarchy of
 sections.
 
 @menu
-* LaTeX/PDF export commands::   Which key invokes which commands
+* @LaTeX{}/PDF export commands::
 * Header and sectioning::       Setting up the export file structure
-* Quoting LaTeX code::          Incorporating literal @LaTeX{} code
-* Tables in LaTeX export::      Options for exporting tables to @LaTeX{}
-* Images in LaTeX export::      How to insert figures into @LaTeX{} output
+* Quoting @LaTeX{} code::       Incorporating literal @LaTeX{} code
+* Tables in @LaTeX{} export::   Options for exporting tables to @LaTeX{}
+* Images in @LaTeX{} export::   How to insert figures into @LaTeX{} output
 * Beamer class export::         Turning the file into a presentation
 @end menu
 
-@node LaTeX/PDF export commands, Header and sectioning, LaTeX and PDF export, LaTeX and PDF export
+@node @LaTeX{}/PDF export commands, Header and sectioning, @LaTeX{} and PDF export, @LaTeX{} and PDF export
 @subsection @LaTeX{} export commands
 
 @cindex region, active
@@ -10160,11 +10289,11 @@ Export to a temporary buffer.  Do not create a file.
 @item C-c C-e v l/L
 Export only the visible part of the document.
 @item M-x org-export-region-as-latex
-Convert the region to @LaTeX{} under the assumption that it was Org-mode
+Convert the region to @LaTeX{} under the assumption that it was Org mode
 syntax before.  This is a global command that can be invoked in any
 buffer.
 @item M-x org-replace-region-by-latex
-Replace the active region (assumed to be in Org-mode syntax) by @LaTeX{}
+Replace the active region (assumed to be in Org mode syntax) by @LaTeX{}
 code.
 @orgcmd{C-c C-e p,org-export-as-pdf}
 Export as @LaTeX{} and then process to PDF.
@@ -10190,13 +10319,13 @@ with a numeric prefix argument.  For example,
 @noindent
 creates two levels of headings and does the rest as items.
 
-@node Header and sectioning, Quoting LaTeX code, LaTeX/PDF export commands, LaTeX and PDF export
+@node Header and sectioning, Quoting @LaTeX{} code, @LaTeX{}/PDF export commands, @LaTeX{} and PDF export
 @subsection Header and sectioning structure
 @cindex @LaTeX{} class
 @cindex @LaTeX{} sectioning structure
 @cindex @LaTeX{} header
-@cindex header, for LaTeX files
-@cindex sectioning structure, for LaTeX export
+@cindex header, for @LaTeX{} files
+@cindex sectioning structure, for @LaTeX{} export
 
 By default, the @LaTeX{} output uses the class @code{article}.
 
@@ -10224,10 +10353,10 @@ can also use @code{#+LATEX_HEADER: \usepackage@{xyz@}} to add lines to the
 header.  See the docstring of @code{org-export-latex-classes} for more
 information.
 
-@node Quoting LaTeX code, Tables in LaTeX export, Header and sectioning, LaTeX and PDF export
+@node Quoting @LaTeX{} code, Tables in @LaTeX{} export, Header and sectioning, @LaTeX{} and PDF export
 @subsection Quoting @LaTeX{} code
 
-Embedded @LaTeX{} as described in @ref{Embedded LaTeX}, will be correctly
+Embedded @LaTeX{} as described in @ref{Embedded @LaTeX{}}, will be correctly
 inserted into the @LaTeX{} file.  This includes simple macros like
 @samp{\ref@{LABEL@}} to create a cross reference to a figure.  Furthermore,
 you can add special code that should only be present in @LaTeX{} export with
@@ -10236,7 +10365,7 @@ the following constructs:
 @cindex #+LaTeX
 @cindex #+BEGIN_LaTeX
 @example
-#+LaTeX: Literal LaTeX code for export
+#+LaTeX: Literal @LaTeX{} code for export
 @end example
 
 @noindent or
@@ -10249,7 +10378,7 @@ All lines between these markers are exported literally
 @end example
 
 
-@node Tables in LaTeX export, Images in LaTeX export, Quoting LaTeX code, LaTeX and PDF export
+@node Tables in @LaTeX{} export, Images in @LaTeX{} export, Quoting @LaTeX{} code, @LaTeX{} and PDF export
 @subsection Tables in @LaTeX{} export
 @cindex tables, in @LaTeX{} export
 
@@ -10286,7 +10415,7 @@ or to specify a multicolumn table with @code{tabulary}
 | ..... | ..... |
 @end example
 
-@node Images in LaTeX export, Beamer class export, Tables in LaTeX export, LaTeX and PDF export
+@node Images in @LaTeX{} export, Beamer class export, Tables in @LaTeX{} export, @LaTeX{} and PDF export
 @subsection Images in @LaTeX{} export
 @cindex images, inline in @LaTeX{}
 @cindex inlining images in @LaTeX{}
@@ -10337,14 +10466,14 @@ will export the image wrapped in a @code{figure*} environment.
 If you need references to a label created in this way, write
 @samp{\ref@{fig:SED-HR4049@}} just like in @LaTeX{}.
 
-@node Beamer class export,  , Images in LaTeX export, LaTeX and PDF export
+@node Beamer class export,  , Images in @LaTeX{} export, @LaTeX{} and PDF export
 @subsection Beamer class export
 
-The LaTeX class @file{beamer} allows production of high quality presentations
-using LaTeX and pdf processing.  Org-mode has special support for turning an
-Org-mode file or tree into a @file{beamer} presentation.
+The @LaTeX{} class @file{beamer} allows production of high quality presentations
+using @LaTeX{} and pdf processing.  Org mode has special support for turning an
+Org mode file or tree into a @file{beamer} presentation.
 
-When the LaTeX class for the current buffer (as set with @code{#+LaTeX_CLASS:
+When the @LaTeX{} class for the current buffer (as set with @code{#+LaTeX_CLASS:
 beamer}) or subtree (set with a @code{LaTeX_CLASS} property) is
 @code{beamer}, a special export mode will turn the file or tree into a beamer
 presentation.  Any tree with not-too-deep level nesting should in principle be
@@ -10464,7 +10593,7 @@ Here is a simple example Org document that is intended for beamer export.
 
 For more information, see the documentation on Worg.
 
-@node DocBook export, OpenDocumentText export, LaTeX and PDF export, Exporting
+@node DocBook export, OpenDocument Text export, @LaTeX{} and PDF export, Exporting
 @section DocBook export
 @cindex DocBook export
 @cindex PDF export
@@ -10620,7 +10749,7 @@ set:
 @cindex #+LABEL
 @cindex #+ATTR_DOCBOOK
 @example
-#+CAPTION:    The logo of Org-mode
+#+CAPTION:    The logo of Org mode
 #+LABEL:      unicorn-svg
 #+ATTR_DOCBOOK: scalefit="1" width="100%" depth="100%"
 [[./img/org-mode-unicorn.svg]]
@@ -10663,39 +10792,46 @@ special characters included in XHTML entities:
 
 @c begin opendocument
 
-@node OpenDocumentText export, TaskJuggler export, DocBook export, Exporting
-@section OpenDocumentText export
-@cindex OpenDocumentText export
+@node OpenDocument Text export, TaskJuggler export, DocBook export, Exporting
+@section OpenDocument Text export
 @cindex K, Jambunathan
-
-Org-mode 7.6 supports export to OpenDocumentText format using
-@file{org-odt.el} module contributed by Jambunathan K.  This module can be
-enabled in one of the following ways based on your mode of installation.
-
-@enumerate
-@item
-If you have downloaded the Org from the Web, either as a distribution
-@file{.zip} or @file{.tar} file, or as a Git archive, enable the @code{odt}
-option in variable @code{org-modules}.
-@item
-If you are using Org that comes bundled with Emacs, then you can install the
-OpenDocumentText exporter using the package manager.  To do this, customize
-the variable @code{package-archives} to include
-@uref{http://orgmode.org/pkg/releases/} as one of the package archives.
-@end enumerate
+@cindex ODT
+@cindex OpenDocument
+@cindex export, OpenDocument
+@cindex LibreOffice
+@cindex org-odt.el
+@cindex org-modules
+
+Orgmode@footnote{Versions 7.8 or later} supports export to OpenDocument Text
+(@acronym{ODT}) format using the @file{org-odt.el} module.  Documents created
+by this exporter use the @cite{OpenDocument-v1.2
+specification}@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html,
+Open Document Format for Office Applications (OpenDocument) Version 1.2}} and
+are compatible with LibreOffice 3.4.
 
 @menu
-* OpenDocumentText export commands::How to invoke OpenDocumentText export
-* Applying Custom Styles::      How to apply custom styles to the output
-* Converting to Other formats:: How to convert to formats like doc, docx etc
-* Links in OpenDocumentText export::  How links will be interpreted and formatted
-* Tables in OpenDocumentText export::    Tables are exported as HTML tables
-* Images in OpenDocumentText export::    How to insert figures into DocBook output
-* Additional Documentation::    Where to find more information
+* Pre-requisites for @acronym{ODT} export::  What packages @acronym{ODT} exporter relies on
+* @acronym{ODT} export commands::  How to invoke @acronym{ODT} export
+* Applying custom styles::      How to apply custom styles to the output
+* Links in @acronym{ODT} export::  How links will be interpreted and formatted
+* Tables in @acronym{ODT} export::  How Tables are exported
+* Images in @acronym{ODT} export::  How to insert images
+* Math formatting in @acronym{ODT} export::  How @LaTeX{} fragments are formatted
+* Literal examples in @acronym{ODT} export::  How source and example blocks are formatted
+* Advanced topics in @acronym{ODT} export::  Read this if you are a power user
 @end menu
 
-@node OpenDocumentText export commands, Applying Custom Styles, OpenDocumentText export, OpenDocumentText export
-@subsection OpenDocumentText export commands
+@node Pre-requisites for @acronym{ODT} export, @acronym{ODT} export commands, OpenDocument Text export, OpenDocument Text export
+@subsection Pre-requisites for @acronym{ODT} export
+@cindex zip
+The @acronym{ODT} exporter relies on the @file{zip} program to create the final
+output.  Check the availability of this program before proceeding further.
+
+@node @acronym{ODT} export commands, Applying custom styles, Pre-requisites for @acronym{ODT} export, OpenDocument Text export
+@subsection @acronym{ODT} export commands
+
+@subsubheading Exporting to @acronym{ODT}
+@anchor{x-export-to-odt}
 
 @cindex region, active
 @cindex active region
@@ -10703,113 +10839,791 @@ the variable @code{package-archives} to include
 @table @kbd
 @orgcmd{C-c C-e o,org-export-as-odt}
 @cindex property EXPORT_FILE_NAME
-Export as OpenDocumentText file.  For an Org file, @file{myfile.org}, the
-OpenDocumentText file will be @file{myfile.odt}.  The file will be
-overwritten without warning.  If there is an active region@footnote{This
-requires @code{transient-mark-mode} to be turned on}, only the region will be
-exported.  If the selected region is a single tree@footnote{To select the
-current subtree, use @kbd{C-c @@}.}, the tree head will become the document
-title.  If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME}
-property, that name will be used for the export.
+
+Export as OpenDocument Text file.
+@vindex org-export-odt-preferred-output-format
+If @code{org-export-odt-preferred-output-format} is specified, automatically
+convert the exported file to that format.
+@xref{x-export-to-other-formats,,Automatically exporting to other formats}.
+
+For an Org file @file{myfile.org}, the @acronym{ODT} file will be
+@file{myfile.odt}.  The file will be overwritten without warning.  If there
+is an active region,@footnote{This requires @code{transient-mark-mode} to be
+turned on} only the region will be exported.  If the selected region is a
+single tree,@footnote{To select the current subtree, use @kbd{C-c @@}} the
+tree head will become the document title.  If the tree head entry has, or
+inherits, an @code{EXPORT_FILE_NAME} property, that name will be used for the
+export.
+
 @orgcmd{C-c C-e O,org-export-as-odt-and-open}
-Export as OpenDocumentText file and open the resulting file.
+Export as OpenDocument Text file and open the resulting file.
+@vindex org-export-odt-preferred-output-format
+If @code{org-export-odt-preferred-output-format} is specified, open the
+converted file instead.
+@xref{x-export-to-other-formats,,Automatically exporting to other formats}.
 @end table
 
-@node Applying Custom Styles, Converting to Other formats, OpenDocumentText export commands, OpenDocumentText export
-@subsection Applying Custom Styles
+@subsubheading Automatically exporting to other formats
+@anchor{x-export-to-other-formats}
+@vindex org-export-odt-preferred-output-format
+Very often, you will find yourself exporting to @acronym{ODT} format, only to
+immediately save the exported document to a different format like @samp{pdf}.
+In such cases, you will find it convenient to configure a converter
+(@pxref{Exporting and converting to other formats}) and specify your
+preferred output format by customizing the variable
+@code{org-export-odt-preferred-output-format}.  This way, the export commands
+(@pxref{x-export-to-odt,,Exporting to ODT}) can be extended to also export to
+the preferred format.
+
+@node Applying custom styles, Links in @acronym{ODT} export, @acronym{ODT} export commands, OpenDocument Text export
+@subsection Applying custom styles
 @cindex styles, custom
 @cindex template, custom
 
-@vindex org-export-odt-styles-file
+The @acronym{ODT} exporter ships with a set of OpenDocument styles
+(@pxref{Working with OpenDocument style files}) that ensure a well-formatted
+output.  These factory styles, however, may not cater to your specific
+tastes.  To customize the output, you can either modify the above styles
+files directly, or generate the required styles using an application like
+LibreOffice.  The latter method is suitable for expert and non-expert
+users alike, and is described here.
 
-OpenDocumentExporter ships with a custom @file{styles.xml} for formatting of
-the exported file.  To customize the output to suit your needs you can use
-one of the following methods:
+@subsubsection Applying custom styles - the easy way
 
 @enumerate
 @item
-Customize the variable @code{org-export-odt-styles-file} to point to either a
-@file{styles.xml} file, a OpenDocument Text Template file @code{.ott} or a
-combination of Text or Template Document together with a set of member files.
-Use the first two options if the styles.xml has no references to additional
-set of files and use the last option if the @file{styles.xml} references
-additional files like header and footer images.
+Create a sample @file{example.org} file with the below settings and export it
+to @acronym{ODT} format.
+
+@example
+#+OPTIONS: H:10 num:t
+@end example
+
+@item
+Open the above @file{example.odt} using LibreOffice.  Use the @file{Stylist}
+to locate the target styles - these typically have the @samp{Org} prefix -
+and modify those to your taste.  Save the modified file either as an
+OpenDocument Text (@file{.odt}) or OpenDocument Template (@file{.ott}) file.
+
 @item
-Use an external tool like unoconv to apply custom templates.
+@cindex #+ODT_STYLES_FILE
+@vindex org-export-odt-styles-file
+Customize the variable @code{org-export-odt-styles-file} and point it to the
+newly created file.  For additional configuration options
+@pxref{x-overriding-factory-styles,,Overriding factory styles}.
+
+If you would like to choose a style on a per-file basis, you can use the
+@code{#+ODT_STYLES_FILE} option.  A typical setting will look like
+
+@example
+#+ODT_STYLES_FILE: "/path/to/example.ott"
+@end example
+
+or
+
+@example
+#+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png"))
+@end example
+
 @end enumerate
 
-For best results, it is necessary that the style names used by
-OpenDocumentText exporter match that used in the @file{styles.xml}.
+@subsubsection Using third-party styles and templates
+
+You can use third-party styles and templates for customizing your output.
+This will produce the desired output only if the template provides all
+style names that the @samp{ODT} exporter relies on.  Unless this condition is
+met, the output is going to be less than satisfactory.  So it is highly
+recommended that you only work with templates that are directly derived from
+the factory settings.
+
+@node Links in @acronym{ODT} export, Tables in @acronym{ODT} export, Applying custom styles, OpenDocument Text export
+@subsection Links in @acronym{ODT} export
+@cindex tables, in DocBook export
+
+The @acronym{ODT} exporter creates cross-references (aka bookmarks) for
+internal links.  It creates Internet-style links for all other links.
+
+@node Tables in @acronym{ODT} export, Images in @acronym{ODT} export, Links in @acronym{ODT} export, OpenDocument Text export
+@subsection Tables in @acronym{ODT} export
+@cindex tables, in DocBook export
 
-@node Converting to Other formats, Links in OpenDocumentText export, Applying Custom Styles, OpenDocumentText export
-@subsection Converting to Other formats
+Export of native Org mode tables (@pxref{Tables}) and simple @file{table.el}
+tables is supported.  However, export of complex @file{table.el} tables -
+tables that have column or row spans - is not supported.  Such tables are
+stripped from the exported document.
 
+By default, a table is exported with top and bottom frames and with
+rules separating row and column groups (@pxref{Column groups}).  If the table
+specifies alignment and relative width for its columns (@pxref{Column width
+and alignment}) then these are honored on export.@footnote{The column widths
+are interpreted as weighted ratios with the default weight being 1}
+
+@cindex #+ATTR_ODT
+If you are not satisfied with the default formatting of tables, you can
+create custom table styles and associate them with a table using
+the @code{#+ATTR_ODT} line.  @xref{Customizing tables in @acronym{ODT} export}.
+
+@node Images in @acronym{ODT} export, Math formatting in @acronym{ODT} export, Tables in @acronym{ODT} export, OpenDocument Text export
+@subsection Images in @acronym{ODT} export
+@cindex images, embedding in @acronym{ODT}
+@cindex embedding images in @acronym{ODT}
+
+@subsubheading Embedding images
+You can embed images within the exported document by providing a link to the
+desired image file with no link description.  For example, to embed
+@samp{img.png} do either of the following:
+
+@example
+[[file:img.png]]
+@end example
+
+@example
+[[./img.png]]
+@end example
+
+@subsubheading Embedding clickable images
+You can create clickable images by providing a link whose description is a
+link to an image file.  For example, to embed a image
+@file{org-mode-unicorn.png} which when clicked jumps to
+@uref{http://Orgmode.org} website, do the following
+
+@example
+[[http://orgmode.org][./org-mode-unicorn.png]]
+@end example
+
+@subsubheading Sizing and scaling of embedded images
+
+You can control the size and scale of the embedded images using the
+@code{#+ATTR_ODT} attribute.
+
+@vindex org-export-odt-pixels-per-inch
+Note that the exporter specifies the desired size of the image in the final
+document in units of centimetres.  In order to scale the embedded images, the
+exporter needs to compute the size of the image.  This is done by retrieving
+the image size in pixels and converting the pixel units to centimetres using
+@code{org-export-odt-pixels-per-inch}.  The default value of this variable is
+set to @code{display-pixels-per-inch}.  You can tweak this variable to
+achieve the best results.
+
+The examples below illustrate the various possibilities.
+
+@table @asis
+
+@item Explicitly size the image
+To embed @file{img.png} as a 10 cm x 10 cm image, do the following:
+
+@example
+#+ATTR_ODT: :width 10 :height 10
+[[./img.png]]
+@end example
+
+@item Scale the image
+To embed @file{img.png} at half its size, do the following:
+
+@example
+#+ATTR_ODT: :scale 0.5
+[[./img.png]]
+@end example
+
+@item Scale the image to a specific width
+To embed @file{img.png} with a width of 10 cm while retaining the original
+height:width ratio, do the following:
+
+@example
+#+ATTR_ODT: :width 10
+[[./img.png]]
+@end example
+
+@item Scale the image to a specific height
+To embed @file{img.png} with a height of 10 cm while retaining the original
+height:width ratio, do the following
+
+@example
+#+ATTR_ODT: :height 10
+[[./img.png]]
+@end example
+@end table
+
+@node Math formatting in @acronym{ODT} export, Literal examples in @acronym{ODT} export, Images in @acronym{ODT} export, OpenDocument Text export
+@subsection Math formatting in @acronym{ODT} export
+
+The @acronym{ODT} exporter has special support for handling math.
+
+@menu
+* Working with @LaTeX{} math snippets::  How to embed @LaTeX{} math fragments
+* Working with MathML or OpenDocument formula files::  How to embed equations in native format
+@end menu
+
+@node Working with @LaTeX{} math snippets, Working with MathML or OpenDocument formula files, Math formatting in @acronym{ODT} export, Math formatting in @acronym{ODT} export
+@subsubsection Working with @LaTeX{} math snippets
+
+@LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be embedded in the ODT
+document in one of the following ways:
+
+@cindex MathML
+@enumerate
+@item MathML
+
+This option is activated on a per-file basis with
+
+@example
+#+OPTIONS: LaTeX:t
+@end example
+
+With this option, @LaTeX{} fragments are first converted into MathML
+fragments using an external @LaTeX{}-to-MathML converter program.  The
+resulting MathML fragments are then embedded as an OpenDocument Formula in
+the exported document.
+
+@vindex org-latex-to-mathml-convert-command
+@vindex org-latex-to-mathml-jar-file
+
+You can specify the @LaTeX{}-to-MathML converter by customizing the variables
+@code{org-latex-to-mathml-convert-command} and
+@code{org-latex-to-mathml-jar-file}.
+
+If you prefer to use @file{MathToWeb}@footnote{See
+@uref{http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl, MathToWeb}} as your
+converter, you can configure the above variables as shown below.
+
+@lisp
+(setq org-latex-to-mathml-convert-command
+      "java -jar %j -unicode -force -df %o %I"
+      org-latex-to-mathml-jar-file
+      "/path/to/mathtoweb.jar")
+@end lisp
+
+You can use the following commands to quickly verify the reliability of
+the @LaTeX{}-to-MathML converter.
+
+@table @kbd
+
+@item M-x org-export-as-odf
+Convert a @LaTeX{} math snippet to OpenDocument formula (@file{.odf}) file.
+
+@item M-x org-export-as-odf-and-open
+Convert a @LaTeX{} math snippet to OpenDocument formula (@file{.odf}) file and
+open the formula file with the system-registered application.
+@end table
+
+@cindex dvipng
+@item PNG images
+
+This option is activated on a per-file basis with
+
+@example
+#+OPTIONS: LaTeX:dvipng
+@end example
+
+With this option, @LaTeX{} fragments are processed into PNG images and the
+resulting images are embedded in the exported document.  This method requires
+that the @file{dvipng} program be available on your system.
+@end enumerate
+
+@node Working with MathML or OpenDocument formula files,  , Working with @LaTeX{} math snippets, Math formatting in @acronym{ODT} export
+@subsubsection Working with MathML or OpenDocument formula files
+
+For various reasons, you may find embedding @LaTeX{} math snippets in an
+@acronym{ODT} document less than reliable.  In that case, you can embed a
+math equation by linking to its MathML(@file{.mml}) source or its
+OpenDocument formula (@file{.odf}) file as shown below:
+
+@example
+[[./equation.mml]]
+@end example
+
+or
+
+@example
+[[./equation.odf]]
+@end example
+
+@node Literal examples in @acronym{ODT} export, Advanced topics in @acronym{ODT} export, Math formatting in @acronym{ODT} export, OpenDocument Text export
+@subsection Literal examples in @acronym{ODT} export
+
+Export of literal examples (@pxref{Literal examples}) with full fontification
+is supported.  This feature is enabled by default and is activated
+automatically if an enhanced version of @file{htmlfontify.el} is available in
+the @code{load-path}.@footnote{The @file{htmlfontify.el} that ships with
+standard Emacs <= 24.1 has no support for @acronym{ODT} fontification.  A
+copy of the proposed version is available as an attachment to
+@url{http://debbugs.gnu.org/cgi/bugreport.cgi?msg=5;filename=htmlfontify.el;att=9;bug=9914,
+Emacs Bug #9914}.}
+
+@vindex org-export-odt-fontify-srcblocks
+
+The character styles used for fontification of the literal blocks are
+auto-generated by the exporter in conjunction with @file{htmlfontify.el}
+library and need not be included in the default @file{styles.xml} file.
+These auto-generated styles have the @samp{OrgSrc} prefix and inherit their color
+based on the face used by Emacs @code{font-lock} library.
+
+@vindex org-export-odt-create-custom-styles-for-srcblocks
+If you prefer to use your own custom styles for fontification and disable
+their auto-generation altogether, you can do so by customizing the variable
+@code{org-export-odt-create-custom-styles-for-srcblocks}.
+
+You can turn off fontification support for literal examples by customizing
+the variable @code{org-export-odt-fontify-srcblocks}.
+
+
+@node Advanced topics in @acronym{ODT} export,  , Literal examples in @acronym{ODT} export, OpenDocument Text export
+@subsection Advanced topics in @acronym{ODT} export
+
+If you rely heavily on @acronym{ODT} export, you may want to exploit the full
+set of features that the exporter offers.  This section describes features
+that would be of interest to power users.
+
+@menu
+* Exporting and converting to other formats::  How to produce @samp{pdf} and other formats
+* Working with OpenDocument style files::  Explore the internals
+* Creating one-off styles::     How to produce custom highlighting etc
+* Customizing tables in @acronym{ODT} export::  How to define and use Table templates
+* Validating OpenDocument XML::  How to debug corrupt OpenDocument files
+@end menu
+
+@node Exporting and converting to other formats, Working with OpenDocument style files, Advanced topics in @acronym{ODT} export, Advanced topics in @acronym{ODT} export
+@subsubsection Exporting and converting to other formats
 @cindex convert
 @cindex doc, docx
 
-@vindex org-export-odt-styles-file
-
-Often times there is a need to convert OpenDocumentText files to other
-formats like doc, docx or pdf.  You can accomplish this by one of the
-following methods:
+The @acronym{ODT} exporter adds support for exporting Org outlines to formats
+that are not supported natively by Org.  It also adds support to convert
+document from one format to another.  To use these features, you need to
+configure a command-line converter.  Once a command-line converter is
+configured you can use it to extend the list of formats to which Org can
+export.  @xref{x-export-to-other-formats,,Automatically exporting to other
+formats}.  You can also use it to perform one-off document conversion as
+detailed below.
 
+@vindex org-export-odt-convert
 @table @kbd
-@item M-x org-lparse
-Export the outline first to one of the native formats (like OpenDocumentText)
-and immediately post-process it to other formats using an external converter.
 
-@item M-x org-lparse-convert
-Export an existing document to other formats using an external converter.
+@item M-x org-export-odt-convert
+Convert an existing document from one format to another as determined by the
+variable @code{org-export-odt-convert-capabilities}
+(@pxref{x-odt-converter-capabilities,,Configure converter
+capabilities}).  @strong{Please note} that you can use this command to even
+convert documents that are produced outside of Org and in other formats than
+@acronym{ODT} format.
 @end table
 
-You can choose the converter used for conversion by customizing the variable
-@code{org-lparse-convert-process}.
+@subsubheading Pre-configured converters
 
-@node Links in OpenDocumentText export, Tables in OpenDocumentText export, Converting to Other formats, OpenDocumentText export
-@subsection Links in OpenDocumentText export
-@cindex tables, in DocBook export
+@cindex converter
+The @acronym{ODT} exporter supports two converters out of the box:
 
-OpenDocumentExporter creates cross-references (aka bookmarks) for links that
-are destined locally.  It creates internet style links for all other links.
+@enumerate
 
-@node Tables in OpenDocumentText export, Images in OpenDocumentText export, Links in OpenDocumentText export, OpenDocumentText export
-@subsection Tables in OpenDocumentText export
-@cindex tables, in DocBook export
+@cindex @file{unoconv}
+@item @file{unoconv}
 
-Export of @file{table.el} tables with row or column spanning is not
-supported.  Such tables are stripped from the exported document.
+This converter is available as an installable package in your favorite
+distribution.
 
-@node Images in OpenDocumentText export, Additional Documentation, Tables in OpenDocumentText export, OpenDocumentText export
-@subsection Images in OpenDocumentText export
-@cindex images, embedding in OpenDocumentText
-@cindex embedding images in OpenDocumentText
+@cindex @file{BasicODConverter}
+@item @file{BasicODConverter}
 
-OpenDocumentText exporter can embed images within the exported document.  To
-embed images, provide a link to the desired image file with no link
-description.  For example, the following links @samp{[[file:img.jpg]]} or
-@samp{[[./img.jpg]]}, will result in embedding of @samp{img.jpg} in the
-exported file.
+@vindex org-odt-data-dir
+This converter is distributed as a LibreOffice extension and can be found in
+your Org distribution.  See the subdirectory pointed to by the variable
+@code{org-odt-data-dir}.
 
-The exporter can also embed scaled and explicitly sized images within the
-exported document.  The markup of the scale and size specifications has not
-been standardized yet and is hence conveniently skipped in this document.
+@end enumerate
+
+@subsubheading Installing a new converter
+If you prefer to use a converter other than the two mentioned above, then you
+may have to do additional configuration.  You can proceed as follows:
+
+@enumerate
+@item Register the converter
+
+@vindex org-export-odt-convert-processes
+Name your converter and add it to the list of known converters by customizing
+the variable @code{org-export-odt-convert-processes}.  Also specify how the
+converter can be invoked via command-line to effect the conversion.
+
+@item Configure its capabilities
+@vindex org-export-odt-convert-capabilities
 
-The exporter can also make an image the clickable part of a link.  To create
-clickable images, provide a link whose description is a link to an image
-file.  For example, the following link
-@samp{[[http://orgmode.org][./img.jpg]]}, will result in a clickable image
-that links to @uref{http://Orgmode.org} website.
+@anchor{x-odt-converter-capabilities}
 
-@node Additional Documentation, , Images in OpenDocumentText export, OpenDocumentText export
-@subsection Additional documentation
+Specify the set of formats the converter can handle by customizing the
+variable @code{org-export-odt-convert-capabilities}.  Use the default value
+for this variable as a guide for configuring your converter.  As suggested by
+the default setting, you can specify the full set of formats supported by the
+converter and not limit yourself to specifying formats that are related to
+just the OpenDocument Text format.
+
+@item Choose the converter
+
+@vindex org-export-odt-convert-process
+Select the newly added converter as the preferred one by customizing the
+variable @code{org-export-odt-convert-process}.
+@end enumerate
+
+@node Working with OpenDocument style files, Creating one-off styles, Exporting and converting to other formats, Advanced topics in @acronym{ODT} export
+@subsubsection Working with OpenDocument style files
+@cindex styles, custom
+@cindex template, custom
 
-The OpenDocumentText exporter is still in development.  For up to date
-information, please follow Org mailing list @email{emacs-orgmode@@gnu.org}
-closely.
+This section explores the internals of the @acronym{ODT} exporter and the
+means by which it produces styled documents.  Read this section if you are
+interested in exploring the automatic and custom OpenDocument styles used by
+the exporter.
+
+@anchor{x-factory-styles}
+@subsubheading Factory styles
+
+The @acronym{ODT} exporter relies on two files for generating its output.
+These files are bundled with the distribution under the directory pointed to
+by the variable @code{org-odt-styles-dir}.  The two files are:
+
+@itemize
+@anchor{x-orgodtstyles-xml}
+@item
+@file{OrgOdtStyles.xml}
+
+This file contributes to the @file{styles.xml} file of the final @samp{ODT}
+document.  This file gets modified for the following purposes:
+@enumerate
+
+@item
+To control outline numbering based on user settings.
+
+@item
+To add styles generated by @file{htmlfontify.el} for fontification of code
+blocks.
+@end enumerate
+
+@anchor{x-orgodtcontenttemplate-xml}
+@item
+@file{OrgOdtContentTemplate.xml}
+
+This file contributes to the @file{content.xml} file of the final @samp{ODT}
+document.  The contents of the Org outline are inserted between the
+@samp{<office:text>}@dots{}@samp{</office:text>} elements of this file.
+
+Apart from serving as a template file for the final @file{content.xml}, the
+file serves the following purposes:
+@enumerate
+
+@item
+It contains automatic styles for formatting of tables which are referenced by
+the exporter.
+
+@item
+It contains @samp{<text:sequence-decl>}@dots{}@samp{</text:sequence-decl>}
+elements that control how various entities - tables, images, equations etc -
+are numbered.
+@end enumerate
+@end itemize
+
+@anchor{x-overriding-factory-styles}
+@subsubheading Overriding factory styles
+The following two variables control the location from which the @acronym{ODT}
+exporter picks up the custom styles and content template files.  You can
+customize these variables to override the factory styles used by the
+exporter.
+
+@itemize
+@anchor{x-org-export-odt-styles-file}
+@item
+@code{org-export-odt-styles-file}
+
+Use this variable to specify the @file{styles.xml} that will be used in the
+final output.  You can specify one of the following values:
+
+@enumerate
+@item A @file{styles.xml} file
+
+Use this file instead of the default @file{styles.xml}
+
+@item A @file{.odt} or @file{.ott} file
+
+Use the @file{styles.xml} contained in the specified OpenDocument Text or
+Template file
+
+@item A @file{.odt} or @file{.ott} file and a subset of files contained within them
+
+Use the @file{styles.xml} contained in the specified OpenDocument Text or
+Template file.  Additionally extract the specified member files and embed
+those within the final @samp{ODT} document.
+
+Use this option if the @file{styles.xml} file references additional files
+like header and footer images.
+
+@item @code{nil}
+
+Use the default @file{styles.xml}
+@end enumerate
+
+@anchor{x-org-export-odt-content-template-file}
+@item
+@code{org-export-odt-content-template-file}
+
+Use this variable to specify the blank @file{content.xml} that will be used
+in the final output.
+@end itemize
+
+@node Creating one-off styles, Customizing tables in @acronym{ODT} export, Working with OpenDocument style files, Advanced topics in @acronym{ODT} export
+@subsubsection Creating one-off styles
+
+There are times when you would want one-off formatting in the exported
+document.  You can achieve this by embedding raw OpenDocument XML in the Org
+file.  The use of this feature is better illustrated with couple of examples.
+
+@enumerate
+@item Embedding ODT tags as part of regular text
+
+You can include simple OpenDocument tags by prefixing them with
+@samp{@@}.  For example, to highlight a region of text do the following:
+
+@example
+@@<text:span text:style-name="Highlight">This is a
+highlighted text@@</text:span>.  But this is a
+regular text.
+@end example
+
+@strong{Hint:} To see the above example in action, edit your
+@file{styles.xml}(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
+custom @samp{Highlight} style as shown below.
+
+@example
+<style:style style:name="Highlight" style:family="text">
+  <style:text-properties fo:background-color="#ff0000"/>
+</style:style>
+@end example
+
+@item Embedding a one-line OpenDocument XML
+
+You can add a simple OpenDocument one-liner using the @code{#+ODT:}
+directive.  For example, to force a page break do the following:
+
+@example
+#+ODT: <text:p text:style-name="PageBreak"/>
+@end example
+
+@strong{Hint:} To see the above example in action, edit your
+@file{styles.xml}(@pxref{x-orgodtstyles-xml,,Factory styles}) and add a
+custom @samp{PageBreak} style as shown below.
+
+@example
+<style:style style:name="PageBreak" style:family="paragraph"
+            style:parent-style-name="Text_20_body">
+  <style:paragraph-properties fo:break-before="page"/>
+</style:style>
+@end example
+
+@item Embedding a block of OpenDocument XML
+
+You can add a large block of OpenDocument XML using the
+@code{#+BEGIN_ODT}@dots{}@code{#+END_ODT} construct.
+
+For example, to create a one-off paragraph that uses bold text, do the
+following:
+
+@example
+#+BEGIN_ODT
+<text:p text:style-name="Text_20_body_20_bold">
+This paragraph is specially formatted and uses bold text.
+</text:p>
+#+END_ODT
+@end example
+
+@end enumerate
+
+@node Customizing tables in @acronym{ODT} export, Validating OpenDocument XML, Creating one-off styles, Advanced topics in @acronym{ODT} export
+@subsubsection Customizing tables in @acronym{ODT} export
+@cindex tables, in ODT export
+
+@cindex #+ATTR_ODT
+You can override the default formatting of the table by specifying a custom
+table style with the @code{#+ATTR_ODT} line.  For a discussion on default
+formatting of tables @pxref{Tables in @acronym{ODT} export}.
+
+This feature closely mimics the way table templates are defined in the
+OpenDocument-v1.2
+specification.@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html,
+OpenDocument-v1.2 Specification}}
+
+
+
+@subsubheading Custom table styles - an illustration
+
+To have a quick preview of this feature, install the below setting and export
+the table that follows.
+
+@lisp
+(setq org-export-odt-table-styles
+      (append org-export-odt-table-styles
+             '(("TableWithHeaderRowAndColumn" "Custom"
+                ((use-first-row-styles . t)
+                 (use-first-column-styles . t)))
+               ("TableWithFirstRowandLastRow" "Custom"
+                ((use-first-row-styles . t)
+                 (use-last-row-styles . t))))))
+@end lisp
+
+@example
+#+ATTR_ODT: TableWithHeaderRowAndColumn
+| Name  | Phone | Age |
+| Peter |  1234 |  17 |
+| Anna  |  4321 |  25 |
+@end example
+
+In the above example, you used a template named @samp{Custom} and installed
+two table styles with the names @samp{TableWithHeaderRowAndColumn} and
+@samp{TableWithFirstRowandLastRow}.  (@strong{Important:} The OpenDocument
+styles needed for producing the above template have been pre-defined for you.
+These styles are available under the section marked @samp{Custom Table
+Template} in @file{OrgOdtContentTemplate.xml}
+(@pxref{x-orgodtcontenttemplate-xml,,Factory styles}).  If you need
+additional templates you have to define these styles yourselves.
+
+@subsubheading Custom table styles - the nitty-gritty
+To use this feature proceed as follows:
+
+@enumerate
+@item
+Create a table template@footnote{See the @code{<table:table-template>}
+element of the OpenDocument-v1.2 specification}
+
+A table template is nothing but a set of @samp{table-cell} and
+@samp{paragraph} styles for each of the following table cell categories:
+
+@itemize @minus
+@item Body
+@item First column
+@item Last column
+@item First row
+@item Last row
+@item Even row
+@item Odd row
+@item Even column
+@item Odd Column
+@end itemize
+
+The names for the above styles must be chosen based on the name of the table
+template using a well-defined convention.
+
+The naming convention is better illustrated with an example.  For a table
+template with the name @samp{Custom}, the needed style names are listed in
+the following table.
+
+@multitable  {Table cell type} {CustomEvenColumnTableCell} {CustomEvenColumnTableParagraph}
+@headitem Table cell type
+@tab @code{table-cell} style
+@tab @code{paragraph} style
+@item
+@tab
+@tab
+@item Body
+@tab @samp{CustomTableCell}
+@tab @samp{CustomTableParagraph}
+@item First column
+@tab @samp{CustomFirstColumnTableCell}
+@tab @samp{CustomFirstColumnTableParagraph}
+@item Last column
+@tab @samp{CustomLastColumnTableCell}
+@tab @samp{CustomLastColumnTableParagraph}
+@item First row
+@tab @samp{CustomFirstRowTableCell}
+@tab @samp{CustomFirstRowTableParagraph}
+@item Last row
+@tab @samp{CustomLastRowTableCell}
+@tab @samp{CustomLastRowTableParagraph}
+@item Even row
+@tab @samp{CustomEvenRowTableCell}
+@tab @samp{CustomEvenRowTableParagraph}
+@item Odd row
+@tab @samp{CustomOddRowTableCell}
+@tab @samp{CustomOddRowTableParagraph}
+@item Even column
+@tab @samp{CustomEvenColumnTableCell}
+@tab @samp{CustomEvenColumnTableParagraph}
+@item Odd column
+@tab @samp{CustomOddColumnTableCell}
+@tab @samp{CustomOddColumnTableParagraph}
+@end multitable
+
+To create a table template with the name @samp{Custom}, define the above
+styles in the
+@code{<office:automatic-styles>}...@code{</office:automatic-styles>} element
+of the content template file (@pxref{x-orgodtcontenttemplate-xml,,Factory
+styles}).
+
+@item
+Define a table style@footnote{See the attributes @code{table:template-name},
+@code{table:use-first-row-styles}, @code{table:use-last-row-styles},
+@code{table:use-first-column-styles}, @code{table:use-last-column-styles},
+@code{table:use-banding-rows-styles}, and
+@code{table:use-banding-column-styles} of the @code{<table:table>} element in
+the OpenDocument-v1.2 specification}
+
+@vindex org-export-odt-table-styles
+To define a table style, create an entry for the style in the variable
+@code{org-export-odt-table-styles} and specify the following:
+
+@itemize @minus
+@item the name of the table template created in step (1)
+@item the set of cell styles in that template that are to be activated
+@end itemize
+
+For example, the entry below defines two different table styles
+@samp{TableWithHeaderRowsAndColumns} and @samp{TableWithHeaderColumns} based
+on the same template @samp{Custom}.  The styles achieve their intended effect
+by selectively activating the individual cell styles in that template.
+
+@lisp
+(setq org-export-odt-table-styles
+      (append org-export-odt-table-styles
+             '(("TableWithHeaderRowAndColumn" "Custom"
+                ((use-first-row-styles . t)
+                 (use-first-column-styles . t)))
+               ("TableWithFirstRowandLastRow" "Custom"
+                ((use-first-row-styles . t)
+                 (use-last-row-styles . t))))))
+@end lisp
+
+@item
+Associate a table with the table style
+
+To do this, specify the table style created in step (2) as part of
+the @code{ATTR_ODT} line as shown below.
+
+@example
+#+ATTR_ODT: TableWithHeaderRowAndColumn
+| Name  | Phone | Age |
+| Peter |  1234 |  17 |
+| Anna  |  4321 |  25 |
+@end example
+@end enumerate
+
+@node Validating OpenDocument XML,  , Customizing tables in @acronym{ODT} export, Advanced topics in @acronym{ODT} export
+@subsubsection Validating OpenDocument XML
+
+Occasionally, you will discover that the document created by the
+@acronym{ODT} exporter cannot be opened by your favorite application.  One of
+the common reasons for this is that the @file{.odt} file is corrupt.  In such
+cases, you may want to validate the document against the OpenDocument RELAX
+NG Compact Syntax (RNC) schema.
+
+For de-compressing the @file{.odt} file@footnote{@file{.odt} files are
+nothing but @samp{zip} archives}: @inforef{File Archives,,emacs}.  For
+general help with validation (and schema-sensitive editing) of XML files:
+@inforef{Introduction,,nxml-mode}.
+
+@vindex org-export-odt-schema-dir
+If you have ready access to OpenDocument @file{.rnc} files and the needed
+schema-locating rules in a single folder, you can customize the variable
+@code{org-export-odt-schema-dir} to point to that directory.  The
+@acronym{ODT} exporter will take care of updating the
+@code{rng-schema-locating-files} for you.
 
 @c end opendocument
 
-@node  TaskJuggler export, Freemind export, OpenDocumentText export, Exporting
+@node  TaskJuggler export, Freemind export, OpenDocument Text export, Exporting
 @section TaskJuggler export
 @cindex TaskJuggler export
 @cindex Project management
@@ -10820,7 +11634,7 @@ resource assignments based on the project outline and the constraints that
 you have provided.
 
 The TaskJuggler exporter is a bit different from other exporters, such as the
-HTML and LaTeX exporters for example, in that it does not export all the
+@code{HTML} and @LaTeX{} exporters for example, in that it does not export all the
 nodes of a document or strictly follow the order of the nodes in the
 document.
 
@@ -10842,7 +11656,7 @@ Export as TaskJuggler file and then open the file with TaskJugglerUI.
 @subsection Tasks
 
 @vindex org-export-taskjuggler-project-tag
-Create your tasks as you usually do with Org-mode.  Assign efforts to each
+Create your tasks as you usually do with Org mode.  Assign efforts to each
 task using properties (it is easiest to do this in the column view).  You
 should end up with something similar to the example by Peter Jones in
 @url{http://www.contextualdevelopment.com/static/artifacts/articles/2008/project-planning/project-planning.org}.
@@ -10954,9 +11768,9 @@ file will be @file{myfile.mm}.
 @section XOXO export
 @cindex XOXO export
 
-Org-mode contains an exporter that produces XOXO-style output.
+Org mode contains an exporter that produces XOXO-style output.
 Currently, this exporter only handles the general outline structure and
-does not interpret any additional Org-mode features.
+does not interpret any additional Org mode features.
 
 @table @kbd
 @orgcmd{C-c C-e x,org-export-as-xoxo}
@@ -10975,10 +11789,10 @@ Export only the visible part of the document.
 @vindex org-icalendar-use-scheduled
 @vindex org-icalendar-categories
 @vindex org-icalendar-alarm-time
-Some people use Org-mode for keeping track of projects, but still prefer a
+Some people use Org mode for keeping track of projects, but still prefer a
 standard calendar application for anniversaries and appointments.  In this
 case it can be useful to show deadlines and other time-stamped items in Org
-files in the calendar application.  Org-mode can export calendar information
+files in the calendar application.  Org mode can export calendar information
 in the standard iCalendar format.  If you also want to have TODO entries
 included in the export, configure the variable
 @code{org-icalendar-include-todo}.  Plain timestamps are exported as VEVENT,
@@ -11422,7 +12236,7 @@ Defaults to @code{nil}.
 @subsection Generating an index
 @cindex index, in a publishing project
 
-Org-mode can generate an index across the files of a publishing project.
+Org mode can generate an index across the files of a publishing project.
 
 @multitable @columnfractions 0.25 0.75
 @item @code{:makeindex}
@@ -11442,7 +12256,7 @@ a title, style information, etc.
 
 For those people already utilizing third party sync tools such as
 @command{rsync} or @command{unison}, it might be preferable not to use the built in
-@i{remote} publishing facilities of Org-mode which rely heavily on
+@i{remote} publishing facilities of Org mode which rely heavily on
 Tramp.  Tramp, while very useful and powerful, tends not to be
 so efficient for multiple file transfer and has been known to cause problems
 under heavy usage.
@@ -11581,7 +12395,7 @@ This may be necessary in particular if files include other files via
 @cindex Davison, Dan
 @cindex source code, working with
 
-Source code can be included in Org-mode documents using a @samp{src} block,
+Source code can be included in Org mode documents using a @samp{src} block,
 e.g.@:
 
 @example
@@ -11592,26 +12406,26 @@ e.g.@:
 #+END_SRC
 @end example
 
-Org-mode provides a number of features for working with live source code,
+Org mode provides a number of features for working with live source code,
 including editing of code blocks in their native major-mode, evaluation of
 code blocks, converting code blocks into source files (known as @dfn{tangling}
 in literate programming), and exporting code blocks and their
 results in several formats.  This functionality was contributed by Eric
 Schulte and Dan Davison, and was originally named Org-babel.
 
-The following sections describe Org-mode's code block handling facilities.
+The following sections describe Org mode's code block handling facilities.
 
 @menu
 * Structure of code blocks::    Code block syntax described
 * Editing source code::         Language major-mode editing
 * Exporting code blocks::       Export contents and/or results
 * Extracting source code::      Create pure source code files
-* Evaluating code blocks::      Place results of evaluation in the Org-mode buffer
+* Evaluating code blocks::      Place results of evaluation in the Org mode buffer
 * Library of Babel::            Use and contribute to a library of useful code blocks
 * Languages::                   List of supported code block languages
 * Header arguments::            Configure code block functionality
 * Results of evaluation::       How evaluation results are handled
-* Noweb reference syntax::      Literate programming in Org-mode
+* Noweb reference syntax::      Literate programming in Org mode
 * Key bindings and useful functions::  Work quickly with code blocks
 * Batch execution::             Call functions from the command line
 @end menu
@@ -11623,18 +12437,26 @@ The following sections describe Org-mode's code block handling facilities.
 @section Structure of code blocks
 @cindex code block, structure
 @cindex source code, block structure
+@cindex #+NAME
+@cindex #+BEGIN_SRC
 
-The structure of code blocks is as follows:
+Live code blocks can be specified with a @samp{src} block or
+inline.@footnote{Note that @samp{src} blocks may be inserted using Org mode's
+@ref{Easy Templates} system}  The structure of a @samp{src} block is
 
 @example
-#+srcname: <name>
-#+begin_src <language> <switches> <header arguments>
+#+NAME: <name>
+#+BEGIN_SRC <language> <switches> <header arguments>
   <body>
-#+end_src
+#+END_SRC
 @end example
 
-Switches and header arguments are optional.  Code can also be embedded in text
-inline using
+The @code{#+NAME:} line is optional, and can be used to name the code
+block.  Live code blocks require that a language be specified on the
+@code{#+BEGIN_SRC} line.  Switches and header arguments are optional.
+@cindex source code, inline
+
+Live code blocks can also be specified inline using
 
 @example
 src_<language>@{<body>@}
@@ -11647,26 +12469,30 @@ src_<language>[<header arguments>]@{<body>@}
 @end example
 
 @table @code
-@item <name>
-This name is associated with the code block.  This is similar to the
-@samp{#+tblname} lines that can be used to name tables in Org-mode files.
-Referencing the name of a code block makes it possible to evaluate the
-block from other places in the file, other files, or from Org-mode table
-formulas (see @ref{The spreadsheet}).  Names are assumed to be unique by
-evaluation functions and the behavior of multiple blocks of the same name is
+@item <#+NAME: name>
+This line associates a name with the code block.  This is similar to the
+@code{#+TBLNAME: NAME} lines that can be used to name tables in Org mode
+files.  Referencing the name of a code block makes it possible to evaluate
+the block from other places in the file, from other files, or from Org mode
+table formulas (see @ref{The spreadsheet}).  Names are assumed to be unique
+and the behavior of Org mode when two or more blocks share the same name is
 undefined.
+@cindex #+NAME
 @item <language>
-The language of the code in the block.
+The language of the code in the block (see @ref{Languages}).
+@cindex source code, language
 @item <switches>
-Optional switches controlling exportation of the code block (see switches discussion in
+Optional switches control code block export (see the discussion of switches in
 @ref{Literal examples})
+@cindex source code, switches
 @item <header arguments>
 Optional header arguments control many aspects of evaluation, export and
-tangling of code blocks.  See the @ref{Header arguments}.
+tangling of code blocks (see @ref{Header arguments}).
 Header arguments can also be set on a per-buffer or per-subtree
 basis using properties.
+@item source code, header arguments
 @item <body>
-The source code.
+Source code in the specified language.
 @end table
 
 @comment  node-name,  next,  previous,  up
@@ -11715,12 +12541,12 @@ variable @code{org-src-fontify-natively}.
 @cindex code block, exporting
 @cindex source code, exporting
 
-It is possible to export the @emph{contents} of code blocks, the
-@emph{results} of code block evaluation, @emph{neither}, or @emph{both}.  For
-most languages, the default exports the contents of code blocks.  However, for
-some languages (e.g.@: @code{ditaa}) the default exports the results of code
-block evaluation.  For information on exporting code block bodies, see
-@ref{Literal examples}.
+It is possible to export the @emph{code} of code blocks, the @emph{results}
+of code block evaluation, @emph{both} the code and the results of code block
+evaluation, or @emph{none}.  For most languages, the default exports code.
+However, for some languages (e.g.@: @code{ditaa}) the default exports the
+results of code block evaluation.  For information on exporting code block
+bodies, see @ref{Literal examples}.
 
 The @code{:exports} header argument can be used to specify export
 behavior:
@@ -11732,7 +12558,7 @@ The default in most languages.  The body of the code block is exported, as
 described in @ref{Literal examples}.
 @item :exports results
 The code block will be evaluated and the results will be placed in the
-Org-mode buffer for export, either updating previous results of the code
+Org mode buffer for export, either updating previous results of the code
 block located anywhere in the buffer or, if no previous results exist,
 placing the results immediately after the code block.  The body of the code
 block will not be exported.
@@ -11745,8 +12571,8 @@ Neither the code block nor its results will be exported.
 It is possible to inhibit the evaluation of code blocks during export.
 Setting the @code{org-export-babel-evaluate} variable to @code{nil} will
 ensure that no code blocks are evaluated as part of the export process.  This
-can be useful in situations where potentially untrusted Org-mode files are
-exported in an automated fashion, for example when Org-mode is used as the
+can be useful in situations where potentially untrusted Org mode files are
+exported in an automated fashion, for example when Org mode is used as the
 markup language for a wiki.
 
 @comment  node-name,  next,  previous,  up
@@ -11798,14 +12624,15 @@ of tangled code files.
 @cindex source code, evaluating
 
 Code blocks can be evaluated@footnote{Whenever code is evaluated there is a
-potential for that code to do harm.  Org-mode provides a number of safeguards
-to ensure that it only evaluates code with explicit confirmation from the
-user.  For information on these safeguards (and on how to disable them) see
-@ref{Code evaluation security}.} and the results placed in the Org-mode
-buffer.  By default, evaluation is only turned on for @code{emacs-lisp} code
-blocks, however support exists for evaluating blocks in many languages.  See
-@ref{Languages} for a list of supported languages.  See @ref{Structure of
-code blocks} for information on the syntax used to define a code block.
+potential for that code to do harm.  Org mode provides safeguards to ensure
+that code is only evaluated after explicit confirmation from the user.  For
+information on these safeguards (and on how to disable them) see @ref{Code
+evaluation security}.} and the results of evaluation optionally placed in the
+Org mode buffer.  By default, the evaluation facility is only enabled for
+Lisp code blocks specified as @code{emacs-lisp}. However, souce code blocks
+in many languages can be evaluated within Org mode (see @ref{Languages} for a
+list of supported languages and @ref{Structure of code blocks} for
+information on the syntax used to define a code block).
 
 @kindex C-c C-c
 There are a number of ways to evaluate code blocks.  The simplest is to press
@@ -11813,64 +12640,52 @@ There are a number of ways to evaluate code blocks.  The simplest is to press
 @code{org-babel-no-eval-on-ctrl-c-ctrl-c} variable can be used to remove code
 evaluation from the @kbd{C-c C-c} key binding.}.  This will call the
 @code{org-babel-execute-src-block} function to evaluate the block and insert
-its results into the Org-mode buffer.
+its results into the Org mode buffer.
+@cindex #+CALL
 
 It is also possible to evaluate named code blocks from anywhere in an
-Org-mode buffer or an Org-mode table.  @code{#+call} (or synonymously
-@code{#+function} or @code{#+lob}) lines can be used to remotely execute code
-blocks located in the current Org-mode buffer or in the ``Library of Babel''
-(see @ref{Library of Babel}).  These lines use the following syntax to place
-a call on a line by itself.
+Org mode buffer or an Org mode table. Live code blocks located in the current
+Org mode buffer or in the ``Library of Babel'' (see @ref{Library of Babel})
+can be executed.  Named code blocks can be executed with a separate
+@code{#+CALL:} line or inline within a block of text.
+
+The syntax of the @code{#+CALL:} line is
 
 @example
-#+call: <name>(<arguments>)
-#+call: <name>[<header args>](<arguments>) <header args>
+#+CALL: <name>(<arguments>)
+#+CALL: <name>[<inside header arguments>](<arguments>) <end header arguments>
 @end example
 
-The following syntax can be used to place these calls within a block of
-prose.
+The syntax for inline evaluation of named code blocks is
 
 @example
-...prose... call_<name>(<arguments>) ...prose...
-...prose... call_<name>[<header args>](<arguments>)[<header args>] ...prose...
+... call_<name>(<arguments>) ...
+... call_<name>[<inside header arguments>](<arguments>)[<end header arguments>] ...
 @end example
 
 @table @code
 @item <name>
-The name of the code block to be evaluated.
+The name of the code block to be evaluated (see @ref{Structure of code blocks}).
 @item <arguments>
 Arguments specified in this section will be passed to the code block.  These
-arguments should relate to @code{:var} header arguments in the called code
-block expressed using standard function call syntax.  For example if the
-original code block named @code{double} has the header argument @code{:var
-n=2}, then the call line passing the number four to that block would be
-written as @code{#+call: double(n=2)}.
-@item <header args>
-Header arguments can be placed either inside the call to the code block or at
-the end of the line as shown below.
-
-@example
-#+call: code_bloc_name[XXXX](arguments) YYYY
-@end example
-
-Header arguments located in these two locations are treated differently.
-
-@table @code
-@item XXXX
-Those placed in the @code{XXXX} location are passed through and applied to
-the code block being called.  These header arguments affect how the code
-block is evaluated, for example @code{[:results output]} will collect the
-results from @code{STDOUT} of the called code block.
-@item YYYY
-Those placed in the @code{YYYY} location are applied to the call line and do
-not affect the code block being called.  These header arguments affect how
-the results are incorporated into the Org-mode buffer when the call line is
-evaluated, and how the call line is exported.  For example @code{:results
-org} at the end of the call line will insert the results of the call line
-inside of an Org-mode block.
-@end table
-
-For more examples of passing header arguments to @code{#+call:} lines see
+arguments use standard function call syntax, rather than
+header argument syntax.  For example, a @code{#+CALL:} line that passes the
+number four to a code block named @code{double}, which declares the header
+argument @code{:var n=2}, would be written as @code{#+CALL: double(n=4)}.
+@item <inside header arguments>
+Inside header arguments are passed through and applied to the named code
+block.  These arguments use header argument syntax rather than standard
+function call syntax.  Inside header arguments affect how the code block is
+evaluated.  For example, @code{[:results output]} will collect the results of
+everything printed to @code{STDOUT} during execution of the code block.
+@item <end header arguments>
+End header arguments are applied to the calling instance and do not affect
+evaluation of the named code block.  They affect how the results are
+incorporated into the Org mode buffer and how the call line is exported.  For
+example, @code{:results html} will insert the results of the call line
+evaluation in the Org buffer, wrapped in a @code{BEGIN_HTML:} block.
+
+For more examples of passing header arguments to @code{#+CALL:} lines see
 @ref{Header arguments in function calls}.
 @end table
 
@@ -11880,18 +12695,22 @@ For more examples of passing header arguments to @code{#+call:} lines see
 @cindex source code, library
 @cindex code block, library
 
-The ``Library of Babel'' is a library of code blocks
-that can be called from any Org-mode file.  The library is housed in an
-Org-mode file located in the @samp{contrib} directory of Org-mode.
-Org-mode users can deposit functions they believe to be generally
-useful in the library.
+The ``Library of Babel'' consists of code blocks that can be called from any
+Org mode file.  Code blocks defined in the ``Library of Babel'' can be called
+remotely as if they were in the current Org mode buffer (see @ref{Evaluating
+code blocks} for information on the syntax of remote code block evaluation).
+
+
+The central repository of code blocks in the ``Library of Babel'' is housed
+in an Org mode file located in the @samp{contrib} directory of Org mode.
+
+Users can add code blocks they believe to be generally useful to their
+``Library of Babel.''  The code blocks can be stored in any Org mode file and
+then loaded into the library with @code{org-babel-lob-ingest}.
 
-Code blocks defined in the ``Library of Babel'' can be called remotely as if
-they were in the current Org-mode buffer (see @ref{Evaluating code blocks}
-for information on the syntax of remote code block evaluation).
 
 @kindex C-c C-v i
-Code blocks located in any Org-mode file can be loaded into the ``Library of
+Code blocks located in any Org mode file can be loaded into the ``Library of
 Babel'' with the @code{org-babel-lob-ingest} function, bound to @kbd{C-c C-v
 i}.
 
@@ -11916,7 +12735,7 @@ Code blocks in the following languages are supported.
 @item Ledger @tab ledger @tab Lisp @tab lisp
 @item Lilypond @tab lilypond @tab MATLAB @tab matlab
 @item Mscgen @tab mscgen @tab Objective Caml @tab ocaml
-@item Octave @tab octave @tab Org-mode @tab org
+@item Octave @tab octave @tab Org mode @tab org
 @item Oz @tab oz @tab Perl @tab perl
 @item Plantuml @tab plantuml @tab Python @tab python
 @item R @tab R @tab Ruby @tab ruby
@@ -11980,7 +12799,7 @@ specific (and having higher priority) than the last.
 * System-wide header arguments::  Set global default values
 * Language-specific header arguments::  Set default values by language
 * Buffer-wide header arguments::  Set default values for a specific buffer
-* Header arguments in Org-mode properties::  Set default values for a buffer or heading
+* Header arguments in Org mode properties::  Set default values for a buffer or heading
 * Code block specific header arguments::  The most common way to set values
 * Header arguments in function calls::  The most specific level
 @end menu
@@ -12031,12 +12850,11 @@ Each language can define its own set of default header arguments.  See the
 language-specific documentation available online at
 @uref{http://orgmode.org/worg/org-contrib/babel}.
 
-@node Buffer-wide header arguments, Header arguments in Org-mode properties, Language-specific header arguments, Using header arguments
+@node Buffer-wide header arguments, Header arguments in Org mode properties, Language-specific header arguments, Using header arguments
 @subsubheading Buffer-wide header arguments
-Buffer-wide header arguments may be specified through the use of a special
-line placed anywhere in an Org-mode file.  The line consists of the
-@code{#+BABEL:} keyword followed by a series of header arguments which may be
-specified using the standard header argument syntax.
+Buffer-wide header arguments may be specified as properties through the use
+of @code{#+PROPERTY:} lines placed anywhere in an Org mode file (see
+@ref{Property syntax}).
 
 For example the following would set @code{session} to @code{*R*}, and
 @code{results} to @code{silent} for every code block in the buffer, ensuring
@@ -12044,24 +12862,27 @@ that all execution took place in the same session, and no results would be
 inserted into the buffer.
 
 @example
-#+BABEL: :session *R* :results silent
+#+PROPERTY: session *R*
+#+PROPERTY: results silent
 @end example
 
-@node Header arguments in Org-mode properties, Code block specific header arguments, Buffer-wide header arguments, Using header arguments
-@subsubheading Header arguments in Org-mode properties
+@node Header arguments in Org mode properties, Code block specific header arguments, Buffer-wide header arguments, Using header arguments
+@subsubheading Header arguments in Org mode properties
 
-Header arguments are also read from Org-mode properties (see @ref{Property
+Header arguments are also read from Org mode properties (see @ref{Property
 syntax}), which can be set on a buffer-wide or per-heading basis.  An example
 of setting a header argument for all code blocks in a buffer is
 
 @example
-#+property: tangle yes
+#+PROPERTY: tangle yes
 @end example
 
+@vindex org-use-property-inheritance
 When properties are used to set default header arguments, they are looked up
-with inheritance, so the value of the @code{:cache} header argument will default
-to @code{yes} in all code blocks in the subtree rooted at the following
-heading:
+with inheritance, regardless of the value of
+@code{org-use-property-inheritance}.  In the following example the value of
+the @code{:cache} header argument will default to @code{yes} in all code
+blocks in the subtree rooted at the following heading:
 
 @example
 * outline header
@@ -12075,45 +12896,47 @@ heading:
 Properties defined in this way override the properties set in
 @code{org-babel-default-header-args}.  It is convenient to use the
 @code{org-set-property} function bound to @kbd{C-c C-x p} to set properties
-in Org-mode documents.
+in Org mode documents.
 
-@node Code block specific header arguments, Header arguments in function calls, Header arguments in Org-mode properties, Using header arguments
+@node Code block specific header arguments, Header arguments in function calls, Header arguments in Org mode properties, Using header arguments
 @subsubheading Code block specific header arguments
 
 The most common way to assign values to header arguments is at the
 code block level.  This can be done by listing a sequence of header
-arguments and their values as part of the @code{#+begin_src} line.
+arguments and their values as part of the @code{#+BEGIN_SRC} line.
 Properties set in this way override both the values of
 @code{org-babel-default-header-args} and header arguments specified as
 properties.  In the following example, the @code{:results} header argument
 is set to @code{silent}, meaning the results of execution will not be
 inserted in the buffer, and the @code{:exports} header argument is set to
 @code{code}, meaning only the body of the code block will be
-preserved on export to HTML or LaTeX.
+preserved on export to HTML or @LaTeX{}.
 
 @example
-#+source: factorial
-#+begin_src haskell :results silent :exports code :var n=0
+#+NAME: factorial
+#+BEGIN_SRC haskell :results silent :exports code :var n=0
 fac 0 = 1
 fac n = n * fac (n-1)
-#+end_src
+#+END_SRC
 @end example
-Similarly, it is possible to set header arguments for inline code blocks:
+Similarly, it is possible to set header arguments for inline code blocks
 
 @example
 src_haskell[:exports both]@{fac 5@}
 @end example
 
-Code block header arguments can span multiple lines using =#+header:= or
-=#+headers:= lines preceding a code block or nested in between the name and
-body of a named code block.
+Code block header arguments can span multiple lines using @code{#+HEADER:} or
+@code{#+HEADERS:} lines preceding a code block or nested between the
+@code{#+NAME:} line and the @code{#+BEGIN_SRC} line of a named code block.
+@cindex #+HEADER:
+@cindex #+HEADERS:
 
 Multi-line header arguments on an un-named code block:
 @example
- #+headers: :var data1=1
- #+begin_src emacs-lisp :var data2=2
+ #+HEADERS: :var data1=1
+ #+BEGIN_SRC emacs-lisp :var data2=2
    (message "data1:%S, data2:%S" data1 data2)
- #+end_src
+ #+END_SRC
 
  #+results:
  : data1:1, data2:2
@@ -12121,11 +12944,11 @@ Multi-line header arguments on an un-named code block:
 
 Multi-line header arguments on a named code block:
 @example
-   #+source: named-block
-   #+header: :var data=2
-   #+begin_src emacs-lisp
+   #+NAME: named-block
+   #+HEADER: :var data=2
+   #+BEGIN_SRC emacs-lisp
      (message "data:%S" data)
-   #+end_src
+   #+END_SRC
 
    #+results: named-block
    : data:2
@@ -12136,25 +12959,26 @@ Multi-line header arguments on a named code block:
 @subsubheading Header arguments in function calls
 
 At the most specific level, header arguments for ``Library of Babel'' or
-function call lines can be set as shown in the two examples below.  For more
-information on the structure of @code{#+call:} lines see @ref{Evaluating code
+@code{#+CALL:} lines can be set as shown in the two examples below.  For more
+information on the structure of @code{#+CALL:} lines see @ref{Evaluating code
 blocks}.
 
 The following will apply the @code{:exports results} header argument to the
-evaluation of the @code{#+call:} line.
+evaluation of the @code{#+CALL:} line.
 @example
-#+call: factorial(n=5) :exports results
+#+CALL: factorial(n=5) :exports results
 @end example
 
 The following will apply the @code{:session special} header argument to the
 evaluation of the @code{factorial} code block.
 @example
-#+call: factorial[:session special](n=5)
+#+CALL: factorial[:session special](n=5)
 @end example
 
 @node Specific header arguments,  , Using header arguments, Header arguments
 @subsection Specific header arguments
-The following header arguments are defined:
+Header arguments consist of an initial colon followed by the name of the
+argument in lowercase letters.  The following header arguments are defined:
 
 @menu
 * var::                         Pass arguments to code blocks
@@ -12193,13 +13017,18 @@ Additional header arguments are defined on a language-specific basis, see
 The @code{:var} header argument is used to pass arguments to code blocks.
 The specifics of how arguments are included in a code block vary by language;
 these are addressed in the language-specific documentation.  However, the
-syntax used to specify arguments is the same across all languages.  The
-values passed to arguments can be literal values, values from org-mode tables
-and literal example blocks, the results of other code blocks, or Emacs Lisp
-code---see the ``Emacs Lisp evaluation of variables'' heading below.
+syntax used to specify arguments is the same across all languages.  In every
+case, variables require a default value when they are declared.
+
+The values passed to arguments can either be literal values, references, or
+Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References
+include anything in the Org mode file that takes a @code{#+NAME:},
+@code{#+TBLNAME:}, or @code{#+RESULTS:} line.  This includes tables, lists,
+@code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other
+code blocks.
 
-These values can be indexed in a manner similar to arrays---see the
-``indexable variable values'' heading below.
+Argument values can be indexed in a manner similar to arrays (see @ref{var,
+Indexable variable values}).
 
 The following syntax is used to pass arguments to code blocks using the
 @code{:var} header argument.
@@ -12208,76 +13037,122 @@ The following syntax is used to pass arguments to code blocks using the
 :var name=assign
 @end example
 
-where @code{assign} can take one of the following forms
+The argument, @code{assign}, can either be a literal value, such as a string
+@samp{"string"} or a number @samp{9}, or a reference to a table, a list, a
+literal example, another code block (with or without arguments), or the
+results of evaluating another code block.
 
-@itemize @bullet
-@item literal value
-either a string @code{"string"} or a number @code{9}.
-@item reference
-a table name:
+Here are examples of passing values by reference:
+
+@table @dfn
 
+@item table
+an Org mode table named with either a @code{#+NAME:} or @code{#+TBLNAME:} line
 @example
-#+tblname: example-table
+#+TBLNAME: example-table
 | 1 |
 | 2 |
 | 3 |
 | 4 |
 
-#+source: table-length
-#+begin_src emacs-lisp :var table=example-table
+#+NAME: table-length
+#+BEGIN_SRC emacs-lisp :var table=example-table
 (length table)
-#+end_src
+#+END_SRC
 
 #+results: table-length
 : 4
 @end example
 
-a code block name, as assigned by @code{#+srcname:}, followed by
-parentheses:
+@item list
+a simple list named with a @code{#+NAME:} line (note that nesting is not
+carried through to the source code block)
 
 @example
-#+begin_src emacs-lisp :var length=table-length()
+#+NAME: example-list
+  - simple
+    - not
+    - nested
+  - list
+
+#+BEGIN_SRC emacs-lisp :var x=example-list
+  (print x)
+#+END_SRC
+
+#+results:
+| simple | list |
+@end example
+
+@item code block without arguments
+a code block name (from the example above), as assigned by @code{#+NAME:},
+optionally followed by parentheses
+
+@example
+#+BEGIN_SRC emacs-lisp :var length=table-length()
 (* 2 length)
-#+end_src
+#+END_SRC
 
 #+results:
 : 8
 @end example
 
-In addition, an argument can be passed to the code block referenced
-by @code{:var}.  The argument is passed within the parentheses following the
-code block name:
+@item code block with arguments
+a code block name, as assigned by @code{#+NAME:}, followed by parentheses and
+optional arguments passed within the parentheses following the
+code block name using standard function call syntax
 
 @example
-#+source: double
-#+begin_src emacs-lisp :var input=8
+#+NAME: double
+#+BEGIN_SRC emacs-lisp :var input=8
 (* 2 input)
-#+end_src
+#+END_SRC
 
 #+results: double
 : 16
 
-#+source: squared
-#+begin_src emacs-lisp :var input=double(input=1)
+#+NAME: squared
+#+BEGIN_SRC emacs-lisp :var input=double(input=1)
 (* input input)
-#+end_src
+#+END_SRC
 
 #+results: squared
 : 4
 @end example
-@end itemize
+
+@item literal example
+a literal example block named with a @code{#+NAME:} line
+
+@example
+#+NAME: literal-example
+#+BEGIN_EXAMPLE
+A literal example
+on two lines
+#+END_EXAMPLE
+
+#+NAME: read-literal-example
+#+BEGIN_SRC emacs-lisp :var x=literal-example
+  (concatenate 'string x " for you.")
+#+END_SRC
+
+#+results: read-literal-example
+: A literal example
+: on two lines for you.
+
+@end example
+
+@end table
 
 @subsubheading Alternate argument syntax
 It is also possible to specify arguments in a potentially more natural way
-using the @code{#+source:} line of a code block.  As in the following
-example arguments can be packed inside of parenthesis, separated by commas,
+using the @code{#+NAME:} line of a code block.  As in the following
+example, arguments can be packed inside of parentheses, separated by commas,
 following the source name.
 
 @example
-#+source: double(input=0, x=2)
-#+begin_src emacs-lisp
+#+NAME: double(input=0, x=2)
+#+BEGIN_SRC emacs-lisp
 (* 2 (+ input x))
-#+end_src
+#+END_SRC
 @end example
 
 @subsubheading Indexable variable values
@@ -12291,15 +13166,15 @@ following example assigns the last cell of the first row the table
 @code{example-table} to the variable @code{data}:
 
 @example
-#+results: example-table
+#+NAME: example-table
 | 1 | a |
 | 2 | b |
 | 3 | c |
 | 4 | d |
 
-#+begin_src emacs-lisp :var data=example-table[0,-1]
+#+BEGIN_SRC emacs-lisp :var data=example-table[0,-1]
   data
-#+end_src
+#+END_SRC
 
 #+results:
 : a
@@ -12311,16 +13186,16 @@ example the following assigns the middle three rows of @code{example-table}
 to @code{data}.
 
 @example
-#+results: example-table
+#+NAME: example-table
 | 1 | a |
 | 2 | b |
 | 3 | c |
 | 4 | d |
 | 5 | 3 |
 
-#+begin_src emacs-lisp :var data=example-table[1:3]
+#+BEGIN_SRC emacs-lisp :var data=example-table[1:3]
   data
-#+end_src
+#+END_SRC
 
 #+results:
 | 2 | b |
@@ -12334,15 +13209,15 @@ interpreted to mean the entire range and as such are equivalent to
 column is referenced.
 
 @example
-#+results: example-table
+#+NAME: example-table
 | 1 | a |
 | 2 | b |
 | 3 | c |
 | 4 | d |
 
-#+begin_src emacs-lisp :var data=example-table[,0]
+#+BEGIN_SRC emacs-lisp :var data=example-table[,0]
   data
-#+end_src
+#+END_SRC
 
 #+results:
 | 1 | 2 | 3 | 4 |
@@ -12353,16 +13228,16 @@ Any number of dimensions can be indexed.  Dimensions are separated from one
 another by commas, as shown in the following example.
 
 @example
-#+source: 3D
-#+begin_src emacs-lisp
+#+NAME: 3D
+#+BEGIN_SRC emacs-lisp
   '(((1  2  3)  (4  5  6)  (7  8  9))
     ((10 11 12) (13 14 15) (16 17 18))
     ((19 20 21) (22 23 24) (25 26 27)))
-#+end_src
+#+END_SRC
 
-#+begin_src emacs-lisp :var data=3D[1,,1]
+#+BEGIN_SRC emacs-lisp :var data=3D[1,,1]
   data
-#+end_src
+#+END_SRC
 
 #+results:
 | 11 | 14 | 17 |
@@ -12371,31 +13246,31 @@ another by commas, as shown in the following example.
 @subsubheading Emacs Lisp evaluation of variables
 
 Emacs lisp code can be used to initialize variable values.  When a variable
-value starts with @code{(}, @code{[}, @code{'} or @code{`} it will be evaluated as
-Emacs Lisp and the result of the evaluation will be assigned as the variable
-value.  The following example demonstrates use of this evaluation to reliably
-pass the file-name of the org-mode buffer to a code block---note that
-evaluation of header arguments is guaranteed to take place in the original
-org-mode file, while there is no such guarantee for evaluation of the code
-block body.
+value starts with @code{(}, @code{[}, @code{'} or @code{`} it will be
+evaluated as Emacs Lisp and the result of the evaluation will be assigned as
+the variable value.  The following example demonstrates use of this
+evaluation to reliably pass the file-name of the Org mode buffer to a code
+block---note that evaluation of header arguments is guaranteed to take place
+in the original Org mode file, while there is no such guarantee for
+evaluation of the code block body.
 
 @example
-#+begin_src sh :var filename=(buffer-file-name) :exports both
+#+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both
   wc -w $filename
-#+end_src
+#+END_SRC
 @end example
 
 Note that values read from tables and lists will not be evaluated as
 Emacs Lisp, as shown in the following example.
 
 @example
-#+results: table
+#+NAME: table
 | (a b c) |
 
-#+headers: :var data=table[0,0]
-#+begin_src perl
+#+HEADERS: :var data=table[0,0]
+#+BEGIN_SRC perl
   $data
-#+end_src
+#+END_SRC
 
 #+results:
 : (a b c)
@@ -12414,7 +13289,7 @@ from the code block
 @item
 @b{type} header arguments specify what type of result the code block will
 return---which has implications for how they will be inserted into the
-Org-mode buffer
+Org mode buffer
 @item
 @b{handling} header arguments specify how the results of evaluating the code
 block should be handled.
@@ -12445,31 +13320,31 @@ table or scalar depending on their value.
 
 @itemize @bullet
 @item @code{table}, @code{vector}
-The results should be interpreted as an Org-mode table.  If a single value is
+The results should be interpreted as an Org mode table.  If a single value is
 returned, it will be converted into a table with one row and one column.
 E.g., @code{:results value table}.
 @item @code{list}
-The results should be interpreted as an Org-mode list.  If a single scalar
+The results should be interpreted as an Org mode list.  If a single scalar
 value is returned it will be converted into a list with only one element.
 @item @code{scalar}, @code{verbatim}
 The results should be interpreted literally---they will not be
-converted into a table.  The results will be inserted into the Org-mode
+converted into a table.  The results will be inserted into the Org mode
 buffer as quoted text.  E.g., @code{:results value verbatim}.
 @item @code{file}
 The results will be interpreted as the path to a file, and will be inserted
-into the Org-mode buffer as a file link.  E.g., @code{:results value file}.
+into the Org mode buffer as a file link.  E.g., @code{:results value file}.
 @item @code{raw}, @code{org}
-The results are interpreted as raw Org-mode code and are inserted directly
+The results are interpreted as raw Org mode code and are inserted directly
 into the buffer.  If the results look like a table they will be aligned as
-such by Org-mode.  E.g., @code{:results value raw}.
+such by Org mode.  E.g., @code{:results value raw}.
 @item @code{html}
 Results are assumed to be HTML and will be enclosed in a @code{begin_html}
 block.  E.g., @code{:results value html}.
 @item @code{latex}
-Results assumed to be LaTeX and are enclosed in a @code{begin_latex} block.
+Results assumed to be @LaTeX{} and are enclosed in a @code{begin_latex} block.
 E.g., @code{:results value latex}.
 @item @code{code}
-Result are assumed to be parseable code and are enclosed in a code block.
+Result are assumed to be parsable code and are enclosed in a code block.
 E.g., @code{:results value code}.
 @item @code{pp}
 The result is converted to pretty-printed code and is enclosed in a code
@@ -12488,10 +13363,10 @@ results once they are collected.
 @itemize @bullet
 @item @code{silent}
 The results will be echoed in the minibuffer but will not be inserted into
-the Org-mode buffer.  E.g., @code{:results output silent}.
+the Org mode buffer.  E.g., @code{:results output silent}.
 @item @code{replace}
 The default value.  Any existing results will be removed, and the new results
-will be inserted into the Org-mode buffer in their place.  E.g.,
+will be inserted into the Org mode buffer in their place.  E.g.,
 @code{:results output replace}.
 @item @code{append}
 If there are pre-existing results of the code block then the new results will
@@ -12507,9 +13382,9 @@ inserted as with @code{replace}.
 @subsubsection @code{:file}
 
 The header argument @code{:file} is used to specify an external file in which
-to save code block results.  After code block evaluation an Org-mode style
+to save code block results.  After code block evaluation an Org mode style
 @code{[[file:]]} link (see @ref{Link format}) to the file will be inserted
-into the Org-mode buffer.  Some languages including R, gnuplot, dot, and
+into the Org mode buffer.  Some languages including R, gnuplot, dot, and
 ditaa provide special handling of the @code{:file} header argument
 automatically wrapping the code block body in the boilerplate code required
 to save output to the specified file.  This is often useful for saving
@@ -12538,9 +13413,9 @@ In other words, if you want your plot to go into a folder called @file{Work}
 in your home directory, you could use
 
 @example
-#+begin_src R :file myplot.png :dir ~/Work
+#+BEGIN_SRC R :file myplot.png :dir ~/Work
 matplot(matrix(rnorm(100), 10), type="l")
-#+end_src
+#+END_SRC
 @end example
 
 @subsubheading Remote execution
@@ -12548,14 +13423,14 @@ A directory on a remote machine can be specified using tramp file syntax, in
 which case the code will be evaluated on the remote machine.  An example is
 
 @example
-#+begin_src R :file plot.png :dir /dand@@yakuba.princeton.edu:
+#+BEGIN_SRC R :file plot.png :dir /dand@@yakuba.princeton.edu:
 plot(1:10, main=system("hostname", intern=TRUE))
-#+end_src
+#+END_SRC
 @end example
 
-Text results will be returned to the local Org-mode buffer as usual, and file
+Text results will be returned to the local Org mode buffer as usual, and file
 output will be created on the remote machine with relative paths interpreted
-relative to the remote directory.  An Org-mode link to the remote file will be
+relative to the remote directory.  An Org mode link to the remote file will be
 created.
 
 So, in the above example a plot will be created on the remote machine,
@@ -12581,7 +13456,7 @@ currently made to alter the directory associated with an existing session.
 @code{:dir} should typically not be used to create files during export with
 @code{:exports results} or @code{:exports both}.  The reason is that, in order
 to retain portability of exported material between machines, during export
-links inserted into the buffer will *not* be expanded against @code{default
+links inserted into the buffer will @emph{not} be expanded against @code{default
 directory}.  Therefore, if @code{default-directory} is altered using
 @code{:dir}, it is probable that the file will be created in a location to
 which the link does not point.
@@ -12591,7 +13466,7 @@ which the link does not point.
 @subsubsection @code{:exports}
 
 The @code{:exports} header argument specifies what should be included in HTML
-or LaTeX exports of the Org-mode file.
+or @LaTeX{} exports of the Org mode file.
 
 @itemize @bullet
 @item @code{code}
@@ -12616,14 +13491,14 @@ block should be included in tangled extraction of source code files.
 @itemize @bullet
 @item @code{tangle}
 The code block is exported to a source code file named after the full path
-(including the directory) and file name (w/o extension) of the Org-mode file.
+(including the directory) and file name (w/o extension) of the Org mode file.
 E.g., @code{:tangle yes}.
 @item @code{no}
 The default.  The code block is not exported to a source code file.
 E.g., @code{:tangle no}.
 @item other
 Any other string passed to the @code{:tangle} header argument is interpreted
-as a path (directory and file name relative to the directory of the Org-mode
+as a path (directory and file name relative to the directory of the Org mode
 file) to which the block will be exported.  E.g., @code{:tangle path}.
 @end itemize
 
@@ -12650,7 +13525,7 @@ original Org file from which the code was tangled.
 @item @code{yes}
 A synonym for ``link'' to maintain backwards compatibility.
 @item @code{org}
-Include text from the org-mode file as a comment.
+Include text from the Org mode file as a comment.
 
 The text is picked from the leading context of the tangled code and is
 limited by the nearest headline or source block as the case may be.
@@ -12751,37 +13626,39 @@ concatenated together to form the replacement text.
 
 By setting this header argument at the sub-tree or file level, simple code
 block concatenation may be achieved.  For example, when tangling the
-following Org-mode file, the bodies of code blocks will be concatenated into
-the resulting pure code file.
+following Org mode file, the bodies of code blocks will be concatenated into
+the resulting pure code file@footnote{(The example needs property inheritance
+to be turned on for the @code{noweb-ref} property, see @ref{Property
+inheritance}).}.
 
 @example
- #+begin_src sh :tangle yes :noweb yes :shebang #!/bin/sh
+ #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh
    <<fullest-disk>>
- #+end_src
+ #+END_SRC
  * the mount point of the fullest disk
    :PROPERTIES:
    :noweb-ref: fullest-disk
    :END:
 
  ** query all mounted disks
- #+begin_src sh
+ #+BEGIN_SRC sh
    df \
- #+end_src
+ #+END_SRC
 
  ** strip the header row
- #+begin_src sh
+ #+BEGIN_SRC sh
    |sed '1d' \
- #+end_src
+ #+END_SRC
 
  ** sort by the percent full
- #+begin_src sh
+ #+BEGIN_SRC sh
    |awk '@{print $5 " " $6@}'|sort -n |tail -1 \
- #+end_src
+ #+END_SRC
 
  ** extract the mount point
- #+begin_src sh
+ #+BEGIN_SRC sh
    |awk '@{print $2@}'
- #+end_src
+ #+END_SRC
 @end example
 
 @node cache, sep, noweb-ref, Specific header arguments
@@ -12811,18 +13688,18 @@ invalidated and the code block is re-run.  In the following example,
 changed since it was last run.
 
 @example
- #+srcname: random
- #+begin_src R :cache yes
+ #+NAME: random
+ #+BEGIN_SRC R :cache yes
  runif(1)
- #+end_src
+ #+END_SRC
 
  #+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
  0.4659510825295
 
- #+srcname: caller
- #+begin_src emacs-lisp :var x=random :cache yes
+ #+NAME: caller
+ #+BEGIN_SRC emacs-lisp :var x=random :cache yes
  x
- #+end_src
+ #+END_SRC
 
  #+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
  0.254227238707244
@@ -12832,7 +13709,7 @@ changed since it was last run.
 @subsubsection @code{:sep}
 
 The @code{:sep} header argument can be used to control the delimiter used
-when writing tabular results out to files external to Org-mode.  This is used
+when writing tabular results out to files external to Org mode.  This is used
 either when opening tabular results of a code block by calling the
 @code{org-open-at-point} function bound to @kbd{C-c C-o} on the code block,
 or when writing code block results to an external file (see @ref{file})
@@ -12856,17 +13733,17 @@ variable and raises an error.  Setting @code{:hlines no} or relying on the
 default value yields the following results.
 
 @example
-#+tblname: many-cols
+#+TBLNAME: many-cols
 | a | b | c |
 |---+---+---|
 | d | e | f |
 |---+---+---|
 | g | h | i |
 
-#+source: echo-table
-#+begin_src python :var tab=many-cols
+#+NAME: echo-table
+#+BEGIN_SRC python :var tab=many-cols
   return tab
-#+end_src
+#+END_SRC
 
 #+results: echo-table
 | a | b | c |
@@ -12878,17 +13755,17 @@ default value yields the following results.
 Leaves hlines in the table.  Setting @code{:hlines yes} has this effect.
 
 @example
-#+tblname: many-cols
+#+TBLNAME: many-cols
 | a | b | c |
 |---+---+---|
 | d | e | f |
 |---+---+---|
 | g | h | i |
 
-#+source: echo-table
-#+begin_src python :var tab=many-cols :hlines yes
+#+NAME: echo-table
+#+BEGIN_SRC python :var tab=many-cols :hlines yes
   return tab
-#+end_src
+#+END_SRC
 
 #+results: echo-table
 | a | b | c |
@@ -12904,6 +13781,10 @@ Leaves hlines in the table.  Setting @code{:hlines yes} has this effect.
 
 The @code{:colnames} header argument accepts the values @code{yes},
 @code{no}, or @code{nil} for unassigned.  The default value is @code{nil}.
+Note that the behavior of the @code{:colnames} header argument may differ
+across languages.  For example Emacs Lisp code blocks ignore the
+@code{:colnames} header argument entirely given the ease with which tables
+with column names may be handled directly in Emacs Lisp.
 
 @itemize @bullet
 @item @code{nil}
@@ -12913,16 +13794,16 @@ names will be removed from the table before
 processing, then reapplied to the results.
 
 @example
-#+tblname: less-cols
+#+TBLNAME: less-cols
 | a |
 |---|
 | b |
 | c |
 
-#+srcname: echo-table-again
-#+begin_src python :var tab=less-cols
+#+NAME: echo-table-again
+#+BEGIN_SRC python :var tab=less-cols
   return [[val + '*' for val in row] for row in tab]
-#+end_src
+#+END_SRC
 
 #+results: echo-table-again
 | a  |
@@ -12958,14 +13839,14 @@ The first column of the table is removed from the table before processing,
 and is then reapplied to the results.
 
 @example
-#+tblname: with-rownames
+#+TBLNAME: with-rownames
 | one | 1 | 2 | 3 | 4 |  5 |
 | two | 6 | 7 | 8 | 9 | 10 |
 
-#+srcname: echo-table-once-again
-#+begin_src python :var tab=with-rownames :rownames yes
+#+NAME: echo-table-once-again
+#+BEGIN_SRC python :var tab=with-rownames :rownames yes
   return [[val + 10 for val in row] for row in tab]
-#+end_src
+#+END_SRC
 
 #+results: echo-table-once-again
 | one | 11 | 12 | 13 | 14 | 15 |
@@ -12988,12 +13869,23 @@ permissions of the tangled file are set to make it executable.
 @node eval,  , shebang, Specific header arguments
 @subsubsection @code{:eval}
 The @code{:eval} header argument can be used to limit the evaluation of
-specific code blocks.  @code{:eval} accepts two arguments ``never'' and
-``query''.  @code{:eval never} will ensure that a code block is never
-evaluated, this can be useful for protecting against the evaluation of
-dangerous code blocks.  @code{:eval query} will require a query for every
-execution of a code block regardless of the value of the
-@code{org-confirm-babel-evaluate} variable.
+specific code blocks.  The @code{:eval} header argument can be useful for
+protecting against the evaluation of dangerous code blocks or to ensure that
+evaluation will require a query regardless of the value of the
+@code{org-confirm-babel-evaluate} variable.  The possible values of
+@code{:eval} and their effects are shown below.
+
+@table @code
+@item never or no
+The code block will not be evaluated under any circumstances.
+@item query
+Evaluation of the code block will require a query.
+@item never-export or no-export
+The code block will not be evaluated during export but may still be called
+interactively.
+@item query-export
+Evaluation of the code block during export will require a query.
+@end table
 
 If this header argument is not set then evaluation is determined by the value
 of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation
@@ -13016,7 +13908,7 @@ of the possible results header arguments see @ref{results}.
 @end multitable
 
 Note: With @code{:results value}, the result in both @code{:session} and
-non-session is returned to Org-mode as a table (a one- or two-dimensional
+non-session is returned to Org mode as a table (a one- or two-dimensional
 vector of strings or numbers) when appropriate.
 
 @subsection Non-session
@@ -13062,26 +13954,26 @@ were passed to a non-interactive interpreter running as an external
 process.  For example, compare the following two blocks:
 
 @example
-#+begin_src python :results output
+#+BEGIN_SRC python :results output
  print "hello"
  2
  print "bye"
-#+end_src
+#+END_SRC
 
-#+resname:
+#+results:
 : hello
 : bye
 @end example
 
 In non-session mode, the `2' is not printed and does not appear.
 @example
-#+begin_src python :results output :session
+#+BEGIN_SRC python :results output :session
  print "hello"
  2
  print "bye"
-#+end_src
+#+END_SRC
 
-#+resname:
+#+results:
 : hello
 : 2
 : bye
@@ -13109,7 +14001,8 @@ When a code block is tangled or evaluated, whether or not ``noweb''
 references are expanded depends upon the value of the @code{:noweb} header
 argument.  If @code{:noweb yes}, then a Noweb reference is expanded before
 evaluation.  If @code{:noweb no}, the default, then the reference is not
-expanded before evaluation.
+expanded before evaluation.  See the @ref{noweb-ref} header argument for
+a more flexible way to resolve noweb references.
 
 Note: the default value, @code{:noweb no}, was chosen to ensure that
 correct code is not broken in a language, such as Ruby, where
@@ -13117,11 +14010,17 @@ correct code is not broken in a language, such as Ruby, where
 syntactically valid in languages that you use, then please consider setting
 the default value.
 
+Note: if noweb tangling is slow in large Org-mode files consider setting the
+@code{*org-babel-use-quick-and-dirty-noweb-expansion*} variable to true.
+This will result in faster noweb reference resolution at the expense of not
+correctly resolving inherited values of the @code{:noweb-ref} header
+argument.
+
 @node Key bindings and useful functions, Batch execution, Noweb reference syntax, Working With Source Code
 @section Key bindings and useful functions
 @cindex code block, key bindings
 
-Many common Org-mode key sequences are re-bound depending on
+Many common Org mode key sequences are re-bound depending on
 the context.
 
 Within a code block, the following key bindings
@@ -13138,7 +14037,7 @@ are active:
 @item @kbd{M-@key{down}}  @tab @code{org-babel-pop-to-session}
 @end multitable
 
-In an Org-mode buffer, the following key bindings are active:
+In an Org mode buffer, the following key bindings are active:
 
 @multitable @columnfractions 0.45 0.55
 @kindex C-c C-v a
@@ -13255,7 +14154,7 @@ emacs -Q --batch -l $ORGINSTALL \
 @cindex tag completion
 @cindex link abbreviations, completion of
 
-Emacs would not be Emacs without completion, and Org-mode uses it whenever it
+Emacs would not be Emacs without completion, and Org mode uses it whenever it
 makes sense.  If you prefer an @i{iswitchb}- or @i{ido}-like interface for
 some of the completion prompts, you can specify your preference by setting at
 most one of the variables @code{org-completion-use-iswitchb}
@@ -13290,7 +14189,7 @@ buffer.
 After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}).
 @item
 After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
-@samp{OPTIONS} which set file-specific options for Org-mode.  When the
+@samp{OPTIONS} which set file-specific options for Org mode.  When the
 option keyword is already complete, pressing @kbd{M-@key{TAB}} again
 will insert example settings for this keyword.
 @item
@@ -13306,7 +14205,7 @@ Elsewhere, complete dictionary words using Ispell.
 @cindex template insertion
 @cindex insertion, of templates
 
-Org-mode supports insertion of empty structural elements (like
+Org mode supports insertion of empty structural elements (like
 @code{#+BEGIN_SRC} and @code{#+END_SRC} pairs) with just a few key
 strokes.  This is achieved through a native template expansion mechanism.
 Note that Emacs has several other template mechanisms which could be used in
@@ -13438,7 +14337,7 @@ lines into the buffer (@pxref{In-buffer settings}).
 @cindex in-buffer settings
 @cindex special keywords
 
-Org-mode uses special lines in the buffer to define settings on a
+Org mode uses special lines in the buffer to define settings on a
 per-file basis.  These lines start with a @samp{#+} followed by a
 keyword, a colon, and then individual words defining a setting.  Several
 setting words can be in the same line, but you can also have multiple
@@ -13497,14 +14396,14 @@ buffer, most useful for specifying the allowed values of a property.
 @item #+SETUPFILE: file
 This line defines a file that holds more in-buffer setup.  Normally this is
 entirely ignored.  Only when the buffer is parsed for option-setting lines
-(i.e.@: when starting Org-mode for a file, when pressing @kbd{C-c C-c} in a
+(i.e.@: when starting Org mode for a file, when pressing @kbd{C-c C-c} in a
 settings line, or when exporting), then the contents of this file are parsed
 as if they had been included in the buffer.  In particular, the file can be
-any other Org-mode file with internal setup.  You can visit the file the
+any other Org mode file with internal setup.  You can visit the file the
 cursor is in the line with @kbd{C-c '}.
 @item #+STARTUP:
 @cindex #+STARTUP:
-This line sets options to be used at startup of Org-mode, when an
+This line sets options to be used at startup of Org mode, when an
 Org file is being visited.
 
 The first set of options deals with the initial visibility of the outline
@@ -13527,7 +14426,7 @@ showeverything   @r{show even drawer contents}
 @cindex @code{indent}, STARTUP keyword
 @cindex @code{noindent}, STARTUP keyword
 Dynamic virtual indentation is controlled by the variable
-@code{org-startup-indented}@footnote{Emacs 23 and Org-mode 6.29 are required}
+@code{org-startup-indented}@footnote{Emacs 23 and Org mode 6.29 are required}
 @example
 indent     @r{start with @code{org-indent-mode} turned on}
 noindent   @r{start with @code{org-indent-mode} turned off}
@@ -13748,6 +14647,8 @@ ordered list.
 @item
 If the cursor is on the @code{#+BEGIN} line of a dynamic block, the
 block is updated.
+@item
+If the cursor is at a timestamp, fix the day name in the timestamp.
 @end itemize
 
 @node Clean view, TTY keys, The very busy C-c C-c key, Miscellaneous
@@ -13956,11 +14857,11 @@ setup.  See the installation instructions in the file
 @item @file{cdlatex.el} by Carsten Dominik
 @cindex @file{cdlatex.el}
 @cindex Dominik, Carsten
-Org-mode can make use of the CDLa@TeX{} package to efficiently enter
+Org mode can make use of the CD@LaTeX{} package to efficiently enter
 @LaTeX{} fragments into Org files.  See @ref{CDLaTeX mode}.
 @item @file{imenu.el} by Ake Stenhoff and Lars Lindberg
 @cindex @file{imenu.el}
-Imenu allows menu access to an index of items in a file.  Org-mode
+Imenu allows menu access to an index of items in a file.  Org mode
 supports Imenu---all you need to do to get the index is the following:
 @lisp
 (add-hook 'org-mode-hook
@@ -13977,7 +14878,7 @@ Org used to use this package for capture, but no longer does.
 @cindex @file{speedbar.el}
 @cindex Ludlam, Eric M.
 Speedbar is a package that creates a special frame displaying files and
-index items in files.  Org-mode supports Speedbar and allows you to
+index items in files.  Org mode supports Speedbar and allows you to
 drill into Org files directly from the Speedbar.  It also allows you to
 restrict the scope of agenda commands to a file or a subtree by using
 the command @kbd{<} in the Speedbar frame.
@@ -13991,8 +14892,8 @@ the command @kbd{<} in the Speedbar frame.
 Complex ASCII tables with automatic line wrapping, column- and row-spanning,
 and alignment can be created using the Emacs table package by Takaaki Ota
 (@uref{http://sourceforge.net/projects/table}, and also part of Emacs 22).
-Org-mode will recognize these tables and export them properly.  Because of
-interference with other Org-mode functionality, you unfortunately cannot edit
+Org mode will recognize these tables and export them properly.  Because of
+interference with other Org mode functionality, you unfortunately cannot edit
 these tables directly in the buffer.  Instead, you need to use the command
 @kbd{C-c '} to edit them, similar to source code snippets.
 
@@ -14002,7 +14903,7 @@ Edit a @file{table.el} table.  Works when the cursor is in a table.el table.
 @c
 @orgcmd{C-c ~,org-table-create-with-table.el}
 Insert a @file{table.el} table.  If there is already a table at point, this
-command converts it between the @file{table.el} format and the Org-mode
+command converts it between the @file{table.el} format and the Org mode
 format.  See the documentation string of the command
 @code{org-convert-table} for the restrictions under which this is
 possible.
@@ -14011,13 +14912,13 @@ possible.
 @item @file{footnote.el} by Steven L. Baur
 @cindex @file{footnote.el}
 @cindex Baur, Steven L.
-Org-mode recognizes numerical footnotes as provided by this package.
-However, Org-mode also has its own footnote support (@pxref{Footnotes}),
+Org mode recognizes numerical footnotes as provided by this package.
+However, Org mode also has its own footnote support (@pxref{Footnotes}),
 which makes using @file{footnote.el} unnecessary.
 @end table
 
 @node Conflicts,  , Cooperation, Interaction
-@subsection Packages that lead to conflicts with Org-mode
+@subsection Packages that lead to conflicts with Org mode
 
 @table @asis
 
@@ -14029,7 +14930,7 @@ This conflicts with the use of @kbd{S-@key{cursor}} commands in Org to change
 timestamps, TODO keywords, priorities, and item bullet types if the cursor is
 at such a location.  By default, @kbd{S-@key{cursor}} commands outside
 special contexts don't do anything, but you can customize the variable
-@code{org-support-shift-select}.  Org-mode then tries to accommodate shift
+@code{org-support-shift-select}.  Org mode then tries to accommodate shift
 selection by (i) using it outside of the special contexts where special
 commands apply, and by (ii) extending an existing active region even if the
 cursor moves across a special context.
@@ -14044,7 +14945,7 @@ region.  In fact, Emacs 23 has this built-in in the form of
 @code{shift-selection-mode}, see previous paragraph.  If you are using Emacs
 23, you probably don't want to use another package for this purpose.  However,
 if you prefer to leave these keys to a different package while working in
-Org-mode, configure the variable @code{org-replace-disputed-keys}.  When set,
+Org mode, configure the variable @code{org-replace-disputed-keys}.  When set,
 Org will move the following key bindings in Org files, and in the agenda
 buffer (but not during date selection).
 
@@ -14069,7 +14970,7 @@ fixed this problem:
 (add-hook 'org-mode-hook
           (lambda ()
             (org-set-local 'yas/trigger-key [tab])
-            (define-key yas/keymap [tab] 'yas/next-field-group)))
+            (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand)))
 @end lisp
 
 The latest version of yasnippet doesn't play well with Org mode.  If the
@@ -14096,7 +14997,7 @@ Then, tell Org mode what to do with the new function:
 @cindex @file{windmove.el}
 This package also uses the @kbd{S-<cursor>} keys, so everything written
 in the paragraph above about CUA mode also applies here.  If you want make
-the windmove function active in locations where Org-mode does not have
+the windmove function active in locations where Org mode does not have
 special functionality on @kbd{S-@key{cursor}}, add this to your
 configuration:
 
@@ -14112,7 +15013,7 @@ configuration:
 @cindex @file{viper.el}
 @kindex C-c /
 Viper uses @kbd{C-c /} and therefore makes this key not access the
-corresponding Org-mode command @code{org-sparse-tree}.  You need to find
+corresponding Org mode command @code{org-sparse-tree}.  You need to find
 another key for this command, or override the key in
 @code{viper-vi-global-user-map} with
 
@@ -14197,7 +15098,7 @@ maintained by the Worg project and can be found at
 
 A large number of add-on packages have been written by various authors.
 These packages are not part of Emacs, but they are distributed as contributed
-packages with the separate release available at the Org-mode home page at
+packages with the separate release available at the Org mode home page at
 @uref{http://orgmode.org}.  The list of contributed packages, along with
 documentation about each package, is maintained by the Worg project at
 @uref{http://orgmode.org/worg/org-contrib/}.
@@ -14321,7 +15222,7 @@ Add-ons can tap into this functionality by providing a function that detects
 special context for that add-on and executes functionality appropriate for
 the context.  Here is an example from Dan Davison's @file{org-R.el} which
 allows you to evaluate commands based on the @file{R} programming language
-@footnote{@file{org-R.el} has been replaced by the org-mode functionality
+@footnote{@file{org-R.el} has been replaced by the Org mode functionality
 described in @ref{Working With Source Code} and is now obsolete.}.  For this
 package, special contexts are lines that start with @code{#+R:} or
 @code{#+RR:}.
@@ -14374,12 +15275,12 @@ can use Org's facilities to edit and structure lists by turning
 
 @menu
 * Radio tables::                Sending and receiving radio tables
-* A LaTeX example::             Step by step, almost a tutorial
+* A @LaTeX{} example::          Step by step, almost a tutorial
 * Translator functions::        Copy and modify
 * Radio lists::                 Doing the same for lists
 @end menu
 
-@node Radio tables, A LaTeX example, Tables in arbitrary syntax, Tables in arbitrary syntax
+@node Radio tables, A @LaTeX{} example, Tables in arbitrary syntax, Tables in arbitrary syntax
 @subsection Radio tables
 @cindex radio tables
 
@@ -14447,7 +15348,7 @@ makes this comment-toggling very easy, in particular if you bind it to a
 key.
 @end itemize
 
-@node A LaTeX example, Translator functions, Radio tables, Tables in arbitrary syntax
+@node A @LaTeX{} example, Translator functions, Radio tables, Tables in arbitrary syntax
 @subsection A @LaTeX{} example of radio tables
 @cindex @LaTeX{}, and Orgtbl mode
 
@@ -14557,7 +15458,7 @@ applied.  Similar to @code{fmt}, functions of two arguments can be
 supplied instead of strings.
 @end table
 
-@node Translator functions, Radio lists, A LaTeX example, Tables in arbitrary syntax
+@node Translator functions, Radio lists, A @LaTeX{} example, Tables in arbitrary syntax
 @subsection Translator functions
 @cindex HTML, and Orgtbl mode
 @cindex translator function
@@ -14877,7 +15778,7 @@ You may also modify parameters on the fly like this:
 @example
 emacs -batch -l ~/.emacs                                      \
    -eval '(org-batch-agenda "a"                               \
-            org-agenda-span month                             \
+            org-agenda-span (quote month)                     \
             org-agenda-include-diary nil                      \
             org-agenda-files (quote ("~/org/project.org")))'  \
    | lpr
@@ -15139,7 +16040,7 @@ The following example counts the number of entries with TODO keyword
 
 @uref{http://mobileorg.ncogni.to/, MobileOrg} is an application for the
 @i{iPhone/iPod Touch} series of devices, developed by Richard Moreland.
-@i{MobileOrg} offers offline viewing and capture support for an Org-mode
+@i{MobileOrg} offers offline viewing and capture support for an Org mode
 system rooted on a ``real'' computer.  It does also allow you to record
 changes to existing entries.  Android users should check out
 @uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android}
@@ -15168,7 +16069,7 @@ in-buffer settings, but it will understand the logistics of TODO state
 
 MobileOrg needs to interact with Emacs through a directory on a server.  If you
 are using a public server, you should consider to encrypt the files that are
-uploaded to the server.  This can be done with Org-mode 7.02 and with
+uploaded to the server.  This can be done with Org mode 7.02 and with
 @i{MobileOrg 1.5} (iPhone version), and you need an @file{openssl}
 installation on your system.  To turn on encryption, set a password in
 @i{MobileOrg} and, on the Emacs side, configure the variable
@@ -15191,7 +16092,7 @@ Emacs about it:
 (setq org-mobile-directory "~/Dropbox/MobileOrg")
 @end lisp
 
-Org-mode has commands to put files for @i{MobileOrg} into that directory,
+Org mode has commands to put files for @i{MobileOrg} into that directory,
 and to read captured notes from there.
 
 @node Pushing to MobileOrg, Pulling from MobileOrg, Setting up the staging area, MobileOrg
@@ -15204,7 +16105,7 @@ can be included by customizing @code{org-mobile-files}.  File names will be
 staged with paths relative to @code{org-directory}, so all files should be
 inside this directory.  The push operation also creates a special Org file
 @file{agendas.org} with all custom agenda view defined by the
-user@footnote{While creating the agendas, Org-mode will force ID properties
+user@footnote{While creating the agendas, Org mode will force ID properties
 on all referenced entries, so that these entries can be uniquely identified
 if @i{MobileOrg} flags them for further action.  If you do not want to get
 these properties in so many entries, you can set the variable
@@ -15305,7 +16206,7 @@ Before I get to this list, a few special mentions are in order:
 @table @i
 @item Bastien Guerry
 Bastien has written a large number of extensions to Org (most of them
-integrated into the core by now), including the LaTeX exporter and the plain
+integrated into the core by now), including the @LaTeX{} exporter and the plain
 list parser.  His support during the early days, when he basically acted as
 co-maintainer, was central to the success of this project.  Bastien also
 invented Worg, helped establishing the Web presence of Org, and sponsors
@@ -15340,13 +16241,13 @@ know what I am missing here!
 @i{Thomas Baumann} wrote @file{org-bbdb.el} and @file{org-mhe.el}.
 @item
 @i{Christophe Bataillon} created the great unicorn logo that we use on the
-Org-mode website.
+Org mode website.
 @item
 @i{Alex Bochannek} provided a patch for rounding timestamps.
 @item
 @i{Jan Böcker} wrote @file{org-docview.el}.
 @item
-@i{Brad Bozarth} showed how to pull RSS feed data into Org-mode files.
+@i{Brad Bozarth} showed how to pull RSS feed data into Org mode files.
 @item
 @i{Tom Breton} wrote @file{org-choose.el}.
 @item
@@ -15522,7 +16423,7 @@ tweaks and features.
 extension system, added support for mairix, and proposed the mapping API.
 @item
 @i{Ulf Stegemann} created the table to translate special symbols to HTML,
-LaTeX, UTF-8, Latin-1 and ASCII.
+@LaTeX{}, UTF-8, Latin-1 and ASCII.
 @item
 @i{Andy Stewart} contributed code to @file{org-w3m.el}, to copy HTML content
 with links transformation to Org syntax.
@@ -15530,10 +16431,10 @@ with links transformation to Org syntax.
 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
 chapter about publishing.
 @item
-@i{Jambunathan K} contributed the OpenDocumentText exporter.
+@i{Jambunathan K} contributed the @acronym{ODT} exporter.
 @item
-@i{Sebastien Vauban} reported many issues with LaTeX and BEAMER export and
-enabled source code highlighting in Gnus.
+@i{Sebastien Vauban} reported many issues with @LaTeX{} and BEAMER export and
+enabled source code highlighling in Gnus.
 @item
 @i{Stefan Vollmar} organized a video-recorded talk at the
 Max-Planck-Institute for Neurology.  He also inspired the creation of a
index d4f82b6b3a72446ccceee101a18c2877c427c057..32d2114f5a066fd9b8877d02403b113dd2727ac4 100644 (file)
@@ -6,7 +6,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 1991-2011
+Copyright @copyright{} 1991-2012
 Free Software Foundation, Inc.
 
 @quotation
index 0de12577b2d05f59945be73ce964a960f303aa46..5aa9b1eb230794356a42358c38cd7165f91aaac7 100644 (file)
@@ -11,7 +11,7 @@
 This file describes PGG @value{VERSION}, an Emacs interface to various
 PGP implementations.
 
-Copyright @copyright{} 2001, 2003-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2003-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 3e9ee928822b9f69eddb45d7680bf74bd906b06e..0174c3fa87f6ef1e4a90d331aa9bf10d3f75d720 100644 (file)
@@ -5,7 +5,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2006-2011
+Copyright @copyright{} 2006-2012
 Free Software Foundation, Inc.
 
 @quotation
@@ -524,7 +524,7 @@ your full name, you might want to set it to some pseudonym.
 
 @item rcirc-authinfo
 @vindex rcirc-authinfo
-@cindex authentification
+@cindex authentication
 @cindex identification
 @cindex nickserv
 @cindex login
@@ -547,7 +547,7 @@ And here are the valid method symbols and the arguments they require:
 
 @table @code
 @item nickserv
-@cindex nickserv authentification
+@cindex nickserv authentication
 Use this symbol if you need to identify yourself as follows when
 connecting to a network: @code{/msg nickserv identify secret}.  The
 necessary arguments are the nickname you want to use this for, and the
@@ -558,7 +558,7 @@ pick a password for it.  Contact @code{nickserv} and check out the
 details.  (Using @code{/msg nickserv help}, for example.)
 
 @item chanserv
-@cindex chanserv authentification
+@cindex chanserv authentication
 Use this symbol if you need to identify yourself as follows if you want
 to join a particular channel: @code{/msg chanserv identify #underground
 secret}.  The necessary arguments are the nickname and channel you want
@@ -569,7 +569,7 @@ the password to use.  Contact @code{chanserv} and check out the details.
 (Using @code{/msg chanserv help}, for example.)
 
 @item bitlbee
-@cindex bitlbee authentification
+@cindex bitlbee authentication
 Use this symbol if you need to identify yourself in the Bitlbee channel
 as follows: @code{identify secret}.  The necessary arguments are the
 nickname you want to use this for, and the password to use.
@@ -585,7 +585,7 @@ Bitlbee acts like an IRC server, but in fact it is a gateway to a lot of
 other instant messaging services.  You can either install Bitlbee
 locally or use a public Bitlbee server.  There, you need to create an
 account with a password.  This is the nick and password you need to
-provide for the bitlbee authentification method.
+provide for the bitlbee authentication method.
 
 Later, you will tell Bitlbee about your accounts and passwords on all
 the other instant messaging services, and Bitlbee will log you in.  All
index 3944b712338bcc817afb7205b26bad0edea01281..28d0e9cc80c9858e92ee0d831dfafefc183a33bc 100644 (file)
@@ -27,7 +27,7 @@ citations and indices for LaTeX documents with Emacs.
 This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for
 @b{Ref@TeX{}} @value{VERSION}
 
-Copyright @copyright{} 1997-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1997-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -90,7 +90,7 @@ Don't be discouraged by the size of this manual, which covers
 Nutshell}).  You can go back later to other parts of this document when
 needed.
 
-@insertcopying 
+@insertcopying
 
 @menu
 * Introduction::                     Quick-Start information.
@@ -157,7 +157,7 @@ Citations
 * Citation Info::                    View the corresponding database entry.
 * Chapterbib and Bibunits::          Multiple bibliographies in a Document.
 * Citations Outside LaTeX::          How to make citations in Emails etc.
-* BibTeX Database Subsets::          Extract parts of a big database. 
+* BibTeX Database Subsets::          Extract parts of a big database.
 
 Index Support
 
@@ -1672,7 +1672,7 @@ support for citations helps to select the correct key quickly.
 * Citation Info::                    View the corresponding database entry.
 * Chapterbib and Bibunits::          Multiple bibliographies in a Document.
 * Citations Outside LaTeX::          How to make citations in Emails etc.
-* BibTeX Database Subsets::          Extract parts of a big database. 
+* BibTeX Database Subsets::          Extract parts of a big database.
 @end menu
 
 @node Creating Citations, Citation Styles, , Citations
@@ -1776,12 +1776,12 @@ separate @code{\cite} macro for each of it.
 @item e
 Create a new BibTeX database file which contains all @i{marked} entries
 in the selection buffer.  If no entries are marked, all entries are
-selected. 
+selected.
 
 @item E
 Create a new BibTeX database file which contains all @i{unmarked}
 entries in the selection buffer.  If no entries are marked, all entries
-are selected. 
+are selected.
 
 @item @key{TAB}
 Enter a citation key with completion.  This may also be a key which does
@@ -3215,7 +3215,7 @@ way.
 
 Before calling a @b{Ref@TeX{}} function, the style hook should always
 test for the availability of the function, so that the style file will
-also work for people who do not use @b{Ref@TeX{}}. 
+also work for people who do not use @b{Ref@TeX{}}.
 
 Additions made with style files in the way described below remain local
 to the current document.  For example, if one package uses AMSTeX, the
@@ -3714,7 +3714,7 @@ Produce a list of all duplicate labels in the document.
 Create a new BibTeX database file with all entries referenced in document.
 The command prompts for a filename and writes the collected entries to
 that file.  Only entries referenced in the current document with
-any @code{\cite}-like macros are used. 
+any @code{\cite}-like macros are used.
 The sequence in the new file is the same as it was in the old database.
 @end deffn
 
@@ -3819,7 +3819,7 @@ only in that frame.  So when creating that frame (with @kbd{d} key in an
 ordinary TOC window), the automatic recentering is turned on.  When the
 frame gets destroyed, automatic recentering is turned off again.
 
-This feature can be turned on and off from the menu 
+This feature can be turned on and off from the menu
 (Ref->Options).
 @end defopt
 
@@ -4095,7 +4095,7 @@ Possible values for this option are:
 t       @r{This means to trust any label prefixes found.}
 regexp  @r{If a regexp, only prefixes matched by the regexp are trusted.}
 list    @r{List of accepted prefixes, as strings.  The colon is part of}
-        @r{the prefix, e.g. ("fn:" "eqn:" "item:").}   
+        @r{the prefix, e.g. ("fn:" "eqn:" "item:").}
 nil     @r{Never trust a label prefix.}
 @end example
 The only disadvantage of using this feature is that the label context
@@ -5179,11 +5179,11 @@ Fixed bug with @samp{%F} in a label prefix.  Added new escapes
 
 @noindent @b{Version 4.24}
 @itemize @bullet
-@item 
+@item
 Inserting citation commands now prompts for optional arguments
 when called with a prefix argument.  Related new options are
 @code{reftex-cite-prompt-optional-args} and
-@code{reftex-cite-cleanup-optional-args}. 
+@code{reftex-cite-cleanup-optional-args}.
 @item
 New option @code{reftex-trust-label-prefix}.  Configure this variable
 if you'd like RefTeX to base its classification of labels on prefixes.
@@ -5199,7 +5199,7 @@ after words.  Disabled indexing in comment lines.
 
 @noindent @b{Version 4.22}
 @itemize @bullet
-@item 
+@item
 New command @code{reftex-create-bibtex-file} to create a new database
 with all entries referenced in the current document.
 @item
@@ -5209,7 +5209,7 @@ from entries marked in a citation selection buffer.
 
 @noindent @b{Version 4.21}
 @itemize @bullet
-@item 
+@item
 Renaming labels from the toc buffer with key @kbd{M-%}.
 @end itemize
 
@@ -5342,7 +5342,7 @@ default stuff which has been moved to a constant.
 @item
 Environments like theorems can be placed into the TOC by putting
 entries for @samp{"begin@{theorem@}"} in
-@code{reftex-setion-levels}.
+@code{reftex-section-levels}.
 @end itemize
 
 @noindent @b{Version 4.06}
@@ -5425,7 +5425,7 @@ File search further refined.  New option @code{reftex-file-extensions}.
 document, all labels and associated context.  New keys @kbd{i}, @kbd{l},
 and @kbd{c}.  New options @code{reftex-toc-include-labels},
 @code{reftex-toc-include-context},
-@code{reftex-toc-include-file-boundaries}. 
+@code{reftex-toc-include-file-boundaries}.
 @end itemize
 
 @noindent @b{Version 3.41}
index e67d6155bbe0d3c6e1a079a29f2bff20e83a2a7e..a04ba53443dcdde9518c438fc7e66c30cb1f051f 100644 (file)
@@ -8,7 +8,7 @@
 @copying
 This manual is for Remember Mode, version 1.9
 
-Copyright @copyright{} 2001, 2004-2005, 2007-2011
+Copyright @copyright{} 2001, 2004-2005, 2007-2012
 Free Software Foundation, Inc.
 
 @quotation
index a75b237519cb142e4993942db7605c481937c214..a31d9ca5e38d3e34f76d052ddb018421a742e5d4 100644 (file)
@@ -10,7 +10,7 @@
 @copying
 This file describes the Emacs SASL library, version @value{VERSION}.
 
-Copyright @copyright{} 2000, 2004-2011
+Copyright @copyright{} 2000, 2004-2012
 Free Software Foundation, Inc.
 
 @quotation
index 37ccc4045be8331f36550ca1dfce9996c9a797c8..6874828d42713c1b9b26d0771614e347f89b6b1f 100644 (file)
@@ -14,7 +14,7 @@
 This document describes Supercite, an Emacs package for citing and
 attributing replies to mail and news messages.
 
-Copyright @copyright{} 1993, 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1993, 2001-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index e1631bcacc834c629a00f7314592ddbde7f80247..1984d69a695d5f5e4e53758ddd4c6802131b439d 100644 (file)
@@ -1,6 +1,6 @@
 @c This file is included by semantic.texi
 
-@c Copyright (C) 1999-2005, 2007, 2009-2011  Free Software Foundation, Inc.
+@c Copyright (C) 1999-2005, 2007, 2009-2012  Free Software Foundation, Inc.
 
 @c Permission is granted to copy, distribute and/or modify this
 @c document under the terms of the GNU Free Documentation License,
index dcfff1fcb96968c7d514d9828477354881dee9df..ad8392c208bd91020c079d3c5857e62c9edbc5c7 100644 (file)
@@ -24,7 +24,7 @@
 @copying
 This manual documents the Semantic library and utilities.
 
-Copyright @copyright{} 1999-2005, 2007, 2009-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2005, 2007, 2009-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -380,7 +380,7 @@ with the search results format.
 
 @item semanticdb-ref.el
 Tracks crossreferences.   Cross references are needed when buffer is
-reparsed, and must alert other tables that any dependant caches may
+reparsed, and must alert other tables that any dependent caches may
 need to be flushed.  References are in the form of include files.
 
 @end table
@@ -536,7 +536,7 @@ the buffer.
 
 @item bovine parser
 A parser using the bovine parser generator.  It is an LL parser
-suitible for small simple languages.
+suitable for small simple languages.
 
 @item context
 
index 8300e6511a6c6c5e688eb2542e868856e37be5ec..8cd2ee813ec1920b2755b686b32580a71ad1e2f6 100644 (file)
@@ -11,7 +11,7 @@
 @copying
 This file documents SES: the Simple Emacs Spreadsheet.
 
-Copyright @copyright{} 2002-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2002-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 64fd92f40ca8b1ae459ac6f615c0914eed998c13..d13f25c2a55f1ba2f23c5d75e483f57b0ed7bb87 100644 (file)
@@ -11,7 +11,7 @@
 @copying
 This file documents the Emacs Sieve package, for server-side mail filtering.
 
-Copyright @copyright{} 2001-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 2001-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 854be0d0012523ec54533a384d6fbeadf13b3b80..af09783f445eb8d1202dcfd1761c46439415e940 100644 (file)
@@ -3,7 +3,7 @@
 @settitle Emacs SMTP Library
 @syncodeindex vr fn
 @copying
-Copyright @copyright{} 2003-2011
+Copyright @copyright{} 2003-2012
 Free Software Foundation, Inc.
 
 @quotation
index 9dc47e4574c93b99c58089811656694b5a4f2749..6604dc5f0d07e85510a0562592bff497ca46c73e 100644 (file)
@@ -4,7 +4,7 @@
 @syncodeindex fn cp
 
 @copying
-Copyright @copyright{} 1999-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 1cea074fa2bb7df3cfc917cb290b2e9bb5e0f651..41ba6689f13ecbdeffd5f275843ea6b92d947b25 100644 (file)
@@ -37,7 +37,7 @@
 @end macro
 
 @copying
-Copyright @copyright{} 1999-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 63dc78dc4e840cc59da2e93c8682f4f59f9c3b61..b4fb5f9aa6a6f730adbbde375091ab59110575df 100644 (file)
@@ -2,7 +2,7 @@
 @c texi/trampver.texi.  Generated from trampver.texi.in by configure.
 
 @c This is part of the Emacs manual.
-@c Copyright (C) 2003-2011 Free Software Foundation, Inc.
+@c Copyright (C) 2003-2012 Free Software Foundation, Inc.
 @c See file doclicense.texi for copying conditions.
 
 @c In the Tramp CVS, the version number is auto-frobbed from
index 42594457ab111ff62d62440fa796a6d2b1b57f18..6464fba53b4a6a1e563032af028076198eed7586 100644 (file)
@@ -20,7 +20,7 @@
 @copying
 This file documents the Emacs Lisp URL loading package.
 
-Copyright @copyright{} 1993-1999, 2002, 2004-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1993-1999, 2002, 2004-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 03ca65882e54ed259e01c5c329e726e6e6805122..4b4bbfe5091e71e5c8056f245b2aa4c1cd2cb81d 100644 (file)
@@ -3,7 +3,7 @@
 @settitle VIP
 
 @copying
-Copyright @copyright{} 1987, 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1987, 2001-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 1f0dffee5b4c343f40cb60422f541403b61cf79d..a660cfb6b9d514a8672e5264a162e21d6f28248a 100644 (file)
@@ -7,7 +7,7 @@
 @setfilename ../../info/viper
 
 @copying
-Copyright @copyright{} 1995-1997, 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1995-1997, 2001-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index a778f491e76668847a273c91944b090e3b183da1..24fe3e63ac9551d7f0ef0462a371bcf3cbcf70db 100644 (file)
@@ -8,7 +8,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2000-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2012  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index c869d1a46c7027f5ff5cc183cc49329a08ff5020..1ad741d3d30752e8c285a06def3739778b84ad32 100644 (file)
@@ -18,7 +18,7 @@
 This file documents WoMan: A program to browse Unix manual pages `W.O.
 (without) man'.
 
-Copyright @copyright{} 2001-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2001-2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index b7929dbf4533ea60d4f74a9fb31c542710c7fecc..0c86e2b199abef7935fc0273be0a10d4e9773fb4 100644 (file)
@@ -3429,7 +3429,7 @@ Steve Nygard: changed unexnext.c
 
 Steve Purcell: changed nnimap.el
 
-Steve Strassman: wrote spook.el
+Steve Strassmann: wrote spook.el
 
 Steve Youngs: changed mh-utils.el mh-xemacs-compat.el mh-customize.el
   mh-e.el mh-comp.el mh-mime.el dns.el gnus-art.el browse-url.el
index 990335a3f772934fb723492dd8f8ec7f4e451282..06b9a9e45a5120ee7197f18093e9db1afe41b504 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 2006-2012  Free Software Foundation, Inc.
 See end for license conditions.
 
 
index 758025c6c3e41ed32ba29dd7bd24437142e9d700..2fa4aee83639b45e6e629e5142691a92d970bccd 100644 (file)
@@ -1,3 +1,45 @@
+2012-01-05  Glenn Morris  <rgm@gnu.org>
+
+       * refcards/calccard.tex, refcards/cs-dired-ref.tex:
+       * refcards/cs-refcard.tex, refcards/cs-survival.tex:
+       * refcards/de-refcard.tex, refcards/dired-ref.tex:
+       * refcards/fr-dired-ref.tex, refcards/fr-refcard.tex:
+       * refcards/fr-survival.tex, refcards/pl-refcard.tex:
+       * refcards/pt-br-refcard.tex, refcards/refcard.tex:
+       * refcards/ru-refcard.tex, refcards/sk-dired-ref.tex:
+       * refcards/sk-refcard.tex, refcards/sk-survival.tex:
+       * refcards/survival.tex: Bump version number to 24.
+
+       * refcards/calccard.tex, refcards/cs-dired-ref.tex:
+       * refcards/cs-refcard.tex, refcards/cs-survival.tex:
+       * refcards/de-refcard.tex, refcards/dired-ref.tex:
+       * refcards/fr-dired-ref.tex, refcards/fr-refcard.tex:
+       * refcards/fr-survival.tex, refcards/orgcard.tex:
+       * refcards/pl-refcard.tex, refcards/pt-br-refcard.tex:
+       * refcards/refcard.tex, refcards/ru-refcard.tex:
+       * refcards/sk-dired-ref.tex, refcards/sk-refcard.tex:
+       * refcards/sk-survival.tex, refcards/survival.tex:
+       * refcards/vipcard.tex, refcards/viperCard.tex:
+       Update short copyright year to 2012.
+
+2012-01-04 Chong Yidong  <cyd@stupidchicken.com>
+
+       * org/README: Rename from COPYRIGHT-AND-LICENSE.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org/OrgOdtContentTemplate.xml, org/OrgOdtStyles.xml: New files.
+
+2012-01-03  Bastien Guerry  <bzg@altern.org>
+
+       * org/COPYRIGHT-AND-LICENSE: New file.
+
+       * org/: New directory.
+
+2012-01-03  Julian Gehring  <julian.gehring@googlemail.com>
+
+       * refcards/orgcard.tex: Correct one markup in the "Timestamps" section.
+
 2011-12-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * NEWS: Mention auth-source twice in connection with smtpmail to
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1993-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 625a76ac952128280873e4bfb009a9ec8bc73c17..20bdd6cdbdc4b99da85b5faf35d4707188651df4 100644 (file)
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -1,6 +1,6 @@
 Debugging GNU Emacs
 
-Copyright (C) 1985, 2000-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 2000-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index cc121105073d618f52f8e0a64960b6543fb60e4a..7a724c97a951a067de159bda689f68592f70a75a 100644 (file)
@@ -1,7 +1,7 @@
                                                -*- text -*-
             GNU Emacs availability information
 
-Copyright (C) 1986-1993, 1995, 1998, 2000-2011  Free Software Foundation, Inc.
+Copyright (C) 1986-1993, 1995, 1998, 2000-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 14d2a22e9f9fbb5fc5993e31743e2a08baf3463e..68b4e7e8168836d140e8bdc36a92c148008c022a 100644 (file)
@@ -1,6 +1,6 @@
 ERC NEWS                                                       -*- outline -*-
 
-Copyright (C) 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 2006-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 * Changes in ERC 5.3
index 333465b7a411feca4887ac1d977a23f10fa6a24b..2b4857b747a46926b4b2f9e50b7b67a250351cad 100644 (file)
@@ -94,7 +94,7 @@ those.
 
 ===================== end of discussion of tag names =====================
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 COPYING PERMISSIONS:
 
index fd9636c97340aa3c01af1b054c1b9f903fdafebd..39045719b1ce1c142edc6b4f6f3ae7687cc9822d 100644 (file)
@@ -28,7 +28,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2011
+Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2012
   Free Software Foundation, Inc.
 
 This file is not considered part of GNU Emacs.
diff --git a/etc/GNU b/etc/GNU
index 97ad4aa9d4b64476b1e804845470a8c64ae27a5a..45f36465da5e1ce68dadd17d06c09c71840023d2 100644 (file)
--- a/etc/GNU
+++ b/etc/GNU
@@ -1,4 +1,4 @@
-Copyright (C) 1985, 1993, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1993, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
 of this document, in any medium, provided that the copyright notice and
index 3192a58ce90d9fa38883365149bf2e947d6f13e1..086e44f2bba36c1b7caa91045741196fdc24e7d4 100644 (file)
@@ -1,6 +1,6 @@
 GNUS NEWS -- history of user-visible changes.
 
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Gnus bug reports to bugs@gnus.org.
index d330bc8625c7d0750f1dfb735ec64cc6ade491b7..d95f010aa6eb28261c24d1298631e8ed25d134e9 100644 (file)
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -72,7 +72,7 @@ Korean (\e$(CGQ1[\e(B)  \e$(C>H3gGO<<?d\e(B / \e$(C>H3gGO=J4O1n\e(B
 
 \f
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 1e68376b94a08f46fc7416d06d82307ddb69a58e..695bc092e9e01ff4ecaf74a8f1b0071cf2b9b3e8 100644 (file)
@@ -1,6 +1,6 @@
 Emacs machines list
 
-Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2011
+Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2012
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
index 98f105118350b755a3208d584ee91f1c72637a15..33e4ff0365784b43b502fd523f96cbe669f68bcf 100644 (file)
@@ -318,7 +318,7 @@ mode: outline
 fill-column: 72
 End:
 
-Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
     Permission is hereby granted, free of charge, to any person obtaining
     a copy of this file, to deal in the file without restriction, including
index f02b795a6b9c7ea0ec7350ff036f7edb913dec59..aca5781fe35c6a4085903d2a096424cb11acd5f5 100644 (file)
@@ -1,6 +1,6 @@
 * COPYRIGHT
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 * Changes in MH-E 8.3.1
@@ -39,6 +39,16 @@ addition of "trunk."
 The `mh-showing-mode' variable is now defined with `define-minor-mode'
 (closes SF #482666).
 
+*** Desktop fails to restore MH-Folder buffers
+
+When restoring MH folders from ".emacs.desktop", Emacs now opens them in
+the expected `mh-folder' mode instead of `dired-mode' (closes SF #1510145)
+
+*** *MH-E Log* buffer can point to removed directory
+This was caused by using `set-buffer' instead of
+`with-current-buffer.' This has been fixed thanks to Stefan Monnier
+(closes SF #1903293).
+
 \f
 
 * Changes in MH-E 8.2
index d876b6df504bbcfbefa08130ce8514981c595e90..84a34d24585cb679b11f78d7d95a7be8c87949a4 100644 (file)
@@ -1,6 +1,6 @@
 More Neat Stuff for your Emacs
 
-Copyright (C) 1993, 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993, 1999, 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 This file describes GNU Emacs programs and resources that are
index d778fe3e5208b0f40066d37e683b8155720ca972..0b0e5e571aaef98b62d867a212df5d7781e1322c 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2010-2011  Free Software Foundation, Inc.
+Copyright (C) 2010-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -97,10 +97,10 @@ and also when HOME is set to C:\ by default.
 ** Completion
 
 *** shell-mode uses pcomplete rules, with the standard completion UI.
-
++++
 *** Many packages have been changed to use `completion-at-point'
 rather than their own completion code.
-
++++
 *** `completion-at-point' now handles tags and semantic completion.
 ---
 *** Completion in a non-minibuffer now tries to detect the end of completion
@@ -116,7 +116,8 @@ and pops down the *Completions* buffer accordingly.
 
 ** Mail changes
 
-The default of `send-mail-function' is now `sendmail-query-once',
++++
+*** The default of `send-mail-function' is now `sendmail-query-once',
 which asks the user (once) whether to use the smtpmail package to send
 email, or to use the old defaults that rely on external mail
 facilities (`sendmail-send-it' on GNU/Linux and other Unix-like
@@ -156,14 +157,12 @@ If you had that set, then you need to put
 
 in your ~/.authinfo file instead.
 
-*** sendmail changes
+*** Mail mode changes (this is the old Mail mode, not Message mode)
 +++
-You can now add MIME attachments to outgoing messages with the new
-command `mail-add-attachment'.
-
+**** New command `mail-add-attachment' for adding MIME attachments
 ---
-The command `mail-attach-file' was renamed to `mail-insert-file'; the
-old name is now an obsolete alias to the new name.
+**** The command `mail-attach-file' was renamed to `mail-insert-file'.
+The old name is now an obsolete alias to the new name.
 
 ** Emacs server and client changes
 +++
@@ -342,14 +341,14 @@ automatically when Emacs starts up.  To disable this, set
 loaded, customize `package-load-list'.
 
 ** Custom Themes
-
++++
 *** `M-x customize-themes' lists Custom themes which can be enabled.
-
++++
 *** New option `custom-theme-load-path' is the load path for themes.
 Emacs no longer looks for custom themes in `load-path'.  The default
 is to search in `custom-theme-directory', followed by a built-in theme
 directory named "themes/" in `data-directory'.
-
++++
 *** New option `custom-safe-themes' records known-safe theme files.
 If a theme is not in this list, Emacs queries before loading it, and
 offers to save the theme to `custom-safe-themes' automatically.  By
@@ -364,7 +363,7 @@ the remote file-name cache is used for read access.
 Add an element (subdirs . nil) to the alist portion of any variables
 settings to indicate that the section should not apply to
 subdirectories.
-
++++
 *** Directory local variables can apply to some file-less buffers.
 Affected modes include dired, vc-dir, and log-edit.  For example,
 adding "(diff-mode . ((mode . whitespace)))" to .dir-locals.el will
@@ -548,7 +547,7 @@ the lines in the current rectangle.  With a prefix argument, this
 prompts for a number to count from and for a format string.
 
 +++
-** The default value of redisplay-dont-change is now t
+** The default value of redisplay-dont-pause is now t
 This makes Emacs feel more responsive to editing commands that arrive
 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
@@ -567,6 +566,7 @@ region (or with the left margin if there is no previous line).
 +++
 ** Archive Mode has basic support for browsing and updating 7z archives.
 
++++
 ** browse-url has a new variable `browse-url-mailto-function'
 specifies how mailto: URLs are handled.  The default is `browse-url-mail'.
 
@@ -640,15 +640,18 @@ in the *compilation* buffer was used.
 
 ** Customize
 
++++
 *** Customize buffers now contain a search field.
 The search is performed using `customize-apropos'.
 To turn off the search field, set custom-search-field to nil.
 
++++
 *** Custom options now start out hidden if at their default values.
 Use the arrow to the left of the option name to toggle visibility.
 
 *** custom-buffer-sort-alphabetically now defaults to t.
 
++++
 *** The color widget now has a "Choose" button, which allows you to
 choose a color via list-colors-display.
 
@@ -665,7 +668,7 @@ The new function dbus-register-service registers a service known name
 on a D-Bus without simultaneously registering a property or a method.
 
 ** Dired-x
-
+---
 *** dired-jump and dired-jump-other-window called with a prefix argument
 read a file name from the minibuffer instead of using buffer-file-name.
 
@@ -693,7 +696,7 @@ utf-8, and do the normal `undecided' decoding for the rest.
 exists, that is used instead.
 
 ** gdb-mi
-
++++
 *** GDB User Interface migrated to GDB Machine Interface and now
 supports multithread non-stop debugging and debugging of several
 threads simultaneously.
@@ -719,6 +722,13 @@ handy if you have many manuals in many Info buffers, and don't
 remember the name of the buffer visiting the manual you want to
 consult.
 
++++
+*** `e' is now bound to `end-of-buffer' rather than to `Info-edit'.
+This is for compatibility with the stand-alone Info reader program,
+and also because `Info-edit' is a rarely used command that is disabled
+by default.
+
++++
 ** The Landmark game is now invoked with `landmark', not `lm'.
 
 ** MH-E has been upgraded to MH-E version 8.3.1.
@@ -743,17 +753,13 @@ 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.
-
++++
 *** The `shell' command prompts for the shell path name if the default
 directory is a remote file name and neither the environment variable
 $ESHELL nor the variable `explicit-shell-file-name' is set.
 
-*** New variable `shell-dir-cookie-re'.
-If set to an appropriate regexp, Shell mode can track your cwd by
-reading it from your prompt.
-
 ---
 ** SQL Mode enhancements.
 
@@ -833,25 +839,29 @@ controlling the degree of parallelism.
 
 ** VC and related modes
 
++++
 *** Support for pulling on distributed version control systems.
-The vc-pull command runs a "pull" operation, if it is supported.
-This updates the current branch from upstream.  A prefix argument
-means to prompt the user for specifics, e.g. a pull location.
+`C-x v +' (`vc-pull') runs a "pull" operation, if it is supported, to
+update the current branch and working tree.  A prefix argument means
+to prompt the user for specifics, e.g. a pull location.
 
 **** `vc-update' is now an alias for `vc-pull'.
 
 **** Currently supported by Bzr, Git, and Mercurial.
 
++++
 *** Support for merging on distributed version control systems.
-The vc-merge command now runs a "merge" operation, if it is supported.
-This merges another branch into the current one.  This command prompts
-the user for specifics, e.g. a merge source.
+The vc-merge command now runs a "merge" operation, if it is supported,
+to merge changes from another branch into the current one.  It prompts
+for specifics, e.g. a merge source.
 
 **** Currently supported for Bzr, Git, and Mercurial.
 
++++
 *** New option `vc-revert-show-diff' controls whether `vc-revert'
 shows a diff while querying the user.  It defaults to t.
 
++++
 *** Log entries in some Log View buffers can be toggled to display a
 longer description by typing RET (log-view-toggle-entry-display).
 In the Log View buffers made by `C-x v L' (vc-print-root-log), you can
@@ -862,6 +872,7 @@ use this to display the full log entry for the revision at point.
 **** Packages using Log View mode can enable this functionality by
 binding `log-view-expanded-log-entry-function' to a suitable function.
 
++++
 *** New command `vc-ediff' allows visual comparison of two revisions
 of a file similar to `vc-diff', but using ediff backend.
 
@@ -898,6 +909,7 @@ They are superseded by shift-select-mode enabled by default in 23.1.
 ---
 *** `copyright-fix-years' can optionally convert consecutive years to ranges.
 
++++
 *** New command `nato-region' converts text to NATO phonetic alphabet.
 
 \f
index 8b861cca875325d337f6efa3e00e4cdfc392cc02..7f568ffc1ce38f1bb2cc03f00c0136557692ad23 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.  26-Mar-1986
 
-Copyright (C) 1985-1986, 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 2006-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 820103e31106b2903fbf4c9cb996dbc5fe91a6b2..92454af1013a39457cc5979091b609f5c7b6bec2 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.  17-Aug-1988
 
-Copyright (C) 1988, 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 1988, 2006-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 849566e6238f1656b23e0c38228c8bf66616db95..54e49484c102bb9f19a9ff8e7cc486f4768b603d 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.  1992.
 
-Copyright (C) 1993-1995, 2001, 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 2001, 2006-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
@@ -5032,7 +5032,7 @@ if it is `memq' in the list.
 
 ** If you call `get-buffer-window' passing t as its second argument, it
 will only search for windows on visible frames.  Previously, passing t
-as the secord argument caused `get-buffer-window' to search all
+as the second argument caused `get-buffer-window' to search all
 frames, visible or not.
 
 ** If you call `other-buffer' with a nil or omitted second argument, it
@@ -6114,7 +6114,7 @@ When you have edited both buffers as you wish, merge them with C-x 6
 1.  This copies the text from the right-hand buffer as a second column
 in the other buffer.  To go back to two-column editing, use C-x 6 s.
 
-Use C-x 6 d to disassociate the two buffers, leaving each as it
+Use C-x 6 d to dissociate the two buffers, leaving each as it
 stands.  (If the other buffer, the one that was not current when you
 type C-x 6 d, is empty, C-x 6 d kills it.)
 
index 332eec60535632c34a0aed1d2c1ec902d7269fac..7a76bdd38a967439f5289f72f5a1dc4019d01d6d 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.  2006-05-31
 
-Copyright (C) 1999-2001, 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2001, 2006-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index c018567c40dfb54595ae5994b082ca7b2274b814..6d50b687fae3e314848a3cb5f89a9b021d43a134 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.  2006-05-31
 
-Copyright (C) 2000-2011  Free Software Foundation, Inc.
+Copyright (C) 2000-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
@@ -4639,7 +4639,7 @@ simpler form STRING as property value.
 *** Variable width and height spaces
 
 To display a space of fractional width or height, use a display
-specification of the form `(LOCATION STRECH)'.  If LOCATION is
+specification of the form `(LOCATION STRETCH)'.  If LOCATION is
 `(margin left-margin)', the space is displayed in the left marginal
 area, if it is `(margin right-margin)', it is displayed in the right
 marginal area, and if LOCATION is `(margin nil)' the space is
index 87d77cf52fcd71380df3911e981ab133cf35c4ea..6dd12a7a34ffd24e15fe1fe9100baf6cd6e92803 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -3035,7 +3035,7 @@ appropriate `sql-interactive-mode' wrapper for the current setting of
 ** Fortran mode changes
 
 *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow).
-It cannot deal with every code format, but ought to handle a sizeable
+It cannot deal with every code format, but ought to handle a sizable
 majority.
 
 *** F90 mode and Fortran mode have new navigation commands
@@ -4273,7 +4273,7 @@ of suffixes.  The function also accepts a predicate argument to
 further filter candidate files.
 
 One advantage of using this function is that the list of suffixes in
-`exec-suffixes' is OS-dependant, so this function will find
+`exec-suffixes' is OS-dependent, so this function will find
 executables without polluting Lisp code with OS dependencies.
 
 *** The new function `file-remote-p' tests a file name and returns
index 6f1b50e8c7aec7cef641e407e574c0714833142c..f9dbfa8adef053fdb27536ec9b52e145e35430d4 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2007-2011 Free Software Foundation, Inc.
+Copyright (C) 2007-2012 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -1677,7 +1677,7 @@ Running processes on a remote host can be controlled by settings in
 When the variable `file-precious-flag' is set, the success of a remote
 file copy is checked via the file's checksum.
 
-*** Passwords can be read from an authentification file.
+*** Passwords can be read from an authentication file.
 Tramp uses the package `auth-source' to read passwords from a file, if
 necessary.
 
index 4aa1dca93f2800b98d346fd04d549f9567871aa7..6ea431fe9826311ec23da1300249736fefbe0b89 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2008-2011 Free Software Foundation, Inc.
+Copyright (C) 2008-2012 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 This file contains information about GNU Emacs on "Nextstep" platforms.
index 57a3387ee40c52290848e1f588ffde57e6229862..78cb24b427dc91fccbcb8cfa61cdd83172f31c54 100644 (file)
@@ -1,6 +1,6 @@
 Known Problems with GNU Emacs
 
-Copyright (C) 1987-1989, 1993-1999, 2001-2011
+Copyright (C) 1987-1989, 1993-1999, 2001-2012
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
index d1cad4a3a0fc3707a1a8884aa8fc2d91e00f0551..613306b397c7de27e4c35012111a93e1ff315a4e 100644 (file)
@@ -9,5 +9,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 File: emacs.icon
   Author: Sun Microsystems, Inc
-  Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
   License: GNU General Public License version 3 or later (see COPYING)
index e361188247bfdcd3008895d8f5a6c2632e55e48a..03c5cfeaba19848142af1680cac6c3792bf96d49 100644 (file)
--- a/etc/TERMS
+++ b/etc/TERMS
@@ -1,4 +1,4 @@
-Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 See the end of the file for copying permissions.
 
 This file describes what you must or might want to do to termcap entries
index 2470747bfb5516af58021ea77a1b91941f9ce5b8..411581673e316ebe1aa2e27a9a3c83c8c9e01d45 100644 (file)
--- a/etc/TODO
+++ b/etc/TODO
@@ -1,6 +1,6 @@
 Emacs TODO List                                                   -*-outline-*-
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
@@ -79,7 +79,7 @@ understand.  I find it quite hard to figure out what compilation
 command it will use.
 
 I suggest totally rewriting that part of Flymake, using the simplest
-mechanism that sufficies for the specific needs.  That will be easy
+mechanism that suffices for the specific needs.  That will be easy
 for users to customize.
 
 ** Compute the list of active keymaps *after* reading the first event.
index cd009220c3bd08f7cbf79ace51588d5cf1330c0a..10791b31971a3e09f497165963e208d9e3287909 100644 (file)
@@ -1,8 +1,9 @@
 # README file for charset mapping files in this directory.
+
+# Copyright (C) 2003-2012  Free Software Foundation, Inc.
 # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 #   National Institute of Advanced Industrial Science and Technology (AIST)
 #   Registration Number H13PRO009
-# Copyright (C) 2003-2011  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index eeb09b1712c311f2082ae8fe63fde30e6c45387a..269f8d23e6bfc2edb90908aa89a42d79b0843648 100644 (file)
@@ -570,7 +570,7 @@ Compilation segmentation fault at Thu Jul 13 10:55:49
 Compilation finished at Thu Jul 21 15:02:15
 
 \f
-Copyright (C) 2004-2011  Free Software Foundation, Inc.
+Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 COPYING PERMISSIONS:
 
index 84e6f8ca1b89e381789666ae62f71373acd5b461..3a7a707eeda770e317dfe86623f24135ebe22cd2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edt-user.el --- Sample user customizations for Emacs EDT emulation
 
-;; Copyright (C) 1986, 1992-1993, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1992-1993, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher <kgallagh@@spd.dsccc.com>
 ;; Maintainer: Kevin Gallagher <kgallagh@@spd.dsccc.com>
index d4eecc9f8ef71496b27b7ab8140416fda55ac51c..2bd2fa23794834a1eb466eff8adaee18920ed015 100644 (file)
@@ -1,6 +1,6 @@
 # emacs-buffer.gdb --- gdb macros for recovering buffers from emacs coredumps
 
-# Copyright (C) 2005-2011 Free Software Foundation, Inc.
+# Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 # Maintainer: Noah Friedman <friedman@splode.com>
 # Created: 2005-04-28
index 805024cca3d8438a2fd3db13f6698eab2f86589a..ed99a3a14095c418a2e31f91183c6918bbaace46 100644 (file)
@@ -1,6 +1,6 @@
 """Definitions used by commands sent to inferior Python in python.el."""
 
-# Copyright (C) 2004-2011  Free Software Foundation, Inc.
+# Copyright (C) 2004-2012  Free Software Foundation, Inc.
 # Author: Dave Love <fx@gnu.org>
 
 # This file is part of GNU Emacs.
index 470547b1877a7948b942fe53653f0a974303b210..f0e4659bb6be65bb4d5c2bcac68336e7588564ef 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2011  Free Software Foundation, Inc.
+# Copyright (C) 2004-2012  Free Software Foundation, Inc.
 # Author: Dave Love <fx@gnu.org>
 
 # This file is part of GNU Emacs.
index 5b2e1a88f242e18b089c8daf7b54c2e7df94e632..78459de8090d07b87743d0013b84dc2ab5f4a61b 100644 (file)
@@ -256,7 +256,7 @@ bug reports are welcome.</indent>
 
 
 \f
-Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 COPYING PERMISSIONS:
 
index 9132ece533e804f95cb07c4e856953b458bcd4ca..60594f0eb0a28ad6e304315d91f127f52cf8cc5c 100644 (file)
@@ -24,7 +24,7 @@ was done by moi, yours truly, your humble servant, Lars Magne
 Ingebrigtsen.  If you have a WWW browser, you can investigate to your
 heart's delight at <URL:http://www.ifi.uio.no/~larsi/larsi.html>.
 
-;; Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
 ;; Keywords: news
index 01ffa9f3ef8d6f18c2c4792141e4489d82ea9d05..e9fea92e304e4aaf2c7df5dfff63998f42dcfa5e 100644 (file)
@@ -84,7 +84,7 @@ grep -nH -e "xyzxyz" ../info/*
 
 \f
 
-Copyright (C) 2005-2011  Free Software Foundation, Inc.
+Copyright (C) 2005-2012  Free Software Foundation, Inc.
 
 COPYING PERMISSIONS:
 
index ae2d0556ad26ce8ff867d577abdb23ed34b84490..a9a8d10be7eb5b85fd9e0ba921aab879c5dac854 100644 (file)
@@ -23,19 +23,19 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 File: mh-logo.xpm
   Author: Satyaki Das
-  Copyright (C) 2003-2011  Free Software Foundation, Inc.
+  Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 Files: splash.pbm, splash.xpm, gnus.pbm
   Author: Luis Fernandes <elf@ee.ryerson.ca>
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 Files: splash.png, splash.svg
   Author: Francesc Rocher <rocher@member.fsf.org>
-  Copyright (C) 2008-2011  Free Software Foundation, Inc.
+  Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 Files: checked.xpm, unchecked.xpm
   Author: Chong Yidong <cyd@stupidchicken.com>
-  Copyright (C) 2010-2011  Free Software Foundation, Inc.
+  Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 
 * The following icons are from GTK+ 2.x. They are not part of Emacs, but
index 959e77d70502a7f718dea2e4cddf34b0d71a8e86..9dc2917125053100c3fcd4b3b88303f68b68c994 100644 (file)
@@ -1,5 +1,5 @@
 /* XPM */
-/* Copyright (C) 2010-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2012 Free Software Foundation, Inc.
  *
  * Author: Chong Yidong <cyd@stupidchicken.com>
  *
index ad37dc1a7acc64a092d20818210af5cc56641014..831fb8c63162b5302771f7c640df779805fc3734 100644 (file)
@@ -6,5 +6,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 Files: down.xpm down-pushed.xpm right.xpm right-pushed.xpm
 Author: Juri Linkov
-Copyright (C) 2008-2011  Free Software Foundation, Inc.
+Copyright (C) 2008-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index 38d49f3bb64b56782360790be22b6bab79c88317..cf6291208a9651ef214b16c19c56ffe3f8815018 100644 (file)
@@ -7,5 +7,5 @@ Files: bits.xpm bitsbang.xpm box-minus.xpm box-plus.xpm
        tag-gt.xpm tag-minus.xpm tag-plus.xpm tag-type.xpm tag-v.xpm
        tag.xpm unlock.xpm
 Author: Eric M. Ludlam
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index b19ad3fedcbb823ab4968795b5504181ee325f32..824ca05ee2b41b29cfda36567fef4ca52d9786ac 100644 (file)
@@ -7,7 +7,7 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 Files: important.xpm, unimportant.xpm
 Author: Simon Josefsson <simon@josefsson.org>
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm
   describe-group.pbm describe-group.xpm exit-gnus.pbm exit-gnus.xpm
@@ -21,11 +21,11 @@ Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm
   unsubscribe.pbm unsubscribe.xpm uu-decode.pbm uu-decode.xpm
   uu-post.pbm uu-post.xpm
 Author: Luis Fernandes <elf@ee.ryerson.ca>
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 Files: gnus.png, gnus.svg
   Author: Francesc Rocher <rocher@member.fsf.org>
-  Copyright (C) 2008-2011 Free Software Foundation, Inc.
+  Copyright (C) 2008-201 Free Software Foundation, Inc.
 
 
 * The following icons are from GNOME 2.x. They are not part of Emacs,
index aad6560a0041c168d5c22d55f05c5aa0e130bbe9..9c8e57a3f75313a7fe532819a4285d2e33dc73ba 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Gnu Emacs Logo
 
-   Copyright (C) 2008-2011  Free Software Foundation, Inc.
+   Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
    Author: Francesc Rocher <f.rocher@member.fsf.org>
 
index 11c22bab49f3bd8270d03270af204dac2f67fe19..a37494bd5fa4abff62c71a12f35cc896b1a4be4b 100644 (file)
@@ -1,7 +1,7 @@
 COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 The following icons were created by Nick Roberts <nickrob@snap.net.nz>.
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
   
   break.pbm, nexti.pbm, go.pbm, pp.pbm, print.pbm, pstar.pbm, remove.pbm
@@ -31,7 +31,7 @@ their copyright assignment included the icons.
 The following icons are converted from the Insight Windows style icon
 set in src/gdb/gdbtk/library/images2.
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
 
   cont.pbm and cont.xpm were converted from continue.gif
@@ -47,7 +47,7 @@ License: GNU General Public License version 3 or later (see COPYING)
 The following icons are created from the Insight Windows style icon
 set in src/gdb/gdbtk/library/images2.
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
 
   rcont.xpm rfinish.xpm
index b11b88781e80f0a30dd097267c72f43ccf15fbfa..664c52906ac5032a00dfd1e9d680ca79ba4de1af 100644 (file)
@@ -5,7 +5,7 @@ Files: hicolor/16x16/apps/emacs.png hicolor/24x24/apps/emacs.png
        hicolor/128x128/apps/emacs.png hicolor/scalable/apps/emacs.svg
 
 Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp>
-Copyright (C) 2007-2011  Free Software Foundation, Inc.
+Copyright (C) 2007-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
 
 
@@ -13,7 +13,7 @@ Files: hicolor/16x16/apps/emacs22.png hicolor/24x24/apps/emacs22.png
        hicolor/32x32/apps/emacs22.png hicolor/48x48/apps/emacs22.png
 
 Author: Andrew Zhilin <andrew_zhilin@yahoo.com>
-Copyright (C) 2005-2011  Free Software Foundation, Inc.
+Copyright (C) 2005-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
 
 Files: allout-widgets-dark-bg/closed.png
@@ -62,5 +62,5 @@ Files: allout-widgets-dark-bg/closed.png
        allout-widgets-light-bg/through-descender.xpm
 
 Author: Ken Manheimer <ken.manheimer@gmail.com>
-Copyright (C) 2011  Free Software Foundation, Inc.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index 5abdc931c1c94e824e9ea3458c88e0afd5026560..a40eca6ea93ddc9bea394850d993df59c0dc617e 100644 (file)
@@ -10,7 +10,7 @@
    id="svg4768"
    xml:space="preserve">
 <!-- Gnu Emacs Icon
-   Copyright (C) 2008-2011  Free Software Foundation, Inc.
+   Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
    This file is part of GNU Emacs.
 
index 2abe908b92c1b3ac2185b15dcf3c99ae905bd31c..04b03bc63179872b94745afb82ba98d761344449 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Gnu Emacs Document Icon
 
-   Copyright (C) 2008-2011  Free Software Foundation, Inc.
+   Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
    This file is part of GNU Emacs.
 
index 8b1d1f537886e18b67092acf26c777c80b4ccace..a805d93f7a3ec6fc3344d60640f4edd29b91dba1 100644 (file)
@@ -1,7 +1,7 @@
 /* XPM */
 /* MH-E Logo
  *
- * Copyright (C) 2003-2011  Free Software Foundation, Inc.
+ * Copyright (C) 2003-2012  Free Software Foundation, Inc.
  *
  * Author: Satyaki Das
  *
index 99317ea90c006fe58c5ace8978f4c6a5ae382154..0df00e859b8ecf923e3ed2e8ceb366b6918a0b0a 100644 (file)
@@ -2,5 +2,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 Files: add.xpm ffwd.xpm next.xpm pause.xpm play.xpm prev.xpm rewind.xpm stop.xpm
 Author: Stefan Monnier <monnier@iro.umontreal.ca>
-Copyright (C) 2009-2011 Free Software Foundation, Inc.
+Copyright (C) 2009-2012 Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index dc91d9eafd44a6347098caec98fe2775303ffef8..a8457845537dc67f680e1aea10d7c8fb61979cbe 100644 (file)
@@ -4,5 +4,5 @@ Files: browse-url.xpm get-all.xpm mark-immortal.xpm mark-read.xpm
        narrow.xpm next-feed.xpm next-item.xpm prev-feed.xpm
        prev-item.xpm update.xpm
 Author: Ulf Jasper
-Copyright (C) 2011  Free Software Foundation, Inc.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index d009849e36c3b1b8550c5b41ca9b8b398390f2de..db2991b44656b168fe4559c6345166a0df3fc6cc 100644 (file)
@@ -3,5 +3,5 @@ Files: blink.pbm blink.xpm braindamaged.xpm cry.xpm dead.xpm evil.xpm
        sad.xpm smile.pbm smile.xpm wry.pbm wry.xpm
 Authors: Reiner Steib, Simon Josefsson, Kai Grossjohann, Alex
          Schroeder, Oliver Scholz, Per Abrahamsen, Kim F. Storm.
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index dc356104a781a21e78af396133c9d31b74dad68e..0f936b35bb09c42c9625e9b4d2a3ad1254311a4f 100644 (file)
@@ -2,5 +2,5 @@ Files: blink.xpm braindamaged.xpm cry.xpm dead.xpm evil.xpm forced.xpm
        frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm
        smile.xpm wry.xpm 
 Author: Adam Sjøgren
-Copyright (C) 2007-2011 Free Software Foundation, Inc.
+Copyright (C) 2007-2012 Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index dc356104a781a21e78af396133c9d31b74dad68e..0f936b35bb09c42c9625e9b4d2a3ad1254311a4f 100644 (file)
@@ -2,5 +2,5 @@ Files: blink.xpm braindamaged.xpm cry.xpm dead.xpm evil.xpm forced.xpm
        frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm
        smile.xpm wry.xpm 
 Author: Adam Sjøgren
-Copyright (C) 2007-2011 Free Software Foundation, Inc.
+Copyright (C) 2007-2012 Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index 68ba4d7f7d7e7437fb134dce437b13b08cc66496..1f1279b9735246fc071b1e45227c526e1f2a970e 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Gnu Emacs Logo
 
-   Copyright (C) 2008-2011  Free Software Foundation, Inc.
+   Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
    Author: Francesc Rocher <f.rocher@members.fsf.org>
    Based on the original work by Luis Fernandes <elf@ee.ryerson.ca>
index 30a587babaa200dc8f7e5aa8a4ea9b9463d57e1f..65fcda228400da46257bfc7953b62fed37b98d99 100644 (file)
@@ -1,7 +1,7 @@
 /* XPM */
 /* Gnu Emacs Logo
  *
- * Copyright (C) 2001-2011  Free Software Foundation, Inc.
+ * Copyright (C) 2001-2012  Free Software Foundation, Inc.
  *
  * Author: Luis Fernandes <elf@ee.ryerson.ca>
  *
index ccc6cdbf21ebbd90bfad79ad434719f6a538fcd7..78502a370e0ecd3bacaa6a732c25ec8cb8584ca1 100644 (file)
@@ -5,5 +5,5 @@ Files: close.png close.xpm empty.png empty.xpm end-guide.png end-guide.xpm
        no-guide.png no-guide.xpm no-handle.png no-handle.xpm open.png
        open.xpm
 Author: David Ponce <david.ponce@wanadoo.fr>
-Copyright (C) 2004-2011  Free Software Foundation, Inc.
+Copyright (C) 2004-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index 58716db456dd50f3ecbe5fe69e800ddd60fa2485..ae4ad47d4fc06513b47ae2f96d60fdb11895cb2a 100644 (file)
@@ -5,5 +5,5 @@ Files:  close.png close.xpm empty.png empty.xpm end-guide.png
         leaf.png leaf.xpm no-guide.png no-guide.xpm no-handle.png
         no-handle.xpm open.png open.xpm
 Author: David Ponce <david.ponce@wanadoo.fr>
-Copyright (C) 2004-2011  Free Software Foundation, Inc.
+Copyright (C) 2004-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
index 06e5178bce0407f67bffb33a4f697c7c742ea057..8201969b08059d6d54e1760ed1ef764766cf1f14 100644 (file)
@@ -1,5 +1,5 @@
 /* XPM */
-/* Copyright (C) 2010-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2012 Free Software Foundation, Inc.
  *
  * Author: Chong Yidong <cyd@stupidchicken.com>
  *
diff --git a/etc/org/OrgOdtContentTemplate.xml b/etc/org/OrgOdtContentTemplate.xml
new file mode 100644 (file)
index 0000000..f50588b
--- /dev/null
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- See etc/org/README for copyright information -->
+<office:document-content
+    xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+    xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+    xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+    xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+    xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
+    xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
+    xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
+    xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
+    xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
+    xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
+    xmlns:math="http://www.w3.org/1998/Math/MathML"
+    xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
+    xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
+    xmlns:ooo="http://openoffice.org/2004/office"
+    xmlns:ooow="http://openoffice.org/2004/writer"
+    xmlns:oooc="http://openoffice.org/2004/calc"
+    xmlns:dom="http://www.w3.org/2001/xml-events"
+    xmlns:xforms="http://www.w3.org/2002/xforms"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:rpt="http://openoffice.org/2005/report"
+    xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
+    xmlns:xodt="http://www.w3.org/1999/xodt"
+    xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"    office:version="1.2">
+  <!-- scripts -->
+  <office:scripts/>
+
+  <!-- font face declarations -->
+  <office:font-face-decls>
+    <style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/>
+    <style:font-face style:name="courier" svg:font-family="courier, monospace"/>
+    <style:font-face style:name="Arial Unicode MS" svg:font-family="&apos;Arial Unicode MS&apos;" style:font-pitch="variable"/>
+    <style:font-face style:name="HG Mincho Light J" svg:font-family="&apos;HG Mincho Light J&apos;" style:font-pitch="variable"/>
+    <style:font-face style:name="Thorndale" svg:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/>
+    <style:font-face style:name="Times New Roman" svg:font-family="&apos;Times New Roman&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
+    <style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/>
+    <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
+    <style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
+  </office:font-face-decls>
+
+  <!-- automatic styles -->
+  <office:automatic-styles>
+    <style:style style:name="OrgTable" style:family="table">
+      <style:table-properties style:rel-width="90%" fo:margin-top="0cm" fo:margin-bottom="0.20cm" table:align="center"/>
+    </style:style>
+
+    <style:style style:name="OrgTableColumn" style:family="table-column">
+      <style:table-column-properties style:rel-column-width="1*"/>
+    </style:style>
+
+    <style:style style:name="OrgTblCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="top" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellL" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellT" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTL" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellB" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellBL" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellBR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellBLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTB" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTBL" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTBR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+    <style:style style:name="OrgTblCellTBLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
+      <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
+    </style:style>
+
+    <!-- BEGIN: Table styles for numbered equations -->
+    <style:style style:name="OrgEquation" style:family="table">
+      <style:table-properties style:rel-width="100%" fo:margin-top="0cm" fo:margin-bottom="0.20cm" table:align="center"/>
+    </style:style>
+    <style:style style:name="OrgEquationTableColumn" style:family="table-column">
+      <style:table-column-properties style:rel-column-width="1*"/>
+    </style:style>
+    <style:style style:name="OrgFirstEquationFirstColumnTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgEquationLastColumnTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
+    </style:style>
+    <style:style style:name="OrgEquationFirstColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+    </style:style>
+    <style:style style:name="OrgEquationLastColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
+    </style:style>
+    <!-- END: Table styles for numbered equations -->
+
+    <!-- BEGIN: Custom Table Template -->
+    <style:style style:name="Custom" style:family="table">
+      <style:table-properties style:rel-width="80%" table:align="center"/>
+    </style:style>
+
+    <style:style style:name="CustomColumn" style:family="table-column">
+      <style:table-column-properties style:rel-column-width="1*"/>
+    </style:style>
+
+    <!-- Table Paragraph Styles -->
+    <style:style style:name="CustomTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+      <style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
+    </style:style>
+
+    <style:style style:name="CustomLastRowTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+      <style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
+    </style:style>
+
+    <style:style style:name="CustomLastColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+      <style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
+    </style:style>
+
+    <style:style style:name="CustomFirstRowTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+      <style:text-properties fo:color="#ffffff" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
+    </style:style>
+
+    <style:style style:name="CustomFirstColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
+      <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+      <style:text-properties fo:color="#ffffff" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
+    </style:style>
+
+    <!-- Table Cell Styles -->
+    <style:style style:name="CustomTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="top" fo:background-color="#ffffff" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
+       <style:background-image/>
+      </style:table-cell-properties>
+    </style:style>
+
+    <style:style style:name="CustomFirstRowTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="top" fo:background-color="#000080" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
+       <style:background-image/>
+      </style:table-cell-properties>
+    </style:style>
+
+    <style:style style:name="CustomLastRowTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="top" fo:background-color="#cccccc" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
+       <style:background-image/>
+      </style:table-cell-properties>
+    </style:style>
+
+    <style:style style:name="CustomFirstColumnTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="top" fo:background-color="#4d4d4d" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
+       <style:background-image/>
+      </style:table-cell-properties>
+    </style:style>
+
+    <style:style style:name="CustomLastColumnTableCell" style:family="table-cell">
+      <style:table-cell-properties style:vertical-align="top" fo:background-color="#cccccc" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
+       <style:background-image/>
+      </style:table-cell-properties>
+    </style:style>
+
+    <!-- END: Custom Table Template -->
+
+  </office:automatic-styles>
+
+  <office:body>
+    <office:text>
+      <text:sequence-decls>
+       <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
+       <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
+       <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
+       <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
+       <text:sequence-decl text:display-outline-level="0" text:name="Equation"/>
+       <text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
+      </text:sequence-decls>
+    </office:text>
+  </office:body>
+</office:document-content>
diff --git a/etc/org/OrgOdtStyles.xml b/etc/org/OrgOdtStyles.xml
new file mode 100644 (file)
index 0000000..4fb2820
--- /dev/null
@@ -0,0 +1,732 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- See etc/org/README for copyright information -->
+<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" office:version="1.2">
+ <office:font-face-decls>
+  <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
+  <style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/>
+  <style:font-face style:name="Courier New" svg:font-family="&apos;Courier New&apos;" style:font-family-generic="modern" style:font-pitch="fixed"/>
+  <style:font-face style:name="NSimSun" svg:font-family="NSimSun" style:font-family-generic="modern" style:font-pitch="fixed"/>
+  <style:font-face style:name="Times New Roman" svg:font-family="&apos;Times New Roman&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="GB" style:letter-kerning="true" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
+  </style:default-style>
+  <style:default-style style:family="paragraph">
+   <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/>
+   <style:text-properties style:use-window-font-color="true" style:font-name="Times New Roman" fo:font-size="12pt" fo:language="en" fo:country="GB" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Tahoma" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/>
+  </style:default-style>
+  <style:default-style style:family="table">
+   <style:table-properties table:border-model="collapsing"/>
+  </style:default-style>
+  <style:default-style style:family="table-row">
+   <style:table-row-properties fo:keep-together="auto"/>
+  </style:default-style>
+
+  <!-- Outline numbering -->
+  <text:outline-style style:name="OrgOutline">
+   <text:outline-level-style text:level="1" style:num-suffix=". " style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-0.762cm" fo:margin-left="0.762cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="2" style:num-suffix=". " style:num-format="1" text:display-levels="2">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.016cm" fo:margin-left="1.016cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="3" style:num-suffix=". " style:num-format="1" text:display-levels="3">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.27cm" fo:margin-left="1.27cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="4" style:num-suffix=". " style:num-format="1" text:display-levels="4">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.524cm" fo:margin-left="1.524cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="5" style:num-suffix=". " style:num-format="1" text:display-levels="5">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.778cm" fo:margin-left="1.778cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="6" style:num-suffix=". " style:num-format="1" text:display-levels="6">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.032cm" fo:margin-left="2.032cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="7" style:num-suffix=". " style:num-format="1" text:display-levels="7">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.286cm" fo:margin-left="2.286cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="8" style:num-suffix=". " style:num-format="1" text:display-levels="8">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.54cm" fo:margin-left="2.54cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="9" style:num-suffix=". " style:num-format="1" text:display-levels="9">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.794cm" fo:margin-left="2.794cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="10" style:num-suffix=". " style:num-format="1" text:display-levels="10">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-3.048cm" fo:margin-left="3.048cm"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+  </text:outline-style>
+
+  <style:style style:name="Standard" style:family="paragraph" style:class="text"/>
+  <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="always"/>
+   <style:text-properties style:font-name="Arial" fo:font-size="14pt" style:font-name-asian="SimSun" style:font-size-asian="14pt" style:font-name-complex="Tahoma" style:font-size-complex="14pt"/>
+  </style:style>
+  <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/>
+  </style:style>
+  <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
+   <style:text-properties style:font-name-complex="Tahoma1"/>
+  </style:style>
+  <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Tahoma1" style:font-size-complex="12pt" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
+   <style:text-properties style:font-name-complex="Tahoma1"/>
+  </style:style>
+  <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="1" style:class="text">
+   <style:text-properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="2" style:class="text">
+   <style:text-properties fo:font-size="14pt" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-style-complex="italic" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="3" style:class="text">
+   <style:text-properties fo:font-size="14pt" fo:font-weight="bold" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_4" style:display-name="Heading 4" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="4" style:class="text">
+   <style:text-properties fo:font-size="85%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="85%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="85%" style:font-style-complex="italic" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_5" style:display-name="Heading 5" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="5" style:class="text">
+   <style:text-properties fo:font-size="85%" fo:font-weight="bold" style:font-size-asian="85%" style:font-weight-asian="bold" style:font-size-complex="85%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_6" style:display-name="Heading 6" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="6" style:class="text">
+   <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_7" style:display-name="Heading 7" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="7" style:class="text">
+   <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_8" style:display-name="Heading 8" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="8" style:class="text">
+   <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_9" style:display-name="Heading 9" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="9" style:class="text">
+   <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_10" style:display-name="Heading 10" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="10" style:class="text">
+   <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Heading_20_1.title" style:display-name="Heading 1.title" style:family="paragraph" style:parent-style-name="Heading_20_1">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="Title" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Subtitle" style:class="chapter">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties fo:font-size="18pt" fo:font-weight="bold" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-size-complex="18pt" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="OrgTitle" style:family="paragraph" style:parent-style-name="Title">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
+   <style:text-properties fo:font-size="24pt"/>
+  </style:style>
+  <style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+   <style:text-properties fo:font-size="14pt" fo:font-style="italic" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-size-complex="14pt" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="OrgSubtitle" style:family="paragraph" style:parent-style-name="Subtitle">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
+   <style:text-properties fo:font-size="20pt"/>
+  </style:style>
+  <style:style style:name="Text_20_body_20_indent" style:display-name="Text body indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
+  </style:style>
+  <style:style style:name="List_20_Indent" style:display-name="List Indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-left="5.001cm" fo:margin-right="0cm" fo:text-indent="-4.5cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="0cm"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="First_20_line_20_indent" style:display-name="First line indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0.499cm" style:auto-text-indent="false"/>
+  </style:style>
+  <style:style style:name="Hanging_20_indent" style:display-name="Hanging indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="0cm"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Salutation" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
+  </style:style>
+  <style:style style:name="Contents_20_Heading" style:display-name="Contents Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Contents_20_1" style:display-name="Contents 1" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_2" style:display-name="Contents 2" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="16.501cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_3" style:display-name="Contents 3" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="0.998cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="16.002cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_4" style:display-name="Contents 4" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="1.498cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="15.503cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_5" style:display-name="Contents 5" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="1.997cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="15.004cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_6" style:display-name="Contents 6" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="2.496cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="14.504cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_7" style:display-name="Contents 7" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="2.995cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="14.005cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_8" style:display-name="Contents 8" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="3.494cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="13.506cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_9" style:display-name="Contents 9" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="3.993cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="13.007cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Contents_20_10" style:display-name="Contents 10" style:family="paragraph" style:parent-style-name="Index" style:class="index">
+   <style:paragraph-properties fo:margin-left="4.493cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="12.508cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
+   <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
+  </style:style>
+  <style:style style:name="Preformatted_20_Text" style:display-name="Preformatted Text" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
+   <style:text-properties style:font-name="Courier New" fo:font-size="10pt" style:font-name-asian="NSimSun" style:font-size-asian="10pt" style:font-name-complex="Courier New" style:font-size-complex="10pt"/>
+  </style:style>
+  <style:style style:name="OrgVerse" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
+   <style:paragraph-properties fo:background-color="#c0c0c0" fo:padding="0.049cm" fo:border="0.018cm solid #000000" style:shadow="none">
+    <style:background-image/>
+   </style:paragraph-properties>
+  </style:style>
+
+  <style:style style:name="OrgFixedWidthBlock" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
+   <style:paragraph-properties fo:background-color="#c0c0c0" fo:padding="0.049cm" fo:border="0.018cm solid #000000" style:shadow="none">
+    <style:background-image/>
+   </style:paragraph-properties>
+  </style:style>
+
+  <style:style style:name="OrgFixedWidthBlockLastLine" style:family="paragraph" style:parent-style-name="OrgFixedWidthBlock">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm"/>
+  </style:style>
+
+  <style:style style:name="OrgSrcBlockLastLine" style:family="paragraph" style:parent-style-name="OrgSrcBlock">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm"/>
+  </style:style>
+
+  <style:style style:name="OrgCenter" style:family="paragraph" style:parent-style-name="Text_20_body">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="OrgTableContents" style:family="paragraph" style:parent-style-name="Text_20_body"/>
+  <style:style style:name="OrgTableHeading" style:family="paragraph" style:parent-style-name="OrgTableContents" style:class="extra">
+    <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/>
+    <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
+  </style:style>
+
+  <style:style style:name="OrgTableHeadingLeft" style:family="paragraph" style:parent-style-name="OrgTableHeading">
+    <style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="OrgTableHeadingRight" style:family="paragraph" style:parent-style-name="OrgTableHeading">
+    <style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="OrgTableHeadingCenter" style:family="paragraph" style:parent-style-name="OrgTableHeading">
+    <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+  </style:style>
+
+  <style:style style:name="OrgTableContentsLeft" style:family="paragraph" style:parent-style-name="OrgTableContents">
+    <style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="OrgTableContentsRight" style:family="paragraph" style:parent-style-name="OrgTableContents">
+    <style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="OrgTableContentsCenter" style:family="paragraph" style:parent-style-name="OrgTableContents">
+    <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="Text_20_body_20_bold" style:display-name="Text body bold" style:family="paragraph" style:parent-style-name="Text_20_body" style:next-style-name="Text_20_body">
+   <style:text-properties fo:font-weight="bold"/>
+  </style:style>
+  <style:style style:name="Footnote" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/>
+  </style:style>
+  <style:style style:name="Figure" style:family="paragraph" style:parent-style-name="Caption"/>
+  <style:style style:name="Illustration_20_Index_20_Heading" style:display-name="Illustration Index Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Table" style:family="paragraph" style:parent-style-name="Caption" style:class="extra">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="Horizontal_20_Line" style:display-name="Horizontal Line" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="html">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.499cm" style:border-line-width-bottom="0.002cm 0.035cm 0.002cm" fo:padding="0cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.039cm double #808080" text:number-lines="false" text:line-number="0" style:join-border="false"/>
+   <style:text-properties fo:font-size="6pt" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
+  </style:style>
+  <style:style style:name="Emphasis" style:family="text">
+   <style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="Underline" style:family="text">
+   <style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" fo:background-color="transparent"/>
+  </style:style>
+  <style:style style:name="Strikethrough" style:family="text">
+   <style:text-properties style:text-line-through-style="solid"/>
+  </style:style>
+  <style:style style:name="Source_20_Text" style:display-name="Source Text" style:family="text">
+   <style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/>
+  </style:style>
+  <style:style style:name="Citation" style:family="text">
+   <style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="Example" style:family="text">
+   <style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/>
+  </style:style>
+  <style:style style:name="OrgCode" style:family="text" style:parent-style-name="Source_20_Text"/>
+
+  <!-- BEGIN: Org Agenda Styles -->
+  <style:style style:name="OrgTodo" style:family="text">
+   <style:text-properties fo:color="#ff0000"/>
+  </style:style>
+  <style:style style:name="OrgDone" style:family="text">
+   <style:text-properties fo:color="#008000"/>
+  </style:style>
+  <style:style style:name="OrgTag" style:family="text">
+   <style:text-properties fo:background-color="#add8e6"/>
+  </style:style>
+  <style:style style:name="OrgTimestamp" style:family="text">
+   <style:text-properties fo:color="#bebebe"/>
+  </style:style>
+  <style:style style:name="OrgTimestampKeyword" style:family="text">
+   <style:text-properties fo:color="#5f9ea0"/>
+  </style:style>
+  <style:style style:name="OrgTimestampWrapper" style:family="text"/>
+  <style:style style:name="OrgTarget" style:family="text"/>
+  <!-- END: Org Agenda Styles -->
+
+  <style:style style:name="Bold" style:family="text">
+   <style:text-properties fo:font-weight="bold"/>
+  </style:style>
+  <style:style style:name="Numbering_20_Symbols" style:display-name="Numbering Symbols" style:family="text"/>
+  <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/>
+  <style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor" style:family="text">
+   <style:text-properties style:text-position="super 58%"/>
+  </style:style>
+  <style:style style:name="OrgSuperscript" style:family="text">
+   <style:text-properties style:text-position="super 58%"/>
+  </style:style>
+  <style:style style:name="OrgSubscript" style:family="text">
+   <style:text-properties style:text-position="sub 58%"/>
+  </style:style>
+  <style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text">
+   <style:text-properties fo:color="#000080" fo:language="zxx" fo:country="none" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" style:language-asian="zxx" style:country-asian="none" style:language-complex="zxx" style:country-complex="none"/>
+  </style:style>
+  <style:style style:name="Graphics" style:family="graphic">
+   <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+  <style:style style:name="Frame" style:family="graphic">
+   <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" fo:margin-top="0.201cm" fo:margin-bottom="0.201cm" style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0.15cm" fo:border="0.002cm solid #000000"/>
+  </style:style>
+
+  <!-- Simple Images   -->
+  <style:style style:name="OrgDisplayImage" style:family="graphic" style:parent-style-name="Graphics">
+   <style:graphic-properties text:anchor-type="paragraph" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+
+  <style:style style:name="OrgPageImage" style:family="graphic" style:parent-style-name="Graphics">
+   <style:graphic-properties text:anchor-type="page" fo:margin-top="0.21cm" fo:margin-bottom="0.21cm" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page" fo:background-color="transparent" style:background-transparency="100%" style:shadow="none" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard">
+    <style:background-image/>
+   </style:graphic-properties>
+  </style:style>
+
+  <!-- Captioned Images  -->
+  <style:style style:name="OrgCaptionedImage" style:family="graphic" style:parent-style-name="Graphics">
+   <style:graphic-properties style:rel-width="100%" text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none"/>
+  </style:style>
+
+  <style:style style:name="OrgImageCaptionFrame" style:family="graphic" style:parent-style-name="Frame">
+   <style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph" fo:padding="0cm" fo:border="none"/>
+  </style:style>
+
+  <style:style style:name="OrgPageImageCaptionFrame" style:family="graphic" style:parent-style-name="Frame">
+   <style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.21cm" fo:margin-bottom="0.21cm" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page" fo:background-color="transparent" style:background-transparency="100%" fo:padding="0cm" fo:border="none" style:shadow="none">
+    <style:background-image/>
+   </style:graphic-properties>
+  </style:style>
+
+  <!-- Inlined Images -->
+  <style:style style:name="OrgInlineImage" style:family="graphic" style:parent-style-name="Graphics">
+   <style:graphic-properties text:anchor-type="as-char" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+
+  <!-- Inline Formula -->
+  <style:style style:name="OrgFormula" style:family="graphic">
+    <style:graphic-properties text:anchor-type="as-char" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" style:vertical-pos="middle" style:vertical-rel="text" style:shadow="none"/>
+  </style:style>
+
+  <style:style style:name="OrgInlineFormula" style:family="graphic" style:parent-style-name="Formula">
+    <style:graphic-properties text:anchor-type="as-char" fo:margin-left="0.201cm" fo:margin-right="0.201cm" style:vertical-pos="middle" style:vertical-rel="text"/>
+  </style:style>
+
+  <style:style style:name="OrgInlineFormula" style:family="graphic" style:parent-style-name="Formula">
+    <style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" draw:ole-draw-aspect="1"/>
+  </style:style>
+
+  <style:style style:name="OrgDisplayFormula" style:family="graphic" style:parent-style-name="OrgFormula">
+    <style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" draw:ole-draw-aspect="1"/>
+  </style:style>
+
+  <style:style style:name="OrgFormulaCaptionFrame" style:family="graphic" style:parent-style-name="Frame">
+    <style:graphic-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none"/>
+  </style:style>
+
+  <style:style style:name="OrgCaptionedFormula" style:family="graphic" style:parent-style-name="OrgFormula">
+    <style:graphic-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:ole-draw-aspect="1"/>
+  </style:style>
+
+  <!-- Inline Tasks -->
+  <style:style style:name="OrgInlineTaskHeading" style:family="paragraph" style:parent-style-name="Caption" style:next-style-name="Text_20_body">
+   <style:text-properties style:font-name="Arial1" fo:font-style="normal" fo:font-weight="bold"/>
+  </style:style>
+  <style:style style:name="OrgInlineTaskFrame" style:family="graphic" style:parent-style-name="Frame">
+   <style:graphic-properties svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:background-color="#ffffcc" style:background-transparency="0%" fo:padding="0.15cm" fo:border="0.26pt solid #000000" style:shadow="none">
+    <style:background-image/>
+   </style:graphic-properties>
+  </style:style>
+
+  <text:list-style style:name="Numbering_20_1" style:display-name="Numbering 1">
+   <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.499cm" fo:text-indent="-0.499cm" fo:margin-left="0.499cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1cm" fo:text-indent="-0.499cm" fo:margin-left="1cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.499cm" fo:text-indent="-0.499cm" fo:margin-left="1.499cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2cm" fo:text-indent="-0.499cm" fo:margin-left="2cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.499cm" fo:text-indent="-0.499cm" fo:margin-left="2.499cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3cm" fo:text-indent="-0.499cm" fo:margin-left="3cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.5cm" fo:text-indent="-0.499cm" fo:margin-left="3.5cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.001cm" fo:text-indent="-0.499cm" fo:margin-left="4.001cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.5cm" fo:text-indent="-0.499cm" fo:margin-left="4.5cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.001cm" fo:text-indent="-0.499cm" fo:margin-left="5.001cm"/>
+    </style:list-level-properties>
+   </text:list-level-style-number>
+  </text:list-style>
+  <text:list-style style:name="List_20_1" style:display-name="List 1">
+   <text:list-level-style-bullet text:level="1" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="2" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.801cm" fo:text-indent="-0.4cm" fo:margin-left="0.801cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="3" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.199cm" fo:text-indent="-0.4cm" fo:margin-left="1.199cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="4" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.6cm" fo:text-indent="-0.4cm" fo:margin-left="1.6cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="5" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2cm" fo:text-indent="-0.4cm" fo:margin-left="2cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="6" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.401cm" fo:text-indent="-0.4cm" fo:margin-left="2.401cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="7" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.799cm" fo:text-indent="-0.4cm" fo:margin-left="2.799cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="8" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.2cm" fo:text-indent="-0.4cm" fo:margin-left="3.2cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="9" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.6cm" fo:text-indent="-0.4cm" fo:margin-left="3.6cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="10" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
+    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.001cm" fo:text-indent="-0.4cm" fo:margin-left="4.001cm"/>
+    </style:list-level-properties>
+    <style:text-properties style:font-name="OpenSymbol"/>
+   </text:list-level-style-bullet>
+  </text:list-style>
+
+  <!-- Numbered List -->
+  <text:list-style style:name="OrgNumberedList">
+   <text:list-level-style-number text:level="1" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+  </text:list-style>
+
+  <!-- Bulleted List -->
+  <text:list-style style:name="OrgBulletedList">
+   <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
+    <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/>
+    <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
+   </text:list-level-style-bullet>
+  </text:list-style>
+
+  <!-- Description List -->
+  <text:list-style style:name="OrgDescriptionList">
+   <text:list-level-style-number text:level="1" style:num-format="">
+    <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" style:num-format="">
+    <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" style:num-format="">
+    <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" style:num-format="">
+    <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" style:num-format="">
+    <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" style:num-format="">
+    <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" style:num-format="">
+    <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" style:num-format="">
+    <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" style:num-format="">
+    <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" style:num-format="">
+    <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/>
+   </text:list-level-style-number>
+  </text:list-style>
+
+  <text:list-style style:name="OrgSrcBlockNumberedLine">
+   <text:list-level-style-number text:level="1" style:num-format="1">
+    <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" style:num-format="1">
+    <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" style:num-format="1">
+    <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" style:num-format="1">
+    <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" style:num-format="1">
+    <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" style:num-format="1">
+    <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" style:num-format="1">
+    <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" style:num-format="1">
+    <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" style:num-format="1">
+    <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" style:num-format="1">
+    <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
+   </text:list-level-style-number>
+  </text:list-style>
+
+  <text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
+  <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
+  <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
+ </office:styles>
+ <office:automatic-styles>
+  <style:page-layout style:name="Mpm1">
+   <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
+    <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style/>
+   <style:footer-style/>
+  </style:page-layout>
+ </office:automatic-styles>
+ <office:master-styles>
+  <style:master-page style:name="Standard" style:page-layout-name="Mpm1"/>
+ </office:master-styles>
+</office:document-styles>
diff --git a/etc/org/README b/etc/org/README
new file mode 100644 (file)
index 0000000..206f3a2
--- /dev/null
@@ -0,0 +1,36 @@
+The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the
+following copyright information:
+
+Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+These files are 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/>.
+
+
+Author: Jambunathan K <kjambunathan at gmail dot com>
+Keywords: outlines, hypermedia, calendar, wp
+Homepage: http://orgmode.org
+
+Commentary:
+
+These files are part of Org-mode's OpenDocument export module.
+
+OrgOdtContentTemplate.xml provides a template within which the content
+of an exported document is enclosed.  This file contributes to
+"content.xml" file within an exported document and acts as a
+repository of automatic styles.
+
+OrgOdtStyles.xml contributes to "styles.xml" file within an exported
+document and acts as a repository of custom styles.
index ed48807b068f4cd1ba1f379dbdab7e0c92b4b0a8..59bdd2c5eba2bfcb2f36002a7a7f9c97c438cb64 100644 (file)
@@ -1,7 +1,7 @@
 % === BEGIN ps-print prologue 0
 % version: 6.0
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % This file is part of GNU Emacs.
 
index dbb0db846bf2db755cf6a888e2b94442f10d4f35..85130e7cadb2ecbe78914549d6b0df41b832d489 100644 (file)
@@ -1,7 +1,7 @@
 % === BEGIN ps-print prologue 1
 % version: 6.1
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % This file is part of GNU Emacs.
 
index 115b0ca084a7bf8323bbf32c704a85a180db8a0e..64e2d8638f8c9ea96edc3d7c1e6ea4adfe801bbb 100644 (file)
@@ -1,6 +1,6 @@
 ### Makefile for Emacs refcards
 
-## Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+## Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 ## This file is part of GNU Emacs.
 #
index fa5ae9258eb84a8469cc5e621b468582d98b1bb0..a1fa2f063b59603818902fa78c74bb3e96485150 100644 (file)
@@ -12,5 +12,5 @@ it is reproduced here for convenience.
 
 File: gnus-logo.eps, gnus-logo.pdf
   Author: Luis Fernandes <elf@ee.ryerson.ca>
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
   License: GNU General Public License version 3 or later (see COPYING)
index f60be117ad5c580ea023202a1b086b733cf0b60d..fd3d45b8da4e14c08537a78a6e00b7b3107bffe3 100644 (file)
@@ -20,7 +20,7 @@
 % Typical command to format:  tex calccard.tex
 % Typical command to print (3 cols):  dvips -t landscape calccard.dvi
 
-% Copyright (C) 1987, 1992, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1987, 1992, 2001-2012  Free Software Foundation, Inc.
 
 % This file is part of GNU Emacs.
 
@@ -63,8 +63,8 @@
 %  UUCP: mit-erl!gildea
 %  Internet: gildea@stop.mail-abuse.org
 
-\def\emacsversionnumber{23}
-\def\year{2011}                 % latest copyright year
+\def\emacsversionnumber{24}
+\def\year{2012}                 % latest copyright year
 
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
   \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
index 63239b55c10cb64ab4a79c07dec66a0cfb174581..ee7acaf416daccc21a2f170f03995182f5ed1b0c 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for Dired
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
 % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
@@ -41,8 +41,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index 8b9456b4a6376260bd4a61f29f8e0e1490150320..d17e5c6ddebc8645888388695d783fbdb4c4e597 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
 %   Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
@@ -59,8 +59,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index d20d6a083643136289939fa7335765bfa5517dd5..5aa111c02974b1f95d1d9849d1a2b327b84f048c 100644 (file)
@@ -1,6 +1,6 @@
 % Title:  GNU Emacs Survival Card
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
@@ -54,8 +54,8 @@
 % Czech hyphenation rules applied
 \chyph
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 \def\copyrightnotice{\penalty-1\vfill
   \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter
index 58527be9d76869f3a7a542d014437b466a4acac5..ca3141b8390e4f853b54e1177e527fadee73b124 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1987, 1993, 1996, 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 1987, 1993, 1996, 2000-2012  Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
 % German translation: Sven Joachim <svenjoac@gmx.de>
@@ -60,8 +60,8 @@
 \input german.sty
 \mdqoff               % deactivates the "-char
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed below this line.
 
index f1fd6808cdebdd9579141c7957b8dceb192289c1..9ccf57682ff01eadc49752d794fbbca02a0988b7 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for Dired
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
 
@@ -43,8 +43,8 @@
 \input pdflayout.sty
 \pdflayout=(1)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index 01afe76ff30f1b7f1e023359b5ada849e2331093..2819bbaa25bc58c2e33310cc356d7e4d18e00077 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for Dired
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
 % French translation: Eric Jacoboni
@@ -35,8 +35,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index 61caccbea8ef769d2e4810f55173a06411b86754..ed82f00a85d8a516c1cb6baf3e96751c7ac2fbf0 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
 %   Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
@@ -56,8 +56,8 @@
 \input pdflayout.sty
 \pdflayout=(0l)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed below this line.
 
index b9c84ac680a7c666333bb2ec2fdcdeb12a30fc2e..1cd9cc4cf057b4da645cc4d61e21ca2ca7d1fc6e 100644 (file)
@@ -1,7 +1,7 @@
 %&tex
 % Title:  GNU Emacs Survival Card
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 % French translation:  \'Eric Jacoboni <jaco@teaser.fr>, November 2001
@@ -49,8 +49,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 \def\copyrightnotice{\penalty-1\vfill
   \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter
index 36659ebfb4b84705335a86926eb42e0c9958ab72..f959767c577c10c47810200dec816e208b3c8f48 100644 (file)
@@ -1,5 +1,5 @@
 %!PS-Adobe-2.0 EPSF-2.0
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 %
 % Author: Luis Fernandes <elf@ee.ryerson.ca>
 %
index 9f13974584d87bc3e42cb4620d0cb2d76fb27b31..a2ce63aa20a4c9dc0480878673164330df908cb0 100644 (file)
 %% Gnus logo by Luis Fernandes.
 \newcommand{\Copyright}{%
   \begin{center}
-    Copyright \copyright\ 1995, 2000, 2002-2011  Free Software Foundation, Inc.\\*
+    Copyright \copyright\ 1995, 2000, 2002-2012  Free Software Foundation, Inc.\\*
   \end{center}
 
   Permission is granted to make and distribute copies of this reference
index 71f216156f3afaf62224b53efe1697fc8d912a28..92df030d4d2082a5808db70ae68008edf8319143 100644 (file)
Binary files a/etc/refcards/orgcard.pdf and b/etc/refcards/orgcard.pdf differ
index 1579a31b8d56e7998d1cec7002a3193e009e6092..64200742ae9085b6ebd848ad611672673ae6559c 100644 (file)
@@ -1,7 +1,7 @@
 % Reference Card for Org Mode
-\def\orgversionnumber{7.7}
+\def\orgversionnumber{7.8.02}
 \def\versionyear{2011}          % latest update
-\def\year{2011}                 % latest copyright year
+\def\year{2012}                 % latest copyright year
 
 %**start of header
 \newcount\columnsperpage
@@ -17,7 +17,7 @@
 \pdflayout=(0l)
 
 % Nothing else needs to be changed below this line.
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
 %   Free Software Foundation, Inc.
 
 % This file is part of GNU Emacs.
@@ -445,6 +445,7 @@ formula, \kbd{:=} a field formula.
 \key{execute code block at point}{C-c C-c}
 \key{open results of code block at point}{C-c C-o}
 \key{check code block at point for errors}{C-c C-v c}
+\key{insert a header argument with completion}{C-c C-v j}
 \key{view expanded body of code block at point}{C-c C-v v}
 \key{view information about code block at point}{C-c C-v I}
 \key{go to named code block}{C-c C-v g}
@@ -460,7 +461,7 @@ formula, \kbd{:=} a field formula.
 \key{tangle code blocks in supplied file}{C-c C-v f}
 \key{ingest all code blocks in supplied file into the Library of Babel}{C-c C-v i}
 \key{switch to the session of the current code block}{C-c C-v z}
-\key{load expanded body of the current code block into a session}{C-c C-v l}
+\key{load the current code block into a session}{C-c C-v l}
 \key{view sha1 hash of the current code block}{C-c C-v a}
 
 \section{Completion}
@@ -525,7 +526,7 @@ after  ``{\tt :}'', and dictionary words elsewhere.
 \section{Timestamps}
 
 \key{prompt for date and insert timestamp}{C-c .}
-\key{like \kbd{C-c} . but insert date and time format}{C-u C-c .}
+\key{like \kbd{C-c .} but insert date and time format}{C-u C-c .}
 \key{like \kbd{C-c .} but make stamp inactive}{C-c !} % FIXME
 \key{insert DEADLINE timestamp}{C-c C-d}
 \key{insert SCHEDULED timestamp}{C-c C-s}
@@ -673,7 +674,7 @@ never exported.
 
 \section{Notes}
 [1] This is only a suggestion for a binding of this command.  Choose
-your own key as shown under INSTALLATION.
+your own key as shown under ACTIVATION.
 
 [2] Keybinding affected by {\tt org-support-shift-select} and also
  {\tt org-replace-disputed-keys}.
@@ -686,4 +687,3 @@ your own key as shown under INSTALLATION.
 % compile-command: "tex refcard"
 % End:
 
-
index c7eb1913a09465be08537bc3a1e7a5634c8b0d05..1b421a1cee8cb6bbbf213e99f212d2d97efc497b 100644 (file)
@@ -1,4 +1,4 @@
-% Copyright (C) 2007-2011  Free Software Foundation, Inc.
+% Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 % This file is part of GNU Emacs.
 
index 23624116709362256bfffa638ae6febe689cd0b0..9cc6fc6a6cd48376181a6b1ba1b944e78921ffdc 100644 (file)
@@ -1,7 +1,7 @@
 %&mex
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
 % Polish translation: W{\l}odek Bzyl <matwb@univ.gda.pl>
@@ -69,8 +69,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index 4091f59d1f6c9cd310411f3cb3065754bebb1b56..c16d5096f303300c3d1a5394d177fb7f52cc295d 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1987, 1993, 1996-1997, 2002-2004, 2006-2011
+% Copyright (C) 1987, 1993, 1996-1997, 2002-2004, 2006-2012
 %   Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
@@ -62,8 +62,8 @@
 \input pdflayout.sty
 \pdflayout=(0l)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed below this line.
 
index 7d4f9dbfa89d8636eb35c3146b5228127ea36654..70788e8c67b8f808966061465efb3966168a989e 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
 %   Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
@@ -63,8 +63,8 @@
 
 % Nothing else needs to be changed below this line.
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % copyright year
 
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
   \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
index f2b47acc809e40767a24b51aac4dc076060808f0..1e9cd0e5b791217717ed9227c32866c4e3127e22 100644 (file)
@@ -1,4 +1,4 @@
-% Copyright (C) 1997, 2002-2011  Free Software Foundation, Inc.
+% Copyright (C) 1997, 2002-2012  Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
 % Russian translation: Alex Ott <alexott@gmail.com>
@@ -21,8 +21,8 @@
 \newlength{\ColThreeWidth}
 \setlength{\ColThreeWidth}{25mm}
 
-\newcommand{\versionemacs}[0]{23} % version of Emacs this is for
-\newcommand{\cyear}[0]{2011}       % copyright year
+\newcommand{\versionemacs}[0]{24} % version of Emacs this is for
+\newcommand{\cyear}[0]{2012}       % copyright year
 
 \newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill
   \centerline{\footnotesize \copyright\ \cyear\ Free Software Foundation, Inc.
index 12d66ce95547b3717ff06e60d757e98fdb1f88d6..4b12b0b42eb9717f68fc4560009f0ea334e4280a 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for Dired
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
 % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
@@ -42,8 +42,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index 789bbaea92f6f8fb1c9c4f43874e25d3ce4842e2..5105e8ca986b33099dbd9d12883389f6c7a834c7 100644 (file)
@@ -1,6 +1,6 @@
 % Reference Card for GNU Emacs
 
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
 %   Free Software Foundation, Inc.
 
 % Author: Stephen Gildea <gildea@stop.mail-abuse.org>
@@ -60,8 +60,8 @@
 \input pdflayout.sty
 \pdflayout=(0)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2010}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 % Nothing else needs to be changed.
 
index f496ac1af0fae5f4e695ebeb8d9170a901a99d11..7597c63f5c792871ec23978bb79e1745e58fc5e0 100644 (file)
@@ -1,6 +1,6 @@
 % Title:  GNU Emacs Survival Card
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
@@ -55,8 +55,8 @@
 % Slovak hyphenation rules applied
 \shyph
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 \def\copyrightnotice{\penalty-1\vfill
   \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter
index 845bc38bc4790b0b4fded2fc4bb9c192d8c7d25d..92d178a130a9b4e8232d643712a34a479013291b 100644 (file)
@@ -1,7 +1,7 @@
 %&tex
 % Title:  GNU Emacs Survival Card
 
-% Copyright (C) 2000-2011  Free Software Foundation, Inc.
+% Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 % Author: Wlodek Bzyl <matwb@univ.gda.pl>
 
@@ -44,8 +44,8 @@
 \input pdflayout.sty
 \pdflayout=(1)
 
-\def\versionemacs{23}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\versionemacs{24}           % version of Emacs this is for
+\def\year{2012}                 % latest copyright year
 
 \def\copyrightnotice{\penalty-1\vfill
   \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter
index 47decbb9f741f725472da672f55368ced91a3d29..13b43dbab73a8b1962dd2195105a07e71b26f974 100644 (file)
@@ -1,6 +1,6 @@
 % Quick Reference Card for VIP
 
-% Copyright (C) 1987, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1987, 2001-2012  Free Software Foundation, Inc.
 
 % Author: Masahiko Sato <ms@sail.stanford.edu>, <masahiko@sato.riec.tohoku.junet>
 
@@ -50,7 +50,7 @@
 \pdflayout=(1)
 
 \def\versionemacs{18}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\year{2012}                 % latest copyright year
 \def\versionvip{3.5}
 
 % Nothing else needs to be changed.
index 594137744fed836a408b21e9a49906d99f1dd77b..a8694dd3bed2caba619d5bde620c4d4d92894eae 100644 (file)
@@ -1,6 +1,6 @@
 % ViperCard -- The Reference Card for Viper under GNU Emacs and XEmacs
 
-% Copyright (C) 1995-1997, 2001-2011  Free Software Foundation, Inc.
+% Copyright (C) 1995-1997, 2001-2012  Free Software Foundation, Inc.
 
 % Author: Michael Kifer <kifer@cs.sunysb.edu> (Viper)
 %      Aamod Sane <sane@cs.uiuc.edu> (VIP 4.3)
@@ -53,7 +53,7 @@
 \pdflayout=(1)
 
 \def\versionemacs{21}           % version of Emacs this is for
-\def\year{2011}                 % latest copyright year
+\def\year{2012}                 % latest copyright year
 \def\versionxemacs{20}          % version of XEmacs this is for
 \def\versionviper{3.0}          % version of Viper this is for
 
index bab527107e92c3ae3db6133899adff0827ee7d4d..431597b1796dc6b5d766407fbf043a7fadd3e81e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2004, 2007-2011  Free Software Foundation, Inc.
+# Copyright (C) 2003-2004, 2007-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 15b836c75002eea37ec72bf99bf2d5b21fc90920..b00ac0781330a7ebbca4de1226b5e7e205294c1a 100644 (file)
@@ -1,6 +1,6 @@
 # RELAX NG XML syntax expressed in RELAX NG Compact syntax.
 
-# Copyright (C) 2003-2004, 2007-2011  Free Software Foundation, Inc.
+# Copyright (C) 2003-2004, 2007-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 36c5fd873d81dfc3af910e04a790645c4ce0f159..e6d6564c76d62a4ae4b8e60c3c198bc3826ceabe 100644 (file)
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2003-2004, 2007-2011  Free Software Foundation, Inc.
+<!-- Copyright (C) 2003-2004, 2007-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 842d0ad94775f1183e1602c051d3ef0db941ec63..f0ff4aca1217529849999fbe0dff3fe5b8d65ebf 100644 (file)
@@ -205,7 +205,7 @@ Sales summary - Acme fundraising
 ;;; ses--symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other"))
 ;;; End:
 
-;;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;;; COPYING PERMISSIONS:
 ;;; 
index 0b042efce69482b137ed90572597f8da2a1efbb5..16cfc535761776e7b0456bf1dba99df29f1c8ef5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cpp.srt --- SRecode templates for c++-mode
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 91a763211933b57c6e6e68ffee5935e77c5764bb..2cedcfceeff76221b775e19835e88265144532b9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; default.srt --- SRecode templates for srecode-template-mode
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index a9ea16d18112e5679d97f47f23fd72cc19f64a9a..67d13691cef6da4fc98af3ba3c78aea036d4aa75 100644 (file)
@@ -1,6 +1,6 @@
 ;; doc-c.srt --- SRecode templates for "document" applications
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index ac8d8bc1ac2355008f895195f74ce293d1768de4..f3876c830aff73d645152bca917073585f23d09c 100644 (file)
@@ -1,6 +1,6 @@
 ;; doc-default.srt --- SRecode templates for "document" applications
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index aeae1c2c389eaa23dbc943aed8509f7f320ac348..729d025008a1413a8f150922ab5dd55654416176 100644 (file)
@@ -1,6 +1,6 @@
 ;; doc-java.srt --- SRecode templates for "document" applications
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 48c5aae5a682c24529f9c92f6203984fcfa34f4d..97725f4ff56fcd65d261236bba82bb8edf27a97c 100644 (file)
@@ -1,6 +1,6 @@
 ;; ede-make.srt --- SRecode templates for Makefiles used by EDE.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 03a797bb7097c5bf8c4913b6c30e823a18c493dc..cc5af736f15760df6614f40d4678ec7f7164c477 100644 (file)
@@ -1,6 +1,6 @@
 ;;; el.srt --- SRecode templates for Emacs Lisp mode
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Ludlam <zappo@gnu.org>
 
index ebca17098d5aa57fa79e19515f9ce6c3a7d6d8ab..22dca4ed1b3971a22c1db411ada3a02ae2c03dde 100644 (file)
@@ -1,6 +1,6 @@
 ;;; getset-cpp.srt --- SRecode templates for C++ class getter/setters.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 3059afad60135294a647772396123a0981a940cd..706b6b39d576ac9728e2fc3e5716ae2bfdcefd1b 100644 (file)
@@ -1,6 +1,6 @@
 ;; java.srt
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index d07d211a98489fe19ab48b8a4f3b13ad1fb453fa..4001132e35efaf0080d9288211f3114fa2931aff 100644 (file)
@@ -1,6 +1,6 @@
 ;; make.srt
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index adbe554216b19f0acec2a64d7cf363c275772dd0..226d51c7ba94693d7b6e9a24076aa50db9d331fd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; template.srt --- Templates for Semantic Recoders
 
-;; Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Ludlam <zappo@gnu.org>
 
index d3dad33a5a21013209a577df8c74c798ff85daad..fe12eb8b8c54500b8192450c7cc142ee81377ff0 100644 (file)
@@ -1,6 +1,6 @@
 ;; test.srt --- SRecode templates for testing
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index abf086c7281422d5958931c96b810ad6b4c048a5..8c4ee858e62379293933c533c08074ed0907f0e4 100644 (file)
@@ -1,6 +1,6 @@
 ;; texi.srt --- SRecode templates for Texinfo
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index b66a17a4be54df5efdce2085e82cfa7e44572f4a..75ce5f6b7ab1427585937e5eb39e3670d9ffebd7 100644 (file)
@@ -1,6 +1,6 @@
 ;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 9e991847d5c0b6ba7ad6f12bf913322c64b0dfea..26796b85849ccc25e5f964f447ba13db8d2a3bfa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; adwaita-theme.el --- Tango-based custom theme for faces
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: William Stevenson <yhvh2000@gmail.com>
 
index 1a4ca82f438c3e4afe9ee7fb1e04371ad074e8f0..0021d5800733ff0f692616a81e95694daad4ec91 100644 (file)
@@ -1,6 +1,6 @@
 ;;; deeper-blue-theme.el --- Custom theme for faces
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Scott Frazer <frazer.scott@gmail.com>
 
index 80215e564f50e625cab898612ae75afcd306e9f2..903776a779d8517e4ccc25dd35453036ccb8bf33 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dichromacy-theme.el --- color theme suitable for color-blind users
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Chong Yidong <cyd@stupidchicken>
 
index cf6ae543575dcf7a75673468aa8d38b59fad32d9..ece61f1e1c17edce7102d46f756fd60691a974b8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; light-blue-theme.el --- Custom theme for faces
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Drew Adams <drew.adams@oracle.com>
 
index b06678636c71fc3542e4096fba9a788563ec8dcd..d09c550b0b68d4b4665c637c73c4e9bf7377f8f2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; manoj-dark.el --- A dark theme from Manoj
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Manoj Srivastava <srivasta@ieee.org>
 ;; Keywords: lisp, faces
@@ -20,7 +20,7 @@
 
 ;;; Commentary:
 
-;; I spend a lot of time workin in front of a screen (many hours in a
+;; I spend a lot of time working in front of a screen (many hours in a
 ;; dimly lit room) and eye fatigue is an issue. This is a dark color
 ;; theme for emacs, which is easier on the eyes than light themes.
 
index 6e38a43a4f0c0a6c8d9dc6d745fe333c018680a6..9a47e61d7cd7685052e2bbb5b215884eb029c68f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; misterioso-theme.el --- Custom face theme for Emacs
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Sebastian Hermida
 
index ae45966b347ca9897e96e9e720de15be87d00527..27a8f1868b4f1efb6d134f65a162c0eda7f32d49 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tango-dark-theme.el --- Tango-based custom theme for faces
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Authors: Chong Yidong <cyd@stupidchicken>
 ;;          Jan Moringen <jan.moringen@uni-bielefeld.de>
index b46bd677f217fa08e26752242a64fda3329a1599..e07ccc35360da2f8473b93c416812631238fd3c4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tango-theme.el --- Tango-based custom theme for faces
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Authors: Chong Yidong <cyd@stupidchicken>
 ;;          Jan Moringen <jan.moringen@uni-bielefeld.de>
index 82732765885681504b55f83a345eaab9a0b61b54..85db38a9e5af2cd218767d373517773ef4210e44 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tsdh-dark-theme.el --- Tassilo's dark custom theme
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index f62cea4eb47bea9db8aa6d51adc0585120e9659c..e905f37887d65bc0aa28b9d181891ec89507db23 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tsdh-light-theme.el --- Tassilo's light custom theme
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 50db2661a99122054ca45b26ea215894c4e1d03a..113fbae7b6a6d745a513ef2b5cfca7467479cfa7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wheatgrass-theme.el --- custom theme for faces
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index e5c808df68da2f5bf2a8b289453d921d7b2753b0..a12edac8728ea4cf99f11015eb39f10a681bfe94 100644 (file)
@@ -1,6 +1,6 @@
 ;;; whiteboard-theme.el --- Custom theme for faces
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Scott Frazer <frazer.scott@gmail.com>
 
index 894a2444ab5b55e84fa32e0ae16c3647264edce8..500c877046adea5cf379f3333fddf00a5b325e31 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wombat-theme.el --- Custom face theme for Emacs  -*-coding: utf-8 -*-
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Kristoffer Grönlund <krig@koru.se>
 
index ae4cfb93edca9d1ef74d83196d56135c0f89e5ff..7713aba0140580b47b459440a859efa6749311fb 100644 (file)
@@ -1121,7 +1121,7 @@ starting with the one written by Stuart Cracraft for the original Emacs.
 This version of the tutorial is a part of GNU Emacs.  It is copyrighted
 and comes with permission to distribute copies on certain conditions:
 
-  Copyright (C) 1985, 1996, 1998, 2001-2011 Free Software Foundation, Inc.
+  Copyright (C) 1985, 1996, 1998, 2001-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index cbbc27bd9c48f990ec614cce80afdcbfd501a57d..22f96f169b90f0de87172c15a69b0e5ef1f9356f 100644 (file)
@@ -1160,7 +1160,7 @@ Dired 
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index 6a605f6e791a305228478d1f8123cc2a02b5a5ce..46201455997a07fc074c390babf56f1ea66c4833 100644 (file)
@@ -980,7 +980,7 @@ starting with the one written by Stuart Cracraft for the original Emacs.
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
@@ -1005,7 +1005,7 @@ GNU Emacs to your friends.  Help stamp out software obstructionism
 
 ±¾ÆªÎĵµÓë GNU Emacs Ò»ÑùÓµÓаæȨ£¬²¢ÔÊÐíÔÚÏÂÁÐÌõ¼þµÄÔ¼ÊøÏ·¢ÐÐÆ俽±´£º
 
-   Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    ±¾ÎĵµÔÊÐíÔÚ²»±ä¸üÎĵµÄÚÈݵÄÇé¿öÏÂÓÉÈκÎÈË·¢²¼ÔÚÈκÎýÌåÉÏ£¬Í¬Ê±±ØÐë
    ÍêÕû±£Áô°æȨºÍÐí¿ÉÉùÃ÷£¬ÇÒÐè¸øÓèÊÜÖÚÓë·¢ÐÐÕßÍêÈ«ÏàͬµÄ¡¢Èç±¾ÉùÃ÷ËùÔÊ
index 98dcf473aefb935c69683f32c270f0ab33ea11ee..db663fd0774dea2216edef2919d6e297263a2277 100644 (file)
@@ -1015,7 +1015,7 @@ tutori
 Tato verze tutoriálu je, podobnì jako GNU Emacs, chránìna copyrightem a
 je ¹íøena se svolením distribuovat kopie za jistých podmínek:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Ka¾dému je zaruèeno právo vytváøet a distribuovat pøesné kopie tohoto
    dokumentu tak, jak jej obdr¾el, na jakémkoliv médiu, s tím, ¾e bude
index ad0b765b55b689ccab5cb3160e94bb7164a635a0..2908203b3911716c1a602c97099df409641c504f 100644 (file)
@@ -1477,7 +1477,7 @@ Beachten Sie bitte, dass im Zweifelsfalle das englische Original
 dieser Urheberrechtsnotiz gültig ist (zu finden in der Datei
 TUTORIAL).
 
-   Copyright (C) 1985, 1996-1997, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1985, 1996-1997, 2001-2012 Free Software Foundation, Inc.
 
    Diese Datei ist ein Bestandteil von GNU Emacs.
 
index f95f3317abfe22baa0df4c7f09093f85275f61b9..51c08db04a4e63fac8819add274445accbda7578 100644 (file)
@@ -1081,7 +1081,7 @@ la dosiero verkita de Stuart Cracraft por la originala Emakso.
 kopirajton, kaj venas kun permeso por disdoni kopiojn se certaj
 kondiæoj estas observataj:
 
-   Copyright (C) 1985, 1999, 2001-2002, 2005, 2007-2011
+   Copyright (C) 1985, 1999, 2001-2002, 2005, 2007-2012
      Free Software Foundation, Inc.
 
    Æi tiu dosiero estas parto de "GNU Emacs".
index e4b2cf0d52827d15e9072686cefe4636bf917b53..2597f00e95fa33505ab21c41f38cac1c2c62c200 100644 (file)
@@ -1179,7 +1179,7 @@ Por favor, en caso de duda, s
 siguiente nota de derechos de reproducción (que puede encontrar en el
 archivo TUTORIAL).
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Se permite a cualquiera hacer o distribuir copias literales de este
    documento como se recibe, en cualquier medio, siempre que la nota
index 5ba4ebae9c33ea61325e64412570b2ccb211136c..95670ff1efe485e99da6fb7a3dde5df688724979 100644 (file)
@@ -1162,7 +1162,7 @@ Cette version du didacticiel, comme GNU Emacs, est plac
 copyright, et vous pouvez en distribuer des copies sous certaines
 conditions :
 
-Copyright (C) 1985, 1996, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 2001-2012  Free Software Foundation, Inc.
 
    Chacun peut créer ou distribuer des copies de ce document tel qu'il
    l'a reçu, sur n'importe quel support, pourvu que la note de
index 92d94a0da87a6ed90e5fcbab25b4fd41e56ff843..98690501f5f5aa11173d5d6c9946aa068594d47f 100644 (file)
@@ -1008,7 +1008,7 @@ find-file.
 גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים
 וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן:
 
-                       Copyright (C) 2010-2011 Free Software Foundation, Inc.
+                       Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ‏GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי
 הרשיון GNU General Public License, כפי שהוא יוצא לאור ע"י Free
index 1c9f8bc66549a78fbc88afa6d7247f67cd499c28..1f222caceef0f70113670010b17b3556e85c6451 100644 (file)
@@ -1085,7 +1085,7 @@ distribuito con il permesso di farne copie a determinate condizioni:
    indicativo, restando comunque inteso il fatto che è quella originale a
    fare fede.
 
-Copyright (C) 2003-2011  Free Software Foundation, Inc.
+Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
    È permesso a chiunque copiare e distribuire attraverso ogni mezzo copie
    fedeli di questo documento così come viene ricevuto, a condizione che
index d50727ceb82e2b78930e50e2d6d62ec2115b341f..13a6d01be0e7caf19cd1919fafd2f58fd455d721 100644 (file)
@@ -1062,7 +1062,7 @@ starting with the one written by Stuart Cracraft for the original Emacs.
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index a928923832dff2dd71c2c9495bb7c55c82c6ea46..cc87cbad21a90feeae1063fe62514f05a7109525 100644 (file)
@@ -981,7 +981,7 @@ C-x C-s\e$(C?M\e(B (META\e$(C<h3*\e(B EDIT\e$(C<h\e(B \e$(CH$@:\e(B \e$(C13C<<h0!\e(B \e$(C
 GNU \e$(C@L8F=:?M\e(B \e$(C00@L\e(B \e$(C@L\e(B \e$(CAvD'<-\e(B \e$(CFG@:\e(B \e$(C@z@[1G@L\e(B \e$(C@V@88g\e(B \e$(CF/A$GQ\e(B \e$(CA60G@;\e(B \e$(C88A7GR\e(B
 \e$(C6'?!\e(B \e$(C:9;g:;@;\e(B \e$(C9hFwGR\e(B \e$(C<v\e(B \e$(C@V4B\e(B \e$(CGc0!8&\e(B \e$(C0.0m\e(B \e$(C3*?B\e(B \e$(C0M@L4Y\e(B:
 
-Copyright (C) 1985, 1996, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 2001-2012  Free Software Foundation, Inc.
 
    \e$(C@L\e(B \e$(C9.<-4B\e(B \e$(C@L\e(B \e$(C@z@[1G\e(B \e$(C0x0m?M\e(B \e$(CGc?k\e(B \e$(C0x0m0!\e(B \e$(C1W4k7N\e(B \e$(C@/Av5G0m\e(B, \e$(C9hFw@Z0!\e(B
    \e$(C<vCk@Z?!0T\e(B \e$(C@L\e(B \e$(C0x0m?!\e(B \e$(C5{6s\e(B \e$(CGc?k5G4B\e(B \e$(C0MC373\e(B \e$(C6G\e(B \e$(C@g:P9hGO4B\e(B \e$(C0M@;\e(B
index 59f54c1b2dbc6fcfe5a38dfa82859b68c861b974..da9724b2c1e30f67a69d3d38206a23e9634e300c 100644 (file)
@@ -1196,7 +1196,7 @@ het Engelse origineel.)
 Deze versie van de inleiding valt onder copyright, net als GNU Emacs.
 Je mag deze inleiding verspreiden onder bepaalde voorwaarden:
 
-Copyright (C) 1985, 1996-1997, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996-1997, 2001-2012  Free Software Foundation, Inc.
 
    Iedereen mag letterlijke kopieën van dit document, zowel ontvangen
    als verspreiden, op elk medium, vooropgesteld dat de
@@ -1220,7 +1220,7 @@ software te gebruiken, te schrijven en te delen!
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1985, 1996-1997, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996-1997, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim
    copies of this document as received, in any medium, provided that
index f6859612a490ad470c7e511fd3289eec41c9d838..1f35e16d60e965c4471646cef39d1d45b1b52004 100644 (file)
@@ -1209,7 +1209,7 @@ z pomoc
 Ta wersja samouczka, podobnie jak GNU Emacs, jest chroniona prawem
 autorskim, ale wolno j± kopiowaæ pod nastêpuj±cymi warunkami:
 
-Copyright (C) 1985, 1994, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1994, 2001-2012  Free Software Foundation, Inc.
 
 Zezwala siê na wykonywanie lub rozpowszechnianie
 wiernych kopii tego dokumentu w otrzymanej formie, na dowolnym
index 1328c22f7b3d7c177b7a6ec8c834f43f060f0d41..139789b1d2ae4a6fed9904a41296818c1d696d22 100644 (file)
@@ -1056,7 +1056,7 @@ Essa vers
 <marcelo@gnu.org> e como o GNU Emacs, tem um copyright, e vem
 com uma permissão de distribuição de cópias nas seguintes condições:
 
-Copyright (C) 2004-2011  Free Software Foundation, Inc.
+Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
    Permissão é garantida a qualquer um para fazer ou distribuir cópias
    integrais deste documento como recebido, em qualquer meio, deixando
index a3ce0b79d4887022bbf74a41aef61775e1ca13fa..8c31c6c2b4d360d6f12579b8e85de863d1bce13b 100644 (file)
@@ -1082,7 +1082,7 @@ continuare no
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index f8127a2d82e7d9f267ac76044b1f270234b6e310..16bf56a12d836a08ee00016773405e0ef7e2be22 100644 (file)
@@ -1128,7 +1128,7 @@ Dired 
 (copyrighted) É ÐÒÉÈÏÄÉÔ Ó ÏÇÒÁÎÉÞÅÎÉÑÍÉ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ ËÏÐÉÊ ÓÏ
 ÓÌÅÄÕÀÝÉÍÉ ÓÏÇÌÁÛÅÎÉÑÍÉ:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index b75f4c24f0eab0bc4a56a5b0809b24c955a4a04c..891b29d3da768734ab7291dc40b900269818b89e 100644 (file)
@@ -1074,7 +1074,7 @@ t
 Táto verzia tútorialu je, podobne ako GNU Emacs, chránená copyrightom
 a je ¹írená s povolením distribuova» kópie za istých podmienok:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Ka¾dému je zaruèené právo vytvára» a distribuova» presné kópie tohto
    dokumentu tak, ako ho dostal, na akomkoµvek médiu, s tým, ¾e bude
index e43ac3248704428efea5c78d16dd43de4ca872ea..ef1fecbc86a1c0bdcd9ebdecac3fad5f43d9df9d 100644 (file)
@@ -1106,7 +1106,7 @@ Emacs. V sloven
 To besedilo, kot sam GNU Emacs, je avtorsko delo, in njegovo
 razmno¾evanje in raz¹irjanje je dovoljeno pod naslednjimi pogoji:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Dovoljeno je izdelovati in raz¹irjati neokrnjene kopije tega spisa
    v kakr¹nikoli obliki pod pogojem, da je ohranjena navedba o
index 1960d35fff56ff8d0a164c372f79a8bcc9a91208..ff5ef3cddcd91e1ebf92e15d7ce3380f1711f0a6 100644 (file)
@@ -1119,7 +1119,7 @@ Lidell 
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index fae084cd5e8864b492fc70ab9d2369b06617c332..56ea8404ec532a847d6fcbdc29fa5c6415aa8e27 100644 (file)
@@ -964,7 +964,7 @@ starting with the one written by Stuart Cracraft for the original Emacs.
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (C) 1985, 1996, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index da628a3af687eb8f7dbd29f752e906f998e4fb35..d67cfcf4e82a0db277bd25a265088e68f9fdc034 100644 (file)
@@ -1049,7 +1049,7 @@ issue here>
 ³o­Óª©¥»ªº§Ö³t«ü«n©M GNU Emacs ¤@¼Ë³£¬Oª©Åv¤Æªº¡A¨Ã¥B¤¹³\¦b¬Y¨Ç±ø¥ó¤U
 ´²§G¨ä«þ¨©¡G
 
-Copyright (C) 1985, 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index 11aae483ba2cb3f357d4178455cc8a01620e9210..39ba53201da5245bfd0cb302d74b45ee9c284e2a 100644 (file)
@@ -1,3 +1,8 @@
+2011-12-15  Kenichi Handa  <handa@m17n.org>
+
+       * quail/ethiopic.el ("ethiopic"): Do not refer to
+       ethio-prefer-ascii-punctuation.
+
 2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
 
        * quail/hangul.el (hangul-character): Fix typo.
        * Makefile.in (${TIT}): To byte-compile quail packages, use just
        built quail.
 
-1997-12-09  Koaunghi Un  <koanughi.un@zdv.uni-tuebingen.de>
+1997-12-09  Koaunghi Un  <koaunghi.un@zdv.uni-tuebingen.de>
 
        * quail/hanja3.el: New file.
 
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1997-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1997-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 23eaf215e2ebdafbe79a361a934066878f237ffe..9556ecb3bb73bdc0fd73fdd41b509f98abe27c8e 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for leim subdirectory in GNU Emacs.
 
-# Copyright (C) 1997-2011  Free Software Foundation, Inc.
+# Copyright (C) 1997-2012  Free Software Foundation, Inc.
 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 #   2006, 2007, 2008, 2009, 2010, 2011
 #   National Institute of Advanced Industrial Science and Technology (AIST)
index a47bd7664d8ba0443dd7a1e2d79e74980c0f5303..74c5bba7a54efe3c746f08d2b326110f1305d686 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 0a12fdde58a34e5a0d9b8457f317a6c1c91681e3..c8a0247b3920d61911f045516ae13f985e48b0b5 100644 (file)
@@ -1,6 +1,6 @@
 ;; leim-ext.el -- extra leim configuration     -*- coding:utf-8; -*-
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H13PRO009
index 231384308f225e80cbb564cf59243e41fca911ff..19ccaf4f62bb36247c55fa5bd7bbfe6efbe7b832 100644 (file)
@@ -1,6 +1,6 @@
 # -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft W32 API.
 
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 #   2006, 2007
 #   National Institute of Advanced Industrial Science and Technology (AIST)
index e14fee8c888e6ce21ccd5a95bef58d7c3ea80f2a..66d57239b2a3a797b4149a2e73741d7ebfbb16f9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; arabic.el --- Quail package for inputting Arabic   -*- coding: utf-8;-*-
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Cloos <cloos@jhcloos.com>
 ;; Keywords: mule, input method, Arabic
index 885ac238398f6201e88069f138e27f17ae2d7c73..a7348b8a20e413a188b176649c79fb64c4e85733 100644 (file)
@@ -1,6 +1,6 @@
 ;;; quail/croatian.el -- Quail package for inputting Croatian  -*-coding: iso-8859-2;-*-
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Hrvoje Nik¹iæ <hniksic@xemacs.org>
 ;; Keywords: i18n
index 878c6f53281e284670e8261de40063703b2a51b5..bfb05aaa0fdfd1908dc215abe17f8a81cf192241 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cyril-jis.el --- Quail package for inputting JISX0208 Cyrillic letters
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index b1ee78a393e38608ace297f309d9ba8a8e61be34..0c2f64e3d693b0829e2bcfbe03f6c1a9aaeacebd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cyrillic.el --- Quail package for inputting Cyrillic characters
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index fc1fb5f6e1f6ea37dfbc57f74905ec78ba0216e8..e2c5ad975ee049af577ee43fb1859738f0845658 100644 (file)
@@ -1,6 +1,6 @@
 ;;; czech.el --- Quail package for inputting Czech -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Milan Zamazal <pdm@zamazal.org>
 ;; Maintainer: Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
index 7e108a71a6015676130efe5615f3b6721bb48c70..569d6e6b245783a258d3b7147f02330c200955c9 100644 (file)
@@ -39,7 +39,7 @@
  "ethiopic" "Ethiopic"
  '("\e$(3$Q#U!.\e(B "
    (ethio-prefer-ascii-space "_" "\e$(3$h\e(B")
-   (ethio-prefer-ascii-punctuation "." "\e$(3$i\e(B"))
+   "\e$(3$i\e(B")
  t "  Quail package for Ethiopic (Tigrigna and Amharic)
 
 When you are in Ethiopic language environment, the following special
index d9d8519867d0efee7830ec2e6e2c8b60f5135bf5..65c9a3c597f5d49a8357390cee43381ffc25227a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; georgian.el --- Quail package for inputting Georgian characters  -*-coding: utf-8;-*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index 407b52f1f39b765970992ead643708c911324d8a..8bb3112e974e9a6e5c59bb882fddf4c0d6ac55d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; greek.el --- Quail package for inputting Greek -*-coding: iso-2022-7bit-*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index d3071d628e07e4db3566c109c5fd4153e0a63dbf..2ce55a57107a52960e931b05a6b1fe19aed9d634 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hangul.el --- Korean Hangul input method
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Jihyun Cho <jihyun.jo@gmail.com>
 ;; Keywords: multilingual, input method, Korean, Hangul
index 029309f4c15378b5c0afdc3fd88af94fdb5c7c18..e067c965db9c9a0679873d85dae9afee7eb2f434 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hanja.el --- Quail-package for Korean Hanja (KSC5601)  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index aa0fc7948af4c636aa00c97f461e815da7f70f2d..7ca597b5cf2b23f5288e1c20ae0e92846052a727 100644 (file)
@@ -1,8 +1,8 @@
 ;;; hanja3.el --- Quail-package for Korean Hanja (KSC5601)  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012  Free Software Foundation, Inc.
 
-;; Author: Koaunghi Un <koanughi.un@zdv.uni-tuebingen.de>
+;; Author: Koaunghi Un <koaunghi.un@zdv.uni-tuebingen.de>
 ;; Keywords: mule, quail, multilingual, input method, Korean, Hanja
 
 ;; This file is part of GNU Emacs.
index 7c7f6c6a8b5c1d12e400a5500e4d2426b814480c..aed9910000a72dba49747a8b92b02a3f86bb906c 100644 (file)
@@ -333,7 +333,7 @@ Additional mappings for Rafe and Yiddish ligatures.
 (quail-define-package
  "hebrew-full" "Hebrew" "\e,Hr\e$,1,T,K\e(B" nil "Hebrew Full method.
 
-Provides access to all Hebrew characters suiltable to Modern Hebrew.
+Provides access to all Hebrew characters suitable to Modern Hebrew.
 " nil t t t t nil nil nil nil nil t)
 
 (quail-define-rules
@@ -456,7 +456,7 @@ Provides access to all Hebrew characters suiltable to Modern Hebrew.
 "Biblical Hebrew Tiro input method.
 
 Based on Society of Biblical Literature's Tiro keyboard layout.
-Not suiltable for modern Hebrew input.
+Not suitable for modern Hebrew input.
  'q' is used to switch levels instead of Alt-Gr.
  Combining dot above (Called Masora dot) (\e$,1%G\e(B) is mapped to 'q1'.
 " nil t t t t nil nil nil nil nil t)
@@ -602,7 +602,7 @@ Not suiltable for modern Hebrew input.
 "Biblical Hebrew SIL input method.
 
 Based on Society of Biblical Literature's SIL keyboard layout.
-Phonetic and not suiltable for modern Hebrew input.
+Phonetic and not suitable for modern Hebrew input.
  '`' is used to switch levels instead of Alt-Gr.
  Euro Sign (\e,F$\e(B) is mapped to 'Z'.
 " nil t t t t nil nil nil nil nil t)
index 8bdac3f584246f6929e8c5ade8d1912d758f5f66..85ea7460b42f73acab677788607623f0f334831c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; indian.el --- Quail packages for inputting Indian
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: KAWABATA, Taichi <kawabata@m17n.org>
 
index 25eb6d4b9954e71b99e057f76f15d2076cd20d2b..a1528a17466f7f23ccc696af5dbc7aa23ba94bf3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ipa-praat.el --- Inputting IPA characters with the conventions of Praat
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Oliver Scholz <epameinondas@gmx.de>
 ;; Keywords: multilingual, input method, IPA
index 4c15be2bf42755e958710ec0bd98e8d54b7205eb..72db819fa234d3d1dd75013a81d17fd686d1b45d 100644 (file)
@@ -1,11 +1,11 @@
 ;;; ipa.el --- Quail package for inputting IPA characters  -*-coding: utf-8;-*-
 
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 ;; Licensed to the Free Software Foundation.
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
 
 ;; Keywords: multilingual, input method, IPA
 
index f51bddbf3b495648d4090a762159f2034a4f0986..fa7cd702e35c33879d55cc647daaf6a084f1abcd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; japanese.el --- Quail package for inputting Japanese  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 2276ba3e2a5f6afd17a1ced549327ec6b6357bdf..a2d0d5754b67a58d8d87e35afe824d9d01833735 100644 (file)
@@ -1,6 +1,6 @@
 ;;; latin-alt.el --- Quail package for inputting various European characters -*-coding: utf-8;-*-
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
 ;;   2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index fb7883787376c1819650ca6c9d5b247c292dad8c..089797c32ae3ba0602bcc87e8012881ace1d2a80 100644 (file)
@@ -1,6 +1,6 @@
 ;;; latin-ltx.el --- Quail package for TeX-style input -*-coding: utf-8;-*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
 ;;   2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index bca518b5121662e3e1c6a80a30dff2873b53c6e4..0fd41b05ff94e476ddebae396d723fba340b462c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; latin-post.el --- Quail packages for inputting various European characters  -*-coding: utf-8;-*-
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index c45a300997021df6c7085487e93964bdd147986e..622662e463e015b56b9524713d934be03b71dca1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; latin-pre.el --- Quail packages for inputting various European characters  -*-coding: utf-8;-*-
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index d184db3317af9d2b4ddc2f70516540aa2383311c..6cba9086e9b838c1eb9f7a4f5f86900cf10e70b3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lrt.el --- Quail package for inputting Lao characters by LRT method  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 572c9127f9d03cac0d778ebccca25639f00de149..d006e83aa71747d540424a06e5a3ef095cc707b7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; persian.el  --- Quail package for inputting Persian/Farsi keyboard -*- coding: utf-8;-*-
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Mohsen BANAN  <libre@mohsen.banan.1.byname.net>
 ;; http://mohsen.banan.1.byname.net/contact
@@ -27,7 +27,7 @@
 ;;; Commentary:
 ;;
 ;; This file contains a collection of input methods for
-;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...)
+;; Persian languages - Farsi, Urdu, Pashto (Afghani), ...
 ;;
 ;; At this time, the following input methods are specified:
 ;;
index 947f54c76fadc5f505d256e6e9148a0a0c25c3f3..839242af05e67c48b2c9571c6d611ff3415f30f1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; py-punct.el --- Quail packages for Chinese (pinyin + extra symbols)  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index a74dd05f7efe142784360deceb38a8345e5b7138..c900d51b8ef49014666fbc318a8624afc7caf559 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc1345.el --- Quail method for RFC 1345 mnemonics -*- coding: utf-8 -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index a8c335afa339e25b69fdd67b14b195b8eb7701cd..5a95fd19a03d327c30e8214a4de83e691b9a87c3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sgml-input.el --- Quail method for Unicode entered as SGML entities -*- coding: utf-8 -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index 40f36fa032ee1b4d753da2c72e6f19974ecf178c..8afeaf9de4be8a6713fb4e45c292b46cabd1b817 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sisheng.el --- sisheng input method for Chinese pinyin transliteration
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Werner LEMBERG <wl@gnu.org>
 
index cfc35b07ca21b97709c453556be8f8c1a800c4cc..eafc694dea707c40b9bb2a7ba8288f07086a2fd7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; slovak.el --- Quail package for inputting Slovak  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Authors: Tibor \e,B)\e(Bimko <tibor.simko@fmph.uniba.sk>
 ;;     Milan Zamazal <pdm@zamazal.org>
index 15e78eb98663e5e1ed83d85edf65c4ed2f46740c..c123848755da5810beaebf8c4273daf4953e1a63 100644 (file)
@@ -1,6 +1,6 @@
 ;;; symbol-ksc.el --- Quail-package for Korean Symbol (KSC5601) -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index ba47155524ffb7b8d38a668ad80ce18a7ab31621..e8975b7424cb3fc245fa20454c5d9ff52e37cfd3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tibetan.el --- Quail package for inputting Tibetan characters -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
  nil nil nil nil nil nil nil nil
  'quail-tibetan-update-translation)
 
-;; Here we build up a Quail map for a Tibtan sequence the whole of
+;; Here we build up a Quail map for a Tibetan sequence the whole of
 ;; which can be one composition.
 ;;
 ;; A Tibetan syllable is typically structured as follows:
     ("F" . "M")                                ; anusvara
     ("g" . "u")                                ; zhabs kyu
     ("G" . "i")                                ; gi gu
-    ("H" . ",")                                ; viraama
+    ("H" . ",")                                ; virama
     ("j" . "o")                                ; naro
     ("J" . "e")                                ; 'greng bu
     ("k" . "ts")                       ; tsa
index d532b16ab0e17c7fa8dd34f8f72cef39c07ff7f5..8d0e28d15a4a36e067a818616ac242c74b5f5386 100644 (file)
@@ -1,6 +1,6 @@
 ;;; uni-input.el --- Hex Unicode input method
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
index 40380ee27efdf1570e3312bb9814c6f4bdea81a1..0cb3d402db23e5d83c758664cad8115441af5298 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vntelex.el --- Quail package for Vietnamese by Telex method
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author:   Werner Lemberg <wl@gnu.org>
 ;; Keywords: multilingual, input method, Vietnamese
index 3085bbc358f0a228a6266f0aeaade02045b26b41..9dfe62934841ed3bb4fc3ba858d9b773068e7150 100644 (file)
@@ -1,6 +1,6 @@
 ;;; welsh.el --- Quail package for inputting Welsh characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index 40404828e0fc0d4059d9842c8786561e4f8f72dd..32054e68db284c1dc7c805e057d05ddd15ff4e87 100644 (file)
@@ -1,3 +1,14 @@
+2012-01-05  Glenn Morris  <rgm@gnu.org>
+
+       * ebrowse.c (version) <emacs_copyright>:
+       * etags.c (print_version) <emacs_copyright>:
+       * rcs2log (Copyright): Update short copyright year to 2012.
+
+2011-12-25  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * etags.c (C_entries): Properly skip over string and character
+       constants and comments inside brackets.  (Bug#10357)
+
 2011-12-04  Juanma Barranquero  <lekktu@gmail.com>
 
        * emacsclient.c (decode_options) [WINDOWSNT]: Don't force tty = 0;
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1988-1999, 2001-2011 Free Software Foundation, Inc.
+  Copyright (C) 1988-1999, 2001-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index c5e117f66f9cfa67310d388b1e5f7f9862efc3e5..cc1757e4e3bba27fe1abb271d886570f691a8a38 100644 (file)
@@ -1,5 +1,5 @@
 # Makefile for lib-src subdirectory in GNU Emacs.
-# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2011
+# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2012
 #   Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
index 7395f2c8fdd7b29f9941eeb57a32f81dbe199c56..a1fe10b863a20fb923723204a2766aa14611b6e7 100644 (file)
@@ -1,6 +1,6 @@
 /* ebrowse.c --- parsing files for the ebrowse C++ browser
 
-Copyright (C) 1992-2011  Free Software Foundation, Inc.
+Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -981,7 +981,7 @@ make_namespace (char *name, struct sym *context)
 }
 
 
-/* Find the symbol for namespace NAME.  If not found, retrun NULL */
+/* Find the symbol for namespace NAME.  If not found, return NULL */
 
 static struct sym *
 check_namespace (char *name, struct sym *context)
@@ -3526,7 +3526,7 @@ static void
 version (void)
 {
   /* Makes it easier to update automatically. */
-  char emacs_copyright[] = "Copyright (C) 2011 Free Software Foundation, Inc.";
+  char emacs_copyright[] = "Copyright (C) 2012 Free Software Foundation, Inc.";
 
   printf ("ebrowse %s\n", VERSION);
   puts (emacs_copyright);
index 5e1c2d61b899809a45acbbb3659dbdde76760097..11eba2792d66342af226ddb3f90f30859fe1395a 100644 (file)
@@ -1,5 +1,5 @@
 /* Client process that communicates with GNU Emacs acting as server.
-   Copyright (C) 1986-1987, 1994, 1999-2011 Free Software Foundation, Inc.
+   Copyright (C) 1986-1987, 1994, 1999-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 30d90e9d9114a3304229948417c2b078910357eb..c88473ad525de09b988a9b2e9da7b53a790aa013 100644 (file)
@@ -28,7 +28,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2011
+Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2012
   Free Software Foundation, Inc.
 
 This file is not considered part of GNU Emacs.
@@ -867,7 +867,7 @@ static void
 print_version (void)
 {
   /* Makes it easier to update automatically. */
-  char emacs_copyright[] = "Copyright (C) 2011 Free Software Foundation, Inc.";
+  char emacs_copyright[] = "Copyright (C) 2012 Free Software Foundation, Inc.";
 
   printf ("%s (%s %s)\n", (CTAGS) ? "ctags" : "etags", EMACS_NAME, VERSION);
   puts (emacs_copyright);
@@ -3189,24 +3189,12 @@ C_entries (int c_ext, FILE *inf)
            }
          continue;
        }
-      else if (bracketlev > 0)
-       {
-         switch (c)
-           {
-           case ']':
-             if (--bracketlev > 0)
-               continue;
-             break;
-           case '\0':
-             CNL_SAVE_DEFINEDEF ();
-             break;
-           }
-         continue;
-       }
       else switch (c)
        {
        case '"':
          inquote = TRUE;
+         if (bracketlev > 0)
+           continue;
          if (inattribute)
            break;
          switch (fvdef)
@@ -3224,9 +3212,11 @@ C_entries (int c_ext, FILE *inf)
          continue;
        case '\'':
          inchar = TRUE;
+         if (bracketlev > 0)
+           continue;
          if (inattribute)
            break;
-         if (fvdef != finlist && fvdef != fignore && fvdef !=vignore)
+         if (fvdef != finlist && fvdef != fignore && fvdef != vignore)
            {
              fvextern = FALSE;
              fvdef = fvnone;
@@ -3238,6 +3228,8 @@ C_entries (int c_ext, FILE *inf)
              incomm = TRUE;
              lp++;
              c = ' ';
+             if (bracketlev > 0)
+               continue;
            }
          else if (/* cplpl && */ *lp == '/')
            {
@@ -3270,7 +3262,7 @@ C_entries (int c_ext, FILE *inf)
              for (cp = newlb.buffer; cp < lp-1; cp++)
                if (!iswhite (*cp))
                  {
-                   if (*cp == '*' && *(cp+1) == '/')
+                   if (*cp == '*' && cp[1] == '/')
                      {
                        cp++;
                        cpptoken = TRUE;
@@ -3284,7 +3276,17 @@ C_entries (int c_ext, FILE *inf)
          continue;
        case '[':
          bracketlev++;
-           continue;
+         continue;
+       default:
+         if (bracketlev > 0)
+           {
+             if (c == ']')
+               --bracketlev;
+             else if (c == '\0')
+               CNL_SAVE_DEFINEDEF ();
+             continue;
+           }
+         break;
        } /* switch (c) */
 
 
index 0c7c42dc7ceb1727909c7b7a53320cc1288943af..5477de7b5779104d9146a5b634b160f20efb242e 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl
 
-# Copyright (C) 1999-2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 
index f03663ef5be2aa2201ef79885ab1e937c4a0e785..f8fb11f8218c0352d8e5ea3a0f442e1f9ff22f39 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert files for Emacs Hexl mode.
-   Copyright (C) 1989, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1989, 2001-2012  Free Software Foundation, Inc.
 
 Author: Keith Gabryelski
 (according to authors.el)
index 1ec365f344682f224560ab7912e1cd091084a710..3e79cae4f412c3ae675b0feff00354b2f40ce57c 100644 (file)
@@ -1,5 +1,5 @@
 /* Generate doc-string file for GNU Emacs from source files.
-   Copyright (C) 1985-1986, 1992-1994, 1997, 1999-2011
+   Copyright (C) 1985-1986, 1992-1994, 1997, 1999-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -541,7 +541,7 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs)
          maxargs--;
 
          /* In C code, `default' is a reserved word, so we spell it
-            `defalt'; unmangle that here.  */
+            `defalt'; demangle that here.  */
          if (ident_length == 6 && strncmp (ident_start, "defalt", 6) == 0)
            fprintf (out, "DEFAULT");
          else
index be7f4d0b6db4662d3c1a5734fe5ba1ee20a30bdb..117a835c03fa014e6b26fdb08070dfb7a19b5d5f 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-# Copyright (C) 2000-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index b6ea51f6341c34d7aeebacaa5389e87fa359371b..9d19df32814688c4dac8da033c71e98362e13fdd 100644 (file)
@@ -1,7 +1,7 @@
 /* movemail foo bar -- move file foo to file bar,
    locking file foo the way /bin/mail respects.
 
-Copyright (C) 1986, 1992-1994, 1996, 1999, 2001-2011
+Copyright (C) 1986, 1992-1994, 1996, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 83f653f3ea39b898620bb94553c4e75adea49830..d3b001c157cc76196fe231467b193cd58a9cdf7d 100644 (file)
@@ -1,5 +1,5 @@
 /* Utility and Unix shadow routines for GNU Emacs support programs on NT.
-   Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index be8d2a58a50fa64debc1ebd4f0bcf1a789dc60b0..7502a8a8b34fab93efdbb7e4b0899b77905ee68c 100644 (file)
@@ -1,5 +1,5 @@
 /* Utility and Unix shadow routines for GNU Emacs support programs on NT.
-   Copyright (C) 1994, 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 1994, 2002-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ae1000742cc1814d94f93f0e930d17924e7b8320..37494d17a44bfe1f34117a93985ee353778a9fde 100644 (file)
@@ -1,6 +1,6 @@
 /* pop.c: client routines for talking to a POP3-protocol post-office server
 
-Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2011
+Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 Author: Jonathan Kamens <jik@security.ov.com>
index bc079fcc971d2bb9272558f6d21a98d10e982db9..682a7f93dc51a6d7c6987f0aa5d979bec084b3f5 100644 (file)
@@ -1,5 +1,5 @@
 /* pop.h: Header file for the "pop.c" client POP3 protocol.
-   Copyright (C) 1991, 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1991, 1993, 2001-2012  Free Software Foundation, Inc.
 
 Author:  Jonathan Kamens <jik@security.ov.com>
 
index 086d8cc3e9d4f8f26f286dcb546d3ae6de30d44a..8ed4f3189748e6e119bfc9143e88a0f84e1e27c4 100644 (file)
@@ -1,5 +1,5 @@
 /* profile.c --- generate periodic events for profiling of Emacs Lisp code.
-   Copyright (C) 1992, 1994, 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1992, 1994, 1999, 2001-2012  Free Software Foundation, Inc.
 
 Author: Boaz Ben-Zvi <boaz@lcs.mit.edu>
 
index 6861a30b40b125255acfdc7f83b5b507c50ad388..57e91becf9dcfd6c0f9f06c24a281134335b1a32 100755 (executable)
@@ -2,7 +2,7 @@
 
 # This script accepts any number of file arguments and checks them into RCS.
 
-# Copyright (C) 1993-1995, 2001-2011 Free Software Foundation, Inc.
+# Copyright (C) 1993-1995, 2001-2012 Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 4e1dd306977da32259c6268e0660150276f7e15a..3ed54684a7e62033ec859b32ee5ec2df22aeaf87 100755 (executable)
@@ -2,7 +2,7 @@
 
 # RCS to ChangeLog generator
 
-# Copyright (C) 1992-1998, 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 1992-1998, 2001-2012  Free Software Foundation, Inc.
 
 # Author: Paul Eggert <eggert@twinsun.com>
 
@@ -20,7 +20,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-Copyright='Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright='Copyright (C) 2012 Free Software Foundation, Inc.
 This program comes with NO WARRANTY, to the extent permitted by law.
 You may redistribute copies of this program
 under the terms of the GNU General Public License.
index 5ad19201118ad9423891539f75256b7fdf8cabe2..b404c8230d17d8fa64a1864e136f48070b17f4de 100644 (file)
@@ -1,6 +1,6 @@
 /* test-distrib.c --- testing distribution of nonprinting chars
 
-Copyright (C) 1987, 1993-1995, 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1987, 1993-1995, 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e335617df4d1c003a718f33aa3492c54cca031d0..a32bd6d8d78472498dc2a15c16fea720f2e3355d 100644 (file)
@@ -1,6 +1,6 @@
 /* update-game-score.c --- Update a score file
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 Author: Colin Walters <walters@debian.org>
 
index 0f975cd0ee395292d57d4ac312545881fc730757..dd7ca446d7cb71334ef43a9543ac575178aae7b9 100755 (executable)
@@ -3,7 +3,7 @@
 # Enhanced sccs diff utility for use with vc mode.
 # This version is more compatible with rcsdiff(1).
 
-# Copyright (C) 1992-1993, 1995, 1997, 2001-2011
+# Copyright (C) 1992-1993, 1995, 1997, 2001-2012
 #   Free Software Foundation, Inc.
 
 # Author: Paul Eggert
index cf042ec6c82613e5272c6da9166b9872e39ca4f3..dfc213738060439757401f0aef66ced638de9f2d 100644 (file)
@@ -1,3 +1,339 @@
+2012-01-09  Chong Yidong  <cyd@gnu.org>
+
+       * custom.el (custom-safe-themes): Use SHA-256 for hashing.
+
+2012-01-08  Alan Mackenzie  <acm@muc.de>
+
+       Optimise font locking in long enum definitions.
+
+       * progmodes/cc-fonts.el (c-font-lock-declarations): Add an extra
+       arm to a cond form to handle enums.
+       * progmodes/cc-langs.el (c-enums-contain-decls): New lang variable.
+       * progmodes/cc-mode.el (c-font-lock-fontify-region): Correct a typo.
+
+2012-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * files.el (move-file-to-trash): Preserve default file modes on error.
+       (Bug#10401)
+
+2012-01-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * faces.el (set-face-attribute): Clarify the meaning of the nil
+       frame (bug#10294).
+
+       * subr.el (with-selected-frame): Mention that the selected frame
+       is restored (bug#9980).
+
+       * ibuffer.el (ibuffer-mode): List the bindings in the corrent map
+       (bug#9759).
+
+       * mail/smtpmail.el (password-cache-add): Removed unused declaration.
+       (password-read): Don't autoload unused function.
+
+2012-01-07  Juanma Barranquero  <lekktu@gmail.com>
+
+       * progmodes/which-func.el (which-func-mode): Turn into a
+       non-interactive function and mark as obsolete (bug#10428).
+
+2012-01-06  Chong Yidong  <cyd@gnu.org>
+
+       * files.el (hack-dir-local-variables-non-file-buffer): Add doc.
+       (hack-one-local-variable-eval-safep): Allow 0 arg for minor mode
+       functions, along with 1 and -1.
+
+2012-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * time.el (display-time-load-average)
+       (display-time-default-load-average): Doc fixes.  See the thread
+       starting at
+       http://lists.gnu.org/archive/html/help-gnu-emacs/2012-01/msg00059.html
+       for the details.
+
+2012-01-06  Glenn Morris  <rgm@gnu.org>
+
+       * mail/unrmail.el (unrmail): Give an explicit error if the input file
+       has no messages.  (Bug#10377)
+
+       * info.el (Info-mode-map): Bind e to end-of-buffer, rather
+       than Info-edit.  (Bug#10385)
+
+       * time.el (display-time-load-average, display-time-next-load-average):
+       Doc fixes.
+
+       * emacs-lisp/bytecomp.el (byte-compile-file): Do not propagate a file
+       local setting of buffer-read-only to the input buffer.  (Bug#10419)
+
+       * calendar/calendar.el (calendar-mode):
+       Locally set scroll-margin to 0.  (Bug#10379)
+
+2012-01-06  Ulrich Mueller  <ulm@gentoo.org>
+
+       * play/doctor.el (doctor-death): Escape "," characters.  (Bug#10370)
+
+2012-01-05  Glenn Morris  <rgm@gnu.org>
+
+       * eshell/em-unix.el (diff-no-select): Autoload it.
+       (eshell/diff): Use diff-no-select.  (Bug#10420)
+
+2012-01-05  Chong Yidong  <cyd@gnu.org>
+
+       * shell.el (shell-dynamic-complete-functions): Revert last change.
+       (shell-command-completion-function): New function.
+       (shell-completion-vars): Use it to implement
+       shell-completion-execonly (Bug#10417).
+
+       * custom.el (enable-theme): Don't set custom-safe-themes.
+
+       * cus-theme.el (custom-theme-merge-theme): Ignore
+       custom-enabled-themes and custom-safe-themes.
+
+2012-01-05  Michael R. Mauger  <mmaug@yahoo.com>
+
+       * progmodes/sql.el (sql-login-hook): Add hook to respond to the
+       first prompt in `sql-interacive-mode'.
+       (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin
+       keywords.
+       (sql-mode-mysql-font-lock-keywords):  Add ELSEIF keyword.
+       (sql-product-interactive): Bug fix: Set `sql-buffer' in
+       context of original buffer.  Invoke `sql-login-hook'.
+
+2012-01-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * mail/rmail.el (rmail-font-lock-keywords): Accept non-ASCII
+       letters in cite-prefix.
+
+2012-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mail/smtpmail.el (smtpmail-stream-type): Mention the `ssl' value.
+
+2012-01-03  Chong Yidong  <cyd@gnu.org>
+
+       * shell.el (shell-dynamic-complete-functions): Put
+       pcomplete-completions-at-point, so as to try
+       comint-filename-completion first (Bug#10417).
+
+2012-01-02  Richard Stallman  <rms@gnu.org>
+
+       * battery.el (battery-status-function):
+       Detect when to use battery-yeeloong-sysfs.
+       (battery-echo-area-format): Add string for Yeeloong.
+       (battery-linux-proc-apm, battery-linux-proc-acpi): Doc fixes.
+       (battery-yeeloong-sysfs): New function.
+
+2012-01-02  Chong Yidong  <cyd@gnu.org>
+
+       * dirtrack.el (dirtrack-list): Eliminate unused third element.
+       (dirtrack): Merge code for handling relative filenames in prompt
+       from shell-dir-cookie-watcher.
+       (dirtrack-debug-message): New arg to avoid excess format calls.
+
+       * shell.el (shell-dir-cookie-re): Variable deleted.
+       (shell-dir-cookie-watcher): Function deleted.
+       (shell-mode): Don't use shell-dir-cookie-re, since it is redundant
+       with dirtrack-mode.
+
+2012-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * term/w32-win.el (dynamic-library-alist) <gnutls>: Load
+       libgnutls-28.dll, from GnuTLS version 3.x, in preference to
+       libgnutls-26.dll.
+
+2011-12-31  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * emacs-lisp/bytecomp.el (byte-compile-file): Fix indentation.
+
+2011-12-31  Eli Zaretskii  <eliz@gnu.org>
+
+       * mail/rmail.el (rmail-show-message-1): Decode any RFC2047 encoded
+       headers of non-MIME messages, when rmail-enable-mime is non-nil.
+
+2011-12-29  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp-sh.el (tramp-find-shell): Set "remote-shell" property
+       also for alternative shells.
+       (tramp-open-connection-setup-interactive-shell): Check, whether
+       the shell is a busybox.
+       (tramp-send-command): Don't suppress multiple prompts for
+       busyboxes, it hurts.
+
+2011-12-28  Chong Yidong  <cyd@gnu.org>
+
+       * progmodes/gdb-mi.el (gdb-get-source-file-list)
+       (gdb-get-source-file): Move mode line update to
+       gdb-get-source-file (Bug#10087).
+
+2011-12-25  Chong Yidong  <cyd@gnu.org>
+
+       * progmodes/gud.el (gud-gdb-fetch-lines-filter): Just use
+       gud-gdb-marker-filter without taking it as an argument.
+       (gud-gdb-run-command-fetch-lines): Caller changed.
+       (gud-gdb-completion-function): New variable.
+       (gud-gdb-completion-at-point): Use it.
+       (gud-gdb-completions-1): Split from gud-gdb-completions.
+
+       * progmodes/gdb-mi.el (gdb-input): Accept command and handler
+       function as separate arguments.
+       (gdb-init-1, gdb-non-stop-handler, gdb-check-target-async)
+       (gdb-tooltip-print-1, gud-watch, gdb-speedbar-update)
+       (gdb-var-list-children, gdb-var-set-format, gdb-var-delete-1)
+       (gdb-var-delete-children, gdb-edit-value, gdb-var-update)
+       (gdb-stopped, def-gdb-auto-update-trigger)
+       (gdb-place-breakpoints, gdb-select-thread, gdb-select-frame)
+       (gdb-get-changed-registers, gdb-get-main-selected-frame):
+       Callers changed.
+       (gud-gdbmi-completions): New function.
+       (gdb): Use it for generating the completion table.
+
+2011-12-24  Alan Mackenzie  <acm@muc.de>
+
+       Introduce a mechanism to widen the region used in context font
+       locking.  Use this to protect declarations from losing their
+       contexts.
+
+       * progmodes/cc-langs.el (c-before-font-lock-functions): Replace
+       c-set-fl-decl-start with c-change-set-fl-decl-start (Renaming).
+       (c-before-context-fontification-functions): New defvar, a list of
+       functions to be run just before context (etc.) font locking.
+
+       * progmodes/cc-mode.el (c-extend-font-lock-region-for-macros):
+       New, functionality extracted from
+       c-neutralize-syntax-in-and-mark-CPP.
+       (c-in-after-change-fontification): New variable.
+       (c-after-change): Set c-in-after-change-fontification.
+       (c-set-fl-decl-start): Rejig its interface, so it can be called
+       from both after-change and context fontifying.
+       (c-change-set-fl-decl-start, c-context-set-fl-decl-start):
+       New functions.
+       (c-standard-font-lock-fontify-region-function): New variable.
+       (c-font-lock-fontify-region): New function.
+
+2011-12-24  Juri Linkov  <juri@jurta.org>
+
+       * window.el (window--state-get-1): Set `FORCE' arg of `mark' to t.
+       (Bug#10348)
+
+2011-12-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/ange-ftp.el (ange-ftp-copy-file-internal): Check for
+       existence of source file.  (Bug#10325)
+
+2011-12-23  Alan Mackenzie  <acm@muc.de>
+
+       Fix unstable fontification inside templates.
+
+       * progmodes/cc-langs.el (c-before-font-lock-functions):
+       Newly created from the singular version.  The (c c++ objc) entry now
+       additionally has c-set-fl-decl-start.  The other languages (apart
+       from AWK) have that as a single entry.
+
+       * progmodes/cc-fonts.el (c-font-lock-enclosing-decls):
+       The functionality for "local" declarations has been extracted to
+       c-set-fl-decl-start.
+
+       * progmodes/cc-mode.el (c-common-init, c-after-change):
+       Changes due to pluralisation of c-before-font-lock-functions.
+       (c-set-fl-decl-start): New function, extracted from
+       c-font-lock-enclosing-decls and enhanced.
+
+2011-12-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * desktop.el (desktop-internal-v2s): Fix typos in docstring (bug#10353).
+
+2011-12-22  Juri Linkov  <juri@jurta.org>
+
+       * progmodes/grep.el (rgrep): Fix docstring.  (Bug#10185)
+
+2011-12-22  Chong Yidong  <cyd@gnu.org>
+
+       * vc/vc-hooks.el (vc-keep-workfiles): Doc fix.
+
+2011-12-21  Drew Adams  <drew.adams@oracle.com>
+
+       * files.el (file-remote-p): Fix docstring.  (Bug#10319)
+
+2011-12-21  Jérémy Compostella  <jeremy.compostella@gmail.com>
+
+       * battery.el (battery-linux-sysfs): Add missing parameters from acpi.
+
+2011-12-21  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * progmodes/cfengine.el: Add Version.  Improve CFEngine 3.x syntax
+       highlighting and support.  Fix up comments for capitalization.
+       (cfengine-mode-debug): New var.
+       (cfengine3-mode): Change the modeline indicator to "CFE3".
+       (cfengine3-font-lock-keywords): Improve defun highlighting.
+       (cfengine2-actions): Rename from `cfengine-actions'.
+       (cfengine2-font-lock-keywords): Rename from
+       `cfengine-font-lock-keywords'.
+       (cfengine2-imenu-expression): Rename from
+       `cfengine-imenu-expression'.
+       (cfengine2-outline-level): Rename from `cfengine-outline-level'.
+       (cfengine2-beginning-of-defun): Rename from
+       `cfengine-beginning-of-defun'.
+       (cfengine2-end-of-defun): Rename from `cfengine-end-of-defun'.
+       (cfengine2-indent-line): Rename from `cfengine-indent-line'.
+       (cfengine2-mode): Rename from `cfengine-mode'.  Change the
+       modeline indicator to "CFE2".
+       (cfengine-mode): Defalias to `cfengine-auto-mode'.
+       (cfengine-mode-abbrevs): Mark obsolete.
+
+2011-12-21  Chong Yidong  <cyd@gnu.org>
+
+       * vc/vc-bzr.el (vc-bzr-rename-file): Don't pass ~ to Bzr in
+       filename argument.
+
+2011-12-20  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.el (window-normalize-buffer-to-display): Remove.
+       (display-buffer): Handle buffer-or-name argument as in Emacs 23.
+
+2011-12-19  Chong Yidong  <cyd@gnu.org>
+
+       * vc/vc-dir.el (vc-dir-parent-marked-p, vc-dir-children-marked-p):
+       Don't signal an error in a predicate function; return non-nil.
+       (vc-dir-mark-file): Move the error here.
+       (vc-dir-mark-unmark): If acting on the region, keep going if one
+       of the entries cannot be marked/unmarked.
+       (vc-dir-mark-all-files): If current entry is a directory, mark
+       only child files, as documented.
+
+2011-12-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
+
+       * ses.el: Ooops... undo changes of 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net, as trunk
+       branch is feature frozen, and 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net was a feature
+       addition.
+
+2011-12-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * term/ns-win.el (ns-get-selection-internal)
+       (ns-store-selection-internal): Declare.
+       (ns-store-cut-buffer-internal, ns-get-cut-buffer-internal):
+       Declare as obsolete.
+       (ns-get-pasteboard, ns-paste-secondary):
+       Use ns-get-selection-internal.
+       (ns-set-pasteboard,  ns-copy-including-secondary):
+       Use ns-store-selection-internal.
+
+2011-12-17  Chong Yidong  <cyd@gnu.org>
+
+       * vc/vc.el (vc-next-action): Doc fix; remove CVS-isms.
+       (vc-deduce-fileset): Doc fix.
+
+2011-12-16  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * calc/calc-misc.el (calc-help): Avoid wrapping help message.
+
+2011-12-13  Sam Steingold  <sds@gnu.org>
+
+       * man.el (Man-getpage-in-background): When running under a
+       window-system, ignore $MANWIDTH and $COLUMNS.
+
+2011-12-15  Kenichi Handa  <handa@m17n.org>
+
+       * language/ethio-util.el: Change coding tag to utf-8-emacs.
+       (setup-ethiopic-environment-internal): Comment out key-binding for
+       ethio-toggle-punctuation.
+
 2011-12-13  Alan Mackenzie  <acm@muc.de>
 
        Add the switch statement to AWK Mode.
 
 2011-11-21  Juri Linkov  <juri@jurta.org>
 
-       * calc/calc.el (calc-read-key-sequence): Let-bind `input-method-function'
-       to nil.  (Bug#10018)
+       * 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>
 
 2011-09-24  Ulf Jasper  <ulf.jasper@web.de>
 
        * net/newst-reader.el (newsticker-html-renderer)
-       (newsticker-show-news): Automatically
-       load html rendering package if newsticker-html-renderer is set.
-       Fixes "Warning: defvar ignored because w3m-fill-column is
-       let-bound" and the error "Symbol's value as variable is void:
-       w3m-fill-column".
+       (newsticker-show-news): Automatically load html rendering package
+       if newsticker-html-renderer is set.  Fixes "Warning: defvar ignored
+       because w3m-fill-column is let-bound" and the error "Symbol's value
+       as variable is void: w3m-fill-column".
 
 2011-09-24  Michael Albinus  <michael.albinus@gmx.de>
 
 2011-09-21  Martin Rudalics  <rudalics@gmx.at>
 
        * window.el (set-window-buffer-start-and-point):
-       Call set-window-start with NOFORCE argument t.  Suggested by Thierry
-       Volpiatto <thierry.volpiatto@gmail.com>.
+       Call set-window-start with NOFORCE argument t.
+       Suggested by Thierry Volpiatto <thierry.volpiatto@gmail.com>.
        (quit-window): Reword doc-string.  Handle new format of
        quit-restore parameter.  Don't delete window if it has a
        previous buffer we can show instead of the present one.
 2011-09-18  Juri Linkov  <juri@jurta.org>
 
        * info.el (Info-mode-syntax-table): New variable.
-       (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table'.  (Bug#3312)
+       (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table' (bug#3312).
 
 2011-09-18  Juri Linkov  <juri@jurta.org>
 
-       * info.el (Info-file-supports-index-cookies): Increment
-       line-beginning-position's arg from 3 to 4 because makeinfo outputs
-       one more line for long file names (bug#4142).
+       * info.el (Info-file-supports-index-cookies):
+       Increment line-beginning-position's arg from 3 to 4 because makeinfo
+       outputs one more line for long file names (bug#4142).
 
 2011-09-18  Chong Yidong  <cyd@stupidchicken.com>
 
        pending encryption.
 
        (allout-inhibit-auto-save-info-for-decryption):
-       Adjust buffer-saved-size and some allout state to inhibit auto-saves if
-       there are plain-text topics pending encryption.
+       Adjust buffer-saved-size and some allout state to inhibit auto-saves
+       if there are plain-text topics pending encryption.
 
        (allout-maybe-resume-auto-save-info-after-encryption): Adjust
        buffer-saved-size and some allout state to not inhibit auto-saves
        (ses-calculate-cell, ses-update-cells): Use Dijkstra algorithm for
        cycle detection.
        (ses-self-reference-early-detection): New defcustom.
-       (ses-formula-references): Robustify against self-refering cells.
+       (ses-formula-references): Robustify against self-referring cells.
        (ses-mode): Use ses-set-localvars.
        (ses-command-hook): Add call to ses-initialize-Dijkstra-attempt
        before lauching the update processing.
        (split-window-keep-point): Mention split-window-above-each-other
        instead of split-window-vertically.
        (split-window-above-each-other, split-window-vertically):
-       Rename split-window-vertically to split-window-above-each-other and
-       provide defalias for old definition.
-       (split-window-side-by-side, split-window-horizontally): Rename
-       split-window-horizontally to split-window-side-by-side and provide
-       defalias for the old definition.
+       Rename split-window-vertically to split-window-above-each-other
+       and provide defalias for old definition.
+       (split-window-side-by-side, split-window-horizontally):
+       Rename split-window-horizontally to split-window-side-by-side
+       and provide defalias for the old definition.
        (ctl-x-map): Move bindings for delete-window,
        delete-other-windows and enlarge-window here from window.c.
        Replace bindings for split-window-vertically and
        preserves the existing header prefix, rebulleting it if necessary,
        rather than replacing it.  This is necessary for proper operation
        of cooperative addons like allout-widgets.
-       (allout-make-topic-prefix, allout-rebullet-heading): Change
-       SOLICIT arg to INSTEAD, and interpret additionally a string value
-       as alternate bullet to be used, instead of prompting the user for
-       a bullet character.
+       (allout-make-topic-prefix, allout-rebullet-heading):
+       Change SOLICIT arg to INSTEAD, and interpret additionally a string
+       value as alternate bullet to be used, instead of prompting the user
+       for a bullet character.
 
 2011-03-09  Michael Albinus  <michael.albinus@gmx.de>
 
@@ -9583,7 +9918,7 @@ See ChangeLog.15 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2011  Free Software Foundation, Inc.
+  Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index aac6e998a8832d06a89b708ef53d797908a4f9a6..5389bd2712503fe2bef410547341552415769e38 100644 (file)
                Set current buffer variables from defaults
                in case user's init file has changed them.
 
-  Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index a1cfaee6eaf9dc0cf3a4791a535c38f369eed2d2..d94d72d0f3c088c2fc30b207a6a9e40b6f4ca0a8 100644 (file)
 2002-11-17  Markus Rost  <rost@math.ohio-state.edu>
 
        * speedbar.el (defgroup speedbar): Use group 'etags instead of
-       nonexisting group 'tags.
+       nonexistent group 'tags.
 
        * emacs-lisp/re-builder.el: Add provide call.
 
@@ -23534,7 +23534,7 @@ See ChangeLog.9 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-    Copyright (C) 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 38a5530fbfcf491b0d06e8bcae237db7f0a27ee7..dd1d113d6652edcf66e0514d13e51c04c5d4a334 100644 (file)
        substitute-env-vars -- not quite shell compatible but better than
        nothing.
        (compilation-error-regexp-alist-alist): Simplify ftnchek to only
-       handle the newer versions messages, which are more parseable.
+       handle the newer versions messages, which are more parsable.
 
 2004-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 
index b97555f1e9d65467eeb0c04d722e00193dfa06ae..9611eaa21b4ab7bb23bbfae7cf5acbc8d8887f82 100644 (file)
        reveal-open-spots, so as to be more reliable.  There were several
        tricky corner cases where an open spot might be lost, or where
        a closed spot might end up on the list of open spots.
-       Only reveal text that's ellipsised.
+       Only reveal text that's ellipsized.
 
 2005-11-07  Carsten Dominik  <dominik@science.uva.nl>
 
        which has been added in Emacs 21.1.
        (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode)
        (awk-mode): Use it.
-       (make-local-hook): Suppress warning about obsoleteness.
+       (make-local-hook): Suppress warning about obsolescence.
 
        * progmodes/cc-engine.el, cc-align.el, cc-cmds.el
        (c-append-backslashes-forward, c-delete-backslashes-forward)
@@ -33346,7 +33346,7 @@ See ChangeLog.11 for earlier changes.
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 2005-2011 Free Software Foundation, Inc.
+    Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 558718a5a5fd8739d44c7de917913b811355296a..58fb2d541d9ab1458e3dabfb70d9c6073d764b8b 100644 (file)
        * international/titdic-cnv.el (tit-process-header): Fix embedded
        coding tag.
        (titdic-convert): Bind coding-system-for-write to the coding
-       system specfied in the map file.  Remove `charset' property after
+       system specified in the map file.  Remove `charset' property after
        decoding.
        (miscdic-convert): Bind coding-system-for-write to the coding
-       system specfied for the map file.  Fix LANGUAGE arg to
+       system specified for the map file.  Fix LANGUAGE arg to
        quail-define-package.
        (batch-miscdic-convert): Check if a file is directory or not.
 
@@ -16697,7 +16697,7 @@ See ChangeLog.12 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2007-2011  Free Software Foundation, Inc.
+  Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 7063ed67b621349ad7a565c3c1a2d4ac0311d02c..f2e88a899dbe12d451db54d12d0e0f6d152d9c07 100644 (file)
 2009-01-10  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * diff-mode.el (diff-show-trailing-whitespaces): Remove function.
-       Move setting up whitepace-mode ...
+       Move setting up whitespace-mode ...
        (diff-mode): ... here.
        (diff-mode-menu): Add a menu entry for showing trailing whitespace.
 
        toggle-read-only.
 
        * textmodes/bibtex.el (bibtex-format-entry): Handle error message
-       refering to a missing required field with the OPT prefix.
+       referring to a missing required field with the OPT prefix.
        Make unwindform more robust.
 
        * textmodes/bibtex.el: Remove support for hideshow minor mode as
@@ -20551,7 +20551,7 @@ See ChangeLog.13 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-    Copyright (C) 2008-2011  Free Software Foundation, Inc.
+    Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 6e13c1156ce6db19252b0c7d58d66458ff1a343b..6dbfff03573e18bc52655a21c6a3a8d549267850 100644 (file)
        (batch-update-autoloads): Handle autoload-excludes on windows-nt.
 
        * mail/rmailedit.el (rmail-cease-edit): Give an error if the end of
-       the headers cannot be located.  Simplify, subtracting superflous
+       the headers cannot be located.  Simplify, subtracting superfluous
        save-excursions.
 
 2009-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
@@ -22792,7 +22792,7 @@ See ChangeLog.14 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2009-2011  Free Software Foundation, Inc.
+  Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 957c9c7deff15e5e2620d27eae17243f3ef21ab4..a02480fb3beb21c754458dc3aa7f53283550848d 100644 (file)
 
 See ChangeLog.1 for earlier changes.
 
-    Copyright (C) 1986-1988, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1986-1988, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index e0f9bc9ade2509ac24930d3f9c05b58071ecc920..fef57d0c68db87ba2e04d87a6f0e8938da77316c 100644 (file)
@@ -12438,7 +12438,7 @@ See ChangeLog.2 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-    Copyright (C) 1989, 1993, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1989, 1993, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 51e2661d89e89cb4d5ad68c42cf5b5636ca67782..13a3b6364cae2526930c761cc3f5ada9d568a10a 100644 (file)
@@ -8936,7 +8936,7 @@ See ChangeLog.3 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-    Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index b3e92b1a50adcdf212b6d2349de405d7b7fe678e..84dfb1031fd42deea0d533a7f2b6f7dd419797ed 100644 (file)
@@ -9264,7 +9264,7 @@ See ChangeLog.4 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-    Copyright (C) 1994-1995, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1994-1995, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index fb6090b3583cfb8adc8aee08d36afd4c2ec687fb..c3d748a7baaaefbc095e18c28ec28bb16d692d0e 100644 (file)
@@ -8022,7 +8022,7 @@ See ChangeLog.5 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-    Copyright (C) 1995-1996, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1995-1996, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index b05707abe5c973362dc4c06757ef4677c4eced63..10c8a024df07527f6f1954bdb2bd0518e3294f54 100644 (file)
        (isearch-toggle-specified-input-method): Set the above variables.
        (isearch-toggle-input-method): Likewise.
        (isearch-process-search-multibyte-characters): Give
-       iseach-input-method as arg to read-multilingual-string.
+       isearch-input-method as arg to read-multilingual-string.
 
        * international/mule-cmds.el (read-multilingual-string): Adjusted
        for the previous change of variables related to input methods.
@@ -23107,7 +23107,7 @@ See ChangeLog.6 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-       Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+       Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index cd6852047669177409ce1c08f92f43c8bc4641e3..897c56f2b7721b7f978d0af3f2f5ba777c67e943 100644 (file)
@@ -9993,7 +9993,7 @@ See ChangeLog.7 for earlier changes.
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 252b3854f7a4a89b16481e71b0b4f78b2c010d6c..ba90274edf02397d42bd7c24f4118f8be884e3fc 100644 (file)
 
        * international/mule-cmds.el (help-xref-mule-regexp-template): New
        variable.
-       (describe-input-method): Temporarily activate the specfied input
+       (describe-input-method): Temporarily activate the specified input
        method to display the information.
        (describe-language-environment): Hyperlinks to mule related items.
 
index d4ff6a4384bc8b2845f60ef119db0b48f115185e..d2c4e615577cea941989a3cda79ce64a2c7fc2c7 100644 (file)
@@ -1,5 +1,5 @@
 # Maintenance productions for the Lisp directory
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 395810772c54a9b58dbb31cc73955726acb399c7..ade36f2f9a0c9f087581298cf1c9da01c1279f1e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; abbrev.el --- abbrev mode commands for Emacs -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1987, 1992, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1992, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: abbrev convenience
index 214c3add93ffead1cd9f74147e2e2f1054057298..19fd85351f0034de498465e8c431006da551ba6a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; align.el --- align text to a specific column, by regexp
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Maintainer: FSF
index 715879534b023a96d09180a7ba17591bb054a082..0e4a4c6e5a7a8ed2f6c138474dc733128cda02ec 100644 (file)
@@ -1,6 +1,6 @@
 ;; allout-widgets.el --- Visually highlight allout outline structure.
 
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Ken Manheimer <ken dot manheimer at gmail...>
 ;; Maintainer: Ken Manheimer <ken dot manheimer at gmail...>
@@ -1635,7 +1635,7 @@ Use this to redecorate only the item, when you know that its
 situation with respect to siblings, parent, and offspring is
 unchanged from its last decoration.  Use
 `allout-decorate-item-and-context' instead to reassess and adjust
-relevent context, when suitable."
+relevant context, when suitable."
   (if (not (equal (widget-get item-widget :last-decorated-tick)
                   allout-command-counter))
       (let ((was-modified (buffer-modified-p))
index 9289e38b418f5b70544acfde1d76bee82bb50079..d673c7dba0b30239012a0eb8a1ea0665a7390e03 100644 (file)
@@ -1,6 +1,6 @@
 ;;; allout.el --- extensive outline mode for use alone and with other modes
 
-;; Copyright (C) 1992-1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Ken Manheimer <ken dot manheimer at gmail...>
 ;; Maintainer: Ken Manheimer <ken dot manheimer at gmail...>
@@ -3334,7 +3334,7 @@ coordinating with allout activity.")
       (run-hooks 'allout-post-undo-hook)
       (cond ((and (= buffer-saved-size -1)
                   allout-auto-save-temporarily-disabled)
-             ;; user possibly undid a decryption, deinhibit auto-save:
+             ;; user possibly undid a decryption, disinhibit auto-save:
              (allout-maybe-resume-auto-save-info-after-encryption))
             ((save-excursion
                (save-restriction
@@ -5871,7 +5871,7 @@ encryption.
 Further, encrypting with a KEYMODE-CUE universal argument greater
 than 4 - eg, preceded by a doubled Ctrl-U - causes association of
 the specified recipients with the file, replacing those currently
-associated with it.  This can be used to deassociate any
+associated with it.  This can be used to dissociate any
 recipients with the file, by selecting no recipients in the
 dialog.
 
@@ -5912,7 +5912,7 @@ encryption.
 Further, encrypting with a KEYMODE-CUE universal argument greater
 than 4 - eg, preceded by a doubled Ctrl-U - causes association of
 the specified recipients with the file, replacing those currently
-associated with it.  This can be used to deassociate any
+associated with it.  This can be used to dissociate any
 recipients with the file, by selecting no recipients in the
 dialog.
 
@@ -6045,7 +6045,7 @@ encryption.
 Further, encrypting with a KEYMODE-CUE universal argument greater
 than 4 - eg, preceded by a doubled Ctrl-U - causes association of
 the specified recipients with the file, replacing those currently
-associated with it.  This can be used to deassociate any
+associated with it.  This can be used to dissociate any
 recipients with the file, by selecting no recipients in the
 dialog.
 
@@ -6661,7 +6661,7 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
       (if (/= arg 1)
           (condition-case nil (line-move (1- arg)) (error nil)))
 
-      ;; Move to beginning-of-line, ignoring fields and invisibles.
+      ;; Move to beginning-of-line, ignoring fields and invisible text.
       (skip-chars-backward "^\n")
       (while (and (not (bobp))
                   (let ((prop
index 08b569de3333f7fb479a848cb068f994f5a775c0..aaea903de56bc2b7eb4aa9b6309d0c1f021f7431 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ansi-color.el --- translate ANSI escape sequences into faces
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: Alex Schroeder <alex@gnu.org>
@@ -585,7 +585,7 @@ ANSI-CODE is used as an index into the vector."
   "Create a new face by applying all the parameters in ESCAPE-SEQ.
 
 Should any of the parameters result in the default face (usually this is
-the parameter 0), then the effect of all previous parameters is cancelled.
+the parameter 0), then the effect of all previous parameters is canceled.
 
 ESCAPE-SEQ is a SGR control sequences such as \\033[34m.  The parameter
 34 is used by `ansi-color-get-face-1' to return a face definition."
index 9a372f27991afe5221c2c254fde76e1825b199cc..423656c21fa8d639347d2102128a23432f1722cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; apropos.el --- apropos commands for users and programmers
 
-;; Copyright (C) 1989, 1994-1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1994-1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Joe Wells <jbw@bigbird.bu.edu>
 ;;     Daniel Pfeiffer <occitan@esperanto.org> (rewrite)
index 48b4c5be164c09ec0ab81b388bd46bd21ae86bec..83862555c804f88e491d98a6c9016e9adaf600df 100644 (file)
@@ -1,6 +1,6 @@
 ;;; arc-mode.el --- simple editing of archives
 
-;; Copyright (C) 1995, 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@gnu.org>
 ;; Keywords: files archives msdog editing major-mode
@@ -860,13 +860,13 @@ using `make-temp-file', and the generated name is returned."
          dir)))
     (if (or alien (file-exists-p fullname))
        (progn
-         ;; Maked sure all the leading directories in
+         ;; Make sure all the leading directories in
          ;; archive-local-name exist under archive-tmpdir, so that
          ;; the directory structure recorded in the archive is
          ;; reconstructed in the temporary directory.
          (make-directory (file-name-directory tmpfile) t)
          (make-temp-file tmpfile))
-      ;; Maked sure all the leading directories in `fullname' exist
+      ;; Make sure all the leading directories in `fullname' exist
       ;; under archive-tmpdir.  This is necessary for nested archives
       ;; (`archive-extract' sets `archive-remote' to t in case
       ;; an archive occurs inside another archive).
index 211124964a5523572b007385f51899a1f8d9e46b..64c57bc480ea8defcf9ac68ec8a474e2675b1285 100644 (file)
@@ -1,6 +1,6 @@
 ;;; array.el --- array editing commands for GNU Emacs
 
-;; Copyright (C) 1987, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: David M. Brown
 ;; Maintainer: FSF
index 57f5bcd809c58339e2c6cab2177f223b22dae2b4..c1b55f3b36e5c22b664070c0554cc869ca1162f5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; autoarg.el --- make digit keys supply prefix args
 
-;; Copyright (C) 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author:  Dave Love <fx@gnu.org>
 ;; Created: 1998-09-04
index 6d002f4a2173cfd9bf0b520520978b9580a79014..de2835580c29195f680d873eb35f5a0744b313e0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; autoinsert.el --- automatic mode-dependent insertion of text into new files
 
-;; Copyright (C) 1985-1987, 1994-1995, 1998, 2000-2011
+;; Copyright (C) 1985-1987, 1994-1995, 1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Charlie Martin <crm@cs.duke.edu>
index f70025e9d3f839e2152abb7f61e6237b7e4aee03..c0a77bd59358797e3de11d54eb841d3fa5b2a63e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; autorevert.el --- revert buffers when files on disk change
 
-;; Copyright (C) 1997-1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Anders Lindgren <andersl@andersl.com>
 ;; Keywords: convenience
index 038927105ec8066a0d78477192074d12364e5413..17d99fd65177de60a5513ad49246db3eca3b3381 100644 (file)
@@ -1,6 +1,6 @@
 ;;; avoid.el --- make mouse pointer stay out of the way of editing
 
-;; Copyright (C) 1993-1994, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: mouse
index 3b245ed644d80e0abe0801530912b93512d811b9..a3be2fe4b880faa9cd126cd8792196ef2dea0c70 100644 (file)
@@ -1,6 +1,6 @@
 ;;; battery.el --- display battery status information  -*- coding: iso-8859-1 -*-
 
-;; Copyright (C) 1997-1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org>
 ;; Keywords: hardware
              (file-directory-p "/sys/class/power_supply/")
              (directory-files "/sys/class/power_supply/" nil "BAT[0-9]$"))
         'battery-linux-sysfs)
+       ((and (eq system-type 'gnu/linux)
+             (file-directory-p "/sys/class/power_supply/yeeloong-bat/")
+             (directory-files "/sys/class/power_supply/yeeloong-bat/" nil "charge_"))
+        'battery-yeeloong-sysfs)
        ((and (eq system-type 'darwin)
              (condition-case nil
                  (with-temp-buffer
@@ -77,6 +81,8 @@ introduced by a `%' character in a control string."
         "Power %L, battery %B (%p%% load)")
        ((eq battery-status-function 'battery-pmset)
         "%L power, battery %B (%p%% load, remaining time %t)")
+       ((eq battery-status-function 'battery-yeeloong-sysfs)
+        "%L power, battery %B (%p%% load, remaining time %t)")
        (battery-status-function
         "Power %L, battery %B (%p%% load, remaining time %t)"))
   "Control string formatting the string to display in the echo area.
@@ -226,7 +232,7 @@ seconds."
   "Regular expression matching contents of `/proc/apm'.")
 
 (defun battery-linux-proc-apm ()
-  "Get APM status information from Linux kernel.
+  "Get APM status information from Linux (the kernel).
 This function works only with the new `/proc/apm' format introduced
 in Linux version 1.3.58.
 
@@ -297,7 +303,7 @@ The following %-sequences are provided:
 ;;; `/proc/acpi/' interface for Linux.
 
 (defun battery-linux-proc-acpi ()
-  "Get ACPI status information from Linux kernel.
+  "Get ACPI status information from Linux (the kernel).
 This function works only with the `/proc/acpi/' format introduced
 in Linux version 2.4.20 and 2.6.0.
 
@@ -421,10 +427,15 @@ format introduced in Linux version 2.4.25.
 
 The following %-sequences are provided:
 %c Current capacity (mAh or mWh)
+%r Current rate
 %B Battery status (verbose)
+%d Temperature (in degrees Celsius)
 %p Battery load percentage
-%L AC line status (verbose)"
-  (let (charging-state
+%L AC line status (verbose)
+%m Remaining time (to charge or discharge) in minutes
+%h Remaining time (to charge or discharge) in hours
+%t Remaining time (to charge or discharge) in the form `h:min'"
+  (let (charging-state rate temperature hours
        (charge-full 0.0)
        (charge-now 0.0)
        (energy-full 0.0)
@@ -444,6 +455,12 @@ The following %-sequences are provided:
          (and (re-search-forward "POWER_SUPPLY_STATUS=\\(.*\\)$" nil t)
               (member charging-state '("Unknown" "Full" nil))
               (setq charging-state (match-string 1)))
+         (when (re-search-forward
+                 "POWER_SUPPLY_\\(CURRENT\\|POWER\\)_NOW=\\([0-9]*\\)$"
+                 nil t)
+           (setq rate (float (string-to-number (match-string 2)))))
+         (when (re-search-forward "POWER_SUPPLY_TEMP=\\([0-9]*\\)$" nil t)
+           (setq temperature (match-string 1)))
          (let (full-string now-string)
            ;; Sysfs may list either charge (mAh) or energy (mWh).
            ;; Keep track of both, and choose which to report later.
@@ -466,12 +483,30 @@ The following %-sequences are provided:
                   (setq energy-full (+ energy-full
                                        (string-to-number full-string))
                         energy-now  (+ energy-now
-                                       (string-to-number now-string)))))))))
+                                       (string-to-number now-string))))))
+         (goto-char (point-min))
+         (when (and energy-now rate (not (zerop rate))
+                    (re-search-forward
+                      "POWER_SUPPLY_VOLTAGE_NOW=\\([0-9]*\\)$" nil t))
+           (let ((remaining (if (string= charging-state "Discharging")
+                                energy-now
+                              (- energy-full energy-now))))
+             (setq hours (/ (/ (* remaining (string-to-number
+                                              (match-string 1)))
+                                rate)
+                            10000000.0)))))))
     (list (cons ?c (cond ((or (> charge-full 0) (> charge-now 0))
                          (number-to-string charge-now))
                         ((or (> energy-full 0) (> energy-now 0))
                          (number-to-string energy-now))
                         (t "N/A")))
+         (cons ?r (if rate (format "%.1f" (/ rate 1000000.0)) "N/A"))
+         (cons ?m (if hours (format "%d" (* hours 60)) "N/A"))
+         (cons ?h (if hours (format "%d" hours) "N/A"))
+         (cons ?t (if hours
+                      (format "%d:%02d" hours (* (- hours (floor hours)) 60))
+                    "N/A"))
+         (cons ?d (or temperature "N/A"))
          (cons ?B (or charging-state "N/A"))
          (cons ?p (cond ((> charge-full 0)
                          (format "%.1f"
@@ -489,7 +524,90 @@ The following %-sequences are provided:
                         "BAT")
                     "N/A")))))
 
+(defun battery-yeeloong-sysfs ()
+  "Get ACPI status information from Linux (the kernel).
+This function works only on the Lemote Yeeloong.
 
+The following %-sequences are provided:
+%c Current capacity (mAh)
+%r Current rate
+%B Battery status (verbose)
+%b Battery status, empty means high, `-' means low,
+   `!' means critical, and `+' means charging
+%L AC line status (verbose)
+%p Battery load percentage
+%m Remaining time (to charge or discharge) in minutes
+%h Remaining time (to charge or discharge) in hours
+%t Remaining time (to charge or discharge) in the form `h:min'"
+
+  (let (capacity
+       capacity-level
+       status
+       ac-online
+       hours
+       current-now
+       charge-full
+       charge-now)
+
+    (with-temp-buffer
+      (ignore-errors
+       (insert-file-contents "/sys/class/power_supply/yeeloong-bat/uevent")
+       (goto-char 1)
+       (search-forward "POWER_SUPPLY_CHARGE_NOW=")
+       (setq charge-now (read (current-buffer)))
+       (goto-char 1)
+       (search-forward "POWER_SUPPLY_CHARGE_FULL=")
+       (setq charge-full (read (current-buffer)))
+       (goto-char 1)
+       (search-forward "POWER_SUPPLY_CURRENT_NOW=")
+       (setq current-now (read (current-buffer)))
+       (goto-char 1)
+       (search-forward "POWER_SUPPLY_CAPACITY_LEVEL=")
+       (setq capacity-level (buffer-substring (point) (line-end-position)))
+       (goto-char 1)
+       (search-forward "POWER_SUPPLY_STATUS=")
+       (setq status (buffer-substring (point) (line-end-position))))
+       
+      (erase-buffer)
+      (ignore-errors
+       (insert-file-contents
+        "/sys/class/power_supply/yeeloong-ac/online")
+       (goto-char 1)
+       (setq ac-online (read (current-buffer)))
+       (erase-buffer)))
+
+
+    (setq capacity (round (/ (* charge-now 100.0) charge-full)))
+    (when (and current-now (not (= current-now 0)))
+      (if (< current-now 0)
+         ;; Charging
+         (setq hours (/ (- charge-now charge-full) (+ 0.0 current-now)))
+       ;; Discharging
+       (setq hours (/ charge-now (+ 0.0 current-now)))))
+
+    (list (cons ?c (if charge-now
+                      (number-to-string charge-now)
+                    "N/A"))
+         (cons ?r current-now)
+         (cons ?B (cond ((equal capacity-level "Full") "full")
+                        ((equal status "Charging") "charging")
+                        ((equal capacity-level "Low") "low")
+                        ((equal capacity-level "Critical") "critical")
+                        (t "high")))
+         (cons ?b (cond ((equal capacity-level "Full") " ")
+                        ((equal status "Charging") "+")
+                        ((equal capacity-level "Low") "-")
+                        ((equal capacity-level "Critical") "!")
+                        (t " ")))
+         (cons ?h (if hours (number-to-string hours) "N/A"))
+         (cons ?m (if hours (number-to-string (* 60 hours)) "N/A"))
+         (cons ?t (if hours
+                      (format "%d:%d"
+                              (/ (round (* 60 hours)) 60)
+                              (% (round (* 60 hours)) 60))
+                    "N/A"))
+         (cons ?p (if capacity (number-to-string capacity) "N/A"))
+         (cons ?L (if (eq ac-online 1) "AC" "BAT")))))
 \f
 ;;; `pmset' interface for Darwin (OS X).
 
index 1a10d1179875ef9f1300cb53c601da34d2e2848a..a87f321c936f21a67eaf85a64a281a2eff95a127 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bindings.el --- define standard key bindings and some variables
 
-;; Copyright (C) 1985-1987, 1992-1996, 1999-2011
+;; Copyright (C) 1985-1987, 1992-1996, 1999-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 4d93e01fb2eadeb0a24c719ea6da5041e346db38..20a4e52810b0c8034e8e4f88f1d33e018ba1a871 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later
 
-;; Copyright (C) 1993-1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Karl Fogel <kfogel@red-bean.com>
 ;; Maintainer: Karl Fogel <kfogel@red-bean.com>
index 2a31b05a31f1da97c20efa2f52126bc691a5e5fa..2e0089d153f3bbfe914d5f08eb6cdd05c050fa20 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bs.el --- menu for selecting and displaying buffers -*- lexical-binding: t -*-
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 ;; Author: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
 ;; Maintainer: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
 ;; Keywords: convenience
index 291430d4393d57aff37744eb2f1df6c7bccad9dd..e17937116073a5fdd3a60332fbd7f79f632da40f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; buff-menu.el --- buffer menu main function and support functions -*- coding:utf-8 -*-
 
-;; Copyright (C) 1985-1987, 1993-1995, 2000-2011
+;; Copyright (C) 1985-1987, 1993-1995, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 262a19c1806518f18cf5a5de96d81edeed26c688..07c98e668bd3b30ca29706f2e9e5f71291b00a64 100644 (file)
@@ -1,6 +1,6 @@
 ;;; button.el --- clickable buttons
 ;;
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: extensions
index 308b5115aa2a3979de5f208c89f4065e92e9ab7c..e4b681d5625e72b387fb8259683c2c448e53678a 100644 (file)
@@ -1,11 +1,11 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
 This directory contains Calc, an advanced desk calculator for GNU
 Emacs.
 
-"Calc"  Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+"Calc"  Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 Written by:
        Dave Gillespie
index 69da211efc2f7f0fa02ab7e9ec242f135616cf55..bc1189a7065cd07391d3c40390ea20050ea1af40 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 00e07aba6a5f72e7ff68925dd0ec3f8ba3e6fdce..4b91a8c2002ddf15ac81715cf0ae7a6d4b65b7bb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-aent.el --- algebraic entry functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 274f399fe6a1b43b0d9c5f3c77a2e7e2ff4d29f2..8e41b175321b61eba3f2b429de70bab827749eff 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-alg.el --- algebraic functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger  <jay.p.belanger@gmail.com>
             expr))))
 
 ;;; Simplify a polynomial in list form by stripping off high-end zeros.
-;;; This always leaves the constant part, i.e., nil->nil and nonnil->nonnil.
+;;; This always leaves the constant part, i.e., nil->nil and non-nil->non-nil.
 (defun math-poly-simplify (p)
   (and p
        (if (Math-zerop (nth (1- (length p)) p))
index a557e5fb92df407c55404ecc91daf6f521536c14..ad807e9a2de3f7e3c2396fa6fc6d22acbb329259 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-arith.el --- arithmetic functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 44354f0822fdbeee21bc5a16f044f74981e654d9..7e1c69ffcfac1b10f1380d8acbef0814a6b9c262 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-bin.el --- binary functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index da5bae69803a965c20b5a18d8edb6ef129cfd70b..199bbf0ae35a3c2ee3893c3ce3737c37cccd40c1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-comb.el --- combinatoric functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index f2e0c493144d4796338bd476209f78839a4e9a65..e05204764bcf859bbd310742a6e79f4d6688d9e8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-cplx.el --- Complex number functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index f1f79252857fbdd2a554d0175356d3ee3ea65491..954e5d0b72f86eaab0b5d33ef86eb4b1fa6a1a64 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-embed.el --- embed Calc in a buffer
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 5429509af867f4e673b651497f26140b64249c6a..818b19757be09d4a4601863ccb6149c1bb85c059 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-ext.el --- various extension functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 2e1d072dfb817b1f05bc9ed96790de996a21225d..36165eaab63837ebf996ec5942f091dbb068b675 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-fin.el --- financial functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 912bbc7f78da2d306011d9839122ec17584264b5..96cc74f7ef6f413c47a08b18b6180fe09c0210ee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-forms.el --- data format conversion functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 30894b406b5887acc517ff4f3551aa913b26f9f0..5b7c2cb3366137e11ed38d354bfa10bbb126b4aa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-frac.el --- fraction functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index e065493562e57a609b5e7130431a3341ca11146b..b5857a8bbbf9b70a810a5b3e368eeeb3d132e3ab 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-funcs.el --- well-known functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 4fd5045f54b6e17622cad10349090c5546e5b8c8..c127b70a80d33c5cdf9451ed99324280160a0f75 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-graph.el --- graph output functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 66e9c002a47aa82db3959591cfbb0df555150981..8ef917fb5f4fc8bda90b4b7b8727ae88ec350674 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-help.el --- help display functions for Calc,
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index a9cf89e60581efeae618008f95fae9d6e0b096e7..f39bf2916130dbea18aab7cf1619dd7b52f486f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-incom.el --- complex data type input functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index cc10d9e993c426db6204d012a693cf7338c1e5ef..3a59f6927a69e92a630997357d6f524a5f4adf0c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-keypd.el --- mouse-capable keypad input for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 7e3a08a1459c17fbcf0634269c7bdfd8d4f355db..c53f59eb0f41b5294a0a4106e7dd8b4ca9facf20 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-lang.el --- calc language functions
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index f922687e7faf9da353fefa3dbab3c1f2a78a3f89..7f3ff9f012ee56444ea68b7302f679e6cf7732ee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-macs.el --- important macros for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 2ea4de202939549a762be6540d03870973c0e73e..2519e960e0ef67256738af602c7038a71ae8d1cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-map.el --- higher-order functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 076dab31fd9fef42ee5d2a525d92b3990c61ae77..d5a341ee4822d496a41ea55a1c9acccc0e503bc1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-math.el --- mathematical functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index d8c016567846772c9b58bdedc0dde054ab59601d..e67d169b6833ef0b4366cc1f5794c39a75d266fe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-menu.el --- a menu for Calc
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
 
index 6d034927ae041c3f10dd354581a510a97b9e80d8..ac1b2621605c89ebdc983aba557c1696e616992f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-misc.el --- miscellaneous functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
@@ -219,10 +219,10 @@ Calc user interface as before (either C-x * C or C-x * K; initially C-x * C).
   (let ((msgs
         '("Press `h' for complete help; press `?' repeatedly for a summary"
           "Letter keys: Negate; Precision; Yank; Why; Xtended cmd; Quit"
-          "Letter keys: SHIFT + Undo, reDo; Keep-args; Inverse, Hyperbolic, Option"
+          "Letter keys: SHIFT + Undo, reDo; Inverse, Hyperbolic, Option"
           "Letter keys: SHIFT + sQrt; Sin, Cos, Tan; Exp, Ln, logB"
           "Letter keys: SHIFT + Floor, Round; Abs, conJ, arG; Pi"
-          "Letter keys: SHIFT + Num-eval; More-recn; eXec-kbd-macro"
+          "Letter keys: SHIFT + Num-eval; More-recn; eXec-kbd-macro; Keep-args"
           "Other keys: +, -, *, /, ^, \\ (int div), : (frac div)"
           "Other keys: & (1/x), | (concat), % (modulo), ! (factorial)"
           "Other keys: ' (alg-entry), = (eval), ` (edit); M-RET (last-args)"
index 856dfad882d511cdab122328387e369942c62a45..3f583192bcf5c72966c465f688f4f86bcafa8fc4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-mode.el --- calculator modes for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 5ec15005b482c5953504bebc192ffab8345f18aa..6fc2d9463d4c87d4b6d21feb9b5051272dd5e24c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-mtx.el --- matrix functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index bd162866c3170e36a38eb21a93ba12913650bf87..937d017725934221f9b1b3dc7646b77f8dbebd3b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-nlfit.el --- nonlinear curve fitting for Calc
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
 
index e21a095c821434291c8af46c54c16b885dd3de1e..f106e8310a255b2efa3d55ff1df343f2c048b474 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-poly.el --- polynomial functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 0d3fbe8586a9472240838d600950b16b98a63677..f702033c0fbf70d8972d297d4d96cb3e9714c60b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-prog.el --- user programmability functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 1498b622e1f03667c548aabc8e9642c9c79d3335..545b9338a0b71cfe444cfdc84d40afb2bd025bb0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-rewr.el --- rewriting functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index fa57a350729632b8e7d9a67e3f822a199e304ada..4332753c228acbc79cc4ccfd0c14f1a04fb0ca9a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 26834a44598cd65e0d697c2bfe710a10c7bf5740..bdacf65603c06987d8196f984c15d5cc6ca8ba54 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-sel.el --- data selection functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 83ce71a23769ab1b009285365ed2ac8e9d3ed976..04b0298dc88a50c95d54f41612795f6a2c733c39 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-stat.el --- statistical functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 2da551ee215ae7f81d90ff6797a9dc280323095b..80d355ed5fa302268f17b5b6638e0e29d09975d8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-store.el --- value storage functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 0558d8d2285e20c65e1e7d5178041fed816da259..591bd89c3b8011a0ea6354537e717478cc07a729 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-stuff.el --- miscellaneous functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index eec4cd2af5822d2003702a87b6aeffe61a0fc63f..4e513b8241fe65eae9f03c3ec5de557a2c6f1510 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-trail.el --- functions for manipulating the Calc "trail"
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 9168d9b0947b5ffef045d7c5f312b98fe166f53d..6f69f99b5a2b5fd6d2e7db2b9bb6fd7c5475c617 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-undo.el --- undo functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 86e8cbbc73a75e5ddbf75ad77c223e1411ccb907..8f4c79e3f0af7b390268dda380dba0d8723ad0ed 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-units.el --- unit conversion functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 47ef3241b3ec9d234d6df22303159f3c957b1ed3..d117cd6c19a56048338b73d19b23961a8d2cb865 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-vec.el --- vector functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 135ea0bae402454136add2cf53bcfbbd01d742ef..1a6c53351f2ed6f270b8dfa6a68863ad6383df3b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc-yank.el --- kill-ring functionality for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 23f955afe7c1f3c7657981da8c83950ba566b604..5789e23ac74d5d6d634f8f9134c81f3b620e95af 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calc.el --- the GNU Emacs calculator
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 25b51fc89f6bb34d28e16715a3b2deea84ec0b20..fdc70a69fbdc05e7179dac0a4502b706759aef01 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calcalg2.el --- more algebraic functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index a9118964b46a1299887648fa23b3b1557e0b5ba6..9e6cdda057f70bfd6561b3b78386275cc34624cc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calcalg3.el --- more algebraic functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index 906517ac5031c6176a0c902adb01124bc9914634..d8ad7e2cede671c18d48fbafb6024749178d8460 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calccomp.el --- composition functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index f44da07763fc72d40339087fa1b5985779c9244c..770420f8deb1ac9d212c6bfedb1c937c9c647c6d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calcsel2.el --- selection functions for Calc
 
-;; Copyright (C) 1990-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
index faf624247299811cc10867d7477ce1aa1d0460ac..6e935f246a0fbe72793b864f098e3911f18e868b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calculator.el --- a [not so] simple calculator for Emacs
 
-;; Copyright (C) 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eli Barzilay <eli@barzilay.org>
 ;; Keywords: tools, convenience
index 230366da2b01087d2d335081736d352eecba0e07..28e8948af9b908caece703997049d733b669396e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; appt.el --- appointment notification functions
 
-;; Copyright (C) 1989-1990, 1994, 1998, 2001-2011
+;; Copyright (C) 1989-1990, 1994, 1998, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
index ae5dc02862d2c4add29ccdf59d675bbc045b1998..6101e472952579589d57f18323531115e1c0b25d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-bahai.el --- calendar functions for the Bahá'í calendar.
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Keywords: calendar
index d17c2c71f8aa3eb83fceaf8504288d02445f5a9e..03a4b320059270589a7d6d08cc13361b4a317066 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-china.el --- calendar functions for the Chinese calendar
 
-;; Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index 4db2743777fbcc216fdde9fb2e269ee4c0b443a2..f51f6687881c0ad73d684fa0ba6d1cee91c169c7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-coptic.el --- calendar functions for the Coptic/Ethiopic calendars
 
-;; Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index ffb367a70f6931db1eeff482214c4597a8a3a80e..e3996cae3de6c3a59084bb0261132e56ec7efe0c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-dst.el --- calendar functions for daylight saving rules
 
-;; Copyright (C) 1993-1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Paul Eggert <eggert@twinsun.com>
 ;;         Edward M. Reingold <reingold@cs.uiuc.edu>
index ef1ce8767ab7a4f88ca98864e5cffcf83f3ebb9f..936fd1778a29fea7acc811b428bb72a5f32d9e20 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-french.el --- calendar functions for the French Revolutionary calendar
 
-;; Copyright (C) 1988-1989, 1992, 1994-1995, 1997, 2001-2011
+;; Copyright (C) 1988-1989, 1992, 1994-1995, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
index 52bf442915f3311d805fe433080b622f836e7641..cb738675cc4ea1bf3668610006fed5f83405eec3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-hebrew.el --- calendar functions for the Hebrew calendar
 
-;; Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Nachum Dershowitz <nachum@cs.uiuc.edu>
 ;;         Edward M. Reingold <reingold@cs.uiuc.edu>
index 580b953170ca9c89dd60927578cfd7a0b547cbf1..8073295a41243b5ea89c0b2b7e862cb7410cdf50 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-html.el --- functions for printing HTML calendars
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Anna M. Bigatti <bigatti@dima.unige.it>
 ;; Keywords: calendar
index e69a2389e6ccd517946bf116c81be7eefd87af72..cdfb5e523b949b40c77721412640d63749180749 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-islam.el --- calendar functions for the Islamic calendar
 
-;; Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index e745b6264e03025c9aa0b30d8ac2d7ccb32d7295..04c28967fc621fb80d7d1828323d03ee24651aff 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-iso.el --- calendar functions for the ISO calendar
 
-;; Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index e0f85b36d44a85d0f725cd671ca5081a60c62a2f..2afd0edd70d66cafac78dd4f6de06fa74385dadf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-julian.el --- calendar functions for the Julian calendar
 
-;; Copyright (C) 1995, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index 283c68cb32d123361082a871cd420006ddf20b51..e7a021941017d6b8a900dfdcf9a511c43b69c1fd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-mayan.el --- calendar functions for the Mayan calendars
 
-;; Copyright (C) 1992-1993, 1995, 1997, 2001-2011
+;; Copyright (C) 1992-1993, 1995, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Stewart M. Clamen <clamen@cs.cmu.edu>
index d8de171c0a1feb8cd8e6d4136a3e7c9ea608bed8..ec40ef084ebb2eaefedf064590b1584b3e6b2982 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-menu.el --- calendar functions for menu bar and popup menu support
 
-;; Copyright (C) 1994-1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;;         Lara Rios <lrios@coewl.cen.uiuc.edu>
index 72b34beda6bd09b00555bb69e594ea67df51e42d..a6991e4ddd3e0bf85d82428e7a3c004f357a0c79 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-move.el --- calendar functions for movement in the calendar
 
-;; Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index a8b3f180e0f5341d56d607a3f1ee2ae9dfef5e53..b8313e0770438102d30c52f99492c19953507390 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-persia.el --- calendar functions for the Persian calendar
 
-;; Copyright (C) 1996-1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index 89e265aeb7e5f2e93a596b51ed9c24dc56c8f91a..14899431e2a743ad4994651e78f06491d26a3c14 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-tex.el --- calendar functions for printing calendars with LaTeX
 
-;; Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Steve Fisk <fisk@bowdoin.edu>
 ;;         Edward M. Reingold <reingold@cs.uiuc.edu>
index e95d284a36bd17c77fa3cbb3831f1caea670336d..0f2d43b2237ec1acde64c1bf3e2aa58f473995cb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-x.el --- calendar windows in dedicated frames
 
-;; Copyright (C) 1994-1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.sunysb.edu>
 ;;         Edward M. Reingold <reingold@cs.uiuc.edu>
index a59e28811d3f0a3c978b47d42d5fbdc3519afaa5..905600cfb748864b437b9add318a879108fdd9ea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calendar.el --- calendar functions
 
-;; Copyright (C) 1988-1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988-1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
@@ -1730,6 +1730,7 @@ For a complete description, see the info node `Calendar/Diary'.
   (setq buffer-read-only t
         buffer-undo-list t
         indent-tabs-mode nil)
+  (set (make-local-variable 'scroll-margin) 0) ; bug#10379
   (calendar-update-mode-line)
   (make-local-variable 'calendar-mark-ring)
   (make-local-variable 'displayed-month) ; month in middle of window
index d161602bec012d00554c139fadc9c6d5564e6921..4bcd9916d0c584e21e550c2b194a8db46c2f2ad7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; diary-lib.el --- diary functions
 
-;; Copyright (C) 1989-1990, 1992-1995, 2001-2011
+;; Copyright (C) 1989-1990, 1992-1995, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
index 3ba1078f62d4a9a23a08015e07f7f1bca735a54d..d20f2194885d49af4d54f73ca23174df04fbc7f9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; holidays.el --- holiday functions for the calendar package
 
-;; Copyright (C) 1989-1990, 1992-1994, 1997, 2001-2011
+;; Copyright (C) 1989-1990, 1992-1994, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
@@ -723,7 +723,7 @@ STRING)).  Returns nil if it is not visible in the current calendar window."
   (let ((m displayed-month)
         (y displayed-year))
     (calendar-increment-month m y (- 11 month))
-    (if (> m 9)                         ; is november visible?
+    (if (> m 9)                         ; Is November visible?
         (list (list (list month day y) string)))))
 
 (defun holiday-float (month dayname n string &optional day)
index 62bea11e82e35b6195c79cbab7dc093e575d032b..83bda94fefe8f7e70c21f725543e0da0a4cbcd49 100644 (file)
@@ -1,6 +1,6 @@
 ;;; icalendar.el --- iCalendar implementation -*-coding: utf-8 -*-
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author:         Ulf Jasper <ulf.jasper@web.de>
 ;; Created:        August 2002
index e2ec46215bec0d33c542e6fd2802d1aa1ed6d374..8f09d20f50e98686aeee59f3705285600dc57e50 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lunar.el --- calendar functions for phases of the moon
 
-;; Copyright (C) 1992-1993, 1995, 1997, 2001-2011
+;; Copyright (C) 1992-1993, 1995, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
index 52f13c82f5aad3d4b16fa86c2af0a5a1fb3927d3..ab513517452c264e12f9f9996b63331757d47f81 100644 (file)
@@ -1,6 +1,6 @@
 ;;; parse-time.el --- parsing time strings
 
-;; Copyright (C) 1996, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum <erik@naggum.no>
 ;; Keywords: util
index b841ed4ab73676eddf47ee1cf6607c5ec75bccbb..a8d7d44af3b62f6a47e103296bf1ba8b04221702 100644 (file)
@@ -1,6 +1,6 @@
 ;;; solar.el --- calendar functions for solar events
 
-;; Copyright (C) 1992-1993, 1995, 1997, 2001-2011
+;; Copyright (C) 1992-1993, 1995, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
index 70d096c4108e4a5627560d86c3a040b987a7136f..46e38ae46a80104ff1ccaf5cd9281f612e3ea276 100644 (file)
@@ -1,6 +1,6 @@
 ;;; time-date.el --- Date and time handling functions
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu Umeda <umerin@mse.kyutech.ac.jp>
index c9b8fdac6138145584e1727cab26689360fbc95d..9b766e17d5c815ffa213a5a2457b586ebe4be335 100644 (file)
@@ -1,6 +1,6 @@
 ;;; timeclock.el --- mode for keeping track of how much you work
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Created: 25 Mar 1999
index de232c25e3f58f8419c3aa45a6c4f70bd97033f2..957ac2c6946b1ce81f75bb7f41832f2156c21bc0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; todo-mode.el --- major mode for editing TODO list files
 
-;; Copyright (C) 1997, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Oliver Seidel <privat@os10000.net>
 ;; Maintainer: Stephen Berman <stephen.berman@gmx.net>
index a1bb862788e4f735fc5f1ec182e7655c152754fd..3c00719f52e1cd2062a5d0eec85fc66f7e08fe7e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; case-table.el --- code to extend the character set and support case tables
 
-;; Copyright (C) 1988, 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index 8377e7a5796ac28a788f342311010598c21f3b2f..2c4fbb19157ad3cb8600c193e2995ec35ad1448e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cdl.el --- Common Data Language (CDL) utility functions for GNU Emacs
 
-;; Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: ATAE@spva.physics.imperial.ac.uk (Ata Etemadi)
 ;; Maintainer: FSF
index ccc81e6613e4cfa84ce022b74533d1d4e94c80cd..7d6f9f570ec1e2d9f3461f332d4926fef91d7771 100644 (file)
@@ -1,3 +1,8 @@
+2011-12-19  Sam Steingold  <sds@gnu.org>
+
+       * semantic/edit.el (semantic-edits-incremental-parser): Add the
+       autoload cookie, necessary for JDEE.
+
 2011-12-06  Juanma Barranquero  <lekktu@gmail.com>
 
        * semantic/bovine/c.el (semantic-tag-abstract-p): Fix typo.
 ;; coding: utf-8
 ;; End:
 
-       Copyright (C) 2009-2011  Free Software Foundation, Inc.
+       Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 71942698c5f61bb92f012e1135495c6c29efe0e3..ae384b005f3a19bf00ddb7327ae0caa433d9729d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cedet-cscope.el --- CScope support for CEDET
 
-;;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Package: cedet
index 6f40ee7030fad255f19f1b3be526bd959a1059c5..2cd28081b95196dbfebce4c482c94002fca655a9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cedet-files.el --- Common routines dealing with file names.
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 ;; Package: cedet
index aa18c0d2f42f1d961a0a2ca0c85a3f59907dd0ee..a6e94dcd5d9fca2e5286bf0359d54030aea8d41b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cedet-global.el --- GNU Global support for CEDET.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 ;; Package: cedet
index ee8e432ddd93505a539995286ff443ffeeb26dd9..b35035a58b62e1fb37021315c4aeea5602c92f30 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cedet-idutils.el --- ID Utils support for CEDET.
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 ;; Version: 0.2
index 9ccf74de27a22b6021af043437bce7bbae420781..6da3b5de547d575ad87be0a07e4f689df0b60f0d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cedet.el --- Setup CEDET environment
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: Eric M. Ludlam  <zappo@gnu.org>
index 329d1c608c294261205820fe4ed9433623bd52f7..d930a20fba5189698290ffee8f095dce6383e226 100644 (file)
@@ -1,6 +1,6 @@
 ;;; data-debug.el --- Datastructure Debugger
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam  <zappo@gnu.org>
 ;; Version: 0.2
@@ -1060,11 +1060,11 @@ If the result is a list or vector, then use the data debugger to display it."
       (setq values (cons (eval expr) values))
     (let ((old-value (make-symbol "t")) new-value)
       ;; Bind debug-on-error to something unique so that we can
-      ;; detect when evaled code changes it.
+      ;; detect when evalled code changes it.
       (let ((debug-on-error old-value))
        (setq values (cons (eval expr) values))
        (setq new-value debug-on-error))
-      ;; If evaled code has changed the value of debug-on-error,
+      ;; If evalled code has changed the value of debug-on-error,
       ;; propagate that change to the global binding.
       (unless (eq old-value new-value)
        (setq debug-on-error new-value))))
index 741e1ffbe5fd6bae688939a245d5acd76849f1e6..5f336df5514cba6e56a30d6035765079435cd291 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede.el --- Emacs Development Environment gloss
 
-;; Copyright (C) 1998-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index d08ab543b82979f110d3ed4a0af7e9d683234784..7ff291d367513245bf214cfa5293b1fa59a8c59c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/auto.el --- Autoload features for EDE
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index c6545dd9015985cbbda11ffdfdba8dcf5a2fdf85..666ba0b0a06b2af89261e3bdfd396a0db5158e6a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/autoconf-edit.el --- Keymap for autoconf
 
-;; Copyright (C) 1998-2000, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project
index 8b0bd261daf83d5721664f80d9f90e2a07b2ca20..4365fdc2190230d06a18e156af9f89a3ed967f52 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/base.el --- Baseclasses for EDE.
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index e4d1bf205ecd013082084fd21c0e85bafae373a1..e6fd92759ded0ca524161b8356a13388d7daa92b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/cpp-root.el --- A simple way to wrap a C++ project with a single root
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index ac0907e8e7f2ebe8bd001587e2b8ddbdfec31c04..ce851a9cd4f663c533982d9a8f7b34f63916eb79 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/custom.el --- customization of EDE projects.
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index b7a98271ff37ed479b573cded081126f83e116cc..bf9ab272785f9ba8e9cf568e27f6771410d47dbe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/dired.el --- EDE extensions to dired.
 
-;; Copyright (C) 1998-2000, 2003, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2003, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.4
index c1ca8b69208ddd69f4afa2319946205ed6068a8e..d7c83749ffa49e54905f982ed24dca97d4e54063 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/emacs.el --- Special project for Emacs
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index f17dfd85fdf79100bc8a1c6457d4224d5466fec6..02aeffc5e2bd5ef2930476c8d67ea51bbcc88149 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/files.el --- Associate projects with files and directories.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 695707715465b1762c1e6937a7a12b4372a83944..67ef63f662e522472eef75cb5b68e417cc5f22f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/generic.el --- Base Support for generic build systems
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 0ed9c3054ef692868f262cd1f6305f838c25c74f..70cd9498f69c44277b48c72da4e9f87325d9cdaf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/linux.el --- Special project for Linux
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 427b87d2bc0aa1508bf991d65526544da5eacb42..c008f5fb945284c57537466128e552004f02bd94 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/locate.el --- Locate support
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 1c1bcd47d75460e7bfee46a0c846ef888f7a7a84..b795977a9c6adbcebeeb16e23ca228f0eb77a846 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/make.el --- General information about "make"
 
-;;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 718fdf58b11b912f0531cb1a6a463e296a58b8f3..afa1c7200ec99efccffd44b4abde8cf49e3da4fa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; makefile-edit.el --- Makefile editing/scanning commands.
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index ae503e836d827f29f87a06a54c5baa94dc39268d..2e44379b809ba3c29823113b8e3d5c61089840a7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/pconf.el --- configure.ac maintenance for EDE
 
-;;; Copyright (C) 1998-2000, 2005, 2008-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 1998-2000, 2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project
index d78e95af27f523aac2c7b91d4c0a2b63c1711806..bd5400bb615e3b45577e5d67f8dc271e62c17201 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-pmake.el --- EDE Generic Project Makefile code generator.
 
-;; Copyright (C) 1998-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
@@ -335,7 +335,7 @@ NOTE: Not yet in use!  This is part of an SRecode conversion of
 ;
 ;         (oref this variables))
 ;
-;     ;; Add in all variables from the configuration not allready covered.
+;     ;; Add in all variables from the configuration not already covered.
 ;     (mapc (lambda (c)
 ;
 ;           (if (member (car c) conf-done)
@@ -372,7 +372,7 @@ NOTE: Not yet in use!  This is part of an SRecode conversion of
                  (setq conf-done (cons (car c) conf-done))))
            (insert (cdr c) "\n"))
          (oref this variables))
-    ;; Add in all variables from the configuration not allready covered.
+    ;; Add in all variables from the configuration not already covered.
     (mapc (lambda (c)
            (if (member (car c) conf-done)
                nil
@@ -430,7 +430,7 @@ sources variable."
                      this (oref proj configuration-default)))
         (conf-done nil)
         )
-    ;; Add in all variables from the configuration not allready covered.
+    ;; Add in all variables from the configuration not already covered.
     (mapc (lambda (c)
            (if (member (car c) conf-done)
                nil
index 23d3aa0500076eb8bf7cc2d3971d80640d4c5457..e07415a6723c3f0bbad135e568c9062ee2ec9aaf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj-archive.el --- EDE Generic Project archive support
 
-;;  Copyright (C) 1998-2001, 2009-2011  Free Software Foundation, Inc.
+;;  Copyright (C) 1998-2001, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
@@ -46,7 +46,7 @@
 (defmethod ede-proj-makefile-insert-source-variables :BEFORE
   ((this ede-proj-target-makefile-archive) &optional moresource)
   "Insert bin_PROGRAMS variables needed by target THIS.
-We aren't acutally inserting SOURCE details, but this is used by the
+We aren't actually inserting SOURCE details, but this is used by the
 Makefile.am generator, so use it to add this important bin program."
   (ede-pmake-insert-variable-shared
       (concat "lib" (ede-name this) "_a_LIBRARIES")
index 2a8f1de65e2e5109be38f14ce1bdc3e5d4c98249..f5b43e1542cc95bf18915095d242c5fb49a52431 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj-aux.el --- EDE Generic Project auxiliary file support
 
-;; Copyright (C) 1998-2000, 2007, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2007, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 84bf8ebf1a04a0a318d60289bd3711ab2b91cdb9..8277f58a5e03bc664c1781179a9240fff9058505 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj-comp.el --- EDE Generic Project compiler/rule driver
 
-;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2011
+;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index 66c7106336330dc53685eaaf3c53b716f2075a1d..78200acff7d719b7f3f1d048c9640435560a0f0b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-proj-elisp.el --- EDE Generic Project Emacs Lisp support
 
-;; Copyright (C) 1998-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index d943e609528ba4d7d24a76c4e65a7ecbf4d818ed..80d552329498e32ce6e2ef368c7bc64698e3922d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-proj-info.el --- EDE Generic Project texinfo support
 
-;;; Copyright (C) 1998-2001, 2004, 2007-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 1998-2001, 2004, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 1c9b9bea0f4655847f87bf79d2a2e2870881075b..590e0894db46f2f524fda66535eb80dd62b61ba2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-proj-misc.el --- EDE Generic Project Emacs Lisp support
 
-;; Copyright (C) 1998-2001, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2001, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 7e7d289a59a3106f092fcdeeceea0889f33831f8..5b7e64b6aa1e618dddf756bc3b5d2bb3406bf4ec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj-obj.el --- EDE Generic Project Object code generation support
 
-;;; Copyright (C) 1998-2000, 2005, 2008-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 1998-2000, 2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index f33f5327beb50f12bdd11ae3d5d09916a295992d..18a00def986c82399ae4421602a4a0e2a18be6b4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-proj-prog.el --- EDE Generic Project program support
 
-;; Copyright (C) 1998-2001, 2005, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2001, 2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 6a08d4fadd185e67e1087199af2c79206dd5f07e..9817d0fb60b35ebe4cad4d3d7d37d764488436f5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj-scheme.el --- EDE Generic Project scheme (guile) support
 
-;; Copyright (C) 1998-2000, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make, scheme
index 4e233f56a123717c50b181202eaea0e153b4d2d9..5b192baf3742327eb26ba2cca1f45a9d6bb2809d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-proj-shared.el --- EDE Generic Project shared library support
 
-;;; Copyright (C) 1998-2000, 2009-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 1998-2000, 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
@@ -181,7 +181,7 @@ Results in --add-missing being passed to automake."
 (defmethod ede-proj-makefile-insert-automake-pre-variables
   ((this ede-proj-target-makefile-shared-object))
   "Insert bin_PROGRAMS variables needed by target THIS.
-We aren't acutally inserting SOURCE details, but this is used by the
+We aren't actually inserting SOURCE details, but this is used by the
 Makefile.am generator, so use it to add this important bin program."
   (ede-pmake-insert-variable-shared "lib_LTLIBRARIES"
      (insert (concat "lib" (ede-name this) ".la"))))
index a77bb02218b046ce95dbcded53a6c61a7771c72e..d80d55bf9164a612e71dabf2bfd9f35a01940863 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj.el --- EDE Generic Project file driver
 
-;; Copyright (C) 1998-2003, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2003, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 033a486f1a7d107caeb37b27ae06ff085fb09d7a..b775cddbc0ef8f8bb9c72129a7d24e7ff9a8a455 100644 (file)
@@ -1,6 +1,6 @@
 ;;; project-am.el --- A project management scheme based on automake files.
 
-;; Copyright (C) 1998-2000, 2003, 2005, 2007-2011
+;; Copyright (C) 1998-2000, 2003, 2005, 2007-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index 194b7285a0b31c7c654c86c8f4dadf84c2f6c977..526f30e8aa9685f4141dead42b66c633b0db3075 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/shell.el --- A shell controlled by EDE.
 ;;
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 8d77cea652974b85375ddfdf341baa64bc6ab023..028c126e9e4eb6b04c4924f1b4606a67b4cd31c7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/simple.el --- Overlay an EDE structure on an existing project
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index e5dc12d064f56cfc6538133c353e0a41a88eaf75..956ebb43a27f37bdab8cf0b9c7963a36af4f779a 100644 (file)
@@ -1,6 +1,6 @@
 ;; ede/source.el --- EDE source code object
 
-;; Copyright (C) 2000, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index fdf61b51b6834523e29f3e7c2c70f47119058d02..57e5f9f2e9b10f34aac2a2b54a2d6fbbc6105221 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/speedbar.el --- Speedbar viewing of EDE projects
 
-;; Copyright (C) 1998-2001, 2003, 2005, 2007-2011
+;; Copyright (C) 1998-2001, 2003, 2005, 2007-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index f7428bae04f5d3f6013af301a5035893c6a875aa..ccf9459cae72e189c100312a5ba0b68be806b993 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/srecode.el --- EDE utilities on top of SRecoder
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index b69938af4ab702c47e80147397c85cdc07622d32..4b28303a1c4b029b388bc8d10319291140bdb08c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-system.el --- EDE working with the system (VC, FTP, ETC)
 
-;; Copyright (C) 2001-2003, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2003, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make, vc
index 053180d4a8b6385ffa20f1fb9deb2ddac8a68066..05688aa56ffe6d378edc2b2ec29ca21ee87d9379 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/util.el --- EDE utilities
 
-;; Copyright (C) 2000, 2005, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2005, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 35841d2a6b21d08af6115be29036d060b6f1a5e8..877ed54566c4b0fdc36bff8437e89268f4ef15df 100644 (file)
@@ -1,6 +1,6 @@
 ;;; inversion.el --- When you need something in version XX.XX
 
-;;; Copyright (C) 2002-2003, 2005-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2003, 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
index 511a3cd1d8b2d8f484fb145a7f70f68afb74ee52..7346e88797d7badb5b991b34b15ee0ecc7923ff6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mode-local.el --- Support for mode local facilities
 ;;
-;; Copyright (C) 2004-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2005, 2007-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index 4929feb03025e9d0a61774943a4c55f40726bf93..746ee0b89af9db443cdc6989e46e8936ebff678e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pulse.el --- Pulsing Overlays
 
-;;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 ;; Version: 1.0
index 337413caf75a78d684f154b583e7122530b9aad1..1f07867bac5bfbb913dddbbe7c286390358182d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic.el --- Semantic buffer evaluator.
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax tools
index ef09ea13b422f23095f25d6f1e3ca11d78a7e713..63acc555343ba12e9b3d1772e89e8b155db39fa0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/analyze.el --- Analyze semantic tags against local context
 
-;; Copyright (C) 2000-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 89937f45ec8de4e8283017b089edc4b1aa79e079..edc3cdc230cabcadb9e111cf8d4ba3e687bd88c5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/analyze/complete.el --- Smart Completions
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index b02358b72439ae37d0c0f9a26c4e8cedc08bbbb2..5fe0078478dce46b372228080e1eb4aef2be7c98 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/analyze/debug.el --- Debug the analyzer
 
-;;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
@@ -70,7 +70,7 @@
       (let ((pentry (nth idx pf))
            (ptentry (nth idx pft)))
        (if (or (stringp pentry) (not ptentry))
-           ;; Found someting ok.  stop
+           ;; Found something ok.  Stop.
            (setq stop t)
          (setq idx (1+ idx)))))
     ;; We found the first non-tag entry.  What is the situation?
index 967e5c59cdaee277085916868c8645d55f1faf28..a27356c784bcbd2b4500463366e60d0d551b1a41 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/analyze/fcn.el --- Analyzer support functions.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 9a4459f037fad6d64e0ac941bb7f56de69663dc1..09a4c08c059511a9d4233a4cb16daffa71fdd0bd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/analyze/refs.el --- Analysis of the references between tags.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 036a6f38724810af576bf8d3bef3de7247e983af..56bd12279935358f9bfc9bd70de9f8a40df89e4b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine.el --- LL Parser/Analyzer core.
 
-;; Copyright (C) 1999-2004, 2006-2007, 2009-2011
+;; Copyright (C) 1999-2004, 2006-2007, 2009-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
index 99429f01acd52f1835fb22424f1a9eaf5f2656b4..b47dac49a52328094a4960d0477b4804a2247024 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/c-by.el --- Generated parser support file
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 4da23498cfc8d9318e509ca776ad815a386febd8..886b15d183e4c209b9da27bc31168ce380c18a57 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/c.el --- Semantic details for C
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 684db1e7bbfe6868d1641c7ce4e3fcd9c55c798a..3680247484dacbee9a6fdec658fa457f5db1b441 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/debug.el --- Debugger support for bovinator
 
-;; Copyright (C) 2003, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 1a2061d01e719e36b738a6ef1edaff49b2809f15..818b8b581a41c96513dccf64df30e33bf54c261f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/el.el --- Semantic details for Emacs Lisp
 
-;; Copyright (C) 1999-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index acbbb13170edee782ef0d7e9275274c28297da85..8b47ae14eee92c41ae03a3d3481e7c6073d0e9d1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/gcc.el --- gcc querying special code for the C parser
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 41da728d5372e0ace19bc6083b8e9d61e1116c29..ac38d1707c3ffcbe1cfa858c80354e26cb91e8b3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/make-by.el --- Generated parser support file
 
-;; Copyright (C) 1999-2004, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2004, 2008-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index e132b48441a1546202a0059fff067aef5fd44893..4098b2c03741d8e6a120973c237b202e06c264ec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/make.el --- Makefile parsing rules.
 
-;; Copyright (C) 2000-2004, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2004, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 8dd170384bcf590aa854729006da5bddec9958a0..d580a5fb22e17e75420eab0e6b6836ab650334ed 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic-scm-by.el --- Generated parser support file
 
-;; Copyright (C) 2001, 2003, 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2003, 2009-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 0bdd8722db1a07875cc2e8a8f7d5ad4377bc14c5..5c4e2ae6d6067ef2a2202b2d78ffcadfa9b9a22f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/bovine/scm.el --- Semantic details for Scheme (guile)
 
-;;; Copyright (C) 2001-2004, 2008-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2001-2004, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 1c08cb04d15a5ed669eaa082682b3aa85490719d..c6b13475862b4ddece5f37114e97442fe8ff8049 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/chart.el --- Utilities for use with semantic tag tables
 
-;; Copyright (C) 1999-2001, 2003, 2005, 2008-2011
+;; Copyright (C) 1999-2001, 2003, 2005, 2008-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index 7e01b88f60b56dca89a0284faa3c34604fee6e41..18d4052eb43b7776e10004c83a6d06a469e9295d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/complete.el --- Routines for performing tag completion
 
-;; Copyright (C) 2003-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 4fef5937bc3337a67645d6c60cf1dc64e27e9dbc..717b261984c37bd39e748a956dccec4665f1a31a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/ctxt.el --- Context calculations for Semantic tools.
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 7d1abe11dd1bbb4378c81a55c22fbb61ea93fac6..e73929382bf23de8df74470ac292f9429a0b1ac1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-debug.el --- Extra level debugging routines for Semantic
 
-;;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index fe5f3c193dfe7dc215ca89dc322f02abd6160beb..28e5649a8651f725e8f65706333bce3635aea6d1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-ebrowse.el --- Semanticdb backend using ebrowse.
 
-;; Copyright (C) 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012  Free Software Foundation, Inc.
 
 ;; Authors: Eric M. Ludlam <zappo@gnu.org>
 ;;     Joakim Verona
index 0cbff54fd1da1e272fd93f251fe185a95c636ebe..ce6f33f0d189480060bad80b8c46212c8c9b918d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-el.el --- Semantic database extensions for Emacs Lisp
 
-;;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: tags
index 943ccf23031ac371b9cd652d00c8832ba6d62396..c487e39c7b22cfaf79fbd705fe54731c00b3b4b2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-file.el --- Save a semanticdb to a cache file.
 
-;;; Copyright (C) 2000-2005, 2007-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2000-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: tags
@@ -193,16 +193,16 @@ If DIRECTORY doesn't exist, create a new one."
   (eieio-instance-tracker-find filename 'file 'semanticdb-database-list))
 
 (defmethod semanticdb-file-directory-exists-p ((DB semanticdb-project-database-file)
-                                              &optional supress-questions)
+                                              &optional suppress-questions)
   "Does the directory the database DB needs to write to exist?
-If SUPRESS-QUESTIONS, then do not ask to create the directory."
+If SUPPRESS-QUESTIONS, then do not ask to create the directory."
   (let ((dest (file-name-directory (oref DB file)))
        )
     (cond ((null dest)
           ;; @TODO - If it was never set up... what should we do ?
           nil)
          ((file-exists-p dest) t)
-         ((or supress-questions
+         ((or suppress-questions
               (and (boundp 'semanticdb--inhibit-make-directory)
                    semanticdb--inhibit-make-directory))
           nil)
@@ -216,13 +216,13 @@ If SUPRESS-QUESTIONS, then do not ask to create the directory."
 
 (defmethod semanticdb-save-db ((DB semanticdb-project-database-file)
                               &optional
-                              supress-questions)
+                              suppress-questions)
   "Write out the database DB to its file.
 If DB is not specified, then use the current database."
   (let ((objname (oref DB file)))
     (when (and (semanticdb-dirty-p DB)
               (semanticdb-live-p DB)
-              (semanticdb-file-directory-exists-p DB supress-questions)
+              (semanticdb-file-directory-exists-p DB suppress-questions)
               (semanticdb-write-directory-p DB)
               )
       ;;(message "Saving tag summary for %s..." objname)
@@ -243,7 +243,7 @@ If DB is not specified, then use the current database."
          (t
           ;; @todo - It should ask if we are not called from a hook.
           ;;         How?
-          (if (or supress-questions
+          (if (or suppress-questions
                   (y-or-n-p (format "Skip Error: %s ?" (car (cdr foo)))))
               (message "Save Error: %S: %s" (car (cdr foo))
                        objname)
index a651e08d53c103a8e4a38dc0a902b2e791aaa90a..ca6a8fbf5caa9ee4a5c7c2e3da3479072ee63bc3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-find.el --- Searching through semantic databases.
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: tags
index 7f3d616203e581660ffd43e94f8f146a2e2863c2..eceb830341f181a12175e71b9ab0e66ad5c97742 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-global.el --- Semantic database extensions for GLOBAL
 
-;; Copyright (C) 2002-2006, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2006, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: tags
index e662290340d4d4ca559c9bdb4a4c042e731dee7a..a7aaccf401d49219099236984b95488e44763b72 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-javascript.el --- Semantic database extensions for javascript
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Joakim Verona
 
index 8b656592603f11ee1a6853557e1ccbd5742b54b7..56ce6cf06e6ef9f25eb324f94c44d0f8d8db421e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-mode.el --- Semanticdb Minor Mode
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 6f5489ef7ef0c2898086e174387014c3c664d836..a021e3aff689a8631a18febaac9e094cbb9b9ec5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-ref.el --- Handle cross-db file references
 
-;;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 7d23ad17009ee954d9a81eda3c5ee4505c14e919..4698949b5e0d8d578e45af9070b2914d2f611e5b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db-typecache.el --- Manage Datatypes
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 3d2128db29aa2ffb965ef4ee86c6fcdf43068c08..d6e4fff83c81a234093d3597d7fde15899277e4f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/db.el --- Semantic tag database manager
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: tags
@@ -227,7 +227,7 @@ it is in Emacs.")
          "Non nil if this table needs to be `Saved'.")
    (db-refs :initform nil
            :documentation
-           "List of `semanticdb-table' objects refering to this one.
+           "List of `semanticdb-table' objects referring to this one.
 These aren't saved, but are instead recalculated after load.
 See the file semantic/db-ref.el for how this slot is used.")
    (pointmax :initarg :pointmax
@@ -657,7 +657,7 @@ The file associated with OBJ does not need to be in a buffer."
 ;;; SAVE/LOAD
 ;;
 (defmethod semanticdb-save-db ((DB semanticdb-project-database)
-                              &optional supress-questions)
+                              &optional suppress-questions)
   "Cause a database to save itself.
 The database base class does not save itself persistently.
 Subclasses could save themselves to a file, or to a database, or other
index 6db47f8b0be148254d8a81560bee622ee3b64b4d..e88517b15ce97b8c52569d677776b04eac1fd3c5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/debug.el --- Language Debugger framework
 
-;; Copyright (C) 2003-2005, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 4eeac8de1414089e36a8ed6a355cee6d5d068a38..7d1f0fb2f635d631685a5316cd81abdaa787e031 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/decorate.el --- Utilities for decorating/highlighting tokens.
 
-;;; Copyright (C) 1999-2003, 2005-2007, 2009-2011
+;;; Copyright (C) 1999-2003, 2005-2007, 2009-2012
 ;;; Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index 766a13023e87b9f446b845de7c30f3e4a804a401..7fd4214016dddce976a6a9e50f1f476563a79dd2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/decorate/include.el --- Decoration modes for include statements
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index ea4df472afdb234511179ddb8d00bd04e8b4ee8f..f67978a2620f1186ffab779ba57b69ec24fc63c3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/decorate/mode.el --- Minor mode for decorating tags
 
-;; Copyright (C) 2000-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index e47f82f391f0f266fb65f43dd1a64d4b465c1b18..27ee00e8fbce37cc9bfd3600bc7e262f44ce03f6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/dep.el --- Methods for tracking dependencies (include files)
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index ec3b5878c634eb1211d36a2da3417c92f3a5ccc7..ddf1518f5392dc727752ec4fd240cd17528be799 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/doc.el --- Routines for documentation strings
 
-;; Copyright (C) 1999-2003, 2005, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2003, 2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 3a30a931d95c464757b1efcbcfc005008e511425..0fc1829566c67cc4df928e63b3e46b91e487ae35 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/ede-grammar.el --- EDE support for Semantic Grammar Files
 
-;; Copyright (C) 2003-2004, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: project, make
index 3fbcf6d932f958cd4ac6537c1afa718cfaac8a71..23b6784fe2a09330767e916b88924e2ae96b00ee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/edit.el --- Edit Management for Semantic
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
@@ -470,6 +470,7 @@ a 'semantic-parse-changes-failed exception with value t."
             (buffer-name (current-buffer))))
   (run-hooks 'semantic-edits-incremental-reparse-failed-hook))
 
+;;;###autoload
 (defun semantic-edits-incremental-parser ()
   "Incrementally reparse the current buffer.
 Incremental parser allows semantic to only reparse those sections of
index a6d866912062e45664e56975fb262863e9cc83fb..ce7ba9926d2ad15c38ac75709190592049fc82a1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/find.el --- Search routines for Semantic
 
-;; Copyright (C) 1999-2005, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 876ec9bbd4acaf80a975b2e1d1dcc024c4c0e048..158c32b15c3ab339cf2fd6a4790500bbc5b43a1d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/format.el --- Routines for formatting tags
 
-;; Copyright (C) 1999-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 479044ec518de706658eaf6221025e87f9a4e0bc..851d5cd9e8e75b781be64faef8235317808b3a3c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/fw.el --- Framework for Semantic
 
-;;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 879fdd92331b942601d48a17f8378d9c75dafccb..7408dd6702eebcb083eee55bfd799f5fea6675ea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/grammar-wy.el --- Generated parser support file
 
-;; Copyright (C) 2002-2004, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Keywords: syntax
index 1a79adc650d831a8379a7d2bae67246a0ebb7bf8..6d7865a29dfb35e69e25de1d91b8afdbf2964df7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/grammar.el --- Major mode framework for Semantic grammars
 
-;; Copyright (C) 2002-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index a7d150ec4a9142d13a9e29e96b5d98f9ea930dcb..5fec7fcdb1e8aad07e61ec7fd4a8d3d7d07aacc9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/html.el --- Semantic details for html files
 
-;; Copyright (C) 2004-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index edd62cc5ca511c975cfd68a500ed48d3f72378ac..f898b6565fdf3296fe6012333d6d2bb9748f73ba 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/ia-sb.el --- Speedbar analysis display interactor
 
-;;; Copyright (C) 2002-2004, 2006, 2008-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2004, 2006, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 2aae39d4b214429ccc88a3955322b0d3d62883b1..1aedc7b6d458eea64ec9201ae97195d7f34847b1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/ia.el --- Interactive Analysis functions
 
-;;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 4b3a51e79f7e800fa62b79470aa0631f44fd452c..7ed1612d5927fa54392c103e6f1504465cfb85de 100644 (file)
@@ -1,6 +1,6 @@
 ;;; idle.el --- Schedule parsing tasks in idle time
 
-;; Copyright (C) 2003-2006, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2006, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
@@ -246,8 +246,8 @@ And also manages services that depend on tag values."
 
        ;; NOTE ON COMMENTED SAFE HERE
        ;; 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
+       ;; unparsable.  We now assume that they are lexically
+       ;; safe to do, because we have marked the buffer unparsable
        ;; if there was a problem.
        ;;(when safe
        (dolist (service semantic-idle-scheduler-queue)
@@ -476,7 +476,7 @@ Does nothing if the current buffer doesn't need reparsing."
       ;; do them here, then all the bovination hooks are not run, and
       ;; we save lots of time.
       (cond
-       ;; If the buffer was previously marked unparseable,
+       ;; If the buffer was previously marked unparsable,
        ;; then don't waste our time.
        ((semantic-parse-tree-unparseable-p)
        nil)
index 7566c08f13a89ccd747162f013ee3a500b7c6da5..22a23e526a2e5a0263d0c8d17427fb1e245a6d9f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/imenu.el --- Use Semantic as an imenu tag generator
 
-;;; Copyright (C) 2000-2005, 2007-2008, 2010-2011
+;;; Copyright (C) 2000-2005, 2007-2008, 2010-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index c3075634242bb4e3658ebdc351810d6baeff02b5..8747d793ab83cef050af782d8d523d5a2425a3d6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/java.el --- Semantic functions for Java
 
-;;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 
index cf82da303ce7882742d47607e6311725de656e83..5f121d88ac6a98ddd3adb4f3ffde42ac5f6193fb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/lex-spp.el --- Semantic Lexical Pre-processor
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
@@ -577,7 +577,7 @@ and what valid VAL values are."
        (cond
         ;; CASE 3: Merge symbols together.
         ((eq (semantic-lex-token-class v) 'spp-symbol-merge)
-         ;; We need to merge the tokens in the 'text segement together,
+         ;; We need to merge the tokens in the 'text segment together,
          ;; and produce a single symbol from it.
          (let ((newsym
                 (mapconcat (lambda (tok)
index dab5c444faeb05b043d609ad88f3c8f760423c1b..e47cc1eaee964bef9aa3fc2b5070ae46b2cc03e4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/lex.el --- Lexical Analyzer builder
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
@@ -1704,7 +1704,7 @@ If there is no error, then the last value of FORMS is returned."
                       nil))))
        ;; Great Sadness.  Assume that FORMS execute within the
        ;; confines of the current buffer only!  Mark this thing
-       ;; unparseable iff the special symbol was thrown.  This
+       ;; unparsable iff the special symbol was thrown.  This
        ;; will prevent future calls from parsing, but will allow
        ;; then to still return the cache.
        (when ,ret
index 47915e8ad58567cfabad206c4d919b3d3aeb5d08..4216e099857569d7a93b713827b60429371a7395 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/mru-bookmark.el --- Automatic bookmark tracking
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
@@ -363,7 +363,7 @@ Argument PROMPT is the prompt to use when reading."
       (setq ans (assoc ans alist))
       (if ans
          (cdr ans)
-       ;; no match.  Custom word.  Look it up somwhere?
+       ;; no match.  Custom word.  Look it up somewhere?
        nil)
       )))
 
index 8c3d6c17cf471493528899730ed7dba735418b15..1da0003db8edd405b3252758a5a1e19d72f414f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/sb.el --- Semantic tag display for speedbar
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index ea4903c70eaefd312b648d489b22ba17b2e2912b..c5b07b9d440ae0300e94948f49ea1966f6d753f5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/scope.el --- Analyzer Scope Calculations
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
@@ -725,7 +725,7 @@ The class returned from the scope calculation is variable
              (oset scopecache localargs localargs)
              (oset scopecache localvar localvar)
              )))
-       ;; Make sure we become dependant on the typecache.
+       ;; Make sure we become dependent on the typecache.
        (semanticdb-typecache-add-dependant scopecache)
        ;; Handy debug output.
        (when (called-interactively-p 'any)
index b4618d1c18f3f75ef1682a56c34ecdd4fea015eb..64f99a8ad6f881f9478012ec069a43a934ff6a6d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/senator.el --- SEmantic NAvigaTOR
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: FSF
index a4126e1384bf5e75d415c22a8bc6d529f6eae841..61218ffd3a933ed523c7ffecefd05a5437426f21 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/sort.el --- Utilities for sorting and re-arranging tag tables.
 
-;;; Copyright (C) 1999-2005, 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2005, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index cbae9f85573fbbe4c37e2bab697359ac28c34a6d..1c8063134d61f578271f27a377050142ef8c0fbf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref.el --- Symbol Reference API
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index b74b0501c2825a1f55b284a4d6bdb6445cb4d0da..e999c35e28d9cf68961489dbdb217874be3f55ce 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref/cscope.el --- Semantic-symref support via cscope.
 
-;;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 1676e0764d95177e450e3aed4cf3f55fdf1a41c1..57d628b2681b70298e4ba60bde11cd39441fce46 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref/filter.el --- Filter symbol reference hits for accuracy.
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 5af42a96581a3653b169e00db88a30a6d5a93652..7aa46fd6c17d9a3b9880d849a63e8dde1e48a683 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref/global.el --- Use GNU Global for symbol references
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index da250e66bb5f4d47aee5d6a6c4f5bb9dcc1c08bd..675a4476e2d4a0ceb733dc4c8a4161b3a930bf9e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref/grep.el --- Symref implementation using find/grep
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 6098f0265ef77d1be5a96c4c5dfa7881c39cfabf..0fdcc0396dc4ce7cb11442c4d09397a85fa650fa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref/idutils.el --- Symref implementation for idutils
 
-;;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 53422541c47a5ae7cf89acc0aa997c8918c7e36f..9a3cb1f524ab04beaae53e059796b4ca8fbbce34 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/symref/list.el --- Symref Output List UI.
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 86fa382a766aa662f0c9bb9ec05fa4b2268ea3c9..8a126c3a6f98c2d5942dde20209ecd8e14cdbd11 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/tag-file.el --- Routines that find files based on tags.
 
-;; Copyright (C) 1999-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 2f585cbdf45e7c9510c4b3268e6f0aa2ba11d5cc..e4c248934c3034d7730671baa6ff2f9ad0b2b693 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/tag-ls.el --- Language Specific override functions for tags
 
-;; Copyright (C) 1999-2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index d54d007f22140cd7a910e59c487afc8a3da972a6..757609fac3f49249a45cafcfa5b996f98f207e7f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/tag-write.el --- Write tags to a text stream
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index f8538ef79012c0aea9b39f104a3372fa3c94567a..29e83cd558bb5340bea5fd21b64038154032bcfd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/tag.el --- tag creation and access
 
-;; Copyright (C) 1999-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 78d5569c2a759a452159dd3a034fdcc7711d6396..36c14ce7c2ab50d49afb399fb5c3db5c62120a7b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/texi.el --- Semantic details for Texinfo files
 
-;; Copyright (C) 2001-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index a08f4a31b30b7e34fa26754fef8c15b4b4c91b08..c9a0faefe6c1cc7758fd6d6fd9ffe664977e4960 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/util-modes.el --- Semantic minor modes
 
-;; Copyright (C) 2000-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Authors: Eric M. Ludlam <zappo@gnu.org>
 ;;          David Ponce <david@dponce.com>
@@ -109,7 +109,7 @@ Only minor modes that are locally enabled are shown in the mode line."
                  (tail (or (memq elem minor-mode-alist)
                            (setq minor-mode-alist
                                  (cons elem minor-mode-alist)))))
-            (setcdr tail (nconc locals (cdr tail)))))))))      
+            (setcdr tail (nconc locals (cdr tail)))))))))
 
 (defun semantic-desktop-ignore-this-minor-mode (buffer)
   "Installed as a minor-mode initializer for Desktop mode.
@@ -438,7 +438,7 @@ The state is indicated in the modeline with the following characters:
  `-'  ->  The cache is up to date.
  `!'  ->  The cache requires a full update.
  `~'  ->  The cache needs to be incrementally parsed.
- `%'  ->  The cache is not currently parseable.
+ `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
 With prefix argument ARG, turn on if positive, otherwise off.  The
 minor mode can be turned on only if semantic feature is available and
@@ -524,7 +524,7 @@ This marker is one of the following:
  `-'  ->  The cache is up to date.
  `!'  ->  The cache requires a full update.
  `~'  ->  The cache needs to be incrementally parsed.
- `%'  ->  The cache is not currently parseable.
+ `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
 Arguments IGNORE are ignored, and accepted so this can be used as a hook
 in many situations."
index acf5f95a217703f01dc1d67ac4a98f4661e6925c..1cc4d898a341c8c4ad1c6e6196e7d4a684fb00a8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/util.el --- Utilities for use with semantic tag tables
 
-;;; Copyright (C) 1999-2005, 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2005, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 04669b99660ee93f5b3ab8e873f2b8227018f2bc..f12ca3753b8dce361f7cde9d2c551fb1bba61228 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent.el --- Wisent - Semantic gateway
 
-;; Copyright (C) 2001-2007, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2007, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index 884342a1df276c90f45ad16808e9115d43bea6c9..b0daabd10635b95a8dbdabb604253e6d15b3110c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/comp.el --- GNU Bison for Emacs - Grammar compiler
 
-;; Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000-2007, 2009-2011
+;; Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000-2007, 2009-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
@@ -51,7 +51,7 @@
 ;; name space.  Elisp dynamic binding allows that ;-)
 
 ;; Here are simple macros to easily define and use set of variables
-;; binded locally, without all these "reference to free variable"
+;; bound locally, without all these "reference to free variable"
 ;; compiler warnings!
 
 (defmacro wisent-context-name (name)
index f3d11d3851202f70d6c78a4297e5a9f89e6883da..6bdc2736b1b331402ceb21dbb0d444b81091c24f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/java-tags.el --- Java LALR parser for Emacs
 
-;; Copyright (C) 2001-2006, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2006, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index 16b729f3925e9cd4d07418c2c5b12a6efd4f332c..33644414b309c813e2fe6ee96f42fd065e9f7618 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/javascript.el --- javascript parser support
 
-;; Copyright (C) 2005, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
index 562b0da6caaf152fbe6a16715d01abda5c3ec704..1f0a480d5544c4d88fa936e77c7e436ef8f6b537 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/javat-wy.el --- Generated parser support file
 
-;; Copyright (C) 2002, 2007, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2007, 2009-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index c8dded08d1fec13a12c9fd0de1e68f6af0b7ba53..b8d3240aef174fe991582db5e99967aa14ac8468 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/js-wy.el --- Generated parser support file
 
-;; Copyright (C) 2005, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2009-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1998-2011 Ecma International
 
 ;; This file is part of GNU Emacs.
index 2445d7162a73d898d1d3a6434cdd61cb8be145b4..cb0f37c8f16a2c89d38b88969035f687a3b2cbf5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/python-wy.el --- Generated parser support file
 
-;; Copyright (C) 2002-2004, 2007, 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2007, 2010-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 2001-2010 Python Software Foundation
 
 ;; This file is part of GNU Emacs.
index c73033ce0ac775ae534961070ade699689bf210d..fef22b16995b081445acca75ae7487e799baca3e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wisent-python.el --- Semantic support for Python
 
-;; Copyright (C) 2002, 2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Richard Kim  <emacs18@gmail.com>
 ;; Maintainer: Richard Kim  <emacs18@gmail.com>
index 8c17d4ccab4320c5d7ceae62e18641bdcd03c6bd..452628f8f1eb1fdd3cdc3f37828e7dccfdda300b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic/wisent/wisent.el --- GNU Bison for Emacs - Runtime
 
-;;; Copyright (C) 2002-2007, 2009-2011  Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2007, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index 5527273a3a511c05c13b3dd8eb4065c1a0c2451c..f973ee9065e7c6e0028e245f5587a4562508f4d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode.el --- Semantic buffer evaluator.
 
-;;; Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2005, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: codegeneration
index 73445fbf13d768f73a4ed282229db67e2bd9ed72..0960912e8272b9f6bf316b34e667ff2cdc16ddc1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/args.el --- Provide some simple template arguments
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index d3623d6022f1f4fcfc9cc4d46c20b08bfbe9c260..d5389a97f0333bccf268d2f1d9a81e6caedba8fa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/compile --- Compilation of srecode template files.
 
-;; Copyright (C) 2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: codegeneration
index a46e8369c6cd8a651ba339a7ef1cad094dfd4e45..12bfd3af9033508ebf42a7f36af3a36b18539d30 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/cpp.el --- C++ specific handlers for Semantic Recoder
 
-;; Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 ;;         Jan Moringen <scymtym@users.sourceforge.net>
index 11d84e96f414107baf8c019a32d4518e71cb1e09..b864316deb5920abc9a764f3e1dd8e01ab89c7ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/ctxt.el --- Derive a context from the source buffer.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 1575ce7ae3b8a481be038b68c01edcf5d39a0e48..5b65284660f58476efeb76a47d8bd483c5373fde 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/dictionary.el --- Dictionary code for the semantic recoder.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index e25905ead83f9fa1668655a64ed4bd4cea62dfdc..1431508fd6d1e5c59b738abd72e78ff7ef1dd1a4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/document.el --- Documentation (comment) generation
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
@@ -167,7 +167,7 @@ doesn't always work correctly."
     ("str\\(ing\\)?" . "string")
     ("use?r" . "user")
     ("num\\(ber\\)?" . "number")
-    ("\\(^\\|\\s-\\)id\\($\\|\\s-\\)" . "Identifier") ;complex cause ;common sylable
+    ("\\(^\\|\\s-\\)id\\($\\|\\s-\\)" . "Identifier") ;complex cause ;common syllable
     )
   "List of common English abbreviations or full words.
 These are nouns (as opposed to verbs) for use in creating expanded
index 03ea977366623d9e0cf0e150366244a96680d71e..bd3f73e07298fe24f15f8ef73980f110a1bf3cf3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/el.el --- Emacs Lisp specific arguments
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 89dc9adcefc7bdf47f705a1722b12e3d954ae0ea..1ddaa1acdeae8c72a47cb2f19335699a72849070 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/expandproto.el --- Expanding prototypes.
 
-;; Copyright (C) 2007, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index d87dc315829bcef3f69fd80856a5aa25f5012265..be3d703339cc5b63114462cfee5071d5eb02d84d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/extract.el --- Extract content from previously inserted macro.
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index f4d34a0f2aba6672b575cc62f490acbddac0cd05..476dd37ae060b489877d66608c4392ecbe0c0764 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/fields.el --- Handling type-in fields in a buffer.
 ;;
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index cc942e53ffdc2ddfb7a37345d18de9c1c767d611..67435f23e90444f9516de64557767b71ea769e5d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/filters.el --- Filters for use in template variables.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index b947c63f4dd1278006137ed298ae2b9ce2c2e4f7..befdb4731c226f4b5770f4fe0d207d717e8f93b0 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; srecode/find.el --- Tools for finding templates in the database.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 9a6c27dcd733dd974109c2b7fd77cfe4046ba562..5155044e386af492df02af43449a48be4624f15e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/getset.el --- Package for inserting new get/set methods.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index bbf8b881c4de90173d851638f8c096a7cac3c4b1..40d3374c7447ddc0dcfa630a294450a10f94f859 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/insert.el --- Insert srecode templates to an output stream.
 
-;; Copyright (C) 2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 4e76c15e30079baea89a634444283baa1f11e4a8..58d8efc41e26029cdd378145a6b315a3ca9934a3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/java.el --- Srecode Java support
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 126f41eb7f7ca0d0982a0496304cea717268a26e..3f891092d7d105112317fa68fdaca1d7a098727e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/map.el --- Manage a template file map
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 23d09bc9a4bab8d190d859f85d2b73ad0643e754..e2c07a0863e8ccad9d5f78eaf63515b1ec06d43b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/mode.el --- Minor mode for managing and using SRecode templates
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 956bdfbd97a07ccb9c6edb18caff0fd40d923a90..827979f786a07e1d3949a81606f5b307949d77c5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/semantic.el --- Semantic specific extensions to SRecode.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index ed2b0e2cfdb1bc9d171b0702cd92293287df2d3e..48eeab2408fc516da00ea305e08a6572c57cde16 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/srt-mode.el --- Major mode for writing screcode macros
 
-;; Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 5bd202093e9dba1a197b9dfbccf68e55fff0769d..8beeb04940d8bd51cf1e4a23af59c75526824bb0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/srt-wy.el --- Generated parser support file
 
-;; Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 4ea554f1def7c91fe3eb7bdcd917bc7878fe93b3..b08f36874592eda7d2dee99895a17a02b58a3a5a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/srt.el --- argument handlers for SRT files
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 52a7765c8574ccf08873eeef55e6e039adb55790..fb7ce6bad2f4b35801a6b39ee691620fdd155148 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/table.el --- Tables of Semantic Recoders
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 5dd32a8578647f701b7d75e5602798733ce72f79..75a5928ea3336b2424f986169479939f08e714e9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/template.el --- SRecoder template language parser support.
 
-;; Copyright (C) 2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index df90f6c464f849939a0ffeb4d44c56a106d4e643..9f2c457ef79b0560b6388b7907aaa29d1abf87cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode/texi.el --- Srecode texinfo support.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 09f6e205cdd703e501060de0fe8a81a080482a6c..efbd16e324e71b044700025adbd776dcbb45f862 100644 (file)
@@ -1,6 +1,6 @@
 ;;; chistory.el --- list command history
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
index 7c1351eefd4d3062d902af9eb66de8b08a3ffa09..0024b52a764370158f88f9e90647c95d19b9fc90 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el
 
-;; Copyright (C) 1988, 1994, 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Olin Shivers <olin.shivers@cs.cmu.edu>
 ;; Maintainer: FSF
index 96b79a4ace2bf7be17a6c9fc973921e55110770a..ff7f0eee4e6ad9b70f6cac749edb4b4dc4d4b2fa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; color.el --- Color manipulation library -*- coding: utf-8; -*-
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Authors: Julien Danjou <julien@danjou.info>
 ;;          Drew Adams <drew.adams@oracle.com>
index 77734b69af61995ab59373c527ac044eec74a6e0..2d0ae6920f9fe93022ccf21e56a6e7a19df52ca3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; comint.el --- general command interpreter in a window stuff -*- lexical-binding: t -*-
 
-;; Copyright (C) 1988, 1990, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1990, 1992-2012  Free Software Foundation, Inc.
 
 ;; Author: Olin Shivers <shivers@cs.cmu.edu>
 ;;     Simon Marshall <simon@gnu.org>
index ad7e781bb7abb1559dc2e2cc10f6f8596e4fd1cc..485305b6e40bc7cee21ff884985d741e2c73b3fd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; completion.el --- dynamic word-completion code
 
-;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2011
+;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 091f832c092b2fc28c39c4a74ee23ede4af1c345..23f3eac5d6677cbfac76cc696ce0a8c64cb2f94f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cus-dep.el --- find customization dependencies
 ;;
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: internal
index 3d5ae69fe3de063d06ec159d7dd374410a4b5e06..419ab88056ab14853dd0243aa9417b7463c01c7b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
 ;;
-;; Copyright (C) 1996-1997, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
index c23632ab88506fd6347bf8766f98bd527ad4d194..d725111b6fdddcdd6bc2699428d4ffb21ab20a74 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cus-face.el --- customization support for faces
 ;;
-;; Copyright (C) 1996-1997, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
index 1d6b42f48e6d74aea21e8d52eae7fdf223966ce5..2cee72d717eebd7d77e438c2477d8eb505e7178b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cus-start.el --- define customization properties of builtins
 ;;
-;; Copyright (C) 1997, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: internal
index 1f33c3e8256f9e2501dae4c81552b3221cafc1b8..6bddb02add6a9499bba5c956c181d1b05fba3f59 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cus-theme.el -- custom theme creation user interface
 ;;
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: FSF
@@ -329,11 +329,16 @@ SPEC, if non-nil, should be a face spec to which to set the widget."
     (load-theme theme nil t))
   (let ((settings (reverse (get theme 'theme-settings))))
     (dolist (setting settings)
-      (funcall (if (eq (car setting) 'theme-value)
-                  'custom-theme-add-variable
-                'custom-theme-add-face)
-              (nth 1 setting)
-              (nth 3 setting))))
+      (let ((option (eq (car setting) 'theme-value))
+           (name   (nth 1 setting))
+           (value  (nth 3 setting)))
+       (unless (and option
+                    (memq name '(custom-enabled-themes
+                                 custom-safe-themes)))
+         (funcall (if option
+                      'custom-theme-add-variable
+                    'custom-theme-add-face)
+                  name value)))))
   theme)
 
 ;; From cus-edit.el
index a1d53720b7da0b50fb48512670596ce60e80cc61..2ccfe0949331e06b5ee8f36a6ab96c15db795373 100644 (file)
@@ -1,6 +1,6 @@
 ;;; custom.el --- tools for declaring and initializing options
 ;;
-;; Copyright (C) 1996-1997, 1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999, 2001-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
@@ -1105,12 +1105,14 @@ property `theme-feature' (which is usually a symbol created by
 
 (defcustom custom-safe-themes '(default)
   "Themes that are considered safe to load.
-If the value is a list, each element should be either the `sha1'
+If the value is a list, each element should be either the SHA-256
 hash of a safe theme file, or the symbol `default', which stands
 for any theme in the built-in Emacs theme directory (a directory
 named \"themes\" in `data-directory').
 
-If the value is t, Emacs treats all themes as safe."
+If the value is t, Emacs treats all themes as safe.
+
+This variable cannot be set in a Custom theme."
   :type '(choice (repeat :tag "List of safe themes"
                         (choice string
                                 (const :tag "Built-in themes" default)))
@@ -1159,7 +1161,7 @@ Return t if THEME was successfully loaded, nil otherwise."
       (error "Unable to find theme file for `%s'" theme))
     (with-temp-buffer
       (insert-file-contents fn)
-      (setq hash (sha1 (current-buffer)))
+      (setq hash (secure-hash 'sha256 (current-buffer)))
       ;; Check file safety with `custom-safe-themes', prompting the
       ;; user if necessary.
       (when (or no-confirm
@@ -1285,8 +1287,8 @@ precedence (after `user')."
         ((eq prop 'theme-face)
          (custom-theme-recalc-face symbol))
         ((eq prop 'theme-value)
-         ;; Don't change `custom-enabled-themes'; that's special.
-         (unless (eq symbol 'custom-enabled-themes)
+         ;; Ignore `custom-enabled-themes' and `custom-safe-themes'.
+         (unless (memq symbol '(custom-enabled-themes custom-safe-themes))
            (custom-theme-recalc-variable symbol)))))))
   (unless (eq theme 'user)
     (setq custom-enabled-themes
index 540b93faad83a42161fb1fab658bee39305c7560..7b94b53e6c7a6b3c078229ee6b48e210dfe79cf1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dabbrev.el --- dynamic abbreviation package
 
-;; Copyright (C) 1985-1986, 1992, 1994, 1996-1997, 2000-2011
+;; Copyright (C) 1985-1986, 1992, 1994, 1996-1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Don Morrison
index a0a8af80389ad3317a20458432dfbfa1a909385c..936b0bff01962644dac3632522e247c7d8a7ba57 100644 (file)
@@ -1,6 +1,6 @@
 ;;; delim-col.el --- prettify all columns in a region or rectangle
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index fcd45f1a1485fa9a0c5750f9a6f5b8ee7f0ba649..d6441123e04f573330a254243d8024062cb5a6ab 100644 (file)
@@ -1,6 +1,6 @@
 ;;; delsel.el --- delete selection if you insert
 
-;; Copyright (C) 1992, 1997-1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1997-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Matthieu Devin <devin@lucid.com>
 ;; Maintainer: FSF
index 47f96e8d68f413120dde0d7b0864f23cb4061a98..0ab72d414e0f87660f24a08891b78a75d5da0ea2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; descr-text.el --- describe text mode
 
-;; Copyright (C) 1994-1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Maintainer: FSF
index 8a61bec0eea047bd3f52175636a84ba0c5fa20fe..2f79cc05e799f79bbe2d78ca1add51970b05b18d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; desktop.el --- save partial status of Emacs when killed
 
-;; Copyright (C) 1993-1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
 ;; Keywords: convenience
@@ -702,9 +702,9 @@ is nil, ask the user where to save the desktop."
 ;; ----------------------------------------------------------------------------
 (defun desktop-internal-v2s (value)
   "Convert VALUE to a pair (QUOTE . TXT); (eval (read TXT)) gives VALUE.
-TXT is a string that when read and evaluated yields value.
+TXT is a string that when read and evaluated yields VALUE.
 QUOTE may be `may' (value may be quoted),
-`must' (values must be quoted), or nil (value may not be quoted)."
+`must' (value must be quoted), or nil (value must not be quoted)."
   (cond
     ((or (numberp value) (null value) (eq t value) (keywordp value))
      (cons 'may (prin1-to-string value)))
index b4f44e1a308fceed14b445cacbb0cbfb7124c521..d3356197a2b12664440f88d64cf2e38015e8174f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dframe --- dedicate frame support modes
 
-;; Copyright (C) 1996-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: file, tags, tools
@@ -221,7 +221,7 @@ Local to those buffers, as a function called that created it.")
     (define-key map [mouse-2] 'dframe-click)
     ;; This is the power click for new frames, or refreshing a cache
     (define-key map [S-mouse-2] 'dframe-power-click)
-    ;; This adds a small unecessary visual effect
+    ;; This adds a small unnecessary visual effect
     ;;(define-key map [down-mouse-2] 'dframe-quick-mouse)
 
     (define-key map [down-mouse-3] 'dframe-popup-kludge)
index 757e814dba17a6b4db91141892c05a239af8e4df..31d8afc4fcaac1ae8c8c10916bfa0fba1c8cccf5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dired-aux.el --- less commonly used parts of dired
 
-;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2011
+;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>.
index 0863cc1abac539857d96722150469c82c5733c22..f775fd952c09569b44bd76057426357edc6ac0dd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dired-x.el --- extra Dired functionality
 
-;; Copyright (C) 1993-1994, 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
 ;;     Lawrence R. Dodd <dodd@roebling.poly.edu>
index 3a82ebcf504e98461672b707feb35d47899d31e1..da105bc2a5fb1dbc752f0c8bb43af0cb9e666287 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dired.el --- directory-browsing commands -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1986, 1992-1997, 2000-2011
+;; Copyright (C) 1985-1986, 1992-1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
@@ -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" "2301de52aab0488c60d2b4841b6f597f")
+;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "cdcae8f5f4ea69fa7b0231f640c13163")
 ;;; Generated autoloads from dired-aux.el
 
 (autoload 'dired-diff "dired-aux" "\
@@ -4128,7 +4128,7 @@ instead.
 ;;;***
 \f
 ;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump)
-;;;;;;  "dired-x" "dired-x.el" "a542cdbf155ff79f36331bae217f3b28")
+;;;;;;  "dired-x" "dired-x.el" "85900e333d980b376bf820108ae1a1fc")
 ;;; Generated autoloads from dired-x.el
 
 (autoload 'dired-jump "dired-x" "\
index eef8c111da50371ad59a9550296ae8ae525546cc..07220f21ed842f1707d225ebef1356304b1397d7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dirtrack.el --- Directory Tracking by watching the prompt
 
-;; Copyright (C) 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Sun Nov 17 1996
 (defcustom dirtrack-list (list "^emacs \\([a-zA-Z]:.*\\)>" 1)
   "List for directory tracking.
 First item is a regexp that describes where to find the path in a prompt.
-Second is a number, the regexp group to match.  Optional third item is
-whether the prompt is multi-line.  If nil or omitted, prompt is assumed to
-be on a single line."
+Second is a number, the regexp group to match."
   :group 'dirtrack
   :type  '(sexp (regexp  :tag "Prompt Expression")
-               (integer :tag "Regexp Group")
-               (boolean :tag "Multiline Prompt")))
+               (integer :tag "Regexp Group"))
+  :version "24.1")
 
 (make-variable-buffer-local 'dirtrack-list)
 
@@ -188,11 +186,13 @@ With a prefix argument ARG, enable Dirtrack mode if ARG is
 positive, and disable it otherwise.  If called from Lisp, enable
 the mode if ARG is omitted or nil.
 
-This method requires that your shell prompt contain the full
-current working directory at all times, and that `dirtrack-list'
-is set to match the prompt.  This is an alternative to
-`shell-dirtrack-mode', which works differently, by tracking `cd'
-and similar commands which change the shell working directory."
+This method requires that your shell prompt contain the current
+working directory at all times, and that you set the variable
+`dirtrack-list' to match the prompt.
+
+This is an alternative to `shell-dirtrack-mode', which works by
+tracking `cd' and similar commands which change the shell working
+directory."
   nil nil nil
   (if dirtrack-mode
       (add-hook 'comint-preoutput-filter-functions 'dirtrack nil t)
@@ -213,63 +213,67 @@ and similar commands which change the shell working directory."
 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
 
 
-(defun dirtrack-debug-message (string)
-  "Insert string at the end of `dirtrack-debug-buffer'."
+(defun dirtrack-debug-message (msg1 msg2)
+  "Insert strings at the end of `dirtrack-debug-buffer'."
   (when dirtrack-debug-mode
     (with-current-buffer (get-buffer-create dirtrack-debug-buffer)
       (goto-char (point-max))
-      (insert (concat string "\n")))))
+      (insert msg1 msg2 "\n"))))
 
 ;;;###autoload
 (defun dirtrack (input)
-  "Determine the current directory by scanning the process output for a prompt.
-The prompt to look for is the first item in `dirtrack-list'.
-
-You can toggle directory tracking by using the function `dirtrack-mode'.
-
-If directory tracking does not seem to be working, you can use the
-function `dirtrack-debug-mode' to turn on debugging output."
-  (unless (or (null dirtrack-mode)
-              (eq (point) (point-min)))     ; no output?
-    (let (prompt-path orig-prompt-path
-         (current-dir default-directory)
-         (dirtrack-regexp    (nth 0 dirtrack-list))
-         (match-num          (nth 1 dirtrack-list)))
-          ;; Currently unimplemented, it seems.  --Stef
-         ;; (multi-line      (nth 2 dirtrack-list)))
-      (save-excursion
-        ;; No match
-        (if (not (string-match dirtrack-regexp input))
-            (dirtrack-debug-message
-             (format "Input `%s' failed to match `dirtrack-list'" input))
-          (setq prompt-path (match-string match-num input))
-          ;; Empty string
-          (if (not (> (length prompt-path) 0))
-              (dirtrack-debug-message "Match is empty string")
-            ;; Transform prompts into canonical forms
-            (setq orig-prompt-path (funcall dirtrack-directory-function
-                                            prompt-path)
-                  prompt-path (shell-prefixed-directory-name orig-prompt-path)
-                  current-dir (funcall dirtrack-canonicalize-function
-                                       current-dir))
-            (dirtrack-debug-message
-             (format "Prompt is %s\nCurrent directory is %s"
-                     prompt-path current-dir))
-            ;; Compare them
-            (if (or (string= current-dir prompt-path)
-                    (string= current-dir (abbreviate-file-name prompt-path)))
-                (dirtrack-debug-message (format "Not changing directory"))
-              ;; It's possible that Emacs will think the directory
-              ;; won't exist (eg, rlogin buffers)
-              (if (file-accessible-directory-p prompt-path)
-                  ;; Change directory. shell-process-cd adds the prefix, so we
-                  ;; need to give it the original (un-prefixed) path.
-                  (and (shell-process-cd orig-prompt-path)
-                       (run-hooks 'dirtrack-directory-change-hook)
-                       (dirtrack-debug-message
-                        (format "Changing directory to %s" prompt-path)))
-                (warn "Directory %s does not exist" prompt-path)))
-            )))))
+  "Determine the current directory from the process output for a prompt.
+This filter function is used by `dirtrack-mode'.  It looks for
+the prompt specified by `dirtrack-list', and calls
+`shell-process-cd' if the directory seems to have changed away
+from `default-directory'."
+  (when (and dirtrack-mode
+            (not (eq (point) (point-min)))) ; there must be output
+    (save-excursion ; What's this for? -- cyd
+      (if (not (string-match (nth 0 dirtrack-list) input))
+         ;; No match
+         (dirtrack-debug-message
+          "Input failed to match `dirtrack-list': " input)
+       (let ((prompt-path (match-string (nth 1 dirtrack-list) input))
+             temp)
+         (cond
+          ;; Don't do anything for empty string
+          ((string-equal prompt-path "")
+           (dirtrack-debug-message "Prompt match gives empty string: " input))
+          ;; If the prompt contains an absolute file name, call
+          ;; `shell-process-cd' if the directory has changed.
+          ((file-name-absolute-p prompt-path)
+           ;; Transform prompts into canonical forms
+           (let ((orig-prompt-path (funcall dirtrack-directory-function
+                                            prompt-path))
+                 (current-dir      (funcall dirtrack-canonicalize-function
+                                            default-directory)))
+             (setq prompt-path (shell-prefixed-directory-name orig-prompt-path))
+             ;; Compare them
+             (if (or (string-equal current-dir prompt-path)
+                     (string-equal (expand-file-name current-dir)
+                                   (expand-file-name prompt-path)))
+                 (dirtrack-debug-message "Not changing directory: " current-dir)
+               ;; It's possible that Emacs thinks the directory
+               ;; doesn't exist (e.g. rlogin buffers)
+               (if (file-accessible-directory-p prompt-path)
+                   ;; `shell-process-cd' adds the prefix, so we need
+                   ;; to give it the original (un-prefixed) path.
+                   (progn
+                     (shell-process-cd orig-prompt-path)
+                     (run-hooks 'dirtrack-directory-change-hook)
+                     (dirtrack-debug-message "Changing directory to "
+                                             prompt-path))
+                 (dirtrack-debug-message "Not changing to non-existent directory: "
+                                         prompt-path)))))
+          ;; If the file name is non-absolute, try and see if it
+          ;; seems to be up or down from where we were.
+          ((string-match "\\`\\(.*\\)\\(?:/.*\\)?\n\\(.*/\\)\\1\\(?:/.*\\)?\\'"
+                         (setq temp
+                               (concat prompt-path "\n" default-directory)))
+           (shell-process-cd (concat (match-string 2 temp)
+                                     prompt-path))
+           (run-hooks 'dirtrack-directory-change-hook)))))))
   input)
 
 (provide 'dirtrack)
index 3befedac2565f0fc32efe185aa57b05e136e18d3..a900ab2f96680b7df9944f8c2b751b8051185cff 100644 (file)
@@ -1,6 +1,6 @@
 ;;; disp-table.el --- functions for dealing with char tables
 
-;; Copyright (C) 1987, 1994-1995, 1999, 2001-2011
+;; Copyright (C) 1987, 1994-1995, 1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum <erik@naggum.no>
index 2d0c6fc31cd542ea2305372c5e4ad0e67dda74da..0c33feab1b7f6be33bbe921ae10e51cb00b3aedc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dnd.el --- drag and drop support.  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
index 7e4329234e3cfe6ff7903e9a547705d0f0b988d8..f31487e62bdaf25d68e08a1e664a8318f2b41986 100644 (file)
@@ -1,7 +1,7 @@
 ;;; doc-view.el --- View PDF/PostScript/DVI files in Emacs -*- lexical-binding: t -*-
 
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Tassilo Horn <tassilo@member.fsf.org>
 ;; Maintainer: Tassilo Horn <tassilo@member.fsf.org>
index 629360b1c18d3d13de8bdca19d1380e0db496bbc..074fd642d6771d65150abe53f08b48aa0b403487 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dos-fns.el --- MS-Dos specific functions
 
-;; Copyright (C) 1991, 1993, 1995-1996, 2001-2011
+;; Copyright (C) 1991, 1993, 1995-1996, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: Morten Welinder <terra@diku.dk>
index 7de2ecb75a663e51a5a0bc5173ae339c00912861..eef871215f47e913f306cd1478e2ac49f0e942e8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dos-vars.el --- MS-Dos specific user options
 
-;; Copyright (C) 1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 5dac6d22722ea956d229469ba2e4621adb3c0e6e..d84e3737c91383452a6b21f59ba876b8718cb2c1 100644 (file)
@@ -1,6 +1,6 @@
 ;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms
 
-;; Copyright (C) 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: Geoff Voelker <voelker@cs.washington.edu>
 ;; Keywords: internal
index 2a845f61942d633c2b19e256b0c36066e3ab62f3..59e6bb856a6dd5faf0e46b9bcffe285dc90467d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; double.el --- support for keyboard remapping with double clicking
 
-;; Copyright (C) 1994, 1997-1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: i18n
index 167da69d1cacaef87b546ae9fdda23595df0b0a4..8343d389f800dc751eea48249a458275767836d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dynamic-setting.el --- Support dynamic changes
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
index 8ab974be574a1da503db8531d6ab3f70ddb0aa77..dcde6449d2283b04c4c51bf744449599fa346f72 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebuff-menu.el --- electric-buffer-list mode
 
-;; Copyright (C) 1985-1986, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@ai.mit.edu>
 ;; Maintainer: FSF
index d5ee3003d68ee098d3be1af40eb7df5f42e9ffd7..2c7ef677578b6e258fd61dacbb387841c6bee5bb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; echistory.el --- Electric Command History Mode
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
index f6c39062d1c0f57e061b17c7302fbf4ac7b828c0..32915e3ee6e1b6c44d9fa6ff50809c5d4b71cb8c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edmacro.el --- keyboard macro editor
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Maintainer: Dave Gillespie <daveg@synaptics.com>
index b2bcf1f85cb86ba5a890480fba1dbc3131caf451..abb897f73f6fa96a1d3c461cd7bbb42d67e6a889 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ehelp.el --- bindings for electric-help mode -*- lexical-binding: t -*-
 
-;; Copyright (C) 1986, 1995, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1995, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik
 ;; (according to ack.texi and authors.el)
index cec1b5d2000c80c86e6a7ebcbce7c7a79cb0357b..1c4b34e151ccd3882b6c6342b37db128ee9b3f25 100644 (file)
@@ -1,6 +1,6 @@
 ;;; electric.el --- window maker and Command loop for `electric' modes
 
-;; Copyright (C) 1985-1986, 1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
index 5d640f629e8c3596ad318343d4029fdab1bdba8e..fdea1c2614d4675a24294f17ebe939fe9f49a697 100644 (file)
@@ -1,6 +1,6 @@
 ;;; elide-head.el --- hide headers in files
 
-;; Copyright (C) 1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: outlines tools
index ae2900775ac0f424935ac17f7a5db3ca387c3e66..e0d8ffaba900412c83432af90c1fe8576d25d7f0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; advice.el --- an overloading mechanism for Emacs Lisp functions
 
-;; Copyright (C) 1993-1994, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
 ;; Maintainer: FSF
index e650995d3fe15439dd07faa81d93f004839608e2..264374ed7216d9465851de0d452a4ebc71cc7281 100644 (file)
@@ -1,6 +1,6 @@
 ;;; assoc.el --- insert/delete functions on association lists
 
-;; Copyright (C) 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Barry A. Warsaw <bwarsaw@cen.com>
 ;; Keywords: extensions
index 596b32f24c36c96d9da54172bc8f7938eb99d125..68cff86aa0d3430ad8565ade5765c634a0019ee1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: utf-8;-*-
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Maintainer: Kim F. Storm <storm@cua.dk>
@@ -452,7 +452,7 @@ Changes to files in this list are not listed.")
     ("William Sommerfeld" :wrote "emacsclient.c" "scribe.el")
     ;; No longer distributed: emacsserver.c.
     ("Leigh Stoller" :changed "emacsclient.c" "server.el")
-    ("Steve Strassman" :wrote "spook.el")
+    ("Steve Strassmann" :wrote "spook.el")
     ("Shinichirou Sugou" :changed "etags.c")
     ;; No longer distributed: emacsserver.c.
     ("Sun Microsystems, Inc" :changed "emacsclient.c" "server.el"
index 19a4d44273de5575d32b3471de3f7755cd09c830..5af666b9dedda4b4e423953ea121a69649b7ac8b 100644 (file)
@@ -1,6 +1,6 @@
 ;; autoload.el --- maintain autoloads in loaddefs.el
 
-;; Copyright (C) 1991-1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991-1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>
 ;; Keywords: maint
index bc1efc118ef039ea783e900b4a1b2bada9cae419..cb5ea048999f14599f3c5ec5495b1d15157966ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; avl-tree.el --- balanced binary trees, AVL-trees
 
-;; Copyright (C) 1995, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Per Cederqvist <ceder@lysator.liu.se>
 ;;         Inge Wallin <inge@lysator.liu.se>
@@ -31,7 +31,7 @@
 ;; deleting, and retrieving data from an AVL tree containing n elements
 ;; is O(log n). It is somewhat more rigidly balanced than other
 ;; self-balancing binary trees (such as red-black trees and AA trees),
-;; making insertion slighty slower, deletion somewhat slower, and
+;; making insertion slightly slower, deletion somewhat slower, and
 ;; retrieval somewhat faster (the asymptotic scaling is of course the
 ;; same for all types). Thus it may be a good choice when the tree will
 ;; be relatively static, i.e. data will be retrieved more often than
index 34e316b2e48b9c05c7960cef581d686d896a96b7..870127ceac8ab611dccfec0adabf0b4a209d5aec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; backquote.el --- implement the ` Lisp construct
 
-;; Copyright (C) 1990, 1992, 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1992, 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Rick Sladkey <jrs@world.std.com>
 ;; Maintainer: FSF
index aa84a075b76d3188a3da8bf4fe9099c1c746708f..646be3e1b71de343671bada69fe483063f087882 100644 (file)
@@ -1,6 +1,6 @@
 ;;; benchmark.el --- support for benchmarking code
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love  <fx@gnu.org>
 ;; Keywords: lisp, extensions
index fd98b5f41a7e5e8cab7af1ec32787224ff16cf0f..03d55f376af694510b67ece2700ed164e2b9a543 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bindat.el --- binary data structure packing and unpacking.
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Assignment name: struct.el
index c9027fb663d9ab715dac70983f2b827c2a659bba..0a845265a376a93cb698c81363aa86bd39e6fdc6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; byte-opt.el --- the optimization passes of the emacs-lisp byte compiler -*- lexical-binding: t -*-
 
-;; Copyright (C) 1991, 1994, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>
 ;;     Hallvard Furuseth <hbf@ulrik.uio.no>
index f79add14836ddfa7c63ec26bcf96230c03834ab1..dc7166bc2ea775528a3f2b90221657d080bfe31f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; byte-run.el --- byte-compiler support for inlining
 
-;; Copyright (C) 1992, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>
 ;;     Hallvard Furuseth <hbf@ulrik.uio.no>
index 9aa230cfe9b12320071823277c8c555397566ee7..80e380f07ead93423c6361a7b1a60df8d3f362bb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bytecomp.el --- compilation of Lisp code into byte code -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1987, 1992, 1994, 1998, 2000-2011
+;; Copyright (C) 1985-1987, 1992, 1994, 1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>
@@ -1745,7 +1745,9 @@ The value is non-nil if there were no errors, nil if errors."
              (enable-local-eval nil))
        ;; Arg of t means don't alter enable-local-variables.
         (normal-mode t)
-        (setq filename buffer-file-name))
+        ;; There may be a file local variable setting (bug#10419).
+        (setq buffer-read-only nil
+              filename buffer-file-name))
       ;; Set the default directory, in case an eval-when-compile uses it.
       (setq default-directory (file-name-directory filename)))
     ;; Check if the file's local variables explicitly specify not to
@@ -1779,37 +1781,37 @@ The value is non-nil if there were no errors, nil if errors."
        (with-current-buffer output-buffer
          (goto-char (point-max))
          (insert "\n")                 ; aaah, unix.
-           (if (file-writable-p target-file)
-               ;; We must disable any code conversion here.
-               (let* ((coding-system-for-write 'no-conversion)
-                      ;; Write to a tempfile so that if another Emacs
-                      ;; process is trying to load target-file (eg in a
-                      ;; parallel bootstrap), it does not risk getting a
-                      ;; half-finished file.  (Bug#4196)
-                      (tempfile (make-temp-name target-file))
-                      (kill-emacs-hook
-                       (cons (lambda () (ignore-errors (delete-file tempfile)))
-                             kill-emacs-hook)))
-                 (if (memq system-type '(ms-dos 'windows-nt))
-                     (setq buffer-file-type t))
-                 (write-region (point-min) (point-max) tempfile nil 1)
-                 ;; This has the intentional side effect that any
-                 ;; hard-links to target-file continue to
-                 ;; point to the old file (this makes it possible
-                 ;; for installed files to share disk space with
-                 ;; the build tree, without causing problems when
-                 ;; emacs-lisp files in the build tree are
-                 ;; recompiled).  Previously this was accomplished by
-                 ;; deleting target-file before writing it.
-                 (rename-file tempfile target-file t)
-                 (message "Wrote %s" target-file))
-             ;; This is just to give a better error message than write-region
-             (signal 'file-error
-                     (list "Opening output file"
-                           (if (file-exists-p target-file)
-                               "cannot overwrite file"
-                             "directory not writable or nonexistent")
-                           target-file)))
+         (if (file-writable-p target-file)
+             ;; We must disable any code conversion here.
+             (let* ((coding-system-for-write 'no-conversion)
+                    ;; Write to a tempfile so that if another Emacs
+                    ;; process is trying to load target-file (eg in a
+                    ;; parallel bootstrap), it does not risk getting a
+                    ;; half-finished file.  (Bug#4196)
+                    (tempfile (make-temp-name target-file))
+                    (kill-emacs-hook
+                     (cons (lambda () (ignore-errors (delete-file tempfile)))
+                           kill-emacs-hook)))
+               (if (memq system-type '(ms-dos 'windows-nt))
+                   (setq buffer-file-type t))
+               (write-region (point-min) (point-max) tempfile nil 1)
+               ;; This has the intentional side effect that any
+               ;; hard-links to target-file continue to
+               ;; point to the old file (this makes it possible
+               ;; for installed files to share disk space with
+               ;; the build tree, without causing problems when
+               ;; emacs-lisp files in the build tree are
+               ;; recompiled).  Previously this was accomplished by
+               ;; deleting target-file before writing it.
+               (rename-file tempfile target-file t)
+               (message "Wrote %s" target-file))
+           ;; This is just to give a better error message than write-region
+           (signal 'file-error
+                   (list "Opening output file"
+                         (if (file-exists-p target-file)
+                             "cannot overwrite file"
+                           "directory not writable or nonexistent")
+                         target-file)))
          (kill-buffer (current-buffer)))
        (if (and byte-compile-generate-call-tree
                 (or (eq t byte-compile-generate-call-tree)
@@ -2637,7 +2639,7 @@ If FORM is a lambda or a macro, byte-compile it as a function."
                   (setq form (cdr form)))
                 (setq form (car form)))
               (if (and (eq (car-safe form) 'list)
-                        ;; The spec is evaled in callint.c in dynamic-scoping
+                        ;; The spec is evalled in callint.c in dynamic-scoping
                         ;; mode, so just leaving the form unchanged would mean
                         ;; it won't be eval'd in the right mode.
                         (not lexical-binding))
@@ -3725,7 +3727,7 @@ that suppresses all warnings during execution of BODY."
 (defun byte-compile-if (form)
   (byte-compile-form (car (cdr form)))
   ;; Check whether we have `(if (fboundp ...' or `(if (boundp ...'
-  ;; and avoid warnings about the relevent symbols in the consequent.
+  ;; and avoid warnings about the relevant symbols in the consequent.
   (let ((clause (nth 1 form))
        (donetag (byte-compile-make-tag)))
     (if (null (nthcdr 3 form))
index daafd2226ec63920c45dc3c7fe5710580376f5a4..b6b6a78a9bb2a5caf08a6c6854181d53ff977de3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cconv.el --- Closure conversion for statically scoped Emacs lisp. -*- lexical-binding: t; coding: utf-8 -*-
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Igor Kuzmin <kzuminig@iro.umontreal.ca>
 ;; Maintainer: FSF
index e9f2ec546014d48219ddc31feff066fbabc3e962..19766feac5afcc15ad21a0960576d9dd01df0886 100644 (file)
@@ -1,6 +1,6 @@
 ;;; chart.el --- Draw charts (bar charts, etc)
 
-;; Copyright (C) 1996, 1998-1999, 2001, 2004-2005, 2007-2011
+;; Copyright (C) 1996, 1998-1999, 2001, 2004-2005, 2007-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam  <zappo@gnu.org>
index e15920ef0093713f72018c1eb5771f6ee989d619..3135b9b582737f91e89e0c38c1f24f533bf5e56c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; check-declare.el --- Check declare-function statements
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Glenn Morris <rgm@gnu.org>
 ;; Keywords: lisp, tools, maint
index 9b708d4bbd2b29aed34c1fd371fab4c93f36a166..fb14382bfd212c6ca0f75c0ad259dac13911ef6b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; checkdoc.el --- check documentation strings for style requirements
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.6.2
index 8ea58b2e07cb10cf4e96e849b3c0be8d1e4a97f9..9ac5ce7d2f078d20a927f6f81363b8b406ca39fb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl-extra.el --- Common Lisp features, part 2
 
-;; Copyright (C) 1993, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Keywords: extensions
index 81af2030ebe01ce9d6aad0c33f749180486e75de..0a690af572c530026d4f094c6a8eea63f3a20656 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl-indent.el --- enhanced lisp-indent mode
 
-;; Copyright (C) 1987, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@eddie.mit.edu>
 ;; Created: July 1987
index 1cd953d9e18d5235fa2acce0ab72b7d0ea77e39f..5bb86628bb803b47cfa6f253bbb2efc7c747270d 100644 (file)
@@ -10,7 +10,7 @@
 ;;;;;;  ceiling* floor* isqrt lcm gcd cl-progv-before cl-set-frame-visible-p
 ;;;;;;  cl-map-overlays cl-map-intervals cl-map-keymap-recursively
 ;;;;;;  notevery notany every some mapcon mapcan mapl maplist map
-;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "15a5e127e1c9c9c3d1f398963b66cde7")
+;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "c172dda6770ce18b556561481bfefbb2")
 ;;; Generated autoloads from cl-extra.el
 
 (autoload 'coerce "cl-extra" "\
@@ -286,7 +286,7 @@ This also does some trivial optimizations to make the form prettier.
 ;;;;;;  flet progv psetq do-all-symbols do-symbols dotimes dolist
 ;;;;;;  do* do loop return-from return block etypecase typecase ecase
 ;;;;;;  case load-time-value eval-when destructuring-bind function*
-;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "cc8cbd8c86e2facbe61986e992e6c508")
+;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "91b45885535a73dd8015973cb8c988e1")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'gensym "cl-macs" "\
@@ -770,7 +770,7 @@ surrounded by (block NAME ...).
 ;;;;;;  find nsubstitute-if-not nsubstitute-if nsubstitute substitute-if-not
 ;;;;;;  substitute-if substitute delete-duplicates remove-duplicates
 ;;;;;;  delete-if-not delete-if delete* remove-if-not remove-if remove*
-;;;;;;  replace fill reduce) "cl-seq" "cl-seq.el" "df375ddc313f0c1c262cacab5cffd3e4")
+;;;;;;  replace fill reduce) "cl-seq" "cl-seq.el" "99095e49c83af1c8bec0fdcf517b3f95")
 ;;; Generated autoloads from cl-seq.el
 
 (autoload 'reduce "cl-seq" "\
@@ -1048,7 +1048,7 @@ Keywords supported:  :key
 \(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil)
 
 (autoload 'cl-adjoin "cl-seq" "\
-Not documented
+
 
 \(fn CL-ITEM CL-LIST &rest CL-KEYS)" nil nil)
 
index d9531cc5261f1af5fa48da25992b45bc1f005544..4fc71bbbc60072e70f0f687f152ceb745a839ced 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl-macs.el --- Common Lisp macros
 
-;; Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
index 1c5785568355c0de42681f036b96cd25d2319c7f..f1890fbccf66596e339e2e76c1dc3a9279662d6b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl-seq.el --- Common Lisp features, part 3
 
-;; Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
index 3556b6c1ecf9605ee1a41126be49e0579282cd34..dbadf06944f42e3a395aa90f035750c64ea0ca3d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl-specs.el --- Edebug specs for cl.el -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
 ;; Keywords: lisp, tools, maint
 ;; Package: emacs
index 16eb31c120950975264a01d0e388e3f4d434e120..971024fcbba214cf42b673fb5f0a36ecab142ce5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl.el --- Common Lisp extensions for Emacs
 
-;; Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
index 582785a0e909b34ae05fe8c56d2fc1ddb30e5f90..a77998aa6d948247656439e206b149892bfd7b84 100644 (file)
@@ -1,6 +1,6 @@
 ;;; copyright.el --- update the copyright notice in current buffer
 
-;; Copyright (C) 1991-1995, 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991-1995, 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Keywords: maint, tools
index 3848ab7e6eae8fd6b4d31905f06bf3e1087c7e64..87c9b280beab532f0acce7cf8acf1b228fbc417a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; crm.el --- read multiple strings with completion
 
-;; Copyright (C) 1985-1986, 1993-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1993-2012 Free Software Foundation, Inc.
 
 ;; Author: Sen Nagata <sen@eccosys.com>
 ;; Keywords: completion, minibuffer, multiple elements
@@ -143,7 +143,7 @@ nil if none.
 
 The value of FLAG is used to specify the type of completion operation.
 A value of nil specifies `try-completion'.  A value of t specifies
-`all-completions'.  A value of lambda specifes a test for an exact match.
+`all-completions'.  A value of lambda specifies a test for an exact match.
 
 For more information on STRING, PREDICATE, and FLAG, see the Elisp
 Reference sections on 'Programmed Completion' and 'Basic Completion
index e7f9aae1c60657cb4a70aee788a050cc1b2ac9d2..b456d59e8dacf3752d29c6c517f1125309d9d783 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cust-print.el --- handles print-level and print-circle
 
-;; Copyright (C) 1992, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
 ;; Adapted-By: ESR
index d05a518e590282e1b912ce033afb547d811cb6cd..b0813aebef688c59f921a629af413bb013394d65 100644 (file)
@@ -1,6 +1,6 @@
 ;;; debug.el --- debuggers and related commands for Emacs
 
-;; Copyright (C) 1985-1986, 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, tools, maint
index 55ea102ed2a7d4d23cf9a8cbfbcd7f9818e772d6..119479b2c0a28c7e376a63f9c3bd22bc071bbc2d 100644 (file)
@@ -1,7 +1,7 @@
 ;;; derived.el --- allow inheritance of major modes
 ;; (formerly mode-clone.el)
 
-;; Copyright (C) 1993-1994, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: David Megginson (dmeggins@aix1.uottawa.ca)
 ;; Maintainer: FSF
index 2a41e611dc0f6cccb87819aa35593665c3c76163..506a737d36d0c5b1fe551015a1bf770368eabb48 100644 (file)
@@ -1,6 +1,6 @@
 ;;; disass.el --- disassembler for compiled Emacs Lisp code
 
-;; Copyright (C) 1986, 1991, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1991, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Doug Cutting <doug@csli.stanford.edu>
 ;;     Jamie Zawinski <jwz@lucid.com>
index fae4d9adc384323b8120dc2c5063e3d0eb7cb70f..b0bfde8b4b728fa4e960d8edad04f4696531fd3b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; easy-mmode.el --- easy definition for major and minor modes
 
-;; Copyright (C) 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Georges Brun-Cottan <Georges.Brun-Cottan@inria.fr>
 ;; Maintainer: Stefan Monnier <monnier@gnu.org>
index 7957343714607597d479d1e4ce1e16120edd65f4..2ced0e8a46685bccc9bab76d46852f1c49582038 100644 (file)
@@ -1,6 +1,6 @@
 ;;; easymenu.el --- support the easymenu interface for defining a menu
 
-;; Copyright (C) 1994, 1996, 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1996, 1998-2012 Free Software Foundation, Inc.
 
 ;; Keywords: emulations
 ;; Author: Richard Stallman <rms@gnu.org>
index d7cfcfb870a7ad035e04685d62cc6b221f675f81..c241ac710cf6697de618491bdf9a29e32803067b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edebug.el --- a source-level debugger for Emacs Lisp
 
-;; Copyright (C) 1988-1995, 1997, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988-1995, 1997, 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
 ;; Maintainer: FSF
index 278dff0f085707d951803562f463994a280ebdf0..b5600560cddfa682c1f0415742420069c3c48eee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eieio-base.el --- Base classes for EIEIO.
 
-;;; Copyright (C) 2000-2002, 2004-2005, 2007-2011
+;;; Copyright (C) 2000-2002, 2004-2005, 2007-2012
 ;;; Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam  <zappo@gnu.org>
index e8d7bea50fa3dccd1cc4ba37f9b1c0b0cd3bc7cb..b09f6b6a0e95221c5ef9db42d689e155397c34e2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eieio-custom.el -- eieio object customization
 
-;; Copyright (C) 1999-2001, 2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2001, 2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
index 60510e1816c7ff72345a68e903f39eb4e95b5cc9..b7f0deb0ee2bf570c04567cdbcc8ab981663a1bb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eieio-datadebug.el --- EIEIO extensions to the data debugger.
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: OO, lisp
index 8869530dc236f1511b13554c2256ca55dcd11949..10816aaa43c38b7e32a7fad85813726d51cff5f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eieio-opt.el -- eieio optional functions (debug, printing, speedbar)
 
-;; Copyright (C) 1996, 1998-2003, 2005, 2008-2011
+;; Copyright (C) 1996, 1998-2003, 2005, 2008-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
index 4ff3cc01978714012e05822db39d0ca34a16d654..f169e3f0cd20c22132a6ceb3ea9dc80f50a69ec1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eieio-speedbar.el -- Classes for managing speedbar displays.
 
-;; Copyright (C) 1999-2002, 2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2002, 2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 0.2
index 170d3fb0bf8ee2218874be534a689f3130bb5a75..cdf7237b7663f73defe48957688afd202945ce18 100644 (file)
@@ -1,7 +1,7 @@
 ;;; eieio.el --- Enhanced Implementation of Emacs Interpreted Objects
 ;;;              or maybe Eric's Implementation of Emacs Interpreted Objects
 
-;; Copyright (C) 1995-1996, 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Version: 1.3
@@ -3038,7 +3038,7 @@ Optional argument NOESCAPE is passed to `prin1-to-string' when appropriate."
 ;;; Start of automatically extracted autoloads.
 \f
 ;;;### (autoloads (customize-object) "eieio-custom" "eieio-custom.el"
-;;;;;;  "cf1bd64c76a6e6406545e8c5a5530d43")
+;;;;;;  "9cf80224540c52045d515a4c2c833543")
 ;;; Generated autoloads from eieio-custom.el
 
 (autoload 'customize-object "eieio-custom" "\
@@ -3051,7 +3051,7 @@ Optional argument GROUP is the sub-group of slots to display.
 \f
 ;;;### (autoloads (eieio-help-mode-augmentation-maybee eieio-describe-generic
 ;;;;;;  eieio-describe-constructor eieio-describe-class eieio-browse)
-;;;;;;  "eieio-opt" "eieio-opt.el" "4fb6625c3a007438aab4e8e77b6c73c2")
+;;;;;;  "eieio-opt" "eieio-opt.el" "e2814881441ad23759409687502f0ee1")
 ;;; Generated autoloads from eieio-opt.el
 
 (autoload 'eieio-browse "eieio-opt" "\
index 9822b556f34db133f82a4b4fac9cadff931136fb..6e5b8e92fb8e41f4278fe601edc5c82fabc7756a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eldoc.el --- show function arglist or variable docstring in echo area
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman <friedman@splode.com>
 ;; Maintainer: friedman@splode.com
index ce6f8348a6b6f6bb2f859a84cd9000f284306955..5b82cd477f9be19cee31ad18a7267f584ce0aac5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; elint.el --- Lint Emacs Lisp
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Peter Liljenberg <petli@lysator.liu.se>
 ;; Created: May 1997
index b89b6decfc9d79d7c968801496d6f9933fad8a8b..08390327414f8bf603e39dd90770f7aa6cc4aa74 100644 (file)
@@ -1,6 +1,6 @@
 ;;; elp.el --- Emacs Lisp Profiler
 
-;; Copyright (C) 1994-1995, 1997-1998, 2001-2011
+;; Copyright (C) 1994-1995, 1997-1998, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Barry A. Warsaw
index 39d4a4e814a3f056e2eeb0456941ee9f7691fc26..b9e978543497a2d4b696310e836ab70bd1452b8d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ert-x.el --- Staging area for experimental extensions to ERT
 
-;; Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Lennart Borgman (lennart O borgman A gmail O com)
 ;; Author: Christian Ohler <ohler@gnu.org>
index 820519e92d8fd4cf5ad3a35f33d20e254d835444..be8eb77f17080f2d106f15ccf1979894c8757831 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ert.el --- Emacs Lisp Regression Testing
 
-;; Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Christian Ohler <ohler@gnu.org>
 ;; Keywords: lisp, tools
index a71f3c7244c31bb00446444af6ccfa22ce35f417..eed25ecfb859737558bcaedcad201765f842ddcd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer
 
-;; Copyright (C) 1991-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Cederqvist <ceder@lysator.liu.se>
 ;;     Inge Wallin <inge@lysator.liu.se>
index 070faca8d91607ac2e75390effb727b87b1c64cd..d64281d0e81aa2b55651572d63810567de67287c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; find-func.el --- find the definition of the Emacs Lisp function near point
 
-;; Copyright (C) 1997, 1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Jens Petersen <petersen@kurims.kyoto-u.ac.jp>
 ;; Maintainer: petersen@kurims.kyoto-u.ac.jp
index 1de38625243f747f7d05380f79f2752002d136e4..39797fb5433a5b37456361ea3c865647c7ba793c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; find-gc.el --- detect functions that call the garbage collector
 
-;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 
index 7e40fdad35236297ffc796066388bb34708c1978..375704ab6df40cb74ec7ba041b8e6d9a575b29ee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; float-sup.el --- define some constants useful for floating point numbers.
 
-;; Copyright (C) 1985-1987, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 770fe01f91cd9943bd1152174e83ea1f53f3caa9..6667a101865aa446ed0ff5bff766e24f7744db89 100644 (file)
@@ -1,6 +1,6 @@
 ;;; generic.el --- defining simple major modes with comment and font-lock
 ;;
-;; Copyright (C) 1997, 1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012 Free Software Foundation, Inc.
 ;;
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Fri Sep 27 1996
index eca5470fd69599446c9b61ddb1fd266932a86fcb..859b7d32b9ef93ebca13e6567131fb9afe8801b2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gulp.el --- ask for updates for Lisp packages
 
-;; Copyright (C) 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Sam Shteingold <shteingd@math.ucla.edu>
 ;; Maintainer: FSF
index 113f58493646a1192c71bfb699841b4a0fa22076..e10cbdb3b6eef9a0e1c9b4f3559d03a03588e7e2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; helper.el --- utility help package supporting help in electric modes
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
index 4d0cacf4ee17e43ea0360801590411e1f9e8a552..f9a1c5dbf83896ab28e031c86ef429fab01c087f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lisp-mnt.el --- utility functions for Emacs Lisp maintainers
 
-;; Copyright (C) 1992, 1994, 1997, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1997, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: FSF
index 44e87e171d1f9aaa8ccd2d25ba51e35f8f6d55ed..3d581e267587ffe8a9ba7ffeb8e620b251615257 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands
 
-;; Copyright (C) 1985-1986, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1999-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages
index db6a03333d46fc8ca6e06be157a543364aff9146..8c53ad5861257ee955dbd95d445f1f53f0ea0833 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lisp.el --- Lisp editing commands for Emacs
 
-;; Copyright (C) 1985-1986, 1994, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1994, 2000-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages
index ccfdf2e0551c03ef153a4ee8230e0854c5f80cc6..21c351159c297169c0da02c5948ca66a8a6a18f9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; macroexp.el --- Additional macro-expansion support -*- lexical-binding: t -*-
 ;;
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: lisp, compiler, macros
index 6ef26fef89c3b1ff302e28926c677006abc18382..cc4e642daf89f9e8f7b57118e7302ccfc16a593a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; map-ynp.el --- general-purpose boolean question-asker
 
-;; Copyright (C) 1991-1995, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991-1995, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>
 ;; Maintainer: FSF
index cd4b5ee231c57303a7f3e0b3f233167aa1598338..761d27a2e28ca3f3ce2051cc33b5b2fa6989b3fe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; package-x.el --- Package extras
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Tom Tromey <tromey@redhat.com>
 ;; Created: 10 Mar 2007
index a1513039a9813f041a623951923e8547909b822d..881760216c311fc20165622db9c4636494629249 100644 (file)
@@ -1,6 +1,6 @@
 ;;; package.el --- Simple package system for Emacs
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Tom Tromey <tromey@redhat.com>
 ;; Created: 10 Mar 2007
index e6c4ccbbc5046cdf08a897b3528df897a89e3b97..afbc5df85ce5f4dffd2d110d5a5c0a99aa466642 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcase.el --- ML-style pattern-matching macro for Elisp -*- lexical-binding: t -*-
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords:
@@ -363,12 +363,12 @@ MATCH is the pattern that needs to be matched, of the form:
     (dolist (branch rest)
       (let* ((match (car branch))
              (code&vars (cdr branch))
-             (splitted
+             (split
               (pcase--split-match sym splitter match)))
-        (unless (eq (car splitted) :pcase--fail)
-          (push (cons (car splitted) code&vars) then-rest))
-        (unless (eq (cdr splitted) :pcase--fail)
-          (push (cons (cdr splitted) code&vars) else-rest))))
+        (unless (eq (car split) :pcase--fail)
+          (push (cons (car split) code&vars) then-rest))
+        (unless (eq (cdr split) :pcase--fail)
+          (push (cons (cdr split) code&vars) else-rest))))
     (cons (nreverse then-rest) (nreverse else-rest))))
 
 (defun pcase--split-consp (syma symd pat)
@@ -685,7 +685,7 @@ Otherwise, it defers to REST which is a list of branches of the form
       (pcase--if `(,(if (stringp qpat) #'equal #'eq) ,sym ',qpat)
                  (pcase--u1 matches code vars then-rest)
                  (pcase--u else-rest))))
-   (t (error "Unkown QPattern %s" qpat))))
+   (t (error "Unknown QPattern %s" qpat))))
 
 
 (provide 'pcase)
index 2d1b8860a3cbae434508f561faede192bbba26bb..c795d985b7e01912de71791d69c49b1eb10db1cf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pp.el --- pretty printer for Emacs Lisp
 
-;; Copyright (C) 1989, 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Randal Schwartz <merlyn@stonehenge.com>
 ;; Keywords: lisp
index ebbd6ff1fdff84106724a3b8b22ff21038cf4137..c8733202f31d91c5c99c1164d5861f089c65f1f9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; re-builder.el --- building Regexps with visual feedback -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Detlev Zundel <dzu@gnu.org>
 ;; Keywords: matching, lisp, tools
index b538a7a294302c0a707f6ccf3bb60b631ceff467..ac391fed2c28da5ada8d9ea2ea2c282694925f9e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; regexp-opt.el --- generate efficient regexps to match strings
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Marshall <simon@gnu.org>
 ;; Maintainer: FSF
index 6905589e5bea6c539c87b4e48219a7dbe20d0802..a68c67246ff5a4502c874aa77f880c1cb87acb59 100644 (file)
@@ -1,6 +1,6 @@
 ;;; regi.el --- REGular expression Interpreting engine
 
-;; Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: 1993 Barry A. Warsaw, Century Computing, Inc. <bwarsaw@cen.com>
 ;; Maintainer:    bwarsaw@cen.com
index affaa9ce32e9652ef100fd8f2519285546f8c021..4b07de523c3088c2a4e5ccb06c121c2714ab8819 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ring.el --- handle rings of items
 
-;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: extensions
index 2e388d2011490e9b0df44cc036074c7315debee5..c246d0235f6ca2d389221e6376e706eff4b8a6c0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rx.el --- sexp notation for regular expressions
 
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Maintainer: FSF
index d5bba20b1cd0fa48d7f7e53d7848988ab5ac61fa..286c4937b5b0011302481f439b1218d097b756dc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; shadow.el --- locate Emacs Lisp file shadowings
 
-;; Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Terry Jones <terry@santafe.edu>
 ;; Keywords: lisp
index afc8c7faa4778f9ca0bc43fd9f6be5e40afe43c7..4596052766fbdd93bf4043c371feeac744d5a285 100644 (file)
@@ -1,6 +1,6 @@
 ;;; smie.el --- Simple Minded Indentation Engine -*- lexical-binding: t -*-
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: languages, lisp, internal, parsing, indentation
index 85fa4772eb68b1a658e75948fd64fe82c64eb1e6..611a766922abc07f9c16ae5449a28eeb945e85dc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; syntax.el --- helper functions to find syntactic context
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 32ec2bbf7ee54e300b28a38a525f39892d319a94..486635f7091905cd49d89a536f3b4081bba34309 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tabulated-list.el --- generic major mode for tabulated lists.
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Chong Yidong <cyd@stupidchicken.com>
 ;; Keywords: extensions, lisp
index b91b96b83e5bb41cf4b880b567c3c9118e0b8154..79251bfd6e1d8fd82c73ed2667d007975fadc846 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; testcover-ses.el -- Example use of `testcover' to test "SES"
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Jonathan Yavner <jyavner@engineer.com>
 ;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
index 7144138445ca46e5a9c09a925142c1fd9dfb9e76..2de6e6c5bc00925a7d4c77ee71bd38f389316379 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; testcover-unsafep.el -- Use testcover to test unsafep's code coverage
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Jonathan Yavner <jyavner@engineer.com>
 ;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
index a5a6f71d79e3b5c0db2c4db67b2f8917b11e0095..3999529f7ac1522a8f6e3d70c6d42f632861ece7 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; testcover.el -- Visual code-coverage tool
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Jonathan Yavner <jyavner@member.fsf.org>
 ;; Maintainer: Jonathan Yavner <jyavner@member.fsf.org>
index 706c6fd0ba3a812c00c30a94fb9446af3731ffaa..b6b7c266263e115736aad397868159f389f209c0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; timer.el --- run a function with args at some time in future
 
-;; Copyright (C) 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Package: emacs
index 3d3b371ad5c8308557357e0f724183d1c3ae6ab0..0d13a3caed0627a0c1d82c68f2460fa9498c5446 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tq.el --- utility to maintain a transaction queue
 
-;; Copyright (C) 1985-1987, 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Scott Draves <spot@cs.cmu.edu>
 ;; Maintainer: FSF
index 22c1f0e7ea7e2807a2d29f47524c1b2f73a6b50b..fd66c9364f27e796e930fdd0cc1d505284046b1f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; trace.el --- tracing facility for Emacs Lisp functions
 
-;; Copyright (C) 1993, 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
 ;; Maintainer: FSF
index 0f08d77d4c39a3b7e46368513efb6b814394c065..11256c294d9be70bf985d0d5bdef0f613f8ce2df 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; unsafep.el -- Determine whether a Lisp form is safe to evaluate
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Jonathan Yavner <jyavner@member.fsf.org>
 ;; Maintainer: Jonathan Yavner <jyavner@member.fsf.org>
index 7f3657bbbe638635f47eedfb2eef149c99a71e51..ab35d8f3d8f8323172ca3044b2508b28cc0c8828 100644 (file)
@@ -1,6 +1,6 @@
 ;;; warnings.el --- log and display warnings
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index f2c93473015e34ee0eb3775882af1595454b4cd3..252b167c446bca437bda15b41d2d4784cdb89c15 100644 (file)
@@ -1,6 +1,6 @@
 ;;; emacs-lock.el --- protect buffers against killing or exiting -*- lexical-binding: t -*-
 
-;; Copyright (C) 2011 Free Software Foundation, Inc
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc
 
 ;; Author: Juanma Barranquero <lekktu@gmail.com>
 ;; Inspired by emacs-lock.el by Tom Wurgler <twurgler@goodyear.com>
index 71e607140de8fbf93507f0d587dfc9d3868b5219..087a7e2898d6fc0d9dbd1bc3ed2a592902e50898 100644 (file)
@@ -1,6 +1,6 @@
 ;;; crisp.el --- CRiSP/Brief Emacs emulator
 
-;; Copyright (C) 1997-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM>
 ;; Keywords: emulations brief crisp
index b17fa6b1471d432d796f8fbb9f7ddd504ea3ef8f..a7cc40cea4b5097888e9aadea7c8ab109a25ce68 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cua-base.el --- emulate CUA key bindings
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard emulations convenience cua
@@ -84,7 +84,7 @@
 
 ;; If you have just replaced a highlighted region with typed text,
 ;; you can repeat the replace with M-v.  This will search forward
-;; for a streach of text identical to the previous contents of the
+;; for a stretch of text identical to the previous contents of the
 ;; region (i.e. the contents of register 0) and replace it with the
 ;; text you typed to replace the original region.  Repeating M-v will
 ;; replace the next matching region and so on.
index b6a3a977909f157c9bd6d760a0070f54f065350f..408d90618aa0238b2f81ba716f18b422af28f810 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cua-gmrk.el --- CUA unified global mark support
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard emulations convenience cua mark
index 00aec2d0bf96a5d2438977231c5229ea1d5140b0..95b77a697f1d54e1def1cc88386078ecfa77ca47 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cua-rect.el --- CUA unified rectangle support
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard emulations convenience CUA
index 6132b455faf4810901497e6fc8761262671a464e..987e1aa72e98f91b81df193bb633a5e572aee025 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edt-lk201.el --- enhanced EDT keypad mode emulation for LK-201 keyboards
 
-;; Copyright (C) 1986, 1992-1993, 1995, 2001-2011
+;; Copyright (C) 1986, 1992-1993, 1995, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
index e58656d7941898d56a4eb058e4625f5cb6872527..7fc24773b9ea15c04b19a2bb1dd17a18213f2f04 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edt-mapper.el --- create an EDT LK-201 map file for X-Windows Emacs
 
-;; Copyright (C) 1994-1995, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
index a51ecd34045d74a454401463870d565e453fbeb3..75dc81ea90d005a9167db9446c207011447b048e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edt-pc.el --- enhanced EDT keypad mode emulation for PC 101 keyboards
 
-;; Copyright (C) 1986, 1994-1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1994-1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
index 1dca1f19dfc7e3f6ec7980fa4f3a7e6f6008a069..25bdfe55064f2a6b7f073435e15762d31f596091 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edt-vt100.el --- enhanced EDT keypad mode emulation for VT series terminals
 
-;; Copyright (C) 1986, 1992-1993, 1995, 2002-2011
+;; Copyright (C) 1986, 1992-1993, 1995, 2002-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
index acdc3caa4490bedcc5575b8b356e487d274b9eb4..fbb2359ca1fc4ef65a78bccd056060e798e2af6b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; edt.el --- enhanced EDT keypad mode emulation for GNU Emacs
 
-;; Copyright (C) 1986, 1992-1995, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1992-1995, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
index 0156e54f90fd4b4c9d693005de7641c068798ba6..a49ba33f158767f96f0d65cf8f86838b1557a32e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; keypad.el --- simplified keypad bindings
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard convenience
index e2ad5d81d27a5e1c0c71bbf60a06e78ee2d515b7..6df8801e6b435686a378a29472d12f2de4bad75d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT
 
-;; Copyright (C) 1993-1995, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
@@ -2437,7 +2437,7 @@ If FILE is nil, try to load a default file.  The default file names are
 
 \f
 ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins
-;;;;;;  tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "0d2f0cd1c728d2eb9028a6e01b1a5df1")
+;;;;;;  tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "512b5771d29a538e69567644413951a8")
 ;;; Generated autoloads from tpu-extras.el
 
 (autoload 'tpu-cursor-free-mode "tpu-extras" "\
index 235b16e92b1b5c9f7dc116799b45cb4b6feccd62..53f617d88216966b4323937c70c2083a0d427ecb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tpu-extras.el --- scroll margins and free cursor mode for TPU-edt
 
-;; Copyright (C) 1993-1995, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
index 15417a137f86f93fa0089c38a5ac0a4cfc9b46fe..ef4e9b305fc0c0da426436507a0e92437fcaedf2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tpu-mapper.el --- create a TPU-edt X-windows keymap file
 
-;; Copyright (C) 1993-1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
index 1298e5424ac88ce7b5f1bd8f000b8b1a223df0a8..29020a4bdf51fe35d68eb9d71174bae6c34e1b98 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vip.el --- a VI Package for GNU Emacs
 
-;; Copyright (C) 1986-1988, 1992-1993, 1998, 2001-2011
+;; Copyright (C) 1986-1988, 1992-1993, 1998, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Masahiko Sato <ms@sail.stanford.edu>
index b6d487704f4f53e1155791a5add86e68871d88e1..503fd2c66d5397dff6a0bf368f695aafacdd336b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-cmd.el --- Vi command support for Viper
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
@@ -4397,7 +4397,7 @@ cursor move past the beginning of line."
 
 (defun viper-query-replace ()
   "Query replace.
-If a null string is suplied as the string to be replaced,
+If a null string is supplied as the string to be replaced,
 the query replace mode will toggle between string replace
 and regexp replace."
   (interactive)
index 3e21e77a77bfdd34015170e92a9b71d95e0d9ff9..3d538f1bd0d12ea10823b80f40f74ff1172562b9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-ex.el --- functions implementing the Ex commands for Viper
 
-;; Copyright (C) 1994-1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
index 2fc8dc599cb77b599665b305a1e21fa99863dd30..f8ab5a1f80530a5c22d8d9631064fb675ae62b0d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-init.el --- some common definitions for Viper
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
index f3bd6bece6eb6d1733d627c10af26d333e2e9e0a..65638dfff3c98d0f8c0cd512012188e2d80fa10b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-keym.el --- Viper keymaps
 
-;; Copyright (C) 1994-1997, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
index 2704bdc5b40f707560d5a4f75b4c4efa0ed4b27b..0b96793deb794ee3f5aaf6b19b8e07f6341e6c3c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-macs.el --- functions implementing keyboard macros for Viper
 
-;; Copyright (C) 1994-1997, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
index a99ffdea55882787bf92fb0bc0e12d34f934e36d..58d8fb45b9298a5439c9528b82354dbc5ab4ae3c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-mous.el --- mouse support for Viper
 
-;; Copyright (C) 1994-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
index fcab8b57c1e86b0ebd0313e0ed0c82228528cfec..7cba5441c23b71366d12f55ea4213cbd487f7dbc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viper-util.el --- Utilities used by viper.el
 
-;; Copyright (C) 1994-1997, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: viper
index 3704725b8dd25b4681409c5e8667accd898b3c13..d304a247bb8aedc0a897a9579556394f42956bff 100644 (file)
@@ -3,7 +3,7 @@
 ;;              and a venomous VI PERil.
 ;;              Viper Is also a Package for Emacs Rebels.
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Keywords: emulations
index 886b4d6d4c47ab102aab6404aa9fdee106507790..aa8d647ec116365ce259e42b74594f048221a28c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ws-mode.el --- WordStar emulation mode for GNU Emacs
 
-;; Copyright (C) 1991, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Juergen Nickelsen <nickel@cs.tu-berlin.de>
 ;; Version: 0.7
index 5e915eb312696fd0435ed3dbd83e99e4a08b734a..53922b5e26272dccc44a7f41de350fa7f16f9c0a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; env.el --- functions to manipulate environment variables
 
-;; Copyright (C) 1991, 1994, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2000-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: processes, unix
index d51045a5e37633cf26486ce7609863d9639c3ad8..a79b471f06b415791cb746568b6d0af13c92c076 100644 (file)
@@ -1,5 +1,5 @@
 ;;; epa-dired.el --- the EasyPG Assistant, dired extension -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index 4d05563719d04763738df48d1aab75300f59da64..eccdc073970dcbb0aad831e515666b91f54774d4 100644 (file)
@@ -1,5 +1,5 @@
 ;;; epa-file.el --- the EasyPG Assistant, transparent file encryption -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index ea036e836e48b56176296f7294e8392931dd1bf1..ea19d2a66991d155ab8c840d001bba63420a04f1 100644 (file)
@@ -1,5 +1,5 @@
 ;;; epa-hook.el --- preloaded code to enable epa-file.el -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index 9d7542b39804ea3abb7e8b082549a72fb0dd50b6..b63890e4e873f58c1ff8029a84af96993dbcc648 100644 (file)
@@ -1,5 +1,5 @@
 ;;; epa-mail.el --- the EasyPG Assistant, minor-mode for mail composer -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG, mail, message
index 229138bd4552eda98fa62a29a3344f5998b4296f..4ce9aeeee7cdec6767a6f352033a42d51c622f45 100644 (file)
@@ -1,6 +1,6 @@
 ;;; epa.el --- the EasyPG Assistant -*- lexical-binding: t -*-
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index 38f7dbdaa7380b3289f5cf9d568f0e1a69e4168f..fd2468f9a4b429bda498b521153011e03ae1b796 100644 (file)
@@ -1,6 +1,6 @@
 ;;; epg-config.el --- configuration of the EasyPG Library
 
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index 133e76da96c7989666a129df65b067d8190c6e41..3505e183c1fc5102674c88241eda1e233367c671 100644 (file)
@@ -1,5 +1,5 @@
 ;;; epg.el --- the EasyPG Library -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2000, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index 1b67835cb07c5976cf164384c6f67793a76c8e31..d9b1cdf856e7ee6e782f5a83befcb7e048657fa2 100644 (file)
@@ -1,3 +1,13 @@
+2012-01-06  Glenn Morris  <rgm@gnu.org>
+
+       * erc.el (erc-tls): Add autoload cookie.  (Bug#10333)
+
+2011-12-31  Antoine Levitt  <antoine.levitt@gmail.com>
+
+       * erc-goodies.el (erc-scroll-to-bottom): Use post-command-hook
+       rather than window-scroll-functions.  Fixes a bug with word-wrap on
+       a tty.  (Bug#9246)
+
 2011-11-28  Mike Kazantsev  <mk.fraggod@gmail.com>  (tiny change)
 
        * erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Updated regexp to
 
 See ChangeLog.08 for earlier changes.
 
-       Copyright (C) 2009-2011 Free Software Foundation, Inc.
+       Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 2b29acf5a2525080a6cf3203da0c76c4e53b5ff4..da7d0ae52d09adf4f6da5f12404f63c93922f27b 100644 (file)
 
        * erc-speak.el, erc.el: New file.
 
-       Copyright (C) 2001, 2006-2011 Free Software Foundation, Inc.
+       Copyright (C) 2001, 2006-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index d20b6ca35a78c9a5b26b0011e9272f4902c30a87..de76c113320b99f4cc1446d72957a1378cb63901 100644 (file)
@@ -51,7 +51,7 @@
 2002-12-29  Damien Elmes  <erc@repose.cx>
 
        * erc-track.el:
-       * (erc-track-get-active-buffer): remove superflous (+ arg 0)
+       * (erc-track-get-active-buffer): remove superfluous (+ arg 0)
 
 2002-12-29  Alex Schroeder  <alex@gnu.org>
 
 
 See ChangeLog.01 for earlier changes.
 
-       Copyright (C) 2002, 2006-2011 Free Software Foundation, Inc.
+       Copyright (C) 2002, 2006-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 3e687202d38df702418dfe885814bf968a7af3c3..87f30c8965a5f5296faeebc8316258cb30b35bd2 100644 (file)
 
 See ChangeLog.02 for earlier changes.
 
-       Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+       Copyright (C) 2003, 2006-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index ff47372b8e3b5dee2291476a68c622e7562038a4..922fb0c90ddefdd8dd6b6b9e1fad1e6f9fbff6d6 100644 (file)
 
        * erc.el: erc-send-whitespace-lines: New variable.
        (erc-send-current-line): Use erc-send-whitespace-lines.  Also,
-       removed superflous test for empty line in the mapc, since the
+       removed superfluous test for empty line in the mapc, since the
        blank line test should find all.  I do like to be able to send an
        empty line when i want to!
        (erc-send-current-line): Check for point being in input line
 
 See ChangeLog.03 for earlier changes.
 
-       Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+       Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
@@ -2092,4 +2092,3 @@ See ChangeLog.03 for earlier changes.
 ;; Local Variables:
 ;; coding: utf-8
 ;; End:
-
index fd5fde00a4a31376d4727e009e54b737b02ef900..584d9829ee79129e73f22f975745ad81a197d819 100644 (file)
 
 See ChangeLog.04 for earlier changes.
 
-       Copyright (C) 2005-2011 Free Software Foundation, Inc.
+       Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index e3026c96a4daa1a3b8599cd142c672713fc2013e..5465a624bb0c07ea5537250b2aeba00fa34105f2 100644 (file)
 
 See ChangeLog.05 for earlier changes.
 
-       Copyright (C) 2006-2011 Free Software Foundation, Inc.
+       Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index b32155bbce4334184c84854e4f04def52229007c..09886ad4a72ec8d8af9b22e2e013ac3cb0408845 100644 (file)
 
 See ChangeLog.06 for earlier changes.
 
-       Copyright (C) 2007-2011 Free Software Foundation, Inc.
+       Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index feff487fa6ec935dae753210571fad99534e4d59..d0a30163aa3a0ffbfda3921814ae12393582cd47 100644 (file)
 
 See ChangeLog.07 for earlier changes.
 
-       Copyright (C) 2008-2011 Free Software Foundation, Inc.
+       Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 74172b2573f73c4b25308de40570a74863e20514..699c4e20552efc9b646039cc4d61370c19927666 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-autoaway.el --- Provides autoaway for ERC
 
-;; Copyright (C) 2002-2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Jorgen Schaefer <forcer@forcix.cx>
 ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcAutoAway
index 5baa676ab39d418574db9e4f8a58fd01243cf497..2c76b04e3ef32bbb46b413add6494129d221eb0c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-backend.el --- Backend network communication for ERC
 
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Filename: erc-backend.el
 ;; Author: Lawrence Mitchell <wence@gmx.li>
@@ -991,7 +991,7 @@ Hands off to helper functions via `erc-call-hooks'."
   (if (member (erc-response.command parsed-response)
               erc-server-prevent-duplicates)
       (let ((m (erc-response.unparsed parsed-response)))
-        ;; duplicate supression
+        ;; duplicate suppression
         (if (< (or (gethash m erc-server-duplicates) 0)
                (- (erc-current-time) erc-server-duplicate-timeout))
             (erc-call-hooks process parsed-response))
index 7fbbbc317d0b92085823b6bbf95a657d9139cfe7..17b8c457f38b964bc6ec766a4769fb01d4e3e627 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc-button.el --- A way of buttonizing certain things in ERC buffers
 
-;; Copyright (C) 1996-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: irc, button, url, regexp
index 6b76c4246ad833cfd011cc2a9c4159555b8384f2..4f6361ee92352c85472131ac927546553656d2e6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-capab.el --- support for dancer-ircd and hyperion's CAPAB
 
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; 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
index 792c8dd88b3ca392d28bc7cf691b0908aaae1ae3..4057d1eabc2726a7f635bb054b97efe443ce0348 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-compat.el --- ERC compatibility code for XEmacs
 
-;; Copyright (C) 2002-2003, 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; URL: http://www.emacswiki.org/cgi-bin/wiki/ERC
index fce22aadcc4bfd34353312db616904749f37523a..f68b3591fbb0fdc54b1f3153b00f6795abfc1bd7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-dcc.el --- CTCP DCC module for ERC
 
-;; Copyright (C) 1993-1995, 1998, 2002-2004, 2006-2011
+;; Copyright (C) 1993-1995, 1998, 2002-2004, 2006-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Ben A. Mesander <ben@gnu.ai.mit.edu>
index b480d83e2830b4f2e73fe1add558a20a7c4242b2..f40eaa8c5494a5e191d2c73aa97c2212650eaed8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-ezbounce.el ---  Handle EZBounce bouncer commands
 
-;; Copyright (C) 2002, 2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;; Keywords: comm
index 3940cfbc9a49f2fbc20e4b167e1a715f7b461ccd..2422ca10d0ac756dd9fc26e57dd851cae96ae3b1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-fill.el --- Filling IRC messages in various ways
 
-;; Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;;         Mario Lang <mlang@delysid.org>
index b2cf9e356228205b4c1bb2e3c22db319211a0a99..bf74ed7be87fb4f9a322f0efdd1200b5bea6fdae 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc-goodies.el --- Collection of ERC modules
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Jorgen Schaefer <forcer@forcix.cx>
 
@@ -60,7 +60,7 @@ argument to `recenter'."
   ((remove-hook 'erc-mode-hook 'erc-add-scroll-to-bottom)
    (dolist (buffer (erc-buffer-list))
      (with-current-buffer buffer
-       (remove-hook 'window-scroll-functions 'erc-scroll-to-bottom t)))))
+       (remove-hook 'post-command-hook 'erc-scroll-to-bottom t)))))
 
 (defun erc-add-scroll-to-bottom ()
   "A hook function for `erc-mode-hook' to recenter output at bottom of window.
@@ -70,35 +70,29 @@ the value of `erc-input-line-position'.
 
 This works whenever scrolling happens, so it's added to
 `window-scroll-functions' rather than `erc-insert-post-hook'."
-  ;;(make-local-hook 'window-scroll-functions)
-  (add-hook 'window-scroll-functions 'erc-scroll-to-bottom nil t))
+  (add-hook 'post-command-hook 'erc-scroll-to-bottom nil t))
 
-(defun erc-scroll-to-bottom (window display-start)
+(defun erc-scroll-to-bottom ()
   "Recenter WINDOW so that `point' is on the last line.
 
 This is added to `window-scroll-functions' by `erc-add-scroll-to-bottom'.
 
 You can control which line is recentered to by customizing the
-variable `erc-input-line-position'.
-
-DISPLAY-START is ignored."
-  (if (window-live-p window)
+variable `erc-input-line-position'."
       ;; Temporarily bind resize-mini-windows to nil so that users who have it
       ;; set to a non-nil value will not suffer from premature minibuffer
       ;; shrinkage due to the below recenter call.  I have no idea why this
       ;; works, but it solves the problem, and has no negative side effects.
       ;; (Fran Litterio, 2003/01/07)
-      (let ((resize-mini-windows nil))
-        (erc-with-selected-window window
-          (save-restriction
-            (widen)
-            (when (and erc-insert-marker
-                       ;; we're editing a line. Scroll.
-                       (> (point) erc-insert-marker))
-              (save-excursion
-                (goto-char (point-max))
-                (recenter (or erc-input-line-position -1))
-                (sit-for 0))))))))
+  (let ((resize-mini-windows nil))
+    (save-restriction
+      (widen)
+      (when (and erc-insert-marker
+                ;; we're editing a line. Scroll.
+                (> (point) erc-insert-marker))
+       (save-excursion
+         (goto-char (point-max))
+         (recenter (or erc-input-line-position -1)))))))
 
 ;;; Make read only
 (define-erc-module readonly nil
index 9d658eec2f003854154bc570eabb84456d824faa..1a713009c85f5af50d6363ead5c7cb4cc4752d87 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-ibuffer.el --- ibuffer integration with ERC
 
-;; Copyright (C) 2002, 2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm
index 140802deff06de2baddee81d256411beb8b7baa7..aee808c0921564e76ca05244d237983812495cbc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-identd.el --- RFC1413 (identd authentication protocol) server
 
-;; Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Keywords: comm, processes
index 3e6e853ff7051580fdd38e0b7423b2cdecdf63df..53dc9e7abf2300990453bf694d4420715ed14de3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-imenu.el -- Imenu support for ERC
 
-;; Copyright (C) 2001-2002, 2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2002, 2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm
index c158c47ab649b45ec9004694cc72e076f235db66..855dde755421c01aef9d07425abdeb0dd2bbe447 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-join.el --- autojoin channels on connect and reconnects
 
-;; Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Keywords: irc
index 84a4c60816e1390dc23f1fb3c9e944ec308e1786..11384a2588535b6b9d5853d71e38db548a2e6c08 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-lang.el --- provide the LANG command to ERC
 
-;; Copyright (C) 2002, 2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: Alex Schroeder <alex@gnu.org>
index b8eb5a4aa1997e5b57c2bf66c33d9e0c31e9f1f0..f7d33ffbc28016caeb78f2eb1652475495c4a7ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-list.el --- /list support for ERC
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Tom Tromey <tromey@redhat.com>
 ;; Version: 0.1
index f1754afd1ac9d993cc29512a88acf3e4da289a08..9f50a1d117c34ed12d2e920b88182d384a8c9f61 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-log.el --- Logging facilities for ERC.
 
-;; Copyright (C) 2003-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012 Free Software Foundation, Inc.
 
 ;; Author: Lawrence Mitchell <wence@gmx.li>
 ;; Keywords: IRC, chat, client, Internet, logging
index 7e567bd16485bff2576fab857e5757039a539b18..2a61247307f1f32d56c6ccbfbeda61f1f2c84789 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-match.el --- Highlight messages matching certain regexps
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;; Keywords: comm, faces
index ea4ed399a647337f5a91dce3006b8ccb1e1b5080..5d96fc4d48791ae25b37014e7a8f9279e8ad381f 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc-menu.el -- Menu-bar definitions for ERC
 
-;; Copyright (C) 2001-2002, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2002, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm, processes, menu
index d5f4ec48ba9ab5d4a7a9f9f2138a488d3dea9083..44fbc9563d6b8181419facfa28bfbdfbf7515746 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits
 
-;; Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm
index 1f94ef440934d88419b01969c6a8d65f6201e7f6..9a3c562f0a62b4c5c1103e5c456795def54664bd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-networks.el --- IRC networks
 
-;; Copyright (C) 2002, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@lexx.delysid.org>
 ;; Keywords: comm
index 10f6806ec1293d3a7c724d2cf2fda63947e4d379..d1a33405765d31f6c45810dc937da55b6c4cdd8f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-notify.el --- Online status change notification
 
-;; Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@lexx.delysid.org>
 ;; Keywords: comm
index 5776dd6fc1a719e5567ab30796c3e4cc7fb419ea..14c46d08aecc60bc2e12905b206d09b5c9b3ce9d 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc-page.el - CTCP PAGE support for ERC
 
-;; Copyright (C) 2002, 2004, 2006-2011 Free Software Foundation
+;; Copyright (C) 2002, 2004, 2006-2012 Free Software Foundation
 
 ;; This file is part of GNU Emacs.
 
index a390fcfe84da85749c570b11f605e1fbe7ae1d1d..ba27b0374aa39d6207dcfbd524c483378da1dba5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-pcomplete.el --- Provides programmable completion for ERC
 
-;; Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Sacha Chua <sacha@free.net.ph>
 ;; Keywords: comm, convenience
index 4d3ba1e230d4e08e83a2d356ce577a6f11bae12e..04c5885bc3ea5d9b9ad0dcaefc2d62baf08fd7dc 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc-replace.el -- wash and massage messages inserted into the buffer
 
-;; Copyright (C) 2001-2002, 2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2002, 2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;; Maintainer: Mario Lang (mlang@delysid.org)
index 345c636fa79b31ef669b1f060a9173485bc1105e..94af8a092005c712b73b0506aabd17c5e5000fb8 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc-ring.el -- Command history handling for erc using ring.el
 
-;; Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Keywords: comm
index 3acc600b425e92db71976f22916d8bfb6644c9c4..66eb341b47aaa36dfad0f3c59d7026e07541f606 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-services.el --- Identify to NickServ
 
-;; Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 3253aec338655fc18d0eec0f329ea9ed625c648f..569abad2a08a8f45eb2358c4c043b987ff37dbd0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-sound.el --- CTCP SOUND support for ERC
 
-;; Copyright (C) 2002-2003, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2006-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 3d80371cc686ab96813137c076be2e8298d288bb..1e028e226428913ac38e62f65ab4c20b1f5543ff 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-speedbar.el --- Speedbar support for ERC
 
-;; Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Contributor: Eric M. Ludlam <eric@siege-engine.com>
index 5bb3c877dbec1dfc2b0b06108c3e884fb2ddb41b..441e3536e1983725d7b7ac9262d1ffe459f7983f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-spelling.el --- use flyspell in ERC
 
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Jorgen Schaefer <forcer@forcix.cx>
 ;; Keywords: irc
index cfe8616ab6501a0c5a371b22071965e7c2eba360..e02b045ebd2bf2a091b8447ef6da4a162b015264 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-stamp.el --- Timestamping for ERC messages
 
-;; Copyright (C) 2002-2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm, processes, timestamp
index e2e5fa1c4f26b0c881ed68a19bd11f06f4860186..ac899302c3c3707bcde790afe91daff0ab29bd09 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-track.el --- Track modified channel buffers
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm, faces
index 46668508637797a59f0fee777b6297794583693f..6aa4e718d0a19df25fb8fb501a5efc3046e85ab4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-truncate.el --- Functions for truncating ERC buffers
 
-;; Copyright (C) 2003-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;; Keywords: IRC, chat, client, Internet, logging
index f4f75c15206d1ed1cf5731edf74ea66e3cfb6659..98e26dd9af01aaddc5224b9b76d9fac273372a96 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-xdcc.el --- XDCC file-server support for ERC
 
-;; Copyright (C) 2003-2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm, processes
index 0eff33f1e75d97b0338eab79c2103d915a7fcae0..b95d42b154a60284927e64947888ce2eea3cbbf1 100644 (file)
@@ -1,6 +1,6 @@
 ;; erc.el --- An Emacs Internet Relay Chat client
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Alexander L. Belikoff (alexander@belikoff.net)
 ;; Contributors: Sergey Berezin (sergey.berezin@cs.cmu.edu),
@@ -2175,6 +2175,7 @@ be invoked for the values of the other parameters."
 (defalias 'erc-select 'erc)
 (defalias 'erc-ssl 'erc-tls)
 
+;;;###autoload
 (defun erc-tls (&rest r)
   "Interactively select TLS connection parameters and run ERC.
 Arguments are the same as for `erc'."
index 04ba19d407df39853771d2ecdbb65318fdf301d8..d45f918113d7e62be46effbef1425fcb8488d5c2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-alias.el --- creation and management of command aliases
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index ce987f132e3e3dda104fbc5583992dc86c3acf48..a96a3dfe6af94e18578b4d0075809c9cd97953f3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-banner.el --- sample module that displays a login banner
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index df1987e13ee0824ead13a9bbc601a02c457537b5..ece029c39f213b7d3c3ab7ec705f03af248aec67 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-basic.el --- basic shell builtin commands
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index c551684210cd5fa5c10c8022d9c93b7dc116e74d..f997d47f665febd622e353362d4a7f66c65ffb7a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-cmpl.el --- completion using the TAB key
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index cab84951143bd031b99d36aad90f5d3c19ec13bd..992b5bdd77e85801a96e0a26cdb9b61fb1b01615 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-dirs.el --- directory navigation commands
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index df1f7b67e29002572a5ca0da1c3930cde39088d6..623d2c8e193cb4933229591cec3a25e20d7c5aef 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-glob.el --- extended file name globbing
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 5e44e541526fd293c88e112ed016d1ec8bf6a0c6..05097a8deaf80a12d7c66acad596a42c138e7705 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-hist.el --- history list management
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 17dbe3fbaf212c80df8b0fc4dc56140de3404cf3..af60cdc12603c7956b8d49fa4a5900e13032380b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-ls.el --- implementation of ls in Lisp
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index e45b36e35111faab380b42fcd48761fcd91dc200..56b0fdfc9a219e707afb2a0d536de639c37c2b00 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-pred.el --- argument predicates and modifiers (ala zsh)
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 3e87acc6d1ebcf94cba8b948eb3cb3edc064b6ce..3fe9995bb04069d246a93169fd2a882e9459847b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-prompt.el --- command prompts
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index b6f12e1ff2e597293913128e016ba58a1a58da96..243e71d7533f2671e19b75ee654af6133b76611a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-rebind.el --- rebind keys when point is at current input
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index d76e19cdd07127cf8dcaad2cb14137488ccf39e5..8acbc2644bea1cbb2fd26a2bd02f8a6f1a1b1ae5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-script.el --- Eshell script files
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 259072d9750839630bf7e3ae6163bb6ac8592e6b..cdaed9b717cdd1cdfb3719733c5f32fa492bec27 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-smart.el --- smart display of output
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index bd575a0f8094b7209cf175c11f0ee11eab141a29..33c47d1c0ec3c77e5df9729feb40043db3f2b9a0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-term.el --- running visual commands
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 707f2ebc2ced0652c2840b535cf2ea6a3e6bf682..f24180b5c7f25e54d0e672f66e93020504cba52f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-unix.el --- UNIX command aliases
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
@@ -965,6 +965,8 @@ Show wall-clock time elapsed during execution of COMMAND.")
     ((string-match "[^[:blank:]]" string) string)
     (nil)))
 
+(autoload 'diff-no-select "diff")
+
 (defun eshell/diff (&rest args)
   "Alias \"diff\" to call Emacs `diff' function."
   (let ((orig-args (eshell-stringify-list (eshell-flatten-list args))))
@@ -986,8 +988,9 @@ Show wall-clock time elapsed during execution of COMMAND.")
          (setcdr (last args 3) nil))
        (with-current-buffer
            (condition-case err
-               (diff old new
-                     (nil-blank-string (eshell-flatten-and-stringify args)))
+               (diff-no-select
+                old new
+                (nil-blank-string (eshell-flatten-and-stringify args)))
              (error
               (throw 'eshell-replace-command
                      (eshell-parse-command "*diff" orig-args))))
index 50bda108e954b7de4c4713e047747d3c78343c71..4f9b921d5efebad27a29049c6e074713f7aa00b0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; em-xtra.el --- extra alias functions
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index dcb23967645fa3e43fed479b0fca9de0a9a37779..8143f2d65bef1e7e1c5025598721d48876ec726f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-arg.el --- argument processing
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 7b90797eb4345b778840a2c85f98134d9d865b98..6075b56915b16cecabbdbe7217b777ae637027eb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-cmd.el --- command invocation
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 3acbeac0b891d3d85de6e4cb71e026bf1e9f157f..a33ccc82978583d70a8cf4e270acd4ecbd51e4f2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-ext.el --- commands external to Eshell
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 71fae34b360fd4a8dcf15c93e079c54854a11cb5..c8230e0baad9fd63cf97f22b142d1f079b5bfd4f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-io.el --- I/O management
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 43d56a5b89f917974f5c2ff0c815df09492be766..74320538fe9f5d9c80563dfc4566e677986a53b1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-mode.el --- user interface
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 1581d05889edc282b0e9e50e06733b27fa81077b..8875395e1d1d8732e091457ab19ca3cd9df8ba0e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-module.el --- Eshell modules
 
-;; Copyright (C) 1999-2000, 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Keywords: processes
index 91d3cac198a4c9e278da85abe5b12bed68b77ab2..edb115b7f4fd8cf64149ff458deadb3e4fc9beba 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-opt.el --- command options processing
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index eeaccc4b8902d017716efa4d08bf419091fa2cd3..f510f4b5329beabfd9d872ebaf746d21bf2c369f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-proc.el --- process management
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index b508fd5352f0f8188532e98a5c98d1b7e3c08471..f111fd912307c76b61868f31d2604f85ab54661b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-util.el --- general utilities
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 037743964851641b9842cb07846798c08c1881a9..28984c2747dafb9c1e39bb60423a36338982e968 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-var.el --- handling of variables
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 0c1c03941e55fcd891879144ac12bbfc20cbc8bc..e4478aefd6d2506ddc4e951509fbf74c2079bb36 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eshell.el --- the Emacs command shell
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Version: 2.4.2
index beb763217818996d3efe59f4036bd877085a6abe..18f2c39079855116f9cd34dbf8711fae21a0757a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; expand.el --- make abbreviations more usable
 
-;; Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Frederic Lepied <Frederic.Lepied@sugix.frmug.org>
 ;; Maintainer: Frederic Lepied <Frederic.Lepied@sugix.frmug.org>
index d0bbdfb2f8ac8250b0fa46a5fac40a03051f9ca6..346b69d9912b6e92d07622f5b2ba2afe9be9cc00 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ezimage --- Generalized Image management
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: file, tags, tools
index bfd973a299f70d4486b25a8782479e37a8365c32..146cea80a9ebed02c98d9347903262afcab4fa1e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; face-remap.el --- Functions for managing `face-remapping-alist'
 ;;
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: faces, face remapping, display, user commands
index 4f9db02b5e1099b1f4643b73b48898353f008287..e5d14be15dd4241646a2a8aafba1fd73837eb086 100644 (file)
@@ -1,6 +1,6 @@
 ;;; facemenu.el --- create a face menu for interactively adding fonts to text
 
-;; Copyright (C) 1994-1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: faces
index 21193589deb94304f09025024dc34a9c865e47ff..5d406ad7c0bca5c76d5a08fb397f196f51fb1861 100644 (file)
@@ -1,6 +1,6 @@
 ;;; faces.el --- Lisp faces
 
-;; Copyright (C) 1992-1996, 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-1996, 1998-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
@@ -557,9 +557,10 @@ If FACE is a face-alias, get the documentation for the target face."
 (defun set-face-attribute (face frame &rest args)
   "Set attributes of FACE on FRAME from ARGS.
 
-FRAME nil means change attributes on all frames.  FRAME t means change
-the default for new frames (this is done automatically each time an
-attribute is changed on all frames).
+If FRAME is nil this function sets the attributes for all
+existing frames, and the default for new frames.  If FRAME is t,
+change the default for new frames (this is done automatically
+each time an attribute is changed on all frames).
 
 ARGS must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE must be a valid
 face attribute name.  All attributes can be set to `unspecified';
index 74df988332429a09199dc4f94776a5cddda1e4f9..c3797536f193c338da3dc2ed8de13840453adcad 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ffap.el --- find file (or url) at point
 
-;; Copyright (C) 1995-1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Michelangelo Grigni <mic@mathcs.emory.edu>
 ;; Maintainer: FSF
index ef41fb41907fb8c206ba09c9afe8d664c1d1abf5..10e23bddca2847d4e65b0d47e931e64db0e55102 100644 (file)
@@ -1,6 +1,6 @@
 ;;; filecache.el --- find files using a pre-loaded cache
 
-;; Copyright (C) 1996, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Sun Nov 10 1996
index ca8470971848d4939879f2d6634982e748dfcb22..b4a04401a776ae45dc3f4deef530118bdfc642a2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; files-x.el --- extended file handling commands
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Juri Linkov <juri@jurta.org>
 ;; Maintainer: FSF
index 40b6e7d56b4d92221b92720541153d9a0e8cffba..f15c523400dc74460106ce7f6182930e7e5d20d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; files.el --- file input and output commands for Emacs
 
-;; Copyright (C) 1985-1987, 1992-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1992-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Package: emacs
@@ -917,24 +917,41 @@ See `load-file' for a different interface to `load'."
 
 (defun file-remote-p (file &optional identification connected)
   "Test whether FILE specifies a location on a remote system.
-Returns nil or a string identifying the remote connection (ideally
-a prefix of FILE).  For example, the remote identification for filename
-\"/user@host:/foo\" could be \"/user@host:\".
-A file is considered \"remote\" if accessing it is likely to be slower or
-less reliable than accessing local files.
-Furthermore, relative file names do not work across remote connections.
-
-IDENTIFICATION specifies which part of the identification shall
-be returned as string.  IDENTIFICATION can be the symbol
-`method', `user', `host' or `localname'; any other value is
-handled like nil and means to return the complete identification
-string.
-
-If CONNECTED is non-nil, the function returns an identification only
-if FILE is located on a remote system, and a connection is established
-to that remote system.
-
-`file-remote-p' will never open a connection on its own."
+A file is considered remote if accessing it is likely to
+be slower or less reliable than accessing local files.
+
+`file-remote-p' never opens a new remote connection.  It can
+only reuse a connection that is already open.
+
+Return nil or a string identifying the remote connection
+\(ideally a prefix of FILE).  Return nil if FILE is a relative
+file name.
+
+When IDENTIFICATION is nil, the returned string is a complete
+remote identifier: with components method, user, and host.  The
+components are those present in FILE, with defaults filled in for
+any that are missing.
+
+IDENTIFICATION can specify which part of the identification to
+return.  IDENTIFICATION can be the symbol `method', `user',
+`host', or `localname'.  Any other value is handled like nil and
+means to return the complete identification.  The string returned
+for IDENTIFICATION `localname' can differ depending on whether
+there is an existing connection.
+
+If CONNECTED is non-nil, return an identification only if FILE is
+located on a remote system and a connection is established to
+that remote system.
+
+Tip: You can use this expansion of remote identifier components
+     to derive a new remote file name from an existing one.  For
+     example, if FILE is \"/sudo::/path/to/file\" then
+
+       \(concat \(file-remote-p FILE) \"/bin/sh\")
+
+     returns a remote file name for file \"/bin/sh\" that has the
+     same remote identifier as FILE but expanded; a name such as
+     \"/sudo:root@myhost:/bin/sh\"."
   (let ((handler (find-file-name-handler file 'file-remote-p)))
     (if handler
        (funcall handler 'file-remote-p file identification connected)
@@ -3277,7 +3294,7 @@ It is dangerous if either of these conditions are met:
       (and (symbolp (car exp))
           ;; Allow (minor)-modes calls with no arguments.
           ;; This obsoletes the use of "mode:" for such things.  (Bug#8613)
-          (or (and (member (cdr exp) '(nil (1) (-1)))
+          (or (and (member (cdr exp) '(nil (1) (0) (-1)))
                    (string-match "-mode\\'" (symbol-name (car exp))))
               (let ((prop (get (car exp) 'safe-local-eval-function)))
                 (cond ((eq prop t)
@@ -3560,6 +3577,10 @@ and `file-local-variables-alist', without applying them."
            (hack-local-variables-filter variables dir-name)))))))
 
 (defun hack-dir-local-variables-non-file-buffer ()
+  "Apply directory-local variables to a non-file buffer.
+For non-file buffers, such as Dired buffers, directory-local
+variables are looked for in `default-directory' and its parent
+directories."
   (hack-dir-local-variables)
   (hack-local-variables-apply))
 
@@ -6440,12 +6461,14 @@ Otherwise, trash FILENAME using the freedesktop.org conventions,
 
           ;; Ensure that the trash directory exists; otherwise, create it.
           (let ((saved-default-file-modes (default-file-modes)))
-            (set-default-file-modes ?\700)
-            (unless (file-exists-p trash-files-dir)
-              (make-directory trash-files-dir t))
-            (unless (file-exists-p trash-info-dir)
-              (make-directory trash-info-dir t))
-            (set-default-file-modes saved-default-file-modes))
+            (unwind-protect
+                (progn
+                  (set-default-file-modes #o700)
+                  (unless (file-exists-p trash-files-dir)
+                    (make-directory trash-files-dir t))
+                  (unless (file-exists-p trash-info-dir)
+                    (make-directory trash-info-dir t)))
+              (set-default-file-modes saved-default-file-modes)))
 
           ;; Try to move to trash with .trashinfo undo information
           (save-excursion
index 680a107adfec0ef0bed7fb2d184e12c9de2bd080..cecf14753f479c5c0d98530d4905579a8c7093af 100644 (file)
@@ -1,6 +1,6 @@
 ;;; filesets.el --- handle group of files
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Thomas Link <sanobast-emacs@yahoo.de>
 ;; Maintainer: FSF
@@ -453,7 +453,7 @@ will not be rewrapped if their length exceeds this value."
   :group 'filesets)
 
 (defcustom filesets-max-entry-length 50
-  "Truncate names of splitted submenus to this length."
+  "Truncate names of split submenus to this length."
   :set (function filesets-set-default)
   :type 'integer
   :group 'filesets)
index 8b0c1eb522a95ea0b7937cea2485e5d4e78a5b65..6589bac0c6a5d7c641732cebd8e23fe2e272e9b7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; find-cmd.el --- Build a valid find(1) command with sexps
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Philip Jackson <phil@shellarchive.co.uk>
 ;; Version: 0.6
index 491110bc898521243e5c57c40d1dcd05dad11ed5..3fda2153e09d1f1b80ecc952a7a888e2fba754ea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; find-dired.el --- run a `find' command and dired the output
 
-;; Copyright (C) 1992, 1994-1995, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994-1995, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>,
 ;;        Sebastian Kremer <sk@thp.uni-koeln.de>
index e4285523184bc5a1900e0295adc1b3f533bc8955..19fa8283b0613fc79de9c6e98a08d92c45ba8f79 100644 (file)
@@ -4,7 +4,7 @@
 ;; Maintainer: FSF
 ;; Keywords: c, matching, tools
 
-;; Copyright (C) 1994-1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index b89762dc1a8b0a32325bc70846e7d8b844d6d83f..bfe35c0109c56b7e6fb34a31ac2e231b8c5b4fca 100644 (file)
@@ -4,7 +4,7 @@
 ;; Created: Fri Mar 26 1999
 ;; Keywords: unix
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index ae2afba5bbb172b386422f24b7ecd92260f0767a..6ccb4bf9ecd74ba248c575388ede76a0d8b7c894 100644 (file)
@@ -1,6 +1,6 @@
 ;;; finder.el --- topic & keyword-based code finder
 
-;; Copyright (C) 1992, 1997-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1997-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Created: 16 Jun 1992
index a025f0a184c2598cc2f8e1f89825d99fb44a3cba..747a4ca018c382da51c42102e0728f5b8b76e90d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; flow-ctrl.el --- help for lusers on cu(1) or ttys with wired-in ^S/^Q flow control
 
-;; Copyright (C) 1990-1991, 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1991, 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallagher
 ;; Maintainer: FSF
index 4f93b4205b2fb6943f4aa33d6ea0c8fb4693055a..4081bfd282337a4b8b7ee2ead976896904b54e76 100644 (file)
@@ -1,6 +1,6 @@
 ;;; foldout.el --- folding extensions for outline-mode and outline-minor-mode
 
-;; Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Kevin Broadey <KevinB@bartley.demon.co.uk>
 ;; Maintainer: FSF
index ee8be14c6dc0c864b8fa42c75c75b696d8bf70ab..a29f733148c115c1075ca73116f4f233d16b124e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; follow.el --- synchronize windows showing the same buffer
 
-;; Copyright (C) 1995-1997, 1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Anders Lindgren <andersl@andersl.com>
 ;; Maintainer: FSF (Anders' email bounces, Sep 2005)
index a5de29520f71d3729626aec5ca9122a81430b354..f6701c0c79f1171a1a2cd3848b09d717c9b92a31 100644 (file)
@@ -1,6 +1,6 @@
 ;;; font-core.el --- Core interface to font-lock
 
-;; Copyright (C) 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: languages, faces
index c319974fb4112c49c2aa8f14d041afe3b7f8b26a..95bdc815e18393e064efd9346c91a68f5a7ad7ed 100644 (file)
@@ -1,6 +1,6 @@
 ;;; font-lock.el --- Electric font lock mode
 
-;; Copyright (C) 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski
 ;;     Richard Stallman
@@ -294,7 +294,7 @@ If a number, only buffers greater than this size have fontification messages."
 ;; and they give users another mechanism for changing face appearance.
 ;; We now allow a FACENAME in `font-lock-keywords' to be any expression that
 ;; returns a face.  So the easiest thing is to continue using these variables,
-;; rather than sometimes evaling FACENAME and sometimes not.  sm.
+;; rather than sometimes evalling FACENAME and sometimes not.  sm.
 
 ;; Note that in new code, in the vast majority of cases there is no
 ;; need to create variables that specify face names.  Simply using
index 68d57b73db1d715cf31ba812bd9227a114a119cf..1bf9a49fa489ba2ba4482eea3efcb5ba6ba4cd2b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; format-spec.el --- functions for formatting arbitrary formatting strings
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: tools
index 61c68870e08c9b7dfe627ea0130652b5a2ac452a..cfaad623042aef0cd79fa0f052d00dcd99a63932 100644 (file)
@@ -1,6 +1,6 @@
 ;;; format.el --- read and save files in multiple formats
 
-;; Copyright (C) 1994-1995, 1997, 1999, 2001-2011
+;; Copyright (C) 1994-1995, 1997, 1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
index 12cd5d7d5703e92fa358204f7ac0ef2acfabb1c1..7d7336030dbac762b293f840c36ba02130911b2b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; forms-d2.el --- demo forms-mode -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1991, 1994-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994-1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Johan Vromans <jvromans@squirrel.nl>
 ;; Created: 1989
index 0d92dc3ffd9c612dfdd84dd1f6e4f443d2baac65..85270380807c7e1f2e67ef8efcbd6355e17c7ddc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; forms.el --- Forms mode: edit a file as a form to fill in
 
-;; Copyright (C) 1991, 1994-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994-1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Johan Vromans <jvromans@squirrel.nl>
 
index af668f809612ad8d2fefc68c8ceece6562b174f2..842d07abf502e48a4634d00dd61c53f2970bf5c7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; frame.el --- multi-frame management independent of window systems
 
-;; Copyright (C) 1993-1994, 1996-1997, 2000-2011
+;; Copyright (C) 1993-1994, 1996-1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -396,7 +396,7 @@ there (in decreasing order of priority)."
            ;; Finally, get rid of the old frame.
            (delete-frame frame-initial-frame t))
 
-       ;; Otherwise, we don't need all that rigamarole; just apply
+       ;; Otherwise, we don't need all that rigmarole; just apply
        ;; the new parameters.
        (let (newparms allparms tail)
          (setq allparms (append initial-frame-alist
index fa5ebb6f0c675d08cded81b385f5e5df018deb73..70a28bd92f916c1ceb943f793f040ad1a734483f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; fringe.el --- fringe setup and control  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Maintainer: FSF
@@ -30,7 +30,7 @@
 
 ;; The code is influenced by scroll-bar.el and avoid.el.  The author
 ;; gratefully acknowledge comments and suggestions made by Miles
-;; Bader, Eli Zaretski, Richard Stallman, Pavel Janík and others which
+;; Bader, Eli Zaretskii, Richard Stallman, Pavel Janík and others which
 ;; improved this package.
 
 ;;; Code:
index b0ef043940490211bce82a6c166cf55220b0a4a4..cc7963b17111d8f297cc374a40a7c30b8371f123 100644 (file)
@@ -1,6 +1,6 @@
 ;;; generic-x.el --- A collection of generic modes
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Tue Oct 08 1996
index 00b5417fa37f9365b26457b2f3d50f5ecf95ca4b..630184a60c52d822c39f7ac0ee8daa9baa39e94e 100644 (file)
@@ -1,3 +1,144 @@
+2012-01-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * shr.el (shr-visit-file): Move point to the beginning of the buffer
+       after rendering.
+
+2012-01-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-read-group): Document more parameters
+       (bug#9693).
+       (gnus-summary-setup-buffer): Document return value (bug#9697).
+
+       * mm-decode.el (mm-interactively-view-part): Use `completing-read',
+       since ido doesn't work on symbols (bug#9632).
+
+       * gnus.el (gnus-group-fast-parameter): Use the same precedence rules
+       when getting a single value as when getting all the values.  This means
+       that atoms like `gcc-self' work cumulatively, like variable settings,
+       instead of getting the value from the last matching clause.
+       (gnus-group-find-parameter): Protect against the group buffer not
+       existing (bug#9585).
+
+2012-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-start.el (gnus-activate-group): Document more parameters
+       (bug#9694).
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Doc clarification
+       (bug#9692).
+
+       * gnus-agent.el (gnus-agent-store-article): Tell the Agent when the
+       article was fetched, so that it can be expired later (bug#9958).
+       (gnus-agent-summary-fetch-series): Add doc string.
+       (gnus-agent-summary-fetch-group): Don't remove tick and dormant marks
+       (bug#9517).
+
+       * nntp.el (nntp-retrieve-groups): Refuse to do retrieval when an async
+       retrieval is happening.
+
+       * gnus.el (gnus-parameters): Doc fix.
+
+2012-01-06  Dave Abrahams  <dave@boostpro.com>  (tiny change)
+
+       * gnus-sum.el (gnus-summary-refer-thread): If the subtree is hidden,
+       show the thread after expansion.
+
+2012-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (article-narrow-to-head): If the head is completely
+       empty, narrow to the empty region (bug#9764).
+
+       * gnus-sum.el (gnus-summary-mark-article-as-unread): Mark articles as
+       read, and then mark them as unread only when the unread mark is used.
+       This makes `C-- T k' actually work, even though it's confusing.
+
+       * gnus-win.el (gnus-all-windows-visible-p): Ensure that the buffer is
+       alive before we try to find its window.
+
+2012-01-06  Brian Sniffen  <bsniffen@akamai.com>  (tiny change)
+
+       * mm-decode.el (mm-display-external): Use a longer timeout for the
+       deletion to allow slow programs to display the file.
+
+2012-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-article-browse-delete-temp-files): Fix up the
+       prompt to be less confusing.
+
+       * gnus-msg.el (gnus-summary-reply): Do not give a `switch-to-buffer'
+       argument to `message-reply'.  This broke `special-display-*' frame
+       pop-uping (bug#10238).
+
+2012-01-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * starttls.el (starttls-available-p): Return nil on Windows/MS-DOS
+       systems, since these allegedly don't work there.
+
+2012-01-04  Chris Gray  <chrismgray@gmail.com>  (tiny change)
+
+       * mm-decode.el (mm-shr): Check that `gnus-summary-buffer' really is a
+       live buffer.
+
+2012-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnir.el (nnir-retrieve-headers): Protect against the article not
+       existing on the server (bug#10335).
+
+2012-01-04  Wolfgang Jenkner  <wjenkner@inode.at>  (tiny change)
+
+       * gnus-agent.el (gnus-agent-load-local): Recompute
+       gnus-agent-article-local on changing method.
+
+2012-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.el (gnus-parameters): Note precedence.
+
+2012-01-04  Leo  <sdl.web@gmail.com>
+
+       * nndraft.el (nndraft-update-unread-articles): Don't move point around
+       in the group buffer.
+
+2012-01-04  Julien Danjou  <julien@danjou.info>
+
+       * nnimap.el (nnimap-update-info): Fix an error when all articles UIDs
+       change.
+
+2012-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * shr.el (shr-rescale-image): Add :ascent 100 to the rescaled picture,
+       too.
+
+       * nntp.el (nntp-retrieve-group-data-early): Use it.
+
+2012-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nntp.el (nntp-retrieval-in-progress): New variable.
+       (nntp-make-process-buffer): Make it buffer-local.
+
+       * gnus-demon.el (gnus-demon-time-to-step): Resurrect function lost in
+       2010.
+       (gnus-demon-init): Use it to compute the time if time is on the form
+       "04:23".
+
+       * gnus-topic.el (gnus-topic-history): Define `gnus-topic-history'.
+
+       * nnimap.el (nnimap-finish-retrieve-group-infos): Check the connection
+       status in the correct buffer.
+
+2012-01-03  Leo  <sdl.web@gmail.com>
+
+       * gnus-topic.el (gnus-topic-goto-next-group): Don't move point around
+       when opening topics (bug#10407).
+
+2011-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * mm-view.el (mm-display-inline-fontify): Add comment.
+
+2011-12-15  Juri Linkov  <juri@jurta.org>
+
+       * mm-decode.el (mm-inline-media-tests): Add missing
+       `mm-handle-media-subtype'.
+
 2011-12-09  Tassilo Horn  <tassilo@member.fsf.org>
 
        * message.el (message-valid-fqdn-regexp): Update with newly approved
 2010-10-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * nnimap.el (nnimap-request-head): New function.
-       (nnimap-request-move-article): Try to be slighly faster by not
+       (nnimap-request-move-article): Try to be slightly faster by not
        requesting the entire message when moving.
        (nnimap-transform-headers): Don't bug out on bodiless articles.
        (nnimap-send-command): Have no outstanding messages if the IMAP server
        (gnus-agent-cat-groups): Use eval-and-compile, not
        eval-when-compile, to define gnus-agent-set-cat-groups as the setf
        method of gnus-agent-cat-groups even when the buffer has been
-       evaled.
+       evalled.
        (gnus-agent-save-active, gnus-agent-save-active-1): Merge to
        delete gnus-agent-save-active-1.
        (gnus-agent-save-groups): Delete.  Identical to
 
 See ChangeLog.2 for earlier changes.
 
-  Copyright (C) 2004-2011  Free Software Foundation, Inc.
+  Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index a2d6d61efd4c252964a5b620ff99a296b29b191f..f3ba7bca4d4de2c332bda2669f536ad843bbe688 100644 (file)
        * gnus.el: Quassia Gnus v0.1 is released.
 
 
-  Copyright (C) 1997-2011 Free Software Foundation, Inc.
+  Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 893ee88e98d07d34e0097109c524f4fcb79c4706..5a3612c4d1c6a38be4fb0a430204f5352f27c030 100644 (file)
        * pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): New optional
        parameter key, overrides the key id used to store passphrase
        under (uses true key id from gpg output if nil).
-       (pgg-gpg-encrypt-region): Search for passphrase using user suplied
+       (pgg-gpg-encrypt-region): Search for passphrase using user supplied
        string STR, instead of (pgg-lookup-key STR t).
-       (pgg-gpg-encrypt-region): Store passphrase under user suplied
+       (pgg-gpg-encrypt-region): Store passphrase under user supplied
        string, instead of real key id taken from gpg output.
        (pgg-gpg-decrypt-region): Likewise.
        (pgg-gpg-sign-region): Likewise.
 
 2002-07-21  Nevin Kapur  <nevin@jhu.edu>
 
-       * nnmail.el (nnmail-fancy-expiry-target): Treat nonexisting
+       * nnmail.el (nnmail-fancy-expiry-target): Treat nonexistent
        headers as empty headers.
 
 2002-07-21  Jochen Hein  <jochen@jochen.org>
 
 See ChangeLog.1 for earlier changes.
 
-  Copyright (C) 2000-2002, 2004-2011  Free Software Foundation, Inc.
+  Copyright (C) 2000-2002, 2004-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 4269b79a6a7abbbc48f7d73ea5f58d8380277dec..acbc541512f3961b0e6d25d8bdfa2b7ecc80927e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; auth-source.el --- authentication sources for Gnus and Emacs
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: news
index 5727bef37efd9ad47a648a3724844ab394627673..e3ad1ae005f15e4226137e4aaf238446f67be1fb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; canlock.el --- functions for Cancel-Lock feature
 
-;; Copyright (C) 1998-1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Katsumi Yamaoka <yamaoka@jpl.org>
 ;; Keywords: news, cancel-lock, hmac, sha1, rfc2104
index e132f736269d7b63370a81b2562a7efd5826453d..eb125e2099592d82ddfeed28d24bccdc6da9086c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; compface.el --- functions for converting X-Face headers
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 1e2a566f72d0e59c47ca7df677309ae04d2ae8ca..e99644a7c202c06dc1269d04d2b631bfab28e0eb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; deuglify.el --- deuglify broken Outlook (Express) articles
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Raymond Scholz <rscholz@zonix.de>
 ;;         Thomas Steffen
index 5d1c46bc2f686bf89621a321a805ec3936f01b10..eab8e6cdfb47794944767e7d385008d2d428d485 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ecomplete.el --- electric completion of addresses and the like
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: mail
index cdaebbd6837c48cfc3d384fff307a36bbede0667..62e49f8f9ad5b497539686373f6b37a1a7a88960 100644 (file)
@@ -1,6 +1,6 @@
 ;;; flow-fill.el --- interpret RFC2646 "flowed" text
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <jas@pdc.kth.se>
 ;; Keywords: mail
index 3ee72bc5fc6b4aeec0148dc38250002158557a2a..347f34b3228e6ecbcf26218c44ea8ab4e495ae9a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gmm-utils.el --- Utility functions for Gnus, Message and MML
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Reiner Steib <reiner.steib@gmx.de>
 ;; Keywords: news
index bf7f31e6392bcef82a499a98dbf6d1dd0f80e735..70772bb1d0d927dfa9a3536d9f824407b5225810 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-agent.el --- unplugged support for Gnus
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
@@ -1181,6 +1181,7 @@ downloadable."
     (gnus-summary-position-point)))
 
 (defun gnus-agent-summary-fetch-series ()
+  "Fetch the process-marked articles into the Agent."
   (interactive)
   (when gnus-newsgroup-processable
     (setq gnus-newsgroup-downloadable
@@ -1228,8 +1229,9 @@ Optional arg ALL, if non-nil, means to fetch all articles."
             (cond (gnus-agent-mark-unread-after-downloaded
                    (setq gnus-newsgroup-downloadable
                          (delq article gnus-newsgroup-downloadable))
-
-                   (gnus-summary-mark-article article gnus-unread-mark))
+                  (when (and (not (member article gnus-newsgroup-dormant))
+                             (not (member article gnus-newsgroup-marked)))
+                    (gnus-summary-mark-article article gnus-unread-mark)))
                   (was-marked-downloadable
                    (gnus-summary-set-agent-mark article t)))
             (when (gnus-summary-goto-subject article nil t)
@@ -2229,7 +2231,10 @@ doesn't exist, to valid the overview buffer."
 article counts for each of the method's subscribed groups."
   (let ((gnus-command-method (or method gnus-command-method)))
     (when (or (null gnus-agent-article-local-times)
-             (zerop gnus-agent-article-local-times))
+             (zerop gnus-agent-article-local-times)
+             (not (gnus-methods-equal-p
+                   gnus-command-method
+                   (symbol-value (intern "+method" gnus-agent-article-local)))))
       (setq gnus-agent-article-local
            (gnus-cache-file-contents
             (gnus-agent-lib-file "local")
@@ -3885,7 +3890,12 @@ has been fetched."
         (coding-system-for-write gnus-cache-coding-system))
     (when (not (file-exists-p file))
       (gnus-make-directory (file-name-directory file))
-      (write-region (point-min) (point-max) file nil 'silent))))
+      (write-region (point-min) (point-max) file nil 'silent)
+      ;; Tell the Agent when the article was fetched, so that it can
+      ;; be expired later.
+      (gnus-agent-load-alist group)
+      (gnus-agent-save-alist group (list article)
+                            (time-to-days (current-time))))))
 
 (defun gnus-agent-regenerate-group (group &optional reread)
   "Regenerate GROUP.
@@ -4031,7 +4041,7 @@ If REREAD is not nil, downloaded articles are marked as unread."
        ;; gnus-agent-regenerate-group can remove the article ID of every
        ;; article (with the exception of the last ID in the list - it's
        ;; special) that no longer appears in the overview.  In this
-       ;; situtation, the last article ID in the list implies that it,
+       ;; situation, the last article ID in the list implies that it,
        ;; and every article ID preceding it, have been fetched from the
        ;; server.
 
index 555c715bc2f7d853ea3d5baf2a4deea3ca4c56eb..b282afd961c7f4ac7aba06b1d8a9c1504b6d6a5b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-art.el --- article mode commands for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -669,7 +669,7 @@ non-nil.
 If the match is a string, it is used as a regexp match on the
 article.  If the match is a symbol, that symbol will be funcalled
 from the buffer of the article to be saved with the newsgroup as the
-parameter.  If it is a list, it will be evaled in the same buffer.
+parameter.  If it is a list, it will be evalled in the same buffer.
 
 If this form or function returns a string, this string will be used as a
 possible file name; and if it returns a non-nil list, that list will be
@@ -2785,10 +2785,11 @@ summary buffer."
               (or how (setq how gnus-article-browse-delete-temp))
               (if (eq how 'ask)
                   (let ((files (length gnus-article-browse-html-temp-list)))
-                    (gnus-y-or-n-p (format
-                                    "Delete all %s temporary HTML file%s? "
-                                    files
-                                    (if (> files 1) "s" ""))))
+                    (gnus-y-or-n-p
+                     (if (= files 1)
+                         "Delete the temporary HTML file? "
+                       (format "Delete all %s temporary HTML files? "
+                               files))))
                 how)))
     (dolist (file gnus-article-browse-html-temp-list)
       (cond ((file-directory-p file)
@@ -3239,9 +3240,16 @@ always hide."
 Point is left at the beginning of the narrowed-to region."
   (narrow-to-region
    (goto-char (point-min))
-   (if (search-forward "\n\n" nil 1)
-       (1- (point))
-     (point-max)))
+   (cond
+    ;; Absolutely no headers displayed.
+    ((looking-at "\n")
+     (point))
+    ;; Normal headers.
+    ((search-forward "\n\n" nil 1)
+     (1- (point)))
+    ;; Nothing but headers.
+    (t
+     (point-max))))
   (goto-char (point-min)))
 
 (defun article-goto-body ()
index ad85bc5cf76f74f2f457a969c0ee006ce1718b90..378b0e063cbb33edda34a476c1c4e0c77c9276b8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-async.el --- asynchronous support for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index d3fee3538b82750a9bec59b242e9becb2d084797..fdf868d8e213e5355a8d4473fbaec8ab18885d6f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-bcklg.el --- backlog functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index f86c94571a7ea774abacb6acaaa9a7640df52698..9f6654dd12d65c85d4aaf99e9851faf64bd629e2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-bookmark.el --- Bookmarks in Gnus
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Bastien Guerry <bzg AT altern DOT org>
 ;; Keywords: news
index 203368f76e2565e6430cfc7e80226242669a3b0e..3dd236545a1e4af87eed4b9ab8b3047efb6a4e72 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-cache.el --- cache interface for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 7c36311356f906ff02f7a01c932df663c7305c59..c7443446cebdb2e8fb29c1ed0bb1f9c26cab0579 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-cite.el --- parse citations in articles for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Abhiddenware
 
index 98f0426357175e155da45cb29d61cad77232dbe0..234d0f7ae56f2a49b57bf3caecf9f7ea62495c99 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-cus.el --- customization commands for Gnus
 
-;; Copyright (C) 1996, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: news
@@ -922,7 +922,7 @@ will add a new `thread' match for each article that has X in its
 `Message-ID's of these matching articles.)  This will ensure that you
 can raise/lower the score of an entire thread, even though some
 articles in the thread may not have complete `References' headers.
-Note that using this may lead to undeterministic scores of the
+Note that using this may lead to nondeterministic scores of the
 articles in the thread.
 ")
                                     ,@types)
index c632cab422f3365538bd9800e9ab95746d657315..9c27b2c74a9a43f2c1b03aa3d25ef7bf581b3639 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-delay.el --- Delayed posting of articles
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 ;; Keywords: mail, news, extensions
index 419346b7191d22aa91c16599447185486d97c4d5..2f9952241aa85cf02ada2195cf010f68d5024def 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-demon.el --- daemonic Gnus behavior
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -120,8 +120,12 @@ Emacs has been idle for IDLE `gnus-demon-timestep's."
            ;; If t, replace by 1
            (time (cond ((eq time t)
                         gnus-demon-timestep)
-                       ((null time) nil)
-                       (t (* time gnus-demon-timestep))))
+                       ((null time)
+                       nil)
+                      ((stringp time)
+                       (gnus-demon-time-to-step time))
+                       (t
+                       (* time gnus-demon-timestep))))
            (timer
             (cond
              ;; (func number t)
@@ -144,6 +148,38 @@ Emacs has been idle for IDLE `gnus-demon-timestep's."
       (when timer
         (add-to-list 'gnus-demon-timers timer)))))
 
+(defun gnus-demon-time-to-step (time)
+  "Find out how many seconds to TIME, which is on the form \"17:43\"."
+  (let* ((now (current-time))
+        ;; obtain NOW as discrete components -- make a vector for speed
+        (nowParts (decode-time now))
+        ;; obtain THEN as discrete components
+        (thenParts (parse-time-string time))
+        (thenHour (elt thenParts 2))
+        (thenMin (elt thenParts 1))
+        ;; convert time as elements into number of seconds since EPOCH.
+        (then (encode-time 0
+                           thenMin
+                           thenHour
+                           ;; If THEN is earlier than NOW, make it
+                           ;; same time tomorrow.  Doc for encode-time
+                           ;; says that this is OK.
+                           (+ (elt nowParts 3)
+                              (if (or (< thenHour (elt nowParts 2))
+                                      (and (= thenHour (elt nowParts 2))
+                                           (<= thenMin (elt nowParts 1))))
+                                  1 0))
+                           (elt nowParts 4)
+                           (elt nowParts 5)
+                           (elt nowParts 6)
+                           (elt nowParts 7)
+                           (elt nowParts 8)))
+        ;; calculate number of seconds between NOW and THEN
+        (diff (+ (* 65536 (- (car then) (car now)))
+                 (- (cadr then) (cadr now)))))
+    ;; return number of timesteps in the number of seconds
+    (round (/ diff gnus-demon-timestep))))
+
 (gnus-add-shutdown 'gnus-demon-cancel 'gnus)
 
 (defun gnus-demon-cancel ()
index 9f86e74bd991785ca0c0713e43c3d9f45c39e116..854af2f5d76638602661bc2038e50869aa1c2632 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-diary.el --- Wrapper around the NNDiary Gnus back end
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author:        Didier Verna <didier@xemacs.org>
 ;; Maintainer:    Didier Verna <didier@xemacs.org>
index b4d23ff579c5a2a6b37d9b3ee72d933e17e24fac..d341cea34bba775f50089c0870b396dfa49c2179 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-dired.el --- utility functions where gnus and dired meet
 
-;; Copyright (C) 1996-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Authors: Benjamin Rutt <brutt@bloomington.in.us>,
 ;;          Shenghuo Zhu <zsh@cs.rochester.edu>
index 40f5abda4f81a976b6a9734bafea3732019c1ce7..13b3cbb862f48c5a69bbe4d4dd251474dafc97b5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-draft.el --- draft message support for Gnus
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 8db1905ef8bcffa1262c98ecbdedc7dfb26d513d..313a230e83622b48ec1865d737f0468a9918677a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-dup.el --- suppression of duplicate articles in Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 4075e7a76256fe2ad8282f6174eb5daeb1f99ee3..f1a19e2e2d957591161a9263427eae25477625d5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-eform.el --- a mode for editing forms for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 5acc9d117e497780af3b9d91850bbb3888f14504..8b70a7a0989927448bf1fe0d2a1a324f4652b0d4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-ems.el --- functions for making Gnus work under different Emacsen
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 44cb1583ec986de8e0a20acaa5456a26b707af97..1cd5ce5bb1e9e8d521a51cde910d7c5d99061eaf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-fun.el --- various frivolous extension functions to Gnus
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 98b1f3bd18caef48d275a76a455a7a9eff607e11..b6e760b1d0be749b7a38df11791346643baf010e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-gravatar.el --- Gnus Gravatar support
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Julien Danjou <julien@danjou.info>
 ;; Keywords: news
index 694b4d7e8b404f4b0a22a03467ee98270dd3e515..3327bbea5a0013448c0175f2a4e9d86fc18e71d0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-group.el --- group mode commands for Gnus
 
-;; Copyright (C) 1996-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -992,7 +992,7 @@ Setter function for custom variables."
                                 'gnus-group-tool-bar-retro)
   "Specifies the Gnus group tool bar.
 
-It can be either a list or a symbol refering to a list.  See
+It can be either a list or a symbol referring to a list.  See
 `gmm-tool-bar-from-list' for the format of the list.  The
 default key map is `gnus-group-mode-map'.
 
@@ -2277,8 +2277,8 @@ confirmation is required."
                                              number)
   "Read GROUP from METHOD as an ephemeral group.
 If ACTIVATE, request the group first.
-If QUIT-CONFIG, use that window configuration when exiting from the
-ephemeral group.
+If QUIT-CONFIG, use that Gnus window configuration name when
+exiting from the ephemeral group.
 If REQUEST-ONLY, don't actually read the group; just request it.
 If SELECT-ARTICLES, only select those articles.
 If PARAMETERS, use those as the group parameters.
index f443c4021e295cc8764203ae163168c3425de39f..5bbb9e10e04e3b56128903bb8ffd14ebc188f121 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-html.el --- Render HTML in a buffer.
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: html, web
index 2e102634727c4ef791d1811c62fef990b9fe5054..20add470abe1741220af1a2aa58324b16b236c57 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-int.el --- backend interface functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -356,7 +356,7 @@ If it is down, start it up (again)."
           infos data))
 
 (defun gnus-retrieve-group-data-early (gnus-command-method infos)
-  "Start early async retrival of data from GNUS-COMMAND-METHOD."
+  "Start early async retrieval of data from GNUS-COMMAND-METHOD."
   (when (stringp gnus-command-method)
     (setq gnus-command-method (gnus-server-to-method gnus-command-method)))
   (funcall (gnus-get-function gnus-command-method 'retrieve-group-data-early)
@@ -396,7 +396,7 @@ If it is down, start it up (again)."
     result))
 
 (defun gnus-request-compact (gnus-command-method)
-  "Request groups compaction  from GNUS-COMMAND-METHOD."
+  "Request groups compaction from GNUS-COMMAND-METHOD."
   (when (stringp gnus-command-method)
     (setq gnus-command-method (gnus-server-to-method gnus-command-method)))
   (funcall (gnus-get-function gnus-command-method 'request-compact)
index fdbe125ff10b1de8ba0dfd2f99e4e52497deee96..e70b9b8e73acf610dbf6d5449d3642e037423659 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-kill.el --- kill commands for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
index 51b44e6052d49ec86fef81d1100ea48ff42146f7..954295438c953c2500b9c1959a49e52312cc9653 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-logic.el --- advanced scoring code for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 1c9d31ab6c4d754e3af5720901f7f160f649b7dd..874a1dc3bb42aeb45308a3117010a6c01abca41c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-mh.el --- mh-e interface for Gnus
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
index d99680f5924d426366ae88f94d476043708f85f2..d78d6b7a92f030977c5c0ac41bfb0a9b6d361b35 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-ml.el --- Mailing list minor mode for Gnus
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Julien Gilles  <jgilles@free.fr>
 ;; Keywords: news, mail
index ccc145b7e29732f5668129a7ce9bacdc0f098df2..3086e2b8dfa6d17cbf482dedf6fcd27a3decf9cc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-mlspl.el --- a group params-based mail splitting mechanism
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
 ;; Keywords: news, mail
index 58373525f96037d917b0e188c6d0e0e94f22f984..c825c4251bbaf0e2e99b305ffbe964ea6ed65bfe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-msg.el --- mail and post interface for Gnus
 
-;; Copyright (C) 1995-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012  Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -1129,7 +1129,7 @@ If VERY-WIDE, make a very wide reply."
            (insert headers))
          (goto-char (point-max)))
        (mml-quote-region (point) (point-max))
-       (message-reply nil wide 'switch-to-buffer)
+       (message-reply nil wide)
        (when yank
          (gnus-inews-yank-articles yank))
        (gnus-summary-handle-replysign)))))
@@ -1784,7 +1784,7 @@ this is a reply."
                             (and header
                                  (string-match (nth 2 match) header)))))))
                 (t
-                 ;; This is a form to be evaled.
+                 ;; This is a form to be evalled.
                  (eval match)))))
          ;; We have a match, so we set the variables.
          (dolist (attribute style)
index dc6feeec0ab4172225107333bb4620b1e677ef64..69b65dfcb03deb13f829e2da01e34c12db4158d6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-picon.el --- displaying pretty icons in Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news xpm annotation glyph faces
index ce5a837eaef8ac9db17925bf2f94f6e3cf5f1f59..b80f177fb61139d739f3562c5fc1fb67a0639f3d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-range.el --- range and sequence functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index d25b8b1d24b7b7f3cdc6299e3e912c6ada2968e6..9df6dc4ab6fc9dff2d5de22249eb5f02e7141b90 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-registry.el --- article registry for Gnus
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: news registry
index 43a8eba4bed892444ab34ea802a453d335e41cb0..6d165fb72dd7cba862290a6fa5eade28d3b4b024 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-salt.el --- alternate summary mode interfaces for Gnus
 
-;; Copyright (C) 1996-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index d8e424eacc8bfcd651c4b05760e2dddbe77ca1ef..8f06359ace8f28f510b23d7f34656cfa94442dc3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-score.el --- scoring code for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <amanda@iesd.auc.dk>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
index bd7c3a77c366a6cab3a129e97065fe91df93d929..67c8df6e41fdd5fc4072c16dbebfaed97286a1e3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-setup.el --- Initialization & Setup for Gnus 5
 
-;; Copyright (C) 1995-1996, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Steven L. Baur <steve@miranova.com>
 ;; Keywords: news
index 376dd4277a0827c841e8c18cf6679ea17484d912..3f600146cbfc5b134a6d9365beb0db37753ef747 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-sieve.el --- Utilities to manage sieve scripts for Gnus
 
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: NAGY Andras <nagya@inf.elte.hu>,
 ;;     Simon Josefsson <simon@josefsson.org>
index 2345c4fc141aaa4b23c81d9bf0fb081377eee103..e1879202ef354210b70299f7f6eecb9496125448 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-spec.el --- format spec functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -52,7 +52,7 @@ text properties. This is only needed on XEmacs, as Emacs does this anyway."
 (defvar gnus-group-indentation "")
 
 ;; Format specs.  The chunks below are the machine-generated forms
-;; that are to be evaled as the result of the default format strings.
+;; that are to be evalled as the result of the default format strings.
 ;; We write them in here to get them byte-compiled.  That way the
 ;; default actions will be quite fast, while still retaining the full
 ;; flexibility of the user-defined format specs.
@@ -690,7 +690,7 @@ are supported for %s."
                     (not (and (featurep 'xemacs)
                               gnus-use-correct-string-widths)))
            (insert (number-to-string pad-width)))
-         ;; Create the form to be evaled.
+         ;; Create the form to be evalled.
          (if (or max-width cut-width ignore-value
                  (and (featurep 'xemacs)
                       gnus-use-correct-string-widths))
index 2d8587ace3ff5d3260cb9cc1987513f29be4fed3..34a16a21dc50bdb0d13151af7fd4223b84f5e1a1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-srvr.el --- virtual server support for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 3a9294d58d60288c6852e86fffc2ca8d931c239c..07409162ab8f4a2f092cb6b23b88b5a9d15e53e5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-start.el --- startup functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -1451,7 +1451,11 @@ newsgroup."
 (defun gnus-activate-group (group &optional scan dont-check method
                                  dont-sub-check)
   "Check whether a group has been activated or not.
-If SCAN, request a scan of that group as well."
+If SCAN, request a scan of that group as well.  If METHOD, use
+that select method instead of determining the method based on the
+group name.  If DONT-CHECK, don't check check whether the group
+actually exists.  If DONT-SUB-CHECK or DONT-CHECK, don't let the
+backend check whether the group actually exists."
   (let ((method (or method (inline (gnus-find-method-for-group group))))
        active)
     (and (inline (gnus-check-server method))
index 17ccae986e97c05954222789cc51863be17cf88f..878a96b92648826ff0d874760793e97275e1005d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-sum.el --- summary mode commands for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -2835,7 +2835,7 @@ Setter function for custom variables."
                                   'gnus-summary-tool-bar-retro)
   "Specifies the Gnus summary tool bar.
 
-It can be either a list or a symbol refering to a list.  See
+It can be either a list or a symbol referring to a list.  See
 `gmm-tool-bar-from-list' for the format of the list.  The
 default key map is `gnus-summary-mode-map'.
 
@@ -3503,7 +3503,8 @@ display only a single character."
                                               (current-buffer))))))
 
 (defun gnus-summary-setup-buffer (group)
-  "Initialize summary buffer."
+  "Initialize summary buffer.
+If the setup was successful, non-nil is returned."
   (let ((buffer (gnus-summary-buffer-name group))
        (dead-name (concat "*Dead Summary "
                           (gnus-group-decoded-name group) "*")))
@@ -3931,7 +3932,11 @@ Input should look like this: \"Sun, 14 Oct 2001 13:34:39 +0200\"."
   "Start reading news in newsgroup GROUP.
 If SHOW-ALL is non-nil, already read articles are also listed.
 If NO-ARTICLE is non-nil, no article is selected initially.
-If NO-DISPLAY, don't generate a summary buffer."
+If NO-DISPLAY, don't generate the summary buffer contents.
+If KILL-BUFFER, it should be a buffer that's killed once the new
+summary buffer has been generated.
+If BACKWARD, move point to the previous group in the group buffer
+If SELECT-ARTICLES, only select those articles from GROUP."
   (let (result)
     (while (and group
                (null (setq result
@@ -4257,7 +4262,7 @@ If NO-DISPLAY, don't generate a summary buffer."
     result))
 
 (defun gnus-sort-gathered-threads (threads)
-  "Sort subtreads inside each gathered thread by `gnus-sort-gathered-threads-function'."
+  "Sort subthreads inside each gathered thread by `gnus-sort-gathered-threads-function'."
   (let ((result threads))
     (while threads
       (when (stringp (caar threads))
@@ -9032,7 +9037,8 @@ non-numeric or nil fetch the number specified by the
               'gnus-article-sort-by-number)))
       (setq gnus-newsgroup-articles
            (gnus-sorted-nunion gnus-newsgroup-articles (nreverse article-ids)))
-      (gnus-summary-limit-include-thread id))))
+      (gnus-summary-limit-include-thread id)))
+  (gnus-summary-show-thread))
 
 (defun gnus-summary-refer-article (message-id)
   "Fetch an article specified by MESSAGE-ID."
@@ -10886,6 +10892,7 @@ If NO-EXPIRE, auto-expiry will be inhibited."
        (setq gnus-newsgroup-dormant (delq article gnus-newsgroup-dormant))
        (setq gnus-newsgroup-expirable (delq article gnus-newsgroup-expirable))
        (setq gnus-newsgroup-reads (delq article gnus-newsgroup-reads))
+       (setq gnus-newsgroup-unreads (delq article gnus-newsgroup-unreads))
        (cond ((= mark gnus-ticked-mark)
               (setq gnus-newsgroup-marked
                     (gnus-add-to-sorted-list gnus-newsgroup-marked
index fbdacdd2fbe1960797fbbea54fc4ac945bdca7ce..6efd34e1596b50d5a46d9fc52492d70a91cc4cea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-sync.el --- synchronization facility for Gnus
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: news synchronization nntp nnrss
index 87ca27adcf4453f3ab139b6f60aa59590e1f9a6a..0c6c2d36f831b978dc95ace1dd3f254e0f51075a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-topic.el --- a folding minor mode for Gnus group buffers
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Ilja Weis <kult@uni-paderborn.de>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -969,12 +969,15 @@ articles in the topic and its subtopics."
   (if (not group)
       (if (not (memq 'gnus-topic props))
          (goto-char (point-max))
-       (gnus-topic-goto-topic (symbol-name (cadr (memq 'gnus-topic props)))))
+       (let ((topic (symbol-name (cadr (memq 'gnus-topic props)))))
+         (or (gnus-topic-goto-topic topic)
+             (gnus-topic-goto-topic (gnus-topic-next-topic topic)))))
     (if (gnus-group-goto-group group)
        t
       ;; The group is no longer visible.
       (let* ((list (assoc (gnus-group-topic group) gnus-topic-alist))
-            (after (cdr (member group (cdr list)))))
+            (topic-visible (save-excursion (gnus-topic-goto-topic (car list))))
+            (after (and topic-visible (cdr (member group (cdr list))))))
        ;; First try to put point on a group after the current one.
        (while (and after
                    (not (gnus-group-goto-group (car after))))
@@ -989,7 +992,9 @@ articles in the topic and its subtopics."
        (if (not (car list))
            (goto-char (point-min))
          (unless after
-           (gnus-topic-goto-topic (car list))
+           (if topic-visible
+               (gnus-goto-char topic-visible)
+             (gnus-topic-goto-topic (gnus-topic-next-topic (car list))))
            (setq after nil)))
        t))))
 
@@ -1297,6 +1302,8 @@ When used interactively, PARENT will be the topic under point."
 ;;  2. Can't process on several marked groups with a same name,
 ;;     because gnus-group-marked only keeps one copy.
 
+(defvar gnus-topic-history nil)
+
 (defun gnus-topic-move-group (n topic &optional copyp)
   "Move the next N groups to TOPIC.
 If COPYP, copy the groups instead."
index 5530c3d9a34da11778a906a69e478013ab8dc9c0..b94df4df508b1b34197aa09d9a6f3432583b72d3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-undo.el --- minor mode for undoing in Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 14551737837d61ca0a170cff86ee5a92ce0f6746..da899f4bf10bf9fb88364914e429ab98980fdd7c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-util.el --- utility functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 50a3380994633571c3ccf1763eade874aa33b856..717b6162a1b4129622429049d57895216668ee1a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-uu.el --- extract (uu)encoded files in Gnus
 
-;; Copyright (C) 1985-1987, 1993-1998, 2000-2011
+;; Copyright (C) 1985-1987, 1993-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
index 522f03c43c1632c28f7a6d71e1efb955eae4b695..d5028fe6e5b400bab68a7e71231f55733eff1df5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-vm.el --- vm interface for Gnus
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Persson <pp@gnu.ai.mit.edu>
 ;; Keywords: news, mail
index ecd5b3b525b4e454783cb98bb109ce7b59fb7cd8..579210c6138c2b6ceef7671580616b3256260fae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-win.el --- window configuration functions for Gnus
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -242,7 +242,7 @@ See the Gnus manual for an explanation of the syntax used.")
   (let* ((current-window (or (get-buffer-window (current-buffer)) (selected-window)))
          (window (or window current-window)))
     (select-window window)
-    ;; The SPLIT might be something that is to be evaled to
+    ;; The SPLIT might be something that is to be evalled to
     ;; return a new SPLIT.
     (while (and (not (assq (car split) gnus-window-to-buffer))
                (symbolp (car split)) (fboundp (car split)))
@@ -447,7 +447,7 @@ should have point."
       (when (consp (car split))
        (push 1.0 split)
        (push 'vertical split))
-      ;; The SPLIT might be something that is to be evaled to
+      ;; The SPLIT might be something that is to be evalled to
       ;; return a new SPLIT.
       (while (and (not (assq (car split) gnus-window-to-buffer))
                  (symbolp (car split)) (fboundp (car split)))
@@ -464,6 +464,7 @@ should have point."
        (unless buffer
          (error "Invalid buffer type: %s" type))
        (if (and (setq buf (get-buffer (gnus-window-to-buffer-helper buffer)))
+                (buffer-live-p buf)
                 (setq win (gnus-get-buffer-window buf t)))
            (if (memq 'point split)
                (setq all-visible win))
index b1f0f60668e022fd135e6c243e9ed683140c0a14..2d48f515f3e53bdd26f3b51c53eb39abec4d9682 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus.el --- a newsreader for GNU Emacs
 
-;; Copyright (C) 1987-1990, 1993-1998, 2000-2011
+;; Copyright (C) 1987-1990, 1993-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
@@ -3860,13 +3860,14 @@ The function `gnus-group-find-parameter' will do that for you."
          ;; The car is regexp matching for matching the group name.
          (when (string-match (car head) group)
            ;; The cdr is the parameters.
-           (setq result (gnus-group-parameter-value (cdr head)
-                                                    symbol allow-list))
-           (when result
-             ;; Expand if necessary.
-             (if (and (stringp result) (string-match "\\\\[0-9&]" result))
-                 (setq result (gnus-expand-group-parameter (car head)
-                                                           result group))))))
+           (let ((this-result
+                  (gnus-group-parameter-value (cdr head) symbol allow-list t)))
+             (when this-result
+               (setq result (car this-result))
+               ;; Expand if necessary.
+               (if (and (stringp result) (string-match "\\\\[0-9&]" result))
+                   (setq result (gnus-expand-group-parameter
+                                 (car head) result group)))))))
        ;; Done.
        result))))
 
@@ -3876,7 +3877,9 @@ If SYMBOL, return the value of that symbol in the group parameters.
 
 If you call this function inside a loop, consider using the faster
 `gnus-group-fast-parameter' instead."
-  (with-current-buffer gnus-group-buffer
+  (with-current-buffer (if (buffer-live-p gnus-group-buffer)
+                          gnus-group-buffer
+                        (current-buffer))
     (if symbol
        (gnus-group-fast-parameter group symbol allow-list)
       (nconc
index 4b0c9a16283210bd44c1a8a3e7280d91b4dc871d..75e748037436d008ab6a96a25a5e64695edbb62c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gravatar.el --- Get Gravatars
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Julien Danjou <julien@danjou.info>
 ;; Keywords: news
index e96c23b14ac830287f3e8a83bb026f8339f6067e..4bc939247236d21da0a25057ea72cf0b65bd501b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gssapi.el --- GSSAPI/Kerberos 5 interface for Emacs
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;;         Lars Magne Ingebrigtsen <larsi@gnus.org>
index dade86ab174bd2ed24d9d35164b72f46e2feebd3..8c20547806e787164a2a5e05ac4dcfcd62364d8e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; html2text.el --- a simple html to plain text converter
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Joakim Hove <hove@phys.ntnu.no>
 
index 4d99cea760840c3bfc974daf8c1ee7e8b0a280e1..6f5446e1f7ebe190508afff9866b8932def57871 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ietf-drums.el --- Functions for parsing RFC822bis headers
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
index 6c6d119c0c55374b6c371f661448ca5db75b9680..afbebbff79f7607a0d030d1e10b5c8cc0f823023 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-agent.el --- Legacy unplugged support for Gnus
 
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Kevin Greiner <kgreiner@xpediantsolutions.com>
 ;; Keywords: news
index 0fcc206cf7184a44a2c6864584d28639f8042514..646f9ad27b3bbdc9b5a299afe55ce652c988de4d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mail-parse.el --- Interface functions for parsing mail
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
index b87656dab4de19b1fcde8bf2617497d0fdd77899..ebb6cf3245a74fd9c6b69c0fcbec2f9929b319e0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mail-prsvr.el --- Interface variables for parsing mail
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
index 2315cff6261d0e9c13d626b54316cf509e49a6f3..2cd9233db616989673fad11db2ef55404b410f72 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mail-source.el --- functions for fetching mail
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
index cbfa05bb87d066445de48ca841e7d50956779943..d3e80e6daa2df9016f35c885f4f251082491cc16 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mailcap.el --- MIME media types configuration
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: William M. Perry <wmperry@aventail.com>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
index 85c084751f8b19f62aa974d27a1d70c7b3083fa0..5678acc5a2f157b50925683735470fb6515307be 100644 (file)
@@ -1,6 +1,6 @@
 ;;; message.el --- composing mail and news messages
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: mail, news
@@ -4409,7 +4409,7 @@ This function could be useful in `message-setup-hook'."
        ;; A simple function.
        ((functionp action)
        (funcall action))
-       ;; Something to be evaled.
+       ;; Something to be evalled.
        (t
        (eval action))))))
 
@@ -6169,7 +6169,7 @@ If the current line has `message-yank-prefix', insert it on the new line."
 When sending via news, also check that the REFERENCES are less
 than 988 characters long, and if they are not, trim them until
 they are."
-  ;; 21 is the number suggested by USEAGE.
+  ;; 21 is the number suggested by USAGE.
   (let ((maxcount 21)
        (count 0)
        (cut 2)
@@ -7738,7 +7738,7 @@ Setter function for custom variables."
                              'message-tool-bar-retro)
   "Specifies the message mode tool bar.
 
-It can be either a list or a symbol refering to a list.  See
+It can be either a list or a symbol referring to a list.  See
 `gmm-tool-bar-from-list' for the format of the list.  The
 default key map is `message-mode-map'.
 
index c0c5125aeea25929baa1e15bc0a1300f4e11702c..ad81e286847c24c21b23037712c141e91464db19 100644 (file)
@@ -1,6 +1,6 @@
 ;;; messcompat.el --- making message mode compatible with mail mode
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: mail, news
index ee7ba1c193b44754425124ea80f076eb6839ae5d..029218e98e7eb63985db49ce9b9ba900fe47c2fc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-bodies.el --- Functions for decoding MIME things
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
index 44e2af5b904ab811732cfc7463ab8a07ff0c75a2..10e0fa2861ca2b6512c365e164db7c03d07aa8f2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-decode.el --- Functions for decoding MIME things
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
@@ -275,7 +275,7 @@ before the external MIME handler is invoked."
                     (ignore-errors
                       (if (fboundp 'create-image)
                           (create-image (buffer-string) 'imagemagick 'data-p)
-                        (mm-create-image-xemacs type)))))
+                        (mm-create-image-xemacs (mm-handle-media-subtype handle))))))
                (when image
                  (setcar (cdr handle) (list "image/imagemagick"))
                  (mm-image-fit-p handle)))))))
@@ -942,7 +942,7 @@ external if displayed external."
                          ;; In particular, the timer object (which is
                          ;; a vector in Emacs but is a list in XEmacs)
                          ;; requires that it is lexically scoped.
-                         (timer (run-at-time 2.0 nil 'ignore)))
+                         (timer (run-at-time 30.0 nil 'ignore)))
                       (if (featurep 'xemacs)
                           (lambda (process state)
                             (when (eq 'exit (process-status process))
@@ -1353,7 +1353,7 @@ Use CMD as the process."
                  (mailcap-mime-info type 'all)))
         (method (let ((minibuffer-local-completion-map
                        mm-viewer-completion-map))
-                  (gnus-completing-read "Viewer" methods))))
+                  (completing-read "Viewer" methods))))
     (when (string= method "")
       (error "No method given"))
     (if (string-match "^[^% \t]+$" method)
@@ -1724,6 +1724,7 @@ If RECURSIVE, search recursively."
                                      (buffer-string))))))
        shr-inhibit-images shr-blocked-images charset char)
     (if (and (boundp 'gnus-summary-buffer)
+            (bufferp gnus-summary-buffer)
             (buffer-name gnus-summary-buffer))
        (with-current-buffer gnus-summary-buffer
          (setq shr-inhibit-images gnus-inhibit-images
index 0fb0e7a0795d2592c3af35af17e241d1bac7f6ea..c3febb01a0f9130d9dcfcae863a5d29fe6724f9f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-encode.el --- Functions for encoding MIME things
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
index 5f4a9a85fc6be8bcda88964bd475e525ed602eae..277932bf307e7c3d1605da3a018dd577f5925bde 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-extern.el --- showing message/external-body
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: message external-body
index 017b604e9bb6fc47b198e1477313423f93d22999..70722544728cdb7f7baee8abf45bf9f461dd38aa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-partial.el --- showing message/partial
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: message partial
index 2ce3791ef3da66f96fd936f4cbbaab9d4ac34dcb..a0322b00cf344ee44495fa989a5fe3353c3c13c4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-url.el --- a wrapper of url functions/commands for Gnus
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 
index 129609df10d1324dd794341e72e24c81758efc88..e9119284a04f23e9cb51f6392a9f12e37e7b379b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-util.el --- Utility functions for Mule and low level things
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
@@ -424,7 +424,7 @@ corresponding number of an iso-8859 charset."
   ;; Cf. http://thread.gmane.org/v9lkng5nwy.fsf@marauder.physik.uni-ulm.de
   "List of IBM codepage numbers.
 
-The codepage mappings slighly differ between IBM and other vendors.
+The codepage mappings slightly differ between IBM and other vendors.
 See \"ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/IBM/README.TXT\".
 
 If an element is a number corresponding to a supported windows
index 4f7b5ed26b31678a70aba598a44d728a2b08da60..327665bdbbfee4d32d9e20f3e7505679e2c64837 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-uu.el --- Return uu stuff as mm handles
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: postscript uudecode binhex shar forward gnatsweb pgp
index 854ca3497dafa86ec892e7c33d090355c73825d1..18ee3b5047f5c3502b4c57aae4cc46d64b301388 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mm-view.el --- functions for viewing MIME objects
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
@@ -602,6 +602,7 @@ If MODE is not set, try to find mode automatically."
       ;; I find font-lock a bit too verbose.
       (let ((font-lock-verbose nil))
        ;; Disable support modes, e.g., jit-lock, lazy-lock, etc.
+       ;; Note: XEmacs people use `font-lock-mode-hook' to run those modes.
        (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))
index 1c6405b2b3876591fa7cfab8eb336c78344a61c3..ae811afb1a53cf15fb69e4430c19ae9f893bbb0e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mml-sec.el --- A package with security functions for MML documents
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 
index 7a7b3f6d82d0e18c71ed15b561f186c12dc0ec3d..f8e20a0791b97b856cecbf28f4b3d6f17ff22cb8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mml-smime.el --- S/MIME support for MML
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: Gnus, MIME, S/MIME, MML
index 867c3be4b60febe8b0564cfc3ac89432566809e5..a9901d7163ea10362a88259104c2e388bcf59538 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mml.el --- A package for parsing and validating MML documents
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
index 1777a6603198be7f69e71f5baf546f29c1d8edb9..bc62e16edafc723185d24655c57366efbd6a02ca 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mml1991.el --- Old PGP message format (RFC 1991) support for MML
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Sascha Lüdecke <sascha@meta-x.de>,
 ;;     Simon Josefsson <simon@josefsson.org> (Mailcrypt interface, Gnus glue)
index 028955a8c3330eb75c5cac354a8f89d017993f17..78293f617917f0ba17439270e8aa423e0380decd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mml2015.el --- MIME Security with Pretty Good Privacy (PGP)
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: PGP MIME MML
index f6f0d6c14349c79c9d711772bd7b017142227dd5..7650d9e29f7e567bf8aae40f8c95d1aad94fba5f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnagent.el --- offline backend for Gnus
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
index e10620683c9307683fb0ec12d4549374ad5e499c..72450b1f478089162efbf45e0bb86167fe631acb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnbabyl.el --- rmail mbox access for Gnus
 
-;; Copyright (C) 1995-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index 25557ad7119ca7ab5d004683726431daa4fc7f4a..8752972c3c8a7c8561b5831d90a765a52583a8e6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nndiary.el --- A diary back end for Gnus
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author:        Didier Verna <didier@xemacs.org>
 ;; Maintainer:    Didier Verna <didier@xemacs.org>
@@ -71,7 +71,7 @@
 
 ;; * nndiary-get-new-mail, nndiary-mail-source and nndiary-split-methods:
 ;;   NNDiary has some experimental parts, in the sense Gnus normally uses only
-;;   one mail back ends for mail retreival and splitting. This back end is
+;;   one mail back ends for mail retrieval and splitting. This back end is
 ;;   also an attempt to make it behave differently. For Gnus developers: as
 ;;   you can see if you snarf into the code, that was not a very difficult
 ;;   thing to do. Something should be done about the respooling breakage
@@ -224,7 +224,7 @@ The hooks will be called with the article in the current buffer."
 (defvoo nndiary-get-new-mail nil
   "Whether nndiary gets new mail and split it.
 Contrary to traditional mail back ends, this variable can be set to t
-even if your primary mail back end also retreives mail. In such a case,
+even if your primary mail back end also retrieves mail. In such a case,
 NDiary uses its own mail-sources and split-methods.")
 
 (defvoo nndiary-nov-is-evil nil
@@ -1161,7 +1161,7 @@ all.  This may very well take some time.")
 
 (defun nndiary-parse-schedule-value (str min-or-values max)
   ;; Parse the schedule string STR, or signal an error.
-  ;; Signals are caught by `nndary-schedule'.
+  ;; Signals are caught by `nndiary-schedule'.
   (if (string-match "[ \t]*\\*[ \t]*" str)
       ;; unspecified
       nil
@@ -1204,7 +1204,7 @@ all.  This may very well take some time.")
   ;; - Returns nil if `*'
   ;; - Otherwise returns a list of integers and/or ranges (BEG . END)
   ;; The exception is the Timze-Zone value which is always of the form (STR).
-  ;; Signals are caught by `nndary-schedule'.
+  ;; Signals are caught by `nndiary-schedule'.
   (let ((header (format "^X-Diary-%s: \\(.*\\)$" head)))
     (goto-char (point-min))
     (if (not (re-search-forward header nil t))
index 736f37c1fa58502bc278a63277a1cb162c315ec9..1e36229fe80024a5e2b1d5c8323ae3f0d9ec5669 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nndir.el --- single directory newsgroup access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index f900e02eb0894d4d780ab8a5f1a93d49e73bfb0c..38d274d1d932ce633b713d709e85506c36e73cbf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nndoc.el --- single file access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index 0b47062a919384fa4998042d07ffa8d836f9011e..1800d0c02de353ab235f262932e936f0dfbd1a27 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nndraft.el --- draft article access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -181,13 +181,14 @@ are generated if and only if they are also in `message-draft-headers'.")
           (gnus-get-new-news-hook nil)
           (inhibit-read-only t))
       (gnus-group-get-new-news-this-group nil t)
-      (dolist (group groups)
-       (unless (and gnus-permanently-visible-groups
-                    (string-match gnus-permanently-visible-groups
-                                  group))
-         (gnus-group-goto-group group)
-         (when (zerop (gnus-group-group-unread))
-           (gnus-delete-line)))))))
+      (save-excursion
+       (dolist (group groups)
+         (unless (and gnus-permanently-visible-groups
+                      (string-match gnus-permanently-visible-groups
+                                    group))
+           (gnus-group-goto-group group)
+           (when (zerop (gnus-group-group-unread))
+             (gnus-delete-line))))))))
 
 (deffoo nndraft-request-associate-buffer (group)
   "Associate the current buffer with some article in the draft group."
index 7f4fab0a991fb4403beba2f3d1c975e3aac3c093..3b43920852d00e8220a71706a1fce1aa78a7fbc8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nneething.el --- arbitrary file access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index 3ec3041047365974ff2af9d58bb8692548510eb9..89961dc7dad8ab2f50c850d9fea15724609257cb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnfolder.el --- mail folder access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org> (adding MARKS)
 ;;      ShengHuo Zhu <zsh@cs.rochester.edu> (adding NOV)
index 994cefc9d0828601c6beb1d85b61e39cde71c434..f2e6b2e8509fe70275a4b5eaae06c47750ed082c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nngateway.el --- posting news via mail gateways
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
index a8e8e7d08efbd9603b78062a8558ee6a526d7902..f98b34c7714fba1931a6c2aadd818ed2a2472608 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnheader.el --- header access macros for Gnus and its backends
 
-;; Copyright (C) 1987-1990, 1993-1998, 2000-2011
+;; Copyright (C) 1987-1990, 1993-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index b4e6e31fae4b7ad10fe4eb50d2954cccad1864ea..0b0fc918c873753608ff71d37fd0d99e764d6ec2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnimap.el --- IMAP interface for Gnus
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;         Simon Josefsson <simon@josefsson.org>
@@ -1273,11 +1273,11 @@ textual parts.")
 
 (deffoo nnimap-finish-retrieve-group-infos (server infos sequences)
   (when (and sequences
+            (nnimap-possibly-change-group nil server)
             ;; Check that the process is still alive.
             (get-buffer-process (nnimap-buffer))
             (memq (process-status (get-buffer-process (nnimap-buffer)))
-                  '(open run))
-            (nnimap-possibly-change-group nil server))
+                  '(open run)))
     (with-current-buffer (nnimap-buffer)
       ;; Wait for the final data to trickle in.
       (when (nnimap-wait-for-response (if (eq (cadar sequences) 'qresync)
@@ -1332,7 +1332,8 @@ textual parts.")
             (cdr (assq 'uidvalidity (gnus-info-params info)))))
        (and old-uidvalidity
             (not (equal old-uidvalidity uidvalidity))
-            (> start-article 1)))
+             (or (not start-article)
+                 (> start-article 1))))
       (gnus-group-remove-parameter info 'uidvalidity)
       (gnus-group-remove-parameter info 'modseq))
      ;; We have the data needed to update.
@@ -1620,8 +1621,9 @@ textual parts.")
                        (nnimap-command  "UID SEARCH %s" cmd))))
         (when result
           (gnus-fetch-headers
-           (and (car result) (delete 0 (mapcar #'string-to-number
-                                               (cdr (assoc "SEARCH" (cdr result))))))
+           (and (car result)
+               (delete 0 (mapcar #'string-to-number
+                                 (cdr (assoc "SEARCH" (cdr result))))))
            nil t))))))
 
 (defun nnimap-possibly-change-group (group server)
index 3d0fc78dca7b6ec5f28ce15075ce29f0833c46a6..1d4f1c25a098d579a6c0571593f6f3a633274879 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnir.el --- search mail with various search engines -*- coding: iso-8859-1 -*-
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Kai Großjohann <grossjohann@ls6.cs.uni-dortmund.de>
 ;; Swish-e and Swish++ backends by:
@@ -304,7 +304,7 @@ is `(valuefunc member)'."
 ;;; User Customizable Variables:
 
 (defgroup nnir nil
-  "Search groups in Gnus with assorted seach engines."
+  "Search groups in Gnus with assorted search engines."
   :group 'gnus)
 
 (defcustom nnir-ignored-newsgroups ""
@@ -670,7 +670,8 @@ Add an entry here when adding a new search engine.")
          (goto-char (point-min))
          (while (not (eobp))
            (let* ((novitem (funcall parsefunc))
-                  (artno (mail-header-number novitem))
+                  (artno (and novitem
+                              (mail-header-number novitem)))
                   (art (car (rassq artno articleids))))
              (when art
                (mail-header-set-number novitem art)
index 93e8544b633b3688d8900a3af025511650283cb9..9c3a814d3eaf033406310352bac4c7bce6570e09 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnmail.el --- mail support functions for the Gnus mail backends
 
-;; Copyright (C) 1995-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
index 4ad9d11f9069625e42370a52c434cf459fd1057a..1174d148e4518171c1b65f066eccefd1c01bd688 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnmairix.el --- Mairix back end for Gnus, the Emacs newsreader
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: David Engster <dengste@eml.cc>
 ;; Keywords: mail searching
@@ -483,7 +483,7 @@ Other back ends might or might not work.")
               mfolder query threads)))
       ;; Check return value
       (cond
-       ((zerop rval)                   ; call was succesful
+       ((zerop rval)                   ; call was successful
        (nnmairix-call-backend
         "open-server" nnmairix-backend-server)
        ;; If we're dealing with nnml, rename files
index aac5a064a7f7a08ba739439551eb9accb2b64fae..cdb42eb532776305a072e4cf99b923b9128c68c4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnmbox.el --- mail mbox access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index ec270eba2ce70a99c97633e70e407073123c42d6..960b15fd1aa85f9322c202572f164cc8869f8820 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnmh.el --- mhspool access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index 59e06364f4247bb1751dc845b11a4c9c7d7e99bc..acb23ed1693f04dba1e453854b5c1cbe10fedf0c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnml.el --- mail spool access for Gnus
 
-;; Copyright (C) 1995-2011 Free Software
+;; Copyright (C) 1995-2012 Free Software
 ;;   Foundation, Inc.
 
 ;; Authors: Didier Verna <didier@xemacs.org> (adding compaction)
index bbe47fcf5c06829e63581f79462bfac601974a88..12df03c8b260020b93e577314f11c876c1da0f74 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnoo.el --- OO Gnus Backends
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 2001f8f2366b44d1fb7785ba5b4addf33c7c047b..2a6e3f046c6f83be57441186b16a68dc782b3b6e 100644 (file)
@@ -1,7 +1,7 @@
 ;;; nnregistry.el --- access to articles via Gnus' message-id registry
 ;;; -*- coding: utf-8 -*-
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Authors: Ludovic Courtès <ludo@gnu.org>
 ;; Keywords: news, mail
index 3e3b7326f2984bf3e0ab18f9ecf59dd715e61058..d35d7c623a7f5160dfa0d08291f460a4bf15d641 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnrss.el --- interfacing with RSS
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: RSS
index 6c23f41132f4aec719590344ef9ebb04843bf325..2b024e20740920f9864b3ae068849e2fd092bdf3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnspool.el --- spool access for GNU Emacs
 
-;; Copyright (C) 1988-1990, 1993-1998, 2000-2011
+;; Copyright (C) 1988-1990, 1993-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
index f4b8ce66d16a7eb4dfd9d7435caaf341e1d334a4..db9d9e252bef40e4d7c9ddb94a737b8bd69b8c12 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nntp.el --- nntp access for Gnus
 
-;; Copyright (C) 1987-1990, 1992-1998, 2000-2011
+;; Copyright (C) 1987-1990, 1992-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -281,6 +281,7 @@ update their active files often, this can help.")
 
 ;;; Internal variables.
 
+(defvoo nntp-retrieval-in-progress nil)
 (defvar nntp-record-commands nil
   "*If non-nil, nntp will record all commands in the \"*nntp-log*\" buffer.")
 
@@ -770,21 +771,28 @@ command whose response triggered the error."
 (deffoo nntp-retrieve-group-data-early (server infos)
   "Retrieve group info on INFOS."
   (nntp-with-open-group nil server
-    (when (nntp-find-connection-buffer nntp-server-buffer)
-      ;; The first time this is run, this variable is `try'.  So we
-      ;; try.
-      (when (eq nntp-server-list-active-group 'try)
-       (nntp-try-list-active
-        (gnus-group-real-name (gnus-info-group (car infos)))))
-      (with-current-buffer (nntp-find-connection-buffer nntp-server-buffer)
-       (erase-buffer)
-       (let ((nntp-inhibit-erase t)
-             (command (if nntp-server-list-active-group
-                          "LIST ACTIVE" "GROUP")))
-         (dolist (info infos)
-           (nntp-send-command
-            nil command (gnus-group-real-name (gnus-info-group info)))))
-       (length infos)))))
+    (let ((buffer (nntp-find-connection-buffer nntp-server-buffer)))
+      (when (and buffer
+                (with-current-buffer buffer
+                  (not nntp-retrieval-in-progress)))
+       ;; The first time this is run, this variable is `try'.  So we
+       ;; try.
+       (when (eq nntp-server-list-active-group 'try)
+         (nntp-try-list-active
+          (gnus-group-real-name (gnus-info-group (car infos)))))
+       (with-current-buffer buffer
+         (erase-buffer)
+         ;; Mark this buffer as "in use" in case we try to issue two
+         ;; retrievals from the same server.  This shouldn't happen,
+         ;; so this is mostly a sanity check.
+         (setq nntp-retrieval-in-progress t)
+         (let ((nntp-inhibit-erase t)
+               (command (if nntp-server-list-active-group
+                            "LIST ACTIVE" "GROUP")))
+           (dolist (info infos)
+             (nntp-send-command
+              nil command (gnus-group-real-name (gnus-info-group info)))))
+         (length infos))))))
 
 (deffoo nntp-finish-retrieve-group-infos (server infos count)
   (nntp-with-open-group nil server
@@ -794,6 +802,8 @@ command whose response triggered the error."
                   (car infos)))
          (received 0)
          (last-point 1))
+      (with-current-buffer buf
+       (setq nntp-retrieval-in-progress nil))
       (when (and buf
                 count)
        (with-current-buffer buf
@@ -837,7 +847,14 @@ command whose response triggered the error."
   "Retrieve group info on GROUPS."
   (nntp-with-open-group
    nil server
-   (when (nntp-find-connection-buffer nntp-server-buffer)
+   (when (and (nntp-find-connection-buffer nntp-server-buffer)
+             (with-current-buffer
+                 (nntp-find-connection-buffer nntp-server-buffer)
+               (if (not nntp-retrieval-in-progress)
+                   t
+                 (message "Warning: Refusing to do retrieval from %s because a retrieval is already happening"
+                          server)
+                 nil)))
      (catch 'done
        (save-excursion
          ;; Erase nntp-server-buffer before nntp-inhibit-erase.
@@ -1318,6 +1335,7 @@ password contained in '~/.nntp-authinfo'."
     (set (make-local-variable 'nntp-process-to-buffer) nil)
     (set (make-local-variable 'nntp-process-start-point) nil)
     (set (make-local-variable 'nntp-process-decode) nil)
+    (set (make-local-variable 'nntp-retrieval-in-progress) nil)
     (current-buffer)))
 
 (defun nntp-open-connection (buffer)
index ea64c247d99fd440d437cadac87f023ab0a38cdf..edc9fb655a3358dcd296553e41410619a9b02ad8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnvirtual.el --- virtual newsgroups access for Gnus
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: David Moore <dmoore@ucsd.edu>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
index f190bb7cffa50798e8c5fd14cd6a42889478eecc..a171cb35ae405ff164eb2faeec7a132eef2d51c7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nnweb.el --- retrieving articles via web search engines
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 50208cc5b0b24f4ca0c13b72b57450a65fdb0a80..cbd5e2a3b0a8f6ca60eb5cc8c9795a95fa4e16f9 100644 (file)
@@ -1,5 +1,5 @@
 ;;; plstore.el --- secure plist store -*- lexical-binding: t -*-
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: PGP, GnuPG
index 0f7a450b30c204fe94df172b0332a6214aae5ec1..ee4345c2f4fee1f7e268a196779790bb2283ed89 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pop3.el --- Post Office Protocol (RFC 1460) interface
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
 ;; Maintainer: FSF
index 584e24177af365b72d51fc4d4a26322db28f8c06..c8481aa9deee5d8b2a4da17b58dc12b20437ae37 100644 (file)
@@ -1,6 +1,6 @@
 ;;; qp.el --- Quoted-Printable functions
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: mail, extensions
index 5fd309a5c7d2a47380e4fe586ea1bd32606bb1f0..c54fe3e3d712221057c747056f445035eddaf611 100644 (file)
@@ -1,6 +1,6 @@
 ;;; registry.el --- Track and remember data items by various fields
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Teodor Zlatanov <tzz@lifelogs.com>
 ;; Keywords: data
index 019dc6ed8a2e7b322c41f8754fb1639e8fda1832..338a81949ea55d48f73dd96031198cef0da9152a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc1843.el --- HZ (rfc1843) decoding
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: news HZ HZ+ mail i18n
index d9aaf88b046cbb6ec4d8ea06e3f09cc50909b749..783189c65036d09c4d94a000224d03f5221c49d9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc2045.el --- Functions for decoding rfc2045 headers
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
index f1cb1f69e568f765eeea51bb02c43fddc25f31e0..a275df7701b339c8e963032b291412b3f4d9bef3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc2047.el --- functions for encoding and decoding rfc2047 messages
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
index 158cf4bae22aee43bffb915de7954a5f23c428cf..b638da0eb8447c747412a0dfed69a4f69efa4ca6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc2104.el --- RFC2104 Hashed Message Authentication Codes
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <jas@pdc.kth.se>
 ;; Keywords: mail
index 306b67cd7c10b9f83ddbd065de7e1253806464e5..48aa89c975721a897c59afc04ca2975ad0773029 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc2231.el --- Functions for decoding rfc2231 headers
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
@@ -58,7 +58,7 @@ must never cause a Lisp error."
         ;; The most likely cause of an error is unbalanced parentheses
         ;; or double-quotes.  If all parentheses and double-quotes are
         ;; quoted meaninglessly with backslashes, removing them might
-        ;; make it parseable.  Let's try...
+        ;; make it parsable.  Let's try...
         (error
          (let (mod)
            (when (and (string-match "\\\\\"" string)
index 869ca4f0069ae096a0dd6d2c2856d19e25369df5..4894e6da92cca3e1a30345cec9b2d872f87c3ece 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rtree.el --- functions for manipulating range trees
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 
index a7ed6bc0cb827210da0abf2e84f2c3a80f825f88..6035abb38e0e78fbca24d8052d2af30e016a76be 100644 (file)
@@ -1,6 +1,6 @@
 ;;; score-mode.el --- mode for editing Gnus score files
 
-;; Copyright (C) 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
index 4fd35659e0861b2de6fb132197cdab5bcdec552f..e23ab57965e60b676a61f2a0fefd3d0670bb2a3b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; shr-color.el --- Simple HTML Renderer color management
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Julien Danjou <julien@danjou.info>
 ;; Keywords: html
index f2d8f843564065312be784343cdd97940aa8c5a6..969d893c2d4f8ed04fa722f8f76c3f2efb9de0f2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; shr.el --- Simple HTML Renderer
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: html
@@ -134,7 +134,8 @@ cid: URL as the argument.")
   (shr-insert-document
    (with-temp-buffer
      (insert-file-contents file)
-     (libxml-parse-html-region (point-min) (point-max)))))
+     (libxml-parse-html-region (point-min) (point-max))))
+  (goto-char (point-min)))
 
 ;;;###autoload
 (defun shr-insert-document (dom)
@@ -534,33 +535,33 @@ the URL of the image to the kill buffer instead."
     (insert alt)))
 
 (defun shr-rescale-image (data)
-  (if (or (not (fboundp 'imagemagick-types))
-         (not (get-buffer-window (current-buffer))))
-      (create-image data nil t
-                   :ascent 100)
-    (let* ((image (create-image data nil t :ascent 100))
-          (size (image-size image t))
-          (width (car size))
-          (height (cdr size))
-          (edges (window-inside-pixel-edges
-                  (get-buffer-window (current-buffer))))
-          (window-width (truncate (* shr-max-image-proportion
-                                     (- (nth 2 edges) (nth 0 edges)))))
-          (window-height (truncate (* shr-max-image-proportion
-                                      (- (nth 3 edges) (nth 1 edges)))))
-          scaled-image)
-      (when (> height window-height)
-       (setq image (or (create-image data 'imagemagick t
-                                     :height window-height)
-                       image))
-       (setq size (image-size image t)))
-      (when (> (car size) window-width)
-       (setq image (or
-                    (create-image data 'imagemagick t
-                                  :width window-width
-                                  :ascent 100)
-                    image)))
-      image)))
+  (let ((image (create-image data nil t :ascent 100)))
+    (if (or (not (fboundp 'imagemagick-types))
+           (not (get-buffer-window (current-buffer))))
+       image
+      (let* ((size (image-size image t))
+            (width (car size))
+            (height (cdr size))
+            (edges (window-inside-pixel-edges
+                    (get-buffer-window (current-buffer))))
+            (window-width (truncate (* shr-max-image-proportion
+                                       (- (nth 2 edges) (nth 0 edges)))))
+            (window-height (truncate (* shr-max-image-proportion
+                                        (- (nth 3 edges) (nth 1 edges)))))
+            scaled-image)
+       (when (> height window-height)
+         (setq image (or (create-image data 'imagemagick t
+                                       :height window-height
+                                       :ascent 100)
+                         image))
+         (setq size (image-size image t)))
+       (when (> (car size) window-width)
+         (setq image (or
+                      (create-image data 'imagemagick t
+                                    :width window-width
+                                    :ascent 100)
+                      image)))
+       image))))
 
 ;; url-cache-extract autoloads url-cache.
 (declare-function url-cache-create-filename "url-cache" (url))
index a0c1d4f108bf521a6b3501e5062742b896147dc7..4712cab6bffe7916d53ff09320c9e008186f9a02 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sieve-manage.el --- Implementation of the managesieve protocol in elisp
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 
index efd28affacbb7e24189f20f50d65ba0de15064e8..ded51bbb57ee16541f090646f8d72ec554207aae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sieve-mode.el --- Sieve code editing commands for Emacs
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 
index a44a03b6913285aa7d2bbc87a1fd59d5fc4f4544..c047a17b3039551d56ca17b8af4dcc8d02902a5c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sieve.el --- Utilities to manage sieve scripts
 
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 
index cf23deb174bbfa6090030f6a90b9a1f4d35814f6..df4b624ea1593507e878688944b1c63348f7f892 100644 (file)
@@ -1,6 +1,6 @@
 ;;; smiley.el --- displaying smiley faces
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: news mail multimedia
index 3c1f75f3dc9970437f422693da71628c8d91b951..73f4970fcd40f04f0eac9d1da6ce40201e9e12cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; smime.el --- S/MIME support library
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: SMIME X.509 PEM OpenSSL
index 6c94dbdd2c49b944ba5c4cc097e499560009a4f9..bb2827c4ced1adb2b662361e1002bbcf6ceaa982 100644 (file)
@@ -1,6 +1,6 @@
 ;;; spam-report.el --- Reporting spam
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: network, spam, mail, gmane, report
index 8b56c7bd5372b75966a22fbac23d69cf21180e6c..04f90ee038df2f058330ffee117ef6ef61dbc4c9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; spam-stat.el --- detecting spam based on statistics
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Keywords: network
index 88e2037f5e7deaef8649e267efe72ea13fac0d14..087bbb2575fb8595e53c4b4c0bd6c6d7dba77508 100644 (file)
@@ -1,6 +1,6 @@
 ;;; spam-wash.el --- wash spam before analysis
 
-;; Copyright (C) 2004, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Andrew Cohen <cohen@andy.bu.edu>
 ;; Keywords: mail
index 869dbc9bc0e377138b1f05f83085c87cab126db7..3cfbd7dba3552b8742e7be5bf16dc5c7aae98d6e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; spam.el --- Identifying spam
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Maintainer: Ted Zlatanov <tzz@lifelogs.com>
index af9fd42c1277797bd7dcb541dc7544fffa2e775d..2d40365053355a1aede65b63d86a08ce6d1c12c8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; starttls.el --- STARTTLS functions
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Author: Simon Josefsson <simon@josefsson.org>
@@ -297,9 +297,10 @@ GnuTLS requires a port number."
 
 (defun starttls-available-p ()
   "Say whether the STARTTLS programs are available."
-  (executable-find (if starttls-use-gnutls
-                      starttls-gnutls-program
-                    starttls-program)))
+  (and (not (memq system-type '(windows-nt ms-dos)))
+       (executable-find (if starttls-use-gnutls
+                           starttls-gnutls-program
+                         starttls-program))))
 
 (defalias 'starttls-any-program-available 'starttls-available-p)
 (make-obsolete 'starttls-any-program-available 'starttls-available-p
index f362931dcd08395e2ce34b3500c7371c7df79fa7..aeabe7f9ebe1f562fa64434a38d5fc5d17812eb7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; utf7.el --- UTF-7 encoding/decoding for Emacs   -*-coding: iso-8859-1;-*-
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Jon K Hellan <hellan@acm.org>
 ;; Maintainer: bugs@gnus.org
index c21dfbdb438aba88ef4917e0b1ccf31b705c4f60..46f30399b66b026e48469b22241919b2ca1932cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; yenc.el --- elisp native yenc decoder
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Jesper Harder <harder@ifa.au.dk>
 ;; Keywords: yenc news
index b86632f7637643e1459cb4fa637146dba182f9ae..c9e7955078f1c5c2ff6176bea0248c3246d7d7aa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gs.el --- interface to Ghostscript
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index d9012bdcad35a348abd96907ed04d1d36effc736..394768f473411215e9085b6333ddfd8319db2d58 100644 (file)
@@ -1,6 +1,6 @@
 ;;; help-at-pt.el --- local help through the keyboard
 
-;; Copyright (C) 2003-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012 Free Software Foundation, Inc.
 
 ;; Author: Luc Teirlinck <teirllm@auburn.edu>
 ;; Keywords: help
index efdc237d11ff1ec92909fd78f3a8ba2f382c67f5..183253878f5649e60b3bbc773a4523fffab3586a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; help-fns.el --- Complex help functions -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1986, 1993-1994, 1998-2011
+;; Copyright (C) 1985-1986, 1993-1994, 1998-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 8efb99d42d8d1c579e2f3c1b375ff84cf745bdd7..0bd6f3c4798328d0b7bfb4808a85912c700cb96b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; help-macro.el --- makes command line help such as help-for-help
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Lynn Slater <lrs@indetech.com>
 ;; Maintainer: FSF
index 5906683071be40f94a6e05ed9d7cd4ef8797e419..b471962f21de1ee487e5ce3f4f5dce6330b79809 100644 (file)
@@ -1,6 +1,6 @@
 ;;; help-mode.el --- `help-mode' used by *Help* buffers
 
-;; Copyright (C) 1985-1986, 1993-1994, 1998-2011
+;; Copyright (C) 1985-1986, 1993-1994, 1998-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 36d49aae9b33e2a4b29c921f8b07b43eb4938c4f..a38211332c6b780ef26c7c50e28cfd659161697a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; help.el --- help commands for Emacs
 
-;; Copyright (C) 1985-1986, 1993-1994, 1998-2011
+;; Copyright (C) 1985-1986, 1993-1994, 1998-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index c5ef6ac906acb1893f62dbb948d4b09b054478e8..caf5d740d322dc6138390a3be3f248e60c54d022 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hex-util.el --- Functions to encode/decode hexadecimal string.
 
-;; Copyright (C) 1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 ;; Keywords: data
index fdafd97cdab0cb44111b039bbff11d416d0b90f6..538d218e38e0eedba7ce6d88e50cfa757060a9d8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hexl.el --- edit a file in a hex dump format using the hexl filter -*- lexical-binding: t -*-
 
-;; Copyright (C) 1989, 1994, 1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1994, 1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Keith Gabryelski <ag@wheaties.ai.mit.edu>
 ;; Maintainer: FSF
index 7bf1da2bdd9fc9932e5f474930991de316af4695..05fefdaaed60d5d2faebeb62b1d2035156932414 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hfy-cmap.el --- Fallback colour name -> rgb mapping for `htmlfontify'
 
-;; Copyright (C) 2002-2003, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2009-2012  Free Software Foundation, Inc.
 
 ;; Emacs Lisp Archive Entry
 ;; Package: htmlfontify
index f659a7e8eefcd00eef133018ec4412c4ffe3fb10..32a041e6c09c3cfc77a76abbb809105000fc770e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hi-lock.el --- minor mode for interactive automatic highlighting
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: David M. Koppelman <koppel@ece.lsu.edu>
 ;; Keywords: faces, minor-mode, matching, display
index 50e631a95c5086d61c190a253c80e5206eaed89e..0970ece9446a9a549722259b86da4e8953d41eb9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hilit-chg.el --- minor mode displaying buffer changes with special face
 
-;; Copyright (C) 1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Richard Sharman <rsharman@pobox.com>
 ;; Keywords: faces
index 69da8fc6110c2b99fe8e259c22807e957d634abb..adcd83d33a57318fe97a2d060eb908457c9ca72c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hippie-exp.el --- expand text trying various ways to find its expansion
 
-;; Copyright (C) 1992, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Anders Holst <aho@sans.kth.se>
 ;; Last change: 3 March 1998
index b535398f1077dc7bd815aa6402dc8b1549572162..8164d8ad790d7d2f380051b93e756dd57ac1450f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hl-line.el --- highlight the current line
 
-;; Copyright (C) 1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author:  Dave Love <fx@gnu.org>
 ;; Maintainer: FSF
index b0fd37abd36e53116dd117718d437dcb58054877..ac9d2c5ba049f89fa4e342c00d7acb9bc7587e50 100644 (file)
@@ -1,6 +1,6 @@
 ;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks
 
-;; Copyright (C) 2002-2003, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2009-2012  Free Software Foundation, Inc.
 
 ;; Emacs Lisp Archive Entry
 ;; Package: htmlfontify
@@ -2316,7 +2316,7 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'."
 
 \f
 ;;;### (autoloads (hfy-fallback-colour-values htmlfontify-load-rgb-file)
-;;;;;;  "hfy-cmap" "hfy-cmap.el" "8dce008297f15826cc6ab82203c46fa6")
+;;;;;;  "hfy-cmap" "hfy-cmap.el" "ef24066922f1e27b7580d572f12fabbe")
 ;;; Generated autoloads from hfy-cmap.el
 
 (autoload 'htmlfontify-load-rgb-file "hfy-cmap" "\
index a0fae8d86715a036696a37dbf9c013334409b25b..22ec2f5df1fc4c4348f4d1a8e88d5761bbb18f94 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ibuf-ext.el --- extensions for ibuffer
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Colin Walters <walters@verbum.org>
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
index 9965e0ccfb216826bbe5c028631f6b1dc6fe6678..f47592e82bb6cb724d491a5c700cd6f5c30efbdb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ibuf-macs.el --- macros for ibuffer
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Colin Walters <walters@verbum.org>
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
index cb511c4695e73fe3d5b81bb49499a3d6b623803d..17be5534138b55a5f28275b9d19a97b4892df6d7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ibuffer.el --- operate on buffers like dired
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Colin Walters <walters@verbum.org>
 ;; Maintainer: John Paul Wallington <jpw@gnu.org>
@@ -2384,7 +2384,7 @@ currently open buffers, in addition to filtering your view to a
 particular subset of them, and sorting by various criteria.
 
 Operations on marked buffers:
-
+\\<ibuffer-mode-map>
   '\\[ibuffer-do-save]' - Save the marked buffers
   '\\[ibuffer-do-view]' - View the marked buffers in this frame.
   '\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame.
@@ -2648,7 +2648,7 @@ will be inserted before the group at point."
 ;;;;;;  ibuffer-backward-filter-group ibuffer-forward-filter-group
 ;;;;;;  ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
 ;;;;;;  ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
-;;;;;;  ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "897e64e4465af94b89e21fa84ae61290")
+;;;;;;  ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "1400db1bc3d4a3010cbc4807a6725072")
 ;;; Generated autoloads from ibuf-ext.el
 
 (autoload 'ibuffer-auto-mode "ibuf-ext" "\
index 53876f48a06b689c1b8295bd8cb983e627c1d177..80a0bf1435b9119951e97d01f484dc350e17799b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; icomplete.el --- minibuffer completion incremental feedback
 
-;; Copyright (C) 1992-1994, 1997, 1999, 2001-2011
+;; Copyright (C) 1992-1994, 1997, 1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Ken Manheimer <klm@i.am>
index f2dcba614a9031a09b4d3043c77ef5ac631887bb..4be9807af9602efce4dceb0a0b9c891e5d10d804 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ido.el --- interactively do things with buffers and files
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Based on: iswitchb by Stephen Eglen <stephen@cns.ed.ac.uk>
 ;; ifindf package back into iswitchb.
 ;;
 ;; This is basically what ido (interactively do) is all about; but I
-;; found it ackward to merge my changes into the "iswitchb-" namespace,
+;; found it awkward to merge my changes into the "iswitchb-" namespace,
 ;; so I invented a common "ido-" namespace for the merged packages.
 ;;
 ;; This version is based on ido.el version 1.57 released on
index 94bb299eaaceab03ed335a40891a3a530d0fd4cf..c93f235d81f19b11cd6658f68ee1f59a5d076187 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ielm.el --- interaction mode for Emacs Lisp
 
-;; Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Smith <maa036@lancaster.ac.uk>
 ;; Maintainer: FSF
index 61347c5024c148b979e1913be4fbf7c061c82ac8..674e885a243bcdf6cc97010b6d5d7b0c2f9d4282 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iimage.el --- Inline image minor mode.
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: KOSEKI Yoshinori <kose@meadowy.org>
 ;; Maintainer: KOSEKI Yoshinori <kose@meadowy.org>
index 4a164dfaa426ff26f7dc35e5295b502d08228bb3..8151985e7477176031fab82a0c79ce2f229e6a04 100644 (file)
@@ -1,6 +1,6 @@
 ;;; image-dired.el --- use dired to browse and manipulate your images
 ;;
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 ;;
 ;; Version: 0.4.11
 ;; Keywords: multimedia
index 52012b12a564a7f905d7e6dca5e7730f599c4113..efbbfcb03b0b08b1a66bb0378589567832aab368 100644 (file)
@@ -1,6 +1,6 @@
 ;;; image-file.el --- support for visiting image files
 ;;
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: multimedia
index f3e7caab174235cabb4fcb808168f0c28ac34849..a9a8d15e6a024854c17dc173eed6d346ee625bb1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; image-mode.el --- support for visiting image files
 ;;
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Richard Stallman <rms@gnu.org>
 ;; Keywords: multimedia
index c150f4239dd9fdfc03801a9ec52a84be665d5dc2..15b82d12dcd86768ee173bdcafb8b01a6c73b150 100644 (file)
@@ -1,6 +1,6 @@
 ;;; image.el --- image API
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: multimedia
index 6be6b85af8aa3a536ae63389b8df60a40be44b9a..9a847f32e8983b250c2c911da45713ca1c1c92c0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; imenu.el --- framework for mode-specific buffer indexes
 
-;; Copyright (C) 1994-1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Ake Stenhoff <etxaksf@aom.ericsson.se>
 ;;         Lars Lindberg <lli@sypro.cap.se>
index f5850de8b8fd36c0a01dc399f56ffb5c3c67fc39..7032aabd496c81d898f2d0541c4fb12fdc49bcea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; indent.el --- indentation commands for Emacs
 
-;; Copyright (C) 1985, 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Package: emacs
index 13edc0269dd82822649a4158720fbce9b5328ebd..5eca62ed1bd9704c88e308db1e675d4c1babbc3f 100644 (file)
@@ -1,7 +1,7 @@
 ;;; info-look.el --- major-mode-sensitive Info index lookup facility -*- lexical-binding: t -*-
 ;; An older version of this was known as libc.el.
 
-;; Copyright (C) 1995-1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org>
 ;;         (did not show signs of life (Nov 2001)  -stef)
index 805bec064cf4e711bd0e277750222dae31aa6945..69ec00ce09d1097c2d5c336d4f7aee001c6e5738 100644 (file)
@@ -1,6 +1,6 @@
 ;;; info-xref.el --- check external references in an Info document
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Kevin Ryde <user42@zip.com.au>
 ;; Keywords: docs
index c1dae66bea2b71fe2d20ba43595b129800c8ad81..94d295189956b6c3f5082ae5753f78819eea6ff9 100644 (file)
@@ -1,6 +1,6 @@
 ;; info.el --- info package for Emacs
 
-;; Copyright (C) 1985-1986, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: help
@@ -3706,7 +3706,7 @@ If FORK is non-nil, it is passed to `Info-goto-node'."
     (define-key map "b" 'beginning-of-buffer)
     (put 'beginning-of-buffer :advertised-binding "b")
     (define-key map "d" 'Info-directory)
-    (define-key map "e" 'Info-edit)
+    (define-key map "e" 'end-of-buffer)
     (define-key map "f" 'Info-follow-reference)
     (define-key map "g" 'Info-goto-node)
     (define-key map "h" 'Info-help)
index be60b12bbac985418f530310b37b7609bb26f860..f64cede4aeae4d86fc4015bf47e014e785e47f28 100644 (file)
@@ -1,6 +1,6 @@
 ;;; informat.el --- info support functions package for Emacs
 
-;; Copyright (C) 1986, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: help
index 457fe84c0b1df0df4420291310226fc39b2f5248..e8a0883ae926b6d3d5f7680b1f1f316213c471a3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ccl.el --- CCL (Code Conversion Language) compiler
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -1469,7 +1469,7 @@ OPERATOR :=
        | de-sjis
 
        ;; If ARG_0 and ARG_1 are the first and second code point of
-       ;; JISX0208 character CHAR, and SJIS is the correponding
+       ;; JISX0208 character CHAR, and SJIS is the corresponding
        ;; Shift-JIS code,
        ;; (REG = ARG_0 en-sjis ARG_1) means:
        ;;      ((REG = HIGH)
index 55aee4d53db9c57347e359bc856ab987c3255df3..d7b55d560936a004a260739b0307b20f7064c7fb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; characters.el --- set syntax and category for multibyte characters
 
-;; Copyright (C) 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 2425ee46eea3cb8e16544a40ba4ae96c31c87bb3..561194d710ccc726e7bc3d5aa2f09390905b65f0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; fontset.el --- commands for handling fontset
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index cb6856964c0299aa2fcc9cdef545bf3563c30a77..61f7cc3f0de49f78a790b04b503de3ba6f65b56c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; isearch-x.el --- extended isearch handling commands
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 491a7c02ba40a231bb8bbe3abdf41e9a3e9e52e0..f994a93c0439ce2fba3ab88c1798c752b4502144 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iso-ascii.el --- set up char tables for ISO 8859/1 on ASCII terminals
 
-;; Copyright (C) 1987, 1995, 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1995, 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index 6ccd1c217392541dcd244f10e3ab7eee1674d5ce..3f8b61af6e186d3972ae5328434f4b2d234f53ac 100644 (file)
@@ -1,7 +1,7 @@
 ;;; iso-cvt.el --- translate ISO 8859-1 from/to various encodings -*- coding: iso-latin-1 -*-
 ;; This file was formerly called gm-lingo.el.
 
-;; Copyright (C) 1993-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Gschwind <mike@vlsivie.tuwien.ac.at>
 ;; Keywords: tex, iso, latin, i18n
index 49b1f6ef23172455bbb6bd57eb724ca19de8a68d..1afe00eeb2e247e76998b754a66b9e17c6c4fe63 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iso-transl.el --- keyboard input definitions for ISO 8859-1  -*- coding: iso-8859-1 -*-
 
-;; Copyright (C) 1987, 1993-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index b0ca522dee42985318e71892f7bacf29d20e4f22..04ca9de690dfdf252876f2b4eaa5ffc7959b724c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; kinsoku.el --- `Kinsoku' processing funcs -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 03e5202438fb11f51f7916155c7e04e138c87d73..751d0dd4d9e307687a4419dcfaff62f74b7758f1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; kkc.el --- Kana Kanji converter    -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index d5a7713dbecc046aba6eb553138e7fc7a4190766..10d0a5bbd32ba50a11f476e14e82e8f100ec8ec5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; latexenc.el --- guess correct coding system in LaTeX files -*-coding: iso-2022-7bit -*-
 
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Arne J\e,Ax\e(Brgensen <arne@arnested.dk>
 ;; Keywords: mule, coding system, latex
index 1c9b06beab841096896146b5d32c53664b399281..964f01c982c7ce11ad12f73702cc82a7334bb47b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; latin1-disp.el --- display tables for other ISO 8859 on Latin-1 terminals -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index 0a5d6ed954c4ab4b90619a37636e704c1d354756..cbe548c2ccfeb6a7fe0776a61ce9a298274224df 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mule-cmds.el --- commands for multilingual environment -*-coding: iso-2022-7bit -*-
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -1031,7 +1031,7 @@ It is highly recommended to fix it before writing to a file."
 and try again)? " coding-system auto-cs))
              (error "Save aborted"))))
       (when (and tick (/= tick (buffer-chars-modified-tick)))
-       (error "Cancelled because the buffer was modified"))
+       (error "Canceled because the buffer was modified"))
       coding-system)))
 
 (setq select-safe-coding-system-function 'select-safe-coding-system)
index e27424b2328723518ff57c80efb6bdc14420f59f..4647b778e59437cdda8d2f12230e211bbc205a77 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mule-conf.el --- configure multilingual environment
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
index efb910a3ef6c01562b2ce77f9a6ec94bfccf05ed..bd7257bbc0f03c0f1f82bf2a42f32d6dba9f12a7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mule-diag.el --- show diagnosis of multilingual environment (Mule)
 
-;; Copyright (C) 1997-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index f0a5ebbee40c1414f95f1b8953830c084d7e1e07..7b152a47727c11ce04a129ed5a2c488078f4ac51 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mule-util.el --- utility functions for multilingual environment (mule)
 
-;; Copyright (C) 1997-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 1beffa5218bbeb531a72810c8e2d860ab526a963..17163071d3f7fb76b80101f1bef9307db166f350 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mule.el --- basic commands for multilingual environment
 
-;; Copyright (C) 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index cc8d1e25c6667eb60d7cbfc88a31430677332403..39a8800111233c439943baef5eb576b727152a1c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ogonek.el --- change the encoding of Polish diacritics
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: W{\l}odek Bzyl
 ;;        Ryszard Kubiak
index 3a70b1ec2a5af63755b9220ccc14eb6ba2e464eb..1dd5e3551c7dba4ffee7a75427a3ec51a4eda0f3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; quail.el --- provides simple input method for multilingual text
 
-;; Copyright (C) 1997-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -2832,7 +2832,7 @@ STATE-n are symbols to denote state.  STATE-0 is the initial state.
 TRANSITION-n-m are transition rules from STATE-n, and have the form
 \(RULES . STATE-x) or RULES, where STATE-x is one of STATE-n above,
 RULES is a symbol whose value is an alist of keys \(string) vs the
-correponding characters or strings.  The format of the symbol value of
+corresponding characters or strings.  The format of the symbol value of
 RULES is the same as arguments to `quail-define-rules'.
 
 If TRANSITION-n-m has the form (RULES . STATE-x), it means that
@@ -2846,7 +2846,7 @@ The generated map can be set for the current Quail package by the
 function `quail-install-map' (which see)."
   (let ((state-alist (mapcar (lambda (x) (list (car x))) table))
        tail elt)
-    ;; STATE-ALIST is an alist of states vs the correponding sub Quail
+    ;; STATE-ALIST is an alist of states vs the corresponding sub Quail
     ;; map.  It is now initialized to ((STATE-0) (STATE-1) ...).
     ;; Set key sequence mapping rules in cdr part of each element.
     (while table
index 443a292f4c184b9be5330c33f15b5e168df72fde..c50277686ff92c5abb2ccf38750626ac6a375a0c 100644 (file)
@@ -50,9 +50,9 @@
 ;; identified by a string called package name.  Use robin-define-package
 ;; to define a robin package.
 
-;; (robin-define-package NAME DOCTSTRING
-;;   (INPUT1 OUPUT1)
-;;   (INPUT2 OUPUT2)
+;; (robin-define-package NAME DOCSTRING
+;;   (INPUT1 OUTPUT1)
+;;   (INPUT2 OUTPUT2)
 ;;   ...)
 
 ;; NAME is a string identifying the robin package.  It often starts with a
index 82349761bdb96e3e1d409e2ea8a406150d87ec56..21b0fdec6e4f15b69f6e383d5ab94fd94bd87003 100644 (file)
@@ -1,6 +1,6 @@
 ;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; -*-
 
-;; Copyright (C) 1997-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -103,7 +103,7 @@ For example:
 
 \\<quail-translation-docstring>
 
-For double-width GB2312 characters correponding to ASCII, use the
+For double-width GB2312 characters corresponding to ASCII, use the
 input method `chinese-qj'.")
 
     ("chinese-ecdict" "\e$(05CKH\e(B"
@@ -191,7 +191,7 @@ For instance, to input \e$ADc\e(B, you type \"n i 3 3\", the first \"n i\" is
 a Pinyin, the next \"3\" specifies tone, and the last \"3\" selects
 the third character from the candidate list.
 
-For double-width GB2312 characters correponding to ASCII, use the
+For double-width GB2312 characters corresponding to ASCII, use the
 input method `chinese-qj'.")
 
     ("chinese-zozy" "\e$(0I\0D\e(B"
index 8d13eb2039d7f8865fef5dc6fe5f7c0ebcfd4aff..cc75cc21cbe976d740574a081a786e6495ea9c57 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ucs-normalize.el --- Unicode normalization NFC/NFD/NFKD/NFKC
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Taichi Kawabata <kawabata.taichi@gmail.com>
 ;; Keywords: unicode, normalization
index e27bf26e17d628ad659af81ae0ec309e637f5607..8e10c94900afb01e0099ab385c11989cac9a4449 100644 (file)
@@ -1,6 +1,6 @@
 ;;; utf-7.el --- utf-7 coding system
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n, mail
index 01dff91a1ffa69ef808ac83ada8b99dce7559f47..a6cc69be9a633b911de934da53b308b3686d6a4d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; isearch.el --- incremental search minor mode
 
-;; Copyright (C) 1992-1997, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-1997, 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
 ;; Maintainer: FSF
index 721fce8ef9a58a788133d4f4f684d070ff0f49c9..030e4925619497c952ff015ed072d5d06135c0d9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; isearchb --- a marriage between iswitchb and isearch
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Maintainer: FSF
index 21201c6cff5586bef52d74896700e82aace39b11..86cef14960e1f698cf04878697c3926725e5ebbd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iswitchb.el --- switch between buffers using substrings
 
-;; Copyright (C) 1996-1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Stephen Eglen <stephen@gnu.org>
 ;; Maintainer: Stephen Eglen <stephen@gnu.org>
index b65b186b4e2797384cb860f8b7341985235a886e..ec44b17835c9011389a2caf955c44224067f2f8b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; jit-lock.el --- just-in-time fontification
 
-;; Copyright (C) 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Keywords: faces files
index bf312445f172e1eadc2d50ebf08a522d604dea10..d09e64634c31e636356ebedf3ec0b470e840910e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; jka-cmpr-hook.el --- preloaded code to enable jka-compr.el
 
-;; Copyright (C) 1993-1995, 1997, 1999-2000, 2002-2011
+;; Copyright (C) 1993-1995, 1997, 1999-2000, 2002-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: jka@ece.cmu.edu (Jay K. Adams)
index cd769885cc612a450907a3d673d7b771a1bc1162..786e4292d5f4311d7fa1c059bcfddb1b964c3c3e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; jka-compr.el --- reading/writing/loading compressed files
 
-;; Copyright (C) 1993-1995, 1997, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997, 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: jka@ece.cmu.edu (Jay K. Adams)
 ;; Maintainer: FSF
index 2debd46c8425d486d328ab9530276765f678e4a7..468358ccd1a0906769f89d56d4f7c431fe138fe1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; json.el --- JavaScript Object Notation parser / generator
 
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Edward O'Connor <ted@oconnor.cx>
 ;; Version: 1.3
index 3c8f52db0cd0cabf42be0e7869de8c6e1fbde523..dc76c41505e8b3ef7486c176b32a3d39ba4a301b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; kermit.el --- additions to shell mode for use with kermit
 
-;; Copyright (C) 1988, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Jeff Norden <jeff@colgate.csnet>
 ;; Maintainer: FSF
index 6915640944abc212c7197fc077449901cfcd1240..c8dd05f7c4d1375b6d2d48b20bea01cd62511f77 100644 (file)
@@ -1,6 +1,6 @@
 ;;; kmacro.el --- enhanced keyboard macros
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard convenience
index 9f79dd087bb4b0986c2f61659a01e2dc0c36248c..f68420b070cbdbffcb9230baed28fed37b767a62 100644 (file)
@@ -1,6 +1,6 @@
 ;;; china-util.el --- utilities for Chinese  -*- coding: iso-2022-7bit -*-
 
-;; Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 0e87d4d8e8c27b764ce233514fda828fb25dde05..ac2afa373c40864b48c40acb08c5551f3e66cb1e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; chinese.el --- support for Chinese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index e833bb7ab04aeab0a72e0b21ebb283e5d47d75d1..eb72a7b1c1d1b778c439466b79a467de5a9994ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cyril-util.el --- utilities for Cyrillic scripts
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Keywords: mule, multilingual, Cyrillic
 
index 8fb7fae720d8050b12f1fdaddcf418e1ca61d6e0..33c5fbbf3f101bda573109268d837de42b0ab7cf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cyrillic.el --- support for Cyrillic -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -126,7 +126,7 @@ Support for Russian using koi8-r and the russian-computer input method.")
 (define-coding-system 'koi8-u
   "KOI8-U 8-bit encoding for Cyrillic (MIME: KOI8-U)"
   :coding-type 'charset
-  :mnemonic ?U 
+  :mnemonic ?U
   :charset-list '(koi8-u)
   :mime-charset 'koi8-u)
 
@@ -246,7 +246,7 @@ Support for Russian using koi8-r and the russian-computer input method.")
               (ctext-non-standard-encodings "microsoft-cp1251")
               (input-method . "bulgarian-bds")
               (documentation
-               . "Support for Bulgrian with windows-1251 character set."))
+               . "Support for Bulgarian with windows-1251 character set."))
  '("Cyrillic"))
 
 (set-language-info-alist
index 2325699e30ece3dbb7e4c5db584e0fc36d91c7df..93f75694555252e6e533861a3bed4e6968404f00 100644 (file)
@@ -1,6 +1,6 @@
 ;;; czech.el --- support for Czech -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Milan Zamazal <pdm@zamazal.org>
 ;; Maintainer: Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
index dd96d38a19704092ffc64925670f23d262e36aca..6d106a5e07060bfcf4c4fa4a3e7c1a1954b86a3e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; english.el --- support for English -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -30,7 +30,7 @@
 
 ;; We need nothing special to support English on Emacs.  Selecting
 ;; English as a language environment is one of the ways to reset
-;; various multilingual environment to the original settting.
+;; various multilingual environment to the original setting.
 
 ;;; Code:
 
index 306a7bee9dc690c14e9ea860d0ff348db902b472..e61645c10fc5ed7dad0c3b2117b7ce6688de4e4f 100644 (file)
@@ -1,6 +1,6 @@
-;;; ethio-util.el --- utilities for Ethiopic   -*- coding: utf-8; -*-
+;;; ethio-util.el --- utilities for Ethiopic   -*- coding: utf-8-emacs; -*-
 
-;; Copyright (C) 1997-1998, 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2002-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
@@ -48,7 +48,7 @@
                        ([f4] . ethio-sera-to-fidel-buffer)
                        ([S-f4] . ethio-sera-to-fidel-region)
                        ([C-f4] . ethio-sera-to-fidel-marker)
-                       ([S-f5] . ethio-toggle-punctuation)
+                       ;; ([S-f5] . ethio-toggle-punctuation)
                        ([S-f6] . ethio-modify-vowel)
                        ([S-f7] . ethio-replace-space)
                        ;; ([S-f8] . ethio-input-special-character) ; deprecated
index 13a645a997508450c93b66533f3df37c1be0ddde..c25710e953a9e5132c163bd2556bd7a6bc4b12bd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ethiopic.el --- support for Ethiopic       -*- coding: utf-8-emacs; -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 3c2cb083ff639a956571d015cbf367f7926ff1cb..b658f93d90f3b4626e490aed76fec099cd92b9fc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; european.el --- support for European languages -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index be6da8cba17d02d86a0a890879972f227c95baee..fcbd395e13146f379e8e802c4211233bd9f3ba7a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; georgian.el --- language support for Georgian -*- no-byte-compile: t -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index bd6610834067455c03051aefd3eda302900fa13f..337bf4b4c0e61192fbce227b2d9a4f83695dd743 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hanja-util.el --- Korean Hanja util module  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Jihyun Cho <jihyun.jo@gmail.com>
 ;; Keywords: multilingual, input method, Korean, Hanja
@@ -6438,7 +6438,7 @@ character.  This variable is initialized by `hanja-init-load'.")
 
 ;; List of current conversion status.
 ;; The first element is the strating position of shown list.
-;; It is a group number each splited by `hanja-list-width'.
+;; It is a group number each split by `hanja-list-width'.
 ;; The second element is the position of selected element.
 ;; The third element is a list of suitable Hanja candidate.
 (defvar hanja-conversions
index fd3e16b307a08c90097e9b2b338b20a8160e3ae5..c9896bb60a19e23ce7d4d833c06d2d0c61f14d2b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hebrew.el --- support for Hebrew -*- coding: utf-8 -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 0e5484203830d237182548397f7865a84f3ca3f8..c7eb1492c074dbdbf7d3ec93de1074ffa79690ef 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ind-util.el --- Transliteration and Misc. Tools for Indian Languages -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer:  KAWABATA, Taichi <kawabata@m17n.org>
 ;; Keywords: multilingual, Indian, Devanagari
index 8203213d8eba94a4d5a58ec412b980c3ae5f875b..29ac14eda410d0e404ba263aa33d0cfe4cf880d2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; indian.el --- Indian languages support -*- coding: utf-8; -*-
 
-;; Copyright (C) 1997, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
index dcf3dc0f90e59fa6a04019b0027acb5f7125ef01..9be3c44b4da31becc95987867c69cc5a038a5f70 100644 (file)
@@ -1,6 +1,6 @@
 ;;; japan-util.el --- utilities for Japanese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index bf8a4d8d5c20ecbfca15a9f8ea5dba42b7ef0cf5..256263edbb394049e8a8628ad6bf8327628c6f22 100644 (file)
@@ -1,6 +1,6 @@
 ;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index e2367cf0f7ea9f4be04af68b16aec3e9a362a55e..f8dfdf45d00f421fe6b9c137cff0f4ef72e51b38 100644 (file)
@@ -1,6 +1,6 @@
 ;;; korea-util.el --- utilities for Korean
 
-;; Copyright (C) 1997, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 ;;   2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index acb9fea268d287d0eaabccd6e77b685aedd5bb91..9f93f76a74e3f79c2ae4e411f15cf36c3b44f092 100644 (file)
@@ -1,6 +1,6 @@
 ;;; korean.el --- support for Korean -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 2a339504409a7b349d019c413334ffb1ee3b2245..863e3ba89a3763249d018adb385bac39c46b602b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 ;;   2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index c09c6f8a0efc0cba4a4040c071c7517188ff03a5..28449bad0711b793411bbe27aad4d6b77ff462d5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lao.el --- support for Lao -*- coding: utf-8; no-byte-compile: t -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 ;;   2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 25a10633a28a3e0c893ad4bcda40eefdff30b714..75483917a3bd8175ecc526bed77cbc2fb3b85fee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; romanian.el --- support for Romanian -*- coding: iso-latin-2; no-byte-compile: t -*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author:    Dan Nicolaescu <done@ece.arizona.edu>
 ;; Keywords: multilingual, Romanian, i18n
index 94aa5fdc94c0719898c81bddbb5ccac38253e3e3..b17dab8e31508a17648e7834b6b06d318440f6b9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; slovak.el --- support for Slovak -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Authors:    Tibor \e,B)\e(Bimko <tibor.simko@fmph.uniba.sk>,
 ;;             Milan Zamazal <pdm@zamazal.org>
index f6e525b0d25f438c728f8d23a2ae1a1133873fd7..90e0e2a4796d0cd1c757bb8b819fa1d73427ca38 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tai-viet.el --- support for Tai Viet -*- coding: utf-8; no-byte-compile: t -*-
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H13PRO009
index e9943df12a831abe0ddb064ed85128940aeffdbd..4cfee92e0e710c5cab3d9acc9e5268859d0ef894 100644 (file)
@@ -1,6 +1,6 @@
 ;;; thai-util.el --- utilities for Thai -*- coding: utf-8; -*-
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index dd28ec77edbf543119546454bdb36a7b3ddc3231..9bebe6ef185ad06c833b48b8aeccc04c1bff9762 100644 (file)
@@ -1,6 +1,6 @@
 ;;; thai.el --- support for Thai -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1997-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index fd23bbb6d548f70ad5c5d240390fc6a424f0825f..66795201f7f9a8dc3ee91f9258632a64cb058142 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tibet-util.el --- utilities for Tibetan   -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 1607868dea5c03a7714ad81cc8146f3a7dde4999..97bc3174d3e57947075c40060caf5c0e8d0504b4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tibetan.el --- support for Tibetan language -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index dd840772218b9897e20d69738f9cca07f96d5d1b..eb0828694d454792eb2157c36f2cd2e7d622ca30 100644 (file)
@@ -1,6 +1,6 @@
 ;;; utf-8-lang.el --- generic UTF-8 language environment -*- no-byte-compile: t -*-
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
index b71c65438be526a29f45056c38a352990ac6c194..a6b734c45a84058f5d7ed4f54a54d1aa3b3a1135 100644 (file)
@@ -1,6 +1,6 @@
 ;;; viet-util.el --- utilities for Vietnamese  -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 4034566afca178adaa4bbdc5b101e5392be584ac..7ec5a206990d297de327437338e6762027fc7917 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vietnamese.el --- support for Vietnamese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 858cfa85a6f9bef8f4da0b1127a21a49e70e2e4b..754764b97584f2dbf84bc3f7a3bb5569a6161db2 100644 (file)
@@ -68,7 +68,7 @@ should return a grid vector array that is the new solution.
 ;;;***
 \f
 ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20197 58064))
 ;;; 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.
 ;;;***
 \f
 ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20209 49217))
 ;;; 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.
 ;;;***
 \f
 ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;;  (20176 51947))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from progmodes/ada-xref.el
 
 (autoload 'ada-find-file "ada-xref" "\
@@ -398,7 +398,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
 \f
 ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
 ;;;;;;  align-highlight-rule align-current align-entire align-regexp
-;;;;;;  align) "align" "align.el" (20182 4358))
+;;;;;;  align) "align" "align.el" (20188 43079))
 ;;; Generated autoloads from align.el
 
 (autoload 'align "align" "\
@@ -489,7 +489,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
 \f
 ;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation
 ;;;;;;  allout-setup allout-auto-activation-helper) "allout" "allout.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from allout.el
 
 (autoload 'allout-auto-activation-helper "allout" "\
@@ -739,7 +739,7 @@ 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:
 
@@ -850,13 +850,13 @@ for details on preparing Emacs for automatic allout activation.
 \f
 ;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation
 ;;;;;;  allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el"
-;;;;;;  (20167 36967))
+;;;;;;  (20221 40442))
 ;;; 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))))
 
 (autoload 'allout-widgets-setup "allout-widgets" "\
-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'.
 
@@ -910,7 +910,7 @@ outline hot-spot navigation (see `allout-mode').
 ;;;***
 \f
 ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;;  "net/ange-ftp.el" (20178 7273))
+;;;;;;  "net/ange-ftp.el" (20213 46266))
 ;;; Generated autoloads from net/ange-ftp.el
 
 (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -965,7 +965,7 @@ the buffer *Birthday-Present-for-Name*.
 ;;;***
 \f
 ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
-;;;;;;  "ansi-color" "ansi-color.el" (20164 60780))
+;;;;;;  "ansi-color" "ansi-color.el" (20204 31303))
 ;;; Generated autoloads from ansi-color.el
 
 (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\
@@ -1027,7 +1027,7 @@ Used in `antlr-mode'.  Also a useful function in `java-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el"
-;;;;;;  (19956 37456))
+;;;;;;  (20188 43079))
 ;;; Generated autoloads from calendar/appt.el
 
 (autoload 'appt-add "appt" "\
@@ -1158,8 +1158,8 @@ Returns list of symbols and documentation found.
 
 ;;;***
 \f
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20165
-;;;;;;  31925))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20201
+;;;;;;  55112))
 ;;; Generated autoloads from arc-mode.el
 
 (autoload 'archive-mode "arc-mode" "\
@@ -1250,8 +1250,8 @@ Entering array mode calls the function `array-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20172
-;;;;;;  54913))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20204
+;;;;;;  31303))
 ;;; Generated autoloads from textmodes/artist.el
 
 (autoload 'artist-mode "artist" "\
@@ -1792,7 +1792,7 @@ definition of \"random distance\".)
 ;;;***
 \f
 ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;;  (20127 62865))
+;;;;;;  (20211 4536))
 ;;; Generated autoloads from battery.el
  (put 'battery-mode-line-string 'risky-local-variable t)
 
@@ -1861,7 +1861,7 @@ For non-interactive use see also `benchmark-run' and
 ;;;***
 \f
 ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
-;;;;;;  "bibtex" "textmodes/bibtex.el" (20174 10230))
+;;;;;;  "bibtex" "textmodes/bibtex.el" (20221 40442))
 ;;; Generated autoloads from textmodes/bibtex.el
 
 (autoload 'bibtex-initialize "bibtex" "\
@@ -2727,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" (20178 7273))
+;;;;;;  "bytecomp" "emacs-lisp/bytecomp.el" (20224 16567))
 ;;; 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)
@@ -2981,8 +2981,8 @@ See Info node `(calc)Defining Functions'.
 
 ;;;***
 \f
-;;;### (autoloads (calculator) "calculator" "calculator.el" (20141
-;;;;;;  9296))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (20187
+;;;;;;  22214))
 ;;; Generated autoloads from calculator.el
 
 (autoload 'calculator "calculator" "\
@@ -3103,7 +3103,7 @@ Obsoletes `c-forward-into-nomenclature'.
 ;;;***
 \f
 ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;;  (20172 54913))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from progmodes/cc-engine.el
 
 (autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -3215,7 +3215,7 @@ the absolute file name of the file if STYLE-NAME is nil.
 \f
 ;;;### (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"
-;;;;;;  (20168 57844))
+;;;;;;  (20221 40442))
 ;;; Generated autoloads from progmodes/cc-mode.el
 
 (autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3443,7 +3443,7 @@ and exists only for compatibility reasons.
 
 ;;;***
 \f
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20167 36967))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20189 63932))
 ;;; Generated autoloads from progmodes/cc-vars.el
 (put 'c-basic-offset 'safe-local-variable 'integerp)
 (put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3453,7 +3453,7 @@ and exists only for compatibility reasons.
 \f
 ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
 ;;;;;;  declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;;  (19943 25429))
+;;;;;;  (20201 55112))
 ;;; Generated autoloads from international/ccl.el
 
 (autoload 'ccl-compile "ccl" "\
@@ -3608,7 +3608,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)
@@ -3644,7 +3644,7 @@ OPERATOR :=
        | de-sjis
 
        ;; If ARG_0 and ARG_1 are the first and second code point of
-       ;; JISX0208 character CHAR, and SJIS is the correponding
+       ;; JISX0208 character CHAR, and SJIS is the corresponding
        ;; Shift-JIS code,
        ;; (REG = ARG_0 en-sjis ARG_1) means:
        ;;      ((REG = HIGH)
@@ -3728,12 +3728,12 @@ Returns a form where all lambdas don't have any free variables.
 
 ;;;***
 \f
-;;;### (autoloads (cfengine-auto-mode cfengine-mode cfengine3-mode)
-;;;;;;  "cfengine" "progmodes/cfengine.el" (20168 57844))
+;;;### (autoloads (cfengine-auto-mode cfengine2-mode cfengine3-mode)
+;;;;;;  "cfengine" "progmodes/cfengine.el" (20211 4536))
 ;;; Generated autoloads from progmodes/cfengine.el
 
 (autoload 'cfengine3-mode "cfengine" "\
-Major mode for editing cfengine input.
+Major mode for editing CFEngine3 input.
 There are no special keybindings by default.
 
 Action blocks are treated as defuns, i.e. \\[beginning-of-defun] moves
@@ -3741,8 +3741,8 @@ to the action header.
 
 \(fn)" t nil)
 
-(autoload 'cfengine-mode "cfengine" "\
-Major mode for editing cfengine input.
+(autoload 'cfengine2-mode "cfengine" "\
+Major mode for editing CFEngine2 input.
 There are no special keybindings by default.
 
 Action blocks are treated as defuns, i.e. \\[beginning-of-defun] moves
@@ -3751,7 +3751,7 @@ to the action header.
 \(fn)" t nil)
 
 (autoload 'cfengine-auto-mode "cfengine" "\
-Choose between `cfengine-mode' and `cfengine3-mode' depending
+Choose between `cfengine2-mode' and `cfengine3-mode' depending
 on the buffer contents
 
 \(fn)" nil nil)
@@ -4215,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"
-;;;;;;  (20168 57844))
+;;;;;;  (20197 58064))
 ;;; Generated autoloads from comint.el
 
 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -4706,7 +4706,7 @@ For details see `conf-mode'.  Example:
 ;;;***
 \f
 ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;;  "cookie1" "play/cookie1.el" (19845 45374))
+;;;;;;  "cookie1" "play/cookie1.el" (20222 61246))
 ;;; Generated autoloads from play/cookie1.el
 
 (autoload 'cookie "cookie1" "\
@@ -4778,7 +4778,7 @@ If FIX is non-nil, run `copyright-fix-years' instead.
 ;;;***
 \f
 ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
-;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (20178 7273))
+;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (20201 55112))
 ;;; Generated autoloads from progmodes/cperl-mode.el
 (put 'cperl-indent-level 'safe-local-variable 'integerp)
 (put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4803,8 +4803,8 @@ default.)  You can always quote (with \\[quoted-insert]) the left
 since most the time you mean \"less\".  CPerl mode tries to guess
 whether you want to type pair <>, and inserts is if it
 appropriate.  You can set `cperl-electric-parens-string' to the string that
-contains the parenths from the above list you want to be electrical.
-Electricity of parenths is controlled by `cperl-electric-parens'.
+contains the parens from the above list you want to be electrical.
+Electricity of parens is controlled by `cperl-electric-parens'.
 You may also set `cperl-electric-parens-mark' to have electric parens
 look for active mark and \"embrace\" a region if possible.'
 
@@ -5022,7 +5022,7 @@ if ARG is omitted or nil.
 ;;;***
 \f
 ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from emacs-lisp/crm.el
 
 (autoload 'completing-read-multiple "crm" "\
@@ -5069,7 +5069,7 @@ Major mode to edit Cascading Style Sheets.
 ;;;***
 \f
 ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;;  (20127 62865))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from emulation/cua-base.el
 
 (defvar cua-mode nil "\
@@ -5614,7 +5614,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
 ;;;***
 \f
 ;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el"
-;;;;;;  (20168 57844))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from cedet/data-debug.el
 
 (autoload 'data-debug-new-buffer "data-debug" "\
@@ -5624,8 +5624,8 @@ Create a new data-debug buffer with NAME.
 
 ;;;***
 \f
-;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20176
-;;;;;;  51947))
+;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20197
+;;;;;;  58064))
 ;;; Generated autoloads from net/dbus.el
 
 (autoload 'dbus-handle-event "dbus" "\
@@ -5638,8 +5638,8 @@ If the HANDLER returns a `dbus-error', it is propagated as return message.
 
 ;;;***
 \f
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20162
-;;;;;;  63140))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20187
+;;;;;;  22214))
 ;;; Generated autoloads from progmodes/dcl-mode.el
 
 (autoload 'dcl-mode "dcl-mode" "\
@@ -5839,8 +5839,8 @@ The most useful commands are:
 ;;;***
 \f
 ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (20154
-;;;;;;  24929))
+;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (20197
+;;;;;;  58064))
 ;;; Generated autoloads from delim-col.el
 
 (autoload 'delimit-columns-customize "delim-col" "\
@@ -5916,8 +5916,8 @@ with no args, if that value is non-nil.
 
 ;;;***
 \f
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20127
-;;;;;;  62865))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20187
+;;;;;;  22214))
 ;;; Generated autoloads from delsel.el
 
 (defalias 'pending-delete-mode 'delete-selection-mode)
@@ -6014,7 +6014,7 @@ the first time the mode is used.
 ;;;***
 \f
 ;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;;  "descr-text.el" (20170 13157))
+;;;;;;  "descr-text.el" (20189 63932))
 ;;; Generated autoloads from descr-text.el
 
 (autoload 'describe-text-properties "descr-text" "\
@@ -6042,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" (20165 31925))
+;;;;;;  "desktop.el" (20212 25403))
 ;;; Generated autoloads from desktop.el
 
 (defvar desktop-save-mode nil "\
@@ -6393,7 +6393,7 @@ Optional arguments are passed to `dig-invoke'.
 ;;;***
 \f
 ;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window
-;;;;;;  dired dired-listing-switches) "dired" "dired.el" (20167 36967))
+;;;;;;  dired dired-listing-switches) "dired" "dired.el" (20189 63932))
 ;;; Generated autoloads from dired.el
 
 (defvar dired-listing-switches (purecopy "-al") "\
@@ -6821,7 +6821,7 @@ strings when pressed twice.  See `double-map' for details.
 
 ;;;***
 \f
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19845 45374))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (20221 40442))
 ;;; Generated autoloads from play/dunnet.el
 
 (autoload 'dunnet "dunnet" "\
@@ -7099,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" (20166 16092))
+;;;;;;  "progmodes/ebnf2ps.el" (20203 10426))
 ;;; Generated autoloads from progmodes/ebnf2ps.el
 
 (autoload 'ebnf-customize "ebnf2ps" "\
@@ -7597,7 +7597,7 @@ an EDE controlled project.
 \f
 ;;;### (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" (20166 16092))
+;;;;;;  "emacs-lisp/edebug.el" (20187 22214))
 ;;; Generated autoloads from emacs-lisp/edebug.el
 
 (defvar edebug-all-defs nil "\
@@ -8098,15 +8098,11 @@ Emacs Lisp mode) that support ElDoc.")
 ;;;***
 \f
 ;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode)
-;;;;;;  "electric" "electric.el" (20168 57844))
+;;;;;;  "electric" "electric.el" (20187 22214))
 ;;; Generated autoloads from electric.el
 
 (defvar electric-indent-chars '(10) "\
-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-mode nil "\
 Non-nil if Electric-Indent mode is enabled.
@@ -8284,7 +8280,7 @@ Other values are interpreted as usual.
 ;;;***
 \f
 ;;;### (autoloads (report-emacs-bug-query-existing-bugs report-emacs-bug)
-;;;;;;  "emacsbug" "mail/emacsbug.el" (20093 44623))
+;;;;;;  "emacsbug" "mail/emacsbug.el" (20197 58064))
 ;;; Generated autoloads from mail/emacsbug.el
 
 (autoload 'report-emacs-bug "emacsbug" "\
@@ -8305,7 +8301,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" (20141 9296))
+;;;;;;  "vc/emerge.el" (20204 31303))
 ;;; Generated autoloads from vc/emerge.el
 
 (autoload 'emerge-files "emerge" "\
@@ -8580,7 +8576,7 @@ Insert selected KEYS after the point.
 ;;;***
 \f
 ;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify
-;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19865 50420))
+;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (20197 58064))
 ;;; Generated autoloads from epa-dired.el
 
 (autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8606,7 +8602,7 @@ Encrypt marked files.
 ;;;***
 \f
 ;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
-;;;;;;  "epa-file" "epa-file.el" (20038 20303))
+;;;;;;  "epa-file" "epa-file.el" (20197 58064))
 ;;; Generated autoloads from epa-file.el
 
 (autoload 'epa-file-handler "epa-file" "\
@@ -9668,7 +9664,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"
-;;;;;;  (20175 31160))
+;;;;;;  (20201 55112))
 ;;; Generated autoloads from language/ethio-util.el
 
 (autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9814,7 +9810,7 @@ Convert the Java escape sequences into corresponding Ethiopic characters.
 \(fn)" nil nil)
 
 (autoload 'ethio-find-file "ethio-util" "\
-Transliterate file content into Ethiopic dependig on filename suffix.
+Transliterate file content into Ethiopic depending on filename suffix.
 
 \(fn)" nil nil)
 
@@ -10533,8 +10529,8 @@ Copy directory-local variables to the -*- line.
 
 ;;;***
 \f
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20178
-;;;;;;  7273))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20201
+;;;;;;  55112))
 ;;; Generated autoloads from filesets.el
 
 (autoload 'filesets-init "filesets" "\
@@ -11040,7 +11036,7 @@ Flyspell whole buffer.
 \f
 ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
 ;;;;;;  turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20187 22214))
 ;;; Generated autoloads from follow.el
 
 (autoload 'turn-on-follow-mode "follow" "\
@@ -11136,7 +11132,7 @@ play around with the following keys:
 ;;;***
 \f
 ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;;  "forms" "forms.el" (20168 57844))
+;;;;;;  "forms" "forms.el" (20197 58064))
 ;;; Generated autoloads from forms.el
 
 (autoload 'forms-mode "forms" "\
@@ -11300,7 +11296,7 @@ and choose the directory as the fortune-file.
 ;;;***
 \f
 ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el"
-;;;;;;  (20182 4358))
+;;;;;;  (20218 64194))
 ;;; Generated autoloads from progmodes/gdb-mi.el
 
 (defvar gdb-enable-debug nil "\
@@ -11514,7 +11510,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
 ;;;***
 \f
 ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (20164 60780))
+;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (20187 22214))
 ;;; Generated autoloads from gnus/gnus.el
 (when (fboundp 'custom-autoload)
  (custom-autoload 'gnus-select-method "gnus"))
@@ -11567,7 +11563,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" (20168 57844))
+;;;;;;  "gnus/gnus-agent.el" (20221 40442))
 ;;; Generated autoloads from gnus/gnus-agent.el
 
 (autoload 'gnus-unplugged "gnus-agent" "\
@@ -11658,7 +11654,7 @@ If CLEAN, obsolete (ignore).
 ;;;***
 \f
 ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;;  (20182 4358))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from gnus/gnus-art.el
 
 (autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11812,8 +11808,8 @@ Reminder user if there are unsent drafts.
 \f
 ;;;### (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" (20088
-;;;;;;  26718))
+;;;;;;  gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20187
+;;;;;;  22214))
 ;;; Generated autoloads from gnus/gnus-fun.el
 
 (autoload 'gnus-random-x-face "gnus-fun" "\
@@ -11876,7 +11872,7 @@ If gravatars are already displayed, remove them.
 ;;;***
 \f
 ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;;  "gnus-group" "gnus/gnus-group.el" (20179 28130))
+;;;;;;  "gnus-group" "gnus/gnus-group.el" (20201 55112))
 ;;; Generated autoloads from gnus/gnus-group.el
 
 (autoload 'gnus-fetch-group "gnus-group" "\
@@ -12051,7 +12047,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
 ;;;***
 \f
 ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
-;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (20183 25152))
+;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (20207 7484))
 ;;; Generated autoloads from gnus/gnus-msg.el
 
 (autoload 'gnus-msg-mail "gnus-msg" "\
@@ -12217,7 +12213,7 @@ See the documentation for these variables and functions for details.
 ;;;***
 \f
 ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;;  (20076 35541))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from gnus/gnus-spec.el
 
 (autoload 'gnus-update-format "gnus-spec" "\
@@ -12239,7 +12235,7 @@ Declare back end NAME with ABILITIES as a Gnus back end.
 ;;;***
 \f
 ;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el"
-;;;;;;  (20172 54913))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from gnus/gnus-sum.el
 
 (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
@@ -12267,7 +12263,7 @@ Install the sync hooks.
 ;;;***
 \f
 ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;;  (20161 45793))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from gnus/gnus-win.el
 
 (autoload 'gnus-add-configuration "gnus-win" "\
@@ -12379,7 +12375,7 @@ Retrieve MAIL-ADDRESS gravatar and returns it.
 \f
 ;;;### (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" (20174 10230))
+;;;;;;  grep-window-height) "grep" "progmodes/grep.el" (20212 25403))
 ;;; Generated autoloads from progmodes/grep.el
 
 (defvar grep-window-height nil "\
@@ -12525,6 +12521,9 @@ to go to the lines where grep found matches.
 
 This command shares argument histories with \\[lgrep] and \\[grep-find].
 
+When called programmatically and FILES is nil, REGEXP is expected
+to specify a command to run.
+
 \(fn REGEXP &optional FILES DIR CONFIRM)" t nil)
 
 (autoload 'zrgrep "grep" "\
@@ -12538,7 +12537,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'.
 
 ;;;***
 \f
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (19845 45374))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (20188 43079))
 ;;; Generated autoloads from gs.el
 
 (autoload 'gs-load-image "gs" "\
@@ -12552,7 +12551,7 @@ the form \"WINDOW-ID PIXMAP-ID\".  Value is non-nil if successful.
 ;;;***
 \f
 ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
-;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20178 7273))
+;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20215 1592))
 ;;; Generated autoloads from progmodes/gud.el
 
 (autoload 'gud-gdb "gud" "\
@@ -13305,7 +13304,7 @@ be found in variable `hi-lock-interactive-patterns'.
 ;;;***
 \f
 ;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el"
-;;;;;;  (20127 62865))
+;;;;;;  (20197 58064))
 ;;; Generated autoloads from progmodes/hideif.el
 
 (autoload 'hide-ifdef-mode "hideif" "\
@@ -13411,8 +13410,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" (20164
-;;;;;;  60780))
+;;;;;;  highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20188
+;;;;;;  43079))
 ;;; Generated autoloads from hilit-chg.el
 
 (autoload 'highlight-changes-mode "hilit-chg" "\
@@ -13439,7 +13438,7 @@ buffer with the contents of a file
 \(fn &optional ARG)" t nil)
 
 (autoload 'highlight-changes-visible-mode "hilit-chg" "\
-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.
@@ -13673,7 +13672,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" (20107 16822))
+;;;;;;  "calendar/holidays.el" (20209 49217))
 ;;; Generated autoloads from calendar/holidays.el
 
 (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1")
@@ -13833,7 +13832,7 @@ Convert HTML to plain text in the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer)
-;;;;;;  "htmlfontify" "htmlfontify.el" (20183 25152))
+;;;;;;  "htmlfontify" "htmlfontify.el" (20188 43079))
 ;;; Generated autoloads from htmlfontify.el
 
 (autoload 'htmlfontify-buffer "htmlfontify" "\
@@ -13964,7 +13963,7 @@ bound to the current value of the filter.
 ;;;***
 \f
 ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;;  "ibuffer" "ibuffer.el" (20162 19074))
+;;;;;;  "ibuffer" "ibuffer.el" (20197 58671))
 ;;; Generated autoloads from ibuffer.el
 
 (autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -14147,7 +14146,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
 ;;;***
 \f
 ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;;  (20168 57844))
+;;;;;;  (20221 40442))
 ;;; Generated autoloads from progmodes/idlwave.el
 
 (autoload 'idlwave-mode "idlwave" "\
@@ -14281,8 +14280,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" (20178
-;;;;;;  7273))
+;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20203
+;;;;;;  10426))
 ;;; Generated autoloads from ido.el
 
 (defvar ido-mode nil "\
@@ -15163,7 +15162,7 @@ Convert old Emacs Devanagari characters to UCS.
 \f
 ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
 ;;;;;;  inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
-;;;;;;  "progmodes/inf-lisp.el" (20168 57844))
+;;;;;;  "progmodes/inf-lisp.el" (20197 58064))
 ;;; Generated autoloads from progmodes/inf-lisp.el
 
 (defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\
@@ -15230,7 +15229,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" (20172 54913))
+;;;;;;  info info-other-window) "info" "info.el" (20184 46008))
 ;;; Generated autoloads from info.el
 
 (autoload 'info-other-window "info" "\
@@ -15735,7 +15734,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" (20178 7273))
+;;;;;;  "ispell" "textmodes/ispell.el" (20187 22214))
 ;;; Generated autoloads from textmodes/ispell.el
 
 (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
@@ -16091,7 +16090,7 @@ by `jka-compr-installed'.
 
 ;;;***
 \f
-;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20167 36967))
+;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20222 61246))
 ;;; Generated autoloads from progmodes/js.el
 
 (autoload 'js-mode "js" "\
@@ -16208,7 +16207,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" (20164 60780))
+;;;;;;  "kmacro" "kmacro.el" (20187 22214))
 ;;; Generated autoloads from kmacro.el
  (global-set-key "\C-x(" 'kmacro-start-macro)
  (global-set-key "\C-x)" 'kmacro-end-macro)
@@ -16366,7 +16365,7 @@ Use \\[describe-mode] for more info.
 \f
 ;;;### (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" (20165 31925))
+;;;;;;  "lao-util" "language/lao-util.el" (20188 43079))
 ;;; Generated autoloads from language/lao-util.el
 
 (autoload 'lao-compose-string "lao-util" "\
@@ -16378,7 +16377,7 @@ Use \\[describe-mode] for more info.
 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
@@ -16584,8 +16583,8 @@ See `linum-mode' for more information on Linum mode.
 
 ;;;***
 \f
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20168
-;;;;;;  57844))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20203
+;;;;;;  10426))
 ;;; Generated autoloads from loadhist.el
 
 (autoload 'unload-feature "loadhist" "\
@@ -17226,7 +17225,7 @@ The mail client is taken to be the handler of mailto URLs.
 \f
 ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode
 ;;;;;;  makefile-gmake-mode makefile-automake-mode makefile-mode)
-;;;;;;  "make-mode" "progmodes/make-mode.el" (20176 51947))
+;;;;;;  "make-mode" "progmodes/make-mode.el" (20199 13366))
 ;;; Generated autoloads from progmodes/make-mode.el
 
 (autoload 'makefile-mode "make-mode" "\
@@ -17356,7 +17355,7 @@ Previous contents of that buffer are killed first.
 ;;;***
 \f
 ;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20203 10426))
 ;;; Generated autoloads from man.el
 
 (defalias 'manual-entry 'man)
@@ -17466,7 +17465,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" (20183 25152))
+;;;;;;  "gnus/message.el" (20222 61246))
 ;;; 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)
@@ -17632,7 +17631,7 @@ which specify the range to operate on.
 ;;;***
 \f
 ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;;  (20164 60780))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from progmodes/meta-mode.el
 
 (autoload 'metafont-mode "meta-mode" "\
@@ -17784,7 +17783,7 @@ delete the draft message.
 
 ;;;***
 \f
-;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20170 13157))
+;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20222 61246))
 ;;; Generated autoloads from mh-e/mh-e.el
 
 (put 'mh-progs 'risky-local-variable t)
@@ -18378,7 +18377,7 @@ kill ring; mouse-1 or mouse-3 kills it.
 
 ;;;***
 \f
-;;;### (autoloads (mpc) "mpc" "mpc.el" (20178 7273))
+;;;### (autoloads (mpc) "mpc" "mpc.el" (20222 61246))
 ;;; Generated autoloads from mpc.el
 
 (autoload 'mpc "mpc" "\
@@ -18565,7 +18564,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" (19845 45374))
+;;;;;;  "mule-util" "international/mule-util.el" (20197 58064))
 ;;; Generated autoloads from international/mule-util.el
 
 (autoload 'string-to-sequence "mule-util" "\
@@ -18671,7 +18670,7 @@ Return the value of CODING-SYSTEM's `encode-translation-table' property.
 (autoload 'with-coding-priority "mule-util" "\
 Execute BODY like `progn' with CODING-SYSTEMS at the front of priority list.
 CODING-SYSTEMS is a list of coding systems.  See `set-coding-system-priority'.
-This affects the implicit sorting of lists of coding sysems returned by
+This affects the implicit sorting of lists of coding systems returned by
 operations such as `find-coding-systems-region'.
 
 \(fn CODING-SYSTEMS &rest BODY)" nil (quote macro))
@@ -18800,13 +18799,13 @@ Open a network connection to HOST on PORT.
 
 ;;;***
 \f
-;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20188
+;;;;;;  43079))
 ;;; Generated autoloads from net/netrc.el
 
 (autoload 'netrc-credentials "netrc" "\
 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.
 
 \(fn MACHINE &rest PORTS)" nil nil)
@@ -18814,7 +18813,7 @@ listed in the PORTS list.
 ;;;***
 \f
 ;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el"
-;;;;;;  (20122 44898))
+;;;;;;  (20188 43079))
 ;;; Generated autoloads from net/network-stream.el
 
 (autoload 'open-network-stream "network-stream" "\
@@ -18882,7 +18881,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
@@ -19186,7 +19185,7 @@ Start newsticker treeview.
 ;;;***
 \f
 ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;;  (20168 57844))
+;;;;;;  (20221 40442))
 ;;; Generated autoloads from gnus/nndiary.el
 
 (autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -19381,7 +19380,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" (20174 10230))
+;;;;;;  "org/ob.el" (20189 63932))
 ;;; Generated autoloads from org/ob.el
 
 (autoload 'org-babel-execute-safely-maybe "ob" "\
@@ -19773,7 +19772,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"
-;;;;;;  (20170 13157))
+;;;;;;  (20197 58064))
 ;;; Generated autoloads from org/org.el
 
 (autoload 'org-babel-do-load-languages "org" "\
@@ -19997,7 +19996,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" (20178 7273))
+;;;;;;  org-agenda) "org-agenda" "org/org-agenda.el" (20187 22214))
 ;;; Generated autoloads from org/org-agenda.el
 
 (autoload 'org-agenda "org-agenda" "\
@@ -20398,7 +20397,7 @@ Set org-capture-templates to be similar to `org-remember-templates'.
 ;;;***
 \f
 ;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
-;;;;;;  "org-clock" "org/org-clock.el" (20172 54913))
+;;;;;;  "org-clock" "org/org-clock.el" (20187 22214))
 ;;; Generated autoloads from org/org-clock.el
 
 (autoload 'org-get-clocktable "org-clock" "\
@@ -20509,7 +20508,7 @@ publishing directory.
 \f
 ;;;### (autoloads (org-insert-export-options-template org-export-as-org
 ;;;;;;  org-export-visible org-export) "org-exp" "org/org-exp.el"
-;;;;;;  (20167 36967))
+;;;;;;  (20221 40442))
 ;;; Generated autoloads from org/org-exp.el
 
 (autoload 'org-export "org-exp" "\
@@ -21050,7 +21049,7 @@ line directly before or after the table.
 \f
 ;;;### (autoloads (org-publish-current-project org-publish-current-file
 ;;;;;;  org-publish-all org-publish) "org-publish" "org/org-publish.el"
-;;;;;;  (20161 45793))
+;;;;;;  (20189 63932))
 ;;; Generated autoloads from org/org-publish.el
 
 (defalias 'org-publish-project 'org-publish)
@@ -21160,7 +21159,7 @@ See also the variable `org-reverse-note-order'.
 ;;;***
 \f
 ;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
-;;;;;;  "org-table" "org/org-table.el" (20168 57844))
+;;;;;;  "org-table" "org/org-table.el" (20222 61246))
 ;;; Generated autoloads from org/org-table.el
 
 (autoload 'turn-on-orgtbl "org-table" "\
@@ -21184,7 +21183,7 @@ The table is taken from the parameter TXT, or from the buffer at point.
 ;;;***
 \f
 ;;;### (autoloads (org-export-as-taskjuggler-and-open org-export-as-taskjuggler)
-;;;;;;  "org-taskjuggler" "org/org-taskjuggler.el" (20166 16092))
+;;;;;;  "org-taskjuggler" "org/org-taskjuggler.el" (20187 22214))
 ;;; Generated autoloads from org/org-taskjuggler.el
 
 (autoload 'org-export-as-taskjuggler "org-taskjuggler" "\
@@ -21349,7 +21348,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"
-;;;;;;  (20168 57844))
+;;;;;;  (20189 63932))
 ;;; Generated autoloads from emacs-lisp/package.el
 
 (defvar package-enable-at-startup t "\
@@ -21459,8 +21458,8 @@ unknown are returned as nil.
 
 ;;;***
 \f
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20168
-;;;;;;  57844))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20200
+;;;;;;  34235))
 ;;; Generated autoloads from progmodes/pascal.el
 
 (autoload 'pascal-mode "pascal" "\
@@ -21535,7 +21534,7 @@ Check if KEY is in the cache.
 ;;;***
 \f
 ;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el"
-;;;;;;  (19863 8742))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from emacs-lisp/pcase.el
 
 (autoload 'pcase "pcase" "\
@@ -21606,7 +21605,7 @@ Completion rules for the `cvs' command.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (20104 14925))
+;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (20193 60993))
 ;;; Generated autoloads from pcmpl-gnu.el
 
 (autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -21784,7 +21783,7 @@ Setup `shell-mode' to use pcomplete.
 \f
 ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
 ;;;;;;  cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;;  "vc/pcvs.el" (20164 60780))
+;;;;;;  "vc/pcvs.el" (20187 22214))
 ;;; Generated autoloads from vc/pcvs.el
 
 (autoload 'cvs-checkout "pcvs" "\
@@ -21930,7 +21929,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;;  (20093 44623))
+;;;;;;  (20188 43079))
 ;;; Generated autoloads from textmodes/picture.el
 
 (autoload 'picture-mode "picture" "\
@@ -22002,7 +22001,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.
 
 \(fn)" t nil)
 
@@ -22010,8 +22009,8 @@ they are not defaultly assigned to keys.
 
 ;;;***
 \f
-;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20097
-;;;;;;  41737))
+;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20197
+;;;;;;  58064))
 ;;; Generated autoloads from gnus/plstore.el
 
 (autoload 'plstore-open "plstore" "\
@@ -22130,7 +22129,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"
-;;;;;;  (20175 31160))
+;;;;;;  (20201 55112))
 ;;; Generated autoloads from printing.el
 
 (autoload 'pr-interface "printing" "\
@@ -22639,12 +22638,12 @@ Interactively, you have the following situations:
 
    M-x pr-ps-fast-fire RET
       The command prompts the user for a N-UP value and printing will
-      immediatelly be done using the current active printer.
+      immediately be done using the current active printer.
 
    C-u   M-x pr-ps-fast-fire RET
    C-u 0 M-x pr-ps-fast-fire RET
       The command prompts the user for a N-UP value and also for a current
-      PostScript printer, then printing will immediatelly be done using the new
+      PostScript printer, then printing will immediately be done using the new
       current active printer.
 
    C-u 1 M-x pr-ps-fast-fire RET
@@ -22665,7 +22664,7 @@ zero and the argument SELECT is treated as follows:
    If it's nil, send the image to the printer.
 
    If it's a list or an integer lesser or equal to zero, the command prompts
-   the user for a current PostScript printer, then printing will immediatelly
+   the user for a current PostScript printer, then printing will immediately
    be done using the new current active printer.
 
    If it's an integer equal to 1, the command prompts the user for a file name
@@ -22678,7 +22677,7 @@ zero and the argument SELECT is treated as follows:
    instead of sending it to the printer.
 
    If it's a symbol which it's defined in `pr-ps-printer-alist', it's the new
-   active printer and printing will immediatelly be done using the new active
+   active printer and printing will immediately be done using the new active
    printer.
 
    Otherwise, send the image to the printer.
@@ -22705,7 +22704,7 @@ Noninteractively, the argument SELECT-PRINTER is treated as follows:
    If it's nil, the printing is sent to the current active text printer.
 
    If it's a symbol which it's defined in `pr-txt-printer-alist', it's the new
-   active printer and printing will immediatelly be done using the new active
+   active printer and printing will immediately be done using the new active
    printer.
 
    If it's non-nil, the command prompts the user for a new active text printer.
@@ -22717,7 +22716,7 @@ are both set to t.
 
 ;;;***
 \f
-;;;### (autoloads (proced) "proced" "proced.el" (20053 39261))
+;;;### (autoloads (proced) "proced" "proced.el" (20197 58064))
 ;;; Generated autoloads from proced.el
 
 (autoload 'proced "proced" "\
@@ -22733,7 +22732,7 @@ See `proced-mode' for a description of features available in Proced buffers.
 ;;;***
 \f
 ;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog"
-;;;;;;  "progmodes/prolog.el" (20176 51947))
+;;;;;;  "progmodes/prolog.el" (20221 40442))
 ;;; Generated autoloads from progmodes/prolog.el
 
 (autoload 'prolog-mode "prolog" "\
@@ -22832,8 +22831,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" (20172
-;;;;;;  55048))
+;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (20222
+;;;;;;  61437))
 ;;; 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"))) "\
@@ -23030,7 +23029,7 @@ If EXTENSION is any other symbol, it is ignored.
 ;;;***
 \f
 ;;;### (autoloads (jython-mode python-mode python-after-info-look
-;;;;;;  run-python) "python" "progmodes/python.el" (20170 13157))
+;;;;;;  run-python) "python" "progmodes/python.el" (20204 31303))
 ;;; Generated autoloads from progmodes/python.el
 
 (add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode))
@@ -23139,7 +23138,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" (20166 16092))
+;;;;;;  "international/quail.el" (20201 55112))
 ;;; Generated autoloads from international/quail.el
 
 (autoload 'quail-title "quail" "\
@@ -23845,8 +23844,8 @@ of master file.
 
 ;;;***
 \f
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19845
-;;;;;;  45374))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20221
+;;;;;;  40442))
 ;;; 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))))
@@ -23887,7 +23886,7 @@ This means the number of non-shy regexp grouping constructs
 \f
 ;;;### (autoloads (remember-diary-extract-entries remember-clipboard
 ;;;;;;  remember-other-frame remember) "remember" "textmodes/remember.el"
-;;;;;;  (20161 45793))
+;;;;;;  (20209 49217))
 ;;; Generated autoloads from textmodes/remember.el
 
 (autoload 'remember "remember" "\
@@ -24000,16 +23999,16 @@ first comment line visible (if point is in a comment).
 ;;;***
 \f
 ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;;  (20127 62865))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from reveal.el
 
 (autoload 'reveal-mode "reveal" "\
-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.
 
 \(fn &optional ARG)" t nil)
@@ -24100,7 +24099,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" (20174 10633))
+;;;;;;  "rmail" "mail/rmail.el" (20222 61246))
 ;;; Generated autoloads from mail/rmail.el
 
 (autoload 'rmail-movemail-variant-p "rmail" "\
@@ -24374,7 +24373,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20221 40442))
 ;;; Generated autoloads from nxml/rng-valid.el
 
 (autoload 'rng-validate-mode "rng-valid" "\
@@ -24433,7 +24432,7 @@ must be equal.
 ;;;***
 \f
 ;;;### (autoloads (robin-use-package robin-modify-package robin-define-package)
-;;;;;;  "robin" "international/robin.el" (20159 42847))
+;;;;;;  "robin" "international/robin.el" (20209 49217))
 ;;; Generated autoloads from international/robin.el
 
 (autoload 'robin-define-package "robin" "\
@@ -24504,7 +24503,7 @@ Toggle the use of ROT13 encoding for the current window.
 ;;;***
 \f
 ;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20221 40442))
 ;;; Generated autoloads from textmodes/rst.el
  (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
 
@@ -25029,7 +25028,7 @@ during scrolling.
 ;;;***
 \f
 ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic"
-;;;;;;  "cedet/semantic.el" (20172 54913))
+;;;;;;  "cedet/semantic.el" (20187 22214))
 ;;; Generated autoloads from cedet/semantic.el
 
 (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\
@@ -25365,8 +25364,8 @@ Like `mail' command, but display mail buffer in another frame.
 ;;;***
 \f
 ;;;### (autoloads (server-save-buffers-kill-terminal server-mode
-;;;;;;  server-force-delete server-start) "server" "server.el" (20172
-;;;;;;  54913))
+;;;;;;  server-force-delete server-start) "server" "server.el" (20188
+;;;;;;  43079))
 ;;; Generated autoloads from server.el
 
 (put 'server-host 'risky-local-variable t)
@@ -25433,7 +25432,7 @@ only these files will be asked to be saved.
 
 ;;;***
 \f
-;;;### (autoloads (ses-mode) "ses" "ses.el" (20172 54913))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (20207 7484))
 ;;; Generated autoloads from ses.el
 
 (autoload 'ses-mode "ses" "\
@@ -25673,7 +25672,7 @@ Set up file shadowing.
 ;;;***
 \f
 ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;;  (20168 57844))
+;;;;;;  (20197 58064))
 ;;; Generated autoloads from shell.el
 
 (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -26040,8 +26039,8 @@ then `snmpv2-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19886
-;;;;;;  45771))
+;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (20188
+;;;;;;  43079))
 ;;; Generated autoloads from calendar/solar.el
 
 (autoload 'sunrise-sunset "solar" "\
@@ -26338,7 +26337,7 @@ Spam reports will be queued with the method used when
 ;;;***
 \f
 ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;;  "speedbar.el" (20178 7273))
+;;;;;;  "speedbar.el" (20221 40442))
 ;;; Generated autoloads from speedbar.el
 
 (defalias 'speedbar 'speedbar-frame-mode)
@@ -26382,7 +26381,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"
-;;;;;;  (20178 7273))
+;;;;;;  (20207 7484))
 ;;; Generated autoloads from progmodes/sql.el
 
 (autoload 'sql-add-product-keywords "sql" "\
@@ -26878,7 +26877,7 @@ buffer.
 ;;;***
 \f
 ;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;;  (20160 63745))
+;;;;;;  (20197 58064))
 ;;; Generated autoloads from cedet/srecode/srt-mode.el
 
 (autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -27206,7 +27205,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" (20179 28130))
+;;;;;;  "table" "textmodes/table.el" (20189 63932))
 ;;; Generated autoloads from textmodes/table.el
 
 (defvar table-cell-map-hook nil "\
@@ -27446,7 +27445,7 @@ specified.
 (autoload 'table-shorten-cell "table" "\
 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
@@ -27950,7 +27949,7 @@ Normally input is edited in Emacs and sent a line at a time.
 ;;;***
 \f
 ;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
-;;;;;;  (20178 7273))
+;;;;;;  (20209 49217))
 ;;; Generated autoloads from term.el
 
 (autoload 'make-term "term" "\
@@ -28373,7 +28372,7 @@ Major mode to edit DocTeX files.
 ;;;***
 \f
 ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;;  "texinfmt" "textmodes/texinfmt.el" (20183 25152))
+;;;;;;  "texinfmt" "textmodes/texinfmt.el" (20187 22214))
 ;;; Generated autoloads from textmodes/texinfmt.el
 
 (autoload 'texinfo-format-buffer "texinfmt" "\
@@ -28729,7 +28728,7 @@ This function performs no refilling of the changed text.
 \f
 ;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
 ;;;;;;  display-time-mode display-time display-time-day-and-date)
-;;;;;;  "time" "time.el" (20127 62865))
+;;;;;;  "time" "time.el" (20187 22214))
 ;;; Generated autoloads from time.el
 
 (defvar display-time-day-and-date nil "\
@@ -29053,7 +29052,7 @@ relative only to the time worked today, and not to past time.
 ;;;***
 \f
 ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;;  "international/titdic-cnv.el" (20175 31160))
+;;;;;;  "international/titdic-cnv.el" (20201 55112))
 ;;; Generated autoloads from international/titdic-cnv.el
 
 (autoload 'titdic-convert "titdic-cnv" "\
@@ -29359,7 +29358,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" (20179 28130))
+;;;;;;  "net/tramp.el" (20209 49217))
 ;;; Generated autoloads from net/tramp.el
 
 (defvar tramp-mode t "\
@@ -29790,7 +29789,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" (20052 53218))
+;;;;;;  "international/ucs-normalize.el" (20187 22214))
 ;;; Generated autoloads from international/ucs-normalize.el
 
 (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -30053,7 +30052,7 @@ Handle file: and ftp: URLs.
 ;;;***
 \f
 ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;;  "url/url-gw.el" (19864 29553))
+;;;;;;  "url/url-gw.el" (20187 22214))
 ;;; Generated autoloads from url/url-gw.el
 
 (autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -30128,7 +30127,7 @@ accessible.
 ;;;***
 \f
 ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;;  url-http) "url-http" "url/url-http.el" (20167 36967))
+;;;;;;  url-http) "url-http" "url/url-http.el" (20201 55112))
 ;;; Generated autoloads from url/url-http.el
 
 (autoload 'url-http "url-http" "\
@@ -30576,7 +30575,7 @@ Encode UTF-7 STRING.  Use IMAP modification if FOR-IMAP is non-nil.
 \f
 ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
 ;;;;;;  uudecode-decode-region-external) "uudecode" "mail/uudecode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from mail/uudecode.el
 
 (autoload 'uudecode-decode-region-external "uudecode" "\
@@ -30606,8 +30605,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" (20172
-;;;;;;  54913))
+;;;;;;  vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20204
+;;;;;;  31303))
 ;;; Generated autoloads from vc/vc.el
 
 (defvar vc-checkout-hook nil "\
@@ -30630,34 +30629,27 @@ See `run-hooks'.")
 
 (autoload 'vc-next-action "vc" "\
 Do the next logical version control operation on the current fileset.
-This requires that all files in the fileset be in the same state.
-
-For locking systems:
-   If every file is not already registered, this registers each for version
-control.
-   If every file is registered and not locked by anyone, this checks out
-a writable and locked file of each ready for editing.
-   If every file is checked out and locked by the calling user, this
-first checks to see if each file has changed since checkout.  If not,
-it performs a revert on that file.
-   If every file has been changed, this pops up a buffer for entry
-of a log message; when the message has been entered, it checks in the
-resulting changes along with the log message as change commentary.  If
-the variable `vc-keep-workfiles' is non-nil (which is its default), a
-read-only copy of each changed file is left in place afterwards.
-   If the affected file is registered and locked by someone else, you are
-given the option to steal the lock(s).
-
-For merging systems:
-   If every file is not already registered, this registers each one for version
-control.  This does an add, but not a commit.
-   If every file is added but not committed, each one is committed.
-   If every working file is changed, but the corresponding repository file is
-unchanged, this pops up a buffer for entry of a log message; when the
-message has been entered, it checks in the resulting changes along
-with the logmessage as change commentary.  A writable file is retained.
-   If the repository file is changed, you are asked if you want to
-merge in the changes into your working copy.
+This requires that all files in the current VC fileset be in the
+same state.  If not, signal an error.
+
+For merging-based version control systems:
+  If every file in the VC fileset is not registered for version
+   control, register the fileset (but don't commit).
+  If every work file in the VC fileset is added or changed, pop
+   up a *vc-log* buffer to commit the fileset.
+  For a centralized version control system, if any work file in
+   the VC fileset is out of date, offer to update the fileset.
+
+For old-style locking-based version control systems, like RCS:
+  If every file is not registered, register the file(s).
+  If every file is registered and unlocked, check out (lock)
+   the file(s) for editing.
+  If every file is locked by you and has changes, pop up a
+   *vc-log* buffer to check in the changes.  If the variable
+   `vc-keep-workfiles' is non-nil (the default), leave a
+   read-only copy of each changed file after checking in.
+  If every file is locked by you and unchanged, unlock them.
+  If every file is locked by someone else, offer to steal the lock.
 
 \(fn VERBOSE)" t nil)
 
@@ -30937,7 +30929,7 @@ mode-specific menu.  `vc-annotate-color-map' and
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20174 10230))
+;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20209 49217))
 ;;; Generated autoloads from vc/vc-bzr.el
 
 (defconst vc-bzr-admin-dirname ".bzr" "\
@@ -30953,7 +30945,7 @@ Name of the format file in a .bzr directory.")
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20174 10230))
+;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20221 40442))
 ;;; Generated autoloads from vc/vc-cvs.el
 (defun vc-cvs-registered (f)
   "Return non-nil if file F is registered with CVS."
@@ -30964,7 +30956,7 @@ Name of the format file in a .bzr directory.")
 
 ;;;***
 \f
-;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20168 57844))
+;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20207 7484))
 ;;; Generated autoloads from vc/vc-dir.el
 
 (autoload 'vc-dir "vc-dir" "\
@@ -31023,7 +31015,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (19845 45374))
+;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20207 7484))
 ;;; Generated autoloads from vc/vc-hg.el
  (defun vc-hg-registered (file)
   "Return non-nil if FILE is registered with hg."
@@ -31034,7 +31026,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20174 10230))
+;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20221 40442))
 ;;; Generated autoloads from vc/vc-mtn.el
 
 (defconst vc-mtn-admin-dir "_MTN" "\
@@ -31096,7 +31088,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
 ;;;***
 \f
 ;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el"
-;;;;;;  (20131 59880))
+;;;;;;  (20203 10426))
 ;;; Generated autoloads from progmodes/vera-mode.el
  (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'")  'vera-mode))
 
@@ -31154,7 +31146,7 @@ Key bindings:
 ;;;***
 \f
 ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;;  (20183 25152))
+;;;;;;  (20222 61246))
 ;;; Generated autoloads from progmodes/verilog-mode.el
 
 (autoload 'verilog-mode "verilog-mode" "\
@@ -31293,7 +31285,7 @@ Key bindings specific to `verilog-mode-map' are:
 ;;;***
 \f
 ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;;  (20168 57844))
+;;;;;;  (20197 58064))
 ;;; Generated autoloads from progmodes/vhdl-mode.el
 
 (autoload 'vhdl-mode "vhdl-mode" "\
@@ -31444,7 +31436,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:
 
@@ -31889,7 +31881,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" (19845 45374))
+;;;;;;  "language/viet-util.el" (20187 22214))
 ;;; Generated autoloads from language/viet-util.el
 
 (autoload 'viet-encode-viscii-char "viet-util" "\
@@ -31937,7 +31929,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" (20174 10230))
+;;;;;;  "view" "view.el" (20188 43079))
 ;;; Generated autoloads from view.el
 
 (defvar view-remove-frame-by-deleting t "\
@@ -32147,7 +32139,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
@@ -32179,8 +32171,8 @@ Exit View mode and make the current buffer editable.
 
 ;;;***
 \f
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20141
-;;;;;;  9296))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20187
+;;;;;;  22214))
 ;;; Generated autoloads from emulation/vip.el
 
 (autoload 'vip-setup "vip" "\
@@ -32196,7 +32188,7 @@ Turn on VIP emulation of VI.
 ;;;***
 \f
 ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;;  (20167 36967))
+;;;;;;  (20187 22214))
 ;;; Generated autoloads from emulation/viper.el
 
 (autoload 'toggle-viper-mode "viper" "\
@@ -32794,8 +32786,8 @@ Minor mode for traversing widgets.
 ;;;***
 \f
 ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
-;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20162
-;;;;;;  19074))
+;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20222
+;;;;;;  61246))
 ;;; Generated autoloads from wid-edit.el
 
 (autoload 'widgetp "wid-edit" "\
@@ -33072,7 +33064,7 @@ The key bindings are:
 
 ;;;***
 \f
-;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20175 31160))
+;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20197 58064))
 ;;; Generated autoloads from net/xesam.el
 
 (autoload 'xesam-search "xesam" "\
@@ -33225,47 +33217,46 @@ 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-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"
+;;;;;;  "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"
 ;;;;;;  "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"
@@ -33273,13 +33264,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/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/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/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"
@@ -33291,33 +33282,32 @@ 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/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"
+;;;;;;  "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"
 ;;;;;;  "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"
@@ -33420,8 +33410,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") (20183
-;;;;;;  25444 347950))
+;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20224
+;;;;;;  16870 730403))
 
 ;;;***
 \f
index 09fe500116184aa8572884a91eff7d242e399891..d9a2b4c5c47fc8e3c75537524aa8bcc5e86fc500 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ledit.el --- Emacs side of ledit interface
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: languages
index 4e58a1b7118bafb98031062b797f489538bef7cb..162dc19f43742b6829c218ca75efede09c0cbd6f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; linum.el --- display line numbers in the left margin -*- lexical-binding: t -*-
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Markus Triska <markus.triska@gmx.at>
 ;; Maintainer: FSF
index 51df6ecff0af67a7e02cdd2aec85213260df356e..d747eb13b799747039a42dec46a3639a2c27bc85 100644 (file)
@@ -1,6 +1,6 @@
 ;;; loadhist.el --- lisp functions for working with feature groups
 
-;; Copyright (C) 1995, 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: FSF
@@ -156,7 +156,7 @@ documentation of `unload-feature' for details.")
     (dolist (buffer (buffer-list))
       (set-buffer buffer)
       (let ((proposed major-mode))
-        ;; Look for an antecessor mode not defined in the feature we're processing
+        ;; Look for a predecessor mode not defined in the feature we're processing
         (while (and proposed (rassq proposed unload-function-defs-list))
           (setq proposed (get proposed 'derived-mode-parent)))
         (unless (eq proposed major-mode)
index 792827dd913a354aee6ce2c92f363699f8821875..b7af41d6246f1d6f3c7d53efb46e4cb4d1ca8342 100644 (file)
@@ -1,6 +1,6 @@
 ;;; loadup.el --- load up standardly loaded Lisp files for Emacs
 
-;; Copyright (C) 1985-1986, 1992, 1994, 2001-2011
+;; Copyright (C) 1985-1986, 1992, 1994, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 2ac2d30f41def0804b4d8073f25e6ebee81cef74..29d7c75cbb2696305b2ae958d3970b61490b20f1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; locate.el --- interface to the locate command
 
-;; Copyright (C) 1996, 1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Peter Breton <pbreton@cs.umb.edu>
 ;; Keywords: unix files
index b4d15da78a7748b2266b7ed58e78b3a9c0cdd0df..68722a8f92041b0b63390fb8dc7051734f0d54b7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; longlines.el --- automatically wrap long lines   -*- coding:utf-8 -*-
 
-;; Copyright (C) 2000-2001, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2004-2012 Free Software Foundation, Inc.
 
 ;; Authors:    Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 ;;             Alex Schroeder <alex@gnu.org>
index 296063549fc9a95f42aeee2f968502f227c1b410..65295a7f86051d77f0516a7b9d5fd7ebc5f4f60a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lpr.el --- print Emacs buffer on line printer
 
-;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2011
+;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 14a8cabf1a74384a1b892bd751aed3cb9842da8f..576c746761d18a83122a36009828c6503db8a683 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp
 
-;; Copyright (C) 1992, 1994, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
 ;; Modified by: Francis J. Wright <F.J.Wright@maths.qmw.ac.uk>
index 554f89a8a60a6d9467677989c1ee1279c33f88dd..2f48aaa982a09c610b82c7a880d031a3cacf0ba7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; macros.el --- non-primitive commands for keyboard macros
 
-;; Copyright (C) 1985-1987, 1992, 1994-1995, 2001-2011
+;; Copyright (C) 1985-1987, 1992, 1994-1995, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 32593462062a519f8afa70c35b0b5c82920f828f..dd76ce90809ee25837f4f55acd23d489603fd136 100644 (file)
@@ -1,6 +1,6 @@
 ;;; binhex.el --- decode BinHex-encoded text
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: binhex news
index b614fffb69d6ca83e8d028f09a66ff99d2ed89b9..44b2996dea98198b2f567002ae83ba1d7eb3b5c6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; blessmail.el --- decide whether movemail needs special privileges -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 5b7601c6335e191c74058028b0ffedd86cd86c39..0e30727d48307d8e9d77ebf12678c6d2cfcc3975 100644 (file)
@@ -1,6 +1,6 @@
 ;;; emacsbug.el --- command to report Emacs bugs to appropriate mailing list
 
-;; Copyright (C) 1985, 1994, 1997-1998, 2000-2011
+;; Copyright (C) 1985, 1994, 1997-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
index 342d6c16b6ecf42432c55500328656675891ff45..05949d0eccfd39cb9ccc2807c81f55bb8822daef 100644 (file)
@@ -1,6 +1,6 @@
 ;;; footnote.el --- footnote support for message mode  -*- coding: utf-8;-*-
 
-;; Copyright (C) 1997, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Steven L Baur <steve@xemacs.org>
 ;; Keywords: mail, news
index 8343cd086b1e8b043cfa20999f31a85b5ecb1f46..279b5f7b4603f63069272717a5d3e8c5aa6e7f47 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hashcash.el --- Add hashcash payments to email
 
-;; Copyright (C) 2003-2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Written by: Paul Foley <mycroft@actrix.gen.nz> (1997-2002)
 ;; Maintainer: Paul Foley <mycroft@actrix.gen.nz>
index 12826001d86484bf1d34f437d223162175e85bd3..5012d8af6506f0fe9369ee891f0c369c7901f357 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mail-extr.el --- extract full name and address from RFC 822 mail header -*- coding: utf-8 -*-
 
-;; Copyright (C) 1991-1994, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991-1994, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Joe Wells <jbw@cs.bu.edu>
 ;; Maintainer: FSF
index d824c282805e66292b05b652ec274719b4cdeeed..0e79992aebefd3780d2ad3050a0f3fd5167dd4cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mail-hist.el --- headers and message body history for outgoing mail
 
-;; Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Karl Fogel <kfogel@red-bean.com>
 ;; Created: March, 1994
index 2e6f06a675840544b972252e8c65697a26a198e0..a20201fb529f3e5dc2cea7f3c6ead3dba6b6abe1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mail-utils.el --- utility functions used both by rmail and rnews
 
-;; Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail, news
index 2472b8a1870a5a6ac589d93757c5e06a91f1a33f..51a4c6506be5519dd44739ec8b9dcb418bb27476 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mailabbrev.el --- abbrev-expansion of mail aliases
 
-;; Copyright (C) 1985-1987, 1992-1993, 1996-1997, 2000-2011
+;; Copyright (C) 1985-1987, 1992-1993, 1996-1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com; now jwz@jwz.org>
index fc8a07acd47b069615aa1e9d167ce8666c97ab8f..0b55fe42e42b64719e999b15d293c33219ee2029 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mailalias.el --- expand and complete mailing address aliases -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985, 1987, 1995-1997, 2001-2011
+;; Copyright (C) 1985, 1987, 1995-1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index b957d9f36c67fe8dd3efccd0d3c10f7f56a0d9df..2e18c7ce23ab13d6ce51e7f62dd2e631597c0f1f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mailclient.el --- mail sending via system's mail client.
 
-;; Copyright (C) 2005-2011 Free Software Foundation
+;; Copyright (C) 2005-2012 Free Software Foundation
 
 ;; Author: David Reitter <david.reitter@gmail.com>
 ;; Keywords: mail
index 1277d1d410912bd361a0d5fb918901afff40482c..1c917a05dfb842dc1527c978a568fc4aa441b78c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mailheader.el --- mail header parsing, merging, formatting
 
-;; Copyright (C) 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum <erik@naggum.no>
 ;; Keywords: tools, mail, news
index fcc334ea30b6b1fc808e70b8208c74acf1f46b4c..ed2c4a66b7a6d8e823cae2c0e61bbca82ebf039a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; metamail.el --- Metamail interface for GNU Emacs
 
-;; Copyright (C) 1993, 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
 ;; Keywords: mail, news, mime, multimedia
index 9af5967268956a18567a538df995de6f9fdfef4d..d52d9633ee770f759e0948c9603b93931237d311 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mspools.el --- show mail spools waiting to be read
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Stephen Eglen <stephen@gnu.org>
 ;; Maintainer: Stephen Eglen <stephen@gnu.org>
index 6c5448aca837da8da223a13ca0068850bff78847..b4ee19b518697c29153c4f75f58e54eacc90e581 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reporter.el --- customizable bug reporting of lisp programs
 
-;; Copyright (C) 1993-1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author:          1993-1998 Barry A. Warsaw
 ;; Maintainer:      FSF
index d3f824fe50f59beea14088156860ea422c97e557..dd10189d264e6a4daeb36d2b6bef2f09e38d779a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc2368.el --- support for rfc2368
 
-;; Copyright (C) 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Sen Nagata <sen@eccosys.com>
 ;; Keywords: mail
index 9e4e60e6806d880249790a80d8312794255e92d2..4a1779d44f7e0ea98344917596400c1b5344a572 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfc822.el --- hairy rfc822 parser for mail and news and suchlike
 
-;; Copyright (C) 1986-1987, 1990, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1986-1987, 1990, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@eddie.mit.edu>
 ;; Maintainer: FSF
index 14a7674679744eb13360d0bf01d1dbd187ca88e1..d7e31bfade75139b6c89cf8ebd933e6bfa7830e8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmail-spam-filter.el --- spam filter for Rmail, the Emacs mail reader
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 ;; Keywords: email, spam, filter, rmail
 ;; Author: Eli Tziperman <eli AT deas.harvard.edu>
 ;; Package: rmail
index 2415ef969ee200b4ebdcd1eaedeb7969ac15f733..2a8140dd9727caa27a2a4a6703c33152f292881a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmail.el --- main code of "RMAIL" mail reader for Emacs
 
-;; Copyright (C) 1985-1988, 1993-1998, 2000-2011
+;; Copyright (C) 1985-1988, 1993-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -791,7 +791,7 @@ that knows the exact ordering of the \\( \\) subexpressions.")
   ;; These are all matched case-insensitively.
   (eval-when-compile
     (let* ((cite-chars "[>|}]")
-          (cite-prefix "a-z")
+          (cite-prefix "[:alpha:]")
           (cite-suffix (concat cite-prefix "0-9_.@-`'\"")))
       (list '("^\\(From\\|Sender\\|Resent-From\\):"
              . 'rmail-header-name)
@@ -2773,7 +2773,15 @@ The current mail message becomes the message displayed."
              (forward-line))
            (goto-char (point-min)))
          ;; Copy the headers to the front of the message view buffer.
-         (rmail-copy-headers beg end))
+         (rmail-copy-headers beg end)
+         ;; Decode any RFC2047 encoded message headers.
+         (if rmail-enable-mime
+             (with-current-buffer rmail-view-buffer
+               (rfc2047-decode-region
+                (point-min)
+                (progn
+                  (search-forward "\n\n" nil 'move)
+                  (point))))))
        ;; highlight the message, activate any URL like text and add
        ;; special highlighting for and quoted material.
        (with-current-buffer rmail-view-buffer
@@ -4472,7 +4480,7 @@ encoded string (and the same mask) will decode the string."
 ;;; Start of automatically extracted autoloads.
 \f
 ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "rmailedit.el"
-;;;;;;  "7f9bff22ed0bbac561c97fd1e3ab503d")
+;;;;;;  "7d558f958574f6003fa474ce2f3c80a8")
 ;;; Generated autoloads from rmailedit.el
 
 (autoload 'rmail-edit-current-message "rmailedit" "\
@@ -4484,7 +4492,7 @@ Edit the contents of this message.
 \f
 ;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message
 ;;;;;;  rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd"
-;;;;;;  "rmailkwd.el" "ec13237a2b0a9e9c1893e38d36b11134")
+;;;;;;  "rmailkwd.el" "4ae5660d86d49e524f4a6bcbc6d9a984")
 ;;; Generated autoloads from rmailkwd.el
 
 (autoload 'rmail-add-label "rmailkwd" "\
@@ -4527,7 +4535,7 @@ With prefix argument N moves forward N messages with these labels.
 
 ;;;***
 \f
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "2cb1f29b88b0c724fdba389fd7b98b00")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "be7f4b94a269f840b8707defd515c4f9")
 ;;; Generated autoloads from rmailmm.el
 
 (autoload 'rmail-mime "rmailmm" "\
@@ -4554,7 +4562,7 @@ The arguments ARG and STATE have no effect in this case.
 ;;;***
 \f
 ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "rmailmsc.el"
-;;;;;;  "ca19b2f8a3e8aa01aa75ca7413f8a5ef")
+;;;;;;  "e2212ea15561d60365ffa1f7a5902939")
 ;;; Generated autoloads from rmailmsc.el
 
 (autoload 'set-rmail-inbox-list "rmailmsc" "\
@@ -4570,7 +4578,7 @@ This applies only to the current session.
 \f
 ;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent
 ;;;;;;  rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject
-;;;;;;  rmail-sort-by-date) "rmailsort" "rmailsort.el" "ad1c98fe868c0e5804cf945d6c980d0b")
+;;;;;;  rmail-sort-by-date) "rmailsort" "rmailsort.el" "38da5f17d4ed0dcd2b09c158642cef63")
 ;;; Generated autoloads from rmailsort.el
 
 (autoload 'rmail-sort-by-date "rmailsort" "\
@@ -4629,7 +4637,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order.
 \f
 ;;;### (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" "d5971848a5fb43dc0092008376298a80")
+;;;;;;  rmail-summary) "rmailsum" "rmailsum.el" "bef21a376bd5bd59792a20dd86e6ec34")
 ;;; Generated autoloads from rmailsum.el
 
 (autoload 'rmail-summary "rmailsum" "\
@@ -4677,7 +4685,7 @@ SENDERS is a string of regexps separated by commas.
 ;;;***
 \f
 ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message)
-;;;;;;  "undigest" "undigest.el" "41e6a48ea63224385c447a944528feb6")
+;;;;;;  "undigest" "undigest.el" "1be42b2d20b13004f0ad1b504630ed00")
 ;;; Generated autoloads from undigest.el
 
 (autoload 'undigestify-rmail-message "undigest" "\
index 7e70f66ef1116f790bd06fbb9e80933887f0af06..0b837a43d947c2913de7b1a44c78d05cd6cc0c3e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailedit.el --- "RMAIL edit mode"  Edit the current message
 
-;; Copyright (C) 1985, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail
index 472740aefd8b6ee745425b6efb94db753cc078a3..a3a56fa47a2f9c4cdaf662fead5d272db84a0558 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailkwd.el --- part of the "RMAIL" mail reader for Emacs
 
-;; Copyright (C) 1985, 1988, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1988, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail
index d01cfc7f2c811887acfee6b9e5e64a14087bc753..9adc5eb9a068c7c0299a908b0a2c1cda116f2f80 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailmm.el --- MIME decoding and display stuff for RMAIL
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Alexander Pohoyda
 ;;     Alex Schroeder
@@ -320,7 +320,7 @@ The value is a vector [INDEX HEADER TAGLINE BODY END], where
            (setq index 2))
        ;; 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
+           ;; The next forward-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))
index 4519ab1505fdef794d73c6f5445b1d7c6c17deeb..bfe2b6bbd7970c9387e899af8cf12d4b34267c81 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailmsc.el --- miscellaneous support functions for the RMAIL mail reader
 
-;; Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail
index ad76a493483fe12bac1080272316a9d726605cdf..9c5b99c5184b275fa19141c40a2dc37ac8a5b232 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailout.el --- "RMAIL" mail reader for Emacs: output message to a file
 
-;; Copyright (C) 1985, 1987, 1993-1994, 2001-2011
+;; Copyright (C) 1985, 1987, 1993-1994, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index d8b85ad688a7cfc38f5981790d0409e841b88d70..41e24c0c16a334ee6fccae78954c00b68194488c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailsort.el --- Rmail: sort messages
 
-;; Copyright (C) 1990, 1993-1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
 ;; Maintainer: FSF
index 5c147be310405a962396ed94cd4dac6c07e13c00..d3a464161cb4fa270dc6998ba36c4c785cebaf6c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailsum.el --- make summary buffers for the mail reader
 
-;; Copyright (C) 1985, 1993-1996, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1993-1996, 2000-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail
index 6044392d4e0b29fdca739125d5d4221a8e0ffb6c..f0068e81811457c870790290913474248d222ceb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sendmail.el --- mail sending commands for Emacs.  -*- byte-compile-dynamic: t -*-
 
-;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2011
+;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index bc38b10124e5c6da76f31800d7cb34b63739db9f..e3051fd0c9fcd812efa76a9cdac34a2d59c155a8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; smtpmail.el --- simple SMTP protocol (RFC 821) for sending mail
 
-;; Copyright (C) 1995-1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Tomoji Kagatani <kagatani@rbc.ncl.omron.co.jp>
 ;; Maintainer: Simon Josefsson <simon@josefsson.org>
@@ -60,7 +60,6 @@
 (autoload 'message-make-date "message")
 (autoload 'message-make-message-id "message")
 (autoload 'rfc2104-hash "rfc2104")
-(autoload 'password-read "password-cache")
 
 ;;;
 (defgroup smtpmail nil
@@ -103,12 +102,14 @@ don't define this value."
   "Connection type SMTP connections.
 This may be either nil (possibly upgraded to STARTTLS if
 possible), or `starttls' (refuse to send if STARTTLS isn't
-available), or `plain' (never use STARTTLS).."
+available), or `plain' (never use STARTTLS), or `ssl' (to use
+TLS/SSL)."
   :version "24.1"
   :group 'smtpmail
   :type '(choice (const :tag "Possibly upgrade to STARTTLS" nil)
                 (const :tag "Always use STARTTLS" starttls)
-                (const :tag "Never use STARTTLS" plain)))
+                (const :tag "Never use STARTTLS" plain)
+                (const :tag "Use TLS/SSL" ssl)))
 
 (defcustom smtpmail-sendto-domain nil
   "Local domain name without a host name.
@@ -468,9 +469,6 @@ The list is in preference order.")
        (push el2 result)))
     (nreverse result)))
 
-;; `password-read' autoloads password-cache.
-(declare-function password-cache-add "password-cache" (key password))
-
 (defun smtpmail-command-or-throw (process string &optional code)
   (let (ret)
     (smtpmail-send-command process string)
index 3d754c08f830518868681bc301a6a3a9f4441d2f..c91c4b9fcd85801fb859cdfd18baf756ae0948f7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; supercite.el --- minor mode for citing mail and news replies
 
-;; Copyright (C) 1993, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org>
 ;; Maintainer:    Glenn Morris <rgm@gnu.org>
index f1bd98af29737d346826c40d2bb4113495ceb769..fdfe17a1a07cf0278c5a7fa0c25745590b1f11b6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; uce.el --- facilitate reply to unsolicited commercial email
 
-;; Copyright (C) 1996, 1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: stanislav shalunov <shalunov@mccme.ru>
 ;; Created: 10 Dec 1996
index 04bb320a2abdc7468ce3a31bbccf35ba0a3aeacc..ee44cc720517f1bb861e9b51049fa1560aabcdcf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; undigest.el --- digest-cracking support for the RMAIL mail reader
 
-;; Copyright (C) 1985-1986, 1994, 1996, 2001-2011
+;; Copyright (C) 1985-1986, 1994, 1996, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 652693209e825778c86751a7c630127953c4870d..929f97746b0734082aaa39b4d9547f2d52271276 100644 (file)
@@ -1,6 +1,6 @@
 ;;; unrmail.el --- convert Rmail Babyl files to mailbox files
 
-;; Copyright (C) 1992, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail
@@ -66,7 +66,8 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'."
          from to)
       (goto-char (point-min))
       (search-forward "\n\^_" nil t)   ; Skip BABYL header.
-      (setq from (point))
+      (if (= (setq from (point)) (point-max))
+         (error "The input file contains no messages"))
       (goto-char (point-max))
       (search-backward "\n\^_" from 'mv)
       (setq to (point))
index 8652e67d3e164b2c10a6a512b96e2d62acb228b9..d4bf89ffaa162d6a538a5fdb4f3fb61f36a91e6a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; uudecode.el -- elisp native uudecode
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: uudecode news
@@ -197,10 +197,10 @@ If FILE-NAME is non-nil, save the result to FILE-NAME."
          (cond
           (done)
           ((> 0 remain)
-           (error "uucode line ends unexpectly")
+           (error "uucode line ends unexpectedly")
            (setq done t))
           ((and (= (point) end) (not done))
-           ;;(error "uucode ends unexpectly")
+           ;;(error "uucode ends unexpectedly")
            (setq done t))
           ((= counter 3)
            (setq result (cons
index c8e535d4ac08d62ad3717db09cdf97e9209dd01b..33c87778dfd16f85912fe2ab04a6255cd10879b6 100644 (file)
@@ -1,5 +1,5 @@
 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 21fc693cfd6a9607eeb353503bf6a3389ae79817..f19cb4f5a3184497a9b3d2eb53ecb292e062d8be 100644 (file)
@@ -1,6 +1,6 @@
 ;;; makesum.el --- generate key binding summary for Emacs
 
-;; Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: help
index aeba3327c405da0a19f29ce86a868908b43c7df1..fb3153527497a03306817d99087ae331c45d6b61 100644 (file)
@@ -1,6 +1,6 @@
 ;;; man.el --- browse UNIX manual pages -*- coding: iso-8859-1 -*-
 
-;; Copyright (C) 1993-1994, 1996-1997, 2001-2011
+;; Copyright (C) 1993-1994, 1996-1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Barry A. Warsaw <bwarsaw@cen.com>
@@ -933,7 +933,8 @@ Return the buffer in which the manpage will appear."
        ;;               minal (using an ioctl(2) if available, the value of
        ;;               $COLUMNS,  or falling back to 80 characters if nei-
        ;;               ther is available).
-       (unless (or (getenv "MANWIDTH") (getenv "COLUMNS"))
+       (when (or window-system
+                  (not (or (getenv "MANWIDTH") (getenv "COLUMNS"))))
          ;; This isn't strictly correct, since we don't know how
          ;; the page will actually be displayed, but it seems
          ;; reasonable.
index c3e9004ca0bb23900c3e0f721cce1d054dc7045c..b23c449364676bff905fa48b1b102a75a840dc11 100644 (file)
@@ -1,6 +1,6 @@
 ;;; master.el --- make a buffer the master over another buffer
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: Alex Schroeder <alex@gnu.org>
index 22fd84a67aa371bd91822a2b9ad726bd80341c20..6cc5653d1ed360792b27a4f1078c825124e66906 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mb-depth.el --- Indicate minibuffer-depth in prompt
 ;;
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: convenience
index 8d89004de2346ae17716ba96d08ca79b68fbe02f..9ab44d5e3b2183a9c1a8f81293b48a5ccce68d98 100644 (file)
@@ -1,6 +1,6 @@
 ;;; md4.el --- MD4 Message Digest Algorithm.
 
-;; Copyright (C) 2001, 2004, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Taro Kawagishi <tarok@transpulse.org>
 ;; Keywords: MD4
index 9c020ffadabb6f489ff4b6801d6c6088be0554c6..7e54a9762ec3603b469d72f1c94605f2a9ebae89 100644 (file)
@@ -1,6 +1,6 @@
 ;;; menu-bar.el --- define a default menu bar
 
-;; Copyright (C) 1993-1995, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: RMS
 ;; Maintainer: FSF
index 02e531120be426647bddb51eed9540b67b6f5cf9..5ae9f8ecccc8aaf9a0551a28ce89188d8a7bfab8 100644 (file)
        * mh-mime.el: Shush XEmacs compiler in mh-do-in-xemacs block.
 
        * mh-folder.el: Use boundp instead of fboundp when testing
-       existence of desktop-buffer-mode-handlers.
+       existence of desktop-buffer-mode-handlers (closes SF #1510145).
 
 2011-05-10  Jim Meyering  <meyering@redhat.com>
 
        (mh-handle-process-error, mh-variant-info):
        * mh-comp.el (mh-forward):
        * mh-alias.el (mh-alias-local-users, mh-alias-which-file-has-alias):
-       (mh-alias-add-alias-to-file): Use with-current-buffer.
+       (mh-alias-add-alias-to-file): Use with-current-buffer (closes SF
+       #1903293).
 
 2009-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * ChangeLog.1: New file.  Contains old ChangeLog.
 
 
-       Copyright (C) 2005-2011  Free Software Foundation, Inc.
+       Copyright (C) 2005-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 65ffb0375abed77aa1398cb16ae1f1179e93e92c..8b4981940aee11ad9c2f573c129ddc6bf728177b 100644 (file)
        * mh-e.el (mh-version): Do something sensible when
        mh-variant-in-use is undefined.
        * mh-junk.el (mh-spamassassin-blacklist)
-       (mh-spamassassin-whitelist): Change options to be compatoble with
+       (mh-spamassassin-whitelist): Change options to be compatible with
        old version of spamassassin (V2.20).
 
 2003-09-07  Mark D. Baushke  <mdb@gnu.org>
        (dist): Leave release in current directory.
 
 
-  Copyright (C) 2003-2011  Free Software Foundation, Inc.
+  Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 2144eef730809875d8dad3bce101e499ace96e09..ee481868c47862bcbe02ea901e97dbd4874ec6ba 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-acros.el --- macros used in MH-E
 
-;; Copyright (C) 2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index c6d60b3b2e24003b35feae077f8e3517cee9b6e3..f5a7719d1ee8d3337ba66dffc2efa8cfe1b6053c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-alias.el --- MH-E mail alias completion and expansion
 
-;; Copyright (C) 1994-1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 48154cbf4e0d29d0f6d55880c31696f561c0a405..3410d859c49a163a04fd8a7d1967f0b9879a83ee 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-buffers.el --- MH-E buffer constants and utilities
 
-;; Copyright (C) 1993, 1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index eceb7a5fe3a51fa1695e32b77a24033ceb3c62f2..b2a5f02322413d01c7f53fc8455eb44730d332d8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-comp.el --- MH-E functions for composing and sending messages
 
-;; Copyright (C) 1993, 1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 88a6ed84055575a621e79cd12add723afda3538a..97d9c4eb69d490b361393beca311af386b2f43de 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-compat.el --- make MH-E compatible with various versions of Emacs
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 77ff914b0ccab4786fbb4e5881e054d7bdbfa1c7..2723fb5e684caa9ab1f1e5e714e1910078af8bcd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-e.el --- GNU Emacs interface to the MH mail system
 
-;; Copyright (C) 1985-1988, 1990, 1992-1995, 1997, 1999-2011
+;; Copyright (C) 1985-1988, 1990, 1992-1995, 1997, 1999-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
@@ -342,7 +342,7 @@ Name of the Previous sequence.")
   "Non-nil means that we have \"flists\".")
 
 (defvar mh-index-data-file ".mhe_index"
-  "MH-E specific file where index seach info is stored.")
+  "MH-E specific file where index search info is stored.")
 
 (defvar mh-letter-header-field-regexp "^\\([A-Za-z][A-Za-z0-9-]*\\):")
 
@@ -2508,7 +2508,7 @@ of citations entirely, choose \"None\"."
     "Seal-Send-Time:"
     "See-Also:"                         ; H. Spencer: News Article Format and Transmission, June 1994
     "Sensitivity:"                      ; RFC 2156, 2421
-    "Speach-Act:"                       ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
+    "Speech-Act:"                       ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
     "Status:"                           ; sendmail
     "Supersedes:"                       ; H. Spencer: News Article Format and Transmission, June 1994
     "Telefax:"                          ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
index 40febd641de9176a7135ecd4cbd28753acaa5e57..71ef87385ca5d83dcd9209242a62c82a78e162ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-folder.el --- MH-Folder mode
 
-;; Copyright (C) 2002-2003, 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 46a04c38845caa93bfcadd9d661a471ae4f03472..545919ae74cf8bd2b4b4cc049ee5172501bc3625 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-funcs.el --- MH-E functions not everyone will use right away
 
-;; Copyright (C) 1993, 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index f644282fc82ad27fb0e72cbce1e54c86a87a3844..18b320e607865ced17bc12a97fa148c7aeff0377 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-gnus.el --- make MH-E compatible with various versions of Gnus
 
-;; Copyright (C) 2003-2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 7e8b8576ff1d53f583162f054d27336d6bd19f1e..908f219e0fa130d06acad34475d02f470aed2c74 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-identity.el --- multiple identify support for MH-E
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 5248d6ab75e6b10afe7a356f85fc06364957f730..34903a0bca2b6d1df142a6fe77a04336e49bed73 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-inc.el --- MH-E "inc" and separate mail spool handling
 
-;; Copyright (C) 2003-2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 897f7518b1e5331a80adc4d6671d969b1396e042..2119d6f93ea3aecd14d157c3ecea40ca8b7ff258 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-junk.el --- MH-E interface to anti-spam measures
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>,
 ;;         Bill Wohler <wohler@newt.com>
index f269faf3a51841b57943597d74d91be35c2d30da..8aed18733480b7de1b7659298f95a07eac58fc47 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-letter.el --- MH-Letter mode
 
-;; Copyright (C) 1993, 1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -909,7 +909,7 @@ Any match found replaces the text from BEGIN to END."
                (with-output-to-temp-buffer completions-buffer
                  (mh-display-completion-list
                   (all-completions word choices)
-                  ;; The `common-subtring' arg only works if it's a prefix.
+                  ;; The `common-substring' arg only works if it's a prefix.
                   (unless (and (functionp choices)
                                (let ((bounds
                                       (funcall choices
index db17b05ef37291bc1b282d972b98648e13359c2a..a7da41e0535878f59acf18a49b285efe2fa8cb37 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-limit.el --- MH-E display limits
 
-;; Copyright (C) 2001-2003, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2003, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index a97185e1496f4c7227afc5963da52fd534724d13..66e1ba5ec696080334cb19a68765b42071efbab8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-mime.el --- MH-E MIME support
 
-;; Copyright (C) 1993, 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index bd99245efe61fcda01c60c6f3bb1d28a78b651de..0a289ab6e459ca1833caa491701dabbf69210f79 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-print.el --- MH-E printing support
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Jeffrey C Honig <jch@honig.net>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 8a3e1632e2e98d9998867ec3f80c81071b49a80b..5f0c0818714b3d8134a720d4ddd9c91389b32db3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-scan.el --- MH-E scan line constants and utilities
 
-;; Copyright (C) 1993, 1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index c06bc6649a505209784ad4670d2a2e71b606e6f6..453f1b77901cede2b9ee1e05dbd67fc0e7685e79 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-search  ---  MH-Search mode
 
-;; Copyright (C) 1993, 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Indexed search by Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index fc3e5c08143aeb45db68f07822a6ac7b236a97ba..19563dd9ba7e595a12ecf7eb5572521f4766f8b9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-seq.el --- MH-E sequences support
 
-;; Copyright (C) 1993, 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index d14ab20fc7cabbb864e8e1fc4b9cad38758bf08a..a5759344b2547520cd178e081e35e800723d51bf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-show.el --- MH-Show mode
 
-;; Copyright (C) 1993, 1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 5c3679e8ce6d67c9a4bdea2aba499470e1f321f8..65fef66be91d9fd3b7b96bb17f101d3c4e12fe75 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-speed.el --- MH-E speedbar support
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index c6f33a15fd2d166aa8173ef8e99ec29720da7e22..48c06c3df877a9dab6cd977867df0581b49636f6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-thread.el --- MH-E threading support
 
-;; Copyright (C) 2002-2004, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 4469c043b15608f12a9a5ea31df76f7cfc39a04a..384c0e7da47091c6397c2116e37cd0da7f722a30 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-tool-bar.el --- MH-E tool bar support
 
-;; Copyright (C) 2002-2003, 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 327d8ad7040ae4c08e23b24a01d0a5c3f1222857..1944a4cd08f1bbdda415a11dbe0ed83fda6a2323 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-utils.el --- MH-E general utilities
 
-;; Copyright (C) 1993, 1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 179b552d536a421c9ff31056e0d79acbe3081da0..5749a2c34616024b1b7c3cfe0da6fde6df7cce24 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mh-xface.el --- MH-E X-Face and Face header field display
 
-;; Copyright (C) 2002-2003, 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
index 762bc5445ba96991dde2f8984ad9136f469e7bdb..3c0923d7e587dc0d389cd787363bbeece37f21d9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; midnight.el --- run something every midnight, e.g., kill old buffers
 
-;; Copyright (C) 1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Sam Steingold <sds@gnu.org>
 ;; Maintainer: Sam Steingold <sds@gnu.org>
index 405721f97eea5119ec135dd74b10478f04aa5ea3..ef1bb115a2330176c92bd71ddd2329028c900914 100644 (file)
@@ -1,6 +1,6 @@
 ;;; minibuf-eldef.el --- Only show defaults in prompts when applicable
 ;;
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: convenience
index 11e195d4f7fe83e31c25eb5cf5a0e44b2cdc6efe..756010160d26a6f19449735b21d65b5dfdb6b22f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; minibuffer.el --- Minibuffer completion functions -*- lexical-binding: t -*-
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Package: emacs
@@ -2672,7 +2672,7 @@ the same set of elements."
                          mergedpat))
            ;; New pos from the start.
            (newpos (length (completion-pcm--pattern->string pointpat)))
-           ;; Do it afterwards because it changes `pointpat' by sideeffect.
+           ;; Do it afterwards because it changes `pointpat' by side effect.
            (merged (completion-pcm--pattern->string (nreverse mergedpat))))
 
       (setq suffix (completion--merge-suffix merged newpos suffix))
index 8087c7f525903c5bab9d2bab8345029dd23d7c42..4706c918db3c9231a6ccbac3276b060f0016a780 100644 (file)
@@ -1,6 +1,6 @@
 ;;; misc.el --- some nonstandard editing and utility commands for Emacs
 
-;; Copyright (C) 1989, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: convenience
index de1a32ff7d53c7c397677c385b4cd8fdcfa10ebb..22021bac57092ef7e086e2ef5ac6a4d898707b33 100644 (file)
@@ -1,6 +1,6 @@
 ;;; misearch.el --- isearch extensions for multi-buffer search
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Juri Linkov <juri@jurta.org>
 ;; Keywords: matching
index 92fbdeb74e03b34e94649f4e45bd4c74cc021c67..8d043b4495feee5c9df3b4451b2c2673ca7c07fe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mouse-copy.el --- one-click text copy and move
 
-;; Copyright (C) 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: John Heidemann <johnh@ISI.EDU>
 ;; Keywords: mouse
index fb6c8b7470fb618c0e6777c3a062b7dbad2a02d3..17591ef12dd844b573019b0b35a6f369e6334537 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mouse-drag.el --- use mouse-2 to do a new style of scrolling
 
-;; Copyright (C) 1996-1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: John Heidemann <johnh@ISI.EDU>
 ;; Keywords: mouse
index 7f04cac96fe9c0d39efe0a6f4746c91aec76b96a..6323ef0369610224af016e6524ea00fa40cf7f91 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mouse-sel.el --- multi-click selection support
 
-;; Copyright (C) 1993-1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Mike Williams <mdub@bigfoot.com>
 ;; Keywords: mouse
index 615062dc031f9335aee7ee6519ab1cb32d0cbffa..2e1194837975fcded708f2829ba81345590e58ea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mouse.el --- window system-independent mouse support
 
-;; Copyright (C) 1993-1995, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1999-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: hardware, mouse
@@ -62,7 +62,7 @@ typically sets point where you click the mouse).
 If value is an integer, the time elapsed between pressing and
 releasing the mouse button determines whether to follow the link
 or perform the normal Mouse-1 action (typically set point).
-The absolute numeric value specifices the maximum duration of a
+The absolute numeric value specifies the maximum duration of a
 \"short click\" in milliseconds.  A positive value means that a
 short click follows the link, and a longer click performs the
 normal action.  A negative value gives the opposite behavior.
index 224131623f426275392c5ae4172690b94bc76247..614f2bd68066ee4679c92305f926b5ba0f544d15 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mpc.el --- A client for the Music Player Daemon   -*- coding: utf-8; lexical-binding: t -*-
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: multimedia
@@ -2412,7 +2412,7 @@ This is used so that they can be compared with `eq', which is needed for
     (let* (songid       ;The ID of the currently ffwd/rewinding song.
            songduration ;The duration of that song.
            songtime     ;The time of the song last time we ran.
-           oldtime      ;The timeoftheday last time we ran.
+           oldtime      ;The time of day last time we ran.
            prevsongid)  ;The song we're in the process leaving.
       (let ((fun
              (lambda ()
index 74ceff1a9cdda0cbe1b3b8fc4eec65dbd89142ad..2c759b1c89d23530fdfb73d25c518564d9b79e6c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; msb.el --- customizable buffer-selection with multiple menus
 
-;; Copyright (C) 1993-1995, 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Lindberg <lars.lindberg@home.se>
 ;; Maintainer: FSF
index 05aeb12acf47709af556062b0d15f21a8b1b7d39..7b507664712d878b7e3d741e3883d3f4a3e564f3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mwheel.el --- Wheel mouse support
 
-;; Copyright (C) 1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012  Free Software Foundation, Inc.
 ;; Maintainer: William M. Perry <wmperry@gnu.org>
 ;; Keywords: mouse
 ;; Package: emacs
index 06d200c4e3e1f47dabc694e2facf1481723e47f4..93954588fa99b86e5eff2a5e9103b78c99a30135 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ange-ftp.el --- transparent FTP support for GNU Emacs
 
-;; Copyright (C) 1989-1996, 1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1989-1996, 1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Andy Norman (ange@hplb.hpl.hp.com)
 ;; Maintainer: FSF
@@ -3637,6 +3637,10 @@ so return the size on the remote host exactly. See RFC 3659."
   (setq filename (expand-file-name filename)
        newname (expand-file-name newname))
 
+  (or (file-exists-p filename)
+      (signal 'file-error
+             (list "Copy file" "no such file or directory" filename)))
+
   ;; canonicalize newname if a directory.
   (if (file-directory-p newname)
       (setq newname (expand-file-name (file-name-nondirectory filename) newname)))
index 3ab1a345470ee3b0e6f942d03aa51b58de0ef9eb..f378277d5f03a455250173860b3dbc5b3aa4fc47 100644 (file)
@@ -1,6 +1,6 @@
 ;;; browse-url.el --- pass a URL to a WWW browser
 
-;; Copyright (C) 1995-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012  Free Software Foundation, Inc.
 
 ;; Author: Denis Howe <dbh@doc.ic.ac.uk>
 ;; Maintainer: FSF
index 9254fef8a7fb67afb718523655207d720458e8eb..fbc83bf1df09b97a836dce22e1915186fe6d5d46 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dbus.el --- Elisp bindings for D-Bus.
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, hardware
index af78ded47863b3453127671caee2957523458482..6fffce679d11910d829176693a36bf11152a883e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dig.el --- Domain Name System dig interface
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: DNS BIND dig comm
index 3c1bd54acfdcbe3c5a6794dc132db06fb4637297..b94c161da31881f3834e4b6e85dfcd9474feff86 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dns.el --- Domain Name Service lookups
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: network comm
index 5847a2def641bca21baa09321ddb9c9dc7798ba6..17ea7f7fcd39efa516369532b6856d732cd44618 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudc-bob.el --- Binary Objects Support for EUDC
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index af8bc084b576ab8a998fa7ebb53edaf23a4168f9..beaceedd7888b6375a3fe47a49d868bb96cccbd3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudc-export.el --- functions to export EUDC query results
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index 1f6c4464808a9a7e216f2462411b73bcc67b2069..a4b98f9864bc87bd6d54ed5e6da3f59205b5269b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudc-hotlist.el --- hotlist management for EUDC
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index d9985312f9929899f309e9ee5c814c861f5f6a29..c6b42b2ba7253913b7fb25055c5276b29d966fce 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudc-vars.el --- Emacs Unified Directory Client
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index 6f4d5b2bbdaaf12760a3781380e23c2471549f5f..275f5f0fcbed1b862f94d1283311fb38031e5bb9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudc.el --- Emacs Unified Directory Client
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index 5afd255f419f99e2b26255ab0a9021465c48b9d3..9d160fe319d08ed4131ba4547d1d25746395ecb0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudcb-bbdb.el --- Emacs Unified Directory Client - BBDB Backend
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index fc7519e5b30c6c2269ce69f489bc0860e0c480bb..ba664e41362ca84c9916e1c90cb98c8c87e322eb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudcb-ldap.el --- Emacs Unified Directory Client - LDAP Backend
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index 485ca5a0c06aa9bde74db1ea1df74dadd759f104..69058c7af5cb6ef3ad3ed70a1e671e40eea62531 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudcb-mab.el --- Emacs Unified Directory Client - AddressBook backend
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@newartisans.com>
 ;; Maintainer: FSF
index 9e7490106ed8f1c815f6b2ae037e455b60381a46..8da98e9d7ce7f26e280cf2c2a9b9fe14ac659917 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eudcb-ph.el --- Emacs Unified Directory Client - CCSO PH/QI Backend
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
index 18471782f2cd2f46177ac4ce6a6ecce24131707f..17fef277736a2b7779390f325a77dbaa88a47ddf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnutls.el --- Support SSL/TLS connections through GnuTLS
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: comm, tls, ssl, encryption
index 1432c1e516b0563b31b26af7df8c28cef8553ab4..f95381fa8081f68e7749fa53de916dcb38222014 100644 (file)
@@ -1,6 +1,6 @@
 ;;; goto-addr.el --- click to browse URL or to send to e-mail address
 
-;; Copyright (C) 1995, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Ding <ericding@alum.mit.edu>
 ;; Maintainer: FSF
index 5c8710afdbffd43b238f23b057af990e07081b7b..ae604767a79126baea342cdb37855fce8a79c5d4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hmac-def.el --- A macro for defining HMAC functions.
 
-;; Copyright (C) 1999, 2001, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 ;; Keywords: HMAC, RFC2104
index a423cbeadd15af62f7a5d0ed9dbb6ae7dfc7890a..8d33750df250dae6f406ec47cd3baac54865dfbc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hmac-md5.el --- Compute HMAC-MD5.
 
-;; Copyright (C) 1999, 2001, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 ;; Keywords: HMAC, RFC2104, HMAC-MD5, MD5, KEYED-MD5, CRAM-MD5
index f4af03f100fb44041b3f855eff0436cb6700af49..6a25be736151cd46e91776d89e630358318848da 100644 (file)
@@ -1,6 +1,6 @@
 ;;; imap.el --- imap library
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: mail
index 1fa57dbfe3e87bbde5a6eed8eacff7bc7d5d6b32..941b6d7787c96a8004bc1f9f9bf929106b3bc73f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ldap.el --- client interface to LDAP for Emacs
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: FSF
index 68a0a6a85d41b4d9e4b98ec8d77d666039658517..84343b7de002045cc72f0a395d0b2847f8358488 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mairix.el --- Mairix interface for Emacs
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: David Engster <dengste@eml.cc>
 ;; Keywords: mail searching
index d75b36051f08d5073cac695163594386ebc6c84c..7fa8bdfbf70d184f65bdd4039d523765349c64d5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; net-utils.el --- network functions
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Sun Mar 16 1997
index 80836b03978081ed53bd10582772516123526bae..070b32a63d0af73bcbcf1a61fbccf39c9667c46f 100644 (file)
@@ -1,5 +1,5 @@
 ;;; netrc.el --- .netrc parsing functionality
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
index 9c07953c9c9dd83052462fca66747682419755ab..7860eb96846ad95d8a3a16164ca08ed72514fa13 100644 (file)
@@ -1,6 +1,6 @@
 ;;; network-stream.el --- open network processes, possibly with encryption
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: network
index fca36c70f2d80f581a19e6e5a0c191d77cd9d49b..c78249ced0f2816001dbeab242068c7f09c00ad8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newst-backend.el --- Retrieval backend for newsticker.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newst-backend.el
index f1b3ce7fd05235d520ba43b4c6d33ad7c87d906c..04db3a29d31f56a1037e0d9a9788f5af370c6b86 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newst-plainview.el --- Single buffer frontend for newsticker.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newst-plainview.el
index f9975c45fb3d99740bfb9c67d83cf83a254019e0..14e6584e9abc7c17b50a0a2898a1ba086876ed34 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newst-reader.el --- Generic RSS reader functions.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newst-reader.el
index cb82bb740482176a7afc442d55ec02d59f4bd765..e62dd284f7acc1ff2549a1ffd58610dbbbab0525 100644 (file)
@@ -1,6 +1,6 @@
 ;; newst-ticker.el --- modeline ticker for newsticker.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newst-ticker.el
index 8ff74a94eb09edd8be9b1be303232e1533e7d99e..d003554e5470e3d9ce0ccafd948528e873a615ab 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newst-treeview.el --- Treeview frontend for newsticker.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newst-treeview.el
index 0a1e07e63f1c0308c8e325c7363ca2592ba693ee..fc518c2484323397930e3263dfad2936c36aada8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newsticker.el --- A Newsticker for Emacs.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newsticker.el
index 9af148e8faac85164fd322c7d0e2837fc3426e4e..9626aef558d7d8a3c23c40329aba2495cf30d305 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ntlm.el --- NTLM (NT LanManager) authentication support
 
-;; Copyright (C) 2001, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Taro Kawagishi <tarok@transpulse.org>
 ;; Keywords: NTLM, SASL
@@ -440,7 +440,7 @@ length of STR is LEN."
 
 (defun ntlm-smb-dohash (in key forw)
   "Return the hash value for a string IN and a string KEY.
-Length of IN and KEY are 64.  FORW non nill means forward, nil means
+Length of IN and KEY are 64.  FORW non-nil means forward, nil means
 backward."
   (let (pk1                            ;string of length 56
        c                               ;string of length 28
index a31ec496c1657f9beaea3ffb827652597fe52c25..8d6aedff562947885ae0c16091706b966d8841b7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; quickurl.el --- insert a URL based on text at point in buffer
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Pearson <davep@davep.org>
 ;; Maintainer: Dave Pearson <davep@davep.org>
index 7d069a0f306fdfdca220c6e66c76f423dc08c5f9..771c9839cc0999c4e4113020b30a9bb6eb355f5c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rcirc.el --- default, simple IRC client.
 
-;; Copyright (C) 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Ryan Yeske <rcyeske@gmail.com>
 ;; Maintainers: Ryan Yeske <rcyeske@gmail.com>,
index 82df5b39c95a7123046254e3ba79c08370fbc232..d5815468a0596e0790b381d217fb5c09af2799a0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rcompile.el --- run a compilation on a remote machine
 
-;; Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Albert    <alon@milcse.rtsg.mot.com>
 ;; Maintainer: FSF
index effdcabfb6598db9ac5c069b83de69d4208462e6..ac936ee14290c84a759107809c259756ce966859 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rlogin.el --- remote login interface
 
-;; Copyright (C) 1992-1995, 1997-1998, 2001-2011
+;; Copyright (C) 1992-1995, 1997-1998, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman
index 153d2cafe29a9a845d87c1933703eb7f4c2aef7b..dd2a0c3c505b7b4088701bf088638380123d65b0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sasl-cram.el --- CRAM-MD5 module for the SASL client framework
 
-;; Copyright (C) 2000, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;;     Kenichi OKADA <okada@opaopa.org>
index 1c7d2f02d108a303f13e2981f39eff767990036a..52a4a22600858ec813be76e28d7c1d4e48f2b664 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sasl-digest.el --- DIGEST-MD5 module for the SASL client framework
 
-;; Copyright (C) 2000, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;;     Kenichi OKADA <okada@opaopa.org>
index d8b367ac8ad1afe48a908e75e8698ae50adda777..312941816c7b520baa1a5e8b699ebb49d51a4aec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sasl-ntlm.el --- NTLM (NT Lan Manager) module for the SASL client framework
 
-;; Copyright (C) 2000, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Taro Kawagishi <tarok@transpulse.org>
 ;; Keywords: SASL, NTLM
index 2c4da7986e7dcc44d14e9024ca60b54a9ae93269..c6e95970f3d9a20f2fde181066c8696b69ed422b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sasl.el --- SASL client framework
 
-;; Copyright (C) 2000, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Keywords: SASL
index 1a48e8863f1b58d8980d1bd2b70bb14ce08398c0..46f45c501d2b7b5d056f18d222b8c9903aa518ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; secrets.el --- Client interface to gnome-keyring and kwallet.
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm password passphrase
index 8112ed5b177eb8037c3de12ab40e048a2094a45b..42b6f4826656d6a3672412df47defdf7af34b142 100644 (file)
@@ -1,6 +1,6 @@
 ;;; snmp-mode.el --- SNMP & SNMPv2 MIB major mode
 
-;; Copyright (C) 1995, 1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Paul D. Smith <psmith@BayNetworks.com>
 ;; Keywords: data
index 74f51d148ef6d75a3171179f1d2dd779c8197c78..dfa2b76899a3cd84e922748393935aecd7ba5340 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; soap-client.el -- Access SOAP web services from Emacs
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Alexandru Harsanyi <AlexHarsanyi@gmail.com>
 ;; Created: December, 2009
index 8f67d02dc6f77bfc3f317cb8dc6e09a47e204c89..823f815d58f5f4cb278f90df1dbeddf7af650645 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; soap-inspect.el -- Interactive inspector for soap WSDL structures
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Alexandru Harsanyi <AlexHarsanyi@gmail.com>
 ;; Created: October 2010
index d792077d86186be3c88344f2cea64f1cd7d68ac8..b9431bdeed7eefc3791d3519ed3c1708183059d1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; socks.el --- A Socks v5 Client for Emacs
 
-;; Copyright (C) 1996-2000, 2002, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2000, 2002, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: William M. Perry <wmperry@gnu.org>
 ;;         Dave Love <fx@gnu.org>
@@ -414,7 +414,7 @@ version.")
               ((= atype socks-address-type-name)
                (format "%c%s" (length address) address))
               (t
-               (error "Unkown address type: %d" atype))))
+               (error "Unknown address type: %d" atype))))
        (info (gethash proc socks-connections))
        request version)
     (or info (error "socks-send-command called on non-SOCKS connection %S"
index 59850f68d445b25739c78bf13d6b35fb2f3c3a00..00a556813c117490814ef49ae7517d1075302038 100644 (file)
@@ -1,6 +1,6 @@
 ;;; telnet.el --- run a telnet session from within an Emacs buffer
 
-;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2011
+;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: William F. Schelter
index 6f66156a7e2525f35840aa4d60f991c3238d65dc..9b9eb6f8f2ece9fdcc6a1f13dfbda1769d3c1910 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tls.el --- TLS/SSL support via wrapper around GnuTLS
 
-;; Copyright (C) 1996-1999, 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: comm, tls, gnutls, ssl
index 56087a3aef6a1c64ebdf3ff305f0c54b2017ac81..03a5fe5b88ec3a111599820b34da8c50fb75ab10 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-cache.el --- file information caching for Tramp
 
-;; Copyright (C) 2000, 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pittman <daniel@inanna.danann.net>
 ;;         Michael Albinus <michael.albinus@gmx.de>
index 998f62920a109f8ce1eb8c5388fe11d04a4d355e..e0d15eb85f6779137c96340b76da0861a27b0085 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-cmds.el --- Interactive commands for Tramp
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
index 89c7db241d89f62ca75dbdc32a4101ca95b8bf8b..2aea87e66ed5138b73ca1ca0714739b87411502e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-compat.el --- Tramp compatibility functions
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
index 71b3eacccea7dbeef6dbd4bbd720518927bb2c86..4b5b08cf7e1cadcd81aa226f791a74c92daa377e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
index 27dff3aa8d936e222bef6a43b0fd3e09c94172fe..396443e60e6de2d8b90e21b4c842a6882de7e391 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-gvfs.el --- Tramp access functions for GVFS daemon
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
@@ -1209,7 +1209,7 @@ connection if a previous connection has died for some reason."
              (format "Opening connection for %s using %s" host method)
            (format "Opening connection for %s@%s using %s" user host method))
 
-       ;; Enable auth-sorce and password-cache.
+       ;; Enable auth-source and password-cache.
        (tramp-set-connection-property vec "first-password-request" t)
 
        ;; There will be a callback of "askPassword" when a password is
index 4ddd63bc3b8ffd2b8ce5a5e96e9f107e68f698b7..de42c402a63604b01408ab5e080c9ab6581c4107 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-gw.el --- Tramp utility functions for HTTP tunnels and SOCKS gateways
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
index da6f8a69e6d70cbaa0bfcb1464e805b71db43fb7..02f933be3673456a1ee871942165b7a3cd7c293a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-sh.el --- Tramp access functions for (s)sh-like connections
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; (copyright statements below in code to be updated with the above notice)
 
@@ -806,7 +806,7 @@ on the remote host.")
 (defconst tramp-perl-encode
   "%s -e '
 # This script contributed by Juanma Barranquero <lektu@terra.es>.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 use strict;
 
 my %%trans = do {
@@ -847,7 +847,7 @@ This string is passed to `format', so percent characters need to be doubled.")
 (defconst tramp-perl-decode
   "%s -e '
 # This script contributed by Juanma Barranquero <lektu@terra.es>.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 use strict;
 
 my %%trans = do {
@@ -3526,7 +3526,7 @@ variable PATH."
 Here, we are looking for a command which has zero exit status if the
 file exists and nonzero exit status otherwise."
   (let ((existing "/")
-        (nonexisting
+        (nonexistent
         (tramp-shell-quote-argument "/ this file does not exist "))
        result)
     ;; The algorithm is as follows: we try a list of several commands.
@@ -3551,22 +3551,22 @@ file exists and nonzero exit status otherwise."
                  (tramp-send-command-and-check
                   vec (format "%s %s" result existing))
                   (not (tramp-send-command-and-check
-                       vec (format "%s %s" result nonexisting))))
+                       vec (format "%s %s" result nonexistent))))
              (and (setq result "/bin/test -e")
                  (tramp-send-command-and-check
                   vec (format "%s %s" result existing))
                   (not (tramp-send-command-and-check
-                       vec (format "%s %s" result nonexisting))))
+                       vec (format "%s %s" result nonexistent))))
              (and (setq result "/usr/bin/test -e")
                  (tramp-send-command-and-check
                   vec (format "%s %s" result existing))
                   (not (tramp-send-command-and-check
-                       vec (format "%s %s" result nonexisting))))
+                       vec (format "%s %s" result nonexistent))))
              (and (setq result (format "%s -d" (tramp-get-ls-command vec)))
                  (tramp-send-command-and-check
                   vec (format "%s %s" result existing))
                   (not (tramp-send-command-and-check
-                       vec (format "%s %s" result nonexisting)))))
+                       vec (format "%s %s" result nonexistent)))))
       (tramp-error
        vec 'file-error "Couldn't find command to check if file exists"))
     result))
@@ -3618,7 +3618,8 @@ file exists and nonzero exit status otherwise."
             vec 'file-error
             "Couldn't find a shell which groks tilde expansion"))
          (tramp-message
-          vec 5 "Starting remote shell `%s' for tilde expansion" shell)
+          vec 5 "Starting remote shell `%s' for tilde expansion"
+          (tramp-set-connection-property vec "remote-shell" shell))
          (tramp-open-shell vec shell))
 
         (t (tramp-message
@@ -3785,6 +3786,17 @@ process to set up.  VEC specifies the connection."
   ;; Disable unexpected output.
   (tramp-send-command vec "mesg n; biff n" t)
 
+  ;; Busyboxes tend to behave strange.  We check for the existence.
+  (with-connection-property vec "busybox"
+    (tramp-send-command
+     vec
+     (format
+      "%s --version" (tramp-get-connection-property vec "remote-shell" "echo"))
+     t)
+    (with-current-buffer (process-buffer proc)
+      (let ((case-fold-search t))
+       (and (string-match "busybox" (buffer-string)) t))))
+
   ;; IRIX64 bash expands "!" even when in single quotes.  This
   ;; destroys our shell functions, we must disable it.  See
   ;; <http://stackoverflow.com/questions/3291692/irix-bash-shell-expands-expression-in-single-quotes-yet-shouldnt>.
@@ -4397,7 +4409,8 @@ function waits for output unless NOOUTPUT is set."
       ;; We mark the command string that it can be erased in the output buffer.
       (tramp-set-connection-property p "check-remote-echo" t)
       (setq command (format "%s%s%s" tramp-echo-mark command tramp-echo-mark)))
-    (when (string-match "<<'EOF'" command)
+    (when (and (string-match "<<'EOF'" command)
+              (not (tramp-get-connection-property vec "busybox" nil)))
       ;; Unset $PS1 when using here documents, in order to avoid
       ;; multiple prompts.
       (setq command (concat "(PS1= ; " command "\n)")))
index 73b9339e25a8ff31205c33af1702549d40413811..afce61cba83eed8b97b7cf097f28ebf5e4f233e2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-smb.el --- Tramp access functions for SMB servers
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
@@ -973,7 +973,7 @@ If VEC has no cifs capabilities, exchange \"/\" by \"\\\\\"."
       (setq
        localname
        (if (string-match "^/?[^/]+\\(/.*\\)" localname)
-          ;; There is a share, sparated by "/".
+          ;; There is a share, separated by "/".
           (if (not (tramp-smb-get-cifs-capabilities vec))
               (mapconcat
                (lambda (x) (if (equal x ?/) "\\" (char-to-string x)))
index 391fba0b404b0c0303fd7a88a09b980849a104ef..be612d011ebdb72b6c40405acbeb05e784fd6e38 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp-uu.el --- uuencode in Lisp
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;; Keywords: comm, terminals
index 2848211fae9bfc0646bfd7456bced25b2a3fcc42..afb7ab4312b57677a5f350ceb5ef67ddc5cde06c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tramp.el --- Transparent Remote Access, Multiple Protocol
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;;         Michael Albinus <michael.albinus@gmx.de>
@@ -3506,7 +3506,7 @@ If the `tramp-methods' entry does not exist, return nil."
        (cond
          ((char-equal other-write ?w) (tramp-compat-octal-to-decimal "00002"))
         ((char-equal other-write ?-) 0)
-         (t (error "Nineth char `%c' must be one of `w-'" other-write)))
+         (t (error "Ninth char `%c' must be one of `w-'" other-write)))
        (cond
        ((char-equal other-execute-or-sticky ?x)
         (tramp-compat-octal-to-decimal "00001"))
index fc0c936c407fdbbe14ea3349220a9e1382828166..f028c6e943f67be93e71523c1e239ffa306f8db1 100644 (file)
@@ -1,7 +1,7 @@
 ;;; trampver.el --- Transparent Remote Access, Multiple Protocol
 ;;; lisp/trampver.el.  Generated from trampver.el.in by configure.
 
-;; Copyright (C) 2003-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012 Free Software Foundation, Inc.
 
 ;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;; Keywords: comm, processes
index 6ef24e9f3549c4f014b18e8a4f1267698804283a..4b8fbe1e2cfa0b84211a1bac0748df6166db4e3c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; webjump.el --- programmable Web hotlist
 
-;; Copyright (C) 1996-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author:    Neil W. Van Dyke <nwv@acm.org>
 ;; Created:   09-Aug-1996
index 17b22aa03ba47bfd3293010b8e39de975a7ea66d..f47eeda8d975eb9c87690f758367e2241f842ecd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xesam.el --- Xesam interface to search engines.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: tools, hypermedia
index a889a6a4177d4aebaf5e3b3cf1f451add2420209..b994cdeaa685510ec5e58c769dff15abbd476df7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; zeroconf.el --- Service browser using Avahi.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, hardware
index 3f2338b3a4c4d83bb1651d34ff321ae4433dc5ef..e2be4829a9bdb7a59c43a8f8b26be0ab4dae1a73 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newcomment.el --- (un)comment regions of buffers -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: code extracted from Emacs-20's simple.el
 ;; Maintainer: Stefan Monnier <monnier@iro.umontreal.ca>
index e4e44fb0f670819d932f90da768f5fb43e1b5026..c3b6c759506646286f9650719c3d5fd157f22ed9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; notifications.el --- Client interface to desktop notifications.
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Julien Danjou <julien@danjou.info>
 ;; Keywords: comm desktop notifications
index e47b17cf346cc022f073a57fa6cc62f0a6bbd983..a5d38a3a57f753f94b328a316cfb69c88880876c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; novice.el --- handling of disabled commands ("novice mode") for Emacs
 
-;; Copyright (C) 1985-1987, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal, help
index 350c5c77c7b506217c21a79acc7f5c6c723bf6f3..dffea031b97fc98b93666a5c8db708b324178950 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-enc.el --- XML encoding auto-detection
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 1b48a3fa25f61f7b125a1d6ae367e11e4ca61628..ba940cd513eb491af2c801492f884935fe810a46 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-glyph.el --- glyph-handling for nxml-mode
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index e24a3d7172a1fdb7fe9f0dc57925290ab096f91f..79d5c354ab1bcc0067fb5de1ca6db9f86e877a5e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-maint.el --- commands for maintainers of nxml-*.el
 
-;; Copyright (C) 2003, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 93e5f9d25f44253d261cf1a34979a4d5ba6b394b..a22288e7d4ebffa89b35c10adf28eb53a79e4983 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-mode.el --- a new XML mode
 
-;; Copyright (C) 2003-2004, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 4cf7f50d096d60d9810da23c1ee1a67f365aa034..1c6429cd4676f56ef1d49464b3bd2a81ec211ee1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-ns.el --- XML namespace processing
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 53d2cabc2e58e6e18958d2b94ce05daa0e90c2d6..cf8cc820cecb582f9f960f2d8f900d1419b8a080 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-outln.el --- outline support for nXML mode
 
-;; Copyright (C) 2004, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 36e112e407848f187f7bcf945e07d88f9e623415..dfe98acd4136074d3daea594d676e0307516cb98 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-parse.el --- XML parser, sharing infrastructure with nxml-mode
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 05df6118325927582d5604b3299074897ec0fcdd..e639bc409b83b6c9a36eba3712e7efd2b139a3f7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-rap.el --- low-level support for random access parsing for nXML mode
 
-;; Copyright (C) 2003-2004, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index e96ee345ae63727eb302989227e6f5e82c72c408..7a49dcc89c55aad169d6e9ef3801a98bc1ecef5f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-uchnm.el --- support for Unicode standard cha names in nxml-mode
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index e2e4ed348bdb145e295c6d61b01597eee9c430ae..6b2c98433a9db2f9b8a9f4d80feb032de365733b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nxml-util.el --- utility functions for nxml-*.el
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 09bd2b750384397efe832dd30e6e0fc7c8b29931..9ea68c3e039179a2445e9b60069aa31e10eb2c28 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-cmpct.el --- parsing of RELAX NG Compact Syntax schemas
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index e320f8377b21f15e3c453af4c06924eee0d67805..e2beaf4dec24ee9d094cd8d5078fb1c3e2d8f0fb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-dt.el --- datatype library interface for RELAX NG
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index b9e31e0a09ecf186f4718c0b2eaa793686bb5db2..130183609cc1dea5281c9f9239b4e4e04523fe7a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-loc.el --- locate the schema to use for validation
 
-;; Copyright (C) 2003, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index bd5b3136d540cd9b3322ecfbc401ff247fe418ed..71fa59f75ccb95cfad7dfe0ab0ab8565ab122937 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-maint.el --- commands for RELAX NG maintainers
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index 072d932678a0e1448d891dcdde049ae725d71e9e..cf49b43ba148bfc696bc87a9558a494c3fed73da 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-match.el --- matching of RELAX NG patterns against XML events
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index 1686ebfc5143cc5063a1d22bd67995a89cca1dcf..1047ead1b13a3d2cb7ff664b08ba5613efa4cbf7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-nxml.el --- make nxml-mode take advantage of rng-validate-mode
 
-;; Copyright (C) 2003, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index 68a3aff3a0fbdae7fbe25b5b2711e78cd24c9c0e..fcdb52bbc44ead3a7effe6c6a91815e01e394a51 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-parse.el --- parse an XML file and validate it against a schema
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index a803369d3d262d9ced10086ee63adcbe140a43ba..653980d5acd815ea64ddcd1fca45d45db97043f3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-pttrn.el --- RELAX NG patterns
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index 2b367b20072555ac303bff26bba61dbdd736ac73..675be9c5ccf49f8265ca6d656a44725b29016173 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-uri.el --- URI parsing and manipulation
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 3e23b67c998d987857a088b04aa0da334c3976f9..0d50507478add43db75f599f956f2fcbeece354a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-util.el --- utility functions for RELAX NG library
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index 1f69f5d7bf32968c300fc38f3001f4b91713a9aa..6fc696361e8890a2ea2156d87b824e5bd8955c43 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-valid.el --- real-time validation of XML using RELAX NG
 
-;; Copyright (C) 2003, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
@@ -570,7 +570,7 @@ Return t if there is work to do, nil otherwise."
                 (rng-clear-cached-state remove-start (1- pos)))
               ;; sync up with cached validation state
               (setq continue nil)
-              ;; do this before settting rng-validate-up-to-date-end
+              ;; do this before setting rng-validate-up-to-date-end
               ;; in case we get a quit
               (rng-mark-xmltok-errors)
               (rng-mark-xmltok-dependent-regions)
index b481039fdabc40102ca83b257b294c0ce8b98831..d84ea5e1a71bb47ccd86c7282b1035676d22bb40 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rng-xsd.el --- W3C XML Schema datatypes library for RELAX NG
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, RelaxNG
index a9b24955fa7fb91a936e48fb29cd740a2177a39e..e4f6f3ca511e3ab6778d4f799fd7e44fb49d7b0c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xmltok.el --- XML tokenization
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
index 9701b8dc6e0e0097f9ad0b6fe19d9147c0ab9dfe..37ed58b2074ff3224d69e9f2a81dc0d8d2afcf0a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xsd-regexp.el --- translate W3C XML Schema regexps to Emacs regexps
 
-;; Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML, regexp
index 55940dfc1ce9a412d063c6dd0f78db1ad805c231..36856ea0d71d3c436054d98834b021136137b35e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; abbrevlist.el --- list one abbrev table alphabetically ordered
 
-;; Copyright (C) 1986, 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1992, 2001-2012 Free Software Foundation, Inc.
 ;; Suggested by a previous version by Gildea.
 
 ;; Maintainer: FSF
index 1a6d08c08efeed6f814e4b4ab0e5528143a89efd..c931af9df5e37463cf99a0df3139984edf928b52 100644 (file)
@@ -1,6 +1,6 @@
 ;;; awk-mode.el --- AWK code editing commands for Emacs
 
-;; Copyright (C) 1988, 1994, 1996, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1996, 2000-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: unix, languages
index 21bb46179c5ec084d3a6d4a7bb92e31e858bdbc8..a086de90b474f19d9a6ffb2299ac0141e3e890d4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cl-compat.el --- Common Lisp extensions for GNU Emacs Lisp (compatibility)
 
-;; Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
index 925361566fbb194632f9f141453e665c841792e0..5cb9456df42fd3f3ab2eabbcd4d530d331afcf5c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; complete.el --- partial completion mechanism plus other goodies
 
-;; Copyright (C) 1990-1993, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Keywords: abbrev convenience
index 67f51d690b2baed8b46673c103015b24b9a8472a..6cc45c21727440703b1d01551c42c72aeb0a71d5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; erc-hecomplete.el --- Provides Nick name completion for ERC
 
-;; Copyright (C) 2001-2002, 2004, 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2002, 2004, 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion
index c42c23094139d35c4b952d100ba51a1265697f48..9eb1d0569f0dfa308e377ada4be683fb29fe235e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; fast-lock.el --- automagic text properties caching for fast Font Lock mode
 
-;; Copyright (C) 1994-1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Marshall <simon@gnu.org>
 ;; Maintainer: FSF
index 347db281f1a229909f7b95024503caab336b848d..5a7e99197b85fb12fd1b31649d939cfe34331ea6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iso-acc.el --- minor mode providing electric accent keys
 
-;; Copyright (C) 1993-1994, 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Johan Vromans
 ;; Maintainer: FSF
index c223d096730e4d3d70449e1bea93f5567e279bfe..e2f53ea32af35281c7a0a2e4a633c36e66dcc30c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iso-insert.el --- insert functions for ISO 8859/1  -*- coding: iso-8859-1;-*-
 
-;; Copyright (C) 1987, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index 43686283e89b19adffcc4e90c614d0fe45e24004..c57b006036f5f5bc223cae01107a6fd755c77870 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iso-swed.el --- set up char tables for ISO 8859/1 for Swedish/Finnish ttys
 
-;; Copyright (C) 1987, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index ec1263e5189f15581fd20ec3cae879aaa0d9b012..e1257f8f1aa2a4a1cca8628d94d0e610d14ac56f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; keyswap.el --- swap BS and DEL keys -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Keywords: terminals
index a04db4a0c721ec57c687cb080141ab9a4beef7e5..7f055ec8c8f9d2cb98327410b6c1b03a3082ffec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lazy-lock.el --- lazy demand-driven fontification for fast Font Lock mode
 
-;; Copyright (C) 1994-1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Marshall <simon@gnu.org>
 ;; Maintainer: FSF
index 96183cadb9ba99bc8d3bfdbacc260c3b9d0abbc3..bd7272db460024d77eba82fafc0408cbcf731d9b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; levents.el --- emulate the Lucid event data type and associated functions
 
-;; Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: emulations
index 3c188be93e2573229708621d4a7b79e3adb186d7..8ee8200f9001f9b076ef0a165ca7aa9a0cee79e8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lmenu.el --- emulate Lucid's menubar support
 
-;; Copyright (C) 1992-1994, 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-1994, 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Keywords: emulations obsolete
 ;; Obsolete-since: 23.3
index d5ef629ffb4ed31b6950a01bb4973ecaff030ff9..c442ad31d1db1a66bee5f2989e2373677ce916a3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lucid.el --- emulate some Lucid Emacs functions
 
-;; Copyright (C) 1993, 1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: emulations
index b45003fcecc1e46fe5e5606f6cd7c64a2c92d076..e586d34b49975198a458d365477ec488e4ad4686 100644 (file)
@@ -1,6 +1,6 @@
 ;;; emacs-lock.el --- prevents you from exiting Emacs if a buffer is locked
 
-;; Copyright (C) 1994, 1997, 2001-2011 Free Software Foundation, Inc
+;; Copyright (C) 1994, 1997, 2001-2012 Free Software Foundation, Inc
 
 ;; Author: Tom Wurgler <twurgler@goodyear.com>
 ;; Created: 12/8/94
index 0c0580b55dc634e6c5b617d3e29b89c59e3bcdc4..3cd5d3a0c38cd01bb6930d095aaba10bd56ee242 100644 (file)
@@ -1,6 +1,6 @@
 ;;; whitespace.el --- warn about and clean bogus whitespaces in the file
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Rajesh Vaidheeswarran <rv@gnu.org>
 ;; Keywords: convenience
index 7c1c3552e2db7eb12c90c693da34f87f8ffd2b30..fef2943c8734b30b98a2809d9e893a4890ded55a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; options.el --- edit Options command for Emacs
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Obsolete-since: 22.1
index 192392d3821d09cd6753ecea16af3e8d34d8c58f..f66cc10380ed3a0833ea2fb9e5026bb9fac666f7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pc-mode.el --- emulate certain key bindings used on PCs
 
-;; Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: emulations
index 9a5f9e9d9dcc2c791e276022a98454e3639ba96d..676d7817f1bc4df935464298ca31e25458236ab3 100644 (file)
@@ -2,7 +2,7 @@
 ;;;                 (or MAC GUI or MS-windoze (bah)) look-and-feel
 ;;;                 including key bindings.
 
-;; Copyright (C) 1995-1997, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE>
 ;; Keywords: convenience emulations
index 39aef5fd278e875cd70703eafbfb522c1fc65a6d..ec208ea816de2f9dc92321abfcdb0bf4d24e936a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pgg-def.el --- functions/macros for defining PGG functions
 
-;; Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/11/02
index 2eafc631e9895b6c18d1f8634eea1a1b4ccd0d02..03de093f6b44e066a068ff1e2e137d37d445ad96 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pgg-gpg.el --- GnuPG support for PGG.
 
-;; Copyright (C) 1999-2000, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Symmetric encryption and gpg-agent support added by:
index 3d4539d9466f3d72d08f54447e11e7279104f69a..c7484ddd74705331c7dbc1b2ab7a36ac85858cc0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pgg-parse.el --- OpenPGP packet parsing
 
-;; Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/10/28
@@ -53,7 +53,7 @@
 
 (defcustom pgg-parse-symmetric-key-algorithm-alist
   '((1 . IDEA) (2 . 3DES) (4 . CAST5) (5 . SAFER-SK128))
-  "Alist of the assigned number to the simmetric key algorithm."
+  "Alist of the assigned number to the symmetric key algorithm."
   :group 'pgg-parse
   :type '(repeat
          (cons (sexp :tag "Number") (sexp :tag "Type"))))
index 7a9c70249a16a281ae6302092cab7a0cf205a50f..8e42779a27f550a833ce80271642a8a76455b093 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pgg-pgp.el --- PGP 2.* and 6.* support for PGG.
 
-;; Copyright (C) 1999-2000, 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/11/02
index 796310bcfdc7b97cb87bf527973a7398d28301e4..c6c8cd174e9e47070de9644b2e7d8ac8e3b26459 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pgg-pgp5.el --- PGP 5.* support for PGG.
 
-;; Copyright (C) 1999-2000, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/11/02
index 876f3744bc2f5f58f452f1a3294ea129756f9a95..996ba824f7304407114523f8fd40c6b7034fdb4d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pgg.el --- glue for the various PGP implementations.
 
-;; Copyright (C) 1999-2000, 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2012 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Symmetric encryption added by: Sascha Wilde <wilde@sha-bang.de>
index c9df1184d908f13720305f175d341418784aa0ab..905ea07459a90fe120f3fbed35f0d3ad39821ac4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; resume.el --- process command line args from within a suspended Emacs job
 
-;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Joe Wells <jbw@bucsf.bu.edu>
 ;; Adapted-By: ESR
index 8fb6703aa259a13edb382c3c59c164fbe1f28a16..1e09cbb4db6eb12d3179d69a03d4ee1614ce51e1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; s-region.el --- set region using shift key
 
-;; Copyright (C) 1994-1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
 ;; Keywords: terminals
index 1fbc9bc41589698a196b5a83ab459c011f941472..c46c834338f6027416bdb6669df763a92a4563b7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; scribe.el --- scribe mode, and its idiosyncratic commands
 
-;; Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: William Sommerfeld
 ;; (according to ack.texi)
index ec7f912455b932489a3a2842ddf18902774170e2..2105fc1cb86c8169ce7a74a3df95ce67303f665b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; spell.el --- spelling correction interface for Emacs
 
-;; Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: wp, unix
index d1c80a656723201fd69e3c53ccb903ddb90c48cf..73caf50aae370f595a67dbf8d97a499afb11e9d8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sregex.el --- symbolic regular expressions
 
-;; Copyright (C) 1997-1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Bob Glickstein <bobg+sregex@zanshin.com>
 ;; Maintainer: Bob Glickstein <bobg+sregex@zanshin.com>
index c31af8697ef6370df57176f8eb80fb187fee01bb..96f9b6110bd750668c1f08fe714cee868b4457fd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; swedish.el --- miscellaneous functions for dealing with Swedish
 
-;; Copyright (C) 1988, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index 7e9a460ea14fb80ca265e948c0e48a6b69a0e7d5..53fdd3a66e3e43ed8daff67870ab37f63cc64ed2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sym-comp.el --- mode-dependent symbol completion
 
-;; Copyright (C) 2004, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: extensions
index 980cdbfd71b2e32268d09a68eade6eae96e4fcdc..94db90f1d6a24e9608b227e17f1b1c7b88049607 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-mcvs.el --- VC backend for the Meta-CVS version-control system
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  None
index 6f835c7bfa4136aa0d10e50ae4f0b820025b4e49..983df8a6bfc16886dfe1d5cafe30d0357c22c569 100644 (file)
+2012-01-05  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-expand-noweb-references): Resurrect dropped
+       pieces of a previous patch.
+
+       * ob-maxima.el (org-babel-execute:maxima): Fix compiler warning.
+
+2012-01-05  Bastien Guerry  <bzg@gnu.org>
+
+       * org-eshell.el (org-eshell-open): Use (goto-char (point-max))
+       instead of (end-of-buffer).
+
+       * org-bbdb.el (name): Declare variable.
+       (bbdb-record-get-field, bbdb-search-name)
+       (bbdb-search-organization): Declare as part of ext:bbdb.
+
+       * org-agenda.el: Add an alias for `org-agenda-filter'.
+       (diary-list-entries-hook): Use the non-obsolete hook.
+       (org-agenda-filter-apply): Silent compiler warnings.
+
+       * org-mobile.el (org-mobile-push): Use `org-agenda-tag-filter'
+       instead of the obsolete `org-agenda-filter'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-ctrl-c-ctrl-c): Preserve symmetry when adding
+       and removing checkboxes with `C-u C-c C-c' on the first item
+       of a list.  Also, don't reinitialize checkboxes that are
+       already ticked.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-ts-regexp0, org-ts-regexp1): Also match a time
+       value with only one digit for the hours.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-batch-agenda, org-batch-agenda-csv):
+       Remove deleted function `org-encode-for-stdout'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-show-context): Complete docstring.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-filter-by-tag): Use
+       `read-char-exclusive' instead of `read-char'.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>  (tiny change)
+
+       * org-clock.el (org-clock-in, org-clock-find-position): Remove
+       erraneous space in regexp.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-expand-noweb-references): Rather than using
+       a pure regexp solution to resolve noweb references, actually
+       check the information of every code block in the buffer.  This
+       will cause a slowdown in noweb reference expansion, but is
+       necessary for correct behavior.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-map-continue-from): Fix typo in docstring.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-property-re): Also match cumulating properties
+       like ":prop+:".
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-exp-blocks.el (org-export-blocks-preprocess): Fix regexp for
+       matching the end of a block.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-open-at-point): Escape link path for http:,
+       https:, ftp:, news:, and doi: links only if the path contains
+       space or non-ascii character.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-refile-get-targets): Ignore headlines without a
+       true headline.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-map-call-lines): Moved this file from
+       ob-lob.el into ob.el to ease dependency pains.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-publish.el (org-publish-index-generate-theindex): Use
+       theindex.inc for storing index entries, and theindex.org for
+       including theindex.inc.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-publish.el (org-publish-index-generate-theindex): Create
+       proper file target for index entries in subdirectories.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-protocol.el (org-protocol-check-filename-for-protocol):
+       Fix spelling mistake.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-export-odt-default-org-styles-alist): Add styles
+       for title and subtitle.
+       (org-odt-format-toc): New.
+       (org-odt-format-preamble): New.  Users can redefine this to
+       customize what goes before the document body.  Currently it
+       outputs title, author and email, date and toc.
+       (org-odt-begin-document-body): Use `org-odt-format-preamble'.
+       (org-odt-format-date): Renamed from
+       `org-odt-iso-date-from-org-timestamp'.  Also added an
+       additional param for format string.
+       (org-odt-begin-annotation, org-odt-update-meta-file): Use
+       `org-odt-format-date'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-at-drawer-p): New function.
+       (org-end-of-line): Use it.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (*org-babel-use-quick-and-dirty-noweb-expansion*):
+       Controls the method in which noweb references are expanded.
+       (org-babel-expand-noweb-references): Bring back the option for
+       regexp-based noweb expansion.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-ts-regexp0, org-ts-regexp1): Also match a time value
+       with only one digit for the hours.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-ctrl-c-ctrl-c): Don't make `C-c C-c' special
+       when ticking the checkbox of the first item.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-list-write-struct): Add an optional
+       argument for structure changes happening outside the function.
+
+       * org.el (org-ctrl-c-ctrl-c): Now, `C-u C-c C-c' on the first
+       item of a sub-list should toggle check-box presence of every
+       item in the same sub-list.  Also fix check-box insertion on a
+       single item.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-filter-preset): New alias.
+       (org-agenda-filter-by-category): New command.
+       (org-agenda-mode-map): Add the new command.
+       (org-agenda-custom-commands-local-options): Add category
+       filter preset.
+       (org-agenda-mark-filtered-text): Mark both tag and filter
+       overlays.
+       (org-agenda-category-filter-preset): New variable.
+       (org-finalize-agenda, org-agenda-redo)
+       (org-agenda-filter-make-matcher, org-agenda-filter-apply): Handle
+       both category and tag filters.
+       (org-agenda-filter-show-all-tag): Rename from
+       `org-agenda-filter-by-tag-show-all'.
+       (org-agenda-filter-show-all-cat): New function.
+       (org-agenda-set-mode-name): Show the category filter in the
+       modeline.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-bbdb.el (org-bbdb-old): New variable.
+       (org-bbdb-store-link, org-bbdb-open): Check for
+       `org-bbdb-old'.
+       (org-bbdb-open-old, org-bbdb-open-new): New functions.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-batch-agenda, org-batch-agenda-csv):
+       Remove deleted function `org-encode-for-stdout'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-check-dates-range): New command.
+       (org-sparse-tree): Use it.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-write): Rename from
+       `org-write-agenda'.
+       (org-agenda-mode-map, org-agenda-menu)
+       (org-batch-store-agenda-views): Use new name
+       `org-agenda-write'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-loop-over-headlines-in-active-region): Fix
+       docstring.
+       (org-todo, org-deadline, org-schedule): Honor the 'start-level
+       value of `org-loop-over-headlines-in-active-region'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-archive.el (org-archive-subtree)
+       (org-archive-to-archive-sibling, org-toggle-archive-tag):
+       Bugfix: use 'region-start-level.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-show-context): Complete docstring.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-filter-by-tag): Use
+       `read-char-exclusive' instead of `read-char'.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-scan-tags): Make sure `org-map-continue-from' is
+       nil at each match.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>  (tiny change)
+
+       * org-clock.el (org-clock-in, org-clock-find-position): Remove
+       erraneous space in regexp.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-odt-lib-dir): Add docstring.
+       (org-odt-data-dir): New variable.  Use this variable to
+       control the locations from which the ODT exporter picks the
+       OpenDocument styles and schema files from.  Set this variable
+       explicitly only if the in-built heuristics for locating the
+       above files fails.
+       (org-odt-styles-dir-list, org-odt-schema-dir-list): New
+       variables.  Pay specific attention to (eval-when-compile ...)
+       form through which Makefile's $(datadir) - contained in
+       `org-odt-data-dir' - gets compiled in as a "hard coded"
+       constant.
+       (org-odt-styles-dir, org-export-odt-schema-dir): Add messages to
+       aid debugging.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-archive.el (org-archive-subtree)
+       (org-archive-to-archive-sibling, org-toggle-archive-tag)
+       (org-archive-set-tag): Handle the 'start-level value for
+       `org-loop-over-headlines-in-active-region'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-scan-tags): New parameter `start-level' to scan only
+       through headlines of that level.
+       (org-map-entries): New allowed value `region-start-level' for
+       the `scope' parameter, to allow scanning through headlines of
+       the same level than the first headline in the region.
+       (org-loop-over-headlines-in-active-region): New allowed value
+       'start-level.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-archive.el (org-archive-subtree)
+       (org-archive-to-archive-sibling, org-archive-set-tag)
+       (org-toggle-archive-tag): Allow to loop over the active region by
+       using `org-loop-over-headlines-in-active-region'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-todo): Allow to loop over the active region by
+       using `org-loop-over-headlines-in-active-region'.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-expand-noweb-references): Rather than using
+       a pure regexp solution to resolve noweb references, actually
+       check the information of every code block in the buffer.  This
+       will cause a slowdown in noweb reference expansion, but is
+       necessary for correct behavior.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-map-continue-from): Fix typo in docstring.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-write-buffer-name): New variable.
+       (org-write-agenda): Use it.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-exp.el (org-export-date-timestamp-format): New option to
+       define the way a timestamp in #+DATE will be exported.
+       (org-infile-export-plist): Use the new option.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-drill.el (org-drill-leech-method, org-drill-scope)
+       (org-drill-spaced-repetition-algorithm): Fix wrong :type spec.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-property-re): Also match cumulating properties
+       like ":prop+:".
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-odt-styles-dir): Assume that the styles
+       files are located under `data-directory' of Emacs distribution
+       as etc/org/OrgOdtStyles.xml and
+       etc/org/OrgOdtContentTemplate.xml.  Also update docstring.
+       (org-export-odt-schema-dir): Update docstring.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-odt-format-preamble): Honor following user
+       options: author, timestamp and email.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-exp-blocks.el (org-export-blocks-preprocess): Fix regexp
+       for matching the end of a block.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-eshell.el: New file.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-open-at-point): Escape link path for http:,
+       https:, ftp:, news:, and doi: links only if the path contains
+       space or non-ascii character.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-beamer.el (org-beamer-fragile-re): Also recognize
+       \lstinline and \verb as commands that make a frame fragile.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-refile-get-targets): Ignore headlines without a
+       true headline.
+
+2012-01-03  Litvinov Sergey  <slitvinov@gmail.com>
+
+       * ob-octave.el: add graphical output to png file
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-map-call-lines): Moved this file from
+       ob-lob.el into ob.el to ease dependency pains.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-publish.el (org-publish-index-generate-theindex): Use
+       theindex.inc for storing index entries, and theindex.org for
+       including theindex.inc.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-publish.el (org-publish-index-generate-theindex): Create
+       proper file target for index entries in subdirectories.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-protocol.el (org-protocol-check-filename-for-protocol):
+       Fix spelling mistake.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-export-odt-default-org-styles-alist): Add
+       styles for title and subtitle.
+       (org-odt-format-toc): New.
+       (org-odt-format-preamble): New.  Users can redefine this to
+       customize what goes before the document body.  Currently it
+       outputs title, author and email, date and toc.
+       (org-odt-begin-document-body): Use `org-odt-format-preamble'.
+       (org-odt-format-date): Renamed from
+       `org-odt-iso-date-from-org-timestamp'.  Also added an
+       additional param for format string.
+       (org-odt-begin-annotation, org-odt-update-meta-file): Use
+       `org-odt-format-date'.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob-ref.el (org-babel-ref-split-args): Now uses
+       `org-babel-balanced-split'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-export-html-preamble)
+       (org-export-html-postamble): Fix docstrings.
+       (org-export-as-html): Insert the string used by a custom
+       function for `org-export-html-pre/postamble'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-block-regexp)
+       (org-heading-keyword-regexp-format)
+       (org-heading-keyword-maybe-regexp-format): Move up to keep the
+       byte-compiler happy.
+
+2012-01-03  Dave Abrahams  <dave@boostpro.com>  (tiny change)
+
+       * org-agenda.el (org-agenda-do-tree-to-indirect-buffer): New
+       function.
+       (org-agenda-tree-to-indirect-buffer): Use the new function.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-export-as-html): Fix bug when inserting the
+       output of a custom function for the pre/postamble.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-odt-format-source-code-or-example): Try
+       loading htmlfontify safely.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-odt.el (require): Require htmlfontify.el only if
+       emacs-version is greater than 23.2.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-faces.el (org-agenda-calendar-event)
+       (org-agenda-calendar-sexp): Use the default face.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-expand-noweb-references): Fixed regexp.
+
+2012-01-03  Michael Brand  <michael.ch.brand@gmail.com>
+
+       * org.el Key bindings: remap the Outline functions from
+       `outline-mode-prefix-map' where possible.
+
+2012-01-03  Christian Moe  <mail@christianmoe.com>  (tiny change)
+
+       * org-html.el (org-export-as-html): Apply
+       `org-export-html-get-todo-kwd-class-name' to the class
+       attribute of the todo-keyword span tag, not to its text
+       content.
+
+2012-01-03  Sebastien Vauban  <sva@mygooglest.com>
+
+       * org-agenda.el (org-agenda-get-timestamps)
+       (org-agenda-get-sexps): Use face for highlighting "calendar"
+       events.
+
+2012-01-03  Peter Münster  <pmlists@free.fr>  (tiny change)
+
+       * org.el (org-add-planning-info): Treat absolute time too.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-table.el (org-table-transpose-table-at-point): Don't use
+       ̀remove-if-not'.
+
+2012-01-03  Dave Abrahams  <dave@boostpro.com>  (tiny change)
+
+       * org-clock.el (org-clock-out-if-current): Check the clock
+       buffer is existing.
+
+2012-01-03  Bernt Hansen  <bernt@norang.ca>
+
+       * org-clock.el (org-clock-out-if-current): Fix marker in no
+       buffer error for task state change in an indirect buffer.
+
+2012-01-03  Michael Brand  <michael.ch.brand@gmail.com>
+
+       * org.el (org-offer-links-in-entry): Make list when assigning
+       a single link.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-expand-noweb-references): Rather than
+       collect the info from *every* block in the current buffer,
+       simply regexp search for those blocks which appear to match
+       the continued source name.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob.el (org-babel-insert-result): Do not examplize wrapped
+       scalar results, simply wrap them.
+       (org-babel-result-end): Find the end of results wrapped in a
+       RESULTS drawer.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-todo-yesterday): When called from the agenda,
+       use `org-agenda-todo-yesterday' instead.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-table.el (org-table-transpose-table-at-point): New command.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-export-html-headline-anchor-format): New
+       option.
+       (org-html-level-start): Use the new option.
+
+2012-01-03  Rob Giardina  <rob@giardina.us>  (tiny change)
+
+       * org-agenda.el (org-agenda-with-point-at-orig-entry): Small
+       bugfix.
+
+2012-01-03  Christian Moe  <mail@christianmoe.com>  (tiny change)
+
+       * org-special-blocks.el
+       (org-special-blocks-convert-html-special-cookies): Close
+       paragraph before opening or closing the <div>, and open
+       paragraph after. Also changed newline placement to be the same
+       as for other blocks.
+
+2012-01-03  Roberto Huelga  <rhuelga@gmail.com>
+
+       * org-clock.el (org-program-exists): Make the function
+       compatible with darwin systems.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-exp.el (org-export-normalize-links): Mark bracket links
+       before normalization to avoid erroneous normalization of
+       bracket link parts.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-odt.el (org-odt-data-dir): Removed.
+       (org-odt-styles-dir, org-export-odt-schema-dir): New
+       variables.
+
+       * org-odt.el: New file.
+
+       * org-lparse: New file.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-capture.el (org-capture-set-target-location): Set the
+       capture default time also to the prompt time.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-exp.el (org-export-res/src-name-cleanup): Remove #+name
+       and #+results lines during preprocess.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob-picolisp.el (ob-comint): Required.
+       (comint): Required.
+       (cl): Required.
+       (run-picolisp): Declared.
+       (org-babel-execute:picolisp): Capture free variable, and replace
+       function from cl-extra with core function.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * ob-picolisp.el: New file.
+
+       * org.el (org-babel-load-languages): Add Pico Lisp to the list
+       of supported code block languages.
+
+2012-01-03  Eric Schulte  <eric.schulte@gmx.com>
+
+       * org-bibtex.el (org-bibtex): Now catches bibtex errors and
+       directs the user to the location of the error.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-dim-blocked-tasks): Fix typo.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * ob.el (org-babel-execute-src-block): Fix typo.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-freemind.el (org-freemind-write-mm-buffer): Fix typo.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-link-unescape, org-link-unescape-compound): Fix
+       two typos in docstrings.
+
+2012-01-03  Thomas Dye  <dk@poto.local>
+
+       * ob-R.el: Added tikzDevice support.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-clone-subtree-with-time-shift): Remove clocking
+       information and empty drawers when preparing a clone.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el: Don't add `org-exp-res/src-name-cleanup' to
+       `org-export-blocks-postblock-hook'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-hide-result-toggle): Skip over header
+       argument lines when toggling named code block visibility.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-exp.el (org-export-grab-title-from-buffer): Don't
+       license to kill text inside blocks when getting a title.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-confirm-evaluate): Adding support for new
+       range of :eval header arguments.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-confirm-evaluate): Inhibit evaluation
+       during export when eval is set to "non-export".
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-ref.el (org-babel-update-intermediate): New custom
+       variable.
+       (org-babel-ref-resolve): Optionally update the in-buffer results
+       of code blocks which are evaluated to resolve references.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-join-splits-near-ch): Rejoins a list of a
+       split string when a character appears on either side of the
+       split.
+       (org-babel-parse-multiple-vars): Rejoin splits around "=" signs.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org.el (org-reduce): Added a less functional Org-mode copy of
+       the cl reduce function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-fontify-meta-lines-and-blocks-1): Recognize
+       "name" as a valid keyword that can preceed a block.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el (org-babel-exp-lob-one-liners): Don't limit
+       in-verbatim check to inline code blocks, do lob code blocks as
+       well.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-todo): Interpret 0 prefix arg as note inhibitor.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-named-src-block-regexp-for-name): Ensure
+       that partial names are not matched.
+       (org-babel-named-data-regexp-for-name): Ensure that partial names
+       are not matched.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-ref.el (org-babel-ref-resolve): Search for named code
+       blocks before named data.
+
+       * ob.el (org-babel-named-data-regexp-for-name): New function for
+       finding named data.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-insert-result): Gracefully handle results
+       which are neither lists nor strings.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-ref.el (org-babel-ref-resolve): Don't change location when
+       looking at the contents.
+
+2012-01-03  Milan Zamazal  <pdm@zamazal.org>
+
+       * org.el (org-set-outline-overlay-data): Use
+       outline-flag-region to make a region invisible.  This ensures
+       all necessary actions, especially adding
+       isearch-open-invisible property, are applied.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-lob.el (org-babel-in-example-or-verbatim): Fix
+       compilation warning.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-find-named-result): Downcase "name" before
+       comparison.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-lisp.el (org-babel-execute:lisp): Fixed typo.
+       (org-babel-lisp-vector-to-list): Fixed typo.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el (org-babel-in-example-or-verbatim): Some valid
+       execution contexts (e.g., call lines) look like commented
+       lines.
+
+       * ob.el (org-babel-get-src-block-info): Empty match string doesn't
+       count.
+       (org-babel-process-params): Always process parameters, even if
+       you don't to table splitting.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el (org-exp-res/src-name-cleanup): Updated Documentation.
+
+       * ob-lob.el (org-babel-block-lob-one-liner-regexp): Updated
+       regular expression.
+       (org-babel-inline-lob-one-liner-regexp): Updated regular
+       expression.
+
+       * ob-ref.el (org-babel-ref-resolve): Notice when something that
+       looks like a data results may actually be a code block.
+
+       * ob-table.el: Updated documentation.
+
+       * ob.el (org-babel-src-name-regexp): Simplified regexp.
+       (org-babel-get-src-block-info): Updated match strings.
+       (org-babel-data-names): Simplified acceptable names.
+       (org-babel-find-named-block): Indentation.
+       (org-babel-find-named-result): Updated to not return a code block
+       as a result.
+
+       * org.el (org-fontify-meta-lines-and-blocks-1): Removing
+       references to old syntactic elements.
+       (org-additional-option-like-keywords): Removing references to
+       old syntactic elements.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el (org-agenda-get-todos): Swap calls to `org-trim'
+       and `buffer-substring'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-agenda.el (org-agenda-get-todos): Prevent an error when
+       encountering tasks with only the TODO keyword.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-try-cdlatex-tab): Don't try to expand a LaTeX
+       environment when at an item or an headline, but allow LaTeX
+       fragments.
+       (org-cycle): Try to call `cdlatex-tab' before cycling item's or
+       headline's visibility, in order to catch LaTeX fragments within.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-exp-blocks.el (org-export-blocks-preprocess): Require a
+       newline and spaces before a code block.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-lob.el (org-babel-map-call-lines): Allow mapping of code
+       over all call lines in a buffer.
+
+       * ob.el (org-babel-execute-buffer): Execute call lines when
+       executing an entire buffer.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-process-params): Don't disassemble tables
+       twice.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-clock.el (org-clock-in, org-clock-find-position): Make space
+       after date optional.
+
+       * org.el (org-set-regexps-and-options)
+       (org-ts-regexp, org-ts-regexp-both, org-ts-regexp1)
+       (org-ctrl-c-ctrl-c): Make `C-c C-c' on date fix the time stamp.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-lob.el (org-babel-lob-execute-maybe): Don't execute a call
+       inside a verbatim block.
+
+       * ob-exp.el (org-babel-in-example-or-verbatim): Check for example
+       blocks.
+
+2012-01-03  Litvinov Sergey  <slitvinov@gmail.com>
+
+       * ob-maxima.el (org-babel-tangle-lang-exts): Maxima extension.
+       (org-babel-maxima-expand): Add input variables and graphic output.
+       (org-babel-execute:maxima): Add input variables and graphic output.
+       (org-babel-maxima-var-to-maxima): Add input variables and graphic
+       output.
+       (org-babel-maxima-graphical-output-file): Add input variables and
+       graphic output.
+       (org-babel-maxima-elisp-to-maxima): Add input variables and graphic
+       output.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-fortran.el: New file.  Adding support for Fortran code blocks.
+       * org.el (org-babel-load-languages): Adding fortran to this list.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-new): Cannot insert an inline
+       footnote at beginning of line anymore.
+       (org-footnote-at-reference-p): Don't recognize inline footnotes at
+       beginning of line.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-set-font-lock-defaults): Fix small error in matching
+       group that prevented fontification of keywords like
+       org-comment-string and stars in headlines.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-catch-invisible-edits): New option.
+       (org-self-insert-command, org-delete-backward-char)
+       (org-delete-char): Call `org-check-before-invisible-edit'.
+       (org-check-before-invisible-edit): New function.
+
+2012-01-03  Suvayu Ali  <fatkasuvayu+linux@gmail.com>
+
+       * org-exp.el (org-solidify-link-text): Respect
+       org-export-with-tags when forming the export title during subtree
+       export.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-heading-regexp, org-heading-keyword-regexp-format)
+       (org-heading-keyword-maybe-regexp-format): Globalize variables so
+       they are accessible even in buffers not in Org mode.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-insert-link): Don't use default-description if a
+       `org-make-link-description-function' is defined.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org.el (org-set-regexps-and-options): Use property blocks for
+       multi-line properties.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-self-insert-command): Don't throw an error when
+       editing takes place at the first point of the buffer.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-self-insert-command): Unfold invisible region at
+       point or right before point when editing.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-faces.el (org-agenda-filter-tags): Use the 'modeline face as
+       default.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-html-expand): Prevent a nil value for STRING to
+       return an error, just return nil.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-latex.el (org-export-latex-set-initial-vars): Allow "/"
+       character in the #+LaTeX_CLASS option.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-at-reference-p)
+       (org-footnote-at-definition-p): Don't store text-properties of
+       footnote definitions.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-export-as-html): Convert special characters in
+       meta tag "author", "date", "keyword" and "description".
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-capture.el (org-capture-before-finalize-hook): Docstring
+       improvement: mention that the buffer is widened when this hook is
+       run.
+
+2012-01-03  Sebastien Vauban  <sva@mygooglest.com>
+
+       * org-html.el (org-export-as-html): Make sure the div for preamble
+       is not inserted when the preamble is empty.
+
+2012-01-03  Sebastien Vauban  <sva@mygooglest.com>
+
+       * org-agenda.el (org-agenda-set-mode-name): Highlight tags used
+       for filtering (shown in the mode-line).
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-parse-multiple-vars): Trimming excess white
+       space from split variables.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-link-search): Add an optional argument preventing
+       function from revealing context around match.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (calendar-check-holidays): Declare function.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-return): Fix bug when matching the face property
+       before following a link.
+
+2012-01-03  Matt Lundin  <mdl@imapmail.org>
+
+       * org-agenda.el: (org-class): Fix holidays symbol in
+       org-class.  This was resulting in an "Bad sexp..." warning.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-scan-tags): Also remember
+       `org-complex-heading-regexp' in a property.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-latex.el (org-export-as-latex): Turn off auto-insert and set
+       TeX-master to t when creating new TeX buffers.
+
+       * org-docbook.el (org-export-as-docbook): Turn off auto-insert
+       when creating new buffers.
+
+       * org-html.el (org-export-as-html): Turn off auto-insert
+       when creating new buffers.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-table.el (org-table-formula-handle-first/last-rc): Do not
+       expand pointers to first/last row/column that are inside a call to
+       `remote'.
+       (org-table-get-remote-range): Expand pointers to first/last
+       row/column.
+
+2012-01-03  Michael Sperber  <sperber@deinprogramm.de>  (tiny change)
+
+       * org-capture.el (org-capture-get-indirect-buffer): Fix XEmacs
+       compatibility issue when creating an indirect buffer.
+
+2012-01-03  Christophe Rhodes  <csr21@cantab.net>
+
+       * org-exp.el (org-infile-export-plist): Handle LATEX_CLASS_OPTIONS
+       the same way than LATEX_CLASS.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-return): Check the presence of the 'org-link face
+       even in contexts where there is more than one face.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-sql.el (org-babel-header-arg-names:sql): Sql specific header
+       argument names which should be inherited.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-in-block-p): Return matched name of block, if
+       any.  It can be useful when a list of block names is provided as
+       an argument.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-docbook.el (org-export-as-docbook): Fix regexp.
+
+       * org-html.el (org-export-as-html): Fix regexp.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el (org-class): Allow holidays to be skipped.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-shen.el (org-babel-execute:shen): Fix two compilation errors.
+
+2012-01-03  Peter Münster  <pmrb@free.fr>  (tiny change)
+
+       * org-agenda.el (org-agenda-to-appt): Make sure filter-items are
+       strings before calling `string-match'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-at-reference-p)
+       (org-footnote-at-definition-p): Remove text-properties from label.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-export-as-html): Add a "title" meta tag.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-to-appt): Allow to refine the scope of
+       entries to pass to `org-agenda-get-day-entries' and allow to
+       filter out entries using a function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-agenda.el: Fix small display bug.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-set-regexps-and-options): Fix small bug introduced
+       by commit dfcb6faef11a2439b56b18a6289803361d402130.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-agenda.el (org-search-view): Simplify regexp.
+       (org-agenda-get-todos): Use new format string.
+
+       * org-archive.el (org-archive-all-done): Simplify regexp.
+
+       * org-ascii.el (org-export-as-ascii): More accurate regexp.
+
+       * org-colview.el (org-columns-capture-view): Use new format string
+       and new string.
+
+       * org-docbook.el (org-export-as-docbook): More accurate
+       regexp.  Also use new regexp to match generic headlines.
+
+       * org-exp.el (org-export-protect-quoted-subtrees): More accurate
+       regexp.  Also use new regexp to match generic headlines.
+
+       * org-html.el (org-export-as-html): More accurate regexp.  Also
+       use new regexp to match generic headlines.
+
+       * org-mouse.el (org-mouse-match-todo-keyword): Removed unused
+       and now erroneous function.
+
+       * org.el (org-heading-regexp, org-heading-keyword-regexp-format):
+       New variables.
+       (org-set-regexps-and-options): Create regexps according to the
+       following rule: use spaces only to separate elements from an headline,
+       while allowing mixed tabs and spaces for any indentation job.
+       (org-nl-done-regexp, org-looking-at-done-regexp): Removed variables.
+       (org-set-font-lock-defaults): Fontify again headlines with a keyword
+       and no other text.  Use new format strings.
+       (org-get-heading, org-toggle-comment, org-prepare-agenda-buffers)
+       (org-toggle-fixed-width-section): Use new format string.
+       (org-todo): More accurate regexps.
+       (org-point-at-end-of-empty-headline): Simplify regexp.
+       (org-insert-heading): Headline can sometimes be nil.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-agenda.el (org-agenda-bulk-action): Bind
+       `org-loop-over-headlines-in-active-region' to nil to avoid conflict
+       with bulk command.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-deadline, org-schedule): Skip invisible headlines when
+       mapping over headlines in active region.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-loop-over-headlines-in-active-region): New
+       customization variable.  Loop over headlines in active region.
+       (org-schedule, org-deadline): Apply to headlines in region depending
+       on new customization variable.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-map-entries): Immediately return if scope is 'region
+       but no region is active.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-map-entries): Extend scope 'region to include entire
+       body of last headline in active region.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-src.el (org-edit-src-code): Fix typo-bug.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-format-agenda-item, org-scan-tags): Rename
+       `org-format-agenda-item' to `org-agenda-format-item'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el: Replace `category-pos' by `org-category-pos' to
+       silent byte-compiler.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el: Declare external function `cdlatex-compute-tables'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-latex.el (org-export-latex-set-initial-vars): Fix problem
+       when matching #+LaTeX_CLASS.
+
+2012-01-03  Rafael Laboissiere  <rafael@laboissiere.net>  (tiny change)
+
+       * org.el (org-link-search-must-match-exact-headline): Fix typos.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-latex.el (org-export-latex-make-header): Add some hyperref
+       options.
+
+2012-01-03  Kai Tetzlaff  <kai.tetzlaff@web.de>  (tiny change)
+
+       * org-publish.el (org-publish-file): Added 'eval'ing the value of
+       the :publishing-directory property before using it as destination
+       of the publishing project.  This allows to construct the publish
+       destination directory dynamically at run-time using the return
+       value of a function.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-list-stuck-projects): Fix tiny bug.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el (org-agenda-move-date-from-past-immediately-to-today):
+       New option.
+       (org-agenda-date-later): Improve the logical structure.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * ob-calc.el (featurep): Require calc-store.
+
+       * org-agenda.el (org-agenda-list-stuck-projects): Fix regexp
+       special handling.
+
+       * org-compat.el (fboundp): Support for XEmacs.
+
+       * org-exp.el (org-export): Protect XEmacs from `(redisplay)' call.
+
+       * org-footnote.el (org-footnote-re): Optimize macro processing.
+
+       * org.el (org-set-autofill-regexps): Xemacs compatibility.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-balanced-split): Balance both [] and ()
+       groupings.
+       (org-babel-parse-header-arguments): Be sure to replace removed ":"
+       characters.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-parse-header-arguments): Quick fix for a
+       tiny bug.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-params-from-properties): Now splits
+       multiple var arguments behind a single ":var".
+       (org-babel-balanced-split): Separated balanced splitting of
+       strings out into a new function.
+       (org-babel-parse-multiple-vars): Splits multiple var arguments
+       behind a single ":var".
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el: Remap `outline-promote' and `outline-demote' keys to
+       `org-promote-subtree' and `org-demote-subtree'.
+
+2012-01-03  Leo  <sdl.web@gmail.com>
+
+       * org-agenda.el (org-agenda-do-context-action): Check if marker is
+       valid before use.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>  (tiny change)
+
+       * org-agenda.el (org-agenda-date-later): Fix shifting of date
+       ranges.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el: Removing `org-babel-params-from-buffer' and
+       #+PROPERTIES: entirely.
+
+       * ob-exp.el (org-babel-exp-src-block): Removing
+       `org-babel-params-from-buffer' and #+PROPERTIES: entirely.
+
+       * ob-lob.el (org-babel-lob-execute): Removing
+       `org-babel-params-from-buffer' and #+PROPERTIES: entirely.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-params-from-buffer): Removing #+BABEL:
+       lines in favor of general #+PROPERTIES: lines.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-sql.el (org-babel-execute:sql): Insert into a temporary
+       buffer.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-cdlatex-mode): Run `cdlatex-mode-hook' and
+       update the internal cdlatex tables.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-sql.el (org-babel-execute:sql): Respect literal-results
+       options.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-disassemble-tables): Fix multi-table bug in
+       code block colname and rowname handling.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-publish.el (org-publish-cache-file-needs-publishing):
+       Fix regexp to not inlcude newlines.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-ctrl-c-ctrl-c): Remove table overlays before
+       restart.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-fontify-entities): Match entities before
+       numbers, as in `\sim2'.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el (org-agenda-date-later): Make pushing forward
+       a past date to jump immedialtely to today.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-exp.el (org-store-forced-table-alignment): Parse the
+       column cookie for both alignment and width
+       specification.  Store the resulting value in `org-col-cookies'
+       property.  Retire the previously used `org-forced-aligns'
+       property for consistency.  Renamed local variable `aligns' to
+       `cookies'.
+
+       * org-html.el (org-format-org-table-html): Use
+       `org-col-cookies'.  Renamed local variable forced-aligns to
+       col-cookies.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-latex-to-mathml-jar-file)
+       (org-latex-to-mathml-convert-command): New user-customizable
+       variables.
+       (org-format-latex-mathml-available-p, org-create-math-formula)
+       (org-format-latex-as-mathml): New functions.
+       (org-format-latex): Add a new local variable block-type that notes
+       the nature of the equation - inline or display.  Associate it's
+       value to `org-latex-src-embed-type' property of dvipng links.  Add
+       mathml as new processing type.
+
+2012-01-03  Sébastien Vauban  <wxhgmqzgwmuf@spammotel.com>
+
+       * org.el (org-refile): Add tree name to prompt.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-latex.el (org-export-latex-tables): Honor
+       `org-export-latex-table-caption-above'
+       (org-export-latex-table-caption-above): New option.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-insert-header-arg): Now including language
+       specific header arg values in insertion options.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-insert-header-arg): Fixed typo.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-exp.el (org-export-number-lines): Modified.  Add a new
+       parameter `preprocess' and use this for backend-agnostic
+       handling of literal examples.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-match-substring-regexp)
+       (org-match-substring-with-braces-regexp): Allow subscripts and
+       superscripts to start at beginning of line.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-common-header-args-w-values): New variable to
+       hold common header arguments and their default values.
+       (org-babel-header-arg-names): Redefined using the new common
+       header arg variable.
+       (org-babel-insert-header-arg): New function to help when inserting
+       header arguments.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-html.el (org-html-handle-links): Remove unnecessary
+       protection markers when publishing link in default format.
+
+2012-01-03  Pieter Praet  <pieter@praet.org>  (tiny change)
+
+       * org-crypt.el (org-crypt-check-auto-save): New function, see
+       next change.
+
+       * org-crypt.el (org-decrypt-entry): Break the auto-save-mode
+       check out into a separate function, and call it at a later
+       point, to assure it only runs when visiting an encrypted
+       entry.
+
+2012-01-03  John J Foerch  <jjfoerch@earthlink.net>  (tiny change)
+
+       * org.el (org-log-note-headings): Document new %d and %D
+       escapes.
+       (org-store-log-note): Implement new %d and %D escapes.
+
+2012-01-03  Dave Abrahams  <dave@boostpro.com>
+
+       * org-agenda.el (org-agenda-follow-indirect): New option.
+       (org-agenda-follow-mode): Call `org-agenda-do-context-action' fro
+       follow mode.
+       (org-agenda-do-context-action): Also do indirect follow mode
+       action.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-table.el (sbe): Fix typo in new sbe specification.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-table.el (sbe): If first variable is a string and not a
+       cons cell, then interpret it as a string of header arguments
+       to be passed to the code block.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-shen.el (shen-eval-defun): Declare external function.
+       (org-babel-execute:shen): Move requirement of inf-shen into
+       the function in which it is used to fix build error.
+
+       * ob-shen.el: New file.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>  (tiny change)
+
+       * org.el (org-open-at-point): Make `org-open-at-point' only
+       ask once about creating a new headline.
+
+2012-01-03  Nick Dokos  <nicholas.dokos@hp.com>  (tiny change)
+
+       * org.el (org-refile-targets): Elaborated the documentation of
+       the variable as suggested by Dave Abrahams.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>  (tiny change)
+
+       * org.el (org-align-tags-here): Allow tags to be placed right
+       after heading.
+       (org-tags-column): Document the meaning of tags column 0.
+
+2012-01-03  Niels Giesen  <niels.giesen@gmail.com>
+
+       * org-agenda.el (org-agenda-get-blocks): Show timestamp ranges
+       in agenda if start day is same as end day.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-refile-get-location): Ignore errors when
+       collection heading to be excluded.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-special-blocks.el
+       (org-special-blocks-convert-html-special-cookies): Avoid XHTML
+       strict problems by not enclosing special blocks in paragraph tags.
+
+2012-01-03  Bernt Hansen  <bernt@norang.ca>
+
+       * org-html.el (org-export-as-html): Check string-match
+       argument.
+       (org-html-handle-time-stamps): Check string-match argument.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el
+       (org-agenda-skip-additional-timestamps-same-entry): Change
+       default value.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-time-string-to-time):
+       (org-time-string-to-absolute): Add optional arguments BUFFER and
+       POS for error reporting.
+
+       * org-agenda.el (org-get-all-dates):
+       (org-agenda-get-timestamps, org-agenda-get-deadlines)
+       (org-agenda-get-scheduled, org-agenda-get-blocks): Call time
+       stamp parsing functions with information on where the
+       timestamp was taken from.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-tree-to-indirect-buffer): Run `org-cycle-hook'
+       after `show-all' in indirect buffer.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-list-parents-alist): When no parent is found
+       for an item, set it as the closest less indented item above.  If
+       none is found, make it a top level item.
+       (org-list-write-struct): Externalize code.
+       (org-list-struct-fix-item-end): New function.
+       (org-list-struct): Remove a now useless fix.
+
+       * org.el (org-ctrl-c-ctrl-c): Use new function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-end-of-line): When on an item, move point at the
+       end of the line, but before any hidden text.  Thus, it's still
+       possible to use commands, like `C-c C-c', acting at
+       items.  This is still disabled if `org-special-ctrl-a/e'
+       ignores `C-e'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-renumber-fn:N): Small refactoring.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-renumber-fn:N): Fix an
+       infloop.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-at-definition-p): Remove
+       useless `org-re'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-renumber-fn:N): Verify point
+       is at a real footnote reference or definition before
+       renumbering it.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-goto-definition): This patch
+       makes sure the function says when a definition has been
+       found.  Thus, moving from the reference to the definition
+       doesn't offer to create the latter again.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-create-definition):
+       Explicitely move point after tag, if it has just been
+       inserted.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-gnuplot.el (org-babel-execute:gnuplot): Don't quote file
+       names on Windows systems.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-create-definition): When the
+       tag is missing, it is created before any existing footnote, or
+       at end of buffer.  In the latter case, the marker pointing at
+       the position where the new footnote is going to be inserted
+       (at end of buffer) stays before the tag.  This patch makes
+       sure that the marker will be kept after the tag.
+
+2012-01-03  Eli Zaretskii  <eliz@gnu.org>
+
+       * org.el (org-mode): Force left-to-right paragraphs in Org
+       buffers.  For a related discussions, see
+       https://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00349.html.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * ob-asymptote.el (org-babel-asymptote-define-type): Silence
+       byte-compiler.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-R.el (org-babel-R-evaluate): Fix bug in R session
+       evaluation.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-bibtex.el (org-bibtex-type-property-name): Configurable
+       property name for bibtex entry types.
+       (org-bibtex-headline): Use new configurable property name.
+       (org-bibtex-check): Use new configurable property name.
+       (org-bibtex-create): Use new configurable property name.
+       (org-bibtex-write): Use new configurable property name.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org.el (org-paste-subtree): Remove unnecessary `concat'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-paste-subtree): Remove useless (concat ...).
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-C.el (org-babel-C-var-to-C): Replacing usage of
+       characterp with integerp (which should work w/Emacs22).
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-at-definition-p): Context must
+       be valid at the beginning of line, not at point.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-tangle.el (org-babel-tangle-collect-blocks): Better
+       delimiting of Org-mode text preceding a code block.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-get-src-block-info): Fixing bug,
+       accidentally deleted variable values.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-tangle.el (org-babel-process-comment-text): Customizable
+       function to process comment text.
+       (org-babel-tangle-collect-blocks): Make use of new
+       customizable processing function.
+       (org-babel-spec-to-string): Call customizable function rather than
+       `org-babel-trim'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-R.el (org-babel-execute:R): Collect and pass along the
+       result-params.
+       (org-babel-R-evaluate): Accept result-params and if "scalar" or
+       "verbatim" don't process output.
+       (org-babel-R-evaluate-session): Accept result-params and if
+       "scalar" or "verbatim" don't process output.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-merge-params): Differentiate between result
+       types and wrappers.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-get-src-block-info): Check that
+       functional-syntax variables are initialized.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-check-src-block): Adding a note for a
+       future enhancement.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-exp.el (org-export): Restore point when exporting a subtree.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-parse-src-block-match): More robust to code
+       blocks with empty bodies.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-parse-src-block-match): Don't error on empty
+       code block body.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-open-at-point): Unescape plain link.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-html.el (org-html-handle-links): Remove unnecessary link
+       unescape.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-merge-params): Better error message for
+       unassigned variables.
+
+2012-01-03  Christian Egli  <christian.egli@alumni.ethz.ch>
+
+       * org-taskjuggler.el (org-export-as-taskjuggler): Clone the
+       buffer local variables to the temporary buffer before
+       exporting.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-exp.el (org-export-select-backend-specific-text): Only
+       remove commas on the front line of a code block.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-demarcate-block): Copy headers and indent to
+       column of point when a block is split.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-insert-result): Corrected file insertion
+       for inline results.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-in-valid-context-p): No
+       footnote in latex fragments.
+
+2012-01-03  Martin Rudalics  <rudalics@gmx.at>
+
+       * org-compat.el (org-pop-to-buffer-same-window): Remove LABEL
+       argument from `pop-to-buffer-same-window' call.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-R.el (org-babel-R-evaluate-session): Improve prompt
+       detection regexp.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-goto-end): Small
+       refactoring.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * ob-asymptote.el (org-babel-asymptote-var-to-asymptote):
+       refactor code.
+       (org-babel-asymptote-table-to-array): Removed function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * ob-asymptote.el (org-babel-asymptote-var-to-asymptote):
+       recognize non-nested lists as uni-dimensional arrays.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-params-from-properties): Don't check for
+       header arguments in properties with leading ":"s.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-goto-end): Correctly
+       detect the end of an inlinetask when the next one starts
+       immediately after the current one.  Also, return position of
+       point.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * ob.el (org-babel-inline-src-block-regexp): Allow regexp to
+       start at bol.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * ob-asymptote.el (org-babel-asymptote-define-type): Elisp
+       floats are asymptote reals.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * ob-asymptote.el (org-babel-asymptote-table-to-array):
+       Require a new argument TYPE specifying the detected type of
+       array.  If it's a string array, make sure every element is
+       returned as a string. Also improve doc-string.
+       (org-babel-asymptote-var-to-asymptote): Fill new argument.  Small
+       refactoring.
+       (org-babel-asymptote-define-type): Rewrite to avoid stopping
+       search at first float found, as strings have precedence over
+       floats.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-normalize): Be sure to separate
+       the last footnote definition from the rest of the buffer.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-awk.el (org-babel-expand-body:awk): Allow for symbolic
+       variable names.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-latex-regexps): Allow matching latex fragments
+       of type "$" and "$1" at beginning of line.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-search-view, org-agenda-get-todos)
+       (org-agenda-get-deadlines, org-agenda-get-scheduled): Add
+       `category-pos' in let construct.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-get-definition): The function has
+       to widen buffer if definition has not been found in the current
+       narrowed part. Be sure to restore that restriction once the
+       definition is found.
+
+2012-01-03  Michal Sojka  <sojka@os.inf.tu-dresden.de>  (tiny change)
+
+       * org-icalendar.el (org-print-icalendar-entries): Make alarm
+       duration RFC5545 compliant.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-get-timestamps)
+       (org-agenda-get-sexps, org-agenda-get-progress): Correctly set
+       the `org-category-pos' property.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-export-html-divs): Improve docstring.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-table.el (org-table-fix-formulas): Throw error when
+       changing formula leads to an invalid formula.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-archive-location): Minor docstring fix.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-block-todo-from-checkboxes):
+       `org-list-search-forward' should be used when looking for an
+       item, as it filters out contexts where match couldn't be in a
+       list.  Also use a correct item regexp, taking into account
+       alphabetical ordered lists and counters.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-html.el (org-html-make-link): Minor fix to the
+       docstring.
+
+2012-01-03  Suvayu Ali  <fatkasuvayu+linux@gmail.com>  (tiny change)
+
+       * org-inlinetask.el (org-inlinetask): New customisable face
+       for inlinetasks
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-get-todos): Properly set
+       `category-pos'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-list-struct-apply-struct): Don't use
+       (copy-marker (point)) instead of (point-marker).
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-where-is-src-block-result): Don't try to
+       resolve variables when simply checking if we're inside of a
+       code block.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-refresh-category-properties): New text property
+       'org-category-position to point at the beginning of the
+       headline from which the category is set.
+
+2012-01-03  Matt Lundin  <mdl@imapmail.org>
+
+       * org.el (org-refile): Don't call `org-back-to-heading' with
+       goto argument.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-link-display-descriptive): Remove this option and
+       rely on the existing `org-descriptive-links' instead.
+       (org-toggle-link-display): Use `org-descriptive-links'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-ref.el (org-babel-ref-resolve): Allow matching of results
+       with tags after the result name.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-table.el (org-table-get-specials): Allow the use of the
+       underscore character in column names.
+       (org-table-get-specials): Allow the use of the underscore
+       character in field names.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-exp-blocks.el (org-export-blocks-preprocess): Explicitly
+       cleaning up markers.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el (org-babel-exp-inline-src-blocks): Save match data
+       around `org-babel-exp-do-export' which now searches in this case.
+       (org-babel-exp-results): Position the point in the inline source
+       block during export evaluation.
+
+       * ob.el (org-babel-insert-result): More readable code.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-exp-blocks.el (org-export-blocks-preprocess): Use the built
+       in function rather than the superfluous (and now removed)
+       org-specific function.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el (org-babel-exp-inline-src-blocks): Don't examplize
+       inline code blocks which are already escaped.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-exp-blocks.el (org-marker-from-point): Helper function to
+       create markers at specific points in source buffers.
+       (org-export-blocks-preprocess): Use markers instead of points
+       to delimit code blocks.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-list-separating-blank-lines-number): The
+       behaviour of `org-back-over-empty-lines' depends on the
+       associated value of `headline' in
+       `org-blank-before-new-entry', which is out of context in a
+       list.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-initialize-agent): When the current
+       buffer isn't being watched, resume initialization of other watched
+       buffers.  In that case, give hand to others idle timers or
+       processes more frequently.
+       (org-indent-agent-active-delay): Renamed from
+       `org-indent-agent-process-duration'.
+       (org-indent-agent-passive-delay): New variable.
+       (org-indent-agent-resume-delay): Change value.
+       (org-indent-initialize-buffer): Change argument name.
+       (org-indent-add-properties): Change argument name and type
+       expected. It must be a time value now.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-set-property): Bugfix.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-remove-result): Idempotent code block
+       evaluation and result removal.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-ruby.el (org-babel-ruby-initiate-session): No longer
+       require inf-ruby when no session evaluation takes place.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-agenda-prefix-format): Mention "%e" in
+       the docstring.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el (org-agenda-custom-commands): Set a default
+       value for this command.
+
+2012-01-03  Carsten Dominik  <carsten.dominik@gmail.com>
+
+       * org-agenda.el (org-agenda-include-all-todo): Declare this option
+       as no longer working.
+       (org-timeline): Rename the include-all argument to dotodo.
+       (org-arg-loc): Renamed from` org-include-all-loc'.
+       (org-agenda-list): Rename the INCLUDE-ALL argument to ARG,
+       because its function has changed.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-fixup-indentation): Fix various small bugs.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-agent-timer)
+       (org-indent-agentized-buffers, org-indent-agent-resume-timer)
+       (org-indent-agent-process-duration)
+       (org-indent-agent-resume-delay): New variables.
+       (org-indent-initial-marker): More accurate doc-string.
+       (org-indent-initial-timer, org-indent-initial-resume-timer)
+       (org-indent-initial-process-duration)
+       (org-indent-initial-resume-delay)
+       (org-indent-initial-lock): Removed variables.
+       (org-indent-mode): Set up an agent to watch current buffer, or
+       add it to the list of already watched buffers.
+       (org-indent-initialize-agent): New function.
+       (org-indent-initialize-buffer): Now requires a mandatory
+       buffer argument.
+       (org-indent-add-properties): Reflect changes to variables. The resume
+       timer is now global.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-normalize): Refactor, and fix
+       some blank lines deletion.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-mode):
+       `org-indent-initial-resume-timer ' needs to be local.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-fixup-indentation): Correctly indent meta lines.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-set-line-properties): Add text
+       properties down to the beginning of the next line.
+       (org-indent-add-properties): When last position to add
+       properties to is at the beginning of a line, all that line
+       will have properties.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-initial-resume-timer): New variable.
+       (org-indent-initialize-buffer): Also resume after a small break.
+       (org-indent-add-properties): When in asynchronous mode,
+       proceed for 2 seconds, then take a break.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-set-line-properties): New function.
+       (org-indent-add-properties): Externalize worker function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-indent-buffer): Take into account
+       narrowing.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-modified-headline-flag): Renamed from
+       `org-indent-deleted-headline-flag'
+       (org-indent-notify-modified-headline): Renamed from
+       `org-indent-notify-deleted-headline'. Handle situations when
+       the stars of an headline are modified.
+       (org-indent-refresh-maybe): Remove case now handled by
+       previous function.
+       (org-indent-mode): Apply renames.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-inlinetask-first-star): New
+       variable.
+       (org-indent-add-properties): Set the first star of inline-tasks'
+       virtual indentation in `org-warning' face.
+
+       * org-inlinetask.el (org-inlinetask-insert-task): Create a new
+       inline-task slightly differently, so virtual indentation can
+       be applied normally.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-initial-marker)
+       (org-indent-initial-timer, org-indent-initial-lock): New
+       variables.
+       (org-indent-mode): At initialization, start an idle timer to indent
+       the whole buffer. When the user is asking for control, interrupt the
+       process, and resume at the same point when idle again.
+       (org-indent-initialize-buffer): New function.
+       (org-indent-add-properties): Throw an interrupt when indentation of
+       buffer is stopped during initialization.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-indent-buffer): Send more
+       appropriate messages.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-notify-deleted-headline)
+       (org-indent-refresh-maybe): Replace `org-indent-outline-re'
+       with `org-outline-regexp-bol'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-max-levels): Modify default value and
+       add comment.
+       (org-indent-add-properties): Pay attention to `org-indent-max'
+       and `org-indent-max-levels' values.
+       (org-indent-refresh-maybe): Refactor code to avoid an unnecessary
+       save excursion.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-table.el (org-table-align): Remove now useless hack.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-fix-section-after-idle-time): Remove
+       variable.
+       (org-indent-initialize): Remove timer.
+       (org-indent-add-properties): Refactor code.
+       (org-indent-refresh-subtree, org-indent-refresh-section)
+       (org-indent-refresh-buffer,org-indent-set-initial-properties): Remove
+       functions.
+       (org-indent-deleted-headline): New variable.
+       (org-indent-notify-deleted-headline,org-indent-refresh-maybe): New
+       functions.
+       (org-indent-mode): Insert new functions into a hook.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-indent.el (org-indent-mode): Completely refresh buffer
+       before starting org-indent-mode. Also set idle timer to refresh
+       only visible portion of buffer, and refresh the subtree instead of
+       section when promoting or demoting it.
+       (org-indent-add-properties): Rewrite function to proceed line by
+       line, as required by `wrap-prefix' specificity.
+       (org-indent-refresh-section,org-indent-refresh-subtree): Refactor.
+       (org-indent-refresh-view): New function.
+       (org-indent-refresh-to, org-indent-refresh-section): Removed
+       functions.
+
+       * org.el (org-unfontify-region): Do not remove prefix
+       properties when unfontifying a region.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-colview.el (org-columns-cleanup-item): Correctly remove
+       leading stars in items displayed in the agenda column view.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-colview.el (org-columns-display-here): Clean up items in
+       `org-agenda-mode' too.
+       (org-columns-cleanup-item): Take a new argument CPHR to allow
+       passing a complex heading regexp.  Rewrite to cleanup ITEM
+       correctly in `org-agenda-mode'.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-clock.el (org-duration-string-to-minutes)
+       (org-minutes-to-hh:mm-string, org-hh:mm-string-to-minutes): Move
+       from org.el.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-refile-active-region-within-subtree): New option to
+       allow refiling a region that is part of a subtree without
+       containing a subtree itself.  This default to `nil'.
+       (org-refile): Use the new option.  Put point at the beginning
+       of the region/subtree to be refiled, so that users understand
+       what will be refiled.  Also improve the prompt to tell whether
+       the user is refiling a region or a headline.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-properties-postprocess-alist): New option to allow
+       postprocessing the values of properties set through
+       `org-set-property'.
+       (org-set-property): Use this option.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-outline-regexp, org-outline-regexp-bol): Add a
+       docstring.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-archive.el (org-archive-to-archive-sibling): Use
+       `org-outline-regexp' instead of `outline-regexp'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-between-regexps-p): Searching up to pos may
+       match again beginning regexp.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-goto-definition): Don't send
+       erroneous message: suggested bindings might not be set outside
+       Org.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-normalize): Effectively remove
+       any footnote tag in non Org buffers, as detailled in the
+       docstring of `org-footnote-tag-for-non-org-mode-files'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-tag-for-non-org-mode-files):
+       notify the opportunity to set the variable to the empty string.
+       (org-footnote-normalize, org-footnote-create-definition):
+       Carefully check for inserted newlines and presence of the
+       footnote tag.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-at-definition-p): Re-use
+       `org-footnote-definition-re'.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-definition-re): Remove an
+       useless group.
+       (org-footnote-at-definition-p): Reflect removal of the group.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-set-regexps-and-options): Enforce white space
+       after todo keyword, as word boundary isn't sufficient (i.e. in
+       matches * TODO/this).
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-export-templates): Fixed
+       template for html so that the exported file is valid
+       xhtml.  Added template for odt.
+       (org-inlinetask-export-handler): Fix typo in the regexp that
+       trims content. Make sure that the content is flanked by
+       paragraph boundaries on either side.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-add-planning-info): Don't insert superfluous
+       space when updating timestamps.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-agenda.el (org-cmp-effort): Fix docstring.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-list-full-item-re): When an item has only a
+       bullet and no space after it, list structure would not be
+       recognized correctly.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org.el (org-overview): Use `outline-regexp' instead of
+       `org-outline-regexp' so that global cycling using
+       `orgstruct-mode' works outside of Org buffers.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-table.el (org-table-eval-formula): Fix missing variable
+       in let construct.
+       (org-table-time-string-to-seconds): Fix missing variable in
+       let construct.
+
+2012-01-03  Michael Brand  <michael.ch.brand@gmail.com>
+
+       * org-agenda.el (org-agenda-get-deadlines): Fix dfrac for the
+       case of wdays being 0.  Don't pass wdays to
+       org-agenda-deadline-face, like before the old fix.
+       (org-agenda-deadline-face): Revert to old state that was without
+       wdays.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-latex.el (org-export-latex-fixed-width): Only add one
+       line break after exporting verbatim environments.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-mw.el (org-mw-export-lists): Fix list export.
+
+2012-01-03  Bastien Guerry  <bzg@gnu.org>
+
+       * org-list.el (org-list-item-trim-br): New function.
+       (org-list-to-generic): New parameter :nobr to use the new
+       function.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-paste-subtree): Fix wrong order of lines to move
+       before pasting.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-paste-subtree): Paste subtree above target
+       headline if point is at bol.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-toggle-checkbox): Don't clear lim-down
+       while used in the while loop.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-list.el (org-toggle-checkbox): Lim-down must be a
+       marker.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-activate-code): Correct regexp so ":.*" isn't
+       matched.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-macs.el (org-with-gensyms, org-called-interactively-p)
+       (with-silent-modifications, org-bound-and-true-p)
+       (org-unmodified, org-re, org-preserve-lc)
+       (org-without-partial-completion, org-with-point-at)
+       (org-no-warnings, org-if-unprotected, org-if-unprotected-1)
+       (org-if-unprotected-at, org-with-remote-undo)
+       (org-no-read-only, org-save-outline-visibility)
+       (org-with-wide-buffer, org-with-limited-levels)
+       (org-eval-in-environment): Provide edebug specifications.
+
+       * org-src.el (org-src-do-at-code-block): Dto.
+
+       * org-publish.el (org-publish-with-aux-preprocess-maybe): Dto.
+
+       * org-compat.el (org-xemacs-without-invisibility): Dto.
+
+       * org-clock.el (org-with-clock-position, org-with-clock): Dto.
+
+       * org-agenda.el (org-agenda-with-point-at-orig-entry)
+       (org-batch-agenda, org-batch-agenda-csv)
+       (org-batch-store-agenda-views): Dto.
+
+       * ob.el (org-babel-do-in-edit-buffer)
+       (org-babel-map-src-blocks, org-babel-map-inline-src-blocks): Dto.
+
+       * ob-tangle.el (org-babel-with-temp-filebuffer): Dto.
+
+       * ob-table.el (sbe): Dto.
+
+       * ob-exp.el (org-babel-exp-in-export-file): Dto.
+
+       * ob-comint.el (org-babel-comint-in-buffer)
+       (org-babel-comint-with-output): Dto.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-export-templates): Fix
+       docstring.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-insert-task): Error when
+       trying to nest inline tasks.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-activate-code, org-toggle-fixed-width-section)
+       (org-indent-line-function): Allow "[ \t]*:$" as a special case of
+       fixed-width section.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-paste-subtree): Don't eat headline when called
+       with point at existing headline.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-paste-subtree): Fix typo in variable name.
+
+2012-01-03  Jambunathan K  <kjambunathan@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-export-handler): Don't
+       export inline tasks if the current backend has provided no
+       entries in `org-inlinetask-export-templates'.
+
+2012-01-03  Valentin Wüstholz  <wuestholz@gmail.com>  (tiny change)
+
+       * org.el (org-indent-line-function): Made the way in which
+       example blocks are indented more flexible.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-agenda.el (org-batch-agenda-csv): Fix argument to append
+       when creating final parameter alist.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-agenda.el (org-batch-store-agenda-views): Use macro
+       `org-eval-in-environment'.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-agenda.el (org-batch-agenda, org-batch-agenda-csv): Use
+       `org-eval-in-environment.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-macs.el (org-make-parameter-alist): New function.  Turn
+       flat list of alternating symbol names and values into an alist
+       with symbol name in car and value in cdr.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-agenda.el (org-agenda-with-point-at-orig-entry): Use
+       macro `org-with-gensyms'.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-macs.el (org-substitute-posix-classes): New
+       function.  Substitute posix classes in regular expression.
+       (org-re): Use new function.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-macs.el (org-eval-in-environment): New macro.  Evaluate FORM
+       in ENVIRONMENT.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-macs.el (org-preserve-lc, org-with-point-at)
+       (org-with-remote-undo, org-save-outline-visibility): Use new
+       macro `org-with-gensyms'.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org-macs.el (org-with-gensyms): New macro.  Wrap let-binding
+       of SYMBOLS to new uninterned symbols around BODY.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-inlinetask.el (org-inlinetask-export-handler): Make sure
+       the task starts a paragraph or the HTML exporter will produce
+       an incorrect output.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-return): When filling happens, `newline' can
+       change match data, hence modifying the indent column.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-new): Only forbid non-inlined
+       footnotes at column 0, as only them can be confused with a
+       footnote definition.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-new): Use `ido' or `iswitchb'
+       when available when prompted for a label.  Also rename a local
+       variable to avoid confusion with an existing function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-label-history): Removed
+       variable
+       (org-footnote-new): Remove call to that variable.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-insert-heading): With `force-heading' non-nil,
+       inserting an heading before any headline, and just after a
+       list would return an error.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-sha1-hash): Removed use of `copy-seq'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * org-bibtex.el (org-bibtex-get): Make the "FILE" property
+       non-special when resolving bibtex values.
+
+2012-01-03  David Maus  <dmaus@ictsoc.de>
+
+       * org.el (org-back-over-empty-lines): Don't move line upward
+       if point is at eob.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-in-valid-context-p): Check
+       `org-protected' property before allowing to match a footnote.
+       (org-footnote-at-reference-p): Remove an obsolete test.  It is now
+       done in the previous function.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-between-regexps-p): Previous name implied the
+       function was related to blocks, which isn't mandatory.
+       (org-narrow-to-block, org-in-block-p)
+       (org-indent-line-function): Applied the rename.
+
+       * ob-exp.el (org-babel-in-example-or-verbatim): Applied
+       rename.  Also removed a white space.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org.el (org-in-regexps-block-p): Return an useful value when
+       point is between START-RE and END-RE. No incomplete block is
+       allowed anymore.  Add another optional argument to bound the
+       bottom part of the search.
+       (org-narrow-to-block, org-in-block-p): Apply modifications.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob.el (org-babel-src-block-regexp): If a code block has a
+       body, its last character must be a newline.
+
+2012-01-03  Nicolas Goaziou  <n.goaziou@gmail.com>
+
+       * org-footnote.el (org-footnote-next-reference-or-definition):
+       If no more footnote is found, be sure to go back to the
+       original position.  Otherwise, point might be left on a
+       footnote-like element that has been dished out.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-exp.el (org-babel-inline-src-block-regexp): Declare this
+       variable.
+
+       * ob.el (defvar): Wrap variable declaration in
+       `eval-when-compile'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-keys.el (org-babel-key-bindings): Bound to `C-c C-v k'.
+
+2012-01-03  Eric Schulte  <schulte.eric@gmail.com>
+
+       * ob-java.el (org-babel-execute:java): Allow cmdline flags
+       during compilation and evaluation.
+
 2011-12-06  Juanma Barranquero  <lekktu@gmail.com>
 
        * ob.el (org-babel-expand-body:generic, org-babel-number-p):
 2011-07-28  Nicolas Goaziou  <n.goaziou@gmail.com>
 
        * org-capture.el (org-capture): If no file is associated to
-       current buffer, check dired buffer and try to retreive a possibly
+       current buffer, check dired buffer and try to retrieve a possibly
        directory associated.
 
 2011-07-28  Eric Schulte  <schulte.eric@gmail.com>
 2011-07-28  Nicolas Goaziou  <n.goaziou@gmail.com>
 
        * org-latex.el (org-export-latex-preprocess): Rely on
-       `org-export-footnotes-markers' to retreive definition of the
+       `org-export-footnotes-markers' to retrieve definition of the
        current footnote during export.
 
 2011-07-28  Nicolas Goaziou  <n.goaziou@gmail.com>
 ;; add-log-time-zone-rule: t
 ;; End:
 
-       Copyright (C) 2008-2011  Free Software Foundation, Inc.
+       Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 4f8106cd66fbeadc2644e09c31947768378122eb..4f33fc45310300a7f71d97ec4668def7e3265fca 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-C.el --- org-babel functions for C and similar languages
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -180,7 +179,7 @@ of the same value."
       (format "int %S = %S;" var val))
      ((floatp val)
       (format "double %S = %S;" var val))
-     ((or (characterp val))
+     ((or (integerp val))
       (format "char %S = '%S';" var val))
      ((stringp val)
       (format "char %S[%d] = \"%s\";"
index 2b0e6d5e16a5f7a2cb6419162cf73dd49b8c7cad..e8400f494ad55650e128419ca29981729d9bb77d 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-R.el --- org-babel functions for R code evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;;     Dan Davison
 ;; Keywords: literate programming, reproducible research, R, statistics
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -80,7 +79,8 @@
   "Execute a block of R code.
 This function is called by `org-babel-execute-src-block'."
   (save-excursion
-    (let* ((result-type (cdr (assoc :result-type params)))
+    (let* ((result-params (cdr (assoc :result-params params)))
+          (result-type (cdr (assoc :result-type params)))
            (session (org-babel-R-initiate-session
                     (cdr (assoc :session params)) params))
           (colnames-p (cdr (assoc :colnames params)))
@@ -89,7 +89,7 @@ This function is called by `org-babel-execute-src-block'."
           (full-body (org-babel-expand-body:R body params graphics-file))
           (result
            (org-babel-R-evaluate
-            session full-body result-type
+            session full-body result-type result-params
             (or (equal "yes" colnames-p)
                 (org-babel-pick-name
                  (cdr (assoc :colname-names params)) colnames-p))
@@ -197,6 +197,7 @@ current code buffer."
         '((:bmp . "bmp")
           (:jpg . "jpeg")
           (:jpeg . "jpeg")
+          (:tex . "tikz")
           (:tiff . "tiff")
           (:png . "png")
           (:svg . "svg")
@@ -214,7 +215,7 @@ current code buffer."
     (setq device (or (and device (cdr (assq (intern (concat ":" device))
                                            devices))) "png"))
     (setq filearg
-         (if (member device '("pdf" "postscript" "svg")) "file" "filename"))
+         (if (member device '("pdf" "postscript" "svg" "tikz")) "file" "filename"))
     (setq args (mapconcat
                (lambda (pair)
                  (if (member (car pair) allowed-args)
@@ -232,16 +233,16 @@ current code buffer."
 (defvar org-babel-R-write-object-command "{function(object,transfer.file){object;invisible(if(inherits(try({tfile<-tempfile();write.table(object,file=tfile,sep=\"\\t\",na=\"nil\",row.names=%s,col.names=%s,quote=FALSE);file.rename(tfile,transfer.file)},silent=TRUE),\"try-error\")){if(!file.exists(transfer.file))file.create(transfer.file)})}}(object=%s,transfer.file=\"%s\")")
 
 (defun org-babel-R-evaluate
-  (session body result-type column-names-p row-names-p)
+  (session body result-type result-params column-names-p row-names-p)
   "Evaluate R code in BODY."
   (if session
       (org-babel-R-evaluate-session
-       session body result-type column-names-p row-names-p)
+       session body result-type result-params column-names-p row-names-p)
     (org-babel-R-evaluate-external-process
-     body result-type column-names-p row-names-p)))
+     body result-type result-params column-names-p row-names-p)))
 
 (defun org-babel-R-evaluate-external-process
-  (body result-type column-names-p row-names-p)
+  (body result-type result-params column-names-p row-names-p)
   "Evaluate BODY in external R process.
 If RESULT-TYPE equals 'output then return standard output as a
 string. If RESULT-TYPE equals 'value then return the value of the
@@ -258,11 +259,17 @@ last statement in BODY, as elisp."
                               (format "{function ()\n{\n%s\n}}()" body)
                               (org-babel-process-file-name tmp-file 'noquote)))
        (org-babel-R-process-value-result
-       (org-babel-import-elisp-from-file tmp-file '(16)) column-names-p)))
+       (if (or (member "scalar" result-params)
+               (member "verbatim" result-params))
+           (with-temp-buffer
+             (insert-file-contents tmp-file)
+             (buffer-string))
+         (org-babel-import-elisp-from-file tmp-file '(16)))
+       column-names-p)))
     (output (org-babel-eval org-babel-R-command body))))
 
 (defun org-babel-R-evaluate-session
-  (session body result-type column-names-p row-names-p)
+  (session body result-type result-params column-names-p row-names-p)
   "Evaluate BODY in SESSION.
 If RESULT-TYPE equals 'output then return standard output as a
 string. If RESULT-TYPE equals 'value then return the value of the
@@ -284,7 +291,13 @@ last statement in BODY, as elisp."
                  "FALSE")
                ".Last.value" (org-babel-process-file-name tmp-file 'noquote)))
        (org-babel-R-process-value-result
-       (org-babel-import-elisp-from-file tmp-file '(16))  column-names-p)))
+       (if (or (member "scalar" result-params)
+               (member "verbatim" result-params))
+           (with-temp-buffer
+             (insert-file-contents tmp-file)
+             (buffer-string))
+         (org-babel-import-elisp-from-file tmp-file '(16)))
+       column-names-p)))
     (output
      (mapconcat
       #'org-babel-chomp
@@ -295,7 +308,7 @@ last statement in BODY, as elisp."
              (mapcar
               (lambda (line) ;; cleanup extra prompts left in output
                 (if (string-match
-                     "^\\([ ]*[>+][ ]?\\)+\\([[0-9]+\\|[ ]\\)" line)
+                     "^\\([ ]*[>+\\.][ ]?\\)+\\([[0-9]+\\|[ ]\\)" line)
                     (substring line (match-end 1))
                   line))
               (org-babel-comint-with-output (session org-babel-R-eoe-output)
index 6bae3581cf4c4d114f816b9bd52d9dcaff9f1b65..913c523081514fc856dd7d17f4981a0344f3f521 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-asymptote.el --- org-babel functions for asymptote evaluation
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -98,9 +97,8 @@ Asymptote does not support sessions"
 The elisp value PAIR is converted into Asymptote code specifying
 a variable of the same value."
   (let ((var (car pair))
-        (val (if (symbolp (cdr pair))
-                 (symbol-name (cdr pair))
-               (cdr pair))))
+        (val (let ((v (cdr pair)))
+              (if (symbolp v) (symbol-name v) v))))
     (cond
      ((integerp val)
       (format "int %S=%S;" var val))
@@ -108,55 +106,42 @@ a variable of the same value."
       (format "real %S=%S;" var val))
      ((stringp val)
       (format "string %S=\"%s\";" var val))
+     ((and (listp val) (not (listp (car val))))
+      (let* ((type (org-babel-asymptote-define-type val))
+            (fmt (if (eq 'string type) "\"%s\"" "%s"))
+            (vect (mapconcat (lambda (e) (format fmt e)) val ", ")))
+       (format "%s[] %S={%s};" type var vect)))
      ((listp val)
-      (let* ((dimension-2-p (not (null (cdr val))))
-             (dim (if dimension-2-p "[][]" "[]"))
-             (type (org-babel-asymptote-define-type val))
-             (array (org-babel-asymptote-table-to-array
-                     val
-                     (if dimension-2-p '(:lstart "{" :lend "}," :llend "}")))))
-        (format "%S%s %S=%s;" type dim var array))))))
-
-(defun org-babel-asymptote-table-to-array (table params)
-  "Convert values of an elisp table into a string of an asymptote array.
-Empty cells are ignored."
-  (labels ((atom-to-string (table)
-                           (cond
-                            ((null table) '())
-                            ((not (listp (car table)))
-                             (cons (if (and (stringp (car table))
-                                            (not (string= (car table) "")))
-                                       (format "\"%s\"" (car table))
-                                     (format "%s" (car table)))
-                                   (atom-to-string (cdr table))))
-                            (t
-                             (cons (atom-to-string (car table))
-                                   (atom-to-string (cdr table))))))
-           ;; Remove any empty row
-           (fix-empty-lines (table)
-                            (delq nil (mapcar (lambda (l) (delq "" l)) table))))
-    (orgtbl-to-generic
-     (fix-empty-lines (atom-to-string table))
-     (org-combine-plists '(:hline nil :sep "," :tstart "{" :tend "}") params))))
+      (let* ((type (org-babel-asymptote-define-type val))
+            (fmt (if (eq 'string type) "\"%s\"" "%s"))
+             (array (mapconcat (lambda (row)
+                                (concat "{"
+                                        (mapconcat (lambda (e) (format fmt e))
+                                                   row ", ")
+                                        "}"))
+                              val ",")))
+        (format "%S[][] %S={%s};" type var array))))))
 
 (defun org-babel-asymptote-define-type (data)
   "Determine type of DATA.
-DATA is a list. Type symbol is returned as 'symbol. The type is
-usually the type of the first atom encountered, except for arrays
-of int, where every cell must be of int type."
-  (labels ((anything-but-int (el)
-                             (cond
-                              ((null el) nil)
-                              ((not (listp (car el)))
-                               (cond
-                                ((floatp (car el)) 'real)
-                                ((stringp (car el)) 'string)
-                                (t
-                                 (anything-but-int (cdr el)))))
-                              (t
-                               (or (anything-but-int (car el))
-                                   (anything-but-int (cdr el)))))))
-    (or (anything-but-int data) 'int)))
+
+DATA is a list.  Return type as a symbol.
+
+The type is `string' if any element in DATA is
+a string. Otherwise, it is either `real', if some elements are
+floats, or `int'."
+  (let* ((type 'int)
+        find-type                      ; for byte-compiler
+        (find-type
+         (function
+          (lambda (row)
+            (catch 'exit
+              (mapc (lambda (el)
+                      (cond ((listp el) (funcall find-type el))
+                            ((stringp el) (throw 'exit (setq type 'string)))
+                            ((floatp el) (setq type 'real))))
+                    row))))))
+    (funcall find-type data) type))
 
 (provide 'ob-asymptote)
 
index 66e07bf175c46854050f7baa5e76cd778981cef5..682d802c11cbf71259337ecf18a4f6d0ef636f3a 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-awk.el --- org-babel functions for awk evaluation
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -25,9 +24,9 @@
 ;;; Commentary:
 
 ;; Babel's awk can use special header argument:
-;; 
+;;
 ;; - :in-file takes a path to a file of data to be processed by awk
-;;   
+;;
 ;; - :stdin takes an Org-mode data or code block reference, the value
 ;;          of which will be passed to the awk process through STDIN
 
@@ -49,7 +48,7 @@
   "Expand BODY according to PARAMS, return the expanded body."
   (dolist (pair (mapcar #'cdr (org-babel-get-header params :var)))
     (setf body (replace-regexp-in-string
-                (regexp-quote (concat "$" (car pair))) (cdr pair) body)))
+                (regexp-quote (format "$%s" (car pair))) (cdr pair) body)))
   body)
 
 (defun org-babel-execute:awk (body params)
index 68694786729ce2823dfd15442ca60178dbacb8e5..f8ad7e3374efb8578c543a4908d2ce4b2cd2ee52 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-calc.el --- org-babel functions for calc code evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
 ;;; Code:
 (require 'ob)
 (require 'calc)
-(require 'calc-store)
-(unless (featurep 'xemacs) (require 'calc-trail))
+(unless (featurep 'xemacs)
+  (require 'calc-trail)
+  (require 'calc-store))
 (eval-when-compile (require 'ob-comint))
 
+(declare-function calc-store-into    "calc-store" (&optional var))
+(declare-function calc-recall        "calc-store" (&optional var))
+(declare-function math-evaluate-expr "calc-ext"   (x))
+
 (defvar org-babel-default-header-args:calc nil
   "Default arguments for evaluating an calc source block.")
 
index 090b60662f8fbacbf2466baffd060edf02b1de88..1c0c37c1dd419112eb08239b3b16470d03c54cb4 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-clojure.el --- org-babel functions for clojure evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Joel Boehland
 ;;     Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index efdac4d3818ccf8dfe9f1ceb19ec9b760fa46396..a0712b90f35558ce94a34f789ad46a0471a158ef 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-comint.el --- org-babel functions for interaction with comint buffers
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research, comint
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -54,6 +53,7 @@ executed inside the protection of `save-excursion' and
          (error "buffer %s doesn't exist or has no process" ,buffer))
        (set-buffer ,buffer)
        ,@body)))
+(def-edebug-spec org-babel-comint-in-buffer (form body))
 
 (defmacro org-babel-comint-with-output (meta &rest body)
   "Evaluate BODY in BUFFER and return process output.
@@ -115,6 +115,7 @@ or user `keyboard-quit' during execution of body."
                   string-buffer))
             (setq raw (substring string-buffer (match-end 0))))
         (split-string string-buffer comint-prompt-regexp)))))
+(def-edebug-spec org-babel-comint-with-output (form body))
 
 (defun org-babel-comint-input-command (buffer cmd)
   "Pass CMD to BUFFER.
index 7bc97f8290908427bcb8edaae856c4913e20d42f..a9ac1cfa20f9af1ec57c09c9177b726773fa85a8 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-css.el --- org-babel functions for css evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index db638f6ef9851eeb45dd5d0fced2d506446d8d28..17e9d5d0ccfaf0a6ef0677eb864226af4bdf9237 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-ditaa.el --- org-babel functions for ditaa evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
 (require 'ob)
 
 (defvar org-babel-default-header-args:ditaa
-  '((:results . "file") (:exports . "results") (:java . "-Dfile.encoding=UTF-8"))
+  '((:results . "file")
+    (:exports . "results")
+    (:java . "-Dfile.encoding=UTF-8"))
   "Default arguments for evaluating a ditaa source block.")
 
-(defvar org-ditaa-jar-path)
+(defcustom org-ditaa-jar-path nil
+  "Path for the ditaa jar file."
+  :group 'org-babel
+  :type 'string)
+
+(defcustom org-ditaa-jar-option "-jar"
+  "Option for the ditaa jar file.
+Do not leave leading or trailing spaces in this string."
+  :group 'org-babel
+  :type 'string)
+
 (defun org-babel-execute:ditaa (body params)
   "Execute a block of Ditaa code with org-babel.
 This function is called by `org-babel-execute-src-block'."
@@ -56,7 +67,7 @@ This function is called by `org-babel-execute-src-block'."
         (cmdline (cdr (assoc :cmdline params)))
         (java (cdr (assoc :java params)))
         (in-file (org-babel-temp-file "ditaa-"))
-        (cmd (concat "java " java " -jar "
+        (cmd (concat "java " java " " org-ditaa-jar-option " "
                      (shell-quote-argument
                       (expand-file-name org-ditaa-jar-path))
                      " " cmdline
index cc78ac5bf95af077a0951cc5226b1dbef8639594..1d4b7da7e18691eac2cd25962f5605f1eba12730 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-dot.el --- org-babel functions for dot evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 2eccf19b6d1ac31a544d3e45be2d99f3a3b348f8..afbc20d5fc58cdb027ba74fa84f68f01b810486a 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-emacs-lisp.el --- org-babel functions for emacs-lisp code evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index e74be0b6e0284a728f0b912489d2fa8ffd960dca..0ac6ab004b7739f4d16b0fa076db7888cf219c7e 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-eval.el --- org-babel functions for external code evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research, comint
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 0fceb184c5e72df840a8bd9dbf6b000345df6d01..bfb3aa85bca0b088254c9775c09c7ceea188e795 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-exp.el --- Exportation of org-babel source blocks
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;;     Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -37,7 +36,6 @@
 (declare-function org-babel-eval-wipe-error-buffer "ob-eval" ())
 (add-to-list 'org-export-interblocks '(src org-babel-exp-inline-src-blocks))
 (add-to-list 'org-export-interblocks '(lob org-babel-exp-lob-one-liners))
-(add-hook 'org-export-blocks-postblock-hook 'org-exp-res/src-name-cleanup)
 
 (org-export-blocks-add-block '(src org-babel-exp-src-block nil))
 
@@ -74,6 +72,7 @@ process."
         (setq results ,@body))
        (set-buffer export-buffer)
        results)))
+(def-edebug-spec org-babel-exp-in-export-file (form body))
 
 (defun org-babel-exp-src-block (body &rest headers)
   "Process source block for export.
@@ -105,7 +104,6 @@ none ----- do not display either code or results upon export"
                  (org-babel-process-params
                   (org-babel-merge-params
                    org-babel-default-header-args
-                   (org-babel-params-from-buffer)
                    (org-babel-params-from-properties lang)
                    (if (boundp lang-headers) (eval lang-headers) nil)
                    raw-params))))
@@ -129,10 +127,10 @@ options and are taken from `org-babel-default-inline-header-args'."
     (while (and (< (point) end)
                 (re-search-forward org-babel-inline-src-block-regexp end t))
       (let* ((info (save-match-data (org-babel-parse-inline-src-block-match)))
-            (params (nth 2 info)) code-replacement)
+            (params (nth 2 info)))
        (save-match-data
          (goto-char (match-beginning 2))
-         (when (not (org-babel-in-example-or-verbatim))
+         (unless (org-babel-in-example-or-verbatim)
            ;; expand noweb references in the original file
            (setf (nth 1 info)
                  (if (and (cdr (assoc :noweb params))
@@ -140,39 +138,25 @@ options and are taken from `org-babel-default-inline-header-args'."
                      (org-babel-expand-noweb-references
                       info (get-file-buffer org-current-export-file))
                    (nth 1 info)))
-           (setq code-replacement (org-babel-exp-do-export info 'inline))))
-       (if code-replacement
-           (replace-match code-replacement nil nil nil 1)
-         (org-babel-examplize-region (match-beginning 1) (match-end 1))
-         (forward-char 2))))))
-
-(defun org-exp-res/src-name-cleanup ()
-  "Clean up #+results and #+srcname lines for export.
-This function should only be called after all block processing
-has taken place."
-  (interactive)
-  (save-excursion
-    (goto-char (point-min))
-    (while (org-re-search-forward-unprotected
-           (concat
-            "\\("org-babel-src-name-regexp"\\|"org-babel-result-regexp"\\)")
-           nil t)
-      (delete-region
-       (progn (beginning-of-line) (point))
-       (progn (end-of-line) (+ 1 (point)))))))
+           (let ((code-replacement (save-match-data
+                                     (org-babel-exp-do-export info 'inline))))
+             (if code-replacement
+                 (replace-match code-replacement nil nil nil 1)
+               (org-babel-examplize-region (match-beginning 1) (match-end 1))
+               (forward-char 2)))))))))
 
 (defun org-babel-in-example-or-verbatim ()
   "Return true if point is in example or verbatim code.
 Example and verbatim code include escaped portions of
 an org-mode buffer code that should be treated as normal
 org-mode text."
-  (or (org-in-indented-comment-line) 
-      (save-match-data
+  (or (save-match-data
        (save-excursion
          (goto-char (point-at-bol))
          (looking-at "[ \t]*:[ \t]")))
       (org-in-verbatim-emphasis)
-      (org-in-regexps-block-p "^[ \t]*#\\+begin_src" "^[ \t]*#\\+end_src")))
+      (org-in-block-p org-list-forbidden-blocks)
+      (org-between-regexps-p "^[ \t]*#\\+begin_src" "^[ \t]*#\\+end_src")))
 
 (defvar org-babel-default-lob-header-args)
 (defun org-babel-exp-lob-one-liners (start end)
@@ -183,8 +167,8 @@ options are taken from `org-babel-default-header-args'."
   (save-excursion
     (goto-char start)
     (while (and (< (point) end)
-               (re-search-forward org-babel-lob-one-liner-regexp nil t))
-      (unless (and (match-string 12) (org-babel-in-example-or-verbatim))
+               (re-search-forward org-babel-lob-one-liner-regexp end t))
+      (unless (org-babel-in-example-or-verbatim)
        (let* ((lob-info (org-babel-lob-get-info))
               (inlinep (match-string 11))
               (inline-start (match-end 11))
@@ -196,7 +180,6 @@ options are taken from `org-babel-default-header-args'."
                               (org-babel-merge-params
                                org-babel-default-header-args
                                org-babel-default-lob-header-args
-                               (org-babel-params-from-buffer)
                                (org-babel-params-from-properties)
                                (org-babel-parse-header-arguments
                                 (org-babel-clean-text-properties
@@ -232,7 +215,7 @@ The function respects the value of the :exports header argument."
 (defun org-babel-exp-code (info)
   "Return the original code block formatted for export."
   (org-fill-template
-   "#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC\n"
+   "#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC"
    `(("lang"  . ,(nth 0 info))
      ("flags" . ,((lambda (f) (when f (concat " " f))) (nth 3 info)))
      ("body"  . ,(nth 1 info)))))
@@ -258,7 +241,15 @@ inhibit insertion of results into the buffer."
                    (nth 2 info)
                    `((:results . ,(if silent "silent" "replace")))))))
          (cond
-          ((or (equal type 'block) (equal type 'inline))
+          ((equal type 'block)
+           (org-babel-execute-src-block nil info))
+          ((equal type 'inline)
+           ;; position the point on the inline source block allowing
+           ;; `org-babel-insert-result' to check that the block is
+           ;; inline
+           (re-search-backward "[ \f\t\n\r\v]" nil t)
+           (re-search-forward org-babel-inline-src-block-regexp nil t)
+           (re-search-backward "src_" nil t)
            (org-babel-execute-src-block nil info))
           ((equal type 'lob)
            (save-excursion
diff --git a/lisp/org/ob-fortran.el b/lisp/org/ob-fortran.el
new file mode 100644 (file)
index 0000000..b6305c4
--- /dev/null
@@ -0,0 +1,164 @@
+;;; ob-fortran.el --- org-babel functions for fortran
+
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
+
+;; Authors: Sergey Litvinov
+;;         Eric Schulte
+;; Keywords: literate programming, reproducible research, fortran
+;; Homepage: http://orgmode.org
+;; Version: 7.8.02
+
+;; 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:
+
+;; Org-Babel support for evaluating fortran code.
+;; Based on ob-C.el by Eric Schulte.
+
+;;; Code:
+(require 'ob)
+(require 'ob-eval)
+(require 'cc-mode)
+
+(declare-function org-entry-get "org"
+                 (pom property &optional inherit literal-nil))
+
+(defvar org-babel-tangle-lang-exts)
+(add-to-list 'org-babel-tangle-lang-exts '("fortran" . "F90"))
+
+(defvar org-babel-default-header-args:fortran '())
+
+(defvar org-babel-fortran-compiler "gfortran"
+  "fortran command used to compile a fortran source code file into an
+  executable.")
+
+(defun org-babel-execute:fortran (body params)
+  "This function should only be called by `org-babel-execute:fortran'"
+  (let* ((tmp-src-file (org-babel-temp-file "fortran-src-" ".F90"))
+         (tmp-bin-file (org-babel-temp-file "fortran-bin-"))
+         (cmdline (cdr (assoc :cmdline params)))
+         (flags (cdr (assoc :flags params)))
+         (full-body (org-babel-expand-body:fortran body params))
+         (compile
+         (progn
+           (with-temp-file tmp-src-file (insert full-body))
+           (org-babel-eval
+            (format "%s -o %s %s %s"
+                    org-babel-fortran-compiler
+                    (org-babel-process-file-name tmp-bin-file)
+                    (mapconcat 'identity
+                               (if (listp flags) flags (list flags)) " ")
+                    (org-babel-process-file-name tmp-src-file)) ""))))
+    ((lambda (results)
+       (org-babel-reassemble-table
+       (if (member "vector" (cdr (assoc :result-params params)))
+           (let ((tmp-file (org-babel-temp-file "f-")))
+             (with-temp-file tmp-file (insert results))
+             (org-babel-import-elisp-from-file tmp-file))
+         (org-babel-read results))
+       (org-babel-pick-name
+        (cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
+       (org-babel-pick-name
+        (cdr (assoc :rowname-names params)) (cdr (assoc :rownames params)))))
+     (org-babel-trim
+       (org-babel-eval
+       (concat tmp-bin-file (if cmdline (concat " " cmdline) "")) "")))))
+
+(defun org-babel-expand-body:fortran (body params)
+  "Expand a block of fortran or fortran code with org-babel according to
+it's header arguments."
+  (let ((vars (mapcar #'cdr (org-babel-get-header params :var)))
+        (main-p (not (string= (cdr (assoc :main params)) "no")))
+        (includes (or (cdr (assoc :includes params))
+                      (org-babel-read (org-entry-get nil "includes" t))))
+        (defines (org-babel-read
+                  (or (cdr (assoc :defines params))
+                      (org-babel-read (org-entry-get nil "defines" t))))))
+     (mapconcat 'identity
+               (list
+                ;; includes
+                (mapconcat
+                 (lambda (inc) (format "#include %s" inc))
+                 (if (listp includes) includes (list includes)) "\n")
+                ;; defines
+                (mapconcat
+                 (lambda (inc) (format "#define %s" inc))
+                 (if (listp defines) defines (list defines)) "\n")
+                ;; body
+                (if main-p
+                    (org-babel-fortran-ensure-main-wrap
+                     (concat
+                      ;; variables
+                      (mapconcat 'org-babel-fortran-var-to-fortran vars "\n")
+                      body) params)
+                  body) "\n") "\n")))
+
+(defun org-babel-fortran-ensure-main-wrap (body params)
+  "Wrap body in a \"program ... end program\" block if none exists."
+  (if (string-match "^[ \t]*program[ \t]*.*" (capitalize body))
+       (let ((vars (mapcar #'cdr (org-babel-get-header params :var))))
+        (if vars (error "cannot use :vars if 'program' statment is present"))
+        body)
+    (format "program main\n%s\nend program main\n" body)))
+
+(defun org-babel-prep-session:fortran (session params)
+  "This function does nothing as fortran is a compiled language with no
+support for sessions"
+  (error "fortran is a compiled languages -- no support for sessions"))
+
+(defun org-babel-load-session:fortran (session body params)
+  "This function does nothing as fortran is a compiled language with no
+support for sessions"
+  (error "fortran is a compiled languages -- no support for sessions"))
+
+;; helper functions
+
+(defun org-babel-fortran-var-to-fortran (pair)
+  "fortranonvert an elisp val into a string of fortran code specifying a var
+of the same value."
+  ;; TODO list support
+  (let ((var (car pair))
+        (val (cdr pair)))
+    (when (symbolp val)
+      (setq val (symbol-name val))
+      (when (= (length val) 1)
+        (setq val (string-to-char val))))
+    (cond
+     ((integerp val)
+      (format "integer, parameter  ::  %S = %S\n" var val))
+     ((floatp val)
+      (format "real, parameter ::  %S = %S\n" var val))
+     ((or (integerp val))
+      (format "character, parameter :: %S = '%S'\n" var val))
+     ((stringp val)
+      (format "character(len=%d), parameter ::  %S = '%s'\n"
+              (length val) var val))
+     ((listp val)
+      (format "real, parameter :: %S(%d) = %s\n"
+             var (length val) (ob-fortran-transform-list val)))
+     (t
+      (error (format "the type of parameter %s is not supported by ob-fortran"
+                    var))))))
+
+(defun ob-fortran-transform-list (val)
+  "Return a fortran representation of enclose syntactic lists."
+  (if (listp val)
+      (concat "(/" (mapconcat #'ob-fortran-transform-list val ", ") "/)")
+    (format "%S" val)))
+
+(provide 'ob-fortran)
+
+;;; ob-fortran.el ends here
index 9bf0433f9fcbfa2a3e568edaffb65f016b6ef536..5d07366e774bc1bfcd71a4a853a4db2faf7ce3d7 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-gnuplot.el --- org-babel functions for gnuplot evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -35,7 +34,7 @@
 ;;; Requirements:
 
 ;; - gnuplot :: http://www.gnuplot.info/
-;; 
+;;
 ;; - gnuplot-mode :: http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html
 
 ;;; Code:
@@ -149,7 +148,10 @@ This function is called by `org-babel-execute-src-block'."
                   (shell-command-to-string
                   (format
                    "gnuplot \"%s\""
-                   (org-babel-process-file-name script-file))))
+                   (org-babel-process-file-name
+                    script-file
+                    (if (member system-type '(cygwin windows-nt ms-dos))
+                        t nil)))))
             (message output))
         (with-temp-buffer
           (insert (concat body "\n"))
index 236dbba28f1ee53124556b8cd58528ba7b32a5eb..53c55329752a6f7b8d451a0e7d0283ce3799123b 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-haskell.el --- org-babel functions for haskell evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -29,7 +28,7 @@
 ;; they can be run, but haskell code can also be run through an
 ;; interactive interpreter.
 ;;
-;; For now let's only allow evaluation using the haskell interpreter.
+;; For now lets only allow evaluation using the haskell interpreter.
 
 ;;; Requirements:
 
index 20824d4cb3023ab7d704a4aa9b85bdd2db44df46..75afda124d62b4e89ac9f05d81dcf0a5bbdd0525 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-java.el --- org-babel functions for java evaluation
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
                         "Can't compile a java block without a classname")))
         (packagename (file-name-directory classname))
         (src-file (concat classname ".java"))
+        (cmpflag (or (cdr (assoc :cmpflag params)) ""))
+        (cmdline (or (cdr (assoc :cmdline params)) ""))
         (full-body (org-babel-expand-body:generic body params))
         (compile
          (progn (with-temp-file src-file (insert full-body))
                 (org-babel-eval
-                 (concat org-babel-java-compiler " " src-file) ""))))
+                 (concat org-babel-java-compiler
+                         " " cmpflag " " src-file) ""))))
     ;; created package-name directories if missing
     (unless (or (not packagename) (file-exists-p packagename))
       (make-directory packagename 'parents))
@@ -65,7 +67,8 @@
         (cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
        (org-babel-pick-name
         (cdr (assoc :rowname-names params)) (cdr (assoc :rownames params)))))
-     (org-babel-eval (concat org-babel-java-command " " classname) ""))))
+     (org-babel-eval (concat org-babel-java-command
+                            " " cmdline " " classname) ""))))
 
 (provide 'ob-java)
 
index 9e6751c9525c002ca629c3d72eb0aa4e133fdca6..bbb7aa0855e58c16b905f3758282906ab2ed655f 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-js.el --- org-babel functions for Javascript
 
-;; Copyright (C) 2010-2011 Free Software Foundation
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research, js
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index b56ba5cf01a68787704e4fd9f52d4e8d2bc2b6ff..759bef3905f5b56f0dc22cdbac82dc145b01dc6c 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-keys.el --- key bindings for org-babel
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -75,6 +74,8 @@ functions which are assigned key bindings, and see
     ("f" . org-babel-tangle-file)
     ("\C-c" . org-babel-check-src-block)
     ("c" . org-babel-check-src-block)
+    ("\C-j" . org-babel-insert-header-arg)
+    ("j" . org-babel-insert-header-arg)
     ("\C-l" . org-babel-load-in-session)
     ("l" . org-babel-load-in-session)
     ("\C-i" . org-babel-lob-ingest)
index c27ca33080a01e3e5dd923edf1261a7fc4ada3c2..0db71992826f24524eb5d4049baca524426a7454 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-latex.el --- org-babel functions for latex "evaluation"
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -73,6 +72,10 @@ This function is called by `org-babel-execute-src-block'."
       (let* ((out-file (cdr (assoc :file params)))
             (tex-file (org-babel-temp-file "latex-" ".tex"))
             (border (cdr (assoc :border params)))
+            (imagemagick (cdr (assoc :imagemagick params)))
+            (im-in-options (cdr (assoc :iminoptions params)))
+            (im-out-options (cdr (assoc :imoutoptions params)))
+            (pdfpng (cdr (assoc :pdfpng params)))
             (fit (or (cdr (assoc :fit params)) border))
             (height (and fit (cdr (assoc :pdfheight params))))
             (width (and fit (cdr (assoc :pdfwidth params))))
@@ -82,10 +85,10 @@ This function is called by `org-babel-execute-src-block'."
              (append (cdr (assoc :packages params))
                      org-export-latex-packages-alist)))
         (cond
-         ((string-match "\\.png$" out-file)
+         ((and (string-match "\\.png$" out-file) (not imagemagick))
           (org-create-formula-image
            body out-file org-format-latex-options in-buffer))
-         ((string-match "\\.pdf$" out-file)
+         ((or (string-match "\\.pdf$" out-file) imagemagick)
          (require 'org-latex)
          (with-temp-file tex-file
            (insert
@@ -119,13 +122,29 @@ This function is called by `org-babel-execute-src-block'."
               (concat "\n\\begin{document}\n" body "\n\\end{document}\n")))
            (org-export-latex-fix-inputenc))
           (when (file-exists-p out-file) (delete-file out-file))
-          (rename-file (org-babel-latex-tex-to-pdf tex-file) out-file))
+         (let ((transient-pdf-file (org-babel-latex-tex-to-pdf tex-file)))
+           (cond
+            ((string-match "\\.pdf$" out-file)
+             (rename-file transient-pdf-file out-file))
+            (imagemagick
+             (convert-pdf
+              transient-pdf-file out-file im-in-options im-out-options)
+             (when (file-exists-p transient-pdf-file)
+               (delete-file transient-pdf-file))))))
          ((string-match "\\.\\([^\\.]+\\)$" out-file)
-          (error "can not create %s files, please specify a .png or .pdf file"
+          (error "can not create %s files, please specify a .png or .pdf file or try the :imagemagick header arguement"
                 (match-string 1 out-file))))
         nil) ;; signal that output has already been written to file
     body))
 
+
+(defun convert-pdf (pdffile out-file im-in-options im-out-options)
+  "Generate a file from a pdf file using imagemagick."
+  (let ((cmd (concat "convert " im-in-options " " pdffile " "
+                    im-out-options " " out-file)))
+    (message (concat "Converting pdffile file " cmd  "..."))
+    (shell-command cmd)))
+
 (defun org-babel-latex-tex-to-pdf (file)
   "Generate a pdf file according to the contents FILE.
 Extracted from `org-export-as-pdf' in org-latex.el."
@@ -171,7 +190,7 @@ Extracted from `org-export-as-pdf' in org-latex.el."
       pdffile)))
 
 (defun org-babel-prep-session:latex (session params)
-  "Return an error because LaTeX doesn't support sesstions."
+  "Return an error because LaTeX doesn't support sessions."
   (error "LaTeX does not support sessions"))
 
 (provide 'ob-latex)
index 4fe61451982cccb5137be05dd6cf5a5ab707476b..e9c142712eb08c5817f0d3c4054500df4cb910c4 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-ledger.el --- org-babel functions for ledger evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric S Fraga
 ;; Keywords: literate programming, reproducible research, accounting
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -30,7 +29,7 @@
 ;;
 ;; 1) there is no such thing as a "session" in ledger
 ;;
-;; 2) we are generally only going to return output from the ledger program
+;; 2) we are generally only going to return output from the leger program
 ;;
 ;; 3) we are adding the "cmdline" header argument
 ;;
index 23fc8f04c34ec9866f8dd26c9b7a3aa90ec0ec23..0dde0de9e42b163b825805d988c59f139dab323c 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-lilypond.el --- org-babel functions for lilypond evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Martyn Jago
 ;; Keywords: babel language, literate programming
 ;; Homepage: https://github.com/mjago/ob-lilypond
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -115,7 +114,7 @@ blocks")
                body))))
      vars)
     body))
+
 (defun org-babel-execute:lilypond (body params)
   "This function is called by `org-babel-execute-src-block'.
 Depending on whether we are in arrange mode either:
@@ -139,7 +138,7 @@ specific arguments to =org-babel-tangle="
 
 (defun ly-process-basic (body params)
   "Execute a lilypond block in basic mode"
-  
+
   (let* ((result-params (cdr (assoc :result-params params)))
         (out-file (cdr (assoc :file params)))
         (cmdline (or (cdr (assoc :cmdline params))
@@ -148,7 +147,7 @@ specific arguments to =org-babel-tangle="
 
     (with-temp-file in-file
       (insert (org-babel-expand-body:generic body params)))
-    
+
     (org-babel-eval
      (concat
       (ly-determine-ly-path)
@@ -178,7 +177,7 @@ If error in compilation, attempt to mark the error in lilypond org file"
           (ly-temp-file (ly-switch-extension
                          (buffer-file-name) ".ly")))
       (if (file-exists-p ly-tangled-file)
-          (progn 
+          (progn
             (when (file-exists-p ly-temp-file)
               (delete-file ly-temp-file))
             (rename-file ly-tangled-file
@@ -244,7 +243,7 @@ FILE-NAME is full path to lilypond file"
   "Mark the erroneous lines in the lilypond org buffer.
 FILE-NAME is full path to lilypond file.
 LINE is the erroneous line"
+
   (switch-to-buffer-other-window
    (concat (file-name-nondirectory
             (ly-switch-extension file-name ".org"))))
@@ -257,7 +256,7 @@ LINE is the erroneous line"
           (set-mark (point))
           (goto-char (- (point) (length line))))
       (goto-char temp))))
-  
+
 (defun ly-parse-line-num (&optional buffer)
   "Extract error line number."
 
@@ -285,7 +284,7 @@ LINE is the erroneous line"
   "Extract the erroneous line from the tangled .ly file
 FILE-NAME is full path to lilypond file.
 LINENO is the number of the erroneous line"
+
   (with-temp-buffer
     (insert-file-contents (ly-switch-extension file-name ".ly")
                          nil nil nil t)
@@ -295,12 +294,12 @@ LINENO is the number of the erroneous line"
          (forward-line (- lineNo 1))
          (buffer-substring (point) (point-at-eol)))
       nil)))
-    
+
 (defun ly-attempt-to-open-pdf (file-name &optional test)
   "Attempt to display the generated pdf file
 FILE-NAME is full path to lilypond file
 If TEST is non-nil, the shell command is returned and is not run"
-  
+
   (when ly-display-pdf-post-tangle
     (let ((pdf-file (ly-switch-extension file-name ".pdf")))
       (if (file-exists-p pdf-file)
@@ -341,7 +340,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
 (defun ly-determine-pdf-path (&optional test)
   "Return correct path to pdf viewer depending on OS
 If TEST is non-nil, it contains a simulation of the OS for test purposes"
-  
+
   (let ((sys-type
          (or test system-type)))
     (cond ((string= sys-type  "darwin")
@@ -353,7 +352,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
 (defun ly-determine-midi-path (&optional test)
   "Return correct path to midi player depending on OS
 If TEST is non-nil, it contains a simulation of the OS for test purposes"
-   
+
   (let ((sys-type
          (or test test system-type)))
     (cond ((string= sys-type  "darwin")
@@ -361,10 +360,10 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
           ((string= sys-type "win32")
            ly-win32-midi-path)
           (t ly-nix-midi-path))))
+
 (defun ly-toggle-midi-play ()
   "Toggle whether midi will be played following a successful compilation"
-  
+
   (interactive)
   (setq ly-play-midi-post-tangle
         (not ly-play-midi-post-tangle))
@@ -374,7 +373,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
 
 (defun ly-toggle-pdf-display ()
   "Toggle whether pdf will be displayed following a successful compilation"
-   
+
   (interactive)
   (setq ly-display-pdf-post-tangle
         (not ly-display-pdf-post-tangle))
index 4ff9c4076ecd8abbe191918241ac5eda99d14d36..2e457878b7f5742b8a523faf04f26b46d85d7dc0 100644 (file)
@@ -1,13 +1,12 @@
 ;;; ob-lisp.el --- org-babel functions for common lisp evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Joel Boehland
 ;;     Eric Schulte
 ;;     David T. O'Toole <dto@gnu.org>
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -79,7 +78,7 @@ current directory string."
       (if (member "output" (cdr (assoc :result-params params)))
          (car result)
        (condition-case nil
-           (read (org-bable-lisp-vector-to-list (cadr result)))
+           (read (org-babel-lisp-vector-to-list (cadr result)))
          (error (cadr result)))))
     (with-temp-buffer
       (insert (org-babel-expand-body:lisp body params))
@@ -97,7 +96,7 @@ current directory string."
    (org-babel-pick-name (cdr (assoc :rowname-names params))
                        (cdr (assoc :rownames params)))))
 
-(defun org-bable-lisp-vector-to-list (results)
+(defun org-babel-lisp-vector-to-list (results)
   ;; TODO: better would be to replace #(...) with [...]
   (replace-regexp-in-string "#(" "(" results))
 
index 5cb40a057f3e37b0840207de9ae656f092b129c3..8976427ab7e2f4620ec69442a57aad7a82dd6000 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-lob.el --- functions supporting the Library of Babel
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;;     Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -29,6 +28,8 @@
 (require 'ob)
 (require 'ob-table)
 
+(declare-function org-babel-in-example-or-verbatim "ob-exp" nil)
+
 (defvar org-babel-library-of-babel nil
   "Library of source-code blocks.
 This is an association list.  Populate the library by adding
@@ -62,24 +63,15 @@ To add files to this list use the `org-babel-lob-ingest' command."
             lob-ingest-count (if (> lob-ingest-count 1) "s" ""))
     lob-ingest-count))
 
-(defconst org-babel-lob-call-aliases '("lob" "call")
-  "Aliases to call a source block function.
-If you change the value of this variable then your files may
-  become unusable by other org-babel users, and vice versa.")
-
 (defconst org-babel-block-lob-one-liner-regexp
   (concat
-   "^\\([ \t]*\\)#\\+\\(?:"
-   (mapconcat #'regexp-quote org-babel-lob-call-aliases "\\|")
-   "\\):[ \t]+\\([^\(\)\n]+?\\)\\(\\[\\(.*\\)\\]\\|\\(\\)\\)"
+   "^\\([ \t]*\\)#\\+call:[ \t]+\\([^\(\)\n]+?\\)\\(\\[\\(.*\\)\\]\\|\\(\\)\\)"
    "\(\\([^\n]*\\)\)\\(\\[.+\\]\\|\\)[ \t]*\\(\\([^\n]*\\)\\)?")
   "Regexp to match non-inline calls to predefined source block functions.")
 
 (defconst org-babel-inline-lob-one-liner-regexp
   (concat
-   "\\([^\n]*\\)\\(?:"
-   (mapconcat #'regexp-quote org-babel-lob-call-aliases "\\|")
-   "\\)_\\([^\(\)\n]+?\\)\\(\\[\\(.*\\)\\]\\|\\(\\)\\)"
+   "\\([^\n]*\\)call_\\([^\(\)\n]+?\\)\\(\\[\\(.*\\)\\]\\|\\(\\)\\)"
    "\(\\([^\n]*\\)\)\\(\\[\\(.*?\\)\\]\\)?")
   "Regexp to match inline calls to predefined source block functions.")
 
@@ -89,6 +81,7 @@ If you change the value of this variable then your files may
   "Regexp to match calls to predefined source block functions.")
 
 ;; functions for executing lob one-liners
+
 ;;;###autoload
 (defun org-babel-lob-execute-maybe ()
   "Execute a Library of Babel source block, if appropriate.
@@ -96,7 +89,9 @@ Detect if this is context for a Library Of Babel source block and
 if so then run the appropriate source block from the Library."
   (interactive)
   (let ((info (org-babel-lob-get-info)))
-    (if (nth 0 info) (progn (org-babel-lob-execute info) t) nil)))
+    (if (and (nth 0 info) (not (org-babel-in-example-or-verbatim)))
+       (progn (org-babel-lob-execute info) t)
+      nil)))
 
 ;;;###autoload
 (defun org-babel-lob-get-info ()
@@ -109,7 +104,7 @@ if so then run the appropriate source block from the Library."
        (beginning-of-line 1)
        (when (looking-at org-babel-lob-one-liner-regexp)
          (append
-          (mapcar #'org-babel-clean-text-properties 
+          (mapcar #'org-babel-clean-text-properties
                   (list
                    (format "%s%s(%s)%s"
                            (nonempty 3 12)
@@ -120,13 +115,12 @@ if so then run the appropriate source block from the Library."
                    (nonempty 9 18)))
           (list (length (if (= (length (match-string 12)) 0)
                             (match-string 2) (match-string 11))))))))))
-  
+
 (defun org-babel-lob-execute (info)
   "Execute the lob call specified by INFO."
   (let ((params (org-babel-process-params
                 (org-babel-merge-params
                  org-babel-default-header-args
-                 (org-babel-params-from-buffer)
                  (org-babel-params-from-properties)
                  (org-babel-parse-header-arguments
                   (org-babel-clean-text-properties
index bb32c5a29f509f6f5d7674d93e6e5119f634be0f..717fc746dc63ccc8bccb4aa16659539fd2f5f958 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-matlab.el --- org-babel support for matlab evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 279ba6b928b5c9766a73e1bbd421fd3a91e4b493..74bcb0694345ce9cdc2da3a9c5c71521dfb31ad5 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-maxima.el --- org-babel functions for maxima evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric S Fraga
 ;;        Eric Schulte
 ;; Keywords: literate programming, reproducible research, maxima
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
 ;;
 ;; 1) there is no such thing as a "session" in maxima
 ;;
-;; 2) we are generally only going to return output from maxima
-;;
-;; 3) we are adding the "cmdline" header argument
-;;
-;; 4) there are no variables
+;; 2) we are adding the "cmdline" header argument
 
 ;;; Code:
 (require 'ob)
 
+(defvar org-babel-tangle-lang-exts)
+(add-to-list 'org-babel-tangle-lang-exts '("maxima" . "max"))
+
 (defvar org-babel-default-header-args:maxima '())
 
 (defun org-babel-maxima-expand (body params)
   "Expand a block of Maxima code according to its header arguments."
-  body)
+  (let ((vars (mapcar #'cdr (org-babel-get-header params :var))))
+     (mapconcat 'identity
+               (list
+                ;; graphic output
+                (let ((graphic-file (org-babel-maxima-graphical-output-file params)))
+                  (if graphic-file
+                      (format
+                       "set_plot_option ([gnuplot_term, png]); set_plot_option ([gnuplot_out_file, %S]);"
+                       graphic-file)
+                    ""))
+                ;; variables
+                (mapconcat 'org-babel-maxima-var-to-maxima vars "\n")
+                ;; body
+                body
+                "gnuplot_close ()$")
+               "\n")))
 
 (defun org-babel-execute:maxima (body params)
   "Execute a block of Maxima entries with org-babel.  This function is
 called by `org-babel-execute-src-block'."
   (message "executing Maxima source code block")
-  (let* ((result-params (split-string (or (cdr (assoc :results params)) "")))
-        (cmdline (cdr (assoc :cmdline params)))
-        (in-file (org-babel-temp-file "maxima-"))
-        (cmd (format "maxima --very-quiet -r 'batchload(%S)$' %s"
-                     in-file cmdline)))
-    (with-temp-file in-file (insert body))
-    (message cmd)
-    ((lambda (raw) ;; " | grep -v batch | grep -v 'replaced' | sed '/^$/d' "
-       (mapconcat
-       #'identity
-       (delq nil
-             (mapcar (lambda (line)
-                       (unless (or (string-match "batch" line)
-                                   (string-match "^rat: replaced .*$" line)
-                                   (= 0 (length line)))
-                         line))
-                     (split-string raw "[\r\n]"))) "\n"))
-     (org-babel-eval cmd ""))))
+  (let ((result-params (split-string (or (cdr (assoc :results params)) "")))
+       (result
+        (let* ((cmdline (cdr (assoc :cmdline params)))
+               (in-file (org-babel-temp-file "maxima-" ".max"))
+               (cmd (format "maxima --very-quiet -r 'batchload(%S)$' %s"
+                            in-file cmdline)))
+          (with-temp-file in-file (insert (org-babel-maxima-expand body params)))
+          (message cmd)
+          ((lambda (raw) ;; " | grep -v batch | grep -v 'replaced' | sed '/^$/d' "
+             (mapconcat
+              #'identity
+              (delq nil
+                    (mapcar (lambda (line)
+                              (unless (or (string-match "batch" line)
+                                          (string-match "^rat: replaced .*$" line)
+                                          (= 0 (length line)))
+                                line))
+                            (split-string raw "[\r\n]"))) "\n"))
+           (org-babel-eval cmd "")))))
+    (if (org-babel-maxima-graphical-output-file params)
+       nil
+      (if (or (member "scalar" result-params)
+             (member "verbatim" result-params)
+             (member "output" result-params))
+         result
+       (let ((tmp-file (org-babel-temp-file "maxima-res-")))
+         (with-temp-file tmp-file (insert result))
+         (org-babel-import-elisp-from-file tmp-file))))))
+
 
 (defun org-babel-prep-session:maxima (session params)
   (error "Maxima does not support sessions"))
 
+(defun org-babel-maxima-var-to-maxima (pair)
+  "Convert an elisp val into a string of maxima code specifying a var
+of the same value."
+  (let ((var (car pair))
+        (val (cdr pair)))
+    (when (symbolp val)
+      (setq val (symbol-name val))
+      (when (= (length val) 1)
+        (setq val (string-to-char val))))
+      (format "%S: %s$" var
+             (org-babel-maxima-elisp-to-maxima val))))
+
+(defun org-babel-maxima-graphical-output-file (params)
+  "Name of file to which maxima should send graphical output."
+  (and (member "graphics" (cdr (assq :result-params params)))
+       (cdr (assq :file params))))
+
+(defun org-babel-maxima-elisp-to-maxima (val)
+  "Return a string of maxima code which evaluates to VAL."
+  (if (listp val)
+      (concat "[" (mapconcat #'org-babel-maxima-elisp-to-maxima val ", ") "]")
+    (format "%s" val)))
+
+
 (provide 'ob-maxima)
 
 
index dc800a875c692619e2cd88c6314b58284da7bd99..b40f9a39cef63c1135a283983aaa7e861cc22b7f 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-msc.el --- org-babel functions for mscgen evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Juan Pechiar
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 78d309b9e138f2b52db121e0b57e612c6d099d78..8d61ff37e6ea21b39cbffa71efbbca223560a538 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-ocaml.el --- org-babel functions for ocaml evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -29,7 +28,7 @@
 ;; they can be run, but ocaml code can also be run through an
 ;; interactive interpreter.
 ;;
-;; For now let's only allow evaluation using the ocaml interpreter.
+;; For now lets only allow evaluation using the ocaml interpreter.
 
 ;;; Requirements:
 
index 2003a6f18f702b16346a0f01e0d16096b572380b..9e8575768dc18f37fafe71b35a1e9dcf24cc6874 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-octave.el --- org-babel functions for octave and matlab evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -87,13 +86,24 @@ end")
          (org-babel-expand-body:generic
           body params (org-babel-variable-assignments:octave params)))
         (result (org-babel-octave-evaluate
-                 session full-body result-type matlabp)))
-    (org-babel-reassemble-table
-     result
-     (org-babel-pick-name
-      (cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
-     (org-babel-pick-name
-      (cdr (assoc :rowname-names params)) (cdr (assoc :rownames params))))))
+                 session
+                 (if (org-babel-octave-graphical-output-file params)
+                     (mapconcat 'identity
+                                (list
+                                 "set (0, \"defaultfigurevisible\", \"off\");"
+                                 full-body
+                                 (format "print -dpng %s" (org-babel-octave-graphical-output-file params)))
+                                "\n")
+                   full-body)
+                 result-type matlabp)))
+    (if (org-babel-octave-graphical-output-file params)
+       nil
+      (org-babel-reassemble-table
+       result
+       (org-babel-pick-name
+       (cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
+       (org-babel-pick-name
+       (cdr (assoc :rowname-names params)) (cdr (assoc :rownames params)))))))
 
 (defun org-babel-prep-session:matlab (session params)
   "Prepare SESSION according to PARAMS."
@@ -118,7 +128,11 @@ specifying a variable of the same value."
   (if (listp var)
       (concat "[" (mapconcat #'org-babel-octave-var-to-octave var
                             (if (listp (car var)) "; " ",")) "]")
-    (format "%s" (or var "nil"))))
+    (cond
+     ((stringp var)
+      (format "\'%s\'" var))
+     (t
+      (format "%s" var)))))
 
 (defun org-babel-prep-session:octave (session params &optional matlabp)
   "Prepare SESSION according to the header arguments specified in PARAMS."
@@ -256,6 +270,11 @@ This removes initial blank and comment lines and then calls
       (match-string 1 string)
     string))
 
+(defun org-babel-octave-graphical-output-file (params)
+  "Name of file to which maxima should send graphical output."
+  (and (member "graphics" (cdr (assq :result-params params)))
+       (cdr (assq :file params))))
+
 (provide 'ob-octave)
 
 
index 37256d015c7e99615ed92be34490a452eb19d57c..d57f8b506d1dc13ddcea54f685aba0f565622761 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-org.el --- org-babel functions for org code block evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 13d7141373187bae312310f11fba270cbba2c2b9..916eb029dbe828f639ca8df7d7b814d8c42c4054 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-perl.el --- org-babel functions for perl evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Dan Davison
 ;;     Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
diff --git a/lisp/org/ob-picolisp.el b/lisp/org/ob-picolisp.el
new file mode 100644 (file)
index 0000000..572b659
--- /dev/null
@@ -0,0 +1,193 @@
+;;; ob-picolisp.el --- org-babel functions for picolisp evaluation
+
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
+
+;; Authors: Thorsten Jolitz
+;;         Eric Schulte
+;; Keywords: literate programming, reproducible research
+;; Homepage: http://orgmode.org
+
+;; 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 library enables the use of PicoLisp in the multi-language
+;; programming framework Org-Babel. PicoLisp is a minimal yet
+;; fascinating lisp dialect and a highly productive application
+;; framework for web-based client-server applications on top of
+;; object-oriented databases. A good way to learn PicoLisp is to first
+;; read Paul Grahams essay "The hundred year language"
+;; (http://www.paulgraham.com/hundred.html) and then study the various
+;; documents and essays published in the PicoLisp wiki
+;; (http://picolisp.com/5000/-2.html). PicoLisp is included in some
+;; GNU/Linux Distributions, and can be downloaded here:
+;; http://software-lab.de/down.html. It ships with a picolisp-mode and
+;; a inferior-picolisp-mode for Emacs (to be found in the /lib/el/
+;; directory).
+
+;; Although it might seem more natural to use Emacs Lisp for most
+;; Lisp-based programming tasks inside Org-Mode, an Emacs library
+;; written in Emacs Lisp, PicoLisp has at least two outstanding
+;; features that make it a valuable addition to Org-Babel:
+
+;; PicoLisp _is_ an object-oriented database with a Prolog-based query
+;; language implemented in PicoLisp (Pilog). Database objects are
+;; first-class members of the language.
+
+;; PicoLisp is an extremely productive framework for the development
+;; of interactive web-applications (on top of a database).
+
+;;; Requirements:
+
+;;; Code:
+(require 'ob)
+(require 'ob-eval)
+(require 'ob-comint)
+(require 'comint)
+(eval-when-compile (require 'cl))
+
+(declare-function run-picolisp "ext:inferior-picolisp" (cmd))
+
+;; optionally define a file extension for this language
+(add-to-list 'org-babel-tangle-lang-exts '("picolisp" . "l"))
+
+;;; interferes with settings in org-babel buffer?
+;; optionally declare default header arguments for this language
+;; (defvar org-babel-default-header-args:picolisp
+;;   '((:colnames . "no"))
+;;   "Default arguments for evaluating a picolisp source block.")
+
+(defvar org-babel-picolisp-eoe "org-babel-picolisp-eoe"
+  "String to indicate that evaluation has completed.")
+
+(defcustom org-babel-picolisp-cmd "pil"
+  "Name of command used to evaluate picolisp blocks."
+  :group 'org-babel
+  :type 'string)
+
+(defun org-babel-expand-body:picolisp (body params &optional processed-params)
+  "Expand BODY according to PARAMS, return the expanded body."
+  (let ((vars (mapcar #'cdr (org-babel-get-header params :var)))
+        (result-params (cdr (assoc :result-params params)))
+        (print-level nil) (print-length nil))
+    (if (> (length vars) 0)
+        (concat "(prog (let ("
+                (mapconcat
+                 (lambda (var)
+                   (format "%S '%S)"
+                           (print (car var))
+                           (print (cdr var))))
+                 vars "\n      ")
+                " \n" body ") )")
+      body)))
+
+(defun org-babel-execute:picolisp (body params)
+  "Execute a block of Picolisp code with org-babel.  This function is
+ called by `org-babel-execute-src-block'"
+  (message "executing Picolisp source code block")
+  (let* (
+        ;; name of the session or "none"
+        (session-name (cdr (assoc :session params)))
+        ;; set the session if the session variable is non-nil
+        (session (org-babel-picolisp-initiate-session session-name))
+        ;; either OUTPUT or VALUE which should behave as described above
+        (result-type (cdr (assoc :result-type params)))
+        (result-params (cdr (assoc :result-params params)))
+        ;; expand the body with `org-babel-expand-body:picolisp'
+        (full-body (org-babel-expand-body:picolisp body params))
+         ;; wrap body appropriately for the type of evaluation and results
+         (wrapped-body
+          (cond
+           ((or (member "code" result-params)
+                (member "pp" result-params))
+            (format "(pretty (out \"/dev/null\" %s))" full-body))
+           ((and (member "value" result-params) (not session))
+            (format "(print (out \"/dev/null\" %s))" full-body))
+           ((member "value" result-params)
+            (format "(out \"/dev/null\" %s)" full-body))
+           (t full-body))))
+
+    ((lambda (result)
+       (if (or (member "verbatim" result-params)
+               (member "scalar" result-params)
+               (member "output" result-params)
+               (member "code" result-params)
+               (member "pp" result-params)
+               (= (length result) 0))
+           result
+         (read result)))
+     (if (not (string= session-name "none"))
+         ;; session based evaluation
+        (mapconcat ;; <- joins the list back together into a single string
+          #'identity
+          (butlast ;; <- remove the org-babel-picolisp-eoe line
+           (delq nil
+                 (mapcar
+                  (lambda (line)
+                    (org-babel-chomp ;; remove trailing newlines
+                     (when (> (length line) 0) ;; remove empty lines
+                      (cond
+                       ;; remove leading "-> " from return values
+                       ((and (>= (length line) 3)
+                             (string= "-> " (substring line 0 3)))
+                        (substring line 3))
+                       ;; remove trailing "-> <<return-value>>" on the
+                       ;; last line of output
+                       ((and (member "output" result-params)
+                             (string-match-p "->" line))
+                        (substring line 0 (string-match "->" line)))
+                       (t line)
+                       )
+                       ;; (if (and (>= (length line) 3) ;; remove leading "<- "
+                       ;;          (string= "-> " (substring line 0 3)))
+                       ;;     (substring line 3)
+                       ;;   line)
+                      )))
+                  ;; returns a list of the output of each evaluated expression
+                  (org-babel-comint-with-output (session org-babel-picolisp-eoe)
+                    (insert wrapped-body) (comint-send-input)
+                    (insert "'" org-babel-picolisp-eoe) (comint-send-input)))))
+          "\n")
+       ;; external evaluation
+       (let ((script-file (org-babel-temp-file "picolisp-script-")))
+        (with-temp-file script-file
+          (insert (concat wrapped-body "(bye)")))
+         (org-babel-eval
+          (format "%s %s"
+                  org-babel-picolisp-cmd
+                  (org-babel-process-file-name script-file))
+          ""))))))
+
+(defun org-babel-picolisp-initiate-session (&optional session-name)
+  "If there is not a current inferior-process-buffer in SESSION
+then create.  Return the initialized session."
+  (unless (string= session-name "none")
+    (require 'inferior-picolisp)
+    ;; provide a reasonable default session name
+    (let ((session (or session-name "*inferior-picolisp*")))
+      ;; check if we already have a live session by this name
+      (if (org-babel-comint-buffer-livep session)
+          (get-buffer session)
+        (save-window-excursion
+          (run-picolisp org-babel-picolisp-cmd)
+          (rename-buffer session-name)
+          (current-buffer))))))
+
+(provide 'ob-picolisp)
+
+
+
+;;; ob-picolisp.el ends here
index 9fa557275925f64c4dff02828d178a6f9e6bf7bc..da700527f7153f756764980fc5cb79b2a8ced05c 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-plantuml.el --- org-babel functions for plantuml evaluation
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Zhang Weize
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 5234d83eceec6e4f330c459ecd32d6fb3a0ba53d..5e7a2f0e6b54ef06c2a79840db1591e822448e36 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-python.el --- org-babel functions for python evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;;     Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 1e14021a364ab4a8a7362cba0d37f724355f2eb7..cde594e11b0d6072007523baa70a1ea0c1548d76 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob-ref.el --- org-babel functions for referencing external data
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;;     Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
 (declare-function org-narrow-to-subtree "org" ())
 (declare-function org-id-find-id-in-file "org-id" (id file &optional markerp))
 (declare-function org-show-context "org" (&optional key))
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 (defvar org-babel-ref-split-regexp
   "[ \f\t\n\r\v]*\\(.+?\\)[ \f\t\n\r\v]*=[ \f\t\n\r\v]*\\(.+\\)[ \f\t\n\r\v]*")
 
+(defvar org-babel-update-intermediate nil
+  "Update the in-buffer results of code blocks executed to resolve references.")
+
 (defun org-babel-ref-parse (assignment)
   "Parse a variable ASSIGNMENT in a header argument.
 If the right hand side of the assignment has a literal value
@@ -94,7 +98,7 @@ the variable."
               (m (when file (org-id-find-id-in-file id file 'marker))))
          (when (and file m)
            (message "file:%S" file)
-           (switch-to-buffer (marker-buffer m))
+           (org-pop-to-buffer-same-window (marker-buffer m))
            (goto-char m)
            (move-marker m nil)
            (org-show-context)
@@ -147,21 +151,19 @@ the variable."
       (save-restriction
        (widen)
        (goto-char (point-min))
-       (if (let* ((rx (regexp-quote ref))
-                  (res-rx (concat org-babel-result-regexp rx "[ \t]*$"))
-                  (src-rx (concat org-babel-src-name-regexp
-                                  rx "\\(\(.*\)\\)?" "[ \t]*$")))
+       (if (let ((src-rx (org-babel-named-src-block-regexp-for-name ref))
+                 (res-rx (org-babel-named-data-regexp-for-name ref)))
              ;; goto ref in the current buffer
-             (or (and (not args)
-                      (or (re-search-forward res-rx nil t)
-                          (re-search-backward res-rx nil t)))
-                 (re-search-forward src-rx nil t)
-                 (re-search-backward src-rx nil t)
-                 ;; check for local or global headlines by id
-                 (setq id (org-babel-ref-goto-headline-id ref))
-                 ;; check the Library of Babel
-                 (setq lob-info (cdr (assoc (intern ref)
-                                            org-babel-library-of-babel)))))
+             (or
+              ;; check for code blocks
+              (re-search-forward src-rx nil t)
+              ;; check for named data
+              (re-search-forward res-rx nil t)
+              ;; check for local or global headlines by id
+              (setq id (org-babel-ref-goto-headline-id ref))
+              ;; check the Library of Babel
+              (setq lob-info (cdr (assoc (intern ref)
+                                         org-babel-library-of-babel)))))
            (unless (or lob-info id) (goto-char (match-beginning 0)))
          ;; ;; TODO: allow searching for names in other buffers
          ;; (setq id-loc (org-id-find ref 'marker)
@@ -172,6 +174,12 @@ the variable."
        (cond
         (lob-info (setq type 'lob))
         (id (setq type 'id))
+        ((and (looking-at org-babel-src-name-regexp)
+              (save-excursion
+                (forward-line 1)
+                (or (looking-at org-babel-src-block-regexp)
+                    (looking-at org-babel-multi-line-header-regexp))))
+         (setq type 'source-block))
         (t (while (not (setq type (org-babel-ref-at-ref-p)))
              (forward-line 1)
              (beginning-of-line)
@@ -184,7 +192,9 @@ the variable."
                  (table        (org-babel-read-table))
                  (list         (org-babel-read-list))
                  (file         (org-babel-read-link))
-                 (source-block (org-babel-execute-src-block nil nil params))
+                 (source-block (org-babel-execute-src-block
+                                nil nil (if org-babel-update-intermediate
+                                            nil params)))
                  (lob          (org-babel-execute-src-block
                                 nil lob-info params))
                  (id           (org-babel-ref-headline-body)))))
@@ -234,20 +244,7 @@ to \"0:-1\"."
 
 (defun org-babel-ref-split-args (arg-string)
   "Split ARG-STRING into top-level arguments of balanced parenthesis."
-  (let ((index 0) (depth 0) (buffer "") holder return)
-    ;; crawl along string, splitting at any ","s which are on the top level
-    (while (< index (length arg-string))
-      (setq holder (substring arg-string index (+ 1 index)))
-      (setq buffer (concat buffer holder))
-      (setq index (+ 1 index))
-      (cond
-       ((string= holder ",")
-        (when (= depth 0)
-          (setq return (cons (substring buffer 0 -1) return))
-          (setq buffer "")))
-       ((or (string= holder "(") (string= holder "[")) (setq depth (+ depth 1)))
-       ((or (string= holder ")") (string= holder "]")) (setq depth (- depth 1)))))
-    (mapcar #'org-babel-trim (reverse (cons buffer return)))))
+  (mapcar #'org-babel-trim (org-babel-balanced-split arg-string 44)))
 
 (defvar org-bracket-link-regexp)
 (defun org-babel-ref-at-ref-p ()
index 02089b4a21413d512cad02adaa7c38d1bd80d91c..19cce58d8203f3191e3bfe0116e494b22121154d 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-ruby.el --- org-babel functions for ruby evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
 ;;; Requirements:
 
 ;; - ruby and irb executables :: http://www.ruby-lang.org/
-;; 
+;;
 ;; - ruby-mode :: Can be installed through ELPA, or from
 ;;   http://github.com/eschulte/rinari/raw/master/util/ruby-mode.el
-;;   
+;;
 ;; - inf-ruby mode :: Can be installed through ELPA, or from
 ;;   http://github.com/eschulte/rinari/raw/master/util/inf-ruby.el
 
@@ -129,8 +128,8 @@ Emacs-lisp table, otherwise return the results as a string."
   "Initiate a ruby session.
 If there is not a current inferior-process-buffer in SESSION
 then create one.  Return the initialized session."
-  (require 'inf-ruby)
   (unless (string= session "none")
+    (require 'inf-ruby)
     (let ((session-buffer (save-window-excursion
                            (run-ruby nil session) (current-buffer))))
       (if (org-babel-comint-buffer-livep session-buffer)
index 162113ea5a8b612501c562ddf9e15287e8828c59..c96061043110b2aa39e0ab1901ba8269dab7eaf3 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-sass.el --- org-babel functions for the sass css generation language
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 3e93a3a74f778bfce9f0e9971ce1a56ec7da132b..4bcde94235f7f14e42829927572568859b4c66ff 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-scheme.el --- org-babel functions for Scheme
 
-;; Copyright (C) 2010-2011 Free Software Foundation
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research, scheme
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index 084beffd229ba08d99e3eee52654b4413e9b3e47..37cdb28690ae01d245d0c74c52ebd582f3441a02 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-screen.el --- org-babel support for interactive terminal
 
-;; Copyright (C) 2009-2011  Free Software Foundation
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Benjamin Andresen
 ;; Keywords: literate programming, interactive shell
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -38,7 +37,7 @@
 (require 'ob-ref)
 
 (defvar org-babel-screen-location "screen"
-  "The command location for screen. 
+  "The command location for screen.
 In case you want to use a different screen than one selected by your $PATH")
 
 (defvar org-babel-default-header-args:screen
@@ -112,7 +111,7 @@ In case you want to use a different screen than one selected by your $PATH")
     (with-temp-file tmpfile
       (insert body)
 
-      ;; org-babel has superflous spaces
+      ;; org-babel has superfluous spaces
       (goto-char (point-min))
       (delete-matching-lines "^ +$"))
     tmpfile))
index f46ba45770a31b2d794ba795b096bf7ba71576aa..6f4cb4ffdfcbe5779ad900e9e41e8728152501e2 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-sh.el --- org-babel functions for shell evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
diff --git a/lisp/org/ob-shen.el b/lisp/org/ob-shen.el
new file mode 100644 (file)
index 0000000..8f4b132
--- /dev/null
@@ -0,0 +1,79 @@
+;;; ob-shen.el --- org-babel functions for Shen
+
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
+
+;; Author: Eric Schulte
+;; Keywords: literate programming, reproducible research, shen
+;; Homepage: http://orgmode.org
+
+;; 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:
+
+;; Currently this only works using session evaluation as there is no
+;; defined method for executing shen code outside of a session.
+
+;;; Requirements:
+
+;; - shen-mode and inf-shen will soon be available through the GNU
+;;   elpa, however in the interim they are available at
+;;   https://github.com/eschulte/shen-mode
+
+;;; Code:
+(require 'ob)
+
+(declare-function shen-eval-defun "ext:inf-shen" (&optional and-go))
+
+(defvar org-babel-default-header-args:shen '()
+  "Default header arguments for shen code blocks.")
+
+(defun org-babel-expand-body:shen (body params)
+  "Expand BODY according to PARAMS, return the expanded body."
+  (let ((vars (mapcar #'cdr (org-babel-get-header params :var))))
+    (if (> (length vars) 0)
+        (concat "(let "
+                (mapconcat (lambda (var)
+                            (format "%s %s" (car var)
+                                    (org-babel-shen-var-to-shen (cdr var))))
+                          vars " ")
+               body ")")
+      body)))
+
+(defun org-babel-shen-var-to-shen (var)
+  "Convert VAR into a shen variable."
+  (if (listp var)
+      (concat "[" (mapconcat #'org-babel-ruby-var-to-ruby var " ") "]")
+    (format "%S" var)))
+
+(defun org-babel-execute:shen (body params)
+  "Execute a block of Shen code with org-babel.
+This function is called by `org-babel-execute-src-block'"
+  (require 'inf-shen)
+  (let* ((result-type (cdr (assoc :result-type params)))
+        (result-params (cdr (assoc :result-params params)))
+         (full-body (org-babel-expand-body:shen body params)))
+    ((lambda (results)
+       (if (or (member 'scalar result-params)
+              (member 'verbatim result-params))
+          results
+        (condition-case nil (org-babel-script-escape results)
+          (error results))))
+     (with-temp-buffer
+       (insert full-body)
+       (call-interactively #'shen-eval-defun)))))
+
+(provide 'ob-shen)
+;;; ob-shen.el ends here
index 7a5c7c8a46a383e15211eb59b685056dd83d88c2..3f7882c9919d335f0bd6082ea362f10e6aaf967f 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-sql.el --- org-babel functions for sql evaluation
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -32,7 +31,7 @@
 ;;
 ;; Also SQL evaluation generally takes place inside of a database.
 ;;
-;; For now let's just allow a generic ':cmdline' header argument.
+;; For now lets just allow a generic ':cmdline' header argument.
 ;;
 ;; TODO:
 ;;
@@ -51,6 +50,9 @@
 
 (defvar org-babel-default-header-args:sql '())
 
+(defvar org-babel-header-arg-names:sql
+  '(engine out-file))
+
 (defun org-babel-expand-body:sql (body params)
   "Expand BODY according to the values of PARAMS."
   (org-babel-sql-expand-vars
@@ -85,31 +87,38 @@ This function is called by `org-babel-execute-src-block'."
       (insert (org-babel-expand-body:sql body params)))
     (message command)
     (shell-command command)
-    (with-temp-buffer
-      ;; need to figure out what the delimiter is for the header row
+    (if (or (member "scalar" result-params)
+           (member "verbatim" result-params)
+           (member "html" result-params)
+           (member "code" result-params)
+           (equal (point-min) (point-max)))
+       (with-temp-buffer
+         (progn (insert-file-contents-literally out-file) (buffer-string)))
       (with-temp-buffer
-        (insert-file-contents out-file)
-        (goto-char (point-min))
-        (when (re-search-forward "^\\(-+\\)[^-]" nil t)
-          (setq header-delim (match-string-no-properties 1)))
-        (goto-char (point-max))
-        (forward-char -1)
-        (while (looking-at "\n")
-          (delete-char 1)
-          (goto-char (point-max))
-          (forward-char -1))
-        (write-file out-file))
-      (org-table-import out-file '(16))
-      (org-babel-reassemble-table
-       (mapcar (lambda (x)
-                 (if (string= (car x) header-delim)
-                     'hline
-                   x))
-               (org-table-to-lisp))
-       (org-babel-pick-name (cdr (assoc :colname-names params))
-                           (cdr (assoc :colnames params)))
-       (org-babel-pick-name (cdr (assoc :rowname-names params))
-                           (cdr (assoc :rownames params)))))))
+       ;; need to figure out what the delimiter is for the header row
+       (with-temp-buffer
+         (insert-file-contents out-file)
+         (goto-char (point-min))
+         (when (re-search-forward "^\\(-+\\)[^-]" nil t)
+           (setq header-delim (match-string-no-properties 1)))
+         (goto-char (point-max))
+         (forward-char -1)
+         (while (looking-at "\n")
+           (delete-char 1)
+           (goto-char (point-max))
+           (forward-char -1))
+         (write-file out-file))
+       (org-table-import out-file '(16))
+       (org-babel-reassemble-table
+        (mapcar (lambda (x)
+                  (if (string= (car x) header-delim)
+                      'hline
+                    x))
+                (org-table-to-lisp))
+        (org-babel-pick-name (cdr (assoc :colname-names params))
+                             (cdr (assoc :colnames params)))
+        (org-babel-pick-name (cdr (assoc :rowname-names params))
+                             (cdr (assoc :rownames params))))))))
 
 (defun org-babel-sql-expand-vars (body vars)
   "Expand the variables held in VARS in BODY."
index c08c7f38e8a1ba22065a9daa54ef9c44a3d83e36..599113ca83078768c015b8962dd050a8bec41bda 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-sqlite.el --- org-babel functions for sqlite database interaction
 
-;; Copyright (C) 2010-2011  Free Software Foundation
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
index ea253b2f048b24cb81fa53cb9db2642a97798591..7b4920e1ec4c4845b79fc94e51e4ef9156660afc 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-table.el --- support for calling org-babel functions from tables
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -31,7 +30,7 @@
 ;;   (defun fibbd (n) (if (< n 2) 1 (+ (fibbd (- n 1)) (fibbd (- n 2)))))
 ;; #+end_src
 
-;; #+srcname: fibbd
+;; #+name: fibbd
 ;; #+begin_src emacs-lisp :var n=2 :results silent
 ;; (fibbd n)
 ;; #+end_src
@@ -78,46 +77,60 @@ NOTE: by default string variable names are interpreted as
 references to source-code blocks, to force interpretation of a
 cell's value as a string, prefix the identifier with two \"$\"s
 rather than a single \"$\" (i.e. \"$$2\" instead of \"$2\" in the
-example above."
-  (let* (quote
-        (variables
-         (mapcar
-          (lambda (var)
-            ;; ensure that all cells prefixed with $'s are strings
-            (cons (car var)
-                  (delq nil (mapcar
-                             (lambda (el)
-                               (if (eq '$ el)
-                                   (setq quote t)
-                                 (prog1 (if quote
-                                            (format "\"%s\"" el)
-                                          (org-babel-clean-text-properties el))
-                                   (setq quote nil))))
-                             (cdr var)))))
-          variables)))
-    (unless (stringp source-block)
-      (setq source-block (symbol-name source-block)))
-    ((lambda (result)
-       (org-babel-trim (if (stringp result) result (format "%S" result))))
-     (if (and source-block (> (length source-block) 0))
-         (let ((params
-                (eval `(org-babel-parse-header-arguments
-                        (concat ":var results="
-                                ,source-block
-                                "("
-                                (mapconcat
-                                (lambda (var-spec)
-                                  (if (> (length (cdr var-spec)) 1)
-                                      (format "%S='%S"
-                                              (car var-spec)
-                                              (mapcar #'read (cdr var-spec)))
-                                    (format "%S=%s"
-                                            (car var-spec) (cadr var-spec))))
-                                ',variables ", ")
-                                ")")))))
-           (org-babel-execute-src-block
-            nil (list "emacs-lisp" "results" params) '((:results . "silent"))))
-       ""))))
+example above.
+
+NOTE: it is also possible to pass header arguments to the code
+block.  In this case a table cell should hold the string value of
+the header argument which can then be passed before all variables
+as shown in the example below.
+
+| 1 | 2 | :file nothing.png | nothing.png |
+#+TBLFM: @1$4='(sbe test-sbe $3 (x $1) (y $2))"
+  (let* ((header-args (if (stringp (car variables)) (car variables) ""))
+        (variables (if (stringp (car variables)) (cdr variables) variables)))
+    (let* (quote
+          (variables
+           (mapcar
+            (lambda (var)
+              ;; ensure that all cells prefixed with $'s are strings
+              (cons (car var)
+                    (delq nil (mapcar
+                               (lambda (el)
+                                 (if (eq '$ el)
+                                     (setq quote t)
+                                   (prog1 (if quote
+                                              (format "\"%s\"" el)
+                                            (org-babel-clean-text-properties el))
+                                     (setq quote nil))))
+                               (cdr var)))))
+            variables)))
+      (unless (stringp source-block)
+       (setq source-block (symbol-name source-block)))
+      ((lambda (result)
+        (org-babel-trim (if (stringp result) result (format "%S" result))))
+       (if (and source-block (> (length source-block) 0))
+          (let ((params
+                 (eval `(org-babel-parse-header-arguments
+                         (concat
+                          ":var results="
+                          ,source-block
+                          "[" ,header-args "]"
+                          "("
+                          (mapconcat
+                           (lambda (var-spec)
+                             (if (> (length (cdr var-spec)) 1)
+                                 (format "%S='%S"
+                                         (car var-spec)
+                                         (mapcar #'read (cdr var-spec)))
+                               (format "%S=%s"
+                                       (car var-spec) (cadr var-spec))))
+                           ',variables ", ")
+                          ")")))))
+            (org-babel-execute-src-block
+             nil (list "emacs-lisp" "results" params)
+             '((:results . "silent"))))
+        "")))))
+(def-edebug-spec sbe (form form))
 
 (provide 'ob-table)
 
index 26549126009d91888a4d99b61faf36561dc60671..0b4eaf1fafaea43fecd1be60db742f1711f7d8e1 100644 (file)
@@ -1,11 +1,10 @@
 ;;; ob-tangle.el --- extract source code from org-mode files
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -96,6 +95,14 @@ controlled by the :comments header argument."
   :group 'org-babel
   :type 'string)
 
+(defcustom org-babel-process-comment-text #'org-babel-trim
+  "Function called to process raw Org-mode text collected to be
+inserted as comments in tangled source-code files.  The function
+should take a single string argument and return a string
+result.  The default value is `org-babel-trim'."
+  :group 'org-babel
+  :type 'function)
+
 (defun org-babel-find-file-noselect-refresh (file)
   "Find file ensuring that the latest changes on disk are
 represented in the file."
@@ -119,6 +126,7 @@ evaluating BODY."
         (setf ,temp-result (progn ,@body)))
        (unless ,visited-p (kill-buffer ,temp-file))
        ,temp-result)))
+(def-edebug-spec org-babel-with-temp-filebuffer (form body))
 
 ;;;###autoload
 (defun org-babel-load-file (file)
@@ -345,16 +353,20 @@ code blocks by language."
                    (when (or (string= "both" (cdr (assoc :comments params)))
                              (string= "org" (cdr (assoc :comments params))))
                      ;; from the previous heading or code-block end
-                     (buffer-substring
-                      (max (condition-case nil
-                               (save-excursion
-                                 (org-back-to-heading t) (point))
-                             (error 0))
-                           (save-excursion
-                             (re-search-backward
-                              org-babel-src-block-regexp nil t)
-                             (match-end 0)))
-                      (point))))
+                     (funcall
+                      org-babel-process-comment-text
+                      (buffer-substring
+                       (max (condition-case nil
+                                (save-excursion
+                                  (org-back-to-heading t)  ; sets match data
+                                  (match-end 0))
+                              (error (point-min)))
+                            (save-excursion
+                              (if (re-search-backward
+                                   org-babel-src-block-regexp nil t)
+                                  (match-end 0)
+                                (point-min))))
+                       (point)))))
                   by-lang)
              ;; add the spec for this block to blocks under it's language
              (setq by-lang (cdr (assoc src-lang blocks)))
@@ -396,12 +408,11 @@ form
                                     (eval el))))
                            '(start-line file link source-name))))
     (flet ((insert-comment (text)
-            (let ((text (org-babel-trim text)))
-             (when (and comments (not (string= comments "no"))
-                        (> (length text) 0))
-               (when padline (insert "\n"))
-               (comment-region (point) (progn (insert text) (point)))
-               (end-of-line nil) (insert "\n")))))
+            (when (and comments (not (string= comments "no"))
+                      (> (length text) 0))
+             (when padline (insert "\n"))
+             (comment-region (point) (progn (insert text) (point)))
+             (end-of-line nil) (insert "\n"))))
       (when comment (insert-comment comment))
       (when link-p
        (insert-comment
index 8bba46721692107acffbc863d60cb0471f75d819..0288eb357b58e2d83067ceacabe686506924b9a9 100644 (file)
@@ -1,12 +1,11 @@
 ;;; ob.el --- working with code blocks in org-mode
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
 ;;     Dan Davison
 ;; Keywords: literate programming, reproducible research
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -33,6 +32,7 @@
 (defvar org-src-lang-modes)
 (defvar org-babel-library-of-babel)
 (declare-function show-all "outline" ())
+(declare-function org-reduce "org" (CL-FUNC CL-SEQ &rest CL-KEYS))
 (declare-function tramp-compat-make-temp-file "tramp-compat"
                   (filename &optional dir-flag))
 (declare-function tramp-dissect-file-name "tramp" (name &optional nodefault))
@@ -114,7 +114,7 @@ remove code block execution from the C-c C-c keybinding."
   :type 'boolean)
 
 (defvar org-babel-src-name-regexp
-  "^[ \t]*#\\+\\(srcname\\|source\\|function\\):[ \t]*"
+  "^[ \t]*#\\+name:[ \t]*"
   "Regular expression used to match a source name line.")
 
 (defvar org-babel-multi-line-header-regexp
@@ -144,7 +144,7 @@ remove code block execution from the C-c C-c keybinding."
 (defvar org-babel-inline-src-block-regexp
   (concat
    ;; (1) replacement target (2) lang
-   "[^-[:alnum:]]\\(src_\\([^ \f\t\n\r\v]+\\)"
+   "\\(?:^\\|[^-[:alnum:]]\\)\\(src_\\([^ \f\t\n\r\v]+\\)"
    ;; (3,4) (unused, headers)
    "\\(\\|\\[\\(.*?\\)\\]\\)"
    ;; (5) body
@@ -160,6 +160,39 @@ not match KEY should be returned."
         (lambda (p) (when (funcall (if others #'not #'identity) (eq (car p) key)) p))
         params)))
 
+(defun org-babel-get-inline-src-block-matches()
+  "Set match data if within body of an inline source block.
+Returns non-nil if match-data set"
+  (let ((src-at-0-p (save-excursion
+                     (beginning-of-line 1)
+                     (string= "src" (thing-at-point 'word))))
+       (first-line-p (= 1 (line-number-at-pos)))
+       (orig (point)))
+    (let ((search-for (cond ((and src-at-0-p first-line-p  "src_"))
+                           (first-line-p "[ \t]src_")
+                           (t "[ \f\t\n\r\v]src_")))
+         (lower-limit (if first-line-p
+                          nil
+                        (- (point-at-bol) 1))))
+      (save-excursion
+       (when (or (and src-at-0-p (bobp))
+                 (and (re-search-forward "}" (point-at-eol) t)
+                      (re-search-backward search-for lower-limit t)
+                      (> orig (point))))
+         (when (looking-at org-babel-inline-src-block-regexp)
+           t ))))))
+
+(defvar org-babel-inline-lob-one-liner-regexp)
+(defun org-babel-get-lob-one-liner-matches()
+  "Set match data if on line of an lob one liner.
+Returns non-nil if match-data set"
+  (save-excursion
+    (unless (= (point) (point-at-bol)) ;; move before inline block
+      (re-search-backward "[ \f\t\n\r\v]" nil t))
+    (if (looking-at org-babel-inline-lob-one-liner-regexp)
+       t
+      nil)))
+
 (defun org-babel-get-src-block-info (&optional light)
   "Get information on the current source block.
 
@@ -184,22 +217,30 @@ Returns a list
                   (nth 2 info)
                   (org-babel-parse-header-arguments (match-string 1)))))
          (when (looking-at org-babel-src-name-w-name-regexp)
-           (setq name (org-babel-clean-text-properties (match-string 4)))
-           (when (match-string 6)
+           (setq name (org-babel-clean-text-properties (match-string 3)))
+           (when (and (match-string 5) (> (length (match-string 5)) 0))
              (setf (nth 2 info) ;; merge functional-syntax vars and header-args
                    (org-babel-merge-params
-                    (mapcar (lambda (ref) (cons :var ref))
-                            (org-babel-ref-split-args (match-string 6)))
+                    (mapcar
+                     (lambda (ref) (cons :var ref))
+                     (mapcar
+                      (lambda (var) ;; check that each variable is initialized
+                        (if (string-match ".+=.+" var)
+                            var
+                          (error
+                           "variable \"%s\"%s must be assigned a default value"
+                           var (if name (format " in block \"%s\"" name) ""))))
+                      (org-babel-ref-split-args (match-string 5))))
                     (nth 2 info))))))
       ;; inline source block
-      (when (save-excursion (re-search-backward "[ \f\t\n\r\v]" nil t)
-                           (looking-at org-babel-inline-src-block-regexp))
+      (when (org-babel-get-inline-src-block-matches)
        (setq info (org-babel-parse-inline-src-block-match))))
     ;; resolve variable references and add summary parameters
     (when (and info (not light))
       (setf (nth 2 info) (org-babel-process-params (nth 2 info))))
     (when info (append info (list name indent)))))
 
+(defvar org-current-export-file) ; dynamically bound
 (defun org-babel-confirm-evaluate (info)
   "Confirm evaluation of the code block INFO.
 This behavior can be suppressed by setting the value of
@@ -212,11 +253,15 @@ of potentially harmful code."
   (let* ((eval (or (cdr (assoc :eval (nth 2 info)))
                   (when (assoc :noeval (nth 2 info)) "no")))
          (query (cond ((equal eval "query") t)
+                     ((and org-current-export-file
+                           (equal eval "query-export")) t)
                       ((functionp org-confirm-babel-evaluate)
                        (funcall org-confirm-babel-evaluate
                                 (nth 0 info) (nth 1 info)))
                       (t org-confirm-babel-evaluate))))
     (if (or (equal eval "never") (equal eval "no")
+           (and org-current-export-file (or (equal eval "no-export")
+                                            (equal eval "never-export")))
            (and query
                 (not (yes-or-no-p
                       (format "Evaluate this%scode block%son your system? "
@@ -224,7 +269,9 @@ of potentially harmful code."
                               (if (nth 4 info)
                                   (format " (%s) " (nth 4 info)) " "))))))
        (prog1 nil (message "Evaluation %s"
-                           (if (or (equal eval "never") (equal eval "no"))
+                           (if (or (equal eval "never") (equal eval "no")
+                                   (equal eval "no-export")
+                                   (equal eval "never-export"))
                                "Disabled" "Aborted")))
       t)))
 
@@ -314,10 +361,35 @@ then run `org-babel-pop-to-session'."
 
 (add-hook 'org-metadown-hook 'org-babel-pop-to-session-maybe)
 
+(defconst org-babel-common-header-args-w-values
+  '((cache     . ((no yes)))
+    (cmdline   . :any)
+    (colnames  . ((nil no yes)))
+    (comments  . ((no link yes org both noweb)))
+    (dir       . :any)
+    (eval      . ((never query)))
+    (exports   . ((code results both none)))
+    (file      . :any)
+    (hlines    . ((no yes)))
+    (mkdirp    . ((yes no)))
+    (no-expand)
+    (noeval)
+    (noweb     . ((yes no tangle)))
+    (noweb-ref . :any)
+    (padline   . ((yes no)))
+    (results   . ((file list vector table scalar verbatim)
+                   (raw org html latex code pp wrap)
+                   (replace silent append prepend)
+                   (output value)))
+    (rownames  . ((no yes)))
+    (sep       . :any)
+    (session   . :any)
+    (shebang   . :any)
+    (tangle    . ((tangle yes no :any)))
+    (var       . :any)))
+
 (defconst org-babel-header-arg-names
-  '(cache cmdline colnames dir exports file noweb results
-    session tangle var eval noeval comments no-expand shebang
-    padline noweb-ref)
+  (mapcar #'car org-babel-common-header-args-w-values)
   "Common header arguments used by org-babel.
 Note that individual languages may define their own language
 specific header arguments as well.")
@@ -332,7 +404,7 @@ specific header arguments as well.")
   '((:session . "none") (:results . "replace") (:exports . "results"))
   "Default arguments to use when evaluating an inline source block.")
 
-(defvar org-babel-data-names '("TBLNAME" "RESNAME" "RESULTS" "DATA"))
+(defvar org-babel-data-names '("TBLNAME" "RESULTS" "NAME"))
 
 (defvar org-babel-result-regexp
   (concat "^[ \t]*#\\+"
@@ -365,11 +437,17 @@ can not be resolved.")
 
 (defvar org-babel-after-execute-hook nil
   "Hook for functions to be called after `org-babel-execute-src-block'")
+
 (defun org-babel-named-src-block-regexp-for-name (name)
   "This generates a regexp used to match a src block named NAME."
-  (concat org-babel-src-name-regexp (regexp-quote name) "[ \t\n]*"
+  (concat org-babel-src-name-regexp (regexp-quote name)
+         "\\([ \t]\\|$\\|(\\)" ".*[\r\n]"
          (substring org-babel-src-block-regexp 1)))
 
+(defun org-babel-named-data-regexp-for-name (name)
+  "This generates a regexp used to match data named NAME."
+  (concat org-babel-result-regexp (regexp-quote name) "\\([ \t]\\|$\\)"))
+
 ;;; functions
 (defvar call-process-region)
 ;;;###autoload
@@ -380,9 +458,8 @@ 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 an
-existing result cached in the buffer would otherwise have been
-returned.
+With prefix argument ARG, force re-execution even if an existing
+result cached in the buffer would otherwise have been returned.
 
 Optionally supply a value for INFO in the form returned by
 `org-babel-get-src-block-info'.
@@ -519,6 +596,7 @@ arguments and pop open the results in a preview buffer."
   (interactive)
   ;; TODO: report malformed code block
   ;; TODO: report incompatible combinations of header arguments
+  ;; TODO: report uninitialized variables
   (let ((too-close 2)) ;; <- control closeness to report potential match
     (dolist (header (mapcar (lambda (arg) (substring (symbol-name (car arg)) 1))
                            (and (org-babel-where-is-src-block-head)
@@ -532,6 +610,41 @@ arguments and pop open the results in a preview buffer."
                 header name))))
     (message "No suspicious header arguments found.")))
 
+;;;###autoload
+(defun org-babel-insert-header-arg ()
+  "Insert a header argument selecting from lists of common args and values."
+  (interactive)
+  (let* ((lang (car (org-babel-get-src-block-info 'light)))
+        (lang-headers (intern (concat "org-babel-header-arg-names:" lang)))
+        (headers (append (if (boundp lang-headers)
+                             (mapcar (lambda (h) (cons h :any))
+                                     (eval lang-headers))
+                           nil)
+                         org-babel-common-header-args-w-values))
+        (arg (org-icompleting-read
+             "Header Arg: "
+             (mapcar
+              (lambda (header-spec) (symbol-name (car header-spec)))
+              headers))))
+    (insert ":" arg)
+    (let ((vals (cdr (assoc (intern arg) headers))))
+      (when vals
+       (insert
+        " "
+        (cond
+         ((eq vals :any)
+          (read-from-minibuffer "value: "))
+         ((listp vals)
+          (mapconcat
+           (lambda (group)
+             (let ((arg (org-icompleting-read
+                         "value: "
+                         (cons "default" (mapcar #'symbol-name group)))))
+               (if (and arg (not (string= "default" arg)))
+                   (concat arg " ")
+                 "")))
+           vals ""))))))))
+
 ;;;###autoload
 (defun org-babel-load-in-session (&optional arg info)
   "Load the body of the current source-code block.
@@ -625,6 +738,7 @@ Return t if a code block was found at point, nil otherwise."
         (if (org-bound-and-true-p org-edit-src-from-org-mode)
             (org-edit-src-exit)))
        t)))
+(def-edebug-spec org-babel-do-in-edit-buffer (body))
 
 (defun org-babel-do-key-sequence-in-edit-buffer (key)
   "Read key sequence and execute the command in edit buffer.
@@ -721,6 +835,7 @@ end-body --------- point at the end of the body"
             (goto-char end-block))))
        (unless visited-p (kill-buffer to-be-removed))
        (goto-char point))))
+(def-edebug-spec org-babel-map-src-blocks (form body))
 
 ;;;###autoload
 (defmacro org-babel-map-inline-src-blocks (file &rest body)
@@ -743,6 +858,31 @@ buffer."
           (goto-char (match-end 0))))
        (unless visited-p (kill-buffer to-be-removed))
        (goto-char point))))
+(def-edebug-spec org-babel-map-inline-src-blocks (form body))
+
+(defvar org-babel-lob-one-liner-regexp)
+;;;###autoload
+(defmacro org-babel-map-call-lines (file &rest body)
+  "Evaluate BODY forms on each call line in FILE.
+If FILE is nil evaluate BODY forms on source blocks in current
+buffer."
+  (declare (indent 1))
+  (let ((tempvar (make-symbol "file")))
+    `(let* ((,tempvar ,file)
+           (visited-p (or (null ,tempvar)
+                          (get-file-buffer (expand-file-name ,tempvar))))
+           (point (point)) to-be-removed)
+       (save-window-excursion
+        (when ,tempvar (find-file ,tempvar))
+        (setq to-be-removed (current-buffer))
+        (goto-char (point-min))
+        (while (re-search-forward org-babel-lob-one-liner-regexp nil t)
+          (goto-char (match-beginning 1))
+          (save-match-data ,@body)
+          (goto-char (match-end 0))))
+       (unless visited-p (kill-buffer to-be-removed))
+       (goto-char point))))
+(def-edebug-spec org-babel-map-call-lines (form body))
 
 ;;;###autoload
 (defun org-babel-execute-buffer (&optional arg)
@@ -755,7 +895,9 @@ the current buffer."
     (org-babel-map-src-blocks nil
       (org-babel-execute-src-block arg))
     (org-babel-map-inline-src-blocks nil
-      (org-babel-execute-src-block arg))))
+      (org-babel-execute-src-block arg))
+    (org-babel-map-call-lines nil
+      (org-babel-lob-execute-maybe))))
 
 ;;;###autoload
 (defun org-babel-execute-subtree (&optional arg)
@@ -784,7 +926,7 @@ the current subtree."
                 lst)
             (norm (arg)
                   (let ((v (if (and (listp (cdr arg)) (null (cddr arg)))
-                               (copy-seq (cdr arg))
+                               (copy-sequence (cdr arg))
                              (cdr arg))))
                     (when (and v (not (and (sequencep v)
                                            (not (consp v))
@@ -857,86 +999,6 @@ This can be called with C-c C-c."
     (when hash (kill-new hash) (message hash))))
 (add-hook 'org-ctrl-c-ctrl-c-hook 'org-babel-hash-at-point)
 
-(defun org-babel-result-hide-spec ()
-  "Hide portions of results lines.
-Add `org-babel-hide-result' as an invisibility spec for hiding
-portions of results lines."
-  (add-to-invisibility-spec '(org-babel-hide-result . t)))
-(add-hook 'org-mode-hook 'org-babel-result-hide-spec)
-
-(defvar org-babel-hide-result-overlays nil
-  "Overlays hiding results.")
-
-(defun org-babel-result-hide-all ()
-  "Fold all results in the current buffer."
-  (interactive)
-  (org-babel-show-result-all)
-  (save-excursion
-    (while (re-search-forward org-babel-result-regexp nil t)
-      (save-excursion (goto-char (match-beginning 0))
-                      (org-babel-hide-result-toggle-maybe)))))
-
-(defun org-babel-show-result-all ()
-  "Unfold all results in the current buffer."
-  (mapc 'delete-overlay org-babel-hide-result-overlays)
-  (setq org-babel-hide-result-overlays nil))
-
-;;;###autoload
-(defun org-babel-hide-result-toggle-maybe ()
-  "Toggle visibility of result at point."
-  (interactive)
-  (let ((case-fold-search t))
-    (if (save-excursion
-          (beginning-of-line 1)
-          (looking-at org-babel-result-regexp))
-        (progn (org-babel-hide-result-toggle)
-               t) ;; to signal that we took action
-      nil))) ;; to signal that we did not
-
-(defun org-babel-hide-result-toggle (&optional force)
-  "Toggle the visibility of the current result."
-  (interactive)
-  (save-excursion
-    (beginning-of-line)
-    (if (re-search-forward org-babel-result-regexp nil t)
-        (let ((start (progn (beginning-of-line 2) (- (point) 1)))
-              (end (progn (goto-char (- (org-babel-result-end) 1)) (point)))
-              ov)
-          (if (memq t (mapcar (lambda (overlay)
-                                (eq (overlay-get overlay 'invisible)
-                                   'org-babel-hide-result))
-                              (overlays-at start)))
-              (if (or (not force) (eq force 'off))
-                  (mapc (lambda (ov)
-                          (when (member ov org-babel-hide-result-overlays)
-                            (setq org-babel-hide-result-overlays
-                                  (delq ov org-babel-hide-result-overlays)))
-                          (when (eq (overlay-get ov 'invisible)
-                                    'org-babel-hide-result)
-                            (delete-overlay ov)))
-                        (overlays-at start)))
-            (setq ov (make-overlay start end))
-            (overlay-put ov 'invisible 'org-babel-hide-result)
-            ;; make the block accessible to isearch
-            (overlay-put
-             ov 'isearch-open-invisible
-             (lambda (ov)
-               (when (member ov org-babel-hide-result-overlays)
-                 (setq org-babel-hide-result-overlays
-                       (delq ov org-babel-hide-result-overlays)))
-               (when (eq (overlay-get ov 'invisible)
-                         'org-babel-hide-result)
-                 (delete-overlay ov))))
-            (push ov org-babel-hide-result-overlays)))
-      (error "Not looking at a result line"))))
-
-;; org-tab-after-check-for-cycling-hook
-(add-hook 'org-tab-first-hook 'org-babel-hide-result-toggle-maybe)
-;; Remove overlays when changing major mode
-(add-hook 'org-mode-hook
-         (lambda () (org-add-hook 'change-major-mode-hook
-                                  'org-babel-show-result-all 'append 'local)))
-
 (defvar org-file-properties)
 (defun org-babel-params-from-properties (&optional lang)
   "Retrieve parameters specified as properties.
@@ -944,40 +1006,21 @@ Return an association list of any source block params which
 may be specified in the properties of the current outline entry."
   (save-match-data
     (let (val sym)
-      (delq nil
-           (mapcar
-            (lambda (header-arg)
-              (and (setq val
-                         (or (org-entry-get (point) header-arg t)
-                             (org-entry-get (point) (concat ":" header-arg) t)))
-                   (cons (intern (concat ":" header-arg))
-                         (org-babel-read val))))
+      (org-babel-parse-multiple-vars
+       (delq nil
             (mapcar
-             'symbol-name
-             (append
-              org-babel-header-arg-names
-              (progn
-                (setq sym (intern (concat "org-babel-header-arg-names:" lang)))
-                (and (boundp sym) (eval sym))))))))))
-
-(defun org-babel-params-from-buffer ()
-  "Retrieve per-buffer parameters.
- Return an association list of any source block params which
-may be specified in the current buffer."
-  (let (local-properties)
-    (save-match-data
-      (save-excursion
-       (save-restriction
-         (widen)
-         (goto-char (point-min))
-         (while (re-search-forward
-                 (org-make-options-regexp (list "BABEL" "PROPERTIES")) nil t)
-           (setq local-properties
-                 (org-babel-merge-params
-                  local-properties
-                  (org-babel-parse-header-arguments
-                   (org-match-string-no-properties 2)))))
-         local-properties)))))
+             (lambda (header-arg)
+               (and (setq val (org-entry-get (point) header-arg t))
+                    (cons (intern (concat ":" header-arg))
+                          (org-babel-read val))))
+             (mapcar
+              'symbol-name
+              (append
+               org-babel-header-arg-names
+               (progn
+                 (setq sym (intern (concat "org-babel-header-arg-names:"
+                                           lang)))
+                 (and (boundp sym) (eval sym)))))))))))
 
 (defvar org-src-preserve-indentation)
 (defun org-babel-parse-src-block-match ()
@@ -989,9 +1032,10 @@ may be specified in the current buffer."
          (body (org-babel-clean-text-properties
                (let* ((body (match-string 5))
                       (sub-length (- (length body) 1)))
-                 (if (string= "\n" (substring body sub-length))
+                 (if (and (> sub-length 0)
+                          (string= "\n" (substring body sub-length)))
                      (substring body 0 sub-length)
-                   body))))
+                   (or body "")))))
         (preserve-indentation (or org-src-preserve-indentation
                                   (string-match "-i\\>" switches))))
     (list lang
@@ -1003,7 +1047,6 @@ may be specified in the current buffer."
               (buffer-string)))
          (org-babel-merge-params
           org-babel-default-header-args
-          (org-babel-params-from-buffer)
            (org-babel-params-from-properties lang)
           (if (boundp lang-headers) (eval lang-headers) nil)
           (org-babel-parse-header-arguments
@@ -1020,50 +1063,104 @@ may be specified in the current buffer."
            (org-babel-clean-text-properties (match-string 5)))
           (org-babel-merge-params
            org-babel-default-inline-header-args
-          (org-babel-params-from-buffer)
            (org-babel-params-from-properties lang)
            (if (boundp lang-headers) (eval lang-headers) nil)
            (org-babel-parse-header-arguments
             (org-babel-clean-text-properties (or (match-string 4) "")))))))
 
+(defun org-babel-balanced-split (string alts)
+  "Split STRING on instances of ALTS.
+ALTS is a cons of two character options where each option may be
+either the numeric code of a single character or a list of
+character alternatives.  For example to split on balanced
+instances of \"[ \t]:\" set ALTS to '((32 9) . 58)."
+  (flet ((matches (ch spec) (if (listp spec) (member ch spec) (equal spec ch)))
+        (matched (ch last)
+                 (if (consp alts)
+                     (and (matches ch (cdr alts))
+                          (matches last (car alts)))
+                   (matches ch alts))))
+    (let ((balance 0) (quote nil) (partial nil) (lst nil) (last 0))
+      (mapc (lambda (ch)  ; split on [], (), "" balanced instances of [ \t]:
+             (setq balance (+ balance
+                              (cond ((or (equal 91 ch) (equal 40 ch)) 1)
+                                    ((or (equal 93 ch) (equal 41 ch)) -1)
+                                    (t 0))))
+             (when (and (equal 34 ch) (not (equal 92 last)))
+               (setq quote (not quote)))
+             (setq partial (cons ch partial))
+             (when (and (= balance 0) (not quote) (matched ch last))
+               (setq lst (cons (apply #'string (nreverse
+                                                (if (consp alts)
+                                                    (cddr partial)
+                                                  (cdr partial))))
+                               lst))
+               (setq partial nil))
+             (setq last ch))
+           (string-to-list string))
+      (nreverse (cons (apply #'string (nreverse partial)) lst)))))
+
+(defun org-babel-join-splits-near-ch (ch list)
+  "Join splits where \"=\" is on either end of the split."
+  (flet ((last= (str) (= ch (aref str (1- (length str)))))
+         (first= (str) (= ch (aref str 0))))
+    (reverse
+     (org-reduce (lambda (acc el)
+               (let ((head (car acc)))
+                 (if (and head (or (last= head) (first= el)))
+                     (cons (concat head el) (cdr acc))
+                   (cons el acc))))
+             list :initial-value nil))))
+
 (defun org-babel-parse-header-arguments (arg-string)
   "Parse a string of header arguments returning an alist."
   (when (> (length arg-string) 0)
-    (delq nil
-         (mapcar
-          (lambda (arg)
-            (if (string-match
-                 "\\([^ \f\t\n\r\v]+\\)[ \f\t\n\r\v]+\\([^ \f\t\n\r\v]+.*\\)"
-                 arg)
-                (cons (intern (match-string 1 arg))
-                      (org-babel-read (org-babel-chomp (match-string 2 arg))))
-              (cons (intern (org-babel-chomp arg)) nil)))
-          (let ((balance 0) (partial nil) (lst nil) (last 0))
-            (mapc (lambda (ch)  ; split on [] balanced instances of [ \t]:
-                    (setq balance (+ balance
-                                     (cond ((equal 91 ch) 1)
-                                           ((equal 93 ch) -1)
-                                           (t 0))))
-                    (setq partial (cons ch partial))
-                    (when (and (= ch 58) (= balance 0)
-                               (or (= last 32) (= last 9)))
-                      (setq lst (cons (apply #'string (nreverse (cddr partial)))
-                                      lst))
-                      (setq partial (list ch)))
-                    (setq last ch))
-                  (string-to-list arg-string))
-            (nreverse (cons (apply #'string (nreverse partial)) lst)))))))
+    (org-babel-parse-multiple-vars
+     (delq nil
+          (mapcar
+           (lambda (arg)
+             (if (string-match
+                  "\\([^ \f\t\n\r\v]+\\)[ \f\t\n\r\v]+\\([^ \f\t\n\r\v]+.*\\)"
+                  arg)
+                 (cons (intern (match-string 1 arg))
+                       (org-babel-read (org-babel-chomp (match-string 2 arg))))
+               (cons (intern (org-babel-chomp arg)) nil)))
+           ((lambda (raw)
+              (cons (car raw) (mapcar (lambda (r) (concat ":" r)) (cdr raw))))
+            (org-babel-balanced-split arg-string '((32 9) . 58))))))))
+
+(defun org-babel-parse-multiple-vars (header-arguments)
+  "Expand multiple variable assignments behind a single :var keyword.
+
+This allows expression of multiple variables with one :var as
+shown below.
+
+#+PROPERTY: var foo=1, bar=2"
+  (let (results)
+    (mapc (lambda (pair)
+           (if (eq (car pair) :var)
+               (mapcar (lambda (v) (push (cons :var (org-babel-trim v)) results))
+                       (org-babel-join-splits-near-ch
+                        61 (org-babel-balanced-split (cdr pair) 32)))
+             (push pair results)))
+         header-arguments)
+    (nreverse results)))
 
 (defun org-babel-process-params (params)
   "Expand variables in PARAMS and add summary parameters."
-  (let* ((vars-and-names (org-babel-disassemble-tables
-                         (mapcar (lambda (el)
-                                   (if (consp (cdr el))
-                                       (cdr el) (org-babel-ref-parse (cdr el))))
-                                 (org-babel-get-header params :var))
-                         (cdr (assoc :hlines params))
-                         (cdr (assoc :colnames params))
-                         (cdr (assoc :rownames params))))
+  (let* ((processed-vars (mapcar (lambda (el)
+                                  (if (consp (cdr el))
+                                      (cdr el)
+                                    (org-babel-ref-parse (cdr el))))
+                                (org-babel-get-header params :var)))
+        (vars-and-names (if (and (assoc :colname-names params)
+                                 (assoc :rowname-names params))
+                            (list processed-vars)
+                          (org-babel-disassemble-tables
+                           processed-vars
+                           (cdr (assoc :hlines params))
+                           (cdr (assoc :colnames params))
+                           (cdr (assoc :rownames params)))))
         (raw-result (or (cdr (assoc :results params)) ""))
         (result-params (append
                         (split-string (if (stringp raw-result)
@@ -1170,7 +1267,7 @@ of the vars, cnames and rnames."
             (setq var (cons (car var) (org-babel-del-hlines (cdr var))))))
         var)
       vars)
-     cnames rnames)))
+     (reverse cnames) (reverse rnames))))
 
 (defun org-babel-reassemble-table (table colnames rownames)
   "Add column and row names to a table.
@@ -1245,7 +1342,7 @@ org-babel-named-src-block-regexp."
          (regexp (org-babel-named-src-block-regexp-for-name name)) msg)
       (goto-char (point-min))
       (when (or (re-search-forward regexp nil t)
-                (re-search-backward regexp nil t))
+               (re-search-backward regexp nil t))
         (match-beginning 0)))))
 
 (defun org-babel-src-block-names (&optional file)
@@ -1254,7 +1351,7 @@ org-babel-named-src-block-regexp."
     (when file (find-file file)) (goto-char (point-min))
     (let (names)
       (while (re-search-forward org-babel-src-name-w-name-regexp nil t)
-       (setq names (cons (match-string 4) names)))
+       (setq names (cons (match-string 3) names)))
       names)))
 
 ;;;###autoload
@@ -1270,16 +1367,21 @@ org-babel-named-src-block-regexp."
         (progn (goto-char point) (org-show-context))
       (message "result '%s' not found in this buffer" name))))
 
-(defun org-babel-find-named-result (name)
+(defun org-babel-find-named-result (name &optional point)
   "Find a named result.
 Return the location of the result named NAME in the current
 buffer or nil if no such result exists."
   (save-excursion
-    (goto-char (point-min))
-    (when (re-search-forward
-           (concat org-babel-result-regexp
-                   "[ \t]" (regexp-quote name) "[ \t\n\f\v\r]") nil t)
-      (beginning-of-line 0) (point))))
+    (goto-char (or point (point-min)))
+    (catch 'is-a-code-block
+      (when (re-search-forward
+            (concat org-babel-result-regexp
+                    "[ \t]" (regexp-quote name) "[ \t\n\f\v\r]") nil t)
+       (when (and (string= "name" (downcase (match-string 1)))
+                  (or (looking-at org-babel-src-block-regexp)
+                      (looking-at org-babel-multi-line-header-regexp)))
+         (throw 'is-a-code-block (org-babel-find-named-result name (point))))
+       (beginning-of-line 0) (point)))))
 
 (defun org-babel-result-names (&optional file)
   "Returns the names of results in FILE or the current buffer."
@@ -1334,6 +1436,8 @@ is created.  In both cases if the region is demarcated and if the
 region is not active then the point is demarcated."
   (interactive "P")
   (let ((info (org-babel-get-src-block-info 'light))
+       (headers (progn (org-babel-where-is-src-block-head)
+                       (match-string 4)))
        (stars (concat (make-string (or (org-current-level) 1) ?*) " ")))
     (if info
         (mapc
@@ -1346,11 +1450,16 @@ region is not active then the point is demarcated."
                                   (buffer-substring (point-at-bol)
                                                     (point-at-eol)))
                 (delete-region (point-at-bol) (point-at-eol)))
-               (insert (concat (if (looking-at "^") "" "\n")
-                               indent "#+end_src\n"
-                               (if arg stars indent) "\n"
-                               indent "#+begin_src " lang
-                               (if (looking-at "[\n\r]") "" "\n")))))
+               (insert (concat
+                       (if (looking-at "^") "" "\n")
+                       indent "#+end_src\n"
+                       (if arg stars indent) "\n"
+                       indent "#+begin_src " lang
+                       (if (> (length headers) 1)
+                           (concat " " headers) headers)
+                       (if (looking-at "[\n\r]")
+                           ""
+                         (concat "\n" (make-string (current-column) ? )))))))
           (move-end-of-line 2))
          (sort (if (region-active-p) (list (mark) (point)) (list (point))) #'>))
       (let ((start (point))
@@ -1369,7 +1478,6 @@ region is not active then the point is demarcated."
        (goto-char start) (move-end-of-line 1)))))
 
 (defvar org-babel-lob-one-liner-regexp)
-(defvar org-babel-inline-lob-one-liner-regexp)
 (defun org-babel-where-is-src-block-result (&optional insert info hash indent)
   "Find where the current source block results begin.
 Return the point at the beginning of the result of the current
@@ -1380,13 +1488,11 @@ following the source block."
     (let* ((on-lob-line (save-excursion
                          (beginning-of-line 1)
                          (looking-at org-babel-lob-one-liner-regexp)))
-          (inlinep (save-excursion
-                     (re-search-backward "[ \f\t\n\r\v]" nil t)
-                     (when (looking-at org-babel-inline-src-block-regexp)
-                       (match-end 0))))
+          (inlinep (when (org-babel-get-inline-src-block-matches)
+                       (match-end 0)))
           (name (if on-lob-line
                     (nth 0 (org-babel-lob-get-info))
-                  (nth 4 (or info (org-babel-get-src-block-info)))))
+                  (nth 4 (or info (org-babel-get-src-block-info 'light)))))
           (head (unless on-lob-line (org-babel-where-is-src-block-head)))
           found beg end)
       (when head (goto-char head))
@@ -1538,6 +1644,10 @@ raw ----- results are added directly to the Org-mode file.  This
           is a good option if you code block will output org-mode
           formatted text.
 
+wrap ---- results are added directly to the Org-mode file as with
+          \"raw\", but are wrapped in a RESULTS drawer, allowing
+          them to later be replaced or removed automatically.
+
 org ----- similar in effect to raw, only the results are wrapped
           in an org code block.  Similar to the raw option, on
           export the results will be interpreted as org-formatted
@@ -1571,10 +1681,8 @@ code ---- the results are extracted in the syntax of the source
     (save-excursion
       (let* ((inlinep
              (save-excursion
-               (or (= (point) (point-at-bol))
-                   (re-search-backward "[ \f\t\n\r\v]" nil t))
-               (when (or (looking-at org-babel-inline-src-block-regexp)
-                         (looking-at org-babel-inline-lob-one-liner-regexp))
+               (when (or (org-babel-get-inline-src-block-matches)
+                         (org-babel-get-lob-one-liner-matches))
                  (goto-char (match-end 0))
                  (insert (if (listp result) "\n" " "))
                  (point))))
@@ -1606,41 +1714,45 @@ code ---- the results are extracted in the syntax of the source
           ((member "prepend" result-params)))) ; already there
        (setq results-switches
              (if results-switches (concat " " results-switches) ""))
-       ;; insert results based on type
-       (cond
-        ;; do nothing for an empty result
-        ((= (length result) 0))
-        ;; insert a list if preferred
-        ((member "list" result-params)
-         (insert
-          (org-babel-trim
-           (org-list-to-generic
-            (cons 'unordered
-                  (mapcar
-                   (lambda (el) (list nil (if (stringp el) el (format "%S" el))))
-                   (if (listp result) result (list result))))
-            '(:splicep nil :istart "- " :iend "\n")))
-          "\n"))
-        ;; assume the result is a table if it's not a string
-        ((not (stringp result))
-         (goto-char beg)
-         (insert (concat (orgtbl-to-orgtbl
-                          (if (or (eq 'hline (car result))
-                                  (and (listp (car result))
-                                       (listp (cdr (car result)))))
-                              result (list result))
-                          '(:fmt (lambda (cell) (format "%s" cell)))) "\n"))
-         (goto-char beg) (when (org-at-table-p) (org-table-align)))
-        ((member "file" result-params)
-         (insert result))
-        (t (goto-char beg) (insert result)))
-       (when (listp result) (goto-char (org-table-end)))
-       (setq end (point-marker))
-       ;; possibly wrap result
        (flet ((wrap (start finish)
                     (goto-char beg) (insert (concat start "\n"))
                     (goto-char end) (insert (concat finish "\n"))
-                    (setq end (point-marker))))
+                    (setq end (point-marker)))
+              (proper-list-p (it) (and (listp it) (null (cdr (last it))))))
+         ;; insert results based on type
+         (cond
+          ;; do nothing for an empty result
+          ((null result))
+          ;; insert a list if preferred
+          ((member "list" result-params)
+           (insert
+            (org-babel-trim
+             (org-list-to-generic
+              (cons 'unordered
+                    (mapcar
+                     (lambda (el) (list nil (if (stringp el) el (format "%S" el))))
+                     (if (listp result) result (list result))))
+              '(:splicep nil :istart "- " :iend "\n")))
+            "\n"))
+          ;; assume the result is a table if it's not a string
+          ((proper-list-p result)
+           (goto-char beg)
+           (insert (concat (orgtbl-to-orgtbl
+                            (if (or (eq 'hline (car result))
+                                    (and (listp (car result))
+                                         (listp (cdr (car result)))))
+                                result (list result))
+                            '(:fmt (lambda (cell) (format "%s" cell)))) "\n"))
+           (goto-char beg) (when (org-at-table-p) (org-table-align)))
+          ((and (listp result) (not (proper-list-p result)))
+           (insert (format "%s\n" result)))
+          ((member "file" result-params)
+           (when inlinep (goto-char inlinep))
+           (insert result))
+          (t (goto-char beg) (insert result)))
+         (when (proper-list-p result) (goto-char (org-table-end)))
+         (setq end (point-marker))
+         ;; possibly wrap result
          (cond
           ((member "html" result-params)
            (wrap "#+BEGIN_HTML" "#+END_HTML"))
@@ -1654,10 +1766,9 @@ code ---- the results are extracted in the syntax of the source
           ((member "raw" result-params)
            (goto-char beg) (if (org-at-table-p) (org-cycle)))
           ((member "wrap" result-params)
-           (when (and (stringp result) (not (member "file" result-params)))
-             (org-babel-examplize-region beg end results-switches))
-           (wrap "#+BEGIN_RESULT" "#+END_RESULT"))
-          ((and (stringp result) (not (member "file" result-params)))
+           (wrap ":RESULTS:" ":END:"))
+          ((and (not (proper-list-p result))
+                (not (member "file" result-params)))
            (org-babel-examplize-region beg end results-switches)
            (setq end (point)))))
        ;; possibly indent the results to match the #+results line
@@ -1666,7 +1777,7 @@ code ---- the results are extracted in the syntax of the source
                   (not (and (listp result)
                             (member "append" result-params))))
          (indent-rigidly beg end indent))))
-    (if (= (length result) 0)
+    (if (null result)
        (if (member "value" result-params)
            (message "Code block returned no value.")
          (message "Code block produced no output."))
@@ -1677,8 +1788,9 @@ code ---- the results are extracted in the syntax of the source
   (interactive)
   (let ((location (org-babel-where-is-src-block-result nil info)) start)
     (when location
+      (setq start (- location 1))
       (save-excursion
-        (goto-char location) (setq start (point)) (forward-line 1)
+        (goto-char location) (forward-line 1)
         (delete-region start (org-babel-result-end))))))
 
 (defun org-babel-result-end ()
@@ -1689,6 +1801,8 @@ code ---- the results are extracted in the syntax of the source
      ((org-at-item-p) (let* ((struct (org-list-struct))
                             (prvs (org-list-prevs-alist struct)))
                        (org-list-get-list-end (point-at-bol) struct prvs)))
+     ((looking-at "^\\([ \t]*\\):RESULTS:")
+      (re-search-forward (concat "^" (match-string 1) ":END:")))
      (t
       (let ((case-fold-search t)
            (blocks-re (regexp-opt
@@ -1757,12 +1871,11 @@ Later elements of PLISTS override the values of previous elements.
 This takes into account some special considerations for certain
 parameters when merging lists."
   (let ((results-exclusive-groups
-        '(("file" "list" "vector" "table" "scalar" "verbatim" "raw" "org"
-            "html" "latex" "code" "pp" "wrap")
-          ("replace" "silent" "append" "prepend")
-          ("output" "value")))
+        (mapcar (lambda (group) (mapcar #'symbol-name group))
+                (cdr (assoc 'results org-babel-common-header-args-w-values))))
        (exports-exclusive-groups
-        '(("code" "results" "both" "none")))
+        (mapcar (lambda (group) (mapcar #'symbol-name group))
+                (cdr (assoc 'exports org-babel-common-header-args-w-values))))
        (variable-index 0)
        params results exports tangle noweb cache vars shebang comments padline)
     (flet ((e-merge (exclusive-groups &rest result-params)
@@ -1806,12 +1919,16 @@ parameters when merging lists."
                                       vars))
                              vars)
                            (list (cons name pair))))
-                  ;; if no name is given, then assign to variables in order
-                  (prog1 (setf (cddr (nth variable-index vars))
-                               (concat (symbol-name
-                                        (car (nth variable-index vars)))
-                                       "=" (cdr pair)))
-                    (incf variable-index)))))
+                  ;; if no name is given and we already have named variables
+                  ;; then assign to named variables in order
+                  (if (and vars (nth variable-index vars))
+                      (prog1 (setf (cddr (nth variable-index vars))
+                                   (concat (symbol-name
+                                            (car (nth variable-index vars)))
+                                           "=" (cdr pair)))
+                        (incf variable-index))
+                    (error "variable \"%s\" must be assigned a default value"
+                           (cdr pair))))))
              (:results
               (setq results (e-merge results-exclusive-groups
                                      results
@@ -1861,6 +1978,12 @@ parameters when merging lists."
      '(results exports tangle noweb padline cache shebang comments))
     params))
 
+(defvar *org-babel-use-quick-and-dirty-noweb-expansion* nil
+  "Set to true to use regular expressions to expand noweb references.
+This results in much faster noweb reference expansion but does
+not properly allow code blocks to inherit the \":noweb-ref\"
+header argument from buffer or subtree wide properties.")
+
 (defun org-babel-expand-noweb-references (&optional info parent-buffer)
   "Expand Noweb references in the body of the current source code block.
 
@@ -1896,21 +2019,15 @@ block but are passed literally to the \"example-block\"."
          (lang (nth 0 info))
          (body (nth 1 info))
         (comment (string= "noweb" (cdr (assoc :comments (nth 2 info)))))
+        (rx-prefix (concat "\\(" org-babel-src-name-regexp "\\|"
+                           ":noweb-ref[ \t]+" "\\)"))
          (new-body "") index source-name evaluate prefix blocks-in-buffer)
     (flet ((nb-add (text) (setq new-body (concat new-body text)))
           (c-wrap (text)
                   (with-temp-buffer
                     (funcall (intern (concat lang "-mode")))
                     (comment-region (point) (progn (insert text) (point)))
-                    (org-babel-trim (buffer-string))))
-          (blocks () ;; return the info lists of all blocks in this buffer
-                  (let (infos)
-                    (save-restriction
-                      (widen)
-                      (org-babel-map-src-blocks nil
-                        (setq infos (cons (org-babel-get-src-block-info 'light)
-                                          infos))))
-                    (reverse infos))))
+                    (org-babel-trim (buffer-string)))))
       (with-temp-buffer
         (insert body) (goto-char (point-min))
         (setq index (point))
@@ -1944,21 +2061,37 @@ block but are passed literally to the \"example-block\"."
                    (when (org-babel-ref-goto-headline-id source-name)
                      (org-babel-ref-headline-body)))
                  ;; find the expansion of reference in this buffer
-                 (mapconcat
-                  (lambda (i)
-                    (when (string= source-name
-                                   (or (cdr (assoc :noweb-ref (nth 2 i)))
-                                       (nth 4 i)))
-                      (let ((body (org-babel-expand-noweb-references i)))
-                        (if comment
-                            ((lambda (cs)
-                               (concat (c-wrap (car cs)) "\n"
-                                       body "\n" (c-wrap (cadr cs))))
-                             (org-babel-tangle-comment-links i))
-                          body))))
-                  (or blocks-in-buffer
-                      (setq blocks-in-buffer (blocks)))
-                  "")
+                 (let ((rx (concat rx-prefix source-name))
+                       expansion)
+                   (save-excursion
+                     (goto-char (point-min))
+                     (if *org-babel-use-quick-and-dirty-noweb-expansion*
+                         (while (re-search-forward rx nil t)
+                           (let* ((i (org-babel-get-src-block-info 'light))
+                                  (body (org-babel-expand-noweb-references i))
+                                  (full (if comment
+                                            ((lambda (cs)
+                                               (concat (c-wrap (car cs)) "\n"
+                                                       body "\n"
+                                                       (c-wrap (cadr cs))))
+                                             (org-babel-tangle-comment-links i))
+                                          body)))
+                             (setq expansion (concat expansion full))))
+                       (org-babel-map-src-blocks nil
+                         (let ((i (org-babel-get-src-block-info 'light)))
+                           (when (equal (or (cdr (assoc :noweb-ref (nth 2 i)))
+                                            (nth 4 i))
+                                        source-name)
+                             (let* ((body (org-babel-expand-noweb-references i))
+                                    (full (if comment
+                                              ((lambda (cs)
+                                                 (concat (c-wrap (car cs)) "\n"
+                                                         body "\n"
+                                                         (c-wrap (cadr cs))))
+                                               (org-babel-tangle-comment-links i))
+                                            body)))
+                               (setq expansion (concat expansion full))))))))
+                   expansion)
                  ;; possibly raise an error if named block doesn't exist
                  (if (member lang org-babel-noweb-error-langs)
                      (error "%s" (concat
index a54f3c4c3d32a7986f162f57905dab136a820f39..d444aff4f2b9e69929d353f8be2e7c4caf94e8f2 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-agenda.el --- Dynamic task and appointment lists for Org
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 ;;; Commentary:
 
 ;; This file contains the code for creating and using the Agenda for Org-mode.
+;;
+;; The functions `org-batch-agenda', `org-batch-agenda-csv', and
+;; `org-batch-store-agenda-views' are implemented as macros to provide
+;; a conveniant way for extracting agenda information from the command
+;; line. The Lisp does not evaluate parameters of a macro call; thus
+;; it is not necessary to quote the parameters passed to one of those
+;; functions. E.g. you can write:
+;;
+;;   emacs -batch -l ~/.emacs -eval '(org-batch-agenda "a" org-agenda-span 7)'
+;;
+;; To export an agenda spanning 7 days. If `org-batch-agenda' would
+;; have been implemented as a regular function you'd have to quote the
+;; symbol org-agenda-span. Moreover: To use a symbol as parameter
+;; value you would have to double quote the symbol.
+;;
+;; This is a hack, but it works even when running Org byte-compiled.
+;;
 
 ;;; Code:
 
@@ -50,6 +66,8 @@
 (declare-function calendar-julian-date-string   "cal-julian" (&optional date))
 (declare-function calendar-mayan-date-string    "cal-mayan"  (&optional date))
 (declare-function calendar-persian-date-string  "cal-persia" (&optional date))
+(declare-function calendar-check-holidays       "holidays" (date))
+
 (declare-function org-datetree-find-date-create "org-datetree"
                  (date &optional keep-restriction))
 (declare-function org-columns-quit              "org-colview" ())
@@ -60,6 +78,8 @@
 (declare-function org-is-habit-p "org-habit" (&optional pom))
 (declare-function org-habit-parse-todo "org-habit" (&optional pom))
 (declare-function org-habit-get-priority "org-habit" (habit &optional moment))
+(declare-function org-pop-to-buffer-same-window "org-compat"
+                 (&optional buffer-or-name norecord label))
 
 (defvar calendar-mode-map)
 (defvar org-clock-current-task) ; defined in org-clock.el
@@ -156,7 +176,7 @@ and `org-agenda-entry-text-maxlines'."
   "Non-nil means export org-links as descriptive links in agenda added text.
 This variable applies to the text added to the agenda when
 `org-agenda-add-entry-text-maxlines' is larger than 0.
-When this variable is nil, the URL will (also) be shown."
+When this variable nil, the URL will (also) be shown."
   :group 'org-agenda
   :type 'boolean)
 
@@ -225,6 +245,12 @@ you can \"misuse\" it to also add other text to the header.  However,
     (const user-defined-up) (const user-defined-down))
   "Sorting choices.")
 
+;; Keep custom values for `org-agenda-filter-preset' compatible with
+;; the new variable `org-agenda-tag-filter-preset'.
+(if (fboundp 'defvaralias)
+    (defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
+    (defvaralias 'org-agenda-filter 'org-agenda-tag-filter))
+
 (defconst org-agenda-custom-commands-local-options
   `(repeat :tag "Local settings for this command. Remember to quote values"
           (choice :tag "Setting"
@@ -266,8 +292,14 @@ you can \"misuse\" it to also add other text to the header.  However,
            (list :tag "Deadline Warning days"
                  (const org-deadline-warning-days)
                  (integer :value 1))
+           (list :tag "Category filter preset"
+                 (const org-agenda-category-filter-preset)
+                 (list
+                  (const :format "" quote)
+                  (repeat
+                   (string :tag "+category or -category"))))
            (list :tag "Tags filter preset"
-                 (const org-agenda-filter-preset)
+                 (const org-agenda-tag-filter-preset)
                  (list
                   (const :format "" quote)
                   (repeat
@@ -330,7 +362,8 @@ This will be spliced into the custom type of
 `org-agenda-custom-commands'.")
 
 
-(defcustom org-agenda-custom-commands nil
+(defcustom org-agenda-custom-commands '(("n" "Agenda and all TODO's"
+                                        ((agenda "") (alltodo))))
   "Custom commands for the agenda.
 These commands will be offered on the splash screen displayed by the
 agenda dispatcher \\[org-agenda].  Each entry is a list like this:
@@ -339,7 +372,7 @@ agenda dispatcher \\[org-agenda].  Each entry is a list like this:
 
 key      The key (one or more characters as a string) to be associated
          with the command.
-desc     A description of the command; when omitted or nil, a default
+desc     A description of the command, when omitted or nil, a default
          description is built using MATCH.
 type     The command type, any of the following symbols:
           agenda      The daily/weekly agenda.
@@ -354,7 +387,7 @@ type     The command type, any of the following symbols:
 match    What to search for:
           - a single keyword for TODO keyword searches
           - a tags match expression for tags searches
-          - a word search expression for text searches
+          - a word search expression for text searches.
           - a regular expression for occur searches
           For all other commands, this should be the empty string.
 settings  A list of option settings, similar to that in a let form, so like
@@ -363,7 +396,7 @@ settings  A list of option settings, similar to that in a let form, so like
 files     A list of files file to write the produced agenda buffer to
           with the command `org-store-agenda-views'.
           If a file name ends in \".html\", an HTML version of the buffer
-          is written out.  If it ends in \".ps\", a PostScript version is
+          is written out.  If it ends in \".ps\", a postscript version is
           produced.  Otherwise, only the plain text is written to the file.
 
 You can also define a set of commands, to create a composite agenda buffer.
@@ -764,11 +797,11 @@ because you will take care of it on the day when scheduled."
   :group 'org-agenda-skip
   :group 'org-agenda-daily/weekly
   :type '(choice
-         (const :tag "Always show prewarning" nil)
+         (const :tag "Alwas show prewarning" nil)
          (const :tag "Remove prewarning if entry is scheduled" t)
          (integer :tag "Restart prewarning N days before deadline")))
 
-(defcustom org-agenda-skip-additional-timestamps-same-entry t
+(defcustom org-agenda-skip-additional-timestamps-same-entry nil
   "When nil, multiple same-day timestamps in entry make multiple agenda lines.
 When non-nil, after the search for timestamps has matched once in an
 entry, the rest of the entry will not be searched."
@@ -853,6 +886,12 @@ Needs to be set before org.el is loaded."
   :group 'org-agenda-startup
   :type 'boolean)
 
+(defcustom org-agenda-follow-indirect nil
+  "Non-nil means `org-agenda-follow-mode' displays only the
+current item's tree, in an indirect buffer."
+  :group 'org-agenda
+  :type 'boolean)
+
 (defcustom org-agenda-show-outline-path t
   "Non-nil means show outline path in echo area after line motion."
   :group 'org-agenda-startup
@@ -1048,6 +1087,15 @@ and timeline buffers."
              (const :tag "Saturday" 6)
              (const :tag "Sunday" 0)))
 
+(defcustom org-agenda-move-date-from-past-immediately-to-today t
+  "Non-nil means jumpt to today when moving a past date forward in time.
+When using S-right in the agenda to move a a date forward, and the date
+stamp currently points to the past, the first key press will move it
+to today.  WHen nil, just move one day forward even if the date stays
+in the past."
+  :group 'org-agenda-daily/weekly
+  :type 'boolean)
+
 (defcustom org-agenda-include-diary nil
   "If non-nil, include in the agenda entries from the Emacs Calendar's diary.
 Custom commands can set this variable in the options section."
@@ -1060,14 +1108,6 @@ Custom commands can set this variable in the options section."
   :group 'org-agenda-daily/weekly
   :type 'boolean)
 
-(defcustom org-agenda-include-all-todo nil
-  "Set  means weekly/daily agenda will always contain all TODO entries.
-The TODO entries will be listed at the top of the agenda, before
-the entries for specific days.
-This option is deprecated, it is better to define a block agenda instead."
-  :group 'org-agenda-daily/weekly
-  :type 'boolean)
-
 (defcustom org-agenda-repeating-timestamp-show-all t
   "Non-nil means show all occurrences of a repeating stamp in the agenda.
 When set to a list of strings, only show occurrences of repeating
@@ -1396,6 +1436,7 @@ This format works similar to a printf format, with the following meaning:
 
   %c   the category of the item, \"Diary\" for entries from the diary,
        or as given by the CATEGORY keyword or derived from the file name
+  %e   the effort required by the item
   %i   the icon category of the item, see `org-agenda-category-icon-alist'
   %T   the last tag of the item (ignore inherited tags, which come first)
   %t   the HH:MM time-of-day specification if one applies to the entry
@@ -1619,7 +1660,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 omitted safely if not needed:
+The other fields can be omited safely if not needed:
 TYPE indicates the image type.
 DATA-P is a boolean indicating whether the FILE-OR-DATA string is
 image data.
@@ -1711,12 +1752,14 @@ Note that functions in this alist don't need to be quoted."
 If STRING is non-nil, the text property will be fetched from position 0
 in that string.  If STRING is nil, it will be fetched from the beginning
 of the current line."
-  `(let ((marker (get-text-property (if string 0 (point-at-bol))
-                                   'org-hd-marker string)))
-     (with-current-buffer (marker-buffer marker)
-       (save-excursion
-        (goto-char marker)
-        ,@body))))
+  (org-with-gensyms (marker)
+    `(let ((,marker (get-text-property (if string 0 (point-at-bol))
+                                      'org-hd-marker ,string)))
+       (with-current-buffer (marker-buffer ,marker)
+        (save-excursion
+          (goto-char ,marker)
+          ,@body)))))
+(def-edebug-spec org-agenda-with-point-at-orig-entry (form body))
 
 (defun org-add-agenda-custom-command (entry)
   "Replace or add a command in `org-agenda-custom-commands'.
@@ -1727,7 +1770,7 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
        (setcdr ass (cdr entry))
       (push entry org-agenda-custom-commands))))
 
-;;; Define the Org-agenda-mode
+;;; Define the org-agenda-mode
 
 (defvar org-agenda-mode-map (make-sparse-keymap)
   "Keymap for `org-agenda-mode'.")
@@ -1870,7 +1913,7 @@ The following commands are available:
 (org-defkey org-agenda-mode-map "\C-c\C-xp" 'org-agenda-set-property)
 (org-defkey org-agenda-mode-map "q" 'org-agenda-quit)
 (org-defkey org-agenda-mode-map "x" 'org-agenda-exit)
-(org-defkey org-agenda-mode-map "\C-x\C-w" 'org-write-agenda)
+(org-defkey org-agenda-mode-map "\C-x\C-w" 'org-agenda-write)
 (org-defkey org-agenda-mode-map "\C-x\C-s" 'org-save-all-org-buffers)
 (org-defkey org-agenda-mode-map "s" 'org-save-all-org-buffers)
 (org-defkey org-agenda-mode-map "P" 'org-agenda-show-priority)
@@ -1918,6 +1961,7 @@ The following commands are available:
 (org-defkey org-agenda-mode-map "}" 'org-agenda-manipulate-query-subtract-re)
 (org-defkey org-agenda-mode-map "/" 'org-agenda-filter-by-tag)
 (org-defkey org-agenda-mode-map "\\" 'org-agenda-filter-by-tag-refine)
+(org-defkey org-agenda-mode-map "<" 'org-agenda-filter-by-category)
 (org-defkey org-agenda-mode-map ";" 'org-timer-set-timer)
 (define-key org-agenda-mode-map "?" 'org-agenda-show-the-flagging-note)
 (org-defkey org-agenda-mode-map "\C-c\C-x\C-mg"    'org-mobile-pull)
@@ -1984,7 +2028,7 @@ The following commands are available:
       :keys "v A"]
      "--"
      ["Remove Restriction" org-agenda-remove-restriction-lock org-agenda-restrict])
-    ["Write view to file" org-write-agenda t]
+    ["Write view to file" org-agenda-write t]
     ["Rebuild buffer" org-agenda-redo t]
     ["Save all Org-mode Buffers" org-save-all-org-buffers t]
     "--"
@@ -2295,7 +2339,7 @@ Pressing `<' twice means to restrict to the current subtree or region
                               nil 'face 'org-warning)))))))
         t t))
        ((equal keys "L")
-       (unless (org-mode-p)
+       (unless (eq major-mode 'org-mode)
          (error "This is not an Org-mode file"))
        (unless restriction
          (put 'org-agenda-files 'org-restrict (list bfn))
@@ -2330,7 +2374,7 @@ Agenda views are separated by `org-agenda-block-separator'."
   "The user interface for selecting an agenda command."
   (catch 'exit
     (let* ((bfn (buffer-file-name (buffer-base-buffer)))
-          (restrict-ok (and bfn (org-mode-p)))
+          (restrict-ok (and bfn (eq major-mode 'org-mode)))
           (region-p (org-region-active-p))
           (custom org-agenda-custom-commands)
           (selstring "")
@@ -2572,23 +2616,13 @@ If CMD-KEY is a string of length 1, it is used as a key in
 longer string it is used as a tags/todo match string.
 Parameters are alternating variable names and values that will be bound
 before running the agenda command."
-  (let (pars)
-    (while parameters
-      (push (list (pop parameters) (if parameters (pop parameters))) pars))
+  (org-eval-in-environment (org-make-parameter-alist parameters)
     (if (> (length cmd-key) 2)
-       (eval (list 'let (nreverse pars)
-                   (list 'org-tags-view nil cmd-key)))
-      (eval (list 'let (nreverse pars) (list 'org-agenda nil cmd-key))))
-    (set-buffer org-agenda-buffer-name)
-    (princ (org-encode-for-stdout (buffer-string)))))
-
-;(defun org-encode-for-stdout (string)
-;  (if (fboundp 'encode-coding-string)
-;      (encode-coding-string string buffer-file-coding-system)
-;    string))
-
-(defun org-encode-for-stdout (string)
-  string)
+       (org-tags-view nil cmd-key)
+      (org-agenda nil cmd-key)))
+  (set-buffer org-agenda-buffer-name)
+  (princ (buffer-string)))
+(def-edebug-spec org-batch-agenda (form &rest sexp))
 
 (defvar org-agenda-info nil)
 
@@ -2627,30 +2661,26 @@ extra        Sting with extra planning info
 priority-l   The priority letter if any was given
 priority-n   The computed numerical priority
 agenda-day   The day in the agenda where this is listed"
-
-  (let (pars)
-    (while parameters
-      (push (list (pop parameters) (if parameters (pop parameters))) pars))
-    (push (list 'org-agenda-remove-tags t) pars)
+  (org-eval-in-environment (append '((org-agenda-remove-tags t))
+                                  (org-make-parameter-alist parameters))
     (if (> (length cmd-key) 2)
-       (eval (list 'let (nreverse pars)
-                   (list 'org-tags-view nil cmd-key)))
-      (eval (list 'let (nreverse pars) (list 'org-agenda nil cmd-key))))
-    (set-buffer org-agenda-buffer-name)
-    (let* ((lines (org-split-string (buffer-string) "\n"))
-          line)
-      (while (setq line (pop lines))
-       (catch 'next
-         (if (not (get-text-property 0 'org-category line)) (throw 'next nil))
-         (setq org-agenda-info
-               (org-fix-agenda-info (text-properties-at 0 line)))
-         (princ
-          (org-encode-for-stdout
-           (mapconcat 'org-agenda-export-csv-mapper
-                      '(org-category txt type todo tags date time extra
-                                     priority-letter priority agenda-day)
-                     ",")))
-         (princ "\n"))))))
+       (org-tags-view nil cmd-key)
+      (org-agenda nil cmd-key)))
+  (set-buffer org-agenda-buffer-name)
+  (let* ((lines (org-split-string (buffer-string) "\n"))
+        line)
+    (while (setq line (pop lines))
+      (catch 'next
+       (if (not (get-text-property 0 'org-category line)) (throw 'next nil))
+       (setq org-agenda-info
+             (org-fix-agenda-info (text-properties-at 0 line)))
+       (princ
+        (mapconcat 'org-agenda-export-csv-mapper
+                   '(org-category txt type todo tags date time extra
+                                  priority-letter priority agenda-day)
+                   ","))
+       (princ "\n")))))
+(def-edebug-spec org-batch-agenda-csv (form &rest sexp))
 
 (defun org-fix-agenda-info (props)
   "Make sure all properties on an agenda item have a canonical form.
@@ -2700,17 +2730,14 @@ This ensures the export commands can easily use it."
   (interactive)
   (eval (list 'org-batch-store-agenda-views)))
 
-;; FIXME, why is this a macro?????
 ;;;###autoload
 (defmacro org-batch-store-agenda-views (&rest parameters)
   "Run all custom agenda commands that have a file argument."
   (let ((cmds (org-agenda-normalize-custom-commands org-agenda-custom-commands))
        (pop-up-frames nil)
        (dir default-directory)
-       pars cmd thiscmdkey files opts cmd-or-set)
-    (while parameters
-      (push (list (pop parameters) (if parameters (pop parameters))) pars))
-    (setq pars (reverse pars))
+       (pars (org-make-parameter-alist parameters))
+       cmd thiscmdkey files opts cmd-or-set)
     (save-window-excursion
       (while cmds
        (setq cmd (pop cmds)
@@ -2720,15 +2747,17 @@ This ensures the export commands can easily use it."
              files (nth (if (listp cmd-or-set) 4 5) cmd))
        (if (stringp files) (setq files (list files)))
        (when files
-         (eval (list 'let (append org-agenda-exporter-settings opts pars)
-                     (list 'org-agenda nil thiscmdkey)))
+         (org-eval-in-environment (append org-agenda-exporter-settings
+                                          opts pars)
+           (org-agenda nil thiscmdkey))
          (set-buffer org-agenda-buffer-name)
          (while files
-           (eval (list 'let (append org-agenda-exporter-settings opts pars)
-                       (list 'org-write-agenda
-                             (expand-file-name (pop files) dir) nil t))))
+           (org-eval-in-environment (append org-agenda-exporter-settings
+                                            opts pars)
+             (org-agenda-write (expand-file-name (pop files) dir) nil t)))
          (and (get-buffer org-agenda-buffer-name)
               (kill-buffer org-agenda-buffer-name)))))))
+(def-edebug-spec org-batch-store-agenda-views (&rest sexp))
 
 (defun org-agenda-mark-header-line (pos)
   "Mark the line at POS as an agenda structure header."
@@ -2741,11 +2770,12 @@ This ensures the export commands can easily use it."
                         'org-agenda-title-append org-agenda-title-append))))
 
 (defvar org-mobile-creating-agendas)
-(defun org-write-agenda (file &optional open nosettings)
+(defvar org-agenda-write-buffer-name "Agenda View")
+(defun org-agenda-write (file &optional open nosettings)
   "Write the current buffer (an agenda view) as a file.
 Depending on the extension of the file name, plain text (.txt),
-HTML (.html or .htm) or PostScript (.ps) is produced.
-If the extension is .ics, run iCalendar export over all files used
+HTML (.html or .htm) or Postscript (.ps) is produced.
+If the extension is .ics, run icalendar export over all files used
 to construct the agenda and limit the export to entries listed in the
 agenda now.
 With prefix argument OPEN, open the new file immediately.
@@ -2763,7 +2793,7 @@ higher priority settings."
         (let ((bs (copy-sequence (buffer-string))) beg)
           (org-agenda-unmark-filtered-text)
           (with-temp-buffer
-            (rename-buffer "Agenda View" t)
+            (rename-buffer org-agenda-write-buffer-name t)
             (set-buffer-modified-p nil)
             (insert bs)
             (org-agenda-remove-marked-text 'org-filtered)
@@ -2793,7 +2823,7 @@ higher priority settings."
              ((string-match "\\.ps\\'" file)
               (require 'ps-print)
               (ps-print-buffer-with-faces file)
-              (message "PostScript written to %s" file))
+              (message "Postscript written to %s" file))
              ((string-match "\\.pdf\\'" file)
               (require 'ps-print)
               (ps-print-buffer-with-faces
@@ -2824,7 +2854,8 @@ higher priority settings."
     (set-buffer org-agenda-buffer-name))
   (when open (org-open-file file)))
 
-(defvar org-agenda-filter-overlays nil)
+(defvar org-agenda-tag-filter-overlays nil)
+(defvar org-agenda-cat-filter-overlays nil)
 
 (defun org-agenda-mark-filtered-text ()
   "Mark all text hidden by filtering with a text property."
@@ -2835,7 +2866,8 @@ higher priority settings."
         (put-text-property
          (overlay-start o) (overlay-end o)
          'org-filtered t)))
-     org-agenda-filter-overlays)))
+     (append org-agenda-tag-filter-overlays
+            org-agenda-cat-filter-overlays))))
 
 (defun org-agenda-unmark-filtered-text ()
   "Remove the filtering text property."
@@ -2882,7 +2914,7 @@ removed from the entry content.  Currently only `planning' is allowed here."
   (let (txt drawer-re kwd-time-re ind)
     (save-excursion
       (with-current-buffer (marker-buffer marker)
-       (if (not (org-mode-p))
+       (if (not (eq major-mode 'org-mode))
            (setq txt "")
          (save-excursion
            (save-restriction
@@ -2972,7 +3004,7 @@ removed from the entry content.  Currently only `planning' is allowed here."
     (nreverse markers)))
 
 (defun org-create-marker-find-array (marker-list)
-  "Create an alist of files names with all marker positions in that file."
+  "Create a alist of files names with all marker positions in that file."
   (let (f tbl m a p)
     (while (setq m (pop marker-list))
       (setq p (marker-position m)
@@ -2997,8 +3029,8 @@ removed from the entry content.  Currently only `planning' is allowed here."
             (member (point) (cdr a)))))))
 
 (defun org-check-for-org-mode ()
-  "Make sure current buffer is in Org-mode.  Error if not."
-  (or (org-mode-p)
+  "Make sure current buffer is in org-mode.  Error if not."
+  (or (eq major-mode 'org-mode)
       (error "Cannot execute org-mode agenda command on buffer in %s"
             major-mode)))
 
@@ -3018,9 +3050,10 @@ removed from the entry content.  Currently only `planning' is allowed here."
 (defvar org-pre-agenda-window-conf nil)
 (defvar org-agenda-columns-active nil)
 (defvar org-agenda-name nil)
-(defvar org-agenda-filter nil)
-(defvar org-agenda-filter-while-redo nil)
-(defvar org-agenda-filter-preset nil
+(defvar org-agenda-tag-filter nil)
+(defvar org-agenda-category-filter nil)
+(defvar org-agenda-tag-filter-while-redo nil)
+(defvar org-agenda-tag-filter-preset nil
   "A preset of the tags filter used for secondary agenda filtering.
 This must be a list of strings, each string must be a single tag preceded
 by \"+\" or \"-\".
@@ -3030,13 +3063,25 @@ the entire agenda view.  In a block agenda, it will not work reliably to
 define a filter for one of the individual blocks.  You need to set it in
 the global options and expect it to be applied to the entire view.")
 
+(defvar org-agenda-category-filter-preset nil
+  "A preset of the categeory filter used for secondary agenda filtering.
+This must be a list of strings, each string must be a single category
+preceded by \"+\" or \"-\".
+This variable should not be set directly, but agenda custom commands can
+bind it in the options section.  The preset filter is a global property of
+the entire agenda view.  In a block agenda, it will not work reliably to
+define a filter for one of the individual blocks.  You need to set it in
+the global options and expect it to be applied to the entire view.")
+
 (defun org-prepare-agenda (&optional name)
   (setq org-todo-keywords-for-agenda nil)
   (setq org-done-keywords-for-agenda nil)
   (setq org-drawers-for-agenda nil)
   (unless org-agenda-persistent-filter
-    (setq org-agenda-filter nil))
-  (put 'org-agenda-filter :preset-filter org-agenda-filter-preset)
+    (setq org-agenda-tag-filter nil
+          org-agenda-category-filter nil))
+  (put 'org-agenda-tag-filter :preset-filter org-agenda-tag-filter-preset)
+  (put 'org-agenda-category-filter :preset-filter org-agenda-category-filter-preset)
   (if org-agenda-multi
       (progn
        (setq buffer-read-only nil)
@@ -3065,7 +3110,7 @@ the global options and expect it to be applied to the entire view.")
        (awin (select-window awin))
        ((not (setq org-pre-agenda-window-conf (current-window-configuration))))
        ((equal org-agenda-window-setup 'current-window)
-       (switch-to-buffer abuf))
+       (org-pop-to-buffer-same-window abuf))
        ((equal org-agenda-window-setup 'other-window)
        (org-switch-to-buffer-other-window abuf))
        ((equal org-agenda-window-setup 'other-frame)
@@ -3076,7 +3121,7 @@ the global options and expect it to be applied to the entire view.")
       ;; additional test in case agenda is invoked from within agenda
       ;; buffer via elisp link
       (unless (equal (current-buffer) abuf)
-       (switch-to-buffer abuf)))
+       (org-pop-to-buffer-same-window abuf)))
     (setq buffer-read-only nil)
     (let ((inhibit-read-only t)) (erase-buffer))
     (org-agenda-mode)
@@ -3115,8 +3160,10 @@ the global options and expect it to be applied to the entire view.")
          (org-habit-insert-consistency-graphs))
       (run-hooks 'org-finalize-agenda-hook)
       (setq org-agenda-type (org-get-at-bol 'org-agenda-type))
-      (when (or org-agenda-filter (get 'org-agenda-filter :preset-filter))
-       (org-agenda-filter-apply org-agenda-filter))
+      (when (or org-agenda-tag-filter (get 'org-agenda-tag-filter :preset-filter))
+       (org-agenda-filter-apply org-agenda-tag-filter 'tag))
+      (when (or org-agenda-category-filter (get 'org-agenda-category-filter :preset-filter))
+       (org-agenda-filter-apply org-agenda-category-filter 'category))
       )))
 
 (defun org-agenda-mark-clocking-task ()
@@ -3190,17 +3237,9 @@ the global options and expect it to be applied to the entire view.")
        (setq org-blocked-by-checkboxes nil invis1 invis)
        (let ((marker (org-get-at-bol 'org-hd-marker)))
          (when (and marker
-                    (not (with-current-buffer (marker-buffer marker)
-                           (save-excursion
-                             (goto-char marker)
-                             (if (org-entry-get nil "NOBLOCKING")
-                                 t ;; Never block this entry
-                               (run-hook-with-args-until-failure
-                                'org-blocker-hook
-                                (list :type 'todo-state-change
-                                      :position marker
-                                      :from 'todo
-                                      :to 'done)))))))
+                    (with-current-buffer (marker-buffer marker)
+                      (save-excursion (goto-char marker)
+                                      (org-entry-blocked-p))))
            (if org-blocked-by-checkboxes (setq invis1 nil))
            (setq b (if invis1
                        (max (point-min) (1- (point-at-bol)))
@@ -3334,7 +3373,7 @@ no longer in use."
 
 (defvar org-agenda-only-exact-dates nil) ; dynamically scoped
 
-(defun org-timeline (&optional include-all)
+(defun org-timeline (&optional dotodo)
   "Show a time-sorted view of the entries in the current org file.
 Only entries with a time stamp of today or later will be listed.  With
 \\[universal-argument] prefix, all unfinished TODO items will also be shown,
@@ -3345,7 +3384,6 @@ dates."
   (org-compile-prefix-format 'timeline)
   (org-set-sorting-strategy 'timeline)
   (let* ((dopast t)
-        (dotodo include-all)
         (doclosed org-agenda-show-log)
         (entry (buffer-file-name (or (buffer-base-buffer (current-buffer))
                                      (current-buffer))))
@@ -3364,7 +3402,7 @@ dates."
     (setq org-agenda-redo-command
          (list 'progn
                (list 'org-switch-to-buffer-other-window (current-buffer))
-               (list 'org-timeline (list 'quote include-all))))
+               (list 'org-timeline (list 'quote dotodo))))
     (if (not dopast)
        ;; Remove past dates from the list of dates.
        (setq day-numbers (delq nil (mapcar (lambda(x)
@@ -3432,22 +3470,26 @@ When EMPTY is non-nil, also include days without any entries."
   (let ((re (concat
             (if pre-re pre-re "")
             (if inactive org-ts-regexp-both org-ts-regexp)))
-        dates dates1 date day day1 day2 ts1 ts2)
+        dates dates1 date day day1 day2 ts1 ts2 pos)
     (if force-today
        (setq dates (list (org-today))))
     (save-excursion
       (goto-char beg)
       (while (re-search-forward re end t)
        (setq day (time-to-days (org-time-string-to-time
-                                (substring (match-string 1) 0 10))))
+                                (substring (match-string 1) 0 10)
+                                (current-buffer) (match-beginning 0))))
        (or (memq day dates) (push day dates)))
       (unless no-ranges
        (goto-char beg)
        (while (re-search-forward org-tr-regexp end t)
+         (setq pos (match-beginning 0))
          (setq ts1 (substring (match-string 1) 0 10)
                ts2 (substring (match-string 2) 0 10)
-               day1 (time-to-days (org-time-string-to-time ts1))
-               day2 (time-to-days (org-time-string-to-time ts2)))
+               day1 (time-to-days (org-time-string-to-time
+                                   ts1 (current-buffer) pos))
+               day2 (time-to-days (org-time-string-to-time
+                                   ts2  (current-buffer) pos)))
          (while (< (setq day1 (1+ day1)) day2)
            (or (memq day1 dates) (push day1 dates)))))
       (setq dates (sort dates '<))
@@ -3472,7 +3514,7 @@ Custom commands can set this variable in the options section.")
 (defvar org-starting-day nil) ; local variable in the agenda buffer
 (defvar org-agenda-current-span nil
   "The current span used in the agenda view.") ; local variable in the agenda buffer
-(defvar org-include-all-loc nil) ; local variable
+(defvar org-arg-loc nil) ; local variable
 
 (defvar org-agenda-entry-types '(:deadline :scheduled :timestamp :sexp)
   "List of types searched for when creating the daily/weekly agenda.
@@ -3508,29 +3550,29 @@ somewhat less efficient) way of determining what is included in
 the daily/weekly agenda, see `org-agenda-skip-function'.")
 
 ;;;###autoload
-(defun org-agenda-list (&optional include-all start-day span)
+(defun org-agenda-list (&optional arg start-day span)
   "Produce a daily/weekly view from all files in variable `org-agenda-files'.
 The view will be for the current day or week, but from the overview buffer
 you will be able to go to other days/weeks.
 
 With a numeric prefix argument in an interactive call, the agenda will
-span INCLUDE-ALL days.  Lisp programs should instead specify SPAN to change
+span ARG days.  Lisp programs should instead specify SPAN to change
 the number of days.  SPAN defaults to `org-agenda-span'.
 
 START-DAY defaults to TODAY, or to the most recent match for the weekday
 given in `org-agenda-start-on-weekday'."
   (interactive "P")
-  (if (and (integerp include-all) (> include-all 0))
-      (setq span include-all include-all nil))
+  (if (and (integerp arg) (> arg 0))
+      (setq span arg arg nil))
   (setq start-day (or start-day org-agenda-start-day))
   (if org-agenda-overriding-arguments
-      (setq include-all (car org-agenda-overriding-arguments)
+      (setq arg (car org-agenda-overriding-arguments)
            start-day (nth 1 org-agenda-overriding-arguments)
            span (nth 2 org-agenda-overriding-arguments)))
   (if (stringp start-day)
       ;; Convert to an absolute day number
       (setq start-day (time-to-days (org-read-date nil t start-day))))
-  (setq org-agenda-last-arguments (list include-all start-day span))
+  (setq org-agenda-last-arguments (list arg start-day span))
   (org-compile-prefix-format 'agenda)
   (org-set-sorting-strategy 'agenda)
   (let* ((span (org-agenda-ndays-to-span
@@ -3557,7 +3599,7 @@ given in `org-agenda-start-on-weekday'."
         s e rtn rtnall file date d start-pos end-pos todayp
         clocktable-start clocktable-end filter)
     (setq org-agenda-redo-command
-         (list 'org-agenda-list (list 'quote include-all) start-day (list 'quote span)))
+         (list 'org-agenda-list (list 'quote arg) start-day (list 'quote span)))
     (dotimes (n (1- ndays))
       (push (1+ (car day-numbers)) day-numbers))
     (setq day-numbers (nreverse day-numbers))
@@ -3565,7 +3607,7 @@ given in `org-agenda-start-on-weekday'."
          clocktable-end (1+ (or (org-last day-numbers) 0)))
     (org-prepare-agenda "Day/Week")
     (org-set-local 'org-starting-day (car day-numbers))
-    (org-set-local 'org-include-all-loc include-all)
+    (org-set-local 'org-arg-loc arg)
     (org-set-local 'org-agenda-current-span (org-agenda-ndays-to-span span))
     (unless org-agenda-compact-blocks
       (let* ((d1 (car day-numbers))
@@ -3616,7 +3658,7 @@ given in `org-agenda-start-on-weekday'."
              (setq rtn (apply 'org-agenda-get-day-entries
                               file date
                               org-agenda-entry-types)))))
-         (setq rtnall (append rtnall rtn))))
+         (setq rtnall (append rtnall rtn)))) ;; all entries
       (if org-agenda-include-diary
          (let ((org-agenda-search-headline-for-time t))
            (require 'diary-lib)
@@ -3638,7 +3680,7 @@ given in `org-agenda-start-on-weekday'."
            (put-text-property s (1- (point)) 'org-day-cnt day-cnt)
            (when todayp
              (put-text-property s (1- (point)) 'org-today t))
-           (if rtnall (insert
+           (if rtnall (insert ;; all entries
                        (org-finalize-agenda-entries
                         (org-agenda-add-time-grid-maybe
                          rtnall ndays todayp))
@@ -3655,8 +3697,8 @@ given in `org-agenda-start-on-weekday'."
        (setq p (plist-put p :tend clocktable-end))
        (setq p (plist-put p :scope 'agenda))
        (when (and (eq org-agenda-clockreport-mode 'with-filter)
-                  (setq filter (or org-agenda-filter-while-redo
-                                   (get 'org-agenda-filter :preset-filter))))
+                  (setq filter (or org-agenda-tag-filter-while-redo
+                                   (get 'org-agenda-tag-filter :preset-filter))))
          (setq p (plist-put p :tags (mapconcat (lambda (x)
                                                  (if (string-match "[<>=]" x)
                                                      ""
@@ -3715,9 +3757,9 @@ given in `org-agenda-start-on-weekday'."
 (defvar org-todo-only nil)
 
 (defvar org-search-syntax-table nil
-  "Special syntax table for Org-mode search.
-In this table, we have single quotes not as word constituents, so
-that when \"+Ameli\" is searched as a word, it will also match \"Ameli's\"")
+  "Special syntax table for org-mode search.
+In this table, we have single quotes not as word constituents, to
+that when \"+Ameli\" is searched as a work, it will also match \"Ameli's\"")
 
 (defun org-search-syntax-table ()
   (unless org-search-syntax-table
@@ -3786,7 +3828,7 @@ in `org-agenda-text-search-extra-files'."
         (full-words org-agenda-search-view-force-full-words)
         (org-agenda-text-search-extra-files org-agenda-text-search-extra-files)
         regexp rtn rtnall files file pos
-        marker category tags c neg re boolean
+        marker category org-category-pos tags c neg re boolean
         ee txt beg end words regexps+ regexps- hdl-only buffer beg1 str)
     (unless (and (not edit-at)
                 (stringp string)
@@ -3869,7 +3911,7 @@ in `org-agenda-text-search-extra-files'."
     (if (not regexps+)
        (setq regexp org-outline-regexp-bol)
       (setq regexp (pop regexps+))
-      (if hdl-only (setq regexp (concat "^" org-outline-regexp ".*?"
+      (if hdl-only (setq regexp (concat org-outline-regexp-bol ".*?"
                                        regexp))))
     (setq files (org-agenda-files nil 'ifmode))
     (when (eq (car org-agenda-text-search-extra-files) 'agenda-archives)
@@ -3890,7 +3932,7 @@ in `org-agenda-text-search-extra-files'."
                                    file))))
        (with-current-buffer buffer
          (with-syntax-table (org-search-syntax-table)
-           (unless (org-mode-p)
+           (unless (eq major-mode 'org-mode)
              (error "Agenda file %s is not in `org-mode'" file))
            (let ((case-fold-search t))
              (save-excursion
@@ -3900,7 +3942,7 @@ in `org-agenda-text-search-extra-files'."
                                        org-agenda-restrict-end)
                    (widen))
                  (goto-char (point-min))
-                 (unless (or (org-on-heading-p)
+                 (unless (or (org-at-heading-p)
                              (outline-next-heading))
                    (throw 'nextfile t))
                  (goto-char (max (point-min) (1- (point))))
@@ -3930,8 +3972,9 @@ in `org-agenda-text-search-extra-files'."
                      (goto-char beg)
                      (setq marker (org-agenda-new-marker (point))
                            category (org-get-category)
+                           org-category-pos (get-text-property (point) 'org-category-position)
                            tags (org-get-tags-at (point))
-                           txt (org-format-agenda-item
+                           txt (org-agenda-format-item
                                 ""
                                 (buffer-substring-no-properties
                                  beg1 (point-at-eol))
@@ -3941,6 +3984,7 @@ in `org-agenda-text-search-extra-files'."
                        'org-todo-regexp org-todo-regexp
                        'org-complex-heading-regexp org-complex-heading-regexp
                        'priority 1000 'org-category category
+                       'org-category-position org-category-pos
                        'type "search")
                      (push txt ee)
                      (goto-char (1- end))))))))))
@@ -4081,7 +4125,7 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
                       (format "ORG-AGENDA-ERROR: No such org-file %s" file))
                  rtnall (append rtnall rtn))
          (with-current-buffer buffer
-           (unless (org-mode-p)
+           (unless (eq major-mode 'org-mode)
              (error "Agenda file %s is not in `org-mode'" file))
            (save-excursion
              (save-restriction
@@ -4305,8 +4349,8 @@ of what a project is and how to check if it stuck, customize the variable
                          "\\)\\>"))
         (tags (nth 2 org-stuck-projects))
         (tags-re (if (member "*" tags)
-                     (org-re (concat org-outline-regexp-bol
-                                     ".*:[[:alnum:]_@#%]+:[ \t]*$"))
+                     (concat org-outline-regexp-bol
+                             (org-re ".*:[[:alnum:]_@#%]+:[ \t]*$"))
                    (if tags
                        (concat org-outline-regexp-bol
                                ".*:\\("
@@ -4333,7 +4377,7 @@ of what a project is and how to check if it stuck, customize the variable
 ;;; Diary integration
 
 (defvar org-disable-agenda-to-diary nil)          ;Dynamically-scoped param.
-(defvar list-diary-entries-hook)
+(defvar diary-list-entries-hook)
 (defvar diary-time-regexp)
 (defun org-get-entries-from-diary (date)
   "Get the (Emacs Calendar) diary entries for DATE."
@@ -4342,8 +4386,8 @@ of what a project is and how to check if it stuck, customize the variable
         (diary-display-hook '(fancy-diary-display))
         (diary-display-function 'fancy-diary-display)
         (pop-up-frames nil)
-        (list-diary-entries-hook
-         (cons 'org-diary-default-entry list-diary-entries-hook))
+        (diary-list-entries-hook
+         (cons 'org-diary-default-entry diary-list-entries-hook))
         (diary-file-name-prefix-function nil) ; turn this feature off
         (diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
         entries
@@ -4380,7 +4424,7 @@ of what a project is and how to check if it stuck, customize the variable
       (setq entries
            (mapcar
             (lambda (x)
-              (setq x (org-format-agenda-item "" x "Diary" nil 'time))
+              (setq x (org-agenda-format-item "" x "Diary" nil 'time))
               ;; Extend the text properties to the beginning of the line
               (org-add-props x (text-properties-at (1- (length x)) x)
                 'type "diary" 'date date 'face 'org-agenda-diary))
@@ -4425,7 +4469,7 @@ date.  It also removes lines that contain only whitespace."
           (setq string (org-modify-diary-entry-string string))))))
 
 (defun org-modify-diary-entry-string (string)
-  "Add text properties to string, allowing Org-mode to act on it."
+  "Add text properties to string, allowing org-mode to act on it."
   (org-add-props string nil
     'mouse-face 'highlight
     'help-echo (if buffer-file-name
@@ -4525,7 +4569,7 @@ the documentation of `org-diary'."
        ;; If file does not exist, make sure an error message ends up in diary
        (list (format "ORG-AGENDA-ERROR: No such org-file %s" file))
       (with-current-buffer buffer
-       (unless (org-mode-p)
+       (unless (eq major-mode 'org-mode)
          (error "Agenda file %s is not in `org-mode'" file))
        (let ((case-fold-search nil))
          (save-excursion
@@ -4562,6 +4606,7 @@ the documentation of `org-diary'."
                  (setq results (append results rtn))))))))
        results))))
 
+(defvar org-heading-keyword-regexp-format) ; defined in org.el
 (defun org-agenda-get-todos ()
   "Return the TODO information for agenda display."
   (let* ((props (list 'face nil
@@ -4573,16 +4618,20 @@ the documentation of `org-diary'."
                      'help-echo
                      (format "mouse-2 or RET jump to org file %s"
                              (abbreviate-file-name buffer-file-name))))
-        (regexp (concat "^\\*+[ \t]+\\("
-                        (if org-select-this-todo-keyword
-                            (if (equal org-select-this-todo-keyword "*")
-                                org-todo-regexp
-                              (concat "\\<\\("
-                                      (mapconcat 'identity (org-split-string org-select-this-todo-keyword "|") "\\|")
-                                    "\\)\\>"))
-                          org-not-done-regexp)
-                        "[^\n\r]*\\)"))
-        marker priority category tags todo-state
+        (regexp (format org-heading-keyword-regexp-format
+                        (cond
+                         ((and org-select-this-todo-keyword
+                               (equal org-select-this-todo-keyword "*"))
+                          org-todo-regexp)
+                         (org-select-this-todo-keyword
+                          (concat "\\("
+                                  (mapconcat 'identity
+                                             (org-split-string
+                                              org-select-this-todo-keyword
+                                              "|")
+                                             "\\|") "\\)"))
+                         (t org-not-done-regexp))))
+        marker priority category org-category-pos tags todo-state
         ee txt beg end)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
@@ -4595,21 +4644,24 @@ the documentation of `org-diary'."
            (goto-char (1+ beg))
            (or org-agenda-todo-list-sublevels (org-end-of-subtree 'invisible))
            (throw :skip nil)))
-       (goto-char (match-beginning 1))
+       (goto-char (match-beginning 2))
        (setq marker (org-agenda-new-marker (match-beginning 0))
              category (org-get-category)
-             txt (match-string 1)
+             org-category-pos (get-text-property (point) 'org-category-position)
+             txt (org-trim
+                  (buffer-substring (match-beginning 2) (match-end 0)))
              tags (org-get-tags-at (point))
-             txt (org-format-agenda-item "" txt category tags)
+             txt (org-agenda-format-item "" txt category tags)
              priority (1+ (org-get-priority txt))
              todo-state (org-get-todo-state))
        (org-add-props txt props
          'org-marker marker 'org-hd-marker marker
          'priority priority 'org-category category
+         'org-category-position org-category-pos
          'type "todo" 'todo-state todo-state)
        (push txt ee)
        (if org-agenda-todo-list-sublevels
-           (goto-char (match-end 1))
+           (goto-char (match-end 2))
          (org-end-of-subtree 'invisible))))
     (nreverse ee)))
 
@@ -4691,7 +4743,7 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
 
 (defun org-agenda-get-timestamps ()
   "Return the date stamp information for agenda display."
-  (let* ((props (list 'face nil
+  (let* ((props (list 'face 'org-agenda-calendar-event
                      'org-not-done-regexp org-not-done-regexp
                      'org-todo-regexp org-todo-regexp
                      'org-complex-heading-regexp org-complex-heading-regexp
@@ -4720,8 +4772,8 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
           "\\|\\(<[0-9]+-[0-9]+-[0-9]+[^>\n]+?\\+[0-9]+[dwmy]>\\)"
           "\\|\\(<%%\\(([^>\n]+)\\)>\\)"))
         marker hdmarker deadlinep scheduledp clockp closedp inactivep
-        donep tmp priority category ee txt timestr tags b0 b3 e3 head
-        todo-state end-of-match show-all)
+        donep tmp priority category org-category-pos ee txt timestr tags
+        b0 b3 e3 head todo-state end-of-match show-all)
     (goto-char (point-min))
     (while (setq end-of-match (re-search-forward regexp nil t))
       (setq b0 (match-beginning 0)
@@ -4735,7 +4787,8 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
        (org-agenda-skip)
        (if (and (match-end 1)
                 (not (= d1 (org-time-string-to-absolute
-                            (match-string 1) d1 nil show-all))))
+                            (match-string 1) d1 nil show-all
+                            (current-buffer) b0))))
            (throw :skip nil))
        (if (and e3
                 (not (org-diary-sexp-entry (buffer-substring b3 e3) "" date)))
@@ -4760,7 +4813,8 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
            ;; substring should only run to end of time stamp
            (setq timestr (substring timestr 0 (match-end 0))))
        (setq marker (org-agenda-new-marker b0)
-             category (org-get-category b0))
+             category (org-get-category b0)
+             org-category-pos (get-text-property b0 'org-category-position))
        (save-excursion
          (if (not (re-search-backward org-outline-regexp-bol nil t))
              (setq txt org-agenda-no-heading-message)
@@ -4769,7 +4823,7 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
                  tags (org-get-tags-at))
            (looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
            (setq head (or (match-string 1) ""))
-           (setq txt (org-format-agenda-item
+           (setq txt (org-agenda-format-item
                       (if inactivep org-agenda-inactive-leader nil)
                       head category tags timestr
                       remove-re)))
@@ -4778,6 +4832,7 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
            'org-marker marker 'org-hd-marker hdmarker)
          (org-add-props txt nil 'priority priority
                         'org-category category 'date date
+                        'org-category-position org-category-pos
                         'todo-state todo-state
                         'type "timestamp")
          (push txt ee))
@@ -4789,13 +4844,14 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
 (defun org-agenda-get-sexps ()
   "Return the sexp information for agenda display."
   (require 'diary-lib)
-  (let* ((props (list 'mouse-face 'highlight
+  (let* ((props (list 'face 'org-agenda-calendar-sexp
+                     'mouse-face 'highlight
                      'help-echo
                      (format "mouse-2 or RET jump to org file %s"
                              (abbreviate-file-name buffer-file-name))))
         (regexp "^&?%%(")
-        marker category ee txt tags entry result beg b sexp sexp-entry
-        todo-state)
+        marker category org-category-pos ee txt tags entry
+        result beg b sexp sexp-entry todo-state)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
       (catch :skip
@@ -4812,6 +4868,7 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
        (when result
          (setq marker (org-agenda-new-marker beg)
                category (org-get-category beg)
+               org-category-pos (get-text-property beg 'org-category-position)
                todo-state (org-get-todo-state))
 
          (dolist (r (if (stringp result)
@@ -4821,11 +4878,12 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
                (setq txt r)
              (setq txt "SEXP entry returned empty string"))
 
-           (setq txt (org-format-agenda-item
+           (setq txt (org-agenda-format-item
                       "" txt category tags 'time))
            (org-add-props txt props 'org-marker marker)
            (org-add-props txt nil
              'org-category category 'date date 'todo-state todo-state
+             'org-category-position org-category-pos
              'type "sexp")
            (push txt ee)))))
     (nreverse ee)))
@@ -4860,9 +4918,11 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
 ;; Define the` org-class' function
 (defun org-class (y1 m1 d1 y2 m2 d2 dayname &rest skip-weeks)
   "Entry applies if date is between dates on DAYNAME, but skips SKIP-WEEKS.
-DAYNAME is a number between 0 (Sunday) and 6 (Saturday).  SKIP-WEEKS
-is any number of ISO weeks in the block period for which the item should
-be skipped."
+DAYNAME is a number between 0 (Sunday) and 6 (Saturday).
+SKIP-WEEKS is any number of ISO weeks in the block period for which the
+item should be skipped.  If any of the SKIP-WEEKS arguments is the symbol
+`holidays', then any date that is known by the Emacs calendar to be a
+holidy will also be skipped."
   (let* ((date1 (calendar-absolute-from-gregorian (list m1 d1 y1)))
         (date2 (calendar-absolute-from-gregorian (list m2 d2 y2)))
         (d (calendar-absolute-from-gregorian date)))
@@ -4874,6 +4934,8 @@ be skipped."
         (progn
           (require 'cal-iso)
           (not (member (car (calendar-iso-from-absolute d)) skip-weeks))))
+     (not (and (memq 'holidays skip-weeks)
+              (calendar-check-holidays date)))
      entry)))
 
 (defun org-diary-class (m1 d1 y1 m2 d2 y2 dayname &rest skip-weeks)
@@ -4894,6 +4956,7 @@ please use `org-class' instead."
      (nth 2 date1) (car date1) (nth 1 date1)
      (nth 2 date2) (car date2) (nth 1 date2)
      dayname skip-weeks)))
+(make-obsolete 'org-diary-class 'org-class "")
 
 (defalias 'org-get-closed 'org-agenda-get-progress)
 (defun org-agenda-get-progress ()
@@ -4929,8 +4992,8 @@ please use `org-class' instead."
                            (list 0 0 0 (nth 1 date) (car date) (nth 2 date))))
                    1 11))))
         (org-agenda-search-headline-for-time nil)
-        marker hdmarker priority category tags closedp statep clockp state
-        ee txt extra timestr rest clocked)
+        marker hdmarker priority category org-category-pos tags closedp
+        statep clockp state ee txt extra timestr rest clocked)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
       (catch :skip
@@ -4941,14 +5004,15 @@ please use `org-class' instead."
              clockp (not (or closedp statep))
              state (and statep (match-string 2))
              category (org-get-category (match-beginning 0))
-             timestr (buffer-substring (match-beginning 0) (point-at-eol))
-             )
+             org-category-pos (get-text-property (match-beginning 0) 'org-category-position)
+             timestr (buffer-substring (match-beginning 0) (point-at-eol)))
        (when (string-match "\\]" timestr)
          ;; substring should only run to end of time stamp
          (setq rest (substring timestr (match-end 0))
                timestr (substring timestr 0 (match-end 0)))
          (if (and (not closedp) (not statep)
-                  (string-match "\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)\\].*?\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)" rest))
+                  (string-match "\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)\\].*?\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)"
+                                rest))
              (progn (setq timestr (concat (substring timestr 0 -1)
                                           "-" (match-string 1 rest) "]"))
                     (setq clocked (match-string 2 rest)))
@@ -4975,7 +5039,7 @@ please use `org-class' instead."
                  (setq txt (concat (substring txt 0 (match-beginning 1))
                                    " - " extra " " (match-string 2 txt)))
                (setq txt (concat txt " - " extra))))
-           (setq txt (org-format-agenda-item
+           (setq txt (org-agenda-format-item
                       (cond
                        (closedp "Closed:    ")
                            (statep (concat "State:     (" state ")"))
@@ -4985,6 +5049,7 @@ please use `org-class' instead."
          (org-add-props txt props
            'org-marker marker 'org-hd-marker hdmarker 'face 'org-agenda-done
            'priority priority 'org-category category
+           'org-category-position org-category-pos
            'type "closed" 'date date
            'undone-face 'org-warning 'done-face 'org-agenda-done)
          (push txt ee))
@@ -5059,7 +5124,7 @@ See also the user option `org-agenda-clock-consistency-checks'."
                              (/ (- tlend ts) 60))
                face (or (plist-get pl :overlap-face) face)))
         ((and (> tlend 0) (> ts (+ tlend (* 60 maxgap))))
-         ;; There is a gap, let's see if we need to report it
+         ;; There is a gap, lets see if we need to report it
          (unless (org-agenda-check-clock-gap tlend ts gapok)
            (setq issue (format "Clocking gap: %d minutes"
                                  (/ (- ts tlend) 60))
@@ -5122,9 +5187,9 @@ See also the user option `org-agenda-clock-consistency-checks'."
         (regexp org-deadline-time-regexp)
         (todayp (org-agenda-todayp date)) ; DATE bound by calendar
         (d1 (calendar-absolute-from-gregorian date))  ; DATE bound by calendar
-        d2 diff dfrac wdays pos pos1 category tags
-        suppress-prewarning
-        ee txt head face s todo-state show-all upcomingp donep timestr)
+        d2 diff dfrac wdays pos pos1 category org-category-pos
+        tags suppress-prewarning ee txt head face s todo-state
+        show-all upcomingp donep timestr)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
       (setq suppress-prewarning nil)
@@ -5147,13 +5212,14 @@ See also the user option `org-agenda-clock-consistency-checks'."
                           (member todo-state
                                    org-agenda-repeating-timestamp-show-all))
              d2 (org-time-string-to-absolute
-                 (match-string 1) d1 'past show-all)
+                 (match-string 1) d1 'past show-all
+                 (current-buffer) pos)
              diff (- d2 d1)
              wdays (if suppress-prewarning
                        (let ((org-deadline-warning-days suppress-prewarning))
                          (org-get-wdays s))
                      (org-get-wdays s))
-             dfrac (/ (* 1.0 (- wdays diff)) (max wdays 1))
+             dfrac (- 1 (/ (* 1.0 diff) (max wdays 1)))
              upcomingp (and todayp (> diff 0)))
        ;; When to show a deadline in the calendar:
        ;; If the expiration is within wdays warning time.
@@ -5168,7 +5234,8 @@ See also the user option `org-agenda-clock-consistency-checks'."
                       (or org-agenda-skip-deadline-if-done
                           (not (= diff 0))))
                  (setq txt nil)
-               (setq category (org-get-category))
+               (setq category (org-get-category)
+                     org-category-pos (get-text-property (point) 'org-category-position))
                (if (not (re-search-backward "^\\*+[ \t]+" nil t))
                    (setq txt org-agenda-no-heading-message)
                  (goto-char (match-end 0))
@@ -5182,7 +5249,7 @@ See also the user option `org-agenda-clock-consistency-checks'."
                      (setq timestr
                            (concat (substring s (match-beginning 1)) " "))
                    (setq timestr 'time))
-                 (setq txt (org-format-agenda-item
+                 (setq txt (org-agenda-format-item
                             (if (= diff 0)
                                 (car org-agenda-deadline-leaders)
                               (if (functionp
@@ -5195,13 +5262,14 @@ See also the user option `org-agenda-clock-consistency-checks'."
                             head category tags
                             (if (not (= diff 0)) nil timestr)))))
              (when txt
-               (setq face (org-agenda-deadline-face dfrac wdays))
+               (setq face (org-agenda-deadline-face dfrac))
                (org-add-props txt props
                  'org-marker (org-agenda-new-marker pos)
                  'org-hd-marker (org-agenda-new-marker pos1)
                  'priority (+ (- diff)
                               (org-get-priority txt))
                  'org-category category
+                 'org-category-position org-category-pos
                  'todo-state todo-state
                  'type (if upcomingp "upcoming-deadline" "deadline")
                  'date (if upcomingp date d2)
@@ -5210,10 +5278,9 @@ See also the user option `org-agenda-clock-consistency-checks'."
                (push txt ee))))))
     (nreverse ee)))
 
-(defun org-agenda-deadline-face (fraction &optional wdays)
+(defun org-agenda-deadline-face (fraction)
   "Return the face to displaying a deadline item.
 FRACTION is what fraction of the head-warning time has passed."
-  (if (equal wdays 0) (setq fraction 1.))
   (let ((faces org-agenda-deadline-faces) f)
     (catch 'exit
       (while (setq f (pop faces))
@@ -5238,7 +5305,7 @@ FRACTION is what fraction of the head-warning time has passed."
                                        0 'org-hd-marker a))
                              (cons (marker-position mm) a)))
                  deadline-results))
-        d2 diff pos pos1 category tags donep
+        d2 diff pos pos1 category org-category-pos tags donep
         ee txt head pastschedp todo-state face timestr s habitp show-all)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
@@ -5252,7 +5319,8 @@ FRACTION is what fraction of the head-warning time has passed."
                           (member todo-state
                                   org-agenda-repeating-timestamp-show-all))
              d2 (org-time-string-to-absolute
-                 (match-string 1) d1 'past show-all)
+                 (match-string 1) d1 'past show-all
+                 (current-buffer) pos)
              diff (- d2 d1))
        (setq pastschedp (and todayp (< diff 0)))
        ;; When to show a scheduled item in the calendar:
@@ -5271,7 +5339,8 @@ FRACTION is what fraction of the head-warning time has passed."
                (setq txt nil)
              (setq habitp (and (functionp 'org-is-habit-p)
                                (org-is-habit-p)))
-             (setq category (org-get-category))
+             (setq category (org-get-category)
+                   org-category-pos (get-text-property (point) 'org-category-position))
              (if (not (re-search-backward "^\\*+[ \t]+" nil t))
                  (setq txt org-agenda-no-heading-message)
                (goto-char (match-end 0))
@@ -5295,7 +5364,7 @@ FRACTION is what fraction of the head-warning time has passed."
                    (setq timestr
                          (concat (substring s (match-beginning 1)) " "))
                  (setq timestr 'time))
-               (setq txt (org-format-agenda-item
+               (setq txt (org-agenda-format-item
                           (if (= diff 0)
                               (car org-agenda-scheduled-leaders)
                             (format (nth 1 org-agenda-scheduled-leaders)
@@ -5322,6 +5391,7 @@ FRACTION is what fraction of the head-warning time has passed."
                              (org-habit-get-priority habitp)
                            (+ 94 (- 5 diff) (org-get-priority txt)))
                'org-category category
+               'org-category-position org-category-pos
                'org-habit-p habitp
                'todo-state todo-state)
              (push txt ee))))))
@@ -5339,8 +5409,8 @@ FRACTION is what fraction of the head-warning time has passed."
                              (abbreviate-file-name buffer-file-name))))
         (regexp org-tr-regexp)
         (d0 (calendar-absolute-from-gregorian date))
-        marker hdmarker ee txt d1 d2 s1 s2 category todo-state tags pos
-        head donep)
+        marker hdmarker ee txt d1 d2 s1 s2 category org-category-pos
+        todo-state tags pos head donep)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
       (catch :skip
@@ -5350,8 +5420,8 @@ FRACTION is what fraction of the head-warning time has passed."
              (end-time (match-string 2)))
          (setq s1 (match-string 1)
                s2 (match-string 2)
-               d1 (time-to-days (org-time-string-to-time s1))
-               d2 (time-to-days (org-time-string-to-time s2)))
+               d1 (time-to-days (org-time-string-to-time s1 (current-buffer) pos))
+               d2 (time-to-days (org-time-string-to-time s2 (current-buffer) pos)))
          (if (and (> (- d0 d1) -1) (> (- d2 d0) -1))
              ;; Only allow days between the limits, because the normal
              ;; date stamps will catch the limits.
@@ -5361,7 +5431,8 @@ FRACTION is what fraction of the head-warning time has passed."
                (if (and donep org-agenda-skip-timestamp-if-done)
                    (throw :skip t))
                (setq marker (org-agenda-new-marker (point)))
-               (setq category (org-get-category))
+               (setq category (org-get-category)
+                     org-category-pos (get-text-property (point) 'org-category-position))
                (if (not (re-search-backward org-outline-regexp-bol nil t))
                    (setq txt org-agenda-no-heading-message)
                  (goto-char (match-beginning 0))
@@ -5376,13 +5447,15 @@ FRACTION is what fraction of the head-warning time has passed."
                              "--"
                              "<" (regexp-quote s2) ".*?>")
                           nil)))
-                   (setq txt (org-format-agenda-item
+                   (setq txt (org-agenda-format-item
                               (format
                                (nth (if (= d1 d2) 0 1)
                                     org-agenda-timerange-leaders)
                                (1+ (- d0 d1)) (1+ (- d2 d1)))
                               head category tags
-                              (cond ((= d1 d0)
+                              (cond ((and (= d1 d0) (= d2 d0))
+                                     (concat "<" start-time ">--<" end-time ">"))
+                                     ((= d1 d0)
                                      (concat "<" start-time ">"))
                                     ((= d2 d0)
                                      (concat "<" end-time ">"))
@@ -5392,7 +5465,8 @@ FRACTION is what fraction of the head-warning time has passed."
                  'org-marker marker 'org-hd-marker hdmarker
                  'type "block" 'date date
                  'todo-state todo-state
-                 'priority (org-get-priority txt) 'org-category category)
+                 'priority (org-get-priority txt) 'org-category category
+                 'org-category-position org-category-pos)
                (push txt ee))))
        (goto-char pos)))
     ;; Sort the entries by expiration date.
@@ -5422,7 +5496,7 @@ The flag is set if the currently compiled format contains a `%e'.")
          (return (cadr entry))
       (return (apply 'create-image (cdr entry)))))))
 
-(defun org-format-agenda-item (extra txt &optional category tags dotime
+(defun org-agenda-format-item (extra txt &optional category tags dotime
                                     remove-re habitp)
   "Format TXT to be inserted into the agenda buffer.
 In particular, it adds the prefix and corresponding text properties.  EXTRA
@@ -5464,7 +5538,7 @@ Any match of REMOVE-RE will be removed from TXT."
           (time-of-day (and dotime (org-get-time-of-day ts)))
           stamp plain s0 s1 s2 rtn srp l
           duration thecategory)
-      (and (org-mode-p) buffer-file-name
+      (and (eq major-mode 'org-mode) buffer-file-name
           (add-to-list 'org-agenda-contributing-files buffer-file-name))
       (when (and dotime time-of-day)
        ;; Extract starting and ending time and move them to prefix
@@ -5512,7 +5586,7 @@ Any match of REMOVE-RE will be removed from TXT."
                     (concat (make-string (max (- 50 (length txt)) 1) ?\ )
                             (match-string 2 txt))
                     t t txt))))
-      (when (org-mode-p)
+      (when (eq major-mode 'org-mode)
        (setq effort
              (condition-case nil
                  (org-get-effort
@@ -5642,14 +5716,14 @@ The modified list may contain inherited tags, and tags matched by
       (while (setq time (pop gridtimes))
        (unless (and remove (member time have))
          (setq time (replace-regexp-in-string " " "0" (format "%04s" time)))
-         (push (org-format-agenda-item
+         (push (org-agenda-format-item
                 nil string "" nil
                 (concat (substring time 0 -2) ":" (substring time -2)))
                new)
          (put-text-property
           2 (length (car new)) 'face 'org-time-grid (car new))))
       (when (and todayp org-agenda-show-current-time-in-grid)
-       (push (org-format-agenda-item
+       (push (org-agenda-format-item
               nil
               org-agenda-current-time-string
               "" nil
@@ -5667,7 +5741,8 @@ The modified list may contain inherited tags, and tags matched by
 The resulting form is returned and stored in the variable
 `org-prefix-format-compiled'."
   (setq org-prefix-has-time nil org-prefix-has-tag nil
-       org-prefix-category-length nil  org-prefix-has-effort nil)
+       org-prefix-category-length nil
+       org-prefix-has-effort nil)
   (let ((s (cond
            ((stringp org-agenda-prefix-format)
             org-agenda-prefix-format)
@@ -5779,7 +5854,7 @@ could bind the variable in the options section of a custom command.")
 (defun org-agenda-highlight-todo (x)
   (let ((org-done-keywords org-done-keywords-for-agenda)
        (case-fold-search nil)
-        re)
+       re)
     (if (eq x 'line)
        (save-excursion
          (beginning-of-line 1)
@@ -5800,13 +5875,13 @@ could bind the variable in the options section of a custom command.")
          (add-text-properties
           (or (match-end 1) (match-end 0)) (match-end 0)
           (list 'face (org-get-todo-face (match-string 2 x)))
-        x)
+          x)
          (when (match-end 1)
            (setq x (concat (substring x 0 (match-end 1))
                            (format org-agenda-todo-keyword-format
                                    (match-string 2 x))
-                         (org-add-props " " (text-properties-at 0 x))
-                         (substring x (match-end 3)))))))
+                           (org-add-props " " (text-properties-at 0 x))
+                           (substring x (match-end 3)))))))
       x)))
 
 (defsubst org-cmp-priority (a b)
@@ -5818,7 +5893,7 @@ could bind the variable in the options section of a custom command.")
          (t nil))))
 
 (defsubst org-cmp-effort (a b)
-  "Compare the priorities of string A and B."
+  "Compare the effort values of string A and B."
   (let* ((def (if org-sort-agenda-noeffort-is-high 32767 -1))
         (ea (or (get-text-property 1 'effort-minutes a) def))
         (eb (or (get-text-property 1 'effort-minutes b) def)))
@@ -6081,29 +6156,46 @@ in the agenda."
 When this is the global TODO list, a prefix argument will be interpreted."
   (interactive)
   (let* ((org-agenda-keep-modes t)
-        (filter org-agenda-filter)
-        (preset (get 'org-agenda-filter :preset-filter))
-        (org-agenda-filter-while-redo (or filter preset))
+        (tag-filter org-agenda-tag-filter)
+        (tag-preset (get 'org-agenda-tag-filter :preset-filter))
+        (cat-filter org-agenda-category-filter)
+        (cat-preset (get 'org-agenda-category-filter :preset-filter))
+        (org-agenda-tag-filter-while-redo (or tag-filter tag-preset))
         (cols org-agenda-columns-active)
         (line (org-current-line))
         (window-line (- line (org-current-line (window-start))))
         (lprops (get 'org-agenda-redo-command 'org-lprops)))
-    (put 'org-agenda-filter :preset-filter nil)
+    (put 'org-agenda-tag-filter :preset-filter nil)
+    (put 'org-agenda-category-filter :preset-filter nil)
     (and cols (org-columns-quit))
     (message "Rebuilding agenda buffer...")
     (org-let lprops '(eval org-agenda-redo-command))
     (setq org-agenda-undo-list nil
          org-agenda-pending-undo-list nil)
     (message "Rebuilding agenda buffer...done")
-    (put 'org-agenda-filter :preset-filter preset)
-    (and (or filter preset) (org-agenda-filter-apply filter))
+    (put 'org-agenda-tag-filter :preset-filter tag-preset)
+    (put 'org-agenda-category-filter :preset-filter cat-preset)
+    (and (or tag-filter tag-preset) (org-agenda-filter-apply tag-filter 'tag))
+    (and (or cat-filter cat-preset) (org-agenda-filter-apply cat-filter 'category))
     (and cols (org-called-interactively-p 'any) (org-agenda-columns))
     (org-goto-line line)
     (recenter window-line)))
 
-
 (defvar org-global-tags-completion-table nil)
+(defvar org-agenda-filtered-by-category nil)
 (defvar org-agenda-filter-form nil)
+
+(defun org-agenda-filter-by-category (strip)
+  "Keep only those lines in the agenda buffer that have a specific category.
+The category is that of the current line."
+  (interactive "P")
+  (if org-agenda-filtered-by-category
+      (org-agenda-filter-show-all-cat)
+    (let ((cat (org-no-properties (get-text-property (point) 'org-category))))
+      (if cat (org-agenda-filter-apply
+              (list (concat (if strip "-" "+") cat)) 'category)
+       (error "No category at point")))))
+
 (defun org-agenda-filter-by-tag (strip &optional char narrow)
   "Keep only those lines in the agenda buffer that have a specific tag.
 The tag is selected with its fast selection letter, as configured.
@@ -6127,21 +6219,21 @@ to switch to narrowing."
         (effort-op org-agenda-filter-effort-default-operator)
         (effort-prompt "")
         (inhibit-read-only t)
-        (current org-agenda-filter)
+        (current org-agenda-tag-filter)
         maybe-refresh a n tag)
     (unless char
       (message
        "%s by tag [%s ], [TAB], %s[/]:off, [+-]:narrow, [>=<?]:effort: "
        (if narrow "Narrow" "Filter") tag-chars
        (if org-agenda-auto-exclude-function "[RET], " ""))
-      (setq char (read-char)))
+      (setq char (read-char-exclusive)))
     (when (member char '(?+ ?-))
       ;; Narrowing down
       (cond ((equal char ?-) (setq strip t narrow t))
            ((equal char ?+) (setq strip nil narrow t)))
       (message
        "Narrow by tag [%s ], [TAB], [/]:off, [>=<]:effort: " tag-chars)
-      (setq char (read-char)))
+      (setq char (read-char-exclusive)))
     (when (member char '(?< ?> ?= ??))
       ;; An effort operator
       (setq effort-op (char-to-string char))
@@ -6154,7 +6246,7 @@ to switch to narrowing."
                     (if (= i 9) "0" (int-to-string (1+ i)))
                     "]" (nth i efforts))))
        (message "Effort%s: %s " effort-op effort-prompt)
-       (setq char (read-char))
+       (setq char (read-char-exclusive))
        (when (or (< char ?0) (> char ?9))
          (error "Need 1-9,0 to select effort" ))))
     (when (equal char ?\t)
@@ -6166,20 +6258,26 @@ to switch to narrowing."
                   "Tag: " org-global-tags-completion-table))))
     (cond
      ((equal char ?\r)
-      (org-agenda-filter-by-tag-show-all)
+      (org-agenda-filter-show-all-tag)
       (when org-agenda-auto-exclude-function
-       (setq org-agenda-filter '())
+       (setq org-agenda-tag-filter '())
        (dolist (tag (org-agenda-get-represented-tags))
          (let ((modifier (funcall org-agenda-auto-exclude-function tag)))
            (if modifier
-               (push modifier org-agenda-filter))))
-       (if (not (null org-agenda-filter))
-           (org-agenda-filter-apply org-agenda-filter)))
+               (push modifier org-agenda-tag-filter))))
+       (if (not (null org-agenda-tag-filter))
+           (org-agenda-filter-apply org-agenda-tag-filter 'tag)))
       (setq maybe-refresh t))
      ((equal char ?/)
-      (org-agenda-filter-by-tag-show-all)
-      (when (get 'org-agenda-filter :preset-filter)
-       (org-agenda-filter-apply org-agenda-filter))
+      (org-agenda-filter-show-all-tag)
+      (when (get 'org-agenda-tag-filter :preset-filter)
+       (org-agenda-filter-apply org-agenda-tag-filter 'tag))
+      (setq maybe-refresh t))
+     ((equal char ?. )
+      (setq org-agenda-tag-filter
+           (mapcar (lambda(tag) (concat "+" tag))
+                   (org-get-at-bol 'tags)))
+      (org-agenda-filter-apply org-agenda-tag-filter 'tag)
       (setq maybe-refresh t))
      ((or (equal char ?\ )
          (setq a (rassoc char alist))
@@ -6191,12 +6289,12 @@ to switch to narrowing."
               (setq tag "?eff")
               a (cons tag nil))
          (and tag (setq a (cons tag nil))))
-      (org-agenda-filter-by-tag-show-all)
+      (org-agenda-filter-show-all-tag)
       (setq tag (car a))
-      (setq org-agenda-filter
+      (setq org-agenda-tag-filter
            (cons (concat (if strip "-" "+") tag)
                  (if narrow current nil)))
-      (org-agenda-filter-apply org-agenda-filter)
+      (org-agenda-filter-apply org-agenda-tag-filter 'tag)
       (setq maybe-refresh t))
      (t (error "Invalid tag selection character %c" char)))
     (when (and maybe-refresh
@@ -6215,15 +6313,17 @@ to switch to narrowing."
     tags))
 
 (defun org-agenda-filter-by-tag-refine (strip &optional char)
-  "Refine the current filter.  See `org-agenda-filter-by-tag."
+  "Refine the current filter.  See `org-agenda-filter-by-tag'."
   (interactive "P")
   (org-agenda-filter-by-tag strip char 'refine))
 
 (defun org-agenda-filter-make-matcher ()
-  "Create the form that tests a line for the agenda filter."
+  "Create the form that tests a line for agenda filter."
   (let (f f1)
-    (dolist (x (append (get 'org-agenda-filter :preset-filter)
-                      org-agenda-filter))
+    ;; first compute the tag-filter matcher
+    (dolist (x (delete-dups
+               (append (get 'org-agenda-tag-filter
+                            :preset-filter) org-agenda-tag-filter)))
       (if (member x '("-" "+"))
          (setq f1 (if (equal x "-") 'tags '(not tags)))
        (if (string-match "[<=>?]" x)
@@ -6232,6 +6332,12 @@ to switch to narrowing."
        (if (equal (string-to-char x) ?-)
            (setq f1 (list 'not f1))))
       (push f1 f))
+    ;; then compute the category-filter matcher
+    (dolist (x (delete-dups
+               (append (get 'org-agenda-category-filter
+                            :preset-filter) org-agenda-category-filter)))
+      (setq f1 (list 'equal (substring x 1) 'cat))
+      (push f1 f))
     (cons 'and (nreverse f))))
 
 (defun org-agenda-filter-effort-form (e)
@@ -6256,49 +6362,63 @@ If the line does not have an effort defined, return nil."
       (funcall op (or eff (if org-sort-agenda-noeffort-is-high 32767 0))
               value))))
 
-(defun org-agenda-filter-apply (filter)
+(defun org-agenda-filter-apply (filter type)
   "Set FILTER as the new agenda filter and apply it."
-  (let (tags)
-    (setq org-agenda-filter filter
-         org-agenda-filter-form (org-agenda-filter-make-matcher))
+  (let (tags cat)
+    (if (eq type 'tag)
+       (setq org-agenda-tag-filter filter)
+      (setq org-agenda-category-filter filter
+           org-agenda-filtered-by-category t))
+    (setq org-agenda-filter-form (org-agenda-filter-make-matcher))
     (org-agenda-set-mode-name)
     (save-excursion
       (goto-char (point-min))
       (while (not (eobp))
        (if (org-get-at-bol 'org-marker)
            (progn
-             (setq tags (org-get-at-bol 'tags)) ; used in eval
+             (setq tags (org-get-at-bol 'tags) ; used in eval
+                   cat (get-text-property (point) 'org-category))
              (if (not (eval org-agenda-filter-form))
-                 (org-agenda-filter-by-tag-hide-line))
+                 (org-agenda-filter-hide-line type))
              (beginning-of-line 2))
          (beginning-of-line 2))))
     (if (get-char-property (point) 'invisible)
        (org-agenda-previous-line))))
 
-(defun org-agenda-filter-by-tag-hide-line ()
+(defun org-agenda-filter-hide-line (type)
   (let (ov)
     (setq ov (make-overlay (max (point-min) (1- (point-at-bol)))
                               (point-at-eol)))
     (overlay-put ov 'invisible t)
-    (overlay-put ov 'type 'tags-filter)
-    (push ov org-agenda-filter-overlays)))
+    (overlay-put ov 'type type)
+    (if (eq type 'tag)
+       (push ov org-agenda-tag-filter-overlays)
+      (push ov org-agenda-cat-filter-overlays))))
 
 (defun org-agenda-fix-tags-filter-overlays-at (&optional pos)
   (setq pos (or pos (point)))
   (save-excursion
     (dolist (ov (overlays-at pos))
       (when (and (overlay-get ov 'invisible)
-                (eq (overlay-get ov 'type) 'tags-filter))
+                (eq (overlay-get ov 'type) 'tag))
        (goto-char pos)
        (if (< (overlay-start ov) (point-at-eol))
            (move-overlay ov (point-at-eol)
                              (overlay-end ov)))))))
 
-(defun org-agenda-filter-by-tag-show-all ()
-  (mapc 'delete-overlay org-agenda-filter-overlays)
-  (setq org-agenda-filter-overlays nil)
-  (setq org-agenda-filter nil)
-  (setq org-agenda-filter-form nil)
+(defun org-agenda-filter-show-all-tag nil
+  (mapc 'delete-overlay org-agenda-tag-filter-overlays)
+  (setq org-agenda-tag-filter-overlays nil
+       org-agenda-tag-filter nil
+       org-agenda-filter-form nil)
+  (org-agenda-set-mode-name))
+
+(defun org-agenda-filter-show-all-cat nil
+  (mapc 'delete-overlay org-agenda-cat-filter-overlays)
+  (setq org-agenda-cat-filter-overlays nil
+       org-agenda-filtered-by-category nil
+       org-agenda-category-filter nil
+       org-agenda-filter-form nil)
   (org-agenda-set-mode-name))
 
 (defun org-agenda-manipulate-query-add ()
@@ -6592,8 +6712,7 @@ so that the date SD will be in that range."
   (interactive)
   (setq org-agenda-follow-mode (not org-agenda-follow-mode))
   (org-agenda-set-mode-name)
-  (if (and org-agenda-follow-mode (org-get-at-bol 'org-marker))
-      (org-agenda-show))
+  (org-agenda-do-context-action)
   (message "Follow mode is %s"
           (if org-agenda-follow-mode "on" "off")))
 
@@ -6714,13 +6833,33 @@ When called with a prefix argument, include all archive files as well."
               ((eq org-agenda-show-log 'clockcheck) " ClkCk")
               (org-agenda-show-log " Log")
               (t ""))
-             (if (or org-agenda-filter (get 'org-agenda-filter
+             (if (or org-agenda-category-filter (get 'org-agenda-category-filter
+                                                     :preset-filter))
+                 '(:eval (org-propertize
+                          (concat " <"
+                                  (mapconcat
+                                   'identity
+                                   (append
+                                    (get 'org-agenda-category-filter :preset-filter)
+                                    org-agenda-category-filter)
+                                   "")
+                                  ">")
+                          'face 'org-agenda-filter-category
+                          'help-echo "Category used in filtering"))
+               "")
+             (if (or org-agenda-tag-filter (get 'org-agenda-tag-filter
                                             :preset-filter))
-                 (concat " {" (mapconcat
-                               'identity
-                               (append (get 'org-agenda-filter
-                                            :preset-filter)
-                                       org-agenda-filter) "") "}")
+                 '(:eval (org-propertize
+                          (concat " {"
+                                  (mapconcat
+                                   'identity
+                                   (append
+                                    (get 'org-agenda-tag-filter :preset-filter)
+                                    org-agenda-tag-filter)
+                                   "")
+                                  "}")
+                          'face 'org-agenda-filter-tags
+                          'help-echo "Tags used in filtering"))
                "")
              (if org-agenda-archives-mode
                  (if (eq org-agenda-archives-mode t)
@@ -6754,11 +6893,13 @@ When called with a prefix argument, include all archive files as well."
 (defun org-agenda-do-context-action ()
   "Show outline path and, maybe, follow mode window."
   (let ((m (org-get-at-bol 'org-marker)))
-    (if (and org-agenda-follow-mode m)
-       (org-agenda-show))
-    (if (and m org-agenda-show-outline-path)
-       (org-with-point-at m
-         (org-display-outline-path t)))))
+    (when (and (markerp m) (marker-buffer m))
+      (and org-agenda-follow-mode
+          (if org-agenda-follow-indirect
+              (org-agenda-tree-to-indirect-buffer)
+            (org-agenda-show)))
+      (and org-agenda-show-outline-path
+          (org-with-point-at m (org-display-outline-path t))))))
 
 (defun org-agenda-show-priority ()
   "Show the priority of the current item.
@@ -6788,7 +6929,7 @@ and by additional input from the age of a schedules or deadline entry."
     (widen)
     (push-mark)
     (goto-char pos)
-    (when (org-mode-p)
+    (when (eq major-mode 'org-mode)
       (org-show-context 'agenda)
       (save-excursion
        (and (outline-next-heading)
@@ -6817,7 +6958,7 @@ Point is in the buffer where the item originated.")
      (with-current-buffer buffer
        (save-excursion
         (goto-char pos)
-        (if (and (org-mode-p) (not (member type '("sexp"))))
+        (if (and (eq major-mode 'org-mode) (not (member type '("sexp"))))
             (setq dbeg (progn (org-back-to-heading t) (point))
                   dend (org-end-of-subtree t t))
           (setq dbeg (point-at-bol)
@@ -6869,7 +7010,7 @@ Point is in the buffer where the item originated.")
         (pos (marker-position marker)))
     (org-with-remote-undo buffer
       (with-current-buffer buffer
-       (if (org-mode-p)
+       (if (eq major-mode 'org-mode)
            (if (and confirm
                     (not (y-or-n-p "Archive this subtree or entry? ")))
                (error "Abort")
@@ -6970,11 +7111,11 @@ at the text of the entry itself."
                       (org-agenda-error)))
           (buffer (marker-buffer marker))
           (pos (marker-position marker)))
-      (switch-to-buffer buffer)
+      (org-pop-to-buffer-same-window buffer)
       (and delete-other-windows (delete-other-windows))
       (widen)
       (goto-char pos)
-      (when (org-mode-p)
+      (when (eq major-mode 'org-mode)
        (org-show-context 'agenda)
        (save-excursion
          (and (outline-next-heading)
@@ -7138,6 +7279,22 @@ With numerical prefix arg ARG, go up to this level and then take that tree.
 With a \\[universal-argument] prefix, make a separate frame for this tree (i.e. don't
 use the dedicated frame)."
   (interactive)
+  (if (and current-prefix-arg (listp current-prefix-arg))
+      (org-agenda-do-tree-to-indirect-buffer)
+    (let ((agenda-window (selected-window))
+          (indirect-window (get-buffer-window org-last-indirect-buffer)))
+      (save-window-excursion (org-agenda-do-tree-to-indirect-buffer))
+      (unwind-protect
+          (progn
+            (unless indirect-window
+              (setq indirect-window (split-window agenda-window)))
+            (select-window indirect-window)
+            (switch-to-buffer org-last-indirect-buffer :norecord)
+            (fit-window-to-buffer indirect-window))
+        (select-window agenda-window)))))
+
+(defun org-agenda-do-tree-to-indirect-buffer ()
+  "Same as `org-agenda-tree-to-indirect-buffer' without saving window."
   (org-agenda-check-no-diary)
   (let* ((marker (or (org-get-at-bol 'org-marker)
                     (org-agenda-error)))
@@ -7227,7 +7384,7 @@ the same tree node, and the headline of the tree node in the Org-mode file."
                                            &optional fixface just-this)
   "Change all lines in the agenda buffer which match HDMARKER.
 The new content of the line will be NEWHEAD (as modified by
-`org-format-agenda-item').  HDMARKER is checked with
+`org-agenda-format-item').  HDMARKER is checked with
 `equal' against all `org-hd-marker' text properties in the file.
 If FIXFACE is non-nil, the face of each item is modified according to
 the new TODO state.
@@ -7260,7 +7417,7 @@ If FORCE-TAGS is non nil, the car of it returns the new tags."
                    (save-excursion
                      (save-restriction
                        (widen)
-                       (org-format-agenda-item (org-get-at-bol 'extra)
+                       (org-agenda-format-item (org-get-at-bol 'extra)
                                                newhead cat tags dotime)))))
                pl (text-property-any (point-at-bol) (point-at-eol) 'org-heading t)
                undone-face (org-get-at-bol 'undone-face)
@@ -7494,15 +7651,33 @@ the same tree node, and the headline of the tree node in the Org-mode file."
   (let* ((marker (or (org-get-at-bol 'org-marker)
                     (org-agenda-error)))
         (buffer (marker-buffer marker))
-        (pos (marker-position marker)))
+        (pos (marker-position marker))
+        cdate today)
     (org-with-remote-undo buffer
-     (with-current-buffer buffer
-       (widen)
-       (goto-char pos)
-       (if (not (org-at-timestamp-p))
-          (error "Cannot find time stamp"))
-       (org-timestamp-change arg (or what 'day)))
-     (org-agenda-show-new-time marker org-last-changed-timestamp))
+      (with-current-buffer buffer
+       (widen)
+       (goto-char pos)
+       (if (not (org-at-timestamp-p))
+           (error "Cannot find time stamp"))
+       (when (and org-agenda-move-date-from-past-immediately-to-today
+                  (equal arg 1)
+                  (or (not what) (eq what 'day))
+                  (not (save-match-data (org-at-date-range-p))))
+         (setq cdate (org-parse-time-string (match-string 0) 'nodefault)
+               cdate (calendar-absolute-from-gregorian
+                      (list (nth 4 cdate) (nth 3 cdate) (nth 5 cdate)))
+               today (org-today))
+         (if (> today cdate)
+             ;; immediately shift to today
+             (setq arg (- today cdate))))
+       (org-timestamp-change arg (or what 'day))
+       (when (and (org-at-date-range-p)
+                  (re-search-backward org-tr-regexp-both (point-at-bol)))
+         (let ((end org-last-changed-timestamp))
+           (org-timestamp-change arg (or what 'day))
+           (setq org-last-changed-timestamp
+                 (concat org-last-changed-timestamp "--" end)))))
+      (org-agenda-show-new-time marker org-last-changed-timestamp))
     (message "Time stamp changed to %s" org-last-changed-timestamp)))
 
 (defun org-agenda-date-earlier (arg &optional what)
@@ -7827,7 +8002,7 @@ the resulting entry will not be shown.  When TEXT is empty, switch to
      ((eq type 'anniversary)
       (or (re-search-forward "^*[ \t]+Anniversaries" nil t)
        (progn
-         (or (org-on-heading-p t)
+         (or (org-at-heading-p t)
              (progn
                (outline-next-heading)
                (insert "* Anniversaries\n\n")
@@ -7843,10 +8018,10 @@ the resulting entry will not be shown.  When TEXT is empty, switch to
            (org-agenda-time-leading-zero t)
            fmt time time2)
        (if org-agenda-insert-diary-extract-time
-           ;; Use org-format-agenda-item to parse text for a time-range and
+           ;; Use org-agenda-format-item to parse text for a time-range and
            ;; remove it.  FIXME: This is a hack, we should refactor
            ;; that function to make time extraction available separately
-           (setq fmt (org-format-agenda-item nil text nil nil t)
+           (setq fmt (org-agenda-format-item nil text nil nil t)
                  time (get-text-property 0 'time fmt)
                  time2 (if (> (length time) 0)
                            ;; split-string removes trailing ...... if
@@ -8299,7 +8474,8 @@ The prefix arg is passed through to the command if possible."
          (progn (message "Skipping removed entry at %s" e)
                 (setq cntskip (1+ cntskip)))
        (goto-char pos)
-       (eval cmd)
+       (let (org-loop-over-headlines-in-active-region)
+         (eval cmd))
        (setq org-agenda-bulk-marked-entries
              (delete e org-agenda-bulk-marked-entries))
        (setq cnt (1+ cnt))))
@@ -8331,7 +8507,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 unflagged"))
+         (message "Entry unflaged"))
       (setq note (org-entry-get hdmarker "THEFLAGGINGNOTE"))
       (unless note
        (error "No flagging note"))
@@ -8354,7 +8530,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 unflagged")))
+    (message "Entry unflaged")))
 
 (defun org-agenda-get-any-marker (&optional pos)
   (or (get-text-property (or pos (point-at-bol)) 'org-hd-marker)
@@ -8365,7 +8541,7 @@ tag and (if present) the flagging note."
 (defvar appt-time-msg-list)
 
 ;;;###autoload
-(defun org-agenda-to-appt (&optional refresh filter)
+(defun org-agenda-to-appt (&optional refresh filter &rest args)
   "Activate appointments found in `org-agenda-files'.
 With a \\[universal-argument] prefix, refresh the list of
 appointments.
@@ -8376,6 +8552,10 @@ expression, and filter out entries that don't match it.
 If FILTER is a string, use this string as a regular expression
 for filtering entries out.
 
+If FILTER is a function, filter out entries against which
+calling the function returns nil.  This function takes one
+argument: an entry from `org-agenda-get-day-entries'.
+
 FILTER can also be an alist with the car of each cell being
 either 'headline or 'category.  For example:
 
@@ -8383,12 +8563,18 @@ either 'headline or 'category.  For example:
     (category \"Work\"))
 
 will only add headlines containing IMPORTANT or headlines
-belonging to the \"Work\" category."
+belonging to the \"Work\" category.
+
+ARGS are symbols indicating what kind of entries to consider.
+By default `org-agenda-to-appt' will use :deadline, :scheduled
+and :timestamp entries.  See the docstring of `org-diary' for
+details and examples."
   (interactive "P")
   (if refresh (setq appt-time-msg-list nil))
   (if (eq filter t)
       (setq filter (read-from-minibuffer "Regexp filter: ")))
   (let* ((cnt 0) ; count added events
+        (scope (or args '(:deadline :scheduled :timestamp)))
         (org-agenda-new-buffers nil)
         (org-deadline-warning-days 0)
         ;; Do not use `org-today' here because appt only takes
@@ -8402,10 +8588,10 @@ belonging to the \"Work\" category."
     (org-prepare-agenda-buffers files)
     (while (setq file (pop files))
       (setq entries
-           (append entries
-                   (org-agenda-get-day-entries
-                    file today :timestamp :scheduled :deadline))))
-    (setq entries (delq nil entries))
+           (delq nil
+                 (append entries
+                         (apply 'org-agenda-get-day-entries
+                                file today scope)))))
     ;; Map thru entries and find if we should filter them out
     (mapc
      (lambda(x)
@@ -8414,11 +8600,14 @@ belonging to the \"Work\" category."
              (tod (get-text-property 1 'time-of-day x))
              (ok (or (null filter)
                      (and (stringp filter) (string-match filter evt))
+                     (and (functionp filter) (funcall filter x))
                      (and (listp filter)
-                          (or (string-match
-                               (cadr (assoc 'category filter)) cat)
-                              (string-match
-                               (cadr (assoc 'headline filter)) evt))))))
+                          (let ((cat-filter (cadr (assoc 'category filter)))
+                                (evt-filter (cadr (assoc 'headline filter))))
+                            (or (and (stringp cat-filter)
+                                     (string-match cat-filter cat))
+                                (and (stringp evt-filter)
+                                     (string-match evt-filter evt))))))))
         ;; FIXME: Shall we remove text-properties for the appt text?
         ;; (setq evt (set-text-properties 0 (length evt) nil evt))
         (when (and ok tod)
@@ -8441,8 +8630,14 @@ belonging to the \"Work\" category."
                date)))
     (eq date today)))
 
-(provide 'org-agenda)
-
+(defun org-agenda-todo-yesterday (&optional arg)
+  "Like `org-agenda-todo' but the time of change will be 23:59 of yesterday"
+  (interactive "P")
+  (let* ((hour (third (decode-time
+                       (org-current-time))))
+         (org-extend-today-until (1+ hour)))
+    (org-agenda-todo arg)))
 
+(provide 'org-agenda)
 
 ;;; org-agenda.el ends here
index 7436696433c2fcfd5b2b926488e648f1593a5a0a..4137e2caf2bbfb7d01aee2fdf3071a10289aa74b 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-archive.el --- Archiving for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -191,158 +190,166 @@ If the cursor is not at a headline when this command is called, try all level
 1 trees.  If the cursor is on a headline, only try the direct children of
 this heading."
   (interactive "P")
-  (if find-done
-      (org-archive-all-done)
-    ;; Save all relevant TODO keyword-relatex variables
-
-    (let ((tr-org-todo-line-regexp org-todo-line-regexp) ; keep despite compiler
-         (tr-org-todo-keywords-1 org-todo-keywords-1)
-         (tr-org-todo-kwd-alist org-todo-kwd-alist)
-         (tr-org-done-keywords org-done-keywords)
-         (tr-org-todo-regexp org-todo-regexp)
-         (tr-org-todo-line-regexp org-todo-line-regexp)
-         (tr-org-odd-levels-only org-odd-levels-only)
-         (this-buffer (current-buffer))
-         ;; start of variables that will be used for saving context
-         ;; The compiler complains about them - keep them anyway!
-         (file (abbreviate-file-name
-                (or (buffer-file-name (buffer-base-buffer))
-                    (error "No file associated to buffer"))))
-         (olpath (mapconcat 'identity (org-get-outline-path) "/"))
-         (time (format-time-string
-                (substring (cdr org-time-stamp-formats) 1 -1)
-                (current-time)))
-         category todo priority ltags itags atags
-         ;; end of variables that will be used for saving context
-         location afile heading buffer level newfile-p infile-p visiting)
-
-      ;; Find the local archive location
-      (setq location (org-get-local-archive-location)
-           afile (org-extract-archive-file location)
-           heading (org-extract-archive-heading location)
-           infile-p (equal file (abbreviate-file-name afile)))
-      (unless afile
-       (error "Invalid `org-archive-location'"))
-
-      (if (> (length afile) 0)
-         (setq newfile-p (not (file-exists-p afile))
-               visiting (find-buffer-visiting afile)
-               buffer (or visiting (find-file-noselect afile)))
-       (setq buffer (current-buffer)))
-      (unless buffer
-       (error "Cannot access file \"%s\"" afile))
-      (if (and (> (length heading) 0)
-              (string-match "^\\*+" heading))
-         (setq level (match-end 0))
-       (setq heading nil level 0))
-      (save-excursion
-       (org-back-to-heading t)
-       ;; Get context information that will be lost by moving the tree
-       (setq category (org-get-category nil 'force-refresh)
-             todo (and (looking-at org-todo-line-regexp)
-                       (match-string 2))
-             priority (org-get-priority
-                       (if (match-end 3) (match-string 3) ""))
-             ltags (org-get-tags)
-             itags (org-delete-all ltags (org-get-tags-at))
-             atags (org-get-tags-at))
-       (setq ltags (mapconcat 'identity ltags " ")
-             itags (mapconcat 'identity itags " "))
-       ;; We first only copy, in case something goes wrong
-       ;; we need to protect `this-command', to avoid kill-region sets it,
-       ;; which would lead to duplication of subtrees
-       (let (this-command) (org-copy-subtree 1 nil t))
-       (set-buffer buffer)
-       ;; Enforce org-mode for the archive buffer
-       (if (not (org-mode-p))
-           ;; Force the mode for future visits.
-           (let ((org-insert-mode-line-in-empty-file t)
-                 (org-inhibit-startup t))
-             (call-interactively 'org-mode)))
-       (when newfile-p
-         (goto-char (point-max))
-         (insert (format "\nArchived entries from file %s\n\n"
-                         (buffer-file-name this-buffer))))
-       ;; Force the TODO keywords of the original buffer
-       (let ((org-todo-line-regexp tr-org-todo-line-regexp)
-             (org-todo-keywords-1 tr-org-todo-keywords-1)
-             (org-todo-kwd-alist tr-org-todo-kwd-alist)
-             (org-done-keywords tr-org-done-keywords)
-             (org-todo-regexp tr-org-todo-regexp)
-             (org-todo-line-regexp tr-org-todo-line-regexp)
-             (org-odd-levels-only
-              (if (local-variable-p 'org-odd-levels-only (current-buffer))
-                  org-odd-levels-only
-                tr-org-odd-levels-only)))
-         (goto-char (point-min))
-         (show-all)
-         (if heading
-             (progn
-               (if (re-search-forward
-                    (concat "^" (regexp-quote heading)
-                            (org-re "[ \t]*\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*\\($\\|\r\\)"))
-                    nil t)
-                   (goto-char (match-end 0))
-                 ;; Heading not found, just insert it at the end
-                 (goto-char (point-max))
-                 (or (bolp) (insert "\n"))
-                 (insert "\n" heading "\n")
-                 (end-of-line 0))
-               ;; Make the subtree visible
-               (show-subtree)
-               (if org-archive-reversed-order
-                   (progn
-                     (org-back-to-heading t)
-                     (outline-next-heading))
-                 (org-end-of-subtree t))
-               (skip-chars-backward " \t\r\n")
-               (and (looking-at "[ \t\r\n]*")
-                    (replace-match "\n\n")))
-           ;; No specific heading, just go to end of file.
-           (goto-char (point-max)) (insert "\n"))
-         ;; Paste
-         (org-paste-subtree (org-get-valid-level level (and heading 1)))
-         ;; Shall we append inherited tags?
-         (and itags
-              (or (and (eq org-archive-subtree-add-inherited-tags 'infile)
-                       infile-p)
-                  (eq org-archive-subtree-add-inherited-tags t))
-              (org-set-tags-to atags))
-         ;; Mark the entry as done
-         (when (and org-archive-mark-done
-                    (looking-at org-todo-line-regexp)
-                    (or (not (match-end 2))
-                        (not (member (match-string 2) org-done-keywords))))
-           (let (org-log-done org-todo-log-states)
-             (org-todo
-              (car (or (member org-archive-mark-done org-done-keywords)
-                       org-done-keywords)))))
-
-         ;; Add the context info
-         (when org-archive-save-context-info
-           (let ((l org-archive-save-context-info) e n v)
-             (while (setq e (pop l))
-               (when (and (setq v (symbol-value e))
-                          (stringp v) (string-match "\\S-" v))
-                 (setq n (concat "ARCHIVE_" (upcase (symbol-name e))))
-                 (org-entry-put (point) n v)))))
-
-         ;; Save and kill the buffer, if it is not the same buffer.
-         (when (not (eq this-buffer buffer))
-           (save-buffer))))
-      ;; Here we are back in the original buffer.  Everything seems to have
-      ;; worked.  So now cut the tree and finish up.
-      (let (this-command) (org-cut-subtree))
-      (when (featurep 'org-inlinetask)
-       (org-inlinetask-remove-END-maybe))
-      (setq org-markers-to-move nil)
-      (message "Subtree archived %s"
-              (if (eq this-buffer buffer)
-                  (concat "under heading: " heading)
-                (concat "in file: " (abbreviate-file-name afile))))))
-  (org-reveal)
-  (if (looking-at "^[ \t]*$")
-      (outline-next-visible-heading 1)))
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
+                   'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        `(progn (setq org-map-continue-from (progn (org-back-to-heading) (point)))
+                (org-archive-subtree ,find-done))
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (if find-done
+       (org-archive-all-done)
+      ;; Save all relevant TODO keyword-relatex variables
+      (let ((tr-org-todo-line-regexp org-todo-line-regexp) ; keep despite compiler
+           (tr-org-todo-keywords-1 org-todo-keywords-1)
+           (tr-org-todo-kwd-alist org-todo-kwd-alist)
+           (tr-org-done-keywords org-done-keywords)
+           (tr-org-todo-regexp org-todo-regexp)
+           (tr-org-todo-line-regexp org-todo-line-regexp)
+           (tr-org-odd-levels-only org-odd-levels-only)
+           (this-buffer (current-buffer))
+           ;; start of variables that will be used for saving context
+           ;; The compiler complains about them - keep them anyway!
+           (file (abbreviate-file-name
+                  (or (buffer-file-name (buffer-base-buffer))
+                      (error "No file associated to buffer"))))
+           (olpath (mapconcat 'identity (org-get-outline-path) "/"))
+           (time (format-time-string
+                  (substring (cdr org-time-stamp-formats) 1 -1)
+                  (current-time)))
+           category todo priority ltags itags atags
+           ;; end of variables that will be used for saving context
+           location afile heading buffer level newfile-p infile-p visiting)
+
+       ;; Find the local archive location
+       (setq location (org-get-local-archive-location)
+             afile (org-extract-archive-file location)
+             heading (org-extract-archive-heading location)
+             infile-p (equal file (abbreviate-file-name afile)))
+       (unless afile
+         (error "Invalid `org-archive-location'"))
+
+       (if (> (length afile) 0)
+           (setq newfile-p (not (file-exists-p afile))
+                 visiting (find-buffer-visiting afile)
+                 buffer (or visiting (find-file-noselect afile)))
+         (setq buffer (current-buffer)))
+       (unless buffer
+         (error "Cannot access file \"%s\"" afile))
+       (if (and (> (length heading) 0)
+                (string-match "^\\*+" heading))
+           (setq level (match-end 0))
+         (setq heading nil level 0))
+       (save-excursion
+         (org-back-to-heading t)
+         ;; Get context information that will be lost by moving the tree
+         (setq category (org-get-category nil 'force-refresh)
+               todo (and (looking-at org-todo-line-regexp)
+                         (match-string 2))
+               priority (org-get-priority
+                         (if (match-end 3) (match-string 3) ""))
+               ltags (org-get-tags)
+               itags (org-delete-all ltags (org-get-tags-at))
+               atags (org-get-tags-at))
+         (setq ltags (mapconcat 'identity ltags " ")
+               itags (mapconcat 'identity itags " "))
+         ;; We first only copy, in case something goes wrong
+         ;; we need to protect `this-command', to avoid kill-region sets it,
+         ;; which would lead to duplication of subtrees
+         (let (this-command) (org-copy-subtree 1 nil t))
+         (set-buffer buffer)
+         ;; Enforce org-mode for the archive buffer
+         (if (not (eq major-mode 'org-mode))
+             ;; Force the mode for future visits.
+             (let ((org-insert-mode-line-in-empty-file t)
+                   (org-inhibit-startup t))
+               (call-interactively 'org-mode)))
+         (when newfile-p
+           (goto-char (point-max))
+           (insert (format "\nArchived entries from file %s\n\n"
+                           (buffer-file-name this-buffer))))
+         ;; Force the TODO keywords of the original buffer
+         (let ((org-todo-line-regexp tr-org-todo-line-regexp)
+               (org-todo-keywords-1 tr-org-todo-keywords-1)
+               (org-todo-kwd-alist tr-org-todo-kwd-alist)
+               (org-done-keywords tr-org-done-keywords)
+               (org-todo-regexp tr-org-todo-regexp)
+               (org-todo-line-regexp tr-org-todo-line-regexp)
+               (org-odd-levels-only
+                (if (local-variable-p 'org-odd-levels-only (current-buffer))
+                    org-odd-levels-only
+                  tr-org-odd-levels-only)))
+           (goto-char (point-min))
+           (show-all)
+           (if heading
+               (progn
+                 (if (re-search-forward
+                      (concat "^" (regexp-quote heading)
+                              (org-re "[ \t]*\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*\\($\\|\r\\)"))
+                      nil t)
+                     (goto-char (match-end 0))
+                   ;; Heading not found, just insert it at the end
+                   (goto-char (point-max))
+                   (or (bolp) (insert "\n"))
+                   (insert "\n" heading "\n")
+                   (end-of-line 0))
+                 ;; Make the subtree visible
+                 (show-subtree)
+                 (if org-archive-reversed-order
+                     (progn
+                       (org-back-to-heading t)
+                       (outline-next-heading))
+                   (org-end-of-subtree t))
+                 (skip-chars-backward " \t\r\n")
+                 (and (looking-at "[ \t\r\n]*")
+                      (replace-match "\n\n")))
+             ;; No specific heading, just go to end of file.
+             (goto-char (point-max)) (insert "\n"))
+           ;; Paste
+           (org-paste-subtree (org-get-valid-level level (and heading 1)))
+           ;; Shall we append inherited tags?
+           (and itags
+                (or (and (eq org-archive-subtree-add-inherited-tags 'infile)
+                         infile-p)
+                    (eq org-archive-subtree-add-inherited-tags t))
+                (org-set-tags-to atags))
+           ;; Mark the entry as done
+           (when (and org-archive-mark-done
+                      (looking-at org-todo-line-regexp)
+                      (or (not (match-end 2))
+                          (not (member (match-string 2) org-done-keywords))))
+             (let (org-log-done org-todo-log-states)
+               (org-todo
+                (car (or (member org-archive-mark-done org-done-keywords)
+                         org-done-keywords)))))
+
+           ;; Add the context info
+           (when org-archive-save-context-info
+             (let ((l org-archive-save-context-info) e n v)
+               (while (setq e (pop l))
+                 (when (and (setq v (symbol-value e))
+                            (stringp v) (string-match "\\S-" v))
+                   (setq n (concat "ARCHIVE_" (upcase (symbol-name e))))
+                   (org-entry-put (point) n v)))))
+
+           ;; Save and kill the buffer, if it is not the same buffer.
+           (when (not (eq this-buffer buffer))
+             (save-buffer))))
+       ;; Here we are back in the original buffer.  Everything seems to have
+       ;; worked.  So now cut the tree and finish up.
+       (let (this-command) (org-cut-subtree))
+       (when (featurep 'org-inlinetask)
+         (org-inlinetask-remove-END-maybe))
+       (setq org-markers-to-move nil)
+       (message "Subtree archived %s"
+                (if (eq this-buffer buffer)
+                    (concat "under heading: " heading)
+                  (concat "in file: " (abbreviate-file-name afile))))))
+    (org-reveal)
+    (if (looking-at "^[ \t]*$")
+       (outline-next-visible-heading 1))))
 
 (defun org-archive-to-archive-sibling ()
   "Archive the current heading by moving it under the archive sibling.
@@ -350,69 +357,83 @@ The archive sibling is a sibling of the heading with the heading name
 `org-archive-sibling-heading' and an `org-archive-tag' tag.  If this
 sibling does not exist, it will be created at the end of the subtree."
   (interactive)
-  (save-restriction
-    (widen)
-    (let (b e pos leader level)
-      (org-back-to-heading t)
-      (looking-at outline-regexp)
-      (setq leader (match-string 0)
-           level (funcall outline-level))
-      (setq pos (point))
-      (condition-case nil
-         (outline-up-heading 1 t)
-       (error (setq e (point-max)) (goto-char (point-min))))
-      (setq b (point))
-      (unless e
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (when (eq org-loop-over-headlines-in-active-region 'start-level)
+                 'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        '(progn (setq org-map-continue-from
+                      (progn (org-back-to-heading)
+                             (if (looking-at (concat "^.*:" org-archive-tag ":.*$"))
+                                 (org-end-of-subtree t)
+                               (point))))
+                (when (org-at-heading-p)
+                  (org-archive-to-archive-sibling)))
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (save-restriction
+      (widen)
+      (let (b e pos leader level)
+       (org-back-to-heading t)
+       (looking-at org-outline-regexp)
+       (setq leader (match-string 0)
+             level (funcall outline-level))
+       (setq pos (point))
        (condition-case nil
-           (org-end-of-subtree t t)
-         (error (goto-char (point-max))))
-       (setq e (point)))
-      (goto-char b)
-      (unless (re-search-forward
-              (concat "^" (regexp-quote leader)
-                      "[ \t]*"
-                      org-archive-sibling-heading
-                      "[ \t]*:"
-                      org-archive-tag ":") e t)
-       (goto-char e)
-       (or (bolp) (newline))
-       (insert leader org-archive-sibling-heading "\n")
-       (beginning-of-line 0)
-       (org-toggle-tag org-archive-tag 'on))
-      (beginning-of-line 1)
-      (if org-archive-reversed-order
-         (outline-next-heading)
-       (org-end-of-subtree t t))
-      (save-excursion
-       (goto-char pos)
-       (let ((this-command this-command)) (org-cut-subtree)))
-      (org-paste-subtree (org-get-valid-level level 1))
-      (org-set-property
-       "ARCHIVE_TIME"
-       (format-time-string
-       (substring (cdr org-time-stamp-formats) 1 -1)
-       (current-time)))
-      (outline-up-heading 1 t)
-      (hide-subtree)
-      (org-cycle-show-empty-lines 'folded)
-      (goto-char pos)))
-  (org-reveal)
-  (if (looking-at "^[ \t]*$")
-      (outline-next-visible-heading 1)))
+           (outline-up-heading 1 t)
+         (error (setq e (point-max)) (goto-char (point-min))))
+       (setq b (point))
+       (unless e
+         (condition-case nil
+             (org-end-of-subtree t t)
+           (error (goto-char (point-max))))
+         (setq e (point)))
+       (goto-char b)
+       (unless (re-search-forward
+                (concat "^" (regexp-quote leader)
+                        "[ \t]*"
+                        org-archive-sibling-heading
+                        "[ \t]*:"
+                        org-archive-tag ":") e t)
+         (goto-char e)
+         (or (bolp) (newline))
+         (insert leader org-archive-sibling-heading "\n")
+         (beginning-of-line 0)
+         (org-toggle-tag org-archive-tag 'on))
+       (beginning-of-line 1)
+       (if org-archive-reversed-order
+           (outline-next-heading)
+         (org-end-of-subtree t t))
+       (save-excursion
+         (goto-char pos)
+         (let ((this-command this-command)) (org-cut-subtree)))
+       (org-paste-subtree (org-get-valid-level level 1))
+       (org-set-property
+        "ARCHIVE_TIME"
+        (format-time-string
+         (substring (cdr org-time-stamp-formats) 1 -1)
+         (current-time)))
+       (outline-up-heading 1 t)
+       (hide-subtree)
+       (org-cycle-show-empty-lines 'folded)
+       (goto-char pos)))
+    (org-reveal)
+    (if (looking-at "^[ \t]*$")
+       (outline-next-visible-heading 1))))
 
 (defun org-archive-all-done (&optional tag)
   "Archive sublevels of the current tree without open TODO items.
 If the cursor is not on a headline, try all level 1 trees.  If
 it is on a headline, try all direct children.
 When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag."
-  (let ((re (concat org-outline-regexp-bol "+" org-not-done-regexp)) re1
+  (let ((re org-not-done-heading-regexp) re1
        (rea (concat ".*:" org-archive-tag ":"))
        (begm (make-marker))
        (endm (make-marker))
        (question (if tag "Set ARCHIVE tag (no open TODO items)? "
                    "Move subtree to archive (no open TODO items)? "))
        beg end (cntarch 0))
-    (if (org-on-heading-p)
+    (if (org-at-heading-p)
        (progn
          (setq re1 (concat "^" (regexp-quote
                                 (make-string
@@ -449,20 +470,36 @@ When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag."
 With prefix ARG, check all children of current headline and offer tagging
 the children that do not contain any open TODO items."
   (interactive "P")
-  (if find-done
-      (org-archive-all-done 'tag)
-    (let (set)
-      (save-excursion
-       (org-back-to-heading t)
-       (setq set (org-toggle-tag org-archive-tag))
-       (when set (hide-subtree)))
-      (and set (beginning-of-line 1))
-      (message "Subtree %s" (if set "archived" "unarchived")))))
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
+                   'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        `(org-toggle-archive-tag ,find-done)
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (if find-done
+       (org-archive-all-done 'tag)
+      (let (set)
+       (save-excursion
+         (org-back-to-heading t)
+         (setq set (org-toggle-tag org-archive-tag))
+         (when set (hide-subtree)))
+       (and set (beginning-of-line 1))
+       (message "Subtree %s" (if set "archived" "unarchived"))))))
 
 (defun org-archive-set-tag ()
   "Set the ARCHIVE tag."
   (interactive)
-  (org-toggle-tag org-archive-tag 'on))
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
+                   'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        'org-archive-set-tag
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (org-toggle-tag org-archive-tag 'on)))
 
 ;;;###autoload
 (defun org-archive-subtree-default ()
@@ -482,6 +519,4 @@ This command is set with the variable `org-archive-default-command'."
 
 (provide 'org-archive)
 
-
-
 ;;; org-archive.el ends here
index d6a4e30714be6072b3853ba32a6bcdef501367bd..90f39fd3d8da5437652dd37b213fa781137314f0 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-ascii.el --- ASCII export for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -109,7 +108,7 @@ utf8      Use all UTF-8 characters")
 (defun org-export-as-utf8 (&rest args)
   "Like `org-export-as-ascii', use encoding for special symbols."
   (interactive)
-  (org-export-as-encoding 'org-export-as-ascii 
+  (org-export-as-encoding 'org-export-as-ascii
                          (org-called-interactively-p 'any)
                          'utf8 args))
 
@@ -145,7 +144,7 @@ command to convert it."
   (interactive "r")
   (let (reg ascii buf pop-up-frames)
     (save-window-excursion
-      (if (org-mode-p)
+      (if (eq major-mode 'org-mode)
          (setq ascii (org-export-region-as-ascii
                      beg end t 'string))
        (setq reg (buffer-substring beg end)
@@ -284,7 +283,7 @@ publishing directory."
                    "UNTITLED"))
         (email (plist-get opt-plist :email))
         (language (plist-get opt-plist :language))
-        (quote-re0 (concat "^[ \t]*" org-quote-string "\\>"))
+        (quote-re0 (concat "^\\(" org-quote-string "\\)\\( +\\|[ \t]*$\\)"))
         (todo nil)
         (lang-words nil)
         (region
@@ -407,7 +406,7 @@ publishing directory."
                                   txt))
                             (setq txt (replace-match "" t t txt)))
                         (if (string-match quote-re0 txt)
-                            (setq txt (replace-match "" t t txt)))
+                            (setq txt (replace-match "" t t txt 1)))
 
                         (if org-export-with-section-numbers
                             (setq txt (concat (org-section-number level)
@@ -725,5 +724,4 @@ publishing directory."
 
 (provide 'org-ascii)
 
-
 ;;; org-ascii.el ends here
index aa8c476e89b0d487d672081a4cca08f66cafd938..6f7476c6ba9bbd2962614275ced1e56eb5e0e9a5 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-attach.el --- Manage file attachments to org-mode tasks
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@newartisans.com>
 ;; Keywords: org data task
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 ;;
@@ -437,5 +436,4 @@ prefix."
 
 (provide 'org-attach)
 
-
 ;;; org-attach.el ends here
index 8401196c81aad72989c7fd330ecbf9cf4ace0af7..3df4c2044e962af0e454926e26747880d983cd46 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-bbdb.el --- Support for links to BBDB entries from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>,
 ;;         Thomas Baumann <thomas dot baumann at ch dot tum dot de>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
           (&optional dont-check-disk already-in-db-buffer))
 (declare-function bbdb-split "ext:bbdb" (string separators))
 (declare-function bbdb-string-trim "ext:bbdb" (string))
+(declare-function bbdb-record-get-field "ext:bbdb"
+                 (fn file &optional arglist fileonly))
+;; These two functions below are part of BBDB3:
+(declare-function bbdb-search-name "ext:bbdb" (regexp &optional layout))
+(declare-function bbdb-search-organization "ext:bbdb" (regexp &optional layout))
 
 (declare-function calendar-leap-year-p "calendar" (year))
 (declare-function diary-ordinal-suffix "diary-lib" (n))
 
 (defvar date)   ;; dynamically scoped from Org
+(defvar name)   ;; dynamically scoped from Org
+
+;; Support for version 2.35
+(defvar org-bbdb-old (fboundp 'bbdb-record-get-field-internal))
 
 ;; Customization
 
@@ -196,8 +204,11 @@ date year)."
   "Store a link to a BBDB database entry."
   (when (eq major-mode 'bbdb-mode)
     ;; This is BBDB, we make this link!
-    (let* ((name (bbdb-record-name (bbdb-current-record)))
-          (company (bbdb-record-getprop (bbdb-current-record) 'company))
+    (let* ((rec (bbdb-current-record))
+           (name (bbdb-record-name rec))
+          (company (if org-bbdb-old
+                        (bbdb-record-getprop rec 'company)
+                      (car (bbdb-record-get-field rec 'organization))))
           (link (org-make-link "bbdb:" name)))
       (org-store-link-props :type "bbdb" :name name :company company
                            :link link :description name)
@@ -219,24 +230,49 @@ italicized, in all other cases it is left unchanged."
   (require 'bbdb)
   (let ((inhibit-redisplay (not debug-on-error))
        (bbdb-electric-p nil))
-    (catch 'exit
-      ;; Exact match on name
-      (bbdb-name (concat "\\`" name "\\'") nil)
-      (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
-      ;; Exact match on name
-      (bbdb-company (concat "\\`" name "\\'") nil)
-      (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
-      ;; Partial match on name
-      (bbdb-name name nil)
-      (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
-      ;; Partial match on company
-      (bbdb-company name nil)
-      (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
-      ;; General match including network address and notes
-      (bbdb name nil)
-      (when (= 0 (buffer-size (get-buffer "*BBDB*")))
-       (delete-window (get-buffer-window "*BBDB*"))
-       (error "No matching BBDB record")))))
+    (if org-bbdb-old
+        (org-bbdb-open-old)
+      (org-bbdb-open-new))))
+
+(defun org-bbdb-open-old ()
+  (catch 'exit
+    ;; Exact match on name
+    (bbdb-name (concat "\\`" name "\\'") nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; Exact match on name
+    (bbdb-company (concat "\\`" name "\\'") nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; Partial match on name
+    (bbdb-name name nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; Partial match on company
+    (bbdb-company name nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; General match including network address and notes
+    (bbdb name nil)
+    (when (= 0 (buffer-size (get-buffer "*BBDB*")))
+      (delete-window (get-buffer-window "*BBDB*"))
+      (error "No matching BBDB record"))))
+
+(defun org-bbdb-open-new ()
+  (catch 'exit
+    ;; Exact match on name
+    (bbdb-search-name (concat "\\`" name "\\'") nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; Exact match on name
+    (bbdb-search-organization (concat "\\`" name "\\'") nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; Partial match on name
+    (bbdb-search-name name nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; Partial match on company
+    (bbdb-search-organization name nil)
+    (if (< 0 (buffer-size (get-buffer "*BBDB*"))) (throw 'exit nil))
+    ;; General match including network address and notes
+    (bbdb name nil)
+    (when (= 0 (buffer-size (get-buffer "*BBDB*")))
+      (delete-window (get-buffer-window "*BBDB*"))
+      (error "No matching BBDB record"))))
 
 (defun org-bbdb-anniv-extract-date (time-str)
   "Convert YYYY-MM-DD to (month date year).
@@ -357,7 +393,7 @@ This is used by Org to re-create the anniversary hash table."
          (bbdb-record-name (car (bbdb-completing-read-record "Name: ")))))
 
 (defun org-bbdb-anniv-export-ical ()
-  "Extract anniversaries from BBDB and convert them to iCalendar format."
+  "Extract anniversaries from BBDB and convert them to icalendar format."
   (require 'bbdb)
   (require 'diary-lib)
   (unless (hash-table-p org-bbdb-anniv-hash)
@@ -391,6 +427,4 @@ END:VEVENT\n"
 
 (provide 'org-bbdb)
 
-
-
 ;;; org-bbdb.el ends here
index d5f9beea337df2fa1330be6979e1baedce903bdc..0a402ed4038f126649b5a210de0f0f1104db2b4c 100644 (file)
@@ -1,8 +1,7 @@
 ;;; org-beamer.el --- Beamer-specific LaTeX export for org-mode
 ;;
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 ;;
-;; Version: 7.7
 ;; Author: Carsten Dominik <carsten.dominik AT gmail DOT com>
 ;; Maintainer: Carsten Dominik <carsten.dominik AT gmail DOT com>
 ;; Keywords: org, wp, tex
@@ -400,7 +399,7 @@ the value will be inserted right after the documentclass statement."
       (insert org-beamer-header-extra)
       (or (bolp) (insert "\n"))))))
 
-(defcustom org-beamer-fragile-re "^[ \t]*\\\\begin{\\(verbatim\\|lstlisting\\|minted\\)}"
+(defcustom org-beamer-fragile-re "\\\\\\(verb\\|lstinline\\)\\|^[ \t]*\\\\begin{\\(verbatim\\|lstlisting\\|minted\\)}"
   "If this regexp matches in a frame, the frame is marked as fragile."
   :group 'org-beamer
   :type 'regexp)
@@ -411,7 +410,7 @@ the value will be inserted right after the documentclass statement."
 
 
 ;; Functions to initialize and post-process
-;; These functions will be hooked into various places in the export process
+;; These fuctions will be hooked into various places in the export process
 
 (defun org-beamer-initialize-open-trackers ()
   "Reset variables that track if certain environments are open during export."
@@ -451,7 +450,7 @@ The effect is that these values will be accessible during export."
      ((stringp org-beamer-frame-level-now)
       (setq org-beamer-frame-level-now
            (string-to-number org-beamer-frame-level-now))))
-    ;; Find the header additions, most likely theme commands
+    ;; Find the header additons, most likely theme commands
     (setq org-beamer-header-extra
          (or (and (org-region-active-p)
                   (save-excursion
@@ -632,6 +631,4 @@ include square brackets."
 
 (provide 'org-beamer)
 
-
-
 ;;; org-beamer.el ends here
index 3607458a410bce8a33ba12ca0b3d098f493bde3d..17cdbc27f29f3a94a75688fe346b34f863b0aa86 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-bibtex.el --- Org links to BibTeX entries
 ;;
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Bastien Guerry <bzg at altern dot org>
 ;;         Carsten Dominik <carsten dot dominik at gmail dot com>
 ;;         Eric Schulte <schulte dot eric at gmail dot com>
 ;; Keywords: org, wp, remember
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
     (:pages        . "One or more page numbers or range of numbers, such as 42-111 or 7,41,73-97 or 43+ (the ‘+’ in this last example indicates pages following that don’t form simple range). BibTEX requires double dashes for page ranges (--).")
     (:publisher    . "The publisher’s name.")
     (:school       . "The name of the school where a thesis was written.")
-    (:series       . "The name of a series or set of books. When citing an entire book, the title field gives its title and an optional series field gives the name of a series or multi-volume set in which the book is published.")
+    (:series       . "The name of a series or set of books. When citing an entire book, the the title field gives its title and an optional series field gives the name of a series or multi-volume set in which the book is published.")
     (:title        . "The work’s title, typed as explained in the LaTeX book.")
     (:type         . "The type of a technical report for example, 'Research Note'.")
     (:volume       . "The volume of a journal or multi-volume book.")
 
 (defcustom org-bibtex-prefix nil
   "Optional prefix for all bibtex property names.
-For example setting to 'BIB_' would allow interoperability with Fireforg."
+For example setting to 'BIB_' would allow interoperability with fireforg."
   :group 'org-bibtex
   :type  'string)
 
@@ -275,12 +274,20 @@ This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
   :group 'org-bibtex
   :type '(repeat :tag "Tag" (string)))
 
+(defcustom org-bibtex-type-property-name "btype"
+  "Property in which to store bibtex entry type (e.g., article)."
+  :group 'org-bibtex
+  :type 'string)
+
 \f
 ;;; Utility functions
 (defun org-bibtex-get (property)
   ((lambda (it) (when it (org-babel-trim it)))
-   (or (org-entry-get (point) (upcase property))
-       (org-entry-get (point) (concat org-bibtex-prefix (upcase property))))))
+   (let ((org-special-properties
+         (delete "FILE" (copy-sequence org-special-properties))))
+     (or
+      (org-entry-get (point) (upcase property))
+      (org-entry-get (point) (concat org-bibtex-prefix (upcase property)))))))
 
 (defun org-bibtex-put (property value)
   (let ((prop (upcase (if (keywordp property)
@@ -303,7 +310,7 @@ This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
                                    lsts))))
     (let ((notes (buffer-string))
           (id (org-bibtex-get org-bibtex-key-property))
-          (type (org-bibtex-get "type"))
+          (type (org-bibtex-get org-bibtex-type-property-name))
          (tags (when org-bibtex-tags-are-keywords
                  (delq nil
                        (mapcar
@@ -317,16 +324,20 @@ This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
         (let ((entry (format
                       "@%s{%s,\n%s\n}\n" type id
                       (mapconcat
-                       (lambda (pair) (format "  %s={%s}" (car pair) (cdr pair)))
+                       (lambda (pair)
+                        (format "  %s={%s}" (car pair) (cdr pair)))
                        (remove nil
                         (if (and org-bibtex-export-arbitrary-fields
                                  org-bibtex-prefix)
                             (mapcar
                              (lambda (kv)
                                (let ((key (car kv)) (val (cdr kv)))
-                                 (when (and (string-match org-bibtex-prefix key)
-                                            (not (string=
-                                                  (downcase (concat org-bibtex-prefix "TYPE")) (downcase key))))
+                                 (when (and
+                                        (string-match org-bibtex-prefix key)
+                                        (not (string=
+                                              (downcase (concat org-bibtex-prefix
+                                                                org-bibtex-type-property-name))
+                                              (downcase key))))
                                    (cons (downcase (replace-regexp-in-string
                                                     org-bibtex-prefix "" key))
                                          val))))
@@ -514,9 +525,20 @@ Headlines are exported using `org-bibtex-export-headline'."
          "Bibtex file: " nil nil nil
          (file-name-nondirectory
           (concat (file-name-sans-extension (buffer-file-name)) ".bib")))))
-  (let ((bibtex-entries (remove nil (org-map-entries #'org-bibtex-headline))))
-    (with-temp-file filename
-      (insert (mapconcat #'identity bibtex-entries "\n")))))
+  ((lambda (error-point)
+     (when error-point
+       (goto-char error-point)
+       (message "Bibtex error at %S" (nth 4 (org-heading-components)))))
+   (catch 'bib
+     (let ((bibtex-entries (remove nil (org-map-entries
+                                       (lambda ()
+                                         (condition-case foo
+                                             (org-bibtex-headline)
+                                           (error (throw 'bib (point)))))))))
+       (with-temp-file filename
+        (insert (mapconcat #'identity bibtex-entries "\n")))
+       (message "Successfully exported %d bibtex entries to %s"
+               (length bibtex-entries) filename) nil))))
 
 (defun org-bibtex-check (&optional optional)
   "Check the current headline for required fields.
@@ -525,7 +547,7 @@ With prefix argument OPTIONAL also prompt for optional fields."
   (save-restriction
     (org-narrow-to-subtree)
     (let ((type ((lambda (name) (when name (intern (concat ":" name))))
-                 (org-bibtex-get "TYPE"))))
+                 (org-bibtex-get org-bibtex-type-property-name))))
       (when type (org-bibtex-fleshout type optional)))))
 
 (defun org-bibtex-check-all (&optional optional)
@@ -542,7 +564,8 @@ If nonew is t, add data to the headline of the entry at point."
                "Type: " (mapcar (lambda (type)
                                   (substring (symbol-name (car type)) 1))
                                 org-bibtex-types)
-               nil nil (when nonew (org-bibtex-get "TYPE"))))
+               nil nil (when nonew
+                         (org-bibtex-get org-bibtex-type-property-name))))
         (type (if (keywordp type) type (intern (concat ":" type))))
         (org-bibtex-treat-headline-as-title (if nonew nil t)))
     (unless (assoc type org-bibtex-types)
@@ -553,7 +576,8 @@ If nonew is t, add data to the headline of the entry at point."
       (let ((title (org-bibtex-ask :title)))
        (insert title)
        (org-bibtex-put "TITLE" title)))
-    (org-bibtex-put "TYPE" (substring (symbol-name type) 1))
+    (org-bibtex-put org-bibtex-type-property-name
+                   (substring (symbol-name type) 1))
     (org-bibtex-fleshout type arg)
     (mapc (lambda (tag) (org-toggle-tag tag 'on)) org-bibtex-tags)))
 
@@ -598,7 +622,7 @@ This uses `bibtex-parse-entry'."
       (org-insert-heading)
       (insert (val :title))
       (org-bibtex-put "TITLE" (val :title))
-      (org-bibtex-put "TYPE"  (downcase (val :type)))
+      (org-bibtex-put org-bibtex-type-property-name (downcase (val :type)))
       (dolist (pair entry)
         (case (car pair)
           (:title    nil)
@@ -637,11 +661,10 @@ This function relies `org-search-view' to locate results."
   (let ((org-agenda-overriding-header "Bib search results:")
         (org-agenda-search-view-always-boolean t))
     (org-search-view nil
-                    (format "%s +{:%sTYPE:}"
-                            string org-bibtex-prefix))))
+                    (format "%s +{:%s%s:}"
+                            string org-bibtex-prefix
+                            org-bibtex-type-property-name))))
 
 (provide 'org-bibtex)
 
-
-
 ;;; org-bibtex.el ends here
index e3a87b77b5cb5bc638bbc1272d11ac7287108772..46202f8adea630a98b949763fd06302f03873d33 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-capture.el --- Fast note taking in Org-mode
 
-;; Copyright (C) 2010-201 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -57,6 +56,8 @@
                  (date &optional keep-restriction))
 (declare-function org-table-get-specials "org-table" ())
 (declare-function org-table-goto-line "org-table" (N))
+(declare-function org-pop-to-buffer-same-window "org-compat"
+                 (&optional buffer-or-name norecord label))
 
 (defvar org-remember-default-headline)
 (defvar org-remember-templates)
@@ -332,7 +333,8 @@ calendar                |  %:type %:date"
 
 (defcustom org-capture-before-finalize-hook nil
   "Hook that is run right before a capture process is finalized.
-The capture buffer is still current when this hook runs."
+The capture buffer is still current when this hook runs and it is
+widened to the entire buffer."
   :group 'org-capture
   :type 'hook)
 
@@ -372,7 +374,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 property in `org-capture-plist'.
+  "Is PROP a preperty 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."
@@ -484,7 +486,7 @@ bypassed."
             (error "Capture template `%s': %s"
                    (org-capture-get :key)
                    (nth 1 error))))
-         (if (and (org-mode-p)
+         (if (and (eq major-mode 'org-mode)
                   (org-capture-get :clock-in))
              (condition-case nil
                  (progn
@@ -574,7 +576,7 @@ captured item after finalizing."
          (org-capture-empty-lines-after
           (or (org-capture-get :empty-lines 'local) 0))))
       ;; Postprocessing:  Update Statistics cookies, do the sorting
-      (when (org-mode-p)
+      (when (eq major-mode 'org-mode)
        (save-excursion
          (when (ignore-errors (org-back-to-heading))
            (org-update-parent-todo-statistics)
@@ -722,7 +724,7 @@ already gone.  Any prefix argument will be passed to the refile command."
        (widen)
        (let ((hd (nth 2 target)))
          (goto-char (point-min))
-         (unless (org-mode-p)
+         (unless (eq major-mode 'org-mode)
            (error
             "Target buffer \"%s\" for file+headline should be in Org mode"
             (current-buffer)))
@@ -754,7 +756,7 @@ already gone.  Any prefix argument will be passed to the refile command."
              (goto-char (if (org-capture-get :prepend)
                             (match-beginning 0) (match-end 0)))
              (org-capture-put :exact-position (point))
-             (setq target-entry-p (and (org-mode-p) (org-at-heading-p))))
+             (setq target-entry-p (and (eq major-mode 'org-mode) (org-at-heading-p))))
          (error "No match for target regexp in file %s" (nth 1 target))))
 
        ((memq (car target) '(file+datetree file+datetree+prompt))
@@ -776,7 +778,8 @@ already gone.  Any prefix argument will be passed to the refile command."
            (let ((prompt-time (org-read-date
                                nil t nil "Date for tree entry:"
                                (current-time))))
-             (org-capture-put :prompt-time prompt-time)
+             (org-capture-put :prompt-time prompt-time
+                              :default-time prompt-time)
              (time-to-days prompt-time)))
           (t
            ;; current date, possible corrected for late night workers
@@ -788,12 +791,12 @@ already gone.  Any prefix argument will be passed to the refile command."
        (widen)
        (funcall (nth 2 target))
        (org-capture-put :exact-position (point))
-       (setq target-entry-p (and (org-mode-p) (org-at-heading-p))))
+       (setq target-entry-p (and (eq major-mode 'org-mode) (org-at-heading-p))))
 
        ((eq (car target) 'function)
        (funcall (nth 1 target))
        (org-capture-put :exact-position (point))
-       (setq target-entry-p (and (org-mode-p) (org-at-heading-p))))
+       (setq target-entry-p (and (eq major-mode 'org-mode) (org-at-heading-p))))
 
        ((eq (car target) 'clock)
        (if (and (markerp org-clock-hd-marker)
@@ -847,6 +850,7 @@ it.  When it is a variable, retrieve the value.  Return whatever we get."
   (goto-char (org-capture-get :pos))
   (org-set-local 'org-capture-target-marker
                 (move-marker (make-marker) (point)))
+  (org-set-local 'outline-level 'org-outline-level)
   (let* ((template (org-capture-get :template))
         (type (org-capture-get :type)))
     (case type
@@ -1146,11 +1150,11 @@ Point will remain at the first line after the inserted text."
     (or (bolp) (newline))
     (setq beg (point))
     (cond
-     ((and (eq type 'entry) (org-mode-p))
+     ((and (eq type 'entry) (eq major-mode 'org-mode))
       (org-capture-verify-tree (org-capture-get :template))
       (org-paste-subtree nil template t))
      ((and (memq type '(item checkitem))
-          (org-mode-p)
+          (eq major-mode 'org-mode)
           (save-excursion (skip-chars-backward " \t\n")
                           (setq pp (point))
                           (org-in-item-p)))
@@ -1199,7 +1203,7 @@ The user is queried for the template."
       (error "No capture template selected"))
     (org-capture-set-plist entry)
     (org-capture-set-target-location)
-    (switch-to-buffer (org-capture-get :buffer))
+    (org-pop-to-buffer-same-window (org-capture-get :buffer))
     (goto-char (org-capture-get :pos))))
 
 (defun org-capture-get-indirect-buffer (&optional buffer prefix)
@@ -1212,8 +1216,10 @@ Use PREFIX as a prefix for the name of the indirect buffer."
       (setq bname (concat prefix "-" (number-to-string (incf n)) "-" base)))
     (condition-case nil
         (make-indirect-buffer buffer bname 'clone)
-      (error (make-indirect-buffer buffer bname)))))
-
+      (error
+       (let ((buf (make-indirect-buffer buffer bname)))
+        (with-current-buffer buf (org-mode))
+        buf)))))
 
 (defun org-capture-verify-tree (tree)
   "Throw error if TREE is not a valid tree"
@@ -1309,7 +1315,7 @@ The template may still contain \"%?\" for cursor positioning."
            (sit-for 1))
     (save-window-excursion
       (delete-other-windows)
-      (switch-to-buffer (get-buffer-create "*Capture*"))
+      (org-pop-to-buffer-same-window (get-buffer-create "*Capture*"))
       (erase-buffer)
       (insert template)
       (goto-char (point-min))
@@ -1411,7 +1417,7 @@ The template may still contain \"%?\" for cursor positioning."
                (or (equal (char-before) ?:) (insert ":"))
                (insert ins)
                (or (equal (char-after) ?:) (insert ":"))
-               (and (org-on-heading-p) (org-set-tags nil 'align)))))
+               (and (org-at-heading-p) (org-set-tags nil 'align)))))
           ((equal char "C")
            (cond ((= (length clipboards) 1) (insert (car clipboards)))
                  ((> (length clipboards) 1)
@@ -1449,7 +1455,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 template and kill the temporary buffer
+      ;; Return the expanded tempate and kill the temporary buffer
       (untabify (point-min) (point-max))
       (set-buffer-modified-p nil)
       (prog1 (buffer-string) (kill-buffer (current-buffer))))))
@@ -1503,6 +1509,4 @@ The template may still contain \"%?\" for cursor positioning."
 
 (provide 'org-capture)
 
-
-
 ;;; org-capture.el ends here
index 09b646d40ba84e44c0fd47959bb56d996d4c49e8..2784707e452635fa044346a6ca0fa3b8578ffaea 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-clock.el --- The time clocking code for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -36,6 +35,7 @@
 
 (declare-function calendar-absolute-from-iso "cal-iso" (&optional date))
 (declare-function notifications-notify "notifications" (&rest params))
+(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
 (defvar org-time-stamp-formats)
 (defvar org-ts-what)
 
@@ -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 canceling the current clock.")
+  "Hook run when cancelling 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 canceled a clock; this is when leftover time started.")
+  "If non-nil, user cancelled a clock; this is when leftover time started.")
 
 (defvar org-clock-effort ""
   "Effort estimate of the currently clocking task.")
@@ -658,7 +658,7 @@ Use alsa's aplay tool if available."
 
 (defun org-program-exists (program-name)
   "Checks whenever we can locate program and launch it."
-  (if (eq system-type 'gnu/linux)
+  (if (member system-type '(gnu/linux darwin))
       (= 0 (call-process "which" nil nil nil program-name))))
 
 (defvar org-clock-mode-line-entry nil
@@ -691,7 +691,7 @@ Use alsa's aplay tool if available."
         (goto-char (car ,clock))
         (beginning-of-line)
         ,@forms))))
-
+(def-edebug-spec org-with-clock-position (form body))
 (put 'org-with-clock-position 'lisp-indent-function 1)
 
 (defmacro org-with-clock (clock &rest forms)
@@ -707,7 +707,7 @@ This macro also protects the current active clock from being altered."
                                  (outline-back-to-heading t)
                                  (point-marker))))
        ,@forms)))
-
+(def-edebug-spec org-with-clock (form body))
 (put 'org-with-clock 'lisp-indent-function 1)
 
 (defsubst org-clock-clock-in (clock &optional resume start-time)
@@ -1066,7 +1066,7 @@ the clocking selection, associated with the letter `d'."
 
       ;; Clock in at which position?
       (setq target-pos
-           (if (and (eobp) (not (org-on-heading-p)))
+           (if (and (eobp) (not (org-at-heading-p)))
                (point-at-bol 0)
              (point)))
       (run-hooks 'org-clock-in-prepare-hook)
@@ -1115,9 +1115,9 @@ the clocking selection, associated with the letter `d'."
            (cond
             ((and org-clock-in-resume
                   (looking-at
-                   (concat "^[ \t]* " org-clock-string
+                   (concat "^[ \t]*" org-clock-string
                            " \\[\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}"
-                           " +\\sw+\.? +[012][0-9]:[0-5][0-9]\\)\\][ \t]*$")))
+                           " *\\sw+\.? +[012][0-9]:[0-5][0-9]\\)\\][ \t]*$")))
              (message "Matched %s" (match-string 1))
              (setq ts (concat "[" (match-string 1) "]"))
              (goto-char (match-end 1))
@@ -1247,9 +1247,9 @@ line and position cursor in that line."
       (goto-char beg)
       (when (and find-unclosed
                 (re-search-forward
-                 (concat "^[ \t]* " org-clock-string
+                 (concat "^[ \t]*" org-clock-string
                          " \\[\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}"
-                         " +\\sw+ +[012][0-9]:[0-5][0-9]\\)\\][ \t]*$")
+                         " *\\sw+ +[012][0-9]:[0-5][0-9]\\)\\][ \t]*$")
                  end t))
        (beginning-of-line 1)
        (throw 'exit t))
@@ -1261,7 +1261,7 @@ line and position cursor in that line."
            (and (re-search-forward org-property-end-re nil t)
                 (goto-char (match-beginning 0))))
        (throw 'exit t))
-      ;; Let's count the CLOCK lines
+      ;; Lets count the CLOCK lines
       (goto-char beg)
       (while (re-search-forward re end t)
        (setq first (or first (match-beginning 0))
@@ -1497,7 +1497,7 @@ With prefix arg SELECT, offer recently clocked tasks for selection."
              (setq recent t)
              (car org-clock-history))
             (t (error "No active or recent clock task")))))
-    (switch-to-buffer (marker-buffer m))
+    (org-pop-to-buffer-same-window (marker-buffer m))
     (if (or (< m (point-min)) (> m (point-max))) (widen))
     (goto-char m)
     (org-show-entry)
@@ -1696,7 +1696,9 @@ from the `before-change-functions' in the current buffer."
   "Clock out if the current entry contains the running clock.
 This is used to stop the clock after a TODO entry is marked DONE,
 and is only done if the variable `org-clock-out-when-done' is not nil."
-  (when (and org-clock-out-when-done
+  (when (and (org-clocking-p)
+            org-clock-out-when-done
+            (marker-buffer org-clock-marker)
             (or (and (eq t org-clock-out-when-done)
                      (member state org-done-keywords))
                 (and (listp org-clock-out-when-done)
@@ -1998,7 +2000,8 @@ the currently selected interval size."
                         (encode-time 0 0 0 (+ d n) m y))))
           ((and wp (string-match "w\\|W" wp) mw (> (length wp) 0))
            (require 'cal-iso)
-           (setq date (calendar-gregorian-from-absolute (calendar-absolute-from-iso (list (+ mw n) 1 y))))
+           (setq date (calendar-gregorian-from-absolute
+                      (calendar-absolute-from-iso (list (+ mw n) 1 y))))
            (setq ins (format-time-string
                       "%G-W%V"
                       (encode-time 0 0 0 (nth 1 date) (car date) (nth 2 date)))))
@@ -2014,7 +2017,8 @@ the currently selected interval size."
                (setq mw 5
                      y (- y 1))
              ())
-           (setq date (calendar-gregorian-from-absolute (calendar-absolute-from-iso (org-quarter-to-date (+ mw n) y))))
+           (setq date (calendar-gregorian-from-absolute
+                      (calendar-absolute-from-iso (org-quarter-to-date (+ mw n) y))))
            (setq ins (format-time-string
                       (concatenate 'string (number-to-string y) "-Q" (number-to-string (+ mw n)))
                       (encode-time 0 0 0 (nth 1 date) (car date) (nth 2 date)))))
@@ -2050,7 +2054,6 @@ the currently selected interval size."
                          'org-clocktable-write-default))
           cc range-text ipos pos one-file-with-archives
           scope-is-list tbls level)
-
       ;; Check if we need to do steps
       (when block
        ;; Get the range text for the header
@@ -2125,7 +2128,7 @@ the currently selected interval size."
   "Write out a clock table at position IPOS in the current buffer.
 TABLES is a list of tables with clocking data as produced by
 `org-clock-get-table-data'.  PARAMS is the parameter property list obtained
-from the dynamic block definition."
+from the dynamic block defintion."
   ;; This function looks quite complicated, mainly because there are a
   ;; lot of options which can add or remove columns.  I have massively
   ;; commented this function, the I hope it is understandable.  If
@@ -2638,6 +2641,4 @@ The details of what will be saved are regulated by the variable
 
 (provide 'org-clock)
 
-
-
 ;;; org-clock.el ends here
index 0f6fc0bed6a3ba66cf0b0b95158335d1f94e6df8..04d2b626f91b2d2dff0cf5f91252dc999c575bf0 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-colview.el --- Column View in Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -187,7 +186,7 @@ This is the compiled version of the format.")
                    (cons "ITEM"
                          ;; When in a buffer, get the whole line,
                          ;; we'll clean it later…
-                         (if (org-mode-p)
+                         (if (eq major-mode 'org-mode)
                              (save-match-data
                                (org-no-properties
                                 (org-remove-tabs
@@ -209,9 +208,9 @@ This is the compiled version of the format.")
                          (funcall org-columns-modify-value-for-display-function
                                   title val))
                         ((equal property "ITEM")
-                         (if (org-mode-p)
-                             (org-columns-cleanup-item
-                              val org-columns-current-fmt-compiled)))
+                         (org-columns-cleanup-item
+                          val org-columns-current-fmt-compiled
+                          (or org-complex-heading-regexp cphr)))
                         ((and calc (functionp calc)
                               (not (string= val ""))
                               (not (get-text-property 0 'org-computed val)))
@@ -341,24 +340,28 @@ for the duration of the command.")
       (when (local-variable-p 'org-colview-initial-truncate-line-value)
        (setq truncate-lines org-colview-initial-truncate-line-value)))))
 
-(defun org-columns-cleanup-item (item fmt)
-  "Remove from ITEM what is a column in the format FMT."
-  (if (not org-complex-heading-regexp)
-      item
-    (when (string-match org-complex-heading-regexp item)
-      (setq item
-           (concat
-            (org-add-props (match-string 1 item) nil
-              'org-whitespace (* 2 (1- (org-reduced-level (- (match-end 1) (match-beginning 1))))))
-            (and (match-end 2) (not (assoc "TODO" fmt)) (concat " " (match-string 2 item)))
-            (and (match-end 3) (not (assoc "PRIORITY" fmt)) (concat " " (match-string 3 item)))
-            " " (save-match-data (org-columns-compact-links (match-string 4 item)))
-            (and (match-end 5) (not (assoc "TAGS" fmt)) (concat " " (match-string 5 item)))))
-      (add-text-properties
-       0 (1+ (match-end 1))
-       (list 'org-whitespace (* 2 (1- (org-reduced-level (- (match-end 1) (match-beginning 1))))))
-       item)
-      item)))
+(defun org-columns-cleanup-item (item fmt cphr)
+  "Remove from ITEM what is a column in the format FMT.
+CPHR is the complex heading regexp to use for parsing ITEM."
+  (let (fixitem)
+    (if (not cphr)
+       item
+      (unless (string-match "^\*+ " item)
+       (setq item (concat "* " item) fixitem t))
+      (if (string-match cphr item)
+         (setq item
+               (concat
+                (org-add-props (match-string 1 item) nil
+                  'org-whitespace (* 2 (1- (org-reduced-level (- (match-end 1) (match-beginning 1))))))
+                (and (match-end 2) (not (assoc "TODO" fmt)) (concat " " (match-string 2 item)))
+                (and (match-end 3) (not (assoc "PRIORITY" fmt)) (concat " " (match-string 3 item)))
+                " " (save-match-data (org-columns-compact-links (match-string 4 item)))
+                (and (match-end 5) (not (assoc "TAGS" fmt)) (concat " " (match-string 5 item)))))
+       (add-text-properties
+        0 (1+ (match-end 1))
+        (list 'org-whitespace (* 2 (1- (org-reduced-level (- (match-end 1) (match-beginning 1))))))
+        item))
+      (if fixitem (replace-regexp-in-string "^\*+ " "" item) item))))
 
 (defun org-columns-compact-links (s)
   "Replace [[link][desc]] with [desc] or [link]."
@@ -494,7 +497,7 @@ Where possible, use the standard interface for changing this line."
                (org-columns-eval eval))
            (org-columns-display-here)))
        (org-move-to-column col)
-       (if (and (org-mode-p)
+       (if (and (eq major-mode 'org-mode)
                 (nth 3 (assoc key org-columns-current-fmt-compiled)))
            (org-columns-update key)))))))
 
@@ -544,7 +547,7 @@ Where possible, use the standard interface for changing this line."
       (beginning-of-line 1)
       ;; `next-line' is needed here, because it skips invisible line.
       (condition-case nil (org-no-warnings (next-line 1)) (error nil))
-      (setq hidep (org-on-heading-p 1)))
+      (setq hidep (org-at-heading-p 1)))
     (eval form)
     (and hidep (hide-entry))))
 
@@ -872,7 +875,7 @@ display, or in the #+COLUMNS line of the current buffer."
              (replace-match (concat "#+COLUMNS: " fmt) t t))
            (unless (> cnt 0)
              (goto-char (point-min))
-             (or (org-on-heading-p t) (outline-next-heading))
+             (or (org-at-heading-p t) (outline-next-heading))
              (let ((inhibit-read-only t))
                (insert-before-markers "#+COLUMNS: " fmt "\n")))
            (org-set-local 'org-columns-default-format fmt))))))
@@ -1000,7 +1003,7 @@ Don't set this, this is meant for dynamic scoping.")
       (if (marker-position org-columns-begin-marker)
          (goto-char org-columns-begin-marker))
       (org-columns-remove-overlays)
-      (if (org-mode-p)
+      (if (eq major-mode 'org-mode)
          (call-interactively 'org-columns)
        (org-agenda-redo)
        (call-interactively 'org-agenda-columns)))
@@ -1139,6 +1142,8 @@ calc         function to get values from base elements"
 
 ;;; Dynamic block for Column view
 
+(defvar org-heading-regexp) ; defined in org.el
+(defvar org-heading-keyword-regexp-format) ; defined in org.el
 (defun org-columns-capture-view (&optional maxlevel skip-empty-rows)
   "Get the column view of the current buffer or subtree.
 The first optional argument MAXLEVEL sets the level limit.  A
@@ -1149,11 +1154,12 @@ containing the title row and all other rows.  Each row is a list
 of fields."
   (save-excursion
     (let* ((title (mapcar 'cadr org-columns-current-fmt-compiled))
-          (re-comment (concat "\\*+[ \t]+" org-comment-string "\\>"))
+          (re-comment (format org-heading-keyword-regexp-format
+                              org-comment-string))
           (re-archive (concat ".*:" org-archive-tag ":"))
           (n (length title)) row tbl)
       (goto-char (point-min))
-      (while (re-search-forward "^\\(\\*+\\) " nil t)
+      (while (re-search-forward org-heading-regexp nil t)
        (catch 'next
          (when (and (or (null maxlevel)
                         (>= maxlevel
@@ -1525,6 +1531,4 @@ The string should be two numbers joined with a \"-\"."
 
 (provide 'org-colview)
 
-
-
 ;;; org-colview.el ends here
index 5e4935caa7e1e36d153ada1bd1553f602bdfbf70..425e8d816c7a17909c475a93e469d01be1e69928 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-compat.el --- Compatibility code for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -252,8 +251,12 @@ Works on both Emacs and XEmacs."
   (defun org-activate-mark ()
     (when (mark t)
       (setq mark-active t)
-      (unless transient-mark-mode
-       (setq transient-mark-mode 'lambda)))))
+      (when (and (boundp 'transient-mark-mode)
+                (not transient-mark-mode))
+       (setq transient-mark-mode 'lambda))
+      (when (boundp 'zmacs-regions)
+       (setq zmacs-regions t)))))
+
 
 ;; Invisibility compatibility
 
@@ -272,7 +275,7 @@ Works on both Emacs and XEmacs."
     nil))
 
 (defmacro org-xemacs-without-invisibility (&rest body)
-  "Turn off extents with invisibility while executing BODY."
+  "Turn off exents with invisibility while executing BODY."
   `(let ((ext-inv (extent-list nil (point-at-bol) (point-at-eol)
                               'all-extents-closed-open 'invisible))
         ext-inv-specs)
@@ -285,6 +288,7 @@ Works on both Emacs and XEmacs."
      (dolist (ext-inv-spec ext-inv-specs)
        (set-extent-property (car ext-inv-spec) 'invisible
                            (cadr ext-inv-spec)))))
+(def-edebug-spec org-xemacs-without-invisibility (body))
 
 (defun org-indent-to-column (column &optional minimum buffer)
   "Work around a bug with extents with invisibility in XEmacs."
@@ -432,8 +436,15 @@ With two arguments, return floor and remainder of their quotient."
   (let ((q (floor x y)))
     (list q (- x (if y (* y q) q)))))
 
-(provide 'org-compat)
-
+;; `pop-to-buffer-same-window' has been introduced with Emacs 24.1.
+(defun org-pop-to-buffer-same-window
+  (&optional buffer-or-name norecord label)
+  "Pop to buffer specified by BUFFER-OR-NAME in the selected window."
+  (if (fboundp 'pop-to-buffer-same-window)
+      (funcall
+       'pop-to-buffer-same-window buffer-or-name norecord)
+    (funcall 'switch-to-buffer buffer-or-name norecord)))
 
+(provide 'org-compat)
 
 ;;; org-compat.el ends here
index b260391a0dab3c66d4857b45a4e31263f3a8ddfe..a128b0460385be79a0035b4139a6d41e50b9b438 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-crypt.el --- Public key encryption for org-mode entries
 
-;; Copyright (C) 2007, 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009-2012  Free Software Foundation, Inc.
 
 ;; Emacs Lisp Archive Entry
 ;; Filename: org-crypt.el
-;; Version: 7.7
 ;; Keywords: org-mode
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Maintainer: Peter Jones <pjones@pmade.com>
 
 (defgroup org-crypt nil
   "Org Crypt"
-  :tag "Org Crypt" 
+  :tag "Org Crypt"
   :group 'org)
 
 (defcustom org-crypt-tag-matcher "crypt"
   "The tag matcher used to find headings whose contents should be encrypted.
 
 See the \"Match syntax\" section of the org manual for more details."
-  :type 'string 
+  :type 'string
   :group 'org-crypt)
 
 (defcustom org-crypt-key ""
   "The default key to use when encrypting the contents of a heading.
 
 This setting can also be overridden in the CRYPTKEY property."
-  :type 'string 
+  :type 'string
   :group 'org-crypt)
 
 (defcustom org-crypt-disable-auto-save 'ask
@@ -117,6 +116,35 @@ nil      : Leave auto-save-mode enabled.
                  (const :tag "Ask"     ask)
                  (const :tag "Encrypt" encrypt)))
 
+(defun org-crypt-check-auto-save ()
+  "Check whether auto-save-mode is enabled for the current buffer.
+
+`auto-save-mode' may cause leakage when decrypting entries, so
+check whether it's enabled, and decide what to do about it.
+
+See `org-crypt-disable-auto-save'."
+  (when buffer-auto-save-file-name
+    (cond
+     ((or
+       (eq org-crypt-disable-auto-save t)
+       (and
+       (eq org-crypt-disable-auto-save 'ask)
+       (y-or-n-p "org-decrypt: auto-save-mode may cause leakage. Disable it for current buffer? ")))
+      (message (concat "org-decrypt: Disabling auto-save-mode for " (or (buffer-file-name) (current-buffer))))
+      ; The argument to auto-save-mode has to be "-1", since
+      ; giving a "nil" argument toggles instead of disabling.
+      (auto-save-mode -1))
+     ((eq org-crypt-disable-auto-save nil)
+      (message "org-decrypt: Decrypting entry with auto-save-mode enabled. This may cause leakage."))
+     ((eq org-crypt-disable-auto-save 'encrypt)
+      (message "org-decrypt: Enabling re-encryption on auto-save.")
+      (add-hook 'auto-save-hook
+               (lambda ()
+                 (message "org-crypt: Re-encrypting all decrypted entries due to auto-save.")
+                 (org-encrypt-entries))
+               nil t))
+     (t nil))))
+
 (defun org-crypt-key-for-heading ()
   "Return the encryption key for the current heading."
   (save-excursion
@@ -165,30 +193,6 @@ nil      : Leave auto-save-mode enabled.
 (defun org-decrypt-entry ()
   "Decrypt the content of the current headline."
   (interactive)
-
-  ; auto-save-mode may cause leakage, so check whether it's enabled.
-  (when buffer-auto-save-file-name
-    (cond
-     ((or
-       (eq org-crypt-disable-auto-save t)
-       (and
-        (eq org-crypt-disable-auto-save 'ask)
-        (y-or-n-p "org-decrypt: auto-save-mode may cause leakage. Disable it for current buffer? ")))
-      (message (concat "org-decrypt: Disabling auto-save-mode for " (or (buffer-file-name) (current-buffer))))
-      ; The argument to auto-save-mode has to be "-1", since
-      ; giving a "nil" argument toggles instead of disabling.
-      (auto-save-mode -1))
-     ((eq org-crypt-disable-auto-save nil)
-      (message "org-decrypt: Decrypting entry with auto-save-mode enabled. This may cause leakage."))
-     ((eq org-crypt-disable-auto-save 'encrypt)
-      (message "org-decrypt: Enabling re-encryption on auto-save.")
-      (add-hook 'auto-save-hook
-                (lambda ()
-                  (message "org-crypt: Re-encrypting all decrypted entries due to auto-save.")
-                  (org-encrypt-entries))
-                nil t))
-     (t nil)))
-
   (require 'epg)
   (unless (org-before-first-heading-p)
     (save-excursion
@@ -200,6 +204,7 @@ nil      : Leave auto-save-mode enabled.
               (outline-invisible-p))))
        (forward-line)
        (when (looking-at "-----BEGIN PGP MESSAGE-----")
+         (org-crypt-check-auto-save)
          (let* ((end (save-excursion
                        (search-forward "-----END PGP MESSAGE-----")
                        (forward-line)
@@ -252,6 +257,4 @@ nil      : Leave auto-save-mode enabled.
 
 (provide 'org-crypt)
 
-
-
 ;;; org-crypt.el ends here
index d567b9290561624cd38abcdef54b72890f92376b..7cbd299782f3e0a7cfe1e686747231f9058b0ccc 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-ctags.el - Integrate Emacs "tags" facility with org mode.
 ;;
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Paul Sexton <eeeickythump@gmail.com>
-;; Version: 7.7
+
 
 ;; Keywords: org, wp
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -36,7 +35,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
-;; recognized by ctags (source code files, latex files, etc) will also be
+;; recognised 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
 ;; with the same name as the link; then, if unsuccessful, ask the user if
 ;; he/she wants to rebuild the 'TAGS' database and try again; then ask if
 ;; the user wishes to append 'tag' as a new toplevel heading at the end of
-;; the buffer; and finally, defer to org's default behavior which is to
+;; the buffer; and finally, defer to org's default behaviour which is to
 ;; search the entire text of the current buffer for 'tag'.
 ;;
-;; This behavior can be modified by changing the value of
+;; This behaviour can be modified by changing the value of
 ;; ORG-CTAGS-OPEN-LINK-FUNCTIONS. For example I have the following in my
-;; .emacs, which describes the same behavior as the above paragraph with
+;; .emacs, which describes the same behaviour as the above paragraph with
 ;; one difference:
 ;;
 ;; (setq org-ctags-open-link-functions
 ;;       '(org-ctags-find-tag
 ;;         org-ctags-ask-rebuild-tags-file-then-find-tag
 ;;         org-ctags-ask-append-topic
-;;         org-ctags-fail-silently))  ; <-- prevents org default behavior
+;;         org-ctags-fail-silently))  ; <-- prevents org default behaviour
 ;;
 ;;
 ;; Usage
 
 (require 'org)
 
+(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
+
 (defgroup org-ctags nil
   "Options concerning use of ctags within org mode."
   :tag "Org-Ctags"
@@ -305,7 +306,7 @@ The new topic will be titled NAME (or TITLE if supplied)."
                            activate compile)
   "Before trying to find a tag, save our current position on org mark ring."
   (save-excursion
-    (if (and (org-mode-p) org-ctags-enabled-p)
+    (if (and (eq major-mode 'org-mode) org-ctags-enabled-p)
         (org-mark-ring-push))))
 
 
@@ -385,7 +386,7 @@ the new file."
     (cond
      ((get-buffer (concat name ".org"))
       ;; Buffer is already open
-      (switch-to-buffer (get-buffer (concat name ".org"))))
+      (org-pop-to-buffer-same-window (get-buffer (concat name ".org"))))
      ((file-exists-p filename)
       ;; File exists but is not open --> open it
       (message "Opening existing org file `%S'..."
@@ -537,5 +538,4 @@ a new topic."
 
 (provide 'org-ctags)
 
-
 ;;; org-ctags.el ends here
index f02f37898236e35e3644b50a72aa28b774ca8b4b..3042be782c9f60efdb26592d7f5f37a6705a6fd8 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-datetree.el --- Create date entries in a tree
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -195,6 +194,4 @@ before running this command, even though the command tries to be smart."
 
 (provide 'org-datetree)
 
-
-
 ;;; org-datetree.el ends here
index f964a93fa1ca6e187fa507a2b2f50388f4dac61b..499ab5da7d9eec254086429edd435802c3a28d92 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-docbook.el --- DocBook exporter for org-mode
 ;;
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 ;;
 ;; Emacs Lisp Archive Entry
 ;; Filename: org-docbook.el
-;; Version: 7.7
 ;; Author: Baoqiu Cui <cbaoqiu AT yahoo DOT com>
 ;; Maintainer: Baoqiu Cui <cbaoqiu AT yahoo DOT com>
 ;; Keywords: org, wp, docbook
@@ -294,7 +293,7 @@ then use this command to convert it."
   (interactive "r")
   (let (reg docbook buf)
     (save-window-excursion
-      (if (org-mode-p)
+      (if (eq major-mode 'org-mode)
          (setq docbook (org-export-region-as-docbook
                         beg end t 'string))
        (setq reg (buffer-substring beg end)
@@ -394,6 +393,8 @@ in a window.  A non-interactive call will only return the buffer."
        (org-open-file pdffile)
       (error "PDF file was not produced"))))
 
+(defvar org-heading-keyword-regexp-format) ; defined in org.el
+
 ;;;###autoload
 (defun org-export-as-docbook (&optional hidden ext-plist
                                        to-buffer body-only pub-dir)
@@ -475,9 +476,11 @@ publishing directory."
         (current-dir (if buffer-file-name
                          (file-name-directory buffer-file-name)
                        default-directory))
+        (auto-insert nil); Avoid any auto-insert stuff for the new file
         (buffer (if to-buffer
                     (cond
-                     ((eq to-buffer 'string) (get-buffer-create "*Org DocBook Export*"))
+                     ((eq to-buffer 'string)
+                      (get-buffer-create "*Org DocBook Export*"))
                      (t (get-buffer-create to-buffer)))
                   (find-file-noselect filename)))
         ;; org-levels-open is a global variable
@@ -499,8 +502,9 @@ publishing directory."
         ;; We will use HTML table formatter to export tables to DocBook
         ;; format, so need to set html-table-tag here.
         (html-table-tag (plist-get opt-plist :html-table-tag))
-        (quote-re0   (concat "^[ \t]*" org-quote-string "\\>"))
-        (quote-re    (concat "^\\(\\*+\\)\\([ \t]+" org-quote-string "\\>\\)"))
+        (quote-re0   (concat "^ *" org-quote-string "\\( +\\|[ \t]*$\\)"))
+        (quote-re    (format org-heading-keyword-regexp-format
+                             org-quote-string))
         (inquote     nil)
         (infixed     nil)
         (inverse     nil)
@@ -970,7 +974,7 @@ publishing directory."
                    (push (cons num 1) footref-seen))))))
 
          (cond
-          ((string-match "^\\(\\*+\\)[ \t]+\\(.*\\)" line)
+          ((string-match "^\\(\\*+\\)\\(?: +\\(.*?\\)\\)?[ \t]*$" line)
            ;; This is a headline
            (setq level (org-tr-level (- (match-end 1) (match-beginning 1)
                                         level-offset))
@@ -1445,5 +1449,4 @@ the alist of previous items."
 
 (provide 'org-docbook)
 
-
 ;;; org-docbook.el ends here
index 201567251d7c7c36fde5715656c72eee442b453b..cb490137155eb0ba52918c962259e5832d4ec84f 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-docview.el --- support for links to doc-view-mode buffers
 
-;; Copyright (C) 2009-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Jan Böcker <jan.boecker at jboecker dot de>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -88,6 +87,4 @@ and append it."
 
 (provide 'org-docview)
 
-
-
 ;;; org-docview.el ends here
index 1e7fd627a17fd9e18155470d453ab3bca081b5c3..fe3c52892a192600400f7a2e4f7f7513b8cb1bed 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-entities.el --- Support for special entities in Org-mode
 
-;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>,
 ;;         Ulf Stegemann <ulf at zeitform dot de>
 ;; Keywords: outlines, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -568,6 +567,4 @@ Kind can be any of `latex', `html', `ascii', `latin1', or `utf8'."
 ;; coding: utf-8
 ;; End:
 
-
-
 ;;; org-entities.el ends here
diff --git a/lisp/org/org-eshell.el b/lisp/org/org-eshell.el
new file mode 100644 (file)
index 0000000..16b19e2
--- /dev/null
@@ -0,0 +1,66 @@
+;;; org-eshell.el - Support for links to working directories in eshell
+
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
+
+;; Author: Konrad Hinsen <konrad.hinsen AT fastmail.net>
+;; Version: 0.1
+
+;; 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 'org)
+(require 'eshell)
+(require 'esh-mode)
+
+(org-add-link-type "eshell" 'org-eshell-open)
+(add-hook 'org-store-link-functions 'org-eshell-store-link)
+
+(defun org-eshell-open (link)
+  "Switch to am eshell buffer and execute a command line.
+   The link can be just a command line (executed in the default
+   eshell buffer) or a command line prefixed by a buffer name
+   followed by a colon."
+  (let* ((buffer-and-command
+          (if (string-match "\\([A-Za-z0-9-+*]+\\):\\(.*\\)" link)
+            (list (match-string 1 link)
+                  (match-string 2 link))
+            (list eshell-buffer-name link)))
+         (eshell-buffer-name (car buffer-and-command))
+         (command (cadr buffer-and-command)))
+     (if (get-buffer eshell-buffer-name)
+       (org-pop-to-buffer-same-window eshell-buffer-name)
+       (eshell))
+     (goto-char (point-max))
+     (eshell-kill-input)
+     (insert command)
+     (eshell-send-input)))
+
+(defun org-eshell-store-link ()
+  "Store a link that, when opened, switches back to the current eshell buffer
+   and the current working directory."
+  (when (eq major-mode 'eshell-mode)
+    (let* ((command (concat "cd " dired-directory))
+           (link  (concat (buffer-name) ":" command)))
+      (org-store-link-props
+       :link (org-make-link "eshell:" link)
+       :description command))))
+
+(provide 'org-eshell)
+
+;;; org-eshell.el ends here
index 398da3859d054e65a9b809b9a51e0f258852e435..e5ff5c59eec21d450f3e555d3944f3fd29afb073 100644 (file)
@@ -1,9 +1,8 @@
 ;;; org-exp-blocks.el --- pre-process blocks when exporting org files
 
-;; Copyright (C) 2009-201 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric Schulte
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 ;;
@@ -176,10 +175,10 @@ which defaults to the value of `org-export-blocks-witheld'."
        (setq start (point))
        (let ((beg-re "^\\([ \t]*\\)#\\+begin_\\(\\S-+\\)[ \t]*\\(.*\\)?[\r\n]"))
          (while (re-search-forward beg-re nil t)
-           (let* ((match-start (match-beginning 0))
-                  (body-start (match-end 0))
+           (let* ((match-start (copy-marker (match-beginning 0)))
+                  (body-start (copy-marker (match-end 0)))
                   (indentation (length (match-string 1)))
-                  (inner-re (format "[\r\n]*[ \t]*#\\+\\(begin\\|end\\)_%s"
+                  (inner-re (format "^[ \t]*#\\+\\(begin\\|end\\)_%s"
                                     (regexp-quote (downcase (match-string 2)))))
                   (type (intern (downcase (match-string 2))))
                   (headers (save-match-data
@@ -196,7 +195,7 @@ which defaults to the value of `org-export-blocks-witheld'."
              (when (not (zerop balanced))
                (error "unbalanced begin/end_%s blocks with %S"
                       type (buffer-substring match-start (point))))
-             (setq match-end (match-end 0))
+             (setq match-end (copy-marker (match-end 0)))
              (unless preserve-indent
                (setq body (save-match-data (org-remove-indentation
                                             (buffer-substring
@@ -211,7 +210,11 @@ which defaults to the value of `org-export-blocks-witheld'."
                    (delete-region match-start match-end)
                    (goto-char match-start) (insert replacement)
                    (unless preserve-indent
-                     (indent-code-rigidly match-start (point) indentation))))))
+                     (indent-code-rigidly match-start (point) indentation)))))
+             ;; cleanup markers
+             (set-marker match-start nil)
+             (set-marker body-start nil)
+             (set-marker match-end nil))
            (setq start (point))))
        (interblock start (point-max))
        (run-hooks 'org-export-blocks-postblock-hook)))))
@@ -376,5 +379,4 @@ other backends, it converts the comment into an EXAMPLE segment."
 
 (provide 'org-exp-blocks)
 
-
 ;;; org-exp-blocks.el ends here
index 35a51649452ab9ef6d95601608bfff99cb440b40..49da40f5f4fefc6ca243a320a8cd6a52f0e5c390 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-exp.el --- ASCII, HTML, XOXO and iCalendar export for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 (declare-function org-inlinetask-remove-END-maybe "org-inlinetask" ())
 (declare-function org-table-cookie-line-p "org-table" (line))
 (declare-function org-table-colgroup-line-p "org-table" (line))
+(declare-function org-pop-to-buffer-same-window "org-compat"
+                 (&optional buffer-or-name norecord label))
 
 (autoload 'org-export-generic "org-export-generic" "Export using the generic exporter" t)
 
 (autoload 'org-export-as-odt "org-odt"
-  "Export the outline to a OpenDocumentText file." t)
+  "Export the outline to a OpenDocument Text file." t)
 (autoload 'org-export-as-odt-and-open "org-odt"
-  "Export the outline to a OpenDocumentText file and open it." t)
+  "Export the outline to a OpenDocument Text file and open it." t)
 
 (defgroup org-export nil
   "Options for exporting org-listings."
@@ -216,6 +217,11 @@ and in `org-clock-clocktable-language-setup'."
   :group 'org-export-general
   :type 'string)
 
+(defcustom org-export-date-timestamp-format "%Y-%m-%d"
+  "Time string format for Org timestamps in the #+DATE option."
+  :group 'org-export-general
+  :type 'string)
+
 (defvar org-export-page-description ""
   "The page description, for the XHTML meta tag.
 This is best set with the #+DESCRIPTION line in a file, it does not make
@@ -725,6 +731,7 @@ must accept the property list as an argument, and must return the (possibly
 modified) list.")
 
 ;; FIXME: should we fold case here?
+
 (defun org-infile-export-plist ()
   "Return the property list with file-local settings for export."
   (save-excursion
@@ -736,13 +743,13 @@ modified) list.")
                  '("TITLE" "AUTHOR" "DATE" "EMAIL" "TEXT" "OPTIONS" "LANGUAGE"
                    "MATHJAX"
                    "LINK_UP" "LINK_HOME" "SETUPFILE" "STYLE"
-                   "LATEX_HEADER" "LATEX_CLASS"
+                   "LATEX_HEADER" "LATEX_CLASS" "LATEX_CLASS_OPTIONS"
                    "EXPORT_SELECT_TAGS" "EXPORT_EXCLUDE_TAGS"
                    "KEYWORDS" "DESCRIPTION" "MACRO" "BIND" "XSLT")
                  (mapcar 'car org-export-inbuffer-options-extra))))
            (case-fold-search t)
            p key val text options mathjax a pr style
-           latex-header latex-class macros letbind
+           latex-header latex-class latex-class-options macros letbind
            ext-setup-or-nil setup-file setup-dir setup-contents (start 0))
        (while (or (and ext-setup-or-nil
                        (string-match re ext-setup-or-nil start)
@@ -758,7 +765,15 @@ modified) list.")
           ((string-equal key "TITLE") (setq p (plist-put p :title val)))
           ((string-equal key "AUTHOR")(setq p (plist-put p :author val)))
           ((string-equal key "EMAIL") (setq p (plist-put p :email val)))
-          ((string-equal key "DATE") (setq p (plist-put p :date val)))
+          ((string-equal key "DATE")
+           ;; If date is an Org timestamp, convert it to a time
+           ;; string using `org-export-date-timestamp-format'
+           (when (string-match org-ts-regexp3 val)
+             (setq val (format-time-string
+                        org-export-date-timestamp-format
+                        (apply 'encode-time (org-parse-time-string
+                                             (match-string 0 val))))))
+           (setq p (plist-put p :date val)))
           ((string-equal key "KEYWORDS") (setq p (plist-put p :keywords val)))
           ((string-equal key "DESCRIPTION")
            (setq p (plist-put p :description val)))
@@ -769,6 +784,8 @@ modified) list.")
            (setq latex-header (concat latex-header "\n" val)))
           ((string-equal key "LATEX_CLASS")
            (setq latex-class val))
+           ((string-equal key "LATEX_CLASS_OPTIONS")
+            (setq latex-class-options val))
           ((string-equal key "TEXT")
            (setq text (if text (concat text "\n" val) val)))
           ((string-equal key "OPTIONS")
@@ -812,6 +829,8 @@ modified) list.")
          (setq p (plist-put p :latex-header-extra (substring latex-header 1))))
        (when latex-class
          (setq p (plist-put p :latex-class latex-class)))
+        (when latex-class-options
+          (setq p (plist-put p :latex-class-options latex-class-options)))
        (when options
          (setq p (org-export-add-options-to-plist p options)))
        (when mathjax
@@ -947,7 +966,7 @@ Pressing `1' will switch between these two options."
 
 \[D] export as DocBook   [V] export as DocBook, process to PDF, and open
 
-\[o] export as OpenDocumentText                    [O] ... and open
+\[o] export as OpenDocument Text                   [O] ... and open
 
 \[j] export as TaskJuggler                         [J] ... and open
 
@@ -1011,6 +1030,7 @@ Pressing `1' will switch between these two options."
                 (message "Export buffer: "))
                ((not subtree-p)
                 (setq subtree-p t)
+                (setq bpos (point))
                 (message "Export subtree: "))))
        (when (eq r1 ?\ )
          (let ((case-fold-search t)
@@ -1027,7 +1047,7 @@ Pressing `1' will switch between these two options."
                  (setq r1 (read-char-exclusive)))
              (error "No enclosing node with LaTeX_CLASS or EXPORT_TITLE or EXPORT_FILE_NAME")
              )))))
-    (redisplay)
+    (if (fboundp 'redisplay) (redisplay)) ;; XEmacs does not have/need (redisplay)
     (and bpos (goto-char bpos))
     (setq r2 (if (< r1 27) (+ r1 96) r1))
     (unless (setq ass (assq r2 cmds))
@@ -1277,6 +1297,9 @@ on this string to produce the exported version."
       ;; Remove #+TBLFM and #+TBLNAME lines
       (org-export-handle-table-metalines)
 
+      ;; Remove #+results and #+name lines
+      (org-export-res/src-name-cleanup)
+
       ;; Run the final hook
       (run-hooks 'org-export-preprocess-final-hook)
 
@@ -1407,7 +1430,7 @@ the current file."
                   (setq found (condition-case nil (org-link-search link)
                                 (error nil)))
                   (when (and found
-                             (or (org-on-heading-p)
+                             (or (org-at-heading-p)
                                  (not (eq found 'dedicated))))
                     (or (get-text-property (point) 'target)
                         (get-text-property
@@ -1438,7 +1461,7 @@ the current file."
 
 (defvar org-export-format-drawer-function nil
   "Function to be called to format the contents of a drawer.
-The function must accept three parameters:
+The function must accept two parameters:
   NAME     the drawer name, like \"PROPERTIES\"
   CONTENT  the content of the drawer.
 You can check the export backend through `org-export-current-backend'.
@@ -1518,7 +1541,7 @@ removed as well."
       (setq beg (point))
       (put-text-property beg (point-max) :org-delete t)
       (while (re-search-forward re-sel nil t)
-       (when (org-on-heading-p)
+       (when (org-at-heading-p)
          (org-back-to-heading)
          (remove-text-properties
           (max (1- (point)) (point-min))
@@ -1588,7 +1611,7 @@ from the buffer."
     (when (not (eq export-archived-trees t))
       (goto-char (point-min))
       (while (re-search-forward re-archive nil t)
-       (if (not (org-on-heading-p t))
+       (if (not (org-at-heading-p t))
            (goto-char (point-at-eol))
          (beginning-of-line 1)
          (setq a (if export-archived-trees
@@ -1634,9 +1657,11 @@ from the buffer."
       (org-if-unprotected
        (replace-match "")))))
 
+(defvar org-heading-keyword-regexp-format) ; defined in org.el
 (defun org-export-protect-quoted-subtrees ()
   "Mark quoted subtrees with the protection property."
-  (let ((org-re-quote (concat "^\\*+[ \t]+" org-quote-string "\\>")))
+  (let ((org-re-quote (format org-heading-keyword-regexp-format
+                             org-quote-string)))
     (goto-char (point-min))
     (while (re-search-forward org-re-quote nil t)
       (goto-char (match-beginning 0))
@@ -1737,8 +1762,14 @@ from the buffer."
                (save-excursion
                  (save-match-data
                    (goto-char beg-content)
-                   (while (re-search-forward "^[ \t]*\\(,\\)" end-content t)
-                     (replace-match "" nil nil nil 1))))
+                   (let ((front-line (save-excursion
+                                       (re-search-forward
+                                        "[^[:space:]]" end-content t)
+                                       (goto-char (match-beginning 0))
+                                       (current-column))))
+                     (while (re-search-forward "^[ \t]*\\(,\\)" end-content t)
+                       (when (= (current-column) front-line)
+                         (replace-match "" nil nil nil 1))))))
                (delete-region (match-beginning 0) (match-end 0))
                (save-excursion
                  (goto-char beg)
@@ -1924,7 +1955,8 @@ table line.  If it is a link, add it to the line containing the link."
 
 (defun org-export-remove-comment-blocks-and-subtrees ()
   "Remove the comment environment, and also commented subtrees."
-  (let ((re-commented (concat "^\\*+[ \t]+" org-comment-string "\\>"))
+  (let ((re-commented (format org-heading-keyword-regexp-format
+                             org-comment-string))
        case-fold-search)
     ;; Remove comment environment
     (goto-char (point-min))
@@ -1977,6 +2009,18 @@ When it is nil, all comments will be removed."
        (replace-match "")
        (goto-char (max (point-min) (1- pos)))))))
 
+(defun org-export-res/src-name-cleanup ()
+  "Clean up #+results and #+name lines for export.
+This function should only be called after all block processing
+has taken place."
+  (interactive)
+  (save-excursion
+    (goto-char (point-min))
+    (let ((case-fold-search t))
+      (while (org-re-search-forward-unprotected
+             "#\\+\\(name\\|results\\(\\[[a-z0-9]+\\]\\)?\\):" nil t)
+       (delete-region (match-beginning 0) (progn (forward-line) (point)))))))
+
 (defun org-export-mark-radio-links ()
   "Find all matches for radio targets and turn them into internal links."
   (let ((re-radio (and org-target-link-regexp
@@ -1994,23 +2038,28 @@ When it is nil, all comments will be removed."
 
 (defun org-store-forced-table-alignment ()
   "Find table lines which force alignment, store the results in properties."
-  (let (line cnt aligns)
+  (let (line cnt cookies)
     (goto-char (point-min))
-    (while (re-search-forward "|[ \t]*<[lrc][0-9]*>[ \t]*|" nil t)
+    (while (re-search-forward "|[ \t]*<\\([lrc]?[0-9]+\\|[lrc]\\)>[ \t]*|"
+                             nil t)
       ;; OK, this looks like a table line with an alignment cookie
       (org-if-unprotected
        (setq line (buffer-substring (point-at-bol) (point-at-eol)))
        (when (and (org-at-table-p)
                  (org-table-cookie-line-p line))
-        (setq cnt 0 aligns nil)
+        (setq cnt 0 cookies nil)
         (mapc
          (lambda (x)
            (setq cnt (1+ cnt))
-           (if (string-match "\\`<\\([lrc]\\)" x)
-               (push (cons cnt (downcase (match-string 1 x))) aligns)))
+           (when (string-match "\\`<\\([lrc]\\)?\\([0-9]+\\)?>\\'" x)
+             (let ((align (and (match-end 1)
+                               (downcase (match-string 1 x))))
+                   (width (and (match-end 2)
+                               (string-to-number (match-string 2 x)))))
+               (push (cons cnt (list align width)) cookies))))
          (org-split-string line "[ \t]*|[ \t]*"))
         (add-text-properties (org-table-begin) (org-table-end)
-                             (list 'org-forced-aligns aligns))))
+                             (list 'org-col-cookies cookies))))
       (goto-char (point-at-eol)))))
 
 (defun org-export-remove-special-table-lines ()
@@ -2048,10 +2097,11 @@ Also, store forced alignment information found in such lines."
        (re-angle-link (concat "\\([^[]\\)" org-angle-link-re))
        nodesc)
     (goto-char (point-min))
+    (while (re-search-forward org-bracket-link-regexp nil t)
+      (put-text-property (match-beginning 0) (match-end 0) 'org-normalized-link t))
+    (goto-char (point-min))
     (while (re-search-forward re-plain-link nil t)
-      (unless (org-string-match-p
-              "\\[\\[\\S-+:\\S-*?\\<"
-              (buffer-substring (point-at-bol) (match-beginning 0)))
+      (unless (get-text-property (match-beginning 0) 'org-normalized-link)
        (goto-char (1- (match-end 0)))
        (org-if-unprotected-at (1+ (match-beginning 0))
          (let* ((s (concat (match-string 1)
@@ -2131,24 +2181,31 @@ can work correctly."
                   (save-excursion (outline-next-heading) (point)))))
        (when (re-search-forward "^[ \t]*[^|# \t\r\n].*\n" end t)
          ;; Mark the line so that it will not be exported as normal text.
-         (org-unmodified
-          (add-text-properties (match-beginning 0) (match-end 0)
-                               (list :org-license-to-kill t)))
+         (unless (org-in-block-p org-list-forbidden-blocks)
+           (org-unmodified
+            (add-text-properties (match-beginning 0) (match-end 0)
+                                 (list :org-license-to-kill t))))
          ;; Return the title string
          (org-trim (match-string 0)))))))
 
 (defun org-export-get-title-from-subtree ()
   "Return subtree title and exclude it from export."
   (let ((rbeg (region-beginning)) (rend (region-end))
-       (inhibit-read-only t) title)
+       (inhibit-read-only t)
+       (tags (plist-get (org-infile-export-plist) :tags))
+       title)
     (save-excursion
       (goto-char rbeg)
       (when (and (org-at-heading-p)
                 (>= (org-end-of-subtree t t) rend))
+       (when (plist-member org-export-opt-plist :tags)
+         (setq tags (or (plist-get org-export-opt-plist :tags) tags)))
        ;; This is a subtree, we take the title from the first heading
        (goto-char rbeg)
-       (looking-at org-todo-line-regexp)
-       (setq title (match-string 3))
+       (looking-at org-todo-line-tags-regexp)
+       (setq title (if (eq tags t)
+                       (format "%s\t%s" (match-string 3) (match-string 4))
+                     (match-string 3)))
        (org-unmodified
         (add-text-properties (point) (1+ (point-at-eol))
                              (list :org-license-to-kill t)))
@@ -2290,7 +2347,7 @@ TYPE must be a string, any of:
                            (plist-get org-export-opt-plist
                                       (intern (concat ":" key)))))
          (save-match-data
-           ;; If arguments are provided, first retreive them properly
+           ;; If arguments are provided, first retrieve them properly
            ;; (in ARGS, as a list), then replace them in VAL.
            (when args
              (setq args (org-split-string args ",") args2 nil)
@@ -2688,11 +2745,11 @@ INDENT was the original indentation of the block."
                       (format "\\begin{%s}\n%s\\end{%s}\n"
                               custom-environment rtn custom-environment))
                      (listings-p
-                      (format "\\begin{%s}\n%s\\end{%s}\n"
+                      (format "\\begin{%s}\n%s\\end{%s}"
                               "lstlisting" rtn "lstlisting"))
                      (minted-p
                       (format
-                       "\\begin{minted}[%s]{%s}\n%s\\end{minted}\n"
+                       "\\begin{minted}[%s]{%s}\n%s\\end{minted}"
                        (mapconcat #'make-option-string
                                   org-export-latex-minted-options ",")
                        backend-lang rtn)))))))
@@ -2717,13 +2774,60 @@ INDENT was the original indentation of the block."
             "\n#+BEGIN_" backend-name "\n"
             (org-add-props rtn
                 '(org-protected t org-example t org-native-text t))
-            "\n#+END_" backend-name "\n\n"))
+            "\n#+END_" backend-name "\n"))
       (org-add-props rtn nil 'original-indentation indent))))
 
 (defun org-export-number-lines (text &optional skip1 skip2 number cont
-                                    replace-labels label-format)
+                                    replace-labels label-format preprocess)
+  "Apply line numbers to literal examples and handle code references.
+Handle user-specified options under info node `(org)Literal
+examples' and return the modified source block.
+
+TEXT contains the source or example block.
+
+SKIP1 and SKIP2 are the number of lines that are to be skipped at
+the beginning and end of TEXT.  Use these to skip over
+backend-specific lines pre-pended or appended to the original
+source block.
+
+NUMBER is non-nil if the literal example specifies \"+n\" or
+\"-n\" switch. If NUMBER is non-nil add line numbers.
+
+CONT is non-nil if the literal example specifies \"+n\" switch.
+If CONT is nil, start numbering this block from 1.  Otherwise
+continue numbering from the last numbered block.
+
+REPLACE-LABELS is dual-purpose.
+1. It controls the retention of labels in the exported block.
+2. It specifies in what manner the links (or references) to a
+   labelled line be formatted.
+
+REPLACE-LABELS is the symbol `keep' if the literal example
+specifies \"-k\" option, is numeric if the literal example
+specifies \"-r\" option and is nil otherwise.
+
+Handle REPLACE-LABELS as below:
+- If nil, retain labels in the exported block and use
+  user-provided labels for referencing the labelled lines.
+- If it is a number, remove labels in the exported block and use
+  one of line numbers or labels for referencing labelled lines based
+  on NUMBER option.
+- If it is a keep, retain labels in the exported block and use
+  one of line numbers or labels for referencing labelled lines
+  based on NUMBER option.
+
+LABEL-FORMAT is the value of \"-l\" switch associated with
+literal example.  See `org-coderef-label-format'.
+
+PREPROCESS is intended for backend-agnostic handling of source
+block numbering.  When non-nil do the following:
+- do not number the lines
+- always strip the labels from exported block
+- do not make the labelled line a target of an incoming link.
+  Instead mark the labelled line with `org-coderef' property and
+  store the label in it."
   (setq skip1 (or skip1 0) skip2 (or skip2 0))
-  (if (not cont) (setq org-export-last-code-line-counter-value 0))
+  (if (and number (not cont)) (setq org-export-last-code-line-counter-value 0))
   (with-temp-buffer
     (insert text)
     (goto-char (point-max))
@@ -2760,9 +2864,10 @@ INDENT was the original indentation of the block."
 
       (org-goto-line (1+ skip1))
       (while (and (re-search-forward "^" nil t) (not (eobp)) (< n nmax))
-       (if number
-           (insert (format fm (incf n)))
-         (forward-char 1))
+       (when number (incf n))
+       (if (or preprocess (not number))
+           (forward-char 1)
+         (insert (format fm n)))
        (when (looking-at lbl-re)
          (setq ref (match-string 3))
          (cond ((numberp replace-labels)
@@ -2775,7 +2880,8 @@ INDENT was the original indentation of the block."
                 ;; lines are numbered, use labels otherwise
                 (goto-char (match-beginning 2))
                 (delete-region (match-beginning 2) (match-end 2))
-                (insert "(" ref ")")
+                (unless preprocess
+                  (insert "(" ref ")"))
                 (push (cons ref (if (> n 0) n (concat "(" ref ")")))
                       org-export-code-refs))
                (t
@@ -2783,15 +2889,19 @@ INDENT was the original indentation of the block."
                 ;; references
                 (goto-char (match-beginning 2))
                 (delete-region (match-beginning 2) (match-end 2))
-                (insert "(" ref ")")
+                (unless preprocess
+                  (insert "(" ref ")"))
                 (push (cons ref (concat "(" ref ")")) org-export-code-refs)))
-         (when (eq org-export-current-backend 'html)
+         (when (and (eq org-export-current-backend 'html) (not preprocess))
            (save-excursion
              (beginning-of-line 1)
              (insert (format "<span id=\"coderef-%s\" class=\"coderef-off\">"
                              ref))
              (end-of-line 1)
-             (insert "</span>")))))
+             (insert "</span>")))
+         (when preprocess
+           (add-text-properties
+            (point-at-bol) (point-at-eol) (list 'org-coderef ref)))))
       (setq org-export-last-code-line-counter-value n)
       (goto-char (point-max))
       (newline)
@@ -2893,17 +3003,6 @@ command."
       (switch-to-buffer-other-window buffer)
       (goto-char (point-min)))))
 
-(defun org-find-visible ()
-  (let ((s (point)))
-    (while (and (not (= (point-max) (setq s (next-overlay-change s))))
-               (get-char-property s 'invisible)))
-    s))
-(defun org-find-invisible ()
-  (let ((s (point)))
-    (while (and (not (= (point-max) (setq s (next-overlay-change s))))
-               (not (get-char-property s 'invisible))))
-    s))
-
 (defvar org-export-htmlized-org-css-url) ;; defined in org-html.el
 
 (defun org-export-string (string fmt &optional dir)
@@ -2922,7 +3021,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 -- mimicking `org-run-like-in-org-mode'
+         (eval ;; convert to fmt -- mimicing `org-run-like-in-org-mode'
           (list 'let org-local-vars
                 (list (intern (format "org-export-as-%s" fmt))
                       nil nil nil ''string t))))
@@ -2972,7 +3071,7 @@ directory."
         (region (buffer-string))
          str-ret)
     (save-excursion
-      (switch-to-buffer buffer)
+      (org-pop-to-buffer-same-window buffer)
       (erase-buffer)
       (insert region)
       (let ((org-inhibit-startup t)) (org-mode))
@@ -3218,7 +3317,7 @@ If yes remove the column and the special lines."
 
 (defun org-export-push-to-kill-ring (format)
   "Push buffer content to kill ring.
-The depends on the variable `org-export-copy-to-kill'."
+The depends on the variable `org-export-copy-to-kill-ring'."
   (when org-export-copy-to-kill-ring
     (org-kill-new (buffer-string))
     (when (fboundp 'x-set-selection)
@@ -3228,6 +3327,4 @@ The depends on the variable `org-export-copy-to-kill'."
 
 (provide 'org-exp)
 
-
-
 ;;; org-exp.el ends here
index af9632eec44f2d74b8cc3f487b2b0b4b3026a9cd..e71ce2322ae3b1e398bae20ec97c77dd9f89bb85 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-faces.el --- Face definitions for Org-mode.
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -673,6 +672,18 @@ month and 365.24 days for a year)."
   "Face for showing the agenda restriction lock."
   :group 'org-faces)
 
+(defface org-agenda-filter-tags
+  (org-compatible-face 'modeline
+    nil)
+  "Face for tag(s) in the mode-line when filtering the agenda."
+  :group 'org-faces)
+
+(defface org-agenda-filter-category
+  (org-compatible-face 'modeline
+    nil)
+  "Face for tag(s) in the mode-line when filtering the agenda."
+  :group 'org-faces)
+
 (defface org-time-grid ;; originally copied from font-lock-variable-name-face
   (org-compatible-face nil
     '((((class color) (min-colors 16) (background light)) (:foreground "DarkGoldenrod"))
@@ -690,6 +701,18 @@ month and 365.24 days for a year)."
   "Face used for agenda entries that come from the Emacs diary."
   :group 'org-faces)
 
+(defface org-agenda-calendar-event
+  (org-compatible-face 'default
+    nil)
+  "Face used to show events and appointments in the agenda."
+  :group 'org-faces)
+
+(defface org-agenda-calendar-sexp
+  (org-compatible-face 'default
+    nil)
+  "Face used to show events computed from a S-expression."
+  :group 'org-faces)
+
 (defconst org-level-faces
   '(org-level-1 org-level-2 org-level-3 org-level-4
     org-level-5 org-level-6 org-level-7 org-level-8
@@ -735,6 +758,4 @@ level org-n-level-faces"
 
 (provide 'org-faces)
 
-
-
 ;;; org-faces.el ends here
index d1b31f11b4adb4cf7463c249d02067d68303e234..f5186aaacf3f399a64cbd8b06028a7aae2e7e5e8 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-feed.el --- Add RSS feed items to Org files
 ;;
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -436,7 +435,7 @@ it can be a list structured like an entry in `org-feed-alist'."
   (if (stringp feed) (setq feed (assoc feed org-feed-alist)))
   (unless feed
     (error "No such feed in `org-feed-alist"))
-  (switch-to-buffer
+  (org-pop-to-buffer-same-window
    (org-feed-update feed 'retrieve-only))
   (goto-char (point-min)))
 
@@ -674,5 +673,4 @@ formatted as a string, not the original XML data."
 
 (provide 'org-feed)
 
-
 ;;; org-feed.el ends here
index 0d47132d2f8707b887f0ec77c1f84c08cd58508c..f9cf59c879cb101edd9a65842188b73c0a192a9b 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-footnote.el --- Footnote support in Org and elsewhere
 ;;
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 (require 'org-macs)
 (require 'org-compat)
 
+(declare-function message-point-in-header-p "message" ())
+(declare-function org-back-over-empty-lines "org" ())
+(declare-function org-back-to-heading "org" (&optional invisible-ok))
 (declare-function org-combine-plists "org" (&rest plists))
+(declare-function org-end-of-subtree "org"  (&optional invisible-ok to-heading))
+(declare-function org-export-preprocess-string "org-exp"
+                 (string &rest parameters))
+(declare-function org-fill-paragraph "org" (&optional justify))
+(declare-function org-icompleting-read "org" (&rest args))
+(declare-function org-id-uuid "org-id" ())
+(declare-function org-in-block-p "org" (names))
 (declare-function org-in-commented-line "org" ())
 (declare-function org-in-indented-comment-line "org" ())
 (declare-function org-in-regexp "org" (re &optional nlines visually))
-(declare-function org-in-block-p "org" (names))
-(declare-function org-mark-ring-push "org" (&optional pos buffer))
-(declare-function outline-next-heading "outline")
-(declare-function org-trim "org" (s))
-(declare-function org-show-context "org" (&optional key))
-(declare-function org-back-to-heading "org" (&optional invisible-ok))
-(declare-function org-end-of-subtree "org"  (&optional invisible-ok to-heading))
 (declare-function org-in-verbatim-emphasis "org" ())
+(declare-function org-inside-LaTeX-fragment-p "org" ())
 (declare-function org-inside-latex-macro-p "org" ())
-(declare-function org-id-uuid "org" ())
-(declare-function org-fill-paragraph "org" (&optional justify))
-(declare-function org-export-preprocess-string "org-exp"
-                 (string &rest parameters))
+(declare-function org-mark-ring-push "org" (&optional pos buffer))
+(declare-function org-show-context "org" (&optional key))
+(declare-function org-trim "org" (s))
+(declare-function outline-next-heading "outline")
 
-(defvar org-outline-regexp-bol) ; defined in org.el
-(defvar org-odd-levels-only) ;; defined in org.el
-(defvar org-bracket-link-regexp) ; defined in org.el
-(defvar message-signature-separator) ;; defined in message.el
+(defvar org-outline-regexp-bol)                ; defined in org.el
+(defvar org-odd-levels-only)           ; defined in org.el
+(defvar org-bracket-link-regexp)       ; defined in org.el
+(defvar message-cite-prefix-regexp)    ; defined in message.el
+(defvar message-signature-separator)   ; defined in message.el
 
 (defconst org-footnote-re
   ;; Only [1]-like footnotes are closed in this regexp, as footnotes
   ;; their definition.
   ;;
   ;; `org-re' is used for regexp compatibility with XEmacs.
-  (org-re (concat "\\[\\(?:"
-                 ;; Match inline footnotes.
-                 "fn:\\([-_[:word:]]+\\)?:\\|"
-                 ;; Match other footnotes.
-                 "\\(?:\\([0-9]+\\)\\]\\)\\|"
-                 "\\(fn:[-_[:word:]]+\\)"
-                 "\\)"))
+  (concat "\\[\\(?:"
+         ;; Match inline footnotes.
+         (org-re "fn:\\([-_[:word:]]+\\)?:\\|")
+         ;; Match other footnotes.
+         "\\(?:\\([0-9]+\\)\\]\\)\\|"
+         (org-re "\\(fn:[-_[:word:]]+\\)")
+         "\\)")
   "Regular expression for matching footnotes.")
 
 (defconst org-footnote-definition-re
-  (org-re "^\\(\\[\\([0-9]+\\|fn:[-_[:word:]]+\\)\\]\\)")
+  (org-re "^\\[\\([0-9]+\\|fn:[-_[:word:]]+\\)\\]")
   "Regular expression matching the definition of a footnote.")
 
 (defvar org-footnote-forbidden-blocks '("example" "verse" "src" "ascii" "beamer"
@@ -106,13 +110,17 @@ heading will be removed after extracting footnote definitions."
 
 (defcustom org-footnote-tag-for-non-org-mode-files "Footnotes:"
   "Tag marking the beginning of footnote section.
-The Org-mode footnote engine can be used in arbitrary text files as well
-as in Org-mode.  Outside Org-mode, new footnotes are always placed at
+The Org footnote engine can be used in arbitrary text files as well
+as in Org-mode.  Outside Org mode, new footnotes are always placed at
 the end of the file.  When you normalize the notes, any line containing
 only this tag will be removed, a new one will be inserted at the end
-of the file, followed by the collected and normalized footnotes."
+of the file, followed by the collected and normalized footnotes.
+
+If you don't want any tag in such buffers, set this variable to nil."
   :group 'org-footnote
-  :type 'string)
+  :type '(choice
+         (string :tag "Collect footnotes under tag")
+         (const :tag "Don't use a tag" nil)))
 
 (defcustom org-footnote-define-inline nil
   "Non-nil means define footnotes inline, at reference location.
@@ -171,8 +179,11 @@ extracted will be filled again."
   (save-match-data
     (not (or (org-in-commented-line)
             (org-in-indented-comment-line)
-            (org-in-verbatim-emphasis)
+            (org-inside-LaTeX-fragment-p)
+            ;; Avoid protected environments (LaTeX export)
+            (get-text-property (point) 'org-protected)
             ;; Avoid literal example.
+            (org-in-verbatim-emphasis)
             (save-excursion
               (beginning-of-line)
               (looking-at "[ \t]*:[ \t]+"))
@@ -194,13 +205,13 @@ positions, and the definition, when inlined."
             (or (looking-at org-footnote-re)
                 (org-in-regexp org-footnote-re)
                 (save-excursion (re-search-backward org-footnote-re nil t)))
-            ;; Only inline footnotes can start at bol.
-            (or (eq (char-before (match-end 0)) 58)
-                (/= (match-beginning 0) (point-at-bol))))
+            (/= (match-beginning 0) (point-at-bol)))
     (let* ((beg (match-beginning 0))
-          (label (or (match-string 2) (match-string 3)
+          (label (or (org-match-string-no-properties 2)
+                     (org-match-string-no-properties 3)
                      ;; Anonymous footnotes don't have labels
-                     (and (match-string 1) (concat "fn:" (match-string 1)))))
+                     (and (match-string 1)
+                          (concat "fn:" (org-match-string-no-properties 1)))))
           ;; Inline footnotes don't end at (match-end 0) as
           ;; `org-footnote-re' stops just after the second colon.
           ;; Find the real ending with `scan-sexps', so Org doesn't
@@ -223,12 +234,12 @@ positions, and the definition, when inlined."
                 ;; optional argument of the command.  Thus, check
                 ;; the `org-protected' property of that command.
                 (or (not (org-inside-latex-macro-p))
-                    (and (get-text-property (1- beg) 'org-protected)
-                         (not (get-text-property beg 'org-protected)))))
+                    (get-text-property (1- beg) 'org-protected)))
        (list label beg end
              ;; Definition: ensure this is an inline footnote first.
              (and (or (not label) (match-string 1))
-                  (org-trim (buffer-substring (match-end 0) (1- end)))))))))
+                  (org-trim (buffer-substring-no-properties
+                             (match-end 0) (1- end)))))))))
 
 (defun org-footnote-at-definition-p ()
   "Is the cursor at a footnote definition?
@@ -239,7 +250,7 @@ footnote text is included and defined locally.
 
 The return value will be nil if not at a footnote definition, and a list with
 label, start, end and definition of the footnote otherwise."
-  (when (org-footnote-in-valid-context-p)
+  (when (save-excursion (beginning-of-line) (org-footnote-in-valid-context-p))
     (save-excursion
       (end-of-line)
       (let ((lim (save-excursion (re-search-backward
@@ -247,7 +258,7 @@ label, start, end and definition of the footnote otherwise."
                                          "\\|^[ \t]*$") nil t))))
        (when (re-search-backward org-footnote-definition-re lim t)
          (end-of-line)
-         (list (match-string 2)
+         (list (org-match-string-no-properties 1)
                (match-beginning 0)
                (save-match-data
                  ;; In a message, limit search to signature.
@@ -257,15 +268,14 @@ label, start, end and definition of the footnote otherwise."
                                      (re-search-backward
                                       message-signature-separator nil t)))))
                    (or (and (re-search-forward
-                             (org-re
-                              (concat "^[ \t]*$" "\\|"
-                                      org-outline-regexp-bol
-                                      "\\|"
-                                      "^\\[\\([0-9]+\\|fn:[-_[:word:]]+\\)\\]"))
+                             (concat org-outline-regexp-bol "\\|"
+                                     org-footnote-definition-re "\\|"
+                                     "^[ \t]*$")
                              bound 'move)
                             (progn (skip-chars-forward " \t\n") (point-at-bol)))
                        (point))))
-               (org-trim (buffer-substring (match-end 0) (point)))))))))
+               (org-trim (buffer-substring-no-properties
+                          (match-end 0) (point)))))))))
 
 (defun org-footnote-get-next-reference (&optional label backward limit)
   "Return complete reference of the next footnote.
@@ -295,10 +305,11 @@ LIMIT is the buffer position bounding the search.
 Return value is a list like those provided by
 `org-footnote-at-reference-p' or `org-footnote-at-definition-p'.
 If no footnote is found, return nil."
-  (let* (ref)
+  (let* (ref (origin (point)))
     (catch 'exit
       (while t
        (unless (re-search-forward org-footnote-re limit t)
+         (goto-char origin)
          (throw 'exit nil))
        ;; Beware: with [1]-like footnotes point will be just after
        ;; the closing square bracket.
@@ -320,19 +331,21 @@ If no footnote is found, return nil."
         (re (format "^\\[%s\\]\\|.\\[%s:" label label))
         pos)
     (save-excursion
-      (when (or (re-search-forward re nil t)
-               (and (goto-char (point-min))
-                    (re-search-forward re nil t))
-               (and (progn (widen) t)
-                    (goto-char (point-min))
-                    (re-search-forward re nil t)))
-       (let ((refp (org-footnote-at-reference-p)))
-         (cond
-          ((and (nth 3 refp) refp))
-          ((org-footnote-at-definition-p))))))))
+      (save-restriction
+       (when (or (re-search-forward re nil t)
+                 (and (goto-char (point-min))
+                      (re-search-forward re nil t))
+                 (and (progn (widen) t)
+                      (goto-char (point-min))
+                      (re-search-forward re nil t)))
+         (let ((refp (org-footnote-at-reference-p)))
+           (cond
+            ((and (nth 3 refp) refp))
+            ((org-footnote-at-definition-p)))))))))
 
 (defun org-footnote-goto-definition (label)
-  "Move point to the definition of the footnote LABEL."
+  "Move point to the definition of the footnote LABEL.
+Return a non-nil value when a definition has been found."
   (interactive "sLabel: ")
   (org-mark-ring-push)
   (let ((def (org-footnote-get-definition label)))
@@ -342,7 +355,9 @@ If no footnote is found, return nil."
       (looking-at (format "\\[%s\\]\\|\\[%s:" label label))
       (goto-char (match-end 0))
       (org-show-context 'link-search)
-      (message "Edit definition and go back with `C-c &' or, if unique, with `C-c C-c'."))))
+      (when (eq major-mode 'org-mode)
+       (message "Edit definition and go back with `C-c &' or, if unique, with `C-c C-c'."))
+      t)))
 
 (defun org-footnote-goto-previous-reference (label)
   "Find the first closest (to point) reference of footnote with label LABEL."
@@ -406,7 +421,12 @@ and value definition."
 
 (defun org-footnote-unique-label (&optional current)
   "Return a new unique footnote label.
-The returns the firsts fn:N labels that is currently not used."
+
+The function returns the first \"fn:N\" or \"N\" label that is
+currently not used.
+
+Optional argument CURRENT is the list of labels active in the
+buffer."
   (unless current (setq current (org-footnote-all-labels)))
   (let ((fmt (if (eq org-footnote-auto-label 'plain) "%d" "fn:%d"))
        (cnt 1))
@@ -414,21 +434,17 @@ The returns the firsts fn:N labels that is currently not used."
       (incf cnt))
     (format fmt cnt)))
 
-(defvar org-footnote-label-history nil
-  "History of footnote labels entered in current buffer.")
-(make-variable-buffer-local 'org-footnote-label-history)
-
 (defun org-footnote-new ()
   "Insert a new footnote.
 This command prompts for a label.  If this is a label referencing an
 existing label, only insert the label.  If the footnote label is empty
 or new, let the user edit the definition of the footnote."
   (interactive)
-  (unless (and (not (bolp)) (org-footnote-in-valid-context-p))
+  (unless (org-footnote-in-valid-context-p)
     (error "Cannot insert a footnote here"))
-  (let* ((labels (and (not (equal org-footnote-auto-label 'random))
-                     (org-footnote-all-labels)))
-        (propose (org-footnote-unique-label labels))
+  (let* ((lbls (and (not (equal org-footnote-auto-label 'random))
+                   (org-footnote-all-labels)))
+        (propose (org-footnote-unique-label lbls))
         (label
          (org-footnote-normalize-label
           (cond
@@ -438,16 +454,16 @@ or new, let the user edit the definition of the footnote."
             (require 'org-id)
             (substring (org-id-uuid) 0 8))
            (t
-            (completing-read
+            (org-icompleting-read
              "Label (leave empty for anonymous): "
-             (mapcar 'list labels) nil nil
-             (if (eq org-footnote-auto-label 'confirm) propose nil)
-             'org-footnote-label-history))))))
+             (mapcar 'list lbls) nil nil
+             (if (eq org-footnote-auto-label 'confirm) propose nil)))))))
     (cond
+     ((bolp) (error "Cannot create a footnote reference at left margin"))
      ((not label)
       (insert "[fn:: ]")
       (backward-char 1))
-     ((member label labels)
+     ((member label lbls)
       (insert "[" label "]")
       (message "New reference to existing note"))
      (org-footnote-define-inline
@@ -459,51 +475,78 @@ or new, let the user edit the definition of the footnote."
       (org-footnote-create-definition label)
       (org-footnote-auto-adjust-maybe)))))
 
+(defvar org-blank-before-new-entry nil) ; silence byte-compiler
 (defun org-footnote-create-definition (label)
   "Start the definition of a footnote with label LABEL."
   (interactive "sLabel: ")
   (let ((label (org-footnote-normalize-label label)))
     (cond
-     ((org-mode-p)
-      ;; No section, put footnote into the current outline node Try to
-      ;; find or make the special node
+     ;; In an Org file.
+     ((eq major-mode 'org-mode)
+      ;; If `org-footnote-section' is defined, find it, or create it
+      ;; at the end of the buffer.
       (when org-footnote-section
        (goto-char (point-min))
        (let ((re (concat "^\\*+[ \t]+" org-footnote-section "[ \t]*$")))
          (unless (or (re-search-forward re nil t)
                      (and (progn (widen) t)
                           (re-search-forward re nil t)))
-         (goto-char (point-max))
-         (insert "\n\n* " org-footnote-section "\n"))))
-      ;; Now go to the end of this entry and insert there.
+           (goto-char (point-max))
+           (skip-chars-backward " \t\r\n")
+           (unless (bolp) (newline))
+           ;; Insert new section.  Separate it from the previous one
+           ;; with a blank line, unless `org-blank-before-new-entry'
+           ;; explicitly says no.
+           (when (and (cdr (assq 'heading org-blank-before-new-entry))
+                      (zerop (save-excursion (org-back-over-empty-lines))))
+             (insert "\n"))
+           (insert "* " org-footnote-section "\n"))))
+      ;; Move to the end of this entry (which may be
+      ;; `org-footnote-section' or the current one).
       (org-footnote-goto-local-insertion-point)
       (org-show-context 'link-search))
      (t
       ;; In a non-Org file.  Search for footnote tag, or create it if
-      ;; necessary (at the end of buffer, or before a signature if in
+      ;; specified (at the end of buffer, or before signature if in
       ;; Message mode).  Set point after any definition already there.
-      (let ((tag (concat "^" org-footnote-tag-for-non-org-mode-files "[ \t]*$"))
-           (max (save-excursion
-                  (if (and (derived-mode-p 'message-mode)
-                           (re-search-forward
-                            message-signature-separator nil t))
-                      (copy-marker (point-at-bol) t)
-                    (copy-marker (point-max) t)))))
+      (let ((tag (and org-footnote-tag-for-non-org-mode-files
+                     (concat "^" (regexp-quote
+                                  org-footnote-tag-for-non-org-mode-files)
+                             "[ \t]*$")))
+           (max (if (and (derived-mode-p 'message-mode)
+                         (goto-char (point-max))
+                         (re-search-backward
+                          message-signature-separator nil t))
+                    (progn
+                      ;; Ensure one blank line separates last
+                      ;; footnote from signature.
+                      (beginning-of-line)
+                      (open-line 2)
+                      (point-marker))
+                  (point-max-marker))))
+       (set-marker-insertion-type max t)
        (goto-char max)
-       (unless (re-search-backward tag nil t)
+       ;; Check if the footnote tag is defined but missing.  In this
+       ;; case, insert it, before any footnote or one blank line
+       ;; after any previous text.
+       (when (and tag (not (re-search-backward tag nil t)))
          (skip-chars-backward " \t\r\n")
-         (delete-region (point) max)
-         (insert "\n\n" org-footnote-tag-for-non-org-mode-files "\n"))
-       ;; Skip existing footnotes.
-       (while (re-search-forward org-footnote-definition-re max t))
-       (let ((def (org-footnote-at-definition-p)))
-         (when def (goto-char (nth 2 def))))
+         (while (re-search-backward org-footnote-definition-re nil t))
+         (unless (bolp) (newline 2))
+         (insert org-footnote-tag-for-non-org-mode-files "\n\n"))
+       ;; Remove superfluous white space and clear marker.
+       (goto-char max)
+       (skip-chars-backward " \t\r\n")
+       (delete-region (point) max)
+       (unless (bolp) (newline))
        (set-marker max nil))))
-    ;; Insert footnote label, position point and notify user.
-    (unless (bolp) (insert "\n"))
-    (insert "\n[" label "] \n")
-    (backward-char)
-    (message "Edit definition and go back with `C-c &' or, if unique, with `C-c C-c'.")))
+    ;; Insert footnote label.
+    (insert "\n[" label "] ")
+    ;; Only notify user about next possible action when in an Org
+    ;; buffer, as the bindings may have different meanings otherwise.
+    (when (eq major-mode 'org-mode)
+      (message
+       "Edit definition and go back with `C-c &' or, if unique, with `C-c C-c'."))))
 
 ;;;###autoload
 (defun org-footnote-action (&optional special)
@@ -570,11 +613,11 @@ If Org is amidst an export process, EXPORT-PROPS will hold the
 export properties of the buffer.
 
 When EXPORT-PROPS is non-nil, the default action is to insert
-normalized footnotes towards the end of the pre-processing buffer.
-Some exporters like docbook, odt, etc. expect that footnote
-definitions be available before any references to them.  Such
-exporters can let bind `org-footnote-insert-pos-for-preprocessor' to
-symbol 'point-min to achieve the desired behavior.
+normalized footnotes towards the end of the pre-processing
+buffer.  Some exporters (docbook, odt...) expect footnote
+definitions to be available before any references to them.  Such
+exporters can let bind `org-footnote-insert-pos-for-preprocessor'
+to symbol `point-min' to achieve the desired behaviour.
 
 Additional note on `org-footnote-insert-pos-for-preprocessor':
 1. This variable has not effect when FOR-PREPROCESSOR is nil.
@@ -634,8 +677,8 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
            (and inlinep
                 org-footnote-fill-after-inline-note-extraction
                 (org-fill-paragraph)))
-         ;; Add label (REF), identifier (MARKER) and definition (DEF)
-         ;; to REF-TABLE if data was unknown.
+         ;; Add label (REF), identifier (MARKER), definition (DEF)
+         ;; and type (INLINEP) to REF-TABLE if data was unknown.
          (unless a
            (let ((def (or (nth 3 ref)  ; inline
                           (and export-props
@@ -646,52 +689,52 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
                          ;; through `org-export-preprocess-string' so
                          ;; it is ready to insert in the
                          ;; backend-specific buffer.
-                         (if export-props
+                         (if (and export-props def)
                              (let ((parameters
                                     (org-combine-plists
                                      export-props
                                      '(:todo-keywords t :tags t :priority t))))
                                (org-export-preprocess-string def parameters))
                            def)
-                         inlinep) ref-table)))
-         ;; Remove definition of non-inlined footnotes.
-         (unless inlinep (org-footnote-delete-definitions lbl))))
+                         inlinep) ref-table)))))
       ;; 2. Find and remove the footnote section, if any.  Also
       ;;    determine where footnotes shall be inserted (INS-POINT).
       (goto-char (point-min))
       (cond
-       ((org-mode-p)
-       (if (and org-footnote-section
-                (re-search-forward
-                 (concat "^\\*[ \t]+" (regexp-quote org-footnote-section)
-                         "[ \t]*$")
-                 nil t))
-           (progn
-             (setq ins-point (match-beginning 0))
-             (delete-region (match-beginning 0) (org-end-of-subtree t)))
-         (setq ins-point (point-max))))
+       ((and org-footnote-section
+            (eq major-mode 'org-mode)
+            (re-search-forward
+             (concat "^\\*[ \t]+" (regexp-quote org-footnote-section)
+                     "[ \t]*$")
+             nil t))
+       (delete-region (match-beginning 0) (org-end-of-subtree t)))
+       ((eq major-mode 'org-mode)
+       (goto-char (point-max))
+       (unless (bolp) (newline)))
        (t
-       (when (re-search-forward
-              (concat "^"
-                      (regexp-quote org-footnote-tag-for-non-org-mode-files)
-                      "[ \t]*$")
-              nil t)
-         (replace-match ""))
-       ;; In message-mode, ensure footnotes are inserted before the
+       ;; Remove any left-over tag in the buffer, if one is set up.
+       (when org-footnote-tag-for-non-org-mode-files
+         (let ((tag (concat "^" (regexp-quote
+                                 org-footnote-tag-for-non-org-mode-files)
+                            "[ \t]*$")))
+           (while (re-search-forward tag nil t)
+             (replace-match "")
+             (delete-region (point) (progn (forward-line) (point))))))
+       ;; In Message mode, ensure footnotes are inserted before the
        ;; signature.
-       (let ((pt-max
-              (or (and (derived-mode-p 'message-mode)
-                       (save-excursion
-                         (goto-char (point-max))
-                         (re-search-backward
-                          message-signature-separator nil t)
-                         (1- (point))))
-                  (point-max))))
-         (goto-char pt-max)
-         (skip-chars-backward " \t\n\r")
-         (forward-line)
-         (delete-region (point) pt-max))
-       (setq ins-point (point))))
+       (if (and (derived-mode-p 'message-mode)
+                (goto-char (point-max))
+                (re-search-backward message-signature-separator nil t))
+           (beginning-of-line)
+         (goto-char (point-max)))))
+      ;; During export, `org-footnote-insert-pos-for-preprocessor' has
+      ;; precedence over previously found position.
+      (setq ins-point
+           (copy-marker
+            (if (and export-props
+                     (eq org-footnote-insert-pos-for-preprocessor 'point-min))
+                (point-min)
+              (point))))
       ;; 3. Clean-up REF-TABLE.
       (setq ref-table
            (delq nil
@@ -708,34 +751,48 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
                      (t x)))
                   ref-table)))
       (setq ref-table (nreverse ref-table))
-      ;; 4. Insert the footnotes again in the buffer, at the
+      ;; 4. Remove left-over definitions in the buffer.
+      (mapc (lambda (x) (unless (nth 3 x)
+                    (org-footnote-delete-definitions (car x))))
+           ref-table)
+      ;; 5. Insert the footnotes again in the buffer, at the
       ;;    appropriate spot.
-      (goto-char (or
-                 (and export-props
-                      (eq org-footnote-insert-pos-for-preprocessor 'point-min)
-                      (point-min))
-                 ins-point
-                 (point-max)))
+      (goto-char ins-point)
       (cond
        ;; No footnote: exit.
        ((not ref-table))
        ;; Cases when footnotes should be inserted in one place.
-       ((or (not (org-mode-p))
+       ((or (not (eq major-mode 'org-mode))
            org-footnote-section
            (not sort-only))
-       ;; Insert again the section title.
+       ;; Insert again the section title, if any.  Ensure that title,
+       ;; or the subsequent footnotes, will be separated by a blank
+       ;; lines from the rest of the document.  In an Org buffer,
+       ;; separate section with a blank line, unless explicitly
+       ;; stated in `org-blank-before-new-entry'.
        (cond
-        ((not (org-mode-p))
-         (insert "\n\n" org-footnote-tag-for-non-org-mode-files "\n"))
+        ((not (eq major-mode 'org-mode))
+         (skip-chars-backward " \t\n\r")
+         (delete-region (point) ins-point)
+         (unless (bolp) (newline))
+         ;; Keep one blank line between footnotes and signature.
+         (when (and (derived-mode-p 'message-mode)
+                    (save-excursion
+                      (re-search-forward message-signature-separator nil t)))
+           (open-line 1))
+         (when org-footnote-tag-for-non-org-mode-files
+           (insert "\n" org-footnote-tag-for-non-org-mode-files "\n")))
         ((and org-footnote-section (not export-props))
-         (or (bolp) (insert "\n"))
+         (when (and (cdr (assq 'heading org-blank-before-new-entry))
+                    (zerop (save-excursion (org-back-over-empty-lines))))
+           (insert "\n"))
          (insert "* " org-footnote-section "\n")))
-       ;; Insert the footnotes.
-       (insert "\n"
-               (mapconcat (lambda (x) (format "[%s] %s"
+       (set-marker ins-point nil)
+       ;; Insert the footnotes, separated by a blank line.
+       (insert (mapconcat (lambda (x) (format "\n[%s] %s"
                                          (nth (if sort-only 0 1) x) (nth 2 x)))
-                          ref-table "\n\n")
-               "\n\n")
+                          ref-table "\n"))
+       (unless (eobp) (insert "\n"))
        ;; When exporting, add newly inserted markers along with their
        ;; associated definition to `org-export-footnotes-seen'.
        (when export-props
@@ -831,20 +888,21 @@ If LABEL is non-nil, delete that footnote instead."
 (defun org-footnote-renumber-fn:N ()
   "Renumber the simple footnotes like fn:17 into a sequence in the document."
   (interactive)
-  (let (map i (n 0))
-    (save-excursion
-      (save-restriction
-       (widen)
-       (goto-char (point-min))
-       (while (re-search-forward "\\[fn:\\([0-9]+\\)[]:]" nil t)
-         (setq i (string-to-number (match-string 1)))
-         (when (and (string-match "\\S-" (buffer-substring
-                                          (point-at-bol) (match-beginning 0)))
-                    (not (assq i map)))
-           (push (cons i (number-to-string (incf n))) map)))
-       (goto-char (point-min))
-       (while (re-search-forward "\\(\\[fn:\\)\\([0-9]+\\)\\([]:]\\)" nil t)
-         (replace-match (concat "\\1" (cdr (assq (string-to-number (match-string 2)) map)) "\\3")))))))
+  (let (map (n 0))
+    (org-with-wide-buffer
+     (goto-char (point-min))
+     (while (re-search-forward "\\[fn:\\([0-9]+\\)[]:]" nil t)
+       (save-excursion
+        (goto-char (match-beginning 0))
+        ;; Ensure match is a footnote reference or definition.
+        (when (save-match-data (if (bolp)
+                                   (org-footnote-at-definition-p)
+                                 (org-footnote-at-reference-p)))
+          (let ((new-val (or (cdr (assoc (match-string 1) map))
+                             (number-to-string (incf n)))))
+            (unless (assoc (match-string 1) map)
+              (push (cons (match-string 1) new-val) map))
+            (replace-match new-val nil nil nil 1))))))))
 
 (defun org-footnote-auto-adjust-maybe ()
   "Renumber and/or sort footnotes according to user settings."
@@ -862,6 +920,4 @@ If LABEL is non-nil, delete that footnote instead."
 
 (provide 'org-footnote)
 
-
-
 ;;; org-footnote.el ends here
index b01f6d9fa6eccfcf5c271bd5c79f64a7f5d7ba05..8b7740072065a75965565e0885d5f7184404776e 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-freemind.el --- Export Org files to freemind
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Lennart Borgman (lennart O borgman A gmail O com)
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -1220,4 +1219,5 @@ PATH should be a list of steps, where each step has the form
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
 ;;; org-freemind.el ends here
index 0ccb66ca4975f5fa9ae3daa72ed6e41a3a005b45..f0c64a0d7656d2cdb9c867b8e8ad168c9de5f0a5 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-gnus.el --- Support for links to Gnus groups and messages from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;;         Tassilo Horn <tassilo at member dot fsf dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -176,7 +175,7 @@ If `org-store-link' was called with a prefix arg the meaning of
        (setq to (or to (gnus-fetch-original-field "To"))
              newsgroups (gnus-fetch-original-field "Newsgroups")
              x-no-archive (gnus-fetch-original-field "x-no-archive")))
-      (org-store-link-props :type "gnus" :from from :subject subject 
+      (org-store-link-props :type "gnus" :from from :subject subject
                            :message-id message-id :group group :to to)
       (when date
        (org-add-link-props :date date :date-timestamp date-ts
@@ -291,5 +290,4 @@ If `org-store-link' was called with a prefix arg the meaning of
 (provide 'org-gnus)
 
 
-
 ;;; org-gnus.el ends here
index c146a5bebbd43aba6e17f525cfe5141b20bf4b55..67f87797cb1bd83aad6c162d2d63ba82429f1d43 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-habit.el --- The habit tracking code for Org-mode
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw at gnu dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -68,6 +67,16 @@ relative to the current effective date."
   :group 'org-habit
   :type 'boolean)
 
+(defcustom org-habit-today-glyph ?!
+  "Glyph character used to identify today."
+  :group 'org-habit
+  :type 'character)
+
+(defcustom org-habit-completed-glyph ?*
+  "Glyph character used to show completed days on which a task was done."
+  :group 'org-habit
+  :type 'character)
+
 (defface org-habit-clear-face
   '((((background light)) (:background "#8270f9"))
     (((background dark)) (:background "blue")))
@@ -297,7 +306,7 @@ current time."
                              (days-to-time
                               (- start (time-to-days starting))))))
 
-             (aset graph index ?*)
+             (aset graph index org-habit-completed-glyph)
              (setq markedp t)
              (put-text-property
               index (1+ index) 'help-echo
@@ -307,7 +316,7 @@ current time."
                (setq last-done-date (car done-dates)
                      done-dates (cdr done-dates))))
          (if todayp
-             (aset graph index ?!)))
+             (aset graph index org-habit-today-glyph)))
        (setq face (if (or in-the-past-p todayp)
                       (car faces)
                     (cdr faces)))
@@ -358,6 +367,4 @@ current time."
 
 (provide 'org-habit)
 
-
-
 ;;; org-habit.el ends here
index 46126ce25736bc6837c9a60423a0a8a2a0c195b1..82fdd507b03568acdf56355c62ce291bfbccd943 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-html.el --- HTML export for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -34,6 +33,8 @@
 
 (declare-function org-id-find-id-file "org-id" (id))
 (declare-function htmlize-region "ext:htmlize" (beg end))
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 (defgroup org-export-html nil
   "Options specific for HTML export of Org-mode files."
@@ -155,6 +156,12 @@ not be modified."
   dt { font-weight: bold; }
   div.figure { padding: 0.5em; }
   div.figure p { text-align: center; }
+  div.inlinetask {
+    padding:10px;
+    border:2px solid gray;
+    margin:10px;
+    background: #ffffcc;
+  }
   textarea { overflow-x: auto; }
   .linenr { font-size:smaller }
   .code-highlighted {background-color:#ffff00;}
@@ -348,6 +355,14 @@ CSS classes, then this prefix can be very useful."
   :group 'org-export-html
   :type 'string)
 
+(defcustom org-export-html-headline-anchor-format "<a name=\"%s\" id=\"%s\"></a>"
+  "Format for anchors in HTML headlines.
+It requires to %s: both will be replaced by the anchor referring
+to the headline (e.g. \"sec-2\").  When set to `nil', don't insert
+HTML anchors in headlines."
+  :group 'org-export-html
+  :type 'string)
+
 (defcustom org-export-html-preamble t
   "Non-nil means insert a preamble in HTML export.
 
@@ -355,8 +370,8 @@ When `t', insert a string as defined by one of the formatting
 strings in `org-export-html-preamble-format'.  When set to a
 string, this string overrides `org-export-html-preamble-format'.
 When set to a function, apply this function and insert the
-returned string.  The function takes the property list of export
-options as its only argument.
+returned string.  The function takes no argument, but you can
+use `opt-plist' to access the current export options.
 
 Setting :html-preamble in publishing projects will take
 precedence over this variable."
@@ -388,8 +403,8 @@ string overrides `org-export-html-postamble-format'.  When set to
 'auto, discard `org-export-html-postamble-format' and honor
 `org-export-author/email/creator-info' variables.  When set to a
 function, apply this function and insert the returned string.
-The function takes the property list of export options as its
-only argument.
+The function takes no argument, but you can use `opt-plist' to
+access the current export options.
 
 Setting :html-postamble in publishing projects will take
 precedence over this variable."
@@ -619,7 +634,10 @@ This variable is obsolete since Org version 7.7.
 Please set `org-export-html-divs' instead.")
 
 (defcustom org-export-html-divs '("preamble" "content" "postamble")
-  "The name of the main divs for HTML export."
+  "The name of the main divs for HTML export.
+This is a list of three strings, the first one for the preamble
+DIV, the second one for the content DIV and the third one for the
+postamble DIV."
   :group 'org-export-html
   :type '(list
          (string :tag " Div for the preamble:")
@@ -703,7 +721,7 @@ command to convert it."
   (interactive "r")
   (let (reg html buf pop-up-frames)
     (save-window-excursion
-      (if (org-mode-p)
+      (if (eq major-mode 'org-mode)
          (setq html (org-export-region-as-html
                      beg end t 'string))
        (setq reg (buffer-substring beg end)
@@ -801,11 +819,11 @@ description.  See variables `org-export-html-inline-images' and
                             may-inline-p)
    "Make an HTML link.
 OPT-PLIST is an options list.
-TYPE is the device-type of the link (THIS://foo.html)
-PATH is the path of the link (http://THIS#locationx)
-FRAGMENT is the fragment part of the link, if any (foo.html#THIS)
+TYPE is the device-type of the link (THIS://foo.html).
+PATH is the path of the link (http://THIS#location).
+FRAGMENT is the fragment part of the link, if any (foo.html#THIS).
 DESC is the link description, if any.
-ATTR is a string of other attributes of the a element.
+ATTR is a string of other attributes of the \"a\" element.
 MAY-INLINE-P allows inlining it as an image."
 
    (declare (special org-par-open))
@@ -896,7 +914,7 @@ OPT-PLIST is the export options list."
                         (string-match "^\\.\\.?/" path)))
                   "file")
                  (t "internal")))
-      (setq path (org-extract-attributes (org-link-unescape path)))
+      (setq path (org-extract-attributes path))
       (setq attr (get-text-property 0 'org-attributes path))
       (setq desc1 (if (match-end 5) (match-string 5 line))
            desc2 (if (match-end 2) (concat type ":" path) path)
@@ -909,7 +927,7 @@ OPT-PLIST is the export options list."
          (if (string-match "^file:" desc)
              (setq desc (substring desc (match-end 0)))))
        (setq desc (org-add-props
-                      (concat "<img src=\"" desc "\" alt=\"" 
+                      (concat "<img src=\"" desc "\" alt=\""
                               (file-name-nondirectory desc) "\"/>")
                       '(org-protected t))))
       (cond
@@ -1036,14 +1054,17 @@ OPT-PLIST is the export options list."
 
        (t
        ;; just publish the path, as default
-       (setq rpl (concat "@<i>&lt;" type ":"
+       (setq rpl (concat "<i>&lt;" type ":"
                          (save-match-data (org-link-unescape path))
-                         "&gt;@</i>"))))
+                         "&gt;</i>"))))
       (setq line (replace-match rpl t t line)
            start (+ start (length rpl))))
     line))
 
 ;;; org-export-as-html
+
+(defvar org-heading-keyword-regexp-format) ; defined in org.el
+
 ;;;###autoload
 (defun org-export-as-html (arg &optional hidden ext-plist
                               to-buffer body-only pub-dir)
@@ -1137,14 +1158,15 @@ PUB-DIR is set, use this as the publishing directory."
         (current-dir (if buffer-file-name
                          (file-name-directory buffer-file-name)
                        default-directory))
+        (auto-insert nil); Avoid any auto-insert stuff for the new file
         (buffer (if to-buffer
                     (cond
                      ((eq to-buffer 'string) (get-buffer-create "*Org HTML Export*"))
                      (t (get-buffer-create to-buffer)))
                   (find-file-noselect filename)))
         (org-levels-open (make-vector org-level-max nil))
-        (date (plist-get opt-plist :date))
-        (author      (plist-get opt-plist :author))
+        (date        (org-html-expand (plist-get opt-plist :date)))
+        (author      (org-html-expand (plist-get opt-plist :author)))
         (html-validation-link (or org-export-html-validation-link ""))
         (title       (org-html-expand
                       (or (and subtree-p (org-export-get-title-from-subtree))
@@ -1165,15 +1187,16 @@ PUB-DIR is set, use this as the publishing directory."
                         (plist-get opt-plist :link-home)))
         (dummy (setq opt-plist (plist-put opt-plist :title title)))
         (html-table-tag (plist-get opt-plist :html-table-tag))
-        (quote-re0   (concat "^[ \t]*" org-quote-string "\\>"))
-        (quote-re    (concat "^\\(\\*+\\)\\([ \t]+" org-quote-string "\\>\\)"))
+        (quote-re0   (concat "^ *" org-quote-string "\\( +\\|[ \t]*$\\)"))
+        (quote-re    (format org-heading-keyword-regexp-format
+                             org-quote-string))
         (inquote     nil)
         (infixed     nil)
         (inverse     nil)
         (email       (plist-get opt-plist :email))
         (language    (plist-get opt-plist :language))
-        (keywords    (plist-get opt-plist :keywords))
-        (description (plist-get opt-plist :description))
+        (keywords    (org-html-expand (plist-get opt-plist :keywords)))
+        (description (org-html-expand (plist-get opt-plist :description)))
         (num         (plist-get opt-plist :section-numbers))
         (lang-words  nil)
         (head-count  0) cnt
@@ -1287,11 +1310,11 @@ PUB-DIR is set, use this as the publishing directory."
                 "%s
 <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
                \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
-<html xmlns=\"http://www.w3.org/1999/xhtml\"
-lang=\"%s\" xml:lang=\"%s\">
+<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"%s\" xml:lang=\"%s\">
 <head>
 <title>%s</title>
 <meta http-equiv=\"Content-Type\" content=\"text/html;charset=%s\"/>
+<meta name=\"title\" content=\"%s\"/>
 <meta name=\"generator\" content=\"Org-mode\"/>
 <meta name=\"generated\" content=\"%s\"/>
 <meta name=\"author\" content=\"%s\"/>
@@ -1314,7 +1337,7 @@ lang=\"%s\" xml:lang=\"%s\">
                 language language
                 title
                 (or charset "iso-8859-1")
-                date author description keywords
+                title date author description keywords
                 style
                 mathjax
                 (if (or link-up link-home)
@@ -1327,28 +1350,35 @@ lang=\"%s\" xml:lang=\"%s\">
 
        ;; insert html preamble
        (when (plist-get opt-plist :html-preamble)
-         (let ((html-pre (plist-get opt-plist :html-preamble)))
-           (insert "<div id=\"" (nth 0 org-export-html-divs) "\">\n")
+         (let ((html-pre (plist-get opt-plist :html-preamble))
+               html-pre-real-contents)
            (cond ((stringp html-pre)
-                  (insert
-                   (format-spec html-pre `((?t . ,title) (?a . ,author)
-                                           (?d . ,date) (?e . ,email)))))
+                  (setq html-pre-real-contents
+                        (format-spec html-pre `((?t . ,title) (?a . ,author)
+                                                (?d . ,date) (?e . ,email)))))
                  ((functionp html-pre)
-                  (funcall html-pre))
+                  (insert "<div id=\"" (nth 0 org-export-html-divs) "\">\n")
+                  (if (stringp (funcall html-pre)) (insert (funcall html-pre)))
+                  (insert "\n</div>\n"))
                  (t
-                  (insert
+                  (setq html-pre-real-contents
                    (format-spec
                     (or (cadr (assoc (nth 0 lang-words)
                                      org-export-html-preamble-format))
                         (cadr (assoc "en" org-export-html-preamble-format)))
                     `((?t . ,title) (?a . ,author)
                       (?d . ,date) (?e . ,email))))))
-           (insert "\n</div>\n")))
+           ;; don't output an empty preamble DIV
+           (unless (and (functionp html-pre)
+                        (equal html-pre-real-contents ""))
+             (insert "<div id=\"" (nth 0 org-export-html-divs) "\">\n")
+             (insert html-pre-real-contents)
+             (insert "\n</div>\n"))))
 
        ;; begin wrap around body
-       (insert (format "\n<div id=\"%s\">" 
+       (insert (format "\n<div id=\"%s\">"
                        ;; FIXME org-export-html-content-div is obsolete since 7.7
-                       (or org-export-html-content-div 
+                       (or org-export-html-content-div
                            (nth 1 org-export-html-divs)))
                ;; FIXME this should go in the preamble but is here so
                ;; that org-infojs can still find it
@@ -1365,7 +1395,7 @@ lang=\"%s\" xml:lang=\"%s\">
            (push "<div id=\"text-table-of-contents\">\n" thetoc)
            (push "<ul>\n<li>" thetoc)
            (setq lines
-                 (mapcar 
+                 (mapcar
                   #'(lambda (line)
                       (if (and (string-match org-todo-line-regexp line)
                                (not (get-text-property 0 'org-protected line)))
@@ -1391,7 +1421,7 @@ lang=\"%s\" xml:lang=\"%s\">
                                             line lines level))))
                             (if (string-match
                                  (org-re "[ \t]+:\\([[:alnum:]_@:]+\\):[ \t]*$") txt)
-                                (setq txt (replace-match  
+                                (setq txt (replace-match
                                            "&nbsp;&nbsp;&nbsp;<span class=\"tag\"> \\1</span>" t nil txt)))
                             (if (string-match quote-re0 txt)
                                 (setq txt (replace-match "" t t txt)))
@@ -1419,7 +1449,7 @@ lang=\"%s\" xml:lang=\"%s\">
                                   ;; Check for targets
                                   (while (string-match org-any-target-regexp line)
                                     (setq line (replace-match
-                                                (concat "@<span class=\"target\">" 
+                                                (concat "@<span class=\"target\">"
                                                         (match-string 1 line) "@</span> ")
                                                 t t line)))
                                   (while (string-match "&lt;\\(&lt;\\)+\\|&gt;\\(&gt;\\)+" txt)
@@ -1427,8 +1457,8 @@ lang=\"%s\" xml:lang=\"%s\">
                                   (setq href
                                         (replace-regexp-in-string
                                          "\\." "-" (format "sec-%s" snumber)))
-                                  (setq href (org-solidify-link-text 
-                                              (or (cdr (assoc href 
+                                  (setq href (org-solidify-link-text
+                                              (or (cdr (assoc href
                                                               org-export-preferred-target-alist)) href)))
                                   (push
                                    (format
@@ -1436,7 +1466,7 @@ lang=\"%s\" xml:lang=\"%s\">
                                         "</li>\n<li><a href=\"#%s\"><span class=\"todo\">%s</span></a>"
                                       "</li>\n<li><a href=\"#%s\">%s</a>")
                                     href txt) thetoc)
-                                  
+
                                   (setq org-last-level level)))))
                       line)
                   lines))
@@ -1445,15 +1475,15 @@ lang=\"%s\" xml:lang=\"%s\">
              (push "</li>\n</ul>\n" thetoc))
            (push "</div>\n" thetoc)
            (setq thetoc (if have-headings (nreverse thetoc) nil))))
-      
+
       (setq head-count 0)
       (org-init-section-numbers)
-      
+
       (org-open-par)
-      
+
       (while (setq line (pop lines) origline line)
        (catch 'nextline
-         
+
          ;; end of quote section?
          (when (and inquote (string-match org-outline-regexp-bol line))
            (insert "</pre>\n")
@@ -1588,7 +1618,8 @@ lang=\"%s\" xml:lang=\"%s\">
          (setq line (org-html-handle-links line opt-plist))
 
          ;; TODO items
-         (if (and (string-match org-todo-line-regexp line)
+         (if (and org-todo-line-regexp
+                  (string-match org-todo-line-regexp line)
                   (match-beginning 2))
 
              (setq line
@@ -1597,9 +1628,9 @@ lang=\"%s\" xml:lang=\"%s\">
                            (if (member (match-string 2 line)
                                        org-done-keywords)
                                "done" "todo")
-                           " " (match-string 2 line)
-                           "\"> " (org-export-html-get-todo-kwd-class-name
-                                   (match-string 2 line))
+                           " " (org-export-html-get-todo-kwd-class-name
+                                (match-string 2 line))
+                           "\"> " (match-string 2 line)
                            "</span>" (substring line (match-end 2)))))
 
          ;; Does this contain a reference to a footnote?
@@ -1636,7 +1667,7 @@ lang=\"%s\" xml:lang=\"%s\">
                         t t line))))))
 
          (cond
-          ((string-match "^\\(\\*+\\)[ \t]+\\(.*\\)" line)
+          ((string-match "^\\(\\*+\\)\\(?: +\\(.*?\\)\\)?[ \t]*$" line)
            ;; This is a headline
            (setq level (org-tr-level (- (match-end 1) (match-beginning 1)
                                         level-offset))
@@ -1785,7 +1816,7 @@ lang=\"%s\" xml:lang=\"%s\">
                                          (?d . ,date)   (?c . ,creator-info)
                                          (?v . ,html-validation-link)))))
                  ((functionp html-post)
-                  (funcall html-post))
+                  (if (stringp (funcall html-post)) (insert (funcall html-post))))
                  ((eq html-post 'auto)
                   ;; fall back on default postamble
                   (when (plist-get opt-plist :time-stamp-file)
@@ -1808,7 +1839,7 @@ lang=\"%s\" xml:lang=\"%s\">
                              (?d . ,date)   (?c . ,creator-info)
                              (?v . ,html-validation-link))))))
            (insert "\n</div>"))))
-      
+
       ;; FIXME `org-export-html-with-timestamp' has been declared
       ;; obsolete since Org 7.7 -- don't forget to remove this.
       (if org-export-html-with-timestamp
@@ -1941,7 +1972,7 @@ NO-CSS is passed to the exporter."
   (if (string-match "^[ \t]*|" (car lines))
       ;; A normal org table
       (org-format-org-table-html lines nil no-css)
-    ;; Table made by table.el 
+    ;; Table made by table.el
     (or (org-format-table-table-html-using-table-generate-source
         olines (not org-export-prefer-native-exporter-for-tables))
        ;; We are here only when table.el table has NO col or row
@@ -1969,8 +2000,8 @@ for formatting.  This is required for the DocBook exporter."
 
   (let* ((caption (org-find-text-property-in-string 'org-caption (car lines)))
         (label (org-find-text-property-in-string 'org-label (car lines)))
-        (forced-aligns (org-find-text-property-in-string 'org-forced-aligns
-                                                         (car lines)))
+        (col-cookies (org-find-text-property-in-string 'org-col-cookies
+                                                       (car lines)))
         (attributes (org-find-text-property-in-string 'org-attributes
                                                       (car lines)))
         (html-table-tag (org-export-splice-attributes
@@ -1983,9 +2014,9 @@ for formatting.  This is required for the DocBook exporter."
         tbopen line fields html gr colgropen rowstart rowend
         ali align aligns n)
     (setq caption (and caption (org-html-do-expand caption)))
-    (when (and forced-aligns org-table-clean-did-remove-column)
-    (setq forced-aligns
-         (mapcar (lambda (x) (cons (1- (car x)) (cdr x))) forced-aligns)))
+    (when (and col-cookies org-table-clean-did-remove-column)
+      (setq col-cookies
+           (mapcar (lambda (x) (cons (1- (car x)) (cdr x))) col-cookies)))
     (if splice (setq head nil))
     (unless splice (push (if head "<thead>" "<tbody>") html))
     (setq tbopen t)
@@ -2046,8 +2077,8 @@ for formatting.  This is required for the DocBook exporter."
             (lambda (x)
               (setq gr (pop org-table-colgroup-info)
                     i (1+ i)
-                    align (if (assoc i forced-aligns)
-                              (cdr (assoc (cdr (assoc i forced-aligns))
+                    align (if (nth 1 (assoc i col-cookies))
+                              (cdr (assoc (nth 1 (assoc i col-cookies))
                                           '(("l" . "left") ("r" . "right")
                                             ("c" . "center"))))
                             (if (> (/ (float x) nline)
@@ -2203,19 +2234,20 @@ for further information."
   "Format time stamps in string S, or remove them."
   (catch 'exit
     (let (r b)
-      (while (string-match org-maybe-keyword-time-regexp s)
-       (or b (setq b (substring s 0 (match-beginning 0))))
-       (setq r (concat
-                r (substring s 0 (match-beginning 0))
-                " @<span class=\"timestamp-wrapper\">"
-                (if (match-end 1)
-                    (format "@<span class=\"timestamp-kwd\">%s @</span>"
-                            (match-string 1 s)))
-                (format " @<span class=\"timestamp\">%s@</span>"
-                        (substring
-                         (org-translate-time (match-string 3 s)) 1 -1))
-                "@</span>")
-             s (substring s (match-end 0))))
+      (when org-maybe-keyword-time-regexp
+       (while (string-match org-maybe-keyword-time-regexp s)
+         (or b (setq b (substring s 0 (match-beginning 0))))
+         (setq r (concat
+                  r (substring s 0 (match-beginning 0))
+                  " @<span class=\"timestamp-wrapper\">"
+                  (if (match-end 1)
+                      (format "@<span class=\"timestamp-kwd\">%s @</span>"
+                              (match-string 1 s)))
+                  (format " @<span class=\"timestamp\">%s@</span>"
+                          (substring
+                           (org-translate-time (match-string 3 s)) 1 -1))
+                  "@</span>")
+               s (substring s (match-end 0)))))
       ;; Line break if line started and ended with time stamp stuff
       (if (not r)
          s
@@ -2263,7 +2295,7 @@ that uses these same face definitions."
        (when (and (symbolp f) (or (not i) (not (listp i))))
          (insert (org-add-props (copy-sequence "1") nil 'face f))))
       (htmlize-region (point-min) (point-max))))
-  (switch-to-buffer "*html*")
+  (org-pop-to-buffer-same-window "*html*")
   (goto-char (point-min))
   (if (re-search-forward "<style" nil t)
       (delete-region (point-min) (match-beginning 0)))
@@ -2286,18 +2318,20 @@ Possible conversions are set in `org-export-html-protect-char-alist'."
 
 (defun org-html-expand (string)
   "Prepare STRING for HTML export.  Apply all active conversions.
-If there are links in the string, don't modify these."
-  (let* ((re (concat org-bracket-link-regexp "\\|"
-                    (org-re "[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$")))
-        m s l res)
-    (while (setq m (string-match re string))
-      (setq s (substring string 0 m)
-           l (match-string 0 string)
-           string (substring string (match-end 0)))
-      (push (org-html-do-expand s) res)
+If there are links in the string, don't modify these.  If STRING
+is nil, return nil."
+  (when string
+    (let* ((re (concat org-bracket-link-regexp "\\|"
+                      (org-re "[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$")))
+          m s l res)
+      (while (setq m (string-match re string))
+       (setq s (substring string 0 m)
+             l (match-string 0 string)
+             string (substring string (match-end 0)))
+       (push (org-html-do-expand s) res)
       (push l res))
-    (push (org-html-do-expand string) res)
-    (apply 'concat (nreverse res))))
+      (push (org-html-do-expand string) res)
+      (apply 'concat (nreverse res)))))
 
 (defun org-html-do-expand (s)
   "Apply all active conversions to translate special ASCII to HTML."
@@ -2412,8 +2446,9 @@ When TITLE is nil, just close all open levels."
          (mapconcat (lambda (x)
                       (setq x (org-solidify-link-text
                                (if (org-uuidgen-p x) (concat "ID-" x) x)))
-                      (format "<a name=\"%s\" id=\"%s\"></a>"
-                              x x))
+                      (if (stringp org-export-html-headline-anchor-format)
+                          (format org-export-html-headline-anchor-format x x)
+                        ""))
                     extra-targets
                     ""))
     (while (>= l level)
@@ -2604,5 +2639,4 @@ the alist of previous items."
 
 (provide 'org-html)
 
-
 ;;; org-html.el ends here
index 8a2d66306f37835831d24dc697b631128ced68e6..29f6c74c5293f33d3b553e701930d3c7975c2a0d 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-icalendar.el --- iCalendar export for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -204,7 +203,7 @@ When nil of the empty string, use the abbreviation retrieved from Emacs."
   (if org-icalendar-use-UTC-date-time
       ":%Y%m%dT%H%M%SZ"
     ":%Y%m%dT%H%M%S")
-  "Format-string for exporting iCalendar DATE-TIME.
+  "Format-string for exporting icalendar DATE-TIME.
 See `format-time-string' for a full documentation.  The only
 difference is that `org-icalendar-timezone' is used for %Z.
 
@@ -418,7 +417,7 @@ When COMBINE is non nil, add the category to each line."
          (let ((t1 (ignore-errors (org-parse-time-string ts 'nodefault))))
            (if (and (> org-icalendar-alarm-time 0)
                     (car t1) (nth 1 t1) (nth 2 t1))
-               (setq alarm (format "\nBEGIN:VALARM\nACTION:DISPLAY\nDESCRIPTION:%s\nTRIGGER:-P0D0H%dM0S\nEND:VALARM" summary org-icalendar-alarm-time))
+               (setq alarm (format "\nBEGIN:VALARM\nACTION:DISPLAY\nDESCRIPTION:%s\nTRIGGER:-P0DT0H%dM0S\nEND:VALARM" summary org-icalendar-alarm-time))
              (setq alarm ""))
            )
          (if (string-match org-bracket-link-regexp summary)
@@ -684,5 +683,4 @@ a time), or the day by one (if it does not contain a time)."
 
 (provide 'org-icalendar)
 
-
 ;;; org-icalendar.el ends here
index c2d5cf0f25badbdc9b3bd05357f80a14d0eaa9f1..55e826f3ae69b433e866f0412dab0cc06ebffcb5 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-id.el --- Global identifiers for Org-mode entries
 ;;
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -74,6 +73,8 @@
 (require 'org)
 
 (declare-function message-make-fqdn "message" ())
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 ;;; Customization
 
@@ -253,7 +254,7 @@ Move the cursor to that entry in that buffer."
   (let ((m (org-id-find id 'marker)))
     (unless m
       (error "Cannot find entry with ID \"%s\"" id))
-    (switch-to-buffer (marker-buffer m))
+    (org-pop-to-buffer-same-window (marker-buffer m))
     (goto-char m)
     (move-marker m nil)
     (org-show-context)))
@@ -430,7 +431,7 @@ When CHECK is given, prepare detailed information about duplicate IDs."
                 (delq nil
                       (mapcar (lambda (b)
                                 (with-current-buffer b
-                                  (and (org-mode-p) (buffer-file-name))))
+                                  (and (eq major-mode 'org-mode) (buffer-file-name))))
                               (buffer-list)))
                 ;; All files known to have IDs
                 org-id-files)))
@@ -599,7 +600,7 @@ optional argument MARKERP, return the position as a new marker."
 (defun org-id-store-link ()
   "Store a link to the current entry, using its ID."
   (interactive)
-  (when (and (buffer-file-name (buffer-base-buffer)) (org-mode-p))
+  (when (and (buffer-file-name (buffer-base-buffer)) (eq major-mode 'org-mode))
     (let* ((link (org-make-link "id:" (org-id-get-create)))
           (case-fold-search nil)
           (desc (save-excursion
@@ -640,7 +641,3 @@ optional argument MARKERP, return the position as a new marker."
 (provide 'org-id)
 
 ;;; org-id.el ends here
-
-
-
-
index a2099a4bde3d52800397732be94f7d600b5d66fe..ae0c91eaedff462ebd511ccdfd9f163425b3e22a 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-indent.el --- Dynamic indentation for  Org-mode
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 ;; This is an implementation of dynamic virtual indentation.  It works
 ;; by adding text properties to a buffer to make sure lines are
 ;; indented according to outline structure.
-
+;;
+;; The process is synchronous, toggled at every buffer modification.
+;; Though, the initialization (indentation of text already in the
+;; buffer), which can take a few seconds in large buffers, happens on
+;; idle time.
+;;
 ;;; Code:
 
 (require 'org-macs)
@@ -38,9 +42,9 @@
 (eval-when-compile
   (require 'cl))
 
-(defvar org-inlinetask-min-level)
 (declare-function org-inlinetask-get-task-level "org-inlinetask" ())
 (declare-function org-inlinetask-in-task-p "org-inlinetask" ())
+(declare-function org-list-item-body-column "org-list" (item))
 
 (defgroup org-indent nil
   "Options concerning dynamic virtual outline indentation."
 
 (defconst org-indent-max 40
   "Maximum indentation in characters.")
-(defconst org-indent-max-levels 40
-  "Maximum indentation in characters.")
+(defconst org-indent-max-levels 20
+  "Maximum added level through virtual indentation, in characters.
+
+It is computed by multiplying `org-indent-indentation-per-level'
+minus one by actual level of the headline minus one.")
 
 (defvar org-indent-strings nil
   "Vector with all indentation strings.
@@ -58,8 +65,31 @@ It will be set in `org-indent-initialize'.")
 (defvar org-indent-stars nil
   "Vector with all indentation star strings.
 It will be set in `org-indent-initialize'.")
+(defvar org-indent-inlinetask-first-star (org-add-props "*" '(face org-warning))
+  "First star of inline tasks, with correct face.")
+(defvar org-indent-agent-timer nil
+  "Timer running the initialize agent.")
+(defvar org-indent-agentized-buffers nil
+  "List of buffers watched by the initialize agent.")
+(defvar org-indent-agent-resume-timer nil
+  "Timer to reschedule agent after switching to other idle processes.")
+(defvar org-indent-agent-active-delay '(0 2 0)
+  "Time to run agent before switching to other idle processes.
+Delay used when the buffer to initialize is current.")
+(defvar org-indent-agent-passive-delay '(0 0 400000)
+  "Time to run agent before switching to other idle processes.
+Delay used when the buffer to initialize isn't current.")
+(defvar org-indent-agent-resume-delay '(0 0 100000)
+  "Minimal time for other idle processes before switching back to agent.")
+(defvar org-indent-initial-marker nil
+  "Position of initialization before interrupt.
+This is used locally in each buffer being initialized.")
 (defvar org-hide-leading-stars-before-indent-mode nil
   "Used locally.")
+(defvar org-indent-modified-headline-flag nil
+  "Non-nil means the last deletion operated on an headline.
+It is modified by `org-indent-notify-modified-headline'.")
+
 
 (defcustom org-indent-boundary-char ?\   ; comment to protect space char
   "The end of the virtual indentation strings, a single-character string.
@@ -90,28 +120,15 @@ turn on `org-hide-leading-stars'."
   :group 'org-indent
   :type 'integer)
 
-(defcustom org-indent-fix-section-after-idle-time 0.2
-  "Seconds of idle time before fixing virtual indentation of section.
-The hooking-in of virtual indentation is not yet perfect.  Occasionally,
-a change does not trigger to proper change of indentation.  For this we
-have a timer action that fixes indentation in the current section after
-a short amount idle time.  If we ever get the integration to work perfectly,
-this variable can be set to nil to get rid of the timer."
-  :group 'org-indent
-  :type '(choice
-         (const "Do not install idle timer" nil)
-         (number :tag "Idle time")))
+(defface org-indent
+  (org-compatible-face nil nil)
+  "Face for outline indentation.
+The default is to make it look like whitespace.  But you may find it
+useful to make it ever so slightly different."
+  :group 'org-faces)
 
 (defun org-indent-initialize ()
-  "Initialize the indentation strings and set the idle timer."
-  ;; We use an idle timer to "repair" the current section, because the
-  ;; redisplay seems to have some problems.
-  (unless org-indent-strings
-    (when org-indent-fix-section-after-idle-time
-      (run-with-idle-timer
-       org-indent-fix-section-after-idle-time
-       t 'org-indent-refresh-section)))
-  ;; Initialize the indentation and star vectors
+  "Initialize the indentation strings."
   (setq org-indent-strings (make-vector (1+ org-indent-max) nil))
   (setq org-indent-stars (make-vector (1+ org-indent-max) nil))
   (aset org-indent-strings 0 nil)
@@ -127,14 +144,21 @@ this variable can be set to nil to get rid of the timer."
              (org-add-props (make-string i ?*)
                  nil 'face 'org-hide))))
 
+(defsubst org-indent-remove-properties (beg end)
+  "Remove indentations between BEG and END."
+  (with-silent-modifications
+    (remove-text-properties beg end '(line-prefix nil wrap-prefix nil))))
+
 ;;;###autoload
 (define-minor-mode org-indent-mode
   "When active, indent text according to outline structure.
 
-Internally this works by adding `line-prefix' properties to all non-headlines.
-These properties are updated locally in idle time.
-FIXME:  How to update when broken?"
-  nil " Ind" nil
+Internally this works by adding `line-prefix' and `wrap-prefix'
+properties, after each buffer modification, on the modified zone.
+
+The process is synchronous.  Though, initial indentation of
+buffer, which can take a few seconds on large buffers, is done
+during idle time." nil " Ind" nil
   (cond
    ((org-bound-and-true-p org-inhibit-startup)
     (setq org-indent-mode nil))
@@ -151,6 +175,7 @@ FIXME:  How to update when broken?"
     ;; mode was turned on.
     (org-set-local 'indent-tabs-mode nil)
     (or org-indent-strings (org-indent-initialize))
+    (org-set-local 'org-indent-initial-marker (copy-marker 1))
     (when org-indent-mode-turns-off-org-adapt-indentation
       (org-set-local 'org-adapt-indentation nil))
     (when org-indent-mode-turns-on-hiding-stars
@@ -160,56 +185,49 @@ FIXME:  How to update when broken?"
     (make-local-variable 'buffer-substring-filters)
     (add-to-list 'buffer-substring-filters
                 'org-indent-remove-properties-from-string)
-    (org-add-hook 'org-after-demote-entry-hook
-                 'org-indent-refresh-section nil 'local)
-    (org-add-hook 'org-after-promote-entry-hook
-                 'org-indent-refresh-section nil 'local)
-    (org-add-hook 'org-font-lock-hook
-                 'org-indent-refresh-to nil 'local)
+    (org-add-hook 'after-change-functions 'org-indent-refresh-maybe nil 'local)
+    (org-add-hook 'before-change-functions
+                 'org-indent-notify-modified-headline nil 'local)
     (and font-lock-mode (org-restart-font-lock))
-    )
+    (org-indent-remove-properties (point-min) (point-max))
+    ;; Submit current buffer to initialize agent.  If it's the first
+    ;; buffer submitted, also start the agent.  Current buffer is
+    ;; pushed in both cases to avoid a race condition.
+    (if org-indent-agentized-buffers
+       (push (current-buffer) org-indent-agentized-buffers)
+      (push (current-buffer) org-indent-agentized-buffers)
+      (setq org-indent-agent-timer
+           (run-with-idle-timer 0.2 t #'org-indent-initialize-agent))))
    (t
     ;; mode was turned off (or we refused to turn it on)
-    (save-excursion
-      (save-restriction
-       (org-indent-remove-properties (point-min) (point-max))
-       (kill-local-variable 'org-adapt-indentation)
-       (when (boundp 'org-hide-leading-stars-before-indent-mode)
-         (org-set-local 'org-hide-leading-stars
-                        org-hide-leading-stars-before-indent-mode))
-       (setq buffer-substring-filters
-             (delq 'org-indent-remove-properties-from-string
-                   buffer-substring-filters))
-       (remove-hook 'org-after-promote-entry-hook
-                    'org-indent-refresh-section 'local)
-       (remove-hook 'org-after-demote-entry-hook
-                    'org-indent-refresh-section 'local)
-       (and font-lock-mode (org-restart-font-lock))
-       (redraw-display))))))
-
-
-(defface org-indent
-  (org-compatible-face nil nil)
-  "Face for outline indentation.
-The default is to make it look like whitespace.  But you may find it
-useful to make it ever so slightly different."
-  :group 'org-faces)
+    (kill-local-variable 'org-adapt-indentation)
+    (setq org-indent-agentized-buffers
+         (delq (current-buffer) org-indent-agentized-buffers))
+    (when (markerp org-indent-initial-marker)
+      (set-marker org-indent-initial-marker nil))
+    (when (boundp 'org-hide-leading-stars-before-indent-mode)
+      (org-set-local 'org-hide-leading-stars
+                    org-hide-leading-stars-before-indent-mode))
+    (setq buffer-substring-filters
+         (delq 'org-indent-remove-properties-from-string
+               buffer-substring-filters))
+    (remove-hook 'after-change-functions 'org-indent-refresh-maybe 'local)
+    (remove-hook 'before-change-functions
+                'org-indent-notify-modified-headline 'local)
+    (org-with-wide-buffer
+     (org-indent-remove-properties (point-min) (point-max)))
+    (and font-lock-mode (org-restart-font-lock))
+    (redraw-display))))
 
 (defun org-indent-indent-buffer ()
-  "Add indentation properties for the whole buffer."
+  "Add indentation properties to the accessible part of the buffer."
   (interactive)
-  (when org-indent-mode
-    (save-excursion
-      (save-restriction
-       (widen)
-       (org-indent-remove-properties (point-min) (point-max))
-       (org-indent-add-properties (point-min) (point-max))))))
-
-(defun org-indent-remove-properties (beg end)
-  "Remove indentations between BEG and END."
-  (let ((inhibit-modification-hooks t))
-    (with-silent-modifications
-      (remove-text-properties beg end '(line-prefix nil wrap-prefix nil)))))
+  (if (not (eq major-mode 'org-mode))
+      (error "Not in Org mode")
+    (message "Setting buffer indentation. It may take a few seconds...")
+    (org-indent-remove-properties (point-min) (point-max))
+    (org-indent-add-properties (point-min) (point-max))
+    (message "Indentation of buffer set.")))
 
 (defun org-indent-remove-properties-from-string (string)
   "Remove indentation properties from STRING."
@@ -217,110 +235,193 @@ useful to make it ever so slightly different."
                          '(line-prefix nil wrap-prefix nil) string)
   string)
 
-(defvar org-indent-outline-re org-outline-regexp-bol
-  "Outline heading regexp.")
+(defun org-indent-initialize-agent ()
+  "Start or resume current buffer initialization.
+Only buffers in `org-indent-agentized-buffers' trigger an action.
+When no more buffer is being watched, the agent suppress itself."
+  (when org-indent-agent-resume-timer
+    (cancel-timer org-indent-agent-resume-timer))
+  (setq org-indent-agentized-buffers
+       (org-remove-if-not #'buffer-live-p org-indent-agentized-buffers))
+  (cond
+   ;; Job done:  kill agent.
+   ((not org-indent-agentized-buffers) (cancel-timer org-indent-agent-timer))
+   ;; Current buffer is agentized: start/resume initialization
+   ;; somewhat aggressively.
+   ((memq (current-buffer) org-indent-agentized-buffers)
+    (org-indent-initialize-buffer (current-buffer)
+                                 org-indent-agent-active-delay))
+   ;; Else, start/resume initialization of the last agentized buffer,
+   ;; softly.
+   (t (org-indent-initialize-buffer (car org-indent-agentized-buffers)
+                                   org-indent-agent-passive-delay))))
+
+(defun org-indent-initialize-buffer (buffer delay)
+  "Set virtual indentation for the buffer BUFFER, asynchronously.
+Give hand to other idle processes if it takes longer than DELAY,
+a time value."
+  (with-current-buffer buffer
+    (when org-indent-mode
+      (org-with-wide-buffer
+       (let ((interruptp
+             ;; Always nil unless interrupted.
+             (catch 'interrupt
+               (and org-indent-initial-marker
+                    (marker-position org-indent-initial-marker)
+                    (org-indent-add-properties org-indent-initial-marker
+                                               (point-max)
+                                               delay)
+                    nil))))
+        (move-marker org-indent-initial-marker interruptp)
+        ;; Job is complete: un-agentize buffer.
+        (unless interruptp
+          (setq org-indent-agentized-buffers
+                (delq buffer org-indent-agentized-buffers))))))))
 
-(defun org-indent-add-properties (beg end)
+(defsubst org-indent-set-line-properties (l w h)
+  "Set prefix properties on current line an move to next one.
+
+Prefix properties `line-prefix' and `wrap-prefix' in current line
+are set to, respectively, length L and W.
+
+If H is non-nil, `line-prefix' will be starred.  If H is
+`inline', the first star will have `org-warning' face.
+
+Assume point is at beginning of line."
+  (let ((line (cond
+              ((eq 'inline h)
+               (let ((stars (aref org-indent-stars
+                                  (min l org-indent-max-levels))))
+                 (and stars
+                      (concat org-indent-inlinetask-first-star
+                              (substring stars 1)))))
+              (h (aref org-indent-stars
+                       (min l org-indent-max-levels)))
+              (t (aref org-indent-strings
+                       (min l org-indent-max)))))
+       (wrap (aref org-indent-strings (min w org-indent-max))))
+    ;; Add properties down to the next line to indent empty lines.
+    (add-text-properties (point) (min (1+ (point-at-eol)) (point-max))
+                        `(line-prefix ,line wrap-prefix ,wrap)))
+  (forward-line 1))
+
+(defun org-indent-add-properties (beg end &optional delay)
   "Add indentation properties between BEG and END.
-Assumes that BEG is at the beginning of a line."
-  (let* ((inhibit-modification-hooks t)
-        (inlinetaskp (featurep 'org-inlinetask))
-        (get-real-level (lambda (pos lvl)
-                          (save-excursion
-                            (goto-char pos)
-                            (if (and inlinetaskp (org-inlinetask-in-task-p))
-                                (org-inlinetask-get-task-level)
-                              lvl))))
-        (b beg)
-        (e end)
-        (level 0)
-        (n 0)
-        exit nstars)
-    (with-silent-modifications
-      (save-excursion
-       (goto-char beg)
-       (while (not exit)
-         (setq e end)
-         (if (not (re-search-forward org-indent-outline-re nil t))
-             (setq e (point-max) exit t)
-           (setq e (match-beginning 0))
-           (if (>= e end) (setq exit t))
-           (unless (and inlinetaskp (org-inlinetask-in-task-p))
-             (setq level (- (match-end 0) (match-beginning 0) 1)))
-           (setq nstars (* (1- (funcall get-real-level e level))
-                           (1- org-indent-indentation-per-level)))
-           (add-text-properties
-            (point-at-bol) (point-at-eol)
-            (list 'line-prefix
-                  (aref org-indent-stars nstars)
-                  'wrap-prefix
-                  (aref org-indent-strings
-                        (* (funcall get-real-level e level)
-                           org-indent-indentation-per-level)))))
-         (when (> e b)
-           (add-text-properties
-            b  e (list 'line-prefix (aref org-indent-strings n)
-                       'wrap-prefix (aref org-indent-strings n))))
-         (setq b (1+ (point-at-eol))
-               n (* (funcall get-real-level b level)
-                    org-indent-indentation-per-level)))))))
-
-(defvar org-inlinetask-min-level)
-(defun org-indent-refresh-section ()
-  "Refresh indentation properties in the current outline section.
-Point is assumed to be at the beginning of a headline."
-  (interactive)
-  (when org-indent-mode
-    (let (beg end)
-      (save-excursion
-       (when (ignore-errors (let ((org-outline-regexp (format "\\*\\{1,%s\\}[ \t]+"
-                               (if (featurep 'org-inlinetask)
-                                   (1- org-inlinetask-min-level)
-                                 ""))))
-                              (org-back-to-heading)))
-         (setq beg (point))
-         (setq end (or (save-excursion (or (outline-next-heading) (point)))))
-         (org-indent-remove-properties beg end)
-         (org-indent-add-properties beg end))))))
-
-(defun org-indent-refresh-to (limit)
-  "Refresh indentation properties in the current outline section.
-Point is assumed to be at the beginning of a headline."
-  (interactive)
-  (when org-indent-mode
-    (let ((beg (point)) (end limit))
-      (save-excursion
-       (and (ignore-errors (let ((org-outline-regexp (format "\\*\\{1,%s\\}[ \t]+"
-                               (if (featurep 'org-inlinetask)
-                                   (1- org-inlinetask-min-level)
-                                 ""))))
-                             (org-back-to-heading)))
-            (setq beg (point))))
-      (org-indent-remove-properties beg end)
-      (org-indent-add-properties beg end)))
-  (goto-char limit))
-
-(defun org-indent-refresh-subtree ()
-  "Refresh indentation properties in the current outline subtree.
-Point is assumed to be at the beginning of a headline."
-  (interactive)
+
+When DELAY is non-nil, it must be a time value.  In that case,
+the process is asynchronous and can be interrupted, either by
+user request, or after DELAY.  This is done by throwing the
+`interrupt' tag along with the buffer position where the process
+stopped."
+  (save-match-data
+    (org-with-wide-buffer
+     (goto-char beg)
+     (beginning-of-line)
+     ;; 1. Initialize prefix at BEG.  This is done by storing two
+     ;;    variables: INLINE-PF and PF, representing respectively
+     ;;    length of current `line-prefix' when line is inside an
+     ;;    inline task or not.
+     (let* ((case-fold-search t)
+           (limited-re (org-get-limited-outline-regexp))
+           (added-ind-per-lvl (1- org-indent-indentation-per-level))
+           (pf (save-excursion
+                 (and (ignore-errors (let ((outline-regexp limited-re))
+                                       (org-back-to-heading t)))
+                      (+ (* org-indent-indentation-per-level
+                            (- (match-end 0) (match-beginning 0) 2)) 2))))
+           (pf-inline (and (featurep 'org-inlinetask)
+                           (org-inlinetask-in-task-p)
+                           (+ (* org-indent-indentation-per-level
+                                 (1- (org-inlinetask-get-task-level))) 2)))
+           (time-limit (and delay (time-add (current-time) delay))))
+       ;; 2. For each line, set `line-prefix' and `wrap-prefix'
+       ;;    properties depending on the type of line (headline,
+       ;;    inline task, item or other).
+       (with-silent-modifications
+        (while (and (<= (point) end) (not (eobp)))
+          (cond
+           ;; When in asynchronous mode, check if interrupt is
+           ;; required.
+           ((and delay (input-pending-p)) (throw 'interrupt (point)))
+           ;; In asynchronous mode, take a break of
+           ;; `org-indent-agent-resume-delay' every DELAY to avoid
+           ;; blocking any other idle timer or process output.
+           ((and delay (time-less-p time-limit (current-time)))
+            (setq org-indent-agent-resume-timer
+                  (run-with-idle-timer
+                   (time-add (current-idle-time)
+                             org-indent-agent-resume-delay)
+                   nil #'org-indent-initialize-agent))
+            (throw 'interrupt (point)))
+           ;; Headline or inline task.
+           ((looking-at org-outline-regexp)
+            (let* ((nstars (- (match-end 0) (match-beginning 0) 1))
+                   (line (* added-ind-per-lvl (1- nstars)))
+                   (wrap (+ line (1+ nstars))))
+              (cond
+               ;; Headline: new value for PF.
+               ((looking-at limited-re)
+                (org-indent-set-line-properties line wrap t)
+                (setq pf wrap))
+               ;; End of inline task: PF-INLINE is now nil.
+               ((looking-at "\\*+ end[ \t]*$")
+                (org-indent-set-line-properties line wrap 'inline)
+                (setq pf-inline nil))
+               ;; Start of inline task.  Determine if it contains
+               ;; text, or if it is only one line long.  Set
+               ;; PF-INLINE accordingly.
+               (t (org-indent-set-line-properties line wrap 'inline)
+                  (setq pf-inline (and (org-inlinetask-in-task-p) wrap))))))
+           ;; List item: `wrap-prefix' is set where body starts.
+           ((org-at-item-p)
+            (let* ((line (or pf-inline pf 0))
+                   (wrap (+ (org-list-item-body-column (point)) line)))
+              (org-indent-set-line-properties line wrap nil)))
+           ;; Normal line: use PF-INLINE, PF or nil as prefixes.
+           (t (let* ((line (or pf-inline pf 0))
+                     (wrap (+ line (org-get-indentation))))
+                (org-indent-set-line-properties line wrap nil))))))))))
+
+(defun org-indent-notify-modified-headline (beg end)
+  "Set `org-indent-modified-headline-flag' depending on context.
+
+BEG and END are the positions of the beginning and end of the
+range of deleted text.
+
+This function is meant to be called by `before-change-functions'.
+Flag will be non-nil if command is going to modify or delete an
+headline."
   (when org-indent-mode
-    (save-excursion
-      (let (beg end)
-       (setq beg (point))
-       (setq end (save-excursion (org-end-of-subtree t t)))
-       (org-indent-remove-properties beg end)
-       (org-indent-add-properties beg end)))))
+    (setq org-indent-modified-headline-flag
+         (save-excursion
+           (goto-char beg)
+           (save-match-data
+             (or (and (org-at-heading-p) (< beg (match-end 0)))
+                 (re-search-forward org-outline-regexp-bol end t)))))))
 
-(defun org-indent-refresh-buffer ()
-  "Refresh indentation properties in the current outline subtree.
-Point is assumed to be at the beginning of a headline."
-  (interactive)
+(defun org-indent-refresh-maybe (beg end dummy)
+  "Refresh indentation properties in an adequate portion of buffer.
+BEG and END are the positions of the beginning and end of the
+range of inserted text.  DUMMY is an unused argument.
+
+This function is meant to be called by `after-change-functions'."
   (when org-indent-mode
-    (org-indent-mode -1)
-    (org-indent-mode 1)))
+    (save-match-data
+      ;; If an headline was modified or inserted, set properties until
+      ;; next headline.
+      (if (or org-indent-modified-headline-flag
+             (save-excursion
+               (goto-char beg)
+               (re-search-forward org-outline-regexp-bol end t)))
+       (let ((end (save-excursion
+                    (goto-char end)
+                    (org-with-limited-levels (outline-next-heading))
+                    (point))))
+         (setq org-indent-modified-headline-flag nil)
+         (org-indent-add-properties beg end))
+       ;; Otherwise, only set properties on modified area.
+       (org-indent-add-properties beg end)))))
 
 (provide 'org-indent)
 
-
 ;;; org-indent.el ends here
index 4f44045f9bfff20ad90e27a1124c333e2805dcef..b4e5c2244d51417f580f1a4e7319eb796901924e 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-info.el --- Support for links to Info nodes from within Org-Mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -77,6 +76,4 @@
 
 (provide 'org-info)
 
-
-
 ;;; org-info.el ends here
index 72c19062983e273fadd6eddf31bf23d6ee080e48..a14e4043e546cce5cf96cb851a654350ed48a4aa 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-inlinetask.el --- Tasks independent of outline hierarchy
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
@@ -107,11 +106,14 @@ When nil, they will not be exported."
   :type 'boolean)
 
 (defvar org-inlinetask-export-templates
-  '((html "<pre class=\"inlinetask\"><b>%s%s</b><br />%s</pre>"
+  '((html "<div class=\"inlinetask\"><b>%s%s</b><br />%s</div>"
          '((unless (eq todo "")
              (format "<span class=\"%s %s\">%s%s</span> "
                      class todo todo priority))
            heading content))
+    (odt "%s" '((org-odt-format-inlinetask heading content
+                                          todo priority tags)))
+
     (latex "\\begin\{description\}\n\\item[%s%s]~%s\\end\{description\}"
           '((unless (eq todo "") (format "\\textsc\{%s%s\} " todo priority))
             heading content))
@@ -132,9 +134,9 @@ When nil, they will not be exported."
               heading content)))
   "Templates for inline tasks in various exporters.
 
-This variable is an alist in the shape of (BACKEND STRING OBJECTS).
+This variable is an alist in the shape of \(BACKEND STRING OBJECTS\).
 
-BACKEND is the name of the backend for the template (ascii, html...).
+BACKEND is the name of the backend for the template \(ascii, html...\).
 
 STRING is a format control string.
 
@@ -151,14 +153,14 @@ defined in an inline task, their value is the empty string.
 
 As an example, valid associations are:
 
-(html \"<ul><li>%s <p>%s</p></li></ul>\" (heading content))
+\(html \"<ul><li>%s <p>%s</p></li></ul>\" \(heading content\)\)
 
 or, with the additional package \"todonotes\" for LaTeX,
 
-(latex \"\\todo[inline]{\\textbf{\\textsf{%s %s}}\\linebreak{} %s}\"
-       '((unless (eq todo \"\")
-          (format \"\\textsc{%s%s}\" todo priority))
-        heading content)))")
+\(latex \"\\todo[inline]{\\textbf{\\textsf{%s %s}}\\linebreak{} %s}\"
+       '\(\(unless \(eq todo \"\"\)
+          \(format \"\\textsc{%s%s}\" todo priority\)\)
+        heading content\)\)\)")
 
 (defvar org-odd-levels-only)
 (defvar org-keyword-time-regexp)
@@ -179,15 +181,22 @@ default, or nil of no state should be assigned."
   "Insert an inline task.
 If prefix arg NO-STATE is set, ignore `org-inlinetask-default-state'."
   (interactive "P")
+  ;; Error when inside an inline task, except if point was at its very
+  ;; beginning, in which case the new inline task will be inserted
+  ;; before this one.
+  (when (and (org-inlinetask-in-task-p)
+            (not (and (org-inlinetask-at-task-p) (bolp))))
+    (error "Cannot nest inline tasks"))
   (or (bolp) (newline))
-  (let ((indent org-inlinetask-min-level))
-    (if org-odd-levels-only
-        (setq indent (- (* 2 indent) 1)))
-    (insert (make-string indent ?*)
-            (if (or no-state (not org-inlinetask-default-state))
-               " \n"
-             (concat " " org-inlinetask-default-state " \n"))
-            (make-string indent ?*) " END\n"))
+  (let* ((indent (if org-odd-levels-only
+                    (1- (* 2 org-inlinetask-min-level))
+                  org-inlinetask-min-level))
+        (indent-string (concat (make-string indent ?*) " ")))
+    (insert indent-string
+           (if (or no-state (not org-inlinetask-default-state))
+               "\n"
+             (concat org-inlinetask-default-state " \n"))
+           indent-string "END\n"))
   (end-of-line -1))
 (define-key org-mode-map "\C-c\C-xt" 'org-inlinetask-insert-task)
 
@@ -228,21 +237,26 @@ The number of levels is controlled by `org-inlinetask-min-level'."
       (re-search-backward inlinetask-re nil t))))
 
 (defun org-inlinetask-goto-end ()
-  "Go to the end of the inline task at point."
-  (beginning-of-line)
-  (let ((case-fold-search t)
-       (inlinetask-re (org-inlinetask-outline-regexp)))
-    (cond
-     ((org-looking-at-p (concat inlinetask-re "END[ \t]*$"))
-      (forward-line 1))
-     ((org-looking-at-p inlinetask-re)
-      (forward-line 1)
-      (when (org-inlinetask-in-task-p)
-       (re-search-forward inlinetask-re nil t)
-       (forward-line 1)))
-     (t
-      (re-search-forward inlinetask-re nil t)
-      (forward-line 1)))))
+  "Go to the end of the inline task at point.
+Return point."
+  (save-match-data
+    (beginning-of-line)
+    (let* ((case-fold-search t)
+          (inlinetask-re (org-inlinetask-outline-regexp))
+          (task-end-re (concat inlinetask-re "END[ \t]*$")))
+      (cond
+       ((looking-at task-end-re) (forward-line))
+       ((looking-at inlinetask-re)
+       (forward-line)
+       (cond
+        ((looking-at task-end-re) (forward-line))
+        ((looking-at inlinetask-re))
+        ((org-inlinetask-in-task-p)
+         (re-search-forward inlinetask-re nil t)
+         (forward-line))))
+       (t (re-search-forward inlinetask-re nil t)
+         (forward-line)))
+      (point))))
 
 (defun org-inlinetask-get-task-level ()
   "Get the level of the inline task around.
@@ -333,7 +347,9 @@ Either remove headline and meta data, or do special formatting."
       ;; Remove the task.
       (goto-char beg)
       (delete-region beg end)
-      (when org-inlinetask-export
+      (when (and org-inlinetask-export
+                (assq org-export-current-backend
+                      org-inlinetask-export-templates))
        ;; Format CONTENT, if appropriate.
        (setq content
              (if (not (and content (string-match "\\S-" content)))
@@ -341,12 +357,14 @@ Either remove headline and meta data, or do special formatting."
                ;; Ensure CONTENT has minimal indentation, a single
                ;; newline character at its boundaries, and isn't
                ;; protected.
-               (when (string-match "`\\([ \t]*\n\\)+" content)
+               (when (string-match "\\`\\([ \t]*\n\\)+" content)
                  (setq content (substring content (match-end 0))))
                (when (string-match "[ \t\n]+\\'" content)
                  (setq content (substring content 0 (match-beginning 0))))
-               (org-add-props (concat "\n" (org-remove-indentation content) "\n")
-                   '(org-protected nil))))
+               (org-add-props
+                   (concat "\n\n" (org-remove-indentation content) "\n\n")
+                   '(org-protected nil org-native-text nil))))
+
        (when (string-match org-complex-heading-regexp headline)
          (let* ((nil-to-str
                  (function
@@ -363,7 +381,7 @@ Either remove headline and meta data, or do special formatting."
                 (backend-spec (assq org-export-current-backend
                                     org-inlinetask-export-templates))
                 (format-str (org-add-props (nth 1 backend-spec)
-                                '(org-protected t)))
+                                '(org-protected t org-native-text t)))
                 (tokens (cadr (nth 2 backend-spec)))
                 ;; Build export string. Ensure it won't break
                 ;; surrounding lists by giving it arbitrary high
@@ -372,6 +390,11 @@ Either remove headline and meta data, or do special formatting."
                                 (eval (append '(format format-str)
                                               (mapcar nil-to-str tokens)))
                                 '(original-indentation 1000))))
+           ;; Ensure task starts a new paragraph.
+           (unless (or (bobp)
+                       (save-excursion (forward-line -1)
+                                       (looking-at "[ \t]*$")))
+             (insert "\n"))
            (insert export-str)
            (unless (bolp) (insert "\n")))))))))
 
@@ -386,21 +409,34 @@ Either remove headline and meta data, or do special formatting."
     (goto-char (match-end 0))
     (current-column)))
 
+(defvar org-indent-indentation-per-level) ; defined in org-indent.el
+
+(defface org-inlinetask
+  (org-compatible-face 'shadow '((t (:bold t))))
+  "Face for inlinetask headlines."
+  :group 'org-faces)
+
 (defun org-inlinetask-fontify (limit)
-  "Fontify the inline tasks."
+  "Fontify the inline tasks down to LIMIT."
   (let* ((nstars (if org-odd-levels-only
                     (1- (* 2 (or org-inlinetask-min-level 200)))
                   (or org-inlinetask-min-level 200)))
         (re (concat "^\\(\\*\\)\\(\\*\\{"
                    (format "%d" (- nstars 3))
-                   ",\\}\\)\\(\\*\\* .*\\)")))
+                   ",\\}\\)\\(\\*\\* .*\\)"))
+        ;; Virtual indentation will add the warning face on the first
+        ;; star. Thus, in that case, only hide it.
+        (start-face (if (and (org-bound-and-true-p org-indent-mode)
+                             (> org-indent-indentation-per-level 1))
+                        'org-hide
+                      'org-warning)))
     (while (re-search-forward re limit t)
       (add-text-properties (match-beginning 1) (match-end 1)
-                          '(face org-warning font-lock-fontified t))
+                          `(face ,start-face font-lock-fontified t))
       (add-text-properties (match-beginning 2) (match-end 2)
                           '(face org-hide font-lock-fontified t))
       (add-text-properties (match-beginning 3) (match-end 3)
-                          '(face shadow font-lock-fontified t)))))
+                          '(face org-inlinetask font-lock-fontified t)))))
 
 (defun org-inlinetask-toggle-visibility ()
   "Toggle visibility of inline task at point."
index eb2d011efb9f3c34cb607bc89d0ae7596cee7adc..8df78b6b68d5f9401f9e5b29c97b48ca74b2405f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; org-install.el --- Outline-based notes management and organizer
 ;; Carstens outline-mode for keeping track of everything.
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
index 7a84d2053ade6414de72af97a2a74b42dc2f5aa6..107428366dc663909cc6fb5c53ab8179662d1152 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-irc.el --- Store links to IRC sessions
 ;;
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Philip Jackson <emacs@shellarchive.co.uk>
 ;; Keywords: erc, irc, link, org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -60,6 +59,8 @@
 (declare-function erc-server-buffer "erc" ())
 (declare-function erc-get-server-nickname-list "erc" ())
 (declare-function erc-cmd-JOIN "erc" (channel &optional key))
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 (defvar org-irc-client 'erc
   "The IRC client to act on.")
@@ -232,7 +233,7 @@ default."
                                      (throw 'found x))))))
                (if chan-buf
                    (progn
-                     (switch-to-buffer chan-buf)
+                     (org-pop-to-buffer-same-window chan-buf)
                      ;; if we got a nick, and they're in the chan,
                      ;; then start a chat with them
                      (let ((nick (pop link)))
@@ -243,14 +244,12 @@ default."
                                (insert (concat nick ": ")))
                              (error "%s not found in %s" nick chan-name)))))
                    (progn
-                     (switch-to-buffer server-buffer)
+                     (org-pop-to-buffer-same-window server-buffer)
                      (erc-cmd-JOIN chan-name))))
-             (switch-to-buffer server-buffer)))
+             (org-pop-to-buffer-same-window server-buffer)))
        ;; no server match, make new connection
        (erc-select :server server :port port))))
 
 (provide 'org-irc)
 
-
-
 ;;; org-irc.el ends here
index 3ef8c4c809c090ba569fad4440514f9b5ce9b578..f4075d02981c8f383c03deb1365ba92653e202f8 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-jsinfo.el --- Support for org-info.js Javascript in Org HTML export
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -204,6 +203,4 @@ Option settings will replace the %MANAGER-OPTIONS cookie."
 (provide 'org-infojs)
 (provide 'org-jsinfo)
 
-
-
 ;;; org-jsinfo.el ends here
index 7abf85a7092c8940849b3ee4effc6e2068ecf900..ba7f8fd625976444b5ba86009120c1a01e35893a 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-latex.el --- LaTeX exporter for org-mode
 ;;
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 ;;
 ;; Emacs Lisp Archive Entry
 ;; Filename: org-latex.el
-;; Version: 7.7
-;; Author: Bastien Guerry <bzg AT altern DOT org>
+;; Author: Bastien Guerry <bzg AT gnu DOT org>
 ;; Maintainer: Carsten Dominik <carsten.dominik AT gmail DOT com>
 ;; Keywords: org, wp, tex
 ;; Description: Converts an org-mode buffer into LaTeX
@@ -74,7 +73,6 @@
          org-deadline-string "\\|"
          org-closed-string"\\)")
   "Regexp matching special time planning keywords plus the time after it.")
-
 (defvar org-re-quote)  ; dynamically scoped from org.el
 (defvar org-commentsp) ; dynamically scoped from org.el
 
@@ -359,6 +357,12 @@ string defines the replacement string for this quote."
   :group 'org-export-latex
   :type 'boolean)
 
+(defcustom org-export-latex-table-caption-above t
+  "When non-nil, the caption is set above the table.  When nil,
+the caption is set below the table."
+  :group 'org-export-latex
+  :type 'boolean)
+
 (defcustom org-export-latex-tables-column-borders nil
   "When non-nil, grouping columns can cause outer vertical lines in tables.
 When nil, grouping causes only separation lines between groups."
@@ -402,7 +406,7 @@ will pass them (combined with the LaTeX default list parameters) to
   :type 'plist)
 
 (defcustom org-export-latex-verbatim-wrap
-  '("\\begin{verbatim}\n" . "\\end{verbatim}\n")
+  '("\\begin{verbatim}\n" . "\\end{verbatim}")
   "Environment to be wrapped around a fixed-width section in LaTeX export.
 This is a cons with two strings, to be added before and after the
 fixed-with text.
@@ -594,7 +598,7 @@ and `org-export-with-tags' instead."
   "Extensions of image files that can be inlined into LaTeX.
 Note that the image extension *actually* allowed depend on the way the
 LaTeX file is processed.  When used with pdflatex, pdf, jpg and png images
-are OK.  When processing through dvi to PostScript, only ps and eps are
+are OK.  When processing through dvi to Postscript, only ps and eps are
 allowed.  The default we use here encompasses both."
   :group 'org-export-latex
   :type '(repeat (string :tag "Extension")))
@@ -719,7 +723,7 @@ then use this command to convert it."
   (interactive "r")
   (let (reg latex buf)
     (save-window-excursion
-      (if (org-mode-p)
+      (if (eq major-mode 'org-mode)
          (setq latex (org-export-region-as-latex
                       beg end t 'string))
        (setq reg (buffer-substring beg end)
@@ -865,6 +869,8 @@ when PUB-DIR is set, use this as the publishing directory."
                          (file-truename (or buffer-file-name "dummy.org")))
                   (concat filename ".tex")
                 filename)))
+        (auto-insert nil); Avoid any auto-insert stuff for the new file
+        (TeX-master t) ; Avoid the Query for TeX master from AUCTeX
         (buffer (if to-buffer
                     (cond
                      ((eq to-buffer 'string) (get-buffer-create
@@ -1340,7 +1346,7 @@ LEVEL indicates the default depth for export."
              (save-restriction
                (widen)
                (goto-char (point-min))
-               (and (re-search-forward "^#\\+LaTeX_CLASS:[ \t]*\\(-[a-zA-Z]+\\)" nil t)
+               (and (re-search-forward "^#\\+LaTeX_CLASS:[ \t]*\\([-/a-zA-Z]+\\)" nil t)
                     (match-string 1))))
            (plist-get org-export-latex-options-plist :latex-class)
            org-export-latex-default-class)
@@ -1395,7 +1401,11 @@ OPT-PLIST is the options plist for current buffer."
        (email (replace-regexp-in-string
                "_" "\\\\_"
                (org-export-apply-macros-in-string
-                (plist-get opt-plist :email)))))
+                (plist-get opt-plist :email))))
+       (description (org-export-apply-macros-in-string
+                     (plist-get opt-plist :description)))
+       (keywords (org-export-apply-macros-in-string
+                  (plist-get opt-plist :keywords))))
     (concat
      (if (plist-get opt-plist :time-stamp-file)
         (format-time-string "%% Created %Y-%m-%d %a %H:%M\n"))
@@ -1429,6 +1439,12 @@ OPT-PLIST is the options plist for current buffer."
             (format-time-string
              (or (plist-get opt-plist :date)
                  org-export-latex-date-format)))
+     ;; add some hyperref options
+     ;; FIXME: let's have a defcustom for this?
+     (format "\\hypersetup{\n  pdfkeywords={%s},\n  pdfsubject={%s},\n  pdfcreator={%s}}\n"
+         (org-export-latex-fontify-headline keywords)
+         (org-export-latex-fontify-headline description)
+        (concat "Emacs Org-mode version " org-version))
      ;; beginning of the document
      "\n\\begin{document}\n\n"
      ;; insert the title command
@@ -1837,7 +1853,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
                  (replace-match (concat (match-string 1)
                                         (match-string 2)) t t)
                  (forward-line))
-               (insert "\\end{verbatim}\n\n"))
+               (insert "\\end{verbatim}\n"))
        (progn (goto-char (match-beginning 0))
              (while (looking-at "^\\([ \t]*\\):\\(\\([ \t]\\|$\\).*\\)$")
                (replace-match (concat "%" (match-string 1)
@@ -1966,13 +1982,13 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
                             (concat "\\begin{longtable}{" align "}\n")
                           (if floatp
                              (format "\\begin{%s}%s\n" tblenv placement)))
-                        (if floatp
+                        (if (and floatp org-export-latex-table-caption-above)
                             (format
                              "\\caption%s{%s} %s"
                              (if shortn (concat "[" shortn "]") "")
                              (or caption "")
                             (if label (format "\\label{%s}" label) "")))
-                        (if (and longtblp caption) "\\\\\n" "\n")
+                       (if (and longtblp caption) "\\\\\n" "\n")
                         (if (and org-export-latex-tables-centered (not longtblp))
                             "\\begin{center}\n")
                         (if (not longtblp)
@@ -1994,6 +2010,12 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
                         (if (not longtblp) (format "\n\\end{%s}" tabular-env))
                         (if longtblp "\n" (if org-export-latex-tables-centered
                                               "\n\\end{center}\n" "\n"))
+                        (if (and floatp (not org-export-latex-table-caption-above))
+                            (format
+                             "\\caption%s{%s} %s"
+                             (if shortn (concat "[" shortn "]") "")
+                             (or caption "")
+                            (if label (format "\\label{%s}" label) "")))
                         (if longtblp
                             "\\end{longtable}"
                           (if floatp (format "\\end{%s}" tblenv)))))
@@ -2043,11 +2065,12 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
       (setq tbl (concat "\\begin{center}\n" tbl "\\end{center}")))
     (when floatp
       (setq tbl (concat "\\begin{table}\n"
+                       (if (not org-export-latex-table-caption-above) tbl)
                        (format "\\caption%s{%s%s}\n"
                                (if shortn (format "[%s]" shortn) "")
                                (if label (format "\\label{%s}" label) "")
                                (or caption ""))
-                       tbl
+                       (if org-export-latex-table-caption-above tbl)
                        "\n\\end{table}\n")))
     (insert (org-export-latex-protect-string tbl))))
 
@@ -2338,7 +2361,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
                                          (let ((next (org-footnote-get-next-reference)))
                                            (and next (= (nth 1 next) (nth 2 ref)))))
                          org-export-latex-footnote-separator ""))))
-           (when (org-on-heading-p)
+           (when (org-at-heading-p)
              (setq fnote (concat (org-export-latex-protect-string "\\protect")
                                  fnote)))
            ;; Ensure a footnote at column 0 cannot end a list
@@ -2769,6 +2792,4 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
 (provide 'org-export-latex)
 (provide 'org-latex)
 
-
-
 ;;; org-latex.el ends here
index 72fc71854e2cc08d4ec00e906582185c651c15a9..b36167701b4680e9b5cece4782e315b9a530e8ed 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-list.el --- Plain lists for Org-mode
 ;;
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
-;;        Bastien Guerry <bzg AT altern DOT org>
+;;        Bastien Guerry <bzg AT gnu DOT org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 
 ;; This file contains the code dealing with plain lists in Org-mode.
 
-;; The fundamental idea behind lists work is to use structures.
-;; A structure is a snapshot of the list, in the shape of data tree
-;; (see `org-list-struct').
+;; The core concept behind lists is their structure.  A structure is
+;; a snapshot of the list, in the shape of a data tree (see
+;; `org-list-struct').
 
 ;; Once the list structure is stored, it is possible to make changes
-;; directly on it or get useful information about the list, with the
-;; two helper functions, namely `org-list-parents-alist' and
-;; `org-list-prevs-alist', and using accessors or methods.
+;; on it that will be mirrored to the real list or to get information
+;; about the list, using accessors and methods provided in the
+;; library.  Most of them require the use of one or two helper
+;; functions, namely `org-list-parents-alist' and
+;; `org-list-prevs-alist'.
 
 ;; Structure is eventually applied to the buffer with
 ;; `org-list-write-struct'.  This function repairs (bullets,
-;; indentation, checkboxes) the structure before applying it.  It
-;; should be called near the end of any function working on
-;; structures.
+;; indentation, checkboxes) the list in the process.  It should be
+;; called near the end of any function working on structures.
 
 ;; Thus, a function applying to lists should usually follow this
 ;; template:
 
 ;; 1. Verify point is in a list and grab item beginning (with the same
 ;;    function `org-in-item-p').  If the function requires the cursor
-;;    to be at item's bullet, `org-at-item-p' is more selective.  If
-;;    the cursor is amidst the buffer, it is possible to find the
-;;    closest item with `org-list-search-backward', or
-;;    `org-list-search-forward', applied to `org-item-beginning-re'.
+;;    to be at item's bullet, `org-at-item-p' is more selective.  It
+;;    is also possible to move point to the closest item with
+;;    `org-list-search-backward', or `org-list-search-forward',
+;;    applied to the function `org-item-beginning-re'.
 
 ;; 2. Get list structure with `org-list-struct'.
 
 ;; 4. Proceed with the modifications, using methods and accessors.
 
 ;; 5. Verify and apply structure to buffer, using
-;;    `org-list-write-struct'.  Possibly use
-;;    `org-update-checkbox-count-maybe' if checkboxes might have been
-;;    modified.
+;;    `org-list-write-struct'.
 
-;; Computing a list structure can be a costly operation on huge lists
-;; (a few thousand lines long).  Thus, code should follow the rule :
+;; 6. If changes made to the list might have modified check-boxes,
+;;    call `org-update-checkbox-count-maybe'.
+
+;; Computing a 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 usually a bad idea
 ;; to use directly an interactive function inside the code, as those,
-;; being independent entities, read the whole list structure another
+;; being independant entities, read the whole list structure another
 ;; time.
 
 ;;; Code:
@@ -95,7 +96,6 @@
 
 (declare-function org-at-heading-p "org" (&optional ignored))
 (declare-function org-before-first-heading-p "org" ())
-(declare-function org-back-over-empty-lines "org" ())
 (declare-function org-back-to-heading "org" (&optional invisible-ok))
 (declare-function org-combine-plists "org" (&rest plists))
 (declare-function org-count "org" (cl-item cl-seq))
 (declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
 (declare-function org-level-increment "org" ())
 (declare-function org-narrow-to-subtree "org" ())
-(declare-function org-on-heading-p "org" (&optional invisible-ok))
+(declare-function org-at-heading-p "org" (&optional invisible-ok))
 (declare-function org-previous-line-empty-p "org" ())
 (declare-function org-remove-if "org" (predicate seq))
 (declare-function org-reduced-level "org" (L))
 (declare-function outline-next-heading "outline" ())
 (declare-function outline-previous-heading "outline" ())
 
+
+\f
 ;;; Configuration variables
 
 (defgroup org-plain-lists nil
@@ -271,7 +273,7 @@ By default, automatic actions are taken when using
  \\[org-meta-return], \\[org-metaright], \\[org-metaleft],
  \\[org-shiftmetaright], \\[org-shiftmetaleft],
  \\[org-ctrl-c-minus], \\[org-toggle-checkbox] or
- \\[org-insert-todo-heading]. You can disable individually these
+ \\[org-insert-todo-heading].  You can disable individually these
  rules by setting them to nil.  Valid rules are:
 
 bullet    when non-nil, cycling bullet do not allow lists at
@@ -376,6 +378,7 @@ specifically, type `block' is determined by the variable
 `org-list-forbidden-blocks'.")
 
 
+\f
 ;;; Predicates and regexps
 
 (defconst org-list-end-re (if org-empty-line-terminates-plain-lists
@@ -385,9 +388,9 @@ specifically, type `block' is determined by the variable
 It depends on `org-empty-line-terminates-plain-lists'.")
 
 (defconst org-list-full-item-re
-  (concat "^[ \t]*\\(\\(?:[-+*]\\|\\(?:[0-9]+\\|[A-Za-z]\\)[.)]\\)[ \t]+\\)"
+  (concat "^[ \t]*\\(\\(?:[-+*]\\|\\(?:[0-9]+\\|[A-Za-z]\\)[.)]\\)\\(?:[ \t]+\\|$\\)\\)"
          "\\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[A-Za-z]\\)\\][ \t]*\\)?"
-         "\\(?:\\(\\[[ X-]\\]\\)[ \t]+\\)?"
+         "\\(?:\\(\\[[ X-]\\]\\)\\(?:[ \t]+\\|$\\)\\)?"
          "\\(?:\\(.*\\)[ \t]+::\\(?:[ \t]+\\|$\\)\\)?")
   "Matches a list item and puts everything into groups:
 group 1: bullet
@@ -535,6 +538,7 @@ This checks `org-list-ending-method'."
        (match-string 2)))
 
 
+\f
 ;;; Structures and helper functions
 
 (defun org-list-context ()
@@ -681,7 +685,7 @@ Assume point is at an item."
              (cond
               ((<= (point) lim-up)
                ;; At upward limit: if we ended at an item, store it,
-               ;; else dismiss useless data recorded above BEG-CELL.
+               ;; else dimiss useless data recorded above BEG-CELL.
                ;; Jump to part 2.
                (throw 'exit
                       (setq itm-lst
@@ -803,21 +807,9 @@ Assume point is at an item."
              (forward-line 1))))))
       (setq struct (append itm-lst (cdr (nreverse itm-lst-2)))
            end-lst (append end-lst (cdr (nreverse end-lst-2))))
-      ;; 3. Correct ill-formed lists by ensuring top item is the least
-      ;;    indented.
-      (let ((min-ind (nth 1 (car struct))))
-       (mapc (lambda (item)
-               (let ((ind (nth 1 item))
-                     (bul (nth 2 item)))
-                 (when (< ind min-ind)
-                   (setcar (cdr item) min-ind)
-                   ;; Trim bullet so item will be seen as different
-                   ;; when compared with repaired version.
-                   (setcar (nthcdr 2 item) (org-trim bul)))))
-             struct))
-      ;; 4. Associate each item to its end pos.
+      ;; 3. Associate each item to its end position.
       (org-list-struct-assoc-end struct end-lst)
-      ;; 5. Return STRUCT
+      ;; 4. Return STRUCT
       struct)))
 
 (defun org-list-struct-assoc-end (struct end-list)
@@ -854,8 +846,9 @@ This function modifies STRUCT."
 
 (defun org-list-parents-alist (struct)
   "Return alist between item and parent in STRUCT."
-  (let ((ind-to-ori (list (list (nth 1 (car struct)))))
-       (prev-pos (list (caar struct))))
+  (let* ((ind-to-ori (list (list (nth 1 (car struct)))))
+        (top-item (org-list-get-top-point struct))
+        (prev-pos (list top-item)))
     (cons prev-pos
          (mapcar (lambda (item)
                    (let ((pos (car item))
@@ -864,17 +857,34 @@ This function modifies STRUCT."
                      (push pos prev-pos)
                      (cond
                       ((> prev-ind ind)
+                       ;; A sub-list is over.  Find the associated
+                       ;; origin in IND-TO-ORI.  If it cannot be
+                       ;; found (ill-formed list), set its parent as
+                       ;; the first item less indented.  If there is
+                       ;; none, make it a top-level item.
                        (setq ind-to-ori
-                             (member (assq ind ind-to-ori) ind-to-ori))
+                             (or (member (assq ind ind-to-ori) ind-to-ori)
+                                  (catch 'exit
+                                    (mapc
+                                     (lambda (e)
+                                       (when (< (car e) ind)
+                                         (throw 'exit (member e ind-to-ori))))
+                                     ind-to-ori)
+                                    (list (list ind)))))
                        (cons pos (cdar ind-to-ori)))
+                       ;; A sub-list starts.  Every item at IND will
+                       ;; have previous item as its parent.
                       ((< prev-ind ind)
                        (let ((origin (nth 1 prev-pos)))
                          (push (cons ind origin) ind-to-ori)
                          (cons pos origin)))
+                       ;; Another item in the same sub-list: it shares
+                       ;; the same parent as the previous item.
                       (t (cons pos (cdar ind-to-ori))))))
                  (cdr struct)))))
 
 
+\f
 ;;; Accessors
 
 (defsubst org-list-get-nth (n key struct)
@@ -992,8 +1002,8 @@ items, as returned by `org-list-prevs-alist'."
 
 (defun org-list-get-children (item struct parents)
   "List all children of ITEM, or nil.
-STRUCT is the list structure. PARENTS is the alist of parents, as
-returned by `org-list-parents-alist'."
+STRUCT is the list structure.  PARENTS is the alist of parents,
+as returned by `org-list-parents-alist'."
   (let (all child)
     (while (setq child (car (rassq item parents)))
       (setq parents (cdr (member (assq child parents) parents)))
@@ -1052,6 +1062,7 @@ type is determined by the first item of the list."
      (t 'unordered))))
 
 
+\f
 ;;; Searching
 
 (defun org-list-search-generic (search re bound noerr)
@@ -1084,6 +1095,7 @@ Arguments REGEXP, BOUND and NOERROR are similar to those used in
                           regexp (or bound (point-max)) noerror))
 
 
+\f
 ;;; Methods on structures
 
 (defsubst org-list-bullet-string (bullet)
@@ -1168,7 +1180,16 @@ some heuristics to guess the result."
     (let ((item (point))
          (insert-blank-p
           (cdr (assq 'plain-list-item org-blank-before-new-entry)))
-         usr-blank)
+         usr-blank
+         (count-blanks
+          (function
+           (lambda ()
+             ;; Count blank lines above beginning of line.
+             (save-excursion
+               (count-lines (goto-char (point-at-bol))
+                            (progn (skip-chars-backward " \r\t\n")
+                                   (forward-line)
+                                   (point))))))))
       (cond
        ;; Trivial cases where there should be none.
        ((or (and (not (eq org-list-ending-method 'indent))
@@ -1177,21 +1198,20 @@ some heuristics to guess the result."
        ;; When `org-blank-before-new-entry' says so, it is 1.
        ((eq insert-blank-p t) 1)
        ;; `plain-list-item' is 'auto.  Count blank lines separating
-       ;; neighboring items in list.
+       ;; neighbours items in list.
        (t (let ((next-p (org-list-get-next-item item struct prevs)))
            (cond
             ;; Is there a next item?
             (next-p (goto-char next-p)
-                    (org-back-over-empty-lines))
+                    (funcall count-blanks))
             ;; Is there a previous item?
             ((org-list-get-prev-item item struct prevs)
-             (org-back-over-empty-lines))
+             (funcall count-blanks))
             ;; User inserted blank lines, trust him.
             ((and (> pos (org-list-get-item-end-before-blank item struct))
-                  (> (save-excursion
-                       (goto-char pos)
-                       (skip-chars-backward " \t")
-                       (setq usr-blank (org-back-over-empty-lines))) 0))
+                  (> (save-excursion (goto-char pos)
+                                     (setq usr-blank (funcall count-blanks)))
+                     0))
              usr-blank)
             ;; Are there blank lines inside the list so far?
             ((save-excursion
@@ -1207,7 +1227,7 @@ some heuristics to guess the result."
 If POS is before first character after bullet of the item, the
 new item will be created before the current one.
 
-STRUCT is the list structure.  PREVS is the alist of previous
+STRUCT is the list structure.  PREVS is the the alist of previous
 items, as returned by `org-list-prevs-alist'.
 
 Insert a checkbox if CHECKBOX is non-nil, and string AFTER-BULLET
@@ -1364,8 +1384,8 @@ If DEST is a buffer position, the function will assume it points
 to another item in the same list as ITEM, and will move the
 latter just before the former.
 
-If DEST is `begin' \(resp. `end'\), ITEM will be moved at the
-beginning \(resp. end\) of the list it belongs to.
+If DEST is `begin' \(respectively `end'\), ITEM will be moved at
+the beginning \(respectively end\) of the list it belongs to.
 
 If DEST is a string like \"N\", where N is an integer, ITEM will
 be moved at the Nth position in the list.
@@ -1543,12 +1563,13 @@ bullets between START and END."
     (mapcar ind parents)))
 
 
+\f
 ;;; Repairing structures
 
 (defun org-list-use-alpha-bul-p (first struct prevs)
   "Non-nil if list starting at FIRST can have alphabetical bullets.
 
-STRUCT is list structure. PREVS is the alist of previous items,
+STRUCT is list structure.  PREVS is the alist of previous items,
 as returned by `org-list-prevs-alist'."
   (and org-alphabetical-lists
        (catch 'exit
@@ -1746,15 +1767,41 @@ This function modifies STRUCT."
            ;; Return blocking item.
            (nth index all-items)))))))
 
+(defun org-list-struct-fix-item-end (struct)
+  "Verify and correct each item end position in STRUCT.
+
+This function modifies STRUCT."
+  (let (end-list acc-end)
+    (mapc (lambda (e)
+           (let* ((pos (car e))
+                  (ind-pos (org-list-get-ind pos struct))
+                  (end-pos (org-list-get-item-end pos struct)))
+             (unless (assq end-pos struct)
+               ;; To determine real ind of an ending position that is
+               ;; not at an item, we have to find the item it belongs
+               ;; to: it is the last item (ITEM-UP), whose ending is
+               ;; further than the position we're interested in.
+               (let ((item-up (assoc-default end-pos acc-end '>)))
+                 (push (cons
+                        ;; Else part is for the bottom point.
+                        (if item-up (+ (org-list-get-ind item-up struct) 2) 0)
+                        end-pos)
+                       end-list)))
+             (push (cons ind-pos pos) end-list)
+             (push (cons end-pos pos) acc-end)))
+         struct)
+    (setq end-list (sort end-list (lambda (e1 e2) (< (cdr e1) (cdr e2)))))
+    (org-list-struct-assoc-end struct end-list)))
+
 (defun org-list-struct-apply-struct (struct old-struct)
-  "Apply set-difference between STRUCT and OLD-STRUCT to the buffer.
+  "Apply set difference between STRUCT and OLD-STRUCT to the buffer.
 
 OLD-STRUCT is the structure before any modifications, and STRUCT
 the structure to be applied.  The function will only modify parts
 of the list which have changed.
 
 Initial position of cursor is restored after the changes."
-  (let* ((origin (copy-marker (point)))
+  (let* ((origin (point-marker))
         (inlinetask-re (and (featurep 'org-inlinetask)
                             (org-inlinetask-outline-regexp)))
         (item-re (org-item-re))
@@ -1804,13 +1851,11 @@ Initial position of cursor is restored after the changes."
                ((and (match-string 3) new-box)
                 (replace-match new-box nil nil nil 3))
                ((match-string 3)
-                ;; (goto-char (or (match-end 2) (match-end 1)))
-                ;; (skip-chars-backward " \t")
                 (looking-at ".*?\\([ \t]*\\[[ X-]\\]\\)")
                 (replace-match "" nil nil nil 1))
                (t (let ((counterp (match-end 2)))
                     (goto-char (if counterp (1+ counterp) (match-end 1)))
-                  (insert (concat new-box (unless counterp " "))))))
+                    (insert (concat new-box (unless counterp " "))))))
               ;; c. Indent item to appropriate column.
               (unless (= new-ind old-ind)
                 (delete-region (goto-char (point-at-bol))
@@ -1869,53 +1914,38 @@ Initial position of cursor is restored after the changes."
     (goto-char origin)
     (move-marker origin nil)))
 
-(defun org-list-write-struct (struct parents)
+(defun org-list-write-struct (struct parents &optional old-struct)
   "Correct bullets, checkboxes and indentation in list at point.
+
 STRUCT is the list structure.  PARENTS is the alist of parents,
-as returned by `org-list-parents-alist'."
+as returned by `org-list-parents-alist'.
+
+When non-nil, optional argument OLD-STRUCT is the reference
+structure of the list.  It should be provided whenever STRUCT
+doesn't correspond anymore to the real list in buffer."
   ;; Order of functions matters here: checkboxes and endings need
   ;; correct indentation to be set, and indentation needs correct
   ;; bullets.
   ;;
   ;; 0. Save a copy of structure before modifications
-  (let ((old-struct (copy-tree struct)))
+  (let ((old-struct (or old-struct (copy-tree struct))))
     ;; 1. Set a temporary, but coherent with PARENTS, indentation in
     ;;    order to get items endings and bullets properly
     (org-list-struct-fix-ind struct parents 2)
-    ;; 2. Get pseudo-alist of ending positions and sort it by position.
-    ;;    Then associate them to the structure.
-    (let (end-list acc-end)
-    (mapc (lambda (e)
-           (let* ((pos (car e))
-                  (ind-pos (org-list-get-ind pos struct))
-                  (end-pos (org-list-get-item-end pos struct)))
-             (unless (assq end-pos struct)
-               ;; To determine real ind of an ending position that is
-               ;; not at an item, we have to find the item it belongs
-               ;; to: it is the last item (ITEM-UP), whose ending is
-               ;; further than the position we're interested in.
-               (let ((item-up (assoc-default end-pos acc-end '>)))
-                 (push (cons
-                        ;; Else part is for the bottom point.
-                        (if item-up (+ (org-list-get-ind item-up struct) 2) 0)
-                        end-pos)
-                       end-list)))
-             (push (cons ind-pos pos) end-list)
-             (push (cons end-pos pos) acc-end)))
-         struct)
-    (setq end-list (sort end-list (lambda (e1 e2) (< (cdr e1) (cdr e2)))))
-    (org-list-struct-assoc-end struct end-list))
-  ;; 3. Get bullets right.
-  (let ((prevs (org-list-prevs-alist struct)))
-    (org-list-struct-fix-bul struct prevs)
-    ;; 4. Now get real indentation.
-    (org-list-struct-fix-ind struct parents)
-    ;; 5. Eventually fix checkboxes.
-    (org-list-struct-fix-box struct parents prevs))
-  ;; 6. Apply structure modifications to buffer.
-  (org-list-struct-apply-struct struct old-struct)))
-
-
+    ;; 2. Fix each item end to get correct prevs alist.
+    (org-list-struct-fix-item-end struct)
+    ;; 3. Get bullets right.
+    (let ((prevs (org-list-prevs-alist struct)))
+      (org-list-struct-fix-bul struct prevs)
+      ;; 4. Now get real indentation.
+      (org-list-struct-fix-ind struct parents)
+      ;; 5. Eventually fix checkboxes.
+      (org-list-struct-fix-box struct parents prevs))
+    ;; 6. Apply structure modifications to buffer.
+    (org-list-struct-apply-struct struct old-struct)))
+
+
+\f
 ;;; Misc Tools
 
 (defun org-apply-on-list (function init-value &rest args)
@@ -1947,7 +1977,7 @@ beginning of the item."
 (defun org-list-set-item-visibility (item struct view)
   "Set visibility of ITEM in STRUCT to VIEW.
 
-Possible values are: `folded', `children' or `subtree'. See
+Possible values are: `folded', `children' or `subtree'.  See
 `org-cycle' for more information."
   (cond
    ((eq view 'folded)
@@ -1983,6 +2013,7 @@ Possible values are: `folded', `children' or `subtree'. See
     tcol))
 
 
+\f
 ;;; Interactive functions
 
 (defalias 'org-list-get-item-begin 'org-in-item-p)
@@ -2257,7 +2288,7 @@ in subtree, ignoring drawers."
                    (setq lim-up (point-at-bol))
                  (error "No item in region"))
                (setq lim-down (copy-marker limit))))
-            ((org-on-heading-p)
+            ((org-at-heading-p)
              ;; On an heading, start at first item after drawers and
              ;; time-stamps (scheduled, etc.).
              (let ((limit (save-excursion (outline-next-heading) (point))))
@@ -2274,7 +2305,7 @@ in subtree, ignoring drawers."
             ((org-at-item-p)
              (setq singlep t)
              (setq lim-up (point-at-bol)
-                   lim-down (point-at-eol)))
+                   lim-down (copy-marker (point-at-eol))))
             (t (error "Not at an item or heading, and no active region"))))
           ;; Determine the checkbox going to be applied to all items
           ;; within bounds.
@@ -2328,9 +2359,9 @@ in subtree, ignoring drawers."
             "Checkboxes were removed due to unchecked box at line %d"
             (org-current-line block-item))))
          (goto-char bottom)
-         (move-marker lim-down nil)
          (move-marker bottom nil)
-         (org-list-struct-apply-struct struct struct-copy)))))
+         (org-list-struct-apply-struct struct struct-copy)))
+      (move-marker lim-down nil)))
   (org-update-checkbox-count-maybe))
 
 (defun org-reset-checkbox-state-subtree ()
@@ -2416,7 +2447,7 @@ With optional prefix argument ALL, do this for the whole buffer."
              (cond                     ; boxes count
               ;; Cookie is at an heading, but specifically for todo,
               ;; not for checkboxes: skip it.
-              ((and (org-on-heading-p)
+              ((and (org-at-heading-p)
                     (string-match "\\<todo\\>"
                                   (downcase
                                    (or (org-entry-get nil "COOKIE_DATA") ""))))
@@ -2425,14 +2456,14 @@ With optional prefix argument ALL, do this for the whole buffer."
               ;; heading already have been read.  Use data collected
               ;; in STRUCTS-BAK.  This should only happen when
               ;; heading has more than one cookie on it.
-              ((and (org-on-heading-p)
+              ((and (org-at-heading-p)
                     (<= (save-excursion (outline-next-heading) (point))
                         backup-end))
                (funcall count-boxes nil structs-bak recursivep))
               ;; Cookie is at a fresh heading.  Grab structure of
               ;; every list containing a checkbox between point and
               ;; next headline, and save them in STRUCTS-BAK.
-              ((org-on-heading-p)
+              ((org-at-heading-p)
                (setq backup-end (save-excursion
                                   (outline-next-heading) (point))
                      structs-bak nil)
@@ -2491,7 +2522,8 @@ Otherwise it will be `org-todo'."
       'org-checkbox-statistics-todo)))
 
 (defun org-update-checkbox-count-maybe (&optional all)
-  "Update checkbox statistics unless turned off by user."
+  "Update checkbox statistics unless turned off by user.
+With an optional argument ALL, update them in the whole buffer."
   (when (cdr (assq 'checkbox org-list-automatic-rules))
     (org-update-checkbox-count all))
   (run-hooks 'org-checkbox-statistics-hook))
@@ -2642,7 +2674,7 @@ If a region is active, all items inside will be moved."
 (defvar org-tab-ind-state)
 (defun org-cycle-item-indentation ()
   "Cycle levels of indentation of an empty item.
-The first run indents the item, if applicable.  Subsequent runs
+The first run indents the item, if applicable.  Subsequents runs
 outdent it at meaningful levels in the list.  When done, item is
 put back at its original position with its original bullet.
 
@@ -2711,7 +2743,7 @@ Capital letters will reverse the sort order.
 If the SORTING-TYPE is ?f or ?F, then GETKEY-FUNC specifies
 a function to be called with point at the beginning of the
 record.  It must return either a string or a number that should
-serve as the sorting key for that record. It will then use
+serve as the sorting key for that record.  It will then use
 COMPARE-FUNC to compare entries."
   (interactive "P")
   (let* ((case-func (if with-case 'identity 'downcase))
@@ -2786,6 +2818,7 @@ COMPARE-FUNC to compare entries."
        (message "Sorting items...done")))))
 
 
+\f
 ;;; Send and receive lists
 
 (defun org-list-parse-list (&optional delete)
@@ -2975,6 +3008,10 @@ for this list."
          (insert txt "\n")))
       (message "List converted and installed at receiver location"))))
 
+(defsubst org-list-item-trim-br (item)
+  "Trim line breaks in a list ITEM."
+  (setq item (replace-regexp-in-string "\n +" " " item)))
+
 (defun org-list-to-generic (list params)
   "Convert a LIST parsed through `org-list-parse-list' to other formats.
 Valid parameters PARAMS are:
@@ -3006,9 +3043,11 @@ Valid parameters PARAMS are:
 :cbon       String to insert for a checked check-box
 :cbtrans    String to insert for a check-box in transitional state
 
+:nobr       Non-nil means remove line breaks in lists items.
+
 Alternatively, each parameter can also be a form returning
 a string.  These sexp can use keywords `counter' and `depth',
-representing respectively counter associated to the current
+reprensenting 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."
@@ -3034,6 +3073,7 @@ items."
         (cbon (plist-get p :cbon))
         (cboff (plist-get p :cboff))
         (cbtrans (plist-get p :cbtrans))
+        (nobr (plist-get p :nobr))
         export-sublist                 ; for byte-compiler
         (export-item
          (function
@@ -3065,6 +3105,8 @@ items."
                 (setq first (replace-match cboff t t first)))
                ((string-match "\\[CBTRANS\\]" first)
                 (setq first (replace-match cbtrans t t first))))
+              ;; Replace line breaks if required
+              (when nobr (setq first (org-list-item-trim-br first)))
               ;; Insert descriptive term if TYPE is `descriptive'.
               (when (eq type 'descriptive)
                 (let* ((complete (string-match "^\\(.*\\)[ \t]+::" first))
@@ -3200,5 +3242,4 @@ with overruling parameters for `org-list-to-generic'."
 
 (provide 'org-list)
 
-
 ;;; org-list.el ends here
diff --git a/lisp/org/org-lparse.el b/lisp/org/org-lparse.el
new file mode 100644 (file)
index 0000000..b13dc86
--- /dev/null
@@ -0,0 +1,2334 @@
+;;; org-lparse.el --- Line-oriented parser-exporter for Org-mode
+
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+;; Author: Jambunathan K <kjambunathan at gmail dot com>
+;; Keywords: outlines, hypermedia, calendar, wp
+;; Homepage: http://orgmode.org
+
+;; 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:
+
+;; `org-lparse' is the entry point for the generic line-oriented
+;; exporter.  `org-do-lparse' is the genericized version of the
+;; original `org-export-as-html' routine.
+
+;; `org-lparse-native-backends' is a good starting point for
+;; exploring the generic exporter.
+
+;; Following new interactive commands are provided by this library.
+;; `org-lparse', `org-lparse-and-open', `org-lparse-to-buffer'
+;; `org-replace-region-by', `org-lparse-region'.
+
+;; Note that the above routines correspond to the following routines
+;; in the html exporter `org-export-as-html',
+;; `org-export-as-html-and-open', `org-export-as-html-to-buffer',
+;; `org-replace-region-by-html' and `org-export-region-as-html'.
+
+;; The new interactive command `org-lparse-convert' can be used to
+;; convert documents between various formats.  Use this to command,
+;; for example, to convert odt file to doc or pdf format.
+
+;;; Code:
+(eval-when-compile
+  (require 'cl))
+(require 'org-exp)
+(require 'org-list)
+(require 'format-spec)
+
+;;;###autoload
+(defun org-lparse-and-open (target-backend native-backend arg
+                                          &optional file-or-buf)
+  "Export outline to TARGET-BACKEND via NATIVE-BACKEND and open exported file.
+If there is an active region, export only the region.  The prefix
+ARG specifies how many levels of the outline should become
+headlines.  The default is 3.  Lower levels will become bulleted
+lists."
+  (let (f (file-or-buf (or file-or-buf
+                          (org-lparse target-backend native-backend
+                                      arg 'hidden))))
+    (when file-or-buf
+      (setq f (cond
+              ((bufferp file-or-buf) buffer-file-name)
+              ((file-exists-p file-or-buf) file-or-buf)
+              (t (error "org-lparse-and-open: This shouldn't happen"))))
+      (message "Opening file %s" f)
+      (org-open-file f)
+      (when org-export-kill-product-buffer-when-displayed
+       (kill-buffer (current-buffer))))))
+
+;;;###autoload
+(defun org-lparse-batch (target-backend &optional native-backend)
+  "Call the function `org-lparse'.
+This function can be used in batch processing as:
+emacs   --batch
+        --load=$HOME/lib/emacs/org.el
+        --eval \"(setq org-export-headline-levels 2)\"
+        --visit=MyFile --funcall org-lparse-batch"
+  (setq native-backend (or native-backend target-backend))
+  (org-lparse target-backend native-backend
+             org-export-headline-levels 'hidden))
+
+;;;###autoload
+(defun org-lparse-to-buffer (backend arg)
+  "Call `org-lparse' with output to a temporary buffer.
+No file is created.  The prefix ARG is passed through to
+`org-lparse'."
+  (let ((tempbuf (format "*Org %s Export*" (upcase backend))))
+      (org-lparse backend backend arg nil nil tempbuf)
+      (when org-export-show-temporary-export-buffer
+       (switch-to-buffer-other-window tempbuf))))
+
+;;;###autoload
+(defun org-replace-region-by (backend beg end)
+  "Assume the current region has org-mode syntax, and convert it to HTML.
+This can be used in any buffer.  For example, you could write an
+itemized list in org-mode syntax in an HTML buffer and then use
+this command to convert it."
+  (let (reg backend-string buf pop-up-frames)
+    (save-window-excursion
+      (if (eq major-mode 'org-mode)
+         (setq backend-string (org-lparse-region backend beg end t 'string))
+       (setq reg (buffer-substring beg end)
+             buf (get-buffer-create "*Org tmp*"))
+       (with-current-buffer buf
+         (erase-buffer)
+         (insert reg)
+         (org-mode)
+         (setq backend-string (org-lparse-region backend (point-min)
+                                                 (point-max) t 'string)))
+       (kill-buffer buf)))
+    (delete-region beg end)
+    (insert backend-string)))
+
+;;;###autoload
+(defun org-lparse-region (backend beg end &optional body-only buffer)
+  "Convert region from BEG to END in org-mode buffer to HTML.
+If prefix arg BODY-ONLY is set, omit file header, footer, and table of
+contents, and only produce the region of converted text, useful for
+cut-and-paste operations.
+If BUFFER is a buffer or a string, use/create that buffer as a target
+of the converted HTML.  If BUFFER is the symbol `string', return the
+produced HTML as a string and leave not buffer behind.  For example,
+a Lisp program could call this function in the following way:
+
+  (setq html (org-lparse-region \"html\" beg end t 'string))
+
+When called interactively, the output buffer is selected, and shown
+in a window.  A non-interactive call will only return the buffer."
+  (let ((transient-mark-mode t) (zmacs-regions t)
+       ext-plist rtn)
+    (setq ext-plist (plist-put ext-plist :ignore-subtree-p t))
+    (goto-char end)
+    (set-mark (point)) ;; to activate the region
+    (goto-char beg)
+    (setq rtn (org-lparse backend backend nil nil ext-plist buffer body-only))
+    (if (fboundp 'deactivate-mark) (deactivate-mark))
+    (if (and (org-called-interactively-p 'any) (bufferp rtn))
+       (switch-to-buffer-other-window rtn)
+      rtn)))
+
+(defvar org-lparse-par-open nil)
+
+(defun org-lparse-should-inline-p (filename descp)
+   "Return non-nil if link FILENAME should be inlined.
+The decision to inline the FILENAME link is based on the current
+settings.  DESCP is the boolean of whether there was a link
+description.  See variables `org-export-html-inline-images' and
+`org-export-html-inline-image-extensions'."
+   (let ((inline-images (org-lparse-get 'INLINE-IMAGES))
+        (inline-image-extensions
+         (org-lparse-get 'INLINE-IMAGE-EXTENSIONS)))
+        (and (or (eq t inline-images) (and inline-images (not descp)))
+            (org-file-image-p filename inline-image-extensions))))
+
+(defun org-lparse-format-org-link (line opt-plist)
+  "Return LINE with markup of Org mode links.
+OPT-PLIST is the export options list."
+  (let ((start 0)
+       (current-dir (if buffer-file-name
+                        (file-name-directory buffer-file-name)
+                      default-directory))
+       (link-validate (plist-get opt-plist :link-validation-function))
+       type id-file fnc
+       rpl path attr desc descp desc1 desc2 link
+       org-lparse-link-description-is-image)
+    (while (string-match org-bracket-link-analytic-regexp++ line start)
+      (setq org-lparse-link-description-is-image nil)
+      (setq start (match-beginning 0))
+      (setq path (save-match-data (org-link-unescape
+                                  (match-string 3 line))))
+      (setq type (cond
+                 ((match-end 2) (match-string 2 line))
+                 ((save-match-data
+                    (or (file-name-absolute-p path)
+                        (string-match "^\\.\\.?/" path)))
+                  "file")
+                 (t "internal")))
+      (setq path (org-extract-attributes path))
+      (setq attr (get-text-property 0 'org-attributes path))
+      (setq desc1 (if (match-end 5) (match-string 5 line))
+           desc2 (if (match-end 2) (concat type ":" path) path)
+           descp (and desc1 (not (equal desc1 desc2)))
+           desc (or desc1 desc2))
+      ;; Make an image out of the description if that is so wanted
+      (when (and descp (org-file-image-p
+                       desc (org-lparse-get 'INLINE-IMAGE-EXTENSIONS)))
+       (setq org-lparse-link-description-is-image t)
+       (save-match-data
+         (if (string-match "^file:" desc)
+             (setq desc (substring desc (match-end 0)))))
+       (save-match-data
+         (setq desc (org-add-props
+                        (org-lparse-format 'INLINE-IMAGE desc)
+                        '(org-protected t)))))
+      (cond
+       ((equal type "internal")
+       (let
+           ((frag-0
+             (if (= (string-to-char path) ?#)
+                 (substring path 1)
+               path)))
+         (setq rpl
+               (org-lparse-format
+                'ORG-LINK opt-plist "" "" (org-solidify-link-text
+                                           (save-match-data
+                                             (org-link-unescape frag-0))
+                                           nil) desc attr descp))))
+       ((and (equal type "id")
+            (setq id-file (org-id-find-id-file path)))
+       ;; This is an id: link to another file (if it was the same file,
+       ;; it would have become an internal link...)
+       (save-match-data
+         (setq id-file (file-relative-name
+                        id-file
+                        (file-name-directory org-current-export-file)))
+         (setq rpl
+               (org-lparse-format
+                'ORG-LINK opt-plist type id-file
+                (concat (if (org-uuidgen-p path) "ID-") path)
+                desc attr descp))))
+       ((member type '("http" "https"))
+       ;; standard URL, can inline as image
+       (setq rpl
+             (org-lparse-format
+              'ORG-LINK opt-plist type path nil desc attr descp)))
+       ((member type '("ftp" "mailto" "news"))
+       ;; standard URL, can't inline as image
+       (setq rpl
+             (org-lparse-format
+              'ORG-LINK opt-plist type path nil desc attr descp)))
+
+       ((string= type "coderef")
+       (setq rpl (org-lparse-format
+                  'ORG-LINK opt-plist type "" path desc nil descp)))
+
+       ((functionp (setq fnc (nth 2 (assoc type org-link-protocols))))
+       ;; The link protocol has a function for format the link
+       (setq rpl (save-match-data
+                   (funcall fnc (org-link-unescape path)
+                            desc1 (and (boundp 'org-lparse-backend)
+                                       (case org-lparse-backend
+                                         (xhtml 'html)
+                                         (t org-lparse-backend)))))))
+       ((string= type "file")
+       ;; FILE link
+       (save-match-data
+         (let*
+             ((components
+               (if
+                   (string-match "::\\(.*\\)" path)
+                   (list
+                    (replace-match "" t nil path)
+                    (match-string 1 path))
+                 (list path nil)))
+
+              ;;The proper path, without a fragment
+              (path-1
+               (first components))
+
+              ;;The raw fragment
+              (fragment-0
+               (second components))
+
+              ;;Check the fragment.  If it can't be used as
+              ;;target fragment we'll pass nil instead.
+              (fragment-1
+               (if
+                   (and fragment-0
+                        (not (string-match "^[0-9]*$" fragment-0))
+                        (not (string-match "^\\*" fragment-0))
+                        (not (string-match "^/.*/$" fragment-0)))
+                   (org-solidify-link-text
+                    (org-link-unescape fragment-0))
+                 nil))
+              (desc-2
+               ;;Description minus "file:" and ".org"
+               (if (string-match "^file:" desc)
+                   (let
+                       ((desc-1 (replace-match "" t t desc)))
+                     (if (string-match "\\.org$" desc-1)
+                         (replace-match "" t t desc-1)
+                       desc-1))
+                 desc)))
+
+           (setq rpl
+                 (if
+                     (and
+                      (functionp link-validate)
+                      (not (funcall link-validate path-1 current-dir)))
+                     desc
+                   (org-lparse-format
+                    'ORG-LINK opt-plist "file" path-1 fragment-1
+                    desc-2 attr descp))))))
+
+       (t
+       ;; just publish the path, as default
+       (setq rpl (concat "<i>&lt;" type ":"
+                         (save-match-data (org-link-unescape path))
+                         "&gt;</i>"))))
+      (setq line (replace-match rpl t t line)
+           start (+ start (length rpl))))
+    line))
+
+(defvar org-lparse-par-open-stashed)   ; bound during `org-do-lparse'
+(defun org-lparse-stash-save-paragraph-state ()
+  (assert (zerop org-lparse-par-open-stashed))
+  (setq org-lparse-par-open-stashed org-lparse-par-open)
+  (setq org-lparse-par-open nil))
+
+(defun org-lparse-stash-pop-paragraph-state ()
+  (setq org-lparse-par-open org-lparse-par-open-stashed)
+  (setq org-lparse-par-open-stashed 0))
+
+(defmacro with-org-lparse-preserve-paragraph-state (&rest body)
+  `(let ((org-lparse-do-open-par org-lparse-par-open))
+     (org-lparse-end-paragraph)
+     ,@body
+     (when org-lparse-do-open-par
+       (org-lparse-begin-paragraph))))
+(def-edebug-spec with-org-lparse-preserve-paragraph-state (body))
+
+(defvar org-lparse-native-backends nil
+  "List of native backends registered with `org-lparse'.
+A backend can use `org-lparse-register-backend' to add itself to
+this list.
+
+All native backends must implement a get routine and a mandatory
+set of callback routines.
+
+The get routine must be named as org-<backend>-get where backend
+is the name of the backend.  The exporter uses `org-lparse-get'
+and retrieves the backend-specific callback by querying for
+ENTITY-CONTROL and ENTITY-FORMAT variables.
+
+For the sake of illustration, the html backend implements
+`org-xhtml-get'.  It returns
+`org-xhtml-entity-control-callbacks-alist' and
+`org-xhtml-entity-format-callbacks-alist' as the values of
+ENTITY-CONTROL and ENTITY-FORMAT settings.")
+
+(defun org-lparse-register-backend (backend)
+  "Make BACKEND known to `org-lparse' library.
+Add BACKEND to `org-lparse-native-backends'."
+  (when backend
+    (setq backend (cond
+                  ((symbolp backend) (symbol-name backend))
+                  ((stringp backend) backend)
+                  (t (error "Error while registering backend: %S" backend))))
+    (add-to-list 'org-lparse-native-backends backend)))
+
+(defun org-lparse-unregister-backend (backend)
+  (setq org-lparse-native-backends
+       (remove (cond
+                ((symbolp backend) (symbol-name backend))
+                ((stringp backend) backend))
+               org-lparse-native-backends))
+  (message "Unregistered backend %S" backend))
+
+(defun org-lparse-do-reachable-formats (in-fmt)
+  "Return verbose info about formats to which IN-FMT can be converted.
+Return a list where each element is of the
+form (CONVERTER-PROCESS . OUTPUT-FMT-ALIST).  See
+`org-export-odt-convert-processes' for CONVERTER-PROCESS and see
+`org-export-odt-convert-capabilities' for OUTPUT-FMT-ALIST."
+  (let (reachable-formats)
+    (dolist (backend org-lparse-native-backends reachable-formats)
+      (let* ((converter (org-lparse-backend-get
+                        backend 'CONVERT-METHOD))
+            (capabilities (org-lparse-backend-get
+                           backend 'CONVERT-CAPABILITIES)))
+       (when converter
+         (dolist (c capabilities)
+           (when (member in-fmt (nth 1 c))
+             (push (cons converter (nth 2 c)) reachable-formats))))))))
+
+(defun org-lparse-reachable-formats (in-fmt)
+  "Return list of formats to which IN-FMT can be converted.
+The list of the form (OUTPUT-FMT-1 OUTPUT-FMT-2 ...)."
+  (let (l)
+    (mapc (lambda (e) (add-to-list 'l e))
+         (apply 'append (mapcar
+                         (lambda (e) (mapcar 'car (cdr e)))
+                         (org-lparse-do-reachable-formats in-fmt))))
+    l))
+
+(defun org-lparse-reachable-p (in-fmt out-fmt)
+  "Return non-nil if IN-FMT can be converted to OUT-FMT."
+  (catch 'done
+    (let ((reachable-formats (org-lparse-do-reachable-formats in-fmt)))
+      (dolist (e reachable-formats)
+       (let ((out-fmt-spec (assoc out-fmt (cdr e))))
+         (when out-fmt-spec
+           (throw 'done (cons (car e) out-fmt-spec))))))))
+
+(defun org-lparse-backend-is-native-p (backend)
+  (member backend org-lparse-native-backends))
+
+(defun org-lparse (target-backend native-backend arg
+                                 &optional hidden ext-plist
+                                 to-buffer body-only pub-dir)
+  "Export the outline to various formats.
+If there is an active region, export only the region.  The
+outline is first exported to NATIVE-BACKEND and optionally
+converted to TARGET-BACKEND.  See `org-lparse-native-backends'
+for list of known native backends.  Each native backend can
+specify a converter and list of target backends it exports to
+using the CONVERT-PROCESS and OTHER-BACKENDS settings of it's get
+method.  See `org-xhtml-get' for an illustrative example.
+
+ARG is a prefix argument that specifies how many levels of
+outline should become headlines.  The default is 3.  Lower levels
+will become bulleted lists.
+
+HIDDEN is obsolete and does nothing.
+
+EXT-PLIST is a property list that controls various aspects of
+export.  The settings here override org-mode's default settings
+and but are inferior to file-local settings.
+
+TO-BUFFER dumps the exported lines to a buffer or a string
+instead of a file.  If TO-BUFFER is the symbol `string' return the
+exported lines as a string.  If TO-BUFFER is non-nil, create a
+buffer with that name and export to that buffer.
+
+BODY-ONLY controls the presence of header and footer lines in
+exported text.  If BODY-ONLY is non-nil, don't produce the file
+header and footer, simply return the content of <body>...</body>,
+without even the body tags themselves.
+
+PUB-DIR specifies the publishing directory."
+  (let* ((org-lparse-backend (intern native-backend))
+        (org-lparse-other-backend (and target-backend
+                                       (intern target-backend))))
+    (unless (org-lparse-backend-is-native-p native-backend)
+      (error "Don't know how to export natively to backend %s" native-backend))
+
+    (unless (or (equal native-backend target-backend)
+               (org-lparse-reachable-p native-backend target-backend))
+      (error "Don't know how to export to backend %s %s" target-backend
+            (format "via %s" native-backend)))
+    (run-hooks 'org-export-first-hook)
+    (org-do-lparse arg hidden ext-plist to-buffer body-only pub-dir)))
+
+(defcustom org-lparse-use-flashy-warning nil
+  "Control flashing of messages logged with `org-lparse-warn'.
+When non-nil, messages are fontified with warning face and the
+exporter lingers for a while to catch user's attention."
+  :type 'boolean
+  :group 'org-lparse)
+
+(defun org-lparse-convert-read-params ()
+  "Return IN-FILE and OUT-FMT params for `org-lparse-do-convert'.
+This is a helper routine for interactive use."
+  (let* ((input (if (featurep 'ido) 'ido-completing-read 'completing-read))
+        (in-file (read-file-name "File to be converted: "
+                                 nil buffer-file-name t))
+        (in-fmt (file-name-extension in-file))
+        (out-fmt-choices (org-lparse-reachable-formats in-fmt))
+        (out-fmt
+         (or (and out-fmt-choices
+                  (funcall input "Output format:  "
+                           out-fmt-choices nil nil nil))
+             (error
+              "No known converter or no known output formats for %s files"
+              in-fmt))))
+    (list in-file out-fmt)))
+
+(eval-when-compile
+  (require 'browse-url))
+
+(defun org-lparse-do-convert (in-file out-fmt &optional prefix-arg)
+  "Workhorse routine for `org-export-odt-convert'."
+  (require 'browse-url)
+  (let* ((in-file (expand-file-name (or in-file buffer-file-name)))
+        (dummy (or (file-readable-p in-file)
+                   (error "Cannot read %s" in-file)))
+        (in-fmt (file-name-extension in-file))
+        (out-fmt (or out-fmt (error "Output format unspecified")))
+        (how (or (org-lparse-reachable-p in-fmt out-fmt)
+                 (error "Cannot convert from %s format to %s format?"
+                        in-fmt out-fmt)))
+        (convert-process (car how))
+        (program (car convert-process))
+        (dummy (and (or program (error "Converter not configured"))
+                    (or (executable-find program)
+                        (error "Cannot find converter %s" program))))
+        (out-file (concat (file-name-sans-extension in-file) "."
+                          (nth 1 (or (cdr how) out-fmt))))
+        (out-dir (file-name-directory in-file))
+        (arglist (mapcar (lambda (arg)
+                           (format-spec
+                            arg `((?i . ,in-file)
+                                  (?I . ,(browse-url-file-url in-file))
+                                  (?f . ,out-fmt)
+                                  (?o . ,out-file)
+                                  (?O . ,(browse-url-file-url out-file))
+                                  (?d . ,out-dir)
+                                  (?D . ,(browse-url-file-url out-dir)))))
+                         (cdr convert-process))))
+    (when (file-exists-p out-file)
+      (delete-file out-file))
+
+    (message "Executing %s %s" program (mapconcat 'identity arglist " "))
+    (apply 'call-process program nil nil nil arglist)
+    (cond
+     ((file-exists-p out-file)
+      (message "Exported to %s using %s" out-file program)
+      (when prefix-arg
+       (message "Opening %s..."  out-file)
+       (org-open-file out-file))
+      out-file
+      ;; (set-buffer (find-file-noselect out-file))
+      )
+     (t
+      (message "Export to %s failed" out-file)
+      nil))))
+
+(defvar org-lparse-insert-tag-with-newlines 'both)
+
+;; Following variables are let-bound during `org-lparse'
+(defvar org-lparse-dyn-first-heading-pos)
+(defvar org-lparse-toc)
+(defvar org-lparse-entity-control-callbacks-alist)
+(defvar org-lparse-entity-format-callbacks-alist)
+(defvar org-lparse-backend nil
+  "The native backend to which the document is currently exported.
+This variable is let bound during `org-lparse'.  Valid values are
+one of the symbols corresponding to `org-lparse-native-backends'.
+
+Compare this variable with `org-export-current-backend' which is
+bound only during `org-export-preprocess-string' stage of the
+export process.
+
+See also `org-lparse-other-backend'.")
+
+(defvar org-lparse-other-backend nil
+  "The target backend to which the document is currently exported.
+This variable is let bound during `org-lparse'.  This variable is
+set to either `org-lparse-backend' or one of the symbols
+corresponding to OTHER-BACKENDS specification of the
+org-lparse-backend.
+
+For example, if a document is exported to \"odt\" then both
+org-lparse-backend and org-lparse-other-backend are bound to
+'odt.  On the other hand, if a document is exported to \"odt\"
+and then converted to \"doc\" then org-lparse-backend is set to
+'odt and org-lparse-other-backend is set to 'doc.")
+
+(defvar org-lparse-body-only nil
+  "Bind this to BODY-ONLY arg of `org-lparse'.")
+
+(defvar org-lparse-to-buffer nil
+  "Bind this to TO-BUFFER arg of `org-lparse'.")
+
+(defun org-lparse-get-block-params (params)
+  (save-match-data
+    (when params
+      (setq params (org-trim params))
+      (unless (string-match "\\`(.*)\\'" params)
+       (setq params (format "(%s)" params)))
+      (ignore-errors (read params)))))
+
+(defvar org-heading-keyword-regexp-format) ; defined in org.el
+(defvar org-lparse-special-blocks '("list-table" "annotation"))
+(defun org-do-lparse (arg &optional hidden ext-plist
+                         to-buffer body-only pub-dir)
+  "Export the outline to various formats.
+See `org-lparse' for more information. This function is a
+html-agnostic version of the `org-export-as-html' function in 7.5
+version."
+  ;; Make sure we have a file name when we need it.
+  (when (and (not (or to-buffer body-only))
+            (not buffer-file-name))
+    (if (buffer-base-buffer)
+       (org-set-local 'buffer-file-name
+                      (with-current-buffer (buffer-base-buffer)
+                        buffer-file-name))
+      (error "Need a file name to be able to export")))
+
+  (org-lparse-warn
+   (format "Exporting to %s using org-lparse..."
+          (upcase (symbol-name
+                   (or org-lparse-backend org-lparse-other-backend)))))
+
+  (setq-default org-todo-line-regexp org-todo-line-regexp)
+  (setq-default org-deadline-line-regexp org-deadline-line-regexp)
+  (setq-default org-done-keywords org-done-keywords)
+  (setq-default org-maybe-keyword-time-regexp org-maybe-keyword-time-regexp)
+  (let* (hfy-user-sheet-assoc          ; let `htmlfontify' know that
+                                       ; we are interested in
+                                       ; collecting styles
+        org-lparse-encode-pending
+        org-lparse-par-open
+        (org-lparse-par-open-stashed 0)
+
+        ;; list related vars
+        (org-lparse-list-level 0)      ; list level starts at 1. A
+                                       ; value of 0 implies we are
+                                       ; outside of any list
+        (org-lparse-list-item-count 0)
+        org-lparse-list-stack
+
+        ;; list-table related vars
+        org-lparse-list-table-p
+        org-lparse-list-table:table-cell-open
+        org-lparse-list-table:table-row
+        org-lparse-list-table:lines
+
+        org-lparse-outline-text-open
+        (org-lparse-latex-fragment-fallback ; currently used only by
+                                       ; odt exporter
+         (or (ignore-errors (org-lparse-get 'LATEX-FRAGMENT-FALLBACK))
+             (if (and (org-check-external-command "latex" "" t)
+                      (org-check-external-command "dvipng" "" t))
+                 'dvipng
+               'verbatim)))
+        (org-lparse-insert-tag-with-newlines 'both)
+        (org-lparse-to-buffer to-buffer)
+        (org-lparse-body-only body-only)
+        (org-lparse-entity-control-callbacks-alist
+         (org-lparse-get 'ENTITY-CONTROL))
+        (org-lparse-entity-format-callbacks-alist
+         (org-lparse-get 'ENTITY-FORMAT))
+        (opt-plist
+         (org-export-process-option-filters
+          (org-combine-plists (org-default-export-plist)
+                              ext-plist
+                              (org-infile-export-plist))))
+        (body-only (or body-only (plist-get opt-plist :body-only)))
+        valid org-lparse-dyn-first-heading-pos
+        (odd org-odd-levels-only)
+        (region-p (org-region-active-p))
+        (rbeg (and region-p (region-beginning)))
+        (rend (and region-p (region-end)))
+        (subtree-p
+         (if (plist-get opt-plist :ignore-subtree-p)
+             nil
+           (when region-p
+             (save-excursion
+               (goto-char rbeg)
+               (and (org-at-heading-p)
+                    (>= (org-end-of-subtree t t) rend))))))
+        (level-offset (if subtree-p
+                          (save-excursion
+                            (goto-char rbeg)
+                            (+ (funcall outline-level)
+                               (if org-odd-levels-only 1 0)))
+                        0))
+        (opt-plist (setq org-export-opt-plist
+                         (if subtree-p
+                             (org-export-add-subtree-options opt-plist rbeg)
+                           opt-plist)))
+        ;; The following two are dynamically scoped into other
+        ;; routines below.
+        (org-current-export-dir
+         (or pub-dir (org-lparse-get 'EXPORT-DIR opt-plist)))
+        (org-current-export-file buffer-file-name)
+        (level 0) (line "") (origline "") txt todo
+        (umax nil)
+        (umax-toc nil)
+        (filename (if to-buffer nil
+                    (expand-file-name
+                     (concat
+                      (file-name-sans-extension
+                       (or (and subtree-p
+                                (org-entry-get (region-beginning)
+                                               "EXPORT_FILE_NAME" t))
+                           (file-name-nondirectory buffer-file-name)))
+                      "." (org-lparse-get 'FILE-NAME-EXTENSION opt-plist))
+                     (file-name-as-directory
+                      (or pub-dir (org-lparse-get 'EXPORT-DIR opt-plist))))))
+        (current-dir (if buffer-file-name
+                         (file-name-directory buffer-file-name)
+                       default-directory))
+        (auto-insert nil) ; Avoid any auto-insert stuff for the new file
+        (buffer (if to-buffer
+                    (cond
+                     ((eq to-buffer 'string)
+                      (get-buffer-create (org-lparse-get 'EXPORT-BUFFER-NAME)))
+                     (t (get-buffer-create to-buffer)))
+                  (find-file-noselect
+                   (or (let ((f (org-lparse-get 'INIT-METHOD)))
+                         (and f (functionp f) (funcall f filename)))
+                       filename))))
+        (org-levels-open (make-vector org-level-max nil))
+        (dummy (mapc
+                (lambda(p)
+                  (let* ((val (plist-get opt-plist p))
+                         (val (org-xml-encode-org-text-skip-links val)))
+                    (setq opt-plist (plist-put opt-plist p val))))
+                '(:date :author :keywords :description)))
+        (date (plist-get opt-plist :date))
+        (date (cond
+               ((and date (string-match "%" date))
+                (format-time-string date))
+               (date date)
+               (t (format-time-string "%Y-%m-%d %T %Z"))))
+        (dummy (setq opt-plist (plist-put opt-plist :effective-date date)))
+        (title       (org-xml-encode-org-text-skip-links
+                      (or (and subtree-p (org-export-get-title-from-subtree))
+                          (plist-get opt-plist :title)
+                          (and (not body-only)
+                               (not
+                                (plist-get opt-plist :skip-before-1st-heading))
+                               (org-export-grab-title-from-buffer))
+                          (and buffer-file-name
+                               (file-name-sans-extension
+                                (file-name-nondirectory buffer-file-name)))
+                          "UNTITLED")))
+        (dummy (setq opt-plist (plist-put opt-plist :title title)))
+        (html-table-tag (plist-get opt-plist :html-table-tag))
+        (quote-re0 (concat "^ *" org-quote-string "\\( +\\|[ \t]*$\\)"))
+        (quote-re (format org-heading-keyword-regexp-format
+                          org-quote-string))
+        (org-lparse-dyn-current-environment nil)
+        ;; Get the language-dependent settings
+        (lang-words (or (assoc (plist-get opt-plist :language)
+                               org-export-language-setup)
+                        (assoc "en" org-export-language-setup)))
+        (dummy (setq opt-plist (plist-put opt-plist :lang-words lang-words)))
+        (head-count  0) cnt
+        (start       0)
+        (coding-system-for-write
+         (or (ignore-errors (org-lparse-get 'CODING-SYSTEM-FOR-WRITE))
+             (and (boundp 'buffer-file-coding-system)
+                  buffer-file-coding-system)))
+        (save-buffer-coding-system
+         (or (ignore-errors (org-lparse-get 'CODING-SYSTEM-FOR-SAVE))
+             (and (boundp 'buffer-file-coding-system)
+                  buffer-file-coding-system)))
+        (region
+         (buffer-substring
+          (if region-p (region-beginning) (point-min))
+          (if region-p (region-end) (point-max))))
+        (org-export-have-math nil)
+        (org-export-footnotes-seen nil)
+        (org-export-footnotes-data (org-footnote-all-labels 'with-defs))
+        (org-footnote-insert-pos-for-preprocessor 'point-min)
+        (org-lparse-opt-plist opt-plist)
+        (lines
+         (org-split-string
+          (org-export-preprocess-string
+           region
+           :emph-multiline t
+           :for-backend (if (equal org-lparse-backend 'xhtml) ; hack
+                            'html
+                          org-lparse-backend)
+           :skip-before-1st-heading
+           (plist-get opt-plist :skip-before-1st-heading)
+           :drawers (plist-get opt-plist :drawers)
+           :todo-keywords (plist-get opt-plist :todo-keywords)
+           :tasks (plist-get opt-plist :tasks)
+           :tags (plist-get opt-plist :tags)
+           :priority (plist-get opt-plist :priority)
+           :footnotes (plist-get opt-plist :footnotes)
+           :timestamps (plist-get opt-plist :timestamps)
+           :archived-trees
+           (plist-get opt-plist :archived-trees)
+           :select-tags (plist-get opt-plist :select-tags)
+           :exclude-tags (plist-get opt-plist :exclude-tags)
+           :add-text
+           (plist-get opt-plist :text)
+           :LaTeX-fragments
+           (plist-get opt-plist :LaTeX-fragments))
+          "[\r\n]"))
+        table-open
+        table-buffer table-orig-buffer
+        ind
+        rpl path attr desc descp desc1 desc2 link
+        snumber fnc
+        footnotes footref-seen
+        org-lparse-output-buffer
+        org-lparse-footnote-definitions
+        org-lparse-footnote-number
+        ;; collection
+        org-lparse-collect-buffer
+        (org-lparse-collect-count 0)   ; things will get haywire if
+                                       ; collections are chained. Use
+                                       ; this variable to assert this
+                                       ; pre-requisite
+        org-lparse-toc
+        href
+        )
+
+    (let ((inhibit-read-only t))
+      (org-unmodified
+       (remove-text-properties (point-min) (point-max)
+                              '(:org-license-to-kill t))))
+
+    (message "Exporting...")
+    (org-init-section-numbers)
+
+    ;; Switch to the output buffer
+    (setq org-lparse-output-buffer buffer)
+    (set-buffer org-lparse-output-buffer)
+    (let ((inhibit-read-only t)) (erase-buffer))
+    (fundamental-mode)
+    (org-install-letbind)
+
+    (and (fboundp 'set-buffer-file-coding-system)
+        (set-buffer-file-coding-system coding-system-for-write))
+
+    (let ((case-fold-search nil)
+         (org-odd-levels-only odd))
+      ;; create local variables for all options, to make sure all called
+      ;; functions get the correct information
+      (mapc (lambda (x)
+             (set (make-local-variable (nth 2 x))
+                  (plist-get opt-plist (car x))))
+           org-export-plist-vars)
+      (setq umax (if arg (prefix-numeric-value arg)
+                  org-export-headline-levels))
+      (setq umax-toc (if (integerp org-export-with-toc)
+                        (min org-export-with-toc umax)
+                      umax))
+
+      (when (and org-export-with-toc (not body-only))
+       (setq lines (org-lparse-prepare-toc
+                    lines level-offset opt-plist umax-toc)))
+
+      (unless body-only
+       (org-lparse-begin 'DOCUMENT-CONTENT opt-plist)
+       (org-lparse-begin 'DOCUMENT-BODY opt-plist))
+
+      (setq head-count 0)
+      (org-init-section-numbers)
+
+      (org-lparse-begin-paragraph)
+
+      (while (setq line (pop lines) origline line)
+       (catch 'nextline
+         (when (and (org-lparse-current-environment-p 'quote)
+                    (string-match org-outline-regexp-bol line))
+           (org-lparse-end-environment 'quote))
+
+         (when (org-lparse-current-environment-p 'quote)
+           (org-lparse-insert 'LINE line)
+           (throw 'nextline nil))
+
+         ;; Fixed-width, verbatim lines (examples)
+         (when (and org-export-with-fixed-width
+                    (string-match "^[ \t]*:\\(\\([ \t]\\|$\\)\\(.*\\)\\)" line))
+           (when (not (org-lparse-current-environment-p 'fixedwidth))
+             (org-lparse-begin-environment 'fixedwidth))
+           (org-lparse-insert 'LINE (match-string 3 line))
+           (when (or (not lines)
+                     (not (string-match "^[ \t]*:\\(\\([ \t]\\|$\\)\\(.*\\)\\)"
+                                        (car lines))))
+             (org-lparse-end-environment 'fixedwidth))
+           (throw 'nextline nil))
+
+         ;; Notes: The baseline version of org-html.el (git commit
+         ;; 3d802e), while encoutering a *line-long* protected text,
+         ;; does one of the following two things based on the state
+         ;; of the export buffer.
+
+         ;; 1. If a paragraph element has just been opened and
+         ;;    contains only whitespace as content, insert the
+         ;;    protected text as part of the previous paragraph.
+
+         ;; 2. If the paragraph element has already been opened and
+         ;;    contains some valid content insert the protected text
+         ;;    as part of the current paragraph.
+
+         ;; I think --->
+
+         ;; Scenario 1 mentioned above kicks in when a block of
+         ;; protected text has to be inserted enbloc. For example,
+         ;; this happens, when inserting an source or example block
+         ;; or preformatted content enclosed in #+backend,
+         ;; #+begin_bakend ... #+end_backend)
+
+         ;; Scenario 2 mentioned above kicks in when the protected
+         ;; text is part of a running sentence. For example this
+         ;; happens in the case of an *multiline* LaTeX equation that
+         ;; needs to be inserted verbatim.
+
+         ;; org-html.el in the master branch seems to do some
+         ;; jugglery by moving paragraphs around. Inorder to make
+         ;; these changes backend-agnostic introduce a new text
+         ;; property org-native-text and impose the added semantics
+         ;; that these protected blocks appear outside of a
+         ;; conventional paragraph element.
+         ;;
+         ;; Extra Note: Check whether org-example and org-native-text
+         ;; are entirely equivalent.
+
+         ;; Fixes bug reported by Christian Moe concerning verbatim
+         ;; LaTeX fragments.
+         ;; on git commit 533ba3f90250a1f25f494c390d639ea6274f235c
+         ;; http://repo.or.cz/w/org-mode/org-jambu.git/shortlog/refs/heads/staging
+         ;; See http://lists.gnu.org/archive/html/emacs-orgmode/2011-03/msg01379.html
+
+         ;; Native Text
+         (when (and (get-text-property 0 'org-native-text line)
+                    ;; Make sure it is the entire line that is protected
+                    (not (< (or (next-single-property-change
+                                 0 'org-native-text line) 10000)
+                            (length line))))
+           (let ((ind (get-text-property 0 'original-indentation line)))
+             (org-lparse-begin-environment 'native)
+             (org-lparse-insert 'LINE line)
+             (while (and lines
+                         (or (= (length (car lines)) 0)
+                             (not ind)
+                             (equal ind (get-text-property
+                                         0 'original-indentation (car lines))))
+                         (or (= (length (car lines)) 0)
+                             (get-text-property 0 'org-native-text (car lines))))
+               (org-lparse-insert 'LINE (pop lines)))
+             (org-lparse-end-environment 'native))
+           (throw 'nextline nil))
+
+         ;; Protected HTML
+         (when (and (get-text-property 0 'org-protected line)
+                    ;; Make sure it is the entire line that is protected
+                    (not (< (or (next-single-property-change
+                                 0 'org-protected line) 10000)
+                            (length line))))
+           (let ((ind (get-text-property 0 'original-indentation line)))
+             (org-lparse-insert 'LINE line)
+             (while (and lines
+                         (or (= (length (car lines)) 0)
+                             (not ind)
+                             (equal ind (get-text-property
+                                         0 'original-indentation (car lines))))
+                         (or (= (length (car lines)) 0)
+                             (get-text-property 0 'org-protected (car lines))))
+               (org-lparse-insert 'LINE (pop lines))))
+           (throw 'nextline nil))
+
+         ;; Blockquotes, verse, and center
+         (when (string-match
+                "^ORG-\\(.+\\)-\\(START\\|END\\)\\([ \t]+.*\\)?$" line)
+           (let* ((style (intern (downcase (match-string 1 line))))
+                  (env-options-plist (org-lparse-get-block-params
+                                      (match-string 3 line)))
+                  (f (cdr (assoc (match-string 2 line)
+                                 '(("START" . org-lparse-begin-environment)
+                                   ("END" . org-lparse-end-environment))))))
+             (when (memq style
+                         (append
+                          '(blockquote verse center)
+                          (mapcar 'intern org-lparse-special-blocks)))
+               (funcall f style env-options-plist)
+               (throw 'nextline nil))))
+
+         (run-hooks 'org-export-html-after-blockquotes-hook)
+         (when (org-lparse-current-environment-p 'verse)
+           (let ((i (org-get-string-indentation line)))
+             (if (> i 0)
+                 (setq line (concat
+                             (let ((org-lparse-encode-pending t))
+                               (org-lparse-format 'SPACES (* 2 i)))
+                             " " (org-trim line))))
+             (unless (string-match "\\\\\\\\[ \t]*$" line)
+               (setq line (concat line "\\\\")))))
+
+         ;; make targets to anchors
+         (setq start 0)
+         (while (string-match
+                 "<<<?\\([^<>]*\\)>>>?\\((INVISIBLE)\\)?[ \t]*\n?" line start)
+           (cond
+            ((get-text-property (match-beginning 1) 'org-protected line)
+             (setq start (match-end 1)))
+            ((match-end 2)
+             (setq line (replace-match
+                         (let ((org-lparse-encode-pending t))
+                           (org-lparse-format
+                            'ANCHOR "" (org-solidify-link-text
+                                        (match-string 1 line))))
+                         t t line)))
+            ((and org-export-with-toc (equal (string-to-char line) ?*))
+             ;; FIXME: NOT DEPENDENT on TOC?????????????????????
+             (setq line (replace-match
+                         (let ((org-lparse-encode-pending t))
+                           (org-lparse-format
+                            'FONTIFY (match-string 1 line) "target"))
+                         ;; (concat "@<i>" (match-string 1 line) "@</i> ")
+                         t t line)))
+            (t
+             (setq line (replace-match
+                         (concat
+                          (let ((org-lparse-encode-pending t))
+                            (org-lparse-format
+                             'ANCHOR (match-string 1 line)
+                             (org-solidify-link-text (match-string 1 line))
+                             "target")) " ")
+                         t t line)))))
+
+         (let ((org-lparse-encode-pending t))
+           (setq line (org-lparse-handle-time-stamps line)))
+
+         ;; replace "&" by "&amp;", "<" and ">" by "&lt;" and "&gt;"
+         ;; handle @<..> HTML tags (replace "@&gt;..&lt;" by "<..>")
+         ;; Also handle sub_superscripts and checkboxes
+         (or (string-match org-table-hline-regexp line)
+             (string-match "^[ \t]*\\([+]-\\||[ ]\\)[-+ |]*[+|][ \t]*$" line)
+             (setq line (org-xml-encode-org-text-skip-links line)))
+
+         (setq line (org-lparse-format-org-link line opt-plist))
+
+         ;; TODO items
+         (if (and org-todo-line-regexp
+                  (string-match org-todo-line-regexp line)
+                  (match-beginning 2))
+             (setq line (concat
+                         (substring line 0 (match-beginning 2))
+                         (org-lparse-format 'TODO (match-string 2 line))
+                         (substring line (match-end 2)))))
+
+         ;; Does this contain a reference to a footnote?
+         (when org-export-with-footnotes
+           (setq start 0)
+           (while (string-match "\\([^* \t].*?\\)[ \t]*\\[\\([0-9]+\\)\\]" line start)
+             ;; Discard protected matches not clearly identified as
+             ;; footnote markers.
+             (if (or (get-text-property (match-beginning 2) 'org-protected line)
+                     (not (get-text-property (match-beginning 2) 'org-footnote line)))
+                 (setq start (match-end 2))
+               (let ((n (match-string 2 line)) refcnt a)
+                 (if (setq a (assoc n footref-seen))
+                     (progn
+                       (setcdr a (1+ (cdr a)))
+                       (setq refcnt (cdr a)))
+                   (setq refcnt 1)
+                   (push (cons n 1) footref-seen))
+                 (setq line
+                       (replace-match
+                        (concat
+                         (or (match-string 1 line) "")
+                         (org-lparse-format
+                          'FOOTNOTE-REFERENCE
+                          n (cdr (assoc n org-lparse-footnote-definitions))
+                          refcnt)
+                         ;; If another footnote is following the
+                         ;; current one, add a separator.
+                         (if (save-match-data
+                               (string-match "\\`\\[[0-9]+\\]"
+                                             (substring line (match-end 0))))
+                             (ignore-errors
+                               (org-lparse-get 'FOOTNOTE-SEPARATOR))
+                           ""))
+                        t t line))))))
+
+         (cond
+          ((string-match "^\\(\\*+\\)\\(?: +\\(.*?\\)\\)?[ \t]*$" line)
+           ;; This is a headline
+           (setq level (org-tr-level (- (match-end 1) (match-beginning 1)
+                                        level-offset))
+                 txt (match-string 2 line))
+           (if (string-match quote-re0 txt)
+               (setq txt (replace-match "" t t txt)))
+           (if (<= level (max umax umax-toc))
+               (setq head-count (+ head-count 1)))
+           (unless org-lparse-dyn-first-heading-pos
+             (setq org-lparse-dyn-first-heading-pos (point)))
+           (org-lparse-begin-level level txt umax head-count)
+
+           ;; QUOTES
+           (when (string-match quote-re line)
+             (org-lparse-begin-environment 'quote)))
+
+          ((and org-export-with-tables
+                (string-match "^\\([ \t]*\\)\\(|\\|\\+-+\\+\\)" line))
+           (when (not table-open)
+             ;; New table starts
+             (setq table-open t table-buffer nil table-orig-buffer nil))
+
+           ;; Accumulate lines
+           (setq table-buffer (cons line table-buffer)
+                 table-orig-buffer (cons origline table-orig-buffer))
+           (when (or (not lines)
+                     (not (string-match "^\\([ \t]*\\)\\(|\\|\\+-+\\+\\)"
+                                        (car lines))))
+             (setq table-open nil
+                   table-buffer (nreverse table-buffer)
+                   table-orig-buffer (nreverse table-orig-buffer))
+             (org-lparse-end-paragraph)
+             (org-lparse-insert 'TABLE table-buffer table-orig-buffer)))
+
+          ;; Normal lines
+
+          (t
+           ;; This line either is list item or end a list.
+           (when (get-text-property 0 'list-item line)
+             (setq line (org-lparse-export-list-line
+                         line
+                         (get-text-property 0 'list-item line)
+                         (get-text-property 0 'list-struct line)
+                         (get-text-property 0 'list-prevs line))))
+
+           ;; Horizontal line
+           (when (string-match "^[ \t]*-\\{5,\\}[ \t]*$" line)
+             (with-org-lparse-preserve-paragraph-state
+              (org-lparse-insert 'HORIZONTAL-LINE))
+             (throw 'nextline nil))
+
+           ;; Empty lines start a new paragraph.  If hand-formatted lists
+           ;; are not fully interpreted, lines starting with "-", "+", "*"
+           ;; also start a new paragraph.
+           (when (string-match "^ [-+*]-\\|^[ \t]*$" line)
+             (when org-lparse-footnote-number
+               (org-lparse-end-footnote-definition org-lparse-footnote-number)
+               (setq org-lparse-footnote-number nil))
+             (org-lparse-begin-paragraph))
+
+           ;; Is this the start of a footnote?
+           (when org-export-with-footnotes
+             (when (and (boundp 'footnote-section-tag-regexp)
+                        (string-match (concat "^" footnote-section-tag-regexp)
+                                      line))
+               ;; ignore this line
+               (throw 'nextline nil))
+             (when (string-match "^[ \t]*\\[\\([0-9]+\\)\\]" line)
+               (org-lparse-end-paragraph)
+               (setq org-lparse-footnote-number (match-string 1 line))
+               (setq line (replace-match "" t t line))
+               (org-lparse-begin-footnote-definition org-lparse-footnote-number)))
+           ;; Check if the line break needs to be conserved
+           (cond
+            ((string-match "\\\\\\\\[ \t]*$" line)
+             (setq line (replace-match
+                         (org-lparse-format 'LINE-BREAK)
+                         t t line)))
+            (org-export-preserve-breaks
+             (setq line (concat line (org-lparse-format 'LINE-BREAK)))))
+
+           ;; Check if a paragraph should be started
+           (let ((start 0))
+             (while (and org-lparse-par-open
+                         (string-match "\\\\par\\>" line start))
+               (error "FIXME")
+               ;; Leave a space in the </p> so that the footnote matcher
+               ;; does not see this.
+               (if (not (get-text-property (match-beginning 0)
+                                           'org-protected line))
+                   (setq line (replace-match "</p ><p >" t t line)))
+               (setq start (match-end 0))))
+
+           (org-lparse-insert 'LINE line)))))
+
+      ;; Properly close all local lists and other lists
+      (when (org-lparse-current-environment-p 'quote)
+       (org-lparse-end-environment 'quote))
+
+      (org-lparse-end-level 1 umax)
+
+      ;; the </div> to close the last text-... div.
+      (when (and (> umax 0) org-lparse-dyn-first-heading-pos)
+       (org-lparse-end-outline-text-or-outline))
+
+      (org-lparse-end 'DOCUMENT-BODY opt-plist)
+      (unless body-only
+       (org-lparse-end 'DOCUMENT-CONTENT))
+
+      (unless (plist-get opt-plist :buffer-will-be-killed)
+       (set-auto-mode t))
+
+      (org-lparse-end 'EXPORT)
+
+      ;; kill collection buffer
+      (when org-lparse-collect-buffer
+       (kill-buffer org-lparse-collect-buffer))
+
+      (goto-char (point-min))
+      (or (org-export-push-to-kill-ring
+          (upcase (symbol-name org-lparse-backend)))
+         (message "Exporting... done"))
+
+      (cond
+       ((not to-buffer)
+       (let ((f (org-lparse-get 'SAVE-METHOD)))
+         (or (and f (functionp f) (funcall f filename opt-plist))
+             (save-buffer)))
+       (or (and (boundp 'org-lparse-other-backend)
+                org-lparse-other-backend
+                (not (equal org-lparse-backend org-lparse-other-backend))
+                (org-lparse-do-convert
+                 buffer-file-name (symbol-name org-lparse-other-backend)))
+           (current-buffer)))
+       ((eq to-buffer 'string)
+       (prog1 (buffer-substring (point-min) (point-max))
+         (kill-buffer (current-buffer))))
+       (t (current-buffer))))))
+
+(defun org-lparse-format-table (lines olines)
+  "Retuns backend-specific code for org-type and table-type tables."
+  (if (stringp lines)
+      (setq lines (org-split-string lines "\n")))
+  (if (string-match "^[ \t]*|" (car lines))
+      ;; A normal org table
+      (org-lparse-format-org-table lines nil)
+    ;; Table made by table.el
+    (or (org-lparse-format-table-table-using-table-generate-source
+        ;; FIXME: Need to take care of this during merge
+        (if (eq org-lparse-backend 'xhtml) 'html org-lparse-backend)
+        olines
+        (not org-export-prefer-native-exporter-for-tables))
+       ;; We are here only when table.el table has NO col or row
+       ;; spanning and the user prefers using org's own converter for
+       ;; exporting of such simple table.el tables.
+       (org-lparse-format-table-table lines))))
+
+(defun org-lparse-table-get-colalign-info (lines)
+  (let ((col-cookies (org-find-text-property-in-string
+                       'org-col-cookies (car lines))))
+    (when (and col-cookies org-table-clean-did-remove-column)
+      (setq col-cookies
+           (mapcar (lambda (x) (cons (1- (car x)) (cdr x))) col-cookies)))
+    col-cookies))
+
+(defvar org-lparse-table-style)
+(defvar org-lparse-table-ncols)
+(defvar org-lparse-table-rownum)
+(defvar org-lparse-table-is-styled)
+(defvar org-lparse-table-begin-marker)
+(defvar org-lparse-table-num-numeric-items-per-column)
+(defvar org-lparse-table-colalign-info)
+(defvar org-lparse-table-colalign-vector)
+
+;; Following variables are defined in org-table.el
+(defvar org-table-number-fraction)
+(defvar org-table-number-regexp)
+(defun org-lparse-org-table-to-list-table (lines &optional splice)
+  "Convert org-table to list-table.
+LINES is a list of the form (ROW1 ROW2 ROW3 ...) where each
+element is a `string' representing a single row of org-table.
+Thus each ROW has vertical separators \"|\" separating the table
+fields.  A ROW could also be a row-group separator of the form
+\"|---...|\".  Return a list of the form (ROW1 ROW2 ROW3
+...). ROW could either be symbol `:hrule' or a list of the
+form (FIELD1 FIELD2 FIELD3 ...) as appropriate."
+  (let (line lines-1)
+    (cond
+     (splice
+      (while (setq line (pop lines))
+       (unless (string-match "^[ \t]*|-" line)
+         (push (org-split-string line "[ \t]*|[ \t]*") lines-1))))
+     (t
+      (while (setq line (pop lines))
+       (cond
+        ((string-match "^[ \t]*|-" line)
+         (when lines
+           (push :hrule lines-1)))
+        (t
+         (push (org-split-string line "[ \t]*|[ \t]*") lines-1))))))
+    (nreverse lines-1)))
+
+(defun org-lparse-insert-org-table (lines &optional splice)
+  "Format a org-type table into backend-specific code.
+LINES is a list of lines.  Optional argument SPLICE means, do not
+insert header and surrounding <table> tags, just format the lines.
+Optional argument NO-CSS means use XHTML attributes instead of CSS
+for formatting.  This is required for the DocBook exporter."
+  (require 'org-table)
+  ;; Get rid of hlines at beginning and end
+  (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines)))
+  (setq lines (nreverse lines))
+  (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines)))
+  (setq lines (nreverse lines))
+  (when org-export-table-remove-special-lines
+    ;; Check if the table has a marking column.  If yes remove the
+    ;; column and the special lines
+    (setq lines (org-table-clean-before-export lines)))
+  (let* ((caption (org-find-text-property-in-string 'org-caption (car lines)))
+        (caption (and caption (org-xml-encode-org-text caption)))
+        (label (org-find-text-property-in-string 'org-label (car lines)))
+        (org-lparse-table-colalign-info (org-lparse-table-get-colalign-info lines))
+        (attributes (org-find-text-property-in-string 'org-attributes
+                                                      (car lines)))
+        (head (and org-export-highlight-first-table-line
+                   (delq nil (mapcar
+                              (lambda (x) (string-match "^[ \t]*|-" x))
+                              (cdr lines))))))
+    (setq lines (org-lparse-org-table-to-list-table lines splice))
+    (org-lparse-insert-list-table
+     lines splice caption label attributes head org-lparse-table-colalign-info)))
+
+(defun org-lparse-insert-list-table (lines &optional splice
+                                             caption label attributes head
+                                             org-lparse-table-colalign-info)
+  (or (featurep 'org-table)            ; required for
+      (require 'org-table))            ; `org-table-number-regexp'
+  (let* ((org-lparse-table-rownum -1) org-lparse-table-ncols i (cnt 0)
+        tbopen fields line
+        org-lparse-table-cur-rowgrp-is-hdr
+        org-lparse-table-rowgrp-open
+        org-lparse-table-num-numeric-items-per-column
+        org-lparse-table-colalign-vector n
+        org-lparse-table-rowgrp-info
+        org-lparse-table-begin-marker
+        (org-lparse-table-style 'org-table)
+        org-lparse-table-is-styled)
+    (cond
+     (splice
+      (setq org-lparse-table-is-styled nil)
+      (while (setq line (pop lines))
+       (insert (org-lparse-format-table-row line) "\n")))
+     (t
+      (setq org-lparse-table-is-styled t)
+      (org-lparse-begin 'TABLE caption label attributes)
+      (setq org-lparse-table-begin-marker (point))
+      (org-lparse-begin-table-rowgroup head)
+      (while (setq line (pop lines))
+       (cond
+        ((equal line :hrule)
+         (org-lparse-begin-table-rowgroup))
+        (t
+         (insert (org-lparse-format-table-row line) "\n"))))
+      (org-lparse-end 'TABLE-ROWGROUP)
+      (org-lparse-end-table)))))
+
+(defun org-lparse-format-org-table (lines &optional splice)
+  (with-temp-buffer
+    (org-lparse-insert-org-table lines splice)
+    (buffer-substring-no-properties (point-min) (point-max))))
+
+(defun org-lparse-format-list-table (lines &optional splice)
+  (with-temp-buffer
+    (org-lparse-insert-list-table lines splice)
+    (buffer-substring-no-properties (point-min) (point-max))))
+
+(defun org-lparse-insert-table-table (lines)
+  "Format a table generated by table.el into backend-specific code.
+This conversion does *not* use `table-generate-source' from table.el.
+This has the advantage that Org-mode's HTML conversions can be used.
+But it has the disadvantage, that no cell- or row-spanning is allowed."
+  (let (line field-buffer
+            (org-lparse-table-cur-rowgrp-is-hdr
+             org-export-highlight-first-table-line)
+            (caption nil)
+            (attributes nil)
+            (label nil)
+            (org-lparse-table-style 'table-table)
+            (org-lparse-table-is-styled nil)
+            fields org-lparse-table-ncols i (org-lparse-table-rownum -1)
+            (empty (org-lparse-format 'SPACES 1)))
+    (org-lparse-begin 'TABLE caption label attributes)
+    (while (setq line (pop lines))
+      (cond
+       ((string-match "^[ \t]*\\+-" line)
+       (when field-buffer
+         (let ((org-export-table-row-tags '("<tr>" . "</tr>"))
+               ;; (org-export-html-table-use-header-tags-for-first-column nil)
+               )
+           (insert (org-lparse-format-table-row field-buffer empty)))
+         (setq org-lparse-table-cur-rowgrp-is-hdr nil)
+         (setq field-buffer nil)))
+       (t
+       ;; Break the line into fields and store the fields
+       (setq fields (org-split-string line "[ \t]*|[ \t]*"))
+       (if field-buffer
+           (setq field-buffer (mapcar
+                               (lambda (x)
+                                 (concat x (org-lparse-format 'LINE-BREAK)
+                                         (pop fields)))
+                               field-buffer))
+         (setq field-buffer fields)))))
+    (org-lparse-end-table)))
+
+(defun org-lparse-format-table-table (lines)
+  (with-temp-buffer
+    (org-lparse-insert-table-table lines)
+    (buffer-substring-no-properties (point-min) (point-max))))
+
+(defvar table-source-languages)                ; defined in table.el
+(defun org-lparse-format-table-table-using-table-generate-source (backend
+                                                                lines
+                                                                &optional
+                                                                spanned-only)
+  "Format a table into BACKEND, using `table-generate-source' from table.el.
+Use SPANNED-ONLY to suppress exporting of simple table.el tables.
+
+When SPANNED-ONLY is nil, all table.el tables are exported.  When
+SPANNED-ONLY is non-nil, only tables with either row or column
+spans are exported.
+
+This routine returns the generated source or nil as appropriate.
+
+Refer docstring of `org-export-prefer-native-exporter-for-tables'
+for further information."
+  (require 'table)
+  (with-current-buffer (get-buffer-create " org-tmp1 ")
+    (erase-buffer)
+    (insert (mapconcat 'identity lines "\n"))
+    (goto-char (point-min))
+    (if (not (re-search-forward "|[^+]" nil t))
+       (error "Error processing table"))
+    (table-recognize-table)
+    (when (or (not spanned-only)
+             (let* ((dim (table-query-dimension))
+                    (c (nth 4 dim)) (r (nth 5 dim)) (cells (nth 6 dim)))
+               (not (= (* c r) cells))))
+      (with-current-buffer (get-buffer-create " org-tmp2 ") (erase-buffer))
+      (cond
+       ((member backend table-source-languages)
+       (table-generate-source backend " org-tmp2 ")
+       (set-buffer " org-tmp2 ")
+       (buffer-substring (point-min) (point-max)))
+       (t
+       ;; table.el doesn't support the given backend. Currently this
+       ;; happens in case of odt export.  Strip the table from the
+       ;; generated document. A better alternative would be to embed
+       ;; the table as ascii text in the output document.
+       (org-lparse-warn
+        (concat
+         "Found table.el-type table in the source org file. "
+         (format "table.el doesn't support %s backend. "
+                 (upcase (symbol-name backend)))
+         "Skipping ahead ..."))
+       "")))))
+
+(defun org-lparse-handle-time-stamps (s)
+  "Format time stamps in string S, or remove them."
+  (catch 'exit
+    (let (r b)
+      (when org-maybe-keyword-time-regexp
+       (while (string-match org-maybe-keyword-time-regexp s)
+         (or b (setq b (substring s 0 (match-beginning 0))))
+         (setq r (concat
+                  r (substring s 0 (match-beginning 0)) " "
+                  (org-lparse-format
+                   'FONTIFY
+                   (concat
+                    (if (match-end 1)
+                        (org-lparse-format
+                         'FONTIFY
+                         (match-string 1 s) "timestamp-kwd"))
+                    " "
+                    (org-lparse-format
+                     'FONTIFY
+                     (substring (org-translate-time (match-string 3 s)) 1 -1)
+                     "timestamp"))
+                   "timestamp-wrapper"))
+               s (substring s (match-end 0)))))
+
+      ;; Line break if line started and ended with time stamp stuff
+      (if (not r)
+         s
+       (setq r (concat r s))
+       (unless (string-match "\\S-" (concat b s))
+         (setq r (concat r (org-lparse-format 'LINE-BREAK))))
+       r))))
+
+(defun org-xml-encode-plain-text (s)
+  "Convert plain text characters to HTML equivalent.
+Possible conversions are set in `org-export-html-protect-char-alist'."
+  (let ((cl (org-lparse-get 'PLAIN-TEXT-MAP)) c)
+    (while (setq c (pop cl))
+      (let ((start 0))
+       (while (string-match (car c) s start)
+         (setq s (replace-match (cdr c) t t s)
+               start (1+ (match-beginning 0))))))
+    s))
+
+(defun org-xml-encode-org-text-skip-links (string)
+  "Prepare STRING for HTML export.  Apply all active conversions.
+If there are links in the string, don't modify these.  If STRING
+is nil, return nil."
+  (when string
+    (let* ((re (concat org-bracket-link-regexp "\\|"
+                      (org-re "[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$")))
+          m s l res)
+      (while (setq m (string-match re string))
+       (setq s (substring string 0 m)
+             l (match-string 0 string)
+             string (substring string (match-end 0)))
+       (push (org-xml-encode-org-text s) res)
+       (push l res))
+      (push (org-xml-encode-org-text string) res)
+      (apply 'concat (nreverse res)))))
+
+(defun org-xml-encode-org-text (s)
+  "Apply all active conversions to translate special ASCII to HTML."
+  (setq s (org-xml-encode-plain-text s))
+  (if org-export-html-expand
+      (while (string-match "@&lt;\\([^&]*\\)&gt;" s)
+       (setq s (replace-match "<\\1>" t nil s))))
+  (if org-export-with-emphasize
+      (setq s (org-lparse-apply-char-styles s)))
+  (if org-export-with-special-strings
+      (setq s (org-lparse-convert-special-strings s)))
+  (if org-export-with-sub-superscripts
+      (setq s (org-lparse-apply-sub-superscript-styles s)))
+  (if org-export-with-TeX-macros
+      (let ((start 0) wd rep)
+       (while (setq start (string-match "\\\\\\([a-zA-Z]+[0-9]*\\)\\({}\\)?"
+                                        s start))
+         (if (get-text-property (match-beginning 0) 'org-protected s)
+             (setq start (match-end 0))
+           (setq wd (match-string 1 s))
+           (if (setq rep (org-lparse-format 'ORG-ENTITY wd))
+               (setq s (replace-match rep t t s))
+             (setq start (+ start (length wd))))))))
+  s)
+
+(defun org-lparse-convert-special-strings (string)
+  "Convert special characters in STRING to HTML."
+  (let ((all (org-lparse-get 'SPECIAL-STRING-REGEXPS))
+       e a re rpl start)
+    (while (setq a (pop all))
+      (setq re (car a) rpl (cdr a) start 0)
+      (while (string-match re string start)
+       (if (get-text-property (match-beginning 0) 'org-protected string)
+           (setq start (match-end 0))
+         (setq string (replace-match rpl t nil string)))))
+    string))
+
+(defun org-lparse-apply-sub-superscript-styles (string)
+  "Apply subscript and superscript styles to STRING.
+Use `org-export-with-sub-superscripts' to control application of
+sub and superscript styles."
+  (let (key c (s 0) (requireb (eq org-export-with-sub-superscripts '{})))
+    (while (string-match org-match-substring-regexp string s)
+      (cond
+       ((and requireb (match-end 8)) (setq s (match-end 2)))
+       ((get-text-property  (match-beginning 2) 'org-protected string)
+       (setq s (match-end 2)))
+       (t
+       (setq s (match-end 1)
+             key (if (string= (match-string 2 string) "_")
+                     'subscript 'superscript)
+             c (or (match-string 8 string)
+                   (match-string 6 string)
+                   (match-string 5 string))
+             string (replace-match
+                     (concat (match-string 1 string)
+                             (org-lparse-format 'FONTIFY c key))
+                     t t string)))))
+    (while (string-match "\\\\\\([_^]\\)" string)
+      (setq string (replace-match (match-string 1 string) t t string)))
+    string))
+
+(defvar org-lparse-char-styles
+  `(("*" bold)
+    ("/" emphasis)
+    ("_" underline)
+    ("=" code)
+    ("~" verbatim)
+    ("+" strike))
+  "Map Org emphasis markers to char styles.
+This is an alist where each element is of the
+form (ORG-EMPHASIS-CHAR . CHAR-STYLE).")
+
+(defun org-lparse-apply-char-styles (string)
+  "Apply char styles to STRING.
+The variable `org-lparse-char-styles' controls how the Org
+emphasis markers are interpreted."
+  (let ((s 0) rpl)
+    (while (string-match org-emph-re string s)
+      (if (not (equal
+               (substring string (match-beginning 3) (1+ (match-beginning 3)))
+               (substring string (match-beginning 4) (1+ (match-beginning 4)))))
+         (setq s (match-beginning 0)
+               rpl
+               (concat
+                (match-string 1 string)
+                (org-lparse-format
+                 'FONTIFY (match-string 4 string)
+                 (nth 1 (assoc (match-string 3 string)
+                               org-lparse-char-styles)))
+                (match-string 5 string))
+               string (replace-match rpl t t string)
+               s (+ s (- (length rpl) 2)))
+       (setq s (1+ s))))
+    string))
+
+(defun org-lparse-export-list-line (line pos struct prevs)
+  "Insert list syntax in export buffer.  Return LINE, maybe modified.
+
+POS is the item position or line position the line had before
+modifications to buffer.  STRUCT is the list structure.  PREVS is
+the alist of previous items."
+  (let* ((get-type
+         (function
+          ;; Translate type of list containing POS to "d", "o" or
+          ;; "u".
+          (lambda (pos struct prevs)
+            (let ((type (org-list-get-list-type pos struct prevs)))
+              (cond
+               ((eq 'ordered type) "o")
+               ((eq 'descriptive type) "d")
+               (t "u"))))))
+        (get-closings
+         (function
+          ;; Return list of all items and sublists ending at POS, in
+          ;; reverse order.
+          (lambda (pos)
+            (let (out)
+              (catch 'exit
+                (mapc (lambda (e)
+                        (let ((end (nth 6 e))
+                              (item (car e)))
+                          (cond
+                           ((= end pos) (push item out))
+                           ((>= item pos) (throw 'exit nil)))))
+                      struct))
+              out)))))
+    ;; First close any previous item, or list, ending at POS.
+    (mapc (lambda (e)
+           (let* ((lastp (= (org-list-get-last-item e struct prevs) e))
+                  (first-item (org-list-get-list-begin e struct prevs))
+                  (type (funcall get-type first-item struct prevs)))
+             (org-lparse-end-paragraph)
+             ;; Ending for every item
+             (org-lparse-end-list-item-1 type)
+             ;; We're ending last item of the list: end list.
+             (when lastp
+               (org-lparse-end-list type)
+               (org-lparse-begin-paragraph))))
+         (funcall get-closings pos))
+    (cond
+     ;; At an item: insert appropriate tags in export buffer.
+     ((assq pos struct)
+      (string-match
+       (concat "[ \t]*\\(\\S-+[ \t]*\\)"
+              "\\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[A-Za-z]\\)\\][ \t]*\\)?"
+              "\\(?:\\(\\[[ X-]\\]\\)[ \t]+\\)?"
+              "\\(?:\\(.*\\)[ \t]+::\\(?:[ \t]+\\|$\\)\\)?"
+              "\\(.*\\)") line)
+      (let* ((checkbox (match-string 3 line))
+            (desc-tag (or (match-string 4 line) "???"))
+            (body (or (match-string 5 line) ""))
+            (list-beg (org-list-get-list-begin pos struct prevs))
+            (firstp (= list-beg pos))
+            ;; Always refer to first item to determine list type, in
+            ;; case list is ill-formed.
+            (type (funcall get-type list-beg struct prevs))
+            (counter (let ((count-tmp (org-list-get-counter pos struct)))
+                       (cond
+                        ((not count-tmp) nil)
+                        ((string-match "[A-Za-z]" count-tmp)
+                         (- (string-to-char (upcase count-tmp)) 64))
+                        ((string-match "[0-9]+" count-tmp)
+                         count-tmp)))))
+       (when firstp
+         (org-lparse-end-paragraph)
+         (org-lparse-begin-list type))
+
+       (let ((arg (cond ((equal type "d") desc-tag)
+                        ((equal type "o") counter))))
+         (org-lparse-begin-list-item type arg))
+
+       ;; If line had a checkbox, some additional modification is required.
+       (when checkbox
+         (setq body
+               (concat
+                (org-lparse-format
+                 'FONTIFY (concat
+                           "["
+                           (cond
+                            ((string-match "X" checkbox) "X")
+                            ((string-match " " checkbox)
+                             (org-lparse-format 'SPACES 1))
+                            (t "-"))
+                           "]")
+                 'code)
+                " "
+                body)))
+       ;; Return modified line
+       body))
+     ;; At a list ender: go to next line (side-effects only).
+     ((equal "ORG-LIST-END-MARKER" line) (throw 'nextline nil))
+     ;; Not at an item: return line unchanged (side-effects only).
+     (t line))))
+
+(defun org-lparse-bind-local-variables (opt-plist)
+  (mapc (lambda (x)
+         (set (make-local-variable (nth 2 x))
+              (plist-get opt-plist (car x))))
+       org-export-plist-vars))
+
+(defvar org-lparse-table-rowgrp-open)
+(defvar org-lparse-table-cur-rowgrp-is-hdr)
+(defvar org-lparse-footnote-number)
+(defvar org-lparse-footnote-definitions)
+(defvar org-lparse-output-buffer nil
+  "Buffer to which `org-do-lparse' writes to.
+This buffer contains the contents of the to-be-created exported
+document.")
+
+(defcustom org-lparse-debug nil
+  "Enable or Disable logging of `org-lparse' callbacks.
+The parameters passed to the backend-registered ENTITY-CONTROL
+and ENTITY-FORMAT callbacks are logged as comment strings in the
+exported buffer.  (org-lparse-format 'COMMENT fmt args) is used
+for logging.  Customize this variable only if you are an expert
+user.  Valid values of this variable are:
+nil     : Disable logging
+control : Log all invocations of `org-lparse-begin' and
+          `org-lparse-end' callbacks.
+format  : Log invocations of `org-lparse-format' callbacks.
+t       : Log all invocations of `org-lparse-begin', `org-lparse-end'
+          and `org-lparse-format' callbacks,"
+  :group 'org-lparse
+  :type '(choice
+         (const :tag "Disable" nil)
+         (const :tag "Format callbacks" format)
+         (const :tag "Control callbacks" control)
+         (const :tag "Format and Control callbacks" t)))
+
+(defun org-lparse-begin (entity &rest args)
+  "Begin ENTITY in current buffer.  ARGS is entity specific.
+ENTITY can be one of PARAGRAPH, LIST, LIST-ITEM etc.
+
+Use (org-lparse-begin 'LIST \"o\") to begin a list in current
+buffer.
+
+See `org-xhtml-entity-control-callbacks-alist' for more
+information."
+  (when (and (member org-lparse-debug '(t control))
+            (not (eq entity 'DOCUMENT-CONTENT)))
+    (insert (org-lparse-format 'COMMENT "%s BEGIN %S" entity args)))
+
+  (let ((f (cadr (assoc entity org-lparse-entity-control-callbacks-alist))))
+    (unless f (error "Unknown entity: %s" entity))
+    (apply f args)))
+
+(defun org-lparse-end (entity &rest args)
+  "Close ENTITY in current buffer.  ARGS is entity specific.
+ENTITY can be one of PARAGRAPH, LIST, LIST-ITEM
+etc.
+
+Use (org-lparse-end 'LIST \"o\") to close a list in current
+buffer.
+
+See `org-xhtml-entity-control-callbacks-alist' for more
+information."
+  (when (and (member org-lparse-debug '(t control))
+            (not (eq entity 'DOCUMENT-CONTENT)))
+    (insert (org-lparse-format 'COMMENT "%s END %S" entity args)))
+
+  (let ((f (caddr (assoc entity org-lparse-entity-control-callbacks-alist))))
+    (unless f (error "Unknown entity: %s" entity))
+    (apply f args)))
+
+(defun org-lparse-begin-paragraph (&optional style)
+  "Insert <p>, but first close previous paragraph if any."
+  (org-lparse-end-paragraph)
+  (org-lparse-begin 'PARAGRAPH style)
+  (setq org-lparse-par-open t))
+
+(defun org-lparse-end-paragraph ()
+  "Close paragraph if there is one open."
+  (when org-lparse-par-open
+    (org-lparse-end 'PARAGRAPH)
+    (setq org-lparse-par-open nil)))
+
+(defun org-lparse-end-list-item-1 (&optional type)
+  "Close <li> if necessary."
+  (org-lparse-end-paragraph)
+  (org-lparse-end-list-item (or type "u")))
+
+(defun org-lparse-preprocess-after-blockquote-hook ()
+  "Treat `org-lparse-special-blocks' specially."
+  (goto-char (point-min))
+  (while (re-search-forward
+         "^[ \t]*#\\+\\(begin\\|end\\)_\\(\\S-+\\)[ \t]*\\(.*\\)$" nil t)
+    (when (member (downcase (match-string 2)) org-lparse-special-blocks)
+      (replace-match
+       (if (equal (downcase (match-string 1)) "begin")
+          (format "ORG-%s-START %s" (upcase (match-string 2))
+                  (match-string 3))
+        (format "ORG-%s-END %s" (upcase (match-string 2))
+                (match-string 3))) t t))))
+
+(add-hook 'org-export-preprocess-after-blockquote-hook
+         'org-lparse-preprocess-after-blockquote-hook)
+
+(defun org-lparse-strip-experimental-blocks-maybe-hook ()
+  "Strip \"list-table\" and \"annotation\" blocks.
+Stripping happens only when the exported backend is not one of
+\"odt\" or \"xhtml\"."
+  (when (not org-lparse-backend)
+    (message "Stripping following blocks - %S" org-lparse-special-blocks)
+    (goto-char (point-min))
+    (let ((case-fold-search t))
+      (while
+         (re-search-forward
+          "^[ \t]*#\\+begin_\\(\\S-+\\)\\([ \t]+.*\\)?\n\\([^\000]*?\\)\n[ \t]*#\\+end_\\1\\>.*"
+          nil t)
+       (when (member (match-string 1) org-lparse-special-blocks)
+         (replace-match "" t t))))))
+
+(add-hook 'org-export-preprocess-hook
+         'org-lparse-strip-experimental-blocks-maybe-hook)
+
+(defvar org-lparse-list-table-p nil
+  "Non-nil if `org-do-lparse' is within a list-table.")
+
+(defvar org-lparse-dyn-current-environment nil)
+(defun org-lparse-begin-environment (style &optional env-options-plist)
+  (case style
+    (list-table
+     (setq org-lparse-list-table-p t))
+    (t (setq org-lparse-dyn-current-environment style)
+       (org-lparse-begin 'ENVIRONMENT  style env-options-plist))))
+
+(defun org-lparse-end-environment (style &optional env-options-plist)
+  (case style
+    (list-table
+     (setq org-lparse-list-table-p nil))
+    (t (org-lparse-end 'ENVIRONMENT style env-options-plist)
+       (setq org-lparse-dyn-current-environment nil))))
+
+(defun org-lparse-current-environment-p (style)
+  (eq org-lparse-dyn-current-environment style))
+
+(defun org-lparse-begin-footnote-definition (n)
+  (org-lparse-begin-collect)
+  (setq org-lparse-insert-tag-with-newlines nil)
+  (org-lparse-begin 'FOOTNOTE-DEFINITION n))
+
+(defun org-lparse-end-footnote-definition (n)
+  (org-lparse-end 'FOOTNOTE-DEFINITION n)
+  (setq org-lparse-insert-tag-with-newlines 'both)
+  (let ((footnote-def (org-lparse-end-collect)))
+    (push (cons n footnote-def) org-lparse-footnote-definitions)))
+
+(defvar org-lparse-collect-buffer nil
+  "An auxiliary buffer named \"*Org Lparse Collect*\".
+`org-do-lparse' uses this as output buffer while collecting
+footnote definitions and table-cell contents of list-tables.  See
+`org-lparse-begin-collect' and `org-lparse-end-collect'.")
+
+(defvar org-lparse-collect-count nil
+  "Count number of calls to `org-lparse-begin-collect'.
+Use this counter to catch chained collections if they ever
+happen.")
+
+(defun org-lparse-begin-collect ()
+  "Temporarily switch to `org-lparse-collect-buffer'.
+Also erase it's contents."
+  (unless (zerop org-lparse-collect-count)
+    (error "FIXME (org-lparse.el): Encountered chained collections"))
+  (incf org-lparse-collect-count)
+  (unless org-lparse-collect-buffer
+    (setq org-lparse-collect-buffer
+         (get-buffer-create "*Org Lparse Collect*")))
+  (set-buffer org-lparse-collect-buffer)
+  (erase-buffer))
+
+(defun org-lparse-end-collect ()
+  "Switch to `org-lparse-output-buffer'.
+Return contents of `org-lparse-collect-buffer' as a `string'."
+  (assert (> org-lparse-collect-count 0))
+  (decf org-lparse-collect-count)
+  (prog1 (buffer-string)
+    (erase-buffer)
+    (set-buffer org-lparse-output-buffer)))
+
+(defun org-lparse-format (entity &rest args)
+  "Format ENTITY in backend-specific way and return it.
+ARGS is specific to entity being formatted.
+
+Use (org-lparse-format 'HEADING \"text\" 1) to format text as
+level 1 heading.
+
+See `org-xhtml-entity-format-callbacks-alist' for more information."
+  (when (and (member org-lparse-debug '(t format))
+            (not (equal entity 'COMMENT)))
+    (insert (org-lparse-format 'COMMENT "%s: %S" entity args)))
+  (cond
+   ((consp entity)
+    (let ((text (pop args)))
+      (apply 'org-lparse-format 'TAGS entity text args)))
+   (t
+    (let ((f (cdr (assoc entity org-lparse-entity-format-callbacks-alist))))
+      (unless f (error "Unknown entity: %s" entity))
+      (apply f args)))))
+
+(defun org-lparse-insert (entity &rest args)
+  (insert (apply 'org-lparse-format entity args)))
+
+(defun org-lparse-prepare-toc (lines level-offset opt-plist umax-toc)
+  (let* ((quote-re0 (concat "^[ \t]*" org-quote-string "\\>"))
+        (org-min-level (org-get-min-level lines level-offset))
+        (org-last-level org-min-level)
+        level)
+    (with-temp-buffer
+      (org-lparse-bind-local-variables opt-plist)
+      (erase-buffer)
+      (org-lparse-begin 'TOC (nth 3 (plist-get opt-plist :lang-words)) umax-toc)
+      (setq
+       lines
+       (mapcar
+       #'(lambda (line)
+           (when (and (string-match org-todo-line-regexp line)
+                      (not (get-text-property 0 'org-protected line))
+                      (<= (setq level (org-tr-level
+                                       (- (match-end 1) (match-beginning 1)
+                                          level-offset)))
+                          umax-toc))
+             (let ((txt (save-match-data
+                          (org-xml-encode-org-text-skip-links
+                           (org-export-cleanup-toc-line
+                            (match-string 3 line)))))
+                   (todo (and
+                          org-export-mark-todo-in-toc
+                          (or (and (match-beginning 2)
+                                   (not (member (match-string 2 line)
+                                                org-done-keywords)))
+                              (and (= level umax-toc)
+                                   (org-search-todo-below
+                                    line lines level)))))
+                   tags)
+               ;; Check for targets
+               (while (string-match org-any-target-regexp line)
+                 (setq line
+                       (replace-match
+                        (let ((org-lparse-encode-pending t))
+                          (org-lparse-format 'FONTIFY
+                                            (match-string 1 line) "target"))
+                        t t line)))
+               (when (string-match
+                      (org-re "[ \t]+:\\([[:alnum:]_@:]+\\):[ \t]*$") txt)
+                 (setq tags (match-string 1 txt)
+                       txt (replace-match "" t nil txt)))
+               (when (string-match quote-re0 txt)
+                 (setq txt (replace-match "" t t txt)))
+               (while (string-match "&lt;\\(&lt;\\)+\\|&gt;\\(&gt;\\)+" txt)
+                 (setq txt (replace-match "" t t txt)))
+               (org-lparse-format
+                'TOC-ITEM
+                (let* ((snumber (org-section-number level))
+                       (href (replace-regexp-in-string
+                              "\\." "-" (format "sec-%s" snumber)))
+                       (href
+                        (or
+                         (cdr (assoc
+                               href org-export-preferred-target-alist))
+                         href))
+                       (href (org-solidify-link-text href)))
+                  (org-lparse-format 'TOC-ENTRY snumber todo txt tags href))
+                level org-last-level)
+               (setq org-last-level level)))
+           line)
+       lines))
+      (org-lparse-end 'TOC)
+      (setq org-lparse-toc (buffer-string))))
+  lines)
+
+(defun org-lparse-format-table-row (fields &optional text-for-empty-fields)
+  (if org-lparse-table-ncols
+      ;; second and subsequent rows of the table
+      (when (and org-lparse-list-table-p
+                (> (length fields) org-lparse-table-ncols))
+       (error "Table row has %d columns but header row claims %d columns"
+              (length fields) org-lparse-table-ncols))
+    ;; first row of the table
+    (setq org-lparse-table-ncols (length fields))
+    (when org-lparse-table-is-styled
+      (setq org-lparse-table-num-numeric-items-per-column
+           (make-vector org-lparse-table-ncols 0))
+      (setq org-lparse-table-colalign-vector
+           (make-vector org-lparse-table-ncols nil))
+      (let ((c -1))
+       (while  (< (incf c) org-lparse-table-ncols)
+         (let* ((col-cookie (cdr (assoc (1+ c) org-lparse-table-colalign-info)))
+                (align (nth 0 col-cookie)))
+           (setf (aref org-lparse-table-colalign-vector c)
+                 (cond
+                  ((string= align "l") "left")
+                  ((string= align "r") "right")
+                  ((string= align "c") "center")
+                  (t nil))))))))
+  (incf org-lparse-table-rownum)
+  (let ((i -1))
+    (org-lparse-format
+     'TABLE-ROW
+     (mapconcat
+      (lambda (x)
+       (when (and (string= x "") text-for-empty-fields)
+         (setq x text-for-empty-fields))
+       (incf i)
+       (let (col-cookie horiz-span)
+         (when org-lparse-table-is-styled
+           (when (and (< i org-lparse-table-ncols)
+                      (string-match org-table-number-regexp x))
+             (incf (aref org-lparse-table-num-numeric-items-per-column i)))
+           (setq col-cookie (cdr (assoc (1+ i) org-lparse-table-colalign-info))
+                 horiz-span (nth 1 col-cookie)))
+         (org-lparse-format
+          'TABLE-CELL x org-lparse-table-rownum i (or horiz-span 0))))
+      fields "\n"))))
+
+(defun org-lparse-get (what &optional opt-plist)
+  "Query for value of WHAT for the current backend `org-lparse-backend'.
+See also `org-lparse-backend-get'."
+  (if (boundp 'org-lparse-backend)
+      (org-lparse-backend-get (symbol-name org-lparse-backend) what opt-plist)
+    (error "org-lparse-backend is not bound yet")))
+
+(defun org-lparse-backend-get (backend what &optional opt-plist)
+  "Query BACKEND for value of WHAT.
+Dispatch the call to `org-<backend>-user-get'.  If that throws an
+error, dispatch the call to `org-<backend>-get'.  See
+`org-xhtml-get' for all known settings queried for by
+`org-lparse' during the course of export."
+  (assert (stringp backend) t)
+  (unless (org-lparse-backend-is-native-p backend)
+    (error "Unknown native backend %s" backend))
+  (let ((backend-get-method (intern (format "org-%s-get" backend)))
+       (backend-user-get-method (intern (format "org-%s-user-get" backend))))
+    (cond
+     ((functionp backend-get-method)
+      (condition-case nil
+         (funcall backend-user-get-method what opt-plist)
+       (error (funcall backend-get-method what opt-plist))))
+     (t
+      (error "Native backend %s doesn't define %s" backend backend-get-method)))))
+
+(defun org-lparse-insert-tag (tag &rest args)
+  (when (member org-lparse-insert-tag-with-newlines '(lead both))
+    (insert  "\n"))
+  (insert (apply 'format tag args))
+  (when (member org-lparse-insert-tag-with-newlines '(trail both))
+    (insert  "\n")))
+
+(defun org-lparse-get-targets-from-title (title)
+  (let* ((target (org-get-text-property-any 0 'target title))
+        (extra-targets (assoc target org-export-target-aliases))
+        (target (or (cdr (assoc target org-export-preferred-target-alist))
+                    target)))
+    (cons target (remove target extra-targets))))
+
+(defun org-lparse-suffix-from-snumber (snumber)
+  (let* ((snu (replace-regexp-in-string "\\." "-" snumber))
+        (href (cdr (assoc (concat "sec-" snu)
+                          org-export-preferred-target-alist))))
+    (org-solidify-link-text (or href snu))))
+
+(defun org-lparse-begin-level (level title umax head-count)
+  "Insert a new LEVEL in HTML export.
+When TITLE is nil, just close all open levels."
+  (org-lparse-end-level level umax)
+  (unless title (error "Why is heading nil"))
+  (let* ((targets (org-lparse-get-targets-from-title title))
+        (target (car targets)) (extra-targets (cdr targets))
+        (target (and target (org-solidify-link-text target)))
+        (extra-class (org-get-text-property-any 0 'html-container-class title))
+        snumber tags level1 class)
+    (when (string-match (org-re "\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$") title)
+      (setq tags (and org-export-with-tags (match-string 1 title)))
+      (setq title (replace-match "" t t title)))
+    (if (> level umax)
+       (progn
+         (if (aref org-levels-open (1- level))
+             (org-lparse-end-list-item-1)
+           (aset org-levels-open (1- level) t)
+           (org-lparse-end-paragraph)
+           (org-lparse-begin-list 'unordered))
+         (org-lparse-begin-list-item
+          'unordered target (org-lparse-format
+                             'HEADLINE title extra-targets tags)))
+      (aset org-levels-open (1- level) t)
+      (setq snumber (org-section-number level))
+      (setq level1 (+ level (or (org-lparse-get 'TOPLEVEL-HLEVEL) 1) -1))
+      (unless (= head-count 1)
+       (org-lparse-end-outline-text-or-outline))
+      (org-lparse-begin-outline-and-outline-text
+       level1 snumber title tags target extra-targets extra-class)
+      (org-lparse-begin-paragraph))))
+
+(defun org-lparse-end-level (level umax)
+  (org-lparse-end-paragraph)
+  (loop for l from org-level-max downto level
+       do (when (aref org-levels-open (1- l))
+            ;; Terminate one level in HTML export
+            (if (<= l umax)
+                (org-lparse-end-outline-text-or-outline)
+              (org-lparse-end-list-item-1)
+              (org-lparse-end-list 'unordered))
+            (aset org-levels-open (1- l) nil))))
+
+(defvar org-lparse-outline-text-open)
+(defun org-lparse-begin-outline-and-outline-text (level1 snumber title tags
+                                                       target extra-targets
+                                                       extra-class)
+  (org-lparse-begin
+   'OUTLINE level1 snumber title tags target extra-targets extra-class)
+  (org-lparse-begin-outline-text level1 snumber extra-class))
+
+(defun org-lparse-end-outline-text-or-outline ()
+  (cond
+   (org-lparse-outline-text-open
+    (org-lparse-end 'OUTLINE-TEXT)
+    (setq org-lparse-outline-text-open nil))
+   (t (org-lparse-end 'OUTLINE))))
+
+(defun org-lparse-begin-outline-text (level1 snumber extra-class)
+  (assert (not org-lparse-outline-text-open) t)
+  (setq org-lparse-outline-text-open t)
+  (org-lparse-begin 'OUTLINE-TEXT level1 snumber extra-class))
+
+(defun org-lparse-html-list-type-to-canonical-list-type (ltype)
+  (cdr (assoc ltype '(("o" . ordered)
+                     ("u" . unordered)
+                     ("d" . description)))))
+
+;; following vars are bound during `org-do-lparse'
+(defvar org-lparse-list-level)
+(defvar org-lparse-list-item-count)
+(defvar org-lparse-list-stack)
+(defvar org-lparse-list-table:table-row)
+(defvar org-lparse-list-table:lines)
+
+;; Notes on LIST-TABLES
+;; ====================
+;; Lists withing "list-table" blocks (as shown below)
+;;
+;; #+begin_list-table
+;; - Row 1
+;;   - 1.1
+;;   - 1.2
+;;   - 1.3
+;; - Row 2
+;;   - 2.1
+;;   - 2.2
+;;   - 2.3
+;; #+end_list-table
+;;
+;; will be exported as though it were a table as shown below.
+;;
+;; | Row 1 | 1.1 | 1.2 | 1.3 |
+;; | Row 2 | 2.1 | 2.2 | 2.3 |
+;;
+;; Note that org-tables are NOT multi-line and each line is mapped to
+;; a unique row in the exported document.  So if an exported table
+;; needs to contain a single paragraph (with copious text) it needs to
+;; be typed up in a single line. Editing such long lines using the
+;; table editor will be a cumbersome task.  Furthermore inclusion of
+;; multi-paragraph text in a table cell is well-nigh impossible.
+;;
+;; LIST-TABLEs are meant to circumvent the above problems with
+;; org-tables.
+;;
+;; Note that in the example above the list items could be paragraphs
+;; themselves and the list can be arbitrarily deep.
+;;
+;; Inspired by following thread:
+;; https://lists.gnu.org/archive/html/emacs-orgmode/2011-03/msg01101.html
+
+(defun org-lparse-begin-list (ltype)
+  (incf org-lparse-list-level)
+  (push org-lparse-list-item-count org-lparse-list-stack)
+  (setq org-lparse-list-item-count 0)
+  (cond
+   ((not org-lparse-list-table-p)
+    (org-lparse-begin 'LIST ltype))
+   ;; process LIST-TABLE
+   ((= 1 org-lparse-list-level)
+    ;; begin LIST-TABLE
+    (setq org-lparse-list-table:lines nil)
+    (setq org-lparse-list-table:table-row nil))
+   ((= 2 org-lparse-list-level)
+    (ignore))
+   (t
+    (org-lparse-begin 'LIST ltype))))
+
+(defun org-lparse-end-list (ltype)
+  (setq org-lparse-list-item-count (pop org-lparse-list-stack))
+  (decf org-lparse-list-level)
+  (cond
+   ((not org-lparse-list-table-p)
+    (org-lparse-end 'LIST ltype))
+   ;; process LIST-TABLE
+   ((= 0 org-lparse-list-level)
+    ;; end LIST-TABLE
+    (insert (org-lparse-format-list-table
+            (nreverse org-lparse-list-table:lines))))
+   ((= 1 org-lparse-list-level)
+    (ignore))
+   (t
+    (org-lparse-end 'LIST ltype))))
+
+(defun org-lparse-begin-list-item (ltype &optional arg headline)
+  (incf org-lparse-list-item-count)
+  (cond
+   ((not org-lparse-list-table-p)
+    (org-lparse-begin 'LIST-ITEM ltype arg headline))
+   ;; process LIST-TABLE
+   ((and (= 1 org-lparse-list-level)
+        (= 1 org-lparse-list-item-count))
+    ;; begin TABLE-ROW for LIST-TABLE
+    (setq org-lparse-list-table:table-row nil)
+    (org-lparse-begin-list-table:table-cell))
+   ((and (= 2 org-lparse-list-level)
+        (= 1 org-lparse-list-item-count))
+    ;; begin TABLE-CELL for LIST-TABLE
+    (org-lparse-begin-list-table:table-cell))
+   (t
+    (org-lparse-begin 'LIST-ITEM ltype arg headline))))
+
+(defun org-lparse-end-list-item (ltype)
+  (decf org-lparse-list-item-count)
+  (cond
+   ((not org-lparse-list-table-p)
+    (org-lparse-end 'LIST-ITEM ltype))
+   ;; process LIST-TABLE
+   ((and (= 1 org-lparse-list-level)
+        (= 0 org-lparse-list-item-count))
+    ;; end TABLE-ROW for LIST-TABLE
+    (org-lparse-end-list-table:table-cell)
+    (push (nreverse org-lparse-list-table:table-row)
+         org-lparse-list-table:lines))
+   ((= 2 org-lparse-list-level)
+    ;; end TABLE-CELL for LIST-TABLE
+    (org-lparse-end-list-table:table-cell))
+   (t
+    (org-lparse-end 'LIST-ITEM ltype))))
+
+(defvar org-lparse-list-table:table-cell-open)
+(defun org-lparse-begin-list-table:table-cell ()
+  (org-lparse-end-list-table:table-cell)
+  (setq org-lparse-list-table:table-cell-open t)
+  (org-lparse-begin-collect)
+  (org-lparse-begin-paragraph))
+
+(defun org-lparse-end-list-table:table-cell ()
+  (when org-lparse-list-table:table-cell-open
+    (setq org-lparse-list-table:table-cell-open nil)
+    (org-lparse-end-paragraph)
+    (push (org-lparse-end-collect)
+         org-lparse-list-table:table-row)))
+
+(defvar org-lparse-table-rowgrp-info)
+(defun org-lparse-begin-table-rowgroup (&optional is-header-row)
+  (push (cons (1+ org-lparse-table-rownum) :start) org-lparse-table-rowgrp-info)
+  (org-lparse-begin 'TABLE-ROWGROUP is-header-row))
+
+(defun org-lparse-end-table ()
+  (when org-lparse-table-is-styled
+    ;; column groups
+    (unless (car org-table-colgroup-info)
+      (setq org-table-colgroup-info
+           (cons :start (cdr org-table-colgroup-info))))
+
+    ;; column alignment
+    (let ((c -1))
+      (mapc
+       (lambda (x)
+        (incf c)
+        (setf (aref org-lparse-table-colalign-vector c)
+              (or (aref org-lparse-table-colalign-vector c)
+                  (if (> (/ (float x) (1+ org-lparse-table-rownum))
+                         org-table-number-fraction)
+                      "right" "left"))))
+       org-lparse-table-num-numeric-items-per-column)))
+  (org-lparse-end 'TABLE))
+
+(defvar org-lparse-encode-pending nil)
+
+(defun org-lparse-format-tags (tag text prefix suffix &rest args)
+  (cond
+   ((consp tag)
+    (concat prefix (apply 'format (car tag) args) text suffix
+           (format (cdr tag))))
+   ((stringp tag)                      ; singleton tag
+    (concat prefix (apply 'format tag args) text))))
+
+(defun org-xml-fix-class-name (kwd)    ; audit callers of this function
+  "Turn todo keyword into a valid class name.
+Replaces invalid characters with \"_\"."
+  (save-match-data
+    (while (string-match "[^a-zA-Z0-9_]" kwd)
+      (setq kwd (replace-match "_" t t kwd))))
+  kwd)
+
+(defun org-lparse-format-todo (todo)
+  (org-lparse-format 'FONTIFY
+                    (concat
+                     (ignore-errors (org-lparse-get 'TODO-KWD-CLASS-PREFIX))
+                     (org-xml-fix-class-name todo))
+                    (list (if (member todo org-done-keywords) "done" "todo")
+                          todo)))
+
+(defun org-lparse-format-extra-targets (extra-targets)
+  (if (not extra-targets) ""
+      (mapconcat (lambda (x)
+              (setq x (org-solidify-link-text
+                       (if (org-uuidgen-p x) (concat "ID-" x) x)))
+              (org-lparse-format 'ANCHOR "" x))
+            extra-targets "")))
+
+(defun org-lparse-format-org-tags (tags)
+  (if (not tags) ""
+    (org-lparse-format
+     'FONTIFY (mapconcat
+              (lambda (x)
+                (org-lparse-format
+                 'FONTIFY x
+                 (concat
+                  (ignore-errors (org-lparse-get 'TAG-CLASS-PREFIX))
+                  (org-xml-fix-class-name x))))
+              (org-split-string tags ":")
+              (org-lparse-format 'SPACES 1)) "tag")))
+
+(defun org-lparse-format-section-number (&optional snumber level)
+  (and org-export-with-section-numbers
+       (not org-lparse-body-only) snumber level
+       (org-lparse-format 'FONTIFY snumber (format "section-number-%d" level))))
+
+(defun org-lparse-warn (msg)
+  (if (not org-lparse-use-flashy-warning)
+      (message msg)
+    (put-text-property 0 (length msg) 'face 'font-lock-warning-face msg)
+    (message msg)
+    (sleep-for 3)))
+
+(defun org-xml-format-href (s)
+  "Make sure the S is valid as a href reference in an XHTML document."
+  (save-match-data
+    (let ((start 0))
+      (while (string-match "&" s start)
+       (setq start (+ (match-beginning 0) 3)
+             s (replace-match "&amp;" t t s)))))
+  s)
+
+(defun org-xml-format-desc (s)
+  "Make sure the S is valid as a description in a link."
+  (if (and s (not (get-text-property 1 'org-protected s)))
+      (save-match-data
+       (org-xml-encode-org-text s))
+    s))
+
+(provide 'org-lparse)
+
+;;; org-lparse.el ends here
index fc52b92a21d907be80100faefd87ae1b0432568e..b87d91f4cc21512f48bb8cbaf2fd63f5e0397bf8 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-mac-message.el --- Links to Apple Mail.app messages from within Org-mode
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;;         Christopher Suckling <suckling at gmail dot com>
 
-;; Version: 7.7
 ;; Keywords: outlines, hypermedia, calendar, wp
 
 ;; This file is part of GNU Emacs.
@@ -214,6 +213,4 @@ list of message:// links to flagged mail after heading."
 
 (provide 'org-mac-message)
 
-
-
 ;;; org-mac-message.el ends here
index dc413f4d9939b993d40e6b2f524121e39cd4a870..daeea715789e554ace29175b9f12f9e75a08bb45 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-macs.el --- Top-level definitions for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 (declare-function org-add-props "org-compat" (string plist &rest props))
 (declare-function org-string-match-p "org-compat" (&rest args))
 
+(defmacro org-with-gensyms (symbols &rest body)
+  `(let ,(mapcar (lambda (s)
+                  `(,s (make-symbol (concat "--" (symbol-name ',s))))) symbols)
+     ,@body))
+(def-edebug-spec org-with-gensyms (sexp body))
+(put 'org-with-gensyms 'lisp-indent-function 1)
+
 (defmacro org-called-interactively-p (&optional kind)
   (if (featurep 'xemacs)
        `(interactive-p)
                  (>= emacs-minor-version 2)))
         `(with-no-warnings (called-interactively-p ,kind)) ;; defined with no argument in <=23.1
        `(interactive-p))))
+(def-edebug-spec org-called-interactively-p (&optional ("quote" symbolp)))
 
-(if (and (not (fboundp 'with-silent-modifications))
+(when (and (not (fboundp 'with-silent-modifications))
         (or (< emacs-major-version 23)
             (and (= emacs-major-version 23)
                  (< emacs-minor-version 2))))
     (defmacro with-silent-modifications (&rest body)
-      `(org-unmodified ,@body)))
+      `(org-unmodified ,@body))
+    (def-edebug-spec with-silent-modifications (body)))
 
 (defmacro org-bound-and-true-p (var)
   "Return the value of symbol VAR if it is bound, else nil."
   `(and (boundp (quote ,var)) ,var))
+(def-edebug-spec org-bound-and-true-p (symbolp))
 
 (defun org-string-nw-p (s)
   "Is S a string with a non-white character?"
@@ -85,30 +94,36 @@ Also, do not record undo information."
       (let ((buffer-undo-list t)
            before-change-functions after-change-functions)
        ,@body))))
+(def-edebug-spec org-unmodified (body))
+
+(defun org-substitute-posix-classes (re)
+  "Substitute posix classes in regular expression RE."
+  (let ((ss re))
+    (save-match-data
+      (while (string-match "\\[:alnum:\\]" ss)
+       (setq ss (replace-match "a-zA-Z0-9" t t ss)))
+      (while (string-match "\\[:word:\\]" ss)
+       (setq ss (replace-match "a-zA-Z0-9" t t ss)))
+      (while (string-match "\\[:alpha:\\]" ss)
+       (setq ss (replace-match "a-zA-Z" t t ss)))
+      (while (string-match "\\[:punct:\\]" ss)
+       (setq ss (replace-match "\001-@[-`{-~" t t ss)))
+      ss)))
 
 (defmacro org-re (s)
   "Replace posix classes in regular expression."
-  (if (featurep 'xemacs)
-      (let ((ss s))
-       (save-match-data
-         (while (string-match "\\[:alnum:\\]" ss)
-           (setq ss (replace-match "a-zA-Z0-9" t t ss)))
-         (while (string-match "\\[:word:\\]" ss)
-           (setq ss (replace-match "a-zA-Z0-9" t t ss)))
-         (while (string-match "\\[:alpha:\\]" ss)
-           (setq ss (replace-match "a-zA-Z" t t ss)))
-         (while (string-match "\\[:punct:\\]" ss)
-           (setq ss (replace-match "\001-@[-`{-~" t t ss)))
-         ss))
-    s))
+  (if (featurep 'xemacs) `(org-substitute-posix-classes ,s) s))
+(def-edebug-spec org-re (form))
 
 (defmacro org-preserve-lc (&rest body)
-  `(let ((_line (org-current-line))
-        (_col (current-column)))
-     (unwind-protect
-        (progn ,@body)
-       (org-goto-line _line)
-       (org-move-to-column _col))))
+  (org-with-gensyms (line col)
+    `(let ((,line (org-current-line))
+          (,col (current-column)))
+       (unwind-protect
+          (progn ,@body)
+        (org-goto-line ,line)
+        (org-move-to-column ,col)))))
+(def-edebug-spec org-preserve-lc (body))
 
 (defmacro org-without-partial-completion (&rest body)
   `(if (and (boundp 'partial-completion-mode)
@@ -120,7 +135,9 @@ Also, do not record undo information."
           ,@body)
        (partial-completion-mode 1))
      ,@body))
+(def-edebug-spec org-without-partial-completion (body))
 
+;; FIXME: Slated for removal. Current Org mode does not support Emacs < 22
 (defmacro org-maybe-intangible (props)
   "Add '(intangible t) to PROPS if Emacs version is earlier than Emacs 22.
 In Emacs 21, invisible text is not avoided by the command loop, so the
@@ -135,31 +152,37 @@ We use a macro so that the test can happen at compilation time."
 
 (defmacro org-with-point-at (pom &rest body)
   "Move to buffer and point of point-or-marker POM for the duration of BODY."
-  `(let ((pom ,pom))
-     (save-excursion
-       (if (markerp pom) (set-buffer (marker-buffer pom)))
+  (org-with-gensyms (mpom)
+    `(let ((,mpom ,pom))
        (save-excursion
-        (goto-char (or pom (point)))
-        ,@body))))
+        (if (markerp ,mpom) (set-buffer (marker-buffer ,mpom)))
+        (save-excursion
+          (goto-char (or ,mpom (point)))
+          ,@body)))))
+(def-edebug-spec org-with-point-at (form body))
 (put 'org-with-point-at 'lisp-indent-function 1)
 
 (defmacro org-no-warnings (&rest body)
   (cons (if (fboundp 'with-no-warnings) 'with-no-warnings 'progn) body))
+(def-edebug-spec org-no-warnings (body))
 
 (defmacro org-if-unprotected (&rest body)
   "Execute BODY if there is no `org-protected' text property at point."
   `(unless (get-text-property (point) 'org-protected)
      ,@body))
+(def-edebug-spec org-if-unprotected (body))
 
 (defmacro org-if-unprotected-1 (&rest body)
   "Execute BODY if there is no `org-protected' text property at point-1."
   `(unless (get-text-property (1- (point)) 'org-protected)
      ,@body))
+(def-edebug-spec org-if-unprotected-1 (body))
 
 (defmacro org-if-unprotected-at (pos &rest body)
   "Execute BODY if there is no `org-protected' text property at POS."
   `(unless (get-text-property ,pos 'org-protected)
      ,@body))
+(def-edebug-spec org-if-unprotected-at (form body))
 (put 'org-if-unprotected-at 'lisp-indent-function 1)
 
 (defun org-re-search-forward-unprotected (&rest args)
@@ -171,33 +194,37 @@ We use a macro so that the test can happen at compilation time."
       (unless (get-text-property (match-beginning 0) 'org-protected)
        (throw 'exit (point))))))
 
+;; FIXME: Normalize argument names
 (defmacro org-with-remote-undo (_buffer &rest _body)
   "Execute BODY while recording undo information in two buffers."
-  `(let ((_cline (org-current-line))
-        (_cmd this-command)
-        (_buf1 (current-buffer))
-        (_buf2 ,_buffer)
-        (_undo1 buffer-undo-list)
-        (_undo2 (with-current-buffer ,_buffer buffer-undo-list))
-        _c1 _c2)
-     ,@_body
-     (when org-agenda-allow-remote-undo
-       (setq _c1 (org-verify-change-for-undo
-                 _undo1 (with-current-buffer _buf1 buffer-undo-list))
-            _c2 (org-verify-change-for-undo
-                 _undo2 (with-current-buffer _buf2 buffer-undo-list)))
-       (when (or _c1 _c2)
-        ;; make sure there are undo boundaries
-        (and _c1 (with-current-buffer _buf1 (undo-boundary)))
-        (and _c2 (with-current-buffer _buf2 (undo-boundary)))
-        ;; remember which buffer to undo
-        (push (list _cmd _cline _buf1 _c1 _buf2 _c2)
-              org-agenda-undo-list)))))
+  (org-with-gensyms (cline cmd buf1 buf2 undo1 undo2 c1 c2)
+    `(let ((,cline (org-current-line))
+          (,cmd this-command)
+          (,buf1 (current-buffer))
+          (,buf2 ,_buffer)
+          (,undo1 buffer-undo-list)
+          (,undo2 (with-current-buffer ,_buffer buffer-undo-list))
+          ,c1 ,c2)
+       ,@_body
+       (when org-agenda-allow-remote-undo
+        (setq ,c1 (org-verify-change-for-undo
+                   ,undo1 (with-current-buffer ,buf1 buffer-undo-list))
+              ,c2 (org-verify-change-for-undo
+                   ,undo2 (with-current-buffer ,buf2 buffer-undo-list)))
+        (when (or ,c1 ,c2)
+          ;; make sure there are undo boundaries
+          (and ,c1 (with-current-buffer ,buf1 (undo-boundary)))
+          (and ,c2 (with-current-buffer ,buf2 (undo-boundary)))
+          ;; remember which buffer to undo
+          (push (list ,cmd ,cline ,buf1 ,c1 ,buf2 ,c2)
+                org-agenda-undo-list))))))
+(def-edebug-spec org-with-remote-undo (form body))
 (put 'org-with-remote-undo 'lisp-indent-function 1)
 
 (defmacro org-no-read-only (&rest body)
   "Inhibit read-only for BODY."
   `(let ((inhibit-read-only t)) ,@body))
+(def-edebug-spec org-no-read-only (body))
 
 (defconst org-rm-props '(invisible t face t keymap t intangible t mouse-face t
                                   rear-nonsticky t mouse-map t fontified t
@@ -245,10 +272,6 @@ we turn off invisibility temporarily.  Use this in a `let' form."
   "Make VAR local in current buffer and set it to VALUE."
   (set (make-local-variable var) value))
 
-(defsubst org-mode-p ()
-  "Check if the current buffer is in Org-mode."
-  (eq major-mode 'org-mode))
-
 (defsubst org-last (list)
   "Return the last element of LIST."
   (car (last list)))
@@ -324,18 +347,20 @@ but it also means that the buffer should stay alive
 during the operation, because otherwise all these markers will
 point nowhere."
   (declare (indent 1))
-  `(let ((data (org-outline-overlay-data ,use-markers))
-        rtn)
-     (unwind-protect
-        (progn
-          (setq rtn (progn ,@body))
-          (org-set-outline-overlay-data data))
-       (when ,use-markers
-        (mapc (lambda (c)
-                (and (markerp (car c)) (move-marker (car c) nil))
-                (and (markerp (cdr c)) (move-marker (cdr c) nil)))
-              data)))
-     rtn))
+  (org-with-gensyms (data rtn)
+    `(let ((,data (org-outline-overlay-data ,use-markers))
+          ,rtn)
+       (unwind-protect
+          (progn
+            (setq ,rtn (progn ,@body))
+            (org-set-outline-overlay-data ,data))
+        (when ,use-markers
+          (mapc (lambda (c)
+                  (and (markerp (car c)) (move-marker (car c) nil))
+                  (and (markerp (cdr c)) (move-marker (cdr c) nil)))
+                ,data)))
+       ,rtn)))
+(def-edebug-spec org-save-outline-visibility (form body))
 
 (defmacro org-with-wide-buffer (&rest body)
  "Execute body while temporarily widening the buffer."
@@ -343,6 +368,7 @@ point nowhere."
     (save-restriction
        (widen)
        ,@body)))
+(def-edebug-spec org-with-wide-buffer (body))
 
 (defmacro org-with-limited-levels (&rest body)
   "Execute BODY with limited number of outline levels."
@@ -350,6 +376,7 @@ point nowhere."
          (outline-regexp org-outline-regexp)
          (org-outline-regexp-at-bol (concat "^" org-outline-regexp)))
      ,@body))
+(def-edebug-spec org-with-limited-levels (body))
 
 (defvar org-outline-regexp) ; defined in org.el
 (defvar org-odd-levels-only) ; defined in org.el
@@ -357,7 +384,7 @@ point nowhere."
 (defun org-get-limited-outline-regexp ()
   "Return outline-regexp with limited number of levels.
 The number of levels is controlled by `org-inlinetask-min-level'"
-  (if (or (not (org-mode-p)) (not (featurep 'org-inlinetask)))
+  (if (or (not (eq major-mode 'org-mode)) (not (featurep 'org-inlinetask)))
       org-outline-regexp
     (let* ((limit-level (1- org-inlinetask-min-level))
           (nstars (if org-odd-levels-only (1- (* limit-level 2)) limit-level)))
@@ -369,8 +396,20 @@ The number of levels is controlled by `org-inlinetask-min-level'"
       (format-seconds string seconds)
     (format-time-string string (seconds-to-time seconds))))
 
-(provide 'org-macs)
+(defmacro org-eval-in-environment (environment form)
+  `(eval (list 'let ,environment ',form)))
+(def-edebug-spec org-eval-in-environment (form form))
+(put 'org-eval-in-environment 'lisp-indent-function 1)
 
+(defun org-make-parameter-alist (flat)
+  "Return alist based on FLAT.
+FLAT is a list with alternating symbol names and values. The
+returned alist is a list of lists with the symbol name in car and
+the value in cdr."
+  (when flat
+    (cons (list (car flat) (cadr flat))
+         (org-make-parameter-alist (cddr flat)))))
 
+(provide 'org-macs)
 
 ;;; org-macs.el ends here
index 97cad1ae316b4e55973cf187a474de447728c648..9cc767eaec490bf1777ac979c9a8b289ac95c447 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-mew.el --- Support for links to Mew messages from within Org-mode
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 
 
 (provide 'org-mew)
 
-
-
 ;;; org-mew.el ends here
index 7075018894f0c9f239197e2187bdc521cee1bf5e..0c59d50073535724fb5113fdae11911be52fe598 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-mhe.el --- Support for links to MH-E messages from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -225,6 +224,4 @@ folders."
 
 (provide 'org-mhe)
 
-
-
 ;;; org-mhe.el ends here
index 5f3ebbb6c817db86ac71e2d46f45d1cf38c921be..95223ef848eff09f16b0e86c2f6d1e0cf5431e2a 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-mks.el --- Multi-key-selection for Org-mode
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -25,7 +24,7 @@
 
 
 ;;; Commentary:
-;; 
+;;
 
 ;;; Code:
 
@@ -132,6 +131,4 @@ only the bare key is returned."
 
 (provide 'org-mks)
 
-
-
 ;;; org-mks.el ends here
index f270419877eca4a3eb48208e5e93f32e21874d0f..bcc1c90932a6eeac5a58acd3ad7dd6fb0937b5c7 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-mobile.el --- Code for asymmetric sync with a mobile device
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -38,6 +37,9 @@
 
 (eval-when-compile (require 'cl))
 
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
+
 (defgroup org-mobile nil
   "Options concerning support for a viewer/editor on a mobile device."
   :tag "Org Mobile"
@@ -270,7 +272,7 @@ Also exclude files matching `org-mobile-files-exclude-regexp'."
                     (t nil)))
                  org-mobile-files)))
         (files (delete
-                nil 
+                nil
                 (mapcar (lambda (f)
                           (unless (and (not (string= org-mobile-files-exclude-regexp ""))
                                        (string-match org-mobile-files-exclude-regexp f))
@@ -301,7 +303,7 @@ create all custom agenda views, for upload to the mobile phone."
   (interactive)
   (let ((a-buffer (get-buffer org-agenda-buffer-name)))
     (let ((org-agenda-buffer-name "*SUMO*")
-         (org-agenda-filter org-agenda-filter)
+         (org-agenda-tag-filter org-agenda-tag-filter)
          (org-agenda-redo-command org-agenda-redo-command))
       (save-excursion
        (save-window-excursion
@@ -497,7 +499,7 @@ agenda view showing the flagged items."
                                 org-mobile-directory))
     (save-excursion
       (setq buf (find-file file))
-      (when (and (= (point-min) (point-max))) 
+      (when (and (= (point-min) (point-max)))
        (insert "\n")
        (save-buffer)
        (when org-mobile-use-encryption
@@ -909,7 +911,7 @@ If BEG and END are given, only do this in that region."
                                   (buffer-file-name (current-buffer))))))
                (error (setq org-mobile-error msg))))
            (when org-mobile-error
-             (switch-to-buffer (marker-buffer marker))
+             (org-pop-to-buffer-same-window (marker-buffer marker))
              (goto-char marker)
              (incf cnt-error)
              (insert (if (stringp (nth 1 org-mobile-error))
@@ -1096,7 +1098,4 @@ A and B must be strings or nil."
 
 (provide 'org-mobile)
 
-
-
 ;;; org-mobile.el ends here
-
index 8f1e7735693193ae25e0928464c2237210665d67..b1d9f22a4e098501d6c1cd30b0a866f4b8e05e61 100644 (file)
@@ -1,13 +1,12 @@
 ;;; org-mouse.el --- Better mouse support for org-mode
 
-;; Copyright (C) 2006-2011 Free Software Foundation
-;;
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
+
 ;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com>
 ;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
-;; Version: 7.7
-;;
+
 ;; 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
@@ -20,8 +19,7 @@
 
 ;; 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:
 ;;
 ;; Org-mouse provides mouse support for org-mode.
@@ -70,8 +68,7 @@
 ;;
 ;; Since version 5.10: Changes are listed in the general org-mode docs.
 ;;
-;; Version 5.09
-;; + Version number synchronization with Org-mode.
+;; Version 5.09;; + Version number synchronization with Org-mode.
 ;;
 ;; Version 0.25
 ;; + made compatible with org-mode 4.70 (thanks to Carsten for the patch)
@@ -329,7 +326,6 @@ nor a function, elements of KEYWORDS are used directly."
     (goto-char (match-end (or subexp 0)))
     (just-one-space)))
 
-
 (defun org-mouse-keyword-replace-menu (keywords &optional group itemformat
                                                nosurround)
   "A helper function.
@@ -395,15 +391,6 @@ DEFAULT is returned if no priority is given in the headline."
        (match-string 1)
       (when default (char-to-string org-default-priority)))))
 
-;; (defun org-mouse-at-link ()
-;;   (and (eq (get-text-property (point) 'face) 'org-link)
-;;        (save-excursion
-;;          (goto-char (previous-single-property-change (point) 'face))
-;;          (or (looking-at org-bracket-link-regexp)
-;;              (looking-at org-angle-link-re)
-;;              (looking-at org-plain-link-re)))))
-
-
 (defun org-mouse-delete-timestamp ()
   "Deletes the current timestamp as well as the preceding keyword.
 SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
@@ -454,7 +441,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
      ["Align Tags in Buffer" (org-set-tags t t) t]
      ["Set Tags ..." (org-set-tags) t])))
 
-
 (defun org-mouse-set-tags (tags)
   (save-excursion
     ;; remove existing tags first
@@ -485,7 +471,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
    ('occur-tree "Occur tree: ")
    (t "Agenda command ???")))
 
-
 (defun org-mouse-list-options-menu (alloptions &optional function)
   (let ((options (save-match-data
                   (split-string (match-string-no-properties 1)))))
@@ -571,7 +556,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
      ["Plain List to Outline" org-mouse-transform-to-outline
       :visible (org-at-item-p)])))
 
-
 (defun org-mouse-get-context (contextlist context)
   (let ((contextdata (assq context contextlist)))
     (when contextdata
@@ -599,29 +583,26 @@ This means, between the beginning of line and the point."
      (open-line 1)
      (org-indent-to-column (- (match-end 0) (match-beginning 0)))
      (insert "+ "))
-
     (:middle                   ; insert after
      (end-of-line)
      (newline t)
      (indent-relative)
      (insert "+ "))
-
     (:end                              ; insert text here
      (skip-chars-backward " \t")
      (kill-region (point) (point-at-eol))
      (unless (org-looking-back org-mouse-punctuation)
        (insert (concat org-mouse-punctuation " ")))))
-
   (insert text)
   (beginning-of-line))
 
 (defadvice dnd-insert-text (around org-mouse-dnd-insert-text activate)
-  (if (org-mode-p)
+  (if (eq major-mode 'org-mode)
       (org-mouse-insert-item text)
     ad-do-it))
 
 (defadvice dnd-open-file (around org-mouse-dnd-open-file activate)
-  (if (org-mode-p)
+  (if (eq major-mode 'org-mode)
       (org-mouse-insert-item uri)
     ad-do-it))
 
@@ -632,13 +613,6 @@ This means, between the beginning of line and the point."
        (set-match-data ',match)
        (apply ',function rest)))))
 
-(defun org-mouse-match-todo-keyword ()
-  (save-excursion
-    (org-back-to-heading)
-    (if (looking-at org-outline-regexp) (goto-char (match-end 0)))
-    (or (looking-at (concat " +" org-todo-regexp " *"))
-       (looking-at " \\( *\\)"))))
-
 (defun org-mouse-yank-link (click)
   (interactive "e")
   ;; Give temporary modes such as isearch a chance to turn off.
@@ -668,7 +642,6 @@ This means, between the beginning of line and the point."
          (progn (save-excursion (goto-char (region-beginning)) (insert "[["))
                 (save-excursion (goto-char (region-end)) (insert "]]")))]
         ["Insert Link Here" (org-mouse-yank-link ',event)]))))
-
    ((save-excursion (beginning-of-line) (looking-at "#\\+STARTUP: \\(.*\\)"))
     (popup-menu
      `(nil
@@ -879,18 +852,6 @@ This means, between the beginning of line and the point."
    (t
     (org-mouse-popup-global-menu))))))
 
-;; (defun org-mouse-at-regexp (regexp)
-;;   (save-excursion
-;;     (let ((point (point))
-;;       (bol (progn (beginning-of-line) (point)))
-;;       (eol (progn (end-of-line) (point))))
-;;      (goto-char point)
-;;      (re-search-backward regexp bol 1)
-;;      (and (not (eolp))
-;;        (progn (forward-char)
-;;               (re-search-forward regexp eol t))
-;;        (<= (match-beginning 0) point)))))
-
 (defun org-mouse-mark-active ()
   (and mark-active transient-mark-mode))
 
@@ -1146,6 +1107,4 @@ This means, between the beginning of line and the point."
 
 (provide 'org-mouse)
 
-
-
 ;;; org-mouse.el ends here
diff --git a/lisp/org/org-odt.el b/lisp/org/org-odt.el
new file mode 100644 (file)
index 0000000..886efa0
--- /dev/null
@@ -0,0 +1,2624 @@
+;;; org-odt.el --- OpenDocumentText export for Org-mode
+
+;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+;; Author: Jambunathan K <kjambunathan at gmail dot com>
+;; Keywords: outlines, hypermedia, calendar, wp
+;; Homepage: http://orgmode.org
+
+;; 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:
+(eval-when-compile
+  (require 'cl))
+(require 'org-lparse)
+
+(defgroup org-export-odt nil
+  "Options specific for ODT export of Org-mode files."
+  :tag "Org Export ODT"
+  :group 'org-export)
+
+(defun org-odt-end-export ()
+  (org-odt-fixup-label-references)
+
+  ;; remove empty paragraphs
+  (goto-char (point-min))
+  (while (re-search-forward
+         "<text:p\\( text:style-name=\"Text_20_body\"\\)?>[ \r\n\t]*</text:p>"
+         nil t)
+    (replace-match ""))
+  (goto-char (point-min))
+
+  ;; Convert whitespace place holders
+  (goto-char (point-min))
+  (let (beg end n)
+    (while (setq beg (next-single-property-change (point) 'org-whitespace))
+      (setq n (get-text-property beg 'org-whitespace)
+           end (next-single-property-change beg 'org-whitespace))
+      (goto-char beg)
+      (delete-region beg end)
+      (insert (format "<span style=\"visibility:hidden;\">%s</span>"
+                     (make-string n ?x)))))
+
+  ;; Remove empty lines at the beginning of the file.
+  (goto-char (point-min))
+  (when (looking-at "\\s-+\n") (replace-match ""))
+
+  ;; Remove display properties
+  (remove-text-properties (point-min) (point-max) '(display t)))
+
+(defvar org-odt-suppress-xref nil)
+(defconst org-export-odt-special-string-regexps
+  '(("\\\\-" . "&#x00ad;\\1")          ; shy
+    ("---\\([^-]\\)" . "&#x2014;\\1")  ; mdash
+    ("--\\([^-]\\)" . "&#x2013;\\1")   ; ndash
+    ("\\.\\.\\." . "&#x2026;"))                ; hellip
+  "Regular expressions for special string conversion.")
+
+(defconst org-odt-lib-dir (file-name-directory load-file-name)
+  "Location of ODT exporter.
+Use this to infer values of `org-odt-styles-dir' and
+`org-export-odt-schema-dir'.")
+
+(defvar org-odt-data-dir nil
+  "Data directory for ODT exporter.
+Use this to infer values of `org-odt-styles-dir' and
+`org-export-odt-schema-dir'.")
+
+(defconst org-odt-schema-dir-list
+  (list
+   (and org-odt-data-dir
+       (expand-file-name "./schema/" org-odt-data-dir)) ; bail out
+   (eval-when-compile
+     (and (boundp 'org-odt-data-dir) org-odt-data-dir ; see make install
+         (expand-file-name "./schema/" org-odt-data-dir)))
+   (expand-file-name "../contrib/odt/etc/schema/" org-odt-lib-dir) ; git
+   )
+  "List of directories to search for OpenDocument schema files.
+Use this list to set the default value of
+`org-export-odt-schema-dir'.  The entries in this list are
+populated heuristically based on the values of `org-odt-lib-dir'
+and `org-odt-data-dir'.")
+
+(defcustom org-export-odt-schema-dir
+  (let* ((schema-dir
+         (catch 'schema-dir
+           (message "Debug (org-odt): Searching for OpenDocument schema files...")
+           (mapc
+            (lambda (schema-dir)
+              (when schema-dir
+                (message "Debug (org-odt): Trying %s..." schema-dir)
+                (when (and (file-readable-p
+                            (expand-file-name "od-manifest-schema-v1.2-cs01.rnc"
+                                              schema-dir))
+                           (file-readable-p
+                            (expand-file-name "od-schema-v1.2-cs01.rnc"
+                                              schema-dir))
+                           (file-readable-p
+                            (expand-file-name "schemas.xml" schema-dir)))
+                  (message "Debug (org-odt): Using schema files under %s"
+                           schema-dir)
+                  (throw 'schema-dir schema-dir))))
+            org-odt-schema-dir-list)
+           (message "Debug (org-odt): No OpenDocument schema files installed")
+           nil)))
+    schema-dir)
+  "Directory that contains OpenDocument schema files.
+
+This directory contains:
+1. rnc files for OpenDocument schema
+2. a \"schemas.xml\" file that specifies locating rules needed
+   for auto validation of OpenDocument XML files.
+
+Use the customize interface to set this variable.  This ensures
+that `rng-schema-locating-files' is updated and auto-validation
+of OpenDocument XML takes place based on the value
+`rng-nxml-auto-validate-flag'.
+
+The default value of this variable varies depending on the
+version of org in use and is initialized from
+`org-odt-schema-dir-list'.  The OASIS schema files are available
+only in the org's private git repository.  It is *not* bundled
+with GNU ELPA tar or standard Emacs distribution."
+  :type '(choice
+         (const :tag "Not set" nil)
+         (directory :tag "Schema directory"))
+  :group 'org-export-odt
+  :set
+  (lambda (var value)
+    "Set `org-export-odt-schema-dir'.
+Also add it to `rng-schema-locating-files'."
+    (let ((schema-dir value))
+      (set var
+          (if (and
+               (file-readable-p
+                (expand-file-name "od-manifest-schema-v1.2-cs01.rnc" schema-dir))
+               (file-readable-p
+                (expand-file-name "od-schema-v1.2-cs01.rnc" schema-dir))
+               (file-readable-p
+                (expand-file-name "schemas.xml" schema-dir)))
+              schema-dir
+            (when value
+              (message "Error (org-odt): %s has no OpenDocument schema files"
+                       value))
+            nil)))
+    (when org-export-odt-schema-dir
+      (eval-after-load 'rng-loc
+       '(add-to-list 'rng-schema-locating-files
+                     (expand-file-name "schemas.xml"
+                                       org-export-odt-schema-dir))))))
+
+(defconst org-odt-styles-dir-list
+  (list
+   (and org-odt-data-dir
+       (expand-file-name "./styles/" org-odt-data-dir)) ; bail out
+   (eval-when-compile
+     (and (boundp 'org-odt-data-dir) org-odt-data-dir ; see make install
+         (expand-file-name "./styles/" org-odt-data-dir)))
+   (expand-file-name "../etc/styles/" org-odt-lib-dir) ; git
+   (expand-file-name "./etc/styles/" org-odt-lib-dir)  ; elpa
+   (expand-file-name "./org/" data-directory)         ; system
+   )
+  "List of directories to search for OpenDocument styles files.
+See `org-odt-styles-dir'.  The entries in this list are populated
+heuristically based on the values of `org-odt-lib-dir' and
+`org-odt-data-dir'.")
+
+(defconst org-odt-styles-dir
+  (let* ((styles-dir
+         (catch 'styles-dir
+           (message "Debug (org-odt): Searching for OpenDocument styles files...")
+           (mapc (lambda (styles-dir)
+                   (when styles-dir
+                     (message "Debug (org-odt): Trying %s..." styles-dir)
+                     (when (and (file-readable-p
+                                 (expand-file-name
+                                  "OrgOdtContentTemplate.xml" styles-dir))
+                                (file-readable-p
+                                 (expand-file-name
+                                  "OrgOdtStyles.xml" styles-dir)))
+                       (message "Debug (org-odt): Using styles under %s"
+                                styles-dir)
+                       (throw 'styles-dir styles-dir))))
+                 org-odt-styles-dir-list)
+           nil)))
+    (unless styles-dir
+      (error "Error (org-odt): Cannot find factory styles files. Aborting."))
+    styles-dir)
+  "Directory that holds auxiliary XML files used by the ODT exporter.
+
+This directory contains the following XML files -
+ \"OrgOdtStyles.xml\" and \"OrgOdtContentTemplate.xml\".  These
+ XML files are used as the default values of
+ `org-export-odt-styles-file' and
+ `org-export-odt-content-template-file'.
+
+The default value of this variable varies depending on the
+version of org in use and is initialized from
+`org-odt-styles-dir-list'.  Note that the user could be using org
+from one of: org's own private git repository, GNU ELPA tar or
+standard Emacs.")
+
+(defvar org-odt-file-extensions
+  '(("odt" . "OpenDocument Text")
+    ("ott" . "OpenDocument Text Template")
+    ("odm" . "OpenDocument Master Document")
+    ("ods" . "OpenDocument Spreadsheet")
+    ("ots" . "OpenDocument Spreadsheet Template")
+    ("odg" . "OpenDocument Drawing (Graphics)")
+    ("otg" . "OpenDocument Drawing Template")
+    ("odp" . "OpenDocument Presentation")
+    ("otp" . "OpenDocument Presentation Template")
+    ("odi" . "OpenDocument Image")
+    ("odf" . "OpenDocument Formula")
+    ("odc" . "OpenDocument Chart")))
+
+(mapc
+ (lambda (desc)
+   ;; Let Org open all OpenDocument files using system-registered app
+   (add-to-list 'org-file-apps
+               (cons (concat  "\\." (car desc) "\\'") 'system))
+   ;; Let Emacs open all OpenDocument files in archive mode
+   (add-to-list 'auto-mode-alist
+               (cons (concat  "\\." (car desc) "\\'") 'archive-mode)))
+ org-odt-file-extensions)
+
+;; register the odt exporter with the pre-processor
+(add-to-list 'org-export-backends 'odt)
+
+;; register the odt exporter with org-lparse library
+(org-lparse-register-backend 'odt)
+
+(defun org-odt-unload-function ()
+  (org-lparse-unregister-backend 'odt)
+  (remove-hook 'org-export-preprocess-after-blockquote-hook
+              'org-export-odt-preprocess-latex-fragments)
+  nil)
+
+(defcustom org-export-odt-content-template-file nil
+  "Template file for \"content.xml\".
+The exporter embeds the exported content just before
+\"</office:text>\" element.
+
+If unspecified, the file named \"OrgOdtContentTemplate.xml\"
+under `org-odt-styles-dir' is used."
+  :type 'file
+  :group 'org-export-odt)
+
+(defcustom org-export-odt-styles-file nil
+  "Default styles file for use with ODT export.
+Valid values are one of:
+1. nil
+2. path to a styles.xml file
+3. path to a *.odt or a *.ott file
+4. list of the form (ODT-OR-OTT-FILE (FILE-MEMBER-1 FILE-MEMBER-2
+...))
+
+In case of option 1, an in-built styles.xml is used. See
+`org-odt-styles-dir' for more information.
+
+In case of option 3, the specified file is unzipped and the
+styles.xml embedded therein is used.
+
+In case of option 4, the specified ODT-OR-OTT-FILE is unzipped
+and FILE-MEMBER-1, FILE-MEMBER-2 etc are copied in to the
+generated odt file.  Use relative path for specifying the
+FILE-MEMBERS.  styles.xml must be specified as one of the
+FILE-MEMBERS.
+
+Use options 1, 2 or 3 only if styles.xml alone suffices for
+achieving the desired formatting.  Use option 4, if the styles.xml
+references additional files like header and footer images for
+achieving the desired formattting.
+
+Use \"#+ODT_STYLES_FILE: ...\" directive to set this variable on
+a per-file basis.  For example,
+
+#+ODT_STYLES_FILE: \"/path/to/styles.xml\" or
+#+ODT_STYLES_FILE: (\"/path/to/file.ott\" (\"styles.xml\" \"image/hdr.png\"))."
+  :group 'org-export-odt
+  :type
+  '(choice
+    (const :tag "Factory settings" nil)
+    (file :must-match t :tag "styles.xml")
+    (file :must-match t :tag "ODT or OTT file")
+    (list :tag "ODT or OTT file + Members"
+         (file :must-match t :tag "ODF Text or Text Template file")
+         (cons :tag "Members"
+               (file :tag "    Member" "styles.xml")
+               (repeat (file :tag "Member"))))))
+
+(eval-after-load 'org-exp
+  '(add-to-list 'org-export-inbuffer-options-extra
+               '("ODT_STYLES_FILE" :odt-styles-file)))
+
+(defconst org-export-odt-tmpdir-prefix "%s-")
+(defconst org-export-odt-bookmark-prefix "OrgXref.")
+
+(defvar org-export-odt-embed-images t
+  "Should the images be copied in to the odt file or just linked?")
+
+(defvar org-export-odt-inline-images 'maybe) ; counterpart of
+                                            ; `org-export-html-inline-images'
+
+(defcustom org-export-odt-inline-image-extensions
+  '("png" "jpeg" "jpg" "gif")
+  "Extensions of image files that can be inlined into HTML."
+  :type '(repeat (string :tag "Extension"))
+  :group 'org-export-odt)
+
+(defcustom org-export-odt-pixels-per-inch display-pixels-per-inch
+  ;; FIXME add docstring
+  ""
+  :type 'float
+  :group 'org-export-odt)
+
+(defcustom org-export-odt-create-custom-styles-for-srcblocks t
+  "Whether custom styles for colorized source blocks be automatically created.
+When this option is turned on, the exporter creates custom styles
+for source blocks based on the advice of `htmlfontify'.  Creation
+of custom styles happen as part of `org-odt-hfy-face-to-css'.
+
+When this option is turned off exporter does not create such
+styles.
+
+Use the latter option if you do not want the custom styles to be
+based on your current display settings.  It is necessary that the
+styles.xml already contains needed styles for colorizing to work.
+
+This variable is effective only if
+`org-export-odt-fontify-srcblocks' is turned on."
+  :group 'org-export-odt
+  :type 'boolean)
+
+(defvar org-export-odt-default-org-styles-alist
+  '((paragraph . ((default . "Text_20_body")
+                 (fixedwidth . "OrgFixedWidthBlock")
+                 (verse . "OrgVerse")
+                 (quote . "Quotations")
+                 (blockquote . "Quotations")
+                 (center . "OrgCenter")
+                 (left . "OrgLeft")
+                 (right . "OrgRight")
+                 (title . "OrgTitle")
+                 (subtitle . "OrgSubtitle")
+                 (footnote . "Footnote")
+                 (src . "OrgSrcBlock")
+                 (illustration . "Illustration")
+                 (table . "Table")
+                 (definition-term . "Text_20_body_20_bold")
+                 (horizontal-line . "Horizontal_20_Line")))
+    (character . ((bold . "Bold")
+                 (emphasis . "Emphasis")
+                 (code . "OrgCode")
+                 (verbatim . "OrgCode")
+                 (strike . "Strikethrough")
+                 (underline . "Underline")
+                 (subscript . "OrgSubscript")
+                 (superscript . "OrgSuperscript")))
+    (list . ((ordered . "OrgNumberedList")
+            (unordered . "OrgBulletedList")
+            (description . "OrgDescriptionList"))))
+  "Default styles for various entities.")
+
+(defvar org-export-odt-org-styles-alist org-export-odt-default-org-styles-alist)
+(defun org-odt-get-style-name-for-entity (category &optional entity)
+  (let ((entity (or entity 'default)))
+    (or
+     (cdr (assoc entity (cdr (assoc category
+                                   org-export-odt-org-styles-alist))))
+     (cdr (assoc entity (cdr (assoc category
+                                   org-export-odt-default-org-styles-alist))))
+     (error "Cannot determine style name for entity %s of type %s"
+           entity category))))
+
+(defcustom org-export-odt-preferred-output-format nil
+  "Automatically post-process to this format after exporting to \"odt\".
+Interactive commands `org-export-as-odt' and
+`org-export-as-odt-and-open' export first to \"odt\" format and
+then use `org-export-odt-convert-process' to convert the
+resulting document to this format.  During customization of this
+variable, the list of valid values are populated based on
+`org-export-odt-convert-capabilities'."
+  :group 'org-export-odt
+  :type '(choice :convert-widget
+                (lambda (w)
+                  (apply 'widget-convert (widget-type w)
+                         (eval (car (widget-get w :args)))))
+                `((const :tag "None" nil)
+                  ,@(mapcar (lambda (c)
+                              `(const :tag ,c ,c))
+                            (org-lparse-reachable-formats "odt")))))
+
+;;;###autoload
+(defun org-export-as-odt-and-open (arg)
+  "Export the outline as ODT and immediately open it with a browser.
+If there is an active region, export only the region.
+The prefix ARG specifies how many levels of the outline should become
+headlines.  The default is 3.  Lower levels will become bulleted lists."
+  (interactive "P")
+  (org-lparse-and-open
+   (or org-export-odt-preferred-output-format "odt") "odt" arg))
+
+;;;###autoload
+(defun org-export-as-odt-batch ()
+  "Call the function `org-lparse-batch'.
+This function can be used in batch processing as:
+emacs   --batch
+        --load=$HOME/lib/emacs/org.el
+        --eval \"(setq org-export-headline-levels 2)\"
+        --visit=MyFile --funcall org-export-as-odt-batch"
+  (org-lparse-batch "odt"))
+
+;;;###autoload
+(defun org-export-as-odt-to-buffer (arg)
+  "Call `org-lparse-odt` with output to a temporary buffer.
+No file is created.  The prefix ARG is passed through to `org-lparse-to-buffer'."
+  (interactive "P")
+  (org-lparse-to-buffer "odt" arg))
+
+;;;###autoload
+(defun org-replace-region-by-odt (beg end)
+  "Assume the current region has org-mode syntax, and convert it to ODT.
+This can be used in any buffer.  For example, you could write an
+itemized list in org-mode syntax in an ODT buffer and then use this
+command to convert it."
+  (interactive "r")
+  (org-replace-region-by "odt" beg end))
+
+;;;###autoload
+(defun org-export-region-as-odt (beg end &optional body-only buffer)
+  "Convert region from BEG to END in org-mode buffer to ODT.
+If prefix arg BODY-ONLY is set, omit file header, footer, and table of
+contents, and only produce the region of converted text, useful for
+cut-and-paste operations.
+If BUFFER is a buffer or a string, use/create that buffer as a target
+of the converted ODT.  If BUFFER is the symbol `string', return the
+produced ODT as a string and leave not buffer behind.  For example,
+a Lisp program could call this function in the following way:
+
+  (setq odt (org-export-region-as-odt beg end t 'string))
+
+When called interactively, the output buffer is selected, and shown
+in a window.  A non-interactive call will only return the buffer."
+  (interactive "r\nP")
+  (org-lparse-region "odt" beg end body-only buffer))
+
+;;; org-export-as-odt
+;;;###autoload
+(defun org-export-as-odt (arg &optional hidden ext-plist
+                             to-buffer body-only pub-dir)
+  "Export the outline as a OpenDocumentText file.
+If there is an active region, export only the region.  The prefix
+ARG specifies how many levels of the outline should become
+headlines.  The default is 3.  Lower levels will become bulleted
+lists.  HIDDEN is obsolete and does nothing.
+EXT-PLIST is a property list with external parameters overriding
+org-mode's default settings, but still inferior to file-local
+settings.  When TO-BUFFER is non-nil, create a buffer with that
+name and export to that buffer.  If TO-BUFFER is the symbol
+`string', don't leave any buffer behind but just return the
+resulting XML as a string.  When BODY-ONLY is set, don't produce
+the file header and footer, simply return the content of
+<body>...</body>, without even the body tags themselves.  When
+PUB-DIR is set, use this as the publishing directory."
+  (interactive "P")
+  (org-lparse (or org-export-odt-preferred-output-format "odt")
+             "odt" arg hidden ext-plist to-buffer body-only pub-dir))
+
+(defvar org-odt-entity-control-callbacks-alist
+  `((EXPORT
+     . (org-odt-begin-export org-odt-end-export))
+    (DOCUMENT-CONTENT
+     . (org-odt-begin-document-content org-odt-end-document-content))
+    (DOCUMENT-BODY
+     . (org-odt-begin-document-body org-odt-end-document-body))
+    (TOC
+     . (org-odt-begin-toc org-odt-end-toc))
+    (ENVIRONMENT
+     . (org-odt-begin-environment org-odt-end-environment))
+    (FOOTNOTE-DEFINITION
+     . (org-odt-begin-footnote-definition org-odt-end-footnote-definition))
+    (TABLE
+     . (org-odt-begin-table org-odt-end-table))
+    (TABLE-ROWGROUP
+     . (org-odt-begin-table-rowgroup org-odt-end-table-rowgroup))
+    (LIST
+     . (org-odt-begin-list org-odt-end-list))
+    (LIST-ITEM
+     . (org-odt-begin-list-item org-odt-end-list-item))
+    (OUTLINE
+     . (org-odt-begin-outline org-odt-end-outline))
+    (OUTLINE-TEXT
+     . (org-odt-begin-outline-text org-odt-end-outline-text))
+    (PARAGRAPH
+     . (org-odt-begin-paragraph org-odt-end-paragraph)))
+  "")
+
+(defvar org-odt-entity-format-callbacks-alist
+  `((EXTRA-TARGETS . org-lparse-format-extra-targets)
+    (ORG-TAGS . org-lparse-format-org-tags)
+    (SECTION-NUMBER . org-lparse-format-section-number)
+    (HEADLINE . org-odt-format-headline)
+    (TOC-ENTRY . org-odt-format-toc-entry)
+    (TOC-ITEM . org-odt-format-toc-item)
+    (TAGS . org-odt-format-tags)
+    (SPACES . org-odt-format-spaces)
+    (TABS . org-odt-format-tabs)
+    (LINE-BREAK . org-odt-format-line-break)
+    (FONTIFY . org-odt-format-fontify)
+    (TODO . org-lparse-format-todo)
+    (LINK . org-odt-format-link)
+    (INLINE-IMAGE . org-odt-format-inline-image)
+    (ORG-LINK . org-odt-format-org-link)
+    (HEADING . org-odt-format-heading)
+    (ANCHOR . org-odt-format-anchor)
+    (TABLE . org-lparse-format-table)
+    (TABLE-ROW . org-odt-format-table-row)
+    (TABLE-CELL . org-odt-format-table-cell)
+    (FOOTNOTES-SECTION . ignore)
+    (FOOTNOTE-REFERENCE . org-odt-format-footnote-reference)
+    (HORIZONTAL-LINE . org-odt-format-horizontal-line)
+    (COMMENT . org-odt-format-comment)
+    (LINE . org-odt-format-line)
+    (ORG-ENTITY . org-odt-format-org-entity))
+  "")
+
+;;;_. callbacks
+;;;_. control callbacks
+;;;_ , document body
+(defun org-odt-begin-office-body ()
+  ;; automatic styles
+  (insert-file-contents
+   (or org-export-odt-content-template-file
+       (expand-file-name "OrgOdtContentTemplate.xml"
+                        org-odt-styles-dir)))
+  (goto-char (point-min))
+  (re-search-forward "</office:text>" nil nil)
+  (delete-region (match-beginning 0) (point-max)))
+
+;; Following variable is let bound when `org-do-lparse' is in
+;; progress. See org-html.el.
+(defvar org-lparse-toc)
+(defun org-odt-format-toc ()
+  (if (not org-lparse-toc) "" (concat  "\n" org-lparse-toc "\n")))
+
+(defun org-odt-format-preamble (opt-plist)
+  (let* ((title (plist-get opt-plist :title))
+        (author (plist-get opt-plist :author))
+        (date (plist-get opt-plist :date))
+        (iso-date (org-odt-format-date date))
+        (date (org-odt-format-date date "%d %b %Y"))
+        (email (plist-get opt-plist :email))
+        ;; switch on or off above vars based on user settings
+        (author (and (plist-get opt-plist :author-info) (or author email)))
+        (email (and (plist-get opt-plist :email-info) email))
+        (date (and (plist-get opt-plist :time-stamp-file) date)))
+    (concat
+     ;; title
+     (when title
+       (concat
+       (org-odt-format-stylized-paragraph
+        'title (org-odt-format-tags
+                '("<text:title>" . "</text:title>") title))
+       ;; separator
+       "<text:p text:style-name=\"OrgTitle\"/>"))
+     (cond
+      ((and author (not email))
+       ;; author only
+       (concat
+       (org-odt-format-stylized-paragraph
+        'subtitle
+        (org-odt-format-tags
+         '("<text:initial-creator>" . "</text:initial-creator>")
+         author))
+       ;; separator
+       "<text:p text:style-name=\"OrgSubtitle\"/>"))
+      ((and author email)
+       ;; author and email
+       (concat
+       (org-odt-format-stylized-paragraph
+        'subtitle
+        (org-odt-format-link
+         (org-odt-format-tags
+          '("<text:initial-creator>" . "</text:initial-creator>")
+          author) (concat "mailto:" email)))
+       ;; separator
+       "<text:p text:style-name=\"OrgSubtitle\"/>")))
+     ;; date
+     (when date
+       (concat
+       (org-odt-format-stylized-paragraph
+        'subtitle
+        (org-odt-format-tags
+         '("<text:date style:data-style-name=\"%s\" text:date-value=\"%s\">"
+           . "</text:date>") date "N75" iso-date))
+       ;; separator
+       "<text:p text:style-name=\"OrgSubtitle\"/>"))
+     ;; toc
+     (org-odt-format-toc))))
+
+(defun org-odt-begin-document-body (opt-plist)
+  (org-odt-begin-office-body)
+  (insert (org-odt-format-preamble opt-plist)))
+
+(defvar org-lparse-body-only)          ; let bound during org-do-lparse
+(defvar org-lparse-to-buffer)          ; let bound during org-do-lparse
+(defun org-odt-end-document-body (opt-plist)
+  (unless org-lparse-body-only
+    (org-lparse-insert-tag "</office:text>")
+    (org-lparse-insert-tag "</office:body>")))
+
+(defun org-odt-begin-document-content (opt-plist)
+  (ignore))
+
+(defun org-odt-end-document-content ()
+  (org-lparse-insert-tag "</office:document-content>"))
+
+(defun org-odt-begin-outline (level1 snumber title tags
+                                    target extra-targets class)
+  (org-lparse-insert
+   'HEADING (org-lparse-format
+            'HEADLINE title extra-targets tags snumber level1)
+   level1 target))
+
+(defun org-odt-end-outline ()
+  (ignore))
+
+(defun org-odt-begin-outline-text (level1 snumber class)
+  (ignore))
+
+(defun org-odt-end-outline-text ()
+  (ignore))
+
+(defun org-odt-begin-paragraph (&optional style)
+  (org-lparse-insert-tag
+   "<text:p%s>" (org-odt-get-extra-attrs-for-paragraph-style style)))
+
+(defun org-odt-end-paragraph ()
+  (org-lparse-insert-tag "</text:p>"))
+
+(defun org-odt-get-extra-attrs-for-paragraph-style (style)
+  (let (style-name)
+    (setq style-name
+         (cond
+          ((stringp style) style)
+          ((symbolp style) (org-odt-get-style-name-for-entity
+                            'paragraph style))))
+    (unless style-name
+      (error "Don't know how to handle paragraph style %s" style))
+    (format " text:style-name=\"%s\"" style-name)))
+
+(defun org-odt-format-stylized-paragraph (style text)
+  (org-odt-format-tags
+   '("<text:p%s>" . "</text:p>") text
+   (org-odt-get-extra-attrs-for-paragraph-style style)))
+
+(defvar org-lparse-opt-plist)              ; bound during org-do-lparse
+(defun org-odt-format-author (&optional author)
+  (when (setq author (or author (plist-get org-lparse-opt-plist :author)))
+    (org-odt-format-tags '("<dc:creator>" . "</dc:creator>") author)))
+
+(defun org-odt-format-date (&optional org-ts fmt)
+  (save-match-data
+    (let* ((time
+           (and (stringp org-ts)
+                (string-match org-ts-regexp0 org-ts)
+                (apply 'encode-time
+                       (org-fix-decoded-time
+                        (org-parse-time-string (match-string 0 org-ts) t)))))
+          date)
+      (cond
+       (fmt (format-time-string fmt time))
+       (t (setq date (format-time-string "%Y-%m-%dT%H:%M:%S%z" time))
+         (format "%s:%s" (substring date 0 -2) (substring date -2)))))))
+
+(defun org-odt-begin-annotation (&optional author date)
+  (org-lparse-insert-tag "<office:annotation>")
+  (when (setq author (org-odt-format-author author))
+    (insert author))
+  (insert (org-odt-format-tags
+          '("<dc:date>" . "</dc:date>")
+          (org-odt-format-date
+           (or date (plist-get org-lparse-opt-plist :date)))))
+  (org-lparse-begin-paragraph))
+
+(defun org-odt-end-annotation ()
+  (org-lparse-insert-tag  "</office:annotation>"))
+
+(defun org-odt-begin-environment (style env-options-plist)
+  (case style
+    (annotation
+     (org-lparse-stash-save-paragraph-state)
+     (org-odt-begin-annotation (plist-get env-options-plist 'author)
+                              (plist-get env-options-plist 'date)))
+    ((blockquote verse center quote)
+     (org-lparse-begin-paragraph style)
+     (list))
+    ((fixedwidth native)
+     (org-lparse-end-paragraph)
+     (list))
+    (t (error "Unknown environment %s" style))))
+
+(defun org-odt-end-environment (style env-options-plist)
+  (case style
+    (annotation
+     (org-lparse-end-paragraph)
+     (org-odt-end-annotation)
+     (org-lparse-stash-pop-paragraph-state))
+    ((blockquote verse center quote)
+     (org-lparse-end-paragraph)
+     (list))
+    ((fixedwidth native)
+     (org-lparse-begin-paragraph)
+     (list))
+    (t (error "Unknown environment %s" style))))
+
+(defvar org-lparse-list-level) ; dynamically bound in org-do-lparse
+(defun org-odt-begin-list (ltype)
+  (setq ltype (or (org-lparse-html-list-type-to-canonical-list-type ltype)
+                 ltype))
+  (let* ((style-name (org-odt-get-style-name-for-entity 'list ltype))
+        (extra (concat (when (= org-lparse-list-level 1)
+                         " text:continue-numbering=\"false\"")
+                       (when style-name
+                         (format " text:style-name=\"%s\""  style-name)))))
+    (case ltype
+      ((ordered unordered description)
+       (org-lparse-end-paragraph)
+       (org-lparse-insert-tag "<text:list%s>" extra))
+      (t (error "Unknown list type: %s"  ltype)))))
+
+(defun org-odt-end-list (ltype)
+  (setq ltype (or (org-lparse-html-list-type-to-canonical-list-type ltype)
+                 ltype))
+  (if ltype
+      (org-lparse-insert-tag "</text:list>")
+    (error "Unknown list type: %s" ltype)))
+
+(defun org-odt-begin-list-item (ltype &optional arg headline)
+  (setq ltype (or (org-lparse-html-list-type-to-canonical-list-type ltype)
+                 ltype))
+  (case ltype
+    (ordered
+     (assert (not headline) t)
+     (let* ((counter arg) (extra ""))
+       (org-lparse-insert-tag "<text:list-item>")
+       (org-lparse-begin-paragraph)))
+    (unordered
+     (let* ((id arg) (extra ""))
+       (org-lparse-insert-tag "<text:list-item>")
+       (org-lparse-begin-paragraph)
+       (insert (if headline (org-odt-format-target headline id)
+                (org-odt-format-bookmark "" id)))))
+    (description
+     (assert (not headline) t)
+     (let ((term (or arg "(no term)")))
+       (insert
+       (org-odt-format-tags
+        '("<text:list-item>" . "</text:list-item>")
+        (org-odt-format-stylized-paragraph 'definition-term term)))
+       (org-lparse-begin-list-item 'unordered)
+       (org-lparse-begin-list 'description)
+       (org-lparse-begin-list-item 'unordered)))
+    (t (error "Unknown list type"))))
+
+(defun org-odt-end-list-item (ltype)
+  (setq ltype (or (org-lparse-html-list-type-to-canonical-list-type ltype)
+                 ltype))
+  (case ltype
+    ((ordered unordered)
+     (org-lparse-insert-tag "</text:list-item>"))
+    (description
+     (org-lparse-end-list-item-1)
+     (org-lparse-end-list 'description)
+     (org-lparse-end-list-item-1))
+    (t (error "Unknown list type"))))
+
+;; Following variables are let bound when table emission is in
+;; progress. See org-lparse.el.
+(defvar org-lparse-table-begin-marker)
+(defvar org-lparse-table-ncols)
+(defvar org-lparse-table-rowgrp-open)
+(defvar org-lparse-table-rownum)
+(defvar org-lparse-table-cur-rowgrp-is-hdr)
+(defvar org-lparse-table-is-styled)
+(defvar org-lparse-table-rowgrp-info)
+(defvar org-lparse-table-colalign-vector)
+
+(defvar org-odt-table-style nil
+  "Table style specified by \"#+ATTR_ODT: <style-name>\" line.
+This is set during `org-odt-begin-table'.")
+
+(defvar org-odt-table-style-spec nil
+  "Entry for `org-odt-table-style' in `org-export-odt-table-styles'.")
+
+(defcustom org-export-odt-table-styles
+  '(("OrgEquation" "OrgEquation"
+     ((use-first-column-styles . t)
+      (use-last-column-styles . t))))
+  "Specify how Table Styles should be derived from a Table Template.
+This is a list where each element is of the
+form (TABLE-STYLE-NAME TABLE-TEMPLATE-NAME TABLE-CELL-OPTIONS).
+
+TABLE-STYLE-NAME is the style associated with the table through
+`org-odt-table-style'.
+
+TABLE-TEMPLATE-NAME is a set of - upto 9 - automatic
+TABLE-CELL-STYLE-NAMEs and PARAGRAPH-STYLE-NAMEs (as defined
+below) that is included in
+`org-export-odt-content-template-file'.
+
+TABLE-CELL-STYLE-NAME := TABLE-TEMPLATE-NAME + TABLE-CELL-TYPE +
+                         \"TableCell\"
+PARAGRAPH-STYLE-NAME  := TABLE-TEMPLATE-NAME + TABLE-CELL-TYPE +
+                         \"TableParagraph\"
+TABLE-CELL-TYPE       := \"FirstRow\"   | \"LastColumn\" |
+                         \"FirstRow\"   | \"LastRow\"    |
+                         \"EvenRow\"    | \"OddRow\"     |
+                         \"EvenColumn\" | \"OddColumn\"  | \"\"
+where \"+\" above denotes string concatenation.
+
+TABLE-CELL-OPTIONS is an alist where each element is of the
+form (TABLE-CELL-STYLE-SELECTOR . ON-OR-OFF).
+TABLE-CELL-STYLE-SELECTOR := `use-first-row-styles'       |
+                             `use-last-row-styles'        |
+                             `use-first-column-styles'    |
+                             `use-last-column-styles'     |
+                             `use-banding-rows-styles'    |
+                             `use-banding-columns-styles' |
+                             `use-first-row-styles'
+ON-OR-OFF                 := `t' | `nil'
+
+For example, with the following configuration
+
+\(setq org-export-odt-table-styles
+      '\(\(\"TableWithHeaderRowsAndColumns\" \"Custom\"
+         \(\(use-first-row-styles . t\)
+          \(use-first-column-styles . t\)\)\)
+        \(\"TableWithHeaderColumns\" \"Custom\"
+         \(\(use-first-column-styles . t\)\)\)\)\)
+
+1. A table associated with \"TableWithHeaderRowsAndColumns\"
+   style will use the following table-cell styles -
+   \"CustomFirstRowTableCell\", \"CustomFirstColumnTableCell\",
+   \"CustomTableCell\" and the following paragraph styles
+   \"CustomFirstRowTableParagraph\",
+   \"CustomFirstColumnTableParagraph\", \"CustomTableParagraph\"
+   as appropriate.
+
+2. A table associated with \"TableWithHeaderColumns\" style will
+   use the following table-cell styles -
+   \"CustomFirstColumnTableCell\", \"CustomTableCell\" and the
+   following paragraph styles
+   \"CustomFirstColumnTableParagraph\", \"CustomTableParagraph\"
+   as appropriate..
+
+Note that TABLE-TEMPLATE-NAME corresponds to the
+\"<table:table-template>\" elements contained within
+\"<office:styles>\".  The entries (TABLE-STYLE-NAME
+TABLE-TEMPLATE-NAME TABLE-CELL-OPTIONS) correspond to
+\"table:template-name\" and \"table:use-first-row-styles\" etc
+attributes of \"<table:table>\" element.  Refer ODF-1.2
+specification for more information.  Also consult the
+implementation filed under `org-odt-get-table-cell-styles'.
+
+The TABLE-STYLE-NAME \"OrgEquation\" is used internally for
+formatting of numbered display equations.  Do not delete this
+style from the list."
+  :group 'org-export-odt
+  :type '(choice
+          (const :tag "None" nil)
+          (repeat :tag "Table Styles"
+                  (list :tag "Table Style Specification"
+                       (string :tag "Table Style Name")
+                       (string  :tag "Table Template Name")
+                       (alist :options (use-first-row-styles
+                                        use-last-row-styles
+                                        use-first-column-styles
+                                        use-last-column-styles
+                                        use-banding-rows-styles
+                                        use-banding-columns-styles)
+                              :key-type symbol
+                              :value-type (const :tag "True" t))))))
+
+(defun org-odt-begin-table (caption label attributes)
+  (setq org-odt-table-style attributes)
+  (setq org-odt-table-style-spec
+       (assoc org-odt-table-style org-export-odt-table-styles))
+  (when label
+    (insert
+     (org-odt-format-stylized-paragraph
+      'table (org-odt-format-entity-caption label caption "__Table__"))))
+  (org-lparse-insert-tag
+   "<table:table table:name=\"%s\" table:style-name=\"%s\">"
+   (or label "") (or (nth 1 org-odt-table-style-spec) "OrgTable"))
+  (setq org-lparse-table-begin-marker (point)))
+
+(defvar org-lparse-table-colalign-info)
+(defun org-odt-end-table ()
+  (goto-char org-lparse-table-begin-marker)
+  (loop for level from 0 below org-lparse-table-ncols
+       do (let* ((col-cookie (and org-lparse-table-is-styled
+                                  (cdr (assoc (1+ level)
+                                              org-lparse-table-colalign-info))))
+                 (extra-columns (or (nth 1 col-cookie) 0)))
+            (dotimes (i (1+ extra-columns))
+              (insert
+               (org-odt-format-tags
+                "<table:table-column table:style-name=\"%sColumn\"/>"
+                "" (or (nth 1 org-odt-table-style-spec) "OrgTable"))))
+            (insert "\n")))
+  ;; fill style attributes for table cells
+  (when org-lparse-table-is-styled
+    (while (re-search-forward "@@\\(table-cell:p\\|table-cell:style-name\\)@@\\([0-9]+\\)@@\\([0-9]+\\)@@" nil t)
+      (let* ((spec (match-string 1))
+            (r (string-to-number (match-string 2)))
+            (c (string-to-number (match-string 3)))
+            (cell-styles (org-odt-get-table-cell-styles
+                          r c org-odt-table-style-spec))
+            (table-cell-style (car cell-styles))
+            (table-cell-paragraph-style (cdr cell-styles)))
+       (cond
+        ((equal spec "table-cell:p")
+         (replace-match table-cell-paragraph-style t t))
+        ((equal spec "table-cell:style-name")
+         (replace-match table-cell-style t t))))))
+  (goto-char (point-max))
+  (org-lparse-insert-tag "</table:table>"))
+
+(defun org-odt-begin-table-rowgroup (&optional is-header-row)
+  (when org-lparse-table-rowgrp-open
+    (org-lparse-end 'TABLE-ROWGROUP))
+  (org-lparse-insert-tag (if is-header-row
+                          "<table:table-header-rows>"
+                        "<table:table-rows>"))
+  (setq org-lparse-table-rowgrp-open t)
+  (setq org-lparse-table-cur-rowgrp-is-hdr is-header-row))
+
+(defun org-odt-end-table-rowgroup ()
+  (when org-lparse-table-rowgrp-open
+    (setq org-lparse-table-rowgrp-open nil)
+    (org-lparse-insert-tag
+     (if org-lparse-table-cur-rowgrp-is-hdr
+        "</table:table-header-rows>" "</table:table-rows>"))))
+
+(defun org-odt-format-table-row (row)
+  (org-odt-format-tags
+   '("<table:table-row>" . "</table:table-row>") row))
+
+(defun org-odt-get-table-cell-styles (r c &optional style-spec)
+  "Retrieve styles applicable to a table cell.
+R and C are (zero-based) row and column numbers of the table
+cell.  STYLE-SPEC is an entry in `org-export-odt-table-styles'
+applicable to the current table.  It is `nil' if the table is not
+associated with any style attributes.
+
+Return a cons of (TABLE-CELL-STYLE-NAME . PARAGRAPH-STYLE-NAME).
+
+When STYLE-SPEC is nil, style the table cell the conventional way
+- choose cell borders based on row and column groupings and
+choose paragraph alignment based on `org-col-cookies' text
+property.  See also
+`org-odt-get-paragraph-style-cookie-for-table-cell'.
+
+When STYLE-SPEC is non-nil, ignore the above cookie and return
+styles congruent with the ODF-1.2 specification."
+  (cond
+   (style-spec
+
+    ;; LibreOffice - particularly the Writer - honors neither table
+    ;; templates nor custom table-cell styles.  Inorder to retain
+    ;; inter-operability with LibreOffice, only automatic styles are
+    ;; used for styling of table-cells.  The current implementation is
+    ;; congruent with ODF-1.2 specification and hence is
+    ;; future-compatible.
+
+    ;; Additional Note: LibreOffice's AutoFormat facility for tables -
+    ;; which recognizes as many as 16 different cell types - is much
+    ;; richer. Unfortunately it is NOT amenable to easy configuration
+    ;; by hand.
+
+    (let* ((template-name (nth 1 style-spec))
+          (cell-style-selectors (nth 2 style-spec))
+          (cell-type
+           (cond
+            ((and (cdr (assoc 'use-first-column-styles cell-style-selectors))
+                  (= c 0)) "FirstColumn")
+            ((and (cdr (assoc 'use-last-column-styles cell-style-selectors))
+                  (= c (1- org-lparse-table-ncols))) "LastColumn")
+            ((and (cdr (assoc 'use-first-row-styles cell-style-selectors))
+                  (= r 0)) "FirstRow")
+            ((and (cdr (assoc 'use-last-row-styles cell-style-selectors))
+                  (= r org-lparse-table-rownum))
+             "LastRow")
+            ((and (cdr (assoc 'use-banding-rows-styles cell-style-selectors))
+                  (= (% r 2) 1)) "EvenRow")
+            ((and (cdr (assoc 'use-banding-rows-styles cell-style-selectors))
+                  (= (% r 2) 0)) "OddRow")
+            ((and (cdr (assoc 'use-banding-columns-styles cell-style-selectors))
+                  (= (% c 2) 1)) "EvenColumn")
+            ((and (cdr (assoc 'use-banding-columns-styles cell-style-selectors))
+                  (= (% c 2) 0)) "OddColumn")
+            (t ""))))
+      (cons
+       (concat template-name cell-type "TableCell")
+       (concat template-name cell-type "TableParagraph"))))
+   (t
+    (cons
+     (concat
+      "OrgTblCell"
+      (cond
+       ((= r 0) "T")
+       ((eq (cdr (assoc r org-lparse-table-rowgrp-info))  :start) "T")
+       (t ""))
+      (when (= r org-lparse-table-rownum) "B")
+      (cond
+       ((= c 0) "")
+       ((or (memq (nth c org-table-colgroup-info) '(:start :startend))
+           (memq (nth (1- c) org-table-colgroup-info) '(:end :startend))) "L")
+       (t "")))
+     (capitalize (aref org-lparse-table-colalign-vector c))))))
+
+(defun org-odt-get-paragraph-style-cookie-for-table-cell (r c)
+  (concat
+   (and (not org-odt-table-style-spec)
+       (cond
+        (org-lparse-table-cur-rowgrp-is-hdr "OrgTableHeading")
+        ((and (= c 0) (org-lparse-get 'TABLE-FIRST-COLUMN-AS-LABELS))
+         "OrgTableHeading")
+        (t "OrgTableContents")))
+   (and org-lparse-table-is-styled
+       (format "@@table-cell:p@@%03d@@%03d@@" r c))))
+
+(defun org-odt-get-style-name-cookie-for-table-cell (r c)
+  (when org-lparse-table-is-styled
+    (format "@@table-cell:style-name@@%03d@@%03d@@" r c)))
+
+(defun org-odt-format-table-cell (data r c horiz-span)
+  (concat
+   (let* ((paragraph-style-cookie
+          (org-odt-get-paragraph-style-cookie-for-table-cell r c))
+         (style-name-cookie
+          (org-odt-get-style-name-cookie-for-table-cell r c))
+         (extra (and style-name-cookie
+                     (format " table:style-name=\"%s\""  style-name-cookie)))
+         (extra (concat extra
+                        (and (> horiz-span 0)
+                             (format " table:number-columns-spanned=\"%d\""
+                                     (1+ horiz-span))))))
+     (org-odt-format-tags
+      '("<table:table-cell%s>" . "</table:table-cell>")
+      (if org-lparse-list-table-p data
+       (org-odt-format-stylized-paragraph paragraph-style-cookie data)) extra))
+   (let (s)
+     (dotimes (i horiz-span)
+       (setq s (concat s "\n<table:covered-table-cell/>"))) s)
+   "\n"))
+
+(defun org-odt-begin-footnote-definition (n)
+  (org-lparse-begin-paragraph 'footnote))
+
+(defun org-odt-end-footnote-definition (n)
+  (org-lparse-end-paragraph))
+
+(defun org-odt-begin-toc (lang-specific-heading max-level)
+  (insert
+   (format "
+    <text:table-of-content text:style-name=\"Sect2\" text:protected=\"true\" text:name=\"Table of Contents1\">
+     <text:table-of-content-source text:outline-level=\"%d\">
+      <text:index-title-template text:style-name=\"Contents_20_Heading\">%s</text:index-title-template>
+" max-level lang-specific-heading))
+  (loop for level from 1 upto 10
+       do (insert (format
+                   "
+      <text:table-of-content-entry-template text:outline-level=\"%d\" text:style-name=\"Contents_20_%d\">
+       <text:index-entry-link-start text:style-name=\"Internet_20_link\"/>
+       <text:index-entry-chapter/>
+       <text:index-entry-text/>
+       <text:index-entry-link-end/>
+      </text:table-of-content-entry-template>
+" level level)))
+
+  (insert
+   (format  "
+     </text:table-of-content-source>
+
+     <text:index-body>
+      <text:index-title text:style-name=\"Sect1\" text:name=\"Table of Contents1_Head\">
+       <text:p text:style-name=\"Contents_20_Heading\">%s</text:p>
+      </text:index-title>
+" lang-specific-heading)))
+
+(defun org-odt-end-toc ()
+  (insert "
+     </text:index-body>
+    </text:table-of-content>
+"))
+
+(defun org-odt-format-toc-entry (snumber todo headline tags href)
+  (setq headline (concat
+                 (and org-export-with-section-numbers
+                      (concat snumber ". "))
+                 headline
+                 (and tags
+                   (concat
+                    (org-lparse-format 'SPACES 3)
+                    (org-lparse-format 'FONTIFY tags "tag")))))
+  (when todo
+    (setq headline (org-lparse-format 'FONTIFY headline "todo")))
+
+  (let ((org-odt-suppress-xref t))
+    (org-odt-format-link headline (concat  "#" href))))
+
+(defun org-odt-format-toc-item (toc-entry level org-last-level)
+  (let ((style (format "Contents_20_%d"
+                      (+ level (or (org-lparse-get 'TOPLEVEL-HLEVEL) 1) -1))))
+    (insert "\n" (org-odt-format-stylized-paragraph style toc-entry) "\n")))
+
+;; Following variable is let bound during 'ORG-LINK callback. See
+;; org-html.el
+(defvar org-lparse-link-description-is-image nil)
+(defun org-odt-format-link (desc href &optional attr)
+  (cond
+   ((and (= (string-to-char href) ?#) (not org-odt-suppress-xref))
+    (setq href (concat org-export-odt-bookmark-prefix (substring href 1)))
+    (let ((xref-format "text"))
+      (when (numberp desc)
+       (setq desc (format "%d" desc) xref-format "number"))
+      (org-odt-format-tags
+       '("<text:bookmark-ref text:reference-format=\"%s\" text:ref-name=\"%s\">" .
+        "</text:bookmark-ref>")
+       desc xref-format href)))
+   (org-lparse-link-description-is-image
+    (org-odt-format-tags
+     '("<draw:a xlink:type=\"simple\" xlink:href=\"%s\" %s>" . "</draw:a>")
+     desc href (or attr "")))
+   (t
+    (org-odt-format-tags
+     '("<text:a xlink:type=\"simple\" xlink:href=\"%s\" %s>" . "</text:a>")
+     desc href (or attr "")))))
+
+(defun org-odt-format-spaces (n)
+  (cond
+   ((= n 1) " ")
+   ((> n 1) (concat
+            " " (org-odt-format-tags "<text:s text:c=\"%d\"/>" "" (1- n))))
+   (t "")))
+
+(defun org-odt-format-tabs (&optional n)
+  (let ((tab "<text:tab/>")
+       (n (or n 1)))
+    (insert tab)))
+
+(defun org-odt-format-line-break ()
+  (org-odt-format-tags "<text:line-break/>" ""))
+
+(defun org-odt-format-horizontal-line ()
+  (org-odt-format-stylized-paragraph 'horizontal-line ""))
+
+(defun org-odt-encode-plain-text (line &optional no-whitespace-filling)
+  (setq line (org-xml-encode-plain-text line))
+  (if no-whitespace-filling line
+    (org-odt-fill-tabs-and-spaces line)))
+
+(defun org-odt-format-line (line)
+  (case org-lparse-dyn-current-environment
+    (fixedwidth (concat
+                (org-odt-format-stylized-paragraph
+                 'fixedwidth (org-odt-encode-plain-text line)) "\n"))
+    (t (concat line "\n"))))
+
+(defun org-odt-format-comment (fmt &rest args)
+  (let ((comment (apply 'format fmt args)))
+    (format "\n<!-- %s  -->\n" comment)))
+
+(defun org-odt-format-org-entity (wd)
+  (org-entity-get-representation wd 'utf8))
+
+(defun org-odt-fill-tabs-and-spaces (line)
+  (replace-regexp-in-string
+   "\\([\t]\\|\\([ ]+\\)\\)" (lambda (s)
+                              (cond
+                               ((string= s "\t") (org-odt-format-tabs))
+                               (t (org-odt-format-spaces (length s))))) line))
+
+(defcustom org-export-odt-fontify-srcblocks t
+  "Specify whether or not source blocks need to be fontified.
+Turn this option on if you want to colorize the source code
+blocks in the exported file.  For colorization to work, you need
+to make available an enhanced version of `htmlfontify' library."
+  :type 'boolean
+  :group 'org-export-odt)
+
+(defun org-odt-format-source-line-with-line-number-and-label
+  (line rpllbl num fontifier par-style)
+
+  (let ((keep-label (not (numberp rpllbl)))
+       (ref (org-find-text-property-in-string 'org-coderef line)))
+    (setq line (concat line (and keep-label ref (format "(%s)" ref))))
+    (setq line (funcall fontifier line))
+    (when ref
+      (setq line (org-odt-format-target line (concat "coderef-" ref))))
+    (setq line (org-odt-format-stylized-paragraph par-style line))
+    (if (not num) line
+      (org-odt-format-tags '("<text:list-item>" . "</text:list-item>") line))))
+
+(defun org-odt-format-source-code-or-example-plain
+  (lines lang caption textareap cols rows num cont rpllbl fmt)
+  "Format source or example blocks much like fixedwidth blocks.
+Use this when `org-export-odt-fontify-srcblocks' option is turned
+off."
+  (let* ((lines (org-split-string lines "[\r\n]"))
+        (line-count (length lines))
+        (i 0))
+    (mapconcat
+     (lambda (line)
+       (incf i)
+       (org-odt-format-source-line-with-line-number-and-label
+       line rpllbl num 'org-odt-encode-plain-text
+       (if (= i line-count) "OrgFixedWidthBlockLastLine"
+         "OrgFixedWidthBlock")))
+     lines "\n")))
+
+(defvar org-src-block-paragraph-format
+  "<style:style style:name=\"OrgSrcBlock\" style:family=\"paragraph\" style:parent-style-name=\"Preformatted_20_Text\">
+   <style:paragraph-properties fo:background-color=\"%s\" fo:padding=\"0.049cm\" fo:border=\"0.51pt solid #000000\" style:shadow=\"none\">
+    <style:background-image/>
+   </style:paragraph-properties>
+   <style:text-properties fo:color=\"%s\"/>
+  </style:style>"
+  "Custom paragraph style for colorized source and example blocks.
+This style is much the same as that of \"OrgFixedWidthBlock\"
+except that the foreground and background colors are set
+according to the default face identified by the `htmlfontify'.")
+
+(defvar hfy-optimisations)
+(declare-function hfy-face-to-style "htmlfontify" (fn))
+(declare-function hfy-face-or-def-to-name "htmlfontify" (fn))
+
+(defun org-odt-hfy-face-to-css (fn)
+  "Create custom style for face FN.
+When FN is the default face, use it's foreground and background
+properties to create \"OrgSrcBlock\" paragraph style.  Otherwise
+use it's color attribute to create a character style whose name
+is obtained from FN.  Currently all attributes of FN other than
+color are ignored.
+
+The style name for a face FN is derived using the following
+operations on the face name in that order - de-dash, CamelCase
+and prefix with \"OrgSrc\".  For example,
+`font-lock-function-name-face' is associated with
+\"OrgSrcFontLockFunctionNameFace\"."
+  (let* ((css-list (hfy-face-to-style fn))
+        (style-name ((lambda (fn)
+                       (concat "OrgSrc"
+                               (mapconcat
+                                'capitalize (split-string
+                                             (hfy-face-or-def-to-name fn) "-")
+                                ""))) fn))
+        (color-val (cdr (assoc "color" css-list)))
+        (background-color-val (cdr (assoc "background" css-list)))
+        (style (and org-export-odt-create-custom-styles-for-srcblocks
+                    (cond
+                     ((eq fn 'default)
+                      (format org-src-block-paragraph-format
+                              background-color-val color-val))
+                     (t
+                      (format
+                       "
+<style:style style:name=\"%s\" style:family=\"text\">
+  <style:text-properties fo:color=\"%s\"/>
+ </style:style>" style-name color-val))))))
+    (cons style-name style)))
+
+(defun org-odt-insert-custom-styles-for-srcblocks (styles)
+  "Save STYLES used for colorizing of source blocks.
+Update styles.xml with styles that were collected as part of
+`org-odt-hfy-face-to-css' callbacks."
+  (when styles
+    (with-current-buffer
+       (find-file-noselect (expand-file-name "styles.xml") t)
+      (goto-char (point-min))
+      (when (re-search-forward "</office:styles>" nil t)
+       (goto-char (match-beginning 0))
+       (insert "\n<!-- Org Htmlfontify Styles -->\n" styles "\n")))))
+
+(defun org-odt-format-source-code-or-example-colored
+  (lines lang caption textareap cols rows num cont rpllbl fmt)
+  "Format source or example blocks using `htmlfontify-string'.
+Use this routine when `org-export-odt-fontify-srcblocks' option
+is turned on."
+  (let* ((lang-m (and lang (or (cdr (assoc lang org-src-lang-modes)) lang)))
+        (mode (and lang-m (intern (concat (if (symbolp lang-m)
+                                              (symbol-name lang-m)
+                                            lang-m) "-mode"))))
+        (org-inhibit-startup t)
+        (org-startup-folded nil)
+        (lines (with-temp-buffer
+                 (insert lines)
+                 (if (functionp mode) (funcall mode) (fundamental-mode))
+                 (font-lock-fontify-buffer)
+                 (buffer-string)))
+        (hfy-html-quote-regex "\\([<\"&>       ]\\)")
+        (hfy-html-quote-map '(("\"" "&quot;")
+                              ("<" "&lt;")
+                              ("&" "&amp;")
+                              (">" "&gt;")
+                              (" " "<text:s/>")
+                              ("       " "<text:tab/>")))
+        (hfy-face-to-css 'org-odt-hfy-face-to-css)
+        (hfy-optimisations-1 (copy-seq hfy-optimisations))
+        (hfy-optimisations (add-to-list 'hfy-optimisations-1
+                                        'body-text-only))
+        (hfy-begin-span-handler
+         (lambda (style text-block text-id text-begins-block-p)
+           (insert (format "<text:span text:style-name=\"%s\">" style))))
+        (hfy-end-span-handler (lambda nil (insert "</text:span>"))))
+    (when (fboundp 'htmlfontify-string)
+      (let* ((lines (org-split-string lines "[\r\n]"))
+            (line-count (length lines))
+            (i 0))
+       (mapconcat
+        (lambda (line)
+          (incf i)
+          (org-odt-format-source-line-with-line-number-and-label
+           line rpllbl num 'htmlfontify-string
+           (if (= i line-count) "OrgSrcBlockLastLine" "OrgSrcBlock")))
+        lines "\n")))))
+
+(defun org-odt-format-source-code-or-example (lines lang caption textareap
+                                                   cols rows num cont
+                                                   rpllbl fmt)
+  "Format source or example blocks for export.
+Use `org-odt-format-source-code-or-example-plain' or
+`org-odt-format-source-code-or-example-colored' depending on the
+value of `org-export-odt-fontify-srcblocks."
+  (setq lines (org-export-number-lines
+              lines 0 0 num cont rpllbl fmt 'preprocess)
+       lines (funcall
+              (or (and org-export-odt-fontify-srcblocks
+                       (or (featurep 'htmlfontify)
+                           ;; htmlfontify.el was introduced in Emacs 23.2
+                           ;; So load it with some caution
+                           (require 'htmlfontify nil t))
+                       (fboundp 'htmlfontify-string)
+                       'org-odt-format-source-code-or-example-colored)
+                  'org-odt-format-source-code-or-example-plain)
+              lines lang caption textareap cols rows num cont rpllbl fmt))
+  (if (not num) lines
+    (let ((extra (format " text:continue-numbering=\"%s\""
+                        (if cont "true" "false"))))
+      (org-odt-format-tags
+       '("<text:list text:style-name=\"OrgSrcBlockNumberedLine\"%s>"
+        . "</text:list>") lines extra))))
+
+(defun org-odt-remap-stylenames (style-name)
+  (or
+   (cdr (assoc style-name '(("timestamp-wrapper" . "OrgTimestampWrapper")
+                           ("timestamp" . "OrgTimestamp")
+                           ("timestamp-kwd" . "OrgTimestampKeyword")
+                           ("tag" . "OrgTag")
+                           ("todo" . "OrgTodo")
+                           ("done" . "OrgDone")
+                           ("target" . "OrgTarget"))))
+   style-name))
+
+(defun org-odt-format-fontify (text style &optional id)
+  (let* ((style-name
+         (cond
+          ((stringp style)
+           (org-odt-remap-stylenames style))
+          ((symbolp style)
+           (org-odt-get-style-name-for-entity 'character style))
+          ((listp style)
+           (assert (< 1 (length style)))
+           (let ((parent-style (pop style)))
+             (mapconcat (lambda (s)
+                          ;; (assert (stringp s) t)
+                          (org-odt-remap-stylenames s)) style "")
+             (org-odt-remap-stylenames parent-style)))
+          (t (error "Don't how to handle style %s"  style)))))
+    (org-odt-format-tags
+     '("<text:span text:style-name=\"%s\">" . "</text:span>")
+     text style-name)))
+
+(defun org-odt-relocate-relative-path (path dir)
+  (if (file-name-absolute-p path) path
+    (file-relative-name (expand-file-name path dir)
+                       (expand-file-name "eyecandy" dir))))
+
+(defun org-odt-format-inline-image (thefile)
+  (let* ((thelink (if (file-name-absolute-p thefile) thefile
+                   (org-xml-format-href
+                    (org-odt-relocate-relative-path
+                     thefile org-current-export-file))))
+        (href
+         (org-odt-format-tags
+          "<draw:image xlink:href=\"%s\" xlink:type=\"simple\" xlink:show=\"embed\" xlink:actuate=\"onLoad\"/>" ""
+          (if org-export-odt-embed-images
+              (org-odt-copy-image-file thefile) thelink))))
+    (org-export-odt-format-image thefile href)))
+
+(defun org-export-odt-format-formula (src href &optional embed-as)
+  "Create image tag with source and attributes."
+  (save-match-data
+    (let* ((caption (org-find-text-property-in-string 'org-caption src))
+          (caption (and caption (org-xml-format-desc caption)))
+          (label (org-find-text-property-in-string 'org-label src))
+          (latex-frag (org-find-text-property-in-string 'org-latex-src src))
+          (embed-as (or embed-as
+                        (and latex-frag
+                             (org-find-text-property-in-string
+                              'org-latex-src-embed-type src))
+                        (if (or caption label) 'paragraph 'character)))
+          width height)
+      (when latex-frag
+       (setq href (org-propertize href :title "LaTeX Fragment"
+                                  :description latex-frag)))
+      (cond
+       ((eq embed-as 'character)
+       (org-odt-format-entity "InlineFormula" href width height))
+       (t
+       (org-lparse-end-paragraph)
+       (org-lparse-insert-list-table
+        `((,(org-odt-format-entity
+             (if caption "CaptionedDisplayFormula" "DisplayFormula")
+             href width height :caption caption :label nil)
+           ,(if (not label) ""
+              (org-odt-format-entity-caption label nil "__MathFormula__"))))
+        nil nil nil "OrgEquation" nil '((1 "c" 8) (2 "c" 1)))
+       (throw 'nextline nil))))))
+
+(defvar org-odt-embedded-formulas-count 0)
+(defun org-odt-copy-formula-file (path)
+  "Returns the internal name of the file"
+  (let* ((src-file (expand-file-name
+                   path (file-name-directory org-current-export-file)))
+        (target-dir (format "Formula-%04d/"
+                            (incf org-odt-embedded-formulas-count)))
+        (target-file (concat target-dir "content.xml")))
+    (when (not org-lparse-to-buffer)
+      (message "Embedding %s as %s ..."
+              (substring-no-properties path) target-file)
+
+       (make-directory target-dir)
+       (org-odt-create-manifest-file-entry
+        "application/vnd.oasis.opendocument.formula" target-dir "1.2")
+
+       (case (org-odt-is-formula-link-p src-file)
+         (mathml
+          (copy-file src-file target-file 'overwrite))
+         (odf
+          (org-odt-zip-extract-one src-file "content.xml" target-dir))
+         (t
+          (error "%s is not a formula file" src-file)))
+
+       (org-odt-create-manifest-file-entry "text/xml" target-file))
+    target-file))
+
+(defun org-odt-format-inline-formula (thefile)
+  (let* ((thelink (if (file-name-absolute-p thefile) thefile
+                   (org-xml-format-href
+                    (org-odt-relocate-relative-path
+                     thefile org-current-export-file))))
+        (href
+         (org-odt-format-tags
+          "<draw:object xlink:href=\"%s\" xlink:type=\"simple\" xlink:show=\"embed\" xlink:actuate=\"onLoad\"/>" ""
+          (file-name-directory (org-odt-copy-formula-file thefile)))))
+    (org-export-odt-format-formula thefile href)))
+
+(defun org-odt-is-formula-link-p (file)
+  (let ((case-fold-search nil))
+    (cond
+     ((string-match "\\.\\(mathml\\|mml\\)\\'" file)
+      'mathml)
+     ((string-match "\\.odf\\'" file)
+      'odf))))
+
+(defun org-odt-format-org-link (opt-plist type-1 path fragment desc attr
+                                         descp)
+  "Make a OpenDocument link.
+OPT-PLIST is an options list.
+TYPE-1 is the device-type of the link (THIS://foo.html).
+PATH is the path of the link (http://THIS#location).
+FRAGMENT is the fragment part of the link, if any (foo.html#THIS).
+DESC is the link description, if any.
+ATTR is a string of other attributes of the a element."
+  (declare (special org-lparse-par-open))
+  (save-match-data
+    (let* ((may-inline-p
+           (and (member type-1 '("http" "https" "file"))
+                (org-lparse-should-inline-p path descp)
+                (not fragment)))
+          (type (if (equal type-1 "id") "file" type-1))
+          (filename path)
+          (thefile path))
+      (cond
+       ;; check for inlined images
+       ((and (member type '("file"))
+            (not fragment)
+            (org-file-image-p
+             filename org-export-odt-inline-image-extensions)
+            (or (eq t org-export-odt-inline-images)
+                (and org-export-odt-inline-images (not descp))))
+       (org-odt-format-inline-image thefile))
+       ;; check for embedded formulas
+       ((and (member type '("file"))
+            (not fragment)
+            (org-odt-is-formula-link-p filename)
+            (or (not descp)))
+       (org-odt-format-inline-formula thefile))
+       ((string= type "coderef")
+       (let* ((ref fragment)
+              (lineno-or-ref (cdr (assoc ref org-export-code-refs)))
+              (desc (and descp desc))
+              (org-odt-suppress-xref nil)
+              (href (org-xml-format-href (concat "#coderef-" ref))))
+         (cond
+          ((and (numberp lineno-or-ref) (not desc))
+           (org-odt-format-link lineno-or-ref href))
+          ((and (numberp lineno-or-ref) desc
+                (string-match (regexp-quote (concat "(" ref ")")) desc))
+           (format (replace-match "%s" t t desc)
+                   (org-odt-format-link lineno-or-ref href)))
+          (t
+           (setq desc (format
+                       (if (and desc (string-match
+                                      (regexp-quote (concat "(" ref ")"))
+                                      desc))
+                           (replace-match "%s" t t desc)
+                         (or desc "%s"))
+                       lineno-or-ref))
+           (org-odt-format-link (org-xml-format-desc desc) href)))))
+       (t
+       (when (string= type "file")
+         (setq thefile
+               (cond
+                ((file-name-absolute-p path)
+                 (concat "file://" (expand-file-name path)))
+                (t (org-odt-relocate-relative-path
+                    thefile org-current-export-file)))))
+
+       (when (and (member type '("" "http" "https" "file")) fragment)
+         (setq thefile (concat thefile "#" fragment)))
+
+       (setq thefile (org-xml-format-href thefile))
+
+       (when (not (member type '("" "file")))
+         (setq thefile (concat type ":" thefile)))
+
+       (let ((org-odt-suppress-xref nil))
+         (org-odt-format-link
+          (org-xml-format-desc desc) thefile attr)))))))
+
+(defun org-odt-format-heading (text level &optional id)
+  (let* ((text (if id (org-odt-format-target text id) text)))
+    (org-odt-format-tags
+     '("<text:h text:style-name=\"Heading_20_%s\" text:outline-level=\"%s\">" .
+       "</text:h>") text level level)))
+
+(defun org-odt-format-headline (title extra-targets tags
+                                           &optional snumber level)
+  (concat
+   (org-lparse-format 'EXTRA-TARGETS extra-targets)
+
+   ;; No need to generate section numbers. They are auto-generated by
+   ;; the application
+
+   ;; (concat (org-lparse-format 'SECTION-NUMBER snumber level) " ")
+   title
+   (and tags (concat (org-lparse-format 'SPACES 3)
+                    (org-lparse-format 'ORG-TAGS tags)))))
+
+(defun org-odt-format-anchor (text name &optional class)
+  (org-odt-format-target text name))
+
+(defun org-odt-format-bookmark (text id)
+  (if id
+      (org-odt-format-tags "<text:bookmark text:name=\"%s\"/>" text id)
+    text))
+
+(defun org-odt-format-target (text id)
+  (let ((name (concat org-export-odt-bookmark-prefix id)))
+    (concat
+     (and id (org-odt-format-tags
+             "<text:bookmark-start text:name=\"%s\"/>" "" name))
+     (org-odt-format-bookmark text id)
+     (and id (org-odt-format-tags
+             "<text:bookmark-end text:name=\"%s\"/>" "" name)))))
+
+(defun org-odt-format-footnote (n def)
+  (let ((id (concat  "fn" n))
+       (note-class "footnote")
+       (par-style "Footnote"))
+    (org-odt-format-tags
+     '("<text:note text:id=\"%s\" text:note-class=\"%s\">" .
+       "</text:note>")
+     (concat
+      (org-odt-format-tags
+       '("<text:note-citation>" . "</text:note-citation>")
+       n)
+      (org-odt-format-tags
+       '("<text:note-body>" . "</text:note-body>")
+       def))
+     id note-class)))
+
+(defun org-odt-format-footnote-reference (n def refcnt)
+  (if (= refcnt 1)
+      (org-odt-format-footnote n def)
+    (org-odt-format-footnote-ref n)))
+
+(defun org-odt-format-footnote-ref (n)
+  (let ((note-class "footnote")
+       (ref-format "text")
+       (ref-name (concat "fn" n)))
+    (org-odt-format-tags
+     '("<text:span text:style-name=\"%s\">" . "</text:span>")
+     (org-odt-format-tags
+      '("<text:note-ref text:note-class=\"%s\" text:reference-format=\"%s\" text:ref-name=\"%s\">" . "</text:note-ref>")
+      n note-class ref-format ref-name)
+     "OrgSuperscript")))
+
+(defun org-odt-get-image-name (file-name)
+  (require 'sha1)
+  (file-relative-name
+   (expand-file-name
+    (concat (sha1 file-name) "." (file-name-extension file-name)) "Pictures")))
+
+(defun org-export-odt-format-image (src href)
+  "Create image tag with source and attributes."
+  (save-match-data
+    (let* ((caption (org-find-text-property-in-string 'org-caption src))
+          (caption (and caption (org-xml-format-desc caption)))
+          (attr (org-find-text-property-in-string 'org-attributes src))
+          (label (org-find-text-property-in-string 'org-label src))
+          (latex-frag (org-find-text-property-in-string
+                       'org-latex-src src))
+          (category (and latex-frag "__DvipngImage__"))
+          (attr-plist (org-lparse-get-block-params attr))
+          (user-frame-anchor
+           (car (assoc-string (plist-get attr-plist :anchor)
+                              (if (or caption label)
+                                  '(("paragraph") ("page"))
+                                '(("character") ("paragraph") ("page"))) t)))
+          (user-frame-style
+           (and user-frame-anchor (plist-get attr-plist :style)))
+          (user-frame-attrs
+           (and user-frame-anchor (plist-get attr-plist :attributes)))
+          (user-frame-params
+           (list user-frame-style user-frame-attrs user-frame-anchor))
+          (embed-as (cond
+                     (latex-frag
+                      (symbol-name
+                       (or (org-find-text-property-in-string
+                            'org-latex-src-embed-type src) 'character)))
+                     (user-frame-anchor)
+                     (t "paragraph")))
+          (size (org-odt-image-size-from-file
+                 src (plist-get attr-plist :width)
+                 (plist-get attr-plist :height)
+                 (plist-get attr-plist :scale) nil embed-as))
+          (width (car size)) (height (cdr size)))
+      (when latex-frag
+       (setq href (org-propertize href :title "LaTeX Fragment"
+                                  :description latex-frag)))
+      (let ((frame-style-handle (concat (and (or caption label) "Captioned")
+                                       embed-as "Image")))
+       (org-odt-format-entity
+        frame-style-handle href width height
+        :caption caption :label label :category category
+        :user-frame-params user-frame-params)))))
+
+(defun org-odt-format-object-description (title description)
+  (concat (and title (org-odt-format-tags
+                     '("<svg:title>" . "</svg:title>")
+                     (org-odt-encode-plain-text title t)))
+         (and description (org-odt-format-tags
+                           '("<svg:desc>" . "</svg:desc>")
+                           (org-odt-encode-plain-text description t)))))
+
+(defun org-odt-format-frame (text width height style &optional
+                                 extra anchor-type)
+  (let ((frame-attrs
+        (concat
+         (if width (format " svg:width=\"%0.2fcm\"" width) "")
+         (if height (format " svg:height=\"%0.2fcm\"" height) "")
+         extra
+         (format " text:anchor-type=\"%s\"" (or anchor-type "paragraph")))))
+    (org-odt-format-tags
+     '("<draw:frame draw:style-name=\"%s\"%s>" . "</draw:frame>")
+     (concat text (org-odt-format-object-description
+                  (get-text-property 0 :title text)
+                  (get-text-property 0 :description text)))
+     style frame-attrs)))
+
+(defun org-odt-format-textbox (text width height style &optional
+                                   extra anchor-type)
+  (org-odt-format-frame
+   (org-odt-format-tags
+    '("<draw:text-box %s>" . "</draw:text-box>")
+    text (concat (format " fo:min-height=\"%0.2fcm\"" (or height .2))
+                (format " fo:min-width=\"%0.2fcm\"" (or width .2))))
+   width nil style extra anchor-type))
+
+(defun org-odt-format-inlinetask (heading content
+                                         &optional todo priority tags)
+  (org-odt-format-stylized-paragraph
+   nil (org-odt-format-textbox
+       (concat (org-odt-format-stylized-paragraph
+                "OrgInlineTaskHeading"
+                (org-lparse-format
+                 'HEADLINE (concat (org-lparse-format-todo todo) " " heading)
+                 nil tags))
+               content) nil nil "OrgInlineTaskFrame" " style:rel-width=\"100%\"")))
+
+(defvar org-odt-entity-frame-styles
+  '(("CharacterImage" "__Figure__" ("OrgInlineImage" nil "as-char"))
+    ("ParagraphImage" "__Figure__" ("OrgDisplayImage" nil "paragraph"))
+    ("PageImage" "__Figure__" ("OrgPageImage" nil "page"))
+    ("CaptionedParagraphImage" "__Figure__"
+     ("OrgCaptionedImage"
+      " style:rel-width=\"100%\" style:rel-height=\"scale\"" "paragraph")
+     ("OrgImageCaptionFrame" nil "paragraph"))
+    ("CaptionedPageImage" "__Figure__"
+     ("OrgCaptionedImage"
+      " style:rel-width=\"100%\" style:rel-height=\"scale\"" "paragraph")
+     ("OrgPageImageCaptionFrame" nil "page"))
+    ("InlineFormula" "__MathFormula__" ("OrgInlineFormula" nil "as-char"))
+    ("DisplayFormula" "__MathFormula__" ("OrgDisplayFormula" nil "as-char"))
+    ("CaptionedDisplayFormula" "__MathFormula__"
+     ("OrgCaptionedFormula" nil "paragraph")
+     ("OrgFormulaCaptionFrame" nil "as-char"))))
+
+(defun org-odt-merge-frame-params(default-frame-params user-frame-params)
+  (if (not user-frame-params) default-frame-params
+    (assert (= (length default-frame-params) 3))
+    (assert (= (length user-frame-params) 3))
+    (loop for user-frame-param in user-frame-params
+         for default-frame-param in default-frame-params
+         collect (or user-frame-param default-frame-param))))
+
+(defun* org-odt-format-entity (entity href width height
+                                     &key caption label category
+                                     user-frame-params)
+  (let* ((entity-style (assoc-string entity org-odt-entity-frame-styles t))
+        default-frame-params frame-params)
+    (cond
+     ((not (or caption label))
+      (setq default-frame-params (nth 2 entity-style))
+      (setq frame-params (org-odt-merge-frame-params
+                         default-frame-params user-frame-params))
+      (apply 'org-odt-format-frame href width height frame-params))
+     (t
+      (setq default-frame-params (nth 3 entity-style))
+      (setq frame-params (org-odt-merge-frame-params
+                         default-frame-params user-frame-params))
+      (apply 'org-odt-format-textbox
+            (org-odt-format-stylized-paragraph
+             'illustration
+             (concat
+              (apply 'org-odt-format-frame href width height
+                     (nth 2 entity-style))
+              (org-odt-format-entity-caption
+               label caption (or category (nth 1 entity-style)))))
+            width height frame-params)))))
+
+(defvar org-odt-embedded-images-count 0)
+(defun org-odt-copy-image-file (path)
+  "Returns the internal name of the file"
+  (let* ((image-type (file-name-extension path))
+        (media-type (format "image/%s" image-type))
+        (src-file (expand-file-name
+                   path (file-name-directory org-current-export-file)))
+        (target-dir "Images/")
+        (target-file
+         (format "%s%04d.%s" target-dir
+                 (incf org-odt-embedded-images-count) image-type)))
+    (when (not org-lparse-to-buffer)
+      (message "Embedding %s as %s ..."
+              (substring-no-properties path) target-file)
+
+      (when (= 1 org-odt-embedded-images-count)
+       (make-directory target-dir)
+       (org-odt-create-manifest-file-entry "" target-dir))
+
+      (copy-file src-file target-file 'overwrite)
+      (org-odt-create-manifest-file-entry media-type target-file))
+    target-file))
+
+(defvar org-export-odt-image-size-probe-method
+  '(emacs imagemagick force)
+  "Ordered list of methods by for determining size of an embedded
+  image.")
+
+(defvar org-export-odt-default-image-sizes-alist
+  '(("character" . (5 . 0.4))
+    ("paragraph" . (5 . 5)))
+  "Hardcoded image dimensions one for each of the anchor
+  methods.")
+
+;; A4 page size is 21.0 by 29.7 cms
+;; The default page settings has 2cm margin on each of the sides. So
+;; the effective text area is 17.0 by 25.7 cm
+(defvar org-export-odt-max-image-size '(17.0 . 20.0)
+  "Limiting dimensions for an embedded image.")
+
+(defun org-odt-do-image-size (probe-method file &optional dpi anchor-type)
+  (setq dpi (or dpi org-export-odt-pixels-per-inch))
+  (setq anchor-type (or anchor-type "paragraph"))
+  (flet ((size-in-cms (size-in-pixels)
+                     (flet ((pixels-to-cms (pixels)
+                                           (let* ((cms-per-inch 2.54)
+                                                  (inches (/ pixels dpi)))
+                                             (* cms-per-inch inches))))
+                       (and size-in-pixels
+                            (cons (pixels-to-cms (car size-in-pixels))
+                                  (pixels-to-cms (cdr size-in-pixels)))))))
+    (case probe-method
+      (emacs
+       (size-in-cms (ignore-errors (image-size (create-image file) 'pixels))))
+      (imagemagick
+       (size-in-cms
+       (let ((dim (shell-command-to-string
+                   (format "identify -format \"%%w:%%h\" \"%s\"" file))))
+         (when (string-match "\\([0-9]+\\):\\([0-9]+\\)" dim)
+           (cons (string-to-number (match-string 1 dim))
+                 (string-to-number (match-string 2 dim)))))))
+      (t
+       (cdr (assoc-string anchor-type
+                         org-export-odt-default-image-sizes-alist))))))
+
+(defun org-odt-image-size-from-file (file &optional user-width
+                                         user-height scale dpi embed-as)
+  (unless (file-name-absolute-p file)
+    (setq file (expand-file-name
+               file (file-name-directory org-current-export-file))))
+  (let* (size width height)
+    (unless (and user-height user-width)
+      (loop for probe-method in org-export-odt-image-size-probe-method
+           until size
+           do (setq size (org-odt-do-image-size
+                          probe-method file dpi embed-as)))
+      (or size (error "Cannot determine Image size. Aborting ..."))
+      (setq width (car size) height (cdr size)))
+    (cond
+     (scale
+      (setq width (* width scale) height (* height scale)))
+     ((and user-height user-width)
+      (setq width user-width height user-height))
+     (user-height
+      (setq width (* user-height (/ width height)) height user-height))
+     (user-width
+      (setq height (* user-width (/ height width)) width user-width))
+     (t (ignore)))
+    ;; ensure that an embedded image fits comfortably within a page
+    (let ((max-width (car org-export-odt-max-image-size))
+         (max-height (cdr org-export-odt-max-image-size)))
+      (when (or (> width max-width) (> height max-height))
+       (let* ((scale1 (/ max-width width))
+              (scale2 (/ max-height height))
+              (scale (min scale1 scale2)))
+         (setq width (* scale width) height (* scale height)))))
+    (cons width height)))
+
+(defvar org-odt-entity-labels-alist nil
+  "Associate Labels with the Labelled entities.
+Each element of the alist is of the form (LABEL-NAME
+CATEGORY-NAME SEQNO LABEL-STYLE-NAME).  LABEL-NAME is same as
+that specified by \"#+LABEL: ...\" line.  CATEGORY-NAME is the
+type of the entity that LABEL-NAME is attached to.  CATEGORY-NAME
+can be one of \"Table\", \"Figure\" or \"Equation\".  SEQNO is
+the unique number assigned to the referenced entity on a
+per-CATEGORY basis.  It is generated sequentially and is 1-based.
+LABEL-STYLE-NAME is a key `org-odt-label-styles'.
+
+See `org-odt-add-label-definition' and
+`org-odt-fixup-label-references'.")
+
+(defvar org-odt-entity-counts-plist nil
+  "Plist of running counters of SEQNOs for each of the CATEGORY-NAMEs.
+See `org-odt-entity-labels-alist' for known CATEGORY-NAMEs.")
+
+(defvar org-odt-label-styles
+  '(("text" "(%n)" "text" "(%n)")
+    ("category-and-value" "%e %n%c" "category-and-value" "%e %n"))
+  "Specify how labels are applied and referenced.
+This is an alist where each element is of the
+form (LABEL-STYLE-NAME LABEL-ATTACH-FMT LABEL-REF-MODE
+LABEL-REF-FMT).
+
+LABEL-ATTACH-FMT controls how labels and captions are attached to
+an entity.  It may contain following specifiers - %e, %n and %c.
+%e is replaced with the CATEGORY-NAME.  %n is replaced with
+\"<text:sequence ...> SEQNO </text:sequence>\".  %c is replaced
+with CAPTION. See `org-odt-format-label-definition'.
+
+LABEL-REF-MODE and LABEL-REF-FMT controls how label references
+are generated.  The following XML is generated for a label
+reference - \"<text:sequence-ref
+text:reference-format=\"LABEL-REF-MODE\" ...> LABEL-REF-FMT
+</text:sequence-ref>\".  LABEL-REF-FMT may contain following
+specifiers - %e and %n.  %e is replaced with the CATEGORY-NAME.
+%n is replaced with SEQNO. See
+`org-odt-format-label-reference'.")
+
+(defvar org-odt-category-map-alist
+  '(("__Table__" "Table" "category-and-value")
+    ("__Figure__" "Figure" "category-and-value")
+    ("__MathFormula__" "Equation" "text")
+    ("__DvipngImage__" "Equation" "category-and-value"))
+  "Map a CATEGORY-HANDLE to CATEGORY-NAME and LABEL-STYLE.
+This is an alist where each element is of the form
+\\(CATEGORY-HANDLE CATEGORY-NAME LABEL-STYLE\\).  CATEGORY_HANDLE
+could either be one of the internal handles (as seen above) or be
+derived from the \"#+LABEL:<label-name>\" specification.  See
+`org-export-odt-get-category-from-label'.  CATEGORY-NAME and
+LABEL-STYLE are used for generating ODT labels.  See
+`org-odt-label-styles'.")
+
+(defvar org-export-odt-user-categories
+  '("Illustration" "Table" "Text" "Drawing" "Equation" "Figure"))
+
+(defvar org-export-odt-get-category-from-label nil
+  "Should category of label be inferred from label itself.
+When this option is non-nil, a label is parsed in to two
+component parts delimited by a \":\" (colon) as shown here -
+#+LABEL:[CATEGORY-HANDLE:]EXTRA.  The CATEGORY-HANDLE is mapped
+to a CATEGORY-NAME and LABEL-STYLE using
+`org-odt-category-map-alist'.  (If no such map is provided and
+CATEGORY-NAME is set to CATEGORY-HANDLE and LABEL-STYLE is set to
+\"category-and-value\").  If CATEGORY-NAME so obtained is listed
+under `org-export-odt-user-categories' then the user specified
+styles are used.  Otherwise styles as determined by the internal
+CATEGORY-HANDLE is used.  See
+`org-odt-get-label-category-and-style' for details.")
+
+(defun org-odt-get-label-category-and-style (label default-category)
+  "See `org-export-odt-get-category-from-label'."
+  (let ((default-category-map
+         (assoc default-category org-odt-category-map-alist))
+       user-category user-category-map category)
+    (cond
+     ((not org-export-odt-get-category-from-label)
+      default-category-map)
+     ((not (setq user-category
+                (save-match-data
+                  (and (string-match "\\`\\(.*\\):.+" label)
+                       (match-string 1 label)))))
+      default-category-map)
+     (t
+      (setq user-category-map
+           (or (assoc user-category org-odt-category-map-alist)
+               (list nil user-category "category-and-value"))
+           category (nth 1 user-category-map))
+      (if (member category org-export-odt-user-categories)
+         user-category-map
+       default-category-map)))))
+
+(defun org-odt-add-label-definition (label default-category)
+  "Create an entry in `org-odt-entity-labels-alist' and return it."
+  (setq label (substring-no-properties label))
+  (let* ((label-props (org-odt-get-label-category-and-style
+                      label default-category))
+        (category (nth 1 label-props))
+        (counter category)
+        (label-style (nth 2 label-props))
+        (sequence-var (intern (mapconcat
+                               'downcase
+                               (org-split-string counter) "-")))
+        (seqno (1+ (or (plist-get org-odt-entity-counts-plist sequence-var)
+                       0)))
+        (label-props (list label category seqno label-style)))
+    (setq org-odt-entity-counts-plist
+         (plist-put org-odt-entity-counts-plist sequence-var seqno))
+    (push label-props org-odt-entity-labels-alist)
+    label-props))
+
+(defun org-odt-format-label-definition (caption label category seqno label-style)
+  (assert label)
+  (format-spec
+   (cadr (assoc-string label-style org-odt-label-styles t))
+   `((?e . ,category)
+     (?n . ,(org-odt-format-tags
+            '("<text:sequence text:ref-name=\"%s\" text:name=\"%s\" text:formula=\"ooow:%s+1\" style:num-format=\"1\">" . "</text:sequence>")
+            (format "%d" seqno) label category category))
+     (?c . ,(or (and caption (concat ": " caption)) "")))))
+
+(defun org-odt-format-label-reference (label category seqno label-style)
+  (assert label)
+  (save-match-data
+    (let* ((fmt (cddr (assoc-string label-style org-odt-label-styles t)))
+          (fmt1 (car fmt))
+          (fmt2 (cadr fmt)))
+      (org-odt-format-tags
+       '("<text:sequence-ref text:reference-format=\"%s\" text:ref-name=\"%s\">"
+        . "</text:sequence-ref>")
+       (format-spec fmt2 `((?e . ,category)
+                          (?n . ,(format "%d" seqno)))) fmt1 label))))
+
+(defun org-odt-fixup-label-references ()
+  (goto-char (point-min))
+  (while (re-search-forward
+         "<text:sequence-ref text:ref-name=\"\\([^\"]+\\)\">[ \t\n]*</text:sequence-ref>"
+         nil t)
+    (let* ((label (match-string 1))
+          (label-def (assoc label org-odt-entity-labels-alist))
+          (rpl (and label-def
+                    (apply 'org-odt-format-label-reference label-def))))
+      (if rpl (replace-match rpl t t)
+       (org-lparse-warn
+        (format "Unable to resolve reference to label \"%s\"" label))))))
+
+(defun org-odt-format-entity-caption (label caption category)
+  (or (and label
+          (apply 'org-odt-format-label-definition
+                 caption (org-odt-add-label-definition label category)))
+      caption ""))
+
+(defun org-odt-format-tags (tag text &rest args)
+  (let ((prefix (when org-lparse-encode-pending "@"))
+       (suffix (when org-lparse-encode-pending "@")))
+    (apply 'org-lparse-format-tags tag text prefix suffix args)))
+
+(defvar org-odt-manifest-file-entries nil)
+(defun org-odt-init-outfile (filename)
+  (unless (executable-find "zip")
+    ;; Not at all OSes ship with zip by default
+    (error "Executable \"zip\" needed for creating OpenDocument files"))
+
+  (let* ((outdir (make-temp-file
+                 (format org-export-odt-tmpdir-prefix org-lparse-backend) t))
+        (content-file (expand-file-name "content.xml" outdir)))
+
+    ;; init conten.xml
+    (with-current-buffer (find-file-noselect content-file t))
+
+    ;; reset variables
+    (setq org-odt-manifest-file-entries nil
+         org-odt-embedded-images-count 0
+         org-odt-embedded-formulas-count 0
+         org-odt-entity-labels-alist nil
+         org-odt-entity-counts-plist nil)
+    content-file))
+
+(defcustom org-export-odt-prettify-xml nil
+  "Specify whether or not the xml output should be prettified.
+When this option is turned on, `indent-region' is run on all
+component xml buffers before they are saved.  Turn this off for
+regular use.  Turn this on if you need to examine the xml
+visually."
+  :group 'org-export-odt
+  :type 'boolean)
+
+(defvar hfy-user-sheet-assoc)          ; bound during org-do-lparse
+(defun org-odt-save-as-outfile (target opt-plist)
+  ;; write meta file
+  (org-odt-update-meta-file opt-plist)
+
+  ;; write styles file
+  (when (equal org-lparse-backend 'odt)
+    (org-odt-update-styles-file opt-plist))
+
+  ;; create mimetype file
+  (let ((mimetype (org-odt-write-mimetype-file org-lparse-backend)))
+    (org-odt-create-manifest-file-entry mimetype "/" "1.2"))
+
+  ;; create a manifest entry for content.xml
+  (org-odt-create-manifest-file-entry "text/xml" "content.xml")
+
+  ;; write out the manifest entries before zipping
+  (org-odt-write-manifest-file)
+
+  (let ((xml-files '("mimetype" "META-INF/manifest.xml" "content.xml"
+                    "meta.xml"))
+       (zipdir default-directory))
+    (when (equal org-lparse-backend 'odt)
+      (push "styles.xml" xml-files))
+    (message "Switching to directory %s" (expand-file-name zipdir))
+
+    ;; save all xml files
+    (mapc (lambda (file)
+           (with-current-buffer
+               (find-file-noselect (expand-file-name file) t)
+             ;; prettify output if needed
+             (when org-export-odt-prettify-xml
+               (indent-region (point-min) (point-max)))
+             (save-buffer 0)))
+         xml-files)
+
+    (let* ((target-name (file-name-nondirectory target))
+          (target-dir (file-name-directory target))
+          (cmds `(("zip" "-mX0" ,target-name "mimetype")
+                  ("zip" "-rmTq" ,target-name "."))))
+      (when (file-exists-p target)
+       ;; FIXME: If the file is locked this throws a cryptic error
+       (delete-file target))
+
+      (let ((coding-system-for-write 'no-conversion) exitcode err-string)
+       (message "Creating odt file...")
+       (mapc
+        (lambda (cmd)
+          (message "Running %s" (mapconcat 'identity cmd " "))
+          (setq err-string
+                (with-output-to-string
+                  (setq exitcode
+                        (apply 'call-process (car cmd)
+                               nil standard-output nil (cdr cmd)))))
+          (or (zerop exitcode)
+              (ignore (message "%s" err-string))
+              (error "Unable to create odt file (%S)" exitcode)))
+        cmds))
+
+      ;; move the file from outdir to target-dir
+      (rename-file target-name target-dir)
+
+      ;; kill all xml buffers
+      (mapc (lambda (file)
+             (kill-buffer
+              (find-file-noselect (expand-file-name file zipdir) t)))
+           xml-files)
+
+      (delete-directory zipdir)))
+  (message "Created %s" target)
+  (set-buffer (find-file-noselect target t)))
+
+(defconst org-odt-manifest-file-entry-tag
+  "
+<manifest:file-entry manifest:media-type=\"%s\" manifest:full-path=\"%s\"%s/>")
+
+(defun org-odt-create-manifest-file-entry (&rest args)
+  (push args org-odt-manifest-file-entries))
+
+(defun org-odt-write-manifest-file ()
+  (make-directory "META-INF")
+  (let ((manifest-file (expand-file-name "META-INF/manifest.xml")))
+    (with-current-buffer
+       (find-file-noselect manifest-file t)
+      (insert
+       "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+     <manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\n")
+      (mapc
+       (lambda (file-entry)
+        (let* ((version (nth 2 file-entry))
+               (extra (if version
+                          (format  " manifest:version=\"%s\"" version)
+                        "")))
+          (insert
+           (format org-odt-manifest-file-entry-tag
+                   (nth 0 file-entry) (nth 1 file-entry) extra))))
+       org-odt-manifest-file-entries)
+      (insert "\n</manifest:manifest>"))))
+
+(defun org-odt-update-meta-file (opt-plist)
+  (let ((date (org-odt-format-date (plist-get opt-plist :date)))
+       (author (or (plist-get opt-plist :author) ""))
+       (email (plist-get opt-plist :email))
+       (keywords (plist-get opt-plist :keywords))
+       (description (plist-get opt-plist :description))
+       (title (plist-get opt-plist :title)))
+    (write-region
+     (concat
+      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+     <office:document-meta
+         xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\"
+         xmlns:xlink=\"http://www.w3.org/1999/xlink\"
+         xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
+         xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\"
+         xmlns:ooo=\"http://openoffice.org/2004/office\"
+         office:version=\"1.2\">
+       <office:meta>" "\n"
+      (org-odt-format-author)
+      (org-odt-format-tags
+       '("\n<meta:initial-creator>" . "</meta:initial-creator>") author)
+      (org-odt-format-tags '("\n<dc:date>" . "</dc:date>") date)
+      (org-odt-format-tags
+       '("\n<meta:creation-date>" . "</meta:creation-date>") date)
+      (org-odt-format-tags '("\n<meta:generator>" . "</meta:generator>")
+                          (when org-export-creator-info
+                            (format "Org-%s/Emacs-%s"
+                                    org-version emacs-version)))
+      (org-odt-format-tags '("\n<meta:keyword>" . "</meta:keyword>") keywords)
+      (org-odt-format-tags '("\n<dc:subject>" . "</dc:subject>") description)
+      (org-odt-format-tags '("\n<dc:title>" . "</dc:title>") title)
+      "\n"
+      "  </office:meta>" "</office:document-meta>")
+     nil (expand-file-name "meta.xml")))
+
+  ;; create a manifest entry for meta.xml
+  (org-odt-create-manifest-file-entry "text/xml" "meta.xml"))
+
+(defun org-odt-update-styles-file (opt-plist)
+  ;; write styles file
+  (let ((styles-file (plist-get opt-plist :odt-styles-file)))
+    (org-odt-copy-styles-file (and styles-file
+                                  (read (org-trim styles-file)))))
+
+  ;; Update styles.xml - take care of outline numbering
+  (with-current-buffer
+      (find-file-noselect (expand-file-name "styles.xml") t)
+    ;; Don't make automatic backup of styles.xml file. This setting
+    ;; prevents the backedup styles.xml file from being zipped in to
+    ;; odt file. This is more of a hackish fix. Better alternative
+    ;; would be to fix the zip command so that the output odt file
+    ;; includes only the needed files and excludes any auto-generated
+    ;; extra files like backups and auto-saves etc etc. Note that
+    ;; currently the zip command zips up the entire temp directory so
+    ;; that any auto-generated files created under the hood ends up in
+    ;; the resulting odt file.
+    (set (make-local-variable 'backup-inhibited) t)
+
+    ;; Import local setting of `org-export-with-section-numbers'
+    (org-lparse-bind-local-variables opt-plist)
+    (org-odt-configure-outline-numbering
+     (if org-export-with-section-numbers org-export-headline-levels 0)))
+
+  ;; Write custom stlyes for source blocks
+  (org-odt-insert-custom-styles-for-srcblocks
+   (mapconcat
+    (lambda (style)
+      (format " %s\n" (cddr style)))
+    hfy-user-sheet-assoc "")))
+
+(defun org-odt-write-mimetype-file (format)
+  ;; create mimetype file
+  (let ((mimetype
+        (case format
+          (odt "application/vnd.oasis.opendocument.text")
+          (odf "application/vnd.oasis.opendocument.formula")
+          (t (error "Unknown OpenDocument backend %S" org-lparse-backend)))))
+    (write-region mimetype nil (expand-file-name "mimetype"))
+    mimetype))
+
+(defun org-odt-finalize-outfile ()
+  (org-odt-delete-empty-paragraphs))
+
+(defun org-odt-delete-empty-paragraphs ()
+  (goto-char (point-min))
+  (let ((open "<text:p[^>]*>")
+       (close "</text:p>"))
+    (while (re-search-forward (format "%s[ \r\n\t]*%s" open close) nil t)
+      (replace-match ""))))
+
+(defcustom org-export-odt-convert-processes
+  '(("BasicODConverter"
+     ("soffice" "-norestore" "-invisible" "-headless"
+      "\"macro:///BasicODConverter.Main.Convert(%I,%f,%O)\""))
+    ("unoconv"
+     ("unoconv" "-f" "%f" "-o" "%d" "%i")))
+  "Specify a list of document converters and their usage.
+The converters in this list are offered as choices while
+customizing `org-export-odt-convert-process'.
+
+This variable is an alist where each element is of the
+form (CONVERTER-NAME CONVERTER-PROCESS).  CONVERTER-NAME is name
+of the converter.  CONVERTER-PROCESS specifies the command-line
+syntax of the converter and is of the form (CONVERTER-PROGRAM
+ARG1 ARG2 ...).  CONVERTER-PROGRAM is the name of the executable.
+ARG1, ARG2 etc are command line options that are passed to
+CONVERTER-PROGRAM.  Format specifiers can be used in the ARGs and
+they are interpreted as below:
+
+%i input file name in full
+%I input file name as a URL
+%f format of the output file
+%o output file name in full
+%O output file name as a URL
+%d output dir in full
+%D output dir as a URL."
+  :group 'org-export-odt
+  :type
+  '(choice
+    (const :tag "None" nil)
+    (alist :tag "Converters"
+          :key-type (string :tag "Converter Name")
+          :value-type (group (cons (string :tag "Executable")
+                                   (repeat (string :tag "Command line args")))))))
+
+(defcustom org-export-odt-convert-process nil
+  "Use this converter to convert from \"odt\" format to other formats.
+During customization, the list of converter names are populated
+from `org-export-odt-convert-processes'."
+  :group 'org-export-odt
+  :type '(choice :convert-widget
+                (lambda (w)
+                  (apply 'widget-convert (widget-type w)
+                         (eval (car (widget-get w :args)))))
+                `((const :tag "None" nil)
+                  ,@(mapcar (lambda (c)
+                              `(const :tag ,(car c) ,(car c)))
+                            org-export-odt-convert-processes))))
+
+(defcustom org-export-odt-convert-capabilities
+  '(("Text"
+     ("odt" "ott" "doc" "rtf")
+     (("pdf" "pdf") ("odt" "odt") ("xhtml" "html") ("rtf" "rtf")
+      ("ott" "ott") ("doc" "doc") ("ooxml" "xml") ("html" "html")))
+    ("Web"
+     ("html" "xhtml") (("pdf" "pdf") ("odt" "txt") ("html" "html")))
+    ("Spreadsheet"
+     ("ods" "ots" "xls" "csv")
+     (("pdf" "pdf") ("ots" "ots") ("html" "html") ("csv" "csv")
+      ("ods" "ods") ("xls" "xls") ("xhtml" "xhtml") ("ooxml" "xml")))
+    ("Presentation"
+     ("odp" "otp" "ppt")
+     (("pdf" "pdf") ("swf" "swf") ("odp" "odp") ("xhtml" "xml")
+      ("otp" "otp") ("ppt" "ppt") ("odg" "odg") ("html" "html"))))
+  "Specify input and output formats of `org-export-odt-convert-process'.
+More correctly, specify the set of input and output formats that
+the user is actually interested in.
+
+This variable is an alist where each element is of the
+form (DOCUMENT-CLASS INPUT-FMT-LIST OUTPUT-FMT-ALIST).
+INPUT-FMT-LIST is a list of INPUT-FMTs.  OUTPUT-FMT-ALIST is an
+alist where each element is of the form (OUTPUT-FMT
+OUTPUT-FILE-EXTENSION).
+
+The variable is interpreted as follows:
+`org-export-odt-convert-process' can take any document that is in
+INPUT-FMT-LIST and produce any document that is in the
+OUTPUT-FMT-LIST.  A document converted to OUTPUT-FMT will have
+OUTPUT-FILE-EXTENSION as the file name extension.  OUTPUT-FMT
+serves dual purposes:
+- It is used for populating completion candidates during
+  `org-export-odt-convert' commands.
+- It is used as the value of \"%f\" specifier in
+  `org-export-odt-convert-process'.
+
+DOCUMENT-CLASS is used to group a set of file formats in
+INPUT-FMT-LIST in to a single class.
+
+Note that this variable inherently captures how LibreOffice based
+converters work.  LibreOffice maps documents of various formats
+to classes like Text, Web, Spreadsheet, Presentation etc and
+allow document of a given class (irrespective of it's source
+format) to be converted to any of the export formats associated
+with that class.
+
+See default setting of this variable for an typical
+configuration."
+  :group 'org-export-odt
+  :type
+  '(choice
+    (const :tag "None" nil)
+    (alist :key-type (string :tag "Document Class")
+          :value-type
+          (group (repeat :tag "Input formats" (string :tag "Input format"))
+                 (alist :tag "Output formats"
+                        :key-type (string :tag "Output format")
+                        :value-type
+                        (group (string :tag "Output file extension")))))))
+
+(declare-function org-create-math-formula "org"
+                 (latex-frag &optional mathml-file))
+
+;;;###autoload
+(defun org-export-odt-convert (&optional in-file out-fmt prefix-arg)
+  "Convert IN-FILE to format OUT-FMT using a command line converter.
+IN-FILE is the file to be converted.  If unspecified, it defaults
+to variable `buffer-file-name'.  OUT-FMT is the desired output
+format.  Use `org-export-odt-convert-process' as the converter.
+If PREFIX-ARG is non-nil then the newly converted file is opened
+using `org-open-file'."
+  (interactive
+   (append (org-lparse-convert-read-params) current-prefix-arg))
+  (org-lparse-do-convert in-file out-fmt prefix-arg))
+
+(defun org-odt-get (what &optional opt-plist)
+  (case what
+    (BACKEND 'odt)
+    (EXPORT-DIR (org-export-directory :html opt-plist))
+    (FILE-NAME-EXTENSION "odt")
+    (EXPORT-BUFFER-NAME "*Org ODT Export*")
+    (ENTITY-CONTROL org-odt-entity-control-callbacks-alist)
+    (ENTITY-FORMAT org-odt-entity-format-callbacks-alist)
+    (INIT-METHOD 'org-odt-init-outfile)
+    (FINAL-METHOD 'org-odt-finalize-outfile)
+    (SAVE-METHOD 'org-odt-save-as-outfile)
+    (CONVERT-METHOD
+     (and org-export-odt-convert-process
+         (cadr (assoc-string org-export-odt-convert-process
+                             org-export-odt-convert-processes t))))
+    (CONVERT-CAPABILITIES
+     (and org-export-odt-convert-process
+         (cadr (assoc-string org-export-odt-convert-process
+                             org-export-odt-convert-processes t))
+         org-export-odt-convert-capabilities))
+    (TOPLEVEL-HLEVEL 1)
+    (SPECIAL-STRING-REGEXPS org-export-odt-special-string-regexps)
+    (INLINE-IMAGES 'maybe)
+    (INLINE-IMAGE-EXTENSIONS '("png" "jpeg" "jpg" "gif" "svg"))
+    (PLAIN-TEXT-MAP '(("&" . "&amp;") ("<" . "&lt;") (">" . "&gt;")))
+    (TABLE-FIRST-COLUMN-AS-LABELS nil)
+    (FOOTNOTE-SEPARATOR (org-lparse-format 'FONTIFY "," 'superscript))
+    (CODING-SYSTEM-FOR-WRITE 'utf-8)
+    (CODING-SYSTEM-FOR-SAVE 'utf-8)
+    (t (error "Unknown property: %s"  what))))
+
+(defvar org-lparse-latex-fragment-fallback) ; set by org-do-lparse
+(defun org-export-odt-do-preprocess-latex-fragments ()
+  "Convert LaTeX fragments to images."
+  (let* ((latex-frag-opt (plist-get org-lparse-opt-plist :LaTeX-fragments))
+        (latex-frag-opt                ;  massage the options
+         (or (and (member latex-frag-opt '(mathjax t))
+                  (not (and (fboundp 'org-format-latex-mathml-available-p)
+                            (org-format-latex-mathml-available-p)))
+                  (prog1 org-lparse-latex-fragment-fallback
+                    (org-lparse-warn
+                     (concat
+                      "LaTeX to MathML converter not available. "
+                      (format "Using %S instead."
+                              org-lparse-latex-fragment-fallback)))))
+             latex-frag-opt))
+        cache-dir display-msg)
+    (cond
+     ((eq latex-frag-opt 'dvipng)
+      (setq cache-dir "ltxpng/")
+      (setq display-msg "Creating LaTeX image %s"))
+     ((member latex-frag-opt '(mathjax t))
+      (setq latex-frag-opt 'mathml)
+      (setq cache-dir "ltxmathml/")
+      (setq display-msg "Creating MathML formula %s")))
+    (when (and org-current-export-file)
+      (org-format-latex
+       (concat cache-dir (file-name-sans-extension
+                         (file-name-nondirectory org-current-export-file)))
+       org-current-export-dir nil display-msg
+       nil nil latex-frag-opt))))
+
+(defadvice org-format-latex-as-mathml
+  (after org-odt-protect-latex-fragment activate)
+  "Encode LaTeX fragment as XML.
+Do this when translation to MathML fails."
+  (when (or (not (> (length ad-return-value) 0))
+           (get-text-property 0 'org-protected ad-return-value))
+    (setq ad-return-value
+         (org-propertize (org-odt-encode-plain-text (ad-get-arg 0))
+                         'org-protected t))))
+
+(defun org-export-odt-preprocess-latex-fragments ()
+  (when (equal org-export-current-backend 'odt)
+    (org-export-odt-do-preprocess-latex-fragments)))
+
+(defun org-export-odt-preprocess-label-references ()
+  (goto-char (point-min))
+  (let (label label-components category value pretty-label)
+    (while (re-search-forward "\\\\ref{\\([^{}\n]+\\)}" nil t)
+      (org-if-unprotected-at (match-beginning 1)
+       (replace-match
+        (let ((org-lparse-encode-pending t)
+              (label (match-string 1)))
+          ;; markup generated below is mostly an eye-candy.  At
+          ;; pre-processing stage, there is no information on which
+          ;; entity a label reference points to.  The actual markup
+          ;; is generated as part of `org-odt-fixup-label-references'
+          ;; which gets called at the fag end of export.  By this
+          ;; time we would have seen and collected all the label
+          ;; definitions in `org-odt-entity-labels-alist'.
+          (org-odt-format-tags
+           '("<text:sequence-ref text:ref-name=\"%s\">" .
+             "</text:sequence-ref>")
+           "" (org-add-props label '(org-protected t)))) t t)))))
+
+;; process latex fragments as part of
+;; `org-export-preprocess-after-blockquote-hook'. Note that this hook
+;; is the one that is closest and well before the call to
+;; `org-export-attach-captions-and-attributes' in
+;; `org-export-preprocess-stirng'.  The above arrangement permits
+;; captions, labels and attributes to be attached to png images
+;; generated out of latex equations.
+(add-hook 'org-export-preprocess-after-blockquote-hook
+         'org-export-odt-preprocess-latex-fragments)
+
+(defun org-export-odt-preprocess (parameters)
+  (org-export-odt-preprocess-label-references))
+
+(declare-function archive-zip-extract "arc-mode.el" (archive name))
+(defun org-odt-zip-extract-one (archive member &optional target)
+  (require 'arc-mode)
+  (let* ((target (or target default-directory))
+        (archive (expand-file-name archive))
+        (archive-zip-extract
+         (list "unzip" "-qq" "-o" "-d" target))
+        exit-code command-output)
+    (setq command-output
+         (with-temp-buffer
+           (setq exit-code (archive-zip-extract archive member))
+           (buffer-string)))
+    (unless (zerop exit-code)
+      (message command-output)
+      (error "Extraction failed"))))
+
+(defun org-odt-zip-extract (archive members &optional target)
+  (when (atom members) (setq members (list members)))
+  (mapc (lambda (member)
+         (org-odt-zip-extract-one archive member target))
+       members))
+
+(defun org-odt-copy-styles-file (&optional styles-file)
+  ;; Non-availability of styles.xml is not a critical error. For now
+  ;; throw an error purely for aesthetic reasons.
+  (setq styles-file (or styles-file
+                       org-export-odt-styles-file
+                       (expand-file-name "OrgOdtStyles.xml"
+                                         org-odt-styles-dir)
+                       (error "org-odt: Missing styles file?")))
+  (cond
+   ((listp styles-file)
+    (let ((archive (nth 0 styles-file))
+         (members (nth 1 styles-file)))
+      (org-odt-zip-extract archive members)
+      (mapc
+       (lambda (member)
+        (when (org-file-image-p member)
+          (let* ((image-type (file-name-extension member))
+                 (media-type (format "image/%s" image-type)))
+            (org-odt-create-manifest-file-entry media-type member))))
+       members)))
+   ((and (stringp styles-file) (file-exists-p styles-file))
+    (let ((styles-file-type (file-name-extension styles-file)))
+      (cond
+       ((string= styles-file-type "xml")
+       (copy-file styles-file "styles.xml" t))
+       ((member styles-file-type '("odt" "ott"))
+       (org-odt-zip-extract styles-file "styles.xml")))))
+   (t
+    (error (format "Invalid specification of styles.xml file: %S"
+                  org-export-odt-styles-file))))
+
+  ;; create a manifest entry for styles.xml
+  (org-odt-create-manifest-file-entry "text/xml" "styles.xml"))
+
+(defvar org-export-odt-factory-settings
+  "d4328fb9d1b6cb211d4320ff546829f26700dc5e"
+  "SHA1 hash of OrgOdtStyles.xml.")
+
+(defun org-odt-configure-outline-numbering (level)
+  "Outline numbering is retained only upto LEVEL.
+To disable outline numbering pass a LEVEL of 0."
+  (goto-char (point-min))
+  (let ((regex
+        "<text:outline-level-style\\([^>]*\\)text:level=\"\\([^\"]*\\)\"\\([^>]*\\)>")
+       (replacement
+        "<text:outline-level-style\\1text:level=\"\\2\" style:num-format=\"\">"))
+    (while (re-search-forward regex nil t)
+      (when (> (string-to-number (match-string 2)) level)
+       (replace-match replacement t nil))))
+  (save-buffer 0))
+
+;;;###autoload
+(defun org-export-as-odf (latex-frag &optional odf-file)
+  "Export LATEX-FRAG as OpenDocument formula file ODF-FILE.
+Use `org-create-math-formula' to convert LATEX-FRAG first to
+MathML.  When invoked as an interactive command, use
+`org-latex-regexps' to infer LATEX-FRAG from currently active
+region.  If no LaTeX fragments are found, prompt for it.  Push
+MathML source to kill ring, if `org-export-copy-to-kill-ring' is
+non-nil."
+  (interactive
+   `(,(let (frag)
+       (setq frag (and (setq frag (and (region-active-p)
+                                       (buffer-substring (region-beginning)
+                                                         (region-end))))
+                       (loop for e in org-latex-regexps
+                             thereis (when (string-match (nth 1 e) frag)
+                                       (match-string (nth 2 e) frag)))))
+       (read-string "LaTeX Fragment: " frag nil frag))
+     ,(let ((odf-filename (expand-file-name
+                          (concat
+                           (file-name-sans-extension
+                            (or (file-name-nondirectory buffer-file-name)))
+                           "." "odf")
+                          (file-name-directory buffer-file-name))))
+       (message "default val is %s"  odf-filename)
+       (read-file-name "ODF filename: " nil odf-filename nil
+                       (file-name-nondirectory odf-filename)))))
+  (let* ((org-lparse-backend 'odf)
+        org-lparse-opt-plist
+        (filename (or odf-file
+                      (expand-file-name
+                       (concat
+                        (file-name-sans-extension
+                         (or (file-name-nondirectory buffer-file-name)))
+                        "." "odf")
+                       (file-name-directory buffer-file-name))))
+        (buffer (find-file-noselect (org-odt-init-outfile filename)))
+        (coding-system-for-write 'utf-8)
+        (save-buffer-coding-system 'utf-8))
+    (set-buffer buffer)
+    (set-buffer-file-coding-system coding-system-for-write)
+    (let ((mathml (org-create-math-formula latex-frag)))
+      (unless mathml (error "No Math formula created"))
+      (insert mathml)
+      (or (org-export-push-to-kill-ring
+          (upcase (symbol-name org-lparse-backend)))
+         (message "Exporting... done")))
+    (org-odt-save-as-outfile filename nil)))
+
+;;;###autoload
+(defun org-export-as-odf-and-open ()
+ "Export LaTeX fragment as OpenDocument formula and immediately open it.
+Use `org-export-as-odf' to read LaTeX fragment and OpenDocument
+formula file."
+  (interactive)
+  (org-lparse-and-open
+   nil nil nil (call-interactively 'org-export-as-odf)))
+
+(provide 'org-odt)
+
+;;; org-odt.el ends here
index cede736d92908788d7847731c0d1924647d7351a..0ca8777878cd84cdd70f579d17eacd78005d3a74 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-pcomplete.el --- In-buffer completion code
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;;         John Wiegley <johnw at gnu dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -147,7 +146,7 @@ When completing for #+STARTUP, for example, this function returns
                            (org-split-string (org-get-current-options) "\n"))
                    org-additional-option-like-keywords)))))
    (substring pcomplete-stub 2)))
-  
+
 (defvar org-startup-options)
 (defun pcomplete/org-mode/file-option/startup ()
   "Complete arguments for the #+STARTUP file option."
@@ -276,6 +275,4 @@ Complete a language in the first field, the header arguments and switches."
 
 (provide 'org-pcomplete)
 
-
-
 ;;; org-pcomplete.el ends here
index 419467226c93483c8b387ac9e8d973929a3e0fe7..f44694fa781b7de23441252e5bb527ec5230cd68 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-plot.el --- Support for plotting from Org-mode
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Eric Schulte <schulte dot eric at gmail dot com>
 ;; Keywords: tables, plotting
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -136,7 +135,7 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
   "Export the data in TABLE to DATA-FILE for gnuplot.
 This means in a format appropriate for grid plotting by gnuplot.
 PARAMS specifies which columns of TABLE should be plotted as independent
-and dependent variables."
+and dependant variables."
   (interactive)
   (let* ((ind (- (plist-get params :ind) 1))
         (deps (if (plist-member params :deps)
@@ -350,5 +349,4 @@ line directly before or after the table."
 
 (provide 'org-plot)
 
-
 ;;; org-plot.el ends here
index ca7bfe2a4d04fbf773fdbe55d4940a3421c1faf6..ccdbc314a5382ede5fc55333153bc49be6722620 100644 (file)
@@ -1,14 +1,14 @@
 ;;; org-protocol.el --- Intercept calls from emacsclient to trigger custom actions.
 ;;
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012
+;;          Free Software Foundation, Inc.
 ;;
-;; Author: Bastien Guerry <bzg AT altern DOT org>
+;; Author: Bastien Guerry <bzg AT gnu DOT org>
 ;; Author: Daniel M German <dmg AT uvic DOT org>
 ;; Author: Sebastian Rose <sebastian_rose AT gmx DOT de>
 ;; Author: Ross Patterson <me AT rpatterson DOT net>
 ;; Maintainer: Sebastian Rose <sebastian_rose AT gmx DOT de>
 ;; Keywords: org, emacsclient, wp
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 ;;
 (defgroup org-protocol nil
   "Intercept calls from emacsclient to trigger custom actions.
 
-This is done by advising `server-visit-files' to scan the list of filenames
-for `org-protocol-the-protocol' and sub-protocols defined in
+This is done by advising `server-visit-files' to scann the list of filenames
+for `org-protocol-the-protocol' and sub-procols defined in
 `org-protocol-protocol-alist' and `org-protocol-protocol-alist-default'."
   :version "22.1"
   :group 'convenience
@@ -546,8 +546,8 @@ as filename."
               (when (string-match proto fname)
                 (let* ((func (plist-get (cdr prolist) :function))
                        (greedy (plist-get (cdr prolist) :greedy))
-                       (splitted (split-string fname proto))
-                       (result (if greedy restoffiles (cadr splitted))))
+                       (split (split-string fname proto))
+                       (result (if greedy restoffiles (cadr split))))
                   (when (plist-get (cdr prolist) :kill-client)
                    (message "Greedy org-protocol handler. Killing client.")
                    (server-edit))
@@ -644,5 +644,4 @@ project-plist is the CDR of an element in `org-publish-project-alist', reuse
 
 (provide 'org-protocol)
 
-
 ;;; org-protocol.el ends here
index 7a0d7b56e22c378d10e8a5b14008fba87582fe1e..dc794dd92c5fb0dbdce19e93144d1fdeed766f72 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-publish.el --- publish related org-mode files as a website
-;; Copyright (C) 2006-201 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: David O'Toole <dto@gnu.org>
 ;; Maintainer: Carsten Dominik <carsten DOT dominik AT gmail DOT com>
 ;; Keywords: hypermedia, outlines, wp
-;; Version: 7.7
 
 ;; This file is part of GNU Emacs.
 ;;
@@ -191,7 +190,7 @@ sitemap of files or summary page for a given project.
                            display folders first or last, respectively.
                            Any other value will mix files and folders.
   :sitemap-sort-files      The site map is normally sorted alphabetically.
-                           You can change this behavior setting this to
+                           You can change this behaviour setting this to
                            `chronologically', `anti-chronologically' or nil.
   :sitemap-ignore-case     Should sorting be case-sensitive?  Default nil.
 
@@ -278,12 +277,12 @@ in the sitemap."
   :type 'string)
 
 (defcustom org-publish-sitemap-file-entry-format "%t"
-  "How a sitemap file entry is formatted.
+  "How a sitemap file entry is formated.
 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 formatted using `org-publish-sitemap-date-format'."
+%d is the date formated using `org-publish-sitemap-date-format'."
   :group 'org-publish
   :type 'string)
 
@@ -369,6 +368,8 @@ This is a compatibility function for Emacsen without `delete-dups'."
 
 (declare-function org-publish-delete-dups "org-publish" (list))
 (declare-function find-lisp-find-files "find-lisp" (directory regexp))
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Getting project information out of org-publish-project-alist
@@ -559,7 +560,7 @@ PUB-DIR is the publishing directory."
     (make-directory pub-dir t))
   (let ((visiting (find-buffer-visiting filename)))
     (save-excursion
-      (switch-to-buffer (or visiting (find-file filename)))
+      (org-pop-to-buffer-same-window (or visiting (find-file filename)))
       (let* ((plist (cons :buffer-will-be-killed (cons t plist)))
             (init-buf (current-buffer))
             (init-point (point))
@@ -599,6 +600,7 @@ PUB-DIR is the publishing directory."
                   org-export-preprocess-after-headline-targets-hook)
           org-export-preprocess-after-headline-targets-hook)))
      ,@body))
+(def-edebug-spec org-publish-with-aux-preprocess-maybe (body))
 
 (defvar project-plist)
 (defun org-publish-org-to-latex (plist filename pub-dir)
@@ -682,7 +684,7 @@ See `org-publish-projects'."
         (pub-dir
          (file-name-as-directory
           (file-truename
-           (or (plist-get project-plist :publishing-directory)
+           (or (eval (plist-get project-plist :publishing-directory))
                (error "Project %s does not have :publishing-directory defined"
                       (car project))))))
         tmp-pub-dir)
@@ -860,7 +862,7 @@ system's modification time.
 It returns time in `current-time' format."
   (let ((visiting (find-buffer-visiting file)))
     (save-excursion
-      (switch-to-buffer (or visiting (find-file-noselect file nil t)))
+      (org-pop-to-buffer-same-window (or visiting (find-file-noselect file nil t)))
       (let* ((plist (org-infile-export-plist))
             (date (plist-get plist :date)))
        (unless visiting
@@ -982,7 +984,9 @@ the project."
         main last-main letter last-letter file sub link tgext)
     ;; `files' contains the list of relative file names
     (dolist (file files)
-      (setq origfile (substring file 1 -1))
+      (setq origfile
+           (concat (file-name-directory file)
+                   (substring (file-name-nondirectory file) 1 -1)))
       (setq buf (find-file-noselect file))
       (with-current-buffer buf
        (goto-char (point-min))
@@ -993,7 +997,7 @@ the project."
       (kill-buffer buf))
     (setq index (sort index (lambda (a b) (string< (downcase (car a))
                                                   (downcase (car b))))))
-    (setq ibuffer (find-file-noselect (expand-file-name "theindex.org" directory)))
+    (setq ibuffer (find-file-noselect (expand-file-name "theindex.inc" directory)))
     (with-current-buffer ibuffer
       (erase-buffer)
       (insert "* Index\n")
@@ -1020,7 +1024,16 @@ the project."
            (insert "     - " link "\n")
          (insert "   - " link "\n")))
       (save-buffer))
-    (kill-buffer ibuffer)))
+    (kill-buffer ibuffer)
+    ;; Create theindex.org if it doesn't exist already
+    (let ((index-file (expand-file-name "theindex.org" directory)))
+      (unless (file-exists-p index-file)
+       (setq ibuffer (find-file-noselect index-file))
+       (with-current-buffer ibuffer
+         (erase-buffer)
+         (insert "\n\n#+include: \"theindex.inc\"\n\n")
+         (save-buffer))
+       (kill-buffer ibuffer)))))
 
 ;; Caching functions:
 
@@ -1103,7 +1116,7 @@ so that the file including them will be republished as well."
       (setq buf (find-file (expand-file-name filename)))
       (with-current-buffer buf
        (goto-char (point-min))
-       (while (re-search-forward "^#\\+INCLUDE:[ \t]+\"?\\([^ \t\"]*\\)\"?[ \t]*.*$" nil t)
+       (while (re-search-forward "^#\\+INCLUDE:[ \t]+\"?\\([^ \t\n\r\"]*\\)\"?[ \t]*.*$" nil t)
          (let* ((included-file (expand-file-name (match-string 1))))
            (add-to-list 'included-files-ctime
                         (org-publish-cache-ctime-of-src included-file) t))))
@@ -1180,6 +1193,4 @@ Returns value on success, else nil."
 
 (provide 'org-publish)
 
-
-
 ;;; org-publish.el ends here
index 8819f416f1d0fb2c8b8f5f0df990796bd71f4a45..65e92bab016597fbe2083f6f85a6a3544b2d2384 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-remember.el --- Fast note taking in Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -40,6 +39,8 @@
 (declare-function remember "remember" (&optional initial))
 (declare-function remember-buffer-desc "remember" ())
 (declare-function remember-finalize "remember" ())
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 (defvar remember-save-after-remembering)
 (defvar remember-register)
@@ -63,7 +64,7 @@ and `org-remember-default-headline'.  To force prompting anyway, use
 \\[universal-argument] \\[org-remember-finalize] to file the note.
 
 When this variable is nil, \\[org-remember-finalize] gives you the prompts, and
-\\[universal-argument] \\[org-remember-finalize] triggers the fast track."
+\\[universal-argument] \\[org-remember-finalize] triggers the fasttrack."
   :group 'org-remember
   :type 'boolean)
 
@@ -786,7 +787,7 @@ The user is queried for the template."
       (setq heading org-remember-default-headline))
     (setq visiting (org-find-base-buffer-visiting file))
     (if (not visiting) (find-file-noselect file))
-    (switch-to-buffer (or visiting (get-file-buffer file)))
+    (org-pop-to-buffer-same-window (or visiting (get-file-buffer file)))
     (widen)
     (goto-char (point-min))
     (if (re-search-forward
@@ -942,7 +943,7 @@ See also the variable `org-reverse-note-order'."
        (throw 'quit t))
       ;; Find the file
       (with-current-buffer (or visiting (find-file-noselect file))
-       (unless (or (org-mode-p) (member heading '(top bottom)))
+       (unless (or (eq major-mode 'org-mode) (member heading '(top bottom)))
          (error "Target files for notes must be in Org-mode if not filing to top/bottom"))
        (save-excursion
          (save-restriction
@@ -952,7 +953,7 @@ See also the variable `org-reverse-note-order'."
            ;; Find the default location
            (when heading
              (cond
-              ((not (org-mode-p))
+              ((not (eq major-mode 'org-mode))
                (if (eq heading 'top)
                    (goto-char (point-min))
                  (goto-char (point-max))
@@ -1013,7 +1014,7 @@ See also the variable `org-reverse-note-order'."
                                        ; not handle this note
            (and visitp (run-with-idle-timer 0.01 nil 'org-remember-visit-immediately))
            (goto-char spos)
-           (cond ((org-on-heading-p t)
+           (cond ((org-at-heading-p t)
                   (org-back-to-heading t)
                   (setq level (funcall outline-level))
                   (cond
@@ -1122,7 +1123,7 @@ See also the variable `org-reverse-note-order'."
   (condition-case nil
       (require 'remember)
     (error
-     ;; Let's install our own micro version of remember
+     ;; Lets install our own micro version of remember
      (defvar remember-register ?R)
      (defvar remember-mode-hook nil)
      (defvar remember-handler-functions nil)
@@ -1150,6 +1151,4 @@ See also the variable `org-reverse-note-order'."
 
 (provide 'org-remember)
 
-
-
 ;;; org-remember.el ends here
index 1169c20698148929eb564e347a6822018e22cbbc..3146ff32758d36f00632d11719a3a0277e983766 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-rmail.el --- Support for links to Rmail messages from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 
 (provide 'org-rmail)
 
-
-
 ;;; org-rmail.el ends here
index c09b27de895381e02439be6e2d5f1780e3db6b18..fc882a333967d445eccb636c8b9e6d6cff11c42d 100644 (file)
@@ -1,6 +1,4 @@
-;;; org-special-blocks.el --- Turn blocks into LaTeX envs and HTML divs
-
-;; Copyright (C) 2009, 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 ;; Author: Chris Gray <chrismgray@gmail.com>
 
 ;; user to add this class to his or her stylesheet if this div is to
 ;; mean anything.
 
+(require 'org-html)
 (require 'org-compat)
 
+(declare-function org-open-par "org-html" ())
+(declare-function org-close-par-maybe "org-html" ())
+
 (defvar org-special-blocks-ignore-regexp "^\\(LaTeX\\|HTML\\)$"
   "A regexp indicating the names of blocks that should be ignored
 by org-special-blocks.  These blocks will presumably be
@@ -49,7 +51,7 @@ interpreted by other mechanisms.")
 (defun org-special-blocks-make-special-cookies ()
   "Adds special cookies when #+begin_foo and #+end_foo tokens are
 seen.  This is run after a few special cases are taken care of."
-  (when (or (eq org-export-current-backend 'html) 
+  (when (or (eq org-export-current-backend 'html)
            (eq org-export-current-backend 'latex))
     (goto-char (point-min))
     (while (re-search-forward "^[ \t]*#\\+\\(begin\\|end\\)_\\(.*\\)$" nil t)
@@ -82,11 +84,15 @@ seen.  This is run after a few special cases are taken care of."
   "Converts the special cookies into div blocks."
   ;; Uses the dynamically-bound variable `line'.
   (when (string-match "^ORG-\\(.*\\)-\\(START\\|END\\)$" line)
-;    (org-close-par-maybe)
     (message "%s" (match-string 1))
-    (if (equal (match-string 2 line) "START")
-       (insert "<div class=\"" (match-string 1 line) "\">\n")
-      (insert "</div>\n"))
+    (when (equal (match-string 2 line) "START")
+      (org-close-par-maybe)
+      (insert "\n<div class=\"" (match-string 1 line) "\">")
+      (org-open-par))
+    (when (equal (match-string 2 line) "END")
+      (org-close-par-maybe)
+      (insert "\n</div>")
+      (org-open-par))
     (throw 'nextline nil)))
 
 (add-hook 'org-export-html-after-blockquotes-hook
index 5de55fa455fe61a086547ea0cc4526b6965b19c9..ac574ed4dd270d4ba695109dcc0a89e8db87ce1f 100644 (file)
@@ -1,13 +1,12 @@
 ;;; org-src.el --- Source code examples in Org
 ;;
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
-;;        Bastien Guerry <bzg AT altern DOT org>
+;;        Bastien Guerry <bzg AT gnu DOT org>
 ;;         Dan Davison <davison at stats dot ox dot ac dot uk>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -42,6 +41,8 @@
 (declare-function org-at-table.el-p "org" ())
 (declare-function org-get-indentation "org" (&optional line))
 (declare-function org-switch-to-buffer-other-window "org" (&rest args))
+(declare-function org-pop-to-buffer-same-window
+                 "org-compat" (&optional buffer-or-name norecord label))
 
 (defcustom org-edit-src-region-extra nil
   "Additional regexps to identify regions for editing with `org-edit-src-code'.
@@ -152,7 +153,7 @@ but which mess up the display of a snippet in Org exported files.")
 (defcustom org-src-lang-modes
   '(("ocaml" . tuareg) ("elisp" . emacs-lisp) ("ditaa" . artist)
     ("asymptote" . asy) ("dot" . fundamental) ("sqlite" . sql)
-    ("calc" . fundamental) ("C" . c))
+    ("calc" . fundamental) ("C" . c) ("cpp" . c++))
   "Alist mapping languages to their major mode.
 The key is the language name, the value is the string that should
 be inserted as the name of the major mode.  For many languages this is
@@ -214,7 +215,7 @@ buffer."
        (case-fold-search t)
        (info (org-edit-src-find-region-and-lang))
        (full-info (org-babel-get-src-block-info))
-       (org-mode-p (or (org-mode-p) (derived-mode-p 'org-mode)))
+       (org-mode-p (derived-mode-p 'org-mode)) ;; derived-mode-p is reflexive
        (beg (make-marker))
        (end (make-marker))
        (allow-write-back-p (null code))
@@ -305,7 +306,7 @@ buffer."
             (error "Language mode `%s' fails with: %S" lang-f (nth 1 e)))))
        (dolist (pair transmitted-variables)
          (org-set-local (car pair) (cadr pair)))
-       (when org-mode-p
+       (when (eq major-mode 'org-mode)
          (goto-char (point-min))
          (while (re-search-forward "^," nil t)
            (if (eq (org-current-line) line) (setq total-nindent (1+ total-nindent)))
@@ -339,7 +340,7 @@ buffer."
 (defun org-src-switch-to-buffer (buffer context)
   (case org-src-window-setup
     ('current-window
-     (switch-to-buffer buffer))
+     (org-pop-to-buffer-same-window buffer))
     ('other-window
      (switch-to-buffer-other-window buffer))
     ('other-frame
@@ -350,7 +351,7 @@ buffer."
          (delete-frame frame)))
        ('save
        (kill-buffer (current-buffer))
-       (switch-to-buffer buffer))
+       (org-pop-to-buffer-same-window buffer))
        (t
        (switch-to-buffer-other-frame buffer))))
     ('reorganize-frame
@@ -362,7 +363,7 @@ buffer."
     (t
      (message "Invalid value %s for org-src-window-setup"
              (symbol-name org-src-window-setup))
-     (switch-to-buffer buffer))))
+     (org-pop-to-buffer-same-window buffer))))
 
 (defun org-src-construct-edit-buffer-name (org-buffer-name lang)
   "Construct the buffer name for a source editing buffer."
@@ -397,7 +398,7 @@ the fragment in the Org-mode buffer."
        (case-fold-search t)
        (msg (substitute-command-keys
              "Edit, then exit with C-c ' (C-c and single quote)"))
-       (org-mode-p (org-mode-p))
+       (org-mode-p (eq major-mode 'org-mode))
        (beg (make-marker))
        (end (make-marker))
        (preserve-indentation org-src-preserve-indentation)
@@ -422,7 +423,7 @@ the fragment in the Org-mode buffer."
            begline (save-excursion (goto-char beg) (org-current-line)))
       (if (and (setq buffer (org-edit-src-find-buffer beg end))
               (y-or-n-p "Return to existing edit buffer? [n] will revert changes: "))
-         (switch-to-buffer buffer)
+         (org-pop-to-buffer-same-window buffer)
        (when buffer
          (with-current-buffer buffer
            (if (boundp 'org-edit-src-overlay)
@@ -442,7 +443,7 @@ the fragment in the Org-mode buffer."
                           (define-key map [mouse-1] 'org-edit-src-continue)
                           map))
        (overlay-put ovl :read-only "Leave me alone")
-       (switch-to-buffer buffer)
+       (org-pop-to-buffer-same-window buffer)
        (insert code)
        (remove-text-properties (point-min) (point-max)
                                '(display nil invisible nil intangible nil))
@@ -616,7 +617,7 @@ the language, a switch telling if the content should be in a single line."
       (when (org-bound-and-true-p org-edit-src-from-org-mode)
        (goto-char (point-min))
        (while (re-search-forward
-               (if (org-mode-p) "^\\(.\\)" "^\\([*]\\|[ \t]*#\\+\\)") nil t)
+               (if (eq major-mode 'org-mode) "^\\(.\\)" "^\\([*]\\|[ \t]*#\\+\\)") nil t)
          (if (eq (org-current-line) line) (setq delta (1+ delta)))
          (replace-match ",\\1")))
       (when (org-bound-and-true-p org-edit-src-picture)
@@ -715,6 +716,7 @@ the language, a switch telling if the content should be in a single line."
         (with-current-buffer (marker-buffer beg-marker)
           (goto-char (marker-position beg-marker))
           ,@body))))
+(def-edebug-spec org-src-do-at-code-block (body))
 
 (defun org-src-do-key-sequence-at-code-block (&optional key)
   "Execute key sequence at code block in the source Org buffer.
@@ -811,5 +813,4 @@ LANG is a string, and the returned major mode is a symbol."
 
 (provide 'org-src)
 
-
 ;;; org-src.el ends here
index 76e4eae4b45b7cc3751f98563cf74869789c2ec2..df93a9a72714267e6a54aa67e2c85de89284c50a 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-table.el --- The table editor for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -51,7 +50,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, otherwise, if table is not sent, the functions
+to the receiver position, othewise, if table is not sent, the functions
 are not run.")
 
 (defcustom orgtbl-optimized (eq org-enable-table-editor 'optimized)
@@ -242,6 +241,14 @@ days."
                 (symbol :tag "Hours  " 'hours)
                 (symbol :tag "Days   " 'days)))
 
+(defcustom org-table-formula-field-format "%s"
+  "Format for fields which contain the result of a formula.
+For example, using \"~%s~\" will display the result within tilde
+characters.  Beware that modifying the display can prevent the
+field from being used in another formula."
+  :group 'org-table-settings
+  :type 'string)
+
 (defcustom org-table-formula-evaluate-inline t
   "Non-nil means TAB and RET evaluate a formula in current table field.
 If the current field starts with an equal sign, it is assumed to be a formula
@@ -816,23 +823,13 @@ When nil, simply write \"#ERROR\" in corrupted fields.")
                              (append (pop fields) emptystrings))
                   hfmt))
               lines ""))
-    (if (equal (char-before) ?\n)
-       ;; This hack is for org-indent, to force redisplay of the
-       ;; line prefix of the first line. Apparently the redisplay
-       ;; is tied to the newline, which is, I think, a bug.
-       ;; To force this redisplay, we remove and re-insert the
-       ;; newline, so that the redisplay engine thinks it belongs
-       ;; to the changed text.
-       (progn
-         (backward-delete-char 1)
-         (insert "\n")))
     (move-marker org-table-aligned-begin-marker (point))
     (insert new)
     ;; Replace the old one
     (delete-region (point) end)
     (move-marker end nil)
     (move-marker org-table-aligned-end-marker (point))
-    (when (and orgtbl-mode (not (org-mode-p)))
+    (when (and orgtbl-mode (not (eq major-mode 'org-mode)))
       (goto-char org-table-aligned-begin-marker)
       (while (org-hide-wide-columns org-table-aligned-end-marker)))
     ;; Try to move to the old location
@@ -1302,7 +1299,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 matching dline (most likely the reference was a hline), the
+If there is no matchin dline (most likely te refrence 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))
@@ -1729,6 +1726,34 @@ blindly applies a recipe that works for simple tables."
            (replace-match "-+"))
          (goto-char beg)))))
 
+(defun org-table-transpose-table-at-point ()
+  "Transpose orgmode table at point and eliminate hlines.
+So a table like
+
+| 1 | 2 | 4 | 5 |
+|---+---+---+---|
+| a | b | c | d |
+| e | f | g | h |
+
+will be transposed as
+
+| 1 | a | e |
+| 2 | b | f |
+| 4 | c | g |
+| 5 | d | h |
+
+Note that horizontal lines disappeared."
+  (interactive)
+  (let ((contents
+         (apply #'mapcar* #'list
+                ;; remove 'hline from list
+               (delq nil (mapcar (lambda (x) (when (listp x) x))
+                                 (org-table-to-lisp))))))
+    (delete-region (org-table-begin) (org-table-end))
+    (insert (mapconcat (lambda(x) (concat "| " (mapconcat 'identity x " | " ) "  |\n" ))
+                       contents ""))
+    (org-table-align)))
+
 (defun org-table-wrap-region (arg)
   "Wrap several fields in a column like a paragraph.
 This is useful if you'd like to spread the contents of a field over several
@@ -2147,7 +2172,10 @@ For all numbers larger than LIMIT, shift them by DELTA."
        (when remove
          (while (re-search-forward re2 (point-at-eol) t)
            (unless (save-match-data (org-in-regexp "remote([^)]+?)"))
-             (replace-match ""))))
+             (if (equal (char-before (match-beginning 0)) ?.)
+                 (error "Change makes TBLFM term %s invalid.  Use undo to recover."
+                        (match-string 0))
+               (replace-match "")))))
        (while (re-search-forward re (point-at-eol) t)
          (unless (save-match-data (org-in-regexp "remote([^)]+?)"))
            (setq s (match-string 1) n (string-to-number s))
@@ -2177,7 +2205,7 @@ For all numbers larger than LIMIT, shift them by DELTA."
              cnt 1)
        (while (setq name (pop names))
          (setq cnt (1+ cnt))
-         (if (string-match "^[a-zA-Z][a-zA-Z0-9]*$" name)
+         (if (string-match "^[a-zA-Z][_a-zA-Z0-9]*$" name)
              (push (cons name (int-to-string cnt)) org-table-column-names))))
       (setq org-table-column-names (nreverse org-table-column-names))
       (setq org-table-column-name-regexp
@@ -2201,10 +2229,10 @@ For all numbers larger than LIMIT, shift them by DELTA."
        (while (and fields1 (setq field (pop fields)))
          (setq v (pop fields1) col (1+ col))
          (when (and (stringp field) (stringp v)
-                    (string-match "^[a-zA-Z][a-zA-Z0-9]*$" field))
+                    (string-match "^[a-zA-Z][_a-zA-Z0-9]*$" field))
              (push (cons field v) org-table-local-parameters)
              (push (list field line col) org-table-named-field-locations))))
-      ;; Analyze the line types
+      ;; Analyse the line types
       (goto-char beg)
       (setq org-table-current-begin-line (org-current-line)
            org-table-current-begin-pos (point)
@@ -2408,7 +2436,8 @@ not overwrite the stored one."
           (modes (copy-sequence org-calc-default-modes))
           (numbers nil) ; was a variable, now fixed default
           (keep-empty nil)
-          n form form0 formrpl formrg bw fmt x ev orig c lispp literal duration)
+          n form form0 formrpl formrg bw fmt x ev orig c lispp literal
+          duration duration-output-format)
       ;; Parse the format string.  Since we have a lot of modes, this is
       ;; a lot of work.  However, I think calc still uses most of the time.
       (if (string-match ";" formula)
@@ -2579,7 +2608,8 @@ $1->    %s\n" orig formula form0 form))
            (message "")))
        (if (listp ev) (setq fmt nil ev "#ERROR"))
        (org-table-justify-field-maybe
-        (if fmt (format fmt (string-to-number ev)) ev))
+        (format org-table-formula-field-format
+                (if fmt (format fmt (string-to-number ev)) ev)))
        (if (and down (> ndown 0) (looking-at ".*\n[ \t]*|[^-]"))
            (call-interactively 'org-return)
          (setq ndown 0)))
@@ -2641,7 +2671,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 rectangle
+       ;; First sort the numbers to get a regular ractangle
        (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 +2931,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 maximum number of iterations is 10, but you can chose a different value
+The maximun 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))
@@ -2962,7 +2992,7 @@ them to individual field equations for each field."
        ((string-match "^@-?[-+I0-9]+\\$-?[0-9]+$" lhs)
        ;; This just refers to one fixed field
        (push e res))
-       ((string-match "^[a-zA-Z][a-zA-Z0-9]*$" lhs)
+       ((string-match "^[a-zA-Z][_a-zA-Z0-9]*$" lhs)
        ;; This just refers to one fixed named field
        (push e res))
        ((string-match "^@[0-9]+$" lhs)
@@ -2989,24 +3019,28 @@ them to individual field equations for each field."
 So @< and $< will always be replaced with @1 and $1, respectively.
 The advantage of these special markers are that structure editing of
 the table will not change them, while @1 and $1 will be modified
-when a line/row is swaped out of that privileged position.  So for
+when a line/row is swapped out of that privileged position.  So for
 formulas that use a range of rows or columns, it may often be better
 to anchor the formula with \"I\" row markers, or to offset from the
 borders of the table using the @< @> $< $> makers."
-  (let (n nmax len char)
-    (while (string-match "\\([@$]\\)\\(<+\\|>+\\)" s)
-      (setq nmax (if (equal (match-string 1 s) "@")
-                    (1- (length org-table-dlines))
-                  org-table-current-ncol)
-           len (- (match-end 2) (match-beginning 2))
-           char (string-to-char (match-string 2 s))
-           n (if (= char ?<)
-                 len
-               (- nmax len -1)))
-      (if (or (< n 1) (> n nmax))
-         (error "Reference \"%s\" in expression \"%s\" points outside table"
-                (match-string 0 s) s))
-      (setq s (replace-match (format "%s%d" (match-string 1 s) n) t t s))))
+  (let (n nmax len char (start 0))
+    (while (string-match "\\([@$]\\)\\(<+\\|>+\\)\\|\\(remote([^\)]+)\\)"
+                        s start)
+      (if (match-end 3)
+         (setq start (match-end 3))
+       (setq nmax (if (equal (match-string 1 s) "@")
+                      (1- (length org-table-dlines))
+                    org-table-current-ncol)
+             len (- (match-end 2) (match-beginning 2))
+             char (string-to-char (match-string 2 s))
+             n (if (= char ?<)
+                   len
+                 (- nmax len -1)))
+       (if (or (< n 1) (> n nmax))
+           (error "Reference \"%s\" in expression \"%s\" points outside table"
+                  (match-string 0 s) s))
+       (setq start (match-beginning 0))
+       (setq s (replace-match (format "%s%d" (match-string 1 s) n) t t s)))))
   s)
 
 (defun org-table-formula-substitute-names (f)
@@ -3241,7 +3275,7 @@ For example:  28 -> AB."
   "Convert a time string into numerical duration in seconds.
 S can be a string matching either -?HH:MM:SS or -?HH:MM.
 If S is a string representing a number, keep this number."
-  (let (hour min sec res)
+  (let (hour minus min sec res)
     (cond
      ((and (string-match "\\(-?\\)\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\)" s))
       (setq minus (< 0 (length (match-string 1 s)))
@@ -3806,7 +3840,7 @@ Use COMMAND to do the motion, repeat if necessary to end up in a data line."
   :lighter " OrgTbl" :keymap orgtbl-mode-map
   (org-load-modules-maybe)
   (cond
-   ((org-mode-p)
+   ((eq major-mode 'org-mode)
     ;; Exit without error, in case some hook functions calls this
     ;; by accident in org-mode.
     (message "Orgtbl-mode is not useful in org-mode, command ignored"))
@@ -3901,6 +3935,7 @@ to execute outside of tables."
           ("\C-c\C-w"           org-table-cut-region)
           ("\C-c\M-w"           org-table-copy-region)
           ("\C-c\C-y"           org-table-paste-rectangle)
+          ("\C-c\C-w"           org-table-wrap-region)
           ("\C-c-"              org-table-insert-hline)
           ("\C-c}"              org-table-toggle-coordinate-overlays)
           ("\C-c{"              org-table-toggle-formula-debugger)
@@ -4675,6 +4710,8 @@ The return value is either a single string for a single field, or a
 list of the fields in the rectangle ."
   (save-match-data
     (let ((id-loc nil)
+         ;; Protect a bunch of variables from being overwritten
+         ;; by the context of the remote table
          org-table-column-names org-table-column-name-regexp
          org-table-local-parameters org-table-named-field-locations
          org-table-current-line-types org-table-current-begin-line
@@ -4711,7 +4748,8 @@ list of the fields in the rectangle ."
                  (error "Cannot find a table at NAME or ID %s" name-or-id))
                (setq tbeg (point-at-bol))
                (org-table-get-specials)
-               (setq form (org-table-formula-substitute-names form))
+               (setq form (org-table-formula-substitute-names
+                           (org-table-formula-handle-first/last-rc form)))
                (if (and (string-match org-table-range-regexp form)
                         (> (length (match-string 0 form)) 1))
                    (save-match-data
@@ -4720,6 +4758,4 @@ list of the fields in the rectangle ."
 
 (provide 'org-table)
 
-
-
 ;;; org-table.el ends here
index 45b16aecf1232832b7d47c5408703c7c5e1758a0..68f64974ff304e6d98fffe1bc2de6ad7cf44f5bd 100644 (file)
@@ -1,10 +1,9 @@
 ;;; org-taskjuggler.el --- TaskJuggler exporter for org-mode
 ;;
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 ;;
 ;; Emacs Lisp Archive Entry
 ;; Filename: org-taskjuggler.el
-;; Version: 7.7
 ;; Author: Christian Egli
 ;; Maintainer: Christian Egli
 ;; Keywords: org, taskjuggler, project planning
@@ -70,7 +69,7 @@
 ;; "taskjuggler_project" (or whatever you customized
 ;; `org-export-taskjuggler-project-tag' to). You are now ready to
 ;; export the project plan with `org-export-as-taskjuggler-and-open'
-;; which will export the project plan and open a Gantt chart in
+;; which will export the project plan and open a gant chart in
 ;; TaskJugglerUI.
 ;;
 ;; * Resources
@@ -278,6 +277,7 @@ defined in `org-export-taskjuggler-default-reports'."
                      (file-name-nondirectory buffer-file-name))
                     org-export-taskjuggler-extension)))
         (buffer (find-file-noselect filename))
+        (old-buffer (current-buffer))
         (org-export-taskjuggler-old-level 0)
         task resource)
     (unless tasks
@@ -305,6 +305,7 @@ defined in `org-export-taskjuggler-default-reports'."
        (setcar tasks (push (cons "version" version) task))))
     (with-current-buffer buffer
       (erase-buffer)
+      (org-clone-local-variables old-buffer "^org-")
       (org-taskjuggler-open-project (car tasks))
       (insert org-export-taskjuggler-default-global-properties)
       (insert "\n")
@@ -571,7 +572,7 @@ with separator \"\n\"."
     (and filtered-items (mapconcat 'identity filtered-items "\n"))))
 
 (defun org-taskjuggler-get-attributes (item attributes)
-  "Return all attributes as a single formatted string. ITEM is an
+  "Return all attribute as a single formated 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."
index b8fbc4ff3886c55913e86d274d31ef8f4ec70b8c..44a53ad0f15311bb4677ba03dd48050d21b24d24 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-timer.el --- The relative timer code for Org-mode
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -373,7 +372,7 @@ replace any running timer."
                     (org-show-entry)
                     (or (ignore-errors (org-get-heading))
                         (concat "File:" (file-name-nondirectory (buffer-file-name)))))))
-               ((org-mode-p)
+               ((eq major-mode 'org-mode)
                 (or (ignore-errors (org-get-heading))
                     (concat "File:" (file-name-nondirectory (buffer-file-name)))))
                (t (error "Not in an Org buffer"))))
@@ -403,6 +402,4 @@ replace any running timer."
 
 (provide 'org-timer)
 
-
-
 ;;; org-timer.el ends here
index d0991b8111672248f8a5661cc3fe628d89323ecd..b6975ff1157321713a64afa96fffe5110d0cc025 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-vm.el --- Support for links to VM messages from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 
 (provide 'org-vm)
 
-
-
 ;;; org-vm.el ends here
index bce90092e6e99554220b7584b4d58190d7a191b8..bad20036b822bdba890d5ba8bb2fb1f231644dd1 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-w3m.el --- Support from copy and paste from w3m to Org-mode
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Andy Stewart <lazycat dot manatee at gmail dot com>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -168,6 +167,4 @@ Return t if there is no previous link; otherwise, return nil."
 
 (provide 'org-w3m)
 
-
-
 ;;; org-w3m.el ends here
index 9bc49c8b91ab801232ef7820e655b42975524704..6d2370671bd0bf01251f44010c1fafc4df887fc8 100644 (file)
@@ -1,12 +1,11 @@
 ;;; org-wl.el --- Support for links to Wanderlust messages from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
 ;;         David Maus <dmaus at ictsoc dot de>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -309,6 +308,4 @@ for namazu index."
 
 (provide 'org-wl)
 
-
-
 ;;; org-wl.el ends here
index 02f351fe724944c8b0a5f26830011d5d9178f9d5..fc3a973204129b44ebde7398a1738bfbd70ecaf6 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-xoxo.el --- XOXO export for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -123,5 +122,4 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
 
 (provide 'org-xoxo)
 
-
 ;;; org-xoxo.el ends here
index 8aca74e69cc0eccd33bc3b8f6674b99629fbbc37..c5d5e545b9ff3515d010a73f01c4933dcc1c58d1 100644 (file)
@@ -1,11 +1,12 @@
 ;;; org.el --- Outline-based notes management and organizer
 ;; Carstens outline-mode for keeping track of everything.
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
+;; Maintainer: Bastien Guerry <bzg at gnu dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
+;; Version: 7.8.03
 ;;
 ;; This file is part of GNU Emacs.
 ;;
 (declare-function org-inlinetask-at-task-p "org-inlinetask" ())
 (declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
 (declare-function org-inlinetask-toggle-visibility "org-inlinetask" ())
+(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
 (declare-function org-at-clock-log-p "org-clock" ())
 (declare-function org-clock-timestamps-up "org-clock" ())
 (declare-function org-clock-timestamps-down "org-clock" ())
@@ -162,6 +164,7 @@ requirements) is loaded."
                 (const :tag "Ditaa" ditaa)
                 (const :tag "Dot" dot)
                 (const :tag "Emacs Lisp" emacs-lisp)
+                (const :tag "Fortran" fortran)
                 (const :tag "Gnuplot" gnuplot)
                 (const :tag "Haskell" haskell)
                 (const :tag "Java" java)
@@ -176,6 +179,7 @@ requirements) is loaded."
                 (const :tag "Octave" octave)
                 (const :tag "Org" org)
                 (const :tag "Perl" perl)
+                (const :tag "Pico Lisp" picolisp)
                 (const :tag "PlantUML" plantuml)
                 (const :tag "Python" python)
                 (const :tag "Ruby" ruby)
@@ -183,6 +187,7 @@ requirements) is loaded."
                 (const :tag "Scheme" scheme)
                 (const :tag "Screen" screen)
                 (const :tag "Shell Script" sh)
+                (const :tag "Shen" shen)
                 (const :tag "Sql" sql)
                 (const :tag "Sqlite" sqlite))
                :value-type (boolean :tag "Activate" :value t)))
@@ -198,7 +203,7 @@ identifier."
 
 ;;; Version
 
-(defconst org-version "7.7"
+(defconst org-version "7.8.03"
   "The version number of the file org.el.")
 
 (defun org-version (&optional here)
@@ -249,6 +254,11 @@ With prefix arg HERE, insert it at point."
   :group 'org
   :type 'hook)
 
+(defcustom org-log-buffer-setup-hook nil
+  "Hook that is run after an Org log buffer is created."
+  :group 'org
+  :type 'hook)
+
 (defvar org-modules)  ; defined below
 (defvar org-modules-loaded nil
   "Have the modules been loaded already?")
@@ -338,7 +348,6 @@ to add the symbol `xyz', and the package must have a call to
        (const :tag "C  mac-link-grabber   Grab links and URLs from various Mac applications" org-mac-link-grabber)
        (const :tag "C  man:               Support for links to manpages in Org-mode" org-man)
        (const :tag "C  mtags:             Support for muse-like tags" org-mtags)
-       (const :tag "C  odt:               OpenDocumentText exporter for Org-mode" org-odt)
        (const :tag "C  panel:             Simple routines for us with bad memory" org-panel)
        (const :tag "C  registry:          A registry for Org-mode links" org-registry)
        (const :tag "C  org2rem:           Convert org appointments into reminders" org2rem)
@@ -354,12 +363,12 @@ to add the symbol `xyz', and the package must have a call to
 (defcustom org-support-shift-select nil
   "Non-nil means make shift-cursor commands select text when possible.
 
-In Emacs 23, when `shift-select-mode' is on, shifted cursor keys start
-selecting a region, or enlarge regions started in this way.
-In Org-mode, in special contexts, these same keys are used for other
-purposes, important enough to compete with shift selection.  Org tries
-to balance these needs by supporting `shift-select-mode' outside these
-special contexts, under control of this variable.
+In Emacs 23, when `shift-select-mode' is on, shifted cursor keys
+start selecting a region, or enlarge regions started in this way.
+In Org-mode, in special contexts, these same keys are used for
+other purposes, important enough to compete with shift selection.
+Org tries to balance these needs by supporting `shift-select-mode'
+outside these special contexts, under control of this variable.
 
 The default of this variable is nil, to avoid confusing behavior.  Shifted
 cursor keys will then execute Org commands in the following contexts:
@@ -370,30 +379,56 @@ cursor keys will then execute Org commands in the following contexts:
 - in the BEGIN line of a clock table (changing the time block).
 Outside these contexts, the commands will throw an error.
 
-When this variable is t and the cursor is not in a special context,
-Org-mode will support shift-selection for making and enlarging regions.
-To make this more effective, the bullet cycling will no longer happen
-anywhere in an item line, but only if the cursor is exactly on the bullet.
+When this variable is t and the cursor is not in a special
+context, Org-mode will support shift-selection for making and
+enlarging regions.  To make this more effective, the bullet
+cycling will no longer happen anywhere in an item line, but only
+if the cursor is exactly on the bullet.
 
 If you set this variable to the symbol `always', then the keys
-will not be special in headlines, property lines, and item lines, to make
-shift selection work there as well.  If this is what you want, you can
-use the following alternative commands: `C-c C-t' and `C-c ,' to
-change TODO state and priority, `C-u C-u C-c C-t' can be used to switch
-TODO sets, `C-c -' to cycle item bullet types, and properties can be
-edited by hand or in column view.
+will not be special in headlines, property lines, and item lines,
+to make shift selection work there as well.  If this is what you
+want, you can use the following alternative commands: `C-c C-t'
+and `C-c ,' to change TODO state and priority, `C-u C-u C-c C-t'
+can be used to switch TODO sets, `C-c -' to cycle item bullet
+types, and properties can be edited by hand or in column view.
 
 However, when the cursor is on a timestamp, shift-cursor commands
 will still edit the time stamp - this is just too good to give up.
 
-XEmacs user should have this variable set to nil, because shift-select-mode
-is Emacs 23 only."
+XEmacs user should have this variable set to nil, because
+`shift-select-mode' is in Emacs 23 or later only."
   :group 'org
   :type '(choice
          (const :tag "Never" nil)
          (const :tag "When outside special context" t)
          (const :tag "Everywhere except timestamps" always)))
 
+(defcustom org-loop-over-headlines-in-active-region nil
+  "Shall some commands act upon headlines in the active region?
+
+When set to `t', some commands will be performed in all headlines
+within the active region.
+
+When set to `start-level', some commands will be performed in all
+headlines within the active region, provided that these headlines
+are of the same level than the first one.
+
+When set to a string, those commands will be performed on the
+matching headlines within the active region.  Such string must be
+a tags/property/todo match as it is used in the agenda tags view.
+
+The list of commands is: `org-schedule', `org-deadline',
+`org-todo', `org-archive-subtree', `org-archive-set-tag' and
+`org-archive-to-archive-sibling'.  The archiving commands skip
+already archived entries."
+  :type '(choice (const :tag "Don't loop" nil)
+                (const :tag "All headlines in active region" t)
+                (const :tag "In active region, headlines at the same level than the first one" 'start-level)
+                (string :tag "Tags/Property/Todo matcher"))
+  :group 'org-todo
+  :group 'org-archive)
+
 (defgroup org-startup nil
   "Options concerning startup of Org-mode."
   :tag "Org Startup"
@@ -817,7 +852,7 @@ than its value."
          (const :tag "No limit" nil)
          (integer :tag "Maximum level")))
 
-(defcustom org-drawers '("PROPERTIES" "CLOCK" "LOGBOOK")
+(defcustom org-drawers '("PROPERTIES" "CLOCK" "LOGBOOK" "RESULTS")
   "Names of drawers.  Drawers are not opened by cycling on the headline above.
 Drawers only open with a TAB on the drawer line itself.  A drawer looks like
 this:
@@ -1037,6 +1072,28 @@ OK to kill that hidden subtree.  When nil, kill without remorse."
          (const :tag "Protect hidden subtrees with a security query" t)
          (const :tag "Never kill a hidden subtree with C-k" error)))
 
+(defcustom org-catch-invisible-edits nil
+  "Check if in invisible region before inserting or deleting a character.
+Valid values are:
+
+nil              Do not check, so just do invisible edits.
+error            Throw an error and do nothing.
+show             Make point visible, and do the requested edit.
+show-and-error   Make point visible, then throw an error and abort the edit.
+smart            Make point visible, and do insertion/deletion if it is
+                 adjacent to visible text and the change feels predictable.
+                 Never delete a previously invisible character or add in the
+                 middle or right after an invisible region.  Basically, this
+                 allows insertion and backward-delete right before ellipses.
+                 FIXME: maybe in this case we should not even show?"
+  :group 'org-edit-structure
+  :type '(choice
+         (const :tag "Do not check" nil)
+         (const :tag "Throw error when trying to edit" error)
+         (const :tag "Unhide, but do not do the edit" show-and-error)
+         (const :tag "Show invisible part and do the edit" show)
+         (const :tag "Be smart and do the right thing" smart)))
+
 (defcustom org-yank-folded-subtrees t
   "Non-nil means when yanking subtrees, fold them.
 If the kill is a single subtree, or a sequence of subtrees, i.e. if
@@ -1260,10 +1317,14 @@ See the manual for examples."
            (function)))))
 
 (defcustom org-descriptive-links t
-  "Non-nil means hide link part and only show description of bracket links.
-Bracket links are like [[link][description]].  This variable sets the initial
-state in new org-mode buffers.  The setting can then be toggled on a
-per-buffer basis from the Org->Hyperlinks menu."
+  "Non-nil means Org will display descriptive links.
+E.g. [[http://orgmode.org][Org website]] will be displayed as
+\"Org Website\", hiding the link itself and just displaying its
+description.  When set to `nil', Org will display the full links
+literally.
+
+You can interactively set the value of this variable by calling
+`org-toggle-link-display' or from the menu Org>Hyperlinks menu."
   :group 'org-link
   :type 'boolean)
 
@@ -1401,8 +1462,8 @@ nil   Never use an ID to make a link, instead link using a text search for
   "Non-nil means file links from `org-store-link' contain context.
 A search string will be added to the file name with :: as separator and
 used to find the context when the link is activated by the command
-`org-open-at-point'. When this option is t, the entire active region
-will be placed in the search string of the file link. If set to a
+`org-open-at-point'.  When this option is t, the entire active region
+will be placed in the search string of the file link.  If set to a
 positive integer, only the first n lines of context will be stored.
 
 Using a prefix arg to the command \\[org-store-link] (`org-store-link')
@@ -1852,7 +1913,7 @@ will temporarily be changed to `time'."
 
 (defcustom org-refile-targets nil
   "Targets for refiling entries with \\[org-refile].
-This is list of cons cells.  Each cell contains:
+This is list of cons cells.  Each cell contains:
 - a specification of the files to be considered, either a list of files,
   or a symbol whose function or variable value will be used to retrieve
   a file name or a list of file names.  If you use `org-agenda-files' for
@@ -1870,10 +1931,14 @@ This is list of cons cells.  Each cell contains:
   - a cons cell (:level . N).  Any headline of level N is considered a target.
     Note that, when `org-odd-levels-only' is set, level corresponds to
     order in hierarchy, not to the number of stars.
-  - a cons cell (:maxlevel . N). Any headline with level <= N is a target.
+  - a cons cell (:maxlevel . N).  Any headline with level <= N is a target.
     Note that, when `org-odd-levels-only' is set, level corresponds to
     order in hierarchy, not to the number of stars.
 
+Each element of this list generates a set of possible targets.
+The union of these sets is presented (with completion) to
+the user by `org-refile'.
+
 You can set the variable `org-refile-target-verify-function' to a function
 to verify each headline found by the simple criteria above.
 
@@ -1963,6 +2028,16 @@ heading."
          (const :tag "Always" t)
          (const :tag "Prompt for confirmation" confirm)))
 
+(defcustom org-refile-active-region-within-subtree nil
+  "Non-nil means also refile active region within a subtree.
+
+By default `org-refile' doesn't allow refiling regions if they
+don't contain a set of subtrees, but it might be convenient to
+do so sometimes: in that case, the first line of the region is
+converted to a headline before refiling."
+  :group 'org-refile
+  :type 'boolean)
+
 (defgroup org-todo nil
   "Options concerning TODO items in Org-mode."
   :tag "Org TODO"
@@ -2348,6 +2423,8 @@ context, and the cdr is the heading to be used.  The heading may also be the
 empty string.
 %t in the heading will be replaced by a time stamp.
 %T will be an active time stamp instead the default inactive one
+%d will be replaced by a short-format time stamp.
+%D will be replaced by an active short-format time stamp.
 %s will be replaced by the new TODO state, in double quotes.
 %S will be replaced by the old TODO state, in double quotes.
 %u will be replaced by the user name.
@@ -2444,7 +2521,7 @@ An auto-repeating task is immediately switched back to TODO when
 marked DONE.  If you are not logging state changes (by adding \"@\"
 or \"!\" to the TODO keyword definition), or set `org-log-done' to
 record a closing note, there will be no record of the task moving
-through DONE. This variable forces taking a note anyway.
+through DONE.  This variable forces taking a note anyway.
 
 nil     Don't force a record
 time    Record a time stamp
@@ -2681,7 +2758,7 @@ When this variable is set to t, the date/time prompt will not let
 you specify dates outside the 1970-2037 range, so it is certain that
 these dates will work in whatever version of Emacs you are
 running, and also that you can move a file from one Emacs implementation
-to another.  Whenever Org is forcing the year for you, it will display
+to another.  WHenever Org is forcing the year for you, it will display
 a message and beep.
 
 When this variable is nil, Org will check if the date is
@@ -2735,6 +2812,14 @@ be the favorite working time of John Wiegley :-)"
   :group 'org-time
   :type 'integer)
 
+(defcustom org-use-effective-time nil
+  "If non-nil, consider `org-extend-today-until' when creating timestamps.
+For example, if `org-extend-today-until' is 8, and it's 4am, then the
+\"effective time\" of any timestamps between midnight and 8am will be
+23:59 of the previous day."
+  :group 'boolean
+  :type 'integer)
+
 (defcustom org-edit-timestamp-down-means-later nil
   "Non-nil means S-down will increase the time in a time stamp.
 When nil, S-up will increase."
@@ -2849,7 +2934,9 @@ This is an undocumented feature, you should not rely on it.")
   "The column to which tags should be indented in a headline.
 If this number is positive, it specifies the column.  If it is negative,
 it means that the tags should be flushright to that column.  For example,
--80 works well for a normal 80 character screen."
+-80 works well for a normal 80 character screen.
+When 0, place tags directly after headline text, with only one space in
+between."
   :group 'org-tags
   :type 'integer)
 
@@ -2924,7 +3011,7 @@ is better to limit inheritance to certain tags using the variables
          (const :tag "List them, indented with leading dots" indented)))
 
 (defcustom org-tags-sort-function nil
-  "When set, tags are sorted using this comparison function."
+  "When set, tags are sorted using this function as a comparator."
   :group 'org-tags
   :type '(choice
          (const :tag "No sorting" nil)
@@ -2952,6 +3039,28 @@ lined-up with respect to each other."
   :group 'org-properties
   :type 'string)
 
+(defcustom org-properties-postprocess-alist nil
+  "Alist of properties and functions to adjust inserted values.
+Elements of this alist must be of the form
+
+  ([string] [function])
+
+where [string] must be a property name and [function] must be a
+lambda expression: this lambda expression must take one argument,
+the value to adjust, and return the new value as a string.
+
+For example, this element will allow the property \"Remaining\"
+to be updated wrt the relation between the \"Effort\" property
+and the clock summary:
+
+ ((\"Remaining\" (lambda(value)
+                   (let ((clocksum (org-clock-sum-current-item))
+                         (effort (org-duration-string-to-minutes
+                                   (org-entry-get (point) \"Effort\"))))
+                     (org-minutes-to-hh:mm-string (- effort clocksum))))))"
+  :group 'org-properties
+  :type 'alist)
+
 (defcustom org-use-property-inheritance nil
   "Non-nil means properties apply also for sublevels.
 
@@ -3222,6 +3331,46 @@ This is a property list with the following properties:
 When nil, just push out a message."
   :group 'org-latex
   :type 'boolean)
+(defcustom org-latex-to-mathml-jar-file nil
+  "Value of\"%j\" in `org-latex-to-mathml-convert-command'.
+Use this to specify additional executable file say a jar file.
+
+When using MathToWeb as the converter, specify the full-path to
+your mathtoweb.jar file."
+  :group 'org-latex
+  :type '(choice
+         (const :tag "None" nil)
+         (file :tag "JAR file" :must-match t)))
+
+(defcustom org-latex-to-mathml-convert-command nil
+  "Command to convert LaTeX fragments to MathML.
+Replace format-specifiers in the command as noted below and use
+`shell-command' to convert LaTeX to MathML.
+%j:     Executable file in fully expanded form as specified by
+        `org-latex-to-mathml-jar-file'.
+%I:     Input LaTeX file in fully expanded form
+%o:     Output MathML file
+This command is used by `org-create-math-formula'.
+
+When using MathToWeb as the converter, set this to
+\"java -jar %j -unicode -force -df %o %I\"."
+  :group 'org-latex
+  :type '(choice
+         (const :tag "None" nil)
+         (string :tag "\nShell command")))
+
+(defun org-format-latex-mathml-available-p ()
+  "Return t if `org-latex-to-mathml-convert-command' is usable."
+  (save-match-data
+    (when (and (boundp 'org-latex-to-mathml-convert-command)
+              org-latex-to-mathml-convert-command)
+      (let ((executable (car (split-string
+                             org-latex-to-mathml-convert-command))))
+       (when (executable-find executable)
+         (if (string-match
+              "%j" org-latex-to-mathml-convert-command)
+             (file-readable-p org-latex-to-mathml-jar-file)
+           t))))))
 
 (defcustom org-format-latex-header "\\documentclass{article}
 \\usepackage[usenames]{color}
@@ -3609,6 +3758,7 @@ Normal means, no org-mode-specific context."
 (defvar calc-embedded-close-formula)
 (defvar calc-embedded-open-formula)
 (declare-function cdlatex-tab "ext:cdlatex" ())
+(declare-function cdlatex-compute-tables "ext:cdlatex" ())
 (declare-function dired-get-filename "dired" (&optional localp no-error-if-not-filep))
 (defvar font-lock-unfontify-region-function)
 (declare-function iswitchb-read-buffer "iswitchb"
@@ -3618,7 +3768,7 @@ Normal means, no org-mode-specific context."
 (defvar org-agenda-tags-todo-honor-ignore-options)
 (declare-function org-agenda-skip "org-agenda" ())
 (declare-function
- org-format-agenda-item "org-agenda"
+ org-agenda-format-item "org-agenda"
  (extra txt &optional category tags dotime noprefix remove-re habitp))
 (declare-function org-agenda-new-marker "org-agenda" (&optional pos))
 (declare-function org-agenda-change-all-lines "org-agenda"
@@ -3986,7 +4136,7 @@ Here are a few examples:
 \"~/org/archive.org::\"
        Archive in file ~/org/archive.org (absolute path), as top-level trees.
 
-\"~/org/archive.org::From %s\"
+\"~/org/archive.org::From %s\"
        Archive in file ~/org/archive.org (absolute path), under headlines
         \"From FILENAME\" where file name is the current file name.
 
@@ -4074,7 +4224,7 @@ collapsed state."
     (let* ((re (concat ":" org-archive-tag ":")))
       (goto-char beg)
       (while (re-search-forward re end t)
-       (when (org-on-heading-p)
+       (when (org-at-heading-p)
          (org-flag-subtree t)
          (org-end-of-subtree t))))))
 
@@ -4150,20 +4300,14 @@ group 5: Tags")
 (make-variable-buffer-local 'org-complex-heading-regexp)
 (defvar org-complex-heading-regexp-format nil
   "Printf format to make regexp to match an exact headline.
-This regexp will match the headline of any node which hase the exact
-headline text that is put into the format, but may have any TODO state,
-priority and tags.")
+This regexp will match the headline of any node which has the
+exact headline text that is put into the format, but may have any
+TODO state, priority and tags.")
 (make-variable-buffer-local 'org-complex-heading-regexp-format)
 (defvar org-todo-line-tags-regexp nil
   "Matches a headline and puts TODO state into group 2 if present.
 Also put tags into group 4 if tags are present.")
 (make-variable-buffer-local 'org-todo-line-tags-regexp)
-(defvar org-nl-done-regexp nil
-  "Matches newline followed by a headline with the DONE keyword.")
-(make-variable-buffer-local 'org-nl-done-regexp)
-(defvar org-looking-at-done-regexp nil
-  "Matches the DONE keyword a point.")
-(make-variable-buffer-local 'org-looking-at-done-regexp)
 (defvar org-ds-keyword-length 12
   "Maximum length of the Deadline and SCHEDULED keywords.")
 (make-variable-buffer-local 'org-ds-keyword-length)
@@ -4300,9 +4444,34 @@ in the #+STARTUP line, the corresponding variable, and the value to
 set this variable to if the option is found.  An optional forth element PUSH
 means to push this value onto the list in the variable.")
 
+(defun org-update-property-plist (key val props)
+  "Update PROPS with KEY and VAL."
+  (if (string= "+" (substring key (- (length key) 1)))
+      (let* ((key (substring key 0 (- (length key) 1)))
+            (previous (cdr (assoc key props))))
+       (cons (cons key (concat previous " " val))
+             (org-remove-if (lambda (p) (string= (car p) key)) props)))
+    (cons (cons key val) props)))
+
+(defconst org-block-regexp
+  "^[ \t]*#\\+begin_?\\([^ \n]+\\)\\(\\([^\n]+\\)\\)?\n\\([^\000]+?\\)#\\+end_?\\1[ \t]*$"
+  "Regular expression for hiding blocks.")
+(defconst org-heading-keyword-regexp-format
+  "^\\(\\*+\\)\\(?: +%s\\)\\(?: +\\(.*?\\)\\)?[ \t]*$"
+  "Printf format for a regexp matching an headline with some keyword.
+This regexp will match the headline of any node which has the
+exact keyword that is put into the format.  The keyword isn't in
+any group by default, but the stars and the body are.")
+(defconst org-heading-keyword-maybe-regexp-format
+  "^\\(\\*+\\)\\(?: +%s\\)?\\(?: +\\(.*?\\)\\)?[ \t]*$"
+  "Printf format for a regexp matching an headline, possibly with some keyword.
+This regexp can match any headline with the specified keyword, or
+without a keyword.  The keyword isn't in any group by default,
+but the stars and the body are.")
+
 (defun org-set-regexps-and-options ()
   "Precompute regular expressions for current buffer."
-  (when (org-mode-p)
+  (when (eq major-mode 'org-mode)
     (org-set-local 'org-todo-kwd-alist nil)
     (org-set-local 'org-todo-key-alist nil)
     (org-set-local 'org-todo-key-trigger nil)
@@ -4361,8 +4530,9 @@ means to push this value onto the list in the variable.")
              (setq prio (org-split-string value " +")))
             ((equal key "PROPERTY")
              (when (string-match "\\(\\S-+\\)\\s-+\\(.*\\)" value)
-               (push (cons (match-string 1 value) (match-string 2 value))
-                     props)))
+               (setq props (org-update-property-plist (match-string 1 value)
+                                                      (match-string 2 value)
+                                                      props))))
             ((equal key "FILETAGS")
              (when (string-match "\\S-" value)
                (setq ftags
@@ -4406,8 +4576,17 @@ means to push this value onto the list in the variable.")
                (setq ext-setup-or-nil
                      (concat (substring ext-setup-or-nil 0 start)
                              "\n" setup-contents "\n"
-                             (substring ext-setup-or-nil start)))))
-            ))))
+                             (substring ext-setup-or-nil start)))))))
+         ;; search for property blocks
+         (goto-char (point-min))
+         (while (re-search-forward org-block-regexp nil t)
+           (when (equal "PROPERTY" (upcase (match-string 1)))
+             (setq value (replace-regexp-in-string
+                          "[\n\r]" " " (match-string 4)))
+             (when (string-match "\\(\\S-+\\)\\s-+\\(.*\\)" value)
+               (setq props (org-update-property-plist (match-string 1 value)
+                                                      (match-string 2 value)
+                                                      props)))))))
       (org-set-local 'org-use-sub-superscripts scripts)
       (when cat
        (org-set-local 'org-category (intern cat))
@@ -4498,7 +4677,9 @@ means to push this value onto the list in the variable.")
                     (assoc (car e) org-tag-alist))
                (push e org-tag-alist)))))
 
-      ;; Compute the regular expressions and other local variables
+      ;; Compute the regular expressions and other local variables.
+      ;; Using `org-outline-regexp-bol' would complicate them much,
+      ;; because of the fixed white space at the end of that string.
       (if (not org-done-keywords)
          (setq org-done-keywords (and org-todo-keywords-1
                                       (list (org-last org-todo-keywords-1)))))
@@ -4513,47 +4694,42 @@ means to push this value onto the list in the variable.")
            org-not-done-keywords
            (org-delete-all org-done-keywords (copy-sequence org-todo-keywords-1))
            org-todo-regexp
-           (concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords-1
-                                       "\\|") "\\)\\>")
+           (concat "\\("
+                   (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
+                   "\\)")
            org-not-done-regexp
-           (concat "\\<\\("
+           (concat "\\("
                    (mapconcat 'regexp-quote org-not-done-keywords "\\|")
-                   "\\)\\>")
+                   "\\)")
            org-not-done-heading-regexp
-           (concat "^\\(\\*+\\)[ \t]+\\("
-                   (mapconcat 'regexp-quote org-not-done-keywords "\\|")
-                   "\\)\\>")
+           (format org-heading-keyword-regexp-format org-not-done-regexp)
            org-todo-line-regexp
-           (concat "^\\(\\*+\\)[ \t]+\\(?:\\("
-                   (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
-                   "\\)\\>\\)?[ \t]*\\(.*\\)")
+           (format org-heading-keyword-maybe-regexp-format org-todo-regexp)
            org-complex-heading-regexp
-           (concat "^\\(\\*+\\)[ \t]+\\(?:\\("
-                   (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
-                   "\\)\\>\\)?\\(?:[ \t]*\\(\\[#.\\]\\)\\)?[ \t]*\\(.*?\\)"
-                   "\\(?:[ \t]+\\(:[[:alnum:]_@#%:]+:\\)\\)?[ \t]*$")
+           (concat "^\\(\\*+\\)"
+                   "\\(?: +" org-todo-regexp "\\)?"
+                   "\\(?: +\\(\\[#.\\]\\)\\)?"
+                   "\\(?: +\\(.*?\\)\\)?"
+                   (org-re "\\(?:[ \t]+\\(:[[:alnum:]_@#%:]+:\\)\\)?")
+                   "[ \t]*$")
            org-complex-heading-regexp-format
-           (concat "^\\(\\*+\\)[ \t]+\\(?:\\("
-                   (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
-                   "\\)\\>\\)?"
-                   "\\(?:[ \t]*\\(\\[#.\\]\\)\\)?"
-                   "\\(?:[ \t]*\\(?:\\[[0-9%%/]+\\]\\)\\)?" ;; stats cookie
-                   "[ \t]*\\(%s\\)"
-                   "\\(?:[ \t]*\\(?:\\[[0-9%%/]+\\]\\)\\)?" ;; stats cookie
-                   "\\(?:[ \t]+\\(:[[:alnum:]_@#%%:]+:\\)\\)?[ \t]*$")
-           org-nl-done-regexp
-           (concat "\n\\*+[ \t]+"
-                   "\\(?:" (mapconcat 'regexp-quote org-done-keywords "\\|")
-                   "\\)" "\\>")
+           (concat "^\\(\\*+\\)"
+                   "\\(?: +" org-todo-regexp "\\)?"
+                   "\\(?: +\\(\\[#.\\]\\)\\)?"
+                   "\\(?: +"
+                   ;; Stats cookies can be sticked to body.
+                   "\\(?:\\[[0-9%%/]+\\] *\\)?"
+                   "\\(%s\\)"
+                   "\\(?: *\\[[0-9%%/]+\\]\\)?"
+                   "\\)"
+                   (org-re "\\(?:[ \t]+\\(:[[:alnum:]_@#%%:]+:\\)\\)?")
+                   "[ \t]*$")
            org-todo-line-tags-regexp
-           (concat "^\\(\\*+\\)[ \t]+\\(?:\\("
-                   (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
-                   (org-re
-                    "\\)\\>\\)? *\\(.*?\\([ \t]:[[:alnum:]:_@#%]+:[ \t]*\\)?$\\)"))
-           org-looking-at-done-regexp
-           (concat "^" "\\(?:"
-                   (mapconcat 'regexp-quote org-done-keywords "\\|") "\\)"
-                   "\\>")
+           (concat "^\\(\\*+\\)"
+                   "\\(?: +" org-todo-regexp "\\)?"
+                   "\\(?: +\\(.*?\\)\\)?"
+                   (org-re "\\(?:[ \t]+\\(:[[:alnum:]:_@#%]+:\\)\\)?")
+                   "[ \t]*$")
            org-deadline-regexp (concat "\\<" org-deadline-string)
            org-deadline-time-regexp
            (concat "\\<" org-deadline-string " *<\\([^>]+\\)>")
@@ -4582,7 +4758,7 @@ means to push this value onto the list in the variable.")
                    "\\|" org-deadline-string
                    "\\|" org-closed-string
                    "\\|" org-clock-string "\\)\\)?"
-                   " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)")
+                   " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)")
            org-planning-or-clock-line-re
            (concat "\\(?:^[ \t]*\\(" org-scheduled-string
                    "\\|" org-deadline-string
@@ -4698,10 +4874,23 @@ This variable is set by `org-before-change-function'.
 (defvar org-inhibit-blocking nil)       ; Dynamically-scoped param.
 (defvar org-table-buffer-is-an nil)
 
-;; org-outline-regexp ought to be a defconst but is let-binding
-;; in some places -- e.g. see the macro org-with-limited-levels
-(defvar org-outline-regexp "\\*+ ")
-(defconst org-outline-regexp-bol "^\\*+ ")
+;; `org-outline-regexp' ought to be a defconst but is let-binding in
+;; some places -- e.g. see the macro org-with-limited-levels.
+;;
+;; In Org buffers, the value of `outline-regexp' is that of
+;; `org-outline-regexp'.  The only function still directly relying on
+;; `outline-regexp' is `org-overview' so that `org-cycle' can do its
+;; job when `orgstruct-mode' is active.
+(defvar org-outline-regexp "\\*+ "
+  "Regexp to match Org headlines.")
+(defconst org-outline-regexp-bol "^\\*+ "
+  "Regexp to match Org headlines.
+This is similar to `org-outline-regexp' but additionally makes
+sure that we are at the beginning of the line.")
+
+(defconst org-heading-regexp "^\\(\\*+\\)\\(?: +\\(.*?\\)\\)?[ \t]*$"
+  "Matches an headline, putting stars and text into groups.
+Stars are put in group 1 and the trimmed body in group 2.")
 
 ;;;###autoload
 (define-derived-mode org-mode outline-mode "Org"
@@ -4948,7 +5137,7 @@ stacked delimiters is N.  Escaping delimiters is not possible."
 
 (defvar org-match-substring-regexp
   (concat
-   "\\([^\\]\\)\\([_^]\\)\\("
+   "\\([^\\]\\|^\\)\\([_^]\\)\\("
    "\\(" (org-create-multibrace-regexp "{" "}" org-match-sexp-depth) "\\)"
    "\\|"
    "\\(" (org-create-multibrace-regexp "(" ")" org-match-sexp-depth) "\\)"
@@ -4958,7 +5147,7 @@ stacked delimiters is N.  Escaping delimiters is not possible."
 
 (defvar org-match-substring-with-braces-regexp
   (concat
-   "\\([^\\]\\)\\([_^]\\)\\("
+   "\\([^\\]\\|^\\)\\([_^]\\)\\("
    "\\(" (org-create-multibrace-regexp "{" "}" org-match-sexp-depth) "\\)"
    "\\)")
   "The regular expression matching a sub- or superscript, forcing braces.")
@@ -5022,15 +5211,15 @@ This should be called after the variable `org-link-types' has changed."
 
 (org-make-link-regexps)
 
-(defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^\r\n>]*?\\)>"
+(defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^\r\n>]*?\\)>"
   "Regular expression for fast time stamp matching.")
-(defconst org-ts-regexp-both "[[<]\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^]\r\n>]*?\\)[]>]"
+(defconst org-ts-regexp-both "[[<]\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^]\r\n>]*?\\)[]>]"
   "Regular expression for fast time stamp matching.")
-(defconst org-ts-regexp0 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) *\\([^]+0-9>\r\n -]*\\)\\( \\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
+(defconst org-ts-regexp0 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) *\\([^]+0-9>\r\n -]*\\)\\( \\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
   "Regular expression matching time strings for analysis.
 This one does not require the space after the date, so it can be used
 on a string that terminates immediately after the date.")
-(defconst org-ts-regexp1 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) +\\([^]+0-9>\r\n -]*\\)\\( \\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
+(defconst org-ts-regexp1 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) *\\([^]+0-9>\r\n -]*\\)\\( \\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
   "Regular expression matching time strings for analysis.")
 (defconst org-ts-regexp2 (concat "<" org-ts-regexp1 "[^>\n]\\{0,16\\}>")
   "Regular expression matching time stamps, with groups.")
@@ -5052,7 +5241,7 @@ The time stamps may be either active or inactive.")
 (defvar org-emph-face nil)
 
 (defun org-do-emphasis-faces (limit)
-  "Run through the buffer and add overlays to emphasized strings."
+  "Run through the buffer and add overlays to emphasised strings."
   (let (rtn a)
     (while (and (not rtn) (re-search-forward org-emph-re limit t))
       (if (not (= (char-after (match-beginning 3))
@@ -5154,7 +5343,7 @@ will be prompted for."
            t)))))
 
 (defun org-activate-code (limit)
-  (if (re-search-forward "^[ \t]*\\(: .*\n?\\)" limit t)
+  (if (re-search-forward "^[ \t]*\\(:\\(?: .*\\|$\\)\n?\\)" limit t)
       (progn
        (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0))
        (remove-text-properties (match-beginning 0) (match-end 0)
@@ -5257,9 +5446,8 @@ will be prompted for."
             '(font-lock-fontified t face org-meta-line))
            t)
           ((or (member dc1 '("begin:" "end:" "caption:" "label:"
-                             "orgtbl:" "tblfm:" "tblname:" "result:"
-                             "results:" "source:" "srcname:" "call:"
-                             "data:" "header:" "headers:"))
+                             "orgtbl:" "tblfm:" "tblname:" "results:"
+                             "call:" "header:" "headers:" "name:"))
                (and (match-end 4) (equal dc3 "attr")))
            (add-text-properties
             beg (match-end 0)
@@ -5541,7 +5729,7 @@ Use `org-reduced-level' to remove the effect of `org-odd-levels'."
 
 (defvar org-font-lock-keywords nil)
 
-(defconst org-property-re (org-re "^[ \t]*\\(:\\([-[:alnum:]_]+\\):\\)[ \t]*\\([^ \t\r\n].*\\)")
+(defconst org-property-re (org-re "^[ \t]*\\(:\\([-[:alnum:]_]+\\+?\\):\\)[ \t]*\\([^ \t\r\n].*\\)")
   "Regular expression matching a property line.")
 
 (defvar org-font-lock-hook nil
@@ -5549,7 +5737,7 @@ Use `org-reduced-level' to remove the effect of `org-odd-levels'."
 
 (defvar org-font-lock-set-keywords-hook nil
   "Functions that can manipulate `org-font-lock-extra-keywords'.
-This is called after `org-font-lock-extra-keywords' is defined, but before
+This is calles after `org-font-lock-extra-keywords' is defined, but before
 it is installed to be used by font lock.  This can be useful if something
 needs to be inserted at a specific position in the font-lock sequence.")
 
@@ -5595,14 +5783,17 @@ needs to be inserted at a specific position in the font-lock sequence.")
           (if (memq 'footnote lk) '(org-activate-footnote-links))
           '("^&?%%(.*\\|<%%([^>\n]*?>" (0 'org-sexp-date t))
           '(org-hide-wide-columns (0 nil append))
-          ;; TODO lines
-          (list (concat "^\\*+[ \t]+" org-todo-regexp "\\([ \t]\\|$\\)")
-                '(1 (org-get-todo-face 1) t))
+          ;; TODO keyword
+          (list (format org-heading-keyword-regexp-format
+                        org-todo-regexp)
+                '(2 (org-get-todo-face 2) t))
           ;; DONE
           (if org-fontify-done-headline
-              (list (concat "^[*]+ +\\<\\("
-                            (mapconcat 'regexp-quote org-done-keywords "\\|")
-                            "\\)\\(.*\\)")
+              (list (format org-heading-keyword-regexp-format
+                            (concat
+                             "\\("
+                             (mapconcat 'regexp-quote org-done-keywords "\\|")
+                             "\\)"))
                     '(2 'org-headline-done t))
             nil)
           ;; Priorities
@@ -5640,9 +5831,11 @@ needs to be inserted at a specific position in the font-lock sequence.")
           ;; Code
           '(org-activate-code (1 'org-code t))
           ;; COMMENT
-          (list (concat "^\\*+[ \t]+\\<\\(" org-comment-string
-                        "\\|" org-quote-string "\\)\\>")
-                '(1 'org-special-keyword t))
+          (list (format org-heading-keyword-regexp-format
+                        (concat "\\("
+                                org-comment-string "\\|" org-quote-string
+                                "\\)"))
+                '(2 'org-special-keyword t))
           '("^#.*" (0 'font-lock-comment-face t))
           ;; Blocks and meta lines
           '(org-fontify-meta-lines-and-blocks)
@@ -5661,7 +5854,7 @@ needs to be inserted at a specific position in the font-lock sequence.")
   (org-set-local 'org-pretty-entities (not org-pretty-entities))
   (org-restart-font-lock)
   (if org-pretty-entities
-      (message "Entities are displayed as UTF8 characters")
+      (message "Entities are displayed as UTF8 characers")
     (save-restriction
       (widen)
       (org-decompose-region (point-min) (point-max))
@@ -5673,7 +5866,7 @@ needs to be inserted at a specific position in the font-lock sequence.")
     (when org-pretty-entities
       (catch 'match
        (while (re-search-forward
-               "\\\\\\([a-zA-Z][a-zA-Z0-9]*\\)\\($\\|[^[:alnum:]\n]\\)"
+               "\\\\\\(frac[13][24]\\|[a-zA-Z]+\\)\\($\\|[^[:alpha:]\n]\\)"
                limit t)
          (if (and (not (org-in-indented-comment-line))
                   (setq ee (org-entity-get (match-string 1)))
@@ -5768,17 +5961,10 @@ If KWD is a number, get the corresponding match group."
         (inhibit-modification-hooks t)
         deactivate-mark buffer-file-name buffer-file-truename)
     (org-decompose-region beg end)
-    (remove-text-properties
-     beg end
-     (if org-indent-mode
-        ;; also remove line-prefix and wrap-prefix properties
-        '(mouse-face t keymap t org-linked-text t
-                     invisible t intangible t
-                     line-prefix t wrap-prefix t
-                     org-no-flyspell t org-emphasis t)
-       '(mouse-face t keymap t org-linked-text t
-                   invisible t intangible t
-                   org-no-flyspell t org-emphasis t)))
+    (remove-text-properties beg end
+     '(mouse-face t keymap t org-linked-text t
+                 invisible t intangible t
+                 org-no-flyspell t org-emphasis t))
     (org-remove-font-lock-display-properties beg end)))
 
 (defconst org-script-display  '(((raise -0.3) (height 0.7))
@@ -5915,7 +6101,7 @@ in special contexts.
                          (and limit-level (1- (* limit-level 2)))
                        limit-level)))
           (org-outline-regexp
-           (if (not (org-mode-p))
+           (if (not (eq major-mode 'org-mode))
                outline-regexp
              (concat "\\*" (if nstars (format "\\{1,%d\\} " nstars) "+ "))))
           (bob-special (and org-cycle-global-at-bob (not arg) (bobp)
@@ -5978,6 +6164,8 @@ in special contexts.
             (or (bolp) (not (eq org-cycle-emulate-tab 'exc-hl-bol))))
        (org-inlinetask-toggle-visibility))
 
+       ((org-try-cdlatex-tab))
+
        ;; At an item/headline: delegate to `org-cycle-internal-local'.
        ((and (or (and org-cycle-include-plain-lists (org-at-item-p))
                 (save-excursion (beginning-of-line 1)
@@ -5993,8 +6181,6 @@ in special contexts.
 
        ((org-try-structure-completion))
 
-       ((org-try-cdlatex-tab))
-
        ((run-hook-with-args-until-success
         'org-tab-before-tab-emulation-hook))
 
@@ -6154,7 +6340,7 @@ With \\[universal-argument] prefix arg, switch to startup visibility.
 With a numeric prefix, show all headlines up to that level."
   (interactive "P")
   (let ((org-cycle-include-plain-lists
-        (if (org-mode-p) org-cycle-include-plain-lists nil)))
+        (if (eq major-mode 'org-mode) org-cycle-include-plain-lists nil)))
     (cond
      ((integerp arg)
       (show-all)
@@ -6213,6 +6399,9 @@ With a numeric prefix, show all headlines up to that level."
        (org-cycle-hide-drawers 'all)
        (org-cycle-show-empty-lines 'all)))))
 
+;; This function uses outline-regexp instead of the more fundamental
+;; org-outline-regexp so that org-cycle-global works outside of Org
+;; buffers, where outline-regexp is needed.
 (defun org-overview ()
   "Switch to overview mode, showing only top-level headlines.
 Really, this shows all headlines with level equal or greater than the level
@@ -6222,7 +6411,7 @@ results."
   (interactive)
   (let ((level (save-excursion
                 (goto-char (point-min))
-                (if (re-search-forward org-outline-regexp-bol nil t)
+                (if (re-search-forward (concat "^" outline-regexp) nil t)
                     (progn
                       (goto-char (match-beginning 0))
                       (funcall outline-level))))))
@@ -6334,7 +6523,7 @@ are at least `org-cycle-separator-lines' empty lines before the headline."
                            (org-back-over-empty-lines)
                            (if (save-excursion
                                  (goto-char (max (point-min) (1- (point))))
-                                 (org-on-heading-p))
+                                 (org-at-heading-p))
                                (1- (point))
                              (point))))
                (setq b (match-beginning 1)))
@@ -6361,7 +6550,7 @@ open and agenda-wise Org files."
   (let ((files (mapcar 'expand-file-name (org-agenda-files))))
     (dolist (buf (buffer-list))
       (with-current-buffer buf
-       (if (and (org-mode-p) (buffer-file-name))
+       (if (and (eq major-mode 'org-mode) (buffer-file-name))
            (let ((file (expand-file-name (buffer-file-name))))
              (unless (member file files)
                (push file files))))))
@@ -6377,7 +6566,7 @@ open and agenda-wise Org files."
 
 (defun org-cycle-hide-drawers (state)
   "Re-hide all drawers after a visibility state change."
-  (when (and (org-mode-p)
+  (when (and (eq major-mode 'org-mode)
             (not (memq state '(overview folded contents))))
     (save-excursion
       (let* ((globalp (memq state '(contents all)))
@@ -6447,16 +6636,11 @@ DATA should have been made by `org-outline-overlay-data'."
        (widen)
        (show-all)
        (mapc (lambda (c)
-               (setq o (make-overlay (car c) (cdr c)))
-               (overlay-put o 'invisible 'outline))
+               (outline-flag-region (car c) (cdr c) t))
              data)))))
 
 ;;; Folding of blocks
 
-(defconst org-block-regexp
-  "^[ \t]*#\\+begin_?\\([^ \n]+\\)\\(\\([^\n]+\\)\\)?\n\\([^\000]+?\\)#\\+end_?\\1[ \t]*$"
-  "Regular expression for hiding blocks.")
-
 (defvar org-hide-block-overlays nil
   "Overlays hiding blocks.")
 (make-variable-buffer-local 'org-hide-block-overlays)
@@ -6651,7 +6835,7 @@ or nil."
       (save-window-excursion
        (delete-other-windows)
        (and (get-buffer "*org-goto*") (kill-buffer "*org-goto*"))
-       (switch-to-buffer
+       (org-pop-to-buffer-same-window
         (condition-case nil
             (make-indirect-buffer (current-buffer) "*org-goto*")
           (error (make-indirect-buffer (current-buffer) "*org-goto*"))))
@@ -6716,7 +6900,7 @@ or nil."
 (defun org-goto-left ()
   "Finish `org-goto' by going to the new location."
   (interactive)
-  (if (org-on-heading-p)
+  (if (org-at-heading-p)
       (progn
        (beginning-of-line 1)
        (setq org-goto-selected-point (point)
@@ -6727,7 +6911,7 @@ or nil."
 (defun org-goto-right ()
   "Finish `org-goto' by going to the new location."
   (interactive)
-  (if (org-on-heading-p)
+  (if (org-at-heading-p)
       (progn
        (setq org-goto-selected-point (point)
              org-goto-exit-command 'right)
@@ -6776,7 +6960,7 @@ frame is not changed."
       (setq beg (point)
            heading (org-get-heading))
       (org-end-of-subtree t t)
-      (if (org-on-heading-p) (backward-char 1))
+      (if (org-at-heading-p) (backward-char 1))
       (setq end (point)))
     (if (and (buffer-live-p org-last-indirect-buffer)
             (not (eq org-indirect-buffer-display 'new-frame))
@@ -6789,7 +6973,7 @@ frame is not changed."
          (and arg (eq org-indirect-buffer-display 'dedicated-frame)))
       (select-frame (make-frame))
       (delete-other-windows)
-      (switch-to-buffer ibuf)
+      (org-pop-to-buffer-same-window ibuf)
       (org-set-frame-title heading))
      ((eq org-indirect-buffer-display 'dedicated-frame)
       (raise-frame
@@ -6798,10 +6982,10 @@ frame is not changed."
                              org-indirect-dedicated-frame)
                         (setq org-indirect-dedicated-frame (make-frame)))))
       (delete-other-windows)
-      (switch-to-buffer ibuf)
+      (org-pop-to-buffer-same-window ibuf)
       (org-set-frame-title (concat "Indirect: " heading)))
      ((eq org-indirect-buffer-display 'current-window)
-      (switch-to-buffer ibuf))
+      (org-pop-to-buffer-same-window ibuf))
      ((eq org-indirect-buffer-display 'other-window)
       (pop-to-buffer ibuf))
      (t (error "Invalid value")))
@@ -6810,6 +6994,7 @@ frame is not changed."
     (narrow-to-region beg end)
     (show-all)
     (goto-char pos)
+    (run-hook-with-args 'org-cycle-hook 'all)
     (and (window-live-p cwin) (select-window cwin))))
 
 (defun org-get-indirect-buffer (&optional buffer)
@@ -6853,15 +7038,15 @@ This is important for non-interactive uses of the command."
   (if (or (= (buffer-size) 0)
          (and (not (save-excursion
                      (and (ignore-errors (org-back-to-heading invisible-ok))
-                          (org-on-heading-p))))
-              (not (org-in-item-p))))
+                          (org-at-heading-p))))
+              (or force-heading (not (org-in-item-p)))))
       (progn
        (insert "\n* ")
        (run-hooks 'org-insert-heading-hook))
     (when (or force-heading (not (org-insert-item)))
       (let* ((empty-line-p nil)
             (level nil)
-            (on-heading (org-on-heading-p))
+            (on-heading (org-at-heading-p))
             (head (save-excursion
                     (condition-case nil
                         (progn
@@ -6874,7 +7059,7 @@ This is important for non-interactive uses of the command."
                             ;; Find a heading level before the inline task
                             (while (and (setq level (org-up-heading-safe))
                                         (>= level org-inlinetask-min-level)))
-                            (if (org-on-heading-p)
+                            (if (org-at-heading-p)
                                 (org-back-to-heading invisible-ok)
                               (error "This should not happen")))
                           (setq empty-line-p (org-previous-line-empty-p))
@@ -6884,7 +7069,7 @@ This is important for non-interactive uses of the command."
             (blank (if (eq blank-a 'auto) empty-line-p blank-a))
             pos hide-previous previous-pos)
        (cond
-        ((and (org-on-heading-p) (bolp)
+        ((and (org-at-heading-p) (bolp)
               (or (bobp)
                   (save-excursion (backward-char 1) (not (outline-invisible-p)))))
          ;; insert before the current line
@@ -6909,6 +7094,7 @@ This is important for non-interactive uses of the command."
                        (let ((p (point)))
                          (goto-char (point-at-bol))
                          (and (looking-at org-complex-heading-regexp)
+                              (match-beginning 4)
                               (> p (match-beginning 4)))))))
                tags pos)
            (cond
@@ -6924,7 +7110,7 @@ This is important for non-interactive uses of the command."
              (or (org-previous-line-empty-p)
                  (and blank (newline)))
              (open-line 1))
-            ((org-on-heading-p)
+            ((org-at-heading-p)
              (when hide-previous
                (show-children)
                (org-show-entry))
@@ -6969,14 +7155,15 @@ When NO-TODO is non-nil, don't include TODO keywords."
       (looking-at org-complex-heading-regexp)
       (match-string 4))
      (no-tags
-      (looking-at "\\*+[ \t]+\\([^\n\r]*?\\)\\([ \t]+:[[:alnum:]:_@#%]+:[ \t]*\\)?$")
+      (looking-at (concat org-outline-regexp
+                         "\\(.*?\\)"
+                         "\\(?:[ \t]+:[[:alnum:]:_@#%]+:\\)?[ \t]*$"))
       (match-string 1))
      (no-todo
-      (looking-at (concat "\\*+[ \t]+" org-todo-regexp " +"
-                         "\\([^\n\r]*?[ \t]+:[[:alnum:]:_@#%]+:[ \t]*\\)?$"))
-      (match-string 2))
-     (t (looking-at "\\*+[ \t]+\\([^\r\n]*\\)")
-       (match-string 1)))))
+      (looking-at org-todo-line-regexp)
+      (match-string 3))
+     (t (looking-at org-heading-regexp)
+       (match-string 2)))))
 
 (defun org-heading-components ()
   "Return the components of the current heading.
@@ -7058,7 +7245,7 @@ Works for outline headings and for plain lists alike."
   (interactive "P")
   (org-insert-heading arg)
   (cond
-   ((org-on-heading-p) (org-do-demote))
+   ((org-at-heading-p) (org-do-demote))
    ((org-at-item-p) (org-indent-item))))
 
 (defun org-insert-todo-subheading (arg)
@@ -7067,7 +7254,7 @@ Works for outline headings and for plain lists alike."
   (interactive "P")
   (org-insert-todo-heading arg)
   (cond
-   ((org-on-heading-p) (org-do-demote))
+   ((org-at-heading-p) (org-do-demote))
    ((org-at-item-p) (org-indent-item))))
 
 ;;; Promotion and Demotion
@@ -7137,9 +7324,8 @@ in the region."
 The level is the number of stars at the beginning of the headline."
   (save-excursion
     (org-with-limited-levels
-     (ignore-errors
-       (org-back-to-heading t)
-       (funcall outline-level)))))
+     (if (ignore-errors (org-back-to-heading t))
+        (funcall outline-level)))))
 
 (defun org-get-previous-line-level ()
   "Return the outline depth of the last headline before the current line.
@@ -7196,7 +7382,7 @@ in the region."
                                          after-change-functions))
         (up-head (concat (make-string (org-get-valid-level level -1) ?*) " "))
         (diff (abs (- level (length up-head) -1))))
-    (if (= level 1) (error "Cannot promote to level 0. UNDO to recover if necessary"))
+    (if (= level 1) (error "Cannot promote to level 0.  UNDO to recover if necessary"))
     (replace-match up-head nil t)
     ;; Fixup tag positioning
     (and org-auto-align-tags (org-set-tags nil t))
@@ -7282,6 +7468,7 @@ After top level, it switches back to sibling level."
                  (not (eobp)))
        (funcall fun)))))
 
+(defvar org-property-end-re) ; silence byte-compiler
 (defun org-fixup-indentation (diff)
   "Change the indentation in the current entry by DIFF.
 However, if any line in the current entry has no indentation, or if it
@@ -7517,15 +7704,15 @@ the inserted text when done."
   (org-with-limited-levels
    (let* ((visp (not (outline-invisible-p)))
          (txt tree)
-         (^re_ (concat "\\(\\*+\\)[  \t]*")) ;FIXME: Why `concat'?
+         (^re_ "\\(\\*+\\)[  \t]*")
          (old-level (if (string-match org-outline-regexp-bol txt)
                         (- (match-end 0) (match-beginning 0) 1)
                       -1))
          (force-level (cond (level (prefix-numeric-value level))
                             ((and (looking-at "[ \t]*$")
                                   (string-match
-                                   ^re_ (buffer-substring
-                                         (point-at-bol) (point))))
+                                   "^\\*+$" (buffer-substring
+                                             (point-at-bol) (point))))
                              (- (match-end 1) (match-beginning 1)))
                             ((and (bolp)
                                   (looking-at org-outline-regexp))
@@ -7535,7 +7722,7 @@ the inserted text when done."
                            (condition-case nil
                                (progn
                                  (outline-previous-visible-heading 1)
-                                 (if (looking-at re) ;FIXME: What's `re'?
+                                 (if (looking-at ^re_)
                                      (- (match-end 0) (match-beginning 0) 1)
                                    1))
                              (error 1))))
@@ -7544,7 +7731,7 @@ the inserted text when done."
                            (progn
                              (or (looking-at org-outline-regexp)
                                  (outline-next-visible-heading 1))
-                             (if (looking-at re) ;FIXME: What's `re'?
+                             (if (looking-at ^re_)
                                  (- (match-end 0) (match-beginning 0) 1)
                                1))
                          (error 1))))
@@ -7562,7 +7749,7 @@ the inserted text when done."
      (if force-level
         (delete-region (point-at-bol) (point)))
      ;; Paste
-     (beginning-of-line 1)
+     (beginning-of-line (if (bolp) 1 2))
      (unless for-yank (org-back-over-empty-lines))
      (setq beg (point))
      (and (fboundp 'org-id-paste-tracker) (org-id-paste-tracker txt))
@@ -7663,23 +7850,17 @@ If yes, remember the marker and the distance to BEG."
        (narrow-to-region
        (progn (org-back-to-heading t) (point))
        (progn (org-end-of-subtree t t)
-              (if (and (org-on-heading-p) (not (eobp))) (backward-char 1))
+              (if (and (org-at-heading-p) (not (eobp))) (backward-char 1))
               (point)))))))
 
 (defun org-narrow-to-block ()
   "Narrow buffer to the current block."
   (interactive)
-  (let ((bstart "^[ \t]*#\\+begin")
-       (bend "[ \t]*#\\+end")
-       (case-fold-search t) ;; allow #+BEGIN
-       b_start b_end)
-    (if (org-in-regexps-block-p bstart bend)
-       (progn
-         (save-excursion (re-search-backward bstart nil t)
-                         (setq b_start (match-beginning 0)))
-         (save-excursion (re-search-forward  bend nil t)
-                         (setq b_end (match-end 0)))
-         (narrow-to-region b_start b_end))
+  (let* ((case-fold-search t)
+        (blockp (org-between-regexps-p "^[ \t]*#\\+begin_.*"
+                                        "^[ \t]*#\\+end_.*")))
+    (if blockp
+       (narrow-to-region (car blockp) (cdr blockp))
       (error "Not in a block"))))
 
 (eval-when-compile
@@ -7713,7 +7894,8 @@ I this way you can spell out a number of instances of a repeating task,
 and still retain the repeater to cover future instances of the task."
   (interactive "nNumber of clones to produce: \nsDate shift per clone (e.g. +1w, empty to copy unchanged): ")
   (let (beg end template task idprop
-           shift-n shift-what doshift nmin nmax (n-no-remove -1))
+           shift-n shift-what doshift nmin nmax (n-no-remove -1)
+           (drawer-re org-drawer-regexp))
     (if (not (and (integerp n) (> n 0)))
        (error "Invalid number of replications %s" n))
     (if (and (setq doshift (and (stringp shift) (string-match "\\S-" shift)))
@@ -7734,19 +7916,6 @@ and still retain the repeater to cover future instances of the task."
     (or (bolp) (insert "\n"))
     (setq end (point))
     (setq template (buffer-substring beg end))
-    ;; Remove clocks and empty drawers
-    (with-temp-buffer
-      (insert template)
-      (goto-char (point-min))
-      (while (re-search-forward
-             "^[ \t]*CLOCK:.*$" (save-excursion (org-end-of-subtree t t)) t)
-       (replace-match "")
-       (kill-whole-line))
-      (goto-char (point-min))
-      (while (re-search-forward
-             (concat "^[ \t]*:" (regexp-opt org-drawers) ":[ \t]*$") nil t)
-       (mapc (lambda(d) (org-remove-empty-drawer-at d (point))) org-drawers))
-      (setq template (buffer-substring (point-min) (point-max))))
     (when (and doshift
               (string-match "<[^<>\n]+ \\+[0-9]+[dwmy][^<>\n]*>" template))
       (delete-region beg end)
@@ -7759,11 +7928,17 @@ and still retain the repeater to cover future instances of the task."
            (insert template)
            (org-mode)
            (goto-char (point-min))
+           (org-show-subtree)
            (and idprop (if org-clone-delete-id
                            (org-entry-delete nil "ID")
                          (org-id-get-create t)))
-           (while (re-search-forward org-property-start-re nil t)
-             (org-remove-empty-drawer-at "PROPERTIES" (point)))
+           (unless (= n 0)
+             (while (re-search-forward "^[ \t]*CLOCK:.*$" nil t)
+               (kill-whole-line))
+             (goto-char (point-min))
+             (while (re-search-forward drawer-re nil t)
+               (mapc (lambda (d)
+                       (org-remove-empty-drawer-at d (point))) org-drawers)))
            (goto-char (point-min))
            (when doshift
              (while (re-search-forward org-ts-regexp-both nil t)
@@ -7853,9 +8028,9 @@ WITH-CASE, the sorting considers case as well."
       (setq end (region-end)
             what "region")
       (goto-char (region-beginning))
-      (if (not (org-on-heading-p)) (outline-next-heading))
+      (if (not (org-at-heading-p)) (outline-next-heading))
       (setq start (point)))
-     ((or (org-on-heading-p)
+     ((or (org-at-heading-p)
           (condition-case nil (progn (org-back-to-heading) t) (error nil)))
       ;; we will sort the children of the current headline
       (org-back-to-heading)
@@ -7871,7 +8046,7 @@ WITH-CASE, the sorting considers case as well."
      (t
       ;; we will sort the top-level entries in this file
       (goto-char (point-min))
-      (or (org-on-heading-p) (outline-next-heading))
+      (or (org-at-heading-p) (outline-next-heading))
       (setq start (point))
       (goto-char (point-max))
       (beginning-of-line 1)
@@ -8335,6 +8510,7 @@ call CMD."
             (org-back-to-heading t)
             (setq beg (point) end (org-end-of-subtree t t)))
           (put-text-property beg end 'org-category cat)
+          (put-text-property beg end 'org-category-position beg)
           (goto-char pos)))))))
 
 
@@ -8525,7 +8701,7 @@ For file links, arg negates `org-context-in-file-links'."
         (setq cpltxt (concat "file:" file)
               link (org-make-link cpltxt))))
 
-      ((and (buffer-file-name (buffer-base-buffer)) (org-mode-p))
+      ((and (buffer-file-name (buffer-base-buffer)) (eq major-mode 'org-mode))
        (setq custom-id (org-entry-get nil "CUSTOM_ID"))
        (cond
        ((org-in-regexp "<<\\(.*?\\)>>")
@@ -8563,7 +8739,7 @@ For file links, arg negates `org-context-in-file-links'."
         ;; Add a context search string
         (when (org-xor org-context-in-file-links arg)
           (setq txt (cond
-                     ((org-on-heading-p) nil)
+                     ((org-at-heading-p) nil)
                      ((org-region-active-p)
                       (buffer-substring (region-beginning) (region-end)))
                      (t nil)))
@@ -8853,7 +9029,7 @@ This command can be called in any mode to insert a link in Org-mode syntax."
   (org-load-modules-maybe)
   (org-run-like-in-org-mode 'org-insert-link))
 
-(defun org-insert-link (&optional complete-file link-location)
+(defun org-insert-link (&optional complete-file link-location default-description)
   "Insert a link.  At the prompt, enter the link.
 
 Completion can be used to insert any of the link protocol prefixes like
@@ -8871,8 +9047,8 @@ be displayed in the buffer instead of the link.
 If there is already a link at point, this command will allow you to edit link
 and description parts.
 
-With a \\[universal-argument] prefix, prompts for a file to link to. The file name can
-be selected using completion. The path to the file will be relative to the
+With a \\[universal-argument] prefix, prompts for a file to link to.  The file name can
+be selected using completion.  The path to the file will be relative to the
 current directory if the file is in the current directory or a subdirectory.
 Otherwise, the link will be the absolute path as completed in the minibuffer
 \(i.e. normally ~/path/to/file).  You can configure this behavior using the
@@ -8889,7 +9065,10 @@ called with the link target, and the result will be the default
 link description.
 
 If the LINK-LOCATION parameter is non-nil, this value will be
-used as the link location instead of reading one interactively."
+used as the link location instead of reading one interactively.
+
+If the DEFAULT-DESCRIPTION parameter is non-nil, this value will
+be used as the default description."
   (interactive "P")
   (let* ((wcf (current-window-configuration))
         (region (if (org-region-active-p)
@@ -8930,7 +9109,7 @@ Use TAB to complete link prefixes, then RET for type-specific completion support
                  (reverse org-stored-links) "\n"))))
       (let ((cw (selected-window)))
        (select-window (get-buffer-window "*Org Links*" 'visible))
-       (with-current-buffer "*Org Links*" (setq truncate-lines) t)
+       (with-current-buffer "*Org Links*" (setq truncate-lines t))
        (unless (pos-visible-in-window-p (point-max))
          (org-fit-window-to-buffer))
        (and (window-live-p cw) (select-window cw)))
@@ -9017,7 +9196,8 @@ Use TAB to complete link prefixes, then RET for type-specific completion support
            (setq desc path))))
 
     (if org-make-link-description-function
-       (setq desc (funcall org-make-link-description-function link desc)))
+       (setq desc (funcall org-make-link-description-function link desc))
+      (if default-description (setq desc default-description)))
 
     (setq desc (read-string "Description: " desc))
     (unless (string-match "\\S-" desc) (setq desc nil))
@@ -9054,10 +9234,12 @@ Use TAB to complete link prefixes, then RET for type-specific completion support
 
 (defun org-completing-read (&rest args)
   "Completing-read with SPACE being a normal character."
-  (let ((minibuffer-local-completion-map
+  (let ((enable-recursive-minibuffers t)
+       (minibuffer-local-completion-map
         (copy-keymap minibuffer-local-completion-map)))
     (org-defkey minibuffer-local-completion-map " " 'self-insert-command)
     (org-defkey minibuffer-local-completion-map "?" 'self-insert-command)
+    (org-defkey minibuffer-local-completion-map (kbd "C-c !") 'org-time-stamp-inactive)
     (apply 'org-icompleting-read args)))
 
 (defun org-completing-read-no-i (&rest args)
@@ -9228,7 +9410,8 @@ This is still an experimental function, your mileage may vary."
   (org-open-at-point 'in-emacs))
 
 (defun org-open-at-mouse (ev)
-  "Open file link or URL at mouse."
+  "Open file link or URL at mouse.
+See the docstring of `org-open-file' for details."
   (interactive "e")
   (mouse-set-point ev)
   (if (eq major-mode 'org-agenda-mode)
@@ -9289,7 +9472,7 @@ application the system uses for this file type."
   (setq org-window-config-before-follow-link (current-window-configuration))
   (org-remove-occur-highlights nil nil t)
   (cond
-   ((and (org-on-heading-p)
+   ((and (org-at-heading-p)
         (not (org-in-regexp
               (concat org-plain-link-re "\\|"
                       org-bracket-link-regexp "\\|"
@@ -9337,7 +9520,8 @@ application the system uses for this file type."
        (save-excursion
          (when (or (org-in-regexp org-angle-link-re)
                    (org-in-regexp org-plain-link-re))
-           (setq type (match-string 1) path (match-string 2))
+           (setq type (match-string 1)
+                 path (org-link-unescape (match-string 2)))
            (throw 'match t)))
        (save-excursion
          (when (org-in-regexp (org-re "\\(:[[:alnum:]_@#%:]+\\):[ \t]*$"))
@@ -9391,13 +9575,16 @@ application the system uses for this file type."
            (apply cmd (nreverse args1))))
 
         ((member type '("http" "https" "ftp" "news"))
-         (browse-url (concat type ":" (org-link-escape
-                                       path org-link-escape-chars-browser))))
+         (browse-url (concat type ":" (if (org-string-match-p "[[:nonascii:] ]" path)
+                                          (org-link-escape
+                                           path org-link-escape-chars-browser)
+                                        path))))
 
         ((string= type "doi")
-         (browse-url (concat "http://dx.doi.org/"
-                              (org-link-escape
-                               path org-link-escape-chars-browser))))
+         (browse-url (concat "http://dx.doi.org/" (if (org-string-match-p "[[:nonascii:] ]" path)
+                                                      (org-link-escape
+                                                       path org-link-escape-chars-browser)
+                                                    path))))
 
         ((member type '("message"))
          (browse-url (concat type ":" path)))
@@ -9463,7 +9650,8 @@ application the system uses for this file type."
                              ((equal arg '(16)) ''org-occur)
                              (t nil))
                       ,pos)))
-           (condition-case nil (eval cmd)
+           (condition-case nil (let ((org-link-search-inhibit-query t))
+                                 (eval cmd))
              (error (progn (widen) (eval cmd))))))
 
         (t
@@ -9499,7 +9687,7 @@ there is one, offer it as link number zero."
      ((equal (length links) 1)
       (setq link (list (car links))))
      ((and (integerp nth) (>= (length links) (if have-zero (1+ nth) nth)))
-      (setq link (nth (if have-zero nth (1- nth)) links)))
+      (setq link (list (nth (if have-zero nth (1- nth)) links))))
      (t ; we have to select a link
       (save-excursion
        (save-window-excursion
@@ -9607,13 +9795,18 @@ the window configuration before `org-open-at-point' was called using:
     (set-window-configuration org-window-config-before-follow-link)")
 
 (defvar org-link-search-inhibit-query nil) ;; dynamically scoped
-(defun org-link-search (s &optional type avoid-pos)
+(defun org-link-search (s &optional type avoid-pos stealth)
   "Search for a link search option.
 If S is surrounded by forward slashes, it is interpreted as a
 regular expression.  In org-mode files, this will create an `org-occur'
 sparse tree.  In ordinary files, `occur' will be used to list matches.
 If the current buffer is in `dired-mode', grep will be used to search
-in all files.  If AVOID-POS is given, ignore matches near that position."
+in all files.  If AVOID-POS is given, ignore matches near that position.
+
+When optional argument STEALTH is non-nil, do not modify
+visibility around point, thus ignoring
+`org-show-hierarchy-above', `org-show-following-heading' and
+`org-show-siblings' variables."
   (let ((case-fold-search t)
        (s0 (mapconcat 'identity (org-split-string s "[ \t\r\n]+") " "))
        (markers (concat "\\(?:" (mapconcat (lambda (x) (regexp-quote (car x)))
@@ -9664,12 +9857,12 @@ in all files.  If AVOID-POS is given, ignore matches near that position."
      ((string-match "^/\\(.*\\)/$" s)
       ;; A regular expression
       (cond
-       ((org-mode-p)
+       ((eq major-mode 'org-mode)
        (org-occur (match-string 1 s)))
        ;;((eq major-mode 'dired-mode)
        ;; (grep (concat "grep -n -e '" (match-string 1 s) "' *")))
        (t (org-do-occur (match-string 1 s)))))
-     ((and (org-mode-p) org-link-search-must-match-exact-headline)
+     ((and (eq major-mode 'org-mode) org-link-search-must-match-exact-headline)
       (and (equal (string-to-char s) ?*) (setq s (substring s 1)))
       (goto-char (point-min))
       (cond
@@ -9737,7 +9930,9 @@ in all files.  If AVOID-POS is given, ignore matches near that position."
              (goto-char (match-beginning 1))
            (goto-char pos)
            (error "No match"))))))
-    (and (org-mode-p) (org-show-context 'link-search))
+    (and (eq major-mode 'org-mode)
+        (not stealth)
+        (org-show-context 'link-search))
     type))
 
 (defun org-search-not-self (group &rest args)
@@ -9833,7 +10028,7 @@ onto the ring."
       (setq p org-mark-ring))
     (setq org-mark-ring-last-goto p)
     (setq m (car p))
-    (switch-to-buffer (marker-buffer m))
+    (org-pop-to-buffer-same-window (marker-buffer m))
     (goto-char m)
     (if (or (outline-invisible-p) (org-invisible-p2)) (org-show-context 'mark-goto))))
 
@@ -9891,6 +10086,10 @@ Optional LINE specifies a line to go to, optional SEARCH a string
 to search for.  If LINE or SEARCH is given, the file will be
 opened in Emacs, unless an entry from org-file-apps that makes
 use of groups in a regexp matches.
+
+If you want to change the way frames are used when following a
+link, please customize `org-link-frame-setup'.
+
 If the file does not exist, an error is thrown."
   (let* ((file (if (equal path "")
                   buffer-file-name
@@ -9940,8 +10139,8 @@ If the file does not exist, an error is thrown."
                                 match)
                        (progn (setq in-emacs (or in-emacs line search))
                               nil))) ; if we have no match in apps-dlink,
-                                     ; always open the file in emacs if line or search
-                                     ; is given (for backwards compatibility)
+                                     ; always open the file in emacs if line or search
+                                     ; is given (for backwards compatibility)
                    (assoc-default dfile (org-apps-regexp-alist apps a-m-a-p)
                                   'string-match)
                    (cdr (assoc ext apps))
@@ -10002,7 +10201,7 @@ If the file does not exist, an error is thrown."
          (set-match-data link-match-data)
          (eval cmd))))
      (t (funcall (cdr (assq 'file org-link-frame-setup)) file)))
-    (and (org-mode-p) (eq old-mode 'org-mode)
+    (and (eq major-mode 'org-mode) (eq old-mode 'org-mode)
         (or (not (equal old-buffer (current-buffer)))
             (not (equal old-pos (point))))
         (org-mark-ring-push old-pos old-buffer))))
@@ -10215,7 +10414,8 @@ on the system \"/user@host:\"."
                           (or (funcall org-refile-target-verify-function)
                               (throw 'next t))))
                       (when (and (looking-at org-complex-heading-regexp)
-                                 (not (member (match-string 4) excluded-entries)))
+                                 (not (member (match-string 4) excluded-entries))
+                                 (match-string 4))
                         (setq level (org-reduced-level
                                      (- (match-end 1) (match-beginning 1)))
                               txt (org-link-display-format (match-string 4))
@@ -10325,7 +10525,7 @@ such as the file name."
   (interactive "P")
   (let* ((bfn (buffer-file-name (buffer-base-buffer)))
         (case-fold-search nil)
-        (path (and (org-mode-p) (org-get-outline-path))))
+        (path (and (eq major-mode 'org-mode) (org-get-outline-path))))
     (if current (setq path (append path
                                   (save-excursion
                                     (org-back-to-heading t)
@@ -10391,8 +10591,10 @@ prefix argument (`C-u C-u C-u C-c C-w')."
        (goto-char region-start)
        (or (bolp) (goto-char (point-at-bol)))
        (setq region-start (point))
-       (unless (org-kill-is-subtree-p
-                (buffer-substring region-start region-end))
+       (unless (or (org-kill-is-subtree-p
+                    (buffer-substring region-start region-end))
+                   (prog1 org-refile-active-region-within-subtree
+                     (org-toggle-heading)))
          (error "The region is not a (sequence of) subtree(s)")))
       (if (equal goto '(16))
          (org-refile-goto-last-stored)
@@ -10407,10 +10609,20 @@ prefix argument (`C-u C-u C-u C-c C-w')."
                                       (marker-position org-clock-hd-marker)))
                      (setq goto nil)))
               (setq it (or rfloc
-                           (save-excursion
-                             (org-refile-get-location
-                              (if goto "Goto" "Refile to") default-buffer
-                              org-refile-allow-creating-parent-nodes)))))
+                           (let (heading-text)
+                             (save-excursion
+                               (unless goto
+                                 (org-back-to-heading t)
+                                 (setq heading-text
+                                       (nth 4 (org-heading-components))))
+                               (org-refile-get-location
+                                (cond (goto "Goto")
+                                      (regionp "Refile region to")
+                                      (t (concat "Refile subtree \""
+                                                 heading-text "\" to")))
+                                default-buffer
+                                org-refile-allow-creating-parent-nodes
+                                goto))))))
          (setq file (nth 1 it)
                re (nth 2 it)
                pos (nth 3 it))
@@ -10429,7 +10641,7 @@ prefix argument (`C-u C-u C-u C-c C-w')."
                         (find-file-noselect file)))
          (if goto
              (progn
-               (switch-to-buffer nbuf)
+               (org-pop-to-buffer-same-window nbuf)
                (goto-char pos)
                (org-show-context 'org-goto))
            (if regionp
@@ -10489,16 +10701,20 @@ prefix argument (`C-u C-u C-u C-c C-w')."
   (bookmark-jump "org-refile-last-stored")
   (message "This is the location of the last refile"))
 
-(defun org-refile-get-location (&optional prompt default-buffer new-nodes)
+(defun org-refile-get-location (&optional prompt default-buffer new-nodes
+                                         no-exclude)
   "Prompt the user for a refile location, using PROMPT.
 PROMPT should not be suffixed with a colon and a space, because
 this function appends the default value from
-`org-refile-history' automatically, if that is not empty."
+`org-refile-history' automatically, if that is not empty.
+When NO-EXCLUDE is set, do not exclude headlines in the current subtree,
+this is used for the GOTO interface."
   (let ((org-refile-targets org-refile-targets)
        (org-refile-use-outline-path org-refile-use-outline-path)
        excluded-entries)
     (when (and (eq major-mode 'org-mode)
-              (not org-refile-use-cache))
+              (not org-refile-use-cache)
+              (not no-exclude))
       (org-map-tree
        (lambda()
         (setq excluded-entries
@@ -10776,7 +10992,7 @@ Error if there is no such block at point."
   "Update all dynamic blocks in the buffer.
 This function can be used in a hook."
   (interactive)
-  (when (org-mode-p)
+  (when (eq major-mode 'org-mode)
     (org-map-dblocks 'org-update-dblock)))
 
 
@@ -10795,10 +11011,8 @@ This function can be used in a hook."
     "BEGIN_CENTER" "END_CENTER"
     "BEGIN_SRC" "END_SRC"
     "BEGIN_RESULT" "END_RESULT"
-    "SOURCE:" "SRCNAME:" "FUNCTION:"
-    "RESULTS:" "DATA:"
+    "NAME:" "RESULTS:"
     "HEADER:" "HEADERS:"
-    "BABEL:"
     "CATEGORY:" "COLUMNS:" "PROPERTY:"
     "CAPTION:" "LABEL:"
     "SETUPFILE:"
@@ -10897,13 +11111,16 @@ expands them."
   (save-excursion
     (org-back-to-heading)
     (let (case-fold-search)
-      (if (looking-at (concat org-outline-regexp
-                             "\\( *\\<" org-comment-string "\\>[ \t]*\\)"))
-         (replace-match "" t t nil 1)
-       (if (looking-at org-outline-regexp)
-           (progn
-             (goto-char (match-end 0))
-             (insert org-comment-string " ")))))))
+      (cond
+       ((looking-at (format org-heading-keyword-regexp-format
+                           org-comment-string))
+       (goto-char (match-end 1))
+       (looking-at (concat " +" org-comment-string))
+       (replace-match "" t t)
+       (when (eolp) (insert " ")))
+       ((looking-at org-outline-regexp)
+       (goto-char (match-end 0))
+       (insert org-comment-string " "))))))
 
 (defvar org-last-todo-state-is-todo nil
   "This is non-nil when the last TODO state change led to a TODO state.
@@ -10929,26 +11146,21 @@ nil or a string to be used for the todo mark." )
   (let* ((ct (org-current-time))
          (dct (decode-time ct))
          (ct1
-          (if (< (nth 2 dct) org-extend-today-until)
+          (if (and org-use-effective-time
+                   (< (nth 2 dct) org-extend-today-until))
               (encode-time 0 59 23 (1- (nth 3 dct)) (nth 4 dct) (nth 5 dct))
             ct)))
     ct1))
 
 (defun org-todo-yesterday (&optional arg)
-  "Like `org-todo' but the time of change will be 23:59 of yesterday"
+  "Like `org-todo' but the time of change will be 23:59 of yesterday."
   (interactive "P")
-  (let* ((hour (third (decode-time
-                       (org-current-time))))
-         (org-extend-today-until (1+ hour)))
-    (org-todo arg)))
-
-(defun org-agenda-todo-yesterday (&optional arg)
-  "Like `org-agenda-todo' but the time of change will be 23:59 of yesterday"
-  (interactive "P")
-  (let* ((hour (third (decode-time
-                       (org-current-time))))
-         (org-extend-today-until (1+ hour)))
-    (org-agenda-todo arg)))
+  (if (eq major-mode 'org-agenda-mode)
+      (apply 'org-agenda-todo-yesterday arg)
+    (let* ((hour (third (decode-time
+                        (org-current-time))))
+          (org-extend-today-until (1+ hour)))
+      (org-todo arg))))
 
 (defun org-todo (&optional arg)
   "Change the TODO state of an item.
@@ -10969,6 +11181,7 @@ With numeric prefix arg, switch to that state.
 With a double \\[universal-argument] prefix, switch to the next set of TODO \
 keywords (nextset).
 With a triple \\[universal-argument] prefix, circumvent any state blocking.
+With a numeric prefix arg of 0, inhibit note taking for the change.
 
 For calling through lisp, arg is also interpreted in the following way:
 'none             -> empty state
@@ -10979,191 +11192,202 @@ For calling through lisp, arg is also interpreted in the following way:
 \"WAITING\"         -> switch to the specified keyword, but only if it
                      really is a member of `org-todo-keywords'."
   (interactive "P")
-  (if (equal arg '(16)) (setq arg 'nextset))
-  (let ((org-blocker-hook org-blocker-hook)
-       (case-fold-search nil))
-    (when (equal arg '(64))
-      (setq arg nil org-blocker-hook nil))
-    (when (and org-blocker-hook
-              (or org-inhibit-blocking
-                  (org-entry-get nil "NOBLOCKING")))
-      (setq org-blocker-hook nil))
-    (save-excursion
-      (catch 'exit
-       (org-back-to-heading t)
-       (if (looking-at org-outline-regexp) (goto-char (1- (match-end 0))))
-       (or (looking-at (concat " +" org-todo-regexp "\\( +\\|$\\)"))
-           (looking-at " *"))
-       (let* ((match-data (match-data))
-              (startpos (point-at-bol))
-              (logging (save-match-data (org-entry-get nil "LOGGING" t t)))
-              (org-log-done org-log-done)
-              (org-log-repeat org-log-repeat)
-              (org-todo-log-states org-todo-log-states)
-              (this (match-string 1))
-              (hl-pos (match-beginning 0))
-              (head (org-get-todo-sequence-head this))
-              (ass (assoc head org-todo-kwd-alist))
-              (interpret (nth 1 ass))
-              (done-word (nth 3 ass))
-              (final-done-word (nth 4 ass))
-              (last-state (or this ""))
-              (completion-ignore-case t)
-              (member (member this org-todo-keywords-1))
-              (tail (cdr member))
-              (state (cond
-                      ((and org-todo-key-trigger
-                            (or (and (equal arg '(4))
-                                     (eq org-use-fast-todo-selection 'prefix))
-                                (and (not arg) org-use-fast-todo-selection
-                                     (not (eq org-use-fast-todo-selection
-                                              'prefix)))))
-                       ;; Use fast selection
-                       (org-fast-todo-selection))
-                      ((and (equal arg '(4))
-                            (or (not org-use-fast-todo-selection)
-                                (not org-todo-key-trigger)))
-                       ;; Read a state with completion
-                       (org-icompleting-read
-                        "State: " (mapcar (lambda(x) (list x))
-                                          org-todo-keywords-1)
-                        nil t))
-                      ((eq arg 'right)
-                       (if this
-                           (if tail (car tail) nil)
-                         (car org-todo-keywords-1)))
-                      ((eq arg 'left)
-                       (if (equal member org-todo-keywords-1)
-                           nil
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
+                   'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        `(org-todo ,arg)
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (if (equal arg '(16)) (setq arg 'nextset))
+    (let ((org-blocker-hook org-blocker-hook)
+         (case-fold-search nil))
+      (when (equal arg '(64))
+       (setq arg nil org-blocker-hook nil))
+      (when (and org-blocker-hook
+                (or org-inhibit-blocking
+                    (org-entry-get nil "NOBLOCKING")))
+       (setq org-blocker-hook nil))
+      (save-excursion
+       (catch 'exit
+         (org-back-to-heading t)
+         (if (looking-at org-outline-regexp) (goto-char (1- (match-end 0))))
+         (or (looking-at (concat " +" org-todo-regexp "\\( +\\|[ \t]*$\\)"))
+             (looking-at "\\(?: *\\|[ \t]*$\\)"))
+         (let* ((match-data (match-data))
+                (startpos (point-at-bol))
+                (logging (save-match-data (org-entry-get nil "LOGGING" t t)))
+                (org-log-done org-log-done)
+                (org-log-repeat org-log-repeat)
+                (org-todo-log-states org-todo-log-states)
+                (org-inhibit-logging
+                 (if (equal arg 0)
+                     (progn (setq arg nil) 'note) org-inhibit-logging))
+                (this (match-string 1))
+                (hl-pos (match-beginning 0))
+                (head (org-get-todo-sequence-head this))
+                (ass (assoc head org-todo-kwd-alist))
+                (interpret (nth 1 ass))
+                (done-word (nth 3 ass))
+                (final-done-word (nth 4 ass))
+                (last-state (or this ""))
+                (completion-ignore-case t)
+                (member (member this org-todo-keywords-1))
+                (tail (cdr member))
+                (state (cond
+                        ((and org-todo-key-trigger
+                              (or (and (equal arg '(4))
+                                       (eq org-use-fast-todo-selection 'prefix))
+                                  (and (not arg) org-use-fast-todo-selection
+                                       (not (eq org-use-fast-todo-selection
+                                                'prefix)))))
+                         ;; Use fast selection
+                         (org-fast-todo-selection))
+                        ((and (equal arg '(4))
+                              (or (not org-use-fast-todo-selection)
+                                  (not org-todo-key-trigger)))
+                         ;; Read a state with completion
+                         (org-icompleting-read
+                          "State: " (mapcar (lambda(x) (list x))
+                                            org-todo-keywords-1)
+                          nil t))
+                        ((eq arg 'right)
                          (if this
-                             (nth (- (length org-todo-keywords-1)
-                                     (length tail) 2)
-                                  org-todo-keywords-1)
-                           (org-last org-todo-keywords-1))))
-                      ((and (eq org-use-fast-todo-selection t) (equal arg '(4))
-                            (setq arg nil))) ; hack to fall back to cycling
-                      (arg
-                       ;; user or caller requests a specific state
-                       (cond
-                        ((equal arg "") nil)
-                        ((eq arg 'none) nil)
-                        ((eq arg 'done) (or done-word (car org-done-keywords)))
-                        ((eq arg 'nextset)
-                         (or (car (cdr (member head org-todo-heads)))
-                             (car org-todo-heads)))
-                        ((eq arg 'previousset)
-                         (let ((org-todo-heads (reverse org-todo-heads)))
+                             (if tail (car tail) nil)
+                           (car org-todo-keywords-1)))
+                        ((eq arg 'left)
+                         (if (equal member org-todo-keywords-1)
+                             nil
+                           (if this
+                               (nth (- (length org-todo-keywords-1)
+                                       (length tail) 2)
+                                    org-todo-keywords-1)
+                             (org-last org-todo-keywords-1))))
+                        ((and (eq org-use-fast-todo-selection t) (equal arg '(4))
+                              (setq arg nil))) ; hack to fall back to cycling
+                        (arg
+                         ;; user or caller requests a specific state
+                         (cond
+                          ((equal arg "") nil)
+                          ((eq arg 'none) nil)
+                          ((eq arg 'done) (or done-word (car org-done-keywords)))
+                          ((eq arg 'nextset)
                            (or (car (cdr (member head org-todo-heads)))
-                               (car org-todo-heads))))
-                        ((car (member arg org-todo-keywords-1)))
-                        ((stringp arg)
-                         (error "State `%s' not valid in this file" arg))
-                        ((nth (1- (prefix-numeric-value arg))
-                              org-todo-keywords-1))))
-                      ((null member) (or head (car org-todo-keywords-1)))
-                      ((equal this final-done-word) nil) ;; -> make empty
-                      ((null tail) nil) ;; -> first entry
-                      ((memq interpret '(type priority))
-                       (if (eq this-command last-command)
-                           (car tail)
-                         (if (> (length tail) 0)
-                             (or done-word (car org-done-keywords))
-                           nil)))
-                      (t
-                       (car tail))))
-              (state (or
-                      (run-hook-with-args-until-success
-                       'org-todo-get-default-hook state last-state)
-                      state))
-              (next (if state (concat " " state " ") " "))
-              (change-plist (list :type 'todo-state-change :from this :to state
-                                  :position startpos))
-              dolog now-done-p)
-         (when org-blocker-hook
+                               (car org-todo-heads)))
+                          ((eq arg 'previousset)
+                           (let ((org-todo-heads (reverse org-todo-heads)))
+                             (or (car (cdr (member head org-todo-heads)))
+                                 (car org-todo-heads))))
+                          ((car (member arg org-todo-keywords-1)))
+                          ((stringp arg)
+                           (error "State `%s' not valid in this file" arg))
+                          ((nth (1- (prefix-numeric-value arg))
+                                org-todo-keywords-1))))
+                        ((null member) (or head (car org-todo-keywords-1)))
+                        ((equal this final-done-word) nil) ;; -> make empty
+                        ((null tail) nil) ;; -> first entry
+                        ((memq interpret '(type priority))
+                         (if (eq this-command last-command)
+                             (car tail)
+                           (if (> (length tail) 0)
+                               (or done-word (car org-done-keywords))
+                             nil)))
+                        (t
+                         (car tail))))
+                (state (or
+                        (run-hook-with-args-until-success
+                         'org-todo-get-default-hook state last-state)
+                        state))
+                (next (if state (concat " " state " ") " "))
+                (change-plist (list :type 'todo-state-change :from this :to state
+                                    :position startpos))
+                dolog now-done-p)
+           (when org-blocker-hook
+             (setq org-last-todo-state-is-todo
+                   (not (member this org-done-keywords)))
+             (unless (save-excursion
+                       (save-match-data
+                         (org-with-wide-buffer
+                          (run-hook-with-args-until-failure
+                           'org-blocker-hook change-plist))))
+               (if (org-called-interactively-p 'interactive)
+                   (error "TODO state change from %s to %s blocked" this state)
+                 ;; fail silently
+                 (message "TODO state change from %s to %s blocked" this state)
+                 (throw 'exit nil))))
+           (store-match-data match-data)
+           (replace-match next t t)
+           (unless (pos-visible-in-window-p hl-pos)
+             (message "TODO state changed to %s" (org-trim next)))
+           (unless head
+             (setq head (org-get-todo-sequence-head state)
+                   ass (assoc head org-todo-kwd-alist)
+                   interpret (nth 1 ass)
+                   done-word (nth 3 ass)
+                   final-done-word (nth 4 ass)))
+           (when (memq arg '(nextset previousset))
+             (message "Keyword-Set %d/%d: %s"
+                      (- (length org-todo-sets) -1
+                         (length (memq (assoc state org-todo-sets) org-todo-sets)))
+                      (length org-todo-sets)
+                      (mapconcat 'identity (assoc state org-todo-sets) " ")))
            (setq org-last-todo-state-is-todo
-                 (not (member this org-done-keywords)))
-           (unless (save-excursion
-                     (save-match-data
-                       (org-with-wide-buffer
-                        (run-hook-with-args-until-failure
-                         'org-blocker-hook change-plist))))
-             (if (org-called-interactively-p 'interactive)
-                 (error "TODO state change from %s to %s blocked" this state)
-               ;; fail silently
-               (message "TODO state change from %s to %s blocked" this state)
-               (throw 'exit nil))))
-         (store-match-data match-data)
-         (replace-match next t t)
-         (unless (pos-visible-in-window-p hl-pos)
-           (message "TODO state changed to %s" (org-trim next)))
-         (unless head
-           (setq head (org-get-todo-sequence-head state)
-                 ass (assoc head org-todo-kwd-alist)
-                 interpret (nth 1 ass)
-                 done-word (nth 3 ass)
-                 final-done-word (nth 4 ass)))
-         (when (memq arg '(nextset previousset))
-           (message "Keyword-Set %d/%d: %s"
-                    (- (length org-todo-sets) -1
-                       (length (memq (assoc state org-todo-sets) org-todo-sets)))
-                    (length org-todo-sets)
-                    (mapconcat 'identity (assoc state org-todo-sets) " ")))
-         (setq org-last-todo-state-is-todo
-               (not (member state org-done-keywords)))
-         (setq now-done-p (and (member state org-done-keywords)
-                               (not (member this org-done-keywords))))
-         (and logging (org-local-logging logging))
-         (when (and (or org-todo-log-states org-log-done)
-                    (not (eq org-inhibit-logging t))
-                    (not (memq arg '(nextset previousset))))
-           ;; we need to look at recording a time and note
-           (setq dolog (or (nth 1 (assoc state org-todo-log-states))
-                           (nth 2 (assoc this org-todo-log-states))))
-           (if (and (eq dolog 'note) (eq org-inhibit-logging 'note))
-               (setq dolog 'time))
-           (when (and state
-                      (member state org-not-done-keywords)
-                      (not (member this org-not-done-keywords)))
-             ;; This is now a todo state and was not one before
-             ;; If there was a CLOSED time stamp, get rid of it.
-             (org-add-planning-info nil nil 'closed))
-           (when (and now-done-p org-log-done)
-             ;; It is now done, and it was not done before
-             (org-add-planning-info 'closed (org-current-effective-time))
-             (if (and (not dolog) (eq 'note org-log-done))
-                 (org-add-log-setup 'done state this 'findpos 'note)))
-           (when (and state dolog)
-             ;; This is a non-nil state, and we need to log it
-             (org-add-log-setup 'state state this 'findpos dolog)))
-         ;; Fixup tag positioning
-         (org-todo-trigger-tag-changes state)
-         (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil t))
-         (when org-provide-todo-statistics
-           (org-update-parent-todo-statistics))
-         (run-hooks 'org-after-todo-state-change-hook)
-         (if (and arg (not (member state org-done-keywords)))
-             (setq head (org-get-todo-sequence-head state)))
-         (put-text-property (point-at-bol) (point-at-eol) 'org-todo-head head)
-         ;; Do we need to trigger a repeat?
-         (when now-done-p
-           (when (boundp 'org-agenda-headline-snapshot-before-repeat)
-             ;; This is for the agenda, take a snapshot of the headline.
-             (save-match-data
-               (setq org-agenda-headline-snapshot-before-repeat
-                     (org-get-heading))))
-           (org-auto-repeat-maybe state))
-         ;; Fixup cursor location if close to the keyword
-         (if (and (outline-on-heading-p)
-                  (not (bolp))
-                  (save-excursion (beginning-of-line 1)
-                                  (looking-at org-todo-line-regexp))
-                  (< (point) (+ 2 (or (match-end 2) (match-end 1)))))
-             (progn
-               (goto-char (or (match-end 2) (match-end 1)))
-               (and (looking-at " ") (just-one-space))))
-         (when org-trigger-hook
-           (save-excursion
-             (run-hook-with-args 'org-trigger-hook change-plist))))))))
+                 (not (member state org-done-keywords)))
+           (setq now-done-p (and (member state org-done-keywords)
+                                 (not (member this org-done-keywords))))
+           (and logging (org-local-logging logging))
+           (when (and (or org-todo-log-states org-log-done)
+                      (not (eq org-inhibit-logging t))
+                      (not (memq arg '(nextset previousset))))
+             ;; we need to look at recording a time and note
+             (setq dolog (or (nth 1 (assoc state org-todo-log-states))
+                             (nth 2 (assoc this org-todo-log-states))))
+             (if (and (eq dolog 'note) (eq org-inhibit-logging 'note))
+                 (setq dolog 'time))
+             (when (and state
+                        (member state org-not-done-keywords)
+                        (not (member this org-not-done-keywords)))
+               ;; This is now a todo state and was not one before
+               ;; If there was a CLOSED time stamp, get rid of it.
+               (org-add-planning-info nil nil 'closed))
+             (when (and now-done-p org-log-done)
+               ;; It is now done, and it was not done before
+               (org-add-planning-info 'closed (org-current-effective-time))
+               (if (and (not dolog) (eq 'note org-log-done))
+                   (org-add-log-setup 'done state this 'findpos 'note)))
+             (when (and state dolog)
+               ;; This is a non-nil state, and we need to log it
+               (org-add-log-setup 'state state this 'findpos dolog)))
+           ;; Fixup tag positioning
+           (org-todo-trigger-tag-changes state)
+           (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil t))
+           (when org-provide-todo-statistics
+             (org-update-parent-todo-statistics))
+           (run-hooks 'org-after-todo-state-change-hook)
+           (if (and arg (not (member state org-done-keywords)))
+               (setq head (org-get-todo-sequence-head state)))
+           (put-text-property (point-at-bol) (point-at-eol) 'org-todo-head head)
+           ;; Do we need to trigger a repeat?
+           (when now-done-p
+             (when (boundp 'org-agenda-headline-snapshot-before-repeat)
+               ;; This is for the agenda, take a snapshot of the headline.
+               (save-match-data
+                 (setq org-agenda-headline-snapshot-before-repeat
+                       (org-get-heading))))
+             (org-auto-repeat-maybe state))
+           ;; Fixup cursor location if close to the keyword
+           (if (and (outline-on-heading-p)
+                    (not (bolp))
+                    (save-excursion (beginning-of-line 1)
+                                    (looking-at org-todo-line-regexp))
+                    (< (point) (+ 2 (or (match-end 2) (match-end 1)))))
+               (progn
+                 (goto-char (or (match-end 2) (match-end 1)))
+                 (and (looking-at " ") (just-one-space))))
+           (when org-trigger-hook
+             (save-excursion
+               (run-hook-with-args 'org-trigger-hook change-plist)))))))))
 
 (defun org-block-todo-from-children-or-siblings-or-parent (change-plist)
   "Block turning an entry into a TODO, using the hierarchy.
@@ -11217,7 +11441,7 @@ changes.  Such blocking occurs when:
                     (forward-line 1)
                     (re-search-forward org-not-done-heading-regexp pos t))
            (throw 'dont-block nil))  ; block, there is an older sibling not done.
-         ;; Search further up the hierarchy, to see if an ancestor is blocked
+         ;; Search further up the hierarchy, to see if an anchestor is blocked
          (while t
            (goto-char parent-pos)
            (if (not (looking-at org-not-done-heading-regexp))
@@ -11291,8 +11515,11 @@ changes because there are unchecked boxes in this entry."
          (outline-next-heading)
          (setq end (point))
          (goto-char beg)
-         (if (re-search-forward "^[ \t]*\\([-+*]\\|[0-9]+[.)]\\)[ \t]+\\[[- ]\\]"
-                                end t)
+         (if (org-list-search-forward
+              (concat (org-item-beginning-re)
+                      "\\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[A-Za-z]\\)\\][ \t]*\\)?"
+                      "\\[[- ]\\]")
+              end t)
              (progn
                (if (boundp 'org-blocked-by-checkboxes)
                    (setq org-blocked-by-checkboxes t))
@@ -11319,17 +11546,17 @@ This should be called with the cursor in a line with a statistics cookie."
       (progn
        (org-update-checkbox-count 'all)
        (org-map-entries 'org-update-parent-todo-statistics))
-    (if (not (org-on-heading-p))
+    (if (not (org-at-heading-p))
        (org-update-checkbox-count)
       (let ((pos (move-marker (make-marker) (point)))
            end l1 l2)
        (ignore-errors (org-back-to-heading t))
-       (if (not (org-on-heading-p))
+       (if (not (org-at-heading-p))
            (org-update-checkbox-count)
          (setq l1 (org-outline-level))
          (setq end (save-excursion
                      (outline-next-heading)
-                     (if (org-on-heading-p) (setq l2 (org-outline-level)))
+                     (if (org-at-heading-p) (setq l2 (org-outline-level)))
                      (point)))
          (if (and (save-excursion
                     (re-search-forward
@@ -11724,39 +11951,47 @@ With argument REMOVE, remove any deadline from the item.
 With argument TIME, set the deadline at the corresponding date.  TIME
 can either be an Org date like \"2011-07-24\" or a delta like \"+2d\"."
   (interactive "P")
-  (let* ((old-date (org-entry-get nil "DEADLINE"))
-        (repeater (and old-date
-                       (string-match
-                        "\\([.+-]+[0-9]+[dwmy]\\(?:[/ ][-+]?[0-9]+[dwmy]\\)?\\) ?"
-                         old-date)
-                       (match-string 1 old-date))))
-    (if remove
-       (progn
-         (when (and old-date org-log-redeadline)
-           (org-add-log-setup 'deldeadline nil old-date 'findpos
-                              org-log-redeadline))
-         (org-remove-timestamp-with-keyword org-deadline-string)
-         (message "Item no longer has a deadline."))
-      (org-add-planning-info 'deadline time 'closed)
-      (when (and old-date org-log-redeadline
-                (not (equal old-date
-                            (substring org-last-inserted-timestamp 1 -1))))
-       (org-add-log-setup 'redeadline nil old-date 'findpos
-                          org-log-redeadline))
-      (when repeater
-       (save-excursion
-         (org-back-to-heading t)
-         (when (re-search-forward (concat org-deadline-string " "
-                                          org-last-inserted-timestamp)
-                                  (save-excursion
-                                    (outline-next-heading) (point)) t)
-           (goto-char (1- (match-end 0)))
-           (insert " " repeater)
-           (setq org-last-inserted-timestamp
-                 (concat (substring org-last-inserted-timestamp 0 -1)
-                         " " repeater
-                         (substring org-last-inserted-timestamp -1))))))
-      (message "Deadline on %s" org-last-inserted-timestamp))))
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
+                   'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        `(org-deadline ',remove ,time)
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (let* ((old-date (org-entry-get nil "DEADLINE"))
+          (repeater (and old-date
+                         (string-match
+                          "\\([.+-]+[0-9]+[dwmy]\\(?:[/ ][-+]?[0-9]+[dwmy]\\)?\\) ?"
+                          old-date)
+                         (match-string 1 old-date))))
+      (if remove
+         (progn
+           (when (and old-date org-log-redeadline)
+             (org-add-log-setup 'deldeadline nil old-date 'findpos
+                                org-log-redeadline))
+           (org-remove-timestamp-with-keyword org-deadline-string)
+           (message "Item no longer has a deadline."))
+       (org-add-planning-info 'deadline time 'closed)
+       (when (and old-date org-log-redeadline
+                  (not (equal old-date
+                              (substring org-last-inserted-timestamp 1 -1))))
+         (org-add-log-setup 'redeadline nil old-date 'findpos
+                            org-log-redeadline))
+       (when repeater
+         (save-excursion
+           (org-back-to-heading t)
+           (when (re-search-forward (concat org-deadline-string " "
+                                            org-last-inserted-timestamp)
+                                    (save-excursion
+                                      (outline-next-heading) (point)) t)
+             (goto-char (1- (match-end 0)))
+             (insert " " repeater)
+             (setq org-last-inserted-timestamp
+                   (concat (substring org-last-inserted-timestamp 0 -1)
+                           " " repeater
+                           (substring org-last-inserted-timestamp -1))))))
+       (message "Deadline on %s" org-last-inserted-timestamp)))))
 
 (defun org-schedule (&optional remove time)
   "Insert the SCHEDULED: string with a timestamp to schedule a TODO item.
@@ -11764,39 +11999,47 @@ With argument REMOVE, remove any scheduling date from the item.
 With argument TIME, scheduled at the corresponding date.  TIME can
 either be an Org date like \"2011-07-24\" or a delta like \"+2d\"."
   (interactive "P")
-  (let* ((old-date (org-entry-get nil "SCHEDULED"))
-        (repeater (and old-date
-                       (string-match
-                        "\\([.+-]+[0-9]+[dwmy]\\(?:[/ ][-+]?[0-9]+[dwmy]\\)?\\) ?"
-                        old-date)
-                       (match-string 1 old-date))))
-    (if remove
-       (progn
-         (when (and old-date org-log-reschedule)
-           (org-add-log-setup 'delschedule nil old-date 'findpos
-                              org-log-reschedule))
-         (org-remove-timestamp-with-keyword org-scheduled-string)
-         (message "Item is no longer scheduled."))
-      (org-add-planning-info 'scheduled time 'closed)
-      (when (and old-date org-log-reschedule
-                (not (equal old-date
-                            (substring org-last-inserted-timestamp 1 -1))))
-       (org-add-log-setup 'reschedule nil old-date 'findpos
-                          org-log-reschedule))
-      (when repeater
-       (save-excursion
-         (org-back-to-heading t)
-         (when (re-search-forward (concat org-scheduled-string " "
-                                          org-last-inserted-timestamp)
-                                  (save-excursion
-                                    (outline-next-heading) (point)) t)
-           (goto-char (1- (match-end 0)))
-           (insert " " repeater)
-           (setq org-last-inserted-timestamp
-                 (concat (substring org-last-inserted-timestamp 0 -1)
-                         " " repeater
-                         (substring org-last-inserted-timestamp -1))))))
-      (message "Scheduled to %s" org-last-inserted-timestamp))))
+  (if (and (org-region-active-p) org-loop-over-headlines-in-active-region)
+      (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
+                   'region-start-level 'region))
+           org-loop-over-headlines-in-active-region)
+       (org-map-entries
+        `(org-schedule ',remove ,time)
+        org-loop-over-headlines-in-active-region
+        cl (if (outline-invisible-p) (org-end-of-subtree nil t))))
+    (let* ((old-date (org-entry-get nil "SCHEDULED"))
+          (repeater (and old-date
+                         (string-match
+                          "\\([.+-]+[0-9]+[dwmy]\\(?:[/ ][-+]?[0-9]+[dwmy]\\)?\\) ?"
+                          old-date)
+                         (match-string 1 old-date))))
+      (if remove
+         (progn
+           (when (and old-date org-log-reschedule)
+             (org-add-log-setup 'delschedule nil old-date 'findpos
+                                org-log-reschedule))
+           (org-remove-timestamp-with-keyword org-scheduled-string)
+           (message "Item is no longer scheduled."))
+       (org-add-planning-info 'scheduled time 'closed)
+       (when (and old-date org-log-reschedule
+                  (not (equal old-date
+                              (substring org-last-inserted-timestamp 1 -1))))
+         (org-add-log-setup 'reschedule nil old-date 'findpos
+                            org-log-reschedule))
+       (when repeater
+         (save-excursion
+           (org-back-to-heading t)
+           (when (re-search-forward (concat org-scheduled-string " "
+                                            org-last-inserted-timestamp)
+                                    (save-excursion
+                                      (outline-next-heading) (point)) t)
+             (goto-char (1- (match-end 0)))
+             (insert " " repeater)
+             (setq org-last-inserted-timestamp
+                   (concat (substring org-last-inserted-timestamp 0 -1)
+                           " " repeater
+                           (substring org-last-inserted-timestamp -1))))))
+       (message "Scheduled to %s" org-last-inserted-timestamp)))))
 
 (defun org-get-scheduled-time (pom &optional inherit)
   "Get the scheduled time as a time tuple, of a format suitable
@@ -11861,9 +12104,8 @@ be removed."
                  default-input (and ts (org-get-compact-tod ts))))))
       (when what
        (setq time
-             (if (and (stringp time)
-                      (string-match "^[-+]+[0-9]" time))
-                 ;; This is a relative time, set the proper date
+             (if (stringp time)
+                 ;; This is a string (relative or absolute), set proper date
                  (apply 'encode-time
                         (org-read-date-analyze
                          time default-time (decode-time default-time)))
@@ -11914,7 +12156,7 @@ be removed."
                             (re-search-forward org-closed-time-regexp nil t)))
                (replace-match "")
                (if (looking-at "--+<[^>]+>") (replace-match ""))))
-           (and (looking-at "^[ \t]+") (replace-match ""))
+           (and (looking-at "[ \t]+") (replace-match ""))
            (and org-adapt-indentation (bolp) (org-indent-to-column col))
            (when what
              (insert
@@ -12041,7 +12283,7 @@ EXTRA is additional text that will be inserted into the notes buffer."
   (setq org-log-note-window-configuration (current-window-configuration))
   (delete-other-windows)
   (move-marker org-log-note-return-to (point))
-  (switch-to-buffer (marker-buffer org-log-note-marker))
+  (org-pop-to-buffer-same-window (marker-buffer org-log-note-marker))
   (goto-char org-log-note-marker)
   (org-switch-to-buffer-other-window "*Org Note*")
   (erase-buffer)
@@ -12071,7 +12313,8 @@ EXTRA is additional text that will be inserted into the notes buffer."
                      "this entry")
                     (t (error "This should not happen")))))
     (if org-log-note-extra (insert org-log-note-extra))
-    (org-set-local 'org-finish-function 'org-store-log-note)))
+    (org-set-local 'org-finish-function 'org-store-log-note)
+    (run-hooks 'org-log-buffer-setup-hook)))
 
 (defvar org-note-abort nil) ; dynamically scoped
 (defun org-store-log-note ()
@@ -12097,6 +12340,12 @@ EXTRA is additional text that will be inserted into the notes buffer."
                   (cons "%T" (format-time-string
                               (org-time-stamp-format 'long nil)
                               org-log-note-effective-time))
+                  (cons "%d" (format-time-string
+                              (org-time-stamp-format nil 'inactive)
+                              org-log-note-effective-time))
+                  (cons "%D" (format-time-string
+                              (org-time-stamp-format nil nil)
+                              org-log-note-effective-time))
                   (cons "%s" (if org-log-note-state
                                  (concat "\"" org-log-note-state "\"")
                                ""))
@@ -12175,7 +12424,7 @@ b      Show deadlines and scheduled items before a date.
 a      Show deadlines and scheduled items after a date."
   (interactive "P")
   (let (ans kwd value)
-    (message "Sparse tree: [r]egexp [/]regexp [t]odo [T]odo-kwd [m]atch [p]roperty\n             [d]eadlines [b]efore-date [a]fter-date")
+    (message "Sparse tree: [r]egexp [/]regexp [t]odo [T]odo-kwd [m]atch [p]roperty\n             [d]eadlines [b]efore-date [a]fter-date [D]ates range")
     (setq ans (read-char-exclusive))
     (cond
      ((equal ans ?d)
@@ -12184,6 +12433,8 @@ a      Show deadlines and scheduled items after a date."
       (call-interactively 'org-check-before-date))
      ((equal ans ?a)
       (call-interactively 'org-check-after-date))
+     ((equal ans ?D)
+      (call-interactively 'org-check-dates-range))
      ((equal ans ?t)
       (org-show-todo-tree nil))
      ((equal ans ?T)
@@ -12286,9 +12537,9 @@ starting point when no match is found."
 (defun org-show-context (&optional key)
   "Make sure point and context are visible.
 How much context is shown depends upon the variables
-`org-show-hierarchy-above', `org-show-following-heading'. and
-`org-show-siblings'."
-  (let ((heading-p   (org-on-heading-p t))
+`org-show-hierarchy-above', `org-show-following-heading',
+`org-show-entry-below' and `org-show-siblings'."
+  (let ((heading-p   (org-at-heading-p t))
        (hierarchy-p (org-get-alist-option org-show-hierarchy-above key))
        (following-p (org-get-alist-option org-show-following-heading key))
        (entry-p     (org-get-alist-option org-show-entry-below key))
@@ -12476,7 +12727,7 @@ ACTION can be `set', `up', `down', or a character."
 (defvar org-agenda-archives-mode)
 (defvar org-map-continue-from nil
   "Position from where mapping should continue.
-Can be set by the action argument to `org-scan-tag's and `org-map-entries'.")
+Can be set by the action argument to `org-scan-tags' and `org-map-entries'.")
 
 (defvar org-scanner-tags nil
   "The current tag list while the tags scanner is running.")
@@ -12491,7 +12742,7 @@ obtain a list of properties.  Building the tags list for each entry in such
 a file becomes an N^2 operation - but with this variable set, it scales
 as N.")
 
-(defun org-scan-tags (action matcher &optional todo-only)
+(defun org-scan-tags (action matcher &optional todo-only start-level)
   "Scan headline tags with inheritance and produce output ACTION.
 
 ACTION can be `sparse-tree' to produce a sparse tree in the current buffer,
@@ -12501,9 +12752,17 @@ this case the return value is a list of all return values from these calls.
 
 MATCHER is a Lisp form to be evaluated, testing if a given set of tags
 qualifies a headline for inclusion.  When TODO-ONLY is non-nil,
-only lines with a TODO keyword are included in the output."
+only lines with a TODO keyword are included in the output.
+
+START-LEVEL can be a string with asterisks, reducing the scope to
+headlines matching this string."
   (require 'org-agenda)
-  (let* ((re (concat "^" org-outline-regexp " *\\(\\<\\("
+  (let* ((re (concat "^"
+                    (if start-level
+                        ;; Get the correct level to match
+                        (concat "\\*\\{" (number-to-string start-level) "\\} ")
+                      org-outline-regexp)
+                    " *\\(\\<\\("
                     (mapconcat 'regexp-quote org-todo-keywords-1 "\\|")
                     (org-re
                      "\\>\\)\\)? *\\(.*?\\)\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*$")))
@@ -12513,6 +12772,7 @@ only lines with a TODO keyword are included in the output."
                      'mouse-face 'highlight
                      'org-not-done-regexp org-not-done-regexp
                      'org-todo-regexp org-todo-regexp
+                     'org-complex-heading-regexp org-complex-heading-regexp
                      'help-echo
                      (format "mouse-2 or RET jump to org file %s"
                              (abbreviate-file-name
@@ -12532,6 +12792,7 @@ only lines with a TODO keyword are included in the output."
        (org-overview)
        (org-remove-occur-highlights))
       (while (re-search-forward re nil t)
+       (setq org-map-continue-from nil)
        (catch :skip
          (setq todo (if (match-end 1) (org-match-string-no-properties 2))
                tags (if (match-end 4) (org-match-string-no-properties 4)))
@@ -12603,7 +12864,7 @@ only lines with a TODO keyword are included in the output."
                    (match-beginning 0) (match-beginning 1)))
              (org-show-context 'tags-tree))
             ((eq action 'agenda)
-             (setq txt (org-format-agenda-item
+             (setq txt (org-agenda-format-item
                         ""
                         (concat
                          (if (eq org-tags-match-list-sublevels 'indented)
@@ -12996,7 +13257,7 @@ If ONOFF is `on' or `off', don't toggle but set to this state."
          (goto-char (match-beginning 1))
          (insert " ")
          (delete-region (point) (1+ (match-beginning 2)))
-         (setq ncol (max (1+ (current-column))
+         (setq ncol (max (current-column)
                          (1+ col)
                          (if (> to-col 0)
                              to-col
@@ -13011,7 +13272,7 @@ If ONOFF is `on' or `off', don't toggle but set to this state."
 (defun org-set-tags-command (&optional arg just-align)
   "Call the set-tags command for the current entry."
   (interactive "P")
-  (if (org-on-heading-p)
+  (if (org-at-heading-p)
       (org-set-tags arg just-align)
     (save-excursion
       (org-back-to-heading t)
@@ -13055,7 +13316,7 @@ If DATA is nil or the empty string, any tags will be removed."
   (save-excursion
     (or (ignore-errors (org-back-to-heading t))
        (outline-next-heading))
-    (if (org-on-heading-p)
+    (if (org-at-heading-p)
        (org-set-tags t)
       (message "No headings"))))
 
@@ -13159,7 +13420,7 @@ This works in the agenda, and also in an org-mode buffer."
   (interactive
    (list (region-beginning) (region-end)
         (let ((org-last-tags-completion-table
-               (if (org-mode-p)
+               (if (eq major-mode 'org-mode)
                    (org-get-buffer-tags)
                  (org-global-tags-completion-table))))
           (org-icompleting-read
@@ -13178,7 +13439,7 @@ This works in the agenda, and also in an org-mode buffer."
     (loop for l from l1 to l2 do
          (org-goto-line l)
          (setq m (get-text-property (point) 'org-hd-marker))
-         (when (or (and (org-mode-p) (org-on-heading-p))
+         (when (or (and (eq major-mode 'org-mode) (org-at-heading-p))
                    (and agendap m))
            (setq buf (if agendap (marker-buffer m) (current-buffer))
                  pos (if agendap m (point)))
@@ -13439,7 +13700,7 @@ Returns the new tags string, or nil to not change the current settings."
 
 (defun org-get-tags-string ()
   "Get the TAGS string in the current headline."
-  (unless (org-on-heading-p t)
+  (unless (org-at-heading-p t)
     (error "Not on a heading"))
   (save-excursion
     (beginning-of-line 1)
@@ -13496,6 +13757,9 @@ SCOPE determines the scope of this command.  It can be any of:
 nil     The current buffer, respecting the restriction if any
 tree    The subtree started with the entry at point
 region  The entries within the active region, if any
+region-start-level
+        The entries within the active region, but only those at
+        the same level than the first one.
 file    The current buffer, without restriction
 file-with-archives
         The current buffer, and any archives associated with it
@@ -13524,61 +13788,76 @@ with `org-get-tags-at'.  If your function gets properties with
 to t around the call to `org-entry-properties' to get the same speedup.
 Note that if your function moves around to retrieve tags and properties at
 a *different* entry, you cannot use these techniques."
-  (let* ((org-agenda-archives-mode nil) ; just to make sure
-        (org-agenda-skip-archived-trees (memq 'archive skip))
-        (org-agenda-skip-comment-trees (memq 'comment skip))
-        (org-agenda-skip-function
-         (car (org-delete-all '(comment archive) skip)))
-        (org-tags-match-list-sublevels t)
-        matcher file res
-        org-todo-keywords-for-agenda
-        org-done-keywords-for-agenda
-        org-todo-keyword-alist-for-agenda
-        org-drawers-for-agenda
-        org-tag-alist-for-agenda)
+  (unless (and (or (eq scope 'region) (eq scope 'region-start-level))
+              (not (org-region-active-p)))
+    (let* ((org-agenda-archives-mode nil) ; just to make sure
+          (org-agenda-skip-archived-trees (memq 'archive skip))
+          (org-agenda-skip-comment-trees (memq 'comment skip))
+          (org-agenda-skip-function
+           (car (org-delete-all '(comment archive) skip)))
+          (org-tags-match-list-sublevels t)
+          (start-level (eq scope 'region-start-level))
+          matcher file res
+          org-todo-keywords-for-agenda
+          org-done-keywords-for-agenda
+          org-todo-keyword-alist-for-agenda
+          org-drawers-for-agenda
+          org-tag-alist-for-agenda)
 
-    (cond
-     ((eq match t)   (setq matcher t))
-     ((eq match nil) (setq matcher t))
-     (t (setq matcher (if match (cdr (org-make-tags-matcher match)) t))))
+      (cond
+       ((eq match t)   (setq matcher t))
+       ((eq match nil) (setq matcher t))
+       (t (setq matcher (if match (cdr (org-make-tags-matcher match)) t))))
 
-    (save-excursion
-      (save-restriction
-       (cond ((eq scope 'tree)
-              (org-back-to-heading t)
-              (org-narrow-to-subtree)
-              (setq scope nil))
-             ((and (eq scope 'region) (org-region-active-p))
-              (narrow-to-region (region-beginning) (region-end))
-              (setq scope nil)))
-
-       (if (not scope)
-           (progn
-             (org-prepare-agenda-buffers
-              (list (buffer-file-name (current-buffer))))
-             (setq res (org-scan-tags func matcher)))
-         ;; Get the right scope
-         (cond
-          ((and scope (listp scope) (symbolp (car scope)))
-           (setq scope (eval scope)))
-          ((eq scope 'agenda)
-           (setq scope (org-agenda-files t)))
-          ((eq scope 'agenda-with-archives)
-           (setq scope (org-agenda-files t))
-           (setq scope (org-add-archive-files scope)))
-          ((eq scope 'file)
-           (setq scope (list (buffer-file-name))))
-          ((eq scope 'file-with-archives)
-           (setq scope (org-add-archive-files (list (buffer-file-name))))))
-         (org-prepare-agenda-buffers scope)
-         (while (setq file (pop scope))
-           (with-current-buffer (org-find-base-buffer-visiting file)
-             (save-excursion
-               (save-restriction
-                 (widen)
-                 (goto-char (point-min))
-                 (setq res (append res (org-scan-tags func matcher))))))))))
-    res))
+      (save-excursion
+       (save-restriction
+         (cond ((eq scope 'tree)
+                (org-back-to-heading t)
+                (org-narrow-to-subtree)
+                (setq scope nil))
+               ((and (or (eq scope 'region) (eq scope 'region-start-level))
+                     (org-region-active-p))
+                ;; If needed, set start-level to a string like "2"
+                (when start-level
+                  (save-excursion
+                    (goto-char (region-beginning))
+                    (unless (org-at-heading-p) (outline-next-heading))
+                    (setq start-level (org-current-level))))
+                (narrow-to-region (region-beginning)
+                                  (save-excursion
+                                    (goto-char (region-end))
+                                    (unless (and (bolp) (org-at-heading-p))
+                                      (outline-next-heading))
+                                    (point)))
+                (setq scope nil)))
+
+         (if (not scope)
+             (progn
+               (org-prepare-agenda-buffers
+                (list (buffer-file-name (current-buffer))))
+               (setq res (org-scan-tags func matcher nil start-level)))
+           ;; Get the right scope
+           (cond
+            ((and scope (listp scope) (symbolp (car scope)))
+             (setq scope (eval scope)))
+            ((eq scope 'agenda)
+             (setq scope (org-agenda-files t)))
+            ((eq scope 'agenda-with-archives)
+             (setq scope (org-agenda-files t))
+             (setq scope (org-add-archive-files scope)))
+            ((eq scope 'file)
+             (setq scope (list (buffer-file-name))))
+            ((eq scope 'file-with-archives)
+             (setq scope (org-add-archive-files (list (buffer-file-name))))))
+           (org-prepare-agenda-buffers scope)
+           (while (setq file (pop scope))
+             (with-current-buffer (org-find-base-buffer-visiting file)
+               (save-excursion
+                 (save-restriction
+                   (widen)
+                   (goto-char (point-min))
+                   (setq res (append res (org-scan-tags func matcher))))))))))
+      res)))
 
 ;;;; Properties
 
@@ -13748,7 +14027,7 @@ things up because then unnecessary parsing is avoided."
          beg end range props sum-props key key1 value string clocksum)
       (save-excursion
        (when (condition-case nil
-                 (and (org-mode-p) (org-back-to-heading t))
+                 (and (eq major-mode 'org-mode) (org-back-to-heading t))
                (error nil))
          (setq beg (point))
          (setq sum-props (get-text-property (point) 'org-summaries))
@@ -13859,17 +14138,23 @@ when a \"nil\" value can supersede a non-nil value higher up the hierarchy."
          (cdr (assoc property (org-entry-properties nil 'special property)))
        (let ((range (unless (org-before-first-heading-p)
                       (org-get-property-block))))
-         (if (and range
-                  (goto-char (car range))
-                  (re-search-forward
-                   (org-re-property property)
-                   (cdr range) t))
-             ;; Found the property, return it.
-             (if (match-end 1)
-                 (if literal-nil
-                     (org-match-string-no-properties 1)
-                   (org-not-nil (org-match-string-no-properties 1)))
-               "")))))))
+         (when (and range (goto-char (car range)))
+           ((lambda (val) (when val (if literal-nil val (org-not-nil val))))
+            (cond
+             ((re-search-forward
+               (org-re-property property) (cdr range) t)
+              (if (match-end 1) (org-match-string-no-properties 1) ""))
+             ((re-search-forward
+               (org-re-property (concat property "+")) (cdr range) t)
+              (cdr (assoc
+                    property
+                    (org-update-property-plist
+                     (concat property "+")
+                     (if (match-end 1) (org-match-string-no-properties 1) "")
+                     (list (or (assoc property org-file-properties)
+                               (assoc property org-global-properties)
+                               (assoc property org-global-properties-fixed)
+                               ))))))))))))))
 
 (defun org-property-or-variable-value (var &optional inherit)
   "Check if there is a property fixing the value of VAR.
@@ -14221,8 +14506,11 @@ xxx_ALL property) or on existing values in other instances of this property
 in the current file."
   (interactive (list nil nil))
   (let* ((property (or property (org-read-property-name)))
-        (value (or value (org-read-property-value property))))
+        (value (or value (org-read-property-value property)))
+        (fn (assoc property org-properties-postprocess-alist)))
     (setq org-last-set-property property)
+    ;; Possibly postprocess the inserted value:
+    (when fn (setq value (funcall (cadr fn) value)))
     (unless (equal (org-entry-get nil property) value)
       (org-entry-put nil property value))))
 
@@ -14387,7 +14675,7 @@ only headings."
            (goto-char found)
            (setq lmin (1+ flevel) lmax (+ lmin (if org-odd-levels-only 1 0)))
            (setq end (save-excursion (org-end-of-subtree t t))))
-         (when (org-on-heading-p)
+         (when (org-at-heading-p)
            (move-marker (make-marker) (point))))))))
 
 (defun org-find-exact-headline-in-buffer (heading &optional buffer pos-only)
@@ -14567,7 +14855,7 @@ The prompt will suggest to enter an ISO date, but you can also enter anything
 which will at least partially be understood by `parse-time-string'.
 Unrecognized parts of the date will default to the current day, month, year,
 hour and minute.  If this command is called to replace a timestamp at point,
-of to enter the second timestamp of a range, the default time is taken
+or to enter the second timestamp of a range, the default time is taken
 from the existing stamp.  Furthermore, the command prefers the future,
 so if you are giving a date where the year is not given, and the day-month
 combination is already past in the current year, it will assume you
@@ -14835,7 +15123,7 @@ user."
       (setq ans (replace-match (format "%04d-%02d-%02d\\5" year month day)
                               t nil ans)))
 
-    ;; Help matching dotted european dates
+    ;; Help matching dottet european dates
     (when (string-match
           "^ *\\(3[01]\\|0?[1-9]\\|[12][0-9]\\)\\. ?\\(0?[1-9]\\|1[012]\\)\\. ?\\([1-9][0-9][0-9][0-9]\\)?" ans)
       (setq year (if (match-end 3)
@@ -14996,6 +15284,7 @@ WHAT       is \"d\", \"w\", \"m\", or \"y\" for day, week, month, year.
 N          is the number of WHATs to shift.
 DEF-FLAG   is t when a double ++ or -- indicates shift relative to
            the DEFAULT date rather than TODAY."
+  (require 'parse-time)
   (when (and
         (string-match
          (concat
@@ -15259,6 +15548,27 @@ days.  If the prefix is a raw \\[universal-argument] prefix, all deadlines are s
     (message "%d entries after %s"
             (org-occur regexp nil callback) date)))
 
+(defun org-check-dates-range (start-date end-date)
+  "Check for deadlines/scheduled entries between START-DATE and END-DATE."
+  (interactive (list (org-read-date nil nil nil "Range starts")
+                    (org-read-date nil nil nil "Range end")))
+  (let ((case-fold-search nil)
+       (regexp (concat "\\<\\(" org-deadline-string
+                       "\\|" org-scheduled-string
+                       "\\) *<\\([^>]+\\)>"))
+       (callback
+        (lambda ()
+          (let ((match (match-string 2)))
+            (and
+             (not (time-less-p
+                   (org-time-string-to-time match)
+                   (org-time-string-to-time start-date)))
+             (time-less-p
+              (org-time-string-to-time match)
+              (org-time-string-to-time end-date)))))))
+    (message "%d entries between %s and %s"
+            (org-occur regexp nil callback) start-date end-date)))
+
 (defun org-evaluate-time-range (&optional to-buffer)
   "Evaluate a time range by computing the difference between start and end.
 Normally the result is just printed in the echo area, but with prefix arg
@@ -15336,12 +15646,19 @@ days in order to avoid rounding problems."
                      l (push m l)))
     (apply 'format fmt (nreverse l))))
 
-(defun org-time-string-to-time (s)
-  (apply 'encode-time (org-parse-time-string s)))
+(defun org-time-string-to-time (s &optional buffer pos)
+  (condition-case errdata
+      (apply 'encode-time (org-parse-time-string s))
+    (error (error "Bad timestamp `%s'%s\nError was: %s"
+                 s (if (not (and buffer pos))
+                       ""
+                     (format " at %d in buffer `%s'" pos buffer))
+                 (cdr errdata)))))
+
 (defun org-time-string-to-seconds (s)
   (org-float-time (org-time-string-to-time s)))
 
-(defun org-time-string-to-absolute (s &optional daynr prefer show-all)
+(defun org-time-string-to-absolute (s &optional daynr prefer show-all buffer pos)
   "Convert a time stamp to an absolute day number.
 If there is a specifier for a cyclic time stamp, get the closest date to
 DAYNR.
@@ -15356,7 +15673,14 @@ The variable date is bound by the calendar when this is called."
     (org-closest-date s (if (and (boundp 'daynr) (integerp daynr)) daynr
                          (time-to-days (current-time))) (match-string 0 s)
                          prefer show-all))
-   (t (time-to-days (apply 'encode-time (org-parse-time-string s))))))
+   (t (time-to-days
+       (condition-case errdata
+          (apply 'encode-time (org-parse-time-string s))
+        (error (error "Bad timestamp `%s'%s\nError was: %s"
+                      s (if (not (and buffer pos))
+                            ""
+                          (format " at %d in buffer `%s'" pos buffer))
+                      (cdr errdata))))))))
 
 (defun org-days-to-iso-week (days)
   "Return the iso week number."
@@ -15552,7 +15876,7 @@ With prefix ARG, change by that many units."
 With prefix ARG, change that many days."
   (interactive "p")
   (if (and (not (org-at-timestamp-p t))
-          (org-on-heading-p))
+          (org-at-heading-p))
       (org-todo 'up)
     (org-timestamp-change (prefix-numeric-value arg) 'day 'updown)))
 
@@ -15561,7 +15885,7 @@ With prefix ARG, change that many days."
 With prefix ARG, change that many days."
   (interactive "p")
   (if (and (not (org-at-timestamp-p t))
-          (org-on-heading-p))
+          (org-at-heading-p))
       (org-todo 'down)
     (org-timestamp-change (- (prefix-numeric-value arg)) 'day) 'updown))
 
@@ -15581,7 +15905,10 @@ With prefix ARG, change that many days."
         (setq org-ts-what
              (cond
               ((= pos (match-beginning 0))         'bracket)
-              ((= pos (1- (match-end 0)))          'bracket)
+              ;; Point is considered to be "on the bracket" whether
+              ;; it's really on it or right after it.
+              ((or (= pos (1- (match-end 0)))
+                    (= pos (match-end 0)))          'bracket)
               ((org-pos-in-match-range pos 2)      'year)
               ((org-pos-in-match-range pos 3)      'month)
               ((org-pos-in-match-range pos 7)      'hour)
@@ -15857,7 +16184,7 @@ Entries containing a colon are interpreted as H:MM by
   "Save all Org-mode buffers without user confirmation."
   (interactive)
   (message "Saving all Org-mode buffers...")
-  (save-some-buffers t 'org-mode-p)
+  (save-some-buffers t (lambda () (eq major-mode 'org-mode)))
   (when (featurep 'org-id) (org-id-locations-save))
   (message "Saving all Org-mode buffers... done"))
 
@@ -15881,9 +16208,9 @@ changes from another.  I believe the procedure must be like this:
     (save-window-excursion
       (mapc
        (lambda (b)
-        (when (and (with-current-buffer b (org-mode-p))
+        (when (and (with-current-buffer b (eq major-mode 'org-mode))
                    (with-current-buffer b buffer-file-name))
-          (switch-to-buffer b)
+          (org-pop-to-buffer-same-window b)
           (revert-buffer t 'no-confirm)))
        (buffer-list))
       (when (and (featurep 'org-id) org-id-track-globally)
@@ -15894,7 +16221,7 @@ changes from another.  I believe the procedure must be like this:
 ;;;###autoload
 (defun org-switchb (&optional arg)
   "Switch between Org buffers.
-With a prefix argument, restrict available to files.
+With one prefix argument, restrict available buffers to files.
 With two prefix arguments, restrict available buffers to agenda files.
 
 Defaults to `iswitchb' for buffer name completion.
@@ -15907,7 +16234,7 @@ Set `org-completion-use-ido' to make it use ido instead."
        (org-completion-use-ido org-completion-use-ido))
     (unless (or org-completion-use-ido org-completion-use-iswitchb)
       (setq org-completion-use-iswitchb t))
-    (switch-to-buffer
+    (org-pop-to-buffer-same-window
      (org-icompleting-read "Org buffer: "
                           (mapcar 'list (mapcar 'buffer-name blist))
                           nil t))))
@@ -15933,17 +16260,17 @@ If EXCLUDE-TMP is non-nil, ignore temporary buffers."
         (filter
          (cond
           ((eq predicate 'files)
-           (lambda (b) (with-current-buffer b (org-mode-p))))
+           (lambda (b) (with-current-buffer b (eq major-mode 'org-mode))))
           ((eq predicate 'export)
            (lambda (b) (string-match "\*Org .*Export" (buffer-name b))))
           ((eq predicate 'agenda)
            (lambda (b)
              (with-current-buffer b
-               (and (org-mode-p)
+               (and (eq major-mode 'org-mode)
                     (setq bfn (buffer-file-name b))
                     (member (file-truename bfn) agenda-files)))))
           (t (lambda (b) (with-current-buffer b
-                           (or (org-mode-p)
+                           (or (eq major-mode 'org-mode)
                                (string-match "\*Org .*Export"
                                              (buffer-name b)))))))))
     (delq nil
@@ -16074,7 +16401,7 @@ If the current buffer does not, find the first agenda file."
              (find-file (car files))
              (throw 'exit t))))
       (find-file (car fs)))
-    (if (buffer-base-buffer) (switch-to-buffer (buffer-base-buffer)))))
+    (if (buffer-base-buffer) (org-pop-to-buffer-same-window (buffer-base-buffer)))))
 
 (defun org-agenda-file-to-front (&optional to-end)
   "Move/add the current file to the top of the agenda file list.
@@ -16196,10 +16523,11 @@ When a buffer is unmodified, it is just killed.  When modified, it is saved
              (when org-agenda-skip-archived-trees
                (goto-char (point-min))
                (while (re-search-forward rea nil t)
-                 (if (org-on-heading-p t)
+                 (if (org-at-heading-p t)
                      (add-text-properties (point-at-bol) (org-end-of-subtree t) pa))))
              (goto-char (point-min))
-             (setq re (concat org-outline-regexp-bol "+" org-comment-string "\\>"))
+             (setq re (format org-heading-keyword-regexp-format
+                              org-comment-string))
              (while (re-search-forward re nil t)
                (add-text-properties
                 (match-beginning 0) (org-end-of-subtree t) pc)))
@@ -16230,7 +16558,10 @@ This mode supports entering LaTeX environment and math in LaTeX fragments
 in Org-mode.
 \\{org-cdlatex-mode-map}"
   nil " OCDL" nil
-  (when org-cdlatex-mode (require 'cdlatex))
+  (when org-cdlatex-mode
+    (require 'cdlatex)
+    (run-hooks 'cdlatex-mode-hook)
+    (cdlatex-compute-tables))
   (unless org-cdlatex-texmathp-advice-is-done
     (setq org-cdlatex-texmathp-advice-is-done t)
     (defadvice texmathp (around org-math-always-on activate)
@@ -16242,7 +16573,7 @@ an embedded LaTeX fragment, let texmathp do its job.
       (interactive)
       (let (p)
        (cond
-        ((not (org-mode-p)) ad-do-it)
+        ((not (eq major-mode 'org-mode)) ad-do-it)
         ((eq this-command 'cdlatex-math-symbol)
          (setq ad-return-value t
                texmathp-why '("cdlatex-math-symbol in org-mode" . 0)))
@@ -16315,14 +16646,16 @@ It makes sense to do so if `org-cdlatex-mode' is active and if the cursor is
     insert a LaTeX environment."
   (when org-cdlatex-mode
     (cond
+     ;; Before any word on the line: No expansion possible.
+     ((save-excursion (skip-chars-backward " \t") (bolp)) nil)
+     ;; Just after first word on the line: Expand it.  Make sure it
+     ;; cannot happen on headlines, though.
      ((save-excursion
        (skip-chars-backward "a-zA-Z0-9*")
        (skip-chars-backward " \t")
-       (bolp))
-      (cdlatex-tab) t)
-     ((org-inside-LaTeX-fragment-p)
+       (and (bolp) (not (org-at-heading-p))))
       (cdlatex-tab) t)
-     (t nil))))
+     ((org-inside-LaTeX-fragment-p) (cdlatex-tab) t))))
 
 (defun org-cdlatex-underscore-caret (&optional arg)
   "Execute `cdlatex-sub-superscript' in LaTeX fragments.
@@ -16397,8 +16730,8 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
   '(("begin" "^[ \t]*\\(\\\\begin{\\([a-zA-Z0-9\\*]+\\)[^\000]+?\\\\end{\\2}\\)" 1 t)
     ;; ("$" "\\([      (]\\|^\\)\\(\\(\\([$]\\)\\([^   \r\n,.$].*?\\(\n.*?\\)\\{0,5\\}[^       \r\n,.$]\\)\\4\\)\\)\\([        .,?;:'\")]\\|$\\)" 2 nil)
     ;; \000 in the following regex is needed for org-inside-LaTeX-fragment-p
-    ("$1" "\\([^$]\\)\\(\\$[^  \r\n,;.$]\\$\\)\\([-    .,?;:'\")\000]\\|$\\)" 2 nil)
-    ("$" "\\([^$]\\)\\(\\(\\$\\([^     \r\n,;.$][^$\n\r]*?\\(\n[^$\n\r]*?\\)\\{0,2\\}[^        \r\n,.$]\\)\\$\\)\\)\\([-       .,?;:'\")\000]\\|$\\)" 2 nil)
+    ("$1" "\\([^$]\\|^\\)\\(\\$[^      \r\n,;.$]\\$\\)\\([-    .,?;:'\")\000]\\|$\\)" 2 nil)
+    ("$" "\\([^$]\\|^\\)\\(\\(\\$\\([^         \r\n,;.$][^$\n\r]*?\\(\n[^$\n\r]*?\\)\\{0,2\\}[^        \r\n,.$]\\)\\$\\)\\)\\([-       .,?;:'\")\000]\\|$\\)" 2 nil)
     ("\\(" "\\\\([^\000]*?\\\\)" 0 nil)
     ("\\[" "\\\\\\[[^\000]*?\\\\\\]" 0 nil)
     ("$$" "\\$\\$[^\000]*?\\$\\$" 0 nil))
@@ -16421,11 +16754,11 @@ Some of the options can be changed using the variable
          (plist-get (org-infile-export-plist) :latex-header-extra))
         (cnt 0) txt hash link beg end re e checkdir
         executables-checked string
-        m n block linkfile movefile ov)
+        m n block-type block linkfile movefile ov)
     ;; Check the different regular expressions
     (while (setq e (pop re-list))
-      (setq m (car e) re (nth 1 e) n (nth 2 e)
-           block (if (nth 3 e) "\n\n" ""))
+      (setq m (car e) re (nth 1 e) n (nth 2 e) block-type (nth 3 e)
+           block (if block-type "\n\n" ""))
       (when (member m matchers)
        (goto-char (point-min))
        (while (re-search-forward re nil t)
@@ -16454,7 +16787,7 @@ Some of the options can be changed using the variable
                                '(org-protected t))))
                (add-text-properties (match-beginning n) (match-end n)
                                     '(org-protected t))))
-            ((or (eq processing-type 'dvipng) t)
+            ((eq processing-type 'dvipng)
              ;; Process to an image
              (setq txt (match-string n)
                    beg (match-beginning n) end (match-end n)
@@ -16510,7 +16843,115 @@ Some of the options can be changed using the variable
                (insert (org-add-props link
                            (list 'org-latex-src
                                  (replace-regexp-in-string
-                                  "\"" "" txt)))))))))))))
+                                  "\"" "" txt)
+                                 'org-latex-src-embed-type
+                                 (if block-type 'paragraph 'character))))))
+            ((eq processing-type 'mathml)
+             ;; Process to MathML
+             (unless executables-checked
+               (unless (save-match-data (org-format-latex-mathml-available-p))
+                 (error "LaTeX to MathML converter not configured"))
+               (setq executables-checked t))
+             (setq txt (match-string n)
+                   beg (match-beginning n) end (match-end n)
+                   cnt (1+ cnt))
+             (if msg (message msg cnt))
+             (goto-char beg)
+             (delete-region beg end)
+             (insert (org-format-latex-as-mathml
+                      txt block-type prefix dir)))
+            (t
+             (error "Unknown conversion type %s for latex fragments"
+                    processing-type)))))))))
+
+(defun org-create-math-formula (latex-frag &optional mathml-file)
+  "Convert LATEX-FRAG to MathML and store it in MATHML-FILE.
+Use `org-latex-to-mathml-convert-command'.  If the conversion is
+sucessful, return the portion between \"<math...> </math>\"
+elements otherwise return nil.  When MATHML-FILE is specified,
+write the results in to that file.  When invoked as an
+interactive command, prompt for LATEX-FRAG, with initial value
+set to the current active region and echo the results for user
+inspection."
+  (interactive (list (let ((frag (when (region-active-p)
+                                  (buffer-substring-no-properties
+                                   (region-beginning) (region-end)))))
+                      (read-string "LaTeX Fragment: " frag nil frag))))
+  (unless latex-frag (error "Invalid latex-frag"))
+  (let* ((tmp-in-file (file-relative-name
+                      (make-temp-name (expand-file-name "ltxmathml-in"))))
+        (ignore (write-region latex-frag nil tmp-in-file))
+        (tmp-out-file (file-relative-name
+                       (make-temp-name (expand-file-name  "ltxmathml-out"))))
+        (cmd (format-spec
+              org-latex-to-mathml-convert-command
+              `((?j . ,(shell-quote-argument
+                        (expand-file-name org-latex-to-mathml-jar-file)))
+                (?I . ,(shell-quote-argument tmp-in-file))
+                (?o . ,(shell-quote-argument tmp-out-file)))))
+        mathml shell-command-output)
+    (when (org-called-interactively-p 'any)
+      (unless (org-format-latex-mathml-available-p)
+       (error "LaTeX to MathML converter not configured")))
+    (message "Running %s" cmd)
+    (setq shell-command-output (shell-command-to-string cmd))
+    (setq mathml
+         (when (file-readable-p tmp-out-file)
+           (with-current-buffer (find-file-noselect tmp-out-file t)
+             (goto-char (point-min))
+             (when (re-search-forward
+                    (concat
+                     (regexp-quote
+                      "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">")
+                     "\\(.\\|\n\\)*"
+                     (regexp-quote "</math>")) nil t)
+               (prog1 (match-string 0) (kill-buffer))))))
+    (cond
+     (mathml
+      (setq mathml
+           (concat "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" mathml))
+      (when mathml-file
+       (write-region mathml nil mathml-file))
+      (when (org-called-interactively-p 'any)
+       (message mathml)))
+     ((message "LaTeX to MathML conversion failed")
+      (message shell-command-output)))
+    (delete-file tmp-in-file)
+    (when (file-exists-p tmp-out-file)
+      (delete-file tmp-out-file))
+    mathml))
+
+(defun org-format-latex-as-mathml (latex-frag latex-frag-type
+                                             prefix &optional dir)
+  "Use `org-create-math-formula' but check local cache first."
+  (let* ((absprefix (expand-file-name prefix dir))
+        (print-length nil) (print-level nil)
+        (formula-id (concat
+                     "formula-"
+                     (sha1
+                      (prin1-to-string
+                       (list latex-frag
+                             org-latex-to-mathml-convert-command)))))
+        (formula-cache (format "%s-%s.mathml" absprefix formula-id))
+        (formula-cache-dir (file-name-directory formula-cache)))
+
+    (unless (file-directory-p formula-cache-dir)
+      (make-directory formula-cache-dir t))
+
+    (unless (file-exists-p formula-cache)
+      (org-create-math-formula latex-frag formula-cache))
+
+    (if (file-exists-p formula-cache)
+       ;; Successful conversion.  Return the link to MathML file.
+       (org-add-props
+           (format  "[[file:%s]]" (file-relative-name formula-cache dir))
+           (list 'org-latex-src (replace-regexp-in-string "\"" "" latex-frag)
+                 'org-latex-src-embed-type (if latex-frag-type
+                                               'paragraph 'character)))
+      ;; Failed conversion.  Return the LaTeX fragment verbatim
+      (add-text-properties
+       0 (1- (length latex-frag)) '(org-protected t) latex-frag)
+      latex-frag)))
 
 ;; This function borrows from Ganesh Swami's latex2png.el
 (defun org-create-formula-image (string tofile options buffer)
@@ -16718,6 +17159,44 @@ BEG and END default to the buffer boundaries."
 
 ;;;; Key bindings
 
+;; Outline functions from `outline-mode-prefix-map'
+;; that can be remapped in Org:
+(define-key org-mode-map [remap outline-mark-subtree] 'org-mark-subtree)
+(define-key org-mode-map [remap show-subtree] 'org-show-subtree)
+(define-key org-mode-map [remap outline-forward-same-level]
+  'org-forward-same-level)
+(define-key org-mode-map [remap outline-backward-same-level]
+  'org-backward-same-level)
+(define-key org-mode-map [remap show-branches]
+  'org-kill-note-or-show-branches)
+(define-key org-mode-map [remap outline-promote] 'org-promote-subtree)
+(define-key org-mode-map [remap outline-demote] 'org-demote-subtree)
+(define-key org-mode-map [remap outline-insert-heading] 'org-ctrl-c-ret)
+
+;; Outline functions from `outline-mode-prefix-map'
+;; that can not be remapped in Org:
+;; - the column "key binding" shows whether the Outline function is still
+;;   available in Org mode on the same key that it has been bound to in
+;;   Outline mode:
+;;   - "overridden": key used for a different functionality in Org mode
+;;   - else: key still bound to the same Outline function in Org mode
+;; | Outline function                   | key binding | Org replacement       |
+;; |------------------------------------+-------------+-----------------------|
+;; | `outline-next-visible-heading'     | `C-c C-n'   | still same function   |
+;; | `outline-previous-visible-heading' | `C-c C-p'   | still same function   |
+;; | `show-children'                    | `C-c C-i'   | visibility cycling    |
+;; | `hide-subtree'                     | overridden  | visibility cycling    |
+;; | `outline-up-heading'               | `C-c C-u'   | still same function   |
+;; | `hide-body'                        | overridden  | no replacement        |
+;; | `show-all'                         | overridden  | no replacement        |
+;; | `hide-entry'                       | overridden  | visibility cycling    |
+;; | `show-entry'                       | overridden  | no replacement        |
+;; | `hide-leaves'                      | overridden  | no replacement        |
+;; | `hide-sublevels'                   | overridden  | no replacement        |
+;; | `hide-other'                       | overridden  | no replacement        |
+;; | `outline-move-subtree-up'          | `C-c C-^'   | better: org-shiftup   |
+;; | `outline-move-subtree-down'        | overridden  | better: org-shiftdown |
+
 ;; Make `C-c C-x' a prefix key
 (org-defkey org-mode-map "\C-c\C-x" (make-sparse-keymap))
 
@@ -17011,7 +17490,7 @@ If not, return to the original position and throw an error."
   (interactive)
   (let ((pos (point)))
     (call-interactively cmd)
-    (unless (and (bolp) (org-on-heading-p))
+    (unless (and (bolp) (org-at-heading-p))
       (goto-char pos)
       (error "Boundary reached while executing %s" cmd))))
 
@@ -17022,8 +17501,8 @@ If not, return to the original position and throw an error."
 
 (defun org-speed-command-default-hook (keys)
   "Hook for activating single-letter speed commands.
-`org-speed-commands-default' specifies a minimal command set. Use
-`org-speed-commands-user' for further customization."
+`org-speed-commands-default' specifies a minimal command set.
+Use `org-speed-commands-user' for further customization."
   (when (or (and (bolp) (looking-at org-outline-regexp))
            (and (functionp org-use-speed-commands)
                 (funcall org-use-speed-commands)))
@@ -17045,11 +17524,11 @@ Each hook takes a single argument, a user-pressed command key
 which is also a `self-insert-command' from the global map.
 
 Within the hook, examine the cursor position and the command key
-and return nil or a valid handler as appropriate. Handler could
+and return nil or a valid handler as appropriate.  Handler could
 be one of an interactive command, a function, or a form.
 
 Set `org-use-speed-commands' to non-nil value to enable this
-hook. The default setting is `org-speed-command-default-hook'."
+hook.  The default setting is `org-speed-command-default-hook'."
   :group 'org-structure
   :type 'hook)
 
@@ -17058,6 +17537,7 @@ hook. The default setting is `org-speed-command-default-hook'."
 If the cursor is in a table looking at whitespace, the whitespace is
 overwritten, and the table is not marked as requiring realignment."
   (interactive "p")
+  (org-check-before-invisible-edit 'insert)
   (cond
    ((and org-use-speed-commands
         (setq org-speed-command
@@ -17109,9 +17589,56 @@ overwritten, and the table is not marked as requiring realignment."
            (setq org-self-insert-command-undo-counter
                  (1+ org-self-insert-command-undo-counter))))))))
 
+(defun org-check-before-invisible-edit (kind)
+  "Check is editing if kind KIND would be dangerous with invisible text around.
+The detailed reaction depends on the user option `org-catch-invisible-edits'."
+  ;; First, try to get out of here as quickly as possible, to reduce overhead
+  (if (and org-catch-invisible-edits
+          (or (not (boundp 'visible-mode)) (not visible-mode))
+          (or (get-char-property (point) 'invisible)
+              (get-char-property (max (point-min) (1- (point))) 'invisible)))
+      ;; OK, we need to take a closer look
+      (let* ((invisible-at-point (get-char-property (point) 'invisible))
+            (invisible-before-point (if (bobp) nil  (get-char-property
+                                                     (1- (point)) 'invisible)))
+            (border-and-ok-direction
+             (or
+              ;; Check if we are acting predictably before invisible text
+              (and invisible-at-point (not invisible-before-point)
+                   (memq kind '(insert delete-backward)))
+              ;; Check if we are acting predictably after invisible text
+              ;; This works not well, and I have turned it off.  It seems
+              ;; better to always show and stop after invisible text.
+              ;; (and (not invisible-at-point) invisible-before-point
+              ;;  (memq kind '(insert delete)))
+              )))
+
+       (when (or (memq invisible-at-point '(outline org-hide-block))
+                 (memq invisible-before-point '(outline org-hide-block)))
+         (if (eq org-catch-invisible-edits 'error)
+             (error "Editing in invisible areas is prohibited - make visible first"))
+         ;; Make the area visible
+         (save-excursion
+           (if invisible-before-point
+               (goto-char (previous-single-char-property-change
+                           (point) 'invisible)))
+           (org-cycle))
+         (cond
+          ((eq org-catch-invisible-edits 'show)
+           ;; That's it, we do the edit after showing
+           (message
+            "Unfolding invisible region around point before editing")
+           (sit-for 1))
+          ((and (eq org-catch-invisible-edits 'smart)
+                border-and-ok-direction)
+           (message "Unfolding invisible region around point before editing"))
+          (t
+           ;; Don't do the edit, make the user repeat it in full visibility
+           (error "Edit in invisible region aborted, repeat to confirm with text visible")))))))
+
 (defun org-fix-tags-on-the-fly ()
   (when (and (equal (char-after (point-at-bol)) ?*)
-            (org-on-heading-p))
+            (org-at-heading-p))
     (org-align-tags-here org-tags-column)))
 
 (defun org-delete-backward-char (N)
@@ -17121,6 +17648,7 @@ front of the next \"|\" separator, to keep the table aligned.  The table will
 still be marked for re-alignment if the field did fill the entire column,
 because, in this case the deletion might narrow the column."
   (interactive "p")
+  (org-check-before-invisible-edit 'delete-backward)
   (if (and (org-table-p)
           (eq N 1)
           (string-match "|" (buffer-substring (point-at-bol) (point)))
@@ -17147,6 +17675,7 @@ front of the next \"|\" separator, to keep the table aligned.  The table will
 still be marked for re-alignment if the field did fill the entire column,
 because, in this case the deletion might narrow the column."
   (interactive "p")
+  (org-check-before-invisible-edit 'delete)
   (if (and (org-table-p)
           (not (bolp))
           (not (= (char-after) ?|))
@@ -17357,7 +17886,7 @@ See the individual commands for more information."
   (cond
    ((run-hook-with-args-until-success 'org-shiftmetaleft-hook))
    ((org-at-table-p) (call-interactively 'org-table-delete-column))
-   ((org-on-heading-p) (call-interactively 'org-promote-subtree))
+   ((org-at-heading-p) (call-interactively 'org-promote-subtree))
    ((org-at-item-p) (call-interactively 'org-outdent-item-tree))
    (t (org-modifier-cursor-error))))
 
@@ -17370,7 +17899,7 @@ See the individual commands for more information."
   (cond
    ((run-hook-with-args-until-success 'org-shiftmetaright-hook))
    ((org-at-table-p) (call-interactively 'org-table-insert-column))
-   ((org-on-heading-p) (call-interactively 'org-demote-subtree))
+   ((org-at-heading-p) (call-interactively 'org-demote-subtree))
    ((org-at-item-p) (call-interactively 'org-indent-item-tree))
    (t (org-modifier-cursor-error))))
 
@@ -17383,7 +17912,7 @@ for more information."
   (cond
    ((run-hook-with-args-until-success 'org-shiftmetaup-hook))
    ((org-at-table-p) (call-interactively 'org-table-kill-row))
-   ((org-on-heading-p) (call-interactively 'org-move-subtree-up))
+   ((org-at-heading-p) (call-interactively 'org-move-subtree-up))
    ((org-at-item-p) (call-interactively 'org-move-item-up))
    (t (org-modifier-cursor-error))))
 
@@ -17396,7 +17925,7 @@ commands for more information."
   (cond
    ((run-hook-with-args-until-success 'org-shiftmetadown-hook))
    ((org-at-table-p) (call-interactively 'org-table-insert-row))
-   ((org-on-heading-p) (call-interactively 'org-move-subtree-down))
+   ((org-at-heading-p) (call-interactively 'org-move-subtree-down))
    ((org-at-item-p) (call-interactively 'org-move-item-down))
    (t (org-modifier-cursor-error))))
 
@@ -17414,15 +17943,15 @@ See the individual commands for more information."
    ((run-hook-with-args-until-success 'org-metaleft-hook))
    ((org-at-table-p) (org-call-with-arg 'org-table-move-column 'left))
    ((org-with-limited-levels
-     (or (org-on-heading-p)
+     (or (org-at-heading-p)
         (and (org-region-active-p)
              (save-excursion
                (goto-char (region-beginning))
-               (org-on-heading-p)))))
+               (org-at-heading-p)))))
     (when (org-check-for-hidden 'headlines) (org-hidden-tree-error))
     (call-interactively 'org-do-promote))
    ;; At an inline task.
-   ((org-on-heading-p)
+   ((org-at-heading-p)
     (call-interactively 'org-inlinetask-promote))
    ((or (org-at-item-p)
        (and (org-region-active-p)
@@ -17443,15 +17972,15 @@ See the individual commands for more information."
    ((run-hook-with-args-until-success 'org-metaright-hook))
    ((org-at-table-p) (call-interactively 'org-table-move-column))
    ((org-with-limited-levels
-     (or (org-on-heading-p)
+     (or (org-at-heading-p)
         (and (org-region-active-p)
              (save-excursion
                (goto-char (region-beginning))
-               (org-on-heading-p)))))
+               (org-at-heading-p)))))
     (when (org-check-for-hidden 'headlines) (org-hidden-tree-error))
     (call-interactively 'org-do-demote))
    ;; At an inline task.
-   ((org-on-heading-p)
+   ((org-at-heading-p)
     (call-interactively 'org-inlinetask-demote))
    ((or (org-at-item-p)
        (and (org-region-active-p)
@@ -17498,7 +18027,7 @@ for more information."
   (cond
    ((run-hook-with-args-until-success 'org-metaup-hook))
    ((org-at-table-p) (org-call-with-arg 'org-table-move-row 'up))
-   ((org-on-heading-p) (call-interactively 'org-move-subtree-up))
+   ((org-at-heading-p) (call-interactively 'org-move-subtree-up))
    ((org-at-item-p) (call-interactively 'org-move-item-up))
    (t (transpose-lines 1) (beginning-of-line -1))))
 
@@ -17511,7 +18040,7 @@ commands for more information."
   (cond
    ((run-hook-with-args-until-success 'org-metadown-hook))
    ((org-at-table-p) (call-interactively 'org-table-move-row))
-   ((org-on-heading-p) (call-interactively 'org-move-subtree-down))
+   ((org-at-heading-p) (call-interactively 'org-move-subtree-down))
    ((org-at-item-p) (call-interactively 'org-move-item-down))
    (t (beginning-of-line 2) (transpose-lines 1) (beginning-of-line 0))))
 
@@ -17529,7 +18058,7 @@ depending on context.  See the individual commands for more information."
                            'org-timestamp-down 'org-timestamp-up)))
    ((and (not (eq org-support-shift-select 'always))
         org-enable-priority-commands
-        (org-on-heading-p))
+        (org-at-heading-p))
     (call-interactively 'org-priority-up))
    ((and (not org-support-shift-select) (org-at-item-p))
     (call-interactively 'org-previous-item))
@@ -17553,7 +18082,7 @@ depending on context.  See the individual commands for more information."
                            'org-timestamp-up 'org-timestamp-down)))
    ((and (not (eq org-support-shift-select 'always))
         org-enable-priority-commands
-        (org-on-heading-p))
+        (org-at-heading-p))
     (call-interactively 'org-priority-down))
    ((and (not org-support-shift-select) (org-at-item-p))
     (call-interactively 'org-next-item))
@@ -17579,7 +18108,7 @@ Depending on context, this does one of the following:
     (org-call-for-shift-select 'forward-char))
    ((org-at-timestamp-p t) (call-interactively 'org-timestamp-up-day))
    ((and (not (eq org-support-shift-select 'always))
-        (org-on-heading-p))
+        (org-at-heading-p))
     (let ((org-inhibit-logging
           (not org-treat-S-cursor-todo-selection-as-state-change))
          (org-inhibit-blocking
@@ -17615,7 +18144,7 @@ Depending on context, this does one of the following:
     (org-call-for-shift-select 'backward-char))
    ((org-at-timestamp-p t) (call-interactively 'org-timestamp-down-day))
    ((and (not (eq org-support-shift-select 'always))
-        (org-on-heading-p))
+        (org-at-heading-p))
     (let ((org-inhibit-logging
           (not org-treat-S-cursor-todo-selection-as-state-change))
          (org-inhibit-blocking
@@ -17642,7 +18171,7 @@ Depending on context, this does one of the following:
    ((and org-support-shift-select (org-region-active-p))
     (org-call-for-shift-select 'forward-word))
    ((and (not (eq org-support-shift-select 'always))
-        (org-on-heading-p))
+        (org-at-heading-p))
     (org-call-with-arg 'org-todo 'nextset))
    (org-support-shift-select
     (org-call-for-shift-select 'forward-word))
@@ -17655,7 +18184,7 @@ Depending on context, this does one of the following:
    ((and org-support-shift-select (org-region-active-p))
     (org-call-for-shift-select 'backward-word))
    ((and (not (eq org-support-shift-select 'always))
-        (org-on-heading-p))
+        (org-at-heading-p))
     (org-call-with-arg 'org-todo 'previousset))
    (org-support-shift-select
     (org-call-for-shift-select 'backward-word))
@@ -17686,6 +18215,17 @@ Depending on context, this does one of the following:
    ((org-at-table-p) (call-interactively 'org-table-hline-and-move))
    (t (call-interactively 'org-insert-heading))))
 
+(defun org-find-visible ()
+  (let ((s (point)))
+    (while (and (not (= (point-max) (setq s (next-overlay-change s))))
+               (get-char-property s 'invisible)))
+    s))
+(defun org-find-invisible ()
+  (let ((s (point)))
+    (while (and (not (= (point-max) (setq s (next-overlay-change s))))
+               (not (get-char-property s 'invisible))))
+    s))
+
 (defun org-copy-visible (beg end)
   "Copy the visible parts of the region."
  (interactive "r")
@@ -17757,6 +18297,7 @@ When in an #+include line, visit the include file.  Otherwise call
     (call-interactively 'org-table-edit-formulas))
    (t (call-interactively 'ffap))))
 
+(defvar org-table-coordinate-overlays) ; defined in org-table.el
 (defun org-ctrl-c-ctrl-c (&optional arg)
   "Set tags in headline, or update according to changed information at point.
 
@@ -17815,14 +18356,16 @@ This command does many different things, depending on context:
           (fboundp org-finish-function))
       (funcall org-finish-function))
      ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-hook))
+     ((org-in-regexp org-ts-regexp-both)
+      (org-timestamp-change 0 'day))
      ((or (looking-at org-property-start-re)
          (org-at-property-p))
       (call-interactively 'org-property-action))
-     ((org-on-target-p) (call-interactively 'org-update-radio-target-regexp))
+     ((org-at-target-p) (call-interactively 'org-update-radio-target-regexp))
      ((and (org-in-regexp "\\[\\([0-9]*%\\|[0-9]*/[0-9]*\\)\\]")
-          (or (org-on-heading-p) (org-at-item-p)))
+          (or (org-at-heading-p) (org-at-item-p)))
       (call-interactively 'org-update-statistics-cookies))
-     ((org-on-heading-p) (call-interactively 'org-set-tags))
+     ((org-at-heading-p) (call-interactively 'org-set-tags))
      ((org-at-table.el-p)
       (message "Use C-c ' to edit table.el tables"))
      ((org-at-table-p)
@@ -17842,44 +18385,61 @@ This command does many different things, depending on context:
             (struct (org-list-struct))
             (old-struct (copy-tree struct))
             (parents (org-list-parents-alist struct))
-            (prevs (org-list-prevs-alist struct))
             (orderedp (org-entry-get nil "ORDERED"))
             (firstp (= (org-list-get-top-point struct) (point-at-bol)))
             block-item)
        ;; Use a light version of `org-toggle-checkbox' to avoid
        ;; computing list structure twice.
-       (org-list-set-checkbox (point-at-bol) struct
-                              (cond
-                               ((equal arg '(16)) "[-]")
-                               ((equal arg '(4)) nil)
-                               ((equal "[X]" cbox) "[ ]")
-                               (t "[X]")))
-       (org-list-struct-fix-ind struct parents)
-       (org-list-struct-fix-bul struct prevs)
-       (setq block-item
-             (org-list-struct-fix-box struct parents prevs orderedp))
+       (let ((new-box (cond
+                       ((equal arg '(16)) "[-]")
+                       ((equal arg '(4)) nil)
+                       ((equal "[X]" cbox) "[ ]")
+                       (t "[X]"))))
+         (if (and firstp arg)
+             ;; If at first item of sub-list, remove check-box from
+             ;; every item at the same level.
+             (mapc
+              (lambda (pos) (org-list-set-checkbox pos struct new-box))
+              (org-list-get-all-items
+               (point-at-bol) struct (org-list-prevs-alist struct)))
+           (org-list-set-checkbox (point-at-bol) struct new-box)))
+       ;; Replicate `org-list-write-struct', while grabbing a return
+       ;; value from `org-list-struct-fix-box'.
+       (org-list-struct-fix-ind struct parents 2)
+       (org-list-struct-fix-item-end struct)
+       (let ((prevs (org-list-prevs-alist struct)))
+         (org-list-struct-fix-bul struct prevs)
+         (org-list-struct-fix-ind struct parents)
+         (setq block-item
+               (org-list-struct-fix-box struct parents prevs orderedp)))
+       (org-list-struct-apply-struct struct old-struct)
+       (org-update-checkbox-count-maybe)
        (when block-item
          (message
           "Checkboxes were removed due to unchecked box at line %d"
           (org-current-line block-item)))
-       (org-list-struct-apply-struct struct old-struct)
-       (org-update-checkbox-count-maybe)
        (when firstp (org-list-send-list 'maybe))))
      ((org-at-item-p)
-      ;; Cursor at an item: repair list. Do checkbox related actions
-      ;; only if function was called with an argument. Send list only
+      ;; Cursor at an item: repair list.  Do checkbox related actions
+      ;; only if function was called with an argument.  Send list only
       ;; if at top item.
       (let* ((struct (org-list-struct))
-            (old-struct (copy-tree struct))
-            (parents (org-list-parents-alist struct))
-            (prevs (org-list-prevs-alist struct))
+            (new-struct struct)
             (firstp (= (org-list-get-top-point struct) (point-at-bol))))
-       (org-list-struct-fix-ind struct parents)
-       (org-list-struct-fix-bul struct prevs)
        (when arg
-         (org-list-set-checkbox (point-at-bol) struct "[ ]")
-         (org-list-struct-fix-box struct parents prevs))
-       (org-list-struct-apply-struct struct old-struct)
+         (setq new-struct (copy-tree struct))
+         (if firstp
+             ;; If at first item of sub-list, add check-box to every
+             ;; item at the same level.
+             (mapc
+              (lambda (pos)
+                (unless (org-list-get-checkbox pos new-struct)
+                  (org-list-set-checkbox pos new-struct "[ ]")))
+              (org-list-get-all-items
+               (point-at-bol) new-struct (org-list-prevs-alist new-struct)))
+           (org-list-set-checkbox (point-at-bol) new-struct "[ ]")))
+       (org-list-write-struct
+        new-struct (org-list-parents-alist new-struct) struct)
        (when arg (org-update-checkbox-count-maybe))
        (when firstp (org-list-send-list 'maybe))))
      ((save-excursion (beginning-of-line 1) (looking-at org-dblock-start-re))
@@ -17900,6 +18460,9 @@ This command does many different things, depending on context:
        (t
        (let ((org-inhibit-startup-visibility-stuff t)
              (org-startup-align-all-tables nil))
+         (when (boundp 'org-table-coordinate-overlays)
+           (mapc 'delete-overlay org-table-coordinate-overlays)
+           (setq org-table-coordinate-overlays nil))
          (org-save-outline-visibility 'use-markers (org-mode-restart)))
        (message "Local setup has been refreshed"))))
      ((org-clock-update-time-maybe))
@@ -17939,7 +18502,7 @@ See the individual commands for more information."
    ((and (org-in-item-p) indent)
     (if (and (org-at-item-p) (>= (point) (match-end 0)))
        (progn
-         (newline)
+         (save-match-data (newline))
          (org-indent-line-to (length (match-string 0))))
       (let ((ind (org-get-indentation)))
        (newline)
@@ -17947,7 +18510,9 @@ See the individual commands for more information."
            (org-indent-line-function)
          (org-indent-line-to ind)))))
    ((and org-return-follows-link
-        (eq (get-text-property (point) 'face) 'org-link))
+         (let ((tprop (get-text-property (point) 'face)))
+          (or (eq tprop 'org-link)
+              (and (listp tprop) (memq 'org-link tprop)))))
     (call-interactively 'org-open-at-point))
    ((and (org-at-heading-p)
         (looking-at
@@ -18001,7 +18566,7 @@ all headlines to items, shifting text accordingly.
 
 If it is an item, convert all items to normal lines.
 
-If it is normal text, change region into an item. With a prefix
+If it is normal text, change region into an item.  With a prefix
 argument ARG, change each line in region into an item."
   (interactive "P")
   (let ((shift-text
@@ -18055,7 +18620,7 @@ argument ARG, change each line in region into an item."
      (save-excursion
        (goto-char beg)
        (cond
-       ;; Case 1. Start at an item: de-itemize. Note that it only
+       ;; Case 1. Start at an item: de-itemize.  Note that it only
        ;;         happens when a region is active: `org-ctrl-c-minus'
        ;;         would call `org-cycle-list-bullet' otherwise.
        ((org-at-item-p)
@@ -18065,7 +18630,7 @@ argument ARG, change each line in region into an item."
             (delete-region (point) (match-end 0)))
           (forward-line)))
        ;; Case 2. Start at an heading: convert to items.
-       ((org-on-heading-p)
+       ((org-at-heading-p)
         (let* ((bul (org-list-bullet-string "-"))
                (bul-len (length bul))
                ;; Indentation of the first heading.  It should be
@@ -18099,7 +18664,7 @@ argument ARG, change each line in region into an item."
        ;;         an item.
        (arg
         (while (< (point) end)
-          (unless (or (org-on-heading-p) (org-at-item-p))
+          (unless (or (org-at-heading-p) (org-at-item-p))
             (if (looking-at "\\([ \t]*\\)\\(\\S-\\)")
                 (replace-match
                  (concat "\\1" (org-list-bullet-string "-") "\\2"))))
@@ -18164,9 +18729,9 @@ stars to add."
        (goto-char beg)
        (cond
        ;; Case 1. Started at an heading: de-star headings.
-       ((org-on-heading-p)
+       ((org-at-heading-p)
         (while (< (point) end)
-          (when (org-on-heading-p t)
+          (when (org-at-heading-p t)
             (looking-at org-outline-regexp) (replace-match ""))
           (forward-line)))
        ;; Case 2. Started at an item: change items into headlines.
@@ -18211,7 +18776,7 @@ stars to add."
                         (t "*")))                  ; inside heading, oddeven
                  (rpl (concat stars add-stars " ")))
             (while (< (point) end)
-              (when (and (not (org-on-heading-p)) (not (org-at-item-p))
+              (when (and (not (org-at-heading-p)) (not (org-at-item-p))
                          (looking-at "\\([ \t]*\\)\\(\\S-\\)"))
                 (replace-match (concat rpl (match-string 2))))
               (forward-line)))))))))
@@ -18355,23 +18920,23 @@ See the individual commands for more information."
      ["Previous link" org-previous-link t]
      "--"
      ["Descriptive Links"
-      (progn (add-to-invisibility-spec '(org-link)) (org-restart-font-lock))
+      org-toggle-link-display
       :style radio
-      :selected (member '(org-link) buffer-invisibility-spec)]
+      :selected org-descriptive-links
+      ]
      ["Literal Links"
-      (progn
-       (org-remove-from-invisibility-spec '(org-link)) (org-restart-font-lock))
+      org-toggle-link-display
       :style radio
-      :selected (not (member '(org-link) buffer-invisibility-spec))])
+      :selected (not org-descriptive-links)])
     "--"
     ("TODO Lists"
      ["TODO/DONE/-" org-todo t]
      ("Select keyword"
-      ["Next keyword" org-shiftright (org-on-heading-p)]
-      ["Previous keyword" org-shiftleft (org-on-heading-p)]
+      ["Next keyword" org-shiftright (org-at-heading-p)]
+      ["Previous keyword" org-shiftleft (org-at-heading-p)]
       ["Complete Keyword" pcomplete (assq :todo-keyword (org-context))]
-      ["Next keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-on-heading-p))]
-      ["Previous keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-on-heading-p))])
+      ["Next keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-at-heading-p))]
+      ["Previous keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-at-heading-p))])
      ["Show TODO Tree" org-show-todo-tree :active t :keys "C-c / t"]
      ["Global TODO list" org-todo-list :active t :keys "C-c a t"]
      "--"
@@ -18511,7 +19076,7 @@ information about your Org-mode version and configuration."
      (org-version)
      (let (list)
        (save-window-excursion
-        (switch-to-buffer (get-buffer-create "*Warn about privacy*"))
+        (org-pop-to-buffer-same-window (get-buffer-create "*Warn about privacy*"))
         (delete-other-windows)
         (erase-buffer)
         (insert "You are about to submit a bug report to the Org-mode mailing list.
@@ -18557,8 +19122,8 @@ Your bug report will be posted to the Org-mode mailing list.
     (save-excursion
       (while bl
        (set-buffer (pop bl))
-       (if (org-mode-p) (setq bl nil)))
-      (when (org-mode-p)
+       (if (eq major-mode 'org-mode) (setq bl nil)))
+      (when (eq major-mode 'org-mode)
        (easy-menu-change
         '("Org") "File List for Agenda"
         (append
@@ -18708,7 +19273,7 @@ With prefix arg UNCOMPILED, load the uncompiled versions."
   (if (and marker (marker-buffer marker)
           (buffer-live-p (marker-buffer marker)))
       (progn
-       (switch-to-buffer (marker-buffer marker))
+       (org-pop-to-buffer-same-window (marker-buffer marker))
        (if (or (> marker (point-max)) (< marker (point-min)))
            (widen))
        (goto-char marker)
@@ -18971,7 +19536,7 @@ and :keyword."
         (p (point)) clist o)
     ;; First the large context
     (cond
-     ((org-on-heading-p t)
+     ((org-at-heading-p t)
       (push (list :headline (point-at-bol) (point-at-eol)) clist)
       (when (progn
              (beginning-of-line 1)
@@ -19014,7 +19579,7 @@ and :keyword."
       (push (list :keyword
                  (previous-single-property-change p 'face)
                  (next-single-property-change p 'face)) clist))
-     ((org-on-target-p)
+     ((org-at-target-p)
       (push (org-point-in-group p 0 :target) clist)
       (goto-char (1- (match-beginning 0)))
       (if (looking-at org-radio-target-regexp)
@@ -19066,37 +19631,58 @@ really on, so that the block visually is on the match."
              (throw 'exit t)))
        nil))))
 
-(defun org-in-regexps-block-p (start-re end-re &optional bound)
-  "Return t if the current point is between matches of START-RE and END-RE.
-This will also return t if point is on one of the two matches or
-in an unfinished block. END-RE can be a string or a form
-returning a string.
+(defun org-between-regexps-p (start-re end-re &optional lim-up lim-down)
+  "Non-nil when point is between matches of START-RE and END-RE.
 
-An optional third argument bounds the search for START-RE. It
-defaults to previous heading or `point-min'."
-  (let ((pos (point))
-       (limit (or bound (save-excursion (outline-previous-heading)))))
-    (save-excursion
-      ;; we're on a block when point is on start-re...
-      (or (org-at-regexp-p start-re)
-         ;; ... or start-re can be found above...
-         (and (re-search-backward start-re limit t)
-              ;; ... but no end-re between start-re and point.
-              (not (re-search-forward (eval end-re) pos t)))))))
+Also return a non-nil value when point is on one of the matches.
+
+Optional arguments LIM-UP and LIM-DOWN bound the search; they are
+buffer positions.  Default values are the positions of headlines
+surrounding the point.
+
+The functions returns a cons cell whose car (resp. cdr) is the
+position before START-RE (resp. after END-RE)."
+  (save-match-data
+    (let ((pos (point))
+         (limit-up (or lim-up (save-excursion (outline-previous-heading))))
+         (limit-down (or lim-down (save-excursion (outline-next-heading))))
+         beg end)
+      (save-excursion
+       ;; Point is on a block when on START-RE or if START-RE can be
+       ;; found before it...
+       (and (or (org-at-regexp-p start-re)
+                (re-search-backward start-re limit-up t))
+            (setq beg (match-beginning 0))
+            ;; ... and END-RE after it...
+            (goto-char (match-end 0))
+            (re-search-forward end-re limit-down t)
+            (> (setq end (match-end 0)) pos)
+            ;; ... without another START-RE in-between.
+            (goto-char (match-beginning 0))
+            (not (re-search-backward start-re (1+ beg) t))
+            ;; Return value.
+            (cons beg end))))))
 
 (defun org-in-block-p (names)
-  "Is point inside any block whose name belongs to NAMES?
+  "Non-nil when point belongs to a block whose name belongs to NAMES.
+
+NAMES is a list of strings containing names of blocks.
 
-NAMES is a list of strings containing names of blocks."
+Return first block name matched, or nil.  Beware that in case of
+nested blocks, the returned name may not belong to the closest
+block from point."
   (save-match-data
     (catch 'exit
-      (let ((case-fold-search t))
+      (let ((case-fold-search t)
+           (lim-up (save-excursion (outline-previous-heading)))
+           (lim-down (save-excursion (outline-next-heading))))
        (mapc (lambda (name)
                (let ((n (regexp-quote name)))
-                 (when (org-in-regexps-block-p
+                 (when (org-between-regexps-p
                         (concat "^[ \t]*#\\+begin_" n)
-                        (concat "^[ \t]*#\\+end_" n))
-                   (throw 'exit t))))
+                        (concat "^[ \t]*#\\+end_" n)
+                        lim-up lim-down)
+                   (throw 'exit n))))
              names))
       nil)))
 
@@ -19127,18 +19713,18 @@ NAMES is a list of strings containing names of blocks."
     ;; Emacs 23
     (add-hook 'occur-mode-find-occurrence-hook
              (lambda ()
-               (when (org-mode-p)
+               (when (eq major-mode 'org-mode)
                  (org-reveal))))
   ;; Emacs 22
   (defadvice occur-mode-goto-occurrence
     (after org-occur-reveal activate)
-    (and (org-mode-p) (org-reveal)))
+    (and (eq major-mode 'org-mode) (org-reveal)))
   (defadvice occur-mode-goto-occurrence-other-window
     (after org-occur-reveal activate)
-    (and (org-mode-p) (org-reveal)))
+    (and (eq major-mode 'org-mode) (org-reveal)))
   (defadvice occur-mode-display-occurrence
     (after org-occur-reveal activate)
-    (when (org-mode-p)
+    (when (eq major-mode 'org-mode)
       (let ((pos (occur-mode-find-occurrence)))
        (with-current-buffer (marker-buffer pos)
          (save-excursion
@@ -19194,13 +19780,26 @@ Taken from `count' in cl-seq.el with all keyword arguments removed."
       (if (funcall predicate e) (push e res)))
     (nreverse res)))
 
+(defun org-reduce (cl-func cl-seq &rest cl-keys)
+  "Reduce two-argument FUNCTION across SEQ.
+Taken from `reduce' in cl-seq.el with all keyword arguments but
+\":initial-value\" removed."
+  (let ((cl-accum (cond ((memq :initial-value cl-keys)
+                         (cadr (memq :initial-value cl-keys)))
+                        (cl-seq (pop cl-seq))
+                        (t (funcall cl-func)))))
+    (while cl-seq
+      (setq cl-accum (funcall cl-func cl-accum (pop cl-seq))))
+    cl-accum))
+
 (defun org-back-over-empty-lines ()
   "Move backwards over whitespace, to the beginning of the first empty line.
 Returns the number of empty lines passed."
   (let ((pos (point)))
     (if (cdr (assoc 'heading org-blank-before-new-entry))
        (skip-chars-backward " \t\n\r")
-      (forward-line -1))
+      (unless (eobp)
+       (forward-line -1)))
     (beginning-of-line 2)
     (goto-char (min (point) pos))
     (count-lines (point) pos)))
@@ -19416,7 +20015,7 @@ If point is in an inline task, mark that task instead."
      ;; Footnote definition
      ((looking-at org-footnote-definition-re) (setq column 0))
      ;; Literal examples
-     ((looking-at "[ \t]*:[ \t]")
+     ((looking-at "[ \t]*:\\( \\|$\\)")
       (setq column (org-get-indentation))) ; do nothing
      ;; Lists
      ((ignore-errors (goto-char (org-in-item-p)))
@@ -19437,14 +20036,18 @@ If point is in an inline task, mark that task instead."
              (concat "^[ \t]*#\\+begin_" (downcase (match-string 1))) nil t)))
       (setq column (org-get-indentation (match-string 0))))
      ((and (not (looking-at "[ \t]*#\\+begin_"))
-          (org-in-regexps-block-p "^[ \t]*#\\+begin_" "[ \t]*#\\+end_"))
+          (org-between-regexps-p "^[ \t]*#\\+begin_" "[ \t]*#\\+end_"))
       (save-excursion
        (re-search-backward "^[ \t]*#\\+begin_\\([a-z]+\\)" nil t))
       (setq column
-           (if (equal (downcase (match-string 1)) "src")
-               ;; src blocks: let `org-edit-src-exit' handle them
-               (org-get-indentation)
-             (org-get-indentation (match-string 0)))))
+            (cond ((equal (downcase (match-string 1)) "src")
+                   ;; src blocks: let `org-edit-src-exit' handle them
+                   (org-get-indentation))
+                  ((equal (downcase (match-string 1)) "example")
+                   (max (org-get-indentation)
+                       (org-get-indentation (match-string 0))))
+                  (t
+                   (org-get-indentation (match-string 0))))))
      ;; This line has nothing special, look at the previous relevant
      ;; line to compute indentation
      (t
@@ -19543,10 +20146,11 @@ the functionality can be provided as a fall-back.")
   ;; through to `fill-paragraph' when appropriate.
   (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
   ;; Prevent auto-fill from inserting unwanted new items.
-  (org-set-local 'fill-nobreak-predicate
-                (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
-                    fill-nobreak-predicate
-                  (cons 'org-fill-item-nobreak-p fill-nobreak-predicate)))
+  (if (boundp 'fill-nobreak-predicate)
+      (org-set-local 'fill-nobreak-predicate
+                    (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
+                        fill-nobreak-predicate
+                      (cons 'org-fill-item-nobreak-p fill-nobreak-predicate))))
   ;; Adaptive filling: To get full control, first make sure that
   ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
   (unless (local-variable-p 'adaptive-fill-regexp (current-buffer))
@@ -19695,7 +20299,7 @@ this line is also exported in fixed-width font."
         (end (if regionp (region-end)))
         (nlines (or arg (if (and beg end) (count-lines beg end) 1)))
         (case-fold-search nil)
-        (re "[ \t]*\\(: \\)")
+        (re "[ \t]*\\(:\\(?: \\|$\\)\\)")
         off)
     (if regionp
        (save-excursion
@@ -19717,13 +20321,16 @@ this line is also exported in fixed-width font."
            (forward-line 1)))
       (save-excursion
        (org-back-to-heading)
-       (if (looking-at (concat org-outline-regexp
-                               "\\( *\\<" org-quote-string "\\>[ \t]*\\)"))
-           (replace-match "" t t nil 1)
-         (if (looking-at org-outline-regexp)
-             (progn
-               (goto-char (match-end 0))
-               (insert org-quote-string " "))))))))
+       (cond
+        ((looking-at (format org-heading-keyword-regexp-format
+                             org-quote-string))
+         (goto-char (match-end 1))
+         (looking-at (concat " +" org-quote-string))
+         (replace-match "" t t)
+         (when (eolp) (insert " ")))
+        ((looking-at org-outline-regexp)
+         (goto-char (match-end 0))
+         (insert org-quote-string " ")))))))
 
 (defun org-reftex-citation ()
   "Use reftex-citation to insert a citation into the buffer.
@@ -19817,13 +20424,14 @@ beyond the end of the headline."
   (let ((special (if (consp org-special-ctrl-a/e)
                     (cdr org-special-ctrl-a/e)
                   org-special-ctrl-a/e)))
-    (if (or (not special)
-           (not (org-on-heading-p))
-           arg)
-       (call-interactively
-        (cond ((org-bound-and-true-p line-move-visual) 'end-of-visual-line)
-              ((fboundp 'move-end-of-line) 'move-end-of-line)
-              (t 'end-of-line)))
+    (cond
+     ((or (not special) arg
+         (not (or (org-at-heading-p) (org-at-item-p) (org-at-drawer-p))))
+      (call-interactively
+       (cond ((org-bound-and-true-p line-move-visual) 'end-of-visual-line)
+            ((fboundp 'move-end-of-line) 'move-end-of-line)
+            (t 'end-of-line))))
+     ((org-at-heading-p)
       (let ((pos (point)))
        (beginning-of-line 1)
        (if (looking-at (org-re ".*?\\(?:\\([ \t]*\\)\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*\\)?$"))
@@ -19838,6 +20446,11 @@ beyond the end of the headline."
          (call-interactively (if (fboundp 'move-end-of-line)
                                  'move-end-of-line
                                'end-of-line)))))
+     ((org-at-drawer-p)
+      (move-end-of-line 1)
+      (when (overlays-at (1- (point))) (backward-char 1)))
+     ;; At an item: Move before any hidden text.
+     (t (call-interactively 'end-of-line)))
     (org-no-warnings
      (and (featurep 'xemacs) (setq zmacs-region-stays t)))))
 
@@ -19871,7 +20484,7 @@ depending on context."
   (cond
    ((or (not org-special-ctrl-k)
        (bolp)
-       (not (org-on-heading-p)))
+       (not (org-at-heading-p)))
     (if (and (get-char-property (min (point-max) (point-at-eol)) 'invisible)
             org-ctrl-k-protect-subtree)
        (if (or (eq org-ctrl-k-protect-subtree 'error)
@@ -19917,7 +20530,7 @@ plainly yank the text as it is.
   "Perform some yank-like command.
 
 This function implements the behavior described in the `org-yank'
-documentation. However, it has been generalized to work for any
+documentation.  However, it has been generalized to work for any
 interactive command with similar behavior."
 
   ;; pretend to be command COMMAND
@@ -20026,10 +20639,16 @@ This version does not only check the character property, but also
     (end-of-line)
     (null (re-search-backward org-outline-regexp-bol nil t))))
 
-(defun org-on-heading-p (&optional ignored)
-  (outline-on-heading-p t))
 (defun org-at-heading-p (&optional ignored)
   (outline-on-heading-p t))
+;; Compatibility alias with Org versions < 7.8.03
+(defalias 'org-on-heading-p 'org-at-heading-p)
+
+(defun org-at-drawer-p nil
+  "Whether point is at a drawer."
+  (save-excursion
+    (move-beginning-of-line 1)
+    (looking-at org-drawer-regexp)))
 
 (defun org-point-at-end-of-empty-headline ()
   "If point is at the end of an empty headline, return t, else nil.
@@ -20039,14 +20658,17 @@ empty."
        (save-excursion
          (beginning-of-line 1)
         (let ((case-fold-search nil))
-          (looking-at (concat "^\\(\\*+\\)[ \t]+\\(" org-todo-regexp
-                              "\\)?[ \t]*$"))))))
+          (looking-at org-todo-line-regexp)))
+       (string= (match-string 3) "")))
+
 (defun org-at-heading-or-item-p ()
-  (or (org-on-heading-p) (org-at-item-p)))
+  (or (org-at-heading-p) (org-at-item-p)))
 
-(defun org-on-target-p ()
+(defun org-at-target-p ()
   (or (org-in-regexp org-radio-target-regexp)
       (org-in-regexp org-target-regexp)))
+;; Compatibility alias with Org versions < 7.8.03
+(defalias 'org-on-target-p 'org-at-target-p)
 
 (defun org-up-heading-all (arg)
   "Move to the heading line of which the present line is a subheading.
@@ -20117,7 +20739,7 @@ move point."
 
 (defun org-goto-first-child ()
   "Goto the first child, even if it is invisible.
-Return t when a child was found. Otherwise don't move point and
+Return t when a child was found.  Otherwise don't move point and
 return nil."
   (let (level (pos (point)) (re org-outline-regexp-bol))
     (when (condition-case nil (org-back-to-heading t) (error nil))
@@ -20185,7 +20807,7 @@ If there is no such heading, return nil."
   (org-back-to-heading invisible-OK)
   (let ((first t)
        (level (funcall outline-level)))
-    (if (and (org-mode-p) (< level 1000))
+    (if (and (eq major-mode 'org-mode) (< level 1000))
        ;; A true heading (not a plain list item), in Org-mode
        ;; This means we can easily find the end by looking
        ;; only for the right number of stars.  Using a regexp to do
@@ -20210,7 +20832,7 @@ If there is no such heading, return nil."
 
 (defadvice outline-end-of-subtree (around prefer-org-version activate compile)
   "Use Org version in org-mode, for dramatic speed-up."
-  (if (org-mode-p)
+  (if (eq major-mode 'org-mode)
       (progn
        (org-end-of-subtree nil t)
        (unless (eobp) (backward-char 1)))
@@ -20242,7 +20864,7 @@ Normally this only looks at visible headings, but when INVISIBLE-OK is non-nil
 it wil also look at invisible ones."
   (interactive "p")
   (org-back-to-heading invisible-ok)
-  (org-on-heading-p)
+  (org-at-heading-p)
   (let* ((level (- (match-end 0) (match-beginning 0) 1))
         (re (format "^\\*\\{1,%d\\} " level))
         l)
@@ -20262,7 +20884,7 @@ it wil also look at invisible ones."
 Stop at the first and last subheadings of a superior heading."
   (interactive "p")
   (org-back-to-heading)
-  (org-on-heading-p)
+  (org-at-heading-p)
   (let* ((level (- (match-end 0) (match-beginning 0) 1))
         (re (format "^\\*\\{1,%d\\} " level))
         l)
@@ -20382,7 +21004,7 @@ Show the heading too, if it is currently invisible."
   '(progn
      (add-hook 'imenu-after-jump-hook
               (lambda ()
-                (if (org-mode-p)
+                (if (eq major-mode 'org-mode)
                     (org-show-context 'org-goto))))))
 
 (defun org-link-display-format (link)
@@ -20397,6 +21019,17 @@ if no description is present"
                           nil t link)
       link)))
 
+(defun org-toggle-link-display ()
+  "Toggle the literal or descriptive display of links."
+  (interactive)
+  (if org-descriptive-links
+      (progn (org-remove-from-invisibility-spec '(org-link))
+            (org-restart-font-lock)
+            (setq org-descriptive-links nil))
+    (progn (add-to-invisibility-spec '(org-link))
+          (org-restart-font-lock)
+          (setq org-descriptive-links t))))
+
 ;; Speedbar support
 
 (defvar org-speedbar-restriction-lock-overlay (make-overlay 1 1)
@@ -20432,7 +21065,7 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock]."
       (with-current-buffer (find-file-noselect
                            (let ((default-directory dir))
                              (expand-file-name txt)))
-       (unless (org-mode-p)
+       (unless (eq major-mode 'org-mode)
          (error "Cannot restrict to non-Org-mode file"))
        (org-agenda-set-restriction-lock 'file)))
      (t (error "Don't know how to restrict Org-mode's agenda")))
@@ -20449,7 +21082,7 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock]."
      (define-key speedbar-file-key-map ">" 'org-agenda-remove-restriction-lock)
      (define-key speedbar-file-key-map "\C-c\C-x>" 'org-agenda-remove-restriction-lock)
      (add-hook 'speedbar-visiting-tag-hook
-              (lambda () (and (org-mode-p) (org-show-context 'org-goto))))))
+              (lambda () (and (eq major-mode 'org-mode) (org-show-context 'org-goto))))))
 
 ;;; Fixes and Hacks for problems with other packages
 
@@ -20492,12 +21125,12 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock]."
 (eval-after-load "ecb"
   '(defadvice ecb-method-clicked (after esf/org-show-context activate)
      "Make hierarchy visible when jumping into location from ECB tree buffer."
-     (if (org-mode-p)
+     (if (eq major-mode 'org-mode)
         (org-show-context))))
 
 (defun org-bookmark-jump-unhide ()
   "Unhide the current position, to show the bookmark location."
-  (and (org-mode-p)
+  (and (eq major-mode 'org-mode)
        (or (outline-invisible-p)
           (save-excursion (goto-char (max (point-min) (1- (point))))
                           (outline-invisible-p)))
@@ -20536,6 +21169,4 @@ Still experimental, may disappear in the future."
 
 (run-hooks 'org-load-hook)
 
-
-
 ;;; org.el ends here
index b5bf8296455ae5b6c283c04566fc92017aa9058c..15af855ff43cda615f3634242b59d554055d61a8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; outline.el --- outline mode commands for Emacs
 
-;; Copyright (C) 1986, 1993-1995, 1997, 2000-2011
+;; Copyright (C) 1986, 1993-1995, 1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index ee550228d48e1f83fe91fafd3962e5753747f5da..49d2777fd0b3a3060ac059712a8c0c05e8f2ae94 100644 (file)
@@ -1,6 +1,6 @@
 ;;; paren.el --- highlight matching paren
 
-;; Copyright (C) 1993, 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: rms@gnu.org
 ;; Maintainer: FSF
index c425e0aa7e8bc020ca38317eabf18bfcf1d43721..9f5c18f3415e70c9bf5a47ecee917b9f04c86de1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; password-cache.el --- Read passwords, possibly using a password cache.
 
-;; Copyright (C) 1999-2000, 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Created: 2003-12-21
index 161caf9cb8c440d536fa35815223605297d144cf..70b5ca5dbfb03a80f45754f73ff33726d1d93c6e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; paths.el --- define pathnames for use by various Emacs commands -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1986, 1988, 1994, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1988, 1994, 1999-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 9c9b72ab701c7dadb3a5fb29365f4a9f0bd09fb1..7a23b5f609001f6d33157869bf7c01ac2c79eca4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcmpl-cvs.el --- functions for dealing with cvs completions
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Package: pcomplete
index 3b2a944f5bb6af3d9242414629471ba7c0a943eb..6ce51d156cb15c710910366b221c8b907944372f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcmpl-gnu.el --- completions for GNU project tools -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Package: pcomplete
 
index d75479fab3e2e96a634e9093fa2beb8aa93b3f30..10e762132d82e0f5cbc34156fa8caaf19902532b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Package: pcomplete
 
index 716b0a59555e3e7ed4574a0d6fd8654a096c5de7..8019b876562fd1a203094e7715a4ea805119fa8f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcmpl-rpm.el --- functions for dealing with rpm completions
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Package: pcomplete
 
index a34458506e239ec730b98b6d80383a883194fcbb..2dc25d93abf60959e2eab8947efce3810e637194 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcmpl-unix.el --- standard UNIX completions
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Package: pcomplete
 
index 8ae1e20384974bff175f38858c2f58bc5456a7b4..2d885a2b40f047c7b0ae68cb6756cf7599f7a797 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcomplete.el --- programmable completion -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Keywords: processes abbrev
index e111e74360818b8005503bfe3873862c5651af0d..b2fffb49840aab16a61026fc5cb43d385947935a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; 5x5.el --- simple little puzzle game -*- coding: utf-8 -*-
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Pearson <davep@davep.org>
 ;; Maintainer: Dave Pearson <davep@davep.org>
index ec0cacc4a682b9ddac423573b1489d40ca0eb724..a1420e62f029a0ee4bf26bf55878ea20174f3fa7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; animate.el --- make text dance
 
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: Richard Stallman <rms@gnu.org>
 ;; Keywords: games
index 42d1d8e09fa308706704fbb65614b5b161745bf1..eb2d784c8e523c1f8b28f26f97cc547b083a3955 100644 (file)
@@ -1,6 +1,6 @@
 ;;; blackbox.el --- blackbox game in Emacs Lisp
 
-;; Copyright (C) 1985-1987, 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: F. Thomas May <uw-nsr!uw-warp!tom@beaver.cs.washington.edu>
 ;; Adapted-By: ESR
index a41d5a3d3d1c155d03b92822f5a056bd48380f2c..b8b2f53097d3683237b1f988ef7c82f684b3a204 100644 (file)
@@ -1,7 +1,7 @@
 ;;; bruce.el --- bruce phrase utility for overloading the Communications -*- no-byte-compile: t -*-
 ;;; Decency Act snoops, if any.
 
-;; Copyright (C) 1988, 1993, 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1993, 1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: games
index 62d486ffca5961c6e6c2b6c49c657bcec020e833..a786f687124c411bde67e935f1027d9da4e18db2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bubbles.el --- Puzzle game for Emacs
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; URL:         http://ulf.epplejasper.de/
index 837213665fc7581bf7037b3d723f4714e7492541..06bd962d9257fb6a3dbed750c5b4864d1d785dd7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cookie1.el --- retrieve random phrases from fortune cookie files
 
-;; Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: FSF
@@ -46,7 +46,7 @@
 ;; In order to achieve total compatibility with strfile(1), cookie files
 ;; should start with two consecutive delimiters (and no comment).
 ;;
-;; This code derives from Steve Strassman's 1987 spook.el package, but
+;; This code derives from Steve Strassmann's 1987 spook.el package, but
 ;; has been generalized so that it supports multiple simultaneous
 ;; cookie databases and fortune files.  It is intended to be called
 ;; from other packages such as yow.el and spook.el.
index 4d4ea71cd7a2a644123221e0088d79717dc6e5b0..438fae4383d30823950496930fc786e24e1f695e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; decipher.el --- cryptanalyze monoalphabetic substitution ciphers
 ;;
-;; Copyright (C) 1995-1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2001-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Christopher J. Madsen <chris_madsen@geocities.com>
 ;; Keywords: games
index 4530e586de88b7e8b54203dcd73fafafbad0200a..8f9f8cea24fb4d8fd7d5bf8fc5cc0c045534bb3e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dissociate.el --- scramble text amusingly for Emacs
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: games
index b20f6968088d4b02e828cf89b49bfad59449363a..d79f9cd31bd6eda2fe36eead78f8ebadbedd912b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; doctor.el --- psychological help for frustrated users
 
-;; Copyright (C) 1985, 1987, 1994, 1996, 2000-2011
+;; Copyright (C) 1985, 1987, 1994, 1996, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -1576,9 +1576,9 @@ Hack on previous word, setting global variable DOCTOR-OWNER to correct result."
                       (equal doctor-found 'killing))
                   (memq 'yourself doctor-sent)))
         (setq doctor--suicide-flag t)
-        (doctor-type '(If you are really suicidal, you might
+        (doctor-type '(If you are really suicidal\, you might
                           want to contact the Samaritans via
-                          E-mail: jo@samaritans.org or, at your option,
+                          E-mail: jo@samaritans.org or\, at your option\,
                           anonymous E-mail: samaritans@anon.twwells.com\ \.
                            or find a Befrienders crisis center at
                           http://www.befrienders.org/\ \.
index 696442ee8cbfc3b2865efeef9a21595cb34471e8..22a2642f7512b746d3ce0790cb297d1f57155cbd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dunnet.el --- text adventure for Emacs -*-  byte-compile-warnings: nil -*-
 
-;; Copyright (C) 1992-1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Ron Schnell <ronnie@driver-aces.com>
 ;; Created: 25 Jul 1992
@@ -2183,7 +2183,7 @@ A hole leads north."
         nil nil nil nil nil
         (list obj-box)                        ;; stair-landing
         nil nil nil
-        (list obj-axe)                        ;; smal-crawlspace
+        (list obj-axe)                        ;; small-crawlspace
         nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
         nil nil nil nil nil
         (list obj-special)                    ;; fourth-vermont-intersection
index a46c2ba8171c2526e82a8799e2baa78f01c54a16..61de49aadf0a7b363957134f31c6c6a80e833d8b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; fortune.el --- use fortune to create signatures
 
-;; Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Holger Schauer <Holger.Schauer@gmx.de>
 ;; Keywords: games utils mail
index e245e70a55c7c36cb67d36b1ab60825016dc06a7..3b2e6c196f6f33cb56431a38b771a81feaca18b0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gamegrid.el --- library for implementing grid-based games on Emacs
 
-;; Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
 ;; Version: 1.02
index e7ed146b4a179bd48892720e9f5128687a220fd5..60bbc7129e22ae01a710326a4634a4a4169af11a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gametree.el --- manage game analysis trees in Emacs
 
-;; Copyright (C) 1997, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Ian T Zimmerman <itz@rahul.net>
 ;; Created: Wed Dec 10 07:41:46 PST 1997
index ee6b67e6109d6b9df77be2d7d675b906bdf645dd..a8ab13bd528991a0d60087c82a7ea3e474282704 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gomoku.el --- Gomoku game between you and Emacs
 
-;; Copyright (C) 1988, 1994, 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
 ;; Maintainer: FSF
index 70c10da5405ee698d056b477b71c42313e952485..e2aec709b99f1d3975248eba36cee2c80463210c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; handwrite.el --- turns your emacs buffer into a handwritten document -*- coding: iso-latin-1; -*-
 
-;; Copyright (C) 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Danny Roozendaal (was: <danny@tvs.kun.nl>)
 ;; Created: October 21 1996
index 9ef03725c6003563dba009478bc1d71c633a17a7..a769101ad0b71e43e2587c94e2ce10fe6afb460c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; landmark.el --- neural-network robot that learns landmarks
 
-;; Copyright (C) 1996-1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>)
 ;; Created: December 16, 1996 - first release to usenet
index 7cdc41361942e2cc5ba6e5820dba919c09abdf5e..e9133f84862a3caa9f069a2a7276af55772a1fa3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; life.el --- John Horton Conway's `Life' game for GNU Emacs
 
-;; Copyright (C) 1988, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Kyle Jones <kyleuunet.uu.net>
 ;; Maintainer: FSF
index fa0887c0ac5adaab7a75cb009d48040f7d9f81bb..6bf34ddb85117bbebc42dc6f9113127b8ac3525f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; morse.el --- convert text to morse code and back             -*- coding: utf-8 -*-
 
-;; Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Rick Farnbach <rick_farnbach@MENTORG.COM>
 ;; Keywords: games
index 3e1659628f45ecf1e320e19b909a4969db85ef3f..f086931d196f0cd6055065a6d0af799346c9d753 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mpuz.el --- multiplication puzzle for GNU Emacs
 
-;; Copyright (C) 1990, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
 ;; Overhauled: Daniel Pfeiffer <occitan@esperanto.org>
index e993e769756e822aa5d6bd3b6d78d564015798d1..5742a5c7849b8fa87b947bde0303a7f4a74eb070 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pong.el --- classical implementation of pong
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Benjamin Drieu <bdrieu@april.org>
 ;; Keywords: games
index 418c898e825c0fdedce11100455c1afef7688e6d..db54039c237c9d36227ca147e4c2bf9c33fe3be7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; snake.el --- implementation of Snake for Emacs
 
-;; Copyright (C) 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
 ;; Created: 1997-09-10
index b52ade6fdb757ade1d7d0d11cb43a241b82494bb..f282fa68b2aa71b82c1e1f5c91884b29ef976196 100644 (file)
@@ -1,6 +1,6 @@
 ;;; solitaire.el --- game of solitaire in Emacs Lisp
 
-;; Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Jan Schormann <Jan.Schormann@rechen-gilde.de>
 ;; Created: Fri afternoon, Jun  3,  1994
index 6cab994a9cc07a12d6f3a84ae2bb47a9b28babae..e79df0e88c7c8e62e47d75764de5c784822991ec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; spook.el --- spook phrase utility for overloading the NSA line eater
 
-;; Copyright (C) 1988, 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: games
index 053b07adfc70b27e1eb42cd8947c3c0de60a3e23..24d1c3f2417d27be1da08d1b94839a13b9ea8dd1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tetris.el --- implementation of Tetris for Emacs
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
 ;; Version: 2.01
index d75e04eb74ffc5d0778e151dd117b982d104e765..fa32fdf82729c442a97d652a4a3d61a4493c94fb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; yow.el --- quote random zippyisms
 
-;; Copyright (C) 1993-1995, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Author: Richard Mlynarik
index d194a8af919dee3bfdb995aff807a7e79e2e7eff..f1d42aafb9cd5f26780133bc56ec08421e3b9251 100644 (file)
@@ -1,6 +1,6 @@
 ;;; zone.el --- idle display hacks
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Victor Zandy <zandy@cs.wisc.edu>
 ;; Maintainer: Thien-Thi Nguyen <ttn@gnu.org>
index dab57d16dca3363b512a1f5ec61aa7c3f7c04f83..bf5b8a91f01f3650df2d039a1eaad5a5b817c6e3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; printing.el --- printing utilities
 
-;; Copyright (C) 2000-2001, 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
@@ -4710,12 +4710,12 @@ Interactively, you have the following situations:
 
    M-x pr-ps-fast-fire RET
       The command prompts the user for a N-UP value and printing will
-      immediatelly be done using the current active printer.
+      immediately be done using the current active printer.
 
    C-u   M-x pr-ps-fast-fire RET
    C-u 0 M-x pr-ps-fast-fire RET
       The command prompts the user for a N-UP value and also for a current
-      PostScript printer, then printing will immediatelly be done using the new
+      PostScript printer, then printing will immediately be done using the new
       current active printer.
 
    C-u 1 M-x pr-ps-fast-fire RET
@@ -4736,7 +4736,7 @@ zero and the argument SELECT is treated as follows:
    If it's nil, send the image to the printer.
 
    If it's a list or an integer lesser or equal to zero, the command prompts
-   the user for a current PostScript printer, then printing will immediatelly
+   the user for a current PostScript printer, then printing will immediately
    be done using the new current active printer.
 
    If it's an integer equal to 1, the command prompts the user for a file name
@@ -4749,7 +4749,7 @@ zero and the argument SELECT is treated as follows:
    instead of sending it to the printer.
 
    If it's a symbol which it's defined in `pr-ps-printer-alist', it's the new
-   active printer and printing will immediatelly be done using the new active
+   active printer and printing will immediately be done using the new active
    printer.
 
    Otherwise, send the image to the printer.
@@ -4800,7 +4800,7 @@ Noninteractively, the argument SELECT-PRINTER is treated as follows:
    If it's nil, the printing is sent to the current active text printer.
 
    If it's a symbol which it's defined in `pr-txt-printer-alist', it's the new
-   active printer and printing will immediatelly be done using the new active
+   active printer and printing will immediately be done using the new active
    printer.
 
    If it's non-nil, the command prompts the user for a new active text printer.
index baee7c0f6ee245c6c4c5b1ce3d4e39e6d49e3157..da82186fe30de3bfb26964ae1d700f247df8482c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; proced.el --- operate on system processes like dired
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Roland Winkler <winkler@gnu.org>
 ;; Keywords: Processes, Unix
index 17ff4bd32a683667fbfde22cf37f198722fb94ee..8ccb8f17d803024d74935695faa43a9cdf1dcccc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ada-mode.el --- major-mode for editing Ada sources
 
-;; Copyright (C) 1994-1995, 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997-2012  Free Software Foundation, Inc.
 
 ;; Author: Rolf Ebert      <ebert@inf.enst.fr>
 ;;      Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
index a32e22828fcd28d161e052d3d61ae94f9c203907..10497acbe4b04511ffd999edb2af3fa36acb3c09 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ada-prj.el --- GUI editing of project files for the ada-mode
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Emmanuel Briot <briot@gnat.com>
 ;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
index e48055c9f504591ba87d19a4cdff2ba42ef0c0e9..50c5b695dbccd593b5e6e4544202024f6695d9a3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ada-stmt.el --- an extension to Ada mode for inserting statement templates
 
-;; Copyright (C) 1987, 1993-1994, 1996-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993-1994, 1996-2012  Free Software Foundation, Inc.
 
 ;; Authors: Daniel Pfeiffer
 ;;     Markus Heritsch
@@ -56,7 +56,7 @@
 ;; BUGS:
 ;;;> I have the following suggestions for the function template: 1) I
 ;;;> don't want it automatically assigning it a name for the return variable. I
-;;;> never want it to be called "Result" because that is nondescriptive. If you
+;;;> never want it to be called "Result" because that is nondescript. If you
 ;;;> must define a variable, give me the ability to specify its name.
 ;;;>
 ;;;> 2) You do not provide a type for variable 'Result'. Its type is the same
index f30457992a391eb470c2c22be90e0cbdfce980ff..d72eef27a58fa0a93923663d46151569fd0a49bd 100644 (file)
@@ -1,6 +1,6 @@
 ;; ada-xref.el --- for lookup and completion in Ada mode
 
-;; Copyright (C) 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012  Free Software Foundation, Inc.
 
 ;; Author: Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
 ;;      Rolf Ebert <ebert@inf.enst.fr>
@@ -1533,7 +1533,7 @@ the project file."
   ;;      .ali file for a spec file.  If we are, go to step 3.
   ;;   3- If the file is not found or step 2 failed:
   ;;      find the name of the "other file", ie the body, and look
-  ;;      for its associated .ali file by subtituing the extension
+  ;;      for its associated .ali file by subtituting the extension
   ;;
   ;; We must also handle the case of separate packages and subprograms:
   ;;   4- If no ali file was found, we try to modify the file name by removing
index d1ff1aead10006b1bbf2758c576acaec08c2e3c6..634570cf3e418213ee0026d8b4e13df973cf5034 100644 (file)
@@ -1,6 +1,6 @@
 ;;; antlr-mode.el --- major mode for ANTLR grammar files
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Christoph.Wedler@sap.com
 ;; Keywords: languages, ANTLR, code generator
index 3ac8b119fe1f7a09b6a2cfd875c29ac7d7482a36..cfa977d90225f27e93b4c87861711675acbc0df9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; asm-mode.el --- mode for editing assembler code
 
-;; Copyright (C) 1991, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: FSF
index fce725c3b3c6295167c2e7de3265b7fe4720ba88..a7242f6c23235f8211951781ae5de8ffe498663c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; autoconf.el --- mode for editing Autoconf configure.in files
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: languages
index 12eddfef1aa701df2047666ca33dbc6e05d41218..015b9a9ceafcbf0b1e8ea22066d5bcc54fafc767 100644 (file)
@@ -1,6 +1,6 @@
 ;; bug-reference.el --- buttonize bug references
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Tom Tromey <tromey@redhat.com>
 ;; Created: 21 Mar 2007
index d7b7dfef1ec879004e3c059a1ef259f74edae09e..6d4d9f0544dd2d16ba7ab59f390381912cf9abba 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cap-words.el --- minor mode for motion in CapitalizedWordIdentifiers
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: languages
index 81045d63abfa3e8a008a67dd763ee468b23973f4..b12020b26be3e3ab707fe29f44f3d3d3b81a23f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-align.el --- custom indentation functions for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2004- Alan Mackenzie
 ;;             1998- Martin Stjernholm
index ef67a18d807bd6f17862ca11c838f845dfe26f45..d7829853e3cba641b127d435e77234ed035f5a7d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-awk.el --- AWK specific code within cc-mode.
 
-;; Copyright (C) 1988, 1994, 1996, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1996, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
 ;; Maintainer: FSF
index 823430f2d38481a95ecb20a97501e2c7b1f31f46..bd9805673a4f5747fe5f43788ef151a5db730125 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-bytecomp.el --- compile time setup for proper compilation
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author:     Martin Stjernholm
 ;; Maintainer: bug-cc-mode@gnu.org
index 686695bc838e0b299222732014fefab35a745372..76b9f3041649ea771033636ac88bab791dfa2890 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-cmds.el --- user level commands for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2003- Alan Mackenzie
 ;;             1998- Martin Stjernholm
index 01f7379b1b02afa44afdec9d1a1e882fa2619d56..bf0ac8c56192af3beea74857af87f1043c4e2bb7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;            1994-1999 Barry A. Warsaw
index 2991b511830e655ccf122160f124a679fb2fb063..93a7279656159c5db834bb2b4b9ef72724ff76f6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-defs.el --- compile time definitions for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2003- Alan Mackenzie
 ;;             1998- Martin Stjernholm
index 0865ddfed690cddad87e48eccc3c16fec6a6f725..392e5d1c37c8b5c58cebb4c3f1b96a2391baa0dd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-engine.el --- core syntax guessing engine for CC mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2001- Alan Mackenzie
 ;;             1998- Martin Stjernholm
@@ -2153,14 +2153,14 @@ comment at the start of cc-engine.el for more info."
        (if (> pos c-state-nonlit-pos-cache-limit)
            (setq c-state-nonlit-pos-cache-limit pos))
        pos))))
-       
+
 (defun c-state-literal-at (here)
   ;; If position HERE is inside a literal, return (START . END), the
   ;; boundaries of the literal (which may be outside the accessible bit of the
   ;; buffer).  Otherwise, return nil.
   ;;
   ;; This function is almost the same as `c-literal-limits'.  Previously, it
-  ;; differed in that it was a lower level function, and that it rigourously
+  ;; differed in that it was a lower level function, and that it rigorously
   ;; followed the syntax from BOB.  `c-literal-limits' is now (2011-12)
   ;; virtually identical to this function.
   (save-restriction
@@ -2594,7 +2594,7 @@ comment at the start of cc-engine.el for more info."
        mstart)               ; start of a macro.
 
     (save-excursion
-      ;; Each time round the following loop, we enter a succesively deeper
+      ;; Each time round the following loop, we enter a successively deeper
       ;; level of brace/paren nesting.  (Except sometimes we "continue at
       ;; the existing level".)  `pa+1' is a pos inside an opening
       ;; brace/paren/bracket, usually just after it.
index c6c8bd107f6798c19d1f6e704aadd259c88618b3..f52864df8099a338cd10b945545bd3c6605f0c22 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-fonts.el --- font lock support for CC Mode
 
-;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 ;; Authors:    2003- Alan Mackenzie
 ;;             2002- Martin Stjernholm
@@ -1428,6 +1428,21 @@ casts and declarations are fontified.  Used on level 2 and higher."
              (c-fontify-recorded-types-and-refs)
              nil)
 
+            ((and (not c-enums-contain-decls)
+                  ;; An optimisation quickly to eliminate scans of long enum
+                  ;; declarations in the next cond arm.
+                  (let ((paren-state (c-parse-state)))
+                    (and
+                     (numberp (car paren-state))
+                     (save-excursion
+                       (goto-char (car paren-state))
+                       (c-backward-token-2)
+                       (or (looking-at c-brace-list-key)
+                           (progn
+                             (c-backward-token-2)
+                             (looking-at c-brace-list-key)))))))
+             t)
+
             (t
              ;; Are we at a declarator?  Try to go back to the declaration
              ;; to check this.  If we get there, check whether a "typedef"
@@ -1538,25 +1553,8 @@ casts and declarations are fontified.  Used on level 2 and higher."
   ;; prevent a repeat invocation.  See elisp/lispref page "Search-based
   ;; Fontification".
   (let* ((paren-state (c-parse-state))
-        (start (point))
-        (bod-lim (max (- (point) 500) (point-min)))
-        decl-context bo-decl in-typedef type-type ps-elt)
-
-    ;; First, are we actually in a "local" declaration?
-    (setq decl-context (c-beginning-of-decl-1 bod-lim)
-         bo-decl (point)
-         in-typedef (looking-at c-typedef-key))
-    (if in-typedef (c-forward-token-2))
-    (when (and (eq (car decl-context) 'same)
-              (< bo-decl start))
-      ;; Are we genuinely at a type?
-      (setq type-type (c-forward-type t))
-      (if (and type-type
-              (or (not (eq type-type 'maybe))
-                  (looking-at c-symbol-key)))
-         (c-font-lock-declarators limit t in-typedef)))
-
-    ;; Secondly, are we in any nested struct/union/class/etc. braces?
+        decl-context in-typedef ps-elt)
+    ;; Are we in any nested struct/union/class/etc. braces?
     (while paren-state
       (setq ps-elt (car paren-state)
            paren-state (cdr paren-state))
index 6553021e7835ec4da90213b6605deccf5be1adb3..fcd6a443b676a605280c0329e96e946988739300 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-guess.el --- guess indentation values by scanning existing code
 
-;; Copyright (C) 1985, 1987, 1992-2006, 2011
+;; Copyright (C) 1985, 1987, 1992-2006, 2011-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author:     1994-1995 Barry A. Warsaw
index 96f0887eec0505d4811638609b79a270148a444f..fafbfb7055290b36a0d4f6d80a973e16391477ef 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-langs.el --- language specific settings for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2002- Alan Mackenzie
 ;;             1998- Martin Stjernholm
@@ -485,28 +485,56 @@ The functions are called even when font locking isn't enabled.
 When the mode is initialized, the functions are called with
 parameters \(point-min) and \(point-max).")
 
-(c-lang-defconst c-before-font-lock-function
-  "If non-nil, a function called just before font locking.
-Typically it will extend the region about to be fontified \(see
+(c-lang-defconst c-before-font-lock-functions
+  ;; For documentation see the following c-lang-defvar of the same name.
+  ;; The value here may be a list of functions or a single function.
+  t 'c-change-set-fl-decl-start
+  (c c++ objc) '(c-neutralize-syntax-in-and-mark-CPP
+                c-change-set-fl-decl-start)
+  awk 'c-awk-extend-and-syntax-tablify-region)
+(c-lang-defvar c-before-font-lock-functions
+              (let ((fs (c-lang-const c-before-font-lock-functions)))
+                (if (listp fs)
+                    fs
+                  (list fs)))
+  "If non-nil, a list of functions called just before font locking.
+Typically they will extend the region about to be fontified \(see
 below) and will set `syntax-table' text properties on the region.
 
-It takes 3 parameters, the BEG, END, and OLD-LEN supplied to
-every after-change function; point is undefined on both entry and
-exit; on entry, the buffer will have been widened and match-data
-will have been saved; the return value is ignored.
+These functions will be run in the order given.  Each of them
+takes 3 parameters, the BEG, END, and OLD-LEN supplied to every
+after-change function; point is undefined on both entry and exit;
+on entry, the buffer will have been widened and match-data will
+have been saved; the return value is ignored.
 
-The function may extend the region to be fontified by setting the
+The functions may extend the region to be fontified by setting the
 buffer local variables c-new-BEG and c-new-END.
 
-The function is called even when font locking is disabled.
+The functions are called even when font locking is disabled.
 
-When the mode is initialized, this function is called with
-parameters \(point-min), \(point-max) and <buffer size>."
-  t nil
-  (c c++ objc) 'c-neutralize-syntax-in-and-mark-CPP
-  awk 'c-awk-extend-and-syntax-tablify-region)
-(c-lang-defvar c-before-font-lock-function
-              (c-lang-const c-before-font-lock-function))
+When the mode is initialized, these functions are called with
+parameters \(point-min), \(point-max) and <buffer size>.")
+
+(c-lang-defconst c-before-context-fontification-functions
+  awk nil
+  t 'c-context-set-fl-decl-start)
+  ;; For documentation see the following c-lang-defvar of the same name.
+  ;; The value here may be a list of functions or a single function.
+(c-lang-defvar c-before-context-fontification-functions
+  (let ((fs (c-lang-const c-before-context-fontification-functions)))
+    (if (listp fs)
+       fs
+      (list fs)))
+  "If non-nil, a list of functions called just before context (or
+other non-change) fontification is done.  Typically they will
+extend the region.
+
+These functions will be run in the order given.  Each of them
+takes 2 parameters, the BEG and END of the region to be
+fontified.  Point is undefined on both entry and exit.  On entry,
+the buffer will have been widened and match-data will have been
+saved; the return value is a cons of the adjusted
+region, (NEW-BEG . NEW-END).")
 
 \f
 ;;; Syntactic analysis ("virtual semicolons") for line-oriented languages (AWK).
@@ -2910,6 +2938,12 @@ expression is considered to be a type."
        (consp (c-lang-const c-<>-arglist-kwds))))
 (c-lang-defvar c-recognize-<>-arglists (c-lang-const c-recognize-<>-arglists))
 
+(c-lang-defconst c-enums-contain-decls
+  "Non-nil means that an enum structure can contain declarations."
+  t nil
+  java t)
+(c-lang-defvar c-enums-contain-decls (c-lang-const c-enums-contain-decls))
+
 (c-lang-defconst c-recognize-paren-inits
   "Non-nil means that parenthesis style initializers exist,
 i.e. constructs like
index 942303b10960f162a9e3670d41e99b88d4e98abc..f57fcbff5ca600aa253fa3a530d23fcaca492926 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-menus.el --- imenu support for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
index 36b95f4b3f56ae75af1903cf1674a5c4bd15766e..b74d878516dcaa73f24b24fe35ff37c8134fc7c4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-mode.el --- major mode for editing C and similar languages
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2003- Alan Mackenzie
 ;;             1998- Martin Stjernholm
@@ -599,8 +599,8 @@ that requires a literal mode spec at compile time."
 
 ;; Buffer local variables defining the region to be fontified by a font lock
 ;; after-change function.  They are set in c-after-change to
-;; after-change-function's BEG and END, and may be modified by a
-;; `c-before-font-lock-function'.
+;; after-change-functions' BEG and END, and may be modified by functions in
+;; `c-before-font-lock-functions'.
 (defvar c-new-BEG 0)
 (make-variable-buffer-local 'c-new-BEG)
 (defvar c-new-END 0)
@@ -633,13 +633,13 @@ compatible with old code; callers should always specify it."
     (setq c-new-BEG (point-min))
     (setq c-new-END (point-max))
     (save-excursion
-      (if c-get-state-before-change-functions
-         (mapc (lambda (fn)
-                 (funcall fn (point-min) (point-max)))
-               c-get-state-before-change-functions))
-      (if c-before-font-lock-function
-         (funcall c-before-font-lock-function (point-min) (point-max)
-                  (- (point-max) (point-min))))))
+      (mapc (lambda (fn)
+             (funcall fn (point-min) (point-max)))
+           c-get-state-before-change-functions)
+      (mapc (lambda (fn)
+             (funcall fn (point-min) (point-max)
+                      (- (point-max) (point-min))))
+           c-before-font-lock-functions)))
 
   (set (make-local-variable 'outline-regexp) "[^#\n\^M]")
   (set (make-local-variable 'outline-level) 'c-outline-level)
@@ -830,6 +830,35 @@ Note that the style variables are always made local to the buffer."
                                 ; with a c-cpp-delimiter category property
   (setq c-old-EOM (point)))
 
+(defun c-extend-font-lock-region-for-macros (begg endd &optional old-len)
+  ;; Extend the region (BEGG ENDD) to cover all (possibly changed)
+  ;; preprocessor macros; return the cons (new-BEG . new-END).  OLD-LEN should
+  ;; be either the old length parameter when called from an
+  ;; after-change-function, or nil otherwise.  This defun uses the variables
+  ;; c-old-BOM, c-new-BOM.
+  ;;
+  ;; Point is undefined on both entry and exit to this function.  The buffer
+  ;; will have been widened on entry.
+  (let (limits new-beg new-end)
+    (goto-char c-old-BOM)        ; already set to old start of macro or begg.
+    (setq new-beg
+         (min begg
+              (if (setq limits (c-state-literal-at (point)))
+                  (cdr limits)     ; go forward out of any string or comment.
+                (point))))
+
+    (goto-char endd)
+    (if (setq limits (c-state-literal-at (point)))
+       (goto-char (car limits)))  ; go backward out of any string or comment.
+    (if (c-beginning-of-macro)
+       (c-end-of-macro))
+    (setq new-end (max endd
+                      (if old-len
+                          (+ (- c-old-EOM old-len) (- endd begg))
+                        c-old-EOM)
+                      (point)))
+    (cons new-beg new-end)))
+
 (defun c-neutralize-CPP-line (beg end)
   ;; BEG and END bound a region, typically a preprocessor line.  Put a
   ;; "punctuation" syntax-table property on syntactically obtrusive
@@ -881,31 +910,19 @@ Note that the style variables are always made local to the buffer."
   ;; Point is undefined both before and after this function call, the buffer
   ;; has been widened, and match-data saved.  The return value is ignored.
   ;;
-  ;; This function is the C/C++/ObjC value of `c-before-font-lock-function'.
+  ;; This function is in the C/C++/ObjC value of `c-before-font-lock-functions'.
   ;;
   ;; Note: SPEED _MATTERS_ IN THIS FUNCTION!!!
   ;;
   ;; This function might make hidden buffer changes.
-  (c-save-buffer-state (limits)
+  (c-save-buffer-state (new-bounds)
     ;; First determine the region, (c-new-BEG c-new-END), which will get font
     ;; locked.  It might need "neutralizing".  This region may not start
     ;; inside a string, comment, or macro.
-    (goto-char c-old-BOM)        ; already set to old start of macro or begg.
-    (setq c-new-BEG
-         (min c-new-BEG
-              (if (setq limits (c-state-literal-at (point)))
-                  (cdr limits)     ; go forward out of any string or comment.
-                (point))))
-
-    (goto-char endd)
-    (if (setq limits (c-state-literal-at (point)))
-       (goto-char (car limits)))  ; go backward out of any string or comment.
-    (if (c-beginning-of-macro)
-       (c-end-of-macro))
-    (setq c-new-END (max c-new-END
-                        (+ (- c-old-EOM old-len) (- endd begg))
-                        (point)))
-
+    (setq new-bounds (c-extend-font-lock-region-for-macros
+                     c-new-BEG c-new-END old-len))
+    (setq c-new-BEG (car new-bounds)
+         c-new-END (cdr new-bounds))
     ;; Clear all old relevant properties.
     (c-clear-char-property-with-value c-new-BEG c-new-END 'syntax-table '(1))
     (c-clear-char-property-with-value c-new-BEG c-new-END 'category 'c-cpp-delimiter)
@@ -1015,6 +1032,11 @@ Note that the style variables are always made local to the buffer."
                  c-get-state-before-change-functions))
        ))))
 
+(defvar c-in-after-change-fontification nil)
+(make-variable-buffer-local 'c-in-after-change-fontification)
+;; A flag to prevent region expanding stuff being done twice for after-change
+;; fontification.
+
 (defun c-after-change (beg end old-len)
   ;; Function put on `after-change-functions' to adjust various caches
   ;; etc.  Prefer speed to finesse here, since there will be an order
@@ -1026,7 +1048,7 @@ Note that the style variables are always made local to the buffer."
   ;; these caches from inside them, and we must thus be sure that this
   ;; has already been executed.
   ;;
-  ;; This calls the language variable c-before-font-lock-function, if non nil.
+  ;; This calls the language variable c-before-font-lock-functions, if non nil.
   ;; This typically sets `syntax-table' properties.
 
   (c-save-buffer-state ()
@@ -1066,19 +1088,113 @@ Note that the style variables are always made local to the buffer."
        ;; larger than (beg end).
        (setq c-new-BEG beg
              c-new-END end)
-       (if c-before-font-lock-function
-           (save-excursion
-             (funcall c-before-font-lock-function beg end old-len)))))))
+       (setq c-in-after-change-fontification t)
+       (save-excursion
+         (mapc (lambda (fn)
+                 (funcall fn beg end old-len))
+               c-before-font-lock-functions))))))
+
+(defun c-set-fl-decl-start (pos)
+  ;; If the beginning of the line containing POS is in the middle of a "local"
+  ;; declaration (i.e. one which does not start outside of braces enclosing
+  ;; POS, such as a struct), return the beginning of that declaration.
+  ;; Otherwise return POS.  Note that declarations, in this sense, can be
+  ;; nested.
+  ;;
+  ;; This function is called indirectly from font locking stuff - either from
+  ;; c-after-change (to prepare for after-change font-locking) or from font
+  ;; lock context (etc.) fontification.
+  (let ((lit-limits (c-literal-limits))
+       (new-pos pos)
+       bod-lim bo-decl)
+    (goto-char (c-point 'bol new-pos))
+    (when lit-limits                   ; Comment or string.
+      (goto-char (car lit-limits)))
+    (setq bod-lim (max (- (point) 500) (point-min)))
+
+    (while
+       ;; Go to a less nested declaration each time round this loop.
+       (and
+        (eq (car (c-beginning-of-decl-1 bod-lim)) 'same)
+        (progn (setq bo-decl (point))
+               ;; Are we looking at a keyword such as "template" or
+               ;; "typedef" which can decorate a type, or the type itself?
+               (when (or (looking-at c-prefix-spec-kwds-re)
+                         (c-forward-type t))
+                 ;; We've found another candidate position.
+                 (setq new-pos (min new-pos bo-decl))
+                 (goto-char bo-decl))
+               t)
+        ;; Try and go out a level to search again.
+        (progn
+          (c-backward-syntactic-ws bod-lim)
+          (or (memq (char-before) '(?\( ?\[))
+              (and (eq (char-before) ?\<)
+                   (eq (c-get-char-property
+                        (1- (point)) 'syntax-table)
+                       c-<-as-paren-syntax))))
+        (not (bobp)))
+      (backward-char))
+    new-pos))                          ; back over (, [, <.
+
+(defun c-change-set-fl-decl-start (beg end old-len)
+  ;; Set c-new-BEG to the beginning of a "local" declaration if it('s BOL) is
+  ;; inside one.  This is called from an after-change-function, but the
+  ;; parameters BEG END and OLD-LEN are ignored.  See `c-set-fl-decl-start'
+  ;; for the detailed functionality.
+  (if font-lock-mode
+      (setq c-new-BEG (c-set-fl-decl-start c-new-BEG))))
+
+(defun c-context-set-fl-decl-start (beg end)
+  ;; Return a cons (NEW-BEG . END), where NEW-BEG is the beginning of a
+  ;; "local" declaration (BOL at) NEW is inside or BEG.  See
+  ;; `c-set-fl-decl-start' for the detailed functionality.
+  (cons (c-set-fl-decl-start beg) end))
+
+(defvar c-standard-font-lock-fontify-region-function nil
+  "Standard value of `font-lock-fontify-region-function'")
+
+(defun c-font-lock-fontify-region (beg end &optional verbose)
+  ;; Effectively advice around `font-lock-fontify-region' which extends the
+  ;; region (BEG END), for example, to avoid context fontification chopping
+  ;; off the start of the context.  Do not do anything if it's already been
+  ;; done (i.e. from an after-change fontification.  An example (C++) where
+  ;; this used to happen is this:
+  ;;
+  ;;     template <typename T>
+  ;;
+  ;;
+  ;;     void myfunc(T* p) {}
+  ;;
+  ;; Type a space in the first blank line, and the fontification of the next
+  ;; line was fouled up by context fontification.
+  (let ((new-beg beg) (new-end end) new-region)
+    (if c-in-after-change-fontification
+       (setq c-in-after-change-fontification nil)
+      (save-restriction
+       (widen)
+       (save-excursion
+         (mapc (lambda (fn)
+                 (setq new-region (funcall fn new-beg new-end))
+                 (setq new-beg (car new-region)  new-end (cdr new-region)))
+               c-before-context-fontification-functions))))
+    (funcall c-standard-font-lock-fontify-region-function
+            new-beg new-end verbose)))
 
 (defun c-after-font-lock-init ()
-  ;; Put on `font-lock-mode-hook'.
+  ;; Put on `font-lock-mode-hook'.  This function ensures our after-change
+  ;; function will get executed before the font-lock one.  Amongst other
+  ;; things.
   (remove-hook 'after-change-functions 'c-after-change t)
-  (add-hook 'after-change-functions 'c-after-change nil t))
+  (add-hook 'after-change-functions 'c-after-change nil t)
+  (setq c-standard-font-lock-fontify-region-function
+       (default-value 'font-lock-fontify-region-function)))
 
 (defun c-font-lock-init ()
   "Set up the font-lock variables for using the font-lock support in CC Mode.
 This does not load the font-lock package.  Use after
-`c-basic-common-init' and after cc-fonts has been loaded."
+`c-basic-common-init' and after cc-fonts has been loaded.
+This function is called from `c-common-init', once per mode initialization."
 
   (set (make-local-variable 'font-lock-defaults)
        `(,(if (c-major-mode-is 'awk-mode)
@@ -1092,6 +1208,10 @@ This does not load the font-lock package.  Use after
          c-beginning-of-syntax
          (font-lock-mark-block-function
           . c-mark-function)))
+
+  (make-local-variable 'font-lock-fontify-region-function)
+  (setq font-lock-fontify-region-function 'c-font-lock-fontify-region)
+
   (if (featurep 'xemacs)
       (make-local-hook 'font-lock-mode-hook))
   (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t))
index 96cb15f2a72edda304dbc9de28fb28f975f70f96..cf628e44de0df026efa98d3213d33b7c40eec258 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-styles.el --- support for styles in CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2004- Alan Mackenzie
 ;;             1998- Martin Stjernholm
index a4338a3193b8448411f4be7ae814dd7ec79c76ad..8efe3f27002ae90d51c066383f709c56878b524b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-vars.el --- user customization variables for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:    2002- Alan Mackenzie
 ;;             1998- Martin Stjernholm
index 823304bd2508c145085b564946758623f737cfa8..4e9a10e3cebf4d59396335638df86cdff2fca2b8 100644 (file)
@@ -1,10 +1,11 @@
 ;;; cfengine.el --- mode for editing Cfengine files
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Maintainer: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: languages
+;; Version: 1.1
 
 ;; This file is part of GNU Emacs.
 
 ;; The CFEngine 3.x support doesn't have Imenu support but patches are
 ;; welcome.
 
-;; You can set it up so either cfengine-mode (2.x and earlier) or
-;; cfengine3-mode (3.x) will be picked, depending on the buffer
+;; You can set it up so either `cfengine2-mode' (2.x and earlier) or
+;; `cfengine3-mode' (3.x) will be picked, depending on the buffer
 ;; contents:
 
-;; (add-to-list 'auto-mode-alist '("\\.cf\\'" . cfengine-auto-mode))
+;; (add-to-list 'auto-mode-alist '("\\.cf\\'" . cfengine-mode))
 
 ;; OR you can choose to always use a specific version, if you prefer
-;; it
+;; it:
 
 ;; (add-to-list 'auto-mode-alist '("\\.cf\\'" . cfengine3-mode))
-;; (add-to-list 'auto-mode-alist '("^cf\\." . cfengine-mode))
-;; (add-to-list 'auto-mode-alist '("^cfagent.conf\\'" . cfengine-mode))
+;; (add-to-list 'auto-mode-alist '("^cf\\." . cfengine2-mode))
+;; (add-to-list 'auto-mode-alist '("^cfagent.conf\\'" . cfengine2-mode))
 
 ;; This is not the same as the mode written by Rolf Ebert
 ;; <ebert@waporo.muc.de>, distributed with cfengine-2.0.5.  It does
 ;;; Code:
 
 (defgroup cfengine ()
-  "Editing Cfengine files."
+  "Editing CFEngine files."
   :group 'languages)
 
 (defcustom cfengine-indent 2
-  "*Size of a Cfengine indentation step in columns."
+  "*Size of a CFEngine indentation step in columns."
   :group 'cfengine
   :type 'integer)
 
+(defvar cfengine-mode-debug nil
+  "Whether `cfengine-mode' should print debugging info.")
+
 (defcustom cfengine-mode-abbrevs nil
-  "Abbrevs for Cfengine mode."
+  "Abbrevs for CFEngine2 mode."
   :group 'cfengine
   :type '(repeat (list (string :tag "Name")
                       (string :tag "Expansion")
                       (choice  :tag "Hook" (const nil) function))))
 
+(make-obsolete-variable 'cfengine-mode-abbrevs 'edit-abbrevs "24.1")
+
 ;; Taken from the doc for pre-release 2.1.
 (eval-and-compile
-  (defconst cfengine-actions
+  (defconst cfengine2-actions
     '("acl" "alerts" "binservers" "broadcast" "control" "classes" "copy"
       "defaultroute" "disks" "directories" "disable" "editfiles" "files"
       "filters" "groups" "homeservers" "ignore" "import" "interfaces"
       "links" "mailserver" "methods" "miscmounts" "mountables"
       "processes" "packages" "rename" "required" "resolve"
       "shellcommands" "tidy" "unmount"
-      ;; cfservd
+      ;; Keywords for cfservd.
       "admit" "grant" "deny")
     "List of the action keywords supported by Cfengine.
 This includes those for cfservd as well as cfagent.")
@@ -98,11 +104,11 @@ This includes those for cfservd as well as cfagent.")
      '(string int real slist ilist rlist irange rrange counter))
     "List of the CFEngine 3.x variable types."))
 
-(defvar cfengine-font-lock-keywords
+(defvar cfengine2-font-lock-keywords
   `(;; Actions.
     ;; List the allowed actions explicitly, so that errors are more obvious.
     (,(concat "^[ \t]*" (eval-when-compile
-                         (regexp-opt cfengine-actions t))
+                         (regexp-opt cfengine2-actions t))
              ":")
      1 font-lock-keyword-face)
     ;; Classes.
@@ -117,46 +123,54 @@ This includes those for cfservd as well as cfagent.")
 
 (defvar cfengine3-font-lock-keywords
   `(
+    ;; Defuns.  This happens early so they don't get caught by looser
+    ;; patterns.
+    (,(concat "\\<" cfengine3-defuns-regex "\\>"
+              "[ \t]+\\<\\([[:alnum:]_]+\\)\\>"
+              "[ \t]+\\<\\([[:alnum:]_]+\\)"
+              ;; Optional parentheses with variable names inside.
+              "\\(?:(\\([^)]*\\))\\)?")
+     (1 font-lock-builtin-face)
+     (2 font-lock-constant-face)
+     (3 font-lock-function-name-face)
+     (4 font-lock-variable-name-face nil t))
+
+    ;; Class selectors.
     (,(concat "^[ \t]*" cfengine3-class-selector-regex)
      1 font-lock-keyword-face)
+
+    ;; Categories.
     (,(concat "^[ \t]*" cfengine3-category-regex)
      1 font-lock-builtin-face)
+
     ;; Variables, including scope, e.g. module.var
     ("[@$](\\([[:alnum:]_.]+\\))" 1 font-lock-variable-name-face)
     ("[@$]{\\([[:alnum:]_.]+\\)}" 1 font-lock-variable-name-face)
+
     ;; Variable definitions.
     ("\\<\\([[:alnum:]_]+\\)[ \t]*=[ \t]*(" 1 font-lock-variable-name-face)
 
-    ;; CFEngine 3.x faces
-    ;; defuns
-    (,(concat "\\<" cfengine3-defuns-regex "\\>"
-              "[ \t]+\\<\\([[:alnum:]_]+\\)\\>"
-              "[ \t]+\\<\\([[:alnum:]_]+\\)\\((\\([^)]*\\))\\)?")
-    (1 font-lock-builtin-face)
-    (2 font-lock-constant-name-face)
-    (3 font-lock-function-name-face)
-    (5 font-lock-variable-name-face))
-    ;; variable types
+    ;; Variable types.
     (,(concat "\\<" (eval-when-compile (regexp-opt cfengine3-vartypes t)) "\\>")
      1 font-lock-type-face)))
 
-(defvar cfengine-imenu-expression
+(defvar cfengine2-imenu-expression
   `((nil ,(concat "^[ \t]*" (eval-when-compile
-                             (regexp-opt cfengine-actions t))
+                             (regexp-opt cfengine2-actions t))
                  ":[^:]")
         1)
     ("Variables/classes" "\\<\\([[:alnum:]_]+\\)[ \t]*=[ \t]*(" 1)
     ("Variables/classes" "\\<define=\\([[:alnum:]_]+\\)" 1)
     ("Variables/classes" "\\<DefineClass\\>[ \t]+\\([[:alnum:]_]+\\)" 1))
-  "`imenu-generic-expression' for Cfengine mode.")
+  "`imenu-generic-expression' for CFEngine mode.")
 
-(defun cfengine-outline-level ()
-  "`outline-level' function for Cfengine mode."
+(defun cfengine2-outline-level ()
+  "`outline-level' function for CFEngine mode."
   (if (looking-at "[^:]+\\(?:[:]+\\)$")
       (length (match-string 1))))
 
-(defun cfengine-beginning-of-defun ()
-  "`beginning-of-defun' function for Cfengine mode.
+(defun cfengine2-beginning-of-defun ()
+  "`beginning-of-defun' function for CFEngine mode.
 Treats actions as defuns."
   (unless (<= (current-column) (current-indentation))
     (end-of-line))
@@ -165,8 +179,8 @@ Treats actions as defuns."
     (goto-char (point-min)))
   t)
 
-(defun cfengine-end-of-defun ()
-  "`end-of-defun' function for Cfengine mode.
+(defun cfengine2-end-of-defun ()
+  "`end-of-defun' function for CFEngine mode.
 Treats actions as defuns."
   (end-of-line)
   (if (re-search-forward "^[[:alpha:]]+: *$" nil t)
@@ -176,7 +190,7 @@ Treats actions as defuns."
 
 ;; Fixme: Should get an extra indent step in editfiles BeginGroup...s.
 
-(defun cfengine-indent-line ()
+(defun cfengine2-indent-line ()
   "Indent a line in Cfengine mode.
 Intended as the value of `indent-line-function'."
   (let ((pos (- (point-max) (point))))
@@ -283,15 +297,17 @@ Intended as the value of `indent-line-function'."
       (narrow-to-defun)
       (back-to-indentation)
       (setq parse (parse-partial-sexp (point-min) (point)))
-      (message "%S" parse)
+      (when cfengine-mode-debug
+        (message "%S" parse))
+
       (cond
-       ;; body/bundle blocks start at 0
+       ;; Body/bundle blocks start at 0.
        ((looking-at (concat cfengine3-defuns-regex "\\>"))
         (indent-line-to 0))
-       ;; categories are indented one step
+       ;; Categories are indented one step.
        ((looking-at (concat cfengine3-category-regex "[ \t]*$"))
         (indent-line-to cfengine-indent))
-       ;; class selectors are indented two steps
+       ;; Class selectors are indented two steps.
        ((looking-at (concat cfengine3-class-selector-regex "[ \t]*$"))
         (indent-line-to (* 2 cfengine-indent)))
        ;; Outdent leading close brackets one step.
@@ -303,11 +319,17 @@ Intended as the value of `indent-line-function'."
                               (backward-sexp)
                               (current-column)))
           (error nil)))
-       ;; inside a string and it starts before this line
+       ;; Inside a string and it starts before this line.
        ((and (nth 3 parse)
              (< (nth 8 parse) (save-excursion (beginning-of-line) (point))))
         (indent-line-to 0))
-       ;; inside a defun, but not a nested list (depth is 1)
+
+       ;; Inside a defun, but not a nested list (depth is 1).  This is
+       ;; a promise, usually.
+
+       ;; Indent to cfengine-indent times the nested depth
+       ;; plus 2.  That way, promises indent deeper than class
+       ;; selectors, which in turn are one deeper than categories.
        ((= 1 (nth 0 parse))
         (indent-line-to (* (+ 2 (nth 0 parse)) cfengine-indent)))
        ;; Inside brackets/parens: indent to start column of non-comment
@@ -411,18 +433,18 @@ Intended as the value of `indent-line-function'."
   (set (make-local-variable 'parse-sexp-ignore-comments) t))
 
 (defun cfengine-common-syntax (table)
-  ;; the syntax defaults seem OK to give reasonable word movement
+  ;; The syntax defaults seem OK to give reasonable word movement.
   (modify-syntax-entry ?# "<" table)
   (modify-syntax-entry ?\n ">#" table)
   (modify-syntax-entry ?\" "\"" table)
-  ;; variable substitution:
+  ;; Variable substitution.
   (modify-syntax-entry ?$ "." table)
-  ;; Doze path separators:
+  ;; Doze path separators.
   (modify-syntax-entry ?\\ "." table))
 
 ;;;###autoload
-(define-derived-mode cfengine3-mode prog-mode "CFEngine3"
-  "Major mode for editing cfengine input.
+(define-derived-mode cfengine3-mode prog-mode "CFE3"
+  "Major mode for editing CFEngine3 input.
 There are no special keybindings by default.
 
 Action blocks are treated as defuns, i.e. \\[beginning-of-defun] moves
@@ -434,46 +456,46 @@ to the action header."
   (setq font-lock-defaults
         '(cfengine3-font-lock-keywords nil nil nil beginning-of-defun))
 
-  ;; use defuns as the essential syntax block
+  ;; Use defuns as the essential syntax block.
   (set (make-local-variable 'beginning-of-defun-function)
        #'cfengine3-beginning-of-defun)
   (set (make-local-variable 'end-of-defun-function)
        #'cfengine3-end-of-defun))
 
 ;;;###autoload
-(define-derived-mode cfengine-mode prog-mode "Cfengine"
-  "Major mode for editing cfengine input.
+(define-derived-mode cfengine2-mode prog-mode "CFE2"
+  "Major mode for editing CFEngine2 input.
 There are no special keybindings by default.
 
 Action blocks are treated as defuns, i.e. \\[beginning-of-defun] moves
 to the action header."
   (cfengine-common-settings)
-  (cfengine-common-syntax cfengine-mode-syntax-table)
+  (cfengine-common-syntax cfengine2-mode-syntax-table)
 
   ;; Shell commands can be quoted by single, double or back quotes.
   ;; It's debatable whether we should define string syntax, but it
   ;; should avoid potential confusion in some cases.
-  (modify-syntax-entry ?\' "\"" cfengine-mode-syntax-table)
-  (modify-syntax-entry ?\` "\"" cfengine-mode-syntax-table)
+  (modify-syntax-entry ?\' "\"" cfengine2-mode-syntax-table)
+  (modify-syntax-entry ?\` "\"" cfengine2-mode-syntax-table)
 
-  (set (make-local-variable 'indent-line-function) #'cfengine-indent-line)
+  (set (make-local-variable 'indent-line-function) #'cfengine2-indent-line)
   (set (make-local-variable 'outline-regexp) "[ \t]*\\(\\sw\\|\\s_\\)+:+")
-  (set (make-local-variable 'outline-level) #'cfengine-outline-level)
+  (set (make-local-variable 'outline-level) #'cfengine2-outline-level)
   (set (make-local-variable 'fill-paragraph-function)
        #'cfengine-fill-paragraph)
-  (define-abbrev-table 'cfengine-mode-abbrev-table cfengine-mode-abbrevs)
+  (define-abbrev-table 'cfengine2-mode-abbrev-table cfengine-mode-abbrevs)
   (setq font-lock-defaults
-       '(cfengine-font-lock-keywords nil nil nil beginning-of-line))
+        '(cfengine2-font-lock-keywords nil nil nil beginning-of-line))
   ;; Fixme: set the args of functions in evaluated classes to string
   ;; syntax, and then obey syntax properties.
-  (setq imenu-generic-expression cfengine-imenu-expression)
+  (setq imenu-generic-expression cfengine2-imenu-expression)
   (set (make-local-variable 'beginning-of-defun-function)
-       #'cfengine-beginning-of-defun)
-  (set (make-local-variable 'end-of-defun-function) #'cfengine-end-of-defun))
+       #'cfengine2-beginning-of-defun)
+  (set (make-local-variable 'end-of-defun-function) #'cfengine2-end-of-defun))
 
 ;;;###autoload
 (defun cfengine-auto-mode ()
-  "Choose between `cfengine-mode' and `cfengine3-mode' depending
+  "Choose between `cfengine2-mode' and `cfengine3-mode' depending
 on the buffer contents"
   (let ((v3 nil))
     (save-restriction
@@ -481,7 +503,9 @@ on the buffer contents"
       (while (not (or (eobp) v3))
         (setq v3 (looking-at (concat cfengine3-defuns-regex "\\>")))
         (forward-line)))
-    (if v3 (cfengine3-mode) (cfengine-mode))))
+    (if v3 (cfengine3-mode) (cfengine2-mode))))
+
+(defalias 'cfengine-mode 'cfengine-auto-mode)
 
 (provide 'cfengine3)
 (provide 'cfengine)
index 322492c55667df660a7ad13b1f99d537d1be8c2a..88c36e8c4525dd8058d1149c3690a481f6ed487d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cmacexp.el --- expand C macros in a region
 
-;; Copyright (C) 1992, 1994, 1996, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1996, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Francesco Potorti` <pot@gnu.org>
 ;; Adapted-By: ESR
index 73e990e2755daf2a39a508afbfab4cd6ac5c680e..f152209956fcdc46d7f7723bf068b3f96e2a1c4a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; compile.el --- run compiler as inferior of Emacs, parse error messages
 
-;; Copyright (C) 1985-1987, 1993-1999, 2001-2011
+;; Copyright (C) 1985-1987, 1993-1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Authors: Roland McGrath <roland@gnu.org>,
index 13fa310106cf2adc243e708f4efb18130ab9cb2b..9ea42db2a8c34314a217119a7d3e86a430c5db84 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cperl-mode.el --- Perl code editing commands for Emacs
 
-;; Copyright (C) 1985-1987, 1991-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1991-2012  Free Software Foundation, Inc.
 
 ;; Author: Ilya Zakharevich
 ;;     Bob Olson
@@ -958,7 +958,7 @@ B) Speed of editing operations.
   `cperl-array-face'                   Array names
   `cperl-hash-face'                    Hash names
   `font-lock-comment-face'     Comments, PODs and whatever is considered
-                               syntaxically to be not code
+                               syntactically to be not code
   `font-lock-constant-face'    HERE-doc delimiters, labels, delimiters of
                                2-arg operators s/y/tr/ or of RExen,
   `font-lock-warning-face'     Special-cased m// and s//foo/,
@@ -970,7 +970,7 @@ B) Speed of editing operations.
   `cperl-nonoverridable-face'  Non-overridable keywords, modifiers of RExen
   `font-lock-string-face'      Strings, qw() constructs, RExen, POD sections,
                                literal parts and the terminator of formats
-                               and whatever is syntaxically considered
+                               and whatever is syntactically considered
                                as string literals
   `font-lock-type-face'                Overridable keywords
   `font-lock-variable-name-face' Variable declarations, indirect array and
@@ -1537,8 +1537,8 @@ default.)  You can always quote (with \\[quoted-insert]) the left
 since most the time you mean \"less\".  CPerl mode tries to guess
 whether you want to type pair <>, and inserts is if it
 appropriate.  You can set `cperl-electric-parens-string' to the string that
-contains the parenths from the above list you want to be electrical.
-Electricity of parenths is controlled by `cperl-electric-parens'.
+contains the parens from the above list you want to be electrical.
+Electricity of parens is controlled by `cperl-electric-parens'.
 You may also set `cperl-electric-parens-mark' to have electric parens
 look for active mark and \"embrace\" a region if possible.'
 
@@ -3517,7 +3517,7 @@ Works before syntax recognition is done."
 (defvar font-lock-warning-face)
 
 (defun cperl-find-sub-attrs (&optional st-l b-fname e-fname pos)
-  "Syntaxically mark (and fontify) attributes of a subroutine.
+  "Syntactically mark (and fontify) attributes of a subroutine.
 Should be called with the point before leading colon of an attribute."
   ;; Works *before* syntax recognition is done
   (or st-l (setq st-l (list nil)))     ; Avoid overwriting '()
@@ -4994,7 +4994,7 @@ conditional/loop constructs."
          (setq top (point))
          ;; Plan A: if line has an unfinished paren-group, go to end-of-group
          (while (= -1 (nth 0 (parse-partial-sexp (point) tmp-end -1)))
-           (setq top (point)))         ; Get the outermost parenths in line
+           (setq top (point)))         ; Get the outermost parens in line
          (goto-char top)
          (while (< (point) tmp-end)
            (parse-partial-sexp (point) tmp-end nil t) ; To start-sexp or eol
@@ -5906,7 +5906,7 @@ indentation and initial hashes.  Behaves usually outside of comment."
                       3 font-lock-variable-name-face)))
            '("\\<for\\(each\\)?\\([ \t]+\\(my\\|local\\|our\\)\\)?[ \t]*\\(\\$[a-zA-Z_][a-zA-Z_0-9]*\\)[ \t]*("
              4 font-lock-variable-name-face)
-           ;; Avoid $!, and s!!, qq!! etc. when not fontifying syntaxically
+           ;; Avoid $!, and s!!, qq!! etc. when not fontifying syntactically
            '("\\(?:^\\|[^smywqrx$]\\)\\(!\\)" 1 font-lock-negation-char-face)
            '("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend)))
          (setq
index e5bfda54728ea80edcb827332bcbfc7f94548a6b..8ecfe79de3b42da0ad647da81e2bb08e3f3e60f1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cpp.el --- highlight or hide text according to cpp conditionals
 
-;; Copyright (C) 1994-1995, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: c, faces, tools
index 0516aca8d2bbe6fbe7f05e8e7e7c233071c0986a..90147700d77440ed66cbd1790097180dbda8875f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cwarn.el --- highlight suspicious C and C++ constructions
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Anders Lindgren <andersl@andersl.com>
 ;; Keywords: c, languages, faces
index eeb145e2b1a2b452b6608396566440deae0707a5..166065131b2d6ff6ee3e7f8098fb2ab18768de28 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dcl-mode.el --- major mode for editing DCL command files
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Odd Gripenstam <gripenstamol@decus.se>
 ;; Maintainer: Odd Gripenstam <gripenstamol@decus.se>
index e513b6170229327c05774bc4a11da1580ff8c58a..dd8d267683c04586e371dc1a6d6024aceb861c68 100644 (file)
@@ -1,6 +1,6 @@
 ;;; delphi.el --- major mode for editing Delphi source (Object Pascal) in Emacs
 
-;; Copyright (C) 1998-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Authors: Ray Blaak <blaak@infomatch.com>,
 ;;          Simon South <ssouth@member.fsf.org>
index b45a47f8a3f6549102153cdb516964769a721f04..009770eff60c10098cdc1331106cf78259d71450 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-abn.el --- parser for ABNF (Augmented BNF)
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index cb8ebf8aab09c3a35d3889dde4cce2f87eb66ecb..7d549cb9b47ccf1a2ecbad7fbec56339f73f2872 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-bnf.el --- parser for EBNF
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index 7b63575195e52c14ef6d6e4126bc26c3702043fd..be1de11add68553350a6c4aaecf8888ee34b2499 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-dtd.el --- parser for DTD (Data Type Description for XML)
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index 7d697e889b7137c8adcfc8de478d74f6e75c8832..ae15e09f4ca8432cd6d13503bc5d4e1808fd1c16 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-ebx.el --- parser for EBNF used to specify XML (EBNFX)
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index d33167093a3aa156a58169f098182266aa382872..f8e2520c29c50023278dad921dd1045895ba8221 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-iso.el --- parser for ISO EBNF
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index 0392505972d01f804beb275e48cfa17c78b28a5b..0aa2948cf193bb83641fe79ccf264daff7611af4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-otz.el --- syntactic chart OpTimiZer
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index 5ff239bfa21d122440de6aea1a93baba6fe132f3..56c8dc57e96f088586c7ceabf29fd141155127ce 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf-yac.el --- parser for Yacc/Bison
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index d9adff6c8b8791a6028e03742865e827983559a1..5d0bfad0366470240d1823f1c4f0782727f80dfc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
@@ -3260,7 +3260,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
 
 % --- Corners
 
-%>corner Right Descendent: height arrow corner_RD
+%>corner Right Descendant: height arrow corner_RD
 %   _             | arrow
 %  /   height > 0 |  0 - none
 % |               |  1 - right
@@ -3299,7 +3299,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
  Gstroke
 }def
 
-%>corner Right Ascendent: height arrow corner_RA
+%>corner Right Ascendant: height arrow corner_RA
 %                 | arrow
 %    | height > 0 |  0 - none
 %   /             |  1 - right
@@ -3338,7 +3338,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
  Gstroke
 }def
 
-%>corner Left Descendent: height arrow corner_LD
+%>corner Left Descendant: height arrow corner_LD
 %  _              | arrow
 %   \\  height > 0 |  0 - none
 %    |            |  1 - right
@@ -3377,7 +3377,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
  Gstroke
 }def
 
-%>corner Left Ascendent: height arrow corner_LA
+%>corner Left Ascendant: height arrow corner_LA
 %                 | arrow
 % |    height > 0 |  0 - none
 %  \\              |  1 - right
index dd7a9824af33621c746cbf0115c5ef2ab578dd99..4a07392c30955da4b15e1e48a37bb15c37a79fb5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ebrowse.el --- Emacs C++ class browser & tags facility
 
-;; Copyright (C) 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Maintainer: FSF
index 2d0b18f3daeab5a12d437088686265ac2f73af3f..56f04751bda859d8b394d51a12bb6d5470cc7438 100644 (file)
@@ -1,6 +1,6 @@
 ;;; etags.el --- etags facility for Emacs
 
-;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2011
+;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>
index 281fa3cef728437c1f3a4468194e071e3b17d4cb..c44f1d735011ad39251ba8c6fd18eedb7e1a8f0f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; executable.el --- base functionality for executable interpreter scripts -*- byte-compile-dynamic: t -*-
 
-;; Copyright (C) 1994-1996, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Keywords: languages, unix
index 95b8d8100280ae069e37ee602af26105868acc9b..25f8107340ad58e712b21aeddf91cc6d2adac4cf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; f90.el --- Fortran-90 mode (free format)
 
-;; Copyright (C) 1995-1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Torbjörn Einarsson <Torbjorn.Einarsson@era.ericsson.se>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index 1c138f053d3e951175fd1138c565115387b10d31..fee45fcb3e8b710c41aa73c6706fa94473229845 100644 (file)
@@ -1,6 +1,6 @@
 ;;; flymake.el -- a universal on-the-fly syntax checker
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:  Pavel Kobyakov <pk_at_work@yahoo.com>
 ;; Maintainer: Pavel Kobyakov <pk_at_work@yahoo.com>
index 2dac46a6d5bf8ca7941a0d29fe64f66f184c90ae..8d488fe9be41117f6374ed279fd3b87399a432de 100644 (file)
@@ -1,6 +1,6 @@
 ;;; fortran.el --- Fortran mode for GNU Emacs
 
-;; Copyright (C) 1986, 1993-1995, 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1993-1995, 1997-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael D. Prange <prange@erl.mit.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
index 86d4a72f408327dad7ea4489b6a689f415f11b28..ff2a5f3f3e76c1d128e484932964886995edf4d6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gdb-mi.el --- User Interface for running GDB
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Nick Roberts <nickrob@gnu.org>
 ;; Maintainer: FSF
@@ -811,8 +811,8 @@ detailed description of this mode.
   (define-key gud-minor-mode-map [left-margin C-mouse-3]
     'gdb-mouse-jump)
 
-  (set (make-local-variable 'comint-prompt-regexp)
-       "^(.*gdb[+]?) *")
+  (set (make-local-variable 'gud-gdb-completion-function)
+       'gud-gdbmi-completions)
 
   (add-hook 'completion-at-point-functions #'gud-gdb-completion-at-point
             nil 'local)
@@ -862,31 +862,28 @@ detailed description of this mode.
   (set-process-filter (get-process "gdb-inferior") 'gdb-inferior-filter)
   (gdb-input
    ;; Needs GDB 6.4 onwards
-   (list (concat "-inferior-tty-set "
-                (or
-                 ;; The process can run on a remote host.
-                 (process-get (get-process "gdb-inferior") 'remote-tty)
-                 (process-tty-name (get-process "gdb-inferior"))))
-        'ignore))
+   (concat "-inferior-tty-set "
+          (or
+           ;; The process can run on a remote host.
+           (process-get (get-process "gdb-inferior") 'remote-tty)
+           (process-tty-name (get-process "gdb-inferior"))))
+   'ignore)
   (if (eq window-system 'w32)
-      (gdb-input (list "-gdb-set new-console off" 'ignore)))
-  (gdb-input (list "-gdb-set height 0" 'ignore))
+      (gdb-input "-gdb-set new-console off" 'ignore))
+  (gdb-input "-gdb-set height 0" 'ignore)
 
   (when gdb-non-stop
-    (gdb-input (list "-gdb-set non-stop 1" 'gdb-non-stop-handler)))
+    (gdb-input "-gdb-set non-stop 1" 'gdb-non-stop-handler))
 
-  (gdb-input (list "-enable-pretty-printing" 'ignore))
+  (gdb-input "-enable-pretty-printing" 'ignore)
 
   ;; find source file and compilation directory here
   (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))
-  (gdb-input
-   (list "-gdb-show prompt" 'gdb-get-prompt)))
+      ;; Needs GDB 6.2 onwards.
+      (gdb-input "-file-list-exec-source-files" 'gdb-get-source-file-list))
+  ;; Needs GDB 6.0 onwards.
+  (gdb-input "-file-list-exec-source-file" 'gdb-get-source-file)
+  (gdb-input "-gdb-show prompt" 'gdb-get-prompt))
 
 (defun gdb-non-stop-handler ()
   (goto-char (point-min))
@@ -897,8 +894,8 @@ detailed description of this mode.
        (setq gdb-non-stop nil)
        (setq gdb-supports-non-stop nil))
     (setq gdb-supports-non-stop t)
-    (gdb-input (list "-gdb-set target-async 1" 'ignore))
-    (gdb-input (list "-list-target-features" 'gdb-check-target-async))))
+    (gdb-input "-gdb-set target-async 1" 'ignore)
+    (gdb-input "-list-target-features" 'gdb-check-target-async)))
 
 (defun gdb-check-target-async ()
   (goto-char (point-min))
@@ -906,7 +903,7 @@ detailed description of this mode.
     (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))))
+    (gdb-input "-gdb-set non-stop 0" 'ignore)))
 
 (defvar gdb-define-alist nil "Alist of #define directives for GUD tooltips.")
 
@@ -951,9 +948,8 @@ detailed description of this mode.
     (goto-char (point-min))
     (if (search-forward "expands to: " nil t)
        (unless (looking-at "\\S-+.*(.*).*")
-         (gdb-input
-          (list  (concat "-data-evaluate-expression " expr)
-                 `(lambda () (gdb-tooltip-print ,expr))))))))
+         (gdb-input (concat "-data-evaluate-expression " expr)
+                    `(lambda () (gdb-tooltip-print ,expr)))))))
 
 (defun gdb-init-buffer ()
   (set (make-local-variable 'gud-minor-mode) 'gdbmi)
@@ -1083,9 +1079,8 @@ With arg, enter name of variable to be watched in the minibuffer."
                       (concat (if (derived-mode-p 'gdb-registers-mode) "$")
                               (tooltip-identifier-from-point (point)))))))
              (set-text-properties 0 (length expr) nil expr)
-             (gdb-input
-              (list (concat "-var-create - * "  expr "")
-                    `(lambda () (gdb-var-create-handler ,expr)))))))
+             (gdb-input (concat "-var-create - * "  expr "")
+                        `(lambda () (gdb-var-create-handler ,expr))))))
       (message "gud-watch is a no-op in this mode."))))
 
 (defun gdb-var-create-handler (expr)
@@ -1114,7 +1109,7 @@ With arg, enter name of variable to be watched in the minibuffer."
   (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame)
             (not (gdb-pending-p 'gdb-speedbar-timer)))
     ;; Dummy command to update speedbar even when idle.
-    (gdb-input (list "-environment-pwd" 'gdb-speedbar-timer-fn))
+    (gdb-input "-environment-pwd" 'gdb-speedbar-timer-fn)
     ;; Keep gdb-pending-triggers non-nil till end.
     (gdb-add-pending 'gdb-speedbar-timer)))
 
@@ -1135,12 +1130,9 @@ With arg, enter name of variable to be watched in the minibuffer."
 
                                         ; Uses "-var-list-children --all-values".  Needs GDB 6.1 onwards.
 (defun gdb-var-list-children (varnum)
-  (gdb-input
-   (list (concat "-var-update " varnum) 'ignore))
-  (gdb-input
-   (list (concat "-var-list-children --all-values "
-                 varnum)
-         `(lambda () (gdb-var-list-children-handler ,varnum)))))
+  (gdb-input (concat "-var-update " varnum) 'ignore)
+  (gdb-input (concat "-var-list-children --all-values " varnum)
+            `(lambda () (gdb-var-list-children-handler ,varnum))))
 
 (defun gdb-var-list-children-handler (varnum)
   (let* ((var-list nil)
@@ -1172,13 +1164,11 @@ With arg, enter name of variable to be watched in the minibuffer."
   "Set the output format for a variable displayed in the speedbar."
   (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
         (varnum (car var)))
-    (gdb-input
-     (list (concat "-var-set-format " varnum " " format) 'ignore))
+    (gdb-input (concat "-var-set-format " varnum " " format) 'ignore)
     (gdb-var-update)))
 
 (defun gdb-var-delete-1 (var varnum)
-  (gdb-input
-   (list (concat "-var-delete " varnum) 'ignore))
+  (gdb-input (concat "-var-delete " varnum) 'ignore)
   (setq gdb-var-list (delq var gdb-var-list))
   (dolist (varchild gdb-var-list)
     (if (string-match (concat (car var) "\\.") (car varchild))
@@ -1197,17 +1187,15 @@ With arg, enter name of variable to be watched in the minibuffer."
 
 (defun gdb-var-delete-children (varnum)
   "Delete children of variable object at point from the speedbar."
-  (gdb-input
-   (list (concat "-var-delete -c " varnum) 'ignore)))
+  (gdb-input (concat "-var-delete -c " varnum) 'ignore))
 
 (defun gdb-edit-value (_text _token _indent)
   "Assign a value to a variable displayed in the speedbar."
   (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
         (varnum (car var)) (value))
     (setq value (read-string "New value: "))
-    (gdb-input
-     (list (concat "-var-assign " varnum " " value)
-          `(lambda () (gdb-edit-value-handler ,value))))))
+    (gdb-input (concat "-var-assign " varnum " " value)
+              `(lambda () (gdb-edit-value-handler ,value)))))
 
 (defconst gdb-error-regexp "\\^error,msg=\\(\".+\"\\)")
 
@@ -1219,8 +1207,7 @@ With arg, enter name of variable to be watched in the minibuffer."
                                         ; Uses "-var-update --all-values".  Needs GDB 6.4 onwards.
 (defun gdb-var-update ()
   (if (not (gdb-pending-p 'gdb-var-update))
-      (gdb-input
-       (list "-var-update --all-values *" 'gdb-var-update-handler)))
+      (gdb-input "-var-update --all-values *" 'gdb-var-update-handler))
   (gdb-add-pending 'gdb-var-update))
 
 (defun gdb-var-update-handler ()
@@ -1700,13 +1687,17 @@ static char *magick[] = {
                                        gdb-continuation string "\"\n"))
       (setq gdb-continuation nil))))
 
-(defun gdb-input (item)
-  (if gdb-enable-debug (push (cons 'send-item item) gdb-debug-log))
+(defun gdb-input (command handler-function)
+  "Send COMMAND to GDB via the MI interface.
+Run the function HANDLER-FUNCTION, with no arguments, once the command is
+complete."
+  (if gdb-enable-debug (push (list 'send-item command handler-function)
+                            gdb-debug-log))
   (setq gdb-token-number (1+ gdb-token-number))
-  (setcar item (concat (number-to-string gdb-token-number) (car item)))
-  (push (cons gdb-token-number (car (cdr item))) gdb-handler-alist)
+  (setq command (concat (number-to-string gdb-token-number) command))
+  (push (cons gdb-token-number handler-function) gdb-handler-alist)
   (process-send-string (get-buffer-process gud-comint-buffer)
-                      (concat (car item) "\n")))
+                      (concat command "\n")))
 
 ;; NOFRAME is used for gud execution control commands
 (defun gdb-current-context-command (command)
@@ -1893,15 +1884,16 @@ is running."
       (let ((record-type (cadr output-record))
            (arg1 (nth 2 output-record))
            (arg2 (nth 3 output-record)))
-       (if (eq record-type 'gdb-error)
-           (gdb-done-or-error arg2 arg1 'error)
-         (if (eq record-type 'gdb-done)
-             (gdb-done-or-error arg2 arg1 'done)
-           ;; Suppress "No registers." since GDB 6.8 and earlier duplicates MI
-           ;; error message on internal stream.  Don't print to GUD buffer.
-           (unless (and (eq record-type 'gdb-internals)
-                         (string-equal (read arg1) "No registers.\n"))
-             (funcall record-type arg1))))))
+       (cond ((eq record-type 'gdb-error)
+              (gdb-done-or-error arg2 arg1 'error))
+             ((eq record-type 'gdb-done)
+              (gdb-done-or-error arg2 arg1 'done))
+             ;; Suppress "No registers."  GDB 6.8 and earlier
+             ;; duplicates MI error message on internal stream.
+             ;; Don't print to GUD buffer.
+             ((not (and (eq record-type 'gdb-internals)
+                        (string-equal (read arg1) "No registers.\n")))
+              (funcall record-type arg1)))))
 
     (setq gdb-output-sink 'user)
     ;; Remove padding.
@@ -1994,11 +1986,10 @@ current thread and update GDB buffers."
     ;; -data-list-register-names needs to be issued for any stopped
     ;; thread
     (when (not gdb-register-names)
-      (gdb-input
-       (list (concat "-data-list-register-names"
-                    (if gdb-supports-non-stop
-                        (concat " --thread " thread-id)))
-             'gdb-register-names-handler)))
+      (gdb-input (concat "-data-list-register-names"
+                        (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
 ;;; because synchronous GDB doesn't give these fields with CLI.
@@ -2065,9 +2056,7 @@ current thread and update GDB buffers."
 ;; (frontend MI commands should not print to this stream)
 (defun gdb-console (output-field)
   (setq gdb-filter-output
-       (gdb-concat-output
-        gdb-filter-output
-        (read output-field))))
+       (gdb-concat-output gdb-filter-output (read output-field))))
 
 (defun gdb-done-or-error (output-field token-number type)
   (if (string-equal token-number "")
@@ -2105,12 +2094,11 @@ current thread and update GDB buffers."
              (assq-delete-all token-number gdb-handler-alist)))))
 
 (defun gdb-concat-output (so-far new)
-  (let ((sink gdb-output-sink))
-    (cond
-     ((eq sink 'user) (concat so-far new))
-     ((eq sink 'emacs)
-      (gdb-append-to-partial-output new)
-      so-far))))
+  (cond
+   ((eq gdb-output-sink 'user) (concat so-far new))
+   ((eq gdb-output-sink 'emacs)
+    (gdb-append-to-partial-output new)
+    so-far)))
 
 (defun gdb-append-to-partial-output (string)
   (with-current-buffer (gdb-get-buffer-create 'gdb-partial-output-buffer)
@@ -2320,9 +2308,8 @@ trigger argument when describing buffer types with
              (memq signal ,signal-list))
        (when (not (gdb-pending-p
                    (cons (current-buffer) ',trigger-name)))
-         (gdb-input
-          (list ,gdb-command
-                (gdb-bind-function-to-buffer ',handler-name (current-buffer))))
+         (gdb-input ,gdb-command
+                   (gdb-bind-function-to-buffer ',handler-name (current-buffer)))
          (gdb-add-pending (cons (current-buffer) ',trigger-name))))))
 
 ;; Used by disassembly buffer only, the rest use
@@ -2449,13 +2436,10 @@ HANDLER-NAME handler uses customization of CUSTOM-DEFUN. See
                 ;; Only want one breakpoint icon at each location.
                 (gdb-put-breakpoint-icon (string-equal flag "y") bptno
                                          (string-to-number line)))
-            (gdb-input
-             (list (concat "list " file ":1")
-                   'ignore))
-            (gdb-input
-             (list "-file-list-exec-source-file"
-                   `(lambda () (gdb-get-location
-                           ,bptno ,line ,flag))))))))))
+            (gdb-input (concat "list " file ":1") 'ignore)
+            (gdb-input "-file-list-exec-source-file"
+                      `(lambda () (gdb-get-location
+                                   ,bptno ,line ,flag)))))))))
 
 (defvar gdb-source-file-regexp "fullname=\"\\(.*?\\)\"")
 
@@ -2785,7 +2769,7 @@ on the current line."
 (def-gdb-thread-buffer-command gdb-select-thread
   (let ((new-id (bindat-get-field thread 'id)))
     (gdb-setq-thread-number new-id)
-    (gdb-input (list (concat "-thread-select " new-id) 'ignore))
+    (gdb-input (concat "-thread-select " new-id) 'ignore)
     (gdb-update))
   "Select the thread at current line of threads buffer.")
 
@@ -3541,8 +3525,8 @@ member."
         (if (gdb-buffer-shows-main-thread-p)
             (let ((new-level (bindat-get-field frame 'level)))
               (setq gdb-frame-number new-level)
-              (gdb-input (list (concat "-stack-select-frame " new-level)
-                               'ignore))
+              (gdb-input (concat "-stack-select-frame " new-level)
+                        'ignore)
               (gdb-update))
           (error "Could not select frame for non-current thread"))
       (error "Not recognized as frame line"))))
@@ -3770,14 +3754,11 @@ member."
 
 ;; Needs GDB 6.4 onwards (used to fail with no stack).
 (defun gdb-get-changed-registers ()
-  (if (and (gdb-get-buffer 'gdb-registers-buffer)
-          (not (gdb-pending-p 'gdb-get-changed-registers)))
-      (progn
-       (gdb-input
-        (list
-         "-data-list-changed-registers"
-         'gdb-changed-registers-handler))
-       (gdb-add-pending 'gdb-get-changed-registers))))
+  (when (and (gdb-get-buffer 'gdb-registers-buffer)
+            (not (gdb-pending-p 'gdb-get-changed-registers)))
+    (gdb-input "-data-list-changed-registers"
+              'gdb-changed-registers-handler)
+    (gdb-add-pending 'gdb-get-changed-registers)))
 
 (defun gdb-changed-registers-handler ()
   (gdb-delete-pending 'gdb-get-changed-registers)
@@ -3806,18 +3787,15 @@ is set in them."
   (dolist (buffer (buffer-list))
     (with-current-buffer buffer
       (when (member buffer-file-name gdb-source-file-list)
-       (gdb-init-buffer))))
-  (gdb-force-mode-line-update
-   (propertize "ready" 'face font-lock-variable-name-face)))
+       (gdb-init-buffer)))))
 
 (defun gdb-get-main-selected-frame ()
   "Trigger for `gdb-frame-handler' which uses main current
 thread. Called from `gdb-update'."
   (if (not (gdb-pending-p 'gdb-get-main-selected-frame))
       (progn
-       (gdb-input
-        (list (gdb-current-context-command "-stack-info-frame")
-               'gdb-frame-handler))
+       (gdb-input (gdb-current-context-command "-stack-info-frame")
+                  'gdb-frame-handler)
        (gdb-add-pending 'gdb-get-main-selected-frame))))
 
 (defun gdb-frame-handler ()
@@ -3865,7 +3843,7 @@ overlay arrow in source buffer."
 If BUF is already displayed in some window, show it, deiconifying
 the frame if necessary. Otherwise, find least recently used
 window and show BUF there, if the window is not used for GDB
-already, in which case that window is splitted first."
+already, in which case that window is split first."
   (let ((answer (get-buffer-window buf (or frame 0))))
     (if answer
        (display-buffer buf nil (or frame 0)) ;Deiconify frame if necessary.
@@ -4148,7 +4126,9 @@ buffers, if required."
     (gdb-get-buffer-create 'gdb-breakpoints-buffer)
     (if (and gdb-show-main gdb-main-file)
         (let ((pop-up-windows t))
-          (display-buffer (gud-find-file gdb-main-file))))))
+          (display-buffer (gud-find-file gdb-main-file)))))
+  (gdb-force-mode-line-update
+   (propertize "ready" 'face font-lock-variable-name-face)))
 
 ;;from put-image
 (defun gdb-put-string (putstring pos &optional dprop &rest sprops)
@@ -4259,6 +4239,42 @@ BUFFER nil or omitted means use the current buffer."
           (set-window-margins
            window left-margin-width right-margin-width)))))
 
+\f
+;;; Functions for inline completion.
+
+(defvar gud-gdb-fetch-lines-in-progress)
+(defvar gud-gdb-fetch-lines-string)
+(defvar gud-gdb-fetch-lines-break)
+(defvar gud-gdb-fetched-lines)
+
+(defun gud-gdbmi-completions (context command)
+  "Completion table for GDB/MI commands.
+COMMAND is the prefix for which we seek completion.
+CONTEXT is the text before COMMAND on the line."
+  (let ((gud-gdb-fetch-lines-in-progress t)
+       (gud-gdb-fetch-lines-string nil)
+       (gud-gdb-fetch-lines-break (length context))
+       (gud-gdb-fetched-lines nil)
+       ;; This filter dumps output lines to `gud-gdb-fetched-lines'.
+       (gud-marker-filter #'gud-gdbmi-fetch-lines-filter)
+       complete-list)
+    (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
+      (gdb-input (concat "complete " context command)
+                (lambda () (setq gud-gdb-fetch-lines-in-progress nil)))
+      (while gud-gdb-fetch-lines-in-progress
+       (accept-process-output (get-buffer-process gud-comint-buffer))))
+    (gud-gdb-completions-1 gud-gdb-fetched-lines)))
+
+(defun gud-gdbmi-fetch-lines-filter (string)
+  "Custom filter function for `gud-gdbmi-completions'."
+  (setq string (concat gud-gdb-fetch-lines-string
+                      (gud-gdbmi-marker-filter string)))
+  (while (string-match "\n" string)
+    (push (substring string gud-gdb-fetch-lines-break (match-beginning 0))
+         gud-gdb-fetched-lines)
+    (setq string (substring string (match-end 0))))
+  "")
+
 (provide 'gdb-mi)
 
 ;;; gdb-mi.el ends here
index 6792e861888031f09f37552cbfd9559ce71fec34..fb0489f185cf573a0a91f5c48eaf7a68373b13a2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; glasses.el --- make cantReadThis readable
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Milan Zamazal <pdm@zamazal.org>
 ;; Maintainer: Milan Zamazal <pdm@zamazal.org>
index b379ce67fd75046a904c9639a6e6297720b056ea..697af76acc9682569f80a664f20cc8e8b113b406 100644 (file)
@@ -1,6 +1,6 @@
 ;;; grep.el --- run `grep' and display the results
 
-;; Copyright (C) 1985-1987, 1993-1999, 2001-2011
+;; Copyright (C) 1985-1987, 1993-1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>
@@ -959,7 +959,10 @@ can use \\[next-error] (M-x next-error), or \\<grep-mode-map>\\[compile-goto-err
 in the grep output buffer,
 to go to the lines where grep found matches.
 
-This command shares argument histories with \\[lgrep] and \\[grep-find]."
+This command shares argument histories with \\[lgrep] and \\[grep-find].
+
+When called programmatically and FILES is nil, REGEXP is expected
+to specify a command to run."
   (interactive
    (progn
      (grep-compute-defaults)
index de8da09768d9e16c9856557ba5135e3ee572c46d..5fabe5086db06b2944112389aeda66a643ff95c0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gud.el --- Grand Unified Debugger mode for running GDB and other debuggers
 
-;; Copyright (C) 1992-1996, 1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1996, 1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: FSF
@@ -756,6 +756,8 @@ directory and source-file directory for your debugger."
 
   (add-hook 'completion-at-point-functions #'gud-gdb-completion-at-point
             nil 'local)
+  (set (make-local-variable 'gud-gdb-completion-function) 'gud-gdb-completions)
+
   (local-set-key "\C-i" 'completion-at-point)
   (setq comint-prompt-regexp "^(.*gdb[+]?) *")
   (setq paragraph-start comint-prompt-regexp)
@@ -768,6 +770,12 @@ directory and source-file directory for your debugger."
 ;; context-sensitive command completion.  We preserve that feature
 ;; in the GUD buffer by using a GDB command designed just for Emacs.
 
+(defvar gud-gdb-completion-function nil
+  "Completion function for GDB commands.
+It receives two arguments: COMMAND, the prefix for which we seek
+completion; and CONTEXT, the text before COMMAND on the line.
+It should return a list of completion strings.")
+
 ;; The completion process filter indicates when it is finished.
 (defvar gud-gdb-fetch-lines-in-progress)
 
@@ -806,28 +814,32 @@ CONTEXT is the text before COMMAND on the line."
     (and complete-list
         (string-match "^Undefined command: \"complete\"" (car complete-list))
         (error "This version of GDB doesn't support the `complete' command"))
-    ;; Sort the list like readline.
-    (setq complete-list (sort complete-list (function string-lessp)))
-    ;; Remove duplicates.
-    (let ((first complete-list)
-         (second (cdr complete-list)))
-      (while second
-       (if (string-equal (car first) (car second))
-           (setcdr first (setq second (cdr second)))
-         (setq first second
-               second (cdr second)))))
-    ;; Add a trailing single quote if there is a unique completion
-    ;; and it contains an odd number of unquoted single quotes.
-    (and (= (length complete-list) 1)
-        (let ((str (car complete-list))
-              (pos 0)
-              (count 0))
-          (while (string-match "\\([^'\\]\\|\\\\'\\)*'" str pos)
-            (setq count (1+ count)
-                  pos (match-end 0)))
-          (and (= (mod count 2) 1)
-               (setq complete-list (list (concat str "'"))))))
-    complete-list))
+    (gud-gdb-completions-1 complete-list)))
+
+;; This function is also used by `gud-gdbmi-completions'.
+(defun gud-gdb-completions-1 (complete-list)
+  ;; Sort the list like readline.
+  (setq complete-list (sort complete-list (function string-lessp)))
+  ;; Remove duplicates.
+  (let ((first complete-list)
+       (second (cdr complete-list)))
+    (while second
+      (if (string-equal (car first) (car second))
+         (setcdr first (setq second (cdr second)))
+       (setq first second
+             second (cdr second)))))
+  ;; Add a trailing single quote if there is a unique completion
+  ;; and it contains an odd number of unquoted single quotes.
+  (and (= (length complete-list) 1)
+       (let ((str (car complete-list))
+            (pos 0)
+            (count 0))
+        (while (string-match "\\([^'\\]\\|\\\\'\\)*'" str pos)
+          (setq count (1+ count)
+                pos (match-end 0)))
+        (and (= (mod count 2) 1)
+             (setq complete-list (list (concat str "'"))))))
+  complete-list)
 
 (defun gud-gdb-completion-at-point ()
   "Return the data to complete the GDB command before point."
@@ -838,7 +850,7 @@ CONTEXT is the text before COMMAND on the line."
            (point))))
     (list start end
           (completion-table-dynamic
-           (apply-partially #'gud-gdb-completions
+           (apply-partially gud-gdb-completion-function
                             (buffer-substring (comint-line-beginning-position)
                                               start))))))
 
@@ -851,11 +863,11 @@ CONTEXT is the text before COMMAND on the line."
 
 ;; The completion process filter is installed temporarily to slurp the
 ;; output of GDB up to the next prompt and build the completion list.
-(defun gud-gdb-fetch-lines-filter (string filter)
+(defun gud-gdb-fetch-lines-filter (string)
   "Filter used to read the list of lines output by a command.
 STRING is the output to filter.
-It is passed through FILTER before we look at it."
-  (setq string (funcall filter string))
+It is passed through `gud-gdb-marker-filter' before we look at it."
+  (setq string (gud-gdb-marker-filter string))
   (setq string (concat gud-gdb-fetch-lines-string string))
   (while (string-match "\n" string)
     (push (substring string gud-gdb-fetch-lines-break (match-beginning 0))
@@ -880,17 +892,6 @@ It is passed through FILTER before we look at it."
 (defvar gud-gdb-fetched-stack-frame nil
   "Stack frames we are fetching from GDB.")
 
-;(defun gud-gdb-get-scope-data (text token indent)
-;  ;; checkdoc-params: (indent)
-;  "Fetch data associated with a stack frame, and expand/contract it.
-;Data to do this is retrieved from TEXT and TOKEN."
-;  (let ((args nil) (scope nil))
-;    (gud-gdb-run-command-fetch-lines "info args")
-;
-;    (gud-gdb-run-command-fetch-lines "info local")
-;
-;    ))
-
 (defun gud-gdb-get-stackframe (buffer)
   "Extract the current stack frame out of the GUD GDB BUFFER."
   (let ((newlst nil)
@@ -934,21 +935,16 @@ It is passed through FILTER before we look at it."
 BUFFER is the current buffer which may be the GUD buffer in which to run.
 SKIP is the number of chars to skip on each line, it defaults to 0."
   (with-current-buffer gud-comint-buffer
-    (if (and (eq gud-comint-buffer buffer)
-            (save-excursion
-              (goto-char (point-max))
-              (forward-line 0)
-              (not (looking-at comint-prompt-regexp))))
-       nil
-      ;; Much of this copied from GDB complete, but I'm grabbing the stack
-      ;; frame instead.
+    (unless (and (eq gud-comint-buffer buffer)
+                (save-excursion
+                  (goto-char (point-max))
+                  (forward-line 0)
+                  (not (looking-at comint-prompt-regexp))))
       (let ((gud-gdb-fetch-lines-in-progress t)
            (gud-gdb-fetched-lines nil)
            (gud-gdb-fetch-lines-string nil)
            (gud-gdb-fetch-lines-break (or skip 0))
-           (gud-marker-filter
-            `(lambda (string)
-               (gud-gdb-fetch-lines-filter string ',gud-marker-filter))))
+           (gud-marker-filter #'gud-gdb-fetch-lines-filter))
        ;; Issue the command to GDB.
        (gud-basic-call command)
        ;; Slurp the output.
@@ -3422,7 +3418,7 @@ With arg, dereference expr if ARG is positive, otherwise do not dereference."
        ((xdb pdb) (concat "p " expr))
        (sdb (concat expr "/"))))
 
-(declare-function gdb-input "gdb-mi" (item))
+(declare-function gdb-input "gdb-mi" (command handler))
 (declare-function tooltip-expr-to-print "tooltip" (event))
 (declare-function tooltip-event-buffer "tooltip" (event))
 
@@ -3468,12 +3464,12 @@ so they have been disabled."))
                (if (eq gud-minor-mode 'gdbmi)
                     (if gdb-macro-info
                         (gdb-input
-                         (list (concat
-                                "server macro expand " expr "\n")
-                               `(lambda () (gdb-tooltip-print-1 ,expr))))
+                         (concat
+                         "server macro expand " expr "\n")
+                        `(lambda () (gdb-tooltip-print-1 ,expr)))
                       (gdb-input
-                       (list  (concat cmd "\n")
-                              `(lambda () (gdb-tooltip-print ,expr)))))
+                      (concat cmd "\n")
+                      `(lambda () (gdb-tooltip-print ,expr))))
                  (setq gud-tooltip-original-filter (process-filter process))
                  (set-process-filter process 'gud-tooltip-process-output)
                  (gud-basic-call cmd))
index 829613766691dba07ca8ae3dd11d701364b70a7f..3e3d7adc0b62d1c2c5384cb6719045321612647f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hideif.el --- hides selected code within ifdef
 
-;; Copyright (C) 1988, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Brian Marick
 ;;     Daniel LaLiberte <liberte@holonexus.org>
index 9cbc1dc6d32eea823556d21118fd416edca5672e..c9ba5ef281869ffe317a2aead4fbb8ecef5f8ebd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; hideshow.el --- minor mode cmds to selectively display code/comment blocks
 
-;; Copyright (C) 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012  Free Software Foundation, Inc.
 
 ;; Author: Thien-Thi Nguyen <ttn@gnu.org>
 ;;      Dan Nicolaescu <dann@ics.uci.edu>
index 5382ce1386d28e5a0c517e6f50f25e9750d3bd61..35c29e106279595fee557d2c6c88405ec6918b4c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; icon.el --- mode for editing Icon code
 
-;; Copyright (C) 1989, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Chris Smith <csmith@convex.com>
 ;; Created: 15 Feb 89
index a967fc03e40548292b4b91cf756332657971a745..246ba8f29cde537d4f974d1ee3e547f97152957d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; idlw-complete-structtag.el --- Completion of structure tags.
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@astro.uva.nl>
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
index 0266fc17f9c3fac42f48b99dfda3d017b6c0e5e1..f2f9fd30ed4ad2202292731c5d66145c85a34e91 100644 (file)
@@ -1,6 +1,6 @@
 ;;; idlw-help.el --- HTML Help code for IDLWAVE
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 ;;
 ;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
 ;;          Carsten Dominik <dominik@science.uva.nl>
index aa46b54d848dc489e403e95c0faf8aade391ce75..619b903e902a59fcf0eb2469e99bc692f6cf09d0 100644 (file)
@@ -1,6 +1,6 @@
 ;; idlw-shell.el --- run IDL as an inferior process of Emacs.
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
 ;;          Carsten Dominik <dominik@astro.uva.nl>
index d4eddee9722375218ad10f926c93243e1fee178c..1dad455d37e44377520cf2f0eb135139184e484d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@astro.uva.nl>
 ;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
index 24deb569d7495b1db37a6673213a4220e8e807cd..31fe20698b93e61049e81183d9a90bb9c836e5e9 100644 (file)
@@ -1,6 +1,6 @@
 ;; idlwave.el --- IDL editing mode for GNU Emacs
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
 ;;          Carsten Dominik <dominik@science.uva.nl>
@@ -2464,7 +2464,7 @@ If prefix ARG < 0 then move forward to enclosing block end."
 (defun idlwave-down-block (&optional arg)
   "Go down a block.
 With ARG: ARG >= 0 go forwards, ARG < 0 go backwards.
-Returns non-nil if successfull."
+Returns non-nil if successful."
   (interactive "p")
   (let (status)
     (if (< arg 0)
@@ -7855,7 +7855,7 @@ Restore the pre-completion window configuration if possible."
 If point is on a keyword, help for that keyword will be shown.  If
 point is on a routine name or in the argument list of a routine, help
 for that routine will be displayed.  Works for system routines and
-keywords, it pulls up text help.  For other routies and keywords,
+keywords, it pulls up text help.  For other routines and keywords,
 visits the source file, finding help in the header (if
 `idlwave-help-source-try-header' is non-nil) or the routine definition
 itself."
index dd24aeea9a3a2672c43e3a5e35dd258554c998f4..73e167d1587b92e6abbb2f2c5eaa2af43298e002 100644 (file)
@@ -1,6 +1,6 @@
 ;;; inf-lisp.el --- an inferior-lisp mode
 
-;; Copyright (C) 1988, 1993-1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Olin Shivers <shivers@cs.cmu.edu>
 ;; Keywords: processes, lisp
index f0c86265232131e031587d20680ba312820b9937..69da673752090a76388748c36782a0849d4e99ec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; js.el --- Major mode for editing JavaScript
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Karl Landstrom <karl.landstrom@brgeight.se>
 ;;         Daniel Colascione <dan.colascione@gmail.com>
@@ -369,7 +369,8 @@ Match group 1 is the name of the macro.")
 ;; must be h-end.
 ;;
 ;; js--pitem instances are never modified (with the exception
-;; of the b-end field). Instead, modified copies are added at subseqnce parse points.
+;; of the b-end field). Instead, modified copies are added at
+;; subsequence parse points.
 ;; (The exception for b-end and its caveats is described below.)
 ;;
 
index c682bfa0280357492feeb2767d29209fe998ea0c..9cbed855d5eda97c564e7de51b4c7aca74f32afb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ld-script.el --- GNU linker script editing mode for Emacs
 
-;; Copyright (C) 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Masatake YAMATO<jet@gyve.org>
 ;; Keywords: languages, faces
index 98df1c69468ac10f5fb77d1862f73fbe2435fa1b..b1884bd105b8155369a5b7111b3bf0788a9d876e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; m4-mode.el --- m4 code editing commands for Emacs
 
-;; Copyright (C) 1996-1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Andrew Csillag <drew_csillag@geocities.com>
 ;; Maintainer: Andrew Csillag <drew_csillag@geocities.com>
index 024744957c6e56ad05fd760be6aa3b8889c26ae0..b4ca1ba665f453a98977185fa99e71fe9efeb791 100644 (file)
@@ -1,6 +1,6 @@
 ;;; make-mode.el --- makefile editing commands for Emacs -*- lexical-binding:t -*-
 
-;; Copyright (C) 1992, 1994, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Thomas Neumann <tom@smart.bo.open.de>
 ;;     Eric S. Raymond <esr@snark.thyrsus.com>
index c8963d2a6dd7c746e59f38adbe88bbd2bc8ed504..a2a976a6d374031312c50871b11955542b69d461 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mantemp.el --- create manual template instantiations from g++ 2.7.2 output
 
-;; Copyright (C) 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Tom Houlder <thoulder@icor.fr>
 ;; Created: 10 Dec 1996
index d0a34179cc80aa61b9bc4367c76bef88f1ffdbde..d0432f58d60345330bb069170ce6f266a97ac725 100644 (file)
@@ -1,6 +1,6 @@
 ;;; meta-mode.el --- major mode for editing Metafont or MetaPost sources -*- lexical-binding:t -*-
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Ulrik Vieth <vieth@thphy.uni-duesseldorf.de>
 ;; Version: 1.0
@@ -384,7 +384,7 @@ Each entry is a list with the following elements:
 1. Regexp matching the preceding text.
 2. A number indicating the subgroup in the regexp containing the text.
 3. A function returning an alist of possible completions.
-4. Text to append after a succesful completion (if any).
+4. Text to append after a successful completion (if any).
 
 Or alternatively:
 1. Regexp matching the preceding text.
index 7d1f12595ab1d3a804344f38cfb709b831c0839b..b152f7367ebf954ddb2cfb393eb8b7550eb1ce5b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mixal-mode.el --- Major mode for the mix asm language.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Pieter E.J. Pareit <pieter.pareit@gmail.com>
 ;; Maintainer: Pieter E.J. Pareit <pieter.pareit@gmail.com>
index 421f476016e5189dba70777e5bcd75c03f6db502..40469b75b9fa19b3a0e86dc44722e458fdade760 100644 (file)
@@ -1,6 +1,6 @@
 ;;; octave-inf.el --- running Octave as an inferior Emacs process
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
 ;; Author: John Eaton <jwe@bevo.che.wisc.edu>
index 28e25a35c703db4843dc2b2fcec04cd18fb50ccd..668c3d147c6b138d926072251a40ad7ea62a30be 100644 (file)
@@ -1,6 +1,6 @@
 ;;; octave-mod.el --- editing Octave source files under Emacs
 
-;; Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
 ;; Author: John Eaton <jwe@octave.org>
index 2db4309d9e0de0306d4e15a822bd62f5b24b2a0d..db15e3c6f27db50dac7b89daf33b86e4da9cfd49 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pascal.el --- major mode for editing pascal source in Emacs -*- lexical-binding: t -*-
 
-;; Copyright (C) 1993-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-2012  Free Software Foundation, Inc.
 
 ;; Author: Espen Skoglund <esk@gnu.org>
 ;; Keywords: languages
index f051b49fe2ae9e1d10ff38b07489616ed2109bf4..e7afd0e0e6707ceda7fef7b8215a6f5ca37da5d4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; perl-mode.el --- Perl code editing commands for GNU Emacs
 
-;; Copyright (C) 1990, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: William F. Mann
 ;; Maintainer: FSF
index 5b229cc0c24267e175cb8d1bcf86f1d44963e2d5..b531fc0dc9c24329af8873d19f230a6b4fa4f8d6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; prolog.el --- major mode for editing and running Prolog (and Mercury) code
 
-;; Copyright (C) 1986-1987, 1997-1999, 2002-2003, 2011
+;; Copyright (C) 1986-1987, 1997-1999, 2002-2003, 2011-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Authors: Emil Åström <emil_astrom(at)hotmail(dot)com>
 ;;  o  Introduced three new customizable variables: electric colon
 ;;     (`prolog-electric-colon-flag', default nil), electric dash
 ;;     (`prolog-electric-dash-flag', default nil), and a possibility
-;;     to prevent the predicate template insertion from adding commata
+;;     to prevent the predicate template insertion from adding commas
 ;;     (`prolog-electric-dot-full-predicate-template', defaults to t
-;;     since it seems quicker to me to just type those commata).  A
+;;     since it seems quicker to me to just type those commas).  A
 ;;     trivial adaptation of a patch by Markus Triska.
 ;;  o  Improved the behavior of electric if-then-else to only skip
 ;;     forward if the parenthesis/semicolon is preceded by
@@ -512,7 +512,7 @@ It does not apply in strings and comments."
 (defcustom prolog-electric-dot-full-predicate-template nil
   "*If nil, electric dot inserts only the current predicate's name and `('
 for recursive calls or new clause heads.  Non-nil means to also
-insert enough commata to cover the predicate's arity and `)',
+insert enough commas to cover the predicate's arity and `)',
 and dot and newline for recursive calls."
   :group 'prolog-keyboard
   :type 'boolean)
@@ -3262,7 +3262,7 @@ STRING should be given if the last search was by `string-match' on STRING."
 (defun prolog-clause-start (&optional not-allow-methods)
   "Return the position at the start of the head of the current clause.
 If NOTALLOWMETHODS is non-nil then do not match on methods in
-objects (relevent only if 'prolog-system' is set to 'sicstus)."
+objects (relevant only if 'prolog-system' is set to 'sicstus)."
   (save-excursion
     (let ((notdone t)
           (retval (point-min)))
@@ -3328,7 +3328,7 @@ objects (relevent only if 'prolog-system' is set to 'sicstus)."
 (defun prolog-clause-end (&optional not-allow-methods)
   "Return the position at the end of the current clause.
 If NOTALLOWMETHODS is non-nil then do not match on methods in
-objects (relevent only if 'prolog-system' is set to 'sicstus)."
+objects (relevant only if 'prolog-system' is set to 'sicstus)."
   (save-excursion
     (beginning-of-line) ; Necessary since we use "^...." for the search.
     (if (re-search-forward
index c2adc3b801b976667bb2678ae84d56e627e46f1d..e85fa0476b08de5e3b5ebf09ebc27e96b85fd2ed 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ps-mode.el --- PostScript mode for GNU Emacs
 
-;; Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author:     Peter Kleiweg <p.c.j.kleiweg@rug.nl>
 ;; Maintainer: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
index fbf7c3c42f7446fc9b576fd86109213f81c4128b..0c29891cd92ded49e9d74a806ecaf4f9dcf8b212 100644 (file)
@@ -1,6 +1,6 @@
 ;;; python.el --- silly walks for Python  -*- coding: iso-8859-1 -*-
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Maintainer: FSF
@@ -2343,7 +2343,7 @@ Interactively, prompt for the name with completion."
 ;;;; Bicycle Repair Man support
 
 (autoload 'pymacs-load "pymacs" nil t)
-(autoload 'brm-init "bikemacs")
+(autoload 'brm-init "bikeemacs")
 (defvar brm-menu)
 
 ;; I'm not sure how useful BRM really is, and it's certainly dangerous
index c8b156c54412495d301da02b413a1dce9297b5d9..bf2649729402a2ae222f71614e21bb632bfcaa94 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ruby-mode.el --- Major mode for editing Ruby files
 
-;; Copyright (C) 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012  Free Software Foundation, Inc.
 
 ;; Authors: Yukihiro Matsumoto
 ;;     Nobuyoshi Nakada
index 66300d976216c3d4465f864c60e129cbef076387..82a4985015f26104d6b894c8f000cc7f34556220 100644 (file)
@@ -1,6 +1,6 @@
 ;;; scheme.el --- Scheme (and DSSSL) editing mode
 
-;; Copyright (C) 1986-1988, 1997-1998, 2001-2011
+;; Copyright (C) 1986-1988, 1997-1998, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Bill Rozas <jinx@martigny.ai.mit.edu>
index 62ca2ce085f341442476343705ea2ea7bed1253d..48b19524b8cc809a9e7a14c7329f33bbdc156252 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sh-script.el --- shell-script editing commands for Emacs
 
-;; Copyright (C) 1993-1997, 1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1997, 1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Version: 2.0f
index dc2773a9efe7cf495792b99ae1fb0fd69a973407..7536126e8f1153e7109fc0248dfcde4cc7552db9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; simula.el --- SIMULA 87 code editing commands for Emacs
 
-;; Copyright (C) 1992, 1994, 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Hans Henrik Eriksen <hhe@ifi.uio.no>
 ;; Maintainer: simula-mode@ifi.uio.no
index 03e095b6bfc7b0afe5360402fda7b7fce799395c..2e59d8f85172f3580e61f53c74307bf99a38933b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sql.el --- specialized comint.el for SQL interpreters
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: Michael Mauger <mmaug@yahoo.com>
 ;; Drew Adams <drew.adams@oracle.com> -- Emacs 20 support
 ;; Harald Maier <maierh@myself.com> -- sql-send-string
 ;; Stefan Monnier <monnier@iro.umontreal.ca> -- font-lock corrections; code polish
+;; Paul Sleigh <bat@flurf.net> -- MySQL keyword enhancement
+;; Andrew Schein <andrew@andrewschein.com> -- sql-port bug
 
 \f
 
@@ -811,6 +813,14 @@ is changed."
   :type 'hook
   :group 'SQL)
 
+(defcustom sql-login-hook '()
+  "Hook for interacting with a buffer in `sql-interactive-mode'.
+
+This hook is invoked in a buffer once it is ready to accept input
+for the first time."
+  :type 'hook
+  :group 'SQL)
+
 ;; Customization for ANSI
 
 (defcustom sql-ansi-statement-starters (regexp-opt '(
@@ -1594,6 +1604,7 @@ to add functions and PL/SQL keywords.")
 "atan" "atan2" "avg" "bfilename" "bin_to_num" "bitand" "cardinality"
 "cast" "ceil" "chartorowid" "chr" "cluster_id" "cluster_probability"
 "cluster_set" "coalesce" "collect" "compose" "concat" "convert" "corr"
+"connect_by_root" "connect_by_iscycle" "connect_by_isleaf"
 "corr_k" "corr_s" "cos" "cosh" "count" "covar_pop" "covar_samp"
 "cube_table" "cume_dist" "current_date" "current_timestamp" "cv"
 "dataobj_to_partition" "dbtimezone" "decode" "decompose" "deletexml"
@@ -2279,7 +2290,7 @@ you define your own `sql-mode-solid-font-lock-keywords'.")
 "collation" "column" "columns" "comment" "committed" "concurrent"
 "constraint" "create" "cross" "data" "database" "default"
 "delay_key_write" "delayed" "delete" "desc" "directory" "disable"
-"distinct" "distinctrow" "do" "drop" "dumpfile" "duplicate" "else"
+"distinct" "distinctrow" "do" "drop" "dumpfile" "duplicate" "else" "elseif"
 "enable" "enclosed" "end" "escaped" "exists" "fields" "first" "for"
 "force" "foreign" "from" "full" "fulltext" "global" "group" "handler"
 "having" "heap" "high_priority" "if" "ignore" "in" "index" "infile"
@@ -3423,7 +3434,7 @@ list of SQLi command strings."
                                                          :prompt-regexp))
           (start nil))
       (with-current-buffer buf
-        (toggle-read-only -1)
+        (setq view-read-only nil)
         (unless save-prior
           (erase-buffer))
         (goto-char (point-max))
@@ -3532,7 +3543,7 @@ buffer is popped into a view window. "
                        (get-lru-window))))
       (with-current-buffer outbuf
         (set-buffer-modified-p nil)
-        (toggle-read-only 1))
+        (setq view-read-only t))
       (view-buffer-other-window outbuf)
       (when one-win
         (shrink-window-if-larger-than-buffer)))))
@@ -4097,7 +4108,8 @@ the call to \\[sql-product-interactive] with
               (setq new-sqli-buffer (current-buffer))
               (when new-name
                 (sql-rename-buffer new-name))
-              (setq sql-buffer (buffer-name new-sqli-buffer))
+              (set (make-local-variable 'sql-buffer) 
+                   (buffer-name new-sqli-buffer))
 
               ;; Set `sql-buffer' in the start buffer
               (with-current-buffer start-buffer
@@ -4107,6 +4119,7 @@ the call to \\[sql-product-interactive] with
 
               ;; All done.
               (message "Login...done")
+              (run-hooks 'sql-login-hook)
               (pop-to-buffer new-sqli-buffer)))))
     (message "No default SQL product defined.  Set `sql-product'.")))
 
@@ -4224,7 +4237,7 @@ The default comes from `process-coding-system-alist' and
     "^\\(.+\\) (hex ..)$"
     "SET \\1")
 
-   ;; FEDDBACK ON for 99 or more rows
+   ;; FEEDBACK ON for 99 or more rows
    ;; feedback OFF
    (sql-redirect-value
     sqlbuf
index 9c61da89008e32cf99da8d7f056b037a30bd7819..7d8dd4301a2d8ff74bded9490cd9c4d3da777381 100644 (file)
@@ -1,6 +1,6 @@
 ;;; subword.el --- Handling capitalized subwords in a nomenclature
 
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Masatake YAMATO
 
index d0e2c5abe7d000b1cf65cc390ee4f5bb04216dc2..0198b32ec9fe0e2254defffa49b6f6f825c5e455 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tcl.el --- Tcl code editing commands for Emacs
 
-;; Copyright (C) 1994, 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1998-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Author: Tom Tromey <tromey@redhat.com>
index b02324871ff46f96b5745a6c95d80fd255295546..7f3f99f5cfbb739781de04b389ac0fff1cf8ce95 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vera-mode.el --- major mode for editing Vera files
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author:      Reto Zimmermann <reto@gnu.org>
 ;; Maintainer:  Reto Zimmermann <reto@gnu.org>
@@ -427,7 +427,7 @@ Key bindings:
     "icompare" "insert" "inst_get_at_least" "inst_get_auto_bin_max"
     "inst_get_collect" "inst_get_cov_weight" "inst_get_coverage_goal"
     "inst_getcross_bin_max" "inst_query" "inst_set_at_least"
-    "inst_set_auto_bin_max" "inst_set_bin_activiation" "inst_set_collect"
+    "inst_set_auto_bin_max" "inst_set_bin_activation" "inst_set_collect"
     "inst_set_cov_weight" "inst_set_coverage_goal" "inst_set_cross_bin_max"
     "itoa"
     "last" "last_index" "len" "load"
@@ -438,7 +438,7 @@ Key bindings:
     "push_front" "putc"
     "query" "query_str"
     "rand_mode" "randomize" "reserve" "reverse" "rsort"
-    "search" "set_at_least" "set_auto_bin_max" "set_bin_activiation"
+    "search" "set_at_least" "set_auto_bin_max" "set_bin_activation"
     "set_cov_weight" "set_coverage_goal" "set_cross_bin_max" "set_name" "size"
     "sort" "substr" "sum"
     "thismatch" "tolower" "toupper"
index 3ae66a477e883c4a73c7e8397786bfeee6151200..f3bac41fb32217b2a7dc9bc0539400342d433301 100644 (file)
@@ -1,6 +1,6 @@
 ;; verilog-mode.el --- major mode for editing verilog source in Emacs
 
-;; Copyright (C) 1996-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael McNamara (mac@verilog.com),
 ;;    Wilson Snyder (wsnyder@wsnyder.org)
@@ -981,7 +981,7 @@ of each Verilog file that requires it, rather than being set globally."
   "*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
@@ -1423,7 +1423,7 @@ If set will become buffer local.")
       ["AUTOSENSE"                     (describe-function 'verilog-auto-sense)
        :help           "Help on AUTOSENSE - sensitivity lists for always blocks"]
       ["AUTOTIEOFF"                    (describe-function 'verilog-auto-tieoff)
-       :help           "Help on AUTOTIEOFF - tieing off unused outputs"]
+       :help           "Help on AUTOTIEOFF - tying off unused outputs"]
       ["AUTOUNUSED"                    (describe-function 'verilog-auto-unused)
        :help           "Help on AUTOUNUSED - terminating unused inputs"]
       ["AUTOWIRE"                      (describe-function 'verilog-auto-wire)
@@ -1667,7 +1667,7 @@ This speeds up complicated regexp matches."
   ;; 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
+    (while (re-search-forward "[ \t]+$" nil t)  ;; Not syntactic WS as no formfeed
       (replace-match "" nil nil))))
 
 (defvar compile-command)
@@ -2011,7 +2011,7 @@ find the errors."
        "`uvm_component_utils"
        "`uvm_create"
        "`uvm_create_on"
-       "`uvm_create_seq"               ;; Undocumented in 1.1 
+       "`uvm_create_seq"               ;; Undocumented in 1.1
        "`uvm_declare_p_sequencer"
        "`uvm_declare_sequence_lib"     ;; Deprecated in 1.1
        "`uvm_do"
@@ -7505,7 +7505,7 @@ Signals must be in standard (base vector) form."
     (nreverse out-list)))
 
 (defun verilog-signals-combine-bus (in-list)
-  "Return a list of signals in IN-LIST, with busses combined.
+  "Return a list of signals in IN-LIST, with buses combined.
 Duplicate signals are also removed.  For example A[2] and A[1] become A[2:1]."
   (let (combo buswarn
        out-list
@@ -9907,7 +9907,7 @@ If optional WHITESPACE true, ignore whitespace."
           (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) 
+          (op1 -1) (op2 -1)
           progress size)
       (while (not (and (eq p1 op1) (eq p2 op2)))
        ;; If both windows have whitespace optionally skip over it.
@@ -10100,7 +10100,7 @@ instantiating the resulting module.  Long lines are split based
 on the `fill-column', see \\[set-fill-column].
 
 Limitations:
-  Concatenation and outputting partial busses is not supported.
+  Concatenation and outputting partial buses is not supported.
 
   Typedefs must match `verilog-typedef-regexp', which is disabled by default.
 
@@ -10932,7 +10932,7 @@ Typing \\[verilog-auto] will make this into:
 (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:
+This is currently equivalent to:
 
     /*AUTOWIRE*/
 
@@ -10958,7 +10958,7 @@ the datatype of the declarations.
 
 Limitations:
   This ONLY detects outputs of AUTOINSTants (see `verilog-read-sub-decls'),
-  and all busses must have widths, such as those from AUTOINST, or using []
+  and all buses must have widths, such as those from AUTOINST, or using []
   in AUTO_TEMPLATEs.
 
   This does NOT work on memories or SystemVerilog .name connections,
@@ -11315,7 +11315,7 @@ 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.
+  Concatenation and outputting partial buses is not supported.
 
   Module names must be resolvable to filenames.  See `verilog-auto-inst'.
 
@@ -11439,7 +11439,7 @@ 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.
+  Concatenation and outputting partial buses is not supported.
 
   Module names must be resolvable to filenames.  See `verilog-auto-inst'.
 
@@ -11490,7 +11490,7 @@ 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.
+  Concatenation and outputting partial buses is not supported.
 
   Module names must be resolvable to filenames.  See `verilog-auto-inst'.
 
@@ -11725,7 +11725,7 @@ this is a recent change.  To control this behavior, see
 `verilog-auto-reset-widths'.
 
 AUTORESET ties signals to deasserted, which is presumed to be zero.
-Signals that match `verilog-active-low-regexp' will be deasserted by tieing
+Signals that match `verilog-active-low-regexp' will be deasserted by tying
 them to a one.
 
 An example:
@@ -11816,7 +11816,7 @@ finds all outputs in the module, and if that input is not otherwise declared
 as a register or wire, creates a tieoff.
 
 AUTORESET ties signals to deasserted, which is presumed to be zero.
-Signals that match `verilog-active-low-regexp' will be deasserted by tieing
+Signals that match `verilog-active-low-regexp' will be deasserted by tying
 them to a one.
 
 You can add signals you do not want included in AUTOTIEOFF with
index deac85581d24fe0804bfba17dcc4d1231020895f..d765a9604708dda6c2c12714917a4479bdacd582 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vhdl-mode.el --- major mode for editing VHDL code
 
-;; Copyright (C) 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 ;; Authors:     Reto Zimmermann <reto@gnu.org>
 ;;              Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
index e27d07854c86e19aa4f321bde81c50ca4ec28e79..721c610517aebe14e8b894860b59b4b73a7ce4bb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; which-func.el --- print current function in mode line
 
-;; Copyright (C) 1994, 1997-1998, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author:   Alex Rezinsky <alexr@msil.sps.mot.com>
 ;;           (doesn't seem to be responsive any more)
@@ -229,7 +229,9 @@ It creates the Imenu index for the buffer, if necessary."
         (error "Error in which-func-update: %S" info))))))
 
 ;;;###autoload
-(defalias 'which-func-mode 'which-function-mode)
+(defun which-func-mode (&optional arg)
+  (which-function-mode arg))
+(make-obsolete 'which-func-mode 'which-function-mode "24.1")
 
 (defvar which-func-update-timer nil)
 
index dfa91b3fe30319bc3afb237f2ce67df4c65fba4c..1f50910330cc87e4559eb08d4d25adda62b2e28a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xscheme.el --- run MIT Scheme under Emacs
 
-;; Copyright (C) 1986-1987, 1989-1990, 2001-2011
+;; Copyright (C) 1986-1987, 1989-1990, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 14aee8c3ecfaea7ca201451a1d0a778721ac50f3..a82e03ceda7a8bed178055b7aec4dad0275db25f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ps-bdf.el --- BDF font file handler for ps-print
 
-;; Copyright (C) 1998-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2001-2012  Free Software Foundation, Inc.
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
 ;;   2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
index 639183e5ab33993ef1010aacf7336729319760c0..279f2ea617757e5a06187bc7adcc06ad1f3f9ba5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ps-def.el --- XEmacs and Emacs definitions for ps-print
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;;     Kenichi Handa <handa@m17n.org> (multi-byte characters)
index db5b57f8585229ceae2742a6154c4a35fd3edb26..7db326403f6fd49960cde8971518dc25da53d824 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ps-mule.el --- provide multi-byte character facility to ps-print
 
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;;     Kenichi Handa <handa@m17n.org> (multi-byte characters)
@@ -1141,7 +1141,7 @@ It checks if all multi-byte characters in the region are printable or not."
                           (aref ps-mule-font-spec-tables font-type) 0)))
     (ps-output-prologue
      (list (if (ps-mule-font-spec-src (cdr (car font-spec-alist)))
-              ;; We ignore a font specfied in ps-font-info-database.
+              ;; We ignore a font specified in ps-font-info-database.
               (format "/V%s VTOP%d def\n" fonttag font-type)
             (format "/V%s [ VTOP%d aload pop ] def\n
 V%s 0 /%s-latin1 /%s Latin1Encoding put\n"
index da804d99ae08e1167227049b468ed3d9a7006d91..addf2975c5f2f9a163eba098924ab6832a8e1c78 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ps-print.el --- print text from the buffer as PostScript
 
-;; Copyright (C) 1993-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-2012  Free Software Foundation, Inc.
 
 ;; Author: Jim Thompson (was <thompson@wg2.waii.com>)
 ;;     Jacques Duthen (was <duthen@cegelec-red.fr>)
@@ -6658,7 +6658,7 @@ If FACE is not a valid face name, use default face."
 ;; But autoload them here to make the separation invisible.
 \f
 ;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
-;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "01641c7c3af4e45e1c3afeb75a73120c")
+;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "86bf8e46dac41afe73df5ab098038ab0")
 ;;; Generated autoloads from ps-mule.el
 
 (defvar ps-multibyte-buffer nil "\
index bfdcd91d26a426ee800c8d612af86bb3e7610409..f719b087277a08b2a5c47f0484f20f2fe8a0376a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ps-samp.el --- ps-print sample setup code
 
-;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Jim Thompson (was <thompson@wg2.waii.com>)
 ;;     Jacques Duthen (was <duthen@cegelec-red.fr>)
index 2dac870afd5637529a0fbee797e5f301b9466118..8b0b36cdddc9bd9a8f23946f02acd83332ddc8e2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; recentf.el --- setup a menu of recently opened files
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Created: July 19 1999
index 0756ec3bc0aaae673d3241c71b5e599e8f6f2241..574d96a8c102b9883a9a6700d382d7c28cc3b127 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rect.el --- rectangle functions for GNU Emacs
 
-;; Copyright (C) 1985, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1999-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: Didier Verna <didier@xemacs.org>
 ;; Keywords: internal
index 89a725f28c5fee8c8138cac0f0e046084fc9b71e..44f15e4a69c0cdbd35b285ab6b6f9425f8147ec3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; register.el --- register commands for Emacs
 
-;; Copyright (C) 1985, 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 13b6a1d231577816a26d14aa5ca6499cf2fc9527..94efc717be5fbeb49c41a4e93becb10dccfe9997 100644 (file)
@@ -1,6 +1,6 @@
 ;;; repeat.el --- convenient way to repeat the previous command
 
-;; Copyright (C) 1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Will Mengarini <seldon@eskimo.com>
 ;; Created: Mo 02 Mar 98
index a46f62ae139b40bf0fa584ce2b850cbbdfd04b31..cb6d7d21e77a99ea0e32c5b46e7d2ce847aac0c9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; replace.el --- replace commands for Emacs
 
-;; Copyright (C) 1985-1987, 1992, 1994, 1996-1997, 2000-2011
+;; Copyright (C) 1985-1987, 1992, 1994, 1996-1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 51dd630a0c6a43f207cf0d070f8e9895af8ee1e5..87b278553577c6d368524b081ff351eb4d915264 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reposition.el --- center a Lisp function or comment on the screen
 
-;; Copyright (C) 1991, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael D. Ernst <mernst@theory.lcs.mit.edu>
 ;; Created: Jan 1991
index c776ab7296937e57932e876ad520af1fff2e0d01..6c0b4c6687d324268a045aa96e9661cadf7c0117 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reveal.el --- Automatically reveal hidden text at point -*- lexical-binding: t -*-
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: outlines
@@ -106,7 +106,7 @@ Each element has the form (WINDOW . OVERLAY).")
           (let ((inv (overlay-get ol 'invisible)) open)
             (when (and inv
                        ;; There's an `invisible' property.  Make sure it's
-                       ;; actually invisible, and ellipsised.
+                       ;; actually invisible, and ellipsized.
                        (and (consp buffer-invisibility-spec)
                             (cdr (assq inv buffer-invisibility-spec)))
                        (or (setq open
index ded76f9fbcb211733f2b8e31d12c4262f02a96b2..3c4962d3e5cc47030943335610b3901ce0c631b8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rfn-eshadow.el --- Highlight `shadowed' part of read-file-name input text
 ;;
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: convenience minibuffer
index d4885395900e2746002a3eedc822681a0dc988ed..44b27d26ce2637a82ab9cfe5e30ec46ef2daa62d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rot13.el --- display a buffer in ROT13
 
-;; Copyright (C) 1988, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index 046c29471acfe6248c0a04a1fe896351dd45b431..9a8bb8e82ea6500d66c43dfce48b9b8196a5760c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ruler-mode.el --- display a ruler in the header line
 
-;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index faeab324e5ac2e89ba23f2c81e1d417943a93d27..c1515fa48ce7f1912be6407b3ea903d597ea3e2e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; savehist.el --- Save minibuffer history
 
-;; Copyright (C) 1997, 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Hrvoje Niksic <hniksic@xemacs.org>
 ;; Maintainer: FSF
index 9d776877ca62000d7a8e64837fa7b844e502c56b..0588bf258a765a60c80c0cda2daf47be8df4a087 100644 (file)
@@ -1,6 +1,6 @@
 ;;; saveplace.el --- automatically save place in files
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Karl Fogel <kfogel@red-bean.com>
 ;; Maintainer: FSF
index 843186218a5dfadd21ac51a11af4a00983c6cedb..f2c7f09f1d19d9c4d820c222676eaa153b4e9648 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sb-image --- Image management for speedbar
 
-;; Copyright (C) 1999-2003, 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2003, 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: file, tags, tools
index 81a4d2c86e175695cb4177abfe466c31f508d069..9ff0a61db2f6c32c5aca1aa88e43d084a4794a32 100644 (file)
@@ -1,6 +1,6 @@
 ;;; scroll-all.el --- scroll all buffers together minor mode
 
-;; Copyright (C) 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Gary D. Foster <Gary.Foster@corp.sun.com>
 ;; Keywords: scroll crisp brief lock
index 37a31460cdbccfce211df2ede7936051d136e666..058d83a97bcc3bfad89336af7db2c4fb13a3cd3a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; scroll-bar.el --- window system-independent scroll bar support
 
-;; Copyright (C) 1993-1995, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1999-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: hardware
index 0fe39c2ac3ef2dc07961f5fba92e7fbf2511ed46..87c984206396113e06d0b39d8f28cba449d3f1ba 100644 (file)
@@ -1,6 +1,6 @@
 ;;; scroll-lock.el --- Scroll lock scrolling.
 
-;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <angeli@iwi.uni-sb.de>
 ;; Maintainer: FSF
index 10c8f0b1efd1b6ebfd323e5378f0ade0b74cf5ad..8d9d7cc386b523ee1c1a3f33357ebe8f3f90d6de 100644 (file)
@@ -1,6 +1,6 @@
 ;;; select.el --- lisp portion of standard selection support
 
-;; Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
@@ -106,7 +106,7 @@ in `selection-converter-alist', which see."
                             ((eq data-type 'STRING)
                              'iso-8859-1)
                             (t
-                             (error "Unknow selection data type: %S" type))))
+                             (error "Unknown selection data type: %S" type))))
            data (if coding (decode-coding-string data coding)
                   (string-to-multibyte data)))
       (setq next-selection-coding-system nil)
index edd8f2afa935729a6479e2f3b1a9d24748311cf3..9dcd1f3b1d9b40a6ae41262da0dd8888063dc617 100644 (file)
@@ -1,6 +1,6 @@
 ;;; server.el --- Lisp code for GNU Emacs running as server process -*- lexical-binding: t -*-
 
-;; Copyright (C) 1986-1987, 1992, 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1986-1987, 1992, 1994-2012  Free Software Foundation, Inc.
 
 ;; Author: William Sommerfeld <wesommer@athena.mit.edu>
 ;; Maintainer: FSF
index 403651695a8c2a0aa7de83c01316e86830d0f473..43ce9da033ee0875a36d90252555875804c0fe05 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ses.el -- Simple Emacs Spreadsheet  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Jonathan Yavner <jyavner@member.fsf.org>
 ;; Maintainer: Vincent Belaïche  <vincentb1@users.sourceforge.net>
@@ -674,13 +674,6 @@ for this spreadsheet."
        (put sym 'ses-cell (cons xrow xcol))
        (make-local-variable sym)))))
 
-(defun ses-create-cell-variable (sym row col)
-  "Create a buffer-local variable for cell with symbol
-SYM at position ROW COL.  Return nil in case of failure."
-  (unless (local-variable-p sym)
-    (make-local-variable  sym)
-    (put sym 'ses-cell (cons row col))))
-
 ;; We do not delete the ses-cell properties for the cell-variables, in
 ;; case a formula that refers to this cell is in the kill-ring and is
 ;; later pasted back in.
@@ -1406,8 +1399,7 @@ removed.  Example:
 Sets `ses-relocate-return' to 'delete if cell-references were removed."
   (let (rowcol result)
     (if (or (atom formula) (eq (car formula) 'quote))
-       (if (and (setq rowcol (ses-sym-rowcol formula))
-                (string-match "\\`[A-Z]+[0-9]+\\'" (symbol-name formula)))
+       (if (setq rowcol (ses-sym-rowcol formula))
            (ses-relocate-symbol formula rowcol
                                 startrow startcol rowincr colincr)
          formula) ; Pass through as-is.
@@ -1515,15 +1507,14 @@ if the range was altered."
 the rectangle (MINROW,MINCOL)..(NUMROWS,NUMCOLS) by adding ROWINCR and COLINCR
 to each symbol."
   (let (reform)
-    (let (mycell newval xrow)
+    (let (mycell newval)
       (dotimes-with-progress-reporter
          (row ses--numrows) "Relocating formulas..."
        (dotimes (col ses--numcols)
          (setq ses-relocate-return nil
                mycell (ses-get-cell row col)
                newval (ses-relocate-formula (ses-cell-formula mycell)
-                                            minrow mincol rowincr colincr)
-               xrow  (- row rowincr))
+                                            minrow mincol rowincr colincr))
          (ses-set-cell row col 'formula newval)
          (if (eq ses-relocate-return 'range)
              ;; This cell contains a (ses-range X Y) where a cell has been
@@ -1539,22 +1530,8 @@ to each symbol."
                                             minrow mincol rowincr colincr))
          (ses-set-cell row col 'references newval)
          (and (>= row minrow) (>= col mincol)
-              (let ((sym (ses-cell-symbol row col))
-                    (xcol (- col colincr)))
-                (if (and
-                     sym
-                     (>= xrow 0)
-                     (>= xcol 0)
-                     (null (eq sym
-                               (ses-create-cell-symbol xrow xcol))))
-                    ;; This is a renamed cell, do not update the cell
-                    ;; name, but just update the coordinate property.
-                    (put sym 'ses-cell (cons row col))
-                  (ses-set-cell row col 'symbol
-                                (setq sym (ses-create-cell-symbol row col)))
-                  (unless (and (boundp sym) (local-variable-p sym))
-                    (set (make-local-variable sym) nil)
-                    (put sym 'ses-cell (cons row col)))))) )))
+              (ses-set-cell row col 'symbol
+                            (ses-create-cell-symbol row col))))))
     ;; Relocate the cell values.
     (let (oldval myrow mycol xrow xcol)
       (cond
@@ -1567,17 +1544,11 @@ to each symbol."
            (setq mycol  (+ col mincol)
                  xrow   (- myrow rowincr)
                  xcol   (- mycol colincr))
-           (let ((sym (ses-cell-symbol myrow mycol))
-                 (xsym (ses-create-cell-symbol xrow xcol)))
-             ;; Make the value relocation only when if the cell is not
-             ;; a renamed cell.  Otherwise this is not needed.
-             (and (eq sym xsym)
-                 (ses-set-cell myrow mycol 'value
-                   (if (and (< xrow ses--numrows) (< xcol ses--numcols))
-                       (ses-cell-value xrow xcol)
-                     ;;Cell is off the end of the array
-                     (symbol-value xsym))))))))
-
+           (if (and (< xrow ses--numrows) (< xcol ses--numcols))
+               (setq oldval (ses-cell-value xrow xcol))
+             ;; Cell is off the end of the array.
+             (setq oldval (symbol-value (ses-create-cell-symbol xrow xcol))))
+           (ses-set-cell myrow mycol 'value oldval))))
        ((and (wholenump rowincr) (wholenump colincr))
        ;; Insertion of rows and/or columns.  Run the loop backwards.
        (let ((disty (1- ses--numrows))
@@ -1687,6 +1658,7 @@ Does not execute cell formulas or print functions."
        (message "Upgrading from SES-1 file format")))
     (or (= ses--file-format 2)
        (error "This file needs a newer version of the SES library code"))
+    (ses-create-cell-variable-range 0 (1- ses--numrows) 0 (1- ses--numcols))
     ;; Initialize cell array.
     (setq ses--cells (make-vector ses--numrows nil))
     (dotimes (row ses--numrows)
@@ -1706,10 +1678,11 @@ Does not execute cell formulas or print functions."
   (dotimes (row ses--numrows)
     (dotimes (col ses--numcols)
       (let* ((x      (read (current-buffer)))
-            (sym  (car-safe (cdr-safe x))))
+            (rowcol (ses-sym-rowcol (car-safe (cdr-safe x)))))
        (or (and (looking-at "\n")
                 (eq (car-safe x) 'ses-cell)
-                (ses-create-cell-variable sym row col))
+                (eq row (car rowcol))
+                (eq col (cdr rowcol)))
            (error "Cell-def error"))
        (eval x)))
     (or (looking-at "\n\n")
@@ -3166,60 +3139,6 @@ highlighted range in the spreadsheet."
   (mouse-set-point event)
   (ses-insert-ses-range))
 
-(defun ses-replace-name-in-formula (formula old-name new-name)
-  (let ((new-formula formula))
-    (unless (and (consp formula)
-                (eq (car-safe formula) 'quote))
-      (while formula
-       (let ((elt (car-safe formula)))
-         (cond
-          ((consp elt)
-           (setcar formula (ses-replace-name-in-formula elt old-name new-name)))
-          ((and (symbolp elt)
-                (eq (car-safe formula) old-name))
-           (setcar formula new-name))))
-       (setq formula (cdr formula))))
-    new-formula))
-
-(defun ses-rename-cell (new-name)
-  "Rename current cell."
-  (interactive "*SEnter new name: ")
-  (ses-check-curcell)
-  (or
-   (and  (local-variable-p new-name)
-        (ses-sym-rowcol new-name)
-        (error "Already a cell name"))
-   (and (boundp new-name)
-       (null (yes-or-no-p (format "`%S' is already bound outside this buffer, continue? "
-                                  new-name)))
-       (error "Already a bound cell name")))
-  (let* ((rowcol (ses-sym-rowcol ses--curcell))
-        (cell (ses-get-cell (car rowcol) (cdr rowcol))))
-    (dolist (reference (ses-cell-references (car rowcol) (cdr rowcol)))
-      (let* ((rowcol (ses-sym-rowcol reference))
-            (cell  (ses-get-cell (car rowcol) (cdr rowcol))))
-       (ses-cell-set-formula (car rowcol)
-                             (cdr rowcol)
-                             (ses-replace-name-in-formula
-                              (ses-cell-formula cell)
-                              ses--curcell
-                              new-name))))
-    (put new-name 'ses-cell rowcol)
-    (set new-name (symbol-value ses--curcell))
-    (aset cell 0 new-name)
-    (put ses--curcell 'ses-cell nil)
-    (makunbound ses--curcell)
-    (setq ses--curcell new-name)
-    (let* ((pos (point))
-          (inhibit-read-only t)
-          (col (current-column))
-          (end (save-excursion
-                 (move-to-column (1+ col))
-                 (if (eolp)
-                     (+ pos (ses-col-width col) 1)
-                   (point)))))
-      (put-text-property pos end 'intangible new-name))) )
-
 
 ;;----------------------------------------------------------------------------
 ;; Checking formulas for safety
index 1a929ebb58a166a542ddf3a0e493cf60fb7813c1..6d432f6caba0d5cf1922df7c374c37eb537aee0e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; shadowfile.el --- automatic file copying
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: comm files
index fdfc8b3cf1991e885e96c9600a4419092296c7fe..e7a8953ecbe973bcac1cbe85141652162d06a5f3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; shell.el --- specialized comint.el for running the shell -*- lexical-binding: t -*-
 
-;; Copyright (C) 1988, 1993-1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1993-1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Olin Shivers <shivers@cs.cmu.edu>
 ;;     Simon Marshall <simon@gnu.org>
@@ -189,7 +189,6 @@ This is a fine thing to set in your `.emacs' file.")
     shell-c-a-p-replace-by-expanded-directory
     pcomplete-completions-at-point
     shell-filename-completion
-    ;; Not sure when this one would still be useful.  --Stef
     comint-filename-completion)
   "List of functions called to perform completion.
 This variable is used to initialize `comint-dynamic-complete-functions' in the
@@ -372,18 +371,6 @@ Thus, this does not include the shell's current directory.")
 
 ;;; Basic Procedures
 
-(defcustom shell-dir-cookie-re nil
-  "Regexp matching your prompt, including some part of the current directory.
-If your prompt includes the current directory or the last few elements of it,
-set this to a pattern that matches your prompt and whose subgroup 1 matches
-the directory part of it.
-This is used by `shell-dir-cookie-watcher' to try and use this info
-to track your current directory.  It can be used instead of or in addition
-to `dirtrack-mode'."
-  :group 'shell
-  :type '(choice (const nil) regexp)
-  :version "24.1")
-
 (defun shell-parse-pcomplete-arguments ()
   "Parse whitespace separated arguments in the current region."
   (let ((begin (save-excursion (shell-backward-command 1) (point)))
@@ -418,6 +405,15 @@ to `dirtrack-mode'."
           (push (mapconcat #'identity (nreverse arg) "") args)))
       (cons (nreverse args) (nreverse begins)))))
 
+(defun shell-command-completion-function ()
+  "Completion function for shell command names.
+This is the value of `pcomplete-command-completion-function' for
+Shell buffers.  It implements `shell-completion-execonly' for
+`pcomplete' completion."
+  (pcomplete-here (pcomplete-entries nil
+                                    (if shell-completion-execonly
+                                        'file-executable-p))))
+
 (defun shell-completion-vars ()
   "Setup completion vars for `shell-mode' and `read-shell-command'."
   (set (make-local-variable 'comint-completion-fignore)
@@ -439,6 +435,8 @@ to `dirtrack-mode'."
               comint-completion-addsuffix)
              ((not (consp comint-completion-addsuffix)) " ")
              (t (cdr comint-completion-addsuffix))))
+  (set (make-local-variable 'pcomplete-command-completion-function)
+       #'shell-command-completion-function)
   ;; Don't use pcomplete's defaulting mechanism, rely on
   ;; shell-dynamic-complete-functions instead.
   (set (make-local-variable 'pcomplete-default-completion-function) #'ignore)
@@ -546,10 +544,6 @@ buffer."
       (when (string-equal shell "bash")
         (add-hook 'comint-preoutput-filter-functions
                   'shell-filter-ctrl-a-ctrl-b nil t)))
-    (when shell-dir-cookie-re
-      ;; Watch for magic cookies in the output to track the current dir.
-      (add-hook 'comint-output-filter-functions
-               'shell-dir-cookie-watcher nil t))
     (comint-read-input-ring t)))
 
 (defun shell-filter-ctrl-a-ctrl-b (string)
@@ -710,20 +704,6 @@ Otherwise, one argument `-i' is passed to the shell.
 ;; replace it with a process filter that watches for and strips out
 ;; these messages.
 
-(defun shell-dir-cookie-watcher (text)
-  ;; This is fragile: the TEXT could be split into several chunks and we'd
-  ;; miss it.  Oh well.  It's a best effort anyway.  I'd expect that it's
-  ;; rather unusual to have the prompt split into several packets, but
-  ;; I'm sure Murphy will prove me wrong.
-  (when (and shell-dir-cookie-re (string-match shell-dir-cookie-re text))
-    (let ((dir (match-string 1 text)))
-      (cond
-       ((file-name-absolute-p dir) (shell-cd dir))
-       ;; Let's try and see if it seems to be up or down from where we were.
-       ((string-match "\\`\\(.*\\)\\(?:/.*\\)?\n\\(.*/\\)\\1\\(?:/.*\\)?\\'"
-                     (setq text (concat dir "\n" default-directory)))
-       (shell-cd (concat (match-string 2 text) dir)))))))
-
 (defun shell-directory-tracker (str)
   "Tracks cd, pushd and popd commands issued to the shell.
 This function is called on each input passed to the shell.
index c9ac32e0f9e8a40a856d8cbb070f15b8e77507e5..d9468ed5cf64724b8e7ac9e333fbb9715a812593 100644 (file)
@@ -1,6 +1,6 @@
 ;;; simple.el --- basic editing commands for Emacs
 
-;; Copyright (C) 1985-1987, 1993-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1993-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
@@ -1225,11 +1225,11 @@ this command arranges for all errors to enter the debugger."
       (push (eval eval-expression-arg lexical-binding) values)
     (let ((old-value (make-symbol "t")) new-value)
       ;; Bind debug-on-error to something unique so that we can
-      ;; detect when evaled code changes it.
+      ;; detect when evalled code changes it.
       (let ((debug-on-error old-value))
        (push (eval eval-expression-arg lexical-binding) values)
        (setq new-value debug-on-error))
-      ;; If evaled code has changed the value of debug-on-error,
+      ;; If evalled code has changed the value of debug-on-error,
       ;; propagate that change to the global binding.
       (unless (eq old-value new-value)
        (setq debug-on-error new-value))))
@@ -4729,7 +4729,7 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
        (let ((line-move-visual nil))
          (line-move (1- arg) t)))
 
-    ;; Move to beginning-of-line, ignoring fields and invisibles.
+    ;; Move to beginning-of-line, ignoring fields and invisible text.
     (skip-chars-backward "^\n")
     (while (and (not (bobp)) (invisible-p (1- (point))))
       (goto-char (previous-char-property-change (point)))
index 946e0a4480dd9fbc459ef70e82203cf96b2d21f7..0f28d32293b55460a16dc204bba78c1ec6699937 100644 (file)
@@ -1,6 +1,6 @@
 ;;; skeleton.el --- Lisp language extension for writing statement skeletons -*- coding: utf-8 -*-
 
-;; Copyright (C) 1993-1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Maintainer: FSF
index 8ea3decb76fd28f00e992b55f9f845f3a87fb537..d38e475fd39027a43ddc2ab54e9c313b5d4e4189 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sort.el --- commands to sort text in an Emacs buffer
 
-;; Copyright (C) 1986-1987, 1994-1995, 2001-2011
+;; Copyright (C) 1986-1987, 1994-1995, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Howie Kaye
index dbe92dc2670a75bfcd848300c9898cec5cb8dc6b..ea73c93660ce6bbeef5341890194c2688ac1f799 100644 (file)
@@ -1,6 +1,6 @@
 ;;; soundex.el --- implement Soundex algorithm
 
-;; Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Christian Plaunt <chris@bliss.berkeley.edu>
 ;; Maintainer: FSF
index efe7832aca6a4941935416e54c3724d8710f422c..89211b2b86e9d6f25ea7c42e2e5291a37e177fd8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; speedbar --- quick access to files and tags in a frame
 
-;; Copyright (C) 1996-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: file, tags, tools
@@ -3063,7 +3063,7 @@ a function if appropriate."
   (let* ((speedbar-frame (speedbar-current-frame))
         (fn (get-text-property (point) 'speedbar-function))
         (tok (get-text-property (point) 'speedbar-token))
-        ;; The 1-,+ is safe because scaning starts AFTER the point
+        ;; The 1-,+ is safe because scanning starts AFTER the point
         ;; specified.  This lets the search include the character the
         ;; cursor is on.
         (tp (previous-single-property-change
index 06911e00d0dc72a20c2d631fc5864db0768925f6..1cbf2f74c14374585df3e26465820f24c6172931 100644 (file)
@@ -1,6 +1,6 @@
 ;;; startup.el --- process Emacs shell arguments  -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1986, 1992, 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994-2012  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 5ff94bb22c6249d61367c8a4ad142c70a1dda0c7..8b5aa7a76d8c18483b6961041630a45720c27a72 100644 (file)
@@ -1,6 +1,6 @@
 ;;; strokes.el --- control Emacs through mouse strokes
 
-;; Copyright (C) 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: David Bakhash <cadet@alum.mit.edu>
 ;; Maintainer: FSF
index 36937e8f37049991d7d24c365e5fd708a69e24f7..14f9192405c34014e4c96c80fbc995c40251b605 100644 (file)
@@ -1,6 +1,6 @@
 ;;; subr.el --- basic lisp subroutines for Emacs  -*- coding: utf-8 -*-
 
-;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2011
+;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -2983,8 +2983,9 @@ the buffer list ordering."
   "Execute the forms in BODY with FRAME as the selected frame.
 The value returned is the value of the last form in BODY.
 
-This macro neither changes the order of recently selected windows
-nor the buffer list."
+This macro saves and restores the selected frame, and changes the
+order of neither the recently selected windows nor the buffers in
+the buffer list."
   (declare (indent 1) (debug t))
   (let ((old-frame (make-symbol "old-frame"))
        (old-buffer (make-symbol "old-buffer")))
index 78857b041439370eaca00c6df06d95ecdf0426af..e0fbe8c3bdb5a2cbcabe352d2b05d0477b288470 100644 (file)
@@ -4,7 +4,7 @@
 ;; Maintainer: FSF
 ;; Keywords: mouse gpm linux
 
-;; Copyright (C) 1994-1995, 1998, 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1998, 2006-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 0b2411d03161af2bc793beeea33289ac38593bf8..26762acf4b75367dc41563fa234635a5f19caf76 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tabify.el --- tab conversion commands for Emacs
 
-;; Copyright (C) 1985, 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Package: emacs
index 98c7f6d31ca1d4a5576b82c6f7368974c04be32a..70a3376d8e84b993fcbc77caa3b22afbd831e383 100644 (file)
@@ -1,6 +1,6 @@
 ;;; talk.el --- allow several users to talk to each other through Emacs
 
-;; Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: comm, frames
index ff528fcc9df63276728c6c8a38bdc63e4d3d64a9..cb41e6af627bb0d3cad75b605d89601c5de6f232 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tar-mode.el --- simple editing of tar files from GNU Emacs
 
-;; Copyright (C) 1990-1991, 1993-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1990-1991, 1993-2012  Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>
 ;; Maintainer: FSF
index 9b997f3387caff6a72937c067635c52492893919..e279314540f9cb8f40ffa501ba689e87420deec8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tempo.el --- Flexible template insertion
 
-;; Copyright (C) 1994-1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: David K}gedal <davidk@lysator.liu.se>
 ;; Created: 16 Feb 1994
index 484bc36363ebc2b51fd43c0b7a5a39d956f7bbac..4050781fa8cbe9fe5a4ffa172b81c972daae31fe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; term.el --- general command interpreter in a window stuff
 
-;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2011
+;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Per Bothner <per@bothner.com>
@@ -37,8 +37,8 @@
 ;; --------------------------------------
 ;;
 ;; While the message passing and the colorization surely introduce some
-;; overhead this has became so small that IMHO is surely outweighted by
-;; the benefits you get but, as usual, YMMV
+;; overhead this has became so small that IMHO it is surely outweighed by
+;; the benefits you get but, as usual, YMMV.
 ;;
 ;; 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
index 4453c9e3b8c759ec90a0d42fb26ed97796630e22..bbd408e8fbce229212a4f778b02919ab13f5dc0f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; AT386.el --- terminal support package for IBM AT keyboards -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Keywords: terminals
index 6d2e0acbd20efdeff64da45e84f8c52cb88593d0..188495acf539d746ecd77ef1faefcdaf70631e34 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 63c8840621c6828fa9a88ca54bd82c9e1a285201..067b996d1ffaaa25c82080055a820d29fcb6cddf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; common-win.el --- common part of handling window systems
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: terminals
index a43864e36d667670b15e09fd10bf162dd3c2dee1..d8280b13acd77d3016a0b6842859b90d083c73dd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; internal.el --- support for PC internal terminal
 
-;; Copyright (C) 1993-1994, 1998-1999, 2001-2011
+;; Copyright (C) 1993-1994, 1998-1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
index 3e06810cce64d4e77021ad4af25074f18eee3bba..945fe1f5a69da5f223dd764cd6574327cef4097b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; iris-ansi.el --- configure Emacs for SGI xwsh and winterm apps -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Dan Nicolaescu <dann@ics.uci.edu>
 
index ba6346997c566b49b1a746bc7df9d7fa964a4b3c..19d0ff3f7e6b334bb7a8e587ada9a2cb6036a349 100644 (file)
@@ -1,6 +1,6 @@
 ;;; news.el --- keypad and function key bindings for the Sony NEWS keyboard -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1989, 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: FSF
 ;; Keywords: terminals
index b639af7cda08c57f667358f0b03166b12944b54c..2782d63b719ac94e86c0e3b10812eeeb3b7fe21e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ns-win.el --- lisp side of interface with NeXT/Open/GNUstep/MacOS X window system
 
-;; Copyright (C) 1993-1994, 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2005-2012  Free Software Foundation, Inc.
 
 ;; Authors: Carl Edman
 ;;     Christian Limpach
@@ -702,19 +702,24 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
 
 ;;;; Pasteboard support.
 
-(declare-function ns-get-cut-buffer-internal "nsselect.m" (buffer))
+(declare-function ns-get-selection-internal "nsselect.m" (buffer))
+(declare-function ns-store-selection-internal "nsselect.m" (buffer string))
+
+(define-obsolete-function-alias 'ns-get-cut-buffer-internal
+  'ns-get-selection-internal "24.1")
+(define-obsolete-function-alias 'ns-store-cut-buffer-internal
+  'ns-store-selection-internal "24.1")
+
 
 (defun ns-get-pasteboard ()
   "Returns the value of the pasteboard."
-  (ns-get-cut-buffer-internal 'CLIPBOARD))
-
-(declare-function ns-store-cut-buffer-internal "nsselect.m" (buffer string))
+  (ns-get-selection-internal 'CLIPBOARD))
 
 (defun ns-set-pasteboard (string)
   "Store STRING into the pasteboard of the Nextstep display server."
   ;; Check the data type of STRING.
   (if (not (stringp string)) (error "Nonstring given to pasteboard"))
-  (ns-store-cut-buffer-internal 'CLIPBOARD string))
+  (ns-store-selection-internal 'CLIPBOARD string))
 
 ;; We keep track of the last text selected here, so we can check the
 ;; current selection against it, and avoid passing back our own text
@@ -742,11 +747,11 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
 (defun ns-copy-including-secondary ()
   (interactive)
   (call-interactively 'kill-ring-save)
-  (ns-store-cut-buffer-internal 'SECONDARY
-                               (buffer-substring (point) (mark t))))
+  (ns-store-selection-internal 'SECONDARY
+                              (buffer-substring (point) (mark t))))
 (defun ns-paste-secondary ()
   (interactive)
-  (insert (ns-get-cut-buffer-internal 'SECONDARY)))
+  (insert (ns-get-selection-internal 'SECONDARY)))
 
 
 ;;;; Scrollbar handling.
index 284c164150d9a0d65c67f62d2da8fca2bdbb1acf..bfa642699af2ba4f3a054c48662612b44f0b1955 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pc-win.el --- setup support for `PC windows' (whatever that is)
 
-;; Copyright (C) 1994, 1996-1997, 1999, 2001-2011
+;; Copyright (C) 1994, 1996-1997, 1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
index c64dc0e7a19023e728b92962b1b3e2c64ffef523..481d6b498cfe4d52e5740d8a55dd631c13e4f4cb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rxvt.el --- define function key sequences and standard colors for rxvt
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Eli Zaretskii
 ;; Keywords: terminals
index ab7ca8bf5a817af681464d57fc8afdfb0b1b0613..4bd22c1d8da7486627c1d4d635b6bda4a56a99f3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sun.el --- keybinding for standard default sunterm keys
 
-;; Copyright (C) 1987, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Jeff Peck <peck@sun.com>
 ;; Keywords: terminals
index 6d77241008c75b4b2c1ecc8590a1f551f3694e93..71a4e06afe8c6d8d4ba01a27f53bcce2eb71f973 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sup-mouse.el --- supdup mouse support for lisp machines
 
-;; Copyright (C) 1985-1986, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Wolfgang Rupprecht
 ;; Maintainer: FSF
index d62db664d21c8849a6ea34bc0d00f9ee25ff2e5c..b39869419c0e640c881509eeb0b8427f88468efe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tty-colors.el --- color support for character terminals
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Eli Zaretskii
 ;; Maintainer: FSF
index e154074a03367b5a5415a3b068cfbcc8d695a7a5..161e6222df26f1cb2133ce997a3eb5694788d3a7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tvi970.el --- terminal support for the Televideo 970
 
-;; Copyright (C) 1992, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Jim Blandy <jimb@occs.cs.oberlin.edu>
 ;; Keywords: terminals
index ca16f356b20a49336f4968a58696e013c7a2aeac..01b21a5b58e563948e010a6e6421a21e57112f7c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vt100.el --- define VT100 function key sequences in function-key-map
 
-;; Copyright (C) 1989, 1993, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: FSF
 ;; Keywords: terminals
index b7f2a69e77bf725a0048fc321c21cee71a50dbf2..abfaafd97400ee909fe050e12d6992bece389de8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; w32-win.el --- parse switches controlling interface with W32 window system
 
-;; Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallo
 ;; Keywords: terminals
@@ -210,7 +210,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
        '(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
        '(glib "libglib-2.0-0.dll")
        '(gobject "libgobject-2.0-0.dll")
-       '(gnutls "libgnutls-26.dll")))
+       '(gnutls "libgnutls-28.dll" "libgnutls-26.dll")))
 
 ;;; multi-tty support
 (defvar w32-initialized nil
index cd5aed3198260ef080969848472886cae1fd0228..d52a4e6893202c885421b6110c47e9d7893936d1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; w32console.el -- Setup w32 console keys and colors.
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: FSF
 ;; Keywords: terminals
index b818c769babe648e87c82e3bd5f6a81e450f11f9..f08ababe0dfc9d13e0d11022d7c11cb4a9fa8975 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wyse50.el --- terminal support code for Wyse 50 -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1989, 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>,
 ;;     Jim Blandy <jimb@occs.cs.oberlin.edu>
index ac0f833da639c7d19d2412d24ff1a1a136ad2f66..394e4d4fe48f0dc2cb19c6d94af870da4a9d97a6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; x-win.el --- parse relevant switches and set up for X  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: FSF
 ;; Keywords: terminals, i18n
index f9d11cb2685ffe6c1e9a584756aa434759326295..89825771233612f4e63e16e6a211718e6ac13646 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xterm.el --- define function key sequences and standard colors for xterm
 
-;; Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: FSF
 ;; Keywords: terminals
index 99f652f7df4ca9e996d2f75eb609cb90d9ff89c7..7aaac26f1b0143dda72b9abe017a58a934362f6e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; terminal.el --- terminal emulator for GNU Emacs
 
-;; Copyright (C) 1986-1989, 1993-1994, 2001-2011
+;; Copyright (C) 1986-1989, 1993-1994, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@eddie.mit.edu>
index bd1fcc43d22bafc3a0c513c19a59adefb3e71d1c..fdfb1a51ba03852ca74553b9b2b8ca820ecf16ec 100644 (file)
@@ -1,6 +1,6 @@
 ;;; artist.el --- draw ascii graphics with your mouse
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author:       Tomas Abrahamsson <tab@lysator.liu.se>
 ;; Maintainer:   Tomas Abrahamsson <tab@lysator.liu.se>
@@ -4455,7 +4455,7 @@ If N is negative, move backward."
   "Set current fill character to be C."
   (interactive "cType fill char (type RET to turn off): ")
   (cond ((eq c ?\r) (setq artist-fill-char-set nil)
-                   (message "Fill cancelled"))
+                   (message "Fill canceled"))
        (t          (setq artist-fill-char-set t)
                    (setq artist-fill-char c)
                    (message "Fill set to \"%c\"" c))))
index 17ddd1de9547f2e2a7278488df3214032fde079f..01733f97042101e3e09a0bd420ff7da7c8bb6736 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bib-mode.el --- major mode for editing bib files
 
-;; Copyright (C) 1989, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Henry Kautz
 ;; (according to authors.el)
index bc5326240a358aa188687a8106e582dbd91bbe86..b0371ed0f6c1e6ff29b46afb5e1d760781935513 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bibtex-style.el --- Major mode for BibTeX Style files -*- lexical-binding: t -*-
 
-;; Copyright (C) 2005, 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: tex
index 8df2e81c72337c44b9316052054c88cf5c1b54bd..955e148a2ab218b3850e1c537cf11338a45cc174 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bibtex.el --- BibTeX mode for GNU Emacs -*- lexical-binding: t -*-
 
-;; Copyright (C) 1992, 1994-1999, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994-1999, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de>
 ;;      Bengt Martensson <bengt@mathematik.uni-Bremen.de>
@@ -5140,7 +5140,7 @@ Return the URL or nil if none can be generated."
          (message "No URL known."))
       url)))
 
-;; We could combine multiple seach results with set operations
+;; We could combine multiple search results with set operations
 ;; AND, OR, MINUS, and NOT.  Would this be useful?
 ;; How complicated are searches in real life?
 ;; We could also have other searches such as "publication year newer than...".
index 40d682c3d93a94d41efbd80b2c632bec40f6041c..4cd36cfe7ca4fa4a07d4d5db60e661ed1f7f5271 100644 (file)
@@ -1,6 +1,6 @@
 ;;; conf-mode.el --- Simple major mode for editing conf/ini/properties files
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Keywords: conf ini windows java
index d98aa183f212d6a145c5ffba44a29899dd65fd0d..b9e4da59e18d3ff5eda405228cb707653fda11a4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; css-mode.el --- Major mode to edit CSS files -*- lexical-binding: t -*-
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: hypermedia
index 0d5d28f8e5d6b5505d908827f8e234d060c11ca4..ee293a0f24337423bf03b74c844b57961daf8947 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dns-mode.el --- a mode for viewing/editing Domain Name System master files
 
-;; Copyright (C) 2000-2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: DNS master zone file SOA comm
index 357b9d6c94e1e89541e5b225d046f805e7850064..14e6014c274efd1e3886223a4022a4e5d37a5898 100644 (file)
@@ -1,6 +1,6 @@
 ;;; enriched.el --- read and save files in text/enriched format
 
-;; Copyright (C) 1994-1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: wp, faces
index b8614b16f82b679ab7fa159b0d08ff67dee27d6f..d3fa49491d42b17754194d11b570e543a3511f02 100644 (file)
@@ -1,6 +1,6 @@
 ;;; fill.el --- fill commands for Emacs                -*- coding: utf-8 -*-
 
-;; Copyright (C) 1985-1986, 1992, 1994-1997, 1999, 2001-2011
+;; Copyright (C) 1985-1986, 1992, 1994-1997, 1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -82,7 +82,7 @@ reinserts the fill prefix in each resulting line."
       (setq fill-prefix nil)))
   (if fill-prefix
       (message "fill-prefix: \"%s\"" fill-prefix)
-    (message "fill-prefix cancelled")))
+    (message "fill-prefix canceled")))
 
 (defcustom adaptive-fill-mode t
   "Non-nil means determine a paragraph's fill prefix from its text."
@@ -383,7 +383,7 @@ and `fill-nobreak-invisible'."
   "Char-table of characters that don't use space between words.")
 
 (progn
-  ;; Register `kinsoku' for scripts HAN, KANA, BOPOMPFO, and CJK-MISS.
+  ;; Register `kinsoku' for scripts HAN, KANA, BOPOMOFO, and CJK-MISC.
   ;; Also tell that they don't use space between words.
   (map-char-table
    #'(lambda (key val)
index 6b4c1a2940d8c5d25c34ba09709372ea5cebae5e..930fda0626b150ffa959c01930e6bc39bf864c28 100644 (file)
@@ -1,6 +1,6 @@
 ;;; flyspell.el --- on-the-fly spell checker
 
-;; Copyright (C) 1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Manuel Serrano <Manuel.Serrano@sophia.inria.fr>
 ;; Maintainer: FSF
index ba7b84fe1dd0c75d2c4a9e60230b8a45afc0c54a..c1fcb6013b24575574721e4843983287856c6a56 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2
 
-;; Copyright (C) 1994-1995, 1997-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997-2012  Free Software Foundation, Inc.
 
 ;; Author:           Ken Stevens <k.stevens@ieee.org>
 ;; Maintainer:       Ken Stevens <k.stevens@ieee.org>
index 4d701a9d268211807397a39a750d4ce14f3a2864..8cc2e7d29930cb46694624d3b4c30be535e9f710 100644 (file)
@@ -1,6 +1,6 @@
 ;;; makeinfo.el --- run makeinfo conveniently
 
-;; Copyright (C) 1991, 1993, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1993, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Robert J. Chassell
 ;; Maintainer: FSF
index 1be78ed293f61a283f5b8280fe54c5648b1e84d7..4bd400dcd8cdb6de4a82c215d1a396cdb60c4896 100644 (file)
@@ -1,6 +1,6 @@
 ;;; nroff-mode.el --- GNU Emacs major mode for editing nroff source
 
-;; Copyright (C) 1985-1986, 1994-1995, 1997, 2001-2011
+;; Copyright (C) 1985-1986, 1994-1995, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 91f6624e7a3ae5f5573af85227acc7b321663d1d..a45be0ae7f6cd731e4ffb031f56a5f1860b2d93b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; page-ext.el --- extended page handling commands
 
-;; Copyright (C) 1990-1991, 1993-1994, 2001-2011
+;; Copyright (C) 1990-1991, 1993-1994, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Robert J. Chassell <bob@gnu.org>
index 95ba7ebd86f337e7326269542ff12c84d2e7aa25..953c7e6549000a788ed2c3600e2cfa0945528b45 100644 (file)
@@ -1,6 +1,6 @@
 ;;; page.el --- page motion commands for Emacs
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: wp convenience
index b47924bc1f20a6365d5c3415076584a1ad8c7547..5a5942aa29dbef0c05784af6ab6acf28dcc4b1de 100644 (file)
@@ -1,6 +1,6 @@
 ;;; paragraphs.el --- paragraph and sentence parsing
 
-;; Copyright (C) 1985-1987, 1991, 1994-1997, 1999-2011
+;; Copyright (C) 1985-1987, 1991, 1994-1997, 1999-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 3356ce195f25e022551afa0431ec3409c8162ee9..577e12b9b40aac64d5deeeeea10823fd921904e4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; picture.el --- "Picture mode" -- editing using quarter-plane screen model
 
-;; Copyright (C) 1985, 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
index 7810cc6d57a73eed69ce20fbbbd1890b0b9c7add..a47d6cfa1b1d322b7cdb50729518a4e90e992ac6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; po.el --- basic support of PO translation files -*- coding: latin-1; -*-
 
-;; Copyright (C) 1995-1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Authors: François Pinard <pinard@iro.umontreal.ca>,
 ;;          Greg McGary <gkm@magilla.cichlid.com>,
index 557978395c11e0b6a543446c7c057ecd3057197e..b473019643ac4496df1a3cb01af9cdffe8dd3c7d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; refbib.el --- convert refer-style references to ones usable by Latex bib
 
-;; Copyright (C) 1989, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Henry Kautz <kautz@research.att.com>
 ;; Maintainer: FSF
index 7ee0fcf9da63d125e49e0151680136cd0f70e2f4..ad1996b005eee2983d423558930de7ecda0bc6b1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; refer.el --- look up references in bibliography files
 
-;; Copyright (C) 1992, 1996, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1996, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Ashwin Ram <ashwin@cc.gatech.edu>
 ;; Maintainer: Gernot Heiser <gernot@acm.org>
index d60b7594c07a1462d1adfb0825692a277e420869..cb7e9ff0b88b3efa6f55c329bda9951f6c6daa03 100644 (file)
@@ -1,6 +1,6 @@
 ;;; refill.el --- `auto-fill' by refilling paragraphs on changes
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Maintainer: Miles Bader <miles@gnu.org>
index eba19c25ef6e5161a8fa421a1524779b37ca6644..3a875f0dfa389285c57de2d054144ed26329b288 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-auc.el --- RefTeX's interface to AUCTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index e0fd940208add498154f8f696c25243616813b5a..31001c78e5412c5c44b6a283c62834d673dceb93 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-cite.el --- creating citations with RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index 2aecc34e2b0c01abd404754c9c16ef7ee61fb503..ebda25ea9323d71360ca63990ad664f7e5eda0a9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-dcr.el --- viewing cross references and citations with RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index bf46635c4792ce05c41cf779b08e7ed0a783954e..681e36b524ad6ddf75376d3759b327f5fd42386e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-global.el --- operations on entire documents with RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index f0ceaa74d2670e3a167de100aa7a06762baeaafd..fdcbf8b0b43712944732a5cbef7d50ae4aafae81 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-index.el --- index support with RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index 1a0f7ec58366a34dd7f45dce1ee198a7f5753ade..c6526d1b6ce536de89255761a726f7e686f32ff4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-parse.el --- parser functions for RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index d622603236eebb8bde74b4b096db8f3beb56d225..03690f65281b2fa1ab607acfd1507f8574f28bd6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-ref.el --- code to create labels and references with RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index f4f10f1d1e002a7a62db6b5c9ced16145588fa6b..c583b67f13a1238d2c522eb9bacf214e28842db6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-sel.el --- the selection modes for RefTeX
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index 25be64a3af2e103b5d8a8f19aca9f613af65396b..5d293d404e6e61a455e3b5cb98c2c3cd68ce7234 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-toc.el --- RefTeX's table of contents mode
 
-;; Copyright (C) 1997-2000, 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-2000, 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index 1b503c78afd8f909aa5febad78ef65fb5db6acfb..98135b7ce24fa1fb287d6146cbdbad1d58966f14 100644 (file)
@@ -1,6 +1,6 @@
 ;;; reftex-vars.el --- configuration variables for RefTeX
 
-;; Copyright (C) 1997-1999, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
@@ -1750,7 +1750,7 @@ The option is ignored when `reftex-use-fonts' is nil."
 (defcustom reftex-highlight-selection 'cursor
   "*Non-nil mean, highlight selected text in selection and *toc* buffers.
 Normally, the text near the cursor is the selected text, and it is
-highlighted.  This is the entry most keys in the selction and *toc*
+highlighted.  This is the entry most keys in the selection and *toc*
 buffers act on.  However, if you mainly use the mouse to select an
 item, you may find it nice to have mouse-triggered highlighting
 instead or as well.  The variable may have one of these values:
index b73056a803bec03c65c1d8b74b0b0b188892d83a..8c349a2e20a0c614aba6c30b58950f352feb355c 100644 (file)
@@ -1,5 +1,5 @@
 ;;; reftex.el --- minor mode for doing \label, \ref, \cite, \index in LaTeX
-;; Copyright (C) 1997-2000, 2003-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2000, 2003-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
 ;; Maintainer: auctex-devel@gnu.org
index 07a4fae9c3054ea72f01a71ce57e9036c105a84e..6500160a7d3c2f0d8836283f790131d76dd8c06d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; remember --- a mode for quickly jotting down things to remember
 
-;; Copyright (C) 1999-2001, 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2001, 2003-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Created: 29 Mar 1999
@@ -474,7 +474,7 @@ If this is nil, then `diary-file' will be used instead."
           (replace-match
            (let ((style (if (boundp 'calendar-date-style)
                             calendar-date-style
-                          ;; Don't complain about obsoleteness.
+                          ;; Don't complain about obsolescence.
                           (if (with-no-warnings european-calendar-style)
                               'european
                             'american))))
index 64dffe78d5054fd86e528fbea7e2e7b4a4939ab0..1b1860c833db509815c0327f7afd1ae376fbcdb8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rst.el --- Mode for viewing and editing reStructuredText-documents.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Authors: Martin Blais <blais@furius.ca>,
 ;;          Stefan Merten <smerten@oekonux.de>,
     (define-key map [(control ?=)] 'rst-adjust) ;; (Does not work on the Mac OSX.)
     ;; Display the hierarchy of decorations implied by the current document contents.
     (define-key map [(control c) (control h)] 'rst-display-decorations-hierarchy)
-    ;; Homogeneize the decorations in the document.
+    ;; Homogenize the decorations in the document.
     (define-key map [(control c) (control s)] 'rst-straighten-decorations)
 ;;    (define-key map [(control c) (control s)] 'rst-straighten-deco-spacing)
 
@@ -2348,7 +2348,7 @@ of (COLUMN-NUMBER . LINE) pairs."
     ))
 
 (defun rst-shift-region-right (pfxarg)
-  "Indent region ridigly, by a few characters to the right.
+  "Indent region rigidly, by a few characters to the right.
 This function first computes all possible alignment columns by
 inspecting the lines preceding the region for bulleted or
 enumerated list items.  If the leftmost column is beyond the
index f9e3283b7834058a2300cbd01786f656bbbb19d8..4e8f0a5a82cc768e8e8ee2d2fe5f829c8e699a9b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sgml-mode.el --- SGML- and HTML-editing modes -*- coding: utf-8 -*-
 
-;; Copyright (C) 1992, 1995-1996, 1998, 2001-2011
+;; Copyright (C) 1992, 1995-1996, 1998, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: James Clark <jjc@jclark.com>
index 6f9e592d8edb5aa771813c89a3c83d2917e47d9b..e98d78ad439004d3b7e91b06326c22483372def2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; table.el --- create and edit WYSIWYG text based embedded tables
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Keywords: wp, convenience
 ;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com>
index 34bd24fba3aeda2726a458fd7d193710c7660d1d..c5cad045c3f3b549f3803f1bf7e8a1491609d6aa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- coding: utf-8 -*-
 
-;; Copyright (C) 1985-1986, 1989, 1992, 1994-1999, 2001-2011
+;; Copyright (C) 1985-1986, 1989, 1992, 1994-1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index b186b02851db46c4508e6b81b433bf897c344243..3ec59ebcd3e79a35392522326242cc3a66e5c566 100644 (file)
@@ -1,6 +1,6 @@
 ;;; texinfmt.el --- format Texinfo files into Info files
 
-;; Copyright (C) 1985-1986, 1988, 1990-1998, 2000-2011
+;; Copyright (C) 1985-1986, 1988, 1990-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: Robert J. Chassell <bug-texinfo@gnu.org>
index 7e9ce9aff6d7ba14a145c99589c7ea950ae6de80..31af2e72699b91510d7e345c5c4528f12dc70eb9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; texinfo.el --- major mode for editing Texinfo files -*- coding: utf-8 -*-
 
-;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2011
+;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Robert J. Chassell
index d674b3a397ee83fb7943e346d1cce91fb547e832..83ef834257a2e8129dd564e882dc31a49101738d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; texnfo-upd.el --- utilities for updating nodes and menus in Texinfo files
 
-;; Copyright (C) 1989-1992, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1989-1992, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Robert J. Chassell
 ;; Maintainer: bug-texinfo@gnu.org
@@ -41,7 +41,7 @@
 ;;
 ;; 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
+;; manuals, including those whose Texinfo files adhere to the structure
 ;; 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
@@ -1165,7 +1165,7 @@ error if the node is not the top node and a section is not found."
         "texinfo-specific-section-type: Chapter or section not found"))))))
 
 (defun texinfo-hierarchic-level ()
-  "Return the general hierarchal level of the next node in a texinfo file.
+  "Return the general hierarchical level of the next node in a texinfo file.
 Thus, a subheading or appendixsubsec is of type subsection."
   (let ((case-fold-search t))
     (cadr (assoc
index 3f6ad1faf8774e71658af281356a1b7856a2a403..098a545568c355be3417c6f30148fb4cf3c80be8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; text-mode.el --- text mode, and its idiosyncratic commands
 
-;; Copyright (C) 1985, 1992, 1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1992, 1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: wp
index b5af00cc45046c8cc1caa3b7c6acb05e73d00449..5552eff71867950f50ca6f580091bcee18e0da20 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tildify.el --- adding hard spaces into texts
 
-;; Copyright (C) 1997-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
 
 ;; Author:     Milan Zamazal <pdm@zamazal.org>
 ;; Version:    4.5
index de9ac10d0e94784d2edd601ed88a4901f2a22419..40cbbc59292a781b42e7f43a726d6424fbe12d03 100644 (file)
@@ -1,6 +1,6 @@
 ;;; two-column.el --- minor mode for editing of two-column text
 
-;; Copyright (C) 1992-1995, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1995, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Adapted-By: ESR, Daniel Pfeiffer
index 2adac5a106a09c329e9b27f760be1b24d2662cd1..f39ad03e037383941b3ed5c3e1a1a68caf39954f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; underline.el --- insert/remove underlining (done by overstriking) in Emacs
 
-;; Copyright (C) 1985, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: wp
index ff63ca34035759c7ad17d40be80d2feabf7f27cd..1600785c1173d8f3c691f117fc8268d66e6c68e6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; thingatpt.el --- get the `thing' at point
 
-;; Copyright (C) 1991-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991-1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Mike Williams <mikew@gopher.dosli.govt.nz>
 ;; Maintainer: FSF
index 6ffd256d0a0ac6e0ba822de0374a9cb83a385e82..67f940c35ecfc73b71145bc1cb90973a253992e3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; thumbs.el --- Thumbnails previewer for images files
 
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Jean-Philippe Theberge <jphiltheberge@videotron.ca>
 ;; Maintainer: FSF
index fda8cd1438df0da05a8543a125306bb73e2588ed..13963121e2bcae606d28f067b134b22290d5414a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; time-stamp.el --- Maintain last change time stamps in files edited by Emacs
 
-;; Copyright (C) 1989, 1993-1995, 1997, 2000-2011
+;; Copyright (C) 1989, 1993-1995, 1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
index 4955b177545989e17c1c508c60259e00b44d304c..c7fa5927e48724fe3522f433c8831a07099c7f6b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; time.el --- display time, load and mail indicator in mode line of Emacs -*-coding: utf-8 -*-
 
-;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2011
+;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -64,13 +64,14 @@ directory `display-time-mail-directory' contains nonempty files."
 
 (defcustom display-time-default-load-average 0
   "Which load average value will be shown in the mode line.
-Almost every system can provide values of load for past 1 minute, past 5 or
-past 15 minutes.  The default is to display 1 minute load average.
+Almost every system can provide values of load for the past 1 minute,
+past 5 or past 15 minutes.  The default is to display 1-minute load average.
 The value can be one of:
 
   0   => 1 minute load
   1   => 5 minutes load
-  2   => 15 minutes load"
+  2   => 15 minutes load
+  nil => None (do not display the load average)"
   :type '(choice (const :tag "1 minute load" 0)
                 (const :tag "5 minutes load" 1)
                 (const :tag "15 minutes load" 2)
@@ -78,7 +79,10 @@ The value can be one of:
   :group 'display-time)
 
 (defvar display-time-load-average nil
-  "Load average currently being shown in mode line.")
+  "Value of the system's load average currently shown on the mode line.
+See `display-time-default-load-average'.
+
+This is an internal variable; setting it has no effect.")
 
 (defcustom display-time-load-average-threshold 0.1
   "Load-average values below this value won't be shown in the mode line."
@@ -349,6 +353,8 @@ would give mode line times like `94/12/30 21:07:48 (UTC)'."
          (timer-activate timer)))))
 
 (defun display-time-next-load-average ()
+  "Switch between different load averages in the mode line.
+Switches from the 1 to 5 to 15 minute load average, and then back to 1."
   (interactive)
   (if (= 3 (setq display-time-load-average (1+ display-time-load-average)))
       (setq display-time-load-average 0))
index 092d491a495af95e28b749eb346b2ccf5b8f209f..00e69aa39cc02fadf07545a4fedda8c6a38281d9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; timezone.el --- time zone package for GNU Emacs
 
-;; Copyright (C) 1990-1993, 1996, 1999, 2001-2011
+;; Copyright (C) 1990-1993, 1996, 1999, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Masanobu Umeda
index 5722c2c8f79aeaba0338a6feec02a9c66dee297e..2a0d1d3d7de1e92290965a8a326937a80934258b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tmm.el --- text mode access to menu-bar
 
-;; Copyright (C) 1994-1996, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Ilya Zakharevich <ilya@math.mps.ohio-state.edu>
 ;; Maintainer: FSF
index 8759e0f77fb9c6331f7d4dab3ef6a17bbb1432ed..0e47338bf9fbc9eb5ffd140e83505a242be346e0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tool-bar.el --- setting up the tool bar
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: mouse frames
index 59115122c34f65b329f184048c2c2d09b58654c4..76ae62d88e2de4b23ce4d2c548b67f0a1d339061 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tooltip.el --- show tooltip windows
 
-;; Copyright (C) 1997, 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@acm.org>
 ;; Keywords: help c mouse tools
index c5aa1f330afe4e13f2adaea869374f7513c87169..d1150d52f3f4396bba7aca062bced0d7ba160151 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tree-widget.el --- Tree widget
 
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Maintainer: David Ponce <david@dponce.com>
index 2e65148400850371ea06af032b62141e08db5437..80d8f287cb1300b6c6990b914d1adb1505f275c1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tutorial.el --- tutorial for Emacs
 
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: help, internal
index da3129ec5765312ab0e2b56a4592aa66b753bfad..ee64fde1c67ab0c7dc43962b57f009a5e211dd4d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; type-break.el --- encourage rests from typing at appropriate intervals
 
-;; Copyright (C) 1994-1995, 1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman
 ;; Maintainer: Noah Friedman <friedman@splode.com>
index 3153e143ba3c8625c033801f50300635a4e3266c..520c4b847dda49435593de725e83ac24963fcb38 100644 (file)
@@ -1,6 +1,6 @@
 ;;; uniquify.el --- unique buffer names dependent on file name -*- lexical-binding: t -*-
 
-;; Copyright (C) 1989, 1995-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1995-1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Dick King <king@reasoning.com>
 ;; Maintainer: FSF
index db28770ad0e31de6dad73a6c3d37171f38ca19a6..4c28ae3f1a9d695e9e72ff818c522b6bd5101b29 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-       Copyright (C) 1999, 2001-2002, 2004-2011  Free Software Foundation, Inc.
+       Copyright (C) 1999, 2001-2002, 2004-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index b6f54db038ec3296eafa491ccef9c8a9677693ee..d2a750f08d756fbbb04c45011906a7f23d6dc2b6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-about.el --- Show internal URLs
 
-;; Copyright (C) 2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index 5261302a15cf7bc7a553009fe13f3bf3c031b5ea..be3076985750b9a77ab16b8e6cab2edff021a15d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-auth.el --- Uniform Resource Locator authorization modules
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index 80d77020456a6e5a58cbbe77900143dbcfab325c..20602a2f8ef0d1e669ac5dbd099b15b15bf8d9e4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-cache.el --- Uniform Resource Locator retrieval tool
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index a5371a423e0daffb3ff24615553a10fc9537e0a4..4909872b38645029a6a436c441d73218581968f7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-cid.el --- Content-ID URL loader
 
-;; Copyright (C) 1998-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 746a4dc77b5ea44d7c34ee1cc874fc969e0d4d29..e6ff9bf7dea41c9bf154c8111e4b81578b9c3164 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-cookie.el --- URL cookie support
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index 0e3713c9fcc26c961fcd2de4546dba0521180dad..03527bceee7a71c36b40a2c081563c2c63ec0cb5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-dav.el --- WebDAV support
 
-;; Copyright (C) 2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Maintainer: Bill Perry <wmperry@gnu.org>
index bb29fecb65595f1363dd444837ff3a138cc8149c..72ada79505584d97f6e39ec3a57d6c51668afe50 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-dired.el --- URL Dired minor mode
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, files
 
index 1781c36295990e1361a9f018e6700ad1a8621c94..156b06c895bb589cfde2a9d2c995900cb729653b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-expand.el --- expand-file-name for URLs
 
-;; Copyright (C) 1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 28fb59cd11240a7e270760c352f6db32790ef65e..62052fcaafb85a3de43a8d0447a826e919f63a2f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-file.el --- File retrieval code
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 670094d80ca46f28ae9a0b49c51e8ca7eb8a22bc..824ea14c739b821ea5c8842b527dd609136aa413 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-ftp.el --- FTP wrapper
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 8a2c112715cc59feb3d97c4f3c49dee64fa2629f..2798f936f21487785f52f6239d60efdeac6936f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-future.el --- general futures facility for url.el
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Teodor Zlatanov <tzz@lifelogs.com>
 ;; Keywords: data
index a3a384b7a906a4a3ed8c863b60ba211cc02849a3..ec26ae053d85c2c701c67ba0ce0ba4e33dd8a95a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-gw.el --- Gateway munging for URL loading
 
-;; Copyright (C) 1997-1998, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Keywords: comm, data, processes
index d5f7eb7dd36d8d0a549175d8d6953e55e2671622..4bc5bd47488c0cced44b1c68aed5fe0367da15a1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-handlers.el --- file-name-handler stuff for URL loading
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index 3827f9a5d412920e811cb385e34da36656a32e01..68c7d39adeff6a7ebf24c4038e850dae779b5dff 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-history.el --- Global history tracking for URL package
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index a9ff042d681a993a0985c0bde4ee10c2e981206a..b43ed7617adce4d2f6bfaede6710865cfeb13d61 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-http.el --- HTTP retrieval routines
 
-;; Copyright (C) 1999, 2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Keywords: comm, data, processes
@@ -237,12 +237,12 @@ request.")
     (if proxy-auth
        (setq proxy-auth (concat "Proxy-Authorization: " proxy-auth "\r\n")))
 
-    ;; Protection against stupid values in the referer
+    ;; Protection against stupid values in the referrer
     (if (and ref-url (stringp ref-url) (or (string= ref-url "file:nil")
                                           (string= ref-url "")))
        (setq ref-url nil))
 
-    ;; We do not want to expose the referer if the user is paranoid.
+    ;; We do not want to expose the referrer if the user is paranoid.
     (if (or (memq url-privacy-level '(low high paranoid))
            (and (listp url-privacy-level)
                 (memq 'lastloc url-privacy-level)))
index 3f7d1ec9238ea7c15d3f92eb0d3a5342bf4864aa..26a1f4a4fa18e80238f134d2a3d06b1a939c208d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-imap.el --- IMAP retrieval routines
 
-;; Copyright (C) 1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <jas@pdc.kth.se>
 ;; Keywords: comm, data, processes
index d5f2a99a914bca0e89e8957ecf9191b731ec6515..eaf3033120d6318d881d22c421bce7ea91dc342e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-irc.el --- IRC URL interface
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 8a7bb76160b904ccdd64d708d76d9024f7a234e9..7c988f9b119cff77d305fba5286c8cdc4d2e05a4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-ldap.el --- LDAP Uniform Resource Locator retrieval code
 
-;; Copyright (C) 1998-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index c0472a92bb1669c7e1b074c214ec737ebace30aa..254219b2ab8e7068bf9a734ef81240ac1235bba2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-mail.el --- Mail Uniform Resource Locator retrieval code
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 3b86ed45565091d3fa73e5430a0822f6befd43fa..b61198393b51bab4af7bbc60b0d97e84746aa9db 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-methods.el --- Load URL schemes as needed
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
@@ -62,7 +62,7 @@
 
 (defun url-scheme-default-loader (url &optional callback cbargs)
   "Signal an error for an unknown URL scheme."
-  (error "Unkown URL scheme: %s" (url-type url)))
+  (error "Unknown URL scheme: %s" (url-type url)))
 
 (defvar url-scheme--registering-proxy nil)
 
index 20e623de6cdd0fde8502055442d9df087ff11765..fa8176873a84d4cc174dd2f4a09e65242f3716f8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-misc.el --- Misc Uniform Resource Locator retrieval code
 
-;; Copyright (C) 1996-1999, 2002, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2002, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 6cd3721e49819f127005626c24e671a7e02ff1dc..13b4030ecf24439d38fa7d140461df2425ab59da 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-news.el --- News Uniform Resource Locator retrieval code
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 1cda75c59e7077edc18d4208b236204f5df449d6..a22d105b1a1ecda4db68c9dfb51e8e7666b01c35 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-nfs.el --- NFS URL interface
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index 2eaa662be55198f1ec0d6d9cf2ed1aeda58a28b0..484e0af4fa7002a226c48bd80c8d665f872151c5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-ns.el --- Various netscape-ish functions for proxy definitions
 
-;; Copyright (C) 1997-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index 71c03bf1edd76f4be37615bacb634bd25710ebc7..ef09622b0a93d812704f20cf65069f850064a941 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-parse.el --- Uniform Resource Locator parser
 
-;; Copyright (C) 1996-1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes
 
index ff89b125c6d278463ea013a936c269f450ec2a3f..85247857bebd4a2042b304bbf6a7602d6db205b1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-privacy.el --- Global history tracking for URL package
 
-;; Copyright (C) 1996-1999, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index 3290f7c5141e51608a323e79d9f0c463186a0a2c..eb2155633eb86e5b2e926b4d4659d4b742aac9dd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-proxy.el --- Proxy server support
 
-;; Copyright (C) 1999, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2004-2012 Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index c5150a935618eabc854b500c76fc19d9e93beff7..534c94b4d52e651cd81edb8b1ddac958c6b7c80d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-queue.el --- Fetching web pages in parallel
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: comm
index 6bf3a5831ecb8d35058735edbfb1a937bb369a87..848eb66e54bc1351349aeaf8bf5d0ea5a5fc8535 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-util.el --- Miscellaneous helper routines for URL library
 
-;; Copyright (C) 1996-1999, 2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Keywords: comm, data, processes
index 19e0b621d87a87e5842530705b51702a05a19249..a56eb4cc81043e840529d7f77b931e7fc79accd4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-vars.el --- Variables for Uniform Resource Locator tool
 
-;; Copyright (C) 1996-1999, 2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Keywords: comm, data, processes, hypermedia
 
index c95b61c43fb6410e8a18be1f912e5d81b5ce1eb0..883e1a0c765ad6369424754eda2fe87bc5faaa3a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url.el --- Uniform Resource Locator retrieval tool
 
-;; Copyright (C) 1996-1999, 2001, 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001, 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Keywords: comm, data, processes, hypermedia
index 7a2f7f76b78b80600fc703a702eb64e7cb167511..8a4159aafc0895a79bfede5fa13a96b02015051c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; userlock.el --- handle file access contention between multiple users
 
-;; Copyright (C) 1985-1986, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 2001-2012 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
index 9170d7b94243eecc08773e4bad53ec160ca7fecc..be7bba54378edc4c02a17697cb2c4b5aa904aa92 100644 (file)
@@ -1,6 +1,6 @@
 ;;; add-log.el --- change log maintenance commands for Emacs
 
-;; Copyright (C) 1985-1986, 1988, 1993-1994, 1997-1998, 2000-2011
+;; Copyright (C) 1985-1986, 1988, 1993-1994, 1997-1998, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 4c63e48a3fcda4791d4158efe3e00dc7afccd119..14612c95b2202248be95a80b61436ac524b225a7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; compare-w.el --- compare text between windows for Emacs
 
-;; Copyright (C) 1986, 1989, 1993, 1997, 2001-2011
+;; Copyright (C) 1986, 1989, 1993, 1997, 2001-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 3444b230e8ddd39cbe8694117f734ae0f72e292e..a80197486a2f63fd263280d9842f925f7eaba4b8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8; lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs cvs status tree vc tools
index 8f4b59f9e53f9ad77752646a56f796ac0b99efb0..7de9d17e3f77bffbc0e67be03c975d04b171be30 100644 (file)
@@ -1,6 +1,6 @@
 ;;; diff-mode.el --- a mode for viewing/editing context diffs -*- lexical-binding: t -*-
 
-;; Copyright (C) 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: convenience patch diff vc
index fd24558da6a565ebb0e4e54375de589db8a031a1..05208894356fb971fa950c5f4a9244d1f561e449 100644 (file)
@@ -1,6 +1,6 @@
 ;;; diff.el --- run `diff'
 
-;; Copyright (C) 1992, 1994, 1996, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1996, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Frank Bresz
 ;; (according to authors.el)
index 85ec49885bd2f785f90d6a911cee5494055ef5bd..37b7fce6f327e8b00bbbb7ba73342246190c0b00 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-diff.el --- diff-related utilities
 
-;; Copyright (C) 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index ee7837b29a39a48dfced37b06d29798f5d803e3d..8d0f9dd55629f46db2b8076fbf23f6eb59bae919 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-help.el --- Code related to the contents of Ediff help buffers
 
-;; Copyright (C) 1996-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index 7598cfdba51ea68c857175b37624912d4113dee3..a91c53fb115f833018cac74c4f8db4e1cd1f3977 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-hook.el --- setup for Ediff's menus and autoloads
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index d3db66a9e2a3fcfa304ac34b60ce64caf3c59c37..806be8559096a038edb2875c25e9f3da1144f322 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-init.el --- Macros, variables, and defsubsts used by Ediff
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index a584d0791ff6843b89a5cd1d44399469d20c9ff2..9b817b2fbc1536503c9b77ce3d70ce4d9447e0e3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-merg.el --- merging utilities
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index ce7818d5ef4618bdf8f52d4fc1470702a75efd88..9e6f5769c8f1b2600b17defd26cf211d2dd4c6df 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-mult.el --- support for multi-file/multi-buffer processing in Ediff
 
-;; Copyright (C) 1995-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index ef273c610feadf77cbd1e7d42abae8f9376219d5..def450373cf0904247358556df67105e9f4513a3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-ptch.el --- Ediff's  patch support
 
-;; Copyright (C) 1996-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
@@ -373,7 +373,7 @@ other files, enter /dev/null
                         (concat actual-dir (cdr proposed-file-names)))))
              ))
          ediff-patch-map)
-    ;; Check for the existing files in each pair and discard the nonexisting
+    ;; Check for the existing files in each pair and discard the nonexistent
     ;; ones. If both exist, ask the user.
     (mapcar (lambda (session-info)
              (let* ((file1 (car (ediff-get-session-objA-name session-info)))
index b1c6e367ef7b2519b42788db05e3ed0cc1684c58..87740cdc75a54714aca10f696cb2f3f0178ed77b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-util.el --- the core commands and utilities of ediff
 
-;; Copyright (C) 1994-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index 804e62a293358e478d924fc6932cd5930a44bf67..195b177bbc9e6bb8acf9cdf5cebf4e390ed51ddf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-vers.el --- version control interface to Ediff
 
-;; Copyright (C) 1995-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index 9bf75fa7f552f70fb6e87e0d7d7a8268ba00a2a4..83098fcb0c79e3e7f8a7f838f9658d909286e990 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff-wind.el --- window manipulation utilities
 
-;; Copyright (C) 1994-1997, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Package: ediff
index 464fdc0a589a3699bee2c49c42b28f5b2ca02f66..4d6afa96d64e7164abd8d840a41cdc45ad994006 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ediff.el --- a comprehensive visual interface to diff & patch
 
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2012 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Created: February 2, 1994
index 3ba5bcdb90a38a40b9c1b02f69fa928356b02226..bc4b0725c4ed553bf182ea9e5a8c5e9295ae5413 100644 (file)
@@ -1754,7 +1754,7 @@ to the left margin, if they are in windows."
 ;; If there are min-lines lines above and below the region, then don't do
 ;; anything.
 ;; If not, recenter the region to make it so.
-;; If that isn't possible, remove context lines balancedly from top and bottom
+;; If that isn't possible, remove context lines evenly from top and bottom
 ;; so the entire region shows.
 ;; If that isn't possible, show the top of the region.
 ;; BEG must be at the beginning of a line.
index f57429c76c7f06dcdd74fe6231c285aac42f8fea..54d548c09dafcb59518276afc1b5852a7ec0d9f1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; log-edit.el --- Major mode for editing CVS commit messages -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs cvs commit log vc
index d8c6384934ed34b2fe40f40acc6b76f0e5cbcd2f..849954f2cf83824a40c5ffa900c40ef56d0ccdb5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; log-view.el --- Major mode for browsing RCS/CVS/SCCS log output -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: rcs, sccs, cvs, log, vc, tools
index 477cd472289198a44bc3ae83d3ab8362bba686b5..80a01f58531bd63e23b1221ba72ea3e81b11a33b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcvs-defs.el --- variable definitions for PCL-CVS
 
-;; Copyright (C) 1991-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
index 3fd6cd40299f043df8cac4a1c293b268a1263e41..4f8c114d72128464167c697714a4671e62fbecb5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcvs-info.el --- internal representation of a fileinfo entry
 
-;; Copyright (C) 1991-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1991-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
index 43292ed14e4bd25cd3a054f36be17d453b7599af..a588c735ce7a60957b95c7dac5b07d6a488543de 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcvs-parse.el --- the CVS output parser
 
-;; Copyright (C) 1991-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2012 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
@@ -423,7 +423,7 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'."
        (cvs-match "restoring \\(.*\\) from backup file .*$" (path 1))))
       t)
 
-     ;; Is it a succesful merge?
+     ;; Is it a successful merge?
      ;; Figure out result of merging (ie, was there a conflict?)
      (let ((qfile (regexp-quote path)))
        (cvs-or
index ea739ea726a2a3646529dc5cf5e446c2c4ae045c..b300247e552bf38622137438b2b550f1802c2383 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcvs-util.el --- utility functions for PCL-CVS  -*- byte-compile-dynamic: t -*-
 
-;; Copyright (C) 1991-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2012 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
index 9a8be04fc38ad9e7c2cabac8a8001dbc2b7d7320..1066ebc7f816ec66972af8c44776bfc20c795f75 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pcvs.el --- a front-end to CVS
 
-;; Copyright (C) 1991-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2012 Free Software Foundation, Inc.
 
 ;; Author: (The PCL-CVS Trust) pcl-cvs@cyclic.com
 ;;     (Per Cederqvist) ceder@lysator.liu.se
index 64c4b04fb655c676c6250742ae4dd8019cd840d6..870246103a6e4d07c140047a4f0abc9590c65bc5 100644 (file)
@@ -1,6 +1,6 @@
 ;;; smerge-mode.el --- Minor mode to resolve diff3 conflicts -*- lexical-binding: t -*-
 
-;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: vc, tools, revision control, merge, diff3, cvs, conflict
index b6ecc4c1d750561c3df808b881ddf0fa41c61670..a1dd807d828ed4f89f302738b517ab71413d67e2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-annotate.el --- VC Annotate Support
 
-;; Copyright (C) 1997-1998, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author:     Martin Lorentzson  <emwson@emw.ericsson.se>
 ;; Maintainer: FSF
index a20a49a4c398385d2701f6d25b59fdf2efb7d0dd..7502bc28c5f634c85d075088d66e19038c6cf036 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-arch.el --- VC backend for the Arch version-control system
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Stefan Monnier <monnier@gnu.org>
index c5c0ce73b3a6d7d3857d9ef7d9da54bc908b448d..e64f05130a390c94156ffb91dd56a72b2474c8b3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-bzr.el --- VC backend for the bzr revision control system
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;;        Riccardo Murri <riccardo.murri@gmail.com>
@@ -764,7 +764,10 @@ REV non-nil gets an error."
 
 (defun vc-bzr-rename-file (old new)
   "Rename file from OLD to NEW using `bzr mv'."
-  (vc-bzr-command "mv" nil 0 new old))
+  (setq old (expand-file-name old))
+  (setq new (expand-file-name new))
+  (vc-bzr-command "mv" nil 0 new old)
+  (message "Renamed %s => %s" old new))
 
 (defvar vc-bzr-annotation-table nil
   "Internal use.")
index 7d6c3caf7ff94ef2a70442a5dbafb1e4e204b291..720df27f4428e88a3fe050348ed05851254ae469 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-cvs.el --- non-resident support for CVS version-control
 
-;; Copyright (C) 1995, 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998-2012 Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Andre Spiegel <spiegel@gnu.org>
@@ -319,7 +319,7 @@ its parents."
   (unless (or (not rev) (vc-cvs-valid-revision-number-p rev))
     (if (not (vc-cvs-valid-symbolic-tag-name-p rev))
        (error "%s is not a valid symbolic tag name" rev)
-      ;; If the input revison is a valid symbolic tag name, we create it
+      ;; If the input revision is a valid symbolic tag name, we create it
       ;; as a branch, commit and switch to it.
       (apply 'vc-cvs-command nil 0 files "tag" "-b" (list rev))
       (apply 'vc-cvs-command nil 0 files "update" "-r" (list rev))
index 27db4b57dc9202adcb40c0f9025dedaab9a94122..6f9a6d6b7dfe182277814c0dd806bf749e68c1e7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-dav.el --- vc.el support for WebDAV
 
-;; Copyright (C) 2001, 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Bill Perry <wmperry@gnu.org>
 ;; Maintainer: Bill Perry <wmperry@gnu.org>
index d4b631a1d1b00a01db24a5ca481bcd04110f90a7..33611b4eafdb10d3b274410fde65dd0f4c275981 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-dir.el --- Directory status display under VC
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author:   Dan Nicolaescu <dann@ics.uci.edu>
 ;; Keywords: vc tools
@@ -534,57 +534,71 @@ If a prefix argument is given, move by that many lines."
        (save-excursion
          (goto-char (region-beginning))
          (while (<= (line-number-at-pos) lastl)
-           (funcall mark-unmark-function))))
+           (condition-case nil
+               (funcall mark-unmark-function)
+             ;; `vc-dir-mark-file' signals an error if we try marking
+             ;; a directory containing marked files in its tree, or a
+             ;; file in a marked directory tree.  Just continue.
+             (error (vc-dir-next-line 1))))))
     (funcall mark-unmark-function)))
 
 (defun vc-dir-parent-marked-p (arg)
-  ;; Return nil if none of the parent directories of arg is marked.
+  ;; Non-nil iff a parent directory of arg is marked.
+  ;; Return value, if non-nil is the `ewoc-data' for the marked parent.
   (let* ((argdir (vc-dir-node-directory arg))
         (arglen (length argdir))
         (crt arg)
-        data dir)
+        (found nil))
     ;; Go through the predecessors, checking if any directory that is
     ;; a parent is marked.
-    (while (setq crt (ewoc-prev vc-ewoc crt))
-      (setq data (ewoc-data crt))
-      (setq dir (vc-dir-node-directory crt))
-      (when (and (vc-dir-fileinfo->directory data)
-                (vc-string-prefix-p dir argdir))
-       (when (vc-dir-fileinfo->marked data)
-         (error "Cannot mark `%s', parent directory `%s' marked"
-                (vc-dir-fileinfo->name (ewoc-data arg))
-                (vc-dir-fileinfo->name data)))))
-    nil))
+    (while (and (null found)
+               (setq crt (ewoc-prev vc-ewoc crt)))
+      (let ((data (ewoc-data crt))
+           (dir (vc-dir-node-directory crt)))
+       (and (vc-dir-fileinfo->directory data)
+            (vc-string-prefix-p dir argdir)
+            (vc-dir-fileinfo->marked data)
+            (setq found data))))
+    found))
 
 (defun vc-dir-children-marked-p (arg)
-  ;; Return nil if none of the children of arg is marked.
+  ;; Non-nil iff a child of ARG is marked.
+  ;; Return value, if non-nil, is the `ewoc-data' for the marked child.
   (let* ((argdir-re (concat "\\`" (regexp-quote (vc-dir-node-directory arg))))
         (is-child t)
         (crt arg)
-        data dir)
-    (while (and is-child (setq crt (ewoc-next vc-ewoc crt)))
-      (setq data (ewoc-data crt))
-      (setq dir (vc-dir-node-directory crt))
-      (if (string-match argdir-re dir)
-         (when (vc-dir-fileinfo->marked data)
-           (error "Cannot mark `%s', child `%s' marked"
-                  (vc-dir-fileinfo->name (ewoc-data arg))
-                  (vc-dir-fileinfo->name data)))
-       ;; We are done, we got to an entry that is not a child of `arg'.
-       (setq is-child nil)))
-    nil))
+        (found nil))
+    (while (and is-child
+               (null found)
+               (setq crt (ewoc-next vc-ewoc crt)))
+      (let ((data (ewoc-data crt))
+           (dir (vc-dir-node-directory crt)))
+       (if (string-match argdir-re dir)
+           (if (vc-dir-fileinfo->marked data)
+               (setq found data))
+         ;; We are done, we got to an entry that is not a child of `arg'.
+         (setq is-child nil))))
+    found))
 
 (defun vc-dir-mark-file (&optional arg)
   ;; Mark ARG or the current file and move to the next line.
   (let* ((crt (or arg (ewoc-locate vc-ewoc)))
          (file (ewoc-data crt))
-        (isdir (vc-dir-fileinfo->directory file)))
-    (when (or (and isdir (not (vc-dir-children-marked-p crt)))
-             (and (not isdir) (not (vc-dir-parent-marked-p crt))))
-      (setf (vc-dir-fileinfo->marked file) t)
-      (ewoc-invalidate vc-ewoc crt)
-      (unless (or arg (mouse-event-p last-command-event))
-       (vc-dir-next-line 1)))))
+        (isdir (vc-dir-fileinfo->directory file))
+        ;; Forbid marking a directory containing marked files in its
+        ;; tree, or a file in a marked directory tree.
+        (conflict (if isdir
+                      (vc-dir-children-marked-p crt)
+                    (vc-dir-parent-marked-p crt))))
+    (when conflict
+      (error (if isdir
+                "File `%s' in this directory is already marked"
+              "Parent directory `%s' is already marked")
+            (vc-dir-fileinfo->name conflict)))
+    (setf (vc-dir-fileinfo->marked file) t)
+    (ewoc-invalidate vc-ewoc crt)
+    (unless (or arg (mouse-event-p last-command-event))
+      (vc-dir-next-line 1))))
 
 (defun vc-dir-mark ()
   "Mark the current file or all files in the region.
@@ -621,19 +635,19 @@ share the same state."
             (setf (vc-dir-fileinfo->marked filearg) t)
             t))
         vc-ewoc))
-    (let ((data (ewoc-data (ewoc-locate vc-ewoc))))
+    (let* ((crt  (ewoc-locate vc-ewoc))
+          (data (ewoc-data crt)))
       (if (vc-dir-fileinfo->directory data)
          ;; It's a directory, mark child files.
-         (let ((crt (ewoc-locate vc-ewoc)))
-           (unless (vc-dir-children-marked-p crt)
-             (while (setq crt (ewoc-next vc-ewoc crt))
-               (let ((crt-data (ewoc-data crt)))
-                 (unless (vc-dir-fileinfo->directory crt-data)
-                   (setf (vc-dir-fileinfo->marked crt-data) t)
-                   (ewoc-invalidate vc-ewoc crt))))))
+         (let (crt-data)
+           (while (and (setq crt (ewoc-next vc-ewoc crt))
+                       (setq crt-data (ewoc-data crt))
+                       (not (vc-dir-fileinfo->directory crt-data)))
+             (setf (vc-dir-fileinfo->marked crt-data) t)
+             (ewoc-invalidate vc-ewoc crt)))
        ;; It's a file
-       (let ((state (vc-dir-fileinfo->state data))
-             (crt (ewoc-nth vc-ewoc 0)))
+       (let ((state (vc-dir-fileinfo->state data)))
+         (setq crt (ewoc-nth vc-ewoc 0))
          (while crt
            (let ((crt-data (ewoc-data crt)))
              (when (and (not (vc-dir-fileinfo->marked crt-data))
index 7fe727bd1797300d0888c3504c56812416afa004..ec1b127dd19bbc73d8dbbc32c92d3954e298a364 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-dispatcher.el -- generic command-dispatcher facility.
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author:     FSF (see below for full credits)
 ;; Maintainer: Eric S. Raymond <esr@thyrsus.com>
index e9cbeeeb40a199f62cf467cd7f777899f5cf1cdf..2715fdd142d34774c53f26e7a942081b056ef7e8 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-git.el --- VC backend for the git version control system
 
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Alexandre Julliard <julliard@winehq.org>
 ;; Keywords: vc tools
index 0516abbf024f54c5b4b211f44ef6034afa6f7ec3..30c91ad3111344fd8ec2122f9a6f0816d4536110 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-hg.el --- VC backend for the mercurial version control system
 
-;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 ;; Author: Ivan Kanis
 ;; Keywords: vc tools
@@ -216,7 +216,7 @@ highlighting the Log View buffer."
              ((eq state ?R) 'removed)
              ((eq state ?!) 'missing)
              ((eq state ??) 'unregistered)
-             ((eq state ?C) 'up-to-date) ;; Older mercurials use this
+             ((eq state ?C) 'up-to-date) ;; Older mercurial versions use this.
              (t 'up-to-date)))))))
 
 (defun vc-hg-working-revision (file)
index 148f6cde9309ab1fd352d6e6a80da94b6af5e5d1..5e60666f56af75b6b2e2a31bc1d5736794349e31 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-hooks.el --- resident support for version-control
 
-;; Copyright (C) 1992-1996, 1998-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-1996, 1998-2012  Free Software Foundation, Inc.
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
@@ -114,9 +114,9 @@ Otherwise, not displayed."
   :group 'vc)
 
 (defcustom vc-keep-workfiles t
-  "If non-nil, don't delete working files after registering changes.
-If the back-end is CVS, workfiles are always kept, regardless of the
-value of this flag."
+  "Whether to keep work files on disk after commits, on a locking VCS.
+This variable has no effect on modern merging-based version
+control systems."
   :type 'boolean
   :group 'vc)
 
index f49ad09b5d787d333e6e562f64c90bfb9b16e2e7..d0727d9c0dcc0cef8a1d9bcdd8681561b15a9e09 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-mtn.el --- VC backend for Monotone
 
-;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: vc
@@ -193,7 +193,7 @@ If nil, use the value of `vc-diff-switches'.  If t, use no switches."
   (unless contents-done
     (vc-mtn-command nil 0 file "revert")))
 
-;; (defun vc-mtn-roolback (files)
+;; (defun vc-mtn-rollback (files)
 ;;   )
 
 (defun vc-mtn-print-log (files buffer &optional shortlog start-revision limit)
index 39c583b8a0d2e88eb7c968c404c69dbfd15edceb..f9248d5a954395332ea579a02472bff44961b4f0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-rcs.el --- support for RCS version-control
 
-;; Copyright (C) 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
index 0ee75e1c24afc05f2021aed7f6e04a14603bcf36..26e7b020b463ee1991260e8e5c57196b3f47a6e7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-sccs.el --- support for SCCS version-control
 
-;; Copyright (C) 1992-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-2012  Free Software Foundation, Inc.
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
index d014c4da135daf7e32b2fa1ee2388dcb25d857ce..b8a6a326ec187dabf5a2d6b6d96d0bec759eec9d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-svn.el --- non-resident support for Subversion version-control
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Stefan Monnier <monnier@gnu.org>
index eea1a992094f7fea40f53463a7ef8d01256b36ed..6b15af4adf48c25c6c74d4040bd47db36044119c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc.el --- drive a version-control system from within Emacs
 
-;; Copyright (C) 1992-1998, 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992-1998, 2000-2012  Free Software Foundation, Inc.
 
 ;; Author:     FSF (see below for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
@@ -951,13 +951,13 @@ Within directories, only files already under version control are noticed."
 (defun vc-deduce-fileset (&optional observer allow-unregistered
                                    state-model-only-files)
   "Deduce a set of files and a backend to which to apply an operation.
-
 Return (BACKEND FILESET FILESET-ONLY-FILES STATE CHECKOUT-MODEL).
-If we're in VC-dir mode, the fileset is the list of marked files.
-Otherwise, if we're looking at a buffer visiting a version-controlled file,
-the fileset is a singleton containing this file.
-If none of these conditions is met, but ALLOW_UNREGISTERED is on and the
-visited file is not registered, return a singleton fileset containing it.
+
+If we're in VC-dir mode, FILESET is the list of marked files.
+Otherwise, if in a buffer visiting a version-controlled file,
+FILESET is a single-file fileset containing that file.
+Otherwise, if ALLOW-UNREGISTERED is non-nil and the visited file
+is unregistered, FILESET is a single-file fileset containing it.
 Otherwise, throw an error.
 
 STATE-MODEL-ONLY-FILES if non-nil, means that the caller needs
@@ -1048,34 +1048,27 @@ current buffer."
 ;;;###autoload
 (defun vc-next-action (verbose)
   "Do the next logical version control operation on the current fileset.
-This requires that all files in the fileset be in the same state.
-
-For locking systems:
-   If every file is not already registered, this registers each for version
-control.
-   If every file is registered and not locked by anyone, this checks out
-a writable and locked file of each ready for editing.
-   If every file is checked out and locked by the calling user, this
-first checks to see if each file has changed since checkout.  If not,
-it performs a revert on that file.
-   If every file has been changed, this pops up a buffer for entry
-of a log message; when the message has been entered, it checks in the
-resulting changes along with the log message as change commentary.  If
-the variable `vc-keep-workfiles' is non-nil (which is its default), a
-read-only copy of each changed file is left in place afterwards.
-   If the affected file is registered and locked by someone else, you are
-given the option to steal the lock(s).
-
-For merging systems:
-   If every file is not already registered, this registers each one for version
-control.  This does an add, but not a commit.
-   If every file is added but not committed, each one is committed.
-   If every working file is changed, but the corresponding repository file is
-unchanged, this pops up a buffer for entry of a log message; when the
-message has been entered, it checks in the resulting changes along
-with the logmessage as change commentary.  A writable file is retained.
-   If the repository file is changed, you are asked if you want to
-merge in the changes into your working copy."
+This requires that all files in the current VC fileset be in the
+same state.  If not, signal an error.
+
+For merging-based version control systems:
+  If every file in the VC fileset is not registered for version
+   control, register the fileset (but don't commit).
+  If every work file in the VC fileset is added or changed, pop
+   up a *vc-log* buffer to commit the fileset.
+  For a centralized version control system, if any work file in
+   the VC fileset is out of date, offer to update the fileset.
+
+For old-style locking-based version control systems, like RCS:
+  If every file is not registered, register the file(s).
+  If every file is registered and unlocked, check out (lock)
+   the file(s) for editing.
+  If every file is locked by you and has changes, pop up a
+   *vc-log* buffer to check in the changes.  If the variable
+   `vc-keep-workfiles' is non-nil (the default), leave a
+   read-only copy of each changed file after checking in.
+  If every file is locked by you and unchanged, unlock them.
+  If every file is locked by someone else, offer to steal the lock."
   (interactive "P")
   (let* ((vc-fileset (vc-deduce-fileset nil t 'state-model-only-files))
          (backend (car vc-fileset))
index b8673f2049f96ba83c36bd9090c26e3d0308dda5..e0741dcd7278fbbbef03922c3c90d7dd7e48194f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vcursor.el --- manipulate an alternative ("virtual") cursor
 
-;; Copyright (C) 1994, 1996, 1998, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1996, 1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author:   Peter Stephenson <pws@ibmth.df.unipi.it>
 ;; Maintainer: FSF
index aa4e22469c50ebe0fa1bcf7353598143c33014fc..bd30f0f81b8ca642e8772d16e0ebb089ff125b6f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; version.el --- record version number of Emacs
 
-;; Copyright (C) 1985, 1992, 1994-1995, 1999-2011
+;; Copyright (C) 1985, 1992, 1994-1995, 1999-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
index 0d8ad3336f9db13d7dd642ae56e19c0d11cbd48a..035f8c61d9fd57971c89d925838f0c44e8e2a24e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; view.el --- peruse file or buffer without editing
 
-;; Copyright (C) 1985, 1989, 1994-1995, 1997, 2000-2011
+;; Copyright (C) 1985, 1989, 1994-1995, 1997, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
index 558978768bc67dfb23d1fd131919df08a232b8e4..7a30c6b6bc998f475bcfc8e11d2b7e022866e938 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vt-control.el --- Common VTxxx control functions
 
-;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
index 8a4b4ac288c514c58a9e46cc9b2f429e29e2ba2b..5f976984598730827634f603c2cbe0b32d342051 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones
 
-;; Copyright (C) 1988, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
index 1f54b8577c3d8cfdd79e5767cd43e71cdeb61f05..aba14480fa993d8915314800c6a49b4e48bb4032 100644 (file)
@@ -1,6 +1,6 @@
 ;;; w32-fns.el --- Lisp routines for 32-bit Windows
 
-;; Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 ;; Author: Geoff Voelker <voelker@cs.washington.edu>
 ;; Keywords: internal
index d1e8edc40be0a8194d5f3d49b63a1e5d807e41b5..c8716ef6c36abed189c818e3be83fefe8816a012 100644 (file)
@@ -1,6 +1,6 @@
 ;;; w32-vars.el --- MS-Windows specific user options
 
-;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 ;; Author: Jason Rumney <jasonr@gnu.org>
 ;; Keywords: internal
index b9c07d15ae8ffc51029ef6fe82438792237ed3cb..fe5b4ef7b79d145cb4b8b7ed2d3ea22bc5ebd9da 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wdired.el --- Rename files editing their names in dired buffers
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Filename: wdired.el
 ;; Author: Juan León Lahoz García <juanleon1@gmail.com>
index 57f51e21fbbfdf9f1ad06e0bd22bfb79160974c6..e752dc56553c12add488afe5109cb6bcae6c70db 100644 (file)
@@ -1,6 +1,6 @@
 ;;; whitespace.el --- minor mode to visualize TAB, (HARD) SPACE, NEWLINE
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
index 7ca13baeb53229a7f735ce2dc0ed375270c81a86..4650548d6e0063310ff3765d57123e9e62d99bea 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wid-browse.el --- functions for browsing widgets
 ;;
-;; Copyright (C) 1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
index 07eccaff4fbecb3918f912dc61aaf05826d25bf0..27922327f44fc43e5fb5156ccb833971d0dd7370 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wid-edit.el --- Functions for creating and using widgets -*-byte-compile-dynamic: t; lexical-binding:t -*-
 ;;
-;; Copyright (C) 1996-1997, 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999-2012  Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
@@ -1687,7 +1687,7 @@ The value of the :type attribute should be an unconverted widget type."
   (eval-minibuffer prompt))
 
 (defun widget-docstring (widget)
-  "Return the documentation string specificied by WIDGET, or nil if none.
+  "Return the documentation string specified by WIDGET, or nil if none.
 If WIDGET has a `:doc' property, that specifies the documentation string.
 Otherwise, try the `:documentation-property' property.  If this
 is a function, call it with the widget's value as an argument; if
index 1bac2e44b3fc44008d2e0b5962336e2fd7c8b71a..98085d826810286d2c9f7c9d5f2eb2e290c83dc1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; widget.el --- a library of user interface components
 ;;
-;; Copyright (C) 1996-1997, 2001-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, extensions, faces, hypermedia
index 1deaa44c7ddb8c3c94183b4282e54da6a3acfe3d..10a564419fbb4461fb741f86c6a4fa9ac1e8ec50 100644 (file)
@@ -1,6 +1,6 @@
 ;;; windmove.el --- directional window-selection routines
 ;;
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
 ;;
 ;; Author: Hovav Shacham (hovav@cs.stanford.edu)
 ;; Created: 17 October 1998
index dcf7394b2041eeb6f39bbdde88ef23e03cbe02a7..8eb0ac3575bfdec411497ea0dfc723e71860be90 100644 (file)
@@ -1,6 +1,6 @@
 ;;; window.el --- GNU Emacs window commands aside from those written in C
 
-;; Copyright (C) 1985, 1989, 1992-1994, 2000-2011
+;; Copyright (C) 1985, 1989, 1992-1994, 2000-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -3604,7 +3604,7 @@ specific buffers."
                 (with-current-buffer (window-buffer window)
                   (let ((point (window-point-1 window))
                         (start (window-start window))
-                        (mark (mark)))
+                        (mark (mark t)))
                     `((buffer
                        ,(buffer-name buffer)
                        (selected . ,selected)
@@ -3713,7 +3713,7 @@ value can be also stored on disk and read back in a new session."
              (if (window-sizable-p window (- size) horizontal 'safe)
                  (let* ((window-combination-limit
                          (assq 'combination-limit item)))
-                   ;; We must inherit the combiantion limit, otherwise
+                   ;; We must inherit the combination limit, otherwise
                    ;; we might mess up handling of atomic and side
                    ;; window.
                    (setq new (split-window window size horizontal)))
@@ -4526,19 +4526,6 @@ Return WINDOW."
 The actual non-nil value of this variable will be copied to the
 `window-dedicated-p' flag.")
 
-(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 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."
-  (if buffer-or-name
-      (or (get-buffer buffer-or-name)
-         (let ((buffer (get-buffer-create buffer-or-name)))
-           (set-buffer-major-mode buffer)
-           buffer))
-    (current-buffer)))
-
 (defconst display-buffer--action-function-custom-type
   '(choice :tag "Function"
           (const :tag "--" ignore) ; default for insertion
@@ -4640,7 +4627,7 @@ specified, e.g. by the user options `display-buffer-alist' or
   "A `display-buffer' action for displaying in another frame.")
 (put 'display-buffer--other-frame-action 'risky-local-variable t)
 
-(defun display-buffer (&optional buffer-or-name action frame)
+(defun display-buffer (buffer-or-name &optional action frame)
   "Display BUFFER-OR-NAME in some window, without selecting it.
 BUFFER-OR-NAME must be a buffer or the name of an existing
 buffer.  Return the window chosen for displaying BUFFER-OR-NAME,
@@ -4688,7 +4675,9 @@ search for a window that is already displaying the buffer.  See
 `display-buffer-reuse-window'."
   (interactive (list (read-buffer "Display buffer: " (other-buffer))
                     (if current-prefix-arg t)))
-  (let ((buffer (window-normalize-buffer-to-display buffer-or-name))
+  (let ((buffer (if (bufferp buffer-or-name)
+                   buffer-or-name
+                 (get-buffer buffer-or-name)))
        ;; Handle the old form of the first argument.
        (inhibit-same-window (and action (not (listp action)))))
     (unless (listp action) (setq action nil))
@@ -4825,7 +4814,7 @@ return the window used; otherwise return nil."
   "Display BUFFER by popping up a new window.
 The new window is created on the selected frame, or in
 `last-nonminibuffer-frame' if no windows can be created there.
-If sucessful, return the new window; otherwise return nil."
+If successful, return the new window; otherwise return nil."
   (let ((frame (or (window--frame-usable-p (selected-frame))
                   (window--frame-usable-p (last-nonminibuffer-frame))))
        window)
index 70038362c2e669da0685f24aa9ba6ae1b5301eaa..55f8264708907f79d731e0827222136f19d8b454 100644 (file)
@@ -1,6 +1,6 @@
 ;;; winner.el --- Restore old window configurations
 
-;; Copyright (C) 1997-1998, 2001-2011 Free Software Foundation. Inc.
+;; Copyright (C) 1997-1998, 2001-2012 Free Software Foundation. Inc.
 
 ;; Author: Ivar Rummelhoff <ivarru@math.uio.no>
 ;; Created: 27 Feb 1997
index 243196a5302a84f171a65afba061b0885a6c30bb..4ecf7c8891d0428e6f2da9eed40067b405728a35 100644 (file)
@@ -1,6 +1,6 @@
 ;;; woman.el --- browse UN*X manual pages `wo (without) man'
 
-;; Copyright (C) 2000-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 ;; Author: Francis J. Wright <F.J.Wright@qmul.ac.uk>
 ;; Maintainer: FSF
index fbb76da1b91d3b29d6cd1b668605cec8ccf7723a..65dcf8450646007b5238ad1d7aa42e04a1686c24 100644 (file)
@@ -1,6 +1,6 @@
 ;;; x-dnd.el --- drag and drop support for X  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2004-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012  Free Software Foundation, Inc.
 
 ;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
index 478872dd92e55438d91be275c6ec4f2bc6aeaa21..f7b54048d3adfb91d63f0470c884f9ef07c58cd7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xml.el --- XML parser
 
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Emmanuel Briot  <briot@gnat.com>
 ;; Maintainer: Mark A. Hershberger <mah@everybody.org>
index 09b2a7b88bd32006e60f3e2bd67443e65cea9153..06d82870f8cac8a965ef2e983db6ed30875821fd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; xt-mouse.el --- support the mouse when emacs run in an xterm
 
-;; Copyright (C) 1994, 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2000-2012 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: mouse, terminals
index 3b494865f0c86387a46a6ef5dea4358eec5a9b21..a4bb243f35de4510e39c0fabb0c79a3a58e3c2fd 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1995-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1995-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 1193cee4110f409095c5d693db107f617e7002d7..db108862d70a77d5b71ef061506a47ac1b8d3136 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (C) 1992, 1993 Lucid, Inc.
-# Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 #
 # This file is part of the Lucid Widget Library.
 #
index 0eea0aba7b6e3d7e9b8a91ae8a8af13130b1ce55..0a759e1a0a0711b5bd98e17ed5c48a30d8219150 100644 (file)
@@ -1,7 +1,7 @@
 /* The lwlib interface to Athena widgets.
 
 Copyright (C) 1993 Chuck Thompson <cthomp@cs.uiuc.edu>
-Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc.
+Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index fe33eec29bf27811bb1439dfeac74e2739268669..a4467900f8c694e03016039938f5d37c255e226c 100644 (file)
@@ -1,7 +1,7 @@
 /* The lwlib interface to "xlwmenu" menus.
 
 Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 1994, 2000-2011 Free Software Foundation, Inc.
+Copyright (C) 1994, 2000-2012 Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index 058e2e779c7adf2167bc58a4a334529fda76e88b..4f6276850a323c91af8fd410545c60723359c763 100644 (file)
@@ -1,6 +1,6 @@
 /* The lwlib interface to Motif widgets.
 
-Copyright (C) 1994-1997, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1994-1997, 1999-2012  Free Software Foundation, Inc.
 Copyright (C) 1992 Lucid, Inc.
 
 This file is part of the Lucid Widget Library.
index b142ab42d60661a2eb3a19f3444c0428227965d7..d5d723334c459c9aceba021951799f4ae7e31042 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 2000-2011 Free Software Foundation, Inc.
+Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index fe236a210f32fb3ccaf5cb3e1131739b5910a245..9286691639f88e1652b5247450adf2ead3d1780f 100644 (file)
@@ -1,7 +1,7 @@
 /* Defines some widget utility functions.
 
 Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc.
+Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index b83517ad1f9dd92ef51491f328d9de7044e3f87b..49c1b8df2e6753b0ffb4ba3e9a7d4e79b653b4ec 100644 (file)
@@ -1,7 +1,7 @@
 /* A general interface to the widgets of different toolkits.
 
 Copyright (C) 1992, 1993 Lucid, Inc.
-Copyright (C) 1994-1996, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index cdd1e790efe1c59d82cce943de142dd4383561da..97c61e1b074888fda3d654b7dd497058185ff250 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Copyright (C) 1992, 1993 Lucid, Inc.
-Copyright (C) 1994, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1994, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index 0128464d6e0aa6e10e2721f4ad8be8eedd6664ee..0a328f09f1ebfe79a919af1d0f8404516b4e0aa6 100644 (file)
@@ -1,7 +1,7 @@
 /* Implements a lightweight menubar widget.
 
 Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 1994-1995, 1997, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1994-1995, 1997, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of the Lucid Widget Library.
 
index fad2aafb3d7f2c273d11468bced8a61a222bed71..ae34fe32a473c1afdb70d81e67d5fad1d63b811f 100644 (file)
@@ -1,6 +1,6 @@
 /* Interface of a lightweight menubar widget.
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 Copyright (C) 1992 Lucid, Inc.
 
 This file is part of the Lucid Widget Library.
index 0aca2f8ea89b98779019b184738c3abb77aa8d26..5decd562eedaaa1d8347db5f950761f7dd20d9f6 100644 (file)
@@ -1,6 +1,6 @@
 /* Internals of a lightweight menubar widget.
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 Copyright (C) 1992 Lucid, Inc.
 
 This file is part of the Lucid Widget Library.
index ebbb11e87cc4134ec4522cb38d0ef3a39a836a25..d1d800978242b6260c2e538b791383bba090f911 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -1,7 +1,7 @@
 #!/bin/sh
 ### make-dist: create an Emacs distribution tar file from current srcdir
 
-## Copyright (C) 1995, 1997-1998, 2000-2011  Free Software Foundation, Inc.
+## Copyright (C) 1995, 1997-1998, 2000-2012  Free Software Foundation, Inc.
 
 ## This file is part of GNU Emacs.
 
index eeb363e951f486e549f761440c58cd5c6105a22d..482934f2029261cf0bdb054decd794a2e51589f4 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1994-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1994-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 3d5a2fc646aed87ac99707d8ee7d6b5024ad00a9..6915b48ae9a146021215c49dcb0c5c8c64acad1b 100644 (file)
@@ -1,6 +1,6 @@
 GNU Emacs Installation Guide for the DJGPP (a.k.a. MS-DOS) port
 
-Copyright (C) 1992, 1994, 1996-1997, 2000-2011  Free Software Foundation, Inc.
+Copyright (C) 1992, 1994, 1996-1997, 2000-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 The DJGPP port of GNU Emacs builds and runs on plain DOS and also on
index 532d18726c61cffc88c0effa4df3263afd9e1e2f..6e7c872ff3fc04f9f3015fe04171b0915f06bd54 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
@@ -10,7 +10,7 @@ The files emacs.ico and emacs.pif are for using the DJGPP version on
 Windows 3.X.  Since these are binary files, their copyright notice is
 reproduced here:
 
-# Copyright (C) 1993, 2002-2011  Free Software Foundation, Inc.
+# Copyright (C) 1993, 2002-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 901a53cbb0d4f8bc38df6eb75d016118507e6d9b..049f1c3602c714ec1804466538cd73284fa11033 100644 (file)
@@ -1,7 +1,7 @@
 @echo off\r
 rem   ----------------------------------------------------------------------\r
 rem   Auxiliary script for MSDOS, run by ../config.bat\r
-rem   Copyright (C) 2011  Free Software Foundation, Inc.\r
+rem   Copyright (C) 2011-2012  Free Software Foundation, Inc.\r
 \r
 rem   This file is part of GNU Emacs.\r
 \r
index 2c9b2b2cd1121135c6f204ed3fd05fd525f9f4e8..6128cbf31557145be4127c4e39475455d467f37a 100644 (file)
@@ -1,6 +1,6 @@
 /* Replacement inntypes.h file for building GNU Emacs on MS-DOS with DJGPP.
 
-Copyright (C) 2011  Free Software Foundation, Inc.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 3b65fcc5ea4668d81739ccb65e8275c1b16b4181..2113dc4a127bef108acf040bcc1d24e4c92fb4c3 100644 (file)
@@ -1,6 +1,6 @@
 # Top-level Makefile for Emacs under MS-DOS/DJGPP v2.0 or higher. -*-makefile-*-
 
-# Copyright (C) 1996-2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index d92fd1340abbf27b088df48ff4b691b1d7001ff4..c13fbe621f4cb5049eeae47ab22a5eadcb937a51 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for src/Makefile under DJGPP v2.x
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1996-1997, 1999-2011  Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index d0a37807d9ec5bae526d0ddebce977a2dec533b4..638c945084835e725718160c758daedfc93c6ad0 100644 (file)
@@ -2,7 +2,7 @@
 # Extra configuration script for src/makefile for DesqView/X
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1994-1997, 1999-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994-1997, 1999-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 6cbeadc0bbaf89fd650d7efd8c192cca565da9d4..cefec573f78718db718e16b066df3a07a4377bc1 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for src/config.h under DJGPP v2.x
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1993-1997, 1999-2000, 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 1993-1997, 1999-2000, 2002-2012 Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index d5f96d0e6d4ee8577eac87dd9f70d9121506147c..159c35fd2510a2330767124248275b1c9a869e41 100644 (file)
@@ -2,7 +2,7 @@
 # Extra configuration script for src/config.h for DesqView/X
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 3b2065157e09aa72d4186dce7df8d5ca6d4b638f..80adad45fbff42288669a3f0e64b4504d3e9eebd 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for lib-src/makefile under DJGPP v2
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1996, 1998, 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 50ffa655b8ca00a96a16c97f22bae0a2f7ad48be..efbed4d3f1d42e21f61fe8815e11dc7970e9146c 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for src/paths.h
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 9c7257e0f765258688df7e9e92d31930985970e5..9ac6621c91176645298d092c8a9ad0f5dd64b606 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for oldxmenu/makefile for DesqView/X
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 888b680a6caedecd868c36a682f430489e327839..6d44f99530774f80a2cc8d802a7a3776e72a84f5 100644 (file)
@@ -3,7 +3,7 @@
 # doc/lispintro/Makefile, and doc/misc/Makefile under DJGPP v2.x
 # ---------------------------------------------------------------------------
 #
-# Copyright (C) 1997, 2000-2011 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2000-2012 Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 1389355bf3d913c02177d8af03e5204c7be721a2..b3b45b8f5de9aa0de142f00387408b12fa687b28 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for SYSTEM_MALLOC/REL_ALLOC in src/config.h
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 2008-2011  Free Software Foundation, Inc.
+# Copyright (C) 2008-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 2d70695ebe612fbb2b620419744a0db8342908b1..773934e64aa8855d430996ef6515177453379fa7 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for leim/Makefile under DJGPP v2.x
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 1999-2011  Free Software Foundation, Inc.
+# Copyright (C) 1999-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 17584a796f797d2c5255bbfd12d1363f0804102b..739808c13508f6a23709181eaa22c18f96e52c19 100644 (file)
@@ -5,7 +5,7 @@
 # files whose names are invalid on DOS 8+3 filesystems.
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 2011  Free Software Foundation, Inc.
+# Copyright (C) 2011-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index fdb8f8887dbbd4e6f36c3632f5ed4775dc89653a..e13464a9b8810c58cd96a01e684147ea7d87569e 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for lib/Makefile under DJGPP v2.x
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 2011  Free Software Foundation, Inc.
+# Copyright (C) 2011-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index a09a171cd70335fbcbe41fc3be1cebc526511a65..2055c6edf4d7ec8178452ccbc3c813ceab0246e4 100644 (file)
@@ -2,7 +2,7 @@
 # Configuration script for lisp/Makefile under DJGPP v2.x
 # ----------------------------------------------------------------------
 #
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index 4e8fe39997001ee3be94b010a94cadc7ce42ebc6..9df5fcd61ed837775f5bb67832c8a3e85e27d4fe 100644 (file)
@@ -1,3 +1,10 @@
+2012-01-05  Glenn Morris  <rgm@gnu.org>
+
+       * Cocoa/Emacs.base/Contents/Info.plist:
+       * Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
+       * GNUstep/Emacs.base/Resources/Info-gnustep.plist:
+       Update short copyright year to 2012.
+
 2011-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 
        * INSTALL: Remove XCode part.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2008-2011  Free Software Foundation, Inc.
+  Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 61a8a28f3a99d045082f23fb73683aab5ff19f54..3445c1c3c7b6702f612c2c6348f4d10ffb16b8c6 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-Copyright (C) 2008-2011  Free Software Foundation, Inc.
+Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -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.92 Copyright (C) 2011 Free Software Foundation, Inc.</string>
+       <string>Emacs 24.0.92 Copyright (C) 2012 Free Software Foundation, Inc.</string>
        <key>CFBundleIconFile</key>
        <string>Emacs.icns</string>
        <key>CFBundleIdentifier</key>
index 438a6103f5e617a4bbf4b7bcd21b07396166131d..681521784d279a398c7897f93d35dabdac85770f 100644 (file)
@@ -3,4 +3,4 @@
 CFBundleName = "Emacs";
 CFBundleShortVersionString = "Version 24.0.92";
 CFBundleGetInfoString = "Emacs version 24.0.92, NS Windowing";
-NSHumanReadableCopyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
+NSHumanReadableCopyright = "Copyright (C) 2012 Free Software Foundation, Inc.";
index 9747ed25a2a4ed1cf2be41999642510a06aef8a4..5a98a76a34421cf2523a259b3ff13cde03aa319b 100644 (file)
@@ -11,7 +11,7 @@
        "Carl Edman (NeXTstep)",
        "..see etc/NEXTSTEP"
     );
-    Copyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
+    Copyright = "Copyright (C) 2012 Free Software Foundation, Inc.";
     CopyrightDescription = "Released under the GNU General Public License Version 3 or later";
     FullVersionID = "Emacs 24.0.92, NS Windowing";
     NSExecutable = Emacs;
index 2a3e16319868e9071f1f843b329b7ab038baf7ed..1e7109a3910ff71582c7dba0244373bedc4c6545 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2008-2011 Free Software Foundation, Inc.
+Copyright (C) 2008-2012 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index d333c2f8161ac853f07ea1064db94bbce61debd1..f138471f3e6744f74fd26e5be0b5067e356c3b27 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2008-2011 Free Software Foundation, Inc.
+Copyright (C) 2008-2012 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 This directory contains the files needed to build Emacs on
index 859123c1a86905474324c9c17b62abae50aee2f0..0211f9d792d7c85e71043f6691265d6cd11107b4 100644 (file)
 ;; add-log-time-zone-rule: t
 ;; End:
 
-  Copyright (C) 1995-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1995-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 9947cd86a34747213e1cb39651a811ec1b0dbcd8..466860eebf7743e574dea6f6a522a39f0d5796be 100644 (file)
@@ -1,7 +1,7 @@
                    Building and Installing Emacs on Windows
                           (from 95 to 7 and beyond)
 
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
   See the end of the file for license conditions.
 
 * For the impatient
index 75a3c1cb111d5f8d5d4191733b29c054e102b475..483398698e44611849ebbafc314eacd4b2dc68c9 100644 (file)
--- a/nt/README
+++ b/nt/README
@@ -1,6 +1,6 @@
             Emacs for Windows NT/2000 and Windows 95/98/ME
 
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
   See the end of the file for license conditions.
 
   This directory contains support for compiling and running GNU Emacs on
index 52582dc7ccfa8d5bed0dbb251d6f8099dc32f7a8..24659f7667e49dac20b89af5c9058a97b942ae21 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
                           Emacs for Windows
index c45b4aef68dc7377be1cfefec1291d22bc2fc20c..361726b10e8674500ecb14bbbbd90aa1e0033241 100644 (file)
@@ -1,5 +1,5 @@
 /* Add entries to the GNU Emacs Program Manager folder.
-   Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index f189df0d6e375339909c93eb9bfc2cc6218adae6..ac3dd913f1764c9487d032876ac8e848be40e6eb 100644 (file)
@@ -1,5 +1,5 @@
 /* Add an uninitialized data section to an executable.
-   Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 8c39694deccc87b4964ed36f679e17f6b98b2b17..980dc5bacd8f4f331c52b3c99f89d02798fbe107 100644 (file)
@@ -1,5 +1,5 @@
 /* Proxy shell designed for use with Emacs on Windows 95 and NT.
-   Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
    Accepts subset of Unix sh(1) command-line options, for compatibility
    with elisp code written for Unix.  When possible, executes external
index c77faccb3b47e2fc15fb7696cf0e5b4427279d92..48db9665f8ab7c9b65fab51604e3e26cc97e572e 100644 (file)
@@ -1,6 +1,6 @@
 /* GNU Emacs site configuration template file.  -*- C -*-
 
-Copyright (C) 1988, 1993-1994, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1988, 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index c503900274ed0da134c2e308efe22a7a8d1b0c3f..e0362c5c278ec46d9dcb0fff6eba72bd12fd472a 100755 (executable)
@@ -1,7 +1,7 @@
 @echo off\r
 rem   ----------------------------------------------------------------------\r
 rem   Configuration script for MS Windows operating systems\r
-rem   Copyright (C) 1999-2011  Free Software Foundation, Inc.\r
+rem   Copyright (C) 1999-2012  Free Software Foundation, Inc.\r
 \r
 rem   This file is part of GNU Emacs.\r
 \r
index fbb7d36e64ab197b993c4ad9e01725887d637dbb..7648667b4a01d0691e342264a80d90c2c55e72ef 100644 (file)
@@ -1,5 +1,5 @@
 /* Simple client interface to DDE servers.
-   Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 479a228bb6999d7003f6afe47197d46a0e6453f0..2a4b256b9d33cbf35823aaa2a6529b38dc45ab63 100644 (file)
@@ -27,7 +27,7 @@ BEGIN
            VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
            VALUE "FileVersion", "24, 0, 92, 0\0"
            VALUE "InternalName", "Emacs\0"
-           VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
+           VALUE "LegalCopyright", "Copyright (C) 2001-2012\0"
            VALUE "OriginalFilename", "emacs.exe"
            VALUE "ProductName", "Emacs\0"
            VALUE "ProductVersion", "24, 0, 92, 0\0"
index b653e1fb9526f8e77e0880e43ccfae84310edcbb..75eb1584c20ba6ec3a3cc65dc1a214147cf896d6 100644 (file)
@@ -25,7 +25,7 @@ BEGIN
            VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
            VALUE "FileVersion", "24, 0, 92, 0\0"
            VALUE "InternalName", "EmacsClient\0"
-           VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
+           VALUE "LegalCopyright", "Copyright (C) 2001-2012\0"
            VALUE "OriginalFilename", "emacsclientw.exe"
            VALUE "ProductName", "EmacsClient\0"
            VALUE "ProductVersion", "24, 0, 92, 0\0"
index b60a85a7b61908dbe1b26e726cd74888c7c3008d..cca44d9ea973594e61bac303ee9070bfb42417f0 100644 (file)
@@ -1,8 +1,7 @@
 rem  Hack to change/add environment variables in the makefiles for the\r
 rem  Windows platform.\r
 \r
-rem Copyright (C) 2003-2011\r
-rem    Free Software Foundation, Inc.\r
+rem Copyright (C) 2003-2012  Free Software Foundation, Inc.\r
 \r
 rem  This file is part of GNU Emacs.\r
 \r
index a1ff7af853e9ec8c746d07fe166a6c09ff7b469c..e58ee4f3213d1d0889c6db42616c8ea515e3c68c 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- Makefile -*- definition file for building GNU Emacs on Windows NT.
-# Copyright (C) 2000-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2012 Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 5778e4bda1299253013073afe807c831c80ca7ad..a3acb66178ccd132c43bcb715ed0a8dd9074e2bd 100644 (file)
@@ -2,13 +2,13 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
 
 File: emacs.ico
 Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp>
-Copyright (C) 2008-2011  Free Software Foundation, Inc.
+Copyright (C) 2008-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later
 
 
 File: emacs22.ico
 Author: Andrew Zhilin
-Copyright (C) 2005-2011  Free Software Foundation, Inc.
+Copyright (C) 2005-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
 
 
@@ -17,7 +17,7 @@ Files: gnu2a32.ico gnu2a32t.ico gnu2b48.ico gnu2b48t.ico
        gnu5w32.ico gnu5w32t.ico gnu6w48.ico gnu6w48t.ico
        gnu7.ico    gnu8.ico     gnu9.ico
 Author: Rob Davenport <rgd at bigfoot.com>
-Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 License: GNU General Public License version 3 or later (see COPYING)
 
   <http://users.adelphia.net/~rob.davenport/gnuicons.html>
index 1c439e2fb8551a22f321e2c2be299ebb5603e788..8c3131ac893b2be7c6ec361c6ee28e1b9c247dab 100644 (file)
@@ -1,6 +1,6 @@
 /* Replacement grp.h file for building GNU Emacs on Windows.
 
-Copyright (C) 2003-2011  Free Software Foundation, Inc.
+Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ba26cc1115dce72dfbf5fba76a245be0ed393522..688b9bc9223da11255f2f1bb33a5ec04d338aa83 100644 (file)
@@ -1,6 +1,6 @@
 /* Replacement inntypes.h file for building GNU Emacs on Windows with MSVC.
 
-Copyright (C) 2011  Free Software Foundation, Inc.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 27aa5fa306c167e9d47830c2feb55503777f5cdc..7ab36f0a998a23c30856105d2b499e490204cfdd 100644 (file)
@@ -1,6 +1,6 @@
 /* Replacement langinfo.h file for building GNU Emacs on Windows.
 
-Copyright (C) 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index b95018609cc7d2d3814086e357328f85fbf253a5..3d3a162badaf51aafbc873baec49e889f7039243 100644 (file)
@@ -1,6 +1,6 @@
 /* Replacement nl_types.h file for building GNU Emacs on Windows.
 
-Copyright (C) 2006-2011 Free Software Foundation, Inc.
+Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 4eda1c5a6881ab630d96721aef4a18eb55021fcd..5c53fa18b554a9447ec7e3bdd0922bbb063bdbed 100644 (file)
@@ -1,6 +1,6 @@
 /* Replacement stdint.h file for building GNU Emacs on Windows.
 
-Copyright (C) 2011  Free Software Foundation, Inc.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ca70f8b41f1881b93cbc299a4269af3bcf6f97fe..77610404ffb35e82b3fb98af30e05ecfec7a17af 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+/* Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 7f0bbeccb17f827135da030ee1e1fe41e726552d..d09925db5ec6d88bd23838004f92b460278558d1 100644 (file)
@@ -1,7 +1,7 @@
 /* sys/stat.h supplied with MSVCRT uses too narrow data types for
    inode and user/group id, so we replace them with our own.
 
-Copyright (C) 2008-2011  Free Software Foundation, Inc.
+Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index a474e34eaa5bc825b811318baf4eb89b015d031e..56ecae32e827516648b3c0b27635b64ae5eeb118 100644 (file)
@@ -1,5 +1,5 @@
 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.\r
-# Copyright (C) 2000-2011 Free Software Foundation, Inc.\r
+# Copyright (C) 2000-2012 Free Software Foundation, Inc.\r
 #\r
 # Top level makefile for building GNU Emacs on Windows NT\r
 #\r
index e1eef98ba1c094a565aaeca9ce0bf9a9ab091c3e..0fff904c60e2d27dc7314390481e295398466bfa 100644 (file)
@@ -3,8 +3,7 @@
 rem  Hack to run install-info with multiple info files on the command\r
 rem  line on the Windows platform.\r
 \r
-rem Copyright (C) 2003-2011\r
-rem    Free Software Foundation, Inc.\r
+rem Copyright (C) 2003-2012  Free Software Foundation, Inc.\r
 \r
 rem  This file is part of GNU Emacs.\r
 \r
index 4a7d93d40dd00e9406cad217fff87921eabca575..a143fe65fac0fa0aaef0df20d93c68ddcdd58a84 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- Makefile -*- definition file for building GNU Emacs on Windows NT.\r
-# Copyright (C) 2000-2011 Free Software Foundation, Inc.\r
+# Copyright (C) 2000-2012 Free Software Foundation, Inc.\r
 \r
 # This file is part of GNU Emacs.\r
 \r
index 21c039c8d0d32cd5e5ba2ac55345026dee10b804..5b8bcb4e26493e578a9f5c50c0734e780767cc6e 100644 (file)
@@ -1,6 +1,6 @@
 /* paths.h file for MS Windows
 
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2011
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 7541536714cdaa7e5a05150ae4c0fad6641e8205..6fe7d3252964b31b1922a9a555f2afa49603e8f9 100644 (file)
@@ -1,5 +1,5 @@
 /* Pre-process emacs.exe for profiling by MSVC.
-   Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 2d2474c3592fde6f75d014232e9bc56b14c4160a..dbb18bcd82c93995f87a15bce94d6eb9eaf511f4 100644 (file)
@@ -1,6 +1,6 @@
 /* runemacs --- Simple program to start Emacs with its console window hidden.
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index b87353347ba0edcbbdadcf6e92698bf3c9da24bb..806415054fd8291fd4ac55aea1026bc31824eded 100644 (file)
@@ -1,5 +1,5 @@
 @echo off\r
-rem Copyright (C) 2001-2011  Free Software Foundation, Inc.\r
+rem Copyright (C) 2001-2012  Free Software Foundation, Inc.\r
 \r
 rem Author: Christoph Scholtes cschol2112 at gmail.com\r
 \r
index 2f1c85aa1a270a829edbcc28863c58a7dbbc4a44..d4683da87f2211e1c183a57a576f9f77d4c9fcfc 100644 (file)
@@ -3,7 +3,7 @@
 #include "copyright.h"
 
 /*
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index 5d04eea75d45636938d00b3ca3424a0e22246e6a..1d3091c6bb4680703dfe23b52930408d35045ce5 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993-1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1993-1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 25f1f1c3381f6ae47a9c7ac043b7c33874ba54ab..1d21e53430067301769efd1b8f14dace739ba684 100644 (file)
@@ -3,7 +3,7 @@
 #include "copyright.h"
 
 /*
-Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index fbf235c463d5d46035619dc27cb1ac911844b3f5..3c208cb3da5d61c61dd323cb1959d1a357e3fd78 100644 (file)
@@ -3,7 +3,7 @@
 #include "copyright.h"
 
 /*
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index a779cda82f58340b93025688147069c7856034d1..dc8dc0120ef5b8def7642ebf422aabebcc7e1736 100644 (file)
@@ -3,7 +3,7 @@
 #include "copyright.h"
 
 /*
-Copyright (C) 1993, 1996, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993, 1996, 2001-2012  Free Software Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index 51ee4cd207c02fadec332f30563ca156ac110d65..94c49fb99662d2ca31da15bba1ca03aded8bdea3 100644 (file)
@@ -15,7 +15,7 @@
 ## without express or implied warranty.
 
 
-## Copyright (C) 2001-2011  Free Software Foundation, Inc.
+## Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
index 90a8eec4e713c25afba96d8f9523e6f701a946c2..0e6904ea9bf54dd8b8bd50f757a2969809e250bc 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 1993-1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1998, 2001-2012  Free Software Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index 2051475bea0af08c337f116bd9c3a17573209919..b60c14fe28980a2c892265c47df1bcaa9123b6f4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-1998, 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 1992-1998, 2000-2012  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
index e2c579459a2cf836452df7ba8eb11df8407aee5f..00202258d02b982d8ba6899c6ba58e5ab74f907f 100644 (file)
@@ -1,4 +1,4 @@
-2011-12-14  Paul Eggert  <eggert@cs.ucla.edu>
+2012-01-09  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):
        rather than rolling our own approximation.
        (SCROLL_BAR_VEC_SIZE): Remove; not used.
 
+2012-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       emacs: fix an auto-save permissions race condition (Bug#10400)
+       * fileio.c (auto_saving_dir_umask): New static var.
+       (Fmake_directory_internal): Use it.
+       (do_auto_save_make_dir): Set it, instead of invoking chmod after
+       creating the directory.  The old code temporarily assigns
+       too-generous permissions to the directory.
+       (do_auto_save_eh): Clear it.
+       (Fdo_auto_save): Catch all errors, not just file errors, so
+       that the var is always cleared.
+
+2012-01-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (scan_buffer): Pass character positions to
+       know_region_cache, not byte positions.  (Bug#6540)
+
+2012-01-07  LynX  <_LynX@bk.ru>  (tiny change)
+
+       * w32.c (sys_rename): Report EXDEV when rename of a directory
+       fails because the target is on another logical disk.  (Bug#10284)
+
+2012-01-07  David Benjamin  <davidben@mit.edu>  (tiny change)
+
+       * xterm.c (x_embed_request_focus): New function.
+
+       * xterm.h: Add prototype.
+
+       * xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977).
+
+2012-01-05  Glenn Morris  <rgm@gnu.org>
+
+       * emacs.c (emacs_copyright): Update short copyright year to 2012.
+
+2012-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * gnutls.c (init_gnutls_functions): Load gnutls_check_version.
+       Load gnutls_transport_set_lowat only if GnuTLS version is below
+       2.11.1.
+       (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
+       GnuTLS versions below 2.11.1.
+
+2011-12-31  Antoine Levitt  <antoine.levitt@gmail.com>
+
+       * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning
+       to the doc string advising against its use for altering the way
+       windows are scrolled.
+
+2011-12-28  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (Fdefine_coding_system_internal): Make an utf-8 base
+       coding-system ASCII compatible only when it does not produce BOM
+       on encoding (Bug#10383).
+
+2011-12-26  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus
+       can scroll.
+       (create_and_show_popup_menu): Always use menu_position_func for
+       Gtk3 (Bug#10361).
+
+2011-12-24  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * callint.c (Fcall_interactively): Don't truncate prompt string.
+
+2011-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (handle_invisible_prop): Handle correctly an invisible
+       property that ends at ZV, so that the bidi iteration could be
+       resumed from there (after widening).  (Bug#10360)
+
+2011-12-22  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc.
+
+2011-12-21  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (x_free_frame_resources):
+       Release f->output_data.ns->miniimage.
+       (ns_index_color): Fix indentation.  Do not retain
+       color_table->colors[i].
+
+       * nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree
+       before returning.
+
+       * nsfns.m (x_set_background_color): Assign return value from
+       ns_index_color to face-background instead of NSColor*.
+       (ns_implicitly_set_icon_type): Fix indentation.
+       Change assignment in for loop to comparison.
+
+       * emacs.c (ns_pool): New variable.
+       (main): Assign ns_pool.
+       (Fkill_emacs): Call ns_release_autorelease_pool.
+
+       * nsfont.m (ns_spec_to_descriptor): Fix indentation,
+       autorelease fdesc, release fdAttrs and tdict.
+       (ns_get_covering_families): Release charset.
+       (ns_findfonts): Release NSFontDescriptor created with new.
+       (ns_uni_to_glyphs): Fix indentation.
+       (setString): Release attrStr before assigning new value.
+
+2011-12-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5
+       and NS_IMPL_COCOA.
+       (trackingNotification): Surround with ifdef NS_IMPL_COCOA.
+       (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA.
+
+2011-12-18 David Reitter <reitter@cmu.edu>
+
+       * nsterm.m (ns_term_init): Subscribe for notifications
+       NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification
+       to method trackingNotification in EmacsMenu.
+
+       * nsmenu.m (trackingMenu): New variable.
+       (trackingNotification): New method (from Aquamacs).
+       (menuNeedsUpdate): Expand comment and return if trackingMenu is 0,
+       from Aquamacs (Bug#7030).
+
+2011-12-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsselect.m (CUT_BUFFER_SUPPORT): Remove define.
+       (symbol_to_nsstring): Fix indentation.
+       (ns_symbol_to_pb): New function.
+       (Fns_get_selection_internal): Renamed from Fns_get_cut_buffer_internal.
+       (Fns_rotate_cut_buffers_internal): Removed.
+       (Fns_store_selection_internal): Renamed from
+       Fns_store_cut_buffer_internal.
+       (ns_get_foreign_selection, Fx_own_selection_internal)
+       (Fx_disown_selection_internal, Fx_selection_exists_p)
+       (Fns_get_selection_internal, Fns_store_selection_internal):
+       Use ns_symbol_to_pb and check if return value is nil.
+       (syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT.  Remove defsubr
+       Sns_rotate_cut_buffers_internal.  Sns_get_cut_buffer_internal
+       renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal
+       renamed to Sns_store_selection_internal.
+       (ns_handle_selection_request): Move code to Fx_own_selection_internal
+       and remove this function.
+       (ns_handle_selection_clear): Remove, never used.
+       (Fx_own_selection_internal): Move code from ns_handle_selection_request
+       here.
+
+2011-12-17  Ken Brown  <kbrown@cornell.edu>
+
+       * fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or
+       GID is unknown (Bug#10257).
+
+2011-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * s/gnu-linux.h: Fix mark_memory typo (Bug#10286).
+       (GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory,
+       which caused a build failure on GNU/Linux IA-64.  This problem was
+       introduced by my 2011-10-07 patch.
+
+2011-12-15  Juri Linkov  <juri@jurta.org>
+
+       * image.c (imagemagick_error): New function.  (Bug#10112)
+       (imagemagick_load_image): Comment out `MagickSetResolution' call.
+       Use `imagemagick_error' where ImageMagick functions return
+       `MagickFalse'.
+       (Fimagemagick_types): Add `Fnreverse' to return the list in the
+       proper order.
+
+2011-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * xftfont.c (xftfont_draw): Use the font metrics of s->font to
+       fill background (Bug#8992).
+
 2011-12-13  Martin Rudalics  <rudalics@gmx.at>
 
        * window.c (Vwindow_combination_resize)
 
 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
 
-       Integer overflow and signedness fixes (Bug#8873).
+       Integer overflow and signedness fixes (Bug#8873, Bug#8828).
 
        * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772.
        (GET_CCL_RANGE, IN_INT_RANGE): Use it.
@@ -9692,7 +9860,7 @@ See ChangeLog.11 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2011  Free Software Foundation, Inc.
+  Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 7fef45f36daea202531f8cffdacde5c06cdeeca8..5265d6fdf59f2ec1d3f0dd84c3ec1dc547e4d049 100644 (file)
        * minibuf.c: Don't allow entry to minibuffer
        while minibuffer is selected.
 
-    Copyright (C) 1985-1986, 2001-2011 Free Software Foundation, Inc.
+    Copyright (C) 1985-1986, 2001-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 53f7a0166543676a06828a8e79dbd90fc89f1c22..5baeb87793924d055d5e94600c350f5eb9675c24 100644 (file)
@@ -27912,7 +27912,7 @@ See ChangeLog.9 for earlier changes.
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 2001-2011 Free Software Foundation, Inc.
+    Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index f9fd442da3f0edd835a3666f994f7218c034cf73..6c3613995354fee912e918fc326805f0305fae6c 100644 (file)
        * font.c (font_update_drivers): Sanity fallback to avoid disabling
        all drivers.
 
-       * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
+       * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUstep.
 
 2009-05-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
        (display_buffer): Do not set split_height_threshold to twice the
        value of window_min_height to avoid changing the value of a
        customizable variable.  Rather explicitly check whether the
-       height of the window that shall be splitted is at least as large
+       height of the window that shall be split is at least as large
        as split_height_threshold.
        (Fwindow_full_width_p): New defun.
        (syms_of_window): Defsubr it.
@@ -31383,7 +31383,7 @@ See ChangeLog.10 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2007-2011  Free Software Foundation, Inc.
+  Copyright (C) 2007-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index d3be0064610025ccff537bc5f238be58c5cb48ea..1a9728f68967e1687c445a0d483252d7dae87c98 100644 (file)
 
 See ChangeLog.1 for earlier changes.
 
-    Copyright (C) 1986-1988, 2001-2011  Free Software Foundation, Inc.
+    Copyright (C) 1986-1988, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 34906e505daf9f61398d175f093ba1ef022bf329..6c580fe4b52f1693581d51baf4a4daef8622843a 100644 (file)
@@ -16507,7 +16507,7 @@ See ChangeLog.2 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 88c9e3dbf716bd965ce5611b722ee71498123a50..d7ef7d8779a1efca9b75e26c5130a9779a8c1e9e 100644 (file)
@@ -6906,7 +6906,7 @@ See ChangeLog.3 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index ee79917a34d71612065bce8e924fad95596af4bb..c6dfde7496b6415b0bf71eda220cbc5ec284d398 100644 (file)
@@ -7148,7 +7148,7 @@ See ChangeLog.4 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1994-1995, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1994-1995, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 74141f6813adad1216ed31796e8dd8569291a3f8..91c20681157789f20d5fd13c9a0a38d2a2264a5b 100644 (file)
 
 See ChangeLog.5 for earlier changes.
 
-  Copyright (C) 1995-1996, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1995-1996, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index fc97acdeb1ed4af287c1d866a5f5348e16087fbf..891c1ca081aa7d87c559a33c456e651f2216ca17 100644 (file)
 
 1998-01-12  Kenichi Handa  <handa@etl.go.jp>
 
-       * minibuf.c (Fminibuffer_complete_word): Fix a bug of refering
+       * minibuf.c (Fminibuffer_complete_word): Fix a bug of referring
        `i'.  We must refer `i_byte' instead.
 
        * insdel.c (insert_from_string_1): Decrement GAP_SIZE by
@@ -11092,7 +11092,7 @@ See ChangeLog.6 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 1997-1998, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 6a48b09e64ba29d2aa6fdbe181dcf9c588916f38..d3ce1eb2a45b4405a5124d5d29e88b7ddd1ce365 100644 (file)
        * dispextern.h (struct glyph_row): Flag internal_border_p removed.
 
        * xfns.c (x_create_tip_frame): Don't set bitmapIcon resource
-       because this will try to access a nonexisting widget.
+       because this will try to access a nonexistent widget.
 
 1999-07-26  Markus Rost  <rost@gnu.org>
 
        Substitute homedir by `~' also in default_filename.
 
        * xdisp.c (try_window_id): Fix computation of tab_offset when
-       backing up over a character that is splitted across lines.
+       backing up over a character that is split across lines.
 
 1999-05-08  Kenichi HANDA  <handa@etl.go.jp>
 
 
 See ChangeLog.7 for earlier changes.
 
-  Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 6e3a8d8ab3b1cfc6d5dd84cbd7a0cb597ead8fcc..d6d772c5f955dbf1421a3c665b0d22dc4ea9bdc2 100644 (file)
@@ -13294,7 +13294,7 @@ See ChangeLog.8 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2001-2011  Free Software Foundation, Inc.
+  Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 3be10c388c75cc37c3be175ceb91f822fba62c52..035ea277454f314f26e4c3c28c88ce851d9aa4ed 100644 (file)
@@ -1,6 +1,6 @@
 # src/Makefile for GNU Emacs.
 
-# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2011
+# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2012
 #   Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
index f568797a1eaace71797cc521cbc0c0826b02e7f8..558710627a796c9df34a70728ecd1ff483e575b3 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
index 05b681cdafb18110378ed95aad310be726afe1e8..c4db234aba5e46a0072810010b12231b37e5ec23 100644 (file)
@@ -1,5 +1,5 @@
 /* Storage allocation and gc for GNU Emacs Lisp interpreter.
-   Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2011
+   Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2012
       Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index a54b397f52e93642df89ccd229d9a5a585acdfe4..48f22fe0e3e4ca82c3d71d6e0680c2959184d364 100644 (file)
@@ -1,5 +1,5 @@
 /* Asynchronous timers.
-   Copyright (C) 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 8035681b2251b2563e7f8c23793aa502156ba1ca..4282bab49bae156ee7bd69fc8e30c9eb2e44e10c 100644 (file)
@@ -1,5 +1,5 @@
 /* Asynchronous timers.
-   Copyright (C) 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index bd78a5eff29a155ba1f9fadc042ec1cb6c5e369f..a2d857469cce282de4a150f4d626719fe0579974 100644 (file)
@@ -1,5 +1,5 @@
 /* Low-level bidirectional buffer/string-scanning functions for GNU Emacs.
-   Copyright (C) 2000-2001, 2004-2005, 2009-2011
+   Copyright (C) 2000-2001, 2004-2005, 2009-2012
    Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -1132,7 +1132,7 @@ bidi_find_paragraph_start (ptrdiff_t pos, ptrdiff_t pos_byte)
 
    Note that this function gives the paragraph separator the same
    direction as the preceding paragraph, even though Emacs generally
-   views the separartor as not belonging to any paragraph.  */
+   views the separator as not belonging to any paragraph.  */
 void
 bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, int no_default_p)
 {
index aa46d67ee56a4244d616ce17f263dd2c13fa06e3..dc02919cf4fcb934efeb87c5403bd6f591ae91a3 100644 (file)
@@ -1,5 +1,5 @@
 /* blockinput.h - interface to blocking complicated interrupt-driven input.
-   Copyright (C) 1989, 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1989, 1993, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index afa7e915429386c1c8222fbfff38bcf009592d9a..b176bfed3febf70809943716faab9ce5278262e6 100644 (file)
@@ -1,6 +1,6 @@
 /* Buffer manipulation primitives for GNU Emacs.
 
-Copyright (C) 1985-1989, 1993-1995, 1997-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1989, 1993-1995, 1997-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e2d4b555e1142a81302ef43ef8e9c5797309a7b9..c75a09c55790144c285b239c70e104146232081d 100644 (file)
@@ -1,6 +1,6 @@
 /* Header file for the buffer manipulation primitives.
 
-Copyright (C) 1985-1986, 1993-1995, 1997-2011
+Copyright (C) 1985-1986, 1993-1995, 1997-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index fdefe39a69d1a2b67497cf39f0971d34fe5e1bc3..e2370254f367ff06f0bb158b540744edb4a8692b 100644 (file)
@@ -1,5 +1,5 @@
 /* Execution of byte code produced by bytecomp.el.
-   Copyright (C) 1985-1988, 1993, 2000-2011 Free Software Foundation, Inc.
+   Copyright (C) 1985-1988, 1993, 2000-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 444892ef9cbbcf2a2bb92200fcc03eb659936f67..78daa8f8fce86cc074382811f0acaad002093c20 100644 (file)
@@ -1,5 +1,5 @@
 /* Call a Lisp function interactively.
-   Copyright (C) 1985-1986, 1993-1995, 1997, 2000-2011
+   Copyright (C) 1985-1986, 1993-1995, 1997, 2000-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -274,8 +274,6 @@ invoke it.  If KEYS is omitted or nil, the return value of
 
   ptrdiff_t i, nargs;
   int foo;
-  char prompt1[100];
-  char *tem1;
   int arg_from_tty = 0;
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
   ptrdiff_t key_count;
@@ -491,13 +489,8 @@ invoke it.  If KEYS is omitted or nil, the return value of
   tem = string;
   for (i = 1; *tem; i++)
     {
-      strncpy (prompt1, tem + 1, sizeof prompt1 - 1);
-      prompt1[sizeof prompt1 - 1] = 0;
-      tem1 = strchr (prompt1, '\n');
-      if (tem1) *tem1 = 0;
-
-      visargs[0] = build_string (prompt1);
-      if (strchr (prompt1, '%'))
+      visargs[0] = make_string (tem + 1, strcspn (tem + 1, "\n"));
+      if (strchr (SSDATA (visargs[0]), '%'))
        callint_message = Fformat (i, visargs);
       else
        callint_message = visargs[0];
index d8f50e21ee5d1819565dee518154d01ca38cdfc8..22245f2d688de743a1e90b34e03335af038a56e3 100644 (file)
@@ -1,5 +1,5 @@
 /* Synchronous subprocess invocation for GNU Emacs.
-   Copyright (C) 1985-1988, 1993-1995, 1999-2011
+   Copyright (C) 1985-1988, 1993-1995, 1999-2012
                 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 05d689a9eefae9c6dd7483d4fcb74025933e9873..278806b3030089a9e5b67ea2e81cb6f7adef649f 100644 (file)
@@ -1,6 +1,6 @@
 /* GNU Emacs case conversion functions.
 
-Copyright (C) 1985, 1994, 1997-1999, 2001-2011 Free Software Foundation, Inc.
+Copyright (C) 1985, 1994, 1997-1999, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 8778048072c183819bc9fc80b18824b46ad03ecb..c28f0c08d5eda8eb1de983e17846f6104ece2956 100644 (file)
@@ -1,5 +1,5 @@
 /* GNU Emacs routines to deal with case tables.
-   Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 Author: Howard Gayle
 
index 0ab2a70f8a43b1b664ef883ee7195e62305ca8f3..a59ad3da53e5637708d45ab4d6b798aba0ecca5c 100644 (file)
@@ -1,6 +1,6 @@
 /* GNU Emacs routines to deal with category tables.
 
-Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
   2005, 2006, 2007, 2008, 2009, 2010, 2011
   National Institute of Advanced Industrial Science and Technology (AIST)
index 1c6f444920c95441550f96418027bb6a2a1e944e..5da90ad4f04d05b5e38ae9e9dd09b32d2a3d546f 100644 (file)
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -1,5 +1,5 @@
 /* CCL (Code Conversion Language) interpreter.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
      2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
@@ -210,8 +210,8 @@ static Lisp_Object Vccl_program_table;
 #define CCL_WriteArrayReadJump 0x0B /* Write an array element, read, and jump:
                                        1:A--D--D--R--E--S--S-rrrXXXXX
                                        2:LENGTH
-                                       3:ELEMENET[0]
-                                       4:ELEMENET[1]
+                                       3:ELEMENT[0]
+                                       4:ELEMENT[1]
                                        ...
                                        N:A--D--D--R--E--S--S-rrrYYYYY
                                        ------------------------------
index 5e2a7b9461cd985f4bc3ecc6ee17cd2cece0960a..f15a20f6999e13d8699aaa85a7e2d349158f9093 100644 (file)
@@ -1,6 +1,6 @@
 /* Basic character support.
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 Copyright (C) 1995, 1997, 1998, 2001 Electrotechnical Laboratory, JAPAN.
   Licensed to the Free Software Foundation.
 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
index ec90a64341e5dcf095629d8aa2aae6385543e5d8..688247de1b00c042da6fbba91f365f42109024b0 100644 (file)
@@ -1,5 +1,5 @@
 /* Basic character set support.
-   Copyright (C) 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 2001-2012  Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
      2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
@@ -1652,7 +1652,7 @@ maybe_unify_char (int c, Lisp_Object val)
 }
 
 
-/* Return a character correponding to the code-point CODE of
+/* Return a character corresponding to the code-point CODE of
    CHARSET.  */
 
 int
index 6d9079291c7379ef789017cad465e2c2d8af44c8..516582a3f3d600f489834d9ef711efde0fd9a83a 100644 (file)
@@ -1,5 +1,5 @@
 /* Header for charset handler.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
      2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
@@ -238,7 +238,7 @@ struct charset
   int unified_p;
 };
 
-/* Hash table of charset symbols vs. the correponding attribute
+/* Hash table of charset symbols vs. the corresponding attribute
    vectors.  */
 extern Lisp_Object Vcharset_hash_table;
 
@@ -389,7 +389,7 @@ extern Lisp_Object Vchar_charset_set;
 #endif
 
 
-/* Return a character correponding to the code-point CODE of CHARSET.
+/* Return a character corresponding to the code-point CODE of CHARSET.
    Try some optimization before calling decode_char.  */
 
 #define DECODE_CHAR(charset, code)                                     \
index 609632eba11d81f25023bc20b1a4d38246f6cefb..1922cd8140a101f14805d616d6769308cb6983bb 100644 (file)
--- a/src/cm.c
+++ b/src/cm.c
@@ -1,5 +1,5 @@
 /* Cursor motion subroutines for GNU Emacs.
-   Copyright (C) 1985, 1995, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 1995, 2001-2012  Free Software Foundation, Inc.
     based primarily on public domain code written by Chris Torek
 
 This file is part of GNU Emacs.
index a8c7e0d7c4bcd8e0d22d4e9b0434359d4d5ccdeb..e3e2b71dba6c4be25d7f8c50ce1497c20c59927c 100644 (file)
--- a/src/cm.h
+++ b/src/cm.h
@@ -1,5 +1,5 @@
 /* Cursor motion calculation definitions for GNU Emacs
-   Copyright (C) 1985, 1989, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 1989, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 3d43c2447adfaba68401321b241bb82c03bf40d1..225c26b082ccbf2d8ff602df4d86163896588068 100644 (file)
@@ -1,6 +1,6 @@
 /* Simple built-in editing commands.
 
-Copyright (C) 1985, 1993-1998, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1993-1998, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index a2ea9b302cf48aa1e99d0227b67a47080fe8ae35..be7166e8a14869417e1133c0c7e23a15c3140420 100644 (file)
@@ -1,5 +1,5 @@
 /* Coding system handler (conversion, detection, etc).
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
      2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
@@ -10003,8 +10003,6 @@ usage: (define-coding-system-internal ...)  */)
     {
       Lisp_Object bom;
 
-      CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
-
       if (nargs < coding_arg_utf8_max)
        goto short_args;
 
@@ -10018,6 +10016,8 @@ usage: (define-coding-system-internal ...)  */)
          CHECK_CODING_SYSTEM (val);
        }
       ASET (attrs, coding_attr_utf_bom, bom);
+      if (NILP (bom))
+       CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
 
       category = (CONSP (bom) ? coding_category_utf_8_auto
                  : NILP (bom) ? coding_category_utf_8_nosig
index 711e41ed5b8dd26686e8a4d2db05fdb45a7631b9..50435282229faf7557fcd4fd933a9cce84655802 100644 (file)
@@ -1,5 +1,5 @@
 /* Header for coding system handler.
-   Copyright (C) 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 2001-2012  Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
      2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
@@ -485,7 +485,7 @@ struct coding_system
      element.  The following elements are OFFSET, ANNOTATION-TYPE, and
      a sequence of actual data for the annotation.  OFFSET is a
      character position offset from dst_pos or src_pos,
-     ANNOTATION-TYPE specfies the meaning of the annotation and how to
+     ANNOTATION-TYPE specifies the meaning of the annotation and how to
      handle the following data..  */
   int *charbuf;
   int charbuf_size, charbuf_used;
index bcd5de441809bba98d427e9fe15d6019e3d85421..36f600cee01a7060e5c2645f9c4c27330eecf394 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions needed by most editing commands.
-   Copyright (C) 1985, 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 0a9bdcffc99051ad774539761735918eb71ea77b..0d1ab2663090154578ad3ed523a179ca9e27ac33 100644 (file)
@@ -1,5 +1,5 @@
 /* Composite sequence support.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
index 39e82ad74ad276ae56fcef19c8f0796af842ffe8..845411f5cde249ae197b6cb04d9e3dabb386e77a 100644 (file)
@@ -1,5 +1,5 @@
 /* Header for composite sequence handler.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
index 2337b0a4952e4c518b6347bf8a4497cebcf63ac5..7c0d18303440b2c5d9760f50987f014da8a06568 100644 (file)
@@ -1,5 +1,5 @@
 /* Primitive operations on Lisp data types for GNU Emacs Lisp interpreter.
-   Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2011
+   Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 7801ec259bb9b3db3a56d9cbf9c33e46f02e62e5..6af499ecafd9e7289fa560fc78e39ba187c33f86 100644 (file)
@@ -1,5 +1,5 @@
 /* Elisp bindings for D-Bus.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -968,7 +968,7 @@ DEFUN ("dbus-init-bus", Fdbus_init_bus, Sdbus_init_bus, 1, 1, 0,
   connection = xd_initialize (bus, TRUE);
 
   /* Add the watch functions.  We pass also the bus as data, in order
-     to distinguish between the busses in xd_remove_watch.  */
+     to distinguish between the buses in xd_remove_watch.  */
   if (!dbus_connection_set_watch_functions (connection,
                                            xd_add_watch,
                                            xd_remove_watch,
index c61b01a95c45c8cb38e2be4641df2372acef22e1..c7316a24dadc1b4d1f438b25bf6dd8fb264866bd 100644 (file)
@@ -1,6 +1,6 @@
 ### deps.mk --- src/Makefile fragment for GNU Emacs
 
-## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2011
+## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2012
 ##   Free Software Foundation, Inc.
 
 ## This file is part of GNU Emacs.
index 1d112db8a93752ac27dd442c9a7d8669ab13e8f4..6eedc8242316846c81e2a97d1b367518566adc41 100644 (file)
@@ -1,5 +1,5 @@
 /* Lisp functions for making directory listings.
-   Copyright (C) 1985-1986, 1993-1994, 1999-2011 Free Software Foundation, Inc.
+   Copyright (C) 1985-1986, 1993-1994, 1999-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 9d5feea6024952fe0908137a37e1fd2bf8888872..82ad1d265a5dd1b3eb500c06bf005fb2a6e5b18f 100644 (file)
@@ -1,6 +1,6 @@
 /* Interface definitions for display code.
 
-Copyright (C) 1985, 1993-1994, 1997-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1993-1994, 1997-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e53e3fdf80db27fff7049135db9c3baba5ac2336..5290b60972ac6aabba9f5395335b387e1a84e23c 100644 (file)
@@ -1,5 +1,5 @@
 /* Updating of data structures for redisplay.
-   Copyright (C) 1985-1988, 1993-1995, 1997-2011 Free Software Foundation, Inc.
+   Copyright (C) 1985-1988, 1993-1995, 1997-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e70079d2098e94618e91b8bdaff8f09a218d873a..2e041707eea01b31dcb509e0d6f6a935fef500cb 100644 (file)
@@ -1,5 +1,5 @@
 /* Things for GLYPHS and glyph tables.
-   Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index b5a57d7d6f22569d0ac1ba0cafd6aa2e50de6887..1a7b307816d4657cbd609bd30106a6e3274d488f 100644 (file)
--- a/src/doc.c
+++ b/src/doc.c
@@ -1,5 +1,5 @@
 /* Record indices of function doc strings stored in a file.
-   Copyright (C) 1985-1986, 1993-1995, 1997-2011
+   Copyright (C) 1985-1986, 1993-1995, 1997-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 166d396851a852e47ec3d89d59d468f434ce93c3..df9ebc11f9c04d37c3aeaa2f9f298a1caaa1493a 100644 (file)
@@ -1,7 +1,7 @@
 /* Output like sprintf to a buffer of specified size.
    Also takes args differently: pass one pointer to the end
    of the format string in addition to the format string itself.
-   Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ab3433b79020718567f3f5e5a817dbd4e959a5e6..8ef672fb8bb390fd2a3d7c32ef092aea90378e96 100644 (file)
@@ -1,6 +1,6 @@
 /* MS-DOS specific Lisp utilities.  Coded by Manabu Higashida, 1991.
    Major changes May-July 1993 Morten Welinder (only 10% original code left)
-   Copyright (C) 1991, 1993, 1996-1998, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1993, 1996-1998, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 89800598d28efb4b4180f7e5f32c51cea6f7abf4..9747c364d714adb24d5a2c278287b93b60b7a0bf 100644 (file)
@@ -2,7 +2,7 @@
    Coded by Manabu Higashida, 1991.
    Modified by Morten Welinder, 1993-1994.
 
-Copyright (C) 1991, 1994-1995, 1997, 1999, 2001-2011
+Copyright (C) 1991, 1994-1995, 1997, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 2a096db727d6a4cf7647e4d3346780cfca56be59..afd4ed4833327a8c8d20bcea6bdabf127d313d2a 100644 (file)
@@ -1,6 +1,6 @@
 /* Lisp functions pertaining to editing.
 
-Copyright (C) 1985-1987, 1989, 1993-2011 Free Software Foundation, Inc.
+Copyright (C) 1985-1987, 1989, 1993-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 292d1a023d6fb3a40fac7b415d2f78a56f62e278..590d874ca82a6a8d1b4d0c8bd77ba12d25f5719f 100644 (file)
@@ -1,7 +1,7 @@
 /* XPM */
 /* Emacs icon
 
-Copyright (C) 2008-2011  Free Software Foundation, Inc.
+Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 Author:  Kentaro Ohkouchi <nanasess@fsm.ne.jp>
 
index 6c96f7eb5e336b133e0519e88dc99df34080101b..b8abcef6cbd229e63f77a7579ed28dbb37d732cb 100644 (file)
@@ -1,6 +1,6 @@
 /* Fully extensible Emacs, running on Unix, intended for GNU.
 
-Copyright (C) 1985-1987, 1993-1995, 1997-1999, 2001-2011
+Copyright (C) 1985-1987, 1993-1995, 1997-1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -98,7 +98,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 
 static const char emacs_version[] = VERSION;
-static const char emacs_copyright[] = "Copyright (C) 2011 Free Software Foundation, Inc.";
+static const char emacs_copyright[] = "Copyright (C) 2012 Free Software Foundation, Inc.";
 
 /* Make these values available in GDB, which doesn't see macros.  */
 
@@ -321,6 +321,12 @@ static void (*fatal_error_signal_hook) (void);
 pthread_t main_thread;
 #endif
 
+#ifdef HAVE_NS
+/* NS autrelease pool, for memory management.  */
+static void *ns_pool;
+#endif  
+
 
 /* Handle bus errors, invalid instruction, etc.  */
 #ifndef FLOAT_CATCH_SIGILL
@@ -1318,7 +1324,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
     = argmatch (argv, argc, "-nsl", "--no-site-lisp", 11, NULL, &skip_args);
 
 #ifdef HAVE_NS
-  ns_alloc_autorelease_pool ();
+  ns_pool = ns_alloc_autorelease_pool ();
   if (!noninteractive)
     {
 #ifdef NS_IMPL_COCOA
@@ -2015,6 +2021,10 @@ all of which are called before Emacs is actually killed.  */)
 
   shut_down_emacs (0, 0, STRINGP (arg) ? arg : Qnil);
 
+#ifdef HAVE_NS
+  ns_release_autorelease_pool (ns_pool);
+#endif
+
   /* If we have an auto-save list file,
      kill it because we are exiting Emacs deliberately (not crashing).
      Do it after shut_down_emacs, which does an auto-save.  */
index d9084bf9a98ec21bb7d69840432592d3f7e23886..fba672ff74d651da1dca89ab40f1aef3eddf8be5 100644 (file)
@@ -1,7 +1,7 @@
 /* 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.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index c70e9a3efe373dbf10c9e67288b51a9ce3160d70..90fb37e521bc04ae3334ab976cfb579a24e37061 100644 (file)
@@ -1,7 +1,7 @@
 /* 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.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 54131f0e179f33fdd001f903763a9116fa687891..9ce1cefd2119173b18400522cb0c217f43160242 100644 (file)
@@ -1,6 +1,6 @@
 /* Hey Emacs, this is -*- C -*- code!  */
 /*
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2011
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index b604df8f35be4d7d8d131e080378f1d50ebc62d1..2730fc9f3d7a7173b2d7054e0a43a0d265242149 100644 (file)
@@ -1,5 +1,5 @@
 /* Evaluator for GNU Emacs Lisp interpreter.
-   Copyright (C) 1985-1987, 1993-1995, 1999-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1987, 1993-1995, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 3139e634c803888ac7007d26c416715468d0ad4a..5216135f000139d07ca25b2c086f8b1a5de830f7 100644 (file)
@@ -1,6 +1,6 @@
 /* File IO for GNU Emacs.
 
-Copyright (C) 1985-1988, 1993-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1988, 1993-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -90,6 +90,9 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Nonzero during writing of auto-save files */
 static int auto_saving;
 
+/* Nonzero umask during creation of auto-save directories */
+static int auto_saving_dir_umask;
+
 /* Set by auto_save_1 to mode of original file so Fwrite_region will create
    a new file with the same mode as the original */
 static int auto_save_mode_bits;
@@ -2062,7 +2065,7 @@ DEFUN ("make-directory-internal", Fmake_directory_internal,
 #ifdef WINDOWSNT
   if (mkdir (dir) != 0)
 #else
-  if (mkdir (dir, 0777) != 0)
+  if (mkdir (dir, 0777 & ~auto_saving_dir_umask) != 0)
 #endif
     report_file_error ("Creating directory", list1 (directory));
 
@@ -2416,15 +2419,27 @@ check_writable (const char *filename)
   return (st.st_mode & S_IWRITE || S_ISDIR (st.st_mode));
 #else /* not MSDOS */
 #ifdef HAVE_EUIDACCESS
-  return (euidaccess (filename, 2) >= 0);
-#else
+  int res = (euidaccess (filename, 2) >= 0);
+#ifdef CYGWIN
+  /* euidaccess may have returned failure because Cygwin couldn't
+     determine the file's UID or GID; if so, we return success. */
+  if (!res)
+    {
+      struct stat st;
+      if (stat (filename, &st) < 0)
+        return 0;
+      res = (st.st_uid == -1 || st.st_gid == -1);
+    }
+#endif /* CYGWIN */
+  return res;
+#else /* not HAVE_EUIDACCESS */
   /* Access isn't quite right because it uses the real uid
      and we really want to test with the effective uid.
      But Unix doesn't give us a right way to do it.
      Opening with O_WRONLY could work for an ordinary file,
      but would lose for directories.  */
   return (access (filename, 2) >= 0);
-#endif
+#endif /* not HAVE_EUIDACCESS */
 #endif /* not MSDOS */
 }
 
@@ -5200,16 +5215,18 @@ do_auto_save_unwind_1 (Lisp_Object value)  /* used as unwind-protect function */
 static Lisp_Object
 do_auto_save_make_dir (Lisp_Object dir)
 {
-  Lisp_Object mode;
+  Lisp_Object result;
 
-  call2 (Qmake_directory, dir, Qt);
-  XSETFASTINT (mode, 0700);
-  return Fset_file_modes (dir, mode);
+  auto_saving_dir_umask = 077;
+  result = call2 (Qmake_directory, dir, Qt);
+  auto_saving_dir_umask = 0;
+  return result;
 }
 
 static Lisp_Object
 do_auto_save_eh (Lisp_Object ignore)
 {
+  auto_saving_dir_umask = 0;
   return Qnil;
 }
 
@@ -5277,7 +5294,7 @@ A non-nil CURRENT-ONLY argument means save only current buffer.  */)
          dir = Ffile_name_directory (listfile);
          if (NILP (Ffile_directory_p (dir)))
            internal_condition_case_1 (do_auto_save_make_dir,
-                                      dir, Fcons (Fcons (Qfile_error, Qnil), Qnil),
+                                      dir, Qt,
                                       do_auto_save_eh);
          UNGCPRO;
        }
index 5ee2c039b815f569d30528317679d0016649d289..2613eec4aca44917c3abda08d57ffb0496680f4c 100644 (file)
@@ -1,5 +1,5 @@
 /* Lock files for editing.
-   Copyright (C) 1985-1987, 1993-1994, 1996, 1998-2011
+   Copyright (C) 1985-1987, 1993-1994, 1996, 1998-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 98933b26c7e9c1d06a0b456c524903da0dccad73..84511cfe0ad80c81c452b613e2b97133255b857b 100644 (file)
@@ -1,5 +1,5 @@
 /* Mark beginning of data space to dump as pure, for GNU Emacs.
-   Copyright (C) 1997, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1997, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index f8b775011ae00cdff1a09502895fb19bd69cb3f9..87fa19acb1f7f9ffbe566e625a176dadc92e3cf1 100644 (file)
@@ -1,6 +1,6 @@
 /* Primitive operations on floating point for GNU Emacs Lisp interpreter.
 
-Copyright (C) 1988, 1993-1994, 1999, 2001-2011
+Copyright (C) 1988, 1993-1994, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 Author: Wolfgang Rupprecht
index 121143439e074f7f97a4988530e4eaef418a6963..b4430292c7573af15ad23cfb28f7525fcdfd74da 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -1,5 +1,5 @@
 /* Random utility Lisp functions.
-   Copyright (C) 1985-1987, 1993-1995, 1997-2011
+   Copyright (C) 1985-1987, 1993-1995, 1997-2012
                 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -3247,7 +3247,7 @@ DEFUN ("base64-decode-string", Fbase64_decode_string, Sbase64_decode_string,
 
 /* 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
+   form.  If NCHARS_RETURN is not NULL, store the number of produced
    characters in *NCHARS_RETURN.  */
 
 static ptrdiff_t
index 64ac36d364c3ac6c1abf00945c3b9605d56f9b15..16d09af01b363263e6953daf34fe355d1b05d8ce 100644 (file)
@@ -1,6 +1,6 @@
 /* font.c -- "Font" primitives.
 
-Copyright (C) 2006-2011  Free Software Foundation, Inc.
+Copyright (C) 2006-2012  Free Software Foundation, Inc.
 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
   National Institute of Advanced Industrial Science and Technology (AIST)
   Registration Number H13PRO009
index 72ee15c5e00bd20a60ea7a1ad5701e50a5f41a19..89f6b29ca9dd5a118eb462f69496a045605ce27e 100644 (file)
@@ -1,5 +1,5 @@
 /* font.h -- Interface definition for font handling.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H13PRO009
@@ -506,7 +506,7 @@ struct font_driver
   Lisp_Object type;
 
   /* 1 iff the font's foundry, family, and adstyle names are case
-     sensitve.  */
+     sensitive.  */
   int case_sensitive;
 
   /* Return a cache of font-entities on frame F.  The cache must be a
@@ -621,7 +621,7 @@ struct font_driver
   /* Optional.
      Get coordinates of the INDEXth anchor point of the glyph whose
      code is CODE.  Store the coordinates in *X and *Y.  Return 0 if
-     the operations was successfull.  Otherwise return -1.  */
+     the operations was successful.  Otherwise return -1.  */
   int (*anchor_point) (struct font *font, unsigned code, int index,
                        int *x, int *y);
 
index 7d2cbcafa70ba004e91848b3a7323126ce6de4ee..7057167cfd4520d5dc8b88cd0b8b83103608614d 100644 (file)
@@ -1,6 +1,6 @@
 /* Fontset handler.
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
   2005, 2006, 2007, 2008, 2009, 2010, 2011
   National Institute of Advanced Industrial Science and Technology (AIST)
index 8831f4ce0b768dedb5e3566f7045f19fea19d43b..6d6ad5dbfc6be3163cbb994ed6d7f6c76112952a 100644 (file)
@@ -1,5 +1,5 @@
 /* Header for fontset handler.
-   Copyright (C) 1998, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1998, 2001-2012  Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
      2005, 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
index 00653af74d668bc6b31947c87a957a5265c9b4d4..8b28543728836f091747e8bd1df3455a01f33e66 100644 (file)
@@ -1,6 +1,6 @@
 /* Generic frame functions.
 
-Copyright (C) 1993-1995, 1997, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 1997, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 598d9adc491dbe5c4786a2a2895ecc3f2fc42a6a..e058a10146286213059271ed30dbf2c67cea8c46 100644 (file)
@@ -1,5 +1,5 @@
 /* Define frame-object for GNU Emacs.
-   Copyright (C) 1993-1994, 1999-2011 Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 1999-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index edc254fa3f248afb9a7a3431831145085339fe80..4bc2f8806f3164e947112e0907f9ea591c4fae1f 100644 (file)
@@ -1,5 +1,5 @@
 /* Fringe handling (split from xdisp.c).
-   Copyright (C) 1985-1988, 1993-1995, 1997-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1988, 1993-1995, 1997-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 31f3372af5c405fd164ad62c78ea2ada40174d4c..3c0b09b7f74cc649d8fcb5c098d3fb17cc1447c5 100644 (file)
@@ -1,5 +1,5 @@
 /* ftfont.c -- FreeType font driver.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H13PRO009
index e04e802a3dbe2e92f71a2dedfbdcbd442ce2cbc6..9fe4d41dcc521ffb6b710cd1e62f4d86a4f5ef83 100644 (file)
@@ -1,5 +1,5 @@
 /* ftxfont.c -- FreeType font driver on X (without using XFT).
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H13PRO009
index c0c4e504f0a7b5917af900a9f291d04725735ce3..545082b2e7805e6baf7b2c90a1a35f09521bd8a0 100644 (file)
@@ -1,5 +1,5 @@
 /* Emulate getpagesize on systems that lack it.
-   Copyright (C) 1986, 1992, 1995, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1986, 1992, 1995, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 9dda184d251c6d553a43e7ecd8c3c7c547fec7c9..99992e06cdc4f7f6bde4f3c2c22e5f35a07e35bd 100644 (file)
@@ -1,5 +1,5 @@
 /* GnuTLS glue for GNU Emacs.
-   Copyright (C) 2010-2011  Free Software Foundation, Inc.
+   Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -125,6 +125,7 @@ DEF_GNUTLS_FN (ssize_t, gnutls_record_send,
               (gnutls_session_t, const void *, size_t));
 DEF_GNUTLS_FN (const char *, gnutls_strerror, (int));
 DEF_GNUTLS_FN (void, gnutls_transport_set_errno, (gnutls_session_t, int));
+DEF_GNUTLS_FN (const char *, gnutls_check_version, (const char *));
 DEF_GNUTLS_FN (void, gnutls_transport_set_lowat, (gnutls_session_t, int));
 DEF_GNUTLS_FN (void, gnutls_transport_set_ptr2,
               (gnutls_session_t, gnutls_transport_ptr_t,
@@ -184,7 +185,11 @@ init_gnutls_functions (Lisp_Object libraries)
   LOAD_GNUTLS_FN (library, gnutls_record_send);
   LOAD_GNUTLS_FN (library, gnutls_strerror);
   LOAD_GNUTLS_FN (library, gnutls_transport_set_errno);
-  LOAD_GNUTLS_FN (library, gnutls_transport_set_lowat);
+  LOAD_GNUTLS_FN (library, gnutls_check_version);
+  /* We don't need to call gnutls_transport_set_lowat in GnuTLS 2.11.1
+     and later, and the function was removed entirely in 3.0.0.  */
+  if (!fn_gnutls_check_version ("2.11.1"))
+    LOAD_GNUTLS_FN (library, gnutls_transport_set_lowat);
   LOAD_GNUTLS_FN (library, gnutls_transport_set_ptr2);
   LOAD_GNUTLS_FN (library, gnutls_transport_set_pull_function);
   LOAD_GNUTLS_FN (library, gnutls_transport_set_push_function);
@@ -282,7 +287,12 @@ emacs_gnutls_handshake (struct Lisp_Process *proc)
         (Note: this is probably not strictly necessary as the lowat
          value is only used when no custom pull/push functions are
          set.)  */
-      fn_gnutls_transport_set_lowat (state, 0);
+      /* According to GnuTLS NEWS file, lowat level has been set to
+        zero by default in version 2.11.1, and the function
+        gnutls_transport_set_lowat was removed from the library in
+        version 2.99.0.  */
+      if (!fn_gnutls_check_version ("2.11.1"))
+       fn_gnutls_transport_set_lowat (state, 0);
 #else
       /* This is how GnuTLS takes sockets: as file descriptors passed
         in.  For an Emacs process socket, infd and outfd are the
index ddb47137e6e25814b50702cdd1d8f4ee14b62f3e..b6afba2535501923217f7a83c1367b393b2e4377 100644 (file)
@@ -1,5 +1,5 @@
 /* GnuTLS glue for GNU Emacs.
-   Copyright (C) 2010-2011  Free Software Foundation, Inc.
+   Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 43cdb38c640ebad6287c1c88f4a24dc81de61b8c..d5e890d7207b82e345738ce4e20468d756c59f4b 100644 (file)
@@ -1,6 +1,6 @@
 /* Functions for creating and updating GTK widgets.
 
-Copyright (C) 2003-2011  Free Software Foundation, Inc.
+Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -3052,7 +3052,7 @@ xg_update_submenu (GtkWidget *submenu,
       }
   }
 
-  /* Remove widgets from first structual change.  */
+  /* Remove widgets from first structural change.  */
   if (iter)
     {
       /* If we are adding new menu items below, we must remove from
index 7cc2d21f9c494269f6322c19e403f4f6b7e853a8..2c6ca0667193020f46865ddb145e9f050fe64418 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions and headers for GTK widgets.
 
-Copyright (C) 2003-2011  Free Software Foundation, Inc.
+Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 736c1b3472f0dbf74f0505a43789ab5004c1a380..92cd75f99f45914c436a40c27331de375ac26b94 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions for image support on window system.
-   Copyright (C) 1989, 1992-2011 Free Software Foundation, Inc.
+   Copyright (C) 1989, 1992-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -7565,6 +7565,22 @@ extern WandExport void PixelGetMagickColor (const PixelWand *,
                                            MagickPixelPacket *);
 #endif
 
+/* Log ImageMagick error message.
+   Useful when a ImageMagick function returns the status `MagickFalse'.  */
+
+static void
+imagemagick_error (MagickWand *wand)
+{
+  char *description;
+  ExceptionType severity;
+
+  description = MagickGetException (wand, &severity);
+  image_error ("ImageMagick error: %s",
+              make_string (description, strlen (description)),
+              Qnil);
+  description = (char *) MagickRelinquishMemory (description);
+}
+
 /* Helper function for imagemagick_load, which does the actual loading
    given contents and size, apart from frame and image structures,
    passed from imagemagick_load.  Uses librimagemagick to do most of
@@ -7619,6 +7635,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);   (Bug#10112)  */
 
   if (filename != NULL)
     {
@@ -7629,7 +7646,12 @@ imagemagick_load_image (struct frame *f, struct image *img,
       status = MagickPingImageBlob (ping_wand, contents, size);
     }
 
-  MagickSetResolution (ping_wand, 2, 2);
+  if (status == MagickFalse)
+    {
+      imagemagick_error (ping_wand);
+      DestroyMagickWand (ping_wand);
+      return 0;
+    }
 
   if (! (0 <= ino && ino < MagickGetNumberImages (ping_wand)))
     {
@@ -7670,7 +7692,10 @@ imagemagick_load_image (struct frame *f, struct image *img,
     {
       image_wand = NewMagickWand ();
       if (MagickReadImageBlob (image_wand, contents, size) == MagickFalse)
-       goto imagemagick_error;
+       {
+         imagemagick_error (image_wand);
+         goto imagemagick_error;
+       }
     }
 
   /* If width and/or height is set in the display spec assume we want
@@ -7698,6 +7723,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
       if (status == MagickFalse)
        {
          image_error ("Imagemagick scale failed", Qnil, Qnil);
+         imagemagick_error (image_wand);
          goto imagemagick_error;
        }
     }
@@ -7752,6 +7778,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
       if (status == MagickFalse)
         {
           image_error ("Imagemagick image rotate failed", Qnil, Qnil);
+         imagemagick_error (image_wand);
           goto imagemagick_error;
         }
     }
@@ -7976,7 +8003,7 @@ recognize as images, such as C.  See `imagemagick-types-inhibit'.  */)
       Qimagemagicktype = intern (imtypes[i]);
       typelist = Fcons (Qimagemagicktype, typelist);
     }
-  return typelist;
+  return Fnreverse (typelist);
 }
 
 #endif /* defined (HAVE_IMAGEMAGICK) */
index 7e2edc8713b35c90bcae247fb5840b1468afc82b..b1c86c3ab13aaeb676eb4baa13d7463710fd9648 100644 (file)
@@ -1,5 +1,5 @@
 /* Indentation functions.
-   Copyright (C) 1985-1988, 1993-1995, 1998, 2000-2011
+   Copyright (C) 1985-1988, 1993-1995, 1998, 2000-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index fe5f60b0df51e1eb6cbe8a96c5fe73c656c09c90..e198137a756cdad9490a30ffd4bf3dca4d34b75d 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for interface to indent.c
-   Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 10d37c42592a9691a97d1f5014f87a370146a6cb..748e2d54109231a9c9d50857f1a0ea37716e97ac 100644 (file)
@@ -1,5 +1,5 @@
 /* Buffer insertion/deletion and gap motion for GNU Emacs.
-   Copyright (C) 1985-1986, 1993-1995, 1997-2011
+   Copyright (C) 1985-1986, 1993-1995, 1997-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index ecb37495a04dc832a14228130c97f32f1707cfc1..e6c1b4d60d2479697e5646774f5c150aa54382ab 100644 (file)
@@ -1,5 +1,5 @@
 /* Code for doing intervals.
-   Copyright (C) 1993-1995, 1997-1998, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993-1995, 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index be0cc43d03222ae9ad27c691da9d23ccd9637d12..6a2a8c9d83d27477ad1052280b44c45b6b7ff8a5 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and global variables for intervals.
-   Copyright (C) 1993-1994, 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index aa8a9908f3bbf2a70b1103210ee535b246aa4323..177034f91ca40c3141769b2e5ec6f23f4e06a1b8 100644 (file)
@@ -1,6 +1,6 @@
 /* Keyboard and mouse input; editor command loop.
 
-Copyright (C) 1985-1989, 1993-1997, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1989, 1993-1997, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 9f2be5b531b0a68434646b7fb3c826c9406bcf67..202972ffbd8bd731ae42cb8db7c0cfdab0b58761 100644 (file)
@@ -1,5 +1,5 @@
 /* Declarations useful when processing input.
-   Copyright (C) 1985-1987, 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1987, 1993, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 2a0f162a0e0a388357c2e616d3a0f4fb2ab7c0af..cc4419a4d2f0425ded270887c64a8aeb0f012e14 100644 (file)
@@ -1,5 +1,5 @@
 /* Manipulation of keymaps
-   Copyright (C) 1985-1988, 1993-1995, 1998-2011 Free Software Foundation, Inc.
+   Copyright (C) 1985-1988, 1993-1995, 1998-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index a989f124b14008a679a7906fbe8352ed03f8e2dc..234ffce471db149acd2ac9b17b2781932ada2496 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions to manipulate keymaps.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ab07e748930ee4417797e65621936a0c39b17a3e..f8a64797362b86eeffaaae7e5112d9299b1f33c3 100644 (file)
@@ -1,5 +1,5 @@
 /* Mark end of data space to dump as pure, for GNU Emacs.
-   Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ecc2fd1626787d8d89ea3908bde74580e780c4eb..cc82edb2f5faac551642584c91314e631b61a40a 100644 (file)
@@ -1,5 +1,5 @@
 /* Fundamental definitions for GNU Emacs Lisp interpreter.
-   Copyright (C) 1985-1987, 1993-1995, 1997-2011
+   Copyright (C) 1985-1987, 1993-1995, 1997-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 68748b27f28cafb307552a542aae439a4916c9c6..c082630f717b0ac1f9b0742a21d5be9cc2b71c81 100644 (file)
@@ -1,6 +1,6 @@
 ### lisp.mk --- src/Makefile fragment for GNU Emacs
 
-## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2011
+## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2012
 ##   Free Software Foundation, Inc.
 
 ## This file is part of GNU Emacs.
index d38fb515bff7a9f98dfeb8759895fe41cff95bd2..2a7b7a8585d5f8962d13e507bb1bd4a1c813357f 100644 (file)
@@ -1,6 +1,6 @@
 /* Lisp parsing and input streams.
 
-Copyright (C) 1985-1989, 1993-1995, 1997-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1989, 1993-1995, 1997-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -3119,7 +3119,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
          if (uninterned_symbol && ! NILP (Vpurify_flag))
            name = make_pure_string (read_buffer, nchars, nbytes, multibyte);
          else
-           name = make_specified_string (read_buffer, nchars, nbytes,multibyte);
+           name = make_specified_string (read_buffer, nchars, nbytes, multibyte);
          result = (uninterned_symbol ? Fmake_symbol (name)
                    : Fintern (name, Qnil));
 
index 713598fa8b642e7562595e85efdc155fb9f92f0e..2a97a3d5b0c146f6f5c5552a068aaa912a9bdb75 100644 (file)
@@ -1,6 +1,6 @@
 /* Machine description file for the alpha chip.
 
-Copyright (C) 1994, 1997, 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1994, 1997, 1999, 2001-2012  Free Software Foundation, Inc.
 
 Author: Rainer Schoepf
 (according to authors.el)
index 50fcf8e78729e416d9859bd13deccdc128e389cc..f0482c733f9c1da702dbb5014d40eeadbeccc80b 100644 (file)
@@ -1,6 +1,6 @@
 /* machine description file for AMD x86-64.
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 7a8866a9503ddf8c6fe260e1e222b90c53190b77..2ddc2fdfb171b7725d1b19abd4aa4992ad63bdcc 100644 (file)
@@ -1,6 +1,6 @@
 /* machine description file for the IA-64 architecture.
 
-Copyright (C) 2000-2011  Free Software Foundation, Inc.
+Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
      Contributed by David Mosberger <davidm@hpl.hp.com>
 
index ca2188bc0684b52dc2685be6247e75ef7666fb72..9798ad2d3d76ee9c66e29a8c9c3f3495ddbc48c5 100644 (file)
@@ -1,6 +1,6 @@
 /* R2 AIX machine/system dependent defines
 
-Copyright (C) 1988, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1988, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 5ea7974b0525ac5fe4a2910defee9db18b8661f1..aa652a8206a6c453539115cfaeb0b4e6e6146470 100644 (file)
@@ -1,6 +1,6 @@
 /* Machine description file for IBM S390 in 64-bit mode
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 114b7fef9638b6fa65acbd5ba783cbafc4f98a28..78a43e92c21d8818f018572234fffec6498a03b5 100644 (file)
@@ -1,6 +1,6 @@
 /* Machine description file for intel 386.
 
-Copyright (C) 1987, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1987, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 16e0b9f0bef99a9358dd166249f765eb4a347007..120a2bad293a7f20ad3fdaa7f17bd8f21c59fff3 100644 (file)
@@ -1,6 +1,6 @@
 /* Machine description file for generic Motorola 68k.
 
-Copyright (C) 1985, 1995, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985, 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index aef781e2c390a8db5f9a9b5b2c53a47c13f601fb..0303ead25d66b0e3c0ebf1f47fec3cbdd47fb38c 100644 (file)
@@ -1,6 +1,6 @@
 /* machine description file For the powerpc Macintosh.
 
-Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 99668043f30c5055fc6666132e0474f290d96a05..27b6070ba87740f7640b7a5ff876fe836daa3062 100644 (file)
@@ -1,6 +1,6 @@
 /* machine description file for Sun 4 SPARC.
 
-Copyright (C) 1987, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1987, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 38649e8ac6d4c1004f6200b073e6e3da4c6e062f..5f1a46c86e1f1f3cfb28081b3965ff43dd193abd 100644 (file)
@@ -1,6 +1,6 @@
 /* machine description file template.
 
-Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index a375600cead6eb1f0b37f31dbf94e51080d261c3..e4bed4090b92f1efe70f8e89a2f08db1ba8a7d3d 100644 (file)
@@ -1,6 +1,6 @@
 /* machine description file for vax.
 
-Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 4860308367d3206806be1ddf79df33a17a297268..3f4f8624479444dfbdb8a14c38444edd2e49f956 100644 (file)
@@ -1,6 +1,6 @@
 /* Keyboard macros.
 
-Copyright (C) 1985-1986, 1993, 2000-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 7a5d532fbb7f64551fad2f45f532402c0081f031..d66784a0246e8df1215a23d1b08daa11043aa24f 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for keyboard macro interpretation in GNU Emacs.
-   Copyright (C) 1985, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 36e4511d8454f0549a6a70c1c8cab2ae1e1d1dd5..d7ca325e223c8a800566aac673eeff076530f247 100644 (file)
@@ -1,5 +1,5 @@
 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 2b78282e693d11e3a5e2e5a779a5a2fd497eaba3..3795349445984923bd7509e4ad459cb834eab176 100644 (file)
@@ -1,5 +1,5 @@
 /* Markers: examining, setting and deleting.
-   Copyright (C) 1985, 1997-1998, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 1997-1998, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 86b2f44846ddda490a1561b7f95b54713de2afdc..472e591b38d4ea6d9735cdbd283a4c3535eae2aa 100644 (file)
@@ -1,5 +1,5 @@
 /* Includes for memory limit warnings.
-   Copyright (C) 1990, 1993-1996, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993-1996, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 90423be5973b7aaf87f55da21f41c2f8338d228e..9ccfffd768cb6eef883265acb4a1b7e6097deb76 100644 (file)
@@ -1,6 +1,6 @@
 /* Platform-independent code for terminal communications.
 
-Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2011
+Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 451401b42d525ae43bbe10c0559a52f2a4c3e667..cb22a5255d6d51efe02349983523a2ffbef5900e 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions to manipulate menus.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 9a4df33378832513f023b631065040500c1e529d..cf860847d59c748bebe5f2613b67fababd8b7059 100644 (file)
@@ -1,6 +1,6 @@
 /* Minibuffer input and completion.
 
-Copyright (C) 1985-1986, 1993-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 64e9d72c784cc6243a60643cc69ab8be294fa43e..885cedd3df094bf39669fe4463bcb282095bafe3 100644 (file)
@@ -1,6 +1,6 @@
 /* MS-DOS specific C utilities.          -*- coding: raw-text -*-
 
-Copyright (C) 1993-1997, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1997, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 3048b5f7e353a629dc3c645d9c44ad00766fcfa5..a73c1f2901f07a1b7f7dc690378ebe85043757b5 100644 (file)
@@ -1,5 +1,5 @@
 /* MS-DOS specific C utilities, interface.
-   Copyright (C) 1993, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index c364dae708645406ce34666f249be2e9a7df08df..d3b5afeb99ea72cfb2ded7b7245df0c0b9862ca6 100644 (file)
--- a/src/ns.mk
+++ b/src/ns.mk
@@ -1,6 +1,6 @@
 ### autodeps.mk --- src/Makefile fragment for GNU Emacs
 
-## Copyright (C) 2008-2011  Free Software Foundation, Inc.
+## Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ## This file is part of GNU Emacs.
 
index ccefec1e34fc008260d856eb8031ff4a456331fc..5cea73c39cafc2e22746c58a9c9e33e6b40a8984 100644 (file)
@@ -1,6 +1,6 @@
 /* Functions for the NeXT/Open/GNUstep and MacOSX window system.
 
-Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2011
+Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -394,9 +394,8 @@ x_set_background_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
       if (face)
         {
           col = ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f);
-          face->background
-            = (EMACS_UINT) [[col colorWithAlphaComponent: alpha] retain];
-          [col release];
+          face->background = ns_index_color
+            ([col colorWithAlphaComponent: alpha], f);
 
           update_face_from_frame_parameter (f, Qbackground_color, arg);
         }
@@ -770,7 +769,7 @@ ns_implicitly_set_icon_type (struct frame *f)
 {
   Lisp_Object tem;
   EmacsView *view = FRAME_NS_VIEW (f);
-  id image =nil;
+  id image = nil;
   Lisp_Object chain, elt;
   NSAutoreleasePool *pool;
   BOOL setMini = YES;
@@ -797,7 +796,7 @@ ns_implicitly_set_icon_type (struct frame *f)
     }
 
   for (chain = Vns_icon_type_alist;
-       (image = nil) && CONSP (chain);
+       image == nil && CONSP (chain);
        chain = XCDR (chain))
     {
       elt = XCAR (chain);
@@ -1287,7 +1286,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
                       "foreground", "Foreground", RES_TYPE_STRING);
   x_default_parameter (f, parms, Qbackground_color, build_string ("White"),
                       "background", "Background", RES_TYPE_STRING);
-  /* FIXME: not suppported yet in Nextstep */
+  /* FIXME: not supported yet in Nextstep */
   x_default_parameter (f, parms, Qline_spacing, Qnil,
                       "lineSpacing", "LineSpacing", RES_TYPE_NUMBER);
   x_default_parameter (f, parms, Qleft_fringe, Qnil,
index 44c427ce0ccd89346c600dcd37f19d4a88425a64..556102b6f44fe46eac94d0ecbc19fdb7f24a78a4 100644 (file)
@@ -1,6 +1,6 @@
 /* Font back-end driver for the NeXT/Open/GNUstep and MacOSX window system.
    See font.h
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -126,8 +126,8 @@ ns_attribute_fvalue (NSFontDescriptor *fdesc, NSString *trait)
 /* Converts FONT_WEIGHT, FONT_SLANT, FONT_WIDTH, plus family and script/lang
    to NSFont descriptor.  Information under extra only needed for matching. */
 #define STYLE_REF 100
-static NSFontDescriptor
-*ns_spec_to_descriptor(Lisp_Object font_spec)
+static NSFontDescriptor *
+ns_spec_to_descriptor (Lisp_Object font_spec)
 {
     NSFontDescriptor *fdesc;
     NSMutableDictionary *fdAttrs = [NSMutableDictionary new];
@@ -152,8 +152,13 @@ static NSFontDescriptor
        [fdAttrs setObject: tdict forKey: NSFontTraitsAttribute];
 
     fdesc = [NSFontDescriptor fontDescriptorWithFontAttributes: fdAttrs];
-    if (family != nil)
+    if (family != nil) 
+      {
        fdesc = [fdesc fontDescriptorWithFamily: family];
+      }
+
+    [fdAttrs release];
+    [tdict release];
     return fdesc;
 }
 
@@ -469,6 +474,7 @@ static NSSet
                if ([families count] > 0 || pct < 0.05)
                    break;
              }
+            [charset release];
          }
 #ifdef NS_IMPL_COCOA
        if ([families count] == 0)
@@ -536,12 +542,14 @@ ns_findfonts (Lisp_Object font_spec, BOOL isMatch)
     family = [fdesc objectForKey: NSFontFamilyAttribute];
     if (family != nil && !foundItal && XINT (Flength (list)) > 0)
       {
-       NSFontDescriptor *sDesc = [[[NSFontDescriptor new]
-           fontDescriptorWithSymbolicTraits: NSFontItalicTrait]
-           fontDescriptorWithFamily: family];
+        NSFontDescriptor *s1 = [NSFontDescriptor new];
+        NSFontDescriptor *sDesc
+          = [[s1 fontDescriptorWithSymbolicTraits: NSFontItalicTrait]
+              fontDescriptorWithFamily: family];
        list = Fcons (ns_descriptor_to_entity (sDesc,
                                         AREF (font_spec, FONT_EXTRA_INDEX),
                                         "synthItal"), list);
+        [s1 release];
       }
 
     /* Return something if was a match and nothing found. */
@@ -1293,7 +1301,7 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block)
     abort ();
 
   /* create a string containing all Unicode characters in this block */
-  for (idx = block<<8, i =0; i<0x100; idx++, i++)
+  for (idx = block<<8, i = 0; i < 0x100; idx++, i++)
     if (idx < 0xD800 || idx > 0xDFFF)
       unichars[i] = idx;
     else
@@ -1309,7 +1317,7 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block)
     NSGlyphGenerator *glyphGenerator = [NSGlyphGenerator sharedGlyphGenerator];
     /*NSCharacterSet *coveredChars = [nsfont coveredCharacterSet]; */
     unsigned int numGlyphs = [font_info->nsfont numberOfGlyphs];
-    NSUInteger gInd =0, cInd =0;
+    NSUInteger gInd = 0, cInd = 0;
 
     [glyphStorage setString: allChars font: font_info->nsfont];
     [glyphGenerator generateGlyphsForGlyphStorage: glyphStorage
@@ -1317,7 +1325,7 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block)
                                        glyphIndex: &gInd characterIndex: &cInd];
 #endif
     glyphs = font_info->glyphs[block];
-    for (i =0; i<0x100; i++, glyphs++)
+    for (i = 0; i < 0x100; i++, glyphs++)
       {
 #ifdef NS_IMPL_GNUSTEP
         g = unichars[i];
@@ -1425,6 +1433,8 @@ ns_glyph_metrics (struct nsfont_info *font_info, unsigned char block)
 - (void) setString: (NSString *)str font: (NSFont *)font
 {
   [dict setObject: font forKey: NSFontAttributeName];
+  if (attrStr != nil)
+    [attrStr release];
   attrStr = [[NSAttributedString alloc] initWithString: str attributes: dict];
   maxChar = [str length];
   maxGlyph = 0;
index 99c64cd4cde13bc40c84412c96edac3f824a04a0..0c9a8a01e6965dcb045736f6372bd6b8b8e333b8 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication on the NeXT/Open/GNUstep API.
-   Copyright (C) 1995, 2005, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2005, 2008-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 2cb0c3bff76fa0213cd301c4d5141e4d8395d60f..82a176975ff3c0fafb226c6305ff57baeae46c3d 100644 (file)
@@ -1,5 +1,5 @@
 /* Image support for the NeXT/Open/GNUstep and MacOSX window system.
-   Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2011
+   Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2012
      Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 644576ae5593c9257a24d5ab01f141da0388cae5..4bfe0cc003a463b4dab2dd116b806fefccb600cc 100644 (file)
@@ -1,5 +1,5 @@
 /* NeXT/Open/GNUstep and MacOSX Cocoa menu and toolbar module.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -74,6 +74,10 @@ EmacsMenu *mainMenu, *svcsMenu, *dockMenu;
 static int popup_activated_flag;
 static NSModalSession popupSession;
 
+/* Nonzero means we are tracking and updating menus.  */
+static int trackingMenu;
+
+
 /* NOTE: toolbar implementation is at end,
   following complete menu implementation. */
 
@@ -400,6 +404,7 @@ ns_update_menubar (struct frame *f, int deep_p, EmacsMenu *submenu)
       items = FRAME_MENU_BAR_ITEMS (f);
       if (NILP (items))
         {
+          free_menubar_widget_value_tree (first_wv);
           [pool release];
           UNBLOCK_INPUT;
           return;
@@ -427,6 +432,7 @@ ns_update_menubar (struct frame *f, int deep_p, EmacsMenu *submenu)
 
           if (i == n)
             {
+              free_menubar_widget_value_tree (first_wv);
               [pool release];
               UNBLOCK_INPUT;
               return;
@@ -543,21 +549,44 @@ set_frame_menubar (struct frame *f, int first_time, int deep_p)
   frame = f;
 }
 
+#ifdef NS_IMPL_COCOA
+#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
+extern NSString *NSMenuDidBeginTrackingNotification;
+#endif
+#endif
+
+#ifdef NS_IMPL_COCOA
+-(void)trackingNotification:(NSNotification *)notification
+{
+  /* Update menu in menuNeedsUpdate only while tracking menus.  */
+  trackingMenu = ([notification name] == NSMenuDidBeginTrackingNotification
+                  ? 1 : 0);
+}
+#endif
 
 /* delegate method called when a submenu is being opened: run a 'deep' call
    to set_frame_menubar */
 - (void)menuNeedsUpdate: (NSMenu *)menu
 {
-  NSEvent *event;
   if (!FRAME_LIVE_P (frame))
     return;
-  event = [[FRAME_NS_VIEW (frame) window] currentEvent];
-  /* HACK: Cocoa/Carbon will request update on every keystroke
+
+  /* Cocoa/Carbon will request update on every keystroke
      via IsMenuKeyEvent -> CheckMenusForKeyEvent.  These are not needed
      since key equivalents are handled through emacs.
-     On Leopard, even keystroke events generate SystemDefined events, but
-     their subtype is 8. */
-  if ([event type] != NSSystemDefined || [event subtype] == 8
+     On Leopard, even keystroke events generate SystemDefined event.
+     Third-party applications that enhance mouse / trackpad
+     interaction, or also VNC/Remote Desktop will send events
+     of type AppDefined rather than SysDefined.
+     Menus will fail to show up if they haven't been initialized.
+     AppDefined events may lack timing data.
+
+     Thus, we rely on the didBeginTrackingNotification notification
+     as above to indicate the need for updates.
+     From 10.6 on, we could also use -[NSMenu propertiesToUpdate]: In the
+     key press case, NSMenuPropertyItemImage (e.g.) won't be set.
+  */
+  if (trackingMenu == 0
       /* Also, don't try this if from an event picked up asynchronously,
          as lots of lisp evaluation happens in ns_update_menubar. */
       || handling_signal != 0)
@@ -1795,6 +1824,11 @@ DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_
 void
 syms_of_nsmenu (void)
 {
+#ifndef NS_IMPL_COCOA
+  /* Don't know how to keep track of this in Next/Open/Gnustep.  Always
+     update menus there.  */
+  trackingMenu = 1;
+#endif
   defsubr (&Sx_popup_dialog);
   defsubr (&Sns_reset_menu);
   defsubr (&Smenu_or_popup_active_p);
index 9f6f35968f58d29eefbf6859e65e883da102e67c..5741236c987ea75ed1a8b19ee1aa65be52755430 100644 (file)
@@ -1,5 +1,5 @@
 /* NeXT/Open/GNUstep / MacOSX Cocoa selection processing for emacs.
-   Copyright (C) 1993-1994, 2005-2006, 2008-2011
+   Copyright (C) 1993-1994, 2005-2006, 2008-2012
      Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -35,8 +35,6 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu)
 #include "termhooks.h"
 #include "keyboard.h"
 
-#define CUT_BUFFER_SUPPORT
-
 Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME;
 
 static Lisp_Object Vselection_alist;
@@ -60,13 +58,18 @@ static NSString *
 symbol_to_nsstring (Lisp_Object sym)
 {
   CHECK_SYMBOL (sym);
-  if (EQ (sym, QCLIPBOARD))     return NSGeneralPboard;
+  if (EQ (sym, QCLIPBOARD))   return NSGeneralPboard;
   if (EQ (sym, QPRIMARY))     return NXPrimaryPboard;
   if (EQ (sym, QSECONDARY))   return NXSecondaryPboard;
   if (EQ (sym, QTEXT))        return NSStringPboardType;
   return [NSString stringWithUTF8String: SDATA (XSYMBOL (sym)->xname)];
 }
 
+static NSPasteboard *
+ns_symbol_to_pb (Lisp_Object symbol)
+{
+  return [NSPasteboard pasteboardWithName: symbol_to_nsstring (symbol)];
+}
 
 static Lisp_Object
 ns_string_to_symbol (NSString *t)
@@ -230,70 +233,11 @@ static Lisp_Object
 ns_get_foreign_selection (Lisp_Object symbol, Lisp_Object target)
 {
   id pb;
-  pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (symbol)];
-  return ns_string_from_pasteboard (pb);
-}
-
-
-static void
-ns_handle_selection_request (struct input_event *event)
-{
-  // FIXME: BIG UGLY HACK!!!
-  id pb = (id)*(EMACS_INT*)&(event->x);
-  NSString *type = (NSString *)*(EMACS_INT*)&(event->y);
-  Lisp_Object selection_name, selection_data, target_symbol, data;
-  Lisp_Object successful_p, rest;
-
-  selection_name = ns_string_to_symbol ([(NSPasteboard *)pb name]);
-  target_symbol = ns_string_to_symbol (type);
-  selection_data = assq_no_quit (selection_name, Vselection_alist);
-  successful_p = Qnil;
-
-  if (!NILP (selection_data))
-    {
-      data = ns_get_local_selection (selection_name, target_symbol);
-      if (!NILP (data))
-        {
-          if (STRINGP (data))
-            ns_string_to_pasteboard_internal (pb, data, type);
-          successful_p = Qt;
-        }
-    }
-
-  if (!EQ (Vns_sent_selection_hooks, Qunbound))
-    {
-      for (rest = Vns_sent_selection_hooks; CONSP (rest); rest = Fcdr (rest))
-        call3 (Fcar (rest), selection_name, target_symbol, successful_p);
-    }
+  pb = ns_symbol_to_pb (symbol);
+  return pb != nil ? ns_string_from_pasteboard (pb) : Qnil;
 }
 
 
-static void
-ns_handle_selection_clear (struct input_event *event)
-{
-  id pb = (id)*(EMACS_INT*)&(event->x);
-  Lisp_Object selection_name, selection_data, rest;
-
-  selection_name = ns_string_to_symbol ([(NSPasteboard *)pb name]);
-  selection_data = assq_no_quit (selection_name, Vselection_alist);
-  if (NILP (selection_data)) return;
-
-  if (EQ (selection_data, Fcar (Vselection_alist)))
-    Vselection_alist = Fcdr (Vselection_alist);
-  else
-    {
-      for (rest = Vselection_alist; !NILP (rest); rest = Fcdr (rest))
-        if (EQ (selection_data, Fcar (Fcdr (rest))))
-          Fsetcdr (rest, Fcdr (Fcdr (rest)));
-    }
-
-  if (!EQ (Vns_lost_selection_hooks, Qunbound))
-    {
-      for (rest = Vns_lost_selection_hooks;CONSP (rest); rest = Fcdr (rest))
-        call1 (Fcar (rest), selection_name);
-    }
-}
-
 
 
 /* ==========================================================================
@@ -401,29 +345,44 @@ anything that the functions on `selection-converter-alist' know about.  */)
 {
   id pb;
   Lisp_Object old_value, new_value;
+  NSString *type;
+  Lisp_Object successful_p = Qnil, rest;
+  Lisp_Object target_symbol, data;
+
 
   check_ns ();
   CHECK_SYMBOL (selection_name);
   if (NILP (selection_value))
       error ("selection-value may not be nil.");
-  pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (selection_name)];
+  pb = ns_symbol_to_pb (selection_name);
+  if (pb == nil) return Qnil;
+
   ns_declare_pasteboard (pb);
   old_value = assq_no_quit (selection_name, Vselection_alist);
   new_value = Fcons (selection_name, Fcons (selection_value, Qnil));
+
   if (NILP (old_value))
     Vselection_alist = Fcons (new_value, Vselection_alist);
   else
     Fsetcdr (old_value, Fcdr (new_value));
-  /* XXX An evil hack, but a necessary one I fear XXX */
-  {
-    struct input_event ev;
-    ev.kind = SELECTION_REQUEST_EVENT;
-    ev.modifiers = 0;
-    ev.code = 0;
-    *(EMACS_INT*)(&(ev.x)) = (EMACS_INT)pb; // FIXME: BIG UGLY HACK!!
-    *(EMACS_INT*)(&(ev.y)) = (EMACS_INT)NSStringPboardType;
-    ns_handle_selection_request (&ev);
-  }
+
+  /* We only support copy of text.  */
+  type = NSStringPboardType;
+  target_symbol = ns_string_to_symbol (type);
+  data = ns_get_local_selection (selection_name, target_symbol);
+  if (!NILP (data))
+    {
+      if (STRINGP (data))
+        ns_string_to_pasteboard_internal (pb, data, type);
+      successful_p = Qt;
+    }
+
+  if (!EQ (Vns_sent_selection_hooks, Qunbound))
+    {
+      for (rest = Vns_sent_selection_hooks; CONSP (rest); rest = Fcdr (rest))
+        call3 (Fcar (rest), selection_name, target_symbol, successful_p);
+    }
+  
   return selection_value;
 }
 
@@ -438,8 +397,8 @@ DEFUN ("x-disown-selection-internal", Fx_disown_selection_internal,
   CHECK_SYMBOL (selection_name);
   if (NILP (assq_no_quit (selection_name, Vselection_alist))) return Qnil;
 
-  pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (selection_name)];
-  ns_undeclare_pasteboard (pb);
+  pb = ns_symbol_to_pb (selection_name);
+  if (pb != nil) ns_undeclare_pasteboard (pb);
   return Qt;
 }
 
@@ -460,8 +419,10 @@ and t is the same as `SECONDARY'.)  */)
   CHECK_SYMBOL (selection);
   if (EQ (selection, Qnil)) selection = QPRIMARY;
   if (EQ (selection, Qt)) selection = QSECONDARY;
-  pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (selection)];
-  types =[pb types];
+  pb = ns_symbol_to_pb (selection);
+  if (pb == nil) return Qnil;
+  
+  types = [pb types];
   return ([types count] == 0) ? Qnil : Qt;
 }
 
@@ -511,45 +472,31 @@ TYPE is the type of data desired, typically `STRING'.  */)
 }
 
 
-#ifdef CUT_BUFFER_SUPPORT
-DEFUN ("ns-get-cut-buffer-internal", Fns_get_cut_buffer_internal,
-       Sns_get_cut_buffer_internal, 1, 1, 0,
-       doc: /* Returns the value of the named cut buffer.  */)
-     (Lisp_Object buffer)
+DEFUN ("ns-get-selection-internal", Fns_get_selection_internal,
+       Sns_get_selection_internal, 1, 1, 0,
+       doc: /* Returns the value of SELECTION as a string.
+SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. */)
+     (Lisp_Object selection)
 {
   id pb;
   check_ns ();
-  pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (buffer)];
-  return ns_string_from_pasteboard (pb);
+  pb = ns_symbol_to_pb (selection);
+  return pb != nil ? ns_string_from_pasteboard (pb) : Qnil;
 }
 
 
-DEFUN ("ns-rotate-cut-buffers-internal", Fns_rotate_cut_buffers_internal,
-       Sns_rotate_cut_buffers_internal, 1, 1, 0,
-       doc: /* Rotate the values of the cut buffers by N steps.
-Positive N means move values forward, negative means
-backward. CURRENTLY NOT IMPLEMENTED UNDER NEXTSTEP. */ )
-     (Lisp_Object n)
-{
-  /* XXX This function is unimplemented under NeXTstep XXX */
-  Fsignal (Qquit, Fcons (build_string (
-      "Warning: ns-rotate-cut-buffers-internal not implemented\n"), Qnil));
-  return Qnil;
-}
-
-
-DEFUN ("ns-store-cut-buffer-internal", Fns_store_cut_buffer_internal,
-       Sns_store_cut_buffer_internal, 2, 2, 0,
-       doc: /* Sets the value of the named cut buffer (typically CUT_BUFFER0).  */)
-     (Lisp_Object buffer, Lisp_Object string)
+DEFUN ("ns-store-selection-internal", Fns_store_selection_internal,
+       Sns_store_selection_internal, 2, 2, 0,
+       doc: /* Sets the string value of SELECTION.
+SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. */)
+     (Lisp_Object selection, Lisp_Object string)
 {
   id pb;
   check_ns ();
-  pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (buffer)];
-  ns_string_to_pasteboard (pb, string);
+  pb = ns_symbol_to_pb (selection);
+  if (pb != nil) ns_string_to_pasteboard (pb, string);
   return Qnil;
 }
-#endif
 
 
 void
@@ -572,11 +519,8 @@ syms_of_nsselect (void)
   defsubr (&Sx_own_selection_internal);
   defsubr (&Sx_selection_exists_p);
   defsubr (&Sx_selection_owner_p);
-#ifdef CUT_BUFFER_SUPPORT
-  defsubr (&Sns_get_cut_buffer_internal);
-  defsubr (&Sns_rotate_cut_buffers_internal);
-  defsubr (&Sns_store_cut_buffer_internal);
-#endif
+  defsubr (&Sns_get_selection_internal);
+  defsubr (&Sns_store_selection_internal);
 
   Vselection_alist = Qnil;
   staticpro (&Vselection_alist);
index 14918cca90dfd1f2254806bd2c918b0c2d1049c7..bc535b47d973a6481fcafe49aed3e700f0aadfd8 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication with NeXT/Open/GNUstep API.
-   Copyright (C) 1989, 1993, 2005, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 1989, 1993, 2005, 2008-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 1d64594306539349ee0be9b6758c44295a1e05ad..70d3cc0e8b86449171160a0945819fc7059a0978 100644 (file)
@@ -1,5 +1,5 @@
 /* NeXT/Open/GNUstep / MacOSX communication module.
-   Copyright (C) 1989, 1993-1994, 2005-2006, 2008-2011
+   Copyright (C) 1989, 1993-1994, 2005-2006, 2008-2012
      Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -1158,6 +1158,9 @@ x_free_frame_resources (struct frame *f)
 
   xfree (f->output_data.ns);
 
+  if (f->output_data.ns->miniimage != nil)
+    [f->output_data.ns->miniimage release];
+
   [[view window] close];
   [view release];
 
@@ -1351,7 +1354,7 @@ ns_index_color (NSColor *color, struct frame *f)
 {
   struct ns_color_table *color_table = FRAME_NS_DISPLAY_INFO (f)->color_table;
   ptrdiff_t idx;
-  NSNumber *index;
+  ptrdiff_t i;
 
   if (!color_table->colors)
     {
@@ -1364,21 +1367,13 @@ ns_index_color (NSColor *color, struct frame *f)
     }
 
   /* do we already have this color ? */
-  {
-    ptrdiff_t i;
-    for (i = 1; i < color_table->avail; i++)
-      {
-        if (color_table->colors[i] && [color_table->colors[i] isEqual: color])
-          {
-            [color_table->colors[i] retain];
-            return i;
-          }
-      }
-  }
+  for (i = 1; i < color_table->avail; i++)
+    if (color_table->colors[i] && [color_table->colors[i] isEqual: color])
+      return i;
 
   if ([color_table->empty_indices count] > 0)
     {
-      index = [color_table->empty_indices anyObject];
+      NSNumber *index = [color_table->empty_indices anyObject];
       [color_table->empty_indices removeObject: index];
       idx = [index unsignedLongValue];
     }
@@ -1411,20 +1406,20 @@ ns_free_indexed_color (unsigned long idx, struct frame *f)
   color_table = FRAME_NS_DISPLAY_INFO (f)->color_table;
 
   if (idx <= 0 || idx >= color_table->size) {
-    message1("ns_free_indexed_color: Color index out of range.\n");
+    message1 ("ns_free_indexed_color: Color index out of range.\n");
     return;
   }
 
   index = [NSNumber numberWithUnsignedInt: idx];
   if ([color_table->empty_indices containsObject: index]) {
-    message1("ns_free_indexed_color: attempt to free already freed color.\n");
+    message1 ("ns_free_indexed_color: attempt to free already freed color.\n");
     return;
   }
 
   color = color_table->colors[idx];
   [color release];
   color_table->colors[idx] = nil;
-  [color_table->empty_indices addObject: [NSNumber numberWithUnsignedInt: idx]];
+  [color_table->empty_indices addObject: index];
 /*fprintf(stderr, "color_table: FREED %d\n",idx);*/
 }
 
@@ -4203,6 +4198,15 @@ ns_term_init (Lisp_Object display_name)
     [NSApp setServicesMenu: svcsMenu];
     /* Needed at least on Cocoa, to get dock menu to show windows */
     [NSApp setWindowsMenu: [[NSMenu alloc] init]];
+
+    [[NSNotificationCenter defaultCenter]
+      addObserver: mainMenu
+         selector: @selector (trackingNotification:)
+             name: NSMenuDidBeginTrackingNotification object: mainMenu];
+    [[NSNotificationCenter defaultCenter]
+      addObserver: mainMenu
+         selector: @selector (trackingNotification:)
+             name: NSMenuDidEndTrackingNotification object: mainMenu];
   }
 #endif /* MAC OS X menu setup */
 
index b8b7ab371f6e499fb39d8f61ef753c91bc7ecf5a..443869b6fd015833766c3b47ddbcb2a1f129121d 100644 (file)
@@ -1,6 +1,6 @@
 /* Lisp object printing and output streams.
 
-Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2011
+Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -609,7 +609,7 @@ A printed representation of an object is text which describes that object.  */)
     printcharfun = Vprin1_to_string_buffer;
     PRINTPREPARE;
     print (object, printcharfun, NILP (noescape));
-    /* Make Vprin1_to_string_buffer be the default buffer after PRINTFINSH */
+    /* Make Vprin1_to_string_buffer be the default buffer after PRINTFINISH */
     PRINTFINISH;
   }
 
index 206af7059fbafb5e6058038f82c64ab59dbd2309..b4fca389d0dfee8822dfa9116a6b567a206cf278 100644 (file)
@@ -1,6 +1,6 @@
 /* Asynchronous subprocess control for GNU Emacs.
 
-Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2011
+Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -3488,7 +3488,7 @@ usage: (make-network-process &rest ARGS)  */)
             || (NILP (buffer) && NILP (BVAR (&buffer_defaults, enable_multibyte_characters))))
       /* We dare not decode end-of-line format by setting VAL to
         Qraw_text, because the existing Emacs Lisp libraries
-        assume that they receive bare code including a sequene of
+        assume that they receive bare code including a sequence of
         CR LF.  */
       val = Qnil;
     else
index aff9e970f63813edfce00fc475387b30c315933b..9efde26138616d978b7ade4b7088a26d3d3ddefb 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for asynchronous process control in GNU Emacs.
-   Copyright (C) 1985, 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985, 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 889d836af78931cee65de7d1afea649034ce8bdf..bca36b2a56242bbddd2f9d34436d7e9b871eee03 100644 (file)
@@ -1,5 +1,5 @@
 /* How much read-only Lisp storage a dumped Emacs needs.
-   Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 62189ad8fc7ae08b9047b2661fd90329dbb808a3..13587b9ffd455ab9958ccbc1d12817e61b879c55 100644 (file)
@@ -1,5 +1,5 @@
 /* Block-relocating memory allocator.
-   Copyright (C) 1993, 1995, 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993, 1995, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 0ba05a95fdbe4f79e36e01cf92fd0f0253e1d3e7..0f9150193ec68ce67d0cc3abfa2664790b0f1aab 100644 (file)
@@ -2,7 +2,7 @@
    0.12.  (Implements POSIX draft P1003.2/D11.2, except for some of the
    internationalization features.)
 
-   Copyright (C) 1993-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993-2012  Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 32ccfb7ddef569d5244252ef3a080eb2d88ed84c..643d0b7b5aba447100ece544e776a9205a3d798c 100644 (file)
@@ -1,7 +1,7 @@
 /* Definitions for data structures and routines for the regular
    expression library, version 0.12.
 
-   Copyright (C) 1985, 1989-1993, 1995, 2000-2011
+   Copyright (C) 1985, 1989-1993, 1995, 2000-2012
                  Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
index 054374eb688830ad94a6cfc803d2aa3a812a17ce..9f4e5921877a6319da9095d776efb2c7d8e58365 100644 (file)
@@ -1,6 +1,6 @@
 /* Caching facts about regions of the buffer, for optimization.
 
-Copyright (C) 1985-1989, 1993, 1995, 2001-2011
+Copyright (C) 1985-1989, 1993, 1995, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 6758f8bcd08c3318566314e009452579fc716b72..7aebdbec2629204a62f9b95c713072628854b5d2 100644 (file)
@@ -1,6 +1,6 @@
 /* Header file: Caching facts about regions of the buffer, for optimization.
 
-Copyright (C) 1985-1986, 1993, 1995, 2001-2011
+Copyright (C) 1985-1986, 1993, 1995, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index b44bd0308a3f5db9b929c7421361f3b700e4d898..37b041396f9fd1ab82eb72a3eb8710ea37418441 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 0cca005b423f6350696a331f6a9b72cb4435952b..c2dbdb9a109cc3604843006e3a96769c81e70ec9 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions file for GNU Emacs running on bsd 4.3
 
-Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 8f5a0ab1fc7999309c9ce12158a6323629de4aa8..9a371829eaacc26a52e1755d057042417d3fdf92 100644 (file)
@@ -1,6 +1,6 @@
 /* System description header file for Cygwin.
 
-Copyright (C) 1985-1986, 1992, 1999, 2002-2011 Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1992, 1999, 2002-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index dd0d0c34021b9114866542a5d5390b7381b144d5..9ac9e91fd9df53ccd1909393e46781394571619c 100644 (file)
@@ -1,6 +1,6 @@
 /* System description header file for Darwin (Mac OS X).
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 24b34e02f6935bb3bafc82fd933e7bbf4254014a..c74605fe3661329ff6c93063c87bcb12e8801ff1 100644 (file)
@@ -1,6 +1,6 @@
 /* System description header for FreeBSD systems.
 
-Copyright (C) 1994-2011  Free Software Foundation, Inc.
+Copyright (C) 1994-2012  Free Software Foundation, Inc.
 
 Author: Shawn M. Carey
 (according to authors.el)
index 3d78bf695bcfb528d089274240aad8c4869dcb0d..b54bd985e6bc3d9c20713e50b7c52efb0f12250c 100644 (file)
@@ -1,6 +1,6 @@
 /* This file is the configuration file for Linux-based GNU systems
 
-Copyright (C) 1985-1986, 1992, 1994, 1996, 1999, 2001-2011
+Copyright (C) 1985-1986, 1992, 1994, 1996, 1999, 2001-2012
   Free Software Foundation, Inc.
 
 This file was put together by Michael K. Johnson and Rik Faith.
@@ -155,7 +155,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
     extern void *__libc_ia64_register_backing_store_base;      \
     __builtin_ia64_flushrs ();                                 \
     mark_memory (__libc_ia64_register_backing_store_base,      \
-                __builtin_ia64_bsp (), 0);                     \
+                __builtin_ia64_bsp ());                        \
   } while (0)
 #endif
 #endif
index b40f7b0a95b9b4e282d3aa1704e0a99733b9e6f2..be831a833a5761c3165a064380a3cae2558c9a75 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions file for GNU Emacs running on the GNU Hurd.
 
-Copyright (C) 1994-1996, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index be457498addae572c6a550fd5d687a8416013a62..becb5d3464e973434484f52710c7eee4221c410e 100644 (file)
@@ -1,6 +1,6 @@
 /* System description file for hpux version 10.20.
 
-Copyright (C) 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 26eb7dcde77929424ca3259c4a3ad872e7a2600e..32374498fe7a48e831e49bc589dd0b591b6a0002 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions file for GNU Emacs running on Silicon Graphics Irix system 6.5.
 
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index cc19765aba613846eca217ab6396aa82fbd3ac5e..d533ae34ac3875dfcc8ac1b55bb341808174beb9 100644 (file)
@@ -1,6 +1,6 @@
 /* System description file for Windows NT.
 
-Copyright (C) 1993-1995, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 9ee13d12867ed18d80358713e7c512a71d8b052a..cde24147c5716c03d23488853edcc138160f99cd 100644 (file)
@@ -1,6 +1,6 @@
 /* System description file for MS-DOS
 
-Copyright (C) 1993, 1996-1997, 2001-2011 Free Software Foundation, Inc.
+Copyright (C) 1993, 1996-1997, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 52cda717a2d4c43dfabe3d8a05d46794649bae93..f25023fb615b321cf985ff78e55c7aff393273ac 100644 (file)
@@ -1,6 +1,6 @@
 /* s/ file for netbsd system.
 
-Copyright (C) 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 3d9bd6ddafc772296aa08faa3149d472fe74041d..a9fefcb199293a11b44ded79ba0cda86cfc69080 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions file for GNU Emacs running on Solaris 2.6.
 
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 4e0400e99e34eedf6c62698447b1f7b8cb120260..527694bd4bb3ba257564a411c31bb88a5482dd7a 100644 (file)
@@ -2,7 +2,7 @@
    This file describes the parameters that system description files
    should define or not.
 
-Copyright (C) 1985-1986, 1992, 1999, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1992, 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 8fe28625dd4513f95a712d79392bda6b262d9891..22c396a060e9612298dea201fd9d9b3402abed04 100644 (file)
@@ -1,6 +1,6 @@
 /* s/ file for Unixware.
 
-Copyright (C) 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e6d992d8f9c95706b04765c75a3517258e0bf2d0..fabdd66f3bb441a874014fdaab27b19578a3a770 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions file for GNU Emacs running on AT&T's System V Release 4
 
-Copyright (C) 1987, 1990, 1999-2011  Free Software Foundation, Inc.
+Copyright (C) 1987, 1990, 1999-2012  Free Software Foundation, Inc.
 
 Written by James Van Artsdalen of Dell Computer Corp. james@bigtex.cactus.org.
 Subsequently improved for Dell 2.2 by Eric S. Raymond <esr@snark.thyrsus.com>.
index 4e0801f092fbf35f7a30eeb92ca7fb7fa8f78918..abc5c17400ad8a88c7eede9897893dae6c5d0aa2 100644 (file)
@@ -1,6 +1,6 @@
 /* Calculate what line insertion or deletion to do, and do it
 
-Copyright (C) 1985-1986, 1990, 1993-1994, 2001-2011
+Copyright (C) 1985-1986, 1990, 1993-1994, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 160d08e3c8ca26b5ccc6a7ad7e710d73a77dca47..0d451bd11c3730ba1e117e7a10a310fac82e9b95 100644 (file)
@@ -1,5 +1,5 @@
 /* String search routines for GNU Emacs.
-   Copyright (C) 1985-1987, 1993-1994, 1997-1999, 2001-2011
+   Copyright (C) 1985-1987, 1993-1994, 1997-1999, 2001-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -725,8 +725,8 @@ scan_buffer (register int target, ptrdiff_t start, ptrdiff_t end,
                  the region from start to cursor is free of them. */
               if (target == '\n' && newline_cache)
                 know_region_cache (current_buffer, newline_cache,
-                                   start_byte + scan_start - base,
-                                   start_byte + cursor - base);
+                                   BYTE_TO_CHAR (start_byte + scan_start - base),
+                                   BYTE_TO_CHAR (start_byte + cursor - base));
 
               /* Did we find the target character?  */
               if (cursor < ceiling_addr)
@@ -791,8 +791,8 @@ scan_buffer (register int target, ptrdiff_t start, ptrdiff_t end,
                  the region from after the cursor to start is free of them.  */
               if (target == '\n' && newline_cache)
                 know_region_cache (current_buffer, newline_cache,
-                                   start_byte + cursor - base,
-                                   start_byte + scan_start - base);
+                                   BYTE_TO_CHAR (start_byte + cursor - base),
+                                   BYTE_TO_CHAR (start_byte + scan_start - base));
 
               /* Did we find the target character?  */
               if (cursor >= ceiling_addr)
@@ -1303,7 +1303,7 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
             checking if we can use boyer-moore search.  If TRT is
             non-nil, we can use boyer-moore search only if TRT can be
             represented by the byte array of 256 elements.  For that,
-            all non-ASCII case-equivalents of all case-senstive
+            all non-ASCII case-equivalents of all case-sensitive
             characters in STRING must belong to the same charset and
             row.  */
 
index 31414fbe5c6032196408274bdd388e36f6ecb16c..3ae14b5daec614122409aad543d2d90b6d5403f9 100644 (file)
@@ -1,7 +1,7 @@
 /* simulate `sbrk' with an array in .bss, for `unexec' support for Cygwin;
    complete rewrite of xemacs Cygwin `unexec' code
 
-   Copyright (C) 2004-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index af9dc98c3d3df2a85acd898dc6bad2abf81e26c3..bd34628767b645086c68266ecccb51cdc2a4b968 100644 (file)
@@ -1,5 +1,5 @@
 /* sound.c -- sound support.
-   Copyright (C) 1998-1999, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 7108016f99ce9d3ca38ba55e058c7e93ca6259ae..a802360582b30909124ac8d2da2495ffd1fa6437 100644 (file)
@@ -1,5 +1,5 @@
 /* GNU Emacs routines to deal with syntax tables; also word and list parsing.
-   Copyright (C) 1985, 1987, 1993-1995, 1997-1999, 2001-2011
+   Copyright (C) 1985, 1987, 1993-1995, 1997-1999, 2001-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 1ea37ac5d5f43fa9a3fd04d001d6e77f3cbc128d..3f5e6a63e253886748658cf041b32baa579f423d 100644 (file)
@@ -1,6 +1,6 @@
 /* Declarations having to do with GNU Emacs syntax tables.
 
-Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2011
+Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index bd8a10204417dbad582a854ed316aa9c5ef2d63b..426c68323474bda2063001ade42682d9c8e8b7f7 100644 (file)
@@ -1,5 +1,5 @@
 /* Interfaces to system-dependent kernel and library entries.
-   Copyright (C) 1985-1988, 1993-1995, 1999-2011
+   Copyright (C) 1985-1988, 1993-1995, 1999-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 20eade8d07af2978a4073cc847034f0f5ed3d440..f9b9fc00b35a091280a3385a1789aed5cf7f48c3 100644 (file)
@@ -1,5 +1,5 @@
 /* sysselect.h - System-dependent definitions for the select function.
-   Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 315400d8498da30c3a3c20fd097ba0f2e5b573ec..86135d71215ac875c5327c23875b4559b20bcf3f 100644 (file)
@@ -1,5 +1,5 @@
 /* syssignal.h - System-dependent definitions for signals.
-   Copyright (C) 1993, 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993, 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index b90372dbe2043031d238d918a98d35aba42cafea..9e7a1173a20dd06cf2eb23398171465c80e19a6b 100644 (file)
@@ -1,5 +1,5 @@
 /* systime.h - System-dependent definitions for time manipulations.
-   Copyright (C) 1993-1994, 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 2002-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 647cfa23cee72c48667d7bc950f44ef2e72c75c3..a258635ac09dd8206e340ea4d2a7213e4db78a94 100644 (file)
@@ -1,5 +1,5 @@
 /* systty.h - System-dependent definitions for terminals.
-   Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 44a824abadb2c263997d3c4361ea043529e794f8..aea9ea6e58843d6bd95808804b98f435c0b6ee2b 100644 (file)
@@ -1,5 +1,5 @@
 /* Define wait system call interface for Emacs.
-   Copyright (C) 1993-1995, 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993-1995, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 036f5797e48e19a1226f9424cd2deddee3b26c22..09888bc6dda8316aa47188ee402b4b2d66fb89ef 100644 (file)
@@ -1,5 +1,5 @@
 /* Terminal control module for terminals described by TERMCAP
-   Copyright (C) 1985-1987, 1993-1995, 1998, 2000-2011
+   Copyright (C) 1985-1987, 1993-1995, 1998, 2000-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -1809,7 +1809,7 @@ append_glyphless_glyph (struct it *it, int face_id, const char *str)
    glyphless_display_method in dispextern.h for the details.
 
    FOR_NO_FONT is nonzero if and only if this is for a character that
-   is not supproted by the coding system of the terminal.  ACRONYM, if
+   is not supported by the coding system of the terminal.  ACRONYM, if
    non-nil, is an acronym string for the character.
 
    The glyphs actually produced are of type CHAR_GLYPH.  */
index 5ca3cf305c1c428cf5a1356296c6f918c8ab6cf8..d50ee805e03e544c5daab0fc52d937f77a3c5772 100644 (file)
@@ -1,5 +1,5 @@
 /* Flags and parameters describing terminal's characteristics.
-   Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index c8e3f4566cd678e95a04f258cc6c5ec2e86101b4..4cad4825cdd9762d10674890d332aab53217bbaa 100644 (file)
@@ -1,6 +1,6 @@
 /* Parameters and display hooks for terminal devices.
 
-Copyright (C) 1985-1986, 1993-1994, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 67577adf3b4255515217996d108dc877397528b3..9579d1dbd665e7f3a6da8f659c1b3fcf695a1655 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions related to terminal devices.
-   Copyright (C) 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index c0418984efad7d95a17606cb5429e4c8b43a0162..dce7af77bcf714320bc4dc5c0406afef68ee9148 100644 (file)
@@ -1,5 +1,5 @@
 /* Interface from Emacs to terminfo.
-   Copyright (C) 1985-1986, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 86b7cf782c4ae43ee568a3fb0282dc03e68745d7..7bf71aeefe7d88726ba0f85213ce8bffcc354213 100644 (file)
@@ -1,5 +1,5 @@
 /* Flags and parameters describing user options for handling the terminal.
-   Copyright (C) 1985-1986, 1990, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1986, 1990, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 1a635444b005850310f2c73cde5c27623ad45a8b..f9339c668934ec45af44c64a42a5d08dc96d7aa0 100644 (file)
@@ -1,5 +1,5 @@
 /* Interface code for dealing with text properties.
-   Copyright (C) 1993-1995, 1997, 1999-2011 Free Software Foundation, Inc.
+   Copyright (C) 1993-1995, 1997, 1999-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -2230,7 +2230,7 @@ This also inhibits the use of the `intangible' text property.  */);
 
   DEFVAR_LISP ("text-property-default-nonsticky",
               Vtext_property_default_nonsticky,
-              doc: /* Alist of properties vs the corresponding non-stickinesses.
+              doc: /* Alist of properties vs the corresponding non-stickiness.
 Each element has the form (PROPERTY . NONSTICKINESS).
 
 If a character in a buffer has PROPERTY, new text inserted adjacent to
index dc4cdfaa28c342604fb280c027d3a55e7af30957..e845f3e8202d77b3a1073d829fc6319458c32054 100644 (file)
@@ -1,6 +1,6 @@
 /* Interface definitions for termcap entries.
 
-Copyright (C) 2011  Free Software Foundation, Inc.
+Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 7e999fe512069a35cf8b68c5ba1c94b69d69d995..929955ffcf5f434b75384048ae4cd2e47d93f6c7 100644 (file)
@@ -1,5 +1,5 @@
 /* undo handling for GNU Emacs.
-   Copyright (C) 1990, 1993-1994, 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993-1994, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 22120b0ea03f28fdb85002dc366a0acab0f49a57..1bf65b6851866ca45d9e40ad8f8811df55e01640 100644 (file)
@@ -1,5 +1,5 @@
 /* Dump an executable image.
-   Copyright (C) 1985-1988, 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1985-1988, 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index ef86a40023916c12fe5d4b546fbc2dfa3858b7a4..5b2697378392265e1873521b9cd77fe04d4dfd8b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1985-1988, 1992-1994, 2001-2011  Free Software Foundation, Inc.
+/* Copyright (C) 1985-1988, 1992-1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 62df82ec3bc629c23392f6d88108239ede9bf3cf..eae534cf4ddd957a669c3a9fd8f7c95df2d859e7 100644 (file)
@@ -1,7 +1,7 @@
 /* unexec() support for Cygwin;
    complete rewrite of xemacs Cygwin unexec() code
 
-   Copyright (C) 2004-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 1715c3670ca2fd5f9ea33a60c28a78535fc3d31b..ac9c9e757649eadf3df1b9b69eb7c3e1702b1a70 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1985-1988, 1990, 1992, 1999-2011
+/* Copyright (C) 1985-1988, 1990, 1992, 1999-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index a4c2f241c9fc64e747e7501ee2895df6c514e617..2e77d3e17bcd214ccbaa4dc4efa7623ca96ec5dd 100644 (file)
@@ -1,5 +1,5 @@
 /* Dump Emacs in Mach-O format for use on Mac OS X.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e5440c2f500a35e77cbc6710969a0756e525835b..52b2ec4bf2b1cb27635913323bab2841375af001 100644 (file)
@@ -1,5 +1,5 @@
 /* unexec for GNU Emacs on Windows NT.
-   Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index fc847a295dd730d2e5a07aeab874a22aa4fdbdbe..94725044048b0a6a42e93f26e00a896e7bf08aed 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions for memory limit warnings.
-   Copyright (C) 1990, 1992, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1990, 1992, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index cae7a6f82dd53be64d6b3617a7663b844b5e03e4..185bf252895350a3df87691a8e3f1a044ad74ad3 100644 (file)
@@ -1,6 +1,6 @@
 /* 16-bit Windows Selection processing for emacs on MS-Windows
 
-Copyright (C) 1996-1997, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1996-1997, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -114,7 +114,7 @@ identify_winoldap_version (void)
   return regs.x.ax;
 }
 
-/* Open the clipboard, return non-zero if successfull.  */
+/* Open the clipboard, return non-zero if successful.  */
 unsigned
 open_clipboard (void)
 {
@@ -137,7 +137,7 @@ open_clipboard (void)
   return regs.x.ax;
 }
 
-/* Empty clipboard, return non-zero if successfull.  */
+/* Empty clipboard, return non-zero if successful.  */
 unsigned
 empty_clipboard (void)
 {
@@ -207,7 +207,7 @@ free_xfer_buf (void)
     }
 }
 
-/* Copy data into the clipboard, return zero if successfull.  */
+/* Copy data into the clipboard, return zero if successful.  */
 unsigned
 set_clipboard_data (unsigned Format, void *Data, unsigned Size, int Raw)
 {
@@ -405,7 +405,7 @@ get_clipboard_data (unsigned Format, void *Data, unsigned Size, int Raw)
   return (unsigned) (dp - (unsigned char *)Data - 1);
 }
 
-/* Close clipboard, return non-zero if successfull.  */
+/* Close clipboard, return non-zero if successful.  */
 unsigned
 close_clipboard (void)
 {
@@ -730,4 +730,3 @@ After the communication, this variable is set to nil.  */);
 }
 
 #endif /* MSDOS */
-
index b26327462d87ab5cf966546924363fb39b189169..f610a36ecf464cc6d81bdc9dac586f7d2fdd2b88 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -1,5 +1,5 @@
 /* Utility and Unix shadow routines for GNU Emacs on the Microsoft W32 API.
-   Copyright (C) 1994-1995, 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 1994-1995, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -2894,6 +2894,8 @@ sys_rename (const char * oldname, const char * newname)
 {
   BOOL result;
   char temp[MAX_PATH];
+  int newname_dev;
+  int oldname_dev;
 
   /* MoveFile on Windows 95 doesn't correctly change the short file name
      alias in a number of circumstances (it is not easy to predict when
@@ -2910,6 +2912,9 @@ sys_rename (const char * oldname, const char * newname)
 
   strcpy (temp, map_w32_filename (oldname, NULL));
 
+  /* volume_info is set indirectly by map_w32_filename.  */
+  oldname_dev = volume_info.serialnum;
+
   if (os_subtype == OS_WIN95)
     {
       char * o;
@@ -2953,13 +2958,38 @@ sys_rename (const char * oldname, const char * newname)
      all the permutations of shared or subst'd drives, etc.)  */
 
   newname = map_w32_filename (newname, NULL);
+
+  /* volume_info is set indirectly by map_w32_filename.  */
+  newname_dev = volume_info.serialnum;
+
   result = rename (temp, newname);
 
-  if (result < 0
-      && errno == EEXIST
-      && _chmod (newname, 0666) == 0
-      && _unlink (newname) == 0)
-    result = rename (temp, newname);
+  if (result < 0)
+    {
+
+      if (errno == EACCES
+         && newname_dev != oldname_dev)
+       {
+         /* The implementation of `rename' on Windows does not return
+            errno = EXDEV when you are moving a directory to a
+            different storage device (ex. logical disk).  It returns
+            EACCES instead.  So here we handle such situations and
+            return EXDEV.  */
+         DWORD attributes;
+
+         if ((attributes = GetFileAttributes (temp)) != -1
+             && attributes & FILE_ATTRIBUTE_DIRECTORY)
+           errno = EXDEV;
+       }
+      else if (errno == EEXIST)
+       {
+         if (_chmod (newname, 0666) != 0)
+           return result;
+         if (_unlink (newname) != 0)
+           return result;
+         result = rename (temp, newname);
+       }
+    }
 
   return result;
 }
index a3ca1130ce6a64804135f8325cd4cd51113a5c18..2866cb2f34a8c61b2d0a689d406506284a171e70 100644 (file)
--- a/src/w32.h
+++ b/src/w32.h
@@ -2,7 +2,7 @@
 #define EMACS_W32_H
 
 /* Support routines for the NT version of Emacs.
-   Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 30c71f1c276ebef2cf7a047fd673451ec655368f..e8b0f621b4f8f7447d41f2c825f5239811e59945 100644 (file)
@@ -1,5 +1,5 @@
 /* Terminal hooks for GNU Emacs on the Microsoft W32 API.
-   Copyright (C) 1992, 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1992, 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 20284108185a55e62644781c94ed76c1856bf659..d7a6eefab6718903c094778325aaf46300ba5793 100644 (file)
@@ -1,6 +1,6 @@
 /* Graphical user interface functions for the Microsoft W32 API.
 
-Copyright (C) 1989, 1992-2011  Free Software Foundation, Inc.
+Copyright (C) 1989, 1992-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 5cc37c0e74f63833a02e5d41c4f2e33c16deac75..dab9f4c61b480f856c4f6318fcc8b20beebcc6f1 100644 (file)
@@ -1,5 +1,5 @@
 /* Font backend for the Microsoft W32 API.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -786,7 +786,7 @@ w32font_free_outline (struct font *font, void *outline);
    Optional.
    Get coordinates of the INDEXth anchor point of the glyph whose
    code is CODE.  Store the coordinates in *X and *Y.  Return 0 if
-   the operations was successfull.  Otherwise return -1.
+   the operations was successful.  Otherwise return -1.
 static int
 w32font_anchor_point (struct font *font, unsigned code,
                                  int index, int *x, int *y);
index f77866b869fe7d446c3fa372323f537f0dc883e7..40edafa146dae85b537689fa20dc4650c0a773a2 100644 (file)
@@ -1,5 +1,5 @@
 /* Shared GDI and Uniscribe Font backend declarations for the W32 API.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 2ba9cb53e22a48aa1352e1b6259374cfe0aaee36..1e800e3cf3a81ae8dae66f109fa620cc0eee7fc2 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication on the Microsoft W32 API.
-   Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 477c11a5160df871f083655428a0b74906542a8f..35ac4cbf31ff6c71ce16e5d8f2a3ea5acecd6e08 100644 (file)
@@ -1,5 +1,5 @@
 /* Heap management routines for GNU Emacs on the Microsoft W32 API.
-   Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index e75bfcf36ec72fb63b9be2b20d14afdf4197239d..b2d516550981967bb739646ddc579112f5d5e44d 100644 (file)
@@ -1,5 +1,5 @@
 /* Heap management routines (including unexec) for GNU Emacs on Windows NT.
-   Copyright (C) 1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index fddde61663f1b9bf2e9a11649f7052a8ef181833..e7a8bf629d63184c408d40b8531bb519c7b7fd57 100644 (file)
@@ -1,5 +1,5 @@
 /* Input event support for Emacs on the Microsoft W32 API.
-   Copyright (C) 1992-1993, 1995, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1992-1993, 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 9ca52508151faa454d7599ef45226fe5aa4e1a22..d228637abfbcd237ef21bc6836c2daacd36391dc 100644 (file)
@@ -1,5 +1,5 @@
 /* Input routines for GNU Emacs on the Microsoft W32 API.
-   Copyright (C) 1995, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 369b75877e87232f90ff3306545a61ebc10f4118..4b3aa4f80470d92f5da3ac2652c42902405ab46c 100644 (file)
@@ -1,5 +1,5 @@
 /* Menu support for GNU Emacs on the Microsoft W32 API.
-   Copyright (C) 1986, 1988, 1993-1994, 1996, 1998-1999, 2001-2011
+   Copyright (C) 1986, 1988, 1993-1994, 1996, 1998-1999, 2001-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 254a32503c4ca5fdd6df5c15271320cbd1803cbb..f7982f3691322ab8d6bb13fa041327c5b8955e7e 100644 (file)
@@ -1,5 +1,5 @@
 /* Process support for GNU Emacs on the Microsoft W32 API.
-   Copyright (C) 1992, 1995, 1999-2011  Free Software Foundation, Inc.
+   Copyright (C) 1992, 1995, 1999-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 18374431062cdb0459563322859843b7781f5c45..ec251cfd8379389458338a32883ad7cda67e1e2a 100644 (file)
@@ -1,5 +1,5 @@
 /* Emulate the X Resource Manager through the registry.
-   Copyright (C) 1990, 1993-1994, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 392cb07a96d9936f6826d859d208e08b7283a902..c60376b3a9174133254608f6a867d21546c445b4 100644 (file)
@@ -1,6 +1,6 @@
 /* Selection processing for Emacs on the Microsoft W32 API.
 
-Copyright (C) 1993-1994, 2001-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 6df218326d14ea06fbf0a1b4b886c073e5592da3..f764ad9d218183c808f58bbe127f0282969d71ca 100644 (file)
@@ -1,6 +1,6 @@
 /* Implementation of GUI terminal on the Microsoft W32 API.
 
-Copyright (C) 1989, 1993-2011  Free Software Foundation, Inc.
+Copyright (C) 1989, 1993-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -3286,7 +3286,7 @@ w32_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window,
  ***********************************************************************/
 
 /* Handle mouse button event on the tool-bar of frame F, at
-   frame-relative coordinates X/Y.  EVENT_TYPE is either ButtionPress
+   frame-relative coordinates X/Y.  EVENT_TYPE is either ButtonPress
    or ButtonRelease.  */
 
 static void
@@ -3388,7 +3388,7 @@ w32_set_scroll_bar_thumb (struct scroll_bar *bar,
   if (whole)
     {
       /* Position scroll bar at rock bottom if the bottom of the
-         buffer is visible. This avoids shinking the thumb away
+         buffer is visible. This avoids shrinking the thumb away
          to nothing if it is held at the bottom of the buffer.  */
       if (position + portion >= whole && !draggingp)
        {
@@ -3556,7 +3556,7 @@ x_scroll_bar_remove (struct scroll_bar *bar)
   /* Destroy the window.  */
   my_destroy_window (f, SCROLL_BAR_W32_WINDOW (bar));
 
-  /* Disassociate this scroll bar from its window.  */
+  /* Dissociate this scroll bar from its window.  */
   XWINDOW (bar->window)->vertical_scroll_bar = Qnil;
 
   UNBLOCK_INPUT;
index f587ee11af9ac96bcd9251674a9be83f56d469be..4528bbd5c0a4448bfee13e9a6abad8d9c22a9b6d 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication on the Microsoft W32 API.
-   Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 63da3b9e9627745bdd2a7278b87694f30948bac3..5e5c8e88b2beadcda24c1c8f367a1789193954a4 100644 (file)
@@ -1,5 +1,5 @@
 /* Font backend for the Microsoft W32 Uniscribe API.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index fc2d5904d679df88040e797801547f3ce72f735b..0b0fc26fb6aa46b3bbdf8066b0095b7879759e02 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions taken directly from X sources for use with the Microsoft W32 API.
-   Copyright (C) 1989, 1992-1995, 1999, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1989, 1992-1995, 1999, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 96bfd4787e9175db3b57ef2a6390d24322ebcc8c..0cb1013b9718cd79e74e427e3042935f46bc7b1a 100644 (file)
@@ -1,5 +1,5 @@
 /* The emacs frame widget.
-   Copyright (C) 1992-1993, 2000-2011  Free Software Foundation, Inc.
+   Copyright (C) 1992-1993, 2000-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 11041d54ad049b7e36cdf22986228e775a47770a..03838a01415ca7c83d9ec189260a00e59a78b0e0 100644 (file)
@@ -1,5 +1,5 @@
 /* The emacs frame widget public header file.
-   Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 997a70e026cfd1fe1875c5239242b55f0b1326f8..00e3eeb1ee1c31f75c5727580236057ecd71d5ba 100644 (file)
@@ -1,5 +1,5 @@
 /* The emacs frame widget private header file.
-   Copyright (C) 1993, 2001-2011  Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 8337ede50d1ed13dead6ea3b91f2ede316ea8df4..27e4914ad1a7aa2358b5b5932160d7c0fe077766 100644 (file)
@@ -1,6 +1,6 @@
 /* Window creation, deletion and examination for GNU Emacs.
    Does not include redisplay.
-   Copyright (C) 1985-1987, 1993-1998, 2000-2011
+   Copyright (C) 1985-1987, 1993-1998, 2000-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index b4e268b1a349e0264b1756b3a05588f19a129668..ea127ca95a80ed51f2713cdde1129f5037b4b731 100644 (file)
@@ -1,5 +1,5 @@
 /* Window definitions for GNU Emacs.
-   Copyright (C) 1985-1986, 1993, 1995, 1997-2011
+   Copyright (C) 1985-1986, 1993, 1995, 1997-2012
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
index 4eef9e05231b814da7cf5ab77a0d2c30687fb772..d3a1dfc4b207769b8b010ab198e7a440f75c354b 100644 (file)
@@ -1,6 +1,6 @@
 /* Display generation from window structure and buffer text.
 
-Copyright (C) 1985-1988, 1993-1995, 1997-2011  Free Software Foundation, Inc.
+Copyright (C) 1985-1988, 1993-1995, 1997-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -4093,10 +4093,11 @@ handle_invisible_prop (struct it *it)
          while (invis_p);
 
          /* The position newpos is now either ZV or on visible text.  */
-         if (it->bidi_p && newpos < ZV)
+         if (it->bidi_p)
            {
              ptrdiff_t bpos = CHAR_TO_BYTE (newpos);
-             int on_newline = FETCH_BYTE (bpos) == '\n';
+             int on_newline =
+               bpos == ZV_BYTE || FETCH_BYTE (bpos) == '\n';
              int after_newline =
                newpos <= BEGV || FETCH_BYTE (bpos - 1) == '\n';
 
@@ -4114,16 +4115,16 @@ handle_invisible_prop (struct it *it)
 
                  SET_TEXT_POS (tpos, newpos, bpos);
                  reseat_1 (it, tpos, 0);
-                 /* If we reseat on a newline, we need to prep the
+                 /* If we reseat on a newline/ZV, we need to prep the
                     bidi iterator for advancing to the next character
-                    after the newline, keeping the current paragraph
+                    after the newline/EOB, 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.ch = (bpos == ZV_BYTE) ? -1 : '\n';
                      it->bidi_it.nchars = 1;
                      it->bidi_it.ch_len = 1;
                    }
@@ -4341,7 +4342,7 @@ handle_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object,
   int rv;
 
   if (CONSP (spec)
-      /* Simple specerties.  */
+      /* Simple specifications.  */
       && !EQ (XCAR (spec), Qimage)
       && !EQ (XCAR (spec), Qspace)
       && !EQ (XCAR (spec), Qwhen)
@@ -13651,7 +13652,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
   /* Non-zero means we've seen at least one glyph that came from a
      display string.  */
   int string_seen = 0;
-  /* Largest and smalles buffer positions seen so far during scan of
+  /* Largest and smallest buffer positions seen so far during scan of
      glyph row.  */
   ptrdiff_t bpos_max = pos_before;
   ptrdiff_t bpos_min = pos_after;
@@ -28331,7 +28332,11 @@ all the functions in the list are called, with the frame as argument.  */);
 Each function is called with two arguments, the window and its new
 display-start position.  Note that these functions are also called by
 `set-window-buffer'.  Also note that the value of `window-end' is not
-valid when these functions are called.  */);
+valid when these functions are called.
+
+Warning: Do not use this feature to alter the way the window
+is scrolled.  It is not designed for that, and such use probably won't
+work.  */);
   Vwindow_scroll_functions = Qnil;
 
   DEFVAR_LISP ("window-text-change-functions",
index 5a7b39fcca526bc6ac22b454a2f717c5f9cb4eb1..151da1e032b01444ad53a882bc712c073fccc124 100644 (file)
@@ -1,6 +1,6 @@
 /* xfaces.c -- "Face" primitives.
 
-Copyright (C) 1993-1994, 1998-2011  Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 1998-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 642b3602833e5c8cc0144c7d7f9979e9fb91b8ea..b0cef7221f87c0f8cf6e02e85e725c43c81f882f 100644 (file)
@@ -1,6 +1,6 @@
 /* Functions for the X window system.
 
-Copyright (C) 1989, 1992-2011  Free Software Foundation, Inc.
+Copyright (C) 1989, 1992-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -3519,9 +3519,21 @@ FRAME nil means use the selected frame.  */)
 
   BLOCK_INPUT;
   x_catch_errors (dpy);
-  XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
-                 RevertToParent, CurrentTime);
-  x_ewmh_activate_frame (f);
+
+  if (FRAME_X_EMBEDDED_P (f))
+    {
+      /* For Xembedded frames, normally the embedder forwards key
+        events.  See XEmbed Protocol Specification at
+        http://freedesktop.org/wiki/Specifications/xembed-spec  */
+      xembed_request_focus (f);
+    }
+  else
+    {
+      XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
+                     RevertToParent, CurrentTime);
+      x_ewmh_activate_frame (f);
+    }
+
   x_uncatch_errors ();
   UNBLOCK_INPUT;
 
index 73f1e130be0c42914d2619b240d711d2ad2db32c..bde76c0ba3ce8b975ba0e8c330eef91fae74db9c 100644 (file)
@@ -1,5 +1,5 @@
 /* xfont.c -- X core font driver.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H13PRO009
index c27a4fcf91ad0df0b8e8ec9e076564135cfb7fc9..bc0c56a0fe04cbc345c513f616f621533beba945 100644 (file)
@@ -1,5 +1,5 @@
 /* xftfont.c -- XFT font driver.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H13PRO009
@@ -654,7 +654,7 @@ xftfont_draw (struct glyph_string *s, int from, int to, int x, int y, int with_b
 
   if (with_background)
     XftDrawRect (xft_draw, &bg,
-                x, y - face->font->ascent, s->width, face->font->height);
+                x, y - s->font->ascent, s->width, s->font->height);
   code = alloca (sizeof (FT_UInt) * len);
   for (i = 0; i < len; i++)
     code[i] = ((XCHAR2B_BYTE1 (s->char2b + from + i) << 8)
index 339ec475117c2f3a2d92e381f38a1bf36c38120d..80dbfc32aee86726337115c686e4dcb1664bf1bd 100644 (file)
@@ -1,6 +1,6 @@
 /* Function for handling the GLib event loop.
 
-Copyright (C) 2009-2011  Free Software Foundation, Inc.
+Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 1d3a8508b9cfee83a90bb4bd78a92d04dffa406a..15d7cd5fdd3d06948dc880cafcc164a98382196b 100644 (file)
@@ -1,6 +1,6 @@
 /* Header for xg_select.
 
-Copyright (C) 2009-2011  Free Software Foundation, Inc.
+Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index b766f142e2d8c096e5570f73c22a63f25dfbbd74..79ead5f598cd84d639013bc61f9e2ff711b0c9af 100644 (file)
@@ -1,6 +1,6 @@
 /* X Communication module for terminals which understand the X protocol.
 
-Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2011
+Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2012
   Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -102,6 +102,9 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifdef USE_GTK
 #include "gtkutil.h"
+#ifdef HAVE_GTK3
+#include "xgselect.h"
+#endif
 #endif
 
 #include "menu.h"
@@ -408,7 +411,15 @@ x_menu_wait_for_event (void *data)
       else
         ntp = &next_time;
 
+#ifdef HAVE_GTK3
+      /* Gtk3 have arrows on menus when they don't fit.  When the pointer is
+         over an arrow, a timeout scrolls it a bit.  Use xg_select so that
+         timeout gets triggered.  */
+
+      xg_select (n + 1, &read_fds, (SELECT_TYPE *)0, (SELECT_TYPE *)0, ntp);
+#else
       select (n + 1, &read_fds, (SELECT_TYPE *)0, (SELECT_TYPE *)0, ntp);
+#endif
     }
 }
 #endif /* ! MSDOS */
@@ -1435,6 +1446,13 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, int x, int y,
   GtkMenuPositionFunc pos_func = 0;  /* Pop up at pointer.  */
   struct next_popup_x_y popup_x_y;
   ptrdiff_t specpdl_count = SPECPDL_INDEX ();
+  int use_pos_func = ! for_click;
+
+#ifdef HAVE_GTK3
+  /* Always use position function for Gtk3.  Otherwise menus may become
+     too small to show anything.  */
+  use_pos_func = 1;
+#endif
 
   if (! FRAME_X_P (f))
     abort ();
@@ -1446,7 +1464,7 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, int x, int y,
                            G_CALLBACK (menu_highlight_callback));
   xg_crazy_callback_abort = 0;
 
-  if (! for_click)
+  if (use_pos_func)
     {
       /* Not invoked by a click.  pop up at x/y.  */
       pos_func = menu_position_func;
@@ -1461,7 +1479,8 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, int x, int y,
 
       i = 0;  /* gtk_menu_popup needs this to be 0 for a non-button popup.  */
     }
-  else
+
+  if (for_click)
     {
       for (i = 0; i < 5; i++)
         if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
index 0b39f3e603150953336c1014ef7329be20ebdc4b..8c88226b505807d880b6ef6f698c08141b1c0c9d 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -1,5 +1,5 @@
 /* Interface to libxml2.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 0c916da9ff8553583badc8170d9664f8c1859256..58ca682c75762311101dc6c16bb50229fc4d3730 100644 (file)
@@ -1,5 +1,5 @@
 /* Deal with the X Resource Manager.
-   Copyright (C) 1990, 1993-1994, 2000-2011 Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993-1994, 2000-2012 Free Software Foundation, Inc.
 
 Author: Joseph Arceneaux
 Created: 4/90
index 099b1670e4d881529428d50f26432842172d67a0..f7b65809443c92cd9a597b4146cf14d6d35d388b 100644 (file)
@@ -1,5 +1,5 @@
 /* X Selection processing for Emacs.
-   Copyright (C) 1993-1997, 2000-2011 Free Software Foundation, Inc.
+   Copyright (C) 1993-1997, 2000-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -756,7 +756,7 @@ x_reply_selection_request (struct input_event *event,
   /* The window we're communicating with may have been deleted
      in the meantime (that's a real situation from a bug report).
      In this case, there may be events in the event queue still
-     refering to the deleted window, and we'll get a BadWindow error
+     referring to the deleted window, and we'll get a BadWindow error
      in XTread_socket when processing the events.  I don't have
      an idea how to fix that.  gerd, 2001-01-98.   */
   /* 2004-09-10: XSync and UNBLOCK so that possible protocol errors are
index a8604ac5897b7cc5b438ebc024ae88e33a17d43a..066c6e795e91396a86acb7446a0da30097f11282 100644 (file)
@@ -1,6 +1,6 @@
 /* Functions for handling font and other changes dynamically.
 
-Copyright (C) 2009-2011  Free Software Foundation, Inc.
+Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 38448eb88f599cac9b6d96c165df4a0fefe140a9..d6b0c0945df8c02127d799181b1752de94b65968 100644 (file)
@@ -1,6 +1,6 @@
 /* Functions for handle font changes dynamically.
 
-Copyright (C) 2009-2011  Free Software Foundation, Inc.
+Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 7deac7b14e40e078bd7f3265996abb5b72e172ff..1f6eb84260e7dc9e648568312ea5f1a2819a26c7 100644 (file)
@@ -1,7 +1,7 @@
 /* Session management module for systems which understand the X Session
    management protocol.
 
-Copyright (C) 2002-2011  Free Software Foundation, Inc.
+Copyright (C) 2002-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
index 4bc12c06b3473616fd4ba1ed9e9e5808e9147355..2a2ae105e2ee7cb1fe0a233fc36e6cf3fc689951 100644 (file)
@@ -1,6 +1,6 @@
 /* X Communication module for terminals which understand the X protocol.
 
-Copyright (C) 1989, 1993-2011  Free Software Foundation, Inc.
+Copyright (C) 1989, 1993-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -5150,7 +5150,7 @@ x_scroll_bar_remove (struct scroll_bar *bar)
   XDestroyWindow (FRAME_X_DISPLAY (f), bar->x_window);
 #endif
 
-  /* Disassociate this scroll bar from its window.  */
+  /* Dissociate this scroll bar from its window.  */
   XWINDOW (bar->window)->vertical_scroll_bar = Qnil;
 
   UNBLOCK_INPUT;
@@ -8981,6 +8981,18 @@ x_lower_frame (struct frame *f)
     }
 }
 
+/* Request focus with XEmbed */
+
+void
+xembed_request_focus (FRAME_PTR f)
+{
+  /* See XEmbed Protocol Specification at
+     http://freedesktop.org/wiki/Specifications/xembed-spec  */
+  if (f->async_visible)
+    xembed_send_message (f, CurrentTime,
+                        XEMBED_REQUEST_FOCUS, 0, 0, 0);
+}
+
 /* Activate frame with Extended Window Manager Hints */
 
 void
index 1242bf64d7777df0184243d07c03d735c9c8c500..b498261a80506eed3a49f63911cafe7b3031d55a 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication with X protocol.
-   Copyright (C) 1989, 1993-1994, 1998-2011 Free Software Foundation, Inc.
+   Copyright (C) 1989, 1993-1994, 1998-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -960,6 +960,7 @@ extern void x_clear_errors (Display *);
 extern void x_set_window_size (struct frame *, int, int, int);
 extern void x_set_mouse_position (struct frame *, int, int);
 extern void x_set_mouse_pixel_position (struct frame *, int, int);
+extern void xembed_request_focus (struct frame *);
 extern void x_ewmh_activate_frame (struct frame *);
 extern void x_make_frame_visible (struct frame *);
 extern void x_make_frame_invisible (struct frame *);
index 964238ae45b65117105e27b9fc489ecdddbad883..ffe51fa20a264d24de37113df70b8fe5210d1277 100644 (file)
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2008-2011  Free Software Foundation, Inc.
+  Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index b16c97218978d1eccacf0e722a80f66b4be084f3..c07d5a1897d51d1f98d361dbc8330982f78b189f 100644 (file)
@@ -1,5 +1,5 @@
 # Maintenance productions for the automated test directory
-# Copyright (C) 2010-2011 Free Software Foundation, Inc.
+# Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
index 45d5b19ee710434a83883c0bf16bde254ff1390f..b7ec79fd51cb468130fe017fd1d0e1d0f2e36c58 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bytecomp-testsuite.el
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author:         Shigeru Fukaya <shigeru.fukaya@gmail.com>
 ;; Created:        November 2008
index 4b2d389640701061069b77444a37d7e79fffcdb1..7317c107d59c7f5bba7b203b19a83917d0bade8b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; comint-testsuite.el
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index 0203084bf3856109f7e71756ed7b0327d4109fb3..ad36c4296b462df860efba023fc88759dfef3b76 100644 (file)
@@ -1,6 +1,6 @@
 ;;; compile-tests.el --- Test suite for font parsing.
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Chong Yidong <cyd@stupidchicken.com>
 ;; Keywords:       internal
index 1fe6352e1fefe21ca7afe3a4c0d82e3c2ffcad2e..1778afea8029d4e8bf78fe5ef4646045b5d49fe9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ert-tests.el --- ERT's self-tests
 
-;; Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Christian Ohler <ohler@gnu.org>
 
index ff056b40b36fa8ac289bd930d622999354b1af83..bb05608e41899bcafd7b7cbcc037f7456bdb6beb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ert-x-tests.el --- Tests for ert-x.el
 
-;; Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc.
 
 ;; Author: Phil Hagelberg
 ;;        Christian Ohler <ohler@gnu.org>
index 5d75d5cd0fbd1e33ecaa4f62e53c3149018ea41c..25b77f07ad3137ef11904389857765fd7ce02623 100644 (file)
@@ -1,6 +1,6 @@
 ;;; f90.el --- tests for progmodes/f90.el
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Glenn Morris <rgm@gnu.org>
 
index 5ba8ad2be32f9451127ad6917004866cd160de0e..6aeaee4adcefe25361b7214c137018f83a393b36 100644 (file)
@@ -1,6 +1,6 @@
 ;;; font-parse-tests.el --- Test suite for font parsing.
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
 
 ;; Author: Chong Yidong <cyd@stupidchicken.com>
 ;; Keywords:       internal
index f5742261d5bd9e0003bfd395d1115ccb74798940..3b5340bcdd3d51616ff543c1acc0f5825b245bb3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-tests.el --- Wrapper for the Gnus tests
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Teodor Zlatanov <tzz@lifelogs.com>
 
index 6ed1d73767ab1b378a1b498463dd973667033798..b48ca94f072c24c014d787a014e2dc2863691549 100644 (file)
@@ -1,6 +1,6 @@
 ;; icalendar-tests.el --- Test suite for icalendar.el
 
-;; Copyright (C) 2005, 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2008-2012  Free Software Foundation, Inc.
 
 ;; Author:         Ulf Jasper <ulf.jasper@web.de>
 ;; Created:        March 2005
index 95b8bbe88588177d4a8b6b2074d085fab1bca68d..22668bc7d0273e84c8f1500c4b9a2526666d37cd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; lexbind-tests.el --- Testing the lexbind byte-compiler
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords:
index 76f4345da55aab3a53bb4450618e83f06e08da23..5b60535e4638490fcc91092f2db1234b0754e245 100644 (file)
@@ -1,6 +1,6 @@
 ;;; newsticker-testsuite.el --- Test suite for newsticker.
 
-;; Copyright (C) 2003-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2003-2012  Free Software Foundation, Inc.
 
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Keywords:    News, RSS, Atom
index 2ae5b1c132f4cef63d135e3a10982a50613e5b0f..eb62688d78821a335a1bc3c342dd89cb6e167ba0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; occur-tests.el --- Test suite for occur.
 
-;; Copyright (C) 2010-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2012  Free Software Foundation, Inc.
 
 ;; Author: Juri Linkov <juri@jurta.org>
 ;; Keywords: matching, internal
index b2cbda4d669f52360951db28976b25907c1dd10a..904ab4d13047d42e293dfc1e25255fdff949ac68 100644 (file)
@@ -1,6 +1,6 @@
 ;;; vc-bzr.el --- tests for vc/vc-bzr.el
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2012  Free Software Foundation, Inc.
 
 ;; Author: Glenn Morris <rgm@gnu.org>
 
index f7eef05dd993a99343954c4b408b3d3879eda904..f5df51dc4c993987750925ee58560ecaeb1d1065 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cedet-utests.el --- Run all unit tests in the CEDET suite.
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index f07098a8a9a0d1b3f10af667e8e3a7712729ac4c..f73e4bed63f0124f86afa9ca716706eaea05a68e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede-tests.el --- Some tests for the Emacs Development Environment
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 765029151dc52d966ddcfee45011ce0c075600bd..c523e10366975b12ab4d04e02f3d194649665caa 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic-ia-utest.el --- Analyzer unit tests
 
-;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 16dcd42c2ae1cc4f67e0399936ba5b97531bd02a..22b959016c127947507cf30b057c729cb958ccc1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic-utest.el --- Miscellaneous Semantic tests.
 
-;;; Copyright (C) 2003-2004, 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2003-2004, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index 3fbd180290c8b224b9347d741ef22573f9c56e6c..c500f54318768765bcaaba5783ffbd887ac5154c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic-utest-c.el --- C based parsing tests.
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 12fbc37a11271e44dac07465366753a136c09109..728106d863cad7efb2ebc8597a61e4a38a31ff85 100644 (file)
@@ -1,6 +1,6 @@
 ;;; semantic-utest.el --- Tests for semantic's parsing system.
 
-;;; Copyright (C) 2003-2004, 2007-2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2003-2004, 2007-2012 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 
index a1b8f60b2ecb52dc3645cd58fc5a692a43bce0f1..d0239f627b3033076dbb74d1afc682fa14971aa6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; srecode-tests.el --- Some tests for CEDET's srecode
 
-;; Copyright (C) 2008-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2008-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 6f96f794915c2c2671eb8b0b7bbd77b0e6f4dca0..b2d9971ff4f4d232d9f70c9058fbaeffe0e1c918 100644 (file)
@@ -1,6 +1,6 @@
 /* test.c --- Semantic unit test for C.
 
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
 
    Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 57056b8065b06751edbe9b078cb2094d2af41a80..a07a9316f352791a19a6e6aee38f44f4efc5cff1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; test.el --- Unit test file for Semantic Emacs Lisp support.
 
-;; Copyright (C) 2005-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2005-2012  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
 
index a8a3e344cad07f5c1cf16dd98326ade9b5e1db61..cc9d450c1e03d92ad5f9cc01c1de735b646334a0 100644 (file)
@@ -1,6 +1,6 @@
 # test.make --- Semantic unit test for Make -*- makefile -*-
 
-# Copyright (C) 2001-2002, 2010-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2010-2012 Free Software Foundation, Inc.
 
 # Author: Eric M. Ludlam <eric@siege-engine.com>
 
index c0993af0863220711b23428e9a339fc90017801e..72a7e10dc5a0752bbdd7e7c209f810fe838ee618 100644 (file)
@@ -1,6 +1,6 @@
 // testdoublens.cpp --- semantic-ia-utest completion engine unit tests
 
-// Copyright (C) 2008-2011 Free Software Foundation, Inc.
+// Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 // Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 94349ed85447108bb099c3275e377ddf3384edea..69475ee3c195ebe5acde6c8f3b9e1647cd2adbdf 100644 (file)
@@ -1,6 +1,6 @@
 // testdoublens.hpp --- Header file used in one of the Semantic tests
 
-// Copyright (C) 2008-2011 Free Software Foundation, Inc.
+// Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 // Author: Eric M. Ludlam <eric@siege-engine.com>
 
index e9aed8c51f32aad17cb3d28441c7e6c15a808374..54b9f4aa00492d01f2238845acb60cc3f5b9ea49 100644 (file)
@@ -1,6 +1,6 @@
 //  testjavacomp.java --- Semantic unit test for Java
 
-// Copyright (C) 2009-2011  Free Software Foundation, Inc.
+// Copyright (C) 2009-2012  Free Software Foundation, Inc.
 
 //  Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 9db2d51efe78c7b6fc6f7a8ac0a2fc9a47bbeae7..2108da14e565396ba7621b26abb1a34e8de1b226 100644 (file)
@@ -1,6 +1,6 @@
 /** testpolymorph.cpp --- A sequence of polymorphism examples.
  *
- * Copyright (C) 2009-2011  Free Software Foundation, Inc.
+ * Copyright (C) 2009-2012  Free Software Foundation, Inc.
  *
  * Author: Eric M. Ludlam <eric@siege-engine.com>
  *
@@ -83,7 +83,7 @@ namespace template_partial_spec {
   };
 }
 
-// Test 5 - Templates w/ full specicialization which may or may not share
+// Test 5 - Templates w/ full specialization which may or may not share
 // common functions.
 namespace template_full_spec {
   template <typename T> class test
index 1cd45e47e1fb95bc1245075531cd0d2a2e810678..1fbabd62d1485fcb8623cbb2785e058406d1b7ce 100644 (file)
@@ -1,6 +1,6 @@
 /* testspp.cpp --- Semantic unit test for the C preprocessor
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
    Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 4ec87654dc4d5b2dad3cb49534d999e5e323db6d..36b4cb5fa579728438baf6d07ab3d30b1468dbc7 100644 (file)
@@ -1,5 +1,5 @@
 /* testsppreplace.c --- unit test for CPP/SPP Replacement
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
    Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 58d1ac2b684d2dd9deb90e623c0efd2bf6a6d4dc..19e3b7ec869906c050962253f44af0a18b995cc8 100644 (file)
@@ -1,5 +1,5 @@
 /* testsppreplaced.c --- unit test for CPP/SPP Replacement
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
    Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 6a704818b0dac232c133983261cf9a66926b7621..3fb61053a411ecee9d703d654ff544934dc5b396 100644 (file)
@@ -1,6 +1,6 @@
 // testsubclass.cpp --- unit test for analyzer and complex C++ inheritance
 
-// Copyright (C) 2007-2011 Free Software Foundation, Inc.
+// Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 // Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 9e6d777d74dc51b49ff7b56d29962a5ea77a087f..dee470b899fba79e44555b4935d7f1ef917f8b3d 100644 (file)
@@ -1,6 +1,6 @@
 // testsubclass.hh --- unit test for analyzer and complex C++ inheritance
 
-// Copyright (C) 2007-2011 Free Software Foundation, Inc.
+// Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
 // Author: Eric M. Ludlam <eric@siege-engine.com>
 
index f97b1400454f9c004670fb94cb102e6490274d51..f3666bea3162aa45deba94a77f124be4c6f81a86 100644 (file)
@@ -1,6 +1,6 @@
 // testtypedefs.cpp --- Sample with some fake bits out of std::string
 
-// Copyright (C) 2008-2011 Free Software Foundation, Inc.
+// Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 // Author: Eric M. Ludlam <eric@siege-engine.com>
 
index 51d8285730f0277e77a106b74f91a68f6900b68c..5cade2f0bd8b35282d211312c3305205f8a5a595 100644 (file)
@@ -1,7 +1,7 @@
 /* testvarnames.cpp
    Test variable and function names, lists of variables on one line, etc.
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
    Author: Eric M. Ludlam <eric@siege-engine.com>
 
@@ -31,7 +31,7 @@ struct independent var_indep_struct;
 struct {
   int unnamed_1;
   int unnamed_2;
-} var_unamed_struct;
+} var_unnamed_struct;
 
 struct {
   int unnamed_3;
@@ -59,12 +59,12 @@ struct inline2struct in_var2;
 int test_1(int var_arg1) {
 
   var_// -1-
-    ; // #1# ("var_arg1" "var_indep_struct" "var_n_2" "var_n_3" "var_named_struct" "var_un_2" "var_un_3" "var_unamed_struct")
+    ; // #1# ("var_arg1" "var_indep_struct" "var_n_2" "var_n_3" "var_named_struct" "var_un_2" "var_un_3" "var_unnamed_struct")
 
   var_indep_struct.// -2-
     ; // #2# ( "indep_1" "indep_2" )
 
-  var_unamed_struct.// -3-
+  var_unnamed_struct.// -3-
     ; // #3# ( "unnamed_1" "unnamed_2" )
 
   var_named_struct.// -4-
@@ -88,4 +88,3 @@ int test_1(int var_arg1) {
   in_var2.// -11-
     ; // #11# ( "named_3" "named_4")
 }
-
index 8a9e62a759ac260847b2ca274efd7c21824250c3..7acb34b6029f0d7884bf8fa714deff7233912ead 100644 (file)
@@ -1,6 +1,6 @@
 ;;; esh-test.el --- Eshell test suite
 
-;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
index 6cb5535fe8df0442dc2f905b83589f1f697a6688..8af21877b595906671768ef98ddd3a9e73ee0acf 100644 (file)
@@ -200,7 +200,7 @@ elaborate(fix(F,T,B,E), Env, Ee) :-
     elaborate(let(F,T,app(fix,lambda(F,T,B)),E), Env, Ee).
 
 %% elab_bindings(+TS, +Env, -TS).
-%% Applique `elaborate' sur l'environnment de type TS.
+%% Applique `elaborate' sur l'environnement de type TS.
 elab_tenv([], _, []).
 elab_tenv([(X,T)|TS], Env, [(X, Tg)|TSe]) :-
     elaborate(T, Env, Te),
index afa42cc494af20ab59a2de7a1bb788fc13406f8c..f080b6db4f135531626f09d6890947c38147531f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; redisplay-testsuite.el --- Test suite for redisplay.
 
-;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 ;; Author: Chong Yidong <cyd@stupidchicken.com>
 ;; Keywords:       internal
index 97577ee35cb7031c92e62f936ca203f4ef2573d6..6844eb8187b90890067b16f61bcf32ddbabcd323 100644 (file)
@@ -1,6 +1,6 @@
 ;;; rmailmm.el --- tests for mail/rmailmm.el
 
-;; Copyright (C) 2006-2011  Free Software Foundation, Inc.
+;; Copyright (C) 2006-2012  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
index fadbab84e20e56d05e98e01587e71811f41efed9..e20e0da6e13c431587d940279f4955412699135c 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Write into $1/subdirs.el a list of subdirs of directory $1.
 
-# Copyright (C) 1994-1995, 1997, 1999, 2001-2011
+# Copyright (C) 1994-1995, 1997, 1999, 2001-2012
 #   Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.