diff options
| author | Miles Bader | 2007-06-11 01:00:07 +0000 |
|---|---|---|
| committer | Miles Bader | 2007-06-11 01:00:07 +0000 |
| commit | 67f3ad67ee317226cb5d1bb139de0cfd883fdc5e (patch) | |
| tree | 58a0e1bea7a1d8728fd32e6127a44434e7eac006 | |
| parent | d17cf4eb2024cf54e4a216312184665094ee3df4 (diff) | |
| parent | 2d715b39ea1c89066f469405d065dd1a6631d28e (diff) | |
| download | emacs-67f3ad67ee317226cb5d1bb139de0cfd883fdc5e.tar.gz emacs-67f3ad67ee317226cb5d1bb139de0cfd883fdc5e.zip | |
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 781-792)
- Update from CVS
- Merge from gnus--rel--5.10
- Merge from emacs--rel--22
* emacs--rel--22 (patch 33-41)
* gnus--rel--5.10 (patch 226-228)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-21
122 files changed, 9967 insertions, 4515 deletions
| @@ -333,10 +333,10 @@ Cheng Gao: changed MORE.STUFF flymake.el tips.texi url-dired.el | |||
| 333 | url-file.el url-handlers.el url-http.el url-nfs.el | 333 | url-file.el url-handlers.el url-http.el url-nfs.el |
| 334 | 334 | ||
| 335 | Chong Yidong: changed cus-edit.el simple.el files.el custom.el | 335 | Chong Yidong: changed cus-edit.el simple.el files.el custom.el |
| 336 | display.texi longlines.el xdisp.c files.texi info.el keyboard.c | 336 | display.texi xdisp.c longlines.el files.texi info.el keyboard.c |
| 337 | compile.el custom.texi text.texi xterm.c frames.texi image-mode.el | 337 | compile.el custom.texi text.texi xterm.c frames.texi image-mode.el |
| 338 | mouse.el misc.texi startup.el wid-edit.el cus-theme.el | 338 | mouse.el misc.texi startup.el wid-edit.el cus-theme.el |
| 339 | and 296 other files | 339 | and 297 other files |
| 340 | 340 | ||
| 341 | Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c | 341 | Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c |
| 342 | hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el | 342 | hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el |
| @@ -652,8 +652,8 @@ Eli Tziperman: wrote rmail-spam-filter.el | |||
| 652 | Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el | 652 | Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el |
| 653 | and changed msdos.c Makefile.in makefile.w32-in files.el info.el fileio.c | 653 | and changed msdos.c Makefile.in makefile.w32-in files.el info.el fileio.c |
| 654 | startup.el mainmake.v2 config.bat rmail.el menu-bar.el pc-win.el | 654 | startup.el mainmake.v2 config.bat rmail.el menu-bar.el pc-win.el |
| 655 | simple.el msdos.h internal.el xfaces.c emacs.c frame.c dosfns.c | 655 | simple.el msdos.h internal.el xfaces.c emacs.c frame.c INSTALL dosfns.c |
| 656 | faces.el frame.el and 532 other files | 656 | faces.el and 532 other files |
| 657 | 657 | ||
| 658 | Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el | 658 | Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el |
| 659 | sh-script.el text.texi | 659 | sh-script.el text.texi |
| @@ -1699,8 +1699,8 @@ Martin Neitzel: changed sc.el | |||
| 1699 | 1699 | ||
| 1700 | Martin Rudalics: changed cus-edit.el wid-edit.el cus-start.el files.el | 1700 | Martin Rudalics: changed cus-edit.el wid-edit.el cus-start.el files.el |
| 1701 | flyspell.el font-lock.el complete.el insdel.c ispell.el macmenu.c | 1701 | flyspell.el font-lock.el complete.el insdel.c ispell.el macmenu.c |
| 1702 | syntax.c w32menu.c wdired.el whitespace.el window.el xdisp.c xmenu.c | 1702 | syntax.c table.el w32menu.c wdired.el whitespace.el window.el xdisp.c |
| 1703 | backups.texi buffer.c buffer.h casefiddle.c and 36 other files | 1703 | xmenu.c backups.texi buffer.c buffer.h and 36 other files |
| 1704 | 1704 | ||
| 1705 | Martin Stjernholm: wrote cc-bytecomp.el | 1705 | Martin Stjernholm: wrote cc-bytecomp.el |
| 1706 | and changed cc-engine.el cc-cmds.el cc-langs.el cc-defs.el cc-mode.el | 1706 | and changed cc-engine.el cc-cmds.el cc-langs.el cc-defs.el cc-mode.el |
| @@ -1877,7 +1877,7 @@ Miles Bader: wrote button.el image-file.el macroexp.el minibuf-eldef.el | |||
| 1877 | and changed comint.el faces.el simple.el editfns.c xfaces.c info.el | 1877 | and changed comint.el faces.el simple.el editfns.c xfaces.c info.el |
| 1878 | xdisp.c minibuf.c wid-edit.el xterm.c subr.el window.el cus-edit.el | 1878 | xdisp.c minibuf.c wid-edit.el xterm.c subr.el window.el cus-edit.el |
| 1879 | diff-mode.el dispextern.h quick-install-emacs xfns.c help.el lisp.h | 1879 | diff-mode.el dispextern.h quick-install-emacs xfns.c help.el lisp.h |
| 1880 | textprop.c bytecomp.el and 241 other files | 1880 | textprop.c bytecomp.el and 242 other files |
| 1881 | 1881 | ||
| 1882 | Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el | 1882 | Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el |
| 1883 | mule-conf.el mule.el pop3.el | 1883 | mule-conf.el mule.el pop3.el |
| @@ -1942,7 +1942,7 @@ Niimi Satoshi: changed pp.el search.c | |||
| 1942 | 1942 | ||
| 1943 | Niklas Morberg: changed nnweb.el gnus-art.el nnimap.el spam.el | 1943 | Niklas Morberg: changed nnweb.el gnus-art.el nnimap.el spam.el |
| 1944 | 1944 | ||
| 1945 | Nikolaj Schumacher: changed compile.el | 1945 | Nikolaj Schumacher: changed compile.el rx.el |
| 1946 | 1946 | ||
| 1947 | Noah Friedman: wrote eldoc.el rlogin.el rsz-mini.el type-break.el | 1947 | Noah Friedman: wrote eldoc.el rlogin.el rsz-mini.el type-break.el |
| 1948 | and changed comint.el emacs-buffer.gdb files.el mailabbrev.el sendmail.el | 1948 | and changed comint.el emacs-buffer.gdb files.el mailabbrev.el sendmail.el |
| @@ -2291,7 +2291,7 @@ Rune Kleveland: changed xfns.c | |||
| 2291 | Russ Allbery: changed message.el | 2291 | Russ Allbery: changed message.el |
| 2292 | 2292 | ||
| 2293 | Ryan Yeske: wrote rcirc.el | 2293 | Ryan Yeske: wrote rcirc.el |
| 2294 | and changed ffap.el rmailsum.el simple.el testcover.el | 2294 | and changed ffap.el ispell.el rmailsum.el simple.el testcover.el |
| 2295 | 2295 | ||
| 2296 | Ryszard Kubiak: changed ogonek.el | 2296 | Ryszard Kubiak: changed ogonek.el |
| 2297 | 2297 | ||
| @@ -2416,9 +2416,9 @@ Stefan Monnier: wrote bibtex.el cvs-status.el diff-mode.el log-edit.el | |||
| 2416 | log-view.el pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el | 2416 | log-view.el pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el |
| 2417 | reveal.el smerge-mode.el | 2417 | reveal.el smerge-mode.el |
| 2418 | and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h | 2418 | and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h |
| 2419 | keyboard.c keymap.c tex-mode.el fill.el alloc.c compile.el files.el | 2419 | keyboard.c fill.el keymap.c tex-mode.el alloc.c compile.el files.el |
| 2420 | regex.c simple.el easy-mmode.el vc-hooks.el info.el syntax.c xdisp.c | 2420 | regex.c simple.el easy-mmode.el syntax.c vc-hooks.el info.el xdisp.c |
| 2421 | sh-script.el and 518 other files | 2421 | sh-script.el and 519 other files |
| 2422 | 2422 | ||
| 2423 | Steinar Bang: changed imap.el | 2423 | Steinar Bang: changed imap.el |
| 2424 | 2424 | ||
| @@ -2533,7 +2533,7 @@ Terrence Brannon: wrote landmark.el | |||
| 2533 | 2533 | ||
| 2534 | Terry Jones: wrote shadow.el | 2534 | Terry Jones: wrote shadow.el |
| 2535 | 2535 | ||
| 2536 | Tetsurou Okazaki: changed xterm.c | 2536 | Tetsurou Okazaki: changed log-edit.el xterm.c |
| 2537 | 2537 | ||
| 2538 | Theodore Jump: changed w32-win.el w32faces.c | 2538 | Theodore Jump: changed w32-win.el w32faces.c |
| 2539 | 2539 | ||
| @@ -2614,6 +2614,8 @@ Toru Tomabechi: wrote tibet-util.el tibetan.el | |||
| 2614 | 2614 | ||
| 2615 | Toshiaki Nomura: changed uxpds.h | 2615 | Toshiaki Nomura: changed uxpds.h |
| 2616 | 2616 | ||
| 2617 | Trent Buck: changed rcirc.el | ||
| 2618 | |||
| 2617 | Trey Jackson: changed spam-stat.el | 2619 | Trey Jackson: changed spam-stat.el |
| 2618 | 2620 | ||
| 2619 | Triet Hoai Lai: changed vntelex.el viet-util.el vietnamese.el | 2621 | Triet Hoai Lai: changed vntelex.el viet-util.el vietnamese.el |
| @@ -2636,8 +2638,8 @@ and changed calendar.texi newsticker.texi Makefile.in | |||
| 2636 | 2638 | ||
| 2637 | Ulrich Leodolter: changed w32proc.c | 2639 | Ulrich Leodolter: changed w32proc.c |
| 2638 | 2640 | ||
| 2639 | Ulrich Mueller: changed gud.el Makefile.in case-table.el fortran.el | 2641 | Ulrich Mueller: changed gud.el Makefile.in XMakeAssoc.c case-table.el |
| 2640 | iso-acc.el sysdep.c | 2642 | fortran.el iso-acc.el sysdep.c |
| 2641 | 2643 | ||
| 2642 | Ulrik Vieth: wrote meta-mode.el | 2644 | Ulrik Vieth: wrote meta-mode.el |
| 2643 | and changed files.el | 2645 | and changed files.el |
| @@ -2734,7 +2736,7 @@ Yagi Tatsuya: changed gnus-art.el gnus-start.el | |||
| 2734 | 2736 | ||
| 2735 | Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h | 2737 | Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h |
| 2736 | macmenu.c macgui.h image.c macselect.c keyboard.c xdisp.c makefile.MPW | 2738 | macmenu.c macgui.h image.c macselect.c keyboard.c xdisp.c makefile.MPW |
| 2737 | config.h emacs.c Makefile.in macos.texi INSTALL darwin.h xfaces.c | 2739 | config.h emacs.c INSTALL Makefile.in macos.texi darwin.h xfaces.c |
| 2738 | dispnew.c alloc.c and 77 other files | 2740 | dispnew.c alloc.c and 77 other files |
| 2739 | 2741 | ||
| 2740 | Yann Dirson: changed imenu.el | 2742 | Yann Dirson: changed imenu.el |
| @@ -1,3 +1,19 @@ | |||
| 1 | 2007-06-08 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * configure.in: Make gtk the default toolkit. | ||
| 4 | |||
| 5 | 2007-06-07 Glenn Morris <rgm@gnu.org> | ||
| 6 | |||
| 7 | * configure.in (NON_GNU_CPP): On Solaris, set using a proper check | ||
| 8 | for a Sun C compiler. | ||
| 9 | |||
| 10 | * Makefile.in (install-arch-indep): Install only the DOC- file | ||
| 11 | specific to the build, if possible, rather than DOC-*. | ||
| 12 | |||
| 13 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 14 | |||
| 15 | * Version 22.1 released. | ||
| 16 | |||
| 1 | 2007-05-25 Chong Yidong <cyd@stupidchicken.com> | 17 | 2007-05-25 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 18 | ||
| 3 | * mkinstalldirs: Sync to version in automake CVS. | 19 | * mkinstalldirs: Sync to version in automake CVS. |
diff --git a/Makefile.in b/Makefile.in index 10fedcce82e..5e8a26c85ce 100644 --- a/Makefile.in +++ b/Makefile.in | |||
| @@ -409,10 +409,8 @@ install-arch-dep: mkdir | |||
| 409 | ## Note that we copy DOC* and then delete DOC | 409 | ## Note that we copy DOC* and then delete DOC |
| 410 | ## as a workaround for a bug in tar on Ultrix 4.2. | 410 | ## as a workaround for a bug in tar on Ultrix 4.2. |
| 411 | 411 | ||
| 412 | ## FIXME | 412 | ## We install only the relevant DOC file if possible |
| 413 | ## Should only install the DOC- file appropriate to this build, not DOC-*. | 413 | ## (ie DOC-${version}.buildnumber), otherwise DOC-${version}*. |
| 414 | ## http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00417.html | ||
| 415 | ## (fix available for consideration post-release). | ||
| 416 | 414 | ||
| 417 | ## If people complain about the h flag in tar command, take that out. | 415 | ## If people complain about the h flag in tar command, take that out. |
| 418 | ## That flag is also used in leim/Makefile.in | 416 | ## That flag is also used in leim/Makefile.in |
| @@ -474,8 +472,15 @@ install-arch-indep: mkdir info | |||
| 474 | -unset CDPATH; \ | 472 | -unset CDPATH; \ |
| 475 | if [ `(cd ./etc; /bin/pwd)` != `(cd $(DESTDIR)${docdir}; /bin/pwd)` ]; \ | 473 | if [ `(cd ./etc; /bin/pwd)` != `(cd $(DESTDIR)${docdir}; /bin/pwd)` ]; \ |
| 476 | then \ | 474 | then \ |
| 477 | echo "Copying etc/DOC-* to $(DESTDIR)${docdir} ..." ; \ | 475 | fullversion=`./src/emacs --version | sed -n '1 s/GNU Emacs *//p'`; \ |
| 478 | (cd ./etc; tar -chf - DOC*) \ | 476 | if [ -f "./etc/DOC-$${fullversion}" ]; \ |
| 477 | then \ | ||
| 478 | docfile="DOC-$${fullversion}"; \ | ||
| 479 | else \ | ||
| 480 | docfile="DOC-${version}*"; \ | ||
| 481 | fi; \ | ||
| 482 | echo "Copying etc/$${docfile} to $(DESTDIR)${docdir} ..." ; \ | ||
| 483 | (cd ./etc; tar -chf - $${docfile}) \ | ||
| 479 | |(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \ | 484 | |(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \ |
| 480 | (cd $(DESTDIR)$(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \ | 485 | (cd $(DESTDIR)$(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \ |
| 481 | if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \ | 486 | if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \ |
diff --git a/admin/ChangeLog b/admin/ChangeLog index b036ea11c33..7349efb1720 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,7 +1,15 @@ | |||
| 1 | 2007-06-07 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * admin.el (set-copyright): New function. | ||
| 4 | |||
| 1 | 2007-04-25 Nick Roberts <nickrob@snap.net.nz> | 5 | 2007-04-25 Nick Roberts <nickrob@snap.net.nz> |
| 2 | 6 | ||
| 3 | * make-tarball.txt: Add note about cutting the branch. | 7 | * make-tarball.txt: Add note about cutting the branch. |
| 4 | 8 | ||
| 9 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 10 | |||
| 11 | * Version 22.1 released. | ||
| 12 | |||
| 5 | 2007-02-03 Eli Zaretskii <eliz@gnu.org> | 13 | 2007-02-03 Eli Zaretskii <eliz@gnu.org> |
| 6 | 14 | ||
| 7 | * nt/makedist.bat: Change EOL format to DOS. Don't use | 15 | * nt/makedist.bat: Change EOL format to DOS. Don't use |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index e64da81cc01..d8e273c0343 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -55,7 +55,7 @@ that should be installed on the release branch after 22.1 is released. | |||
| 55 | ** Changes to six pbm icons in etc/images. | 55 | ** Changes to six pbm icons in etc/images. |
| 56 | Sync change from trunk 2007-05-19. | 56 | Sync change from trunk 2007-05-19. |
| 57 | 57 | ||
| 58 | ** viper and tramp should not load cl at run time. | 58 | ** viper should not load cl at run time. |
| 59 | 59 | ||
| 60 | ** yamaoka@jpl.org's patch for mail-extract-address-components problem. | 60 | ** yamaoka@jpl.org's patch for mail-extract-address-components problem. |
| 61 | 61 | ||
diff --git a/admin/admin.el b/admin/admin.el index 342b40f9bde..175eb6ded1b 100644 --- a/admin/admin.el +++ b/admin/admin.el | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | 24 | ||
| 25 | ;; add-release-logs Add ``Version X released'' change log entries. | 25 | ;; add-release-logs Add ``Version X released'' change log entries. |
| 26 | ;; set-version Change Emacs version number in source tree. | 26 | ;; set-version Change Emacs version number in source tree. |
| 27 | ;; set-copyright Change emacs short copyright string (eg as | ||
| 28 | ;; printed by --version) in source tree. | ||
| 27 | 29 | ||
| 28 | ;;; Code: | 30 | ;;; Code: |
| 29 | 31 | ||
| @@ -158,5 +160,50 @@ Root must be the root of an Emacs source tree." | |||
| 158 | (rx (and (submatch (1+ (in "a-z"))) (0+ space) ?\, (0+ space) | 160 | (rx (and (submatch (1+ (in "a-z"))) (0+ space) ?\, (0+ space) |
| 159 | "/* development, alpha, beta, or final (release) */")))))) | 161 | "/* development, alpha, beta, or final (release) */")))))) |
| 160 | 162 | ||
| 163 | ;; Note this makes some assumptions about form of short copyright. | ||
| 164 | (defun set-copyright (root copyright) | ||
| 165 | "Set Emacs short copyright to COPYRIGHT in relevant files under ROOT. | ||
| 166 | Root must be the root of an Emacs source tree." | ||
| 167 | (interactive (list | ||
| 168 | (read-directory-name "Emacs root directory: " nil nil t) | ||
| 169 | (read-string | ||
| 170 | "Short copyright string: " | ||
| 171 | (format "Copyright (C) %s Free Software Foundation, Inc." | ||
| 172 | (format-time-string "%Y"))))) | ||
| 173 | (unless (file-exists-p (expand-file-name "src/emacs.c" root)) | ||
| 174 | (error "%s doesn't seem to be the root of an Emacs source tree" root)) | ||
| 175 | (set-version-in-file root "lisp/version.el" copyright | ||
| 176 | (rx (and "emacs-copyright" (0+ space) | ||
| 177 | ?\" (submatch (1+ (not (in ?\")))) ?\"))) | ||
| 178 | (set-version-in-file root "lib-src/etags.c" copyright | ||
| 179 | (rx (and "emacs_copyright" (0+ (not (in ?\"))) | ||
| 180 | ?\" (submatch (1+ (not (in ?\")))) ?\"))) | ||
| 181 | (set-version-in-file root "lib-src/rcs2log" copyright | ||
| 182 | (rx (and "Copyright" (0+ space) ?= (0+ space) | ||
| 183 | ?\' (submatch (1+ nonl))))) | ||
| 184 | (set-version-in-file | ||
| 185 | root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings" | ||
| 186 | copyright (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) ?\" | ||
| 187 | (1+ anything) | ||
| 188 | (submatch "Copyright" (1+ (not (in ?\"))))))) | ||
| 189 | ;; This one is a nuisance, as it needs to be split over two lines. | ||
| 190 | (string-match "\\(.*[0-9]\\{4\\} *\\)\\(.*\\)" copyright) | ||
| 191 | (let ((csign "\\0xa9") | ||
| 192 | (cyear (match-string 1 copyright)) ; "Copyright (C) 2007 " | ||
| 193 | (owner (match-string 2 copyright))) ; "Free Software Foundation, Inc." | ||
| 194 | (set-version-in-file root "mac/src/Emacs.r" | ||
| 195 | (regexp-quote | ||
| 196 | (replace-regexp-in-string "(C)" | ||
| 197 | (regexp-quote csign) cyear)) | ||
| 198 | (rx (and | ||
| 199 | (submatch "Copyright" (0+ space) (eval csign) | ||
| 200 | (0+ space) (= 4 num) | ||
| 201 | (0+ (not (in ?\")))) ?\"))) | ||
| 202 | (set-version-in-file root "mac/src/Emacs.r" owner | ||
| 203 | (rx (and ?\" | ||
| 204 | (submatch (1+ (not (in ?\")))) | ||
| 205 | ?\" (0+ space) | ||
| 206 | "/* Long version number */"))))) | ||
| 207 | |||
| 161 | ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 | 208 | ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 |
| 162 | ;; admin.el ends here. | 209 | ;; admin.el ends here. |
diff --git a/admin/notes/copyright b/admin/notes/copyright index 6c9a7382c33..91bf87f3b08 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -131,7 +131,7 @@ mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings | |||
| 131 | mac/src/Emacs.r # resource 'vers' | 131 | mac/src/Emacs.r # resource 'vers' |
| 132 | src/emacs.c | 132 | src/emacs.c |
| 133 | - remember to change the latest copyright year in the --version output. | 133 | - remember to change the latest copyright year in the --version output. |
| 134 | [Post-release, will automate this like set-version does for version.] | 134 | `set-copyright' in admin.el will do all the above. |
| 135 | 135 | ||
| 136 | <top-level>/install-sh | 136 | <top-level>/install-sh |
| 137 | lispintro/install-sh | 137 | lispintro/install-sh |
diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server index 53a06c3d80a..6b437eb2f1e 100644 --- a/admin/nt/README-ftp-server +++ b/admin/nt/README-ftp-server | |||
| @@ -35,6 +35,72 @@ | |||
| 35 | old binaries. | 35 | old binaries. |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | * Files in this directory | ||
| 39 | |||
| 40 | + emacs-22.1-bin-i386.zip | ||
| 41 | Windows binaries of Emacs-22.1, with all lisp code and documentation | ||
| 42 | included. | ||
| 43 | |||
| 44 | Download this file if you want a single installation package, and | ||
| 45 | are not interested in the C source code for Emacs. After | ||
| 46 | unpacking, you can optionally run the file bin/addpm.exe to have | ||
| 47 | Emacs add icons to the Start Menu. | ||
| 48 | |||
| 49 | If you need the C source code at a later date, it will be safe to | ||
| 50 | unpack the source distribution on top of this installation. | ||
| 51 | |||
| 52 | + emacs-22.1-barebin-i386.zip | ||
| 53 | Windows binaries of Emacs-22.1, without lisp code or documentation. | ||
| 54 | |||
| 55 | Download this file if you already have the source distribution, or | ||
| 56 | if you need to redump the emacs.exe executable. | ||
| 57 | |||
| 58 | Unpack this over the top of either the source distribution or the | ||
| 59 | bin distribution above. It contains the bin subdirectory and etc/DOC | ||
| 60 | file, plus temacs.exe and dump.bat, which are required if you want to | ||
| 61 | redump emacs without recompiling it. | ||
| 62 | |||
| 63 | + emacs-21.3-bin-i386.tar.gz | ||
| 64 | Windows binaries of Emacs 21.3, with compiled lisp code and some | ||
| 65 | documentation included. | ||
| 66 | |||
| 67 | This is provided for users who require the older version. | ||
| 68 | |||
| 69 | + emacs-21.3-leim.tar.gz | ||
| 70 | Compiled lisp input methods. This optional addition to Emacs-21.3 | ||
| 71 | is required if you want to enter languages that are not directly | ||
| 72 | supported by your keyboard. | ||
| 73 | |||
| 74 | * Image support | ||
| 75 | |||
| 76 | Emacs 22.1 contains support for images, however for most image formats | ||
| 77 | supporting libraries are required. This distribution has been tested | ||
| 78 | with the libraries that are distributed with GTK for Windows, and the | ||
| 79 | libraries found at http://gnuwin32.sourceforge.net/. The following image | ||
| 80 | formats are supported: | ||
| 81 | |||
| 82 | PBM/PGM/PPM: Supported natively by Emacs. This format is used for | ||
| 83 | the black and white versions of the toolbar icons. | ||
| 84 | |||
| 85 | XPM: requires a Windows port of the XPM library 3.4 or later, | ||
| 86 | which will be named xpm4.dll, libxpm-nox4.dll or | ||
| 87 | libxpm.dll. This format is used for the color versions of the | ||
| 88 | toolbar icons, and other images in Emacs. | ||
| 89 | |||
| 90 | PNG: requires the PNG reference library 1.2 or later, which will | ||
| 91 | be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll | ||
| 92 | or libpng.dll. LibPNG requires zlib, which should come from the same | ||
| 93 | source as you got libpng. | ||
| 94 | |||
| 95 | JPEG: requires the Independant JPEG Group's libjpeg 6b or later, | ||
| 96 | which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll. | ||
| 97 | |||
| 98 | TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll | ||
| 99 | or libtiff.dll. | ||
| 100 | |||
| 101 | GIF: requires libungif or giflib 4.1 or later, which will be | ||
| 102 | called giflib4.dll, libungif4.dll or libungif.dll. | ||
| 103 | |||
| 38 | * Distributions in .tar.gz and .zip format | 104 | * Distributions in .tar.gz and .zip format |
| 39 | 105 | ||
| 40 | Emacs is distributed primarily as source code in a large gzipped tar file | 106 | Emacs is distributed primarily as source code in a large gzipped tar file |
| @@ -46,23 +112,6 @@ | |||
| 46 | but since there are no longer legal problems with .zip files, and the | 112 | but since there are no longer legal problems with .zip files, and the |
| 47 | latest versions of Windows support these natively, the Windows binaries | 113 | latest versions of Windows support these natively, the Windows binaries |
| 48 | of Emacs are now distributed as .zip files. | 114 | of Emacs are now distributed as .zip files. |
| 49 | Here are the combinations (i386 in the name indicates a zipfile contains | ||
| 50 | executables compiled for Intel-compatible x86 systems): | ||
| 51 | |||
| 52 | + Primary precompiled distribution, including lisp source: | ||
| 53 | |||
| 54 | emacs-22.1-bin-i386.zip | ||
| 55 | |||
| 56 | NB. If you just want to run Emacs, get one of the distributions above. | ||
| 57 | |||
| 58 | + Bare executables, useful if you want to get the complete source | ||
| 59 | release, but can't compile Emacs yourself: | ||
| 60 | |||
| 61 | emacs-22.1-barebin-i386.zip (requires ../emacs-22.1.tar.gz) | ||
| 62 | |||
| 63 | + The complete official source for Emacs: | ||
| 64 | |||
| 65 | ../emacs-22.1.tar.gz | ||
| 66 | 115 | ||
| 67 | * Distributions for non-x86 platforms | 116 | * Distributions for non-x86 platforms |
| 68 | 117 | ||
| @@ -108,7 +157,7 @@ | |||
| 108 | You may be prompted to rename or overwrite directories when using | 157 | You may be prompted to rename or overwrite directories when using |
| 109 | djtarnt: simply type return to continue (this is harmless). | 158 | djtarnt: simply type return to continue (this is harmless). |
| 110 | 159 | ||
| 111 | The precompiled binaries can be unpacked using unzip.exe from info-zip.org | 160 | Zip files can be unpacked using unzip.exe from info-zip.org |
| 112 | if you do not already have other tools to do this. | 161 | if you do not already have other tools to do this. |
| 113 | 162 | ||
| 114 | % unzip some.zip | 163 | % unzip some.zip |
| @@ -165,7 +214,10 @@ | |||
| 165 | http://www.gnu.org/software/emacs/windows/ntemacs.html | 214 | http://www.gnu.org/software/emacs/windows/ntemacs.html |
| 166 | 215 | ||
| 167 | This document serves as an FAQ and a source for further information | 216 | This document serves as an FAQ and a source for further information |
| 168 | about the Windows port and related software packages. | 217 | about the Windows port and related software packages. Note that as |
| 218 | of writing, most of the information in that FAQ was for Emacs-21.3 | ||
| 219 | and earlier versions, so some information may not be relevant to | ||
| 220 | Emacs-22.1. | ||
| 169 | 221 | ||
| 170 | In addition to the FAQ, there is a mailing list for discussing issues | 222 | In addition to the FAQ, there is a mailing list for discussing issues |
| 171 | related to the Windows port of Emacs. For information about the | 223 | related to the Windows port of Emacs. For information about the |
diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat index 56fca7949fa..484ab88004c 100755 --- a/admin/nt/makedist.bat +++ b/admin/nt/makedist.bat | |||
| @@ -36,7 +36,7 @@ rem Info-ZIP zip seems to be broken on Windows. | |||
| 36 | rem It always writes to zip.zip and treats the zipfile argument as one | 36 | rem It always writes to zip.zip and treats the zipfile argument as one |
| 37 | rem of the files to go in it. | 37 | rem of the files to go in it. |
| 38 | rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS | 38 | rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS |
| 39 | 7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim | 39 | 7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim emacs-%1/site-lisp |
| 40 | del emacs-%1\README.W32 | 40 | del emacs-%1\README.W32 |
| 41 | if not (%4) == () goto end | 41 | if not (%4) == () goto end |
| 42 | 42 | ||
| @@ -412,10 +412,10 @@ else | |||
| 412 | fi | 412 | fi |
| 413 | 413 | ||
| 414 | test \$exitcode = 0") || { | 414 | test \$exitcode = 0") || { |
| 415 | echo No shell found that supports shell functions. | 415 | echo Please tell bug-autoconf@gnu.org about your system, |
| 416 | echo Please tell autoconf@gnu.org about your system, | 416 | echo including any error possibly output before this message. |
| 417 | echo including any error possibly output before this | 417 | echo This can help us improve future autoconf versions. |
| 418 | echo message | 418 | echo Configuration will now proceed without shell functions. |
| 419 | } | 419 | } |
| 420 | 420 | ||
| 421 | 421 | ||
| @@ -1891,7 +1891,7 @@ fi | |||
| 1891 | # Check whether --with-x-toolkit was given. | 1891 | # Check whether --with-x-toolkit was given. |
| 1892 | if test "${with_x_toolkit+set}" = set; then | 1892 | if test "${with_x_toolkit+set}" = set; then |
| 1893 | withval=$with_x_toolkit; case "${withval}" in | 1893 | withval=$with_x_toolkit; case "${withval}" in |
| 1894 | y | ye | yes ) val=athena ;; | 1894 | y | ye | yes ) val=gtk ;; |
| 1895 | n | no ) val=no ;; | 1895 | n | no ) val=no ;; |
| 1896 | l | lu | luc | luci | lucid ) val=lucid ;; | 1896 | l | lu | luc | luci | lucid ) val=lucid ;; |
| 1897 | a | at | ath | athe | athen | athena ) val=athena ;; | 1897 | a | at | ath | athe | athen | athena ) val=athena ;; |
| @@ -1900,10 +1900,10 @@ if test "${with_x_toolkit+set}" = set; then | |||
| 1900 | * ) | 1900 | * ) |
| 1901 | { { echo "$as_me:$LINENO: error: \`--with-x-toolkit=$withval' is invalid\; | 1901 | { { echo "$as_me:$LINENO: error: \`--with-x-toolkit=$withval' is invalid\; |
| 1902 | this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif' or \`gtk'. | 1902 | this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif' or \`gtk'. |
| 1903 | Currently, \`yes', \`athena' and \`lucid' are synonyms." >&5 | 1903 | Currently, \`yes' and \`gtk', and \`athena' and \`lucid' are synonyms." >&5 |
| 1904 | echo "$as_me: error: \`--with-x-toolkit=$withval' is invalid\; | 1904 | echo "$as_me: error: \`--with-x-toolkit=$withval' is invalid\; |
| 1905 | this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif' or \`gtk'. | 1905 | this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif' or \`gtk'. |
| 1906 | Currently, \`yes', \`athena' and \`lucid' are synonyms." >&2;} | 1906 | Currently, \`yes' and \`gtk', and \`athena' and \`lucid' are synonyms." >&2;} |
| 1907 | { (exit 1); exit 1; }; } | 1907 | { (exit 1); exit 1; }; } |
| 1908 | ;; | 1908 | ;; |
| 1909 | esac | 1909 | esac |
| @@ -3002,14 +3002,8 @@ _ACEOF | |||
| 3002 | ;; | 3002 | ;; |
| 3003 | *-sunos5* | *-solaris* ) | 3003 | *-sunos5* | *-solaris* ) |
| 3004 | opsys=sol2-6 | 3004 | opsys=sol2-6 |
| 3005 | ## FIXME: make this into a proper fix that checks the compiler type, | 3005 | emacs_check_sunpro_c=yes |
| 3006 | ## rather than relying on path. Or is /usr/ccs/lib/cpp a bad default now? | 3006 | NON_GNU_CPP=/usr/ccs/lib/cpp |
| 3007 | if [ "x$CC" = x/opt/SUNWspro/bin/cc ]; then | ||
| 3008 | ## -Xs prevents spurious whitespace. | ||
| 3009 | NON_GNU_CPP="/opt/SUNWspro/bin/cc -E -Xs" | ||
| 3010 | else | ||
| 3011 | NON_GNU_CPP=/usr/ccs/lib/cpp | ||
| 3012 | fi | ||
| 3013 | ;; | 3007 | ;; |
| 3014 | * ) opsys=bsd4-2 ;; | 3008 | * ) opsys=bsd4-2 ;; |
| 3015 | esac | 3009 | esac |
| @@ -4165,6 +4159,72 @@ if test -n "$CPP" && test -d "$CPP"; then | |||
| 4165 | CPP= | 4159 | CPP= |
| 4166 | fi | 4160 | fi |
| 4167 | 4161 | ||
| 4162 | ## If not using gcc, and on Solaris, and no CPP specified, see if | ||
| 4163 | ## using a Sun compiler, which needs -Xs to prevent whitespace. | ||
| 4164 | if test x"$GCC" != xyes && test x"$emacs_check_sunpro_c" = xyes && \ | ||
| 4165 | test x"$CPP" = x; then | ||
| 4166 | { echo "$as_me:$LINENO: checking whether we are using a Sun C compiler" >&5 | ||
| 4167 | echo $ECHO_N "checking whether we are using a Sun C compiler... $ECHO_C" >&6; } | ||
| 4168 | |||
| 4169 | if test "${emacs_cv_sunpro_c+set}" = set; then | ||
| 4170 | echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
| 4171 | else | ||
| 4172 | cat >conftest.$ac_ext <<_ACEOF | ||
| 4173 | /* confdefs.h. */ | ||
| 4174 | _ACEOF | ||
| 4175 | cat confdefs.h >>conftest.$ac_ext | ||
| 4176 | cat >>conftest.$ac_ext <<_ACEOF | ||
| 4177 | /* end confdefs.h. */ | ||
| 4178 | |||
| 4179 | int | ||
| 4180 | main () | ||
| 4181 | { | ||
| 4182 | #ifndef __SUNPRO_C | ||
| 4183 | fail; | ||
| 4184 | #endif | ||
| 4185 | |||
| 4186 | ; | ||
| 4187 | return 0; | ||
| 4188 | } | ||
| 4189 | _ACEOF | ||
| 4190 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
| 4191 | if { (ac_try="$ac_link" | ||
| 4192 | case "(($ac_try" in | ||
| 4193 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
| 4194 | *) ac_try_echo=$ac_try;; | ||
| 4195 | esac | ||
| 4196 | eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 | ||
| 4197 | (eval "$ac_link") 2>conftest.er1 | ||
| 4198 | ac_status=$? | ||
| 4199 | grep -v '^ *+' conftest.er1 >conftest.err | ||
| 4200 | rm -f conftest.er1 | ||
| 4201 | cat conftest.err >&5 | ||
| 4202 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
| 4203 | (exit $ac_status); } && { | ||
| 4204 | test -z "$ac_c_werror_flag" || | ||
| 4205 | test ! -s conftest.err | ||
| 4206 | } && test -s conftest$ac_exeext && | ||
| 4207 | $as_test_x conftest$ac_exeext; then | ||
| 4208 | emacs_cv_sunpro_c=yes | ||
| 4209 | else | ||
| 4210 | echo "$as_me: failed program was:" >&5 | ||
| 4211 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
| 4212 | |||
| 4213 | emacs_cv_sunpro_c=no | ||
| 4214 | fi | ||
| 4215 | |||
| 4216 | rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ | ||
| 4217 | conftest$ac_exeext conftest.$ac_ext | ||
| 4218 | fi | ||
| 4219 | |||
| 4220 | { echo "$as_me:$LINENO: result: $emacs_cv_sunpro_c" >&5 | ||
| 4221 | echo "${ECHO_T}$emacs_cv_sunpro_c" >&6; } | ||
| 4222 | |||
| 4223 | if test x"$emacs_cv_sunpro_c" = xyes; then | ||
| 4224 | NON_GNU_CPP="$CC -E -Xs" | ||
| 4225 | fi | ||
| 4226 | fi | ||
| 4227 | |||
| 4168 | #### Some systems specify a CPP to use unless we are using GCC. | 4228 | #### Some systems specify a CPP to use unless we are using GCC. |
| 4169 | #### Now that we know whether we are using GCC, we can decide whether | 4229 | #### Now that we know whether we are using GCC, we can decide whether |
| 4170 | #### to use that one. | 4230 | #### to use that one. |
| @@ -4192,7 +4252,6 @@ then | |||
| 4192 | CC="$CC $NON_GCC_TEST_OPTIONS" | 4252 | CC="$CC $NON_GCC_TEST_OPTIONS" |
| 4193 | fi | 4253 | fi |
| 4194 | 4254 | ||
| 4195 | |||
| 4196 | ac_ext=c | 4255 | ac_ext=c |
| 4197 | ac_cpp='$CPP $CPPFLAGS' | 4256 | ac_cpp='$CPP $CPPFLAGS' |
| 4198 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | 4257 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| @@ -9509,7 +9568,13 @@ case "${window_system}" in | |||
| 9509 | gtk ) with_gtk=yes | 9568 | gtk ) with_gtk=yes |
| 9510 | USE_X_TOOLKIT=none ;; | 9569 | USE_X_TOOLKIT=none ;; |
| 9511 | no ) USE_X_TOOLKIT=none ;; | 9570 | no ) USE_X_TOOLKIT=none ;; |
| 9512 | * ) USE_X_TOOLKIT=maybe ;; | 9571 | * ) |
| 9572 | if test x"$with_gtk" = xyes; then | ||
| 9573 | USE_X_TOOLKIT=none | ||
| 9574 | else | ||
| 9575 | USE_X_TOOLKIT=maybe | ||
| 9576 | fi | ||
| 9577 | ;; | ||
| 9513 | esac | 9578 | esac |
| 9514 | ;; | 9579 | ;; |
| 9515 | mac | none ) | 9580 | mac | none ) |
| @@ -10944,7 +11009,8 @@ HAVE_GTK=no | |||
| 10944 | if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then | 11009 | if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then |
| 10945 | USE_X_TOOLKIT=none | 11010 | USE_X_TOOLKIT=none |
| 10946 | fi | 11011 | fi |
| 10947 | if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then | 11012 | if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk" || \ |
| 11013 | test "$USE_X_TOOLKIT" = "maybe"; then | ||
| 10948 | if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then | 11014 | if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then |
| 10949 | { { echo "$as_me:$LINENO: error: Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}" >&5 | 11015 | { { echo "$as_me:$LINENO: error: Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}" >&5 |
| 10950 | echo "$as_me: error: Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}" >&2;} | 11016 | echo "$as_me: error: Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}" >&2;} |
| @@ -11005,11 +11071,7 @@ fi | |||
| 11005 | fi | 11071 | fi |
| 11006 | 11072 | ||
| 11007 | if test "$PKG_CONFIG" = "no" ; then | 11073 | if test "$PKG_CONFIG" = "no" ; then |
| 11008 | { { echo "$as_me:$LINENO: error: | 11074 | pkg_check_gtk=no |
| 11009 | *** The pkg-config script could not be found. Make sure it is in your path, or give the full path to pkg-config with the PKG_CONFIG environment variable or --with-pkg-config-prog. Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." >&5 | ||
| 11010 | echo "$as_me: error: | ||
| 11011 | *** The pkg-config script could not be found. Make sure it is in your path, or give the full path to pkg-config with the PKG_CONFIG environment variable or --with-pkg-config-prog. Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." >&2;} | ||
| 11012 | { (exit 1); exit 1; }; } | ||
| 11013 | else | 11075 | else |
| 11014 | PKG_CONFIG_MIN_VERSION=0.9.0 | 11076 | PKG_CONFIG_MIN_VERSION=0.9.0 |
| 11015 | if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then | 11077 | if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then |
| @@ -11040,7 +11102,7 @@ echo "${ECHO_T}no" >&6; } | |||
| 11040 | ## If we have a custom action on failure, don't print errors, but | 11102 | ## If we have a custom action on failure, don't print errors, but |
| 11041 | ## do set a variable so people can do so. | 11103 | ## do set a variable so people can do so. |
| 11042 | GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"` | 11104 | GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"` |
| 11043 | echo $GTK_PKG_ERRORS | 11105 | |
| 11044 | fi | 11106 | fi |
| 11045 | 11107 | ||
| 11046 | 11108 | ||
| @@ -11052,12 +11114,20 @@ echo "${ECHO_T}no" >&6; } | |||
| 11052 | fi | 11114 | fi |
| 11053 | 11115 | ||
| 11054 | if test $succeeded = yes; then | 11116 | if test $succeeded = yes; then |
| 11055 | : | 11117 | pkg_check_gtk=yes |
| 11056 | else | 11118 | else |
| 11057 | { { echo "$as_me:$LINENO: error: Library requirements ($GTK_MODULES) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 | 11119 | pkg_check_gtk=no |
| 11058 | echo "$as_me: error: Library requirements ($GTK_MODULES) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} | 11120 | fi |
| 11121 | |||
| 11122 | if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then | ||
| 11123 | { { echo "$as_me:$LINENO: error: $GTK_PKG_ERRORS" >&5 | ||
| 11124 | echo "$as_me: error: $GTK_PKG_ERRORS" >&2;} | ||
| 11059 | { (exit 1); exit 1; }; } | 11125 | { (exit 1); exit 1; }; } |
| 11060 | fi | 11126 | fi |
| 11127 | fi | ||
| 11128 | |||
| 11129 | |||
| 11130 | if test x"$pkg_check_gtk" = xyes; then | ||
| 11061 | 11131 | ||
| 11062 | 11132 | ||
| 11063 | 11133 | ||
| @@ -11160,18 +11230,25 @@ fi | |||
| 11160 | done | 11230 | done |
| 11161 | 11231 | ||
| 11162 | if test "${GTK_COMPILES}" != "yes"; then | 11232 | if test "${GTK_COMPILES}" != "yes"; then |
| 11163 | { { echo "$as_me:$LINENO: error: Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" >&5 | 11233 | if test "$USE_X_TOOLKIT" != "maybe"; then |
| 11234 | { { echo "$as_me:$LINENO: error: Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" >&5 | ||
| 11164 | echo "$as_me: error: Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" >&2;} | 11235 | echo "$as_me: error: Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" >&2;} |
| 11165 | { (exit 1); exit 1; }; }; | 11236 | { (exit 1); exit 1; }; }; |
| 11166 | fi | 11237 | fi |
| 11167 | 11238 | else | |
| 11168 | HAVE_GTK=yes | 11239 | HAVE_GTK=yes |
| 11169 | 11240 | ||
| 11170 | cat >>confdefs.h <<\_ACEOF | 11241 | cat >>confdefs.h <<\_ACEOF |
| 11171 | #define HAVE_GTK 1 | 11242 | #define HAVE_GTK 1 |
| 11172 | _ACEOF | 11243 | _ACEOF |
| 11173 | 11244 | ||
| 11174 | USE_X_TOOLKIT=none | 11245 | USE_X_TOOLKIT=none |
| 11246 | fi | ||
| 11247 | |||
| 11248 | fi | ||
| 11249 | |||
| 11250 | |||
| 11251 | if test "${HAVE_GTK}" = "yes"; then | ||
| 11175 | 11252 | ||
| 11176 | if test "$with_toolkit_scroll_bars" != no; then | 11253 | if test "$with_toolkit_scroll_bars" != no; then |
| 11177 | with_toolkit_scroll_bars=yes | 11254 | with_toolkit_scroll_bars=yes |
diff --git a/configure.in b/configure.in index 6b352d4a6f1..ad7504d4490 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -84,7 +84,7 @@ AC_ARG_WITH(x-toolkit, | |||
| 84 | [ --with-x-toolkit=KIT use an X toolkit | 84 | [ --with-x-toolkit=KIT use an X toolkit |
| 85 | (KIT = yes/lucid/athena/motif/gtk/no)], | 85 | (KIT = yes/lucid/athena/motif/gtk/no)], |
| 86 | [ case "${withval}" in | 86 | [ case "${withval}" in |
| 87 | y | ye | yes ) val=athena ;; | 87 | y | ye | yes ) val=gtk ;; |
| 88 | n | no ) val=no ;; | 88 | n | no ) val=no ;; |
| 89 | l | lu | luc | luci | lucid ) val=lucid ;; | 89 | l | lu | luc | luci | lucid ) val=lucid ;; |
| 90 | a | at | ath | athe | athen | athena ) val=athena ;; | 90 | a | at | ath | athe | athen | athena ) val=athena ;; |
| @@ -98,7 +98,7 @@ dnl AC_MSG_ERROR([the `--with-x-toolkit' option is supposed to have a value | |||
| 98 | dnl which is `yes', `no', `lucid', `athena', `motif' or `open-look'.]) | 98 | dnl which is `yes', `no', `lucid', `athena', `motif' or `open-look'.]) |
| 99 | AC_MSG_ERROR([`--with-x-toolkit=$withval' is invalid\; | 99 | AC_MSG_ERROR([`--with-x-toolkit=$withval' is invalid\; |
| 100 | this option's value should be `yes', `no', `lucid', `athena', `motif' or `gtk'. | 100 | this option's value should be `yes', `no', `lucid', `athena', `motif' or `gtk'. |
| 101 | Currently, `yes', `athena' and `lucid' are synonyms.]) | 101 | Currently, `yes' and `gtk', and `athena' and `lucid' are synonyms.]) |
| 102 | ;; | 102 | ;; |
| 103 | esac | 103 | esac |
| 104 | with_x_toolkit=$val | 104 | with_x_toolkit=$val |
| @@ -1032,14 +1032,8 @@ dnl see the `changequote' comment above. | |||
| 1032 | ;; | 1032 | ;; |
| 1033 | *-sunos5* | *-solaris* ) | 1033 | *-sunos5* | *-solaris* ) |
| 1034 | opsys=sol2-6 | 1034 | opsys=sol2-6 |
| 1035 | ## FIXME: make this into a proper fix that checks the compiler type, | 1035 | emacs_check_sunpro_c=yes |
| 1036 | ## rather than relying on path. Or is /usr/ccs/lib/cpp a bad default now? | 1036 | NON_GNU_CPP=/usr/ccs/lib/cpp |
| 1037 | if [ "x$CC" = x/opt/SUNWspro/bin/cc ]; then | ||
| 1038 | ## -Xs prevents spurious whitespace. | ||
| 1039 | NON_GNU_CPP="/opt/SUNWspro/bin/cc -E -Xs" | ||
| 1040 | else | ||
| 1041 | NON_GNU_CPP=/usr/ccs/lib/cpp | ||
| 1042 | fi | ||
| 1043 | ;; | 1037 | ;; |
| 1044 | * ) opsys=bsd4-2 ;; | 1038 | * ) opsys=bsd4-2 ;; |
| 1045 | esac | 1039 | esac |
| @@ -1275,6 +1269,24 @@ if test -n "$CPP" && test -d "$CPP"; then | |||
| 1275 | CPP= | 1269 | CPP= |
| 1276 | fi | 1270 | fi |
| 1277 | 1271 | ||
| 1272 | ## If not using gcc, and on Solaris, and no CPP specified, see if | ||
| 1273 | ## using a Sun compiler, which needs -Xs to prevent whitespace. | ||
| 1274 | if test x"$GCC" != xyes && test x"$emacs_check_sunpro_c" = xyes && \ | ||
| 1275 | test x"$CPP" = x; then | ||
| 1276 | AC_MSG_CHECKING([whether we are using a Sun C compiler]) | ||
| 1277 | AC_CACHE_VAL(emacs_cv_sunpro_c, | ||
| 1278 | [AC_TRY_LINK([], | ||
| 1279 | [#ifndef __SUNPRO_C | ||
| 1280 | fail; | ||
| 1281 | #endif | ||
| 1282 | ], emacs_cv_sunpro_c=yes, emacs_cv_sunpro_c=no)]) | ||
| 1283 | AC_MSG_RESULT($emacs_cv_sunpro_c) | ||
| 1284 | |||
| 1285 | if test x"$emacs_cv_sunpro_c" = xyes; then | ||
| 1286 | NON_GNU_CPP="$CC -E -Xs" | ||
| 1287 | fi | ||
| 1288 | fi | ||
| 1289 | |||
| 1278 | #### Some systems specify a CPP to use unless we are using GCC. | 1290 | #### Some systems specify a CPP to use unless we are using GCC. |
| 1279 | #### Now that we know whether we are using GCC, we can decide whether | 1291 | #### Now that we know whether we are using GCC, we can decide whether |
| 1280 | #### to use that one. | 1292 | #### to use that one. |
| @@ -1868,9 +1880,15 @@ dnl Dont set this for GTK. A lot of tests below assumes Xt when | |||
| 1868 | dnl USE_X_TOOLKIT is set. | 1880 | dnl USE_X_TOOLKIT is set. |
| 1869 | USE_X_TOOLKIT=none ;; | 1881 | USE_X_TOOLKIT=none ;; |
| 1870 | no ) USE_X_TOOLKIT=none ;; | 1882 | no ) USE_X_TOOLKIT=none ;; |
| 1871 | dnl If user did not say whether to use a toolkit, | 1883 | dnl If user did not say whether to use a toolkit, make this decision later: |
| 1872 | dnl make this decision later: use the toolkit if we have X11R5 or newer. | 1884 | dnl use the toolkit if we have gtk, or X11R5 or newer. |
| 1873 | * ) USE_X_TOOLKIT=maybe ;; | 1885 | * ) |
| 1886 | if test x"$with_gtk" = xyes; then | ||
| 1887 | USE_X_TOOLKIT=none | ||
| 1888 | else | ||
| 1889 | USE_X_TOOLKIT=maybe | ||
| 1890 | fi | ||
| 1891 | ;; | ||
| 1874 | esac | 1892 | esac |
| 1875 | ;; | 1893 | ;; |
| 1876 | mac | none ) | 1894 | mac | none ) |
| @@ -2098,7 +2116,8 @@ HAVE_GTK=no | |||
| 2098 | if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then | 2116 | if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then |
| 2099 | USE_X_TOOLKIT=none | 2117 | USE_X_TOOLKIT=none |
| 2100 | fi | 2118 | fi |
| 2101 | if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then | 2119 | if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk" || \ |
| 2120 | test "$USE_X_TOOLKIT" = "maybe"; then | ||
| 2102 | if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then | 2121 | if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then |
| 2103 | AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]); | 2122 | AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]); |
| 2104 | fi | 2123 | fi |
| @@ -2111,7 +2130,15 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then | |||
| 2111 | PKG_CONFIG="${with_pkg_config_prog}" | 2130 | PKG_CONFIG="${with_pkg_config_prog}" |
| 2112 | fi | 2131 | fi |
| 2113 | dnl Checks for libraries. | 2132 | dnl Checks for libraries. |
| 2114 | PKG_CHECK_MODULES(GTK, $GTK_MODULES) | 2133 | PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no) |
| 2134 | if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then | ||
| 2135 | AC_MSG_ERROR($GTK_PKG_ERRORS) | ||
| 2136 | fi | ||
| 2137 | fi | ||
| 2138 | |||
| 2139 | |||
| 2140 | if test x"$pkg_check_gtk" = xyes; then | ||
| 2141 | |||
| 2115 | AC_SUBST(GTK_CFLAGS) | 2142 | AC_SUBST(GTK_CFLAGS) |
| 2116 | AC_SUBST(GTK_LIBS) | 2143 | AC_SUBST(GTK_LIBS) |
| 2117 | C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS" | 2144 | C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS" |
| @@ -2121,12 +2148,19 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then | |||
| 2121 | GTK_COMPILES=no | 2148 | GTK_COMPILES=no |
| 2122 | AC_CHECK_FUNCS(gtk_main, GTK_COMPILES=yes) | 2149 | AC_CHECK_FUNCS(gtk_main, GTK_COMPILES=yes) |
| 2123 | if test "${GTK_COMPILES}" != "yes"; then | 2150 | if test "${GTK_COMPILES}" != "yes"; then |
| 2124 | AC_MSG_ERROR([Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?]); | 2151 | if test "$USE_X_TOOLKIT" != "maybe"; then |
| 2152 | AC_MSG_ERROR([Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?]); | ||
| 2153 | fi | ||
| 2154 | else | ||
| 2155 | HAVE_GTK=yes | ||
| 2156 | AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.]) | ||
| 2157 | USE_X_TOOLKIT=none | ||
| 2125 | fi | 2158 | fi |
| 2126 | 2159 | ||
| 2127 | HAVE_GTK=yes | 2160 | fi |
| 2128 | AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.]) | 2161 | |
| 2129 | USE_X_TOOLKIT=none | 2162 | |
| 2163 | if test "${HAVE_GTK}" = "yes"; then | ||
| 2130 | 2164 | ||
| 2131 | dnl GTK scrollbars resemble toolkit scrollbars a lot, so to avoid | 2165 | dnl GTK scrollbars resemble toolkit scrollbars a lot, so to avoid |
| 2132 | dnl a lot if #ifdef:s, say we have toolkit scrollbars. | 2166 | dnl a lot if #ifdef:s, say we have toolkit scrollbars. |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 425b0dc353a..5c9dfb6a197 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,34 @@ | |||
| 1 | 2007-06-07 Mark H. Weaver <mhw@netris.org> (tiny change) | ||
| 2 | |||
| 3 | * NEWS (set-mark-command-repeat-pop): Fix duplicate entry. | ||
| 4 | |||
| 5 | 2007-06-07 Michael Olson <mwolson@gnu.org> | ||
| 6 | |||
| 7 | * MORE.STUFF: Update eshell URL. | ||
| 8 | |||
| 9 | 2007-06-06 Carsten Dominik <dominik@science.uva.nl> | ||
| 10 | |||
| 11 | * orgcard.tex: Version 4.77. | ||
| 12 | |||
| 13 | 2007-06-05 Michael Albinus <michael.albinus@gmx.de> | ||
| 14 | |||
| 15 | * NEWS: Add socks.el as new package. | ||
| 16 | |||
| 17 | 2007-06-02 Thien-Thi Nguyen <ttn@gnuvola.org> | ||
| 18 | |||
| 19 | * MORE.STUFF (Hideshow): Delete. | ||
| 20 | (EDB, Go in a buffer): Update urls. | ||
| 21 | Suggested by CHENG Gao <chenggao@gmail.com>. | ||
| 22 | |||
| 23 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 24 | |||
| 25 | * Version 22.1 released. | ||
| 26 | |||
| 27 | 2007-06-02 CHENG Gao <chenggao@gmail.com> | ||
| 28 | |||
| 29 | * MORE.STUFF: Remove dead URL for Fortune, and update URLs for | ||
| 30 | Hideshow, Org, EDB, and Remember. | ||
| 31 | |||
| 1 | 2007-05-29 Robert J. Chassell <bob@rattlesnake.com> | 32 | 2007-05-29 Robert J. Chassell <bob@rattlesnake.com> |
| 2 | 33 | ||
| 3 | * NEWS: Fix instances of `allow' without object. | 34 | * NEWS: Fix instances of `allow' without object. |
| @@ -254,7 +285,7 @@ | |||
| 254 | 285 | ||
| 255 | 2007-02-19 Kenichi Handa <handa@m17n.org> | 286 | 2007-02-19 Kenichi Handa <handa@m17n.org> |
| 256 | 287 | ||
| 257 | * NEWS (New language environmets): Add "Esperanto". | 288 | * NEWS (New language environments): Add "Esperanto". |
| 258 | 289 | ||
| 259 | 2007-02-16 Dale Gulledge <dsplat@rochester.rr.com> | 290 | 2007-02-16 Dale Gulledge <dsplat@rochester.rr.com> |
| 260 | 291 | ||
diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF index d91d22c6d52..c24a6735bf3 100644 --- a/etc/MORE.STUFF +++ b/etc/MORE.STUFF | |||
| @@ -63,25 +63,25 @@ You might find bug-fixes or enhancements in these places. | |||
| 63 | * ERC: IRC client: | 63 | * ERC: IRC client: |
| 64 | <URL:http://www.emacswiki.org/cgi-bin/wiki?EmacsIRCClient> | 64 | <URL:http://www.emacswiki.org/cgi-bin/wiki?EmacsIRCClient> |
| 65 | 65 | ||
| 66 | * EShell: <URL:http://www.newartisans.com/johnw/emacs.html> | 66 | * EShell: <URL:http://johnwiegley.com/eshell.html> |
| 67 | 67 | ||
| 68 | * Etags: <URL:ftp://pot.potorti.it/pub/software/unix/etags.tar.gz> | 68 | * Etags: <URL:ftp://pot.potorti.it/pub/software/unix/etags.tar.gz> |
| 69 | 69 | ||
| 70 | * Expand: <URL:http://w3.teaser.fr/%7Eflepied/expand.el.gz> | 70 | * Expand: <URL:http://w3.teaser.fr/%7Eflepied/expand.el.gz> |
| 71 | 71 | ||
| 72 | * Fortune: <URL:http://www.coling.uni-freiburg.de/%7Eschauer/emacs.html> | ||
| 73 | |||
| 74 | * Gnus: <URL:http://www.gnus.org/> | 72 | * Gnus: <URL:http://www.gnus.org/> |
| 75 | 73 | ||
| 76 | * Ffap: <URL:http://www.mathcs.emory.edu/%7Emic/ftp/emacs/> | 74 | * Ffap: <URL:http://www.mathcs.emory.edu/%7Emic/ftp/emacs/> |
| 77 | (And some addons for it.) | 75 | (And some addons for it.) |
| 78 | 76 | ||
| 79 | * Hideshow: <URL:http://www.glug.org/people/ttn/software/hideshow/> | 77 | * Hideshow: <URL:http://staff.science.uva.nl/~dominik/Tools/org/> |
| 80 | 78 | ||
| 81 | * Ispell: <URL:http://www.eng.utah.edu/~kstevens/ispell-page.html> | 79 | * Ispell: <URL:http://www.eng.utah.edu/~kstevens/ispell-page.html> |
| 82 | 80 | ||
| 83 | * MH-E: <URL:http://mh-e.sourceforge.net/> | 81 | * MH-E: <URL:http://mh-e.sourceforge.net/> |
| 84 | 82 | ||
| 83 | * Org mode: <URL:http://staff.science.uva.nl/~dominik/Tools/org/> | ||
| 84 | |||
| 85 | * PS mode: <URL:http://odur.let.rug.nl/%7Ekleiweg/postscript/> | 85 | * PS mode: <URL:http://odur.let.rug.nl/%7Ekleiweg/postscript/> |
| 86 | 86 | ||
| 87 | * PS-print: <URL:http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage> | 87 | * PS-print: <URL:http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage> |
| @@ -148,7 +148,7 @@ Several are for Debian GNU/Linux in particular. | |||
| 148 | 148 | ||
| 149 | * ECB: Emacs Code Browser: <URL:http://ecb.sourceforge.net/> | 149 | * ECB: Emacs Code Browser: <URL:http://ecb.sourceforge.net/> |
| 150 | 150 | ||
| 151 | * EDB: database: <URL:http://www.glug.org/people/ttn/software/edb/> | 151 | * EDB: database: <URL:http://www.gnuvola.org/software/edb/> |
| 152 | 152 | ||
| 153 | * Ee: categorizing information manager: | 153 | * Ee: categorizing information manager: |
| 154 | <URL:http://www.jurta.org/emacs/ee/> | 154 | <URL:http://www.jurta.org/emacs/ee/> |
| @@ -185,7 +185,7 @@ Several are for Debian GNU/Linux in particular. | |||
| 185 | page: eiffel-mode.el. | 185 | page: eiffel-mode.el. |
| 186 | 186 | ||
| 187 | * Go in a buffer: Go Text Protocol client: | 187 | * Go in a buffer: Go Text Protocol client: |
| 188 | <URL:http://www.glug.org/people/ttn/software/personal-elisp/standalone/> | 188 | <URL:http://www.gnuvola.org/software/personal-elisp/standalone/> |
| 189 | A modified version is also bundled with GNU Go: | 189 | A modified version is also bundled with GNU Go: |
| 190 | <URL:http://www.gnu.org/software/gnugo/gnugo.html> | 190 | <URL:http://www.gnu.org/software/gnugo/gnugo.html> |
| 191 | 191 | ||
| @@ -235,10 +235,10 @@ Several are for Debian GNU/Linux in particular. | |||
| 235 | DTD-aware serious SGML/XML editing. | 235 | DTD-aware serious SGML/XML editing. |
| 236 | 236 | ||
| 237 | * Quack: <URL:http://www.neilvandyke.org/quack/> | 237 | * Quack: <URL:http://www.neilvandyke.org/quack/> |
| 238 | Quack enhances Emacs support for Scheme | 238 | Quack enhances Emacs support for Scheme. |
| 239 | 239 | ||
| 240 | * Remember: | 240 | * Remember: <URL:https://gna.org/p/remember-el> |
| 241 | <URL:http://sacha.free.net.ph/notebook/wiki/RememberEl.php> | 241 | A Personal Information Manager (PIM) for Emacs. |
| 242 | 242 | ||
| 243 | * Session: <URL:http://emacs-session.sourceforge.net/> | 243 | * Session: <URL:http://emacs-session.sourceforge.net/> |
| 244 | Session Management for Emacs. | 244 | Session Management for Emacs. |
| @@ -19,6 +19,8 @@ with a prefix argument or by typing C-u C-h C-n. | |||
| 19 | 19 | ||
| 20 | * Installation Changes in Emacs 23.1 | 20 | * Installation Changes in Emacs 23.1 |
| 21 | 21 | ||
| 22 | ** The default X toolkit has changed from Lucid to Gtk+. | ||
| 23 | |||
| 22 | 24 | ||
| 23 | * Startup Changes in Emacs 23.1 | 25 | * Startup Changes in Emacs 23.1 |
| 24 | 26 | ||
| @@ -28,9 +30,15 @@ with a prefix argument or by typing C-u C-h C-n. | |||
| 28 | 30 | ||
| 29 | * Editing Changes in Emacs 23.1 | 31 | * Editing Changes in Emacs 23.1 |
| 30 | 32 | ||
| 33 | ** New command kill-matching-buffers kills buffers whose name matches a regexp. | ||
| 34 | |||
| 31 | 35 | ||
| 32 | * New Modes and Packages in Emacs 23.1 | 36 | * New Modes and Packages in Emacs 23.1 |
| 33 | 37 | ||
| 38 | ** css-mode to edit Cascading Style Sheets. | ||
| 39 | |||
| 40 | ** socks.el (which had been part of W3) is now part of Emacs. | ||
| 41 | |||
| 34 | 42 | ||
| 35 | * Changes in Specialized Modes and Packages in Emacs 23.1 | 43 | * Changes in Specialized Modes and Packages in Emacs 23.1 |
| 36 | 44 | ||
diff --git a/etc/NEWS.22 b/etc/NEWS.22 index 41c446ccae8..ed9babda50c 100644 --- a/etc/NEWS.22 +++ b/etc/NEWS.22 | |||
| @@ -33,6 +33,24 @@ Some specific packages that are known to cause problems are: | |||
| 33 | ** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. | 33 | ** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. |
| 34 | 34 | ||
| 35 | ** cua.el, cua-mode.el: remove old versions. | 35 | ** cua.el, cua-mode.el: remove old versions. |
| 36 | |||
| 37 | * Installation Changes in Emacs 22.2 | ||
| 38 | |||
| 39 | * Changes in Emacs 22.2 | ||
| 40 | |||
| 41 | ** The values of `dired-recursive-deletes' and `dired-recursive-copies' | ||
| 42 | have been changed to `top'. This means that the user is asked once, | ||
| 43 | before deleting/copying the indicated directory recursively. | ||
| 44 | |||
| 45 | ** In Image mode, whenever the displayed image is wider and/or higher | ||
| 46 | than the window, the usual keys for moving the cursor cause the image | ||
| 47 | to be scrolled horizontally or vertically instead. | ||
| 48 | |||
| 49 | * New Modes and Packages in Emacs 22.2 | ||
| 50 | |||
| 51 | ** The new package css-mode.el provides a major mode for editing CSS files. | ||
| 52 | |||
| 53 | ** The new package socks.el implements the SOCKS v5 protocol. | ||
| 36 | 54 | ||
| 37 | 55 | ||
| 38 | * Installation Changes in Emacs 22.1 | 56 | * Installation Changes in Emacs 22.1 |
| @@ -280,11 +298,6 @@ too. If you want to use just plain `*' as a wildcard, type `*""'; the | |||
| 280 | doublequotes make no difference in the shell, but they prevent | 298 | doublequotes make no difference in the shell, but they prevent |
| 281 | special treatment in `dired-do-shell-command'. | 299 | special treatment in `dired-do-shell-command'. |
| 282 | 300 | ||
| 283 | ** A prefix argument is no longer required to repeat a jump to a | ||
| 284 | previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u | ||
| 285 | C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC | ||
| 286 | to set the mark immediately after a jump. | ||
| 287 | |||
| 288 | ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i | 301 | ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i |
| 289 | have been moved to C-h F, C-h K and C-h S. | 302 | have been moved to C-h F, C-h K and C-h S. |
| 290 | 303 | ||
| @@ -451,8 +464,9 @@ to one second. This feature is turned off by default. | |||
| 451 | ** Mark command changes: | 464 | ** Mark command changes: |
| 452 | 465 | ||
| 453 | *** A prefix argument is no longer required to repeat a jump to a | 466 | *** A prefix argument is no longer required to repeat a jump to a |
| 454 | previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the | 467 | previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u |
| 455 | mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. | 468 | C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC |
| 469 | to set the mark immediately after a jump. | ||
| 456 | 470 | ||
| 457 | *** Marking commands extend the region when invoked multiple times. | 471 | *** Marking commands extend the region when invoked multiple times. |
| 458 | 472 | ||
| @@ -19,6 +19,8 @@ In new X11 versions, xaw3dg-dev does not depend on libxaw-dev, so the | |||
| 19 | latter need not be installed. As a result, all the source files that | 19 | latter need not be installed. As a result, all the source files that |
| 20 | look for include files in X11/Xaw should look in X11/Xaw3d if we are | 20 | look for include files in X11/Xaw should look in X11/Xaw3d if we are |
| 21 | using Xaw3d. | 21 | using Xaw3d. |
| 22 | http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-04/msg00396.html | ||
| 23 | http://lists.gnu.org/archive/html/emacs-devel/2006-03/msg01150.html ? | ||
| 22 | 24 | ||
| 23 | ** Compute the list of active keymaps *after* reading the first event. | 25 | ** Compute the list of active keymaps *after* reading the first event. |
| 24 | 26 | ||
| @@ -32,8 +34,6 @@ a window doesn't select it. | |||
| 32 | but if you type M-n you should get the visited file name of the | 34 | but if you type M-n you should get the visited file name of the |
| 33 | current buffer. | 35 | current buffer. |
| 34 | 36 | ||
| 35 | ** describe-face should show an example of text in the face. | ||
| 36 | |||
| 37 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs | 37 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs |
| 38 | on each side of the bar (what to do at the edges?). | 38 | on each side of the bar (what to do at the edges?). |
| 39 | 39 | ||
| @@ -100,9 +100,6 @@ current buffer. | |||
| 100 | 100 | ||
| 101 | ** make back_comment use syntax-ppss or equivalent. | 101 | ** make back_comment use syntax-ppss or equivalent. |
| 102 | 102 | ||
| 103 | ** Improve configure's treatment of NON_GNU_CPP on Solaris. | ||
| 104 | (patch available for after Emacs 22) | ||
| 105 | |||
| 106 | ** Consider improving src/sysdep.c's search for a fqdn. | 103 | ** Consider improving src/sysdep.c's search for a fqdn. |
| 107 | http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00782.html | 104 | http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00782.html |
| 108 | 105 | ||
| @@ -179,6 +176,7 @@ specified filters, specified timers, and specified hooks. | |||
| 179 | 176 | ||
| 180 | ** Remove the default toggling behavior of minor modes when called from elisp | 177 | ** Remove the default toggling behavior of minor modes when called from elisp |
| 181 | rather than interactively. This a trivial one-liner in easy-mode.el. | 178 | rather than interactively. This a trivial one-liner in easy-mode.el. |
| 179 | |||
| 182 | ** Create a category of errors called `user-error' for errors which are | 180 | ** Create a category of errors called `user-error' for errors which are |
| 183 | typically due to pilot errors and should thus be in debug-ignored-errors. | 181 | typically due to pilot errors and should thus be in debug-ignored-errors. |
| 184 | 182 | ||
| @@ -381,15 +379,6 @@ typically due to pilot errors and should thus be in debug-ignored-errors. | |||
| 381 | ** Allow unknown image types to be rendered via an external program | 379 | ** Allow unknown image types to be rendered via an external program |
| 382 | converting them to, say, PBM (in the same way as PostScript?). | 380 | converting them to, say, PBM (in the same way as PostScript?). |
| 383 | 381 | ||
| 384 | ** Display images with alpha channels, such as png, with the current | ||
| 385 | background color of whatever frame it is displayed in. Currently, we | ||
| 386 | use the default background color if specified in the png file, or, if | ||
| 387 | that is unspecified, the background color of the frame in which the | ||
| 388 | image was first created. Ideally, the image should display the | ||
| 389 | background color of whichever frame it is being displayed in. The | ||
| 390 | main complication is that this will require the loading of a new image | ||
| 391 | object for each different background color. | ||
| 392 | |||
| 393 | ** Allow displaying an X window from an external program in a buffer, | 382 | ** Allow displaying an X window from an external program in a buffer, |
| 394 | e.g. to render graphics from Java applets. [gerd and/or wmperry | 383 | e.g. to render graphics from Java applets. [gerd and/or wmperry |
| 395 | thought this was feasible.] | 384 | thought this was feasible.] |
diff --git a/etc/orgcard.tex b/etc/orgcard.tex index 55a797000c6..ab891a0be13 100644 --- a/etc/orgcard.tex +++ b/etc/orgcard.tex | |||
| @@ -1,27 +1,27 @@ | |||
| 1 | % Reference Card for Org Mode | 1 | % Reference Card for Org Mode |
| 2 | \def\orgversionnumber{4.67} | 2 | \def\orgversionnumber{4.77} |
| 3 | \def\versionyear{2007} % latest update | 3 | \def\versionyear{2007} % latest update |
| 4 | \def\year{2007} % latest copyright year | 4 | \def\year{2007} % latest copyright year |
| 5 | % | 5 | |
| 6 | %**start of header | 6 | %**start of header |
| 7 | \newcount\columnsperpage | 7 | \newcount\columnsperpage |
| 8 | \newcount\letterpaper | ||
| 8 | 9 | ||
| 9 | % This file can be printed with 1, 2, or 3 columns per page (see below). | 10 | % This file can be printed with 1, 2, or 3 columns per page (see below). |
| 10 | % At the moment this card works quite nicely in 3 column format and | 11 | % Specify how many you want here. |
| 11 | % currently takes 2 full pages. It is thus suited to producing one | ||
| 12 | % double-side page when printed. | ||
| 13 | 12 | ||
| 14 | % There are a couple of tweaks in the format of this card which make it work | 13 | \columnsperpage=3 |
| 15 | % slightly better on A4 paper. The changes due, I think, to Stephen Eglen, | ||
| 16 | % are commented below. Revert the changes if you want letter sized paper. | ||
| 17 | 14 | ||
| 18 | % Try running something like | 15 | % Set letterpapaer to 0 for A4 paper, 1 for letter (US) paper. Useful |
| 19 | % tex org-mode-ref.tex; dvips -t landscape org-mode-ref.dvi | 16 | % only when columnsperpage is 2 or 3. |
| 20 | % to print the card | ||
| 21 | 17 | ||
| 22 | \columnsperpage=3 | 18 | \letterpaper=0 |
| 23 | 19 | ||
| 24 | % Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc | 20 | % Nothing else needs to be changed below this line. |
| 21 | % Copyright (C) 1987, 1993, 1996, 1997, 2001, 2002, 2003, 2004, | ||
| 22 | % 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 23 | |||
| 24 | % This file is part of GNU Emacs. | ||
| 25 | 25 | ||
| 26 | % GNU Emacs is free software; you can redistribute it and/or modify | 26 | % GNU Emacs is free software; you can redistribute it and/or modify |
| 27 | % it under the terms of the GNU General Public License as published by | 27 | % it under the terms of the GNU General Public License as published by |
| @@ -35,8 +35,8 @@ | |||
| 35 | 35 | ||
| 36 | % You should have received a copy of the GNU General Public License | 36 | % You should have received a copy of the GNU General Public License |
| 37 | % along with GNU Emacs; see the file COPYING. If not, write to | 37 | % along with GNU Emacs; see the file COPYING. If not, write to |
| 38 | % the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 38 | % the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 39 | % Boston, MA 02111-1307, USA. | 39 | % Boston, MA 02110-1301, USA. |
| 40 | 40 | ||
| 41 | % This file is intended to be processed by plain TeX (TeX82). | 41 | % This file is intended to be processed by plain TeX (TeX82). |
| 42 | % | 42 | % |
| @@ -54,6 +54,10 @@ | |||
| 54 | % For this you need a dvi device driver that can print sideways. | 54 | % For this you need a dvi device driver that can print sideways. |
| 55 | % Which mode to use is controlled by setting \columnsperpage above. | 55 | % Which mode to use is controlled by setting \columnsperpage above. |
| 56 | % | 56 | % |
| 57 | % To compile and print this document: | ||
| 58 | % tex refcard.tex | ||
| 59 | % dvips -t landscape refcard.dvi | ||
| 60 | % | ||
| 57 | % Author: | 61 | % Author: |
| 58 | % Stephen Gildea | 62 | % Stephen Gildea |
| 59 | % Internet: gildea@stop.mail-abuse.org | 63 | % Internet: gildea@stop.mail-abuse.org |
| @@ -82,20 +86,20 @@ are preserved on all copies. | |||
| 82 | % can be scanned without complaint. | 86 | % can be scanned without complaint. |
| 83 | \def\bye{\par\vfill\supereject\end} | 87 | \def\bye{\par\vfill\supereject\end} |
| 84 | 88 | ||
| 85 | \newdimen\intercolumnskip %horizontal space between columns | 89 | \newdimen\intercolumnskip %horizontal space between columns |
| 86 | \newbox\columna %boxes to hold columns already built | 90 | \newbox\columna %boxes to hold columns already built |
| 87 | \newbox\columnb | 91 | \newbox\columnb |
| 88 | 92 | ||
| 89 | \def\ncolumns{\the\columnsperpage} | 93 | \def\ncolumns{\the\columnsperpage} |
| 90 | 94 | ||
| 91 | \message{[\ncolumns\space | 95 | \message{[\ncolumns\space |
| 92 | column\if 1\ncolumns\else s\fi\space per page]} | 96 | column\if 1\ncolumns\else s\fi\space per page]} |
| 93 | 97 | ||
| 94 | \def\scaledmag#1{ scaled \magstep #1} | 98 | \def\scaledmag#1{ scaled \magstep #1} |
| 95 | 99 | ||
| 96 | % This multi-way format was designed by Stephen Gildea October 1986. | 100 | % This multi-way format was designed by Stephen Gildea October 1986. |
| 97 | % Note that the 1-column format is fontfamily-independent. | 101 | % Note that the 1-column format is fontfamily-independent. |
| 98 | \if 1\ncolumns %one-column format uses normal size | 102 | \if 1\ncolumns %one-column format uses normal size |
| 99 | \hsize 4in | 103 | \hsize 4in |
| 100 | \vsize 10in | 104 | \vsize 10in |
| 101 | \voffset -.7in | 105 | \voffset -.7in |
| @@ -106,14 +110,14 @@ are preserved on all copies. | |||
| 106 | 110 | ||
| 107 | \footline{\hss\folio} | 111 | \footline{\hss\folio} |
| 108 | \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} | 112 | \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} |
| 109 | \else %2 or 3 columns uses prereduced size | 113 | \else %2 or 3 columns uses prereduced size |
| 110 | \hsize 3.2in | 114 | \hsize 3.2in |
| 111 | 115 | \if 1\the\letterpaper | |
| 112 | % FIXME - Try to make things more A4 friendly | 116 | \vsize 7.95in |
| 113 | % \vsize 7.95in | 117 | \else |
| 114 | \vsize 7.65in | 118 | \vsize 7.65in |
| 115 | % \hoffset -.75in | 119 | \fi |
| 116 | \hoffset -.25in | 120 | \hoffset -.75in |
| 117 | \voffset -.745in | 121 | \voffset -.745in |
| 118 | \font\titlefont=cmbx10 \scaledmag2 | 122 | \font\titlefont=cmbx10 \scaledmag2 |
| 119 | \font\headingfont=cmbx10 \scaledmag1 | 123 | \font\headingfont=cmbx10 \scaledmag1 |
| @@ -132,13 +136,14 @@ are preserved on all copies. | |||
| 132 | \def\bf{\eightbf} | 136 | \def\bf{\eightbf} |
| 133 | \def\it{\eightit} | 137 | \def\it{\eightit} |
| 134 | \def\tt{\eighttt} | 138 | \def\tt{\eighttt} |
| 135 | 139 | \if 1\the\letterpaper | |
| 136 | % FIXME - Try to make things more A4 friendly | 140 | \normalbaselineskip=.8\normalbaselineskip |
| 137 | % \normalbaselineskip=.8\normalbaselineskip | 141 | \else |
| 138 | \normalbaselineskip=.7\normalbaselineskip | 142 | \normalbaselineskip=.7\normalbaselineskip |
| 143 | \fi | ||
| 139 | \normallineskip=.8\normallineskip | 144 | \normallineskip=.8\normallineskip |
| 140 | \normallineskiplimit=.8\normallineskiplimit | 145 | \normallineskiplimit=.8\normallineskiplimit |
| 141 | \normalbaselines\rm %make definitions take effect | 146 | \normalbaselines\rm %make definitions take effect |
| 142 | 147 | ||
| 143 | \if 2\ncolumns | 148 | \if 2\ncolumns |
| 144 | \let\maxcolumn=b | 149 | \let\maxcolumn=b |
| @@ -154,16 +159,16 @@ are preserved on all copies. | |||
| 154 | 159 | ||
| 155 | \intercolumnskip=.46in | 160 | \intercolumnskip=.46in |
| 156 | \def\abc{a} | 161 | \def\abc{a} |
| 157 | \output={% %see The TeXbook page 257 | 162 | \output={% %see The TeXbook page 257 |
| 158 | % This next line is useful when designing the layout. | 163 | % This next line is useful when designing the layout. |
| 159 | %\immediate\write16{Column \folio\abc\space starts with \firstmark} | 164 | %\immediate\write16{Column \folio\abc\space starts with \firstmark} |
| 160 | \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} | 165 | \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} |
| 161 | \else\if a\abc | 166 | \else\if a\abc |
| 162 | \global\setbox\columna\columnbox \global\def\abc{b} | 167 | \global\setbox\columna\columnbox \global\def\abc{b} |
| 163 | %% in case we never use \columnb (two-column mode) | 168 | %% in case we never use \columnb (two-column mode) |
| 164 | \global\setbox\columnb\hbox to -\intercolumnskip{} | 169 | \global\setbox\columnb\hbox to -\intercolumnskip{} |
| 165 | \else | 170 | \else |
| 166 | \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} | 171 | \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} |
| 167 | \def\multicolumnformat{\shipout\vbox{\makeheadline | 172 | \def\multicolumnformat{\shipout\vbox{\makeheadline |
| 168 | \hbox{\box\columna\hskip\intercolumnskip | 173 | \hbox{\box\columna\hskip\intercolumnskip |
| 169 | \box\columnb\hskip\intercolumnskip\columnbox} | 174 | \box\columnb\hskip\intercolumnskip\columnbox} |
| @@ -173,7 +178,7 @@ are preserved on all copies. | |||
| 173 | \def\bye{\par\vfill\supereject | 178 | \def\bye{\par\vfill\supereject |
| 174 | \if a\abc \else\null\vfill\eject\fi | 179 | \if a\abc \else\null\vfill\eject\fi |
| 175 | \if a\abc \else\null\vfill\eject\fi | 180 | \if a\abc \else\null\vfill\eject\fi |
| 176 | \end} | 181 | \end} |
| 177 | \fi | 182 | \fi |
| 178 | 183 | ||
| 179 | % we won't be using math mode much, so redefine some of the characters | 184 | % we won't be using math mode much, so redefine some of the characters |
| @@ -225,7 +230,7 @@ are preserved on all copies. | |||
| 225 | \def\<#1>{{\it #1\/}} | 230 | \def\<#1>{{\it #1\/}} |
| 226 | 231 | ||
| 227 | % kbd - argument is characters typed literally. Like the Texinfo command. | 232 | % kbd - argument is characters typed literally. Like the Texinfo command. |
| 228 | \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows | 233 | \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows |
| 229 | 234 | ||
| 230 | % beginexample...endexample - surrounds literal text, such a code example. | 235 | % beginexample...endexample - surrounds literal text, such a code example. |
| 231 | % typeset in a typewriter font with line breaks preserved | 236 | % typeset in a typewriter font with line breaks preserved |
| @@ -316,15 +321,15 @@ are preserved on all copies. | |||
| 316 | \section{Archiving} | 321 | \section{Archiving} |
| 317 | 322 | ||
| 318 | \key{toggle ARCHIVE tag}{C-c C-x C-a} | 323 | \key{toggle ARCHIVE tag}{C-c C-x C-a} |
| 319 | \metax{mark fully done children}{C-u C-c C-x C-a} | 324 | %\metax{mark fully done children}{C-u C-c C-x C-a} |
| 320 | \key{force cycling of an ARCHIVEd tree}{C-TAB} | 325 | \key{force cycling of an ARCHIVEd tree}{C-TAB} |
| 321 | \key{move subtree to archive file}{C-c C-x C-s} | 326 | \key{move subtree to archive file}{C-c C-x C-s} |
| 322 | \metax{move all fully done children}{C-u C-c C-x C-s} | 327 | %\metax{move all fully done children}{C-u C-c C-x C-s} |
| 323 | To set archive location for current file, add a line like$^2$: | 328 | %To set archive location for current file, add a line like$^2$: |
| 324 | \vskip -1mm | 329 | %\vskip -1mm |
| 325 | \beginexample% | 330 | %\beginexample% |
| 326 | \#+ARCHIVE: archfile::* Archived Tasks | 331 | %\#+ARCHIVE: archfile::* Archived Tasks |
| 327 | \endexample | 332 | %\endexample |
| 328 | 333 | ||
| 329 | \section{Filtering and Sparse Trees} | 334 | \section{Filtering and Sparse Trees} |
| 330 | 335 | ||
| @@ -359,13 +364,11 @@ Outside of tables, the same keys may have other functionality. | |||
| 359 | 364 | ||
| 360 | {\bf Row and column editing} | 365 | {\bf Row and column editing} |
| 361 | 366 | ||
| 362 | \key{move the current column left}{M-LEFT} | 367 | \key{move the current column left}{M-LEFT/RIGHT} |
| 363 | \key{move the current column right}{M-RIGHT} | ||
| 364 | \key{kill the current column}{M-S-LEFT} | 368 | \key{kill the current column}{M-S-LEFT} |
| 365 | \key{insert new column to left of cursor position}{M-S-RIGHT} | 369 | \key{insert new column to left of cursor position}{M-S-RIGHT} |
| 366 | 370 | ||
| 367 | \key{move the current row up}{M-UP} | 371 | \key{move the current row up/down}{M-UP/DOWN} |
| 368 | \key{move the current row down}{M-DOWN} | ||
| 369 | \key{kill the current row or horizontal line}{M-S-UP} | 372 | \key{kill the current row or horizontal line}{M-S-UP} |
| 370 | \key{insert new row above the current row}{M-S-DOWN} | 373 | \key{insert new row above the current row}{M-S-DOWN} |
| 371 | \key{insert hline below (\kbd{C-u} : above) current row}{C-c -} | 374 | \key{insert hline below (\kbd{C-u} : above) current row}{C-c -} |
| @@ -378,34 +381,6 @@ Outside of tables, the same keys may have other functionality. | |||
| 378 | \key{paste rectangular region}{C-c C-x C-y} | 381 | \key{paste rectangular region}{C-c C-x C-y} |
| 379 | \key{fill paragraph across selected cells}{C-c C-q} | 382 | \key{fill paragraph across selected cells}{C-c C-q} |
| 380 | 383 | ||
| 381 | {\bf Calculations} (in combination with Emacs \kbd{calc} package) | ||
| 382 | |||
| 383 | \key{set and eval column formula}{C-c =} | ||
| 384 | \key{set and eval field formula}{C-u C-c =} | ||
| 385 | \key{edit formulas in separate buffer}{C-c '} | ||
| 386 | \key{re-apply all stored equations to current line}{C-c *} | ||
| 387 | \key{re-apply all stored equations to entire table}{C-u C-c *} | ||
| 388 | \key{iterate table to stability}{C-u C-u C-c *} | ||
| 389 | |||
| 390 | %\kbd{TAB}, \kbd{RET} and \kbd{C-c C-c} trigger automatic recalculation | ||
| 391 | %in lines starting with: {\tt | \# |}. | ||
| 392 | |||
| 393 | \key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#} | ||
| 394 | |||
| 395 | \key{show line, column, formula reference}{C-c ?} | ||
| 396 | \key{sum numbers in current column/rectangle}{C-c +} | ||
| 397 | \key{copy down with increment}{S-RET$^3$} | ||
| 398 | |||
| 399 | Formulas typed in field are executed by \kbd{TAB}, | ||
| 400 | \kbd{RET} and \kbd{C-c C-c}. \kbd{=} introduces a column | ||
| 401 | formula, \kbd{:=} a named-field formula. | ||
| 402 | |||
| 403 | \key{Example: Add Col1 and Col2}{=\$1+\$2} | ||
| 404 | \key{... with printf format specification}{=\$1+\$2;\%.2f} | ||
| 405 | \key{... with constants from constants.el}{=\$1/\$c/\$cm} | ||
| 406 | \metax{sum from 2nd to 3rd hline}{:=vsum(@II..@III)} | ||
| 407 | \key{apply current column formula}{=} | ||
| 408 | |||
| 409 | {\bf Miscellaneous} | 384 | {\bf Miscellaneous} |
| 410 | 385 | ||
| 411 | \key{to limit column width to \kbd{N} characters, use}{...| <N> |...} | 386 | \key{to limit column width to \kbd{N} characters, use}{...| <N> |...} |
| @@ -413,6 +388,7 @@ formula, \kbd{:=} a named-field formula. | |||
| 413 | \key{make current field fully visible}{C-u TAB} | 388 | \key{make current field fully visible}{C-u TAB} |
| 414 | \metax{export as tab-separated file}{M-x org-table-export} | 389 | \metax{export as tab-separated file}{M-x org-table-export} |
| 415 | \metax{import tab-separated file}{M-x org-table-import} | 390 | \metax{import tab-separated file}{M-x org-table-import} |
| 391 | \key{sum numbers in current column/rectangle}{C-c +} | ||
| 416 | 392 | ||
| 417 | {\bf Tables created with the \kbd{table.el} package} | 393 | {\bf Tables created with the \kbd{table.el} package} |
| 418 | 394 | ||
| @@ -420,6 +396,42 @@ formula, \kbd{:=} a named-field formula. | |||
| 420 | \key{recognize existing table.el table}{C-c C-c} | 396 | \key{recognize existing table.el table}{C-c C-c} |
| 421 | \key{convert table (Org-mode $\leftrightarrow$ table.el)}{C-c ~} | 397 | \key{convert table (Org-mode $\leftrightarrow$ table.el)}{C-c ~} |
| 422 | 398 | ||
| 399 | {\bf Spreadsheet} | ||
| 400 | |||
| 401 | Formulas typed in field are executed by \kbd{TAB}, | ||
| 402 | \kbd{RET} and \kbd{C-c C-c}. \kbd{=} introduces a column | ||
| 403 | formula, \kbd{:=} a field formula. | ||
| 404 | |||
| 405 | \key{Example: Add Col1 and Col2}{|=\$1+\$2 |} | ||
| 406 | \key{... with printf format specification}{|=\$1+\$2;\%.2f|} | ||
| 407 | \key{... with constants from constants.el}{|=\$1/\$c/\$cm |} | ||
| 408 | \metax{sum from 2nd to 3rd hline}{|:=vsum(@II..@III)|} | ||
| 409 | \key{apply current column formula}{| = |} | ||
| 410 | |||
| 411 | \key{set and eval column formula}{C-c =} | ||
| 412 | \key{set and eval field formula}{C-u C-c =} | ||
| 413 | \key{re-apply all stored equations to current line}{C-c *} | ||
| 414 | \key{re-apply all stored equations to entire table}{C-u C-c *} | ||
| 415 | \key{iterate table to stability}{C-u C-u C-c *} | ||
| 416 | \key{rotate calculation mark through \# * ! \^ \_ \$}{C-\#} | ||
| 417 | \key{show line, column, formula reference}{C-c ?} | ||
| 418 | \key{toggle coordinate grid}{C-c \}} | ||
| 419 | \key{toggle formula debugger}{C-c \{} | ||
| 420 | |||
| 421 | {\it Formula Editor} | ||
| 422 | |||
| 423 | \key{edit formulas in separate buffer}{C-c '} | ||
| 424 | \key{exit and install new formulas}{C-c C-c} | ||
| 425 | \key{exit, install, and apply new formulas}{C-u C-c C-c} | ||
| 426 | \key{abort}{C-c C-q} | ||
| 427 | \key{toggle reference style}{C-c C-r} | ||
| 428 | \key{pretty-print Lisp formula}{TAB} | ||
| 429 | \key{complete Lisp symbol}{M-TAB} | ||
| 430 | \key{shift reference point}{S-cursor} | ||
| 431 | \key{shift test line for column references}{M-up/down} | ||
| 432 | \key{scroll the window showing the table}{M-S-up/down} | ||
| 433 | \key{toggle table coordinate grid}{C-c \}} | ||
| 434 | |||
| 423 | \section{Links} | 435 | \section{Links} |
| 424 | 436 | ||
| 425 | \key{globally store link to the current location}{C-c l$^1$} | 437 | \key{globally store link to the current location}{C-c l$^1$} |
| @@ -466,24 +478,24 @@ formula, \kbd{:=} a named-field formula. | |||
| 466 | %\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} | 478 | %\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} |
| 467 | 479 | ||
| 468 | 480 | ||
| 469 | \section{Remember-mode Integration} | 481 | % \section{Remember-mode Integration} |
| 470 | 482 | ||
| 471 | See the manual for how to make remember.el use Org-mode links and | 483 | % See the manual for how to make remember.el use Org-mode links and |
| 472 | files. The note-finishing command \kbd{C-c C-c} will first prompt for | 484 | % files. The note-finishing command \kbd{C-c C-c} will first prompt for |
| 473 | an org file. In the file, find a location with: | 485 | % an org file. In the file, find a location with: |
| 474 | 486 | ||
| 475 | \key{rotate subtree visibility}{TAB} | 487 | % \key{rotate subtree visibility}{TAB} |
| 476 | \key{next heading}{DOWN} | 488 | % \key{next heading}{DOWN} |
| 477 | \key{previous heading}{UP} | 489 | % \key{previous heading}{UP} |
| 478 | 490 | ||
| 479 | Insert the note with one of the following: | 491 | % Insert the note with one of the following: |
| 480 | 492 | ||
| 481 | \key{as sublevel of heading at cursor}{RET} | 493 | % \key{as sublevel of heading at cursor}{RET} |
| 482 | \key{right here (cursor not on heading)}{RET} | 494 | % \key{right here (cursor not on heading)}{RET} |
| 483 | \key{before current heading}{LEFT} | 495 | % \key{before current heading}{LEFT} |
| 484 | \key{after current heading}{RIGHT} | 496 | % \key{after current heading}{RIGHT} |
| 485 | \key{shortcut to end of buffer (cursor at buf-start)}{RET} | 497 | % \key{shortcut to end of buffer (cursor at buf-start)}{RET} |
| 486 | \key{Abort}{q} | 498 | % \key{Abort}{q} |
| 487 | 499 | ||
| 488 | \section{Completion} | 500 | \section{Completion} |
| 489 | 501 | ||
| @@ -502,16 +514,18 @@ after ``{\tt :}'', and dictionary words elsewhere. | |||
| 502 | \section{TODO Items and Checkboxes} | 514 | \section{TODO Items and Checkboxes} |
| 503 | 515 | ||
| 504 | \key{rotate the state of the current item}{C-c C-t} | 516 | \key{rotate the state of the current item}{C-c C-t} |
| 517 | \metax{select next/previous state}{S-LEFT/RIGHT} | ||
| 518 | \metax{select next/previous set}{C-S-LEFT/RIGHT} | ||
| 505 | \key{view TODO items in a sparse tree}{C-c C-v} | 519 | \key{view TODO items in a sparse tree}{C-c C-v} |
| 506 | \key{view 3rd TODO keyword's sparse tree}{C-3 C-c C-v} | 520 | \key{view 3rd TODO keyword's sparse tree}{C-3 C-c C-v} |
| 507 | 521 | ||
| 508 | \key{set the priority of the current item}{C-c , [ABC]} | 522 | \key{set the priority of the current item}{C-c , [ABC]} |
| 509 | \key{remove priority cookie from current item}{C-c , SPC} | 523 | \key{remove priority cookie from current item}{C-c , SPC} |
| 510 | \key{raise priority of current item}{S-UP$^3$} | 524 | \key{raise/lower priority of current item}{S-UP/DOWN$^3$} |
| 511 | \key{lower priority of current item}{S-DOWN$^3$} | 525 | %\key{lower priority of current item}{S-DOWN$^3$} |
| 512 | 526 | ||
| 513 | \key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow} | 527 | %\key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow} |
| 514 | \key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types} | 528 | %\key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types} |
| 515 | 529 | ||
| 516 | \key{insert new checkbox item in plain list}{M-S-RET} | 530 | \key{insert new checkbox item in plain list}{M-S-RET} |
| 517 | \key{toggle checkbox(es) in region/entry/at point}{C-c C-x C-b} | 531 | \key{toggle checkbox(es) in region/entry/at point}{C-c C-x C-b} |
| @@ -548,13 +562,11 @@ after ``{\tt :}'', and dictionary words elsewhere. | |||
| 548 | %\key{... forward/backward one month}{M-S-LEFT/RIGT} | 562 | %\key{... forward/backward one month}{M-S-LEFT/RIGT} |
| 549 | \key{Toggle custom format display for dates/times}{C-c C-x C-t} | 563 | \key{Toggle custom format display for dates/times}{C-c C-x C-t} |
| 550 | 564 | ||
| 551 | 565 | {\bf Clocking time} | |
| 552 | \section{Clocking Time} | ||
| 553 | 566 | ||
| 554 | \key{start clock on current item}{C-c C-x C-i} | 567 | \key{start clock on current item}{C-c C-x C-i} |
| 555 | \key{stop clock on current item}{C-c C-x C-o} | 568 | \key{stop clock on current item}{C-c C-x C-o} |
| 556 | \key{cancel current clock}{C-c C-x C-x} | 569 | \key{cancel current clock}{C-c C-x C-x} |
| 557 | |||
| 558 | \key{display total subtree times}{C-c C-x C-d} | 570 | \key{display total subtree times}{C-c C-x C-d} |
| 559 | \key{remove displayed times}{C-c C-c} | 571 | \key{remove displayed times}{C-c C-c} |
| 560 | \key{insert/update table with clock report}{C-c C-x C-r} | 572 | \key{insert/update table with clock report}{C-c C-x C-r} |
| @@ -720,21 +732,6 @@ Subtrees whose header starts with COMMENT are never exported. | |||
| 720 | 732 | ||
| 721 | \key{toggle COMMENT keyword on entry}{C-c ;} | 733 | \key{toggle COMMENT keyword on entry}{C-c ;} |
| 722 | 734 | ||
| 723 | |||
| 724 | %\section{CUA and pc-select compatibility}% | ||
| 725 | |||
| 726 | %Configure the variable {\tt org-CUA-compatibility} to make Org-mode | ||
| 727 | %avoid the \kbd{S-<cursor>} bindings used by these modes. When set, | ||
| 728 | %Org-mode will change the following keybindings (also in the agenda | ||
| 729 | %buffer, but not during date selection). See note mark four$^3$ | ||
| 730 | %throughout the reference card. | ||
| 731 | %%\vskip-mm | ||
| 732 | %\beginexample | ||
| 733 | %S-UP $\to$ M-p S-DOWN $\to$ M-n | ||
| 734 | %S-LEFT $\to$ M-- S-RIGHT $\to$ M-+ | ||
| 735 | %S-RET $\to$ C-S-RET | ||
| 736 | %\endexample | ||
| 737 | |||
| 738 | \section{Dynamic Blocks} | 735 | \section{Dynamic Blocks} |
| 739 | 736 | ||
| 740 | \key{update dynamic block at point}{C-c C-x C-u} | 737 | \key{update dynamic block at point}{C-c C-x C-u} |
| @@ -753,10 +750,8 @@ $^3$ Keybinding affected by {\tt org-CUA-compatibility}. | |||
| 753 | 750 | ||
| 754 | \bye | 751 | \bye |
| 755 | 752 | ||
| 753 | % Local variables: | ||
| 754 | % compile-command: "tex refcard" | ||
| 755 | % End: | ||
| 756 | 756 | ||
| 757 | % arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290 | 757 | % arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290 |
| 758 | |||
| 759 | %%% Local Variables: | ||
| 760 | %%% mode: latex | ||
| 761 | %%% TeX-master: t | ||
| 762 | %%% End: | ||
diff --git a/leim/ChangeLog b/leim/ChangeLog index 9bf18f4e6da..f4bfce06bb3 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * Version 22.1 released. | ||
| 4 | |||
| 1 | 2007-01-30 Kenichi Handa <handa@m17n.org> | 5 | 2007-01-30 Kenichi Handa <handa@m17n.org> |
| 2 | 6 | ||
| 3 | * CXTERM-DIC/CCDOSPY.tit, CXTERM-DIC/PY-b5.tit, CXTERM-DIC/SW.tit, | 7 | * CXTERM-DIC/CCDOSPY.tit, CXTERM-DIC/PY-b5.tit, CXTERM-DIC/SW.tit, |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index e14679ad820..597d203ba41 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-06-07 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * etags.c (print_version): Add `emacs_copyright' string, for | ||
| 4 | easier automatic updating. | ||
| 5 | |||
| 1 | 2007-05-18 Francesco Potort,Al(B <pot@gnu.org> | 6 | 2007-05-18 Francesco Potort,Al(B <pot@gnu.org> |
| 2 | 7 | ||
| 3 | * etags.c: Extern definitions of some more pointer functions for | 8 | * etags.c: Extern definitions of some more pointer functions for |
| @@ -10,6 +15,10 @@ | |||
| 10 | 15 | ||
| 11 | * makefile.w32-in (VERSION): Increase to 22.1.50. | 16 | * makefile.w32-in (VERSION): Increase to 22.1.50. |
| 12 | 17 | ||
| 18 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 19 | |||
| 20 | * Version 22.1 released. | ||
| 21 | |||
| 13 | 2007-02-26 Francesco Potort,Al(B <pot@gnu.org> | 22 | 2007-02-26 Francesco Potort,Al(B <pot@gnu.org> |
| 14 | 23 | ||
| 15 | * Makefile.in (etags, ctags): Define EMACS_NAME as "GNU Emacs". | 24 | * Makefile.in (etags, ctags): Define EMACS_NAME as "GNU Emacs". |
diff --git a/lib-src/etags.c b/lib-src/etags.c index b85ec8d57a9..f3534e02d7c 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c | |||
| @@ -887,8 +887,11 @@ etags --help --lang=ada."); | |||
| 887 | static void | 887 | static void |
| 888 | print_version () | 888 | print_version () |
| 889 | { | 889 | { |
| 890 | /* Makes it easier to update automatically. */ | ||
| 891 | char emacs_copyright[] = "Copyright (C) 2007 Free Software Foundation, Inc."; | ||
| 892 | |||
| 890 | printf ("%s (%s %s)\n", (CTAGS) ? "ctags" : "etags", EMACS_NAME, VERSION); | 893 | printf ("%s (%s %s)\n", (CTAGS) ? "ctags" : "etags", EMACS_NAME, VERSION); |
| 891 | puts ("Copyright (C) 2007 Free Software Foundation, Inc."); | 894 | puts (emacs_copyright); |
| 892 | puts ("This program is distributed under the terms in ETAGS.README"); | 895 | puts ("This program is distributed under the terms in ETAGS.README"); |
| 893 | 896 | ||
| 894 | exit (EXIT_SUCCESS); | 897 | exit (EXIT_SUCCESS); |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9a79d4a0b55..c0b00b8fbb1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,267 @@ | |||
| 1 | 2007-06-10 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * emacs-lisp/bytecomp.el (byte-compile-find-cl-functions): Match | ||
| 4 | against file-name-nondirectory. | ||
| 5 | Fix text on user customization variables. | ||
| 6 | Reported by Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se>. | ||
| 7 | |||
| 8 | 2007-06-09 Alfred M. Szmidt <ams@gnu.org> (tiny change) | ||
| 9 | |||
| 10 | * mail/rmail.el (rmail-movemail-variant-in-use): Fix doc typo. | ||
| 11 | |||
| 12 | 2007-06-09 Davis Herring <herring@lanl.gov> | ||
| 13 | |||
| 14 | * desktop.el (desktop-minor-mode-table): Doc fix. | ||
| 15 | |||
| 16 | 2007-06-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17 | |||
| 18 | * textmodes/css-mode.el (css-navigation-syntax-table): | ||
| 19 | Use set-char-table-range so it also works in the unicode branch. | ||
| 20 | |||
| 21 | 2007-06-08 Nick Roberts <nickrob@snap.net.nz> | ||
| 22 | |||
| 23 | * help-mode.el (help-xref-forward-stack) | ||
| 24 | (help-xref-stack-forward-item, help-forward-label): New variables. | ||
| 25 | (help-forward): New button type. | ||
| 26 | (help-setup-xref): Initialise help-xref-forward-stack. | ||
| 27 | (help-make-xrefs): Add forward button, if appropriate. | ||
| 28 | (help-xref-go-back): Push item on forward stack. | ||
| 29 | (help-xref-go-forward, help-go-forward): New functions. | ||
| 30 | |||
| 31 | 2007-06-07 Chong Yidong <cyd@stupidchicken.com> | ||
| 32 | |||
| 33 | * dired.el (dired-mode-map): Remove spurious separator. | ||
| 34 | |||
| 35 | 2007-06-07 Juanma Barranquero <lekktu@gmail.com> | ||
| 36 | |||
| 37 | * progmodes/ebrowse.el (ebrowse-draw-file-member-info): Doc fix. | ||
| 38 | |||
| 39 | * progmodes/mixal-mode.el (mixal-operation-codes-alist): | ||
| 40 | * progmodes/idlwave.el (idlwave-one-key-select): Fix typo in docstring. | ||
| 41 | |||
| 42 | 2007-06-07 Carsten Dominik <dominik@science.uva.nl> | ||
| 43 | |||
| 44 | * textmodes/org.el: Version number fixed. | ||
| 45 | |||
| 46 | 2007-06-07 Glenn Morris <rgm@gnu.org> | ||
| 47 | |||
| 48 | * version.el (emacs-copyright): New constant. | ||
| 49 | * startup.el (fancy-splash-tail): Use emacs-copyright. | ||
| 50 | * calc/calc-help.el (calc-full-help): Use emacs-copyright. | ||
| 51 | |||
| 52 | * emacs-lisp/bytecomp.el (byte-compile-warnings): Add new option | ||
| 53 | `make-local'. | ||
| 54 | (byte-compile-warnings-safe-p): Add `make-local'. | ||
| 55 | (byte-compile-make-variable-buffer-local): | ||
| 56 | Allow byte-compile-warnings to suppress this warning. | ||
| 57 | |||
| 58 | * tutorial.el (tutorial--describe-nonstandard-key): Adjust for new | ||
| 59 | format of "menu" description. | ||
| 60 | (tutorial--find-changed-keys): Describe the specific menu a | ||
| 61 | command is in. | ||
| 62 | |||
| 63 | * dframe.el (dframe-frame-parameter, dframe-mouse-event-p): | ||
| 64 | Rewrite compatibility functions to silence byte-compiler. | ||
| 65 | |||
| 66 | 2007-06-07 Alfred M. Szmidt <ams@gnu.org> (tiny change) | ||
| 67 | |||
| 68 | * mail/rmailsum.el (rmail-summary-save-buffer): New command. | ||
| 69 | (rmail-summary-mode-map): Add rmail-summary-save-buffer. | ||
| 70 | |||
| 71 | 2007-06-07 Eric M. Ludlam <eric@siege-engine.com> | ||
| 72 | |||
| 73 | * emacs-lisp/checkdoc.el (checkdoc-ispell-lisp-words): Remove "iff". | ||
| 74 | |||
| 75 | 2007-06-07 Juanma Barranquero <lekktu@gmail.com> | ||
| 76 | |||
| 77 | * progmodes/ebrowse.el (ebrowse-member-table): | ||
| 78 | * textmodes/org.el (org-export-ascii-bullets, org-batch-agenda) | ||
| 79 | (org-batch-agenda-csv): Fix typos in docstrings. | ||
| 80 | |||
| 81 | 2007-06-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 82 | |||
| 83 | * international/mule-cmds.el (toggle-enable-multibyte-characters) | ||
| 84 | (sort-coding-systems, search-unencodable-char): Doc fixes. | ||
| 85 | (coding-system-change-eol-conversion, set-default-coding-systems) | ||
| 86 | (prefer-coding-system, find-multibyte-characters, princ-list) | ||
| 87 | (leim-list-entry-regexp, set-input-method, locale-language-names) | ||
| 88 | (input-method-exit-on-first-char, exit-language-environment-hook) | ||
| 89 | (locale-charset-language-names): Fix typos in docstrings. | ||
| 90 | |||
| 91 | 2007-06-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 92 | |||
| 93 | * pgg.el (pgg-sign-region, pgg-sign): | ||
| 94 | * ses.el (ses-call-printer): | ||
| 95 | * calendar/icalendar.el (icalendar--diarytime-to-isotime): | ||
| 96 | * textmodes/org.el (org-cycle): Fix typos in docstrings. | ||
| 97 | |||
| 98 | 2007-06-06 Carsten Dominik <dominik@science.uva.nl> | ||
| 99 | |||
| 100 | * textmodes/org.el | ||
| 101 | (org-export-region-as-html, org-replace-region-by-html) | ||
| 102 | (org-number-to-letters, org-table-fedit-finish) | ||
| 103 | (org-normalize-color, org-table-fedit-ref-right) | ||
| 104 | (org-date-to-gregorian, org-table-fedit-move) | ||
| 105 | (org-table-convert-refs-to-rc, org-calendar-holiday) | ||
| 106 | (org-table-fedit-toggle-ref-type, org-write-agenda) | ||
| 107 | (org-colgroup-info-to-vline-list, org-agenda-todo-previousset) | ||
| 108 | (org-defkey, org-encode-for-stdout) | ||
| 109 | (org-indent-line-function, org-export-as-html-to-buffer) | ||
| 110 | (org-store-agenda-views, org-update-mode-line) | ||
| 111 | (org-find-if, org-delete-all) | ||
| 112 | (org-table-fedit-convert-buffer, org-emphasize) | ||
| 113 | (org-uniquify, org-table-fedit-lisp-indent) | ||
| 114 | (org-table-fedit-scroll, org-get-todo-sequence-head) | ||
| 115 | (org-table-fedit-scroll-down, org-table-fedit-line-down) | ||
| 116 | (org-table-fedit-ref-left, org-agenda-export-csv-mapper) | ||
| 117 | (org-table-fedit-toggle-coordinates, org-dvipng-color) | ||
| 118 | (org-table-fedit-line-up, org-table-fedit-ref-down) | ||
| 119 | (org-table-formula-from-user, org-mode-flyspell-verify) | ||
| 120 | (org-cycle-show-empty-lines, org-ctrl-c-ret) | ||
| 121 | (org-table-formula-to-user, org-diary-to-ical-string) | ||
| 122 | (orgtbl-export, org-table-fedit-post-command) | ||
| 123 | (org-closed-in-range, org-shiftcontrolright) | ||
| 124 | (org-table-convert-refs-to-an, org-table-hline-and-move) | ||
| 125 | (org-table-formula-less-p, org-format-table-ascii) | ||
| 126 | (org-agenda-get-sexps, org-shift-refpart) | ||
| 127 | (org-diary-sexp-entry, org-time-string-to-absolute) | ||
| 128 | (org-table-show-reference, org-letters-to-number) | ||
| 129 | (org-fix-agenda-info, org-table-fedit-ref-up) | ||
| 130 | (org-table-fedit-shift-reference, org-table-fedit-abort) | ||
| 131 | (org-closest-date, org-shiftcontrolleft) | ||
| 132 | (org-at-heading-or-item-p, org-rematch-and-replace) | ||
| 133 | (org-agenda-todo-nextset, org-export-grab-title-from-buffer): | ||
| 134 | New functions. | ||
| 135 | (org-table-edit-scroll-down, org-finish-edit-formulas) | ||
| 136 | (org-table-edit-next-field, org-abort-edit-formulas) | ||
| 137 | (org-font-lock-level, org-export-find-first-heading-line) | ||
| 138 | (org-table-edit-line-down, org-table-edit-backward-field) | ||
| 139 | (org-edit-formula-lisp-indent, org-table-edit-move) | ||
| 140 | (org-check-log-option, org-this-word) | ||
| 141 | (org-table-edit-line-up, org-table-edit-formulas-post-command) | ||
| 142 | (org-agenda-file-to-end, org-expand-file-name) | ||
| 143 | (org-fake-empty-table-line, org-table-edit-scroll) | ||
| 144 | (org-toggle-log-option, org-show-reference): Function removed. | ||
| 145 | (org-inhibit-invisibility, org-table-formula-make-cmp-string): | ||
| 146 | New defsubsts. | ||
| 147 | (org-unmodified, org-batch-store-agenda-views) | ||
| 148 | (org-batch-agenda-csv): New macro. | ||
| 149 | (org-agenda-export): New customization group. | ||
| 150 | (org-agenda-skip-deadline-if-done, org-agenda-remove-tags) | ||
| 151 | (org-highest-priority, org-agenda-exporter-settings) | ||
| 152 | (org-log-done-with-time, org-replace-disputed-keys) | ||
| 153 | (org-format-latex-header, org-export-table-header-tags) | ||
| 154 | (org-cycle-separator-lines, org-export-table-data-tags) | ||
| 155 | (org-icalendar-include-sexps) | ||
| 156 | (org-empty-line-terminates-plain-lists) | ||
| 157 | (org-log-repeat, org-special-ctrl-a) | ||
| 158 | (org-table-use-standard-references, org-disputed-keys) | ||
| 159 | (org-export-skip-text-before-1st-heading, org-agenda-with-colors) | ||
| 160 | (org-agenda-export-html-style): New option. | ||
| 161 | (org-allow-auto-repeat, org-agenda-remove-tags-when-in-prefix) | ||
| 162 | (org-CUA-compatible): Option removed. | ||
| 163 | (org-agenda-structure, org-sexp-date): New face. | ||
| 164 | (org-todo-keywords-for-agenda, org-not-done-keywords) | ||
| 165 | (org-planning-or-clock-line-re, org-agenda-name) | ||
| 166 | (org-table-colgroup-info, org-todo-sets) | ||
| 167 | (constants-unit-system, org-clock-mode-line-entry) | ||
| 168 | (org-mode-line-timer, org-table-current-begin-pos) | ||
| 169 | (org-todo-keywords-1, org-mode-line-string) | ||
| 170 | (org-table-clean-did-remove-column, org-table-fedit-map) | ||
| 171 | (org-clock-heading, org-table-buffer-is-an) | ||
| 172 | (org-agenda-info, org-done-keywords) | ||
| 173 | (org-done-keywords-for-agenda, org-todo-heads) | ||
| 174 | (org-todo-kwd-alist, org-clock-start-time): New variable. | ||
| 175 | (org-todo-kwd-priority-p, org-edit-formulas-map) | ||
| 176 | (org-repeat-re, org-todo-kwd-max-priority) | ||
| 177 | (org-version, org-done-string) | ||
| 178 | (org-table-clean-did-remove-column-1, org-disputed-keys): | ||
| 179 | Remove Variables. | ||
| 180 | (org-table-translate-regexp, org-repeat-re, org-version): New consts. | ||
| 181 | (org-ts-lengths): Constant removed. | ||
| 182 | (org-follow-gnus-link): Don't ask how many articles to read. | ||
| 183 | (org-export-find-first-export-line): Rename from | ||
| 184 | `org-export-find-first-heading'. | ||
| 185 | Use `org-export-skip-text-before-1st-heading'. | ||
| 186 | (org-table-fedit-post-command): Rename from | ||
| 187 | `org-table-edit-formulas-post-command'. | ||
| 188 | (org-table-fedit-finish): Rename from `org-finish-edit-formulas'. | ||
| 189 | (org-table-fedit-abort): Rename from `org-abort-edit-formulas'. | ||
| 190 | (org-table-fedit-lisp-indent): Rename from | ||
| 191 | `org-edit-formula-lisp-indent'. | ||
| 192 | (org-table-show-reference): Rename from `org-show-reference'. | ||
| 193 | (org-table-store-formulas): Use `org-table-formula-less-p'. | ||
| 194 | (org-table-edit-formulas): Position cursor to current field equation. | ||
| 195 | (org-update-checkbox-count, org-hide-archived-subtrees) | ||
| 196 | (org-timestamp-up-day, org-timestamp-down-day) | ||
| 197 | (org-shiftmetaleft, org-shiftmetaright, org-shiftmetaup) | ||
| 198 | (org-shiftmetadown, org-metaleft, org-metaright, org-metaup) | ||
| 199 | (org-metadown, org-shiftup, org-shiftdown, org-shiftright) | ||
| 200 | (org-shiftleft, org-ctrl-c-ctrl-c, org-context): | ||
| 201 | Let `org-on-heading-p' also check for invisible heading. | ||
| 202 | (org-read-date): Match am/pm times. | ||
| 203 | (org-eval-in-calendar): Fix default date in prompt. | ||
| 204 | |||
| 205 | 2007-06-05 Chong Yidong <cyd@stupidchicken.com> | ||
| 206 | |||
| 207 | * files.el (auto-mode-alist): Separate "ChangeLog.1" and | ||
| 208 | "ChangeLog.a" entries, giving the latter lower priority. | ||
| 209 | |||
| 210 | 2007-06-05 Juanma Barranquero <lekktu@gmail.com> | ||
| 211 | |||
| 212 | * faces.el (face-id): If the argument is a face alias, | ||
| 213 | return the ID of the target face. | ||
| 214 | |||
| 215 | 2007-06-05 Michael Albinus <michael.albinus@gmx.de> | ||
| 216 | |||
| 217 | * net/socks.el (top): Remove unnecessary copyright line. | ||
| 218 | |||
| 219 | 2007-06-04 Chong Yidong <cyd@stupidchicken.com> | ||
| 220 | |||
| 221 | * longlines.el (longlines-auto-wrap): Handle argument correctly. | ||
| 222 | |||
| 223 | 2007-06-04 Michael Albinus <michael.albinus@gmx.de> | ||
| 224 | |||
| 225 | * net/socks.el: New file, taken from w3 repository. | ||
| 226 | (top): Update Copyright. Don't load cl.el. | ||
| 227 | (all): Replace `case' by `cond', `string-to-int' by | ||
| 228 | `string-to-number', and `process-kill-without-query' by | ||
| 229 | `set-process-query-on-exit-flag'. | ||
| 230 | (socks-char-int): Remove defalias and all occurencies. | ||
| 231 | |||
| 232 | 2007-06-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 233 | |||
| 234 | * progmodes/compile.el (compilation-find-file, compilation-handle-exit): | ||
| 235 | Fix typos in docstrings. | ||
| 236 | (compilation-search-path, compilation-buffer-name-function): Doc fixes. | ||
| 237 | (compilation-finish-function): Fix typo in obsolescence declaration. | ||
| 238 | |||
| 239 | 2007-06-03 Sam Steingold <sds@gnu.org> | ||
| 240 | |||
| 241 | * progmodes/compile.el: Add TIMESTAMP to the LOC data structure, to | ||
| 242 | handle unending automatic recompilation of changed files (`omake -P'). | ||
| 243 | (compilation-loop): VISITED is now 5th CDR. | ||
| 244 | (compilation-next-error-function): Set TIMESTAMP. | ||
| 245 | |||
| 246 | 2007-06-03 Sam Steingold <sds@gnu.org> | ||
| 247 | |||
| 248 | * files.el (kill-buffer-ask): New function. | ||
| 249 | (kill-some-buffers): Use it. | ||
| 250 | (kill-matching-buffers): New user command. | ||
| 251 | |||
| 252 | 2007-06-01 David Kastrup <dak@gnu.org> | ||
| 253 | |||
| 254 | * dired.el (dired-recursive-deletes, dired-recursive-copies): | ||
| 255 | Change default to `top'. | ||
| 256 | |||
| 257 | 2007-05-31 Richard Stallman <rms@gnu.org> | ||
| 258 | |||
| 259 | * dired.el (dired-do-flagged-delete, dired-do-delete): Doc fix. | ||
| 260 | |||
| 261 | 2007-05-31 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 262 | |||
| 263 | * textmodes/css-mode.el: New file. | ||
| 264 | |||
| 1 | 2007-05-30 Michael Olson <mwolson@gnu.org> | 265 | 2007-05-30 Michael Olson <mwolson@gnu.org> |
| 2 | 266 | ||
| 3 | * emacs-lisp/tq.el (tq-queue-pop): Stifle error when a process has | 267 | * emacs-lisp/tq.el (tq-queue-pop): Stifle error when a process has |
| @@ -9,8 +273,8 @@ | |||
| 9 | 2007-05-29 Martin Rudalics <rudalics@gmx.at> | 273 | 2007-05-29 Martin Rudalics <rudalics@gmx.at> |
| 10 | 274 | ||
| 11 | * textmodes/table.el (table--point-entered-cell-function) | 275 | * textmodes/table.el (table--point-entered-cell-function) |
| 12 | (table--point-left-cell-function): Bind | 276 | (table--point-left-cell-function): |
| 13 | `inhibit-point-motion-hooks' to t. | 277 | Bind `inhibit-point-motion-hooks' to t. |
| 14 | 278 | ||
| 15 | 2007-05-29 Nikolaj Schumacher <n_schumacher@web.de> (tiny change) | 279 | 2007-05-29 Nikolaj Schumacher <n_schumacher@web.de> (tiny change) |
| 16 | 280 | ||
| @@ -35,18 +299,17 @@ | |||
| 35 | 299 | ||
| 36 | * net/tramp.el (top): Make `set-buffer-multibyte' an alias if it | 300 | * net/tramp.el (top): Make `set-buffer-multibyte' an alias if it |
| 37 | doesn't exist. | 301 | doesn't exist. |
| 38 | (with-parsed-tramp-file-name): Protect debug spec during | 302 | (with-parsed-tramp-file-name): Protect debug spec during compilation. |
| 39 | compilation. | ||
| 40 | (tramp-handle-insert-directory): Check (featurep 'ls-lisp). | 303 | (tramp-handle-insert-directory): Check (featurep 'ls-lisp). |
| 41 | (tramp-file-name-p, tramp-file-name-multi-method) | 304 | (tramp-file-name-p, tramp-file-name-multi-method) |
| 42 | (tramp-file-name-method, tramp-file-name-user) | 305 | (tramp-file-name-method, tramp-file-name-user) |
| 43 | (tramp-file-name-host, tramp-file-name-localname): New defuns, | 306 | (tramp-file-name-host, tramp-file-name-localname): New defuns, |
| 44 | replacing defstruct `tramp-file-name'. | 307 | replacing defstruct `tramp-file-name'. |
| 45 | (tramp-handle-file-remote-p, tramp-completion-dissect-file-name1) | 308 | (tramp-handle-file-remote-p, tramp-completion-dissect-file-name1) |
| 46 | (tramp-dissect-file-name, tramp-dissect-multi-file-name): Apply | 309 | (tramp-dissect-file-name, tramp-dissect-multi-file-name): |
| 47 | `vector' instead of `make-tramp-file-name'. | 310 | Apply `vector' instead of `make-tramp-file-name'. |
| 48 | (tramp-handle-make-auto-save-file-name): Apply | 311 | (tramp-handle-make-auto-save-file-name): |
| 49 | `tramp-temporary-file-directory' for compatibility reasons. | 312 | Apply `tramp-temporary-file-directory' for compatibility reasons. |
| 50 | (tramp-completion-mode): Use `natnump' instead of `wholenump' | 313 | (tramp-completion-mode): Use `natnump' instead of `wholenump' |
| 51 | because of XEmacs. | 314 | because of XEmacs. |
| 52 | (tramp-completion-mode): `last-input-event' is nil when XEmacs is | 315 | (tramp-completion-mode): `last-input-event' is nil when XEmacs is |
| @@ -170,8 +433,8 @@ | |||
| 170 | 433 | ||
| 171 | 2007-05-22 Katsumi Yamaoka <yamaoka@jpl.org> (tiny change) | 434 | 2007-05-22 Katsumi Yamaoka <yamaoka@jpl.org> (tiny change) |
| 172 | 435 | ||
| 173 | * mail/mail-extr.el (mail-extract-address-components): Recognize | 436 | * mail/mail-extr.el (mail-extract-address-components): |
| 174 | non-ASCII characters except for NBSP as words. | 437 | Recognize non-ASCII characters except for NBSP as words. |
| 175 | 438 | ||
| 176 | 2007-05-21 Trent Buck <trentbuck@gmail.com> (tiny change) | 439 | 2007-05-21 Trent Buck <trentbuck@gmail.com> (tiny change) |
| 177 | 440 | ||
| @@ -182,8 +445,8 @@ | |||
| 182 | 2007-05-21 Chong Yidong <cyd@stupidchicken.com> | 445 | 2007-05-21 Chong Yidong <cyd@stupidchicken.com> |
| 183 | 446 | ||
| 184 | * image-mode.el (image-toggle-display): Don't clear image cache. | 447 | * image-mode.el (image-toggle-display): Don't clear image cache. |
| 185 | Only use filename in image spec if the file is readable. Call | 448 | Only use filename in image spec if the file is readable. |
| 186 | image-refresh. | 449 | Call image-refresh. |
| 187 | 450 | ||
| 188 | * image.el (image-type-from-file-name, image-type): Simplify. | 451 | * image.el (image-type-from-file-name, image-type): Simplify. |
| 189 | (image-type-auto-detected-p): Don't scan auto-mode-alist. | 452 | (image-type-auto-detected-p): Don't scan auto-mode-alist. |
| @@ -211,6 +474,10 @@ | |||
| 211 | * files.el (auto-mode-alist): Change the regexp so that | 474 | * files.el (auto-mode-alist): Change the regexp so that |
| 212 | ChangeLog.unicode and ChangeLog.multi-tty use change-log-mode. | 475 | ChangeLog.unicode and ChangeLog.multi-tty use change-log-mode. |
| 213 | 476 | ||
| 477 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 478 | |||
| 479 | * Version 22.1 released. | ||
| 480 | |||
| 214 | 2007-05-19 Chong Yidong <cyd@stupidchicken.com> | 481 | 2007-05-19 Chong Yidong <cyd@stupidchicken.com> |
| 215 | 482 | ||
| 216 | * paren.el (show-paren-function): Undo 2007-04-19 and 2007-04-20 | 483 | * paren.el (show-paren-function): Undo 2007-04-19 and 2007-04-20 |
| @@ -230,7 +497,7 @@ | |||
| 230 | 497 | ||
| 231 | 2007-05-18 Rob Riepel <riepel@Stanford.EDU> | 498 | 2007-05-18 Rob Riepel <riepel@Stanford.EDU> |
| 232 | 499 | ||
| 233 | * emulation/tpu-edt.el (CSI-map, SS3-map): Moved from global-map to | 500 | * emulation/tpu-edt.el (CSI-map, SS3-map): Move from global-map to |
| 234 | tpu-global-map. | 501 | tpu-global-map. |
| 235 | (tpu-original-global-map): Variable deleted. | 502 | (tpu-original-global-map): Variable deleted. |
| 236 | (tpu-control-keys-map): New keymap variable. | 503 | (tpu-control-keys-map): New keymap variable. |
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12 index 52cd55f87b5..2bfbe99e1f0 100644 --- a/lisp/ChangeLog.12 +++ b/lisp/ChangeLog.12 | |||
| @@ -271,7 +271,7 @@ | |||
| 271 | 2007-04-14 Nick Roberts <nickrob@snap.net.nz> | 271 | 2007-04-14 Nick Roberts <nickrob@snap.net.nz> |
| 272 | 272 | ||
| 273 | * tmm.el (tmm-get-keybind): Use copy-sequence to ensure that the | 273 | * tmm.el (tmm-get-keybind): Use copy-sequence to ensure that the |
| 274 | global map isn't modified | 274 | global map isn't modified. |
| 275 | 275 | ||
| 276 | 2007-04-14 Glenn Morris <rgm@gnu.org> | 276 | 2007-04-14 Glenn Morris <rgm@gnu.org> |
| 277 | 277 | ||
| @@ -1413,7 +1413,7 @@ | |||
| 1413 | * progmodes/python.el (python-quote-syntax): Don't bother with | 1413 | * progmodes/python.el (python-quote-syntax): Don't bother with |
| 1414 | syntax-ppss-context. | 1414 | syntax-ppss-context. |
| 1415 | (python-fill-paragraph): Make sure that fenced-string delimiters that | 1415 | (python-fill-paragraph): Make sure that fenced-string delimiters that |
| 1416 | stand on their own line stay there | 1416 | stand on their own line stay there. |
| 1417 | 1417 | ||
| 1418 | 2007-03-01 Lennart Borgman <lennart.borgman.073@student.lu.se> | 1418 | 2007-03-01 Lennart Borgman <lennart.borgman.073@student.lu.se> |
| 1419 | 1419 | ||
| @@ -2549,7 +2549,7 @@ | |||
| 2549 | * type-break.el (type-break-demo-hanoi, type-break-demo-life) | 2549 | * type-break.el (type-break-demo-hanoi, type-break-demo-life) |
| 2550 | (type-break-demo-boring): Call read-event instead of read-char. | 2550 | (type-break-demo-boring): Call read-event instead of read-char. |
| 2551 | 2551 | ||
| 2552 | 2007-01-19 Daniel Pfeiffer <occitan@esperanto.org> (small change) | 2552 | 2007-01-19 Daniel Pfeiffer <occitan@esperanto.org> (tiny change) |
| 2553 | 2553 | ||
| 2554 | * progmodes/compile.el: Add handling for makepplog. | 2554 | * progmodes/compile.el: Add handling for makepplog. |
| 2555 | 2555 | ||
| @@ -3414,7 +3414,7 @@ | |||
| 3414 | (wdired-search-and-rename): Simplify code. | 3414 | (wdired-search-and-rename): Simplify code. |
| 3415 | (wdired-preprocess-files, wdired-preprocess-perms): Make | 3415 | (wdired-preprocess-files, wdired-preprocess-perms): Make |
| 3416 | read-only property of preceding character rear-nonsticky to | 3416 | read-only property of preceding character rear-nonsticky to |
| 3417 | avoid that it can be modified. Put old-name and old-link | 3417 | avoid that it can be modified. Put old-name and old-link |
| 3418 | properties on character preceding name and replace | 3418 | properties on character preceding name and replace |
| 3419 | put-text-property by add-text-properties. | 3419 | put-text-property by add-text-properties. |
| 3420 | (wdired-get-filename, wdired-get-previous-link): Get old-name | 3420 | (wdired-get-filename, wdired-get-previous-link): Get old-name |
| @@ -3605,7 +3605,7 @@ | |||
| 3605 | allout-mode-map. Call it on file load, so the mode docstring | 3605 | allout-mode-map. Call it on file load, so the mode docstring |
| 3606 | substitutions work even if allout mode has not yet been invoked. | 3606 | substitutions work even if allout mode has not yet been invoked. |
| 3607 | (allout-mode): Use new allout-setup-mode-map to track any keybinding | 3607 | (allout-mode): Use new allout-setup-mode-map to track any keybinding |
| 3608 | customizations since the map was last processed. Also, refine the | 3608 | customizations since the map was last processed. Also, refine the |
| 3609 | docstring so it's ship-shape for release. | 3609 | docstring so it's ship-shape for release. |
| 3610 | (allout-default-layout, allout-beginning-of-line-cycles) | 3610 | (allout-default-layout, allout-beginning-of-line-cycles) |
| 3611 | (allout-distinctive-bullets-string, allout-use-mode-specific-leader) | 3611 | (allout-distinctive-bullets-string, allout-use-mode-specific-leader) |
| @@ -5281,7 +5281,7 @@ | |||
| 5281 | New C-c key bindings: for `cperl-find-bad-style', | 5281 | New C-c key bindings: for `cperl-find-bad-style', |
| 5282 | `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', | 5282 | `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', |
| 5283 | `cperl-perdoc', and `cperl-perldoc-at-point'. | 5283 | `cperl-perdoc', and `cperl-perldoc-at-point'. |
| 5284 | CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" | 5284 | CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" |
| 5285 | moved, new submenu of Tools with Ispell entries and narrowing. | 5285 | moved, new submenu of Tools with Ispell entries and narrowing. |
| 5286 | (cperl-after-sub-regexp): New defsubst. | 5286 | (cperl-after-sub-regexp): New defsubst. |
| 5287 | (cperl-imenu--function-name-regexp-perl): Use `cperl-after-sub-regexp'. | 5287 | (cperl-imenu--function-name-regexp-perl): Use `cperl-after-sub-regexp'. |
| @@ -5304,7 +5304,7 @@ | |||
| 5304 | (cperl-calculate-indent): Try to allow '_' be non-word char | 5304 | (cperl-calculate-indent): Try to allow '_' be non-word char |
| 5305 | Support subs with attributes. | 5305 | Support subs with attributes. |
| 5306 | (cperl-where-am-i): Quiet (?) a warning. | 5306 | (cperl-where-am-i): Quiet (?) a warning. |
| 5307 | (cperl-cached-syntax-table) New function. | 5307 | (cperl-cached-syntax-table): New function. |
| 5308 | (cperl-forward-re): Use `cperl-cached-syntax-table'. | 5308 | (cperl-forward-re): Use `cperl-cached-syntax-table'. |
| 5309 | (cperl-unwind-to-safe): Recognize `syntax-type' property | 5309 | (cperl-unwind-to-safe): Recognize `syntax-type' property |
| 5310 | changing in a middle of line. | 5310 | changing in a middle of line. |
| @@ -5478,7 +5478,7 @@ | |||
| 5478 | (cperl-string-syntax-table): Make { and } not-grouping | 5478 | (cperl-string-syntax-table): Make { and } not-grouping |
| 5479 | (Sometimes they ARE grouping in RExen, but matching them would only | 5479 | (Sometimes they ARE grouping in RExen, but matching them would only |
| 5480 | confuse in many situations when they are not) | 5480 | confuse in many situations when they are not) |
| 5481 | (beginning-of-buffer): Replace two occurences with goto-char... | 5481 | (beginning-of-buffer): Replace two occurrences with goto-char... |
| 5482 | (cperl-calculate-indent): `char-after' could be nil... | 5482 | (cperl-calculate-indent): `char-after' could be nil... |
| 5483 | (cperl-find-pods-heres): REx can start after "[" too. | 5483 | (cperl-find-pods-heres): REx can start after "[" too. |
| 5484 | Hightlight (??{}) in RExen too. | 5484 | Hightlight (??{}) in RExen too. |
| @@ -5551,7 +5551,7 @@ | |||
| 5551 | (cperl-next-interpolated-REx): New function. | 5551 | (cperl-next-interpolated-REx): New function. |
| 5552 | (cperl-next-interpolated-REx-0): Likewise. | 5552 | (cperl-next-interpolated-REx-0): Likewise. |
| 5553 | (cperl-next-interpolated-REx-1): Likewise. | 5553 | (cperl-next-interpolated-REx-1): Likewise. |
| 5554 | "\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions. | 5554 | "\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions. |
| 5555 | Perl/Regexp menu: 3 new entries for `cperl-next-interpolated-REx'. | 5555 | Perl/Regexp menu: 3 new entries for `cperl-next-interpolated-REx'. |
| 5556 | (cperl-praise): Mention finded interpolated RExen. | 5556 | (cperl-praise): Mention finded interpolated RExen. |
| 5557 | 5557 | ||
| @@ -5797,7 +5797,7 @@ | |||
| 5797 | 5797 | ||
| 5798 | * wid-edit.el (widget-button-click-moves-point): New variable. | 5798 | * wid-edit.el (widget-button-click-moves-point): New variable. |
| 5799 | (widget-button-click): If widget-button-click-moves-point is | 5799 | (widget-button-click): If widget-button-click-moves-point is |
| 5800 | non-nil, set point after performing the button action | 5800 | non-nil, set point after performing the button action. |
| 5801 | 5801 | ||
| 5802 | * cus-edit.el (custom-mode): Set widget-button-click-moves-point. | 5802 | * cus-edit.el (custom-mode): Set widget-button-click-moves-point. |
| 5803 | 5803 | ||
| @@ -6069,8 +6069,8 @@ | |||
| 6069 | buffer-read-only isn't set. | 6069 | buffer-read-only isn't set. |
| 6070 | (allout-annotate-hidden): Enable topic annotation during copies even | 6070 | (allout-annotate-hidden): Enable topic annotation during copies even |
| 6071 | when the buffer is read-only, eg for topic copies. Ensure that the loop | 6071 | when the buffer is read-only, eg for topic copies. Ensure that the loop |
| 6072 | advances, even when the span extends beyond the deletion region. | 6072 | advances, even when the span extends beyond the deletion region. |
| 6073 | (allout-toggle-subtree-encryption): Use allout-structure-added-hook | 6073 | (allout-toggle-subtree-encryption): Use allout-structure-added-hook |
| 6074 | rather than allout-exposure-changed-hook, as a stronger assertion. | 6074 | rather than allout-exposure-changed-hook, as a stronger assertion. |
| 6075 | (allout-keybindings-list): Add bindings for | 6075 | (allout-keybindings-list): Add bindings for |
| 6076 | allout-copy-line-as-kill and allout-copy-topic-as-kill. | 6076 | allout-copy-line-as-kill and allout-copy-topic-as-kill. |
| @@ -6121,7 +6121,7 @@ | |||
| 6121 | 6121 | ||
| 6122 | * cus-start.el (all): Rename x-gtk-show-chooser-help-text to | 6122 | * cus-start.el (all): Rename x-gtk-show-chooser-help-text to |
| 6123 | x-gtk-file-dialog-help-text. Rename x-use-old-gtk-file-dialog | 6123 | x-gtk-file-dialog-help-text. Rename x-use-old-gtk-file-dialog |
| 6124 | to x-gtk-use-old-file-dialog | 6124 | to x-gtk-use-old-file-dialog. |
| 6125 | 6125 | ||
| 6126 | 2006-09-18 Richard Stallman <rms@gnu.org> | 6126 | 2006-09-18 Richard Stallman <rms@gnu.org> |
| 6127 | 6127 | ||
| @@ -8116,7 +8116,7 @@ | |||
| 8116 | 8116 | ||
| 8117 | * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external) | 8117 | * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external) |
| 8118 | (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original) | 8118 | (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original) |
| 8119 | (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. | 8119 | (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. |
| 8120 | 8120 | ||
| 8121 | * thumbs.el (thumbs-call-convert): Use shell-command-switch. | 8121 | * thumbs.el (thumbs-call-convert): Use shell-command-switch. |
| 8122 | 8122 | ||
| @@ -8652,7 +8652,7 @@ | |||
| 8652 | (viper-next-line-at-bol): If point is on a widget or a button, simulate | 8652 | (viper-next-line-at-bol): If point is on a widget or a button, simulate |
| 8653 | clicking on that widget/button. | 8653 | clicking on that widget/button. |
| 8654 | 8654 | ||
| 8655 | * viper.el (viper-mode): Allow a separate cursor color in Emacs state. | 8655 | * viper.el (viper-mode): Allow a separate cursor color in Emacs state. |
| 8656 | 8656 | ||
| 8657 | * ediff-diff (ediff-test-patch-utility): Catch errors. | 8657 | * ediff-diff (ediff-test-patch-utility): Catch errors. |
| 8658 | (ediff-actual-diff-options, ediff-actual-diff3-options): New variables. | 8658 | (ediff-actual-diff-options, ediff-actual-diff3-options): New variables. |
| @@ -9203,7 +9203,7 @@ | |||
| 9203 | (ewoc--wrap): New func. | 9203 | (ewoc--wrap): New func. |
| 9204 | (ewoc-create): Take additional arg NOSEP. If nil, wrap node and | 9204 | (ewoc-create): Take additional arg NOSEP. If nil, wrap node and |
| 9205 | header/footer pretty-printers. Save header/footer pretty-printer. | 9205 | header/footer pretty-printers. Save header/footer pretty-printer. |
| 9206 | (ewoc-set-hf): Use ewoc's header/footer pretty-printer. * | 9206 | (ewoc-set-hf): Use ewoc's header/footer pretty-printer. |
| 9207 | 9207 | ||
| 9208 | * pcvs.el (cvs-make-cvs-buffer): Specify NOSEP to `ewoc-create'. | 9208 | * pcvs.el (cvs-make-cvs-buffer): Specify NOSEP to `ewoc-create'. |
| 9209 | 9209 | ||
| @@ -10152,7 +10152,7 @@ | |||
| 10152 | 2006-05-05 Eli Zaretskii <eliz@gnu.org> | 10152 | 2006-05-05 Eli Zaretskii <eliz@gnu.org> |
| 10153 | 10153 | ||
| 10154 | * startup.el (command-line): On MS-Windows, probe "~", not | 10154 | * startup.el (command-line): On MS-Windows, probe "~", not |
| 10155 | "~USER", for warning about non-existent home directory | 10155 | "~USER", for warning about non-existent home directory. |
| 10156 | 10156 | ||
| 10157 | * arc-mode.el (archive-l-e): New optional argument `float' means | 10157 | * arc-mode.el (archive-l-e): New optional argument `float' means |
| 10158 | generate a float value. | 10158 | generate a float value. |
| @@ -12103,7 +12103,7 @@ | |||
| 12103 | preserve window-start. | 12103 | preserve window-start. |
| 12104 | (speedbar-update-directory-contents): Try to preserve window-start | 12104 | (speedbar-update-directory-contents): Try to preserve window-start |
| 12105 | and window-point. | 12105 | and window-point. |
| 12106 | (speedbar-update-special-contents): Don't move back to start of window. | 12106 | (speedbar-update-special-contents): Don't move back to start of window. |
| 12107 | 12107 | ||
| 12108 | * progmodes/gdb-ui.el (gdb-speedbar-refresh): Rename from | 12108 | * progmodes/gdb-ui.el (gdb-speedbar-refresh): Rename from |
| 12109 | gdb-speedbar-timer-fn. Use speedbar-refresh instead of | 12109 | gdb-speedbar-timer-fn. Use speedbar-refresh instead of |
| @@ -12729,7 +12729,7 @@ | |||
| 12729 | 12729 | ||
| 12730 | (allout-mode): Explicitly specify the mode map in the docstring. | 12730 | (allout-mode): Explicitly specify the mode map in the docstring. |
| 12731 | Clarify provision for various write-file hook var names. | 12731 | Clarify provision for various write-file hook var names. |
| 12732 | Adjusted for invisible-text overlays instead of selective-display. | 12732 | Adjusted for invisible-text overlays instead of selective-display. |
| 12733 | 12733 | ||
| 12734 | (allout-depth): Really return 0 if not within any topic. This | 12734 | (allout-depth): Really return 0 if not within any topic. This |
| 12735 | rectifies `allout-beginning-of-level' and sequence numbering | 12735 | rectifies `allout-beginning-of-level' and sequence numbering |
| @@ -15747,10 +15747,10 @@ | |||
| 15747 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> | 15747 | 2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> |
| 15748 | 15748 | ||
| 15749 | * progmodes/cc-fix.el: Add definitions of the macros push and pop | 15749 | * progmodes/cc-fix.el: Add definitions of the macros push and pop |
| 15750 | (for GNU Emacs 20.4) | 15750 | (for GNU Emacs 20.4). |
| 15751 | 15751 | ||
| 15752 | * progmodes/cc-defs.el: | 15752 | * progmodes/cc-defs.el: |
| 15753 | (i): Load cc-fix.elc for `push' and `pop' (for GNU Emacs 20.4) | 15753 | (i): Load cc-fix.elc for `push' and `pop' (for GNU Emacs 20.4). |
| 15754 | 15754 | ||
| 15755 | * progmodes/cc-cmds.el (c-show-syntactic-information): Change the | 15755 | * progmodes/cc-cmds.el (c-show-syntactic-information): Change the |
| 15756 | highlighting mechanism so it will work in XEmacs too. | 15756 | highlighting mechanism so it will work in XEmacs too. |
| @@ -16051,7 +16051,7 @@ | |||
| 16051 | 16051 | ||
| 16052 | Introduce an "awk" style, mainly for auto-newline and clean-ups. | 16052 | Introduce an "awk" style, mainly for auto-newline and clean-ups. |
| 16053 | 16053 | ||
| 16054 | * progmodes/cc-align.el: New function c-snug-1line-defun-close | 16054 | * progmodes/cc-align.el: New function c-snug-1line-defun-close. |
| 16055 | 16055 | ||
| 16056 | * progmodes/cc-cmds.el: In c-electric-brace, add code for new | 16056 | * progmodes/cc-cmds.el: In c-electric-brace, add code for new |
| 16057 | clean-up one-liner-defun. | 16057 | clean-up one-liner-defun. |
| @@ -16185,7 +16185,7 @@ | |||
| 16185 | 16185 | ||
| 16186 | * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the | 16186 | * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the |
| 16187 | start of the file. ^L now separate sections of the file. | 16187 | start of the file. ^L now separate sections of the file. |
| 16188 | (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re) | 16188 | (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re) |
| 16189 | (c-awk-one-line-possibly-open-string-re) | 16189 | (c-awk-one-line-possibly-open-string-re) |
| 16190 | (c-awk-regexp-one-line-possibly-open-char-class-re) | 16190 | (c-awk-regexp-one-line-possibly-open-char-class-re) |
| 16191 | (c-awk-one-line-possibly-open-regexp-re) | 16191 | (c-awk-one-line-possibly-open-regexp-re) |
| @@ -17298,7 +17298,7 @@ | |||
| 17298 | 17298 | ||
| 17299 | 2005-11-30 Kim F. Storm <storm@cua.dk> | 17299 | 2005-11-30 Kim F. Storm <storm@cua.dk> |
| 17300 | 17300 | ||
| 17301 | * emulation/cua-rect.el (cua--rectangle-overlays): Make permanent-local. | 17301 | * emulation/cua-rect.el (cua--rectangle-overlays): Make permanent-local. |
| 17302 | (cua--rectangle-post-command): Cleanup overlays and deactivate mark | 17302 | (cua--rectangle-post-command): Cleanup overlays and deactivate mark |
| 17303 | after revert-buffer (or anything else which kills all local variables). | 17303 | after revert-buffer (or anything else which kills all local variables). |
| 17304 | 17304 | ||
| @@ -18540,7 +18540,7 @@ | |||
| 18540 | (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE | 18540 | (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE |
| 18541 | argument to all these routines, so the passphrase can be managed | 18541 | argument to all these routines, so the passphrase can be managed |
| 18542 | externally and passed in to the system. | 18542 | externally and passed in to the system. |
| 18543 | (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache | 18543 | (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache |
| 18544 | function. | 18544 | function. |
| 18545 | 18545 | ||
| 18546 | 2005-11-04 Dan Nicolaescu <dann@ics.uci.edu> | 18546 | 2005-11-04 Dan Nicolaescu <dann@ics.uci.edu> |
| @@ -18762,7 +18762,7 @@ | |||
| 18762 | (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE | 18762 | (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE |
| 18763 | argument to all these routines, so the passphrase can be managed | 18763 | argument to all these routines, so the passphrase can be managed |
| 18764 | externally and passed in to the system. | 18764 | externally and passed in to the system. |
| 18765 | (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache | 18765 | (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache |
| 18766 | function. | 18766 | function. |
| 18767 | 18767 | ||
| 18768 | 2005-11-04 Edward O'Connor <hober0@gmail.com> (tiny change) | 18768 | 2005-11-04 Edward O'Connor <hober0@gmail.com> (tiny change) |
| @@ -19664,14 +19664,14 @@ | |||
| 19664 | New defvar. Replaces `dired-move-to-filename-regexp' from dired.el. | 19664 | New defvar. Replaces `dired-move-to-filename-regexp' from dired.el. |
| 19665 | 19665 | ||
| 19666 | * dired.el (dired-move-to-filename-regexp): Remove. | 19666 | * dired.el (dired-move-to-filename-regexp): Remove. |
| 19667 | All occurences replaced by `directory-listing-before-filename-regexp'. | 19667 | All occurrences replaced by `directory-listing-before-filename-regexp'. |
| 19668 | 19668 | ||
| 19669 | * dired-x.el, locate.el, vc.el: | 19669 | * dired-x.el, locate.el, vc.el: |
| 19670 | Replace `dired-move-to-filename-regexp' by | 19670 | Replace `dired-move-to-filename-regexp' by |
| 19671 | `directory-listing-before-filename-regexp'. In vc.el it is | 19671 | `directory-listing-before-filename-regexp'. In vc.el it is |
| 19672 | overwritten locally; maybe this can be handled in files.el too. | 19672 | overwritten locally; maybe this can be handled in files.el too. |
| 19673 | 19673 | ||
| 19674 | * net/ange-ftp.el (ange-ftp-date-regexp): Remove. All occurences | 19674 | * net/ange-ftp.el (ange-ftp-date-regexp): Remove. All occurrences |
| 19675 | replaced by `directory-listing-before-filename-regexp'. | 19675 | replaced by `directory-listing-before-filename-regexp'. |
| 19676 | 19676 | ||
| 19677 | 2005-10-23 Andreas Schwab <schwab@suse.de> | 19677 | 2005-10-23 Andreas Schwab <schwab@suse.de> |
| @@ -19923,7 +19923,7 @@ | |||
| 19923 | (outlineify-sticky): Use the file vars mechanism. | 19923 | (outlineify-sticky): Use the file vars mechanism. |
| 19924 | (allout-inhibit-protection, allout-during-write-cue) | 19924 | (allout-inhibit-protection, allout-during-write-cue) |
| 19925 | (allout-override-protect, allout-before-change-protect): Remove. | 19925 | (allout-override-protect, allout-before-change-protect): Remove. |
| 19926 | (allout-flag-region, allout-open-topic): Adjust read-only text. | 19926 | (allout-flag-region, allout-open-topic): Adjust read-only text. |
| 19927 | (allout-open-line-not-read-only): Add to facilitate read-only | 19927 | (allout-open-line-not-read-only): Add to facilitate read-only |
| 19928 | text based protection. | 19928 | text based protection. |
| 19929 | (allout-kill-line): Revise to adjust read-only text, clue the | 19929 | (allout-kill-line): Revise to adjust read-only text, clue the |
| @@ -20402,7 +20402,7 @@ | |||
| 20402 | 20402 | ||
| 20403 | 2005-10-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 20403 | 2005-10-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 20404 | 20404 | ||
| 20405 | * startup.el (command-line-x-option-alist): -nb => -nbi | 20405 | * startup.el (command-line-x-option-alist): -nb => -nbi. |
| 20406 | 20406 | ||
| 20407 | 2005-10-12 Kim F. Storm <storm@cua.dk> | 20407 | 2005-10-12 Kim F. Storm <storm@cua.dk> |
| 20408 | 20408 | ||
| @@ -20580,7 +20580,7 @@ | |||
| 20580 | * term/x-win.el: Remove -i, --icon-type from comment. | 20580 | * term/x-win.el: Remove -i, --icon-type from comment. |
| 20581 | 20581 | ||
| 20582 | * startup.el (command-line-x-option-alist): Remove options -i, | 20582 | * startup.el (command-line-x-option-alist): Remove options -i, |
| 20583 | -itype, --icon-type, added -nb, --no-bitmap-icon | 20583 | -itype, --icon-type, added -nb, --no-bitmap-icon. |
| 20584 | 20584 | ||
| 20585 | 2005-10-09 Nick Roberts <nickrob@snap.net.nz> | 20585 | 2005-10-09 Nick Roberts <nickrob@snap.net.nz> |
| 20586 | 20586 | ||
| @@ -20866,7 +20866,7 @@ | |||
| 20866 | * textmodes/ispell.el (ispell-word, ispell-region): | 20866 | * textmodes/ispell.el (ispell-word, ispell-region): |
| 20867 | Call ispell-maybe-find-aspell-dictionaries. | 20867 | Call ispell-maybe-find-aspell-dictionaries. |
| 20868 | (ispell-accept-buffer-local-defs): | 20868 | (ispell-accept-buffer-local-defs): |
| 20869 | Don't call ispell-maybe-find-aspell-dictionaries | 20869 | Don't call ispell-maybe-find-aspell-dictionaries. |
| 20870 | 20870 | ||
| 20871 | 2005-10-04 Richard M. Stallman <rms@gnu.org> | 20871 | 2005-10-04 Richard M. Stallman <rms@gnu.org> |
| 20872 | 20872 | ||
| @@ -22474,7 +22474,7 @@ | |||
| 22474 | 22474 | ||
| 22475 | * calendar/diary-lib.el (diary-modify-entry-list-string-function): | 22475 | * calendar/diary-lib.el (diary-modify-entry-list-string-function): |
| 22476 | New hook. | 22476 | New hook. |
| 22477 | (add-to-diary-list): Call `diary-modify-entry-list-string-function' | 22477 | (add-to-diary-list): Call `diary-modify-entry-list-string-function'. |
| 22478 | 22478 | ||
| 22479 | 2005-08-24 Stefan Monnier <monnier@iro.umontreal.ca> | 22479 | 2005-08-24 Stefan Monnier <monnier@iro.umontreal.ca> |
| 22480 | 22480 | ||
| @@ -24379,7 +24379,7 @@ | |||
| 24379 | * viper-init.el: Get rid of -face in face names. | 24379 | * viper-init.el: Get rid of -face in face names. |
| 24380 | 24380 | ||
| 24381 | * ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): | 24381 | * ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): |
| 24382 | Make it work with longlines mode | 24382 | Make it work with longlines mode. |
| 24383 | 24383 | ||
| 24384 | * ediff-mult.el (ediff-meta-mode-hook): New variable. | 24384 | * ediff-mult.el (ediff-meta-mode-hook): New variable. |
| 24385 | 24385 | ||
| @@ -27822,7 +27822,7 @@ | |||
| 27822 | (reftex-unhighlight): Use `reftex-delete-overlay'. | 27822 | (reftex-unhighlight): Use `reftex-delete-overlay'. |
| 27823 | (reftex-uniq): Function removed. Use `reftex-uniquify' instead. | 27823 | (reftex-uniq): Function removed. Use `reftex-uniquify' instead. |
| 27824 | (reftex-access-search-path): Use `reftex-uniquify' instead of | 27824 | (reftex-access-search-path): Use `reftex-uniquify' instead of |
| 27825 | `reftex-uniq' | 27825 | `reftex-uniq'. |
| 27826 | 27826 | ||
| 27827 | * textmodes/reftex-sel.el (reftex-select-unmark): Overlay | 27827 | * textmodes/reftex-sel.el (reftex-select-unmark): Overlay |
| 27828 | `before-string' property modification enables for Emacs as well. | 27828 | `before-string' property modification enables for Emacs as well. |
| @@ -29301,7 +29301,7 @@ | |||
| 29301 | 29301 | ||
| 29302 | * isearch.el (isearch-edit-string): Make the search-ring available for | 29302 | * isearch.el (isearch-edit-string): Make the search-ring available for |
| 29303 | minibuffer history commands. | 29303 | minibuffer history commands. |
| 29304 | (minibuffer-local-isearch-map): Remove bindings for M-p and M-n, | 29304 | (minibuffer-local-isearch-map): Remove bindings for M-p and M-n, |
| 29305 | the default history commands now work just as well. | 29305 | the default history commands now work just as well. |
| 29306 | (isearch-ring-retreat-edit, isearch-ring-advance-edit): Remove. | 29306 | (isearch-ring-retreat-edit, isearch-ring-advance-edit): Remove. |
| 29307 | 29307 | ||
| @@ -29461,7 +29461,7 @@ | |||
| 29461 | `org-insert-mode-line-in-empty-file' has been set. | 29461 | `org-insert-mode-line-in-empty-file' has been set. |
| 29462 | (org-agenda-todo, org-agenda-priority): Modify to use | 29462 | (org-agenda-todo, org-agenda-priority): Modify to use |
| 29463 | `org-agenda-change-all-lines'. | 29463 | `org-agenda-change-all-lines'. |
| 29464 | (org-warning-face): Change color on dark background | 29464 | (org-warning-face): Change color on dark background. |
| 29465 | 29465 | ||
| 29466 | 2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 29466 | 2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 29467 | 29467 | ||
| @@ -29585,7 +29585,7 @@ | |||
| 29585 | 29585 | ||
| 29586 | 2005-04-11 Rajesh Vaidheeswarran <rv@gnu.org> | 29586 | 2005-04-11 Rajesh Vaidheeswarran <rv@gnu.org> |
| 29587 | 29587 | ||
| 29588 | * whitespace.el (whitespace-version): Bump to 3.5 | 29588 | * whitespace.el (whitespace-version): Bump to 3.5. |
| 29589 | 29589 | ||
| 29590 | (whitespace-buffer-leading, whitespace-buffer-trailing): | 29590 | (whitespace-buffer-leading, whitespace-buffer-trailing): |
| 29591 | Invert sense of the test to highlight the whitespace. | 29591 | Invert sense of the test to highlight the whitespace. |
| @@ -29613,7 +29613,7 @@ | |||
| 29613 | 29613 | ||
| 29614 | * dired.el (dired-mode): Use dnd-* instead of x-dnd-* | 29614 | * dired.el (dired-mode): Use dnd-* instead of x-dnd-* |
| 29615 | (dired-dnd-handle-local-file): Call dnd-get-local-file-name. | 29615 | (dired-dnd-handle-local-file): Call dnd-get-local-file-name. |
| 29616 | (dired-dnd-handle-file): Call dnd-get-local-file-uri | 29616 | (dired-dnd-handle-file): Call dnd-get-local-file-uri. |
| 29617 | 29617 | ||
| 29618 | * cus-edit.el (dnd): New group. | 29618 | * cus-edit.el (dnd): New group. |
| 29619 | 29619 | ||
| @@ -32029,7 +32029,7 @@ | |||
| 32029 | (calcFunc-sech, calcFunc-csch, calcFunc-coth, math-sec-raw) | 32029 | (calcFunc-sech, calcFunc-csch, calcFunc-coth, math-sec-raw) |
| 32030 | (math-csc-raw, math-cot-raw): New functions. | 32030 | (math-csc-raw, math-cot-raw): New functions. |
| 32031 | 32031 | ||
| 32032 | * calc/calc-rules.el (calc-DistribRules, calc-NegateRules): Add rules. | 32032 | * calc/calc-rules.el (calc-DistribRules, calc-NegateRules): Add rules. |
| 32033 | 32033 | ||
| 32034 | * calc/calc-undo.el (calc-handle-undo): Remove prefix from | 32034 | * calc/calc-undo.el (calc-handle-undo): Remove prefix from |
| 32035 | the variable name in a message. | 32035 | the variable name in a message. |
| @@ -32604,7 +32604,7 @@ | |||
| 32604 | 2005-01-21 Ren,Ai(B Kyllingstad <listmailxemacs@kyllingstad.com> | 32604 | 2005-01-21 Ren,Ai(B Kyllingstad <listmailxemacs@kyllingstad.com> |
| 32605 | 32605 | ||
| 32606 | * pcomplete.el: Define pcomplete-read-event instead of read-event, | 32606 | * pcomplete.el: Define pcomplete-read-event instead of read-event, |
| 32607 | since it's not a complete read-event implementation | 32607 | since it's not a complete read-event implementation. |
| 32608 | 32608 | ||
| 32609 | 2005-01-20 Jay Belanger <belanger@truman.edu> | 32609 | 2005-01-20 Jay Belanger <belanger@truman.edu> |
| 32610 | 32610 | ||
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index 9f324a67785..e310020e399 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el | |||
| @@ -414,7 +414,7 @@ C-w Describe how there is no warranty for Calc." | |||
| 414 | (princ (format "GNU Emacs Calculator version %s.\n" | 414 | (princ (format "GNU Emacs Calculator version %s.\n" |
| 415 | calc-version)) | 415 | calc-version)) |
| 416 | (princ " By Dave Gillespie.\n") | 416 | (princ " By Dave Gillespie.\n") |
| 417 | (princ " Copyright (C) 2007 Free Software Foundation, Inc.\n\n") | 417 | (princ (format " %s\n\n" emacs-copyright)) |
| 418 | (princ "Type `h s' for a more detailed summary.\n") | 418 | (princ "Type `h s' for a more detailed summary.\n") |
| 419 | (princ "Or type `h i' to read the full Calc manual on-line.\n\n") | 419 | (princ "Or type `h i' to read the full Calc manual on-line.\n\n") |
| 420 | (princ "Basic keys:\n") | 420 | (princ "Basic keys:\n") |
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index 7bbd12a436e..6238a7f1ea9 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el | |||
| @@ -678,7 +678,7 @@ takes care of european-style." | |||
| 678 | nil))) | 678 | nil))) |
| 679 | 679 | ||
| 680 | (defun icalendar--diarytime-to-isotime (timestring ampmstring) | 680 | (defun icalendar--diarytime-to-isotime (timestring ampmstring) |
| 681 | "Convert a a time like 9:30pm to an iso-conform string like T213000. | 681 | "Convert a time like 9:30pm to an iso-conform string like T213000. |
| 682 | In this example the TIMESTRING would be \"9:30\" and the AMPMSTRING | 682 | In this example the TIMESTRING would be \"9:30\" and the AMPMSTRING |
| 683 | would be \"pm\"." | 683 | would be \"pm\"." |
| 684 | (if timestring | 684 | (if timestring |
diff --git a/lisp/desktop.el b/lisp/desktop.el index 92f6a448574..e44e943db3e 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -423,7 +423,7 @@ Furthermore the major mode function must be autoloaded.") | |||
| 423 | Each entry has the form (NAME RESTORE-FUNCTION). | 423 | Each entry has the form (NAME RESTORE-FUNCTION). |
| 424 | NAME is the name of the buffer-local variable indicating that the minor | 424 | NAME is the name of the buffer-local variable indicating that the minor |
| 425 | mode is active. RESTORE-FUNCTION is the function to activate the minor mode. | 425 | mode is active. RESTORE-FUNCTION is the function to activate the minor mode. |
| 426 | called. RESTORE-FUNCTION nil means don't try to restore the minor mode. | 426 | RESTORE-FUNCTION nil means don't try to restore the minor mode. |
| 427 | Only minor modes for which the name of the buffer-local variable | 427 | Only minor modes for which the name of the buffer-local variable |
| 428 | and the name of the minor mode function are different have to be added to | 428 | and the name of the minor mode function are different have to be added to |
| 429 | this table. See also `desktop-minor-mode-handlers'." | 429 | this table. See also `desktop-minor-mode-handlers'." |
diff --git a/lisp/dframe.el b/lisp/dframe.el index eda6d45bf21..7971db19dd8 100644 --- a/lisp/dframe.el +++ b/lisp/dframe.el | |||
| @@ -152,13 +152,11 @@ | |||
| 152 | 152 | ||
| 153 | ;;; Compatibility functions | 153 | ;;; Compatibility functions |
| 154 | ;; | 154 | ;; |
| 155 | (if (fboundp 'frame-parameter) | 155 | (defun dframe-frame-parameter (frame parameter) |
| 156 | 156 | "Return FRAME's PARAMETER value." | |
| 157 | (defalias 'dframe-frame-parameter 'frame-parameter) | 157 | (if (fboundp 'frame-parameter) |
| 158 | 158 | (frame-parameter frame parameter) | |
| 159 | (defun dframe-frame-parameter (frame parameter) | 159 | (cdr (assoc parameter (frame-parameters frame))))) ; XEmacs |
| 160 | "Return FRAME's PARAMETER value." | ||
| 161 | (cdr (assoc parameter (frame-parameters frame))))) | ||
| 162 | 160 | ||
| 163 | 161 | ||
| 164 | ;;; Variables | 162 | ;;; Variables |
| @@ -887,10 +885,10 @@ Must be bound to event E." | |||
| 887 | 885 | ||
| 888 | ;;; Interactive user functions for the mouse | 886 | ;;; Interactive user functions for the mouse |
| 889 | ;; | 887 | ;; |
| 890 | (if dframe-xemacsp | 888 | (defun dframe-mouse-event-p (event) |
| 891 | (defalias 'dframe-mouse-event-p 'button-press-event-p) | 889 | "Return t if the event is a mouse related event." |
| 892 | (defun dframe-mouse-event-p (event) | 890 | (if (fboundp 'button-press-event-p) |
| 893 | "Return t if the event is a mouse related event." | 891 | (button-press-event-p event) ; XEmacs |
| 894 | (if (and (listp event) | 892 | (if (and (listp event) |
| 895 | (member (event-basic-type event) | 893 | (member (event-basic-type event) |
| 896 | '(mouse-1 mouse-2 mouse-3))) | 894 | '(mouse-1 mouse-2 mouse-3))) |
diff --git a/lisp/dired.el b/lisp/dired.el index 4244954d467..4525cc2ea97 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -1452,9 +1452,6 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." | |||
| 1452 | (define-key map [menu-bar operate] | 1452 | (define-key map [menu-bar operate] |
| 1453 | (cons "Operate" (make-sparse-keymap "Operate"))) | 1453 | (cons "Operate" (make-sparse-keymap "Operate"))) |
| 1454 | 1454 | ||
| 1455 | (define-key map [menu-bar operate dashes-2] | ||
| 1456 | '("--")) | ||
| 1457 | |||
| 1458 | (define-key map | 1455 | (define-key map |
| 1459 | [menu-bar operate image-dired-delete-tag] | 1456 | [menu-bar operate image-dired-delete-tag] |
| 1460 | '(menu-item "Delete Image Tag..." image-dired-delete-tag | 1457 | '(menu-item "Delete Image Tag..." image-dired-delete-tag |
| @@ -2362,7 +2359,7 @@ Optional argument means return a file name relative to `default-directory'." | |||
| 2362 | 2359 | ||
| 2363 | ;; Deleting files | 2360 | ;; Deleting files |
| 2364 | 2361 | ||
| 2365 | (defcustom dired-recursive-deletes nil ; Default only delete empty directories. | 2362 | (defcustom dired-recursive-deletes 'top ; Default only delete empty directories. |
| 2366 | "*Decide whether recursive deletes are allowed. | 2363 | "*Decide whether recursive deletes are allowed. |
| 2367 | A value of nil means no recursive deletes. | 2364 | A value of nil means no recursive deletes. |
| 2368 | `always' means delete recursively without asking. This is DANGEROUS! | 2365 | `always' means delete recursively without asking. This is DANGEROUS! |
| @@ -2410,7 +2407,9 @@ Anything else, ask for each sub-directory." | |||
| 2410 | (defun dired-do-flagged-delete (&optional nomessage) | 2407 | (defun dired-do-flagged-delete (&optional nomessage) |
| 2411 | "In Dired, delete the files flagged for deletion. | 2408 | "In Dired, delete the files flagged for deletion. |
| 2412 | If NOMESSAGE is non-nil, we don't display any message | 2409 | If NOMESSAGE is non-nil, we don't display any message |
| 2413 | if there are no flagged files." | 2410 | if there are no flagged files. |
| 2411 | `dired-recursive-deletes' controls whether | ||
| 2412 | deletion of non-empty directories is allowed." | ||
| 2414 | (interactive) | 2413 | (interactive) |
| 2415 | (let* ((dired-marker-char dired-del-marker) | 2414 | (let* ((dired-marker-char dired-del-marker) |
| 2416 | (regexp (dired-marker-regexp)) | 2415 | (regexp (dired-marker-regexp)) |
| @@ -2426,7 +2425,9 @@ if there are no flagged files." | |||
| 2426 | (message "(No deletions requested)"))))) | 2425 | (message "(No deletions requested)"))))) |
| 2427 | 2426 | ||
| 2428 | (defun dired-do-delete (&optional arg) | 2427 | (defun dired-do-delete (&optional arg) |
| 2429 | "Delete all marked (or next ARG) files." | 2428 | "Delete all marked (or next ARG) files. |
| 2429 | `dired-recursive-deletes' controls whether | ||
| 2430 | deletion of non-empty directories is allowed." | ||
| 2430 | ;; This is more consistent with the file marking feature than | 2431 | ;; This is more consistent with the file marking feature than |
| 2431 | ;; dired-do-flagged-delete. | 2432 | ;; dired-do-flagged-delete. |
| 2432 | (interactive "P") | 2433 | (interactive "P") |
| @@ -3206,7 +3207,7 @@ To be called first in body of `dired-sort-other', etc." | |||
| 3206 | 3207 | ||
| 3207 | ;;;; Drag and drop support | 3208 | ;;;; Drag and drop support |
| 3208 | 3209 | ||
| 3209 | (defcustom dired-recursive-copies nil | 3210 | (defcustom dired-recursive-copies 'top |
| 3210 | "*Decide whether recursive copies are allowed. | 3211 | "*Decide whether recursive copies are allowed. |
| 3211 | A value of nil means no recursive copies. | 3212 | A value of nil means no recursive copies. |
| 3212 | `always' means copy recursively without asking. | 3213 | `always' means copy recursively without asking. |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index f1761c125ac..619b7533ca7 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -98,9 +98,11 @@ | |||
| 98 | ;; `obsolete' (obsolete variables and functions) | 98 | ;; `obsolete' (obsolete variables and functions) |
| 99 | ;; `noruntime' (calls to functions only defined | 99 | ;; `noruntime' (calls to functions only defined |
| 100 | ;; within `eval-when-compile') | 100 | ;; within `eval-when-compile') |
| 101 | ;; `cl-warnings' (calls to CL functions) | 101 | ;; `cl-functions' (calls to CL functions) |
| 102 | ;; `interactive-only' (calls to commands that are | 102 | ;; `interactive-only' (calls to commands that are |
| 103 | ;; not good to call from Lisp) | 103 | ;; not good to call from Lisp) |
| 104 | ;; `make-local' (dubious calls to | ||
| 105 | ;; `make-variable-buffer-local') | ||
| 104 | ;; byte-compile-compatibility Whether the compiler should | 106 | ;; byte-compile-compatibility Whether the compiler should |
| 105 | ;; generate .elc files which can be loaded into | 107 | ;; generate .elc files which can be loaded into |
| 106 | ;; generic emacs 18. | 108 | ;; generic emacs 18. |
| @@ -356,14 +358,16 @@ Elements of the list may be: | |||
| 356 | cl-functions calls to runtime functions from the CL package (as | 358 | cl-functions calls to runtime functions from the CL package (as |
| 357 | distinguished from macros and aliases). | 359 | distinguished from macros and aliases). |
| 358 | interactive-only | 360 | interactive-only |
| 359 | commands that normally shouldn't be called from Lisp code." | 361 | commands that normally shouldn't be called from Lisp code. |
| 362 | make-local calls to make-variable-buffer-local that may be incorrect." | ||
| 360 | :group 'bytecomp | 363 | :group 'bytecomp |
| 361 | :type `(choice (const :tag "All" t) | 364 | :type `(choice (const :tag "All" t) |
| 362 | (set :menu-tag "Some" | 365 | (set :menu-tag "Some" |
| 363 | (const free-vars) (const unresolved) | 366 | (const free-vars) (const unresolved) |
| 364 | (const callargs) (const redefine) | 367 | (const callargs) (const redefine) |
| 365 | (const obsolete) (const noruntime) | 368 | (const obsolete) (const noruntime) |
| 366 | (const cl-functions) (const interactive-only)))) | 369 | (const cl-functions) (const interactive-only) |
| 370 | (const make-local)))) | ||
| 367 | (put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p) | 371 | (put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p) |
| 368 | ;;;###autoload | 372 | ;;;###autoload |
| 369 | (defun byte-compile-warnings-safe-p (x) | 373 | (defun byte-compile-warnings-safe-p (x) |
| @@ -374,7 +378,7 @@ Elements of the list may be: | |||
| 374 | (when (memq e '(free-vars unresolved | 378 | (when (memq e '(free-vars unresolved |
| 375 | callargs redefine | 379 | callargs redefine |
| 376 | obsolete noruntime | 380 | obsolete noruntime |
| 377 | cl-functions interactive-only)) | 381 | cl-functions interactive-only make-local)) |
| 378 | e)) | 382 | e)) |
| 379 | x) | 383 | x) |
| 380 | x)))) | 384 | x)))) |
| @@ -1344,7 +1348,8 @@ extra args." | |||
| 1344 | (unless byte-compile-cl-functions | 1348 | (unless byte-compile-cl-functions |
| 1345 | (dolist (elt load-history) | 1349 | (dolist (elt load-history) |
| 1346 | (when (and (stringp (car elt)) | 1350 | (when (and (stringp (car elt)) |
| 1347 | (string-match "^cl\\>" (car elt))) | 1351 | (string-match |
| 1352 | "^cl\\>" (file-name-nondirectory (car elt)))) | ||
| 1348 | (setq byte-compile-cl-functions | 1353 | (setq byte-compile-cl-functions |
| 1349 | (append byte-compile-cl-functions | 1354 | (append byte-compile-cl-functions |
| 1350 | (cdr elt))))) | 1355 | (cdr elt))))) |
| @@ -3888,7 +3893,8 @@ that suppresses all warnings during execution of BODY." | |||
| 3888 | ;; Warn about misuses of make-variable-buffer-local. | 3893 | ;; Warn about misuses of make-variable-buffer-local. |
| 3889 | (byte-defop-compiler-1 make-variable-buffer-local byte-compile-make-variable-buffer-local) | 3894 | (byte-defop-compiler-1 make-variable-buffer-local byte-compile-make-variable-buffer-local) |
| 3890 | (defun byte-compile-make-variable-buffer-local (form) | 3895 | (defun byte-compile-make-variable-buffer-local (form) |
| 3891 | (if (eq (car-safe (car-safe (cdr-safe form))) 'quote) | 3896 | (if (and (eq (car-safe (car-safe (cdr-safe form))) 'quote) |
| 3897 | (memq 'make-local byte-compile-warnings)) | ||
| 3892 | (byte-compile-warn | 3898 | (byte-compile-warn |
| 3893 | "`make-variable-buffer-local' should be called at toplevel")) | 3899 | "`make-variable-buffer-local' should be called at toplevel")) |
| 3894 | (byte-compile-normal-call form)) | 3900 | (byte-compile-normal-call form)) |
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 14b9ce55d9e..b4d925686ca 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el | |||
| @@ -263,7 +263,7 @@ system. Possible values are: | |||
| 263 | (const t))) | 263 | (const t))) |
| 264 | 264 | ||
| 265 | (defvar checkdoc-ispell-lisp-words | 265 | (defvar checkdoc-ispell-lisp-words |
| 266 | '("alist" "emacs" "etags" "iff" "keymap" "paren" "regexp" "sexp" "xemacs") | 266 | '("alist" "emacs" "etags" "keymap" "paren" "regexp" "sexp" "xemacs") |
| 267 | "List of words that are correct when spell-checking Lisp documentation.") | 267 | "List of words that are correct when spell-checking Lisp documentation.") |
| 268 | 268 | ||
| 269 | (defcustom checkdoc-max-keyref-before-warn 10 | 269 | (defcustom checkdoc-max-keyref-before-warn 10 |
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 70ffa4ede48..9ffbcbd5201 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-06-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * erc.el (erc-show-channel-key-p, erc-startup-file-list): | ||
| 4 | Fix typo in docstring. | ||
| 5 | |||
| 1 | 2007-04-01 Michael Olson <mwolson@gnu.org> | 6 | 2007-04-01 Michael Olson <mwolson@gnu.org> |
| 2 | 7 | ||
| 3 | * erc.el (erc-version-string): Release ERC 5.2. | 8 | * erc.el (erc-version-string): Release ERC 5.2. |
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 37c2c2e0883..d6875ffc4af 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -842,7 +842,7 @@ See `erc-server-flood-margin' for other flood-related parameters.") | |||
| 842 | The first existent and readable one will get executed. | 842 | The first existent and readable one will get executed. |
| 843 | 843 | ||
| 844 | If the filename ends with `.el' it is presumed to be an Emacs Lisp | 844 | If the filename ends with `.el' it is presumed to be an Emacs Lisp |
| 845 | script and it gets (load)ed. Otherwise is is treated as a bunch of | 845 | script and it gets (load)ed. Otherwise it is treated as a bunch of |
| 846 | regular IRC commands." | 846 | regular IRC commands." |
| 847 | :group 'erc-scripts | 847 | :group 'erc-scripts |
| 848 | :type '(repeat file)) | 848 | :type '(repeat file)) |
| @@ -5756,7 +5756,7 @@ Otherwise, use the `erc-header-line' face." | |||
| 5756 | (function :tag "Call a function"))) | 5756 | (function :tag "Call a function"))) |
| 5757 | 5757 | ||
| 5758 | (defcustom erc-show-channel-key-p t | 5758 | (defcustom erc-show-channel-key-p t |
| 5759 | "Show the the channel key in the header line." | 5759 | "Show the channel key in the header line." |
| 5760 | :group 'erc-paranoia | 5760 | :group 'erc-paranoia |
| 5761 | :type 'boolean) | 5761 | :type 'boolean) |
| 5762 | 5762 | ||
diff --git a/lisp/faces.el b/lisp/faces.el index 47fb2fa0295..32d0c0af068 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -222,11 +222,12 @@ Value is FACE." | |||
| 222 | 222 | ||
| 223 | (defun face-id (face &optional frame) | 223 | (defun face-id (face &optional frame) |
| 224 | "Return the internal ID of face with name FACE. | 224 | "Return the internal ID of face with name FACE. |
| 225 | If FACE is a face-alias, return the ID of the target face. | ||
| 225 | The optional argument FRAME is ignored, since the internal face ID | 226 | The optional argument FRAME is ignored, since the internal face ID |
| 226 | of a face name is the same for all frames." | 227 | of a face name is the same for all frames." |
| 227 | (check-face face) | 228 | (check-face face) |
| 228 | (get face 'face)) | 229 | (or (get face 'face) |
| 229 | 230 | (face-id (get face 'face-alias)))) | |
| 230 | 231 | ||
| 231 | (defun face-equal (face1 face2 &optional frame) | 232 | (defun face-equal (face1 face2 &optional frame) |
| 232 | "Non-nil if faces FACE1 and FACE2 are equal. | 233 | "Non-nil if faces FACE1 and FACE2 are equal. |
diff --git a/lisp/files.el b/lisp/files.el index 4c68ac94b40..b54251b1605 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -1924,7 +1924,7 @@ since only a single case-insensitive search through the alist is made." | |||
| 1924 | ("\\.[sS]\\'" . asm-mode) | 1924 | ("\\.[sS]\\'" . asm-mode) |
| 1925 | ("\\.asm\\'" . asm-mode) | 1925 | ("\\.asm\\'" . asm-mode) |
| 1926 | ("[cC]hange\\.?[lL]og?\\'" . change-log-mode) | 1926 | ("[cC]hange\\.?[lL]og?\\'" . change-log-mode) |
| 1927 | ("[cC]hange[lL]og[-.][-0-9a-z]+\\'" . change-log-mode) | 1927 | ("[cC]hange[lL]og[-.][0-9]+\\'" . change-log-mode) |
| 1928 | ("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode) | 1928 | ("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode) |
| 1929 | ("\\.scm\\.[0-9]*\\'" . scheme-mode) | 1929 | ("\\.scm\\.[0-9]*\\'" . scheme-mode) |
| 1930 | ("\\.[ck]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode) | 1930 | ("\\.[ck]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode) |
| @@ -2012,6 +2012,9 @@ since only a single case-insensitive search through the alist is made." | |||
| 2012 | ("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode) | 2012 | ("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode) |
| 2013 | ("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode) | 2013 | ("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode) |
| 2014 | ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode) | 2014 | ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode) |
| 2015 | ;; ChangeLog.old etc. Other change-log-mode entries are above; | ||
| 2016 | ;; this has lower priority to avoid matching changelog.sgml etc. | ||
| 2017 | ("[cC]hange[lL]og[-.][-0-9a-z]+\\'" . change-log-mode) | ||
| 2015 | ;; either user's dot-files or under /etc or some such | 2018 | ;; either user's dot-files or under /etc or some such |
| 2016 | ("/\\.?\\(?:gnokiirc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode) | 2019 | ("/\\.?\\(?:gnokiirc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode) |
| 2017 | ;; alas not all ~/.*rc files are like this | 2020 | ;; alas not all ~/.*rc files are like this |
| @@ -4390,6 +4393,14 @@ This command is used in the special Dired buffer created by | |||
| 4390 | (message "No files can be recovered from this session now"))) | 4393 | (message "No files can be recovered from this session now"))) |
| 4391 | (kill-buffer buffer)))) | 4394 | (kill-buffer buffer)))) |
| 4392 | 4395 | ||
| 4396 | (defun kill-buffer-ask (buffer) | ||
| 4397 | "Kill buffer if confirmed." | ||
| 4398 | (when (yes-or-no-p | ||
| 4399 | (format "Buffer %s %s. Kill? " (buffer-name buffer) | ||
| 4400 | (if (buffer-modified-p buffer) | ||
| 4401 | "HAS BEEN EDITED" "is unmodified"))) | ||
| 4402 | (kill-buffer buffer))) | ||
| 4403 | |||
| 4393 | (defun kill-some-buffers (&optional list) | 4404 | (defun kill-some-buffers (&optional list) |
| 4394 | "Kill some buffers. Asks the user whether to kill each one of them. | 4405 | "Kill some buffers. Asks the user whether to kill each one of them. |
| 4395 | Non-interactively, if optional argument LIST is non-nil, it | 4406 | Non-interactively, if optional argument LIST is non-nil, it |
| @@ -4404,13 +4415,20 @@ specifies the list of buffers to kill, asking for approval for each one." | |||
| 4404 | ; if we killed the base buffer. | 4415 | ; if we killed the base buffer. |
| 4405 | (not (string-equal name "")) | 4416 | (not (string-equal name "")) |
| 4406 | (/= (aref name 0) ?\s) | 4417 | (/= (aref name 0) ?\s) |
| 4407 | (yes-or-no-p | 4418 | (kill-buffer-ask buffer))) |
| 4408 | (format "Buffer %s %s. Kill? " | ||
| 4409 | name | ||
| 4410 | (if (buffer-modified-p buffer) | ||
| 4411 | "HAS BEEN EDITED" "is unmodified"))) | ||
| 4412 | (kill-buffer buffer))) | ||
| 4413 | (setq list (cdr list)))) | 4419 | (setq list (cdr list)))) |
| 4420 | |||
| 4421 | (defun kill-matching-buffers (regexp &optional internal-too) | ||
| 4422 | "Kill buffers whose name matches the specified regexp. | ||
| 4423 | The optional second argument indicates whether to kill internal buffers too." | ||
| 4424 | (interactive "sKill buffers matching this regular expression: \nP") | ||
| 4425 | (dolist (buffer (buffer-list)) | ||
| 4426 | (let ((name (buffer-name buffer))) | ||
| 4427 | (when (and name (not (string-equal name "")) | ||
| 4428 | (or internal-too (/= (aref name 0) ?\s)) | ||
| 4429 | (string-match regexp name)) | ||
| 4430 | (kill-buffer-ask buffer))))) | ||
| 4431 | |||
| 4414 | 4432 | ||
| 4415 | (defun auto-save-mode (arg) | 4433 | (defun auto-save-mode (arg) |
| 4416 | "Toggle auto-saving of contents of current buffer. | 4434 | "Toggle auto-saving of contents of current buffer. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 631869e4f34..17ef7f996b3 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,34 @@ | |||
| 1 | 2007-06-08 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-ems.el (gnus-x-splash): Make it work. | ||
| 4 | |||
| 5 | * gnus-start.el (gnus-1): Relax restrictions that prevent gnus-x-splash | ||
| 6 | from being used. | ||
| 7 | |||
| 8 | * gnus-art.el (gnus-article-summary-command-nosave): Correct the order | ||
| 9 | of the arguments passed to pop-to-buffer. | ||
| 10 | (gnus-article-read-summary-keys): Ditto. | ||
| 11 | |||
| 12 | 2007-06-07 Juanma Barranquero <lekktu@gmail.com> | ||
| 13 | |||
| 14 | * gnus-art.el (gnus-split-methods): Fix typo in docstring. | ||
| 15 | |||
| 16 | 2007-06-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 17 | |||
| 18 | * gnus-diary.el (gnus-diary-time-format, gnus-summary-sort-by-schedule): | ||
| 19 | * gnus-sum.el (gnus-summary-highlight): | ||
| 20 | * mail-source.el (mail-source-delete-old-incoming-confirm): | ||
| 21 | * nndiary.el (nndiary-reminders): Fix typos in docstrings. | ||
| 22 | |||
| 23 | 2007-06-04 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 24 | |||
| 25 | * gnus-art.el (gnus-mime-view-part-externally) | ||
| 26 | (gnus-mime-view-part-internally): Fix predicate function passed to | ||
| 27 | completing-read. | ||
| 28 | |||
| 29 | * mm-decode.el (mm-image-fit-p): Return t if argument is not an image; | ||
| 30 | return t if image size is just the same as window size. | ||
| 31 | |||
| 1 | 2007-05-28 Katsumi Yamaoka <yamaoka@jpl.org> | 32 | 2007-05-28 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 33 | ||
| 3 | * message.el (message-pop-to-buffer): Add switch-function argument. | 34 | * message.el (message-pop-to-buffer): Add switch-function argument. |
| @@ -355,7 +386,7 @@ | |||
| 355 | (message-simplify-subject): New function to remove duplicate code. | 386 | (message-simplify-subject): New function to remove duplicate code. |
| 356 | (message-reply, message-followup): Use it. | 387 | (message-reply, message-followup): Use it. |
| 357 | (message-simplify-subject-functions): New variable. | 388 | (message-simplify-subject-functions): New variable. |
| 358 | (message-strip-subject-encoded-words): New function | 389 | (message-strip-subject-encoded-words): New function. |
| 359 | 390 | ||
| 360 | 2006-11-08 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) | 391 | 2006-11-08 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) |
| 361 | 392 | ||
| @@ -1195,8 +1226,7 @@ | |||
| 1195 | * mm-view.el (mm-fill-flowed): New variable. | 1226 | * mm-view.el (mm-fill-flowed): New variable. |
| 1196 | (mm-inline-text): Use it. | 1227 | (mm-inline-text): Use it. |
| 1197 | 1228 | ||
| 1198 | 2006-02-21 Wolfram Fenske <wolfram.fenske@student.uni-magdeburg.de> | 1229 | 2006-02-21 Wolfram Fenske <wolfram.fenske@student.uni-magdeburg.de> (tiny change) |
| 1199 | (tiny change) | ||
| 1200 | 1230 | ||
| 1201 | * nnimap.el (nnimap-request-move-article): Change folder back to | 1231 | * nnimap.el (nnimap-request-move-article): Change folder back to |
| 1202 | source group before deleting. | 1232 | source group before deleting. |
| @@ -1758,7 +1788,7 @@ | |||
| 1758 | (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase' | 1788 | (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase' |
| 1759 | argument to all these routines, so the passphrase can be managed | 1789 | argument to all these routines, so the passphrase can be managed |
| 1760 | externally and passed in to the system. | 1790 | externally and passed in to the system. |
| 1761 | (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache | 1791 | (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache |
| 1762 | function. | 1792 | function. |
| 1763 | 1793 | ||
| 1764 | 2005-10-29 Ken Manheimer <ken.manheimer@gmail.com> | 1794 | 2005-10-29 Ken Manheimer <ken.manheimer@gmail.com> |
| @@ -3633,7 +3663,7 @@ | |||
| 3633 | * nnmail.el (nnmail-split-fancy-with-parent-ignore-groups) | 3663 | * nnmail.el (nnmail-split-fancy-with-parent-ignore-groups) |
| 3634 | (nnmail-cache-ignore-groups, nnmail-spool-hook) | 3664 | (nnmail-cache-ignore-groups, nnmail-spool-hook) |
| 3635 | (nnmail-split-fancy-match-partial-words) | 3665 | (nnmail-split-fancy-match-partial-words) |
| 3636 | (nnmail-split-lowercase-expanded): | 3666 | (nnmail-split-lowercase-expanded): Add :version. |
| 3637 | 3667 | ||
| 3638 | * nndiary.el (nndiary): Add :version. | 3668 | * nndiary.el (nndiary): Add :version. |
| 3639 | 3669 | ||
| @@ -3909,7 +3939,7 @@ | |||
| 3909 | * gnus-int.el (gnus-request-delete-group): | 3939 | * gnus-int.el (gnus-request-delete-group): |
| 3910 | Use gnus-cache-delete-group and gnus-agent-delete-group to keep the | 3940 | Use gnus-cache-delete-group and gnus-agent-delete-group to keep the |
| 3911 | local disk in sync with the server. | 3941 | local disk in sync with the server. |
| 3912 | (gnus-request-rename-group): | 3942 | (gnus-request-rename-group): |
| 3913 | Use gnus-cache-rename-group and gnus-agent-rename-group to keep the | 3943 | Use gnus-cache-rename-group and gnus-agent-rename-group to keep the |
| 3914 | local disk in sync with the server. | 3944 | local disk in sync with the server. |
| 3915 | 3945 | ||
| @@ -4036,7 +4066,7 @@ | |||
| 4036 | 4066 | ||
| 4037 | * gnus-sum.el (gnus-select-newgroup): Replace inline code with | 4067 | * gnus-sum.el (gnus-select-newgroup): Replace inline code with |
| 4038 | gnus-agent-possibly-alter-active. | 4068 | gnus-agent-possibly-alter-active. |
| 4039 | (gnus-adjust-marked-articles): Faster handling of simple lists | 4069 | (gnus-adjust-marked-articles): Faster handling of simple lists. |
| 4040 | 4070 | ||
| 4041 | 2004-10-18 David Edmondson <dme@dme.org> | 4071 | 2004-10-18 David Edmondson <dme@dme.org> |
| 4042 | 4072 | ||
| @@ -4179,7 +4209,7 @@ | |||
| 4179 | 4209 | ||
| 4180 | * gnus-fun.el: Require gnus-ems and gnus-util. | 4210 | * gnus-fun.el: Require gnus-ems and gnus-util. |
| 4181 | 4211 | ||
| 4182 | * gnus-diary.el (gnus-diary-header-schedule): caddr -> car (cddr | 4212 | * gnus-diary.el (gnus-diary-header-schedule): caddr -> car (cddr). |
| 4183 | 4213 | ||
| 4184 | * gnus-art.el (gnus-article-edit-mode): Define before first reference. | 4214 | * gnus-art.el (gnus-article-edit-mode): Define before first reference. |
| 4185 | 4215 | ||
| @@ -4262,6 +4292,7 @@ | |||
| 4262 | 4292 | ||
| 4263 | * nnmail.el (nnmail-fancy-expiry-targets) | 4293 | * nnmail.el (nnmail-fancy-expiry-targets) |
| 4264 | (nnmail-mail-splitting-charset, nnmail-mail-splitting-decodes): | 4294 | (nnmail-mail-splitting-charset, nnmail-mail-splitting-decodes): |
| 4295 | Add :version. | ||
| 4265 | 4296 | ||
| 4266 | * nnimap.el (nnimap-split-download-body, nnimap-dont-close) | 4297 | * nnimap.el (nnimap-split-download-body, nnimap-dont-close) |
| 4267 | (nnimap-retrieve-groups-asynchronous): Add :version. | 4298 | (nnimap-retrieve-groups-asynchronous): Add :version. |
| @@ -4270,7 +4301,7 @@ | |||
| 4270 | * mml.el (mml-content-disposition-parameters) | 4301 | * mml.el (mml-content-disposition-parameters) |
| 4271 | (mml-insert-mime-headers-always): Add :version. | 4302 | (mml-insert-mime-headers-always): Add :version. |
| 4272 | 4303 | ||
| 4273 | * mm-util.el (mm-coding-system-priorities): | 4304 | * mm-util.el (mm-coding-system-priorities): Add :version. |
| 4274 | 4305 | ||
| 4275 | * mm-decode.el (mm-inline-text-html-with-images) | 4306 | * mm-decode.el (mm-inline-text-html-with-images) |
| 4276 | (mm-keep-viewer-alive-types, mm-external-terminal-program) | 4307 | (mm-keep-viewer-alive-types, mm-external-terminal-program) |
| @@ -4327,7 +4358,7 @@ | |||
| 4327 | * gnus-srvr.el (gnus-server-browse-in-group-buffer) | 4358 | * gnus-srvr.el (gnus-server-browse-in-group-buffer) |
| 4328 | (gnus-server-offline-face): Add :version. | 4359 | (gnus-server-offline-face): Add :version. |
| 4329 | 4360 | ||
| 4330 | * gnus-score.el (gnus-adaptive-word-length-limit): | 4361 | * gnus-score.el (gnus-adaptive-word-length-limit): Add :version. |
| 4331 | 4362 | ||
| 4332 | * gnus-msg.el (gnus-gcc-externalize-attachments) | 4363 | * gnus-msg.el (gnus-gcc-externalize-attachments) |
| 4333 | (gnus-debug-files, gnus-debug-exclude-variables) | 4364 | (gnus-debug-files, gnus-debug-exclude-variables) |
| @@ -4349,7 +4380,7 @@ | |||
| 4349 | * gnus-delay.el (gnus-delay-default-hour): Add :version. | 4380 | * gnus-delay.el (gnus-delay-default-hour): Add :version. |
| 4350 | 4381 | ||
| 4351 | * gnus-cite.el (gnus-cite-blank-line-after-header) | 4382 | * gnus-cite.el (gnus-cite-blank-line-after-header) |
| 4352 | (gnus-article-boring-faces): | 4383 | (gnus-article-boring-faces): Add :version. |
| 4353 | 4384 | ||
| 4354 | * gnus-art.el (gnus-buttonized-mime-types) | 4385 | * gnus-art.el (gnus-buttonized-mime-types) |
| 4355 | (gnus-inhibit-mime-unbuttonizing) | 4386 | (gnus-inhibit-mime-unbuttonizing) |
| @@ -4413,10 +4444,10 @@ | |||
| 4413 | 2004-09-10 Teodor Zlatanov <tzz@lifelogs.com> | 4444 | 2004-09-10 Teodor Zlatanov <tzz@lifelogs.com> |
| 4414 | 4445 | ||
| 4415 | * nnimap.el (nnimap-open-connection): Allow 'imaps' as a synonym | 4446 | * nnimap.el (nnimap-open-connection): Allow 'imaps' as a synonym |
| 4416 | for the 'imap' port in netrc files | 4447 | for the 'imap' port in netrc files. |
| 4417 | 4448 | ||
| 4418 | * gnus-registry.el (gnus-registry-trim): Watch out for negatives | 4449 | * gnus-registry.el (gnus-registry-trim): Watch out for negatives |
| 4419 | in gnus-registry-trim | 4450 | in gnus-registry-trim. |
| 4420 | 4451 | ||
| 4421 | 2004-09-10 Simon Josefsson <jas@extundo.com> | 4452 | 2004-09-10 Simon Josefsson <jas@extundo.com> |
| 4422 | 4453 | ||
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 013bf48110d..90af0740318 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -651,7 +651,7 @@ value is a list of possible files to save in if the match is non-nil. | |||
| 651 | If the match is a string, it is used as a regexp match on the | 651 | If the match is a string, it is used as a regexp match on the |
| 652 | article. If the match is a symbol, that symbol will be funcalled | 652 | article. If the match is a symbol, that symbol will be funcalled |
| 653 | from the buffer of the article to be saved with the newsgroup as the | 653 | from the buffer of the article to be saved with the newsgroup as the |
| 654 | parameter. If it is a list, it will be evaled in the same buffer. | 654 | parameter. If it is a list, it will be evalled in the same buffer. |
| 655 | 655 | ||
| 656 | If this form or function returns a string, this string will be used as | 656 | If this form or function returns a string, this string will be used as |
| 657 | a possible file name; and if it returns a non-nil list, that list will | 657 | a possible file name; and if it returns a non-nil list, that list will |
| @@ -4674,7 +4674,7 @@ specified charset." | |||
| 4674 | (mm-enable-external t)) | 4674 | (mm-enable-external t)) |
| 4675 | (if (not (stringp method)) | 4675 | (if (not (stringp method)) |
| 4676 | (gnus-mime-view-part-as-type | 4676 | (gnus-mime-view-part-as-type |
| 4677 | nil (lambda (type) (stringp (mailcap-mime-info type)))) | 4677 | nil (lambda (types) (stringp (mailcap-mime-info (car types))))) |
| 4678 | (when handle | 4678 | (when handle |
| 4679 | (if (mm-handle-undisplayer handle) | 4679 | (if (mm-handle-undisplayer handle) |
| 4680 | (mm-remove-part handle) | 4680 | (mm-remove-part handle) |
| @@ -4695,7 +4695,7 @@ If no internal viewer is available, use an external viewer." | |||
| 4695 | (inhibit-read-only t)) | 4695 | (inhibit-read-only t)) |
| 4696 | (if (not (mm-inlinable-p handle)) | 4696 | (if (not (mm-inlinable-p handle)) |
| 4697 | (gnus-mime-view-part-as-type | 4697 | (gnus-mime-view-part-as-type |
| 4698 | nil (lambda (type) (mm-inlinable-p handle type))) | 4698 | nil (lambda (types) (mm-inlinable-p handle (car types)))) |
| 4699 | (when handle | 4699 | (when handle |
| 4700 | (if (mm-handle-undisplayer handle) | 4700 | (if (mm-handle-undisplayer handle) |
| 4701 | (mm-remove-part handle) | 4701 | (mm-remove-part handle) |
| @@ -5607,7 +5607,7 @@ not have a face in `gnus-article-boring-faces'." | |||
| 5607 | "Execute the last keystroke in the summary buffer." | 5607 | "Execute the last keystroke in the summary buffer." |
| 5608 | (interactive) | 5608 | (interactive) |
| 5609 | (let (func) | 5609 | (let (func) |
| 5610 | (pop-to-buffer gnus-article-current-summary 'norecord) | 5610 | (pop-to-buffer gnus-article-current-summary nil 'norecord) |
| 5611 | (setq func (lookup-key (current-local-map) (this-command-keys))) | 5611 | (setq func (lookup-key (current-local-map) (this-command-keys))) |
| 5612 | (call-interactively func))) | 5612 | (call-interactively func))) |
| 5613 | 5613 | ||
| @@ -5646,7 +5646,7 @@ not have a face in `gnus-article-boring-faces'." | |||
| 5646 | (member keys nosave-in-article)) | 5646 | (member keys nosave-in-article)) |
| 5647 | (let (func) | 5647 | (let (func) |
| 5648 | (save-window-excursion | 5648 | (save-window-excursion |
| 5649 | (pop-to-buffer gnus-article-current-summary 'norecord) | 5649 | (pop-to-buffer gnus-article-current-summary nil 'norecord) |
| 5650 | ;; We disable the pick minor mode commands. | 5650 | ;; We disable the pick minor mode commands. |
| 5651 | (let (gnus-pick-mode) | 5651 | (let (gnus-pick-mode) |
| 5652 | (setq func (lookup-key (current-local-map) keys)))) | 5652 | (setq func (lookup-key (current-local-map) keys)))) |
| @@ -5658,14 +5658,14 @@ not have a face in `gnus-article-boring-faces'." | |||
| 5658 | (call-interactively func) | 5658 | (call-interactively func) |
| 5659 | (setq new-sum-point (point))) | 5659 | (setq new-sum-point (point))) |
| 5660 | (when (member keys nosave-but-article) | 5660 | (when (member keys nosave-but-article) |
| 5661 | (pop-to-buffer gnus-article-buffer 'norecord))) | 5661 | (pop-to-buffer gnus-article-buffer nil 'norecord))) |
| 5662 | ;; These commands should restore window configuration. | 5662 | ;; These commands should restore window configuration. |
| 5663 | (let ((obuf (current-buffer)) | 5663 | (let ((obuf (current-buffer)) |
| 5664 | (owin (current-window-configuration)) | 5664 | (owin (current-window-configuration)) |
| 5665 | (opoint (point)) | 5665 | (opoint (point)) |
| 5666 | win func in-buffer selected new-sum-start new-sum-hscroll) | 5666 | win func in-buffer selected new-sum-start new-sum-hscroll) |
| 5667 | (cond (not-restore-window | 5667 | (cond (not-restore-window |
| 5668 | (pop-to-buffer gnus-article-current-summary 'norecord)) | 5668 | (pop-to-buffer gnus-article-current-summary nil 'norecord)) |
| 5669 | ((setq win (get-buffer-window gnus-article-current-summary)) | 5669 | ((setq win (get-buffer-window gnus-article-current-summary)) |
| 5670 | (select-window win)) | 5670 | (select-window win)) |
| 5671 | (t | 5671 | (t |
diff --git a/lisp/gnus/gnus-diary.el b/lisp/gnus/gnus-diary.el index a7f7ee65ec3..d5bc9c3a05d 100644 --- a/lisp/gnus/gnus-diary.el +++ b/lisp/gnus/gnus-diary.el | |||
| @@ -59,7 +59,7 @@ | |||
| 59 | :group 'gnus-summary-format) | 59 | :group 'gnus-summary-format) |
| 60 | 60 | ||
| 61 | (defcustom gnus-diary-time-format "%a, %b %e %y, %H:%M" | 61 | (defcustom gnus-diary-time-format "%a, %b %e %y, %H:%M" |
| 62 | "*Time format to display appointements in nndiary summary buffers. | 62 | "*Time format to display appointments in nndiary summary buffers. |
| 63 | Please refer to `format-time-string' for information on possible values." | 63 | Please refer to `format-time-string' for information on possible values." |
| 64 | :type 'string | 64 | :type 'string |
| 65 | :group 'gnus-diary) | 65 | :group 'gnus-diary) |
| @@ -224,7 +224,7 @@ There are currently two built-in format functions: | |||
| 224 | (gnus-thread-header h2))) | 224 | (gnus-thread-header h2))) |
| 225 | 225 | ||
| 226 | (defun gnus-summary-sort-by-schedule (&optional reverse) | 226 | (defun gnus-summary-sort-by-schedule (&optional reverse) |
| 227 | "Sort nndiary summary buffers by schedule of appointements. | 227 | "Sort nndiary summary buffers by schedule of appointments. |
| 228 | Optional prefix (or REVERSE argument) means sort in reverse order." | 228 | Optional prefix (or REVERSE argument) means sort in reverse order." |
| 229 | (interactive "P") | 229 | (interactive "P") |
| 230 | (gnus-summary-sort 'schedule reverse)) | 230 | (gnus-summary-sort 'schedule reverse)) |
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el index 60e66adc98b..4400b81f041 100644 --- a/lisp/gnus/gnus-ems.el +++ b/lisp/gnus/gnus-ems.el | |||
| @@ -172,40 +172,95 @@ | |||
| 172 | 172 | ||
| 173 | (defun gnus-x-splash () | 173 | (defun gnus-x-splash () |
| 174 | "Show a splash screen using a pixmap in the current buffer." | 174 | "Show a splash screen using a pixmap in the current buffer." |
| 175 | (let ((dir (nnheader-find-etc-directory "gnus")) | 175 | (interactive) |
| 176 | pixmap file height beg i) | 176 | (unless window-system |
| 177 | (save-excursion | 177 | (error "`gnus-x-splash' requires running on the window system")) |
| 178 | (switch-to-buffer (gnus-get-buffer-create gnus-group-buffer)) | 178 | (switch-to-buffer (gnus-get-buffer-create (if (or (gnus-alive-p) |
| 179 | (let ((buffer-read-only nil) | 179 | (interactive-p)) |
| 180 | width height) | 180 | "*gnus-x-splash*" |
| 181 | (erase-buffer) | 181 | gnus-group-buffer))) |
| 182 | (when (and dir | 182 | (let ((inhibit-read-only nil) |
| 183 | (file-exists-p (setq file | 183 | (file (nnheader-find-etc-directory "images/gnus/x-splash" t)) |
| 184 | (expand-file-name "x-splash" dir)))) | 184 | pixmap fcw fch width height fringes sbars left yoffset top ls) |
| 185 | (let ((coding-system-for-read 'raw-text) | 185 | (erase-buffer) |
| 186 | default-enable-multibyte-characters) | 186 | (when (and file |
| 187 | (with-temp-buffer | 187 | (ignore-errors |
| 188 | (insert-file-contents file) | 188 | (let ((coding-system-for-read 'raw-text) |
| 189 | (goto-char (point-min)) | 189 | default-enable-multibyte-characters) |
| 190 | (ignore-errors | 190 | (with-temp-buffer |
| 191 | (setq pixmap (read (current-buffer))))))) | 191 | (insert-file-contents file) |
| 192 | (when pixmap | 192 | (goto-char (point-min)) |
| 193 | (make-face 'gnus-splash) | 193 | (setq pixmap (read (current-buffer))))))) |
| 194 | (setq height (/ (car pixmap) (frame-char-height)) | 194 | (setq fcw (float (frame-char-width)) |
| 195 | width (/ (cadr pixmap) (frame-char-width))) | 195 | fch (float (frame-char-height)) |
| 196 | (set-face-foreground 'gnus-splash "Brown") | 196 | width (/ (car pixmap) fcw) |
| 197 | (set-face-stipple 'gnus-splash pixmap) | 197 | height (/ (cadr pixmap) fch) |
| 198 | (insert-char ?\n (* (/ (window-height) 2 height) height)) | 198 | fringes (if (fboundp 'window-fringes) |
| 199 | (setq i height) | 199 | (eval '(window-fringes)) |
| 200 | (while (> i 0) | 200 | '(10 11 nil)) |
| 201 | (insert-char ?\ (* (/ (window-width) 2 width) width)) | 201 | sbars (frame-parameter nil 'vertical-scroll-bars)) |
| 202 | (setq beg (point)) | 202 | (cond ((eq sbars 'right) |
| 203 | (insert-char ?\ width) | 203 | (setq sbars |
| 204 | (set-text-properties beg (point) '(face gnus-splash)) | 204 | (cons 0 (/ (or (frame-parameter nil 'scroll-bar-width) 14) |
| 205 | (insert ?\n) | 205 | fcw)))) |
| 206 | (decf i)) | 206 | (sbars |
| 207 | (goto-char (point-min)) | 207 | (setq sbars |
| 208 | (sit-for 0)))))) | 208 | (cons (/ (or (frame-parameter nil 'scroll-bar-width) 14) |
| 209 | fcw) | ||
| 210 | 0)))) | ||
| 211 | (setq left (- (* (round (/ (1- (/ (+ (window-width) | ||
| 212 | (car sbars) (cdr sbars) | ||
| 213 | (/ (+ (or (car fringes) 0) | ||
| 214 | (or (cadr fringes) 0)) | ||
| 215 | fcw)) | ||
| 216 | width)) | ||
| 217 | 2)) | ||
| 218 | width) | ||
| 219 | (car sbars) | ||
| 220 | (/ (or (car fringes) 0) fcw)) | ||
| 221 | yoffset (cadr (window-edges)) | ||
| 222 | top (max 0 (- (* (max (if (and tool-bar-mode | ||
| 223 | (not (featurep 'gtk)) | ||
| 224 | (eq (frame-first-window) | ||
| 225 | (selected-window))) | ||
| 226 | 1 0) | ||
| 227 | (round (/ (1- (/ (+ (1- (window-height)) | ||
| 228 | (* 2 yoffset)) | ||
| 229 | height)) | ||
| 230 | 2))) | ||
| 231 | height) | ||
| 232 | yoffset)) | ||
| 233 | ls (/ (or line-spacing 0) fch) | ||
| 234 | height (max 0 (- height ls))) | ||
| 235 | (cond ((>= (- top ls) 1) | ||
| 236 | (insert | ||
| 237 | (propertize | ||
| 238 | " " | ||
| 239 | 'display `(space :width 0 :ascent 100)) | ||
| 240 | "\n" | ||
| 241 | (propertize | ||
| 242 | " " | ||
| 243 | 'display `(space :width 0 :height ,(- top ls 1) :ascent 100)) | ||
| 244 | "\n")) | ||
| 245 | ((> (- top ls) 0) | ||
| 246 | (insert | ||
| 247 | (propertize | ||
| 248 | " " | ||
| 249 | 'display `(space :width 0 :height ,(- top ls) :ascent 100)) | ||
| 250 | "\n"))) | ||
| 251 | (if (and (> width 0) (> left 0)) | ||
| 252 | (insert (propertize | ||
| 253 | " " | ||
| 254 | 'display `(space :width ,left :height ,height :ascent 0))) | ||
| 255 | (setq width (+ width left))) | ||
| 256 | (when (> width 0) | ||
| 257 | (insert (propertize | ||
| 258 | " " | ||
| 259 | 'display `(space :width ,width :height ,height :ascent 0) | ||
| 260 | 'face `(gnus-splash :stipple ,pixmap)))) | ||
| 261 | (goto-char (if (<= (- top ls) 0) (1- (point)) (point-min))) | ||
| 262 | (redraw-frame (selected-frame)) | ||
| 263 | (sit-for 0)))) | ||
| 209 | 264 | ||
| 210 | ;;; Image functions. | 265 | ;;; Image functions. |
| 211 | 266 | ||
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 9fbab8b340b..d906cec6c6a 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -758,8 +758,7 @@ prompt the user for the name of an NNTP server to use." | |||
| 758 | (cond | 758 | (cond |
| 759 | ((featurep 'xemacs) | 759 | ((featurep 'xemacs) |
| 760 | (gnus-xmas-splash)) | 760 | (gnus-xmas-splash)) |
| 761 | ((and window-system | 761 | (window-system |
| 762 | (= (frame-height) (1+ (window-height)))) | ||
| 763 | (gnus-x-splash)))) | 762 | (gnus-x-splash)))) |
| 764 | 763 | ||
| 765 | (let ((level (and (numberp arg) (> arg 0) arg)) | 764 | (let ((level (and (numberp arg) (> arg 0) arg)) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 5653c8be746..b1b6c8b760b 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -973,14 +973,14 @@ automatically when it is selected." | |||
| 973 | . gnus-summary-normal-read)) | 973 | . gnus-summary-normal-read)) |
| 974 | "*Controls the highlighting of summary buffer lines. | 974 | "*Controls the highlighting of summary buffer lines. |
| 975 | 975 | ||
| 976 | A list of (FORM . FACE) pairs. When deciding how a a particular | 976 | A list of (FORM . FACE) pairs. When deciding how a particular |
| 977 | summary line should be displayed, each form is evaluated. The content | 977 | summary line should be displayed, each form is evaluated. The content |
| 978 | of the face field after the first true form is used. You can change | 978 | of the face field after the first true form is used. You can change |
| 979 | how those summary lines are displayed, by editing the face field. | 979 | how those summary lines are displayed, by editing the face field. |
| 980 | 980 | ||
| 981 | You can use the following variables in the FORM field. | 981 | You can use the following variables in the FORM field. |
| 982 | 982 | ||
| 983 | score: The article's score | 983 | score: The article's score. |
| 984 | default: The default article score. | 984 | default: The default article score. |
| 985 | default-high: The default score for high scored articles. | 985 | default-high: The default score for high scored articles. |
| 986 | default-low: The default score for low scored articles. | 986 | default-low: The default score for low scored articles. |
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index b991415342d..99596d2584b 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el | |||
| @@ -284,7 +284,7 @@ files older than number of days." | |||
| 284 | (integer :tag "days"))) | 284 | (integer :tag "days"))) |
| 285 | 285 | ||
| 286 | (defcustom mail-source-delete-old-incoming-confirm t | 286 | (defcustom mail-source-delete-old-incoming-confirm t |
| 287 | "*If non-nil, ask for for confirmation before deleting old incoming files. | 287 | "*If non-nil, ask for confirmation before deleting old incoming files. |
| 288 | This variable only applies when `mail-source-delete-incoming' is a positive | 288 | This variable only applies when `mail-source-delete-incoming' is a positive |
| 289 | number." | 289 | number." |
| 290 | :version "22.1" | 290 | :version "22.1" |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 6d52d8b2f16..028855ab341 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -1371,18 +1371,19 @@ be determined." | |||
| 1371 | (defun mm-image-fit-p (handle) | 1371 | (defun mm-image-fit-p (handle) |
| 1372 | "Say whether the image in HANDLE will fit the current window." | 1372 | "Say whether the image in HANDLE will fit the current window." |
| 1373 | (let ((image (mm-get-image handle))) | 1373 | (let ((image (mm-get-image handle))) |
| 1374 | (if (fboundp 'glyph-width) | 1374 | (or (not image) |
| 1375 | ;; XEmacs' glyphs can actually tell us about their width, so | 1375 | (if (fboundp 'glyph-width) |
| 1376 | ;; lets be nice and smart about them. | 1376 | ;; XEmacs' glyphs can actually tell us about their width, so |
| 1377 | (or mm-inline-large-images | 1377 | ;; lets be nice and smart about them. |
| 1378 | (and (< (glyph-width image) (window-pixel-width)) | 1378 | (or mm-inline-large-images |
| 1379 | (< (glyph-height image) (window-pixel-height)))) | 1379 | (and (<= (glyph-width image) (window-pixel-width)) |
| 1380 | (let* ((size (image-size image)) | 1380 | (<= (glyph-height image) (window-pixel-height)))) |
| 1381 | (w (car size)) | 1381 | (let* ((size (image-size image)) |
| 1382 | (h (cdr size))) | 1382 | (w (car size)) |
| 1383 | (or mm-inline-large-images | 1383 | (h (cdr size))) |
| 1384 | (and (< h (1- (window-height))) ; Don't include mode line. | 1384 | (or mm-inline-large-images |
| 1385 | (< w (window-width)))))))) | 1385 | (and (<= h (1- (window-height))) ; Don't include mode line. |
| 1386 | (<= w (window-width))))))))) | ||
| 1386 | 1387 | ||
| 1387 | (defun mm-valid-image-format-p (format) | 1388 | (defun mm-valid-image-format-p (format) |
| 1388 | "Say whether FORMAT can be displayed natively by Emacs." | 1389 | "Say whether FORMAT can be displayed natively by Emacs." |
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index 483c2ee1070..f6e0ae44cb2 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el | |||
| @@ -131,7 +131,7 @@ non-nil." | |||
| 131 | 131 | ||
| 132 | 132 | ||
| 133 | (defcustom nndiary-reminders '((0 . day)) | 133 | (defcustom nndiary-reminders '((0 . day)) |
| 134 | "*Different times when you want to be reminded of your appointements. | 134 | "*Different times when you want to be reminded of your appointments. |
| 135 | Diary articles will appear again, as if they'd been just received. | 135 | Diary articles will appear again, as if they'd been just received. |
| 136 | 136 | ||
| 137 | Entries look like (3 . day) which means something like \"Please | 137 | Entries look like (3 . day) which means something like \"Please |
| @@ -145,7 +145,7 @@ not 'century, sorry). | |||
| 145 | NOTE: the units of measure actually express dates, not durations: if you | 145 | NOTE: the units of measure actually express dates, not durations: if you |
| 146 | use 'week, messages will pop up on Sundays at 00:00 (or Mondays if | 146 | use 'week, messages will pop up on Sundays at 00:00 (or Mondays if |
| 147 | `nndiary-week-starts-on-monday' is non-nil) and *not* 7 days before the | 147 | `nndiary-week-starts-on-monday' is non-nil) and *not* 7 days before the |
| 148 | appointement, if you use 'month, messages will pop up on the first day of | 148 | appointment, if you use 'month, messages will pop up on the first day of |
| 149 | each months, at 00:00 and so on. | 149 | each months, at 00:00 and so on. |
| 150 | 150 | ||
| 151 | If you really want to specify a duration (like 24 hours exactly), you can | 151 | If you really want to specify a duration (like 24 hours exactly), you can |
| @@ -155,15 +155,15 @@ scheme might appear somewhat weird at a first glance, it is very powerful. | |||
| 155 | In order to make this clear, here are some examples: | 155 | In order to make this clear, here are some examples: |
| 156 | 156 | ||
| 157 | - '(0 . day): this is the default value of `nndiary-reminders'. It means | 157 | - '(0 . day): this is the default value of `nndiary-reminders'. It means |
| 158 | pop up the appointements of the day each morning at 00:00. | 158 | pop up the appointments of the day each morning at 00:00. |
| 159 | 159 | ||
| 160 | - '(1 . day): this means pop up the appointements the day before, at 00:00. | 160 | - '(1 . day): this means pop up the appointments the day before, at 00:00. |
| 161 | 161 | ||
| 162 | - '(6 . hour): for an appointement at 18:30, this would pop up the | 162 | - '(6 . hour): for an appointment at 18:30, this would pop up the |
| 163 | appointement message at 12:00. | 163 | appointment message at 12:00. |
| 164 | 164 | ||
| 165 | - '(360 . minute): for an appointement at 18:30 and 15 seconds, this would | 165 | - '(360 . minute): for an appointment at 18:30 and 15 seconds, this would |
| 166 | pop up the appointement message at 12:30." | 166 | pop up the appointment message at 12:30." |
| 167 | :group 'nndiary | 167 | :group 'nndiary |
| 168 | :type '(repeat (cons :format "%v\n" | 168 | :type '(repeat (cons :format "%v\n" |
| 169 | (integer :format "%v") | 169 | (integer :format "%v") |
diff --git a/lisp/help-mode.el b/lisp/help-mode.el index afaf06bec3c..f7c33d85286 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | 40 | ||
| 41 | (define-key help-mode-map [mouse-2] 'help-follow-mouse) | 41 | (define-key help-mode-map [mouse-2] 'help-follow-mouse) |
| 42 | (define-key help-mode-map "\C-c\C-b" 'help-go-back) | 42 | (define-key help-mode-map "\C-c\C-b" 'help-go-back) |
| 43 | (define-key help-mode-map "\C-c\C-f" 'help-go-forward) | ||
| 43 | (define-key help-mode-map "\C-c\C-c" 'help-follow-symbol) | 44 | (define-key help-mode-map "\C-c\C-c" 'help-follow-symbol) |
| 44 | ;; Documentation only, since we use minor-mode-overriding-map-alist. | 45 | ;; Documentation only, since we use minor-mode-overriding-map-alist. |
| 45 | (define-key help-mode-map "\r" 'help-follow) | 46 | (define-key help-mode-map "\r" 'help-follow) |
| @@ -52,13 +53,28 @@ To use the element, do (apply FUNCTION ARGS) then goto the point.") | |||
| 52 | (put 'help-xref-stack 'permanent-local t) | 53 | (put 'help-xref-stack 'permanent-local t) |
| 53 | (make-variable-buffer-local 'help-xref-stack) | 54 | (make-variable-buffer-local 'help-xref-stack) |
| 54 | 55 | ||
| 56 | (defvar help-xref-forward-stack nil | ||
| 57 | "The stack of used to navigate help forwards after using the back button. | ||
| 58 | Used by `help-follow' and `help-xref-go-forward'. | ||
| 59 | An element looks like (POSITION FUNCTION ARGS...). | ||
| 60 | To use the element, do (apply FUNCTION ARGS) then goto the point.") | ||
| 61 | (put 'help-xref-forward-stack 'permanent-local t) | ||
| 62 | (make-variable-buffer-local 'help-xref-forward-stack) | ||
| 63 | |||
| 55 | (defvar help-xref-stack-item nil | 64 | (defvar help-xref-stack-item nil |
| 56 | "An item for `help-follow' in this buffer to push onto `help-xref-stack'. | 65 | "An item for `help-follow' in this buffer to push onto `help-xref-stack'. |
| 57 | The format is (FUNCTION ARGS...).") | 66 | The format is (FUNCTION ARGS...).") |
| 58 | (put 'help-xref-stack-item 'permanent-local t) | 67 | (put 'help-xref-stack-item 'permanent-local t) |
| 59 | (make-variable-buffer-local 'help-xref-stack-item) | 68 | (make-variable-buffer-local 'help-xref-stack-item) |
| 60 | 69 | ||
| 70 | (defvar help-xref-stack-forward-item nil | ||
| 71 | "An item for `help-go-back' to push onto `help-xref-forward-stack'. | ||
| 72 | The format is (FUNCTION ARGS...).") | ||
| 73 | (put 'help-xref-stack-forward-item 'permanent-local t) | ||
| 74 | (make-variable-buffer-local 'help-xref-stack-forward-item) | ||
| 75 | |||
| 61 | (setq-default help-xref-stack nil help-xref-stack-item nil) | 76 | (setq-default help-xref-stack nil help-xref-stack-item nil) |
| 77 | (setq-default help-xref-forward-stack nil help-xref-forward-stack-item nil) | ||
| 62 | 78 | ||
| 63 | (defcustom help-mode-hook nil | 79 | (defcustom help-mode-hook nil |
| 64 | "Hook run by `help-mode'." | 80 | "Hook run by `help-mode'." |
| @@ -123,6 +139,11 @@ The format is (FUNCTION ARGS...).") | |||
| 123 | 'help-function #'help-xref-go-back | 139 | 'help-function #'help-xref-go-back |
| 124 | 'help-echo (purecopy "mouse-2, RET: go back to previous help buffer")) | 140 | 'help-echo (purecopy "mouse-2, RET: go back to previous help buffer")) |
| 125 | 141 | ||
| 142 | (define-button-type 'help-forward | ||
| 143 | :supertype 'help-xref | ||
| 144 | 'help-function #'help-xref-go-forward | ||
| 145 | 'help-echo (purecopy "mouse-2, RET: move forward to next help buffer")) | ||
| 146 | |||
| 126 | (define-button-type 'help-info | 147 | (define-button-type 'help-info |
| 127 | :supertype 'help-xref | 148 | :supertype 'help-xref |
| 128 | 'help-function #'info | 149 | 'help-function #'info |
| @@ -242,6 +263,9 @@ Commands: | |||
| 242 | (defvar help-back-label (purecopy "[back]") | 263 | (defvar help-back-label (purecopy "[back]") |
| 243 | "Label to use by `help-make-xrefs' for the go-back reference.") | 264 | "Label to use by `help-make-xrefs' for the go-back reference.") |
| 244 | 265 | ||
| 266 | (defvar help-forward-label (purecopy "[forward]") | ||
| 267 | "Label to use by `help-make-xrefs' for the go-forward reference.") | ||
| 268 | |||
| 245 | (defconst help-xref-symbol-regexp | 269 | (defconst help-xref-symbol-regexp |
| 246 | (purecopy (concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var | 270 | (purecopy (concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var |
| 247 | "\\(function\\|command\\)\\|" ; Link to function | 271 | "\\(function\\|command\\)\\|" ; Link to function |
| @@ -286,7 +310,8 @@ because we want to record the \"previous\" position of point so we can | |||
| 286 | restore it properly when going back." | 310 | restore it properly when going back." |
| 287 | (with-current-buffer (help-buffer) | 311 | (with-current-buffer (help-buffer) |
| 288 | (when help-xref-stack-item | 312 | (when help-xref-stack-item |
| 289 | (push (cons (point) help-xref-stack-item) help-xref-stack)) | 313 | (push (cons (point) help-xref-stack-item) help-xref-stack) |
| 314 | (setq help-xref-forward-stack nil)) | ||
| 290 | (when interactive-p | 315 | (when interactive-p |
| 291 | (let ((tail (nthcdr 10 help-xref-stack))) | 316 | (let ((tail (nthcdr 10 help-xref-stack))) |
| 292 | ;; Truncate the stack. | 317 | ;; Truncate the stack. |
| @@ -480,6 +505,11 @@ that." | |||
| 480 | (insert "\n") | 505 | (insert "\n") |
| 481 | (help-insert-xref-button help-back-label 'help-back | 506 | (help-insert-xref-button help-back-label 'help-back |
| 482 | (current-buffer)) | 507 | (current-buffer)) |
| 508 | (insert "\t")) | ||
| 509 | ;; Make a forward-reference in this buffer if appropriate. | ||
| 510 | (when help-xref-forward-stack | ||
| 511 | (help-insert-xref-button help-forward-label 'help-forward | ||
| 512 | (current-buffer)) | ||
| 483 | (insert "\n"))) | 513 | (insert "\n"))) |
| 484 | ;; View mode steals RET from us. | 514 | ;; View mode steals RET from us. |
| 485 | (set (make-local-variable 'minor-mode-overriding-map-alist) | 515 | (set (make-local-variable 'minor-mode-overriding-map-alist) |
| @@ -598,6 +628,7 @@ help buffer." | |||
| 598 | "From BUFFER, go back to previous help buffer text using `help-xref-stack'." | 628 | "From BUFFER, go back to previous help buffer text using `help-xref-stack'." |
| 599 | (let (item position method args) | 629 | (let (item position method args) |
| 600 | (with-current-buffer buffer | 630 | (with-current-buffer buffer |
| 631 | (push (cons (point) help-xref-stack-item) help-xref-forward-stack) | ||
| 601 | (when help-xref-stack | 632 | (when help-xref-stack |
| 602 | (setq item (pop help-xref-stack) | 633 | (setq item (pop help-xref-stack) |
| 603 | ;; Clear the current item so that it won't get pushed | 634 | ;; Clear the current item so that it won't get pushed |
| @@ -613,12 +644,39 @@ help buffer." | |||
| 613 | (set-window-point (get-buffer-window buffer) position) | 644 | (set-window-point (get-buffer-window buffer) position) |
| 614 | (goto-char position))))) | 645 | (goto-char position))))) |
| 615 | 646 | ||
| 647 | (defun help-xref-go-forward (buffer) | ||
| 648 | "From BUFFER, go forward to next help buffer." | ||
| 649 | (let (item position method args) | ||
| 650 | (with-current-buffer buffer | ||
| 651 | (push (cons (point) help-xref-stack-item) help-xref-stack) | ||
| 652 | (when help-xref-forward-stack | ||
| 653 | (setq item (pop help-xref-forward-stack) | ||
| 654 | ;; Clear the current item so that it won't get pushed | ||
| 655 | ;; by the function we're about to call. TODO: We could also | ||
| 656 | ;; push it onto a "forward" stack and add a `forw' button. | ||
| 657 | help-xref-stack-item nil | ||
| 658 | position (car item) | ||
| 659 | method (cadr item) | ||
| 660 | args (cddr item)))) | ||
| 661 | (apply method args) | ||
| 662 | (with-current-buffer buffer | ||
| 663 | (if (get-buffer-window buffer) | ||
| 664 | (set-window-point (get-buffer-window buffer) position) | ||
| 665 | (goto-char position))))) | ||
| 666 | |||
| 616 | (defun help-go-back () | 667 | (defun help-go-back () |
| 617 | "Go back to previous topic in this help buffer." | 668 | "Go back to previous topic in this help buffer." |
| 618 | (interactive) | 669 | (interactive) |
| 619 | (if help-xref-stack | 670 | (if help-xref-stack |
| 620 | (help-xref-go-back (current-buffer)) | 671 | (help-xref-go-back (current-buffer)) |
| 621 | (error "No previous help buffer"))) | 672 | (error "No previous help buffer"))) |
| 673 | |||
| 674 | (defun help-go-forward () | ||
| 675 | "Go back to next topic in this help buffer." | ||
| 676 | (interactive) | ||
| 677 | (if help-xref-forward-stack | ||
| 678 | (help-xref-go-forward (current-buffer)) | ||
| 679 | (error "No next help buffer"))) | ||
| 622 | 680 | ||
| 623 | (defun help-do-xref (pos function args) | 681 | (defun help-do-xref (pos function args) |
| 624 | "Call the help cross-reference function FUNCTION with args ARGS. | 682 | "Call the help cross-reference function FUNCTION with args ARGS. |
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 980cb346600..21985259e98 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*- | 1 | ;;; mule-cmds.el --- commands for multilingual environment -*-coding: iso-2022-7bit -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, | 3 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, |
| 4 | ;; 2006, 2007 Free Software Foundation, Inc. | 4 | ;; 2006, 2007 Free Software Foundation, Inc. |
| @@ -203,7 +203,7 @@ | |||
| 203 | "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'"))) | 203 | "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'"))) |
| 204 | 204 | ||
| 205 | (defun coding-system-change-eol-conversion (coding-system eol-type) | 205 | (defun coding-system-change-eol-conversion (coding-system eol-type) |
| 206 | "Return a coding system which differs from CODING-SYSTEM in eol conversion. | 206 | "Return a coding system which differs from CODING-SYSTEM in EOL conversion. |
| 207 | The returned coding system converts end-of-line by EOL-TYPE | 207 | The returned coding system converts end-of-line by EOL-TYPE |
| 208 | but text as the same way as CODING-SYSTEM. | 208 | but text as the same way as CODING-SYSTEM. |
| 209 | EOL-TYPE should be `unix', `dos', `mac', or nil. | 209 | EOL-TYPE should be `unix', `dos', `mac', or nil. |
| @@ -253,8 +253,8 @@ the buffer; it only changes the way those bytes are interpreted. | |||
| 253 | In general, therefore, this command *changes* the sequence of | 253 | In general, therefore, this command *changes* the sequence of |
| 254 | characters that the current buffer contains. | 254 | characters that the current buffer contains. |
| 255 | 255 | ||
| 256 | We suggest you avoid using use this command unless you know what you | 256 | We suggest you avoid using this command unless you know what you are |
| 257 | are doing. If you use it by mistake, and the buffer is now displayed | 257 | doing. If you use it by mistake, and the buffer is now displayed |
| 258 | wrong, use this command again to toggle back to the right mode." | 258 | wrong, use this command again to toggle back to the right mode." |
| 259 | (interactive "P") | 259 | (interactive "P") |
| 260 | (let ((new-flag | 260 | (let ((new-flag |
| @@ -327,10 +327,10 @@ This sets the following coding systems: | |||
| 327 | o default coding system for subprocess I/O | 327 | o default coding system for subprocess I/O |
| 328 | This also sets the following values: | 328 | This also sets the following values: |
| 329 | o default value used as `file-name-coding-system' for converting file names | 329 | o default value used as `file-name-coding-system' for converting file names |
| 330 | if CODING-SYSTEM is ASCII-compatible. | 330 | if CODING-SYSTEM is ASCII-compatible |
| 331 | o default value for the command `set-terminal-coding-system' (not on MSDOS) | 331 | o default value for the command `set-terminal-coding-system' (not on MSDOS) |
| 332 | o default value for the command `set-keyboard-coding-system' | 332 | o default value for the command `set-keyboard-coding-system' |
| 333 | if CODING-SYSTEM is ASCII-compatible.." | 333 | if CODING-SYSTEM is ASCII-compatible" |
| 334 | (check-coding-system coding-system) | 334 | (check-coding-system coding-system) |
| 335 | (setq-default buffer-file-coding-system coding-system) | 335 | (setq-default buffer-file-coding-system coding-system) |
| 336 | (if (fboundp 'ucs-set-table-for-input) | 336 | (if (fboundp 'ucs-set-table-for-input) |
| @@ -372,7 +372,7 @@ This also sets the following coding systems: | |||
| 372 | o coding system of a newly created buffer | 372 | o coding system of a newly created buffer |
| 373 | o default coding system for subprocess I/O | 373 | o default coding system for subprocess I/O |
| 374 | This also sets the following values: | 374 | This also sets the following values: |
| 375 | o default value used as `file-name-coding-system' for converting file names. | 375 | o default value used as `file-name-coding-system' for converting file names |
| 376 | o default value for the command `set-terminal-coding-system' (not on MSDOS) | 376 | o default value for the command `set-terminal-coding-system' (not on MSDOS) |
| 377 | o default value for the command `set-keyboard-coding-system' | 377 | o default value for the command `set-keyboard-coding-system' |
| 378 | 378 | ||
| @@ -423,16 +423,16 @@ The function `sort-coding-systems' use it.") | |||
| 423 | 423 | ||
| 424 | (defun sort-coding-systems (codings) | 424 | (defun sort-coding-systems (codings) |
| 425 | "Sort coding system list CODINGS by a priority of each coding system. | 425 | "Sort coding system list CODINGS by a priority of each coding system. |
| 426 | Returns the sorted list. CODINGS is modified by side effects. | 426 | Return the sorted list. CODINGS is modified by side effects. |
| 427 | 427 | ||
| 428 | If a coding system is most preferred, it has the highest priority. | 428 | If a coding system is most preferred, it has the highest priority. |
| 429 | Otherwise, a coding system corresponds to some MIME charset has higher | 429 | Otherwise, coding systems that correspond to MIME charsets have |
| 430 | priorities. Among them, a coding system included in `coding-system' | 430 | higher priorities. Among them, a coding system included in the |
| 431 | key of the current language environment has higher priorities. See | 431 | `coding-system' key of the current language environment has higher |
| 432 | also the documentation of `language-info-alist'. | 432 | priority. See also the documentation of `language-info-alist'. |
| 433 | 433 | ||
| 434 | If the variable `sort-coding-systems-predicate' (which see) is | 434 | If the variable `sort-coding-systems-predicate' (which see) is |
| 435 | non-nil, it is used to sort CODINGS in the different way than above." | 435 | non-nil, it is used to sort CODINGS instead." |
| 436 | (if sort-coding-systems-predicate | 436 | (if sort-coding-systems-predicate |
| 437 | (sort codings sort-coding-systems-predicate) | 437 | (sort codings sort-coding-systems-predicate) |
| 438 | (let* ((from-categories (mapcar #'(lambda (x) (symbol-value x)) | 438 | (let* ((from-categories (mapcar #'(lambda (x) (symbol-value x)) |
| @@ -566,7 +566,7 @@ where | |||
| 566 | COUNT is a number of characters, | 566 | COUNT is a number of characters, |
| 567 | CHARs are the characters found from the character set. | 567 | CHARs are the characters found from the character set. |
| 568 | Optional 3rd arg MAXCOUNT limits how many CHARs are put in the above list. | 568 | Optional 3rd arg MAXCOUNT limits how many CHARs are put in the above list. |
| 569 | Optional 4th arg EXCLUDE is a list of character sets to be ignored. | 569 | Optional 4th arg EXCLUDES is a list of character sets to be ignored. |
| 570 | 570 | ||
| 571 | For invalid characters, CHARs are actually strings." | 571 | For invalid characters, CHARs are actually strings." |
| 572 | (let ((chars nil) | 572 | (let ((chars nil) |
| @@ -616,8 +616,8 @@ It asks which coding system to check. | |||
| 616 | If such a character is found, set point after that character. | 616 | If such a character is found, set point after that character. |
| 617 | Otherwise, don't move point. | 617 | Otherwise, don't move point. |
| 618 | 618 | ||
| 619 | When called from a program, the value is a position of the found character, | 619 | When called from a program, the value is the position of the unencodable |
| 620 | or nil if all characters are encodable." | 620 | character found, or nil if all characters are encodable." |
| 621 | (interactive | 621 | (interactive |
| 622 | (list (let ((default (or buffer-file-coding-system 'us-ascii))) | 622 | (list (let ((default (or buffer-file-coding-system 'us-ascii))) |
| 623 | (read-coding-system | 623 | (read-coding-system |
| @@ -1295,7 +1295,7 @@ Emacs loads this file at startup time.") | |||
| 1295 | 1295 | ||
| 1296 | (defvar leim-list-entry-regexp "^(register-input-method" | 1296 | (defvar leim-list-entry-regexp "^(register-input-method" |
| 1297 | "Regexp matching head of each entry in LEIM list file. | 1297 | "Regexp matching head of each entry in LEIM list file. |
| 1298 | See also the variable `leim-list-header'") | 1298 | See also the variable `leim-list-header'.") |
| 1299 | 1299 | ||
| 1300 | (defvar update-leim-list-functions | 1300 | (defvar update-leim-list-functions |
| 1301 | '(quail-update-leim-list-file) | 1301 | '(quail-update-leim-list-file) |
| @@ -1479,7 +1479,7 @@ When called interactively, the optional arg INTERACTIVE is non-nil, | |||
| 1479 | which marks the variable `default-input-method' as set for Custom buffers. | 1479 | which marks the variable `default-input-method' as set for Custom buffers. |
| 1480 | 1480 | ||
| 1481 | To deactivate the input method interactively, use \\[toggle-input-method]. | 1481 | To deactivate the input method interactively, use \\[toggle-input-method]. |
| 1482 | To deactivate it programmatically, use \\[inactivate-input-method]." | 1482 | To deactivate it programmatically, use `inactivate-input-method'." |
| 1483 | (interactive | 1483 | (interactive |
| 1484 | (let* ((default (or (car input-method-history) default-input-method))) | 1484 | (let* ((default (or (car input-method-history) default-input-method))) |
| 1485 | (list (read-input-method-name | 1485 | (list (read-input-method-name |
| @@ -1648,7 +1648,7 @@ just inactivated.") | |||
| 1648 | "This flag controls when an input method returns. | 1648 | "This flag controls when an input method returns. |
| 1649 | Usually, the input method does not return while there's a possibility | 1649 | Usually, the input method does not return while there's a possibility |
| 1650 | that it may find a different translation if a user types another key. | 1650 | that it may find a different translation if a user types another key. |
| 1651 | But, it this flag is non-nil, the input method returns as soon as | 1651 | But, if this flag is non-nil, the input method returns as soon as |
| 1652 | the current key sequence gets long enough to have some valid translation.") | 1652 | the current key sequence gets long enough to have some valid translation.") |
| 1653 | 1653 | ||
| 1654 | (defvar input-method-use-echo-area nil | 1654 | (defvar input-method-use-echo-area nil |
| @@ -1680,7 +1680,7 @@ When this hook is run, the variable `current-language-environment' | |||
| 1680 | is still bound to the language environment being exited. | 1680 | is still bound to the language environment being exited. |
| 1681 | 1681 | ||
| 1682 | This hook is mainly used for canceling the effect of | 1682 | This hook is mainly used for canceling the effect of |
| 1683 | `set-language-environment-hook' (which-see).") | 1683 | `set-language-environment-hook' (which see).") |
| 1684 | 1684 | ||
| 1685 | (put 'setup-specified-language-environment 'apropos-inhibit t) | 1685 | (put 'setup-specified-language-environment 'apropos-inhibit t) |
| 1686 | 1686 | ||
| @@ -2015,7 +2015,7 @@ specifies the character set for the major languages of Western Europe." | |||
| 2015 | (set-display-table-and-terminal-coding-system language-name)) | 2015 | (set-display-table-and-terminal-coding-system language-name)) |
| 2016 | 2016 | ||
| 2017 | (defsubst princ-list (&rest args) | 2017 | (defsubst princ-list (&rest args) |
| 2018 | "Print all arguments with `princ', then print \"\n\"." | 2018 | "Print all arguments with `princ', then print \"\\n\"." |
| 2019 | (while args (princ (car args)) (setq args (cdr args))) | 2019 | (while args (princ (car args)) (setq args (cdr args))) |
| 2020 | (princ "\n")) | 2020 | (princ "\n")) |
| 2021 | 2021 | ||
| @@ -2345,10 +2345,10 @@ specifies the character set for the major languages of Western Europe." | |||
| 2345 | ("wen" . "Latin-2") ; MS Windows Upper Sorbian | 2345 | ("wen" . "Latin-2") ; MS Windows Upper Sorbian |
| 2346 | )) | 2346 | )) |
| 2347 | "Alist of locale regexps vs the corresponding languages and coding systems. | 2347 | "Alist of locale regexps vs the corresponding languages and coding systems. |
| 2348 | Each element has these form: | 2348 | Each element has this form: |
| 2349 | \(LOCALE-REGEXP LANG-ENV CODING-SYSTEM) | 2349 | \(LOCALE-REGEXP LANG-ENV CODING-SYSTEM) |
| 2350 | The first element whose LOCALE-REGEXP matches the start of a | 2350 | The first element whose LOCALE-REGEXP matches the start of a |
| 2351 | downcased locale specifies the LANG-ENV \(language environtment) | 2351 | downcased locale specifies the LANG-ENV \(language environment) |
| 2352 | and CODING-SYSTEM corresponding to that locale. If there is no | 2352 | and CODING-SYSTEM corresponding to that locale. If there is no |
| 2353 | appropriate language environment, the element may have this form: | 2353 | appropriate language environment, the element may have this form: |
| 2354 | \(LOCALE-REGEXP . LANG-ENV) | 2354 | \(LOCALE-REGEXP . LANG-ENV) |
| @@ -2372,7 +2372,7 @@ specific encoding such as \"Latin-1\" and \"UTF-8\".") | |||
| 2372 | The first element whose locale regexp matches the start of a downcased locale | 2372 | The first element whose locale regexp matches the start of a downcased locale |
| 2373 | specifies the language name whose charset corresponds to that locale. | 2373 | specifies the language name whose charset corresponds to that locale. |
| 2374 | This language name is used if the locale is not listed in | 2374 | This language name is used if the locale is not listed in |
| 2375 | `locale-language-names'") | 2375 | `locale-language-names'.") |
| 2376 | 2376 | ||
| 2377 | (defconst locale-preferred-coding-systems | 2377 | (defconst locale-preferred-coding-systems |
| 2378 | (purecopy | 2378 | (purecopy |
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 25b0585058e..98a856a2987 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el | |||
| @@ -906,7 +906,7 @@ This is a good function to put in `comint-output-filter-functions'. | |||
| 906 | ;;;*** | 906 | ;;;*** |
| 907 | 907 | ||
| 908 | ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) | 908 | ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) |
| 909 | ;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17994 6715)) | 909 | ;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17833 42928)) |
| 910 | ;;; Generated autoloads from progmodes/antlr-mode.el | 910 | ;;; Generated autoloads from progmodes/antlr-mode.el |
| 911 | 911 | ||
| 912 | (autoload (quote antlr-show-makefile-rules) "antlr-mode" "\ | 912 | (autoload (quote antlr-show-makefile-rules) "antlr-mode" "\ |
| @@ -945,7 +945,7 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'. | |||
| 945 | ;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add | 945 | ;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add |
| 946 | ;;;;;; appt-display-diary appt-display-duration appt-display-mode-line | 946 | ;;;;;; appt-display-diary appt-display-duration appt-display-mode-line |
| 947 | ;;;;;; appt-msg-window appt-visible appt-audible appt-message-warning-time | 947 | ;;;;;; appt-msg-window appt-visible appt-audible appt-message-warning-time |
| 948 | ;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17994 6715)) | 948 | ;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17952 17513)) |
| 949 | ;;; Generated autoloads from calendar/appt.el | 949 | ;;; Generated autoloads from calendar/appt.el |
| 950 | 950 | ||
| 951 | (defvar appt-issue-message t "\ | 951 | (defvar appt-issue-message t "\ |
| @@ -1033,7 +1033,7 @@ ARG is positive, otherwise off. | |||
| 1033 | 1033 | ||
| 1034 | ;;;### (autoloads (apropos-documentation apropos-value apropos apropos-documentation-property | 1034 | ;;;### (autoloads (apropos-documentation apropos-value apropos apropos-documentation-property |
| 1035 | ;;;;;; apropos-command apropos-variable apropos-read-pattern) "apropos" | 1035 | ;;;;;; apropos-command apropos-variable apropos-read-pattern) "apropos" |
| 1036 | ;;;;;; "apropos.el" (17994 6715)) | 1036 | ;;;;;; "apropos.el" (17842 58280)) |
| 1037 | ;;; Generated autoloads from apropos.el | 1037 | ;;; Generated autoloads from apropos.el |
| 1038 | 1038 | ||
| 1039 | (autoload (quote apropos-read-pattern) "apropos" "\ | 1039 | (autoload (quote apropos-read-pattern) "apropos" "\ |
| @@ -1129,8 +1129,8 @@ Returns list of symbols and documentation found. | |||
| 1129 | 1129 | ||
| 1130 | ;;;*** | 1130 | ;;;*** |
| 1131 | 1131 | ||
| 1132 | ;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17994 | 1132 | ;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17960 |
| 1133 | ;;;;;; 6715)) | 1133 | ;;;;;; 49045)) |
| 1134 | ;;; Generated autoloads from arc-mode.el | 1134 | ;;; Generated autoloads from arc-mode.el |
| 1135 | 1135 | ||
| 1136 | (autoload (quote archive-mode) "arc-mode" "\ | 1136 | (autoload (quote archive-mode) "arc-mode" "\ |
| @@ -1150,7 +1150,7 @@ archive. | |||
| 1150 | 1150 | ||
| 1151 | ;;;*** | 1151 | ;;;*** |
| 1152 | 1152 | ||
| 1153 | ;;;### (autoloads (array-mode) "array" "array.el" (17994 6715)) | 1153 | ;;;### (autoloads (array-mode) "array" "array.el" (17842 58280)) |
| 1154 | ;;; Generated autoloads from array.el | 1154 | ;;; Generated autoloads from array.el |
| 1155 | 1155 | ||
| 1156 | (autoload (quote array-mode) "array" "\ | 1156 | (autoload (quote array-mode) "array" "\ |
| @@ -1221,8 +1221,8 @@ Entering array mode calls the function `array-mode-hook'. | |||
| 1221 | 1221 | ||
| 1222 | ;;;*** | 1222 | ;;;*** |
| 1223 | 1223 | ||
| 1224 | ;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17994 | 1224 | ;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17842 |
| 1225 | ;;;;;; 6715)) | 1225 | ;;;;;; 58277)) |
| 1226 | ;;; Generated autoloads from textmodes/artist.el | 1226 | ;;; Generated autoloads from textmodes/artist.el |
| 1227 | 1227 | ||
| 1228 | (autoload (quote artist-mode) "artist" "\ | 1228 | (autoload (quote artist-mode) "artist" "\ |
| @@ -1427,8 +1427,8 @@ Keymap summary | |||
| 1427 | 1427 | ||
| 1428 | ;;;*** | 1428 | ;;;*** |
| 1429 | 1429 | ||
| 1430 | ;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17994 | 1430 | ;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17842 |
| 1431 | ;;;;;; 6715)) | 1431 | ;;;;;; 56333)) |
| 1432 | ;;; Generated autoloads from progmodes/asm-mode.el | 1432 | ;;; Generated autoloads from progmodes/asm-mode.el |
| 1433 | 1433 | ||
| 1434 | (autoload (quote asm-mode) "asm-mode" "\ | 1434 | (autoload (quote asm-mode) "asm-mode" "\ |
| @@ -1472,7 +1472,7 @@ This command is obsolete. | |||
| 1472 | ;;;*** | 1472 | ;;;*** |
| 1473 | 1473 | ||
| 1474 | ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" | 1474 | ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" |
| 1475 | ;;;;;; (17994 6715)) | 1475 | ;;;;;; (17842 58280)) |
| 1476 | ;;; Generated autoloads from autoarg.el | 1476 | ;;; Generated autoloads from autoarg.el |
| 1477 | 1477 | ||
| 1478 | (defvar autoarg-mode nil "\ | 1478 | (defvar autoarg-mode nil "\ |
| @@ -1526,7 +1526,7 @@ etc. to supply digit arguments. | |||
| 1526 | ;;;*** | 1526 | ;;;*** |
| 1527 | 1527 | ||
| 1528 | ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" | 1528 | ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" |
| 1529 | ;;;;;; (17994 6715)) | 1529 | ;;;;;; (17842 56333)) |
| 1530 | ;;; Generated autoloads from progmodes/autoconf.el | 1530 | ;;; Generated autoloads from progmodes/autoconf.el |
| 1531 | 1531 | ||
| 1532 | (autoload (quote autoconf-mode) "autoconf" "\ | 1532 | (autoload (quote autoconf-mode) "autoconf" "\ |
| @@ -1537,7 +1537,7 @@ Major mode for editing Autoconf configure.in files. | |||
| 1537 | ;;;*** | 1537 | ;;;*** |
| 1538 | 1538 | ||
| 1539 | ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) | 1539 | ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) |
| 1540 | ;;;;;; "autoinsert" "autoinsert.el" (17994 6715)) | 1540 | ;;;;;; "autoinsert" "autoinsert.el" (17842 58280)) |
| 1541 | ;;; Generated autoloads from autoinsert.el | 1541 | ;;; Generated autoloads from autoinsert.el |
| 1542 | 1542 | ||
| 1543 | (autoload (quote auto-insert) "autoinsert" "\ | 1543 | (autoload (quote auto-insert) "autoinsert" "\ |
| @@ -1576,7 +1576,7 @@ insert a template for the file depending on the mode of the buffer. | |||
| 1576 | 1576 | ||
| 1577 | ;;;### (autoloads (batch-update-autoloads update-directory-autoloads | 1577 | ;;;### (autoloads (batch-update-autoloads update-directory-autoloads |
| 1578 | ;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" | 1578 | ;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" |
| 1579 | ;;;;;; (17994 6715)) | 1579 | ;;;;;; (17860 50557)) |
| 1580 | ;;; Generated autoloads from emacs-lisp/autoload.el | 1580 | ;;; Generated autoloads from emacs-lisp/autoload.el |
| 1581 | 1581 | ||
| 1582 | (autoload (quote update-file-autoloads) "autoload" "\ | 1582 | (autoload (quote update-file-autoloads) "autoload" "\ |
| @@ -1611,7 +1611,7 @@ Calls `update-directory-autoloads' on the command line arguments. | |||
| 1611 | 1611 | ||
| 1612 | ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode | 1612 | ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode |
| 1613 | ;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) | 1613 | ;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) |
| 1614 | ;;;;;; "autorevert" "autorevert.el" (17994 6715)) | 1614 | ;;;;;; "autorevert" "autorevert.el" (17925 15265)) |
| 1615 | ;;; Generated autoloads from autorevert.el | 1615 | ;;; Generated autoloads from autorevert.el |
| 1616 | 1616 | ||
| 1617 | (autoload (quote auto-revert-mode) "autorevert" "\ | 1617 | (autoload (quote auto-revert-mode) "autorevert" "\ |
| @@ -1680,7 +1680,7 @@ Use `auto-revert-mode' to revert a particular buffer. | |||
| 1680 | ;;;*** | 1680 | ;;;*** |
| 1681 | 1681 | ||
| 1682 | ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" | 1682 | ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" |
| 1683 | ;;;;;; "avoid.el" (17994 6715)) | 1683 | ;;;;;; "avoid.el" (17842 58280)) |
| 1684 | ;;; Generated autoloads from avoid.el | 1684 | ;;; Generated autoloads from avoid.el |
| 1685 | 1685 | ||
| 1686 | (defvar mouse-avoidance-mode nil "\ | 1686 | (defvar mouse-avoidance-mode nil "\ |
| @@ -1721,7 +1721,7 @@ definition of \"random distance\".) | |||
| 1721 | ;;;*** | 1721 | ;;;*** |
| 1722 | 1722 | ||
| 1723 | ;;;### (autoloads (backquote) "backquote" "emacs-lisp/backquote.el" | 1723 | ;;;### (autoloads (backquote) "backquote" "emacs-lisp/backquote.el" |
| 1724 | ;;;;;; (17994 6715)) | 1724 | ;;;;;; (17842 54152)) |
| 1725 | ;;; Generated autoloads from emacs-lisp/backquote.el | 1725 | ;;; Generated autoloads from emacs-lisp/backquote.el |
| 1726 | 1726 | ||
| 1727 | (autoload (quote backquote) "backquote" "\ | 1727 | (autoload (quote backquote) "backquote" "\ |
| @@ -1746,7 +1746,7 @@ Vectors work just like lists. Nested backquotes are permitted. | |||
| 1746 | ;;;*** | 1746 | ;;;*** |
| 1747 | 1747 | ||
| 1748 | ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" | 1748 | ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" |
| 1749 | ;;;;;; (17994 6715)) | 1749 | ;;;;;; (17842 58280)) |
| 1750 | ;;; Generated autoloads from battery.el | 1750 | ;;; Generated autoloads from battery.el |
| 1751 | (put 'battery-mode-line-string 'risky-local-variable t) | 1751 | (put 'battery-mode-line-string 'risky-local-variable t) |
| 1752 | 1752 | ||
| @@ -1778,7 +1778,7 @@ seconds. | |||
| 1778 | ;;;*** | 1778 | ;;;*** |
| 1779 | 1779 | ||
| 1780 | ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) | 1780 | ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) |
| 1781 | ;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17994 6715)) | 1781 | ;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17842 54152)) |
| 1782 | ;;; Generated autoloads from emacs-lisp/benchmark.el | 1782 | ;;; Generated autoloads from emacs-lisp/benchmark.el |
| 1783 | 1783 | ||
| 1784 | (autoload (quote benchmark-run) "benchmark" "\ | 1784 | (autoload (quote benchmark-run) "benchmark" "\ |
| @@ -1810,8 +1810,8 @@ non-interactive use see also `benchmark-run' and | |||
| 1810 | 1810 | ||
| 1811 | ;;;*** | 1811 | ;;;*** |
| 1812 | 1812 | ||
| 1813 | ;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17994 | 1813 | ;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17956 |
| 1814 | ;;;;;; 6715)) | 1814 | ;;;;;; 21270)) |
| 1815 | ;;; Generated autoloads from textmodes/bibtex.el | 1815 | ;;; Generated autoloads from textmodes/bibtex.el |
| 1816 | 1816 | ||
| 1817 | (autoload (quote bibtex-mode) "bibtex" "\ | 1817 | (autoload (quote bibtex-mode) "bibtex" "\ |
| @@ -1873,7 +1873,7 @@ if that value is non-nil. | |||
| 1873 | 1873 | ||
| 1874 | ;;;### (autoloads (binhex-decode-region binhex-decode-region-external | 1874 | ;;;### (autoloads (binhex-decode-region binhex-decode-region-external |
| 1875 | ;;;;;; binhex-decode-region-internal) "binhex" "gnus/binhex.el" | 1875 | ;;;;;; binhex-decode-region-internal) "binhex" "gnus/binhex.el" |
| 1876 | ;;;;;; (17994 6715)) | 1876 | ;;;;;; (17842 54741)) |
| 1877 | ;;; Generated autoloads from gnus/binhex.el | 1877 | ;;; Generated autoloads from gnus/binhex.el |
| 1878 | 1878 | ||
| 1879 | (defconst binhex-begin-line "^:...............................................................$") | 1879 | (defconst binhex-begin-line "^:...............................................................$") |
| @@ -1896,8 +1896,8 @@ Binhex decode region between START and END. | |||
| 1896 | 1896 | ||
| 1897 | ;;;*** | 1897 | ;;;*** |
| 1898 | 1898 | ||
| 1899 | ;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17994 | 1899 | ;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17842 |
| 1900 | ;;;;;; 6715)) | 1900 | ;;;;;; 55395)) |
| 1901 | ;;; Generated autoloads from play/blackbox.el | 1901 | ;;; Generated autoloads from play/blackbox.el |
| 1902 | 1902 | ||
| 1903 | (autoload (quote blackbox) "blackbox" "\ | 1903 | (autoload (quote blackbox) "blackbox" "\ |
| @@ -2019,7 +2019,7 @@ a reflection. | |||
| 2019 | ;;;### (autoloads (bookmark-bmenu-list bookmark-load bookmark-save | 2019 | ;;;### (autoloads (bookmark-bmenu-list bookmark-load bookmark-save |
| 2020 | ;;;;;; bookmark-write bookmark-delete bookmark-insert bookmark-rename | 2020 | ;;;;;; bookmark-write bookmark-delete bookmark-insert bookmark-rename |
| 2021 | ;;;;;; bookmark-insert-location bookmark-relocate bookmark-jump | 2021 | ;;;;;; bookmark-insert-location bookmark-relocate bookmark-jump |
| 2022 | ;;;;;; bookmark-set) "bookmark" "bookmark.el" (17994 6715)) | 2022 | ;;;;;; bookmark-set) "bookmark" "bookmark.el" (17842 58280)) |
| 2023 | ;;; Generated autoloads from bookmark.el | 2023 | ;;; Generated autoloads from bookmark.el |
| 2024 | (define-key ctl-x-map "rb" 'bookmark-jump) | 2024 | (define-key ctl-x-map "rb" 'bookmark-jump) |
| 2025 | (define-key ctl-x-map "rm" 'bookmark-set) | 2025 | (define-key ctl-x-map "rm" 'bookmark-set) |
| @@ -2209,7 +2209,7 @@ deletion, or > if it is flagged for displaying. | |||
| 2209 | ;;;;;; browse-url browse-url-of-region browse-url-of-dired-file | 2209 | ;;;;;; browse-url browse-url-of-region browse-url-of-dired-file |
| 2210 | ;;;;;; browse-url-of-buffer browse-url-of-file browse-url-url-at-point | 2210 | ;;;;;; browse-url-of-buffer browse-url-of-file browse-url-url-at-point |
| 2211 | ;;;;;; browse-url-galeon-program browse-url-firefox-program browse-url-browser-function) | 2211 | ;;;;;; browse-url-galeon-program browse-url-firefox-program browse-url-browser-function) |
| 2212 | ;;;;;; "browse-url" "net/browse-url.el" (17994 6715)) | 2212 | ;;;;;; "browse-url" "net/browse-url.el" (17842 55218)) |
| 2213 | ;;; Generated autoloads from net/browse-url.el | 2213 | ;;; Generated autoloads from net/browse-url.el |
| 2214 | 2214 | ||
| 2215 | (defvar browse-url-browser-function (cond ((memq system-type (quote (windows-nt ms-dos cygwin))) (quote browse-url-default-windows-browser)) ((memq system-type (quote (darwin))) (quote browse-url-default-macosx-browser)) (t (quote browse-url-default-browser))) "\ | 2215 | (defvar browse-url-browser-function (cond ((memq system-type (quote (windows-nt ms-dos cygwin))) (quote browse-url-default-windows-browser)) ((memq system-type (quote (darwin))) (quote browse-url-default-macosx-browser)) (t (quote browse-url-default-browser))) "\ |
| @@ -2540,8 +2540,8 @@ Default to the URL around or before point. | |||
| 2540 | 2540 | ||
| 2541 | ;;;*** | 2541 | ;;;*** |
| 2542 | 2542 | ||
| 2543 | ;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17994 | 2543 | ;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17842 |
| 2544 | ;;;;;; 6715)) | 2544 | ;;;;;; 55395)) |
| 2545 | ;;; Generated autoloads from play/bruce.el | 2545 | ;;; Generated autoloads from play/bruce.el |
| 2546 | 2546 | ||
| 2547 | (autoload (quote bruce) "bruce" "\ | 2547 | (autoload (quote bruce) "bruce" "\ |
| @@ -2557,7 +2557,7 @@ Return a vector containing the lines from `bruce-phrases-file'. | |||
| 2557 | ;;;*** | 2557 | ;;;*** |
| 2558 | 2558 | ||
| 2559 | ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) | 2559 | ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) |
| 2560 | ;;;;;; "bs" "bs.el" (17994 6715)) | 2560 | ;;;;;; "bs" "bs.el" (17842 58280)) |
| 2561 | ;;; Generated autoloads from bs.el | 2561 | ;;; Generated autoloads from bs.el |
| 2562 | 2562 | ||
| 2563 | (autoload (quote bs-cycle-next) "bs" "\ | 2563 | (autoload (quote bs-cycle-next) "bs" "\ |
| @@ -2598,8 +2598,8 @@ name of buffer configuration. | |||
| 2598 | ;;;*** | 2598 | ;;;*** |
| 2599 | 2599 | ||
| 2600 | ;;;### (autoloads (insert-text-button make-text-button insert-button | 2600 | ;;;### (autoloads (insert-text-button make-text-button insert-button |
| 2601 | ;;;;;; make-button define-button-type) "button" "button.el" (17994 | 2601 | ;;;;;; make-button define-button-type) "button" "button.el" (17992 |
| 2602 | ;;;;;; 6724)) | 2602 | ;;;;;; 30877)) |
| 2603 | ;;; Generated autoloads from button.el | 2603 | ;;; Generated autoloads from button.el |
| 2604 | 2604 | ||
| 2605 | (defvar button-map (let ((map (make-sparse-keymap))) (define-key map " " (quote push-button)) (define-key map [mouse-2] (quote push-button)) map) "\ | 2605 | (defvar button-map (let ((map (make-sparse-keymap))) (define-key map " " (quote push-button)) (define-key map [mouse-2] (quote push-button)) map) "\ |
| @@ -2687,7 +2687,7 @@ Also see `make-text-button'. | |||
| 2687 | ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile | 2687 | ;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile |
| 2688 | ;;;;;; compile-defun byte-compile-file byte-recompile-directory | 2688 | ;;;;;; compile-defun byte-compile-file byte-recompile-directory |
| 2689 | ;;;;;; byte-force-recompile byte-compile-warnings-safe-p) "bytecomp" | 2689 | ;;;;;; byte-force-recompile byte-compile-warnings-safe-p) "bytecomp" |
| 2690 | ;;;;;; "emacs-lisp/bytecomp.el" (17994 6715)) | 2690 | ;;;;;; "emacs-lisp/bytecomp.el" (17949 41467)) |
| 2691 | ;;; Generated autoloads from emacs-lisp/bytecomp.el | 2691 | ;;; Generated autoloads from emacs-lisp/bytecomp.el |
| 2692 | (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) | 2692 | (put 'byte-compile-dynamic 'safe-local-variable 'booleanp) |
| 2693 | (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) | 2693 | (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) |
| @@ -2793,7 +2793,7 @@ and corresponding effects. | |||
| 2793 | 2793 | ||
| 2794 | ;;;*** | 2794 | ;;;*** |
| 2795 | 2795 | ||
| 2796 | ;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17994 6715)) | 2796 | ;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17956 13479)) |
| 2797 | ;;; Generated autoloads from calendar/cal-dst.el | 2797 | ;;; Generated autoloads from calendar/cal-dst.el |
| 2798 | 2798 | ||
| 2799 | (put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t) | 2799 | (put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t) |
| @@ -2803,7 +2803,7 @@ and corresponding effects. | |||
| 2803 | ;;;*** | 2803 | ;;;*** |
| 2804 | 2804 | ||
| 2805 | ;;;### (autoloads (list-yahrzeit-dates) "cal-hebrew" "calendar/cal-hebrew.el" | 2805 | ;;;### (autoloads (list-yahrzeit-dates) "cal-hebrew" "calendar/cal-hebrew.el" |
| 2806 | ;;;;;; (17994 6715)) | 2806 | ;;;;;; (17956 13479)) |
| 2807 | ;;; Generated autoloads from calendar/cal-hebrew.el | 2807 | ;;; Generated autoloads from calendar/cal-hebrew.el |
| 2808 | 2808 | ||
| 2809 | (autoload (quote list-yahrzeit-dates) "cal-hebrew" "\ | 2809 | (autoload (quote list-yahrzeit-dates) "cal-hebrew" "\ |
| @@ -2818,7 +2818,7 @@ from the cursor position. | |||
| 2818 | ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle | 2818 | ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle |
| 2819 | ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc | 2819 | ;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc |
| 2820 | ;;;;;; full-calc calc calc-dispatch calc-settings-file) "calc" "calc/calc.el" | 2820 | ;;;;;; full-calc calc calc-dispatch calc-settings-file) "calc" "calc/calc.el" |
| 2821 | ;;;;;; (17994 6715)) | 2821 | ;;;;;; (17965 11665)) |
| 2822 | ;;; Generated autoloads from calc/calc.el | 2822 | ;;; Generated autoloads from calc/calc.el |
| 2823 | 2823 | ||
| 2824 | (defvar calc-settings-file (convert-standard-filename "~/.calc.el") "\ | 2824 | (defvar calc-settings-file (convert-standard-filename "~/.calc.el") "\ |
| @@ -2896,8 +2896,8 @@ Not documented | |||
| 2896 | 2896 | ||
| 2897 | ;;;*** | 2897 | ;;;*** |
| 2898 | 2898 | ||
| 2899 | ;;;### (autoloads (calculator) "calculator" "calculator.el" (17994 | 2899 | ;;;### (autoloads (calculator) "calculator" "calculator.el" (17870 |
| 2900 | ;;;;;; 6715)) | 2900 | ;;;;;; 28179)) |
| 2901 | ;;; Generated autoloads from calculator.el | 2901 | ;;; Generated autoloads from calculator.el |
| 2902 | 2902 | ||
| 2903 | (autoload (quote calculator) "calculator" "\ | 2903 | (autoload (quote calculator) "calculator" "\ |
| @@ -2925,7 +2925,7 @@ See the documentation for `calculator-mode' for more information. | |||
| 2925 | ;;;;;; mark-holidays-in-calendar view-calendar-holidays-initially | 2925 | ;;;;;; mark-holidays-in-calendar view-calendar-holidays-initially |
| 2926 | ;;;;;; calendar-remove-frame-by-deleting mark-diary-entries-in-calendar | 2926 | ;;;;;; calendar-remove-frame-by-deleting mark-diary-entries-in-calendar |
| 2927 | ;;;;;; view-diary-entries-initially calendar-offset) "calendar" | 2927 | ;;;;;; view-diary-entries-initially calendar-offset) "calendar" |
| 2928 | ;;;;;; "calendar/calendar.el" (17994 6715)) | 2928 | ;;;;;; "calendar/calendar.el" (17956 13479)) |
| 2929 | ;;; Generated autoloads from calendar/calendar.el | 2929 | ;;; Generated autoloads from calendar/calendar.el |
| 2930 | 2930 | ||
| 2931 | (defvar calendar-offset 0 "\ | 2931 | (defvar calendar-offset 0 "\ |
| @@ -3498,7 +3498,7 @@ movement commands will not work correctly.") | |||
| 3498 | ;;;*** | 3498 | ;;;*** |
| 3499 | 3499 | ||
| 3500 | ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" | 3500 | ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" |
| 3501 | ;;;;;; "gnus/canlock.el" (17994 6715)) | 3501 | ;;;;;; "gnus/canlock.el" (17842 54741)) |
| 3502 | ;;; Generated autoloads from gnus/canlock.el | 3502 | ;;; Generated autoloads from gnus/canlock.el |
| 3503 | 3503 | ||
| 3504 | (autoload (quote canlock-insert-header) "canlock" "\ | 3504 | (autoload (quote canlock-insert-header) "canlock" "\ |
| @@ -3515,15 +3515,15 @@ it fails. | |||
| 3515 | 3515 | ||
| 3516 | ;;;*** | 3516 | ;;;*** |
| 3517 | 3517 | ||
| 3518 | ;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (17994 | 3518 | ;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (17842 |
| 3519 | ;;;;;; 6715)) | 3519 | ;;;;;; 56333)) |
| 3520 | ;;; Generated autoloads from progmodes/cc-compat.el | 3520 | ;;; Generated autoloads from progmodes/cc-compat.el |
| 3521 | (put 'c-indent-level 'safe-local-variable 'integerp) | 3521 | (put 'c-indent-level 'safe-local-variable 'integerp) |
| 3522 | 3522 | ||
| 3523 | ;;;*** | 3523 | ;;;*** |
| 3524 | 3524 | ||
| 3525 | ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" | 3525 | ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" |
| 3526 | ;;;;;; (17994 6715)) | 3526 | ;;;;;; (17942 63381)) |
| 3527 | ;;; Generated autoloads from progmodes/cc-engine.el | 3527 | ;;; Generated autoloads from progmodes/cc-engine.el |
| 3528 | 3528 | ||
| 3529 | (autoload (quote c-guess-basic-syntax) "cc-engine" "\ | 3529 | (autoload (quote c-guess-basic-syntax) "cc-engine" "\ |
| @@ -3535,7 +3535,7 @@ Return the syntactic context of the current line. | |||
| 3535 | 3535 | ||
| 3536 | ;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode | 3536 | ;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode |
| 3537 | ;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" | 3537 | ;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" |
| 3538 | ;;;;;; (17994 6728)) | 3538 | ;;;;;; (17992 30878)) |
| 3539 | ;;; Generated autoloads from progmodes/cc-mode.el | 3539 | ;;; Generated autoloads from progmodes/cc-mode.el |
| 3540 | 3540 | ||
| 3541 | (autoload (quote c-initialize-cc-mode) "cc-mode" "\ | 3541 | (autoload (quote c-initialize-cc-mode) "cc-mode" "\ |
| @@ -3693,7 +3693,7 @@ Key bindings: | |||
| 3693 | ;;;*** | 3693 | ;;;*** |
| 3694 | 3694 | ||
| 3695 | ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" | 3695 | ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" |
| 3696 | ;;;;;; "progmodes/cc-styles.el" (17994 6715)) | 3696 | ;;;;;; "progmodes/cc-styles.el" (17842 56333)) |
| 3697 | ;;; Generated autoloads from progmodes/cc-styles.el | 3697 | ;;; Generated autoloads from progmodes/cc-styles.el |
| 3698 | 3698 | ||
| 3699 | (autoload (quote c-set-style) "cc-styles" "\ | 3699 | (autoload (quote c-set-style) "cc-styles" "\ |
| @@ -3744,14 +3744,14 @@ and exists only for compatibility reasons. | |||
| 3744 | 3744 | ||
| 3745 | ;;;*** | 3745 | ;;;*** |
| 3746 | 3746 | ||
| 3747 | ;;;### (autoloads nil "cc-subword" "progmodes/cc-subword.el" (17994 | 3747 | ;;;### (autoloads nil "cc-subword" "progmodes/cc-subword.el" (17949 |
| 3748 | ;;;;;; 6715)) | 3748 | ;;;;;; 41467)) |
| 3749 | ;;; Generated autoloads from progmodes/cc-subword.el | 3749 | ;;; Generated autoloads from progmodes/cc-subword.el |
| 3750 | (autoload 'c-subword-mode "cc-subword" "Mode enabling subword movement and editing keys." t) | 3750 | (autoload 'c-subword-mode "cc-subword" "Mode enabling subword movement and editing keys." t) |
| 3751 | 3751 | ||
| 3752 | ;;;*** | 3752 | ;;;*** |
| 3753 | 3753 | ||
| 3754 | ;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (17994 6715)) | 3754 | ;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (17941 38806)) |
| 3755 | ;;; Generated autoloads from progmodes/cc-vars.el | 3755 | ;;; Generated autoloads from progmodes/cc-vars.el |
| 3756 | (put 'c-basic-offset 'safe-local-variable 'integerp) | 3756 | (put 'c-basic-offset 'safe-local-variable 'integerp) |
| 3757 | (put 'c-backslash-column 'safe-local-variable 'integerp) | 3757 | (put 'c-backslash-column 'safe-local-variable 'integerp) |
| @@ -3761,7 +3761,7 @@ and exists only for compatibility reasons. | |||
| 3761 | 3761 | ||
| 3762 | ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program | 3762 | ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program |
| 3763 | ;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" | 3763 | ;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" |
| 3764 | ;;;;;; (17994 6715)) | 3764 | ;;;;;; (17842 54888)) |
| 3765 | ;;; Generated autoloads from international/ccl.el | 3765 | ;;; Generated autoloads from international/ccl.el |
| 3766 | 3766 | ||
| 3767 | (autoload (quote ccl-compile) "ccl" "\ | 3767 | (autoload (quote ccl-compile) "ccl" "\ |
| @@ -4020,7 +4020,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program. | |||
| 4020 | ;;;*** | 4020 | ;;;*** |
| 4021 | 4021 | ||
| 4022 | ;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el" | 4022 | ;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el" |
| 4023 | ;;;;;; (17994 6715)) | 4023 | ;;;;;; (17842 56333)) |
| 4024 | ;;; Generated autoloads from progmodes/cfengine.el | 4024 | ;;; Generated autoloads from progmodes/cfengine.el |
| 4025 | 4025 | ||
| 4026 | (autoload (quote cfengine-mode) "cfengine" "\ | 4026 | (autoload (quote cfengine-mode) "cfengine" "\ |
| @@ -4042,7 +4042,7 @@ to the action header. | |||
| 4042 | ;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer | 4042 | ;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer |
| 4043 | ;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive | 4043 | ;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive |
| 4044 | ;;;;;; checkdoc-interactive checkdoc) "checkdoc" "emacs-lisp/checkdoc.el" | 4044 | ;;;;;; checkdoc-interactive checkdoc) "checkdoc" "emacs-lisp/checkdoc.el" |
| 4045 | ;;;;;; (17994 6715)) | 4045 | ;;;;;; (17842 54152)) |
| 4046 | ;;; Generated autoloads from emacs-lisp/checkdoc.el | 4046 | ;;; Generated autoloads from emacs-lisp/checkdoc.el |
| 4047 | 4047 | ||
| 4048 | (autoload (quote checkdoc) "checkdoc" "\ | 4048 | (autoload (quote checkdoc) "checkdoc" "\ |
| @@ -4225,8 +4225,8 @@ checking of documentation strings. | |||
| 4225 | ;;;*** | 4225 | ;;;*** |
| 4226 | 4226 | ||
| 4227 | ;;;### (autoloads (encode-hz-buffer encode-hz-region decode-hz-buffer | 4227 | ;;;### (autoloads (encode-hz-buffer encode-hz-region decode-hz-buffer |
| 4228 | ;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17994 | 4228 | ;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17842 |
| 4229 | ;;;;;; 6715)) | 4229 | ;;;;;; 58278)) |
| 4230 | ;;; Generated autoloads from language/china-util.el | 4230 | ;;; Generated autoloads from language/china-util.el |
| 4231 | 4231 | ||
| 4232 | (autoload (quote decode-hz-region) "china-util" "\ | 4232 | (autoload (quote decode-hz-region) "china-util" "\ |
| @@ -4254,7 +4254,7 @@ Encode the text in the current buffer to HZ. | |||
| 4254 | ;;;*** | 4254 | ;;;*** |
| 4255 | 4255 | ||
| 4256 | ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) | 4256 | ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) |
| 4257 | ;;;;;; "chistory" "chistory.el" (17994 6715)) | 4257 | ;;;;;; "chistory" "chistory.el" (17842 58280)) |
| 4258 | ;;; Generated autoloads from chistory.el | 4258 | ;;; Generated autoloads from chistory.el |
| 4259 | 4259 | ||
| 4260 | (autoload (quote repeat-matching-complex-command) "chistory" "\ | 4260 | (autoload (quote repeat-matching-complex-command) "chistory" "\ |
| @@ -4293,7 +4293,7 @@ and runs the normal hook `command-history-hook'. | |||
| 4293 | 4293 | ||
| 4294 | ;;;*** | 4294 | ;;;*** |
| 4295 | 4295 | ||
| 4296 | ;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17994 6715)) | 4296 | ;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17842 54152)) |
| 4297 | ;;; Generated autoloads from emacs-lisp/cl.el | 4297 | ;;; Generated autoloads from emacs-lisp/cl.el |
| 4298 | 4298 | ||
| 4299 | (defvar custom-print-functions nil "\ | 4299 | (defvar custom-print-functions nil "\ |
| @@ -4309,7 +4309,7 @@ a future Emacs interpreter will be able to use it.") | |||
| 4309 | ;;;*** | 4309 | ;;;*** |
| 4310 | 4310 | ||
| 4311 | ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" | 4311 | ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" |
| 4312 | ;;;;;; (17994 6715)) | 4312 | ;;;;;; (17842 54152)) |
| 4313 | ;;; Generated autoloads from emacs-lisp/cl-indent.el | 4313 | ;;; Generated autoloads from emacs-lisp/cl-indent.el |
| 4314 | 4314 | ||
| 4315 | (autoload (quote common-lisp-indent-function) "cl-indent" "\ | 4315 | (autoload (quote common-lisp-indent-function) "cl-indent" "\ |
| @@ -4320,7 +4320,7 @@ Not documented | |||
| 4320 | ;;;*** | 4320 | ;;;*** |
| 4321 | 4321 | ||
| 4322 | ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" | 4322 | ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" |
| 4323 | ;;;;;; (17994 6715)) | 4323 | ;;;;;; (17842 56333)) |
| 4324 | ;;; Generated autoloads from progmodes/cmacexp.el | 4324 | ;;; Generated autoloads from progmodes/cmacexp.el |
| 4325 | 4325 | ||
| 4326 | (autoload (quote c-macro-expand) "cmacexp" "\ | 4326 | (autoload (quote c-macro-expand) "cmacexp" "\ |
| @@ -4340,8 +4340,8 @@ For use inside Lisp programs, see also `c-macro-expansion'. | |||
| 4340 | 4340 | ||
| 4341 | ;;;*** | 4341 | ;;;*** |
| 4342 | 4342 | ||
| 4343 | ;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17994 | 4343 | ;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17842 |
| 4344 | ;;;;;; 6715)) | 4344 | ;;;;;; 58280)) |
| 4345 | ;;; Generated autoloads from cmuscheme.el | 4345 | ;;; Generated autoloads from cmuscheme.el |
| 4346 | 4346 | ||
| 4347 | (autoload (quote run-scheme) "cmuscheme" "\ | 4347 | (autoload (quote run-scheme) "cmuscheme" "\ |
| @@ -4363,7 +4363,7 @@ is run). | |||
| 4363 | ;;;*** | 4363 | ;;;*** |
| 4364 | 4364 | ||
| 4365 | ;;;### (autoloads (cp-make-coding-system) "code-pages" "international/code-pages.el" | 4365 | ;;;### (autoloads (cp-make-coding-system) "code-pages" "international/code-pages.el" |
| 4366 | ;;;;;; (17994 6715)) | 4366 | ;;;;;; (17842 54888)) |
| 4367 | ;;; Generated autoloads from international/code-pages.el | 4367 | ;;; Generated autoloads from international/code-pages.el |
| 4368 | 4368 | ||
| 4369 | (autoload (quote cp-make-coding-system) "code-pages" "\ | 4369 | (autoload (quote cp-make-coding-system) "code-pages" "\ |
| @@ -4424,7 +4424,7 @@ Return an updated `non-iso-charset-alist'. | |||
| 4424 | 4424 | ||
| 4425 | ;;;### (autoloads (codepage-setup cp-supported-codepages cp-offset-for-codepage | 4425 | ;;;### (autoloads (codepage-setup cp-supported-codepages cp-offset-for-codepage |
| 4426 | ;;;;;; cp-language-for-codepage cp-charset-for-codepage cp-make-coding-systems-for-codepage) | 4426 | ;;;;;; cp-language-for-codepage cp-charset-for-codepage cp-make-coding-systems-for-codepage) |
| 4427 | ;;;;;; "codepage" "international/codepage.el" (17994 6715)) | 4427 | ;;;;;; "codepage" "international/codepage.el" (17842 54888)) |
| 4428 | ;;; Generated autoloads from international/codepage.el | 4428 | ;;; Generated autoloads from international/codepage.el |
| 4429 | 4429 | ||
| 4430 | (autoload (quote cp-make-coding-systems-for-codepage) "codepage" "\ | 4430 | (autoload (quote cp-make-coding-systems-for-codepage) "codepage" "\ |
| @@ -4483,7 +4483,7 @@ read/written by MS-DOS software, or for display on the MS-DOS terminal. | |||
| 4483 | ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list | 4483 | ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list |
| 4484 | ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command | 4484 | ;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command |
| 4485 | ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" | 4485 | ;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" |
| 4486 | ;;;;;; (17994 6715)) | 4486 | ;;;;;; (17937 3189)) |
| 4487 | ;;; Generated autoloads from comint.el | 4487 | ;;; Generated autoloads from comint.el |
| 4488 | 4488 | ||
| 4489 | (defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\ | 4489 | (defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\ |
| @@ -4573,8 +4573,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to use. | |||
| 4573 | 4573 | ||
| 4574 | ;;;*** | 4574 | ;;;*** |
| 4575 | 4575 | ||
| 4576 | ;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17994 | 4576 | ;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17926 |
| 4577 | ;;;;;; 6715)) | 4577 | ;;;;;; 45410)) |
| 4578 | ;;; Generated autoloads from compare-w.el | 4578 | ;;; Generated autoloads from compare-w.el |
| 4579 | 4579 | ||
| 4580 | (autoload (quote compare-windows) "compare-w" "\ | 4580 | (autoload (quote compare-windows) "compare-w" "\ |
| @@ -4611,7 +4611,7 @@ on third call it again advances points to the next difference and so on. | |||
| 4611 | ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start | 4611 | ;;;;;; compilation-shell-minor-mode compilation-mode compilation-start |
| 4612 | ;;;;;; compile compilation-disable-input compile-command compilation-search-path | 4612 | ;;;;;; compile compilation-disable-input compile-command compilation-search-path |
| 4613 | ;;;;;; compilation-ask-about-save compilation-window-height compilation-mode-hook) | 4613 | ;;;;;; compilation-ask-about-save compilation-window-height compilation-mode-hook) |
| 4614 | ;;;;;; "compile" "progmodes/compile.el" (18000 24333)) | 4614 | ;;;;;; "compile" "progmodes/compile.el" (18006 55797)) |
| 4615 | ;;; Generated autoloads from progmodes/compile.el | 4615 | ;;; Generated autoloads from progmodes/compile.el |
| 4616 | 4616 | ||
| 4617 | (defvar compilation-mode-hook nil "\ | 4617 | (defvar compilation-mode-hook nil "\ |
| @@ -4774,7 +4774,7 @@ This is the value of `next-error-function' in Compilation buffers. | |||
| 4774 | ;;;*** | 4774 | ;;;*** |
| 4775 | 4775 | ||
| 4776 | ;;;### (autoloads (partial-completion-mode) "complete" "complete.el" | 4776 | ;;;### (autoloads (partial-completion-mode) "complete" "complete.el" |
| 4777 | ;;;;;; (17994 6715)) | 4777 | ;;;;;; (17954 15344)) |
| 4778 | ;;; Generated autoloads from complete.el | 4778 | ;;; Generated autoloads from complete.el |
| 4779 | 4779 | ||
| 4780 | (defvar partial-completion-mode nil "\ | 4780 | (defvar partial-completion-mode nil "\ |
| @@ -4816,7 +4816,7 @@ second TAB brings up the `*Completions*' buffer. | |||
| 4816 | ;;;*** | 4816 | ;;;*** |
| 4817 | 4817 | ||
| 4818 | ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" | 4818 | ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" |
| 4819 | ;;;;;; (17994 6715)) | 4819 | ;;;;;; (17842 58280)) |
| 4820 | ;;; Generated autoloads from completion.el | 4820 | ;;; Generated autoloads from completion.el |
| 4821 | 4821 | ||
| 4822 | (defvar dynamic-completion-mode nil "\ | 4822 | (defvar dynamic-completion-mode nil "\ |
| @@ -4838,7 +4838,7 @@ Enable dynamic word-completion. | |||
| 4838 | ;;;### (autoloads (decompose-composite-char compose-last-chars compose-chars-after | 4838 | ;;;### (autoloads (decompose-composite-char compose-last-chars compose-chars-after |
| 4839 | ;;;;;; find-composition compose-chars decompose-string compose-string | 4839 | ;;;;;; find-composition compose-chars decompose-string compose-string |
| 4840 | ;;;;;; decompose-region compose-region encode-composition-rule) | 4840 | ;;;;;; decompose-region compose-region encode-composition-rule) |
| 4841 | ;;;;;; "composite" "composite.el" (17994 6715)) | 4841 | ;;;;;; "composite" "composite.el" (17842 58280)) |
| 4842 | ;;; Generated autoloads from composite.el | 4842 | ;;; Generated autoloads from composite.el |
| 4843 | 4843 | ||
| 4844 | (defconst reference-point-alist (quote ((tl . 0) (tc . 1) (tr . 2) (Bl . 3) (Bc . 4) (Br . 5) (bl . 6) (bc . 7) (br . 8) (cl . 9) (cc . 10) (cr . 11) (top-left . 0) (top-center . 1) (top-right . 2) (base-left . 3) (base-center . 4) (base-right . 5) (bottom-left . 6) (bottom-center . 7) (bottom-right . 8) (center-left . 9) (center-center . 10) (center-right . 11) (ml . 3) (mc . 10) (mr . 5) (mid-left . 3) (mid-center . 10) (mid-right . 5))) "\ | 4844 | (defconst reference-point-alist (quote ((tl . 0) (tc . 1) (tr . 2) (Bl . 3) (Bc . 4) (Br . 5) (bl . 6) (bc . 7) (br . 8) (cl . 9) (cc . 10) (cr . 11) (top-left . 0) (top-center . 1) (top-right . 2) (base-left . 3) (base-center . 4) (base-right . 5) (bottom-left . 6) (bottom-center . 7) (bottom-right . 8) (center-left . 9) (center-center . 10) (center-right . 11) (ml . 3) (mc . 10) (mr . 5) (mid-left . 3) (mid-center . 10) (mid-right . 5))) "\ |
| @@ -5060,7 +5060,7 @@ Optional 3rd arg WITH-COMPOSITION-RULE is ignored. | |||
| 5060 | ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode | 5060 | ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode |
| 5061 | ;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode | 5061 | ;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode |
| 5062 | ;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el" | 5062 | ;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el" |
| 5063 | ;;;;;; (17994 6715)) | 5063 | ;;;;;; (17842 58277)) |
| 5064 | ;;; Generated autoloads from textmodes/conf-mode.el | 5064 | ;;; Generated autoloads from textmodes/conf-mode.el |
| 5065 | 5065 | ||
| 5066 | (autoload (quote conf-mode) "conf-mode" "\ | 5066 | (autoload (quote conf-mode) "conf-mode" "\ |
| @@ -5216,7 +5216,7 @@ For details see `conf-mode'. Example: | |||
| 5216 | ;;;*** | 5216 | ;;;*** |
| 5217 | 5217 | ||
| 5218 | ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) | 5218 | ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) |
| 5219 | ;;;;;; "cookie1" "play/cookie1.el" (17994 6715)) | 5219 | ;;;;;; "cookie1" "play/cookie1.el" (17842 55395)) |
| 5220 | ;;; Generated autoloads from play/cookie1.el | 5220 | ;;; Generated autoloads from play/cookie1.el |
| 5221 | 5221 | ||
| 5222 | (autoload (quote cookie) "cookie1" "\ | 5222 | (autoload (quote cookie) "cookie1" "\ |
| @@ -5248,7 +5248,7 @@ Randomly permute the elements of VECTOR (all permutations equally likely). | |||
| 5248 | ;;;*** | 5248 | ;;;*** |
| 5249 | 5249 | ||
| 5250 | ;;;### (autoloads (copyright copyright-fix-years copyright-update) | 5250 | ;;;### (autoloads (copyright copyright-fix-years copyright-update) |
| 5251 | ;;;;;; "copyright" "emacs-lisp/copyright.el" (17994 6715)) | 5251 | ;;;;;; "copyright" "emacs-lisp/copyright.el" (17842 54152)) |
| 5252 | ;;; Generated autoloads from emacs-lisp/copyright.el | 5252 | ;;; Generated autoloads from emacs-lisp/copyright.el |
| 5253 | 5253 | ||
| 5254 | (autoload (quote copyright-update) "copyright" "\ | 5254 | (autoload (quote copyright-update) "copyright" "\ |
| @@ -5276,7 +5276,7 @@ Insert a copyright by $ORGANIZATION notice at cursor. | |||
| 5276 | ;;;*** | 5276 | ;;;*** |
| 5277 | 5277 | ||
| 5278 | ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) | 5278 | ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) |
| 5279 | ;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (17994 6715)) | 5279 | ;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (17955 36604)) |
| 5280 | ;;; Generated autoloads from progmodes/cperl-mode.el | 5280 | ;;; Generated autoloads from progmodes/cperl-mode.el |
| 5281 | 5281 | ||
| 5282 | (autoload (quote cperl-mode) "cperl-mode" "\ | 5282 | (autoload (quote cperl-mode) "cperl-mode" "\ |
| @@ -5467,7 +5467,7 @@ Run a `perldoc' on the word around point. | |||
| 5467 | ;;;*** | 5467 | ;;;*** |
| 5468 | 5468 | ||
| 5469 | ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" | 5469 | ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" |
| 5470 | ;;;;;; (17994 6715)) | 5470 | ;;;;;; (17842 56333)) |
| 5471 | ;;; Generated autoloads from progmodes/cpp.el | 5471 | ;;; Generated autoloads from progmodes/cpp.el |
| 5472 | 5472 | ||
| 5473 | (autoload (quote cpp-highlight-buffer) "cpp" "\ | 5473 | (autoload (quote cpp-highlight-buffer) "cpp" "\ |
| @@ -5486,7 +5486,7 @@ Edit display information for cpp conditionals. | |||
| 5486 | ;;;*** | 5486 | ;;;*** |
| 5487 | 5487 | ||
| 5488 | ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" | 5488 | ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" |
| 5489 | ;;;;;; (17994 6715)) | 5489 | ;;;;;; (17842 54264)) |
| 5490 | ;;; Generated autoloads from emulation/crisp.el | 5490 | ;;; Generated autoloads from emulation/crisp.el |
| 5491 | 5491 | ||
| 5492 | (defvar crisp-mode nil "\ | 5492 | (defvar crisp-mode nil "\ |
| @@ -5510,7 +5510,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise. | |||
| 5510 | ;;;*** | 5510 | ;;;*** |
| 5511 | 5511 | ||
| 5512 | ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" | 5512 | ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" |
| 5513 | ;;;;;; (17994 6715)) | 5513 | ;;;;;; (17842 54152)) |
| 5514 | ;;; Generated autoloads from emacs-lisp/crm.el | 5514 | ;;; Generated autoloads from emacs-lisp/crm.el |
| 5515 | 5515 | ||
| 5516 | (autoload (quote completing-read-multiple) "crm" "\ | 5516 | (autoload (quote completing-read-multiple) "crm" "\ |
| @@ -5546,7 +5546,7 @@ INHERIT-INPUT-METHOD. | |||
| 5546 | ;;;*** | 5546 | ;;;*** |
| 5547 | 5547 | ||
| 5548 | ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" | 5548 | ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" |
| 5549 | ;;;;;; (17994 6751)) | 5549 | ;;;;;; (17888 45995)) |
| 5550 | ;;; Generated autoloads from emulation/cua-base.el | 5550 | ;;; Generated autoloads from emulation/cua-base.el |
| 5551 | 5551 | ||
| 5552 | (defvar cua-mode nil "\ | 5552 | (defvar cua-mode nil "\ |
| @@ -5614,7 +5614,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. | |||
| 5614 | ;;;;;; customize-mode customize customize-save-variable customize-set-variable | 5614 | ;;;;;; customize-mode customize customize-save-variable customize-set-variable |
| 5615 | ;;;;;; customize-set-value custom-menu-sort-alphabetically custom-buffer-sort-alphabetically | 5615 | ;;;;;; customize-set-value custom-menu-sort-alphabetically custom-buffer-sort-alphabetically |
| 5616 | ;;;;;; custom-browse-sort-alphabetically) "cus-edit" "cus-edit.el" | 5616 | ;;;;;; custom-browse-sort-alphabetically) "cus-edit" "cus-edit.el" |
| 5617 | ;;;;;; (17994 6715)) | 5617 | ;;;;;; (17952 11093)) |
| 5618 | ;;; Generated autoloads from cus-edit.el | 5618 | ;;; Generated autoloads from cus-edit.el |
| 5619 | 5619 | ||
| 5620 | (defvar custom-browse-sort-alphabetically nil "\ | 5620 | (defvar custom-browse-sort-alphabetically nil "\ |
| @@ -5912,7 +5912,7 @@ The format is suitable for use with `easy-menu-define'. | |||
| 5912 | ;;;*** | 5912 | ;;;*** |
| 5913 | 5913 | ||
| 5914 | ;;;### (autoloads (custom-reset-faces custom-theme-reset-faces custom-set-faces | 5914 | ;;;### (autoloads (custom-reset-faces custom-theme-reset-faces custom-set-faces |
| 5915 | ;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17994 6750)) | 5915 | ;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17842 58280)) |
| 5916 | ;;; Generated autoloads from cus-face.el | 5916 | ;;; Generated autoloads from cus-face.el |
| 5917 | 5917 | ||
| 5918 | (autoload (quote custom-declare-face) "cus-face" "\ | 5918 | (autoload (quote custom-declare-face) "cus-face" "\ |
| @@ -5982,7 +5982,7 @@ This means reset FACE to its value in FROM-THEME. | |||
| 5982 | ;;;*** | 5982 | ;;;*** |
| 5983 | 5983 | ||
| 5984 | ;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el" | 5984 | ;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el" |
| 5985 | ;;;;;; (17994 6715)) | 5985 | ;;;;;; (17842 58280)) |
| 5986 | ;;; Generated autoloads from cus-theme.el | 5986 | ;;; Generated autoloads from cus-theme.el |
| 5987 | 5987 | ||
| 5988 | (autoload (quote customize-create-theme) "cus-theme" "\ | 5988 | (autoload (quote customize-create-theme) "cus-theme" "\ |
| @@ -5993,7 +5993,7 @@ Create a custom theme. | |||
| 5993 | ;;;*** | 5993 | ;;;*** |
| 5994 | 5994 | ||
| 5995 | ;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el" | 5995 | ;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el" |
| 5996 | ;;;;;; (17994 6715)) | 5996 | ;;;;;; (17842 58280)) |
| 5997 | ;;; Generated autoloads from cvs-status.el | 5997 | ;;; Generated autoloads from cvs-status.el |
| 5998 | 5998 | ||
| 5999 | (autoload (quote cvs-status-mode) "cvs-status" "\ | 5999 | (autoload (quote cvs-status-mode) "cvs-status" "\ |
| @@ -6004,7 +6004,7 @@ Mode used for cvs status output. | |||
| 6004 | ;;;*** | 6004 | ;;;*** |
| 6005 | 6005 | ||
| 6006 | ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode) | 6006 | ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode) |
| 6007 | ;;;;;; "cwarn" "progmodes/cwarn.el" (17994 6715)) | 6007 | ;;;;;; "cwarn" "progmodes/cwarn.el" (17860 50532)) |
| 6008 | ;;; Generated autoloads from progmodes/cwarn.el | 6008 | ;;; Generated autoloads from progmodes/cwarn.el |
| 6009 | 6009 | ||
| 6010 | (autoload (quote cwarn-mode) "cwarn" "\ | 6010 | (autoload (quote cwarn-mode) "cwarn" "\ |
| @@ -6047,7 +6047,7 @@ See `cwarn-mode' for more information on Cwarn mode. | |||
| 6047 | 6047 | ||
| 6048 | ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char | 6048 | ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char |
| 6049 | ;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" | 6049 | ;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" |
| 6050 | ;;;;;; (17994 6715)) | 6050 | ;;;;;; (17842 58278)) |
| 6051 | ;;; Generated autoloads from language/cyril-util.el | 6051 | ;;; Generated autoloads from language/cyril-util.el |
| 6052 | 6052 | ||
| 6053 | (autoload (quote cyrillic-encode-koi8-r-char) "cyril-util" "\ | 6053 | (autoload (quote cyrillic-encode-koi8-r-char) "cyril-util" "\ |
| @@ -6076,7 +6076,7 @@ If the argument is nil, we return the display table to its standard state. | |||
| 6076 | ;;;*** | 6076 | ;;;*** |
| 6077 | 6077 | ||
| 6078 | ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" | 6078 | ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" |
| 6079 | ;;;;;; (18000 24333)) | 6079 | ;;;;;; (18006 55794)) |
| 6080 | ;;; Generated autoloads from dabbrev.el | 6080 | ;;; Generated autoloads from dabbrev.el |
| 6081 | (define-key esc-map "/" 'dabbrev-expand) | 6081 | (define-key esc-map "/" 'dabbrev-expand) |
| 6082 | (define-key esc-map [?\C-/] 'dabbrev-completion) | 6082 | (define-key esc-map [?\C-/] 'dabbrev-completion) |
| @@ -6120,8 +6120,8 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]. | |||
| 6120 | 6120 | ||
| 6121 | ;;;*** | 6121 | ;;;*** |
| 6122 | 6122 | ||
| 6123 | ;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17994 | 6123 | ;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17949 |
| 6124 | ;;;;;; 6715)) | 6124 | ;;;;;; 41468)) |
| 6125 | ;;; Generated autoloads from progmodes/dcl-mode.el | 6125 | ;;; Generated autoloads from progmodes/dcl-mode.el |
| 6126 | 6126 | ||
| 6127 | (autoload (quote dcl-mode) "dcl-mode" "\ | 6127 | (autoload (quote dcl-mode) "dcl-mode" "\ |
| @@ -6248,7 +6248,7 @@ There is some minimal font-lock support (see vars | |||
| 6248 | ;;;*** | 6248 | ;;;*** |
| 6249 | 6249 | ||
| 6250 | ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" | 6250 | ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" |
| 6251 | ;;;;;; "emacs-lisp/debug.el" (17994 6715)) | 6251 | ;;;;;; "emacs-lisp/debug.el" (17842 54152)) |
| 6252 | ;;; Generated autoloads from emacs-lisp/debug.el | 6252 | ;;; Generated autoloads from emacs-lisp/debug.el |
| 6253 | 6253 | ||
| 6254 | (setq debugger (quote debug)) | 6254 | (setq debugger (quote debug)) |
| @@ -6292,7 +6292,7 @@ To specify a nil argument interactively, exit with an empty minibuffer. | |||
| 6292 | ;;;*** | 6292 | ;;;*** |
| 6293 | 6293 | ||
| 6294 | ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" | 6294 | ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" |
| 6295 | ;;;;;; (17994 6715)) | 6295 | ;;;;;; (17842 55395)) |
| 6296 | ;;; Generated autoloads from play/decipher.el | 6296 | ;;; Generated autoloads from play/decipher.el |
| 6297 | 6297 | ||
| 6298 | (autoload (quote decipher) "decipher" "\ | 6298 | (autoload (quote decipher) "decipher" "\ |
| @@ -6321,8 +6321,8 @@ The most useful commands are: | |||
| 6321 | ;;;*** | 6321 | ;;;*** |
| 6322 | 6322 | ||
| 6323 | ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region | 6323 | ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region |
| 6324 | ;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17994 | 6324 | ;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17842 |
| 6325 | ;;;;;; 6715)) | 6325 | ;;;;;; 58280)) |
| 6326 | ;;; Generated autoloads from delim-col.el | 6326 | ;;; Generated autoloads from delim-col.el |
| 6327 | 6327 | ||
| 6328 | (autoload (quote delimit-columns-customize) "delim-col" "\ | 6328 | (autoload (quote delimit-columns-customize) "delim-col" "\ |
| @@ -6346,8 +6346,8 @@ START and END delimits the corners of text rectangle. | |||
| 6346 | 6346 | ||
| 6347 | ;;;*** | 6347 | ;;;*** |
| 6348 | 6348 | ||
| 6349 | ;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17994 | 6349 | ;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17842 |
| 6350 | ;;;;;; 6715)) | 6350 | ;;;;;; 56333)) |
| 6351 | ;;; Generated autoloads from progmodes/delphi.el | 6351 | ;;; Generated autoloads from progmodes/delphi.el |
| 6352 | 6352 | ||
| 6353 | (autoload (quote delphi-mode) "delphi" "\ | 6353 | (autoload (quote delphi-mode) "delphi" "\ |
| @@ -6397,8 +6397,8 @@ no args, if that value is non-nil. | |||
| 6397 | 6397 | ||
| 6398 | ;;;*** | 6398 | ;;;*** |
| 6399 | 6399 | ||
| 6400 | ;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17994 | 6400 | ;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17842 |
| 6401 | ;;;;;; 6715)) | 6401 | ;;;;;; 58280)) |
| 6402 | ;;; Generated autoloads from delsel.el | 6402 | ;;; Generated autoloads from delsel.el |
| 6403 | 6403 | ||
| 6404 | (defalias (quote pending-delete-mode) (quote delete-selection-mode)) | 6404 | (defalias (quote pending-delete-mode) (quote delete-selection-mode)) |
| @@ -6427,7 +6427,7 @@ any selection. | |||
| 6427 | ;;;*** | 6427 | ;;;*** |
| 6428 | 6428 | ||
| 6429 | ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) | 6429 | ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) |
| 6430 | ;;;;;; "derived" "emacs-lisp/derived.el" (17994 6715)) | 6430 | ;;;;;; "derived" "emacs-lisp/derived.el" (17842 54152)) |
| 6431 | ;;; Generated autoloads from emacs-lisp/derived.el | 6431 | ;;; Generated autoloads from emacs-lisp/derived.el |
| 6432 | 6432 | ||
| 6433 | (autoload (quote define-derived-mode) "derived" "\ | 6433 | (autoload (quote define-derived-mode) "derived" "\ |
| @@ -6492,7 +6492,7 @@ the first time the mode is used. | |||
| 6492 | ;;;*** | 6492 | ;;;*** |
| 6493 | 6493 | ||
| 6494 | ;;;### (autoloads (describe-char describe-text-properties) "descr-text" | 6494 | ;;;### (autoloads (describe-char describe-text-properties) "descr-text" |
| 6495 | ;;;;;; "descr-text.el" (17994 6715)) | 6495 | ;;;;;; "descr-text.el" (17874 62047)) |
| 6496 | ;;; Generated autoloads from descr-text.el | 6496 | ;;; Generated autoloads from descr-text.el |
| 6497 | 6497 | ||
| 6498 | (autoload (quote describe-text-properties) "descr-text" "\ | 6498 | (autoload (quote describe-text-properties) "descr-text" "\ |
| @@ -6518,7 +6518,7 @@ as well as widgets, buttons, overlays, and text properties. | |||
| 6518 | ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir | 6518 | ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir |
| 6519 | ;;;;;; desktop-load-default desktop-read desktop-remove desktop-save | 6519 | ;;;;;; desktop-load-default desktop-read desktop-remove desktop-save |
| 6520 | ;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" | 6520 | ;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" |
| 6521 | ;;;;;; "desktop.el" (17994 6715)) | 6521 | ;;;;;; "desktop.el" (17949 41467)) |
| 6522 | ;;; Generated autoloads from desktop.el | 6522 | ;;; Generated autoloads from desktop.el |
| 6523 | 6523 | ||
| 6524 | (defvar desktop-save-mode nil "\ | 6524 | (defvar desktop-save-mode nil "\ |
| @@ -6701,7 +6701,7 @@ Revert to the last loaded desktop. | |||
| 6701 | 6701 | ||
| 6702 | ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article | 6702 | ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article |
| 6703 | ;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) | 6703 | ;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) |
| 6704 | ;;;;;; "deuglify" "gnus/deuglify.el" (17994 6715)) | 6704 | ;;;;;; "deuglify" "gnus/deuglify.el" (17842 54741)) |
| 6705 | ;;; Generated autoloads from gnus/deuglify.el | 6705 | ;;; Generated autoloads from gnus/deuglify.el |
| 6706 | 6706 | ||
| 6707 | (autoload (quote gnus-article-outlook-unwrap-lines) "deuglify" "\ | 6707 | (autoload (quote gnus-article-outlook-unwrap-lines) "deuglify" "\ |
| @@ -6734,7 +6734,7 @@ Deuglify broken Outlook (Express) articles and redisplay. | |||
| 6734 | ;;;*** | 6734 | ;;;*** |
| 6735 | 6735 | ||
| 6736 | ;;;### (autoloads (devanagari-post-read-conversion devanagari-compose-region) | 6736 | ;;;### (autoloads (devanagari-post-read-conversion devanagari-compose-region) |
| 6737 | ;;;;;; "devan-util" "language/devan-util.el" (17994 6715)) | 6737 | ;;;;;; "devan-util" "language/devan-util.el" (17842 58278)) |
| 6738 | ;;; Generated autoloads from language/devan-util.el | 6738 | ;;; Generated autoloads from language/devan-util.el |
| 6739 | 6739 | ||
| 6740 | (defconst devanagari-consonant "[\x51ad5-\x51af9\x51b38-\x51b3f]") | 6740 | (defconst devanagari-consonant "[\x51ad5-\x51af9\x51b38-\x51b3f]") |
| @@ -6752,7 +6752,7 @@ Not documented | |||
| 6752 | ;;;*** | 6752 | ;;;*** |
| 6753 | 6753 | ||
| 6754 | ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" | 6754 | ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" |
| 6755 | ;;;;;; "calendar/diary-lib.el" (17994 6715)) | 6755 | ;;;;;; "calendar/diary-lib.el" (17958 11887)) |
| 6756 | ;;; Generated autoloads from calendar/diary-lib.el | 6756 | ;;; Generated autoloads from calendar/diary-lib.el |
| 6757 | 6757 | ||
| 6758 | (autoload (quote diary) "diary-lib" "\ | 6758 | (autoload (quote diary) "diary-lib" "\ |
| @@ -6798,7 +6798,7 @@ Major mode for editing the diary file. | |||
| 6798 | ;;;*** | 6798 | ;;;*** |
| 6799 | 6799 | ||
| 6800 | ;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff" | 6800 | ;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff" |
| 6801 | ;;;;;; "diff.el" (17994 6736)) | 6801 | ;;;;;; "diff.el" (17992 30877)) |
| 6802 | ;;; Generated autoloads from diff.el | 6802 | ;;; Generated autoloads from diff.el |
| 6803 | 6803 | ||
| 6804 | (defvar diff-switches "-c" "\ | 6804 | (defvar diff-switches "-c" "\ |
| @@ -6832,7 +6832,7 @@ With prefix arg, prompt for diff switches. | |||
| 6832 | ;;;*** | 6832 | ;;;*** |
| 6833 | 6833 | ||
| 6834 | ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el" | 6834 | ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el" |
| 6835 | ;;;;;; (17994 6740)) | 6835 | ;;;;;; (17992 30877)) |
| 6836 | ;;; Generated autoloads from diff-mode.el | 6836 | ;;; Generated autoloads from diff-mode.el |
| 6837 | 6837 | ||
| 6838 | (autoload (quote diff-mode) "diff-mode" "\ | 6838 | (autoload (quote diff-mode) "diff-mode" "\ |
| @@ -6864,7 +6864,7 @@ Minor mode for viewing/editing context diffs. | |||
| 6864 | ;;;;;; dired dired-copy-preserve-time dired-dwim-target dired-keep-marker-symlink | 6864 | ;;;;;; dired dired-copy-preserve-time dired-dwim-target dired-keep-marker-symlink |
| 6865 | ;;;;;; dired-keep-marker-hardlink dired-keep-marker-copy dired-keep-marker-rename | 6865 | ;;;;;; dired-keep-marker-hardlink dired-keep-marker-copy dired-keep-marker-rename |
| 6866 | ;;;;;; dired-trivial-filenames dired-ls-F-marks-symlinks dired-listing-switches) | 6866 | ;;;;;; dired-trivial-filenames dired-ls-F-marks-symlinks dired-listing-switches) |
| 6867 | ;;;;;; "dired" "dired.el" (18000 24335)) | 6867 | ;;;;;; "dired" "dired.el" (18015 32019)) |
| 6868 | ;;; Generated autoloads from dired.el | 6868 | ;;; Generated autoloads from dired.el |
| 6869 | 6869 | ||
| 6870 | (defvar dired-listing-switches "-al" "\ | 6870 | (defvar dired-listing-switches "-al" "\ |
| @@ -7069,7 +7069,7 @@ Keybindings: | |||
| 7069 | ;;;;;; dired-run-shell-command dired-do-shell-command dired-clean-directory | 7069 | ;;;;;; dired-run-shell-command dired-do-shell-command dired-clean-directory |
| 7070 | ;;;;;; dired-do-print dired-do-touch dired-do-chown dired-do-chgrp | 7070 | ;;;;;; dired-do-print dired-do-touch dired-do-chown dired-do-chgrp |
| 7071 | ;;;;;; dired-do-chmod dired-compare-directories dired-backup-diff | 7071 | ;;;;;; dired-do-chmod dired-compare-directories dired-backup-diff |
| 7072 | ;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17994 6715)) | 7072 | ;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17859 20444)) |
| 7073 | ;;; Generated autoloads from dired-aux.el | 7073 | ;;; Generated autoloads from dired-aux.el |
| 7074 | 7074 | ||
| 7075 | (autoload (quote dired-diff) "dired-aux" "\ | 7075 | (autoload (quote dired-diff) "dired-aux" "\ |
| @@ -7484,7 +7484,7 @@ true then the type of the file linked to by FILE is printed instead. | |||
| 7484 | ;;;*** | 7484 | ;;;*** |
| 7485 | 7485 | ||
| 7486 | ;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el" | 7486 | ;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el" |
| 7487 | ;;;;;; (17994 6731)) | 7487 | ;;;;;; (17992 30877)) |
| 7488 | ;;; Generated autoloads from dired-x.el | 7488 | ;;; Generated autoloads from dired-x.el |
| 7489 | 7489 | ||
| 7490 | (autoload (quote dired-jump) "dired-x" "\ | 7490 | (autoload (quote dired-jump) "dired-x" "\ |
| @@ -7513,7 +7513,7 @@ For absolute symlinks, use \\[dired-do-symlink]. | |||
| 7513 | 7513 | ||
| 7514 | ;;;*** | 7514 | ;;;*** |
| 7515 | 7515 | ||
| 7516 | ;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17994 6715)) | 7516 | ;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17842 58280)) |
| 7517 | ;;; Generated autoloads from dirtrack.el | 7517 | ;;; Generated autoloads from dirtrack.el |
| 7518 | 7518 | ||
| 7519 | (autoload (quote dirtrack) "dirtrack" "\ | 7519 | (autoload (quote dirtrack) "dirtrack" "\ |
| @@ -7532,8 +7532,8 @@ You can enable directory tracking by adding this function to | |||
| 7532 | 7532 | ||
| 7533 | ;;;*** | 7533 | ;;;*** |
| 7534 | 7534 | ||
| 7535 | ;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17994 | 7535 | ;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17842 |
| 7536 | ;;;;;; 6715)) | 7536 | ;;;;;; 54152)) |
| 7537 | ;;; Generated autoloads from emacs-lisp/disass.el | 7537 | ;;; Generated autoloads from emacs-lisp/disass.el |
| 7538 | 7538 | ||
| 7539 | (autoload (quote disassemble) "disass" "\ | 7539 | (autoload (quote disassemble) "disass" "\ |
| @@ -7552,7 +7552,7 @@ redefine OBJECT if it is a symbol. | |||
| 7552 | ;;;;;; standard-display-g1 standard-display-ascii standard-display-default | 7552 | ;;;;;; standard-display-g1 standard-display-ascii standard-display-default |
| 7553 | ;;;;;; standard-display-8bit describe-current-display-table describe-display-table | 7553 | ;;;;;; standard-display-8bit describe-current-display-table describe-display-table |
| 7554 | ;;;;;; set-display-table-slot display-table-slot make-display-table) | 7554 | ;;;;;; set-display-table-slot display-table-slot make-display-table) |
| 7555 | ;;;;;; "disp-table" "disp-table.el" (17994 6715)) | 7555 | ;;;;;; "disp-table" "disp-table.el" (17874 62056)) |
| 7556 | ;;; Generated autoloads from disp-table.el | 7556 | ;;; Generated autoloads from disp-table.el |
| 7557 | 7557 | ||
| 7558 | (autoload (quote make-display-table) "disp-table" "\ | 7558 | (autoload (quote make-display-table) "disp-table" "\ |
| @@ -7668,7 +7668,7 @@ for users who call this function in `.emacs'. | |||
| 7668 | ;;;*** | 7668 | ;;;*** |
| 7669 | 7669 | ||
| 7670 | ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" | 7670 | ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" |
| 7671 | ;;;;;; (17994 6715)) | 7671 | ;;;;;; (17941 38806)) |
| 7672 | ;;; Generated autoloads from play/dissociate.el | 7672 | ;;; Generated autoloads from play/dissociate.el |
| 7673 | 7673 | ||
| 7674 | (autoload (quote dissociated-press) "dissociate" "\ | 7674 | (autoload (quote dissociated-press) "dissociate" "\ |
| @@ -7684,7 +7684,7 @@ Default is 2. | |||
| 7684 | 7684 | ||
| 7685 | ;;;*** | 7685 | ;;;*** |
| 7686 | 7686 | ||
| 7687 | ;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17994 6715)) | 7687 | ;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17949 41467)) |
| 7688 | ;;; Generated autoloads from dnd.el | 7688 | ;;; Generated autoloads from dnd.el |
| 7689 | 7689 | ||
| 7690 | (defvar dnd-protocol-alist (quote (("^file:///" . dnd-open-local-file) ("^file://" . dnd-open-file) ("^file:" . dnd-open-local-file) ("^\\(https?\\|ftp\\|file\\|nfs\\)://" . dnd-open-file))) "\ | 7690 | (defvar dnd-protocol-alist (quote (("^file:///" . dnd-open-local-file) ("^file://" . dnd-open-file) ("^file:" . dnd-open-local-file) ("^\\(https?\\|ftp\\|file\\|nfs\\)://" . dnd-open-file))) "\ |
| @@ -7705,7 +7705,7 @@ if some action was made, or nil if the URL is ignored.") | |||
| 7705 | ;;;*** | 7705 | ;;;*** |
| 7706 | 7706 | ||
| 7707 | ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" | 7707 | ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" |
| 7708 | ;;;;;; "textmodes/dns-mode.el" (17994 6715)) | 7708 | ;;;;;; "textmodes/dns-mode.el" (17842 58277)) |
| 7709 | ;;; Generated autoloads from textmodes/dns-mode.el | 7709 | ;;; Generated autoloads from textmodes/dns-mode.el |
| 7710 | 7710 | ||
| 7711 | (autoload (quote dns-mode) "dns-mode" "\ | 7711 | (autoload (quote dns-mode) "dns-mode" "\ |
| @@ -7729,7 +7729,7 @@ Locate SOA record and increment the serial field. | |||
| 7729 | 7729 | ||
| 7730 | ;;;*** | 7730 | ;;;*** |
| 7731 | 7731 | ||
| 7732 | ;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17994 6715)) | 7732 | ;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17941 38806)) |
| 7733 | ;;; Generated autoloads from play/doctor.el | 7733 | ;;; Generated autoloads from play/doctor.el |
| 7734 | 7734 | ||
| 7735 | (autoload (quote doctor) "doctor" "\ | 7735 | (autoload (quote doctor) "doctor" "\ |
| @@ -7740,7 +7740,7 @@ Switch to *doctor* buffer and start giving psychotherapy. | |||
| 7740 | ;;;*** | 7740 | ;;;*** |
| 7741 | 7741 | ||
| 7742 | ;;;### (autoloads (double-mode double-mode) "double" "double.el" | 7742 | ;;;### (autoloads (double-mode double-mode) "double" "double.el" |
| 7743 | ;;;;;; (17994 6750)) | 7743 | ;;;;;; (17842 58280)) |
| 7744 | ;;; Generated autoloads from double.el | 7744 | ;;; Generated autoloads from double.el |
| 7745 | 7745 | ||
| 7746 | (defvar double-mode nil "\ | 7746 | (defvar double-mode nil "\ |
| @@ -7761,7 +7761,7 @@ when pressed twice. See variable `double-map' for details. | |||
| 7761 | 7761 | ||
| 7762 | ;;;*** | 7762 | ;;;*** |
| 7763 | 7763 | ||
| 7764 | ;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17994 6715)) | 7764 | ;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17842 55395)) |
| 7765 | ;;; Generated autoloads from play/dunnet.el | 7765 | ;;; Generated autoloads from play/dunnet.el |
| 7766 | 7766 | ||
| 7767 | (autoload (quote dunnet) "dunnet" "\ | 7767 | (autoload (quote dunnet) "dunnet" "\ |
| @@ -7772,7 +7772,7 @@ Switch to *dungeon* buffer and start game. | |||
| 7772 | ;;;*** | 7772 | ;;;*** |
| 7773 | 7773 | ||
| 7774 | ;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el" | 7774 | ;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el" |
| 7775 | ;;;;;; (17994 6715)) | 7775 | ;;;;;; (17842 54741)) |
| 7776 | ;;; Generated autoloads from gnus/earcon.el | 7776 | ;;; Generated autoloads from gnus/earcon.el |
| 7777 | 7777 | ||
| 7778 | (autoload (quote gnus-earcon-display) "earcon" "\ | 7778 | (autoload (quote gnus-earcon-display) "earcon" "\ |
| @@ -7784,7 +7784,7 @@ Play sounds in message buffers. | |||
| 7784 | 7784 | ||
| 7785 | ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap | 7785 | ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap |
| 7786 | ;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" | 7786 | ;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" |
| 7787 | ;;;;;; "emacs-lisp/easy-mmode.el" (17994 6743)) | 7787 | ;;;;;; "emacs-lisp/easy-mmode.el" (17992 30878)) |
| 7788 | ;;; Generated autoloads from emacs-lisp/easy-mmode.el | 7788 | ;;; Generated autoloads from emacs-lisp/easy-mmode.el |
| 7789 | 7789 | ||
| 7790 | (defalias (quote easy-mmode-define-minor-mode) (quote define-minor-mode)) | 7790 | (defalias (quote easy-mmode-define-minor-mode) (quote define-minor-mode)) |
| @@ -7878,8 +7878,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX). | |||
| 7878 | ;;;*** | 7878 | ;;;*** |
| 7879 | 7879 | ||
| 7880 | ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define | 7880 | ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define |
| 7881 | ;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17994 | 7881 | ;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17842 |
| 7882 | ;;;;;; 6715)) | 7882 | ;;;;;; 54152)) |
| 7883 | ;;; Generated autoloads from emacs-lisp/easymenu.el | 7883 | ;;; Generated autoloads from emacs-lisp/easymenu.el |
| 7884 | 7884 | ||
| 7885 | (put (quote easy-menu-define) (quote lisp-indent-function) (quote defun)) | 7885 | (put (quote easy-menu-define) (quote lisp-indent-function) (quote defun)) |
| @@ -8028,7 +8028,7 @@ To implement dynamic menus, either call this from | |||
| 8028 | ;;;;;; ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer ebnf-spool-file | 8028 | ;;;;;; ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer ebnf-spool-file |
| 8029 | ;;;;;; ebnf-spool-directory ebnf-print-region ebnf-print-buffer | 8029 | ;;;;;; ebnf-spool-directory ebnf-print-region ebnf-print-buffer |
| 8030 | ;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" | 8030 | ;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" |
| 8031 | ;;;;;; "progmodes/ebnf2ps.el" (17994 6715)) | 8031 | ;;;;;; "progmodes/ebnf2ps.el" (17952 11093)) |
| 8032 | ;;; Generated autoloads from progmodes/ebnf2ps.el | 8032 | ;;; Generated autoloads from progmodes/ebnf2ps.el |
| 8033 | 8033 | ||
| 8034 | (autoload (quote ebnf-customize) "ebnf2ps" "\ | 8034 | (autoload (quote ebnf-customize) "ebnf2ps" "\ |
| @@ -8295,8 +8295,8 @@ See `ebnf-style-database' documentation. | |||
| 8295 | ;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition | 8295 | ;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition |
| 8296 | ;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration | 8296 | ;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration |
| 8297 | ;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree | 8297 | ;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree |
| 8298 | ;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17994 | 8298 | ;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17821 |
| 8299 | ;;;;;; 6751)) | 8299 | ;;;;;; 5918)) |
| 8300 | ;;; Generated autoloads from progmodes/ebrowse.el | 8300 | ;;; Generated autoloads from progmodes/ebrowse.el |
| 8301 | 8301 | ||
| 8302 | (autoload (quote ebrowse-tree-mode) "ebrowse" "\ | 8302 | (autoload (quote ebrowse-tree-mode) "ebrowse" "\ |
| @@ -8447,7 +8447,7 @@ Display statistics for a class tree. | |||
| 8447 | ;;;*** | 8447 | ;;;*** |
| 8448 | 8448 | ||
| 8449 | ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" | 8449 | ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" |
| 8450 | ;;;;;; (17994 6750)) | 8450 | ;;;;;; (17842 58280)) |
| 8451 | ;;; Generated autoloads from ebuff-menu.el | 8451 | ;;; Generated autoloads from ebuff-menu.el |
| 8452 | 8452 | ||
| 8453 | (autoload (quote electric-buffer-list) "ebuff-menu" "\ | 8453 | (autoload (quote electric-buffer-list) "ebuff-menu" "\ |
| @@ -8472,7 +8472,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry. | |||
| 8472 | ;;;*** | 8472 | ;;;*** |
| 8473 | 8473 | ||
| 8474 | ;;;### (autoloads (Electric-command-history-redo-expression) "echistory" | 8474 | ;;;### (autoloads (Electric-command-history-redo-expression) "echistory" |
| 8475 | ;;;;;; "echistory.el" (17994 6750)) | 8475 | ;;;;;; "echistory.el" (17842 58280)) |
| 8476 | ;;; Generated autoloads from echistory.el | 8476 | ;;; Generated autoloads from echistory.el |
| 8477 | 8477 | ||
| 8478 | (autoload (quote Electric-command-history-redo-expression) "echistory" "\ | 8478 | (autoload (quote Electric-command-history-redo-expression) "echistory" "\ |
| @@ -8485,7 +8485,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing. | |||
| 8485 | 8485 | ||
| 8486 | ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form | 8486 | ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form |
| 8487 | ;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" | 8487 | ;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" |
| 8488 | ;;;;;; "emacs-lisp/edebug.el" (17994 6715)) | 8488 | ;;;;;; "emacs-lisp/edebug.el" (17952 11093)) |
| 8489 | ;;; Generated autoloads from emacs-lisp/edebug.el | 8489 | ;;; Generated autoloads from emacs-lisp/edebug.el |
| 8490 | 8490 | ||
| 8491 | (defvar edebug-all-defs nil "\ | 8491 | (defvar edebug-all-defs nil "\ |
| @@ -8558,7 +8558,7 @@ Toggle edebugging of all forms. | |||
| 8558 | ;;;;;; ediff-merge-directory-revisions ediff-merge-directories-with-ancestor | 8558 | ;;;;;; ediff-merge-directory-revisions ediff-merge-directories-with-ancestor |
| 8559 | ;;;;;; ediff-merge-directories ediff-directories3 ediff-directory-revisions | 8559 | ;;;;;; ediff-merge-directories ediff-directories3 ediff-directory-revisions |
| 8560 | ;;;;;; ediff-directories ediff-buffers3 ediff-buffers ediff-backup | 8560 | ;;;;;; ediff-directories ediff-buffers3 ediff-buffers ediff-backup |
| 8561 | ;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17994 6715)) | 8561 | ;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17846 30361)) |
| 8562 | ;;; Generated autoloads from ediff.el | 8562 | ;;; Generated autoloads from ediff.el |
| 8563 | 8563 | ||
| 8564 | (autoload (quote ediff-files) "ediff" "\ | 8564 | (autoload (quote ediff-files) "ediff" "\ |
| @@ -8790,7 +8790,7 @@ With optional NODE, goes to that node. | |||
| 8790 | ;;;*** | 8790 | ;;;*** |
| 8791 | 8791 | ||
| 8792 | ;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el" | 8792 | ;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el" |
| 8793 | ;;;;;; (17994 6715)) | 8793 | ;;;;;; (17842 58280)) |
| 8794 | ;;; Generated autoloads from ediff-help.el | 8794 | ;;; Generated autoloads from ediff-help.el |
| 8795 | 8795 | ||
| 8796 | (autoload (quote ediff-customize) "ediff-help" "\ | 8796 | (autoload (quote ediff-customize) "ediff-help" "\ |
| @@ -8800,7 +8800,7 @@ Not documented | |||
| 8800 | 8800 | ||
| 8801 | ;;;*** | 8801 | ;;;*** |
| 8802 | 8802 | ||
| 8803 | ;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17994 6715)) | 8803 | ;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17842 58280)) |
| 8804 | ;;; Generated autoloads from ediff-hook.el | 8804 | ;;; Generated autoloads from ediff-hook.el |
| 8805 | 8805 | ||
| 8806 | (defvar ediff-window-setup-function) | 8806 | (defvar ediff-window-setup-function) |
| @@ -8813,7 +8813,7 @@ Not documented | |||
| 8813 | ;;;*** | 8813 | ;;;*** |
| 8814 | 8814 | ||
| 8815 | ;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el" | 8815 | ;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el" |
| 8816 | ;;;;;; (17994 6715)) | 8816 | ;;;;;; (17842 58279)) |
| 8817 | ;;; Generated autoloads from ediff-mult.el | 8817 | ;;; Generated autoloads from ediff-mult.el |
| 8818 | 8818 | ||
| 8819 | (autoload (quote ediff-show-registry) "ediff-mult" "\ | 8819 | (autoload (quote ediff-show-registry) "ediff-mult" "\ |
| @@ -8826,7 +8826,7 @@ Display Ediff's registry. | |||
| 8826 | ;;;*** | 8826 | ;;;*** |
| 8827 | 8827 | ||
| 8828 | ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) | 8828 | ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) |
| 8829 | ;;;;;; "ediff-util" "ediff-util.el" (17994 6715)) | 8829 | ;;;;;; "ediff-util" "ediff-util.el" (17846 30361)) |
| 8830 | ;;; Generated autoloads from ediff-util.el | 8830 | ;;; Generated autoloads from ediff-util.el |
| 8831 | 8831 | ||
| 8832 | (autoload (quote ediff-toggle-multiframe) "ediff-util" "\ | 8832 | (autoload (quote ediff-toggle-multiframe) "ediff-util" "\ |
| @@ -8847,7 +8847,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see. | |||
| 8847 | 8847 | ||
| 8848 | ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro | 8848 | ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro |
| 8849 | ;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" | 8849 | ;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" |
| 8850 | ;;;;;; (17994 6750)) | 8850 | ;;;;;; (17842 58279)) |
| 8851 | ;;; Generated autoloads from edmacro.el | 8851 | ;;; Generated autoloads from edmacro.el |
| 8852 | 8852 | ||
| 8853 | (defvar edmacro-eight-bits nil "\ | 8853 | (defvar edmacro-eight-bits nil "\ |
| @@ -8900,7 +8900,7 @@ or nil, use a compact 80-column format. | |||
| 8900 | ;;;*** | 8900 | ;;;*** |
| 8901 | 8901 | ||
| 8902 | ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" | 8902 | ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" |
| 8903 | ;;;;;; "emulation/edt.el" (17994 6715)) | 8903 | ;;;;;; "emulation/edt.el" (17842 54264)) |
| 8904 | ;;; Generated autoloads from emulation/edt.el | 8904 | ;;; Generated autoloads from emulation/edt.el |
| 8905 | 8905 | ||
| 8906 | (autoload (quote edt-set-scroll-margins) "edt" "\ | 8906 | (autoload (quote edt-set-scroll-margins) "edt" "\ |
| @@ -8918,7 +8918,7 @@ Turn on EDT Emulation. | |||
| 8918 | ;;;*** | 8918 | ;;;*** |
| 8919 | 8919 | ||
| 8920 | ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" | 8920 | ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" |
| 8921 | ;;;;;; (17994 6715)) | 8921 | ;;;;;; (17873 45892)) |
| 8922 | ;;; Generated autoloads from ehelp.el | 8922 | ;;; Generated autoloads from ehelp.el |
| 8923 | 8923 | ||
| 8924 | (autoload (quote with-electric-help) "ehelp" "\ | 8924 | (autoload (quote with-electric-help) "ehelp" "\ |
| @@ -8955,7 +8955,7 @@ Not documented | |||
| 8955 | ;;;*** | 8955 | ;;;*** |
| 8956 | 8956 | ||
| 8957 | ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string) | 8957 | ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string) |
| 8958 | ;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17994 6737)) | 8958 | ;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17992 30878)) |
| 8959 | ;;; Generated autoloads from emacs-lisp/eldoc.el | 8959 | ;;; Generated autoloads from emacs-lisp/eldoc.el |
| 8960 | 8960 | ||
| 8961 | (defvar eldoc-minor-mode-string " ElDoc" "\ | 8961 | (defvar eldoc-minor-mode-string " ElDoc" "\ |
| @@ -8993,8 +8993,8 @@ Emacs Lisp mode) that support Eldoc.") | |||
| 8993 | 8993 | ||
| 8994 | ;;;*** | 8994 | ;;;*** |
| 8995 | 8995 | ||
| 8996 | ;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17994 | 8996 | ;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17842 |
| 8997 | ;;;;;; 6715)) | 8997 | ;;;;;; 58279)) |
| 8998 | ;;; Generated autoloads from elide-head.el | 8998 | ;;; Generated autoloads from elide-head.el |
| 8999 | 8999 | ||
| 9000 | (autoload (quote elide-head) "elide-head" "\ | 9000 | (autoload (quote elide-head) "elide-head" "\ |
| @@ -9010,7 +9010,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks. | |||
| 9010 | ;;;*** | 9010 | ;;;*** |
| 9011 | 9011 | ||
| 9012 | ;;;### (autoloads (elint-initialize) "elint" "emacs-lisp/elint.el" | 9012 | ;;;### (autoloads (elint-initialize) "elint" "emacs-lisp/elint.el" |
| 9013 | ;;;;;; (17994 6715)) | 9013 | ;;;;;; (17842 54152)) |
| 9014 | ;;; Generated autoloads from emacs-lisp/elint.el | 9014 | ;;; Generated autoloads from emacs-lisp/elint.el |
| 9015 | 9015 | ||
| 9016 | (autoload (quote elint-initialize) "elint" "\ | 9016 | (autoload (quote elint-initialize) "elint" "\ |
| @@ -9021,8 +9021,8 @@ Initialize elint. | |||
| 9021 | ;;;*** | 9021 | ;;;*** |
| 9022 | 9022 | ||
| 9023 | ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list | 9023 | ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list |
| 9024 | ;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17994 | 9024 | ;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17842 |
| 9025 | ;;;;;; 6715)) | 9025 | ;;;;;; 54152)) |
| 9026 | ;;; Generated autoloads from emacs-lisp/elp.el | 9026 | ;;; Generated autoloads from emacs-lisp/elp.el |
| 9027 | 9027 | ||
| 9028 | (autoload (quote elp-instrument-function) "elp" "\ | 9028 | (autoload (quote elp-instrument-function) "elp" "\ |
| @@ -9056,7 +9056,7 @@ displayed. | |||
| 9056 | ;;;*** | 9056 | ;;;*** |
| 9057 | 9057 | ||
| 9058 | ;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" | 9058 | ;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" |
| 9059 | ;;;;;; (17994 6751)) | 9059 | ;;;;;; (17907 23437)) |
| 9060 | ;;; Generated autoloads from mail/emacsbug.el | 9060 | ;;; Generated autoloads from mail/emacsbug.el |
| 9061 | 9061 | ||
| 9062 | (autoload (quote report-emacs-bug) "emacsbug" "\ | 9062 | (autoload (quote report-emacs-bug) "emacsbug" "\ |
| @@ -9148,12 +9148,26 @@ Not documented | |||
| 9148 | 9148 | ||
| 9149 | ;;;*** | 9149 | ;;;*** |
| 9150 | 9150 | ||
| 9151 | ;;;### (autoloads (encoded-kbd-setup-display) "encoded-kb" "international/encoded-kb.el" | 9151 | ;;;### (autoloads (encoded-kbd-mode) "encoded-kb" "international/encoded-kb.el" |
| 9152 | ;;;;;; (17994 6751)) | 9152 | ;;;;;; (17842 54888)) |
| 9153 | ;;; Generated autoloads from international/encoded-kb.el | 9153 | ;;; Generated autoloads from international/encoded-kb.el |
| 9154 | 9154 | ||
| 9155 | (autoload (quote encoded-kbd-setup-display) "encoded-kb" "\ | 9155 | (defvar encoded-kbd-mode nil "\ |
| 9156 | Set up a `key-translation-map' for `keyboard-coding-system' on DISPLAY. | 9156 | Non-nil if Encoded-Kbd mode is enabled. |
| 9157 | See the command `encoded-kbd-mode' for a description of this minor mode. | ||
| 9158 | Setting this variable directly does not take effect; | ||
| 9159 | either customize it (see the info node `Easy Customization') | ||
| 9160 | or call the function `encoded-kbd-mode'.") | ||
| 9161 | |||
| 9162 | (custom-autoload (quote encoded-kbd-mode) "encoded-kb" nil) | ||
| 9163 | |||
| 9164 | (autoload (quote encoded-kbd-mode) "encoded-kb" "\ | ||
| 9165 | Toggle Encoded-kbd minor mode. | ||
| 9166 | With arg, turn Encoded-kbd mode on if and only if arg is positive. | ||
| 9167 | |||
| 9168 | You should not turn this mode on manually, instead use the command | ||
| 9169 | \\[set-keyboard-coding-system] which turns on or off this mode | ||
| 9170 | automatically. | ||
| 9157 | 9171 | ||
| 9158 | DISPLAY may be a display id, a frame, or nil for the selected frame's display. | 9172 | DISPLAY may be a display id, a frame, or nil for the selected frame's display. |
| 9159 | 9173 | ||
| @@ -9162,7 +9176,7 @@ DISPLAY may be a display id, a frame, or nil for the selected frame's display. | |||
| 9162 | ;;;*** | 9176 | ;;;*** |
| 9163 | 9177 | ||
| 9164 | ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) | 9178 | ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) |
| 9165 | ;;;;;; "enriched" "textmodes/enriched.el" (17994 6715)) | 9179 | ;;;;;; "enriched" "textmodes/enriched.el" (17842 58277)) |
| 9166 | ;;; Generated autoloads from textmodes/enriched.el | 9180 | ;;; Generated autoloads from textmodes/enriched.el |
| 9167 | 9181 | ||
| 9168 | (autoload (quote enriched-mode) "enriched" "\ | 9182 | (autoload (quote enriched-mode) "enriched" "\ |
| @@ -9193,7 +9207,7 @@ Not documented | |||
| 9193 | ;;;*** | 9207 | ;;;*** |
| 9194 | 9208 | ||
| 9195 | ;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc" | 9209 | ;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc" |
| 9196 | ;;;;;; "erc/erc.el" (17994 6715)) | 9210 | ;;;;;; "erc/erc.el" (17935 53318)) |
| 9197 | ;;; Generated autoloads from erc/erc.el | 9211 | ;;; Generated autoloads from erc/erc.el |
| 9198 | 9212 | ||
| 9199 | (autoload (quote erc-select-read-args) "erc" "\ | 9213 | (autoload (quote erc-select-read-args) "erc" "\ |
| @@ -9235,33 +9249,33 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL. | |||
| 9235 | 9249 | ||
| 9236 | ;;;*** | 9250 | ;;;*** |
| 9237 | 9251 | ||
| 9238 | ;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (17994 | 9252 | ;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (17935 |
| 9239 | ;;;;;; 6715)) | 9253 | ;;;;;; 53318)) |
| 9240 | ;;; Generated autoloads from erc/erc-autoaway.el | 9254 | ;;; Generated autoloads from erc/erc-autoaway.el |
| 9241 | (autoload 'erc-autoaway-mode "erc-autoaway") | 9255 | (autoload 'erc-autoaway-mode "erc-autoaway") |
| 9242 | 9256 | ||
| 9243 | ;;;*** | 9257 | ;;;*** |
| 9244 | 9258 | ||
| 9245 | ;;;### (autoloads nil "erc-button" "erc/erc-button.el" (17994 6715)) | 9259 | ;;;### (autoloads nil "erc-button" "erc/erc-button.el" (17935 53318)) |
| 9246 | ;;; Generated autoloads from erc/erc-button.el | 9260 | ;;; Generated autoloads from erc/erc-button.el |
| 9247 | (autoload 'erc-button-mode "erc-button" nil t) | 9261 | (autoload 'erc-button-mode "erc-button" nil t) |
| 9248 | 9262 | ||
| 9249 | ;;;*** | 9263 | ;;;*** |
| 9250 | 9264 | ||
| 9251 | ;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (17994 6715)) | 9265 | ;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (17935 53318)) |
| 9252 | ;;; Generated autoloads from erc/erc-capab.el | 9266 | ;;; Generated autoloads from erc/erc-capab.el |
| 9253 | (autoload 'erc-capab-identify-mode "erc-capab" nil t) | 9267 | (autoload 'erc-capab-identify-mode "erc-capab" nil t) |
| 9254 | 9268 | ||
| 9255 | ;;;*** | 9269 | ;;;*** |
| 9256 | 9270 | ||
| 9257 | ;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (17994 6715)) | 9271 | ;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (17935 53318)) |
| 9258 | ;;; Generated autoloads from erc/erc-compat.el | 9272 | ;;; Generated autoloads from erc/erc-compat.el |
| 9259 | (autoload 'erc-define-minor-mode "erc-compat") | 9273 | (autoload 'erc-define-minor-mode "erc-compat") |
| 9260 | 9274 | ||
| 9261 | ;;;*** | 9275 | ;;;*** |
| 9262 | 9276 | ||
| 9263 | ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) | 9277 | ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) |
| 9264 | ;;;;;; "erc-dcc" "erc/erc-dcc.el" (17994 6715)) | 9278 | ;;;;;; "erc-dcc" "erc/erc-dcc.el" (17842 54344)) |
| 9265 | ;;; Generated autoloads from erc/erc-dcc.el | 9279 | ;;; Generated autoloads from erc/erc-dcc.el |
| 9266 | 9280 | ||
| 9267 | (autoload (quote erc-cmd-DCC) "erc-dcc" "\ | 9281 | (autoload (quote erc-cmd-DCC) "erc-dcc" "\ |
| @@ -9293,7 +9307,7 @@ that subcommand. | |||
| 9293 | ;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list | 9307 | ;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list |
| 9294 | ;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action | 9308 | ;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action |
| 9295 | ;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" | 9309 | ;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" |
| 9296 | ;;;;;; (17994 6715)) | 9310 | ;;;;;; (17842 54344)) |
| 9297 | ;;; Generated autoloads from erc/erc-ezbounce.el | 9311 | ;;; Generated autoloads from erc/erc-ezbounce.el |
| 9298 | 9312 | ||
| 9299 | (autoload (quote erc-cmd-ezb) "erc-ezbounce" "\ | 9313 | (autoload (quote erc-cmd-ezb) "erc-ezbounce" "\ |
| @@ -9355,8 +9369,8 @@ Add EZBouncer convenience functions to ERC. | |||
| 9355 | 9369 | ||
| 9356 | ;;;*** | 9370 | ;;;*** |
| 9357 | 9371 | ||
| 9358 | ;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (17994 | 9372 | ;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (17935 |
| 9359 | ;;;;;; 6715)) | 9373 | ;;;;;; 53318)) |
| 9360 | ;;; Generated autoloads from erc/erc-fill.el | 9374 | ;;; Generated autoloads from erc/erc-fill.el |
| 9361 | (autoload 'erc-fill-mode "erc-fill" nil t) | 9375 | (autoload 'erc-fill-mode "erc-fill" nil t) |
| 9362 | 9376 | ||
| @@ -9368,15 +9382,15 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'. | |||
| 9368 | 9382 | ||
| 9369 | ;;;*** | 9383 | ;;;*** |
| 9370 | 9384 | ||
| 9371 | ;;;### (autoloads nil "erc-hecomplete" "erc/erc-hecomplete.el" (17994 | 9385 | ;;;### (autoloads nil "erc-hecomplete" "erc/erc-hecomplete.el" (17842 |
| 9372 | ;;;;;; 6715)) | 9386 | ;;;;;; 54344)) |
| 9373 | ;;; Generated autoloads from erc/erc-hecomplete.el | 9387 | ;;; Generated autoloads from erc/erc-hecomplete.el |
| 9374 | (autoload 'erc-hecomplete-mode "erc-hecomplete" nil t) | 9388 | (autoload 'erc-hecomplete-mode "erc-hecomplete" nil t) |
| 9375 | 9389 | ||
| 9376 | ;;;*** | 9390 | ;;;*** |
| 9377 | 9391 | ||
| 9378 | ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" | 9392 | ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" |
| 9379 | ;;;;;; "erc/erc-identd.el" (17994 6715)) | 9393 | ;;;;;; "erc/erc-identd.el" (17935 53318)) |
| 9380 | ;;; Generated autoloads from erc/erc-identd.el | 9394 | ;;; Generated autoloads from erc/erc-identd.el |
| 9381 | (autoload 'erc-identd-mode "erc-identd") | 9395 | (autoload 'erc-identd-mode "erc-identd") |
| 9382 | 9396 | ||
| @@ -9398,7 +9412,7 @@ Not documented | |||
| 9398 | ;;;*** | 9412 | ;;;*** |
| 9399 | 9413 | ||
| 9400 | ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" | 9414 | ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" |
| 9401 | ;;;;;; (17994 6715)) | 9415 | ;;;;;; (17842 54344)) |
| 9402 | ;;; Generated autoloads from erc/erc-imenu.el | 9416 | ;;; Generated autoloads from erc/erc-imenu.el |
| 9403 | 9417 | ||
| 9404 | (autoload (quote erc-create-imenu-index) "erc-imenu" "\ | 9418 | (autoload (quote erc-create-imenu-index) "erc-imenu" "\ |
| @@ -9408,14 +9422,14 @@ Not documented | |||
| 9408 | 9422 | ||
| 9409 | ;;;*** | 9423 | ;;;*** |
| 9410 | 9424 | ||
| 9411 | ;;;### (autoloads nil "erc-join" "erc/erc-join.el" (17994 6715)) | 9425 | ;;;### (autoloads nil "erc-join" "erc/erc-join.el" (17842 54344)) |
| 9412 | ;;; Generated autoloads from erc/erc-join.el | 9426 | ;;; Generated autoloads from erc/erc-join.el |
| 9413 | (autoload 'erc-autojoin-mode "erc-join" nil t) | 9427 | (autoload 'erc-autojoin-mode "erc-join" nil t) |
| 9414 | 9428 | ||
| 9415 | ;;;*** | 9429 | ;;;*** |
| 9416 | 9430 | ||
| 9417 | ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" | 9431 | ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" |
| 9418 | ;;;;;; "erc/erc-log.el" (17994 6715)) | 9432 | ;;;;;; "erc/erc-log.el" (17935 53318)) |
| 9419 | ;;; Generated autoloads from erc/erc-log.el | 9433 | ;;; Generated autoloads from erc/erc-log.el |
| 9420 | (autoload 'erc-log-mode "erc-log" nil t) | 9434 | (autoload 'erc-log-mode "erc-log" nil t) |
| 9421 | 9435 | ||
| @@ -9447,7 +9461,7 @@ You can save every individual message by putting this function on | |||
| 9447 | ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host | 9461 | ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host |
| 9448 | ;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool | 9462 | ;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool |
| 9449 | ;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" | 9463 | ;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" |
| 9450 | ;;;;;; (17994 6715)) | 9464 | ;;;;;; (17935 53318)) |
| 9451 | ;;; Generated autoloads from erc/erc-match.el | 9465 | ;;; Generated autoloads from erc/erc-match.el |
| 9452 | (autoload 'erc-match-mode "erc-match") | 9466 | (autoload 'erc-match-mode "erc-match") |
| 9453 | 9467 | ||
| @@ -9493,14 +9507,14 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'. | |||
| 9493 | 9507 | ||
| 9494 | ;;;*** | 9508 | ;;;*** |
| 9495 | 9509 | ||
| 9496 | ;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (17994 6715)) | 9510 | ;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (17935 53318)) |
| 9497 | ;;; Generated autoloads from erc/erc-menu.el | 9511 | ;;; Generated autoloads from erc/erc-menu.el |
| 9498 | (autoload 'erc-menu-mode "erc-menu" nil t) | 9512 | (autoload 'erc-menu-mode "erc-menu" nil t) |
| 9499 | 9513 | ||
| 9500 | ;;;*** | 9514 | ;;;*** |
| 9501 | 9515 | ||
| 9502 | ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" | 9516 | ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" |
| 9503 | ;;;;;; (17994 6715)) | 9517 | ;;;;;; (17935 53318)) |
| 9504 | ;;; Generated autoloads from erc/erc-netsplit.el | 9518 | ;;; Generated autoloads from erc/erc-netsplit.el |
| 9505 | (autoload 'erc-netsplit-mode "erc-netsplit") | 9519 | (autoload 'erc-netsplit-mode "erc-netsplit") |
| 9506 | 9520 | ||
| @@ -9512,7 +9526,7 @@ Show who's gone. | |||
| 9512 | ;;;*** | 9526 | ;;;*** |
| 9513 | 9527 | ||
| 9514 | ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks" | 9528 | ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks" |
| 9515 | ;;;;;; "erc/erc-networks.el" (17994 6715)) | 9529 | ;;;;;; "erc/erc-networks.el" (17935 53318)) |
| 9516 | ;;; Generated autoloads from erc/erc-networks.el | 9530 | ;;; Generated autoloads from erc/erc-networks.el |
| 9517 | 9531 | ||
| 9518 | (autoload (quote erc-determine-network) "erc-networks" "\ | 9532 | (autoload (quote erc-determine-network) "erc-networks" "\ |
| @@ -9530,7 +9544,7 @@ Interactively select a server to connect to using `erc-server-alist'. | |||
| 9530 | ;;;*** | 9544 | ;;;*** |
| 9531 | 9545 | ||
| 9532 | ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" | 9546 | ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" |
| 9533 | ;;;;;; "erc/erc-notify.el" (17994 6715)) | 9547 | ;;;;;; "erc/erc-notify.el" (17935 53318)) |
| 9534 | ;;; Generated autoloads from erc/erc-notify.el | 9548 | ;;; Generated autoloads from erc/erc-notify.el |
| 9535 | (autoload 'erc-notify-mode "erc-notify" nil t) | 9549 | (autoload 'erc-notify-mode "erc-notify" nil t) |
| 9536 | 9550 | ||
| @@ -9548,33 +9562,33 @@ Not documented | |||
| 9548 | 9562 | ||
| 9549 | ;;;*** | 9563 | ;;;*** |
| 9550 | 9564 | ||
| 9551 | ;;;### (autoloads nil "erc-page" "erc/erc-page.el" (17994 6715)) | 9565 | ;;;### (autoloads nil "erc-page" "erc/erc-page.el" (17842 54344)) |
| 9552 | ;;; Generated autoloads from erc/erc-page.el | 9566 | ;;; Generated autoloads from erc/erc-page.el |
| 9553 | (autoload 'erc-page-mode "erc-page") | 9567 | (autoload 'erc-page-mode "erc-page") |
| 9554 | 9568 | ||
| 9555 | ;;;*** | 9569 | ;;;*** |
| 9556 | 9570 | ||
| 9557 | ;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (17994 | 9571 | ;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (17935 |
| 9558 | ;;;;;; 6715)) | 9572 | ;;;;;; 53318)) |
| 9559 | ;;; Generated autoloads from erc/erc-pcomplete.el | 9573 | ;;; Generated autoloads from erc/erc-pcomplete.el |
| 9560 | (autoload 'erc-completion-mode "erc-pcomplete" nil t) | 9574 | (autoload 'erc-completion-mode "erc-pcomplete" nil t) |
| 9561 | 9575 | ||
| 9562 | ;;;*** | 9576 | ;;;*** |
| 9563 | 9577 | ||
| 9564 | ;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (17994 6715)) | 9578 | ;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (17842 54344)) |
| 9565 | ;;; Generated autoloads from erc/erc-replace.el | 9579 | ;;; Generated autoloads from erc/erc-replace.el |
| 9566 | (autoload 'erc-replace-mode "erc-replace") | 9580 | (autoload 'erc-replace-mode "erc-replace") |
| 9567 | 9581 | ||
| 9568 | ;;;*** | 9582 | ;;;*** |
| 9569 | 9583 | ||
| 9570 | ;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (17994 6715)) | 9584 | ;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (17935 53318)) |
| 9571 | ;;; Generated autoloads from erc/erc-ring.el | 9585 | ;;; Generated autoloads from erc/erc-ring.el |
| 9572 | (autoload 'erc-ring-mode "erc-ring" nil t) | 9586 | (autoload 'erc-ring-mode "erc-ring" nil t) |
| 9573 | 9587 | ||
| 9574 | ;;;*** | 9588 | ;;;*** |
| 9575 | 9589 | ||
| 9576 | ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode) | 9590 | ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode) |
| 9577 | ;;;;;; "erc-services" "erc/erc-services.el" (17994 6715)) | 9591 | ;;;;;; "erc-services" "erc/erc-services.el" (17935 53318)) |
| 9578 | ;;; Generated autoloads from erc/erc-services.el | 9592 | ;;; Generated autoloads from erc/erc-services.el |
| 9579 | (autoload 'erc-services-mode "erc-services" nil t) | 9593 | (autoload 'erc-services-mode "erc-services" nil t) |
| 9580 | 9594 | ||
| @@ -9591,14 +9605,14 @@ When called interactively, read the password using `read-passwd'. | |||
| 9591 | 9605 | ||
| 9592 | ;;;*** | 9606 | ;;;*** |
| 9593 | 9607 | ||
| 9594 | ;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (17994 6715)) | 9608 | ;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (17842 54344)) |
| 9595 | ;;; Generated autoloads from erc/erc-sound.el | 9609 | ;;; Generated autoloads from erc/erc-sound.el |
| 9596 | (autoload 'erc-sound-mode "erc-sound") | 9610 | (autoload 'erc-sound-mode "erc-sound") |
| 9597 | 9611 | ||
| 9598 | ;;;*** | 9612 | ;;;*** |
| 9599 | 9613 | ||
| 9600 | ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" | 9614 | ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" |
| 9601 | ;;;;;; (17994 6715)) | 9615 | ;;;;;; (17935 53318)) |
| 9602 | ;;; Generated autoloads from erc/erc-speedbar.el | 9616 | ;;; Generated autoloads from erc/erc-speedbar.el |
| 9603 | 9617 | ||
| 9604 | (autoload (quote erc-speedbar-browser) "erc-speedbar" "\ | 9618 | (autoload (quote erc-speedbar-browser) "erc-speedbar" "\ |
| @@ -9609,21 +9623,21 @@ This will add a speedbar major display mode. | |||
| 9609 | 9623 | ||
| 9610 | ;;;*** | 9624 | ;;;*** |
| 9611 | 9625 | ||
| 9612 | ;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (17994 | 9626 | ;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (17935 |
| 9613 | ;;;;;; 6715)) | 9627 | ;;;;;; 53318)) |
| 9614 | ;;; Generated autoloads from erc/erc-spelling.el | 9628 | ;;; Generated autoloads from erc/erc-spelling.el |
| 9615 | (autoload 'erc-spelling-mode "erc-spelling" nil t) | 9629 | (autoload 'erc-spelling-mode "erc-spelling" nil t) |
| 9616 | 9630 | ||
| 9617 | ;;;*** | 9631 | ;;;*** |
| 9618 | 9632 | ||
| 9619 | ;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (17994 6715)) | 9633 | ;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (17935 53318)) |
| 9620 | ;;; Generated autoloads from erc/erc-stamp.el | 9634 | ;;; Generated autoloads from erc/erc-stamp.el |
| 9621 | (autoload 'erc-timestamp-mode "erc-stamp" nil t) | 9635 | (autoload 'erc-timestamp-mode "erc-stamp" nil t) |
| 9622 | 9636 | ||
| 9623 | ;;;*** | 9637 | ;;;*** |
| 9624 | 9638 | ||
| 9625 | ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el" | 9639 | ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el" |
| 9626 | ;;;;;; (17994 6715)) | 9640 | ;;;;;; (17935 53318)) |
| 9627 | ;;; Generated autoloads from erc/erc-track.el | 9641 | ;;; Generated autoloads from erc/erc-track.el |
| 9628 | 9642 | ||
| 9629 | (defvar erc-track-minor-mode nil "\ | 9643 | (defvar erc-track-minor-mode nil "\ |
| @@ -9646,7 +9660,7 @@ module, otherwise the keybindings will not do anything useful. | |||
| 9646 | ;;;*** | 9660 | ;;;*** |
| 9647 | 9661 | ||
| 9648 | ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) | 9662 | ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) |
| 9649 | ;;;;;; "erc-truncate" "erc/erc-truncate.el" (17994 6715)) | 9663 | ;;;;;; "erc-truncate" "erc/erc-truncate.el" (17842 54344)) |
| 9650 | ;;; Generated autoloads from erc/erc-truncate.el | 9664 | ;;; Generated autoloads from erc/erc-truncate.el |
| 9651 | (autoload 'erc-truncate-mode "erc-truncate" nil t) | 9665 | (autoload 'erc-truncate-mode "erc-truncate" nil t) |
| 9652 | 9666 | ||
| @@ -9666,7 +9680,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'. | |||
| 9666 | ;;;*** | 9680 | ;;;*** |
| 9667 | 9681 | ||
| 9668 | ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" | 9682 | ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" |
| 9669 | ;;;;;; (17994 6715)) | 9683 | ;;;;;; (17842 54344)) |
| 9670 | ;;; Generated autoloads from erc/erc-xdcc.el | 9684 | ;;; Generated autoloads from erc/erc-xdcc.el |
| 9671 | 9685 | ||
| 9672 | (autoload (quote erc-xdcc-add-file) "erc-xdcc" "\ | 9686 | (autoload (quote erc-xdcc-add-file) "erc-xdcc" "\ |
| @@ -9676,8 +9690,8 @@ Add a file to `erc-xdcc-files'. | |||
| 9676 | 9690 | ||
| 9677 | ;;;*** | 9691 | ;;;*** |
| 9678 | 9692 | ||
| 9679 | ;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17994 | 9693 | ;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17914 |
| 9680 | ;;;;;; 6715)) | 9694 | ;;;;;; 52082)) |
| 9681 | ;;; Generated autoloads from eshell/esh-mode.el | 9695 | ;;; Generated autoloads from eshell/esh-mode.el |
| 9682 | 9696 | ||
| 9683 | (autoload (quote eshell-mode) "esh-mode" "\ | 9697 | (autoload (quote eshell-mode) "esh-mode" "\ |
| @@ -9689,8 +9703,8 @@ Emacs shell interactive mode. | |||
| 9689 | 9703 | ||
| 9690 | ;;;*** | 9704 | ;;;*** |
| 9691 | 9705 | ||
| 9692 | ;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17994 | 9706 | ;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17842 |
| 9693 | ;;;;;; 6715)) | 9707 | ;;;;;; 54411)) |
| 9694 | ;;; Generated autoloads from eshell/esh-test.el | 9708 | ;;; Generated autoloads from eshell/esh-test.el |
| 9695 | 9709 | ||
| 9696 | (autoload (quote eshell-test) "esh-test" "\ | 9710 | (autoload (quote eshell-test) "esh-test" "\ |
| @@ -9701,7 +9715,7 @@ Test Eshell to verify that it works as expected. | |||
| 9701 | ;;;*** | 9715 | ;;;*** |
| 9702 | 9716 | ||
| 9703 | ;;;### (autoloads (eshell-report-bug eshell-command-result eshell-command | 9717 | ;;;### (autoloads (eshell-report-bug eshell-command-result eshell-command |
| 9704 | ;;;;;; eshell) "eshell" "eshell/eshell.el" (17994 6715)) | 9718 | ;;;;;; eshell) "eshell" "eshell/eshell.el" (17842 54411)) |
| 9705 | ;;; Generated autoloads from eshell/eshell.el | 9719 | ;;; Generated autoloads from eshell/eshell.el |
| 9706 | 9720 | ||
| 9707 | (autoload (quote eshell) "eshell" "\ | 9721 | (autoload (quote eshell) "eshell" "\ |
| @@ -9747,7 +9761,7 @@ Please include any configuration details that might be involved. | |||
| 9747 | ;;;;;; visit-tags-table tags-table-mode find-tag-default-function | 9761 | ;;;;;; visit-tags-table tags-table-mode find-tag-default-function |
| 9748 | ;;;;;; find-tag-hook tags-add-tables tags-compression-info-list | 9762 | ;;;;;; find-tag-hook tags-add-tables tags-compression-info-list |
| 9749 | ;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" | 9763 | ;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" |
| 9750 | ;;;;;; (17994 6715)) | 9764 | ;;;;;; (17842 56333)) |
| 9751 | ;;; Generated autoloads from progmodes/etags.el | 9765 | ;;; Generated autoloads from progmodes/etags.el |
| 9752 | 9766 | ||
| 9753 | (defvar tags-file-name nil "\ | 9767 | (defvar tags-file-name nil "\ |
| @@ -10049,7 +10063,7 @@ for \\[find-tag] (which see). | |||
| 10049 | ;;;;;; ethio-fidel-to-sera-buffer ethio-fidel-to-sera-region ethio-sera-to-fidel-marker | 10063 | ;;;;;; ethio-fidel-to-sera-buffer ethio-fidel-to-sera-region ethio-sera-to-fidel-marker |
| 10050 | ;;;;;; ethio-sera-to-fidel-mail ethio-sera-to-fidel-mail-or-marker | 10064 | ;;;;;; ethio-sera-to-fidel-mail ethio-sera-to-fidel-mail-or-marker |
| 10051 | ;;;;;; ethio-sera-to-fidel-buffer ethio-sera-to-fidel-region setup-ethiopic-environment-internal) | 10065 | ;;;;;; ethio-sera-to-fidel-buffer ethio-sera-to-fidel-region setup-ethiopic-environment-internal) |
| 10052 | ;;;;;; "ethio-util" "language/ethio-util.el" (17994 6715)) | 10066 | ;;;;;; "ethio-util" "language/ethio-util.el" (17842 58278)) |
| 10053 | ;;; Generated autoloads from language/ethio-util.el | 10067 | ;;; Generated autoloads from language/ethio-util.el |
| 10054 | 10068 | ||
| 10055 | (autoload (quote setup-ethiopic-environment-internal) "ethio-util" "\ | 10069 | (autoload (quote setup-ethiopic-environment-internal) "ethio-util" "\ |
| @@ -10244,7 +10258,7 @@ Transcribe Ethiopic characters in ASCII depending on the file extension. | |||
| 10244 | 10258 | ||
| 10245 | ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline | 10259 | ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline |
| 10246 | ;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" | 10260 | ;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" |
| 10247 | ;;;;;; (17994 6715)) | 10261 | ;;;;;; (17842 55218)) |
| 10248 | ;;; Generated autoloads from net/eudc.el | 10262 | ;;; Generated autoloads from net/eudc.el |
| 10249 | 10263 | ||
| 10250 | (autoload (quote eudc-set-server) "eudc" "\ | 10264 | (autoload (quote eudc-set-server) "eudc" "\ |
| @@ -10300,7 +10314,7 @@ This does nothing except loading eudc by autoload side-effect. | |||
| 10300 | 10314 | ||
| 10301 | ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline | 10315 | ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline |
| 10302 | ;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) | 10316 | ;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) |
| 10303 | ;;;;;; "eudc-bob" "net/eudc-bob.el" (17994 6715)) | 10317 | ;;;;;; "eudc-bob" "net/eudc-bob.el" (17842 55218)) |
| 10304 | ;;; Generated autoloads from net/eudc-bob.el | 10318 | ;;; Generated autoloads from net/eudc-bob.el |
| 10305 | 10319 | ||
| 10306 | (autoload (quote eudc-display-generic-binary) "eudc-bob" "\ | 10320 | (autoload (quote eudc-display-generic-binary) "eudc-bob" "\ |
| @@ -10336,7 +10350,7 @@ Display a button for the JPEG DATA. | |||
| 10336 | ;;;*** | 10350 | ;;;*** |
| 10337 | 10351 | ||
| 10338 | ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) | 10352 | ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) |
| 10339 | ;;;;;; "eudc-export" "net/eudc-export.el" (17994 6715)) | 10353 | ;;;;;; "eudc-export" "net/eudc-export.el" (17842 55218)) |
| 10340 | ;;; Generated autoloads from net/eudc-export.el | 10354 | ;;; Generated autoloads from net/eudc-export.el |
| 10341 | 10355 | ||
| 10342 | (autoload (quote eudc-insert-record-at-point-into-bbdb) "eudc-export" "\ | 10356 | (autoload (quote eudc-insert-record-at-point-into-bbdb) "eudc-export" "\ |
| @@ -10353,7 +10367,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record. | |||
| 10353 | ;;;*** | 10367 | ;;;*** |
| 10354 | 10368 | ||
| 10355 | ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" | 10369 | ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" |
| 10356 | ;;;;;; (17994 6715)) | 10370 | ;;;;;; (17842 55218)) |
| 10357 | ;;; Generated autoloads from net/eudc-hotlist.el | 10371 | ;;; Generated autoloads from net/eudc-hotlist.el |
| 10358 | 10372 | ||
| 10359 | (autoload (quote eudc-edit-hotlist) "eudc-hotlist" "\ | 10373 | (autoload (quote eudc-edit-hotlist) "eudc-hotlist" "\ |
| @@ -10363,8 +10377,8 @@ Edit the hotlist of directory servers in a specialized buffer. | |||
| 10363 | 10377 | ||
| 10364 | ;;;*** | 10378 | ;;;*** |
| 10365 | 10379 | ||
| 10366 | ;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (17994 | 10380 | ;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (17933 |
| 10367 | ;;;;;; 6715)) | 10381 | ;;;;;; 14283)) |
| 10368 | ;;; Generated autoloads from emacs-lisp/ewoc.el | 10382 | ;;; Generated autoloads from emacs-lisp/ewoc.el |
| 10369 | 10383 | ||
| 10370 | (autoload (quote ewoc-create) "ewoc" "\ | 10384 | (autoload (quote ewoc-create) "ewoc" "\ |
| @@ -10393,7 +10407,7 @@ fourth arg NOSEP non-nil inhibits this. | |||
| 10393 | ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p | 10407 | ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p |
| 10394 | ;;;;;; executable-self-display executable-set-magic executable-interpret | 10408 | ;;;;;; executable-self-display executable-set-magic executable-interpret |
| 10395 | ;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" | 10409 | ;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" |
| 10396 | ;;;;;; (17994 6715)) | 10410 | ;;;;;; (17842 56333)) |
| 10397 | ;;; Generated autoloads from progmodes/executable.el | 10411 | ;;; Generated autoloads from progmodes/executable.el |
| 10398 | 10412 | ||
| 10399 | (autoload (quote executable-command-find-posix-p) "executable" "\ | 10413 | (autoload (quote executable-command-find-posix-p) "executable" "\ |
| @@ -10436,7 +10450,7 @@ file modes. | |||
| 10436 | 10450 | ||
| 10437 | ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot | 10451 | ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot |
| 10438 | ;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el" | 10452 | ;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el" |
| 10439 | ;;;;;; (17994 6715)) | 10453 | ;;;;;; (17925 52793)) |
| 10440 | ;;; Generated autoloads from expand.el | 10454 | ;;; Generated autoloads from expand.el |
| 10441 | 10455 | ||
| 10442 | (autoload (quote expand-add-abbrevs) "expand" "\ | 10456 | (autoload (quote expand-add-abbrevs) "expand" "\ |
| @@ -10485,7 +10499,7 @@ This is used only in conjunction with `expand-add-abbrevs'. | |||
| 10485 | 10499 | ||
| 10486 | ;;;*** | 10500 | ;;;*** |
| 10487 | 10501 | ||
| 10488 | ;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17994 6715)) | 10502 | ;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17842 56333)) |
| 10489 | ;;; Generated autoloads from progmodes/f90.el | 10503 | ;;; Generated autoloads from progmodes/f90.el |
| 10490 | 10504 | ||
| 10491 | (autoload (quote f90-mode) "f90" "\ | 10505 | (autoload (quote f90-mode) "f90" "\ |
| @@ -10552,7 +10566,7 @@ with no args, if that value is non-nil. | |||
| 10552 | ;;;;;; facemenu-remove-all facemenu-remove-face-props facemenu-set-read-only | 10566 | ;;;;;; facemenu-remove-all facemenu-remove-face-props facemenu-set-read-only |
| 10553 | ;;;;;; facemenu-set-intangible facemenu-set-invisible facemenu-set-face-from-menu | 10567 | ;;;;;; facemenu-set-intangible facemenu-set-invisible facemenu-set-face-from-menu |
| 10554 | ;;;;;; facemenu-set-background facemenu-set-foreground facemenu-set-face) | 10568 | ;;;;;; facemenu-set-background facemenu-set-foreground facemenu-set-face) |
| 10555 | ;;;;;; "facemenu" "facemenu.el" (17994 6715)) | 10569 | ;;;;;; "facemenu" "facemenu.el" (17842 58279)) |
| 10556 | ;;; Generated autoloads from facemenu.el | 10570 | ;;; Generated autoloads from facemenu.el |
| 10557 | (define-key global-map "\M-o" 'facemenu-keymap) | 10571 | (define-key global-map "\M-o" 'facemenu-keymap) |
| 10558 | (autoload 'facemenu-keymap "facemenu" "Keymap for face-changing commands." t 'keymap) | 10572 | (autoload 'facemenu-keymap "facemenu" "Keymap for face-changing commands." t 'keymap) |
| @@ -10761,7 +10775,7 @@ Unconditionally turn on Fast Lock mode. | |||
| 10761 | 10775 | ||
| 10762 | ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue | 10776 | ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue |
| 10763 | ;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts | 10777 | ;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts |
| 10764 | ;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17994 6715)) | 10778 | ;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17888 29839)) |
| 10765 | ;;; Generated autoloads from mail/feedmail.el | 10779 | ;;; Generated autoloads from mail/feedmail.el |
| 10766 | 10780 | ||
| 10767 | (autoload (quote feedmail-send-it) "feedmail" "\ | 10781 | (autoload (quote feedmail-send-it) "feedmail" "\ |
| @@ -10815,7 +10829,7 @@ you can set `feedmail-queue-reminder-alist' to nil. | |||
| 10815 | ;;;*** | 10829 | ;;;*** |
| 10816 | 10830 | ||
| 10817 | ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu | 10831 | ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu |
| 10818 | ;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17994 6715)) | 10832 | ;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17943 4602)) |
| 10819 | ;;; Generated autoloads from ffap.el | 10833 | ;;; Generated autoloads from ffap.el |
| 10820 | 10834 | ||
| 10821 | (autoload (quote ffap-next) "ffap" "\ | 10835 | (autoload (quote ffap-next) "ffap" "\ |
| @@ -10874,7 +10888,7 @@ Evaluate the forms in variable `ffap-bindings'. | |||
| 10874 | ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively | 10888 | ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively |
| 10875 | ;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find | 10889 | ;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find |
| 10876 | ;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory) | 10890 | ;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory) |
| 10877 | ;;;;;; "filecache" "filecache.el" (17994 6715)) | 10891 | ;;;;;; "filecache" "filecache.el" (17842 58279)) |
| 10878 | ;;; Generated autoloads from filecache.el | 10892 | ;;; Generated autoloads from filecache.el |
| 10879 | 10893 | ||
| 10880 | (autoload (quote file-cache-add-directory) "filecache" "\ | 10894 | (autoload (quote file-cache-add-directory) "filecache" "\ |
| @@ -10933,8 +10947,8 @@ the name is considered already unique; only the second substitution | |||
| 10933 | 10947 | ||
| 10934 | ;;;*** | 10948 | ;;;*** |
| 10935 | 10949 | ||
| 10936 | ;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17994 | 10950 | ;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17842 |
| 10937 | ;;;;;; 6715)) | 10951 | ;;;;;; 58279)) |
| 10938 | ;;; Generated autoloads from filesets.el | 10952 | ;;; Generated autoloads from filesets.el |
| 10939 | 10953 | ||
| 10940 | (autoload (quote filesets-init) "filesets" "\ | 10954 | (autoload (quote filesets-init) "filesets" "\ |
| @@ -10945,7 +10959,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu. | |||
| 10945 | 10959 | ||
| 10946 | ;;;*** | 10960 | ;;;*** |
| 10947 | 10961 | ||
| 10948 | ;;;### (autoloads nil "fill" "textmodes/fill.el" (17994 6726)) | 10962 | ;;;### (autoloads nil "fill" "textmodes/fill.el" (18007 39658)) |
| 10949 | ;;; Generated autoloads from textmodes/fill.el | 10963 | ;;; Generated autoloads from textmodes/fill.el |
| 10950 | (put 'colon-double-space 'safe-local-variable 'booleanp) | 10964 | (put 'colon-double-space 'safe-local-variable 'booleanp) |
| 10951 | 10965 | ||
| @@ -10953,7 +10967,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu. | |||
| 10953 | 10967 | ||
| 10954 | ;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options | 10968 | ;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options |
| 10955 | ;;;;;; find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el" | 10969 | ;;;;;; find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el" |
| 10956 | ;;;;;; (17994 6729)) | 10970 | ;;;;;; (17992 30877)) |
| 10957 | ;;; Generated autoloads from find-dired.el | 10971 | ;;; Generated autoloads from find-dired.el |
| 10958 | 10972 | ||
| 10959 | (defvar find-ls-option (if (eq system-type (quote berkeley-unix)) (quote ("-ls" . "-gilsb")) (quote ("-exec ls -ld {} \\;" . "-ld"))) "\ | 10973 | (defvar find-ls-option (if (eq system-type (quote berkeley-unix)) (quote ("-ls" . "-gilsb")) (quote ("-exec ls -ld {} \\;" . "-ld"))) "\ |
| @@ -11014,7 +11028,7 @@ Thus ARG can also contain additional grep options. | |||
| 11014 | 11028 | ||
| 11015 | ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file | 11029 | ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file |
| 11016 | ;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el" | 11030 | ;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el" |
| 11017 | ;;;;;; (17994 6715)) | 11031 | ;;;;;; (17842 58279)) |
| 11018 | ;;; Generated autoloads from find-file.el | 11032 | ;;; Generated autoloads from find-file.el |
| 11019 | 11033 | ||
| 11020 | (defvar ff-special-constructs (quote (("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" lambda nil (buffer-substring (match-beginning 2) (match-end 2))))) "\ | 11034 | (defvar ff-special-constructs (quote (("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" lambda nil (buffer-substring (match-beginning 2) (match-end 2))))) "\ |
| @@ -11108,7 +11122,7 @@ Visit the file you click on in another window. | |||
| 11108 | ;;;;;; find-variable find-variable-noselect find-function-other-frame | 11122 | ;;;;;; find-variable find-variable-noselect find-function-other-frame |
| 11109 | ;;;;;; find-function-other-window find-function find-function-noselect | 11123 | ;;;;;; find-function-other-window find-function find-function-noselect |
| 11110 | ;;;;;; find-function-search-for-symbol find-library) "find-func" | 11124 | ;;;;;; find-function-search-for-symbol find-library) "find-func" |
| 11111 | ;;;;;; "emacs-lisp/find-func.el" (17994 6715)) | 11125 | ;;;;;; "emacs-lisp/find-func.el" (17842 54152)) |
| 11112 | ;;; Generated autoloads from emacs-lisp/find-func.el | 11126 | ;;; Generated autoloads from emacs-lisp/find-func.el |
| 11113 | 11127 | ||
| 11114 | (autoload (quote find-library) "find-func" "\ | 11128 | (autoload (quote find-library) "find-func" "\ |
| @@ -11262,7 +11276,7 @@ Define some key bindings for the find-function family of functions. | |||
| 11262 | ;;;*** | 11276 | ;;;*** |
| 11263 | 11277 | ||
| 11264 | ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories | 11278 | ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories |
| 11265 | ;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17994 6715)) | 11279 | ;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17893 23802)) |
| 11266 | ;;; Generated autoloads from find-lisp.el | 11280 | ;;; Generated autoloads from find-lisp.el |
| 11267 | 11281 | ||
| 11268 | (autoload (quote find-lisp-find-dired) "find-lisp" "\ | 11282 | (autoload (quote find-lisp-find-dired) "find-lisp" "\ |
| @@ -11283,7 +11297,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP. | |||
| 11283 | ;;;*** | 11297 | ;;;*** |
| 11284 | 11298 | ||
| 11285 | ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) | 11299 | ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) |
| 11286 | ;;;;;; "finder" "finder.el" (17994 6715)) | 11300 | ;;;;;; "finder" "finder.el" (17842 58279)) |
| 11287 | ;;; Generated autoloads from finder.el | 11301 | ;;; Generated autoloads from finder.el |
| 11288 | 11302 | ||
| 11289 | (autoload (quote finder-list-keywords) "finder" "\ | 11303 | (autoload (quote finder-list-keywords) "finder" "\ |
| @@ -11305,7 +11319,7 @@ Find packages matching a given keyword. | |||
| 11305 | ;;;*** | 11319 | ;;;*** |
| 11306 | 11320 | ||
| 11307 | ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" | 11321 | ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" |
| 11308 | ;;;;;; "flow-ctrl.el" (17994 6715)) | 11322 | ;;;;;; "flow-ctrl.el" (17842 58279)) |
| 11309 | ;;; Generated autoloads from flow-ctrl.el | 11323 | ;;; Generated autoloads from flow-ctrl.el |
| 11310 | 11324 | ||
| 11311 | (autoload (quote enable-flow-control) "flow-ctrl" "\ | 11325 | (autoload (quote enable-flow-control) "flow-ctrl" "\ |
| @@ -11327,7 +11341,7 @@ to get the effect of a C-q. | |||
| 11327 | ;;;*** | 11341 | ;;;*** |
| 11328 | 11342 | ||
| 11329 | ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" | 11343 | ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" |
| 11330 | ;;;;;; (17994 6715)) | 11344 | ;;;;;; (17842 54741)) |
| 11331 | ;;; Generated autoloads from gnus/flow-fill.el | 11345 | ;;; Generated autoloads from gnus/flow-fill.el |
| 11332 | 11346 | ||
| 11333 | (autoload (quote fill-flowed-encode) "flow-fill" "\ | 11347 | (autoload (quote fill-flowed-encode) "flow-fill" "\ |
| @@ -11343,7 +11357,7 @@ Not documented | |||
| 11343 | ;;;*** | 11357 | ;;;*** |
| 11344 | 11358 | ||
| 11345 | ;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode) | 11359 | ;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode) |
| 11346 | ;;;;;; "flymake" "progmodes/flymake.el" (17994 6715)) | 11360 | ;;;;;; "flymake" "progmodes/flymake.el" (17934 27588)) |
| 11347 | ;;; Generated autoloads from progmodes/flymake.el | 11361 | ;;; Generated autoloads from progmodes/flymake.el |
| 11348 | 11362 | ||
| 11349 | (autoload (quote flymake-mode) "flymake" "\ | 11363 | (autoload (quote flymake-mode) "flymake" "\ |
| @@ -11367,7 +11381,7 @@ Turn flymake mode off. | |||
| 11367 | 11381 | ||
| 11368 | ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off | 11382 | ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off |
| 11369 | ;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) | 11383 | ;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) |
| 11370 | ;;;;;; "flyspell" "textmodes/flyspell.el" (17994 6726)) | 11384 | ;;;;;; "flyspell" "textmodes/flyspell.el" (18006 55797)) |
| 11371 | ;;; Generated autoloads from textmodes/flyspell.el | 11385 | ;;; Generated autoloads from textmodes/flyspell.el |
| 11372 | 11386 | ||
| 11373 | (autoload (quote flyspell-prog-mode) "flyspell" "\ | 11387 | (autoload (quote flyspell-prog-mode) "flyspell" "\ |
| @@ -11436,7 +11450,7 @@ Flyspell whole buffer. | |||
| 11436 | 11450 | ||
| 11437 | ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode | 11451 | ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode |
| 11438 | ;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" | 11452 | ;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" |
| 11439 | ;;;;;; (17994 6715)) | 11453 | ;;;;;; (17842 58279)) |
| 11440 | ;;; Generated autoloads from follow.el | 11454 | ;;; Generated autoloads from follow.el |
| 11441 | 11455 | ||
| 11442 | (autoload (quote turn-on-follow-mode) "follow" "\ | 11456 | (autoload (quote turn-on-follow-mode) "follow" "\ |
| @@ -11510,8 +11524,8 @@ in your `~/.emacs' file, replacing [f7] by your favourite key: | |||
| 11510 | 11524 | ||
| 11511 | ;;;*** | 11525 | ;;;*** |
| 11512 | 11526 | ||
| 11513 | ;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17994 | 11527 | ;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17954 |
| 11514 | ;;;;;; 6715)) | 11528 | ;;;;;; 24686)) |
| 11515 | ;;; Generated autoloads from mail/footnote.el | 11529 | ;;; Generated autoloads from mail/footnote.el |
| 11516 | 11530 | ||
| 11517 | (autoload (quote footnote-mode) "footnote" "\ | 11531 | (autoload (quote footnote-mode) "footnote" "\ |
| @@ -11532,7 +11546,7 @@ key binding | |||
| 11532 | ;;;*** | 11546 | ;;;*** |
| 11533 | 11547 | ||
| 11534 | ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) | 11548 | ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) |
| 11535 | ;;;;;; "forms" "forms.el" (17994 6715)) | 11549 | ;;;;;; "forms" "forms.el" (17842 58279)) |
| 11536 | ;;; Generated autoloads from forms.el | 11550 | ;;; Generated autoloads from forms.el |
| 11537 | 11551 | ||
| 11538 | (autoload (quote forms-mode) "forms" "\ | 11552 | (autoload (quote forms-mode) "forms" "\ |
| @@ -11569,7 +11583,7 @@ Visit a file in Forms mode in other window. | |||
| 11569 | ;;;*** | 11583 | ;;;*** |
| 11570 | 11584 | ||
| 11571 | ;;;### (autoloads (fortran-mode fortran-tab-mode-default) "fortran" | 11585 | ;;;### (autoloads (fortran-mode fortran-tab-mode-default) "fortran" |
| 11572 | ;;;;;; "progmodes/fortran.el" (17994 6715)) | 11586 | ;;;;;; "progmodes/fortran.el" (17842 56333)) |
| 11573 | ;;; Generated autoloads from progmodes/fortran.el | 11587 | ;;; Generated autoloads from progmodes/fortran.el |
| 11574 | 11588 | ||
| 11575 | (defvar fortran-tab-mode-default nil "\ | 11589 | (defvar fortran-tab-mode-default nil "\ |
| @@ -11655,7 +11669,7 @@ with no args, if that value is non-nil. | |||
| 11655 | ;;;*** | 11669 | ;;;*** |
| 11656 | 11670 | ||
| 11657 | ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region | 11671 | ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region |
| 11658 | ;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17994 6715)) | 11672 | ;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17842 55395)) |
| 11659 | ;;; Generated autoloads from play/fortune.el | 11673 | ;;; Generated autoloads from play/fortune.el |
| 11660 | 11674 | ||
| 11661 | (autoload (quote fortune-add-fortune) "fortune" "\ | 11675 | (autoload (quote fortune-add-fortune) "fortune" "\ |
| @@ -11705,7 +11719,7 @@ and choose the directory as the fortune-file. | |||
| 11705 | ;;;*** | 11719 | ;;;*** |
| 11706 | 11720 | ||
| 11707 | ;;;### (autoloads (gdb-enable-debug gdba) "gdb-ui" "progmodes/gdb-ui.el" | 11721 | ;;;### (autoloads (gdb-enable-debug gdba) "gdb-ui" "progmodes/gdb-ui.el" |
| 11708 | ;;;;;; (17994 6715)) | 11722 | ;;;;;; (17941 38806)) |
| 11709 | ;;; Generated autoloads from progmodes/gdb-ui.el | 11723 | ;;; Generated autoloads from progmodes/gdb-ui.el |
| 11710 | 11724 | ||
| 11711 | (autoload (quote gdba) "gdb-ui" "\ | 11725 | (autoload (quote gdba) "gdb-ui" "\ |
| @@ -11768,8 +11782,8 @@ Non-nil means record the process input and output in `gdb-debug-log'.") | |||
| 11768 | ;;;*** | 11782 | ;;;*** |
| 11769 | 11783 | ||
| 11770 | ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal | 11784 | ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal |
| 11771 | ;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (17994 | 11785 | ;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (17842 |
| 11772 | ;;;;;; 6715)) | 11786 | ;;;;;; 54152)) |
| 11773 | ;;; Generated autoloads from emacs-lisp/generic.el | 11787 | ;;; Generated autoloads from emacs-lisp/generic.el |
| 11774 | 11788 | ||
| 11775 | (defvar generic-mode-list nil "\ | 11789 | (defvar generic-mode-list nil "\ |
| @@ -11844,7 +11858,7 @@ regular expression that can be used as an element of | |||
| 11844 | ;;;*** | 11858 | ;;;*** |
| 11845 | 11859 | ||
| 11846 | ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" | 11860 | ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" |
| 11847 | ;;;;;; (17994 6715)) | 11861 | ;;;;;; (17842 56333)) |
| 11848 | ;;; Generated autoloads from progmodes/glasses.el | 11862 | ;;; Generated autoloads from progmodes/glasses.el |
| 11849 | 11863 | ||
| 11850 | (autoload (quote glasses-mode) "glasses" "\ | 11864 | (autoload (quote glasses-mode) "glasses" "\ |
| @@ -11857,7 +11871,7 @@ at places they belong to. | |||
| 11857 | ;;;*** | 11871 | ;;;*** |
| 11858 | 11872 | ||
| 11859 | ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error | 11873 | ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error |
| 11860 | ;;;;;; gmm-message) "gmm-utils" "gnus/gmm-utils.el" (17994 6715)) | 11874 | ;;;;;; gmm-message) "gmm-utils" "gnus/gmm-utils.el" (17934 27588)) |
| 11861 | ;;; Generated autoloads from gnus/gmm-utils.el | 11875 | ;;; Generated autoloads from gnus/gmm-utils.el |
| 11862 | 11876 | ||
| 11863 | (autoload (quote gmm-message) "gmm-utils" "\ | 11877 | (autoload (quote gmm-message) "gmm-utils" "\ |
| @@ -11904,7 +11918,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST. | |||
| 11904 | ;;;*** | 11918 | ;;;*** |
| 11905 | 11919 | ||
| 11906 | ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server | 11920 | ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server |
| 11907 | ;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17994 6715)) | 11921 | ;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17842 54741)) |
| 11908 | ;;; Generated autoloads from gnus/gnus.el | 11922 | ;;; Generated autoloads from gnus/gnus.el |
| 11909 | (when (fboundp 'custom-autoload) | 11923 | (when (fboundp 'custom-autoload) |
| 11910 | (custom-autoload 'gnus-select-method "gnus")) | 11924 | (custom-autoload 'gnus-select-method "gnus")) |
| @@ -11957,7 +11971,7 @@ prompt the user for the name of an NNTP server to use. | |||
| 11957 | ;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group | 11971 | ;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group |
| 11958 | ;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize | 11972 | ;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize |
| 11959 | ;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" | 11973 | ;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" |
| 11960 | ;;;;;; "gnus/gnus-agent.el" (17994 6715)) | 11974 | ;;;;;; "gnus/gnus-agent.el" (17842 54741)) |
| 11961 | ;;; Generated autoloads from gnus/gnus-agent.el | 11975 | ;;; Generated autoloads from gnus/gnus-agent.el |
| 11962 | 11976 | ||
| 11963 | (autoload (quote gnus-unplugged) "gnus-agent" "\ | 11977 | (autoload (quote gnus-unplugged) "gnus-agent" "\ |
| @@ -12048,7 +12062,7 @@ If CLEAN, obsolete (ignore). | |||
| 12048 | ;;;*** | 12062 | ;;;*** |
| 12049 | 12063 | ||
| 12050 | ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" | 12064 | ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" |
| 12051 | ;;;;;; (18000 24325)) | 12065 | ;;;;;; (17960 49045)) |
| 12052 | ;;; Generated autoloads from gnus/gnus-art.el | 12066 | ;;; Generated autoloads from gnus/gnus-art.el |
| 12053 | 12067 | ||
| 12054 | (autoload (quote gnus-article-prepare-display) "gnus-art" "\ | 12068 | (autoload (quote gnus-article-prepare-display) "gnus-art" "\ |
| @@ -12059,7 +12073,7 @@ Make the current buffer look like a nice article. | |||
| 12059 | ;;;*** | 12073 | ;;;*** |
| 12060 | 12074 | ||
| 12061 | ;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el" | 12075 | ;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el" |
| 12062 | ;;;;;; (17994 6715)) | 12076 | ;;;;;; (17842 54741)) |
| 12063 | ;;; Generated autoloads from gnus/gnus-audio.el | 12077 | ;;; Generated autoloads from gnus/gnus-audio.el |
| 12064 | 12078 | ||
| 12065 | (autoload (quote gnus-audio-play) "gnus-audio" "\ | 12079 | (autoload (quote gnus-audio-play) "gnus-audio" "\ |
| @@ -12071,8 +12085,8 @@ Play a sound FILE through the speaker. | |||
| 12071 | 12085 | ||
| 12072 | ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group | 12086 | ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group |
| 12073 | ;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active | 12087 | ;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active |
| 12074 | ;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17994 | 12088 | ;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17842 |
| 12075 | ;;;;;; 6715)) | 12089 | ;;;;;; 54741)) |
| 12076 | ;;; Generated autoloads from gnus/gnus-cache.el | 12090 | ;;; Generated autoloads from gnus/gnus-cache.el |
| 12077 | 12091 | ||
| 12078 | (autoload (quote gnus-jog-cache) "gnus-cache" "\ | 12092 | (autoload (quote gnus-jog-cache) "gnus-cache" "\ |
| @@ -12114,7 +12128,7 @@ supported. | |||
| 12114 | ;;;*** | 12128 | ;;;*** |
| 12115 | 12129 | ||
| 12116 | ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) | 12130 | ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) |
| 12117 | ;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17994 6715)) | 12131 | ;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17842 54741)) |
| 12118 | ;;; Generated autoloads from gnus/gnus-delay.el | 12132 | ;;; Generated autoloads from gnus/gnus-delay.el |
| 12119 | 12133 | ||
| 12120 | (autoload (quote gnus-delay-article) "gnus-delay" "\ | 12134 | (autoload (quote gnus-delay-article) "gnus-delay" "\ |
| @@ -12150,7 +12164,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. | |||
| 12150 | ;;;*** | 12164 | ;;;*** |
| 12151 | 12165 | ||
| 12152 | ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) | 12166 | ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) |
| 12153 | ;;;;;; "gnus-diary" "gnus/gnus-diary.el" (17994 6741)) | 12167 | ;;;;;; "gnus-diary" "gnus/gnus-diary.el" (17992 30878)) |
| 12154 | ;;; Generated autoloads from gnus/gnus-diary.el | 12168 | ;;; Generated autoloads from gnus/gnus-diary.el |
| 12155 | 12169 | ||
| 12156 | (autoload (quote gnus-user-format-function-d) "gnus-diary" "\ | 12170 | (autoload (quote gnus-user-format-function-d) "gnus-diary" "\ |
| @@ -12166,7 +12180,7 @@ Not documented | |||
| 12166 | ;;;*** | 12180 | ;;;*** |
| 12167 | 12181 | ||
| 12168 | ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" | 12182 | ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" |
| 12169 | ;;;;;; (17994 6715)) | 12183 | ;;;;;; (17842 54741)) |
| 12170 | ;;; Generated autoloads from gnus/gnus-dired.el | 12184 | ;;; Generated autoloads from gnus/gnus-dired.el |
| 12171 | 12185 | ||
| 12172 | (autoload (quote turn-on-gnus-dired-mode) "gnus-dired" "\ | 12186 | (autoload (quote turn-on-gnus-dired-mode) "gnus-dired" "\ |
| @@ -12177,7 +12191,7 @@ Convenience method to turn on gnus-dired-mode. | |||
| 12177 | ;;;*** | 12191 | ;;;*** |
| 12178 | 12192 | ||
| 12179 | ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" | 12193 | ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" |
| 12180 | ;;;;;; (17994 6715)) | 12194 | ;;;;;; (17842 54741)) |
| 12181 | ;;; Generated autoloads from gnus/gnus-draft.el | 12195 | ;;; Generated autoloads from gnus/gnus-draft.el |
| 12182 | 12196 | ||
| 12183 | (autoload (quote gnus-draft-reminder) "gnus-draft" "\ | 12197 | (autoload (quote gnus-draft-reminder) "gnus-draft" "\ |
| @@ -12189,8 +12203,8 @@ Reminder user if there are unsent drafts. | |||
| 12189 | 12203 | ||
| 12190 | ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png | 12204 | ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png |
| 12191 | ;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header | 12205 | ;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header |
| 12192 | ;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17994 | 12206 | ;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17842 |
| 12193 | ;;;;;; 6715)) | 12207 | ;;;;;; 54741)) |
| 12194 | ;;; Generated autoloads from gnus/gnus-fun.el | 12208 | ;;; Generated autoloads from gnus/gnus-fun.el |
| 12195 | 12209 | ||
| 12196 | (autoload (quote gnus-random-x-face) "gnus-fun" "\ | 12210 | (autoload (quote gnus-random-x-face) "gnus-fun" "\ |
| @@ -12229,7 +12243,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to | |||
| 12229 | ;;;*** | 12243 | ;;;*** |
| 12230 | 12244 | ||
| 12231 | ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) | 12245 | ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) |
| 12232 | ;;;;;; "gnus-group" "gnus/gnus-group.el" (17994 6715)) | 12246 | ;;;;;; "gnus-group" "gnus/gnus-group.el" (17842 54741)) |
| 12233 | ;;; Generated autoloads from gnus/gnus-group.el | 12247 | ;;; Generated autoloads from gnus/gnus-group.el |
| 12234 | 12248 | ||
| 12235 | (autoload (quote gnus-fetch-group) "gnus-group" "\ | 12249 | (autoload (quote gnus-fetch-group) "gnus-group" "\ |
| @@ -12246,7 +12260,7 @@ Pop up a frame and enter GROUP. | |||
| 12246 | ;;;*** | 12260 | ;;;*** |
| 12247 | 12261 | ||
| 12248 | ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" | 12262 | ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" |
| 12249 | ;;;;;; (17994 6715)) | 12263 | ;;;;;; (17842 54741)) |
| 12250 | ;;; Generated autoloads from gnus/gnus-kill.el | 12264 | ;;; Generated autoloads from gnus/gnus-kill.el |
| 12251 | 12265 | ||
| 12252 | (defalias (quote gnus-batch-kill) (quote gnus-batch-score)) | 12266 | (defalias (quote gnus-batch-kill) (quote gnus-batch-score)) |
| @@ -12261,7 +12275,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score | |||
| 12261 | 12275 | ||
| 12262 | ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate | 12276 | ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate |
| 12263 | ;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" | 12277 | ;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" |
| 12264 | ;;;;;; (17994 6715)) | 12278 | ;;;;;; (17842 54741)) |
| 12265 | ;;; Generated autoloads from gnus/gnus-ml.el | 12279 | ;;; Generated autoloads from gnus/gnus-ml.el |
| 12266 | 12280 | ||
| 12267 | (autoload (quote turn-on-gnus-mailing-list-mode) "gnus-ml" "\ | 12281 | (autoload (quote turn-on-gnus-mailing-list-mode) "gnus-ml" "\ |
| @@ -12286,7 +12300,7 @@ Minor mode for providing mailing-list commands. | |||
| 12286 | 12300 | ||
| 12287 | ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update | 12301 | ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update |
| 12288 | ;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" | 12302 | ;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" |
| 12289 | ;;;;;; (17994 6715)) | 12303 | ;;;;;; (17842 54741)) |
| 12290 | ;;; Generated autoloads from gnus/gnus-mlspl.el | 12304 | ;;; Generated autoloads from gnus/gnus-mlspl.el |
| 12291 | 12305 | ||
| 12292 | (autoload (quote gnus-group-split-setup) "gnus-mlspl" "\ | 12306 | (autoload (quote gnus-group-split-setup) "gnus-mlspl" "\ |
| @@ -12387,7 +12401,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns: | |||
| 12387 | ;;;*** | 12401 | ;;;*** |
| 12388 | 12402 | ||
| 12389 | ;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el" | 12403 | ;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el" |
| 12390 | ;;;;;; (17994 6715)) | 12404 | ;;;;;; (17842 54741)) |
| 12391 | ;;; Generated autoloads from gnus/gnus-move.el | 12405 | ;;; Generated autoloads from gnus/gnus-move.el |
| 12392 | 12406 | ||
| 12393 | (autoload (quote gnus-change-server) "gnus-move" "\ | 12407 | (autoload (quote gnus-change-server) "gnus-move" "\ |
| @@ -12399,7 +12413,7 @@ Update the .newsrc.eld file to reflect the change of nntp server. | |||
| 12399 | ;;;*** | 12413 | ;;;*** |
| 12400 | 12414 | ||
| 12401 | ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) | 12415 | ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) |
| 12402 | ;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17994 6715)) | 12416 | ;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17949 41467)) |
| 12403 | ;;; Generated autoloads from gnus/gnus-msg.el | 12417 | ;;; Generated autoloads from gnus/gnus-msg.el |
| 12404 | 12418 | ||
| 12405 | (autoload (quote gnus-msg-mail) "gnus-msg" "\ | 12419 | (autoload (quote gnus-msg-mail) "gnus-msg" "\ |
| @@ -12424,7 +12438,7 @@ Like `message-reply'. | |||
| 12424 | ;;;*** | 12438 | ;;;*** |
| 12425 | 12439 | ||
| 12426 | ;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups) | 12440 | ;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups) |
| 12427 | ;;;;;; "gnus-nocem" "gnus/gnus-nocem.el" (17994 6715)) | 12441 | ;;;;;; "gnus-nocem" "gnus/gnus-nocem.el" (17842 54741)) |
| 12428 | ;;; Generated autoloads from gnus/gnus-nocem.el | 12442 | ;;; Generated autoloads from gnus/gnus-nocem.el |
| 12429 | 12443 | ||
| 12430 | (autoload (quote gnus-nocem-scan-groups) "gnus-nocem" "\ | 12444 | (autoload (quote gnus-nocem-scan-groups) "gnus-nocem" "\ |
| @@ -12441,7 +12455,7 @@ Load the NoCeM cache. | |||
| 12441 | 12455 | ||
| 12442 | ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon | 12456 | ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon |
| 12443 | ;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" | 12457 | ;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" |
| 12444 | ;;;;;; (17994 6715)) | 12458 | ;;;;;; (17842 54741)) |
| 12445 | ;;; Generated autoloads from gnus/gnus-picon.el | 12459 | ;;; Generated autoloads from gnus/gnus-picon.el |
| 12446 | 12460 | ||
| 12447 | (autoload (quote gnus-treat-from-picon) "gnus-picon" "\ | 12461 | (autoload (quote gnus-treat-from-picon) "gnus-picon" "\ |
| @@ -12468,7 +12482,7 @@ If picons are already displayed, remove them. | |||
| 12468 | ;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection | 12482 | ;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection |
| 12469 | ;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement | 12483 | ;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement |
| 12470 | ;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" | 12484 | ;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" |
| 12471 | ;;;;;; "gnus/gnus-range.el" (17994 6715)) | 12485 | ;;;;;; "gnus/gnus-range.el" (17842 54741)) |
| 12472 | ;;; Generated autoloads from gnus/gnus-range.el | 12486 | ;;; Generated autoloads from gnus/gnus-range.el |
| 12473 | 12487 | ||
| 12474 | (autoload (quote gnus-sorted-difference) "gnus-range" "\ | 12488 | (autoload (quote gnus-sorted-difference) "gnus-range" "\ |
| @@ -12536,7 +12550,7 @@ Add NUM into sorted LIST by side effect. | |||
| 12536 | ;;;*** | 12550 | ;;;*** |
| 12537 | 12551 | ||
| 12538 | ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) | 12552 | ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) |
| 12539 | ;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17994 6715)) | 12553 | ;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17934 27588)) |
| 12540 | ;;; Generated autoloads from gnus/gnus-registry.el | 12554 | ;;; Generated autoloads from gnus/gnus-registry.el |
| 12541 | 12555 | ||
| 12542 | (autoload (quote gnus-registry-initialize) "gnus-registry" "\ | 12556 | (autoload (quote gnus-registry-initialize) "gnus-registry" "\ |
| @@ -12552,8 +12566,8 @@ Install the registry hooks. | |||
| 12552 | ;;;*** | 12566 | ;;;*** |
| 12553 | 12567 | ||
| 12554 | ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate | 12568 | ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate |
| 12555 | ;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17994 | 12569 | ;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17842 |
| 12556 | ;;;;;; 6715)) | 12570 | ;;;;;; 54741)) |
| 12557 | ;;; Generated autoloads from gnus/gnus-sieve.el | 12571 | ;;; Generated autoloads from gnus/gnus-sieve.el |
| 12558 | 12572 | ||
| 12559 | (autoload (quote gnus-sieve-update) "gnus-sieve" "\ | 12573 | (autoload (quote gnus-sieve-update) "gnus-sieve" "\ |
| @@ -12581,7 +12595,7 @@ Not documented | |||
| 12581 | ;;;*** | 12595 | ;;;*** |
| 12582 | 12596 | ||
| 12583 | ;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el" | 12597 | ;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el" |
| 12584 | ;;;;;; (17994 6715)) | 12598 | ;;;;;; (17842 54741)) |
| 12585 | ;;; Generated autoloads from gnus/gnus-soup.el | 12599 | ;;; Generated autoloads from gnus/gnus-soup.el |
| 12586 | 12600 | ||
| 12587 | (autoload (quote gnus-batch-brew-soup) "gnus-soup" "\ | 12601 | (autoload (quote gnus-batch-brew-soup) "gnus-soup" "\ |
| @@ -12601,7 +12615,7 @@ Note -- this function hasn't been implemented yet. | |||
| 12601 | ;;;*** | 12615 | ;;;*** |
| 12602 | 12616 | ||
| 12603 | ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" | 12617 | ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" |
| 12604 | ;;;;;; (17994 6715)) | 12618 | ;;;;;; (17842 54741)) |
| 12605 | ;;; Generated autoloads from gnus/gnus-spec.el | 12619 | ;;; Generated autoloads from gnus/gnus-spec.el |
| 12606 | 12620 | ||
| 12607 | (autoload (quote gnus-update-format) "gnus-spec" "\ | 12621 | (autoload (quote gnus-update-format) "gnus-spec" "\ |
| @@ -12612,8 +12626,8 @@ Update the format specification near point. | |||
| 12612 | ;;;*** | 12626 | ;;;*** |
| 12613 | 12627 | ||
| 12614 | ;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news | 12628 | ;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news |
| 12615 | ;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17994 | 12629 | ;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17842 |
| 12616 | ;;;;;; 6715)) | 12630 | ;;;;;; 54741)) |
| 12617 | ;;; Generated autoloads from gnus/gnus-start.el | 12631 | ;;; Generated autoloads from gnus/gnus-start.el |
| 12618 | 12632 | ||
| 12619 | (autoload (quote gnus-declare-backend) "gnus-start" "\ | 12633 | (autoload (quote gnus-declare-backend) "gnus-start" "\ |
| @@ -12629,7 +12643,7 @@ Not documented | |||
| 12629 | ;;;*** | 12643 | ;;;*** |
| 12630 | 12644 | ||
| 12631 | ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" | 12645 | ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" |
| 12632 | ;;;;;; (17994 6715)) | 12646 | ;;;;;; (17842 54741)) |
| 12633 | ;;; Generated autoloads from gnus/gnus-win.el | 12647 | ;;; Generated autoloads from gnus/gnus-win.el |
| 12634 | 12648 | ||
| 12635 | (autoload (quote gnus-add-configuration) "gnus-win" "\ | 12649 | (autoload (quote gnus-add-configuration) "gnus-win" "\ |
| @@ -12639,7 +12653,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'. | |||
| 12639 | 12653 | ||
| 12640 | ;;;*** | 12654 | ;;;*** |
| 12641 | 12655 | ||
| 12642 | ;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17994 6715)) | 12656 | ;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17941 38806)) |
| 12643 | ;;; Generated autoloads from play/gomoku.el | 12657 | ;;; Generated autoloads from play/gomoku.el |
| 12644 | 12658 | ||
| 12645 | (autoload (quote gomoku) "gomoku" "\ | 12659 | (autoload (quote gomoku) "gomoku" "\ |
| @@ -12666,7 +12680,7 @@ Use \\[describe-mode] for more info. | |||
| 12666 | ;;;*** | 12680 | ;;;*** |
| 12667 | 12681 | ||
| 12668 | ;;;### (autoloads (goto-address goto-address-at-point) "goto-addr" | 12682 | ;;;### (autoloads (goto-address goto-address-at-point) "goto-addr" |
| 12669 | ;;;;;; "net/goto-addr.el" (17994 6715)) | 12683 | ;;;;;; "net/goto-addr.el" (17842 55218)) |
| 12670 | ;;; Generated autoloads from net/goto-addr.el | 12684 | ;;; Generated autoloads from net/goto-addr.el |
| 12671 | 12685 | ||
| 12672 | (define-obsolete-function-alias (quote goto-address-at-mouse) (quote goto-address-at-point) "22.1") | 12686 | (define-obsolete-function-alias (quote goto-address-at-mouse) (quote goto-address-at-point) "22.1") |
| @@ -12696,7 +12710,7 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and | |||
| 12696 | 12710 | ||
| 12697 | ;;;### (autoloads (rgrep lgrep grep-find grep grep-mode grep-compute-defaults | 12711 | ;;;### (autoloads (rgrep lgrep grep-find grep grep-mode grep-compute-defaults |
| 12698 | ;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command | 12712 | ;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command |
| 12699 | ;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17994 6715)) | 12713 | ;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17944 20144)) |
| 12700 | ;;; Generated autoloads from progmodes/grep.el | 12714 | ;;; Generated autoloads from progmodes/grep.el |
| 12701 | 12715 | ||
| 12702 | (defvar grep-window-height nil "\ | 12716 | (defvar grep-window-height nil "\ |
| @@ -12836,7 +12850,7 @@ This command shares argument histories with \\[lgrep] and \\[grep-find]. | |||
| 12836 | 12850 | ||
| 12837 | ;;;*** | 12851 | ;;;*** |
| 12838 | 12852 | ||
| 12839 | ;;;### (autoloads (gs-load-image) "gs" "gs.el" (17994 6715)) | 12853 | ;;;### (autoloads (gs-load-image) "gs" "gs.el" (17842 58279)) |
| 12840 | ;;; Generated autoloads from gs.el | 12854 | ;;; Generated autoloads from gs.el |
| 12841 | 12855 | ||
| 12842 | (autoload (quote gs-load-image) "gs" "\ | 12856 | (autoload (quote gs-load-image) "gs" "\ |
| @@ -12850,7 +12864,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful. | |||
| 12850 | ;;;*** | 12864 | ;;;*** |
| 12851 | 12865 | ||
| 12852 | ;;;### (autoloads (gdb-script-mode jdb pdb perldb xdb dbx sdb gdb) | 12866 | ;;;### (autoloads (gdb-script-mode jdb pdb perldb xdb dbx sdb gdb) |
| 12853 | ;;;;;; "gud" "progmodes/gud.el" (17994 6727)) | 12867 | ;;;;;; "gud" "progmodes/gud.el" (17992 30878)) |
| 12854 | ;;; Generated autoloads from progmodes/gud.el | 12868 | ;;; Generated autoloads from progmodes/gud.el |
| 12855 | 12869 | ||
| 12856 | (autoload (quote gdb) "gud" "\ | 12870 | (autoload (quote gdb) "gud" "\ |
| @@ -12933,8 +12947,8 @@ Major mode for editing GDB scripts | |||
| 12933 | 12947 | ||
| 12934 | ;;;*** | 12948 | ;;;*** |
| 12935 | 12949 | ||
| 12936 | ;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17994 | 12950 | ;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17842 |
| 12937 | ;;;;;; 6715)) | 12951 | ;;;;;; 55395)) |
| 12938 | ;;; Generated autoloads from play/handwrite.el | 12952 | ;;; Generated autoloads from play/handwrite.el |
| 12939 | 12953 | ||
| 12940 | (autoload (quote handwrite) "handwrite" "\ | 12954 | (autoload (quote handwrite) "handwrite" "\ |
| @@ -12952,7 +12966,7 @@ Variables: handwrite-linespace (default 12) | |||
| 12952 | ;;;*** | 12966 | ;;;*** |
| 12953 | 12967 | ||
| 12954 | ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" | 12968 | ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" |
| 12955 | ;;;;;; (17994 6715)) | 12969 | ;;;;;; (17742 40275)) |
| 12956 | ;;; Generated autoloads from play/hanoi.el | 12970 | ;;; Generated autoloads from play/hanoi.el |
| 12957 | 12971 | ||
| 12958 | (autoload (quote hanoi) "hanoi" "\ | 12972 | (autoload (quote hanoi) "hanoi" "\ |
| @@ -12982,7 +12996,7 @@ to be updated. | |||
| 12982 | ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region | 12996 | ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region |
| 12983 | ;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer | 12997 | ;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer |
| 12984 | ;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string | 12998 | ;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string |
| 12985 | ;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17994 6715)) | 12999 | ;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17842 58279)) |
| 12986 | ;;; Generated autoloads from help-at-pt.el | 13000 | ;;; Generated autoloads from help-at-pt.el |
| 12987 | 13001 | ||
| 12988 | (autoload (quote help-at-pt-string) "help-at-pt" "\ | 13002 | (autoload (quote help-at-pt-string) "help-at-pt" "\ |
| @@ -13112,7 +13126,7 @@ different regions. With numeric argument ARG, behaves like | |||
| 13112 | ;;;### (autoloads (describe-categories describe-syntax describe-variable | 13126 | ;;;### (autoloads (describe-categories describe-syntax describe-variable |
| 13113 | ;;;;;; variable-at-point describe-function-1 describe-simplify-lib-file-name | 13127 | ;;;;;; variable-at-point describe-function-1 describe-simplify-lib-file-name |
| 13114 | ;;;;;; help-C-file-name describe-function) "help-fns" "help-fns.el" | 13128 | ;;;;;; help-C-file-name describe-function) "help-fns" "help-fns.el" |
| 13115 | ;;;;;; (17994 6751)) | 13129 | ;;;;;; (17845 46651)) |
| 13116 | ;;; Generated autoloads from help-fns.el | 13130 | ;;; Generated autoloads from help-fns.el |
| 13117 | 13131 | ||
| 13118 | (autoload (quote describe-function) "help-fns" "\ | 13132 | (autoload (quote describe-function) "help-fns" "\ |
| @@ -13170,7 +13184,7 @@ BUFFER should be a buffer or a buffer name. | |||
| 13170 | ;;;*** | 13184 | ;;;*** |
| 13171 | 13185 | ||
| 13172 | ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" | 13186 | ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" |
| 13173 | ;;;;;; (17994 6715)) | 13187 | ;;;;;; (17842 58279)) |
| 13174 | ;;; Generated autoloads from help-macro.el | 13188 | ;;; Generated autoloads from help-macro.el |
| 13175 | 13189 | ||
| 13176 | (defvar three-step-help nil "\ | 13190 | (defvar three-step-help nil "\ |
| @@ -13186,7 +13200,7 @@ A value of nil means skip the middle step, so that | |||
| 13186 | 13200 | ||
| 13187 | ;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button | 13201 | ;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button |
| 13188 | ;;;;;; help-make-xrefs help-setup-xref help-mode-finish help-mode-setup | 13202 | ;;;;;; help-make-xrefs help-setup-xref help-mode-finish help-mode-setup |
| 13189 | ;;;;;; help-mode) "help-mode" "help-mode.el" (17994 6715)) | 13203 | ;;;;;; help-mode) "help-mode" "help-mode.el" (17842 58279)) |
| 13190 | ;;; Generated autoloads from help-mode.el | 13204 | ;;; Generated autoloads from help-mode.el |
| 13191 | 13205 | ||
| 13192 | (autoload (quote help-mode) "help-mode" "\ | 13206 | (autoload (quote help-mode) "help-mode" "\ |
| @@ -13269,7 +13283,7 @@ Add xrefs for symbols in `pp's output between FROM and TO. | |||
| 13269 | ;;;*** | 13283 | ;;;*** |
| 13270 | 13284 | ||
| 13271 | ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" | 13285 | ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" |
| 13272 | ;;;;;; "emacs-lisp/helper.el" (17994 6715)) | 13286 | ;;;;;; "emacs-lisp/helper.el" (17842 54152)) |
| 13273 | ;;; Generated autoloads from emacs-lisp/helper.el | 13287 | ;;; Generated autoloads from emacs-lisp/helper.el |
| 13274 | 13288 | ||
| 13275 | (autoload (quote Helper-describe-bindings) "helper" "\ | 13289 | (autoload (quote Helper-describe-bindings) "helper" "\ |
| @@ -13285,7 +13299,7 @@ Provide help for current mode. | |||
| 13285 | ;;;*** | 13299 | ;;;*** |
| 13286 | 13300 | ||
| 13287 | ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" | 13301 | ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" |
| 13288 | ;;;;;; "hexl.el" (17994 6715)) | 13302 | ;;;;;; "hexl.el" (17844 53657)) |
| 13289 | ;;; Generated autoloads from hexl.el | 13303 | ;;; Generated autoloads from hexl.el |
| 13290 | 13304 | ||
| 13291 | (autoload (quote hexl-mode) "hexl" "\ | 13305 | (autoload (quote hexl-mode) "hexl" "\ |
| @@ -13382,7 +13396,7 @@ This discards the buffer's undo information. | |||
| 13382 | ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer | 13396 | ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer |
| 13383 | ;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer | 13397 | ;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer |
| 13384 | ;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" | 13398 | ;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" |
| 13385 | ;;;;;; (17994 6726)) | 13399 | ;;;;;; (17992 30877)) |
| 13386 | ;;; Generated autoloads from hi-lock.el | 13400 | ;;; Generated autoloads from hi-lock.el |
| 13387 | 13401 | ||
| 13388 | (autoload (quote hi-lock-mode) "hi-lock" "\ | 13402 | (autoload (quote hi-lock-mode) "hi-lock" "\ |
| @@ -13512,7 +13526,7 @@ be found in variable `hi-lock-interactive-patterns'. | |||
| 13512 | ;;;*** | 13526 | ;;;*** |
| 13513 | 13527 | ||
| 13514 | ;;;### (autoloads (hide-ifdef-lines hide-ifdef-read-only hide-ifdef-initially | 13528 | ;;;### (autoloads (hide-ifdef-lines hide-ifdef-read-only hide-ifdef-initially |
| 13515 | ;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17994 6715)) | 13529 | ;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17842 56333)) |
| 13516 | ;;; Generated autoloads from progmodes/hideif.el | 13530 | ;;; Generated autoloads from progmodes/hideif.el |
| 13517 | 13531 | ||
| 13518 | (autoload (quote hide-ifdef-mode) "hideif" "\ | 13532 | (autoload (quote hide-ifdef-mode) "hideif" "\ |
| @@ -13567,7 +13581,7 @@ how the hiding is done: | |||
| 13567 | ;;;*** | 13581 | ;;;*** |
| 13568 | 13582 | ||
| 13569 | ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" | 13583 | ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" |
| 13570 | ;;;;;; (17994 6715)) | 13584 | ;;;;;; (17934 43341)) |
| 13571 | ;;; Generated autoloads from progmodes/hideshow.el | 13585 | ;;; Generated autoloads from progmodes/hideshow.el |
| 13572 | 13586 | ||
| 13573 | (defvar hs-special-modes-alist (quote ((c-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (c++-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (bibtex-mode ("^@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning))) "\ | 13587 | (defvar hs-special-modes-alist (quote ((c-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (c++-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (bibtex-mode ("^@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning))) "\ |
| @@ -13630,7 +13644,7 @@ Unconditionally turn off `hs-minor-mode'. | |||
| 13630 | ;;;;;; highlight-compare-buffers highlight-changes-rotate-faces | 13644 | ;;;;;; highlight-compare-buffers highlight-changes-rotate-faces |
| 13631 | ;;;;;; highlight-changes-previous-change highlight-changes-next-change | 13645 | ;;;;;; highlight-changes-previous-change highlight-changes-next-change |
| 13632 | ;;;;;; highlight-changes-mode highlight-changes-remove-highlight) | 13646 | ;;;;;; highlight-changes-mode highlight-changes-remove-highlight) |
| 13633 | ;;;;;; "hilit-chg" "hilit-chg.el" (18000 24338)) | 13647 | ;;;;;; "hilit-chg" "hilit-chg.el" (17842 58279)) |
| 13634 | ;;; Generated autoloads from hilit-chg.el | 13648 | ;;; Generated autoloads from hilit-chg.el |
| 13635 | 13649 | ||
| 13636 | (autoload (quote highlight-changes-remove-highlight) "hilit-chg" "\ | 13650 | (autoload (quote highlight-changes-remove-highlight) "hilit-chg" "\ |
| @@ -13760,7 +13774,7 @@ variable `highlight-changes-global-changes-existing-buffers' is non-nil). | |||
| 13760 | ;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction | 13774 | ;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction |
| 13761 | ;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space | 13775 | ;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space |
| 13762 | ;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp" | 13776 | ;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp" |
| 13763 | ;;;;;; "hippie-exp.el" (17994 6715)) | 13777 | ;;;;;; "hippie-exp.el" (17842 58279)) |
| 13764 | ;;; Generated autoloads from hippie-exp.el | 13778 | ;;; Generated autoloads from hippie-exp.el |
| 13765 | 13779 | ||
| 13766 | (defvar hippie-expand-try-functions-list (quote (try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)) "\ | 13780 | (defvar hippie-expand-try-functions-list (quote (try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)) "\ |
| @@ -13833,7 +13847,7 @@ argument VERBOSE non-nil makes the function verbose. | |||
| 13833 | ;;;*** | 13847 | ;;;*** |
| 13834 | 13848 | ||
| 13835 | ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" | 13849 | ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" |
| 13836 | ;;;;;; (17994 6715)) | 13850 | ;;;;;; (17842 58279)) |
| 13837 | ;;; Generated autoloads from hl-line.el | 13851 | ;;; Generated autoloads from hl-line.el |
| 13838 | 13852 | ||
| 13839 | (autoload (quote hl-line-mode) "hl-line" "\ | 13853 | (autoload (quote hl-line-mode) "hl-line" "\ |
| @@ -13874,7 +13888,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and | |||
| 13874 | ;;;*** | 13888 | ;;;*** |
| 13875 | 13889 | ||
| 13876 | ;;;### (autoloads (list-holidays holidays) "holidays" "calendar/holidays.el" | 13890 | ;;;### (autoloads (list-holidays holidays) "holidays" "calendar/holidays.el" |
| 13877 | ;;;;;; (17994 6715)) | 13891 | ;;;;;; (17956 13479)) |
| 13878 | ;;; Generated autoloads from calendar/holidays.el | 13892 | ;;; Generated autoloads from calendar/holidays.el |
| 13879 | 13893 | ||
| 13880 | (autoload (quote holidays) "holidays" "\ | 13894 | (autoload (quote holidays) "holidays" "\ |
| @@ -13910,35 +13924,8 @@ The optional LABEL is used to label the buffer created. | |||
| 13910 | 13924 | ||
| 13911 | ;;;*** | 13925 | ;;;*** |
| 13912 | 13926 | ||
| 13913 | ;;;### (autoloads (hscroll-global-mode hscroll-mode turn-on-hscroll) | 13927 | ;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17842 |
| 13914 | ;;;;;; "hscroll" "obsolete/hscroll.el" (17994 6715)) | 13928 | ;;;;;; 54741)) |
| 13915 | ;;; Generated autoloads from obsolete/hscroll.el | ||
| 13916 | |||
| 13917 | (autoload (quote turn-on-hscroll) "hscroll" "\ | ||
| 13918 | This function is obsolete. | ||
| 13919 | Emacs now does hscrolling automatically, if `truncate-lines' is non-nil. | ||
| 13920 | Also see `automatic-hscrolling'. | ||
| 13921 | |||
| 13922 | \(fn)" nil nil) | ||
| 13923 | |||
| 13924 | (autoload (quote hscroll-mode) "hscroll" "\ | ||
| 13925 | This function is obsolete. | ||
| 13926 | Emacs now does hscrolling automatically, if `truncate-lines' is non-nil. | ||
| 13927 | Also see `automatic-hscrolling'. | ||
| 13928 | |||
| 13929 | \(fn &optional ARG)" t nil) | ||
| 13930 | |||
| 13931 | (autoload (quote hscroll-global-mode) "hscroll" "\ | ||
| 13932 | This function is obsolete. | ||
| 13933 | Emacs now does hscrolling automatically, if `truncate-lines' is non-nil. | ||
| 13934 | Also see `automatic-hscrolling'. | ||
| 13935 | |||
| 13936 | \(fn &optional ARG)" t nil) | ||
| 13937 | |||
| 13938 | ;;;*** | ||
| 13939 | |||
| 13940 | ;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17994 | ||
| 13941 | ;;;;;; 6715)) | ||
| 13942 | ;;; Generated autoloads from gnus/html2text.el | 13929 | ;;; Generated autoloads from gnus/html2text.el |
| 13943 | 13930 | ||
| 13944 | (autoload (quote html2text) "html2text" "\ | 13931 | (autoload (quote html2text) "html2text" "\ |
| @@ -13970,7 +13957,7 @@ Convert HTML to plain text in the current buffer. | |||
| 13970 | ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group | 13957 | ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group |
| 13971 | ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group | 13958 | ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group |
| 13972 | ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode | 13959 | ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode |
| 13973 | ;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17994 6715)) | 13960 | ;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17842 58279)) |
| 13974 | ;;; Generated autoloads from ibuf-ext.el | 13961 | ;;; Generated autoloads from ibuf-ext.el |
| 13975 | 13962 | ||
| 13976 | (autoload (quote ibuffer-auto-mode) "ibuf-ext" "\ | 13963 | (autoload (quote ibuffer-auto-mode) "ibuf-ext" "\ |
| @@ -14336,8 +14323,8 @@ defaults to one. | |||
| 14336 | ;;;*** | 14323 | ;;;*** |
| 14337 | 14324 | ||
| 14338 | ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter | 14325 | ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter |
| 14339 | ;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17994 | 14326 | ;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17842 |
| 14340 | ;;;;;; 6715)) | 14327 | ;;;;;; 58279)) |
| 14341 | ;;; Generated autoloads from ibuf-macs.el | 14328 | ;;; Generated autoloads from ibuf-macs.el |
| 14342 | 14329 | ||
| 14343 | (autoload (quote define-ibuffer-column) "ibuf-macs" "\ | 14330 | (autoload (quote define-ibuffer-column) "ibuf-macs" "\ |
| @@ -14426,7 +14413,7 @@ bound to the current value of the filter. | |||
| 14426 | ;;;*** | 14413 | ;;;*** |
| 14427 | 14414 | ||
| 14428 | ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) | 14415 | ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) |
| 14429 | ;;;;;; "ibuffer" "ibuffer.el" (17994 6715)) | 14416 | ;;;;;; "ibuffer" "ibuffer.el" (17842 58279)) |
| 14430 | ;;; Generated autoloads from ibuffer.el | 14417 | ;;; Generated autoloads from ibuffer.el |
| 14431 | 14418 | ||
| 14432 | (autoload (quote ibuffer-list-buffers) "ibuffer" "\ | 14419 | (autoload (quote ibuffer-list-buffers) "ibuffer" "\ |
| @@ -14467,7 +14454,7 @@ FORMATS is the value to use for `ibuffer-formats'. | |||
| 14467 | 14454 | ||
| 14468 | ;;;### (autoloads (icalendar-import-buffer icalendar-import-file | 14455 | ;;;### (autoloads (icalendar-import-buffer icalendar-import-file |
| 14469 | ;;;;;; icalendar-export-region icalendar-export-file) "icalendar" | 14456 | ;;;;;; icalendar-export-region icalendar-export-file) "icalendar" |
| 14470 | ;;;;;; "calendar/icalendar.el" (17994 6715)) | 14457 | ;;;;;; "calendar/icalendar.el" (17921 16827)) |
| 14471 | ;;; Generated autoloads from calendar/icalendar.el | 14458 | ;;; Generated autoloads from calendar/icalendar.el |
| 14472 | 14459 | ||
| 14473 | (autoload (quote icalendar-export-file) "icalendar" "\ | 14460 | (autoload (quote icalendar-export-file) "icalendar" "\ |
| @@ -14519,8 +14506,8 @@ buffer `*icalendar-errors*'. | |||
| 14519 | 14506 | ||
| 14520 | ;;;*** | 14507 | ;;;*** |
| 14521 | 14508 | ||
| 14522 | ;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17994 | 14509 | ;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17907 |
| 14523 | ;;;;;; 6715)) | 14510 | ;;;;;; 1407)) |
| 14524 | ;;; Generated autoloads from icomplete.el | 14511 | ;;; Generated autoloads from icomplete.el |
| 14525 | 14512 | ||
| 14526 | (defvar icomplete-mode nil "\ | 14513 | (defvar icomplete-mode nil "\ |
| @@ -14540,7 +14527,7 @@ With a numeric argument, turn Icomplete mode on iff ARG is positive. | |||
| 14540 | 14527 | ||
| 14541 | ;;;*** | 14528 | ;;;*** |
| 14542 | 14529 | ||
| 14543 | ;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17994 6715)) | 14530 | ;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17842 56333)) |
| 14544 | ;;; Generated autoloads from progmodes/icon.el | 14531 | ;;; Generated autoloads from progmodes/icon.el |
| 14545 | 14532 | ||
| 14546 | (autoload (quote icon-mode) "icon" "\ | 14533 | (autoload (quote icon-mode) "icon" "\ |
| @@ -14581,7 +14568,7 @@ with no args, if that value is non-nil. | |||
| 14581 | ;;;*** | 14568 | ;;;*** |
| 14582 | 14569 | ||
| 14583 | ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" | 14570 | ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" |
| 14584 | ;;;;;; (17994 6715)) | 14571 | ;;;;;; (17965 23638)) |
| 14585 | ;;; Generated autoloads from progmodes/idlw-shell.el | 14572 | ;;; Generated autoloads from progmodes/idlw-shell.el |
| 14586 | 14573 | ||
| 14587 | (autoload (quote idlwave-shell) "idlw-shell" "\ | 14574 | (autoload (quote idlwave-shell) "idlw-shell" "\ |
| @@ -14607,7 +14594,7 @@ See also the variable `idlwave-shell-prompt-pattern'. | |||
| 14607 | ;;;*** | 14594 | ;;;*** |
| 14608 | 14595 | ||
| 14609 | ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" | 14596 | ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" |
| 14610 | ;;;;;; (17994 6723)) | 14597 | ;;;;;; (17992 30878)) |
| 14611 | ;;; Generated autoloads from progmodes/idlwave.el | 14598 | ;;; Generated autoloads from progmodes/idlwave.el |
| 14612 | 14599 | ||
| 14613 | (autoload (quote idlwave-mode) "idlwave" "\ | 14600 | (autoload (quote idlwave-mode) "idlwave" "\ |
| @@ -14742,8 +14729,8 @@ The main features of this mode are | |||
| 14742 | ;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file | 14729 | ;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file |
| 14743 | ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer | 14730 | ;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer |
| 14744 | ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window | 14731 | ;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window |
| 14745 | ;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17994 | 14732 | ;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17963 |
| 14746 | ;;;;;; 6715)) | 14733 | ;;;;;; 25911)) |
| 14747 | ;;; Generated autoloads from ido.el | 14734 | ;;; Generated autoloads from ido.el |
| 14748 | 14735 | ||
| 14749 | (defvar ido-mode nil "\ | 14736 | (defvar ido-mode nil "\ |
| @@ -15004,7 +14991,7 @@ DEF, if non-nil, is the default value. | |||
| 15004 | 14991 | ||
| 15005 | ;;;*** | 14992 | ;;;*** |
| 15006 | 14993 | ||
| 15007 | ;;;### (autoloads (ielm) "ielm" "ielm.el" (17994 6715)) | 14994 | ;;;### (autoloads (ielm) "ielm" "ielm.el" (17842 58279)) |
| 15008 | ;;; Generated autoloads from ielm.el | 14995 | ;;; Generated autoloads from ielm.el |
| 15009 | (add-hook 'same-window-buffer-names "*ielm*") | 14996 | (add-hook 'same-window-buffer-names "*ielm*") |
| 15010 | 14997 | ||
| @@ -15017,7 +15004,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist. | |||
| 15017 | ;;;*** | 15004 | ;;;*** |
| 15018 | 15005 | ||
| 15019 | ;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el" | 15006 | ;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el" |
| 15020 | ;;;;;; (17994 6715)) | 15007 | ;;;;;; (17842 58279)) |
| 15021 | ;;; Generated autoloads from iimage.el | 15008 | ;;; Generated autoloads from iimage.el |
| 15022 | 15009 | ||
| 15023 | (autoload (quote turn-on-iimage-mode) "iimage" "\ | 15010 | (autoload (quote turn-on-iimage-mode) "iimage" "\ |
| @@ -15036,7 +15023,7 @@ Toggle inline image minor mode. | |||
| 15036 | ;;;;;; insert-image put-image create-image image-type-auto-detected-p | 15023 | ;;;;;; insert-image put-image create-image image-type-auto-detected-p |
| 15037 | ;;;;;; image-type-available-p image-type image-type-from-file-name | 15024 | ;;;;;; image-type-available-p image-type image-type-from-file-name |
| 15038 | ;;;;;; image-type-from-file-header image-type-from-buffer image-type-from-data) | 15025 | ;;;;;; image-type-from-file-header image-type-from-buffer image-type-from-data) |
| 15039 | ;;;;;; "image" "image.el" (17994 6715)) | 15026 | ;;;;;; "image" "image.el" (17868 42568)) |
| 15040 | ;;; Generated autoloads from image.el | 15027 | ;;; Generated autoloads from image.el |
| 15041 | 15028 | ||
| 15042 | (autoload (quote image-type-from-data) "image" "\ | 15029 | (autoload (quote image-type-from-data) "image" "\ |
| @@ -15217,7 +15204,7 @@ Example: | |||
| 15217 | ;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag | 15204 | ;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag |
| 15218 | ;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs | 15205 | ;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs |
| 15219 | ;;;;;; image-dired-dired-with-window-configuration image-dired-dired-insert-marked-thumbs) | 15206 | ;;;;;; image-dired-dired-with-window-configuration image-dired-dired-insert-marked-thumbs) |
| 15220 | ;;;;;; "image-dired" "image-dired.el" (17994 6727)) | 15207 | ;;;;;; "image-dired" "image-dired.el" (17992 30877)) |
| 15221 | ;;; Generated autoloads from image-dired.el | 15208 | ;;; Generated autoloads from image-dired.el |
| 15222 | 15209 | ||
| 15223 | (autoload (quote image-dired-dired-insert-marked-thumbs) "image-dired" "\ | 15210 | (autoload (quote image-dired-dired-insert-marked-thumbs) "image-dired" "\ |
| @@ -15351,7 +15338,7 @@ easy-to-use form. | |||
| 15351 | 15338 | ||
| 15352 | ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp | 15339 | ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp |
| 15353 | ;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" | 15340 | ;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" |
| 15354 | ;;;;;; "image-file.el" (17994 6715)) | 15341 | ;;;;;; "image-file.el" (17842 58279)) |
| 15355 | ;;; Generated autoloads from image-file.el | 15342 | ;;; Generated autoloads from image-file.el |
| 15356 | 15343 | ||
| 15357 | (defvar image-file-name-extensions (quote ("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm")) "\ | 15344 | (defvar image-file-name-extensions (quote ("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm")) "\ |
| @@ -15413,7 +15400,7 @@ Image files are those whose name has an extension in | |||
| 15413 | ;;;*** | 15400 | ;;;*** |
| 15414 | 15401 | ||
| 15415 | ;;;### (autoloads (image-mode-maybe image-minor-mode image-mode) | 15402 | ;;;### (autoloads (image-mode-maybe image-minor-mode image-mode) |
| 15416 | ;;;;;; "image-mode" "image-mode.el" (17994 6715)) | 15403 | ;;;;;; "image-mode" "image-mode.el" (17868 42581)) |
| 15417 | ;;; Generated autoloads from image-mode.el | 15404 | ;;; Generated autoloads from image-mode.el |
| 15418 | (push '("\\.jpe?g\\'" . image-mode) auto-mode-alist) | 15405 | (push '("\\.jpe?g\\'" . image-mode) auto-mode-alist) |
| 15419 | (push '("\\.png\\'" . image-mode) auto-mode-alist) | 15406 | (push '("\\.png\\'" . image-mode) auto-mode-alist) |
| @@ -15451,7 +15438,7 @@ information on these modes. | |||
| 15451 | ;;;*** | 15438 | ;;;*** |
| 15452 | 15439 | ||
| 15453 | ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar | 15440 | ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar |
| 15454 | ;;;;;; imenu-sort-function) "imenu" "imenu.el" (17994 6715)) | 15441 | ;;;;;; imenu-sort-function) "imenu" "imenu.el" (17842 58279)) |
| 15455 | ;;; Generated autoloads from imenu.el | 15442 | ;;; Generated autoloads from imenu.el |
| 15456 | 15443 | ||
| 15457 | (defvar imenu-sort-function nil "\ | 15444 | (defvar imenu-sort-function nil "\ |
| @@ -15566,7 +15553,7 @@ for more information. | |||
| 15566 | 15553 | ||
| 15567 | ;;;### (autoloads (indian-char-glyph indian-glyph-char in-is13194-pre-write-conversion | 15554 | ;;;### (autoloads (indian-char-glyph indian-glyph-char in-is13194-pre-write-conversion |
| 15568 | ;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) | 15555 | ;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) |
| 15569 | ;;;;;; "ind-util" "language/ind-util.el" (17994 6715)) | 15556 | ;;;;;; "ind-util" "language/ind-util.el" (17842 58278)) |
| 15570 | ;;; Generated autoloads from language/ind-util.el | 15557 | ;;; Generated autoloads from language/ind-util.el |
| 15571 | 15558 | ||
| 15572 | (autoload (quote indian-compose-region) "ind-util" "\ | 15559 | (autoload (quote indian-compose-region) "ind-util" "\ |
| @@ -15609,7 +15596,7 @@ See also the function `indian-glyph-char'. | |||
| 15609 | 15596 | ||
| 15610 | ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command | 15597 | ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command |
| 15611 | ;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp" | 15598 | ;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp" |
| 15612 | ;;;;;; "progmodes/inf-lisp.el" (17994 6715)) | 15599 | ;;;;;; "progmodes/inf-lisp.el" (17842 56332)) |
| 15613 | ;;; Generated autoloads from progmodes/inf-lisp.el | 15600 | ;;; Generated autoloads from progmodes/inf-lisp.el |
| 15614 | 15601 | ||
| 15615 | (defvar inferior-lisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'" "\ | 15602 | (defvar inferior-lisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'" "\ |
| @@ -15676,7 +15663,7 @@ of `inferior-lisp-program'). Runs the hooks from | |||
| 15676 | ;;;### (autoloads (Info-speedbar-browser Info-goto-emacs-key-command-node | 15663 | ;;;### (autoloads (Info-speedbar-browser Info-goto-emacs-key-command-node |
| 15677 | ;;;;;; Info-goto-emacs-command-node Info-mode info-apropos Info-index | 15664 | ;;;;;; Info-goto-emacs-command-node Info-mode info-apropos Info-index |
| 15678 | ;;;;;; Info-directory Info-on-current-buffer info-standalone info-emacs-manual | 15665 | ;;;;;; Info-directory Info-on-current-buffer info-standalone info-emacs-manual |
| 15679 | ;;;;;; info info-other-window) "info" "info.el" (18000 24374)) | 15666 | ;;;;;; info info-other-window) "info" "info.el" (18006 55795)) |
| 15680 | ;;; Generated autoloads from info.el | 15667 | ;;; Generated autoloads from info.el |
| 15681 | 15668 | ||
| 15682 | (autoload (quote info-other-window) "info" "\ | 15669 | (autoload (quote info-other-window) "info" "\ |
| @@ -15842,7 +15829,7 @@ This will add a speedbar major display mode. | |||
| 15842 | 15829 | ||
| 15843 | ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file | 15830 | ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file |
| 15844 | ;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" | 15831 | ;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" |
| 15845 | ;;;;;; (17994 6715)) | 15832 | ;;;;;; (17878 61008)) |
| 15846 | ;;; Generated autoloads from info-look.el | 15833 | ;;; Generated autoloads from info-look.el |
| 15847 | 15834 | ||
| 15848 | (autoload (quote info-lookup-reset) "info-look" "\ | 15835 | (autoload (quote info-lookup-reset) "info-look" "\ |
| @@ -15890,7 +15877,7 @@ Perform completion on file preceding point. | |||
| 15890 | ;;;*** | 15877 | ;;;*** |
| 15891 | 15878 | ||
| 15892 | ;;;### (autoloads (info-xref-check-all-custom info-xref-check-all | 15879 | ;;;### (autoloads (info-xref-check-all-custom info-xref-check-all |
| 15893 | ;;;;;; info-xref-check) "info-xref" "info-xref.el" (17994 6715)) | 15880 | ;;;;;; info-xref-check) "info-xref" "info-xref.el" (17842 58279)) |
| 15894 | ;;; Generated autoloads from info-xref.el | 15881 | ;;; Generated autoloads from info-xref.el |
| 15895 | 15882 | ||
| 15896 | (autoload (quote info-xref-check) "info-xref" "\ | 15883 | (autoload (quote info-xref-check) "info-xref" "\ |
| @@ -15917,7 +15904,7 @@ quite a while. | |||
| 15917 | ;;;*** | 15904 | ;;;*** |
| 15918 | 15905 | ||
| 15919 | ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify) | 15906 | ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify) |
| 15920 | ;;;;;; "informat" "informat.el" (17994 6715)) | 15907 | ;;;;;; "informat" "informat.el" (17842 58279)) |
| 15921 | ;;; Generated autoloads from informat.el | 15908 | ;;; Generated autoloads from informat.el |
| 15922 | 15909 | ||
| 15923 | (autoload (quote Info-tagify) "informat" "\ | 15910 | (autoload (quote Info-tagify) "informat" "\ |
| @@ -15958,7 +15945,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\" | |||
| 15958 | 15945 | ||
| 15959 | ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method | 15946 | ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method |
| 15960 | ;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" | 15947 | ;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" |
| 15961 | ;;;;;; (17994 6715)) | 15948 | ;;;;;; (17903 2305)) |
| 15962 | ;;; Generated autoloads from international/isearch-x.el | 15949 | ;;; Generated autoloads from international/isearch-x.el |
| 15963 | 15950 | ||
| 15964 | (autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\ | 15951 | (autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\ |
| @@ -15978,8 +15965,8 @@ Not documented | |||
| 15978 | 15965 | ||
| 15979 | ;;;*** | 15966 | ;;;*** |
| 15980 | 15967 | ||
| 15981 | ;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17994 | 15968 | ;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17918 |
| 15982 | ;;;;;; 6715)) | 15969 | ;;;;;; 44913)) |
| 15983 | ;;; Generated autoloads from isearchb.el | 15970 | ;;; Generated autoloads from isearchb.el |
| 15984 | 15971 | ||
| 15985 | (autoload (quote isearchb-activate) "isearchb" "\ | 15972 | (autoload (quote isearchb-activate) "isearchb" "\ |
| @@ -16026,7 +16013,7 @@ and a negative argument disables it. | |||
| 16026 | ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only | 16013 | ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only |
| 16027 | ;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso | 16014 | ;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso |
| 16028 | ;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" | 16015 | ;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" |
| 16029 | ;;;;;; "international/iso-cvt.el" (17994 6743)) | 16016 | ;;;;;; "international/iso-cvt.el" (17992 30878)) |
| 16030 | ;;; Generated autoloads from international/iso-cvt.el | 16017 | ;;; Generated autoloads from international/iso-cvt.el |
| 16031 | 16018 | ||
| 16032 | (autoload (quote iso-spanish) "iso-cvt" "\ | 16019 | (autoload (quote iso-spanish) "iso-cvt" "\ |
| @@ -16110,7 +16097,7 @@ Add submenus to the File menu, to convert to and from various formats. | |||
| 16110 | ;;;*** | 16097 | ;;;*** |
| 16111 | 16098 | ||
| 16112 | ;;;### (autoloads nil "iso-transl" "international/iso-transl.el" | 16099 | ;;;### (autoloads nil "iso-transl" "international/iso-transl.el" |
| 16113 | ;;;;;; (17994 6715)) | 16100 | ;;;;;; (17842 54888)) |
| 16114 | ;;; Generated autoloads from international/iso-transl.el | 16101 | ;;; Generated autoloads from international/iso-transl.el |
| 16115 | (or key-translation-map (setq key-translation-map (make-sparse-keymap))) | 16102 | (or key-translation-map (setq key-translation-map (make-sparse-keymap))) |
| 16116 | (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map) | 16103 | (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map) |
| @@ -16123,7 +16110,7 @@ Add submenus to the File menu, to convert to and from various formats. | |||
| 16123 | ;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell | 16110 | ;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell |
| 16124 | ;;;;;; ispell-help ispell-pdict-save ispell-word ispell-local-dictionary-alist | 16111 | ;;;;;; ispell-help ispell-pdict-save ispell-word ispell-local-dictionary-alist |
| 16125 | ;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el" | 16112 | ;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el" |
| 16126 | ;;;;;; (18000 24377)) | 16113 | ;;;;;; (18006 55797)) |
| 16127 | ;;; Generated autoloads from textmodes/ispell.el | 16114 | ;;; Generated autoloads from textmodes/ispell.el |
| 16128 | (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) | 16115 | (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) |
| 16129 | 16116 | ||
| @@ -16410,8 +16397,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to | |||
| 16410 | 16397 | ||
| 16411 | ;;;*** | 16398 | ;;;*** |
| 16412 | 16399 | ||
| 16413 | ;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17994 | 16400 | ;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17819 |
| 16414 | ;;;;;; 6715)) | 16401 | ;;;;;; 9451)) |
| 16415 | ;;; Generated autoloads from iswitchb.el | 16402 | ;;; Generated autoloads from iswitchb.el |
| 16416 | 16403 | ||
| 16417 | (defvar iswitchb-mode nil "\ | 16404 | (defvar iswitchb-mode nil "\ |
| @@ -16436,7 +16423,7 @@ This mode enables switching between buffers using substrings. See | |||
| 16436 | ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region | 16423 | ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region |
| 16437 | ;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku | 16424 | ;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku |
| 16438 | ;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) | 16425 | ;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) |
| 16439 | ;;;;;; "japan-util" "language/japan-util.el" (17994 6715)) | 16426 | ;;;;;; "japan-util" "language/japan-util.el" (17842 58278)) |
| 16440 | ;;; Generated autoloads from language/japan-util.el | 16427 | ;;; Generated autoloads from language/japan-util.el |
| 16441 | 16428 | ||
| 16442 | (autoload (quote setup-japanese-environment-internal) "japan-util" "\ | 16429 | (autoload (quote setup-japanese-environment-internal) "japan-util" "\ |
| @@ -16514,7 +16501,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading. | |||
| 16514 | ;;;*** | 16501 | ;;;*** |
| 16515 | 16502 | ||
| 16516 | ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" | 16503 | ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" |
| 16517 | ;;;;;; "jka-compr.el" (17994 6715)) | 16504 | ;;;;;; "jka-compr.el" (17853 24893)) |
| 16518 | ;;; Generated autoloads from jka-compr.el | 16505 | ;;; Generated autoloads from jka-compr.el |
| 16519 | 16506 | ||
| 16520 | (defvar jka-compr-inhibit nil "\ | 16507 | (defvar jka-compr-inhibit nil "\ |
| @@ -16539,7 +16526,7 @@ by `jka-compr-installed'. | |||
| 16539 | 16526 | ||
| 16540 | ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup | 16527 | ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup |
| 16541 | ;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" | 16528 | ;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" |
| 16542 | ;;;;;; (17994 6715)) | 16529 | ;;;;;; (17833 41203)) |
| 16543 | ;;; Generated autoloads from emulation/keypad.el | 16530 | ;;; Generated autoloads from emulation/keypad.el |
| 16544 | 16531 | ||
| 16545 | (defvar keypad-setup nil "\ | 16532 | (defvar keypad-setup nil "\ |
| @@ -16595,7 +16582,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.' | |||
| 16595 | ;;;*** | 16582 | ;;;*** |
| 16596 | 16583 | ||
| 16597 | ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" | 16584 | ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" |
| 16598 | ;;;;;; (17994 6715)) | 16585 | ;;;;;; (17842 54888)) |
| 16599 | ;;; Generated autoloads from international/kinsoku.el | 16586 | ;;; Generated autoloads from international/kinsoku.el |
| 16600 | 16587 | ||
| 16601 | (autoload (quote kinsoku) "kinsoku" "\ | 16588 | (autoload (quote kinsoku) "kinsoku" "\ |
| @@ -16616,8 +16603,8 @@ the context of text formatting. | |||
| 16616 | 16603 | ||
| 16617 | ;;;*** | 16604 | ;;;*** |
| 16618 | 16605 | ||
| 16619 | ;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17994 | 16606 | ;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17842 |
| 16620 | ;;;;;; 6715)) | 16607 | ;;;;;; 54888)) |
| 16621 | ;;; Generated autoloads from international/kkc.el | 16608 | ;;; Generated autoloads from international/kkc.el |
| 16622 | 16609 | ||
| 16623 | (defvar kkc-after-update-conversion-functions nil "\ | 16610 | (defvar kkc-after-update-conversion-functions nil "\ |
| @@ -16642,7 +16629,7 @@ and the return value is the length of the conversion. | |||
| 16642 | ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro | 16629 | ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro |
| 16643 | ;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter | 16630 | ;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter |
| 16644 | ;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro) "kmacro" | 16631 | ;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro) "kmacro" |
| 16645 | ;;;;;; "kmacro.el" (17994 6715)) | 16632 | ;;;;;; "kmacro.el" (17833 41350)) |
| 16646 | ;;; Generated autoloads from kmacro.el | 16633 | ;;; Generated autoloads from kmacro.el |
| 16647 | (global-set-key "\C-x(" 'kmacro-start-macro) | 16634 | (global-set-key "\C-x(" 'kmacro-start-macro) |
| 16648 | (global-set-key "\C-x)" 'kmacro-end-macro) | 16635 | (global-set-key "\C-x)" 'kmacro-end-macro) |
| @@ -16749,7 +16736,7 @@ If kbd macro currently being defined end it before activating it. | |||
| 16749 | 16736 | ||
| 16750 | ;;;### (autoloads (kannada-post-read-conversion kannada-compose-string | 16737 | ;;;### (autoloads (kannada-post-read-conversion kannada-compose-string |
| 16751 | ;;;;;; kannada-compose-region) "knd-util" "language/knd-util.el" | 16738 | ;;;;;; kannada-compose-region) "knd-util" "language/knd-util.el" |
| 16752 | ;;;;;; (17994 6715)) | 16739 | ;;;;;; (17842 58278)) |
| 16753 | ;;; Generated autoloads from language/knd-util.el | 16740 | ;;; Generated autoloads from language/knd-util.el |
| 16754 | 16741 | ||
| 16755 | (defconst kannada-consonant "[\x51f75-\x51fb9]") | 16742 | (defconst kannada-consonant "[\x51f75-\x51fb9]") |
| @@ -16772,7 +16759,7 @@ Not documented | |||
| 16772 | ;;;*** | 16759 | ;;;*** |
| 16773 | 16760 | ||
| 16774 | ;;;### (autoloads (setup-korean-environment-internal) "korea-util" | 16761 | ;;;### (autoloads (setup-korean-environment-internal) "korea-util" |
| 16775 | ;;;;;; "language/korea-util.el" (17994 6715)) | 16762 | ;;;;;; "language/korea-util.el" (17842 58278)) |
| 16776 | ;;; Generated autoloads from language/korea-util.el | 16763 | ;;; Generated autoloads from language/korea-util.el |
| 16777 | 16764 | ||
| 16778 | (defvar default-korean-keyboard (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "") "\ | 16765 | (defvar default-korean-keyboard (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "") "\ |
| @@ -16787,7 +16774,7 @@ Not documented | |||
| 16787 | ;;;*** | 16774 | ;;;*** |
| 16788 | 16775 | ||
| 16789 | ;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el" | 16776 | ;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el" |
| 16790 | ;;;;;; (17994 6715)) | 16777 | ;;;;;; (17941 38806)) |
| 16791 | ;;; Generated autoloads from play/landmark.el | 16778 | ;;; Generated autoloads from play/landmark.el |
| 16792 | 16779 | ||
| 16793 | (defalias (quote landmark-repeat) (quote lm-test-run)) | 16780 | (defalias (quote landmark-repeat) (quote lm-test-run)) |
| @@ -16821,8 +16808,8 @@ Use \\[describe-mode] for more info. | |||
| 16821 | 16808 | ||
| 16822 | ;;;### (autoloads (lao-compose-region lao-composition-function lao-post-read-conversion | 16809 | ;;;### (autoloads (lao-compose-region lao-composition-function lao-post-read-conversion |
| 16823 | ;;;;;; lao-transcribe-roman-to-lao-string lao-transcribe-single-roman-syllable-to-lao | 16810 | ;;;;;; lao-transcribe-roman-to-lao-string lao-transcribe-single-roman-syllable-to-lao |
| 16824 | ;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17994 | 16811 | ;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17842 |
| 16825 | ;;;;;; 6715)) | 16812 | ;;;;;; 58278)) |
| 16826 | ;;; Generated autoloads from language/lao-util.el | 16813 | ;;; Generated autoloads from language/lao-util.el |
| 16827 | 16814 | ||
| 16828 | (autoload (quote lao-compose-string) "lao-util" "\ | 16815 | (autoload (quote lao-compose-string) "lao-util" "\ |
| @@ -16871,7 +16858,7 @@ Not documented | |||
| 16871 | 16858 | ||
| 16872 | ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc | 16859 | ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc |
| 16873 | ;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) | 16860 | ;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) |
| 16874 | ;;;;;; "latexenc" "international/latexenc.el" (17994 6715)) | 16861 | ;;;;;; "latexenc" "international/latexenc.el" (17842 54888)) |
| 16875 | ;;; Generated autoloads from international/latexenc.el | 16862 | ;;; Generated autoloads from international/latexenc.el |
| 16876 | 16863 | ||
| 16877 | (defvar latex-inputenc-coding-alist (quote (("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\ | 16864 | (defvar latex-inputenc-coding-alist (quote (("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\ |
| @@ -16903,7 +16890,7 @@ coding system names is determined from `latex-inputenc-coding-alist'. | |||
| 16903 | ;;;*** | 16890 | ;;;*** |
| 16904 | 16891 | ||
| 16905 | ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) | 16892 | ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) |
| 16906 | ;;;;;; "latin1-disp" "international/latin1-disp.el" (17994 6715)) | 16893 | ;;;;;; "latin1-disp" "international/latin1-disp.el" (17874 62081)) |
| 16907 | ;;; Generated autoloads from international/latin1-disp.el | 16894 | ;;; Generated autoloads from international/latin1-disp.el |
| 16908 | 16895 | ||
| 16909 | (defvar latin1-display nil "\ | 16896 | (defvar latin1-display nil "\ |
| @@ -17015,7 +17002,7 @@ Unconditionally turn on Lazy Lock mode. | |||
| 17015 | ;;;*** | 17002 | ;;;*** |
| 17016 | 17003 | ||
| 17017 | ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" | 17004 | ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" |
| 17018 | ;;;;;; (17994 6715)) | 17005 | ;;;;;; (17842 56332)) |
| 17019 | ;;; Generated autoloads from progmodes/ld-script.el | 17006 | ;;; Generated autoloads from progmodes/ld-script.el |
| 17020 | 17007 | ||
| 17021 | (add-to-list (quote auto-mode-alist) (quote ("\\.ld[si]?\\>" . ld-script-mode))) | 17008 | (add-to-list (quote auto-mode-alist) (quote ("\\.ld[si]?\\>" . ld-script-mode))) |
| @@ -17030,7 +17017,7 @@ A major mode to edit GNU ld script files | |||
| 17030 | ;;;*** | 17017 | ;;;*** |
| 17031 | 17018 | ||
| 17032 | ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el" | 17019 | ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el" |
| 17033 | ;;;;;; (17994 6715)) | 17020 | ;;;;;; (17842 58279)) |
| 17034 | ;;; Generated autoloads from ledit.el | 17021 | ;;; Generated autoloads from ledit.el |
| 17035 | 17022 | ||
| 17036 | (defconst ledit-save-files t "\ | 17023 | (defconst ledit-save-files t "\ |
| @@ -17065,7 +17052,7 @@ Not documented | |||
| 17065 | 17052 | ||
| 17066 | ;;;*** | 17053 | ;;;*** |
| 17067 | 17054 | ||
| 17068 | ;;;### (autoloads (life) "life" "play/life.el" (17994 6715)) | 17055 | ;;;### (autoloads (life) "life" "play/life.el" (17842 55395)) |
| 17069 | ;;; Generated autoloads from play/life.el | 17056 | ;;; Generated autoloads from play/life.el |
| 17070 | 17057 | ||
| 17071 | (autoload (quote life) "life" "\ | 17058 | (autoload (quote life) "life" "\ |
| @@ -17078,8 +17065,8 @@ generations (this defaults to 1). | |||
| 17078 | 17065 | ||
| 17079 | ;;;*** | 17066 | ;;;*** |
| 17080 | 17067 | ||
| 17081 | ;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17994 | 17068 | ;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17942 |
| 17082 | ;;;;;; 6715)) | 17069 | ;;;;;; 63381)) |
| 17083 | ;;; Generated autoloads from loadhist.el | 17070 | ;;; Generated autoloads from loadhist.el |
| 17084 | 17071 | ||
| 17085 | (autoload (quote unload-feature) "loadhist" "\ | 17072 | (autoload (quote unload-feature) "loadhist" "\ |
| @@ -17102,7 +17089,7 @@ such as redefining an Emacs function. | |||
| 17102 | ;;;*** | 17089 | ;;;*** |
| 17103 | 17090 | ||
| 17104 | ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) | 17091 | ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) |
| 17105 | ;;;;;; "locate" "locate.el" (17994 6728)) | 17092 | ;;;;;; "locate" "locate.el" (17992 30877)) |
| 17106 | ;;; Generated autoloads from locate.el | 17093 | ;;; Generated autoloads from locate.el |
| 17107 | 17094 | ||
| 17108 | (defvar locate-ls-subdir-switches "-al" "\ | 17095 | (defvar locate-ls-subdir-switches "-al" "\ |
| @@ -17153,7 +17140,7 @@ except that FILTER is not optional. | |||
| 17153 | 17140 | ||
| 17154 | ;;;*** | 17141 | ;;;*** |
| 17155 | 17142 | ||
| 17156 | ;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17994 6715)) | 17143 | ;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (18010 5298)) |
| 17157 | ;;; Generated autoloads from log-edit.el | 17144 | ;;; Generated autoloads from log-edit.el |
| 17158 | 17145 | ||
| 17159 | (autoload (quote log-edit) "log-edit" "\ | 17146 | (autoload (quote log-edit) "log-edit" "\ |
| @@ -17174,8 +17161,8 @@ If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the | |||
| 17174 | 17161 | ||
| 17175 | ;;;*** | 17162 | ;;;*** |
| 17176 | 17163 | ||
| 17177 | ;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17994 | 17164 | ;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17842 |
| 17178 | ;;;;;; 6715)) | 17165 | ;;;;;; 58279)) |
| 17179 | ;;; Generated autoloads from log-view.el | 17166 | ;;; Generated autoloads from log-view.el |
| 17180 | 17167 | ||
| 17181 | (autoload (quote log-view-mode) "log-view" "\ | 17168 | (autoload (quote log-view-mode) "log-view" "\ |
| @@ -17185,8 +17172,8 @@ Major mode for browsing CVS log output. | |||
| 17185 | 17172 | ||
| 17186 | ;;;*** | 17173 | ;;;*** |
| 17187 | 17174 | ||
| 17188 | ;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (18000 | 17175 | ;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17992 |
| 17189 | ;;;;;; 23879)) | 17176 | ;;;;;; 30877)) |
| 17190 | ;;; Generated autoloads from longlines.el | 17177 | ;;; Generated autoloads from longlines.el |
| 17191 | 17178 | ||
| 17192 | (autoload (quote longlines-mode) "longlines" "\ | 17179 | (autoload (quote longlines-mode) "longlines" "\ |
| @@ -17207,8 +17194,8 @@ are indicated with a symbol. | |||
| 17207 | ;;;*** | 17194 | ;;;*** |
| 17208 | 17195 | ||
| 17209 | ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer | 17196 | ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer |
| 17210 | ;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17994 | 17197 | ;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17842 |
| 17211 | ;;;;;; 6715)) | 17198 | ;;;;;; 58279)) |
| 17212 | ;;; Generated autoloads from lpr.el | 17199 | ;;; Generated autoloads from lpr.el |
| 17213 | 17200 | ||
| 17214 | (defvar lpr-windows-system (memq system-type (quote (emx win32 w32 mswindows ms-dos windows-nt)))) | 17201 | (defvar lpr-windows-system (memq system-type (quote (emx win32 w32 mswindows ms-dos windows-nt)))) |
| @@ -17302,7 +17289,7 @@ for further customization of the printer command. | |||
| 17302 | ;;;*** | 17289 | ;;;*** |
| 17303 | 17290 | ||
| 17304 | ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" | 17291 | ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" |
| 17305 | ;;;;;; (18000 24333)) | 17292 | ;;;;;; (18006 55796)) |
| 17306 | ;;; Generated autoloads from ls-lisp.el | 17293 | ;;; Generated autoloads from ls-lisp.el |
| 17307 | 17294 | ||
| 17308 | (defvar ls-lisp-support-shell-wildcards t "\ | 17295 | (defvar ls-lisp-support-shell-wildcards t "\ |
| @@ -17313,8 +17300,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).") | |||
| 17313 | 17300 | ||
| 17314 | ;;;*** | 17301 | ;;;*** |
| 17315 | 17302 | ||
| 17316 | ;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17994 | 17303 | ;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17956 |
| 17317 | ;;;;;; 6715)) | 17304 | ;;;;;; 13479)) |
| 17318 | ;;; Generated autoloads from calendar/lunar.el | 17305 | ;;; Generated autoloads from calendar/lunar.el |
| 17319 | 17306 | ||
| 17320 | (autoload (quote phases-of-moon) "lunar" "\ | 17307 | (autoload (quote phases-of-moon) "lunar" "\ |
| @@ -17327,8 +17314,8 @@ This function is suitable for execution in a .emacs file. | |||
| 17327 | 17314 | ||
| 17328 | ;;;*** | 17315 | ;;;*** |
| 17329 | 17316 | ||
| 17330 | ;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17994 | 17317 | ;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17923 |
| 17331 | ;;;;;; 6715)) | 17318 | ;;;;;; 63540)) |
| 17332 | ;;; Generated autoloads from progmodes/m4-mode.el | 17319 | ;;; Generated autoloads from progmodes/m4-mode.el |
| 17333 | 17320 | ||
| 17334 | (autoload (quote m4-mode) "m4-mode" "\ | 17321 | (autoload (quote m4-mode) "m4-mode" "\ |
| @@ -17340,7 +17327,7 @@ A major mode to edit m4 macro files. | |||
| 17340 | ;;;*** | 17327 | ;;;*** |
| 17341 | 17328 | ||
| 17342 | ;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el" | 17329 | ;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el" |
| 17343 | ;;;;;; (17994 6715)) | 17330 | ;;;;;; (17842 54152)) |
| 17344 | ;;; Generated autoloads from emacs-lisp/macroexp.el | 17331 | ;;; Generated autoloads from emacs-lisp/macroexp.el |
| 17345 | 17332 | ||
| 17346 | (autoload (quote macroexpand-all) "macroexp" "\ | 17333 | (autoload (quote macroexpand-all) "macroexp" "\ |
| @@ -17354,7 +17341,7 @@ definitions to shadow the loaded ones for use in file byte-compilation. | |||
| 17354 | ;;;*** | 17341 | ;;;*** |
| 17355 | 17342 | ||
| 17356 | ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro | 17343 | ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro |
| 17357 | ;;;;;; name-last-kbd-macro) "macros" "macros.el" (17994 6715)) | 17344 | ;;;;;; name-last-kbd-macro) "macros" "macros.el" (17842 58279)) |
| 17358 | ;;; Generated autoloads from macros.el | 17345 | ;;; Generated autoloads from macros.el |
| 17359 | 17346 | ||
| 17360 | (autoload (quote name-last-kbd-macro) "macros" "\ | 17347 | (autoload (quote name-last-kbd-macro) "macros" "\ |
| @@ -17443,7 +17430,7 @@ and then select the region of un-tablified names and use | |||
| 17443 | ;;;*** | 17430 | ;;;*** |
| 17444 | 17431 | ||
| 17445 | ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" | 17432 | ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" |
| 17446 | ;;;;;; "mail/mail-extr.el" (17994 6715)) | 17433 | ;;;;;; "mail/mail-extr.el" (17842 55035)) |
| 17447 | ;;; Generated autoloads from mail/mail-extr.el | 17434 | ;;; Generated autoloads from mail/mail-extr.el |
| 17448 | 17435 | ||
| 17449 | (autoload (quote mail-extract-address-components) "mail-extr" "\ | 17436 | (autoload (quote mail-extract-address-components) "mail-extr" "\ |
| @@ -17475,7 +17462,7 @@ Convert mail domain DOMAIN to the country it corresponds to. | |||
| 17475 | 17462 | ||
| 17476 | ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history | 17463 | ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history |
| 17477 | ;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" | 17464 | ;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" |
| 17478 | ;;;;;; (17994 6715)) | 17465 | ;;;;;; (17842 55035)) |
| 17479 | ;;; Generated autoloads from mail/mail-hist.el | 17466 | ;;; Generated autoloads from mail/mail-hist.el |
| 17480 | 17467 | ||
| 17481 | (autoload (quote mail-hist-define-keys) "mail-hist" "\ | 17468 | (autoload (quote mail-hist-define-keys) "mail-hist" "\ |
| @@ -17506,8 +17493,8 @@ This function normally would be called when the message is sent. | |||
| 17506 | 17493 | ||
| 17507 | ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region | 17494 | ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region |
| 17508 | ;;;;;; mail-unquote-printable mail-quote-printable mail-file-babyl-p | 17495 | ;;;;;; mail-unquote-printable mail-quote-printable mail-file-babyl-p |
| 17509 | ;;;;;; mail-use-rfc822) "mail-utils" "mail/mail-utils.el" (17994 | 17496 | ;;;;;; mail-use-rfc822) "mail-utils" "mail/mail-utils.el" (17842 |
| 17510 | ;;;;;; 6715)) | 17497 | ;;;;;; 55035)) |
| 17511 | ;;; Generated autoloads from mail/mail-utils.el | 17498 | ;;; Generated autoloads from mail/mail-utils.el |
| 17512 | 17499 | ||
| 17513 | (defvar mail-use-rfc822 nil "\ | 17500 | (defvar mail-use-rfc822 nil "\ |
| @@ -17559,7 +17546,7 @@ If 4th arg LIST is non-nil, return a list of all such fields. | |||
| 17559 | ;;;*** | 17546 | ;;;*** |
| 17560 | 17547 | ||
| 17561 | ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup) | 17548 | ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup) |
| 17562 | ;;;;;; "mailabbrev" "mail/mailabbrev.el" (17994 6741)) | 17549 | ;;;;;; "mailabbrev" "mail/mailabbrev.el" (17992 30878)) |
| 17563 | ;;; Generated autoloads from mail/mailabbrev.el | 17550 | ;;; Generated autoloads from mail/mailabbrev.el |
| 17564 | 17551 | ||
| 17565 | (autoload (quote mail-abbrevs-setup) "mailabbrev" "\ | 17552 | (autoload (quote mail-abbrevs-setup) "mailabbrev" "\ |
| @@ -17582,8 +17569,8 @@ If DEFINITION contains multiple addresses, separate them with commas. | |||
| 17582 | ;;;*** | 17569 | ;;;*** |
| 17583 | 17570 | ||
| 17584 | ;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases | 17571 | ;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases |
| 17585 | ;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (17994 | 17572 | ;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (17842 |
| 17586 | ;;;;;; 6715)) | 17573 | ;;;;;; 55035)) |
| 17587 | ;;; Generated autoloads from mail/mailalias.el | 17574 | ;;; Generated autoloads from mail/mailalias.el |
| 17588 | 17575 | ||
| 17589 | (defvar mail-complete-style (quote angles) "\ | 17576 | (defvar mail-complete-style (quote angles) "\ |
| @@ -17629,7 +17616,7 @@ current header, calls `mail-complete-function' and passes prefix arg if any. | |||
| 17629 | ;;;*** | 17616 | ;;;*** |
| 17630 | 17617 | ||
| 17631 | ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" | 17618 | ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" |
| 17632 | ;;;;;; (17994 6715)) | 17619 | ;;;;;; (17842 55035)) |
| 17633 | ;;; Generated autoloads from mail/mailclient.el | 17620 | ;;; Generated autoloads from mail/mailclient.el |
| 17634 | 17621 | ||
| 17635 | (autoload (quote mailclient-send-it) "mailclient" "\ | 17622 | (autoload (quote mailclient-send-it) "mailclient" "\ |
| @@ -17643,7 +17630,7 @@ The mail client is taken to be the handler of mailto URLs. | |||
| 17643 | 17630 | ||
| 17644 | ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode | 17631 | ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode |
| 17645 | ;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) | 17632 | ;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) |
| 17646 | ;;;;;; "make-mode" "progmodes/make-mode.el" (17994 6715)) | 17633 | ;;;;;; "make-mode" "progmodes/make-mode.el" (17842 56332)) |
| 17647 | ;;; Generated autoloads from progmodes/make-mode.el | 17634 | ;;; Generated autoloads from progmodes/make-mode.el |
| 17648 | 17635 | ||
| 17649 | (autoload (quote makefile-mode) "make-mode" "\ | 17636 | (autoload (quote makefile-mode) "make-mode" "\ |
| @@ -17760,8 +17747,8 @@ An adapted `makefile-mode' that knows about imake. | |||
| 17760 | 17747 | ||
| 17761 | ;;;*** | 17748 | ;;;*** |
| 17762 | 17749 | ||
| 17763 | ;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17994 | 17750 | ;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17842 |
| 17764 | ;;;;;; 6715)) | 17751 | ;;;;;; 58279)) |
| 17765 | ;;; Generated autoloads from makesum.el | 17752 | ;;; Generated autoloads from makesum.el |
| 17766 | 17753 | ||
| 17767 | (autoload (quote make-command-summary) "makesum" "\ | 17754 | (autoload (quote make-command-summary) "makesum" "\ |
| @@ -17772,7 +17759,7 @@ Previous contents of that buffer are killed first. | |||
| 17772 | 17759 | ||
| 17773 | ;;;*** | 17760 | ;;;*** |
| 17774 | 17761 | ||
| 17775 | ;;;### (autoloads (man-follow man) "man" "man.el" (17994 6743)) | 17762 | ;;;### (autoloads (man-follow man) "man" "man.el" (17992 30877)) |
| 17776 | ;;; Generated autoloads from man.el | 17763 | ;;; Generated autoloads from man.el |
| 17777 | 17764 | ||
| 17778 | (defalias (quote manual-entry) (quote man)) | 17765 | (defalias (quote manual-entry) (quote man)) |
| @@ -17799,7 +17786,7 @@ Get a Un*x manual page of the item under point and put it in a buffer. | |||
| 17799 | 17786 | ||
| 17800 | ;;;*** | 17787 | ;;;*** |
| 17801 | 17788 | ||
| 17802 | ;;;### (autoloads (master-mode) "master" "master.el" (17994 6715)) | 17789 | ;;;### (autoloads (master-mode) "master" "master.el" (17842 58279)) |
| 17803 | ;;; Generated autoloads from master.el | 17790 | ;;; Generated autoloads from master.el |
| 17804 | 17791 | ||
| 17805 | (autoload (quote master-mode) "master" "\ | 17792 | (autoload (quote master-mode) "master" "\ |
| @@ -17821,8 +17808,8 @@ yourself the value of `master-of' by calling `master-show-slave'. | |||
| 17821 | 17808 | ||
| 17822 | ;;;*** | 17809 | ;;;*** |
| 17823 | 17810 | ||
| 17824 | ;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17994 | 17811 | ;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17942 |
| 17825 | ;;;;;; 6751)) | 17812 | ;;;;;; 63381)) |
| 17826 | ;;; Generated autoloads from menu-bar.el | 17813 | ;;; Generated autoloads from menu-bar.el |
| 17827 | 17814 | ||
| 17828 | (put (quote menu-bar-mode) (quote standard-value) (quote (t))) | 17815 | (put (quote menu-bar-mode) (quote standard-value) (quote (t))) |
| @@ -17857,7 +17844,7 @@ turn on menu bars; otherwise, turn off menu bars. | |||
| 17857 | ;;;;;; message-cite-function message-yank-prefix message-citation-line-function | 17844 | ;;;;;; message-cite-function message-yank-prefix message-citation-line-function |
| 17858 | ;;;;;; message-send-mail-function message-user-organization-file | 17845 | ;;;;;; message-send-mail-function message-user-organization-file |
| 17859 | ;;;;;; message-signature-separator message-from-style) "message" | 17846 | ;;;;;; message-signature-separator message-from-style) "message" |
| 17860 | ;;;;;; "gnus/message.el" (17994 6715)) | 17847 | ;;;;;; "gnus/message.el" (18010 19867)) |
| 17861 | ;;; Generated autoloads from gnus/message.el | 17848 | ;;; Generated autoloads from gnus/message.el |
| 17862 | 17849 | ||
| 17863 | (defvar message-from-style (quote default) "\ | 17850 | (defvar message-from-style (quote default) "\ |
| @@ -18113,7 +18100,7 @@ which specify the range to operate on. | |||
| 18113 | ;;;*** | 18100 | ;;;*** |
| 18114 | 18101 | ||
| 18115 | ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" | 18102 | ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" |
| 18116 | ;;;;;; (17994 6715)) | 18103 | ;;;;;; (17842 56332)) |
| 18117 | ;;; Generated autoloads from progmodes/meta-mode.el | 18104 | ;;; Generated autoloads from progmodes/meta-mode.el |
| 18118 | 18105 | ||
| 18119 | (autoload (quote metafont-mode) "meta-mode" "\ | 18106 | (autoload (quote metafont-mode) "meta-mode" "\ |
| @@ -18140,7 +18127,7 @@ Turning on MetaPost mode calls the value of the variable | |||
| 18140 | 18127 | ||
| 18141 | ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body | 18128 | ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body |
| 18142 | ;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" | 18129 | ;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" |
| 18143 | ;;;;;; (17994 6715)) | 18130 | ;;;;;; (17842 55035)) |
| 18144 | ;;; Generated autoloads from mail/metamail.el | 18131 | ;;; Generated autoloads from mail/metamail.el |
| 18145 | 18132 | ||
| 18146 | (autoload (quote metamail-interpret-header) "metamail" "\ | 18133 | (autoload (quote metamail-interpret-header) "metamail" "\ |
| @@ -18185,7 +18172,7 @@ redisplayed as output is inserted. | |||
| 18185 | 18172 | ||
| 18186 | ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose | 18173 | ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose |
| 18187 | ;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" | 18174 | ;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" |
| 18188 | ;;;;;; "mh-e/mh-comp.el" (17994 6715)) | 18175 | ;;;;;; "mh-e/mh-comp.el" (17842 55144)) |
| 18189 | ;;; Generated autoloads from mh-e/mh-comp.el | 18176 | ;;; Generated autoloads from mh-e/mh-comp.el |
| 18190 | 18177 | ||
| 18191 | (autoload (quote mh-smail) "mh-comp" "\ | 18178 | (autoload (quote mh-smail) "mh-comp" "\ |
| @@ -18272,7 +18259,7 @@ delete the draft message. | |||
| 18272 | 18259 | ||
| 18273 | ;;;*** | 18260 | ;;;*** |
| 18274 | 18261 | ||
| 18275 | ;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (17994 6715)) | 18262 | ;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (17842 55144)) |
| 18276 | ;;; Generated autoloads from mh-e/mh-e.el | 18263 | ;;; Generated autoloads from mh-e/mh-e.el |
| 18277 | 18264 | ||
| 18278 | (put (quote mh-progs) (quote risky-local-variable) t) | 18265 | (put (quote mh-progs) (quote risky-local-variable) t) |
| @@ -18289,7 +18276,7 @@ Display version information about MH-E and the MH mail handling system. | |||
| 18289 | ;;;*** | 18276 | ;;;*** |
| 18290 | 18277 | ||
| 18291 | ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" | 18278 | ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" |
| 18292 | ;;;;;; "mh-e/mh-folder.el" (17994 6715)) | 18279 | ;;;;;; "mh-e/mh-folder.el" (17842 55144)) |
| 18293 | ;;; Generated autoloads from mh-e/mh-folder.el | 18280 | ;;; Generated autoloads from mh-e/mh-folder.el |
| 18294 | 18281 | ||
| 18295 | (autoload (quote mh-rmail) "mh-folder" "\ | 18282 | (autoload (quote mh-rmail) "mh-folder" "\ |
| @@ -18371,7 +18358,7 @@ perform the operation on all messages in that region. | |||
| 18371 | ;;;*** | 18358 | ;;;*** |
| 18372 | 18359 | ||
| 18373 | ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" | 18360 | ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" |
| 18374 | ;;;;;; "midnight.el" (17994 6715)) | 18361 | ;;;;;; "midnight.el" (17842 58279)) |
| 18375 | ;;; Generated autoloads from midnight.el | 18362 | ;;; Generated autoloads from midnight.el |
| 18376 | 18363 | ||
| 18377 | (autoload (quote clean-buffer-list) "midnight" "\ | 18364 | (autoload (quote clean-buffer-list) "midnight" "\ |
| @@ -18398,7 +18385,7 @@ to its second argument TM. | |||
| 18398 | ;;;*** | 18385 | ;;;*** |
| 18399 | 18386 | ||
| 18400 | ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" | 18387 | ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" |
| 18401 | ;;;;;; "minibuf-eldef.el" (17994 6715)) | 18388 | ;;;;;; "minibuf-eldef.el" (17842 58279)) |
| 18402 | ;;; Generated autoloads from minibuf-eldef.el | 18389 | ;;; Generated autoloads from minibuf-eldef.el |
| 18403 | 18390 | ||
| 18404 | (defvar minibuffer-electric-default-mode nil "\ | 18391 | (defvar minibuffer-electric-default-mode nil "\ |
| @@ -18426,7 +18413,7 @@ Returns non-nil if the new state is enabled. | |||
| 18426 | ;;;*** | 18413 | ;;;*** |
| 18427 | 18414 | ||
| 18428 | ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" | 18415 | ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" |
| 18429 | ;;;;;; (17994 6715)) | 18416 | ;;;;;; (17842 56332)) |
| 18430 | ;;; Generated autoloads from progmodes/mixal-mode.el | 18417 | ;;; Generated autoloads from progmodes/mixal-mode.el |
| 18431 | 18418 | ||
| 18432 | (autoload (quote mixal-mode) "mixal-mode" "\ | 18419 | (autoload (quote mixal-mode) "mixal-mode" "\ |
| @@ -18441,7 +18428,7 @@ Major mode for the mixal asm language. | |||
| 18441 | 18428 | ||
| 18442 | ;;;### (autoloads (malayalam-composition-function malayalam-post-read-conversion | 18429 | ;;;### (autoloads (malayalam-composition-function malayalam-post-read-conversion |
| 18443 | ;;;;;; malayalam-compose-region) "mlm-util" "language/mlm-util.el" | 18430 | ;;;;;; malayalam-compose-region) "mlm-util" "language/mlm-util.el" |
| 18444 | ;;;;;; (17994 6715)) | 18431 | ;;;;;; (17842 58278)) |
| 18445 | ;;; Generated autoloads from language/mlm-util.el | 18432 | ;;; Generated autoloads from language/mlm-util.el |
| 18446 | 18433 | ||
| 18447 | (autoload (quote malayalam-compose-region) "mlm-util" "\ | 18434 | (autoload (quote malayalam-compose-region) "mlm-util" "\ |
| @@ -18464,7 +18451,7 @@ PATTERN regexp. | |||
| 18464 | ;;;*** | 18451 | ;;;*** |
| 18465 | 18452 | ||
| 18466 | ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) | 18453 | ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) |
| 18467 | ;;;;;; "mm-extern" "gnus/mm-extern.el" (17994 6715)) | 18454 | ;;;;;; "mm-extern" "gnus/mm-extern.el" (17842 54741)) |
| 18468 | ;;; Generated autoloads from gnus/mm-extern.el | 18455 | ;;; Generated autoloads from gnus/mm-extern.el |
| 18469 | 18456 | ||
| 18470 | (autoload (quote mm-extern-cache-contents) "mm-extern" "\ | 18457 | (autoload (quote mm-extern-cache-contents) "mm-extern" "\ |
| @@ -18483,7 +18470,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. | |||
| 18483 | ;;;*** | 18470 | ;;;*** |
| 18484 | 18471 | ||
| 18485 | ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" | 18472 | ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" |
| 18486 | ;;;;;; (17994 6715)) | 18473 | ;;;;;; (17842 54741)) |
| 18487 | ;;; Generated autoloads from gnus/mm-partial.el | 18474 | ;;; Generated autoloads from gnus/mm-partial.el |
| 18488 | 18475 | ||
| 18489 | (autoload (quote mm-inline-partial) "mm-partial" "\ | 18476 | (autoload (quote mm-inline-partial) "mm-partial" "\ |
| @@ -18497,7 +18484,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing. | |||
| 18497 | ;;;*** | 18484 | ;;;*** |
| 18498 | 18485 | ||
| 18499 | ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) | 18486 | ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) |
| 18500 | ;;;;;; "mm-url" "gnus/mm-url.el" (17994 6715)) | 18487 | ;;;;;; "mm-url" "gnus/mm-url.el" (17842 54741)) |
| 18501 | ;;; Generated autoloads from gnus/mm-url.el | 18488 | ;;; Generated autoloads from gnus/mm-url.el |
| 18502 | 18489 | ||
| 18503 | (autoload (quote mm-url-insert-file-contents) "mm-url" "\ | 18490 | (autoload (quote mm-url-insert-file-contents) "mm-url" "\ |
| @@ -18514,7 +18501,7 @@ Insert file contents of URL using `mm-url-program'. | |||
| 18514 | ;;;*** | 18501 | ;;;*** |
| 18515 | 18502 | ||
| 18516 | ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" | 18503 | ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" |
| 18517 | ;;;;;; "gnus/mm-uu.el" (17994 6715)) | 18504 | ;;;;;; "gnus/mm-uu.el" (17842 54741)) |
| 18518 | ;;; Generated autoloads from gnus/mm-uu.el | 18505 | ;;; Generated autoloads from gnus/mm-uu.el |
| 18519 | 18506 | ||
| 18520 | (autoload (quote mm-uu-dissect) "mm-uu" "\ | 18507 | (autoload (quote mm-uu-dissect) "mm-uu" "\ |
| @@ -18534,7 +18521,7 @@ Assume text has been decoded if DECODED is non-nil. | |||
| 18534 | ;;;*** | 18521 | ;;;*** |
| 18535 | 18522 | ||
| 18536 | ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" | 18523 | ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" |
| 18537 | ;;;;;; (17994 6715)) | 18524 | ;;;;;; (17842 54741)) |
| 18538 | ;;; Generated autoloads from gnus/mml1991.el | 18525 | ;;; Generated autoloads from gnus/mml1991.el |
| 18539 | 18526 | ||
| 18540 | (autoload (quote mml1991-encrypt) "mml1991" "\ | 18527 | (autoload (quote mml1991-encrypt) "mml1991" "\ |
| @@ -18551,7 +18538,7 @@ Not documented | |||
| 18551 | 18538 | ||
| 18552 | ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt | 18539 | ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt |
| 18553 | ;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) | 18540 | ;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) |
| 18554 | ;;;;;; "mml2015" "gnus/mml2015.el" (17994 6715)) | 18541 | ;;;;;; "mml2015" "gnus/mml2015.el" (17842 54741)) |
| 18555 | ;;; Generated autoloads from gnus/mml2015.el | 18542 | ;;; Generated autoloads from gnus/mml2015.el |
| 18556 | 18543 | ||
| 18557 | (autoload (quote mml2015-decrypt) "mml2015" "\ | 18544 | (autoload (quote mml2015-decrypt) "mml2015" "\ |
| @@ -18592,7 +18579,7 @@ Not documented | |||
| 18592 | ;;;*** | 18579 | ;;;*** |
| 18593 | 18580 | ||
| 18594 | ;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el" | 18581 | ;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el" |
| 18595 | ;;;;;; (17994 6715)) | 18582 | ;;;;;; (17276 13069)) |
| 18596 | ;;; Generated autoloads from progmodes/modula2.el | 18583 | ;;; Generated autoloads from progmodes/modula2.el |
| 18597 | 18584 | ||
| 18598 | (autoload (quote modula-2-mode) "modula2" "\ | 18585 | (autoload (quote modula-2-mode) "modula2" "\ |
| @@ -18624,7 +18611,7 @@ followed by the first character of the construct. | |||
| 18624 | ;;;*** | 18611 | ;;;*** |
| 18625 | 18612 | ||
| 18626 | ;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el" | 18613 | ;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el" |
| 18627 | ;;;;;; (17994 6715)) | 18614 | ;;;;;; (17842 55395)) |
| 18628 | ;;; Generated autoloads from play/morse.el | 18615 | ;;; Generated autoloads from play/morse.el |
| 18629 | 18616 | ||
| 18630 | (autoload (quote morse-region) "morse" "\ | 18617 | (autoload (quote morse-region) "morse" "\ |
| @@ -18639,8 +18626,8 @@ Convert morse coded text in region to ordinary ASCII text. | |||
| 18639 | 18626 | ||
| 18640 | ;;;*** | 18627 | ;;;*** |
| 18641 | 18628 | ||
| 18642 | ;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17994 | 18629 | ;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17842 |
| 18643 | ;;;;;; 6715)) | 18630 | ;;;;;; 58279)) |
| 18644 | ;;; Generated autoloads from mouse-sel.el | 18631 | ;;; Generated autoloads from mouse-sel.el |
| 18645 | 18632 | ||
| 18646 | (defvar mouse-sel-mode nil "\ | 18633 | (defvar mouse-sel-mode nil "\ |
| @@ -18692,7 +18679,7 @@ primary selection and region. | |||
| 18692 | 18679 | ||
| 18693 | ;;;*** | 18680 | ;;;*** |
| 18694 | 18681 | ||
| 18695 | ;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17994 6715)) | 18682 | ;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17862 6157)) |
| 18696 | ;;; Generated autoloads from play/mpuz.el | 18683 | ;;; Generated autoloads from play/mpuz.el |
| 18697 | 18684 | ||
| 18698 | (autoload (quote mpuz) "mpuz" "\ | 18685 | (autoload (quote mpuz) "mpuz" "\ |
| @@ -18702,7 +18689,7 @@ Multiplication puzzle with GNU Emacs. | |||
| 18702 | 18689 | ||
| 18703 | ;;;*** | 18690 | ;;;*** |
| 18704 | 18691 | ||
| 18705 | ;;;### (autoloads (msb-mode) "msb" "msb.el" (18000 24333)) | 18692 | ;;;### (autoloads (msb-mode) "msb" "msb.el" (18006 55796)) |
| 18706 | ;;; Generated autoloads from msb.el | 18693 | ;;; Generated autoloads from msb.el |
| 18707 | 18694 | ||
| 18708 | (defvar msb-mode nil "\ | 18695 | (defvar msb-mode nil "\ |
| @@ -18729,7 +18716,7 @@ different buffer menu using the function `msb'. | |||
| 18729 | ;;;;;; describe-current-coding-system describe-current-coding-system-briefly | 18716 | ;;;;;; describe-current-coding-system describe-current-coding-system-briefly |
| 18730 | ;;;;;; describe-coding-system describe-character-set list-charset-chars | 18717 | ;;;;;; describe-coding-system describe-character-set list-charset-chars |
| 18731 | ;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" | 18718 | ;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" |
| 18732 | ;;;;;; (17994 6715)) | 18719 | ;;;;;; (17842 54888)) |
| 18733 | ;;; Generated autoloads from international/mule-diag.el | 18720 | ;;; Generated autoloads from international/mule-diag.el |
| 18734 | 18721 | ||
| 18735 | (defvar non-iso-charset-alist (\` ((mac-roman (ascii latin-iso8859-1 mule-unicode-2500-33ff mule-unicode-0100-24ff mule-unicode-e000-ffff) mac-roman-decoder ((0 255))) (viscii (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-viscii-nonascii-translation-table ((0 255))) (vietnamese-tcvn (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-tcvn-nonascii-translation-table ((0 255))) (koi8-r (ascii cyrillic-iso8859-5) cyrillic-koi8-r-nonascii-translation-table ((32 255))) (alternativnyj (ascii cyrillic-iso8859-5) cyrillic-alternativnyj-nonascii-translation-table ((32 255))) (koi8-u (ascii cyrillic-iso8859-5 mule-unicode-0100-24ff) cyrillic-koi8-u-nonascii-translation-table ((32 255))) (big5 (ascii chinese-big5-1 chinese-big5-2) decode-big5-char ((32 127) ((161 254) 64 126 161 254))) (sjis (ascii katakana-jisx0201 japanese-jisx0208) decode-sjis-char ((32 127 161 223) ((129 159 224 239) 64 126 128 252))))) "\ | 18722 | (defvar non-iso-charset-alist (\` ((mac-roman (ascii latin-iso8859-1 mule-unicode-2500-33ff mule-unicode-0100-24ff mule-unicode-e000-ffff) mac-roman-decoder ((0 255))) (viscii (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-viscii-nonascii-translation-table ((0 255))) (vietnamese-tcvn (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-tcvn-nonascii-translation-table ((0 255))) (koi8-r (ascii cyrillic-iso8859-5) cyrillic-koi8-r-nonascii-translation-table ((32 255))) (alternativnyj (ascii cyrillic-iso8859-5) cyrillic-alternativnyj-nonascii-translation-table ((32 255))) (koi8-u (ascii cyrillic-iso8859-5 mule-unicode-0100-24ff) cyrillic-koi8-u-nonascii-translation-table ((32 255))) (big5 (ascii chinese-big5-1 chinese-big5-2) decode-big5-char ((32 127) ((161 254) 64 126 161 254))) (sjis (ascii katakana-jisx0201 japanese-jisx0208) decode-sjis-char ((32 127 161 223) ((129 159 224 239) 64 126 128 252))))) "\ |
| @@ -18903,7 +18890,7 @@ system which uses fontsets). | |||
| 18903 | ;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion | 18890 | ;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion |
| 18904 | ;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist | 18891 | ;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist |
| 18905 | ;;;;;; truncate-string-to-width store-substring string-to-sequence) | 18892 | ;;;;;; truncate-string-to-width store-substring string-to-sequence) |
| 18906 | ;;;;;; "mule-util" "international/mule-util.el" (17994 6715)) | 18893 | ;;;;;; "mule-util" "international/mule-util.el" (17842 54888)) |
| 18907 | ;;; Generated autoloads from international/mule-util.el | 18894 | ;;; Generated autoloads from international/mule-util.el |
| 18908 | 18895 | ||
| 18909 | (autoload (quote string-to-sequence) "mule-util" "\ | 18896 | (autoload (quote string-to-sequence) "mule-util" "\ |
| @@ -19032,7 +19019,7 @@ basis, this may not be accurate. | |||
| 19032 | ;;;*** | 19019 | ;;;*** |
| 19033 | 19020 | ||
| 19034 | ;;;### (autoloads (mwheel-install mouse-wheel-mode) "mwheel" "mwheel.el" | 19021 | ;;;### (autoloads (mwheel-install mouse-wheel-mode) "mwheel" "mwheel.el" |
| 19035 | ;;;;;; (17994 6715)) | 19022 | ;;;;;; (17842 58279)) |
| 19036 | ;;; Generated autoloads from mwheel.el | 19023 | ;;; Generated autoloads from mwheel.el |
| 19037 | 19024 | ||
| 19038 | (defvar mouse-wheel-mode nil "\ | 19025 | (defvar mouse-wheel-mode nil "\ |
| @@ -19061,7 +19048,7 @@ Enable mouse wheel support. | |||
| 19061 | ;;;### (autoloads (network-connection network-connection-to-service | 19048 | ;;;### (autoloads (network-connection network-connection-to-service |
| 19062 | ;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host | 19049 | ;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host |
| 19063 | ;;;;;; nslookup nslookup-host route arp netstat ipconfig ping traceroute) | 19050 | ;;;;;; nslookup nslookup-host route arp netstat ipconfig ping traceroute) |
| 19064 | ;;;;;; "net-utils" "net/net-utils.el" (17994 6715)) | 19051 | ;;;;;; "net-utils" "net/net-utils.el" (17891 7215)) |
| 19065 | ;;; Generated autoloads from net/net-utils.el | 19052 | ;;; Generated autoloads from net/net-utils.el |
| 19066 | 19053 | ||
| 19067 | (autoload (quote traceroute) "net-utils" "\ | 19054 | (autoload (quote traceroute) "net-utils" "\ |
| @@ -19157,7 +19144,7 @@ Open a network connection to HOST on PORT. | |||
| 19157 | ;;;;;; uncomment-region comment-kill comment-set-column comment-indent | 19144 | ;;;;;; uncomment-region comment-kill comment-set-column comment-indent |
| 19158 | ;;;;;; comment-indent-default comment-normalize-vars comment-multi-line | 19145 | ;;;;;; comment-indent-default comment-normalize-vars comment-multi-line |
| 19159 | ;;;;;; comment-padding comment-style comment-column) "newcomment" | 19146 | ;;;;;; comment-padding comment-style comment-column) "newcomment" |
| 19160 | ;;;;;; "newcomment.el" (17994 6740)) | 19147 | ;;;;;; "newcomment.el" (17992 30877)) |
| 19161 | ;;; Generated autoloads from newcomment.el | 19148 | ;;; Generated autoloads from newcomment.el |
| 19162 | 19149 | ||
| 19163 | (defalias (quote indent-for-comment) (quote comment-indent)) | 19150 | (defalias (quote indent-for-comment) (quote comment-indent)) |
| @@ -19353,7 +19340,7 @@ unless optional argument SOFT is non-nil. | |||
| 19353 | 19340 | ||
| 19354 | ;;;### (autoloads (newsticker-show-news newsticker-start-ticker newsticker-start | 19341 | ;;;### (autoloads (newsticker-show-news newsticker-start-ticker newsticker-start |
| 19355 | ;;;;;; newsticker-ticker-running-p newsticker-running-p) "newsticker" | 19342 | ;;;;;; newsticker-ticker-running-p newsticker-running-p) "newsticker" |
| 19356 | ;;;;;; "net/newsticker.el" (17994 6715)) | 19343 | ;;;;;; "net/newsticker.el" (17873 44590)) |
| 19357 | ;;; Generated autoloads from net/newsticker.el | 19344 | ;;; Generated autoloads from net/newsticker.el |
| 19358 | 19345 | ||
| 19359 | (autoload (quote newsticker-running-p) "newsticker" "\ | 19346 | (autoload (quote newsticker-running-p) "newsticker" "\ |
| @@ -19395,7 +19382,7 @@ Switch to newsticker buffer. You may want to bind this to a key. | |||
| 19395 | ;;;*** | 19382 | ;;;*** |
| 19396 | 19383 | ||
| 19397 | ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" | 19384 | ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" |
| 19398 | ;;;;;; (17994 6741)) | 19385 | ;;;;;; (17992 30878)) |
| 19399 | ;;; Generated autoloads from gnus/nndiary.el | 19386 | ;;; Generated autoloads from gnus/nndiary.el |
| 19400 | 19387 | ||
| 19401 | (autoload (quote nndiary-generate-nov-databases) "nndiary" "\ | 19388 | (autoload (quote nndiary-generate-nov-databases) "nndiary" "\ |
| @@ -19405,8 +19392,8 @@ Generate NOV databases in all nndiary directories. | |||
| 19405 | 19392 | ||
| 19406 | ;;;*** | 19393 | ;;;*** |
| 19407 | 19394 | ||
| 19408 | ;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17994 | 19395 | ;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17842 |
| 19409 | ;;;;;; 6715)) | 19396 | ;;;;;; 54741)) |
| 19410 | ;;; Generated autoloads from gnus/nndoc.el | 19397 | ;;; Generated autoloads from gnus/nndoc.el |
| 19411 | 19398 | ||
| 19412 | (autoload (quote nndoc-add-type) "nndoc" "\ | 19399 | (autoload (quote nndoc-add-type) "nndoc" "\ |
| @@ -19421,7 +19408,7 @@ symbol in the alist. | |||
| 19421 | ;;;*** | 19408 | ;;;*** |
| 19422 | 19409 | ||
| 19423 | ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" | 19410 | ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" |
| 19424 | ;;;;;; (17994 6715)) | 19411 | ;;;;;; (17842 54741)) |
| 19425 | ;;; Generated autoloads from gnus/nnfolder.el | 19412 | ;;; Generated autoloads from gnus/nnfolder.el |
| 19426 | 19413 | ||
| 19427 | (autoload (quote nnfolder-generate-active-file) "nnfolder" "\ | 19414 | (autoload (quote nnfolder-generate-active-file) "nnfolder" "\ |
| @@ -19433,7 +19420,7 @@ This command does not work if you use short group names. | |||
| 19433 | ;;;*** | 19420 | ;;;*** |
| 19434 | 19421 | ||
| 19435 | ;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el" | 19422 | ;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el" |
| 19436 | ;;;;;; (17994 6715)) | 19423 | ;;;;;; (17842 54741)) |
| 19437 | ;;; Generated autoloads from gnus/nnkiboze.el | 19424 | ;;; Generated autoloads from gnus/nnkiboze.el |
| 19438 | 19425 | ||
| 19439 | (autoload (quote nnkiboze-generate-groups) "nnkiboze" "\ | 19426 | (autoload (quote nnkiboze-generate-groups) "nnkiboze" "\ |
| @@ -19445,7 +19432,7 @@ Finds out what articles are to be part of the nnkiboze groups. | |||
| 19445 | ;;;*** | 19432 | ;;;*** |
| 19446 | 19433 | ||
| 19447 | ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" | 19434 | ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" |
| 19448 | ;;;;;; (17994 6715)) | 19435 | ;;;;;; (17842 54741)) |
| 19449 | ;;; Generated autoloads from gnus/nnml.el | 19436 | ;;; Generated autoloads from gnus/nnml.el |
| 19450 | 19437 | ||
| 19451 | (autoload (quote nnml-generate-nov-databases) "nnml" "\ | 19438 | (autoload (quote nnml-generate-nov-databases) "nnml" "\ |
| @@ -19456,7 +19443,7 @@ Generate NOV databases in all nnml directories. | |||
| 19456 | ;;;*** | 19443 | ;;;*** |
| 19457 | 19444 | ||
| 19458 | ;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies) | 19445 | ;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies) |
| 19459 | ;;;;;; "nnsoup" "gnus/nnsoup.el" (17994 6715)) | 19446 | ;;;;;; "nnsoup" "gnus/nnsoup.el" (17842 54741)) |
| 19460 | ;;; Generated autoloads from gnus/nnsoup.el | 19447 | ;;; Generated autoloads from gnus/nnsoup.el |
| 19461 | 19448 | ||
| 19462 | (autoload (quote nnsoup-pack-replies) "nnsoup" "\ | 19449 | (autoload (quote nnsoup-pack-replies) "nnsoup" "\ |
| @@ -19477,7 +19464,7 @@ Revert posting and mailing methods to the standard Emacs methods. | |||
| 19477 | ;;;*** | 19464 | ;;;*** |
| 19478 | 19465 | ||
| 19479 | ;;;### (autoloads (disable-command enable-command disabled-command-function) | 19466 | ;;;### (autoloads (disable-command enable-command disabled-command-function) |
| 19480 | ;;;;;; "novice" "novice.el" (17994 6715)) | 19467 | ;;;;;; "novice" "novice.el" (17842 58279)) |
| 19481 | ;;; Generated autoloads from novice.el | 19468 | ;;; Generated autoloads from novice.el |
| 19482 | 19469 | ||
| 19483 | (defvar disabled-command-function (quote disabled-command-function) "\ | 19470 | (defvar disabled-command-function (quote disabled-command-function) "\ |
| @@ -19510,7 +19497,7 @@ to future sessions. | |||
| 19510 | ;;;*** | 19497 | ;;;*** |
| 19511 | 19498 | ||
| 19512 | ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" | 19499 | ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" |
| 19513 | ;;;;;; (17994 6715)) | 19500 | ;;;;;; (17842 58277)) |
| 19514 | ;;; Generated autoloads from textmodes/nroff-mode.el | 19501 | ;;; Generated autoloads from textmodes/nroff-mode.el |
| 19515 | 19502 | ||
| 19516 | (autoload (quote nroff-mode) "nroff-mode" "\ | 19503 | (autoload (quote nroff-mode) "nroff-mode" "\ |
| @@ -19525,7 +19512,7 @@ closing requests for requests that are used in matched pairs. | |||
| 19525 | ;;;*** | 19512 | ;;;*** |
| 19526 | 19513 | ||
| 19527 | ;;;### (autoloads (octave-help) "octave-hlp" "progmodes/octave-hlp.el" | 19514 | ;;;### (autoloads (octave-help) "octave-hlp" "progmodes/octave-hlp.el" |
| 19528 | ;;;;;; (17994 6715)) | 19515 | ;;;;;; (17842 56332)) |
| 19529 | ;;; Generated autoloads from progmodes/octave-hlp.el | 19516 | ;;; Generated autoloads from progmodes/octave-hlp.el |
| 19530 | 19517 | ||
| 19531 | (autoload (quote octave-help) "octave-hlp" "\ | 19518 | (autoload (quote octave-help) "octave-hlp" "\ |
| @@ -19539,7 +19526,7 @@ If KEY is not a string, prompt for it with completion. | |||
| 19539 | ;;;*** | 19526 | ;;;*** |
| 19540 | 19527 | ||
| 19541 | ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" | 19528 | ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" |
| 19542 | ;;;;;; (17994 6715)) | 19529 | ;;;;;; (17842 56332)) |
| 19543 | ;;; Generated autoloads from progmodes/octave-inf.el | 19530 | ;;; Generated autoloads from progmodes/octave-inf.el |
| 19544 | 19531 | ||
| 19545 | (autoload (quote inferior-octave) "octave-inf" "\ | 19532 | (autoload (quote inferior-octave) "octave-inf" "\ |
| @@ -19562,7 +19549,7 @@ startup file, `~/.emacs-octave'. | |||
| 19562 | ;;;*** | 19549 | ;;;*** |
| 19563 | 19550 | ||
| 19564 | ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" | 19551 | ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" |
| 19565 | ;;;;;; (17994 6715)) | 19552 | ;;;;;; (17842 56332)) |
| 19566 | ;;; Generated autoloads from progmodes/octave-mod.el | 19553 | ;;; Generated autoloads from progmodes/octave-mod.el |
| 19567 | 19554 | ||
| 19568 | (autoload (quote octave-mode) "octave-mod" "\ | 19555 | (autoload (quote octave-mode) "octave-mod" "\ |
| @@ -19688,7 +19675,7 @@ The Custom feature is intended to make this obsolete. | |||
| 19688 | ;;;;;; org-remember-handler org-remember org-remember-apply-template | 19675 | ;;;;;; org-remember-handler org-remember org-remember-apply-template |
| 19689 | ;;;;;; org-remember-annotation org-store-link orgtbl-mode turn-on-orgtbl | 19676 | ;;;;;; org-remember-annotation org-store-link orgtbl-mode turn-on-orgtbl |
| 19690 | ;;;;;; org-global-cycle org-cycle org-mode) "org" "textmodes/org.el" | 19677 | ;;;;;; org-global-cycle org-cycle org-mode) "org" "textmodes/org.el" |
| 19691 | ;;;;;; (17994 6715)) | 19678 | ;;;;;; (17922 37459)) |
| 19692 | ;;; Generated autoloads from textmodes/org.el | 19679 | ;;; Generated autoloads from textmodes/org.el |
| 19693 | 19680 | ||
| 19694 | (autoload (quote org-mode) "org" "\ | 19681 | (autoload (quote org-mode) "org" "\ |
| @@ -19963,7 +19950,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'. | |||
| 19963 | ;;;*** | 19950 | ;;;*** |
| 19964 | 19951 | ||
| 19965 | ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" | 19952 | ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" |
| 19966 | ;;;;;; (17994 6715)) | 19953 | ;;;;;; (17952 11093)) |
| 19967 | ;;; Generated autoloads from outline.el | 19954 | ;;; Generated autoloads from outline.el |
| 19968 | (put 'outline-regexp 'safe-local-variable 'string-or-null-p) | 19955 | (put 'outline-regexp 'safe-local-variable 'string-or-null-p) |
| 19969 | 19956 | ||
| @@ -20019,8 +20006,8 @@ See the command `outline-mode' for more information on this mode. | |||
| 20019 | 20006 | ||
| 20020 | ;;;*** | 20007 | ;;;*** |
| 20021 | 20008 | ||
| 20022 | ;;;### (autoloads nil "paragraphs" "textmodes/paragraphs.el" (17994 | 20009 | ;;;### (autoloads nil "paragraphs" "textmodes/paragraphs.el" (17842 |
| 20023 | ;;;;;; 6715)) | 20010 | ;;;;;; 58277)) |
| 20024 | ;;; Generated autoloads from textmodes/paragraphs.el | 20011 | ;;; Generated autoloads from textmodes/paragraphs.el |
| 20025 | (put 'paragraph-start 'safe-local-variable 'stringp) | 20012 | (put 'paragraph-start 'safe-local-variable 'stringp) |
| 20026 | (put 'paragraph-separate 'safe-local-variable 'stringp) | 20013 | (put 'paragraph-separate 'safe-local-variable 'stringp) |
| @@ -20034,7 +20021,7 @@ See the command `outline-mode' for more information on this mode. | |||
| 20034 | 20021 | ||
| 20035 | ;;;*** | 20022 | ;;;*** |
| 20036 | 20023 | ||
| 20037 | ;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17994 6715)) | 20024 | ;;;### (autoloads (show-paren-mode) "paren" "paren.el" (18016 8765)) |
| 20038 | ;;; Generated autoloads from paren.el | 20025 | ;;; Generated autoloads from paren.el |
| 20039 | 20026 | ||
| 20040 | (defvar show-paren-mode nil "\ | 20027 | (defvar show-paren-mode nil "\ |
| @@ -20059,7 +20046,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time. | |||
| 20059 | ;;;*** | 20046 | ;;;*** |
| 20060 | 20047 | ||
| 20061 | ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" | 20048 | ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" |
| 20062 | ;;;;;; (17994 6715)) | 20049 | ;;;;;; (17957 43164)) |
| 20063 | ;;; Generated autoloads from calendar/parse-time.el | 20050 | ;;; Generated autoloads from calendar/parse-time.el |
| 20064 | 20051 | ||
| 20065 | (autoload (quote parse-time-string) "parse-time" "\ | 20052 | (autoload (quote parse-time-string) "parse-time" "\ |
| @@ -20071,8 +20058,8 @@ unknown are returned as nil. | |||
| 20071 | 20058 | ||
| 20072 | ;;;*** | 20059 | ;;;*** |
| 20073 | 20060 | ||
| 20074 | ;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17994 | 20061 | ;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17842 |
| 20075 | ;;;;;; 6715)) | 20062 | ;;;;;; 56332)) |
| 20076 | ;;; Generated autoloads from progmodes/pascal.el | 20063 | ;;; Generated autoloads from progmodes/pascal.el |
| 20077 | 20064 | ||
| 20078 | (autoload (quote pascal-mode) "pascal" "\ | 20065 | (autoload (quote pascal-mode) "pascal" "\ |
| @@ -20125,7 +20112,7 @@ no args, if that value is non-nil. | |||
| 20125 | ;;;*** | 20112 | ;;;*** |
| 20126 | 20113 | ||
| 20127 | ;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el" | 20114 | ;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el" |
| 20128 | ;;;;;; (17994 6715)) | 20115 | ;;;;;; (17842 54264)) |
| 20129 | ;;; Generated autoloads from emulation/pc-mode.el | 20116 | ;;; Generated autoloads from emulation/pc-mode.el |
| 20130 | 20117 | ||
| 20131 | (autoload (quote pc-bindings-mode) "pc-mode" "\ | 20118 | (autoload (quote pc-bindings-mode) "pc-mode" "\ |
| @@ -20143,7 +20130,7 @@ C-Escape does list-buffers. | |||
| 20143 | ;;;*** | 20130 | ;;;*** |
| 20144 | 20131 | ||
| 20145 | ;;;### (autoloads (pc-selection-mode pc-selection-mode) "pc-select" | 20132 | ;;;### (autoloads (pc-selection-mode pc-selection-mode) "pc-select" |
| 20146 | ;;;;;; "emulation/pc-select.el" (17994 6715)) | 20133 | ;;;;;; "emulation/pc-select.el" (17842 54264)) |
| 20147 | ;;; Generated autoloads from emulation/pc-select.el | 20134 | ;;; Generated autoloads from emulation/pc-select.el |
| 20148 | 20135 | ||
| 20149 | (defvar pc-selection-mode nil "\ | 20136 | (defvar pc-selection-mode nil "\ |
| @@ -20219,8 +20206,8 @@ you must modify it using \\[customize] or \\[pc-selection-mode].") | |||
| 20219 | 20206 | ||
| 20220 | ;;;*** | 20207 | ;;;*** |
| 20221 | 20208 | ||
| 20222 | ;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17994 | 20209 | ;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17842 |
| 20223 | ;;;;;; 6715)) | 20210 | ;;;;;; 58279)) |
| 20224 | ;;; Generated autoloads from pcmpl-cvs.el | 20211 | ;;; Generated autoloads from pcmpl-cvs.el |
| 20225 | 20212 | ||
| 20226 | (autoload (quote pcomplete/cvs) "pcmpl-cvs" "\ | 20213 | (autoload (quote pcomplete/cvs) "pcmpl-cvs" "\ |
| @@ -20231,7 +20218,7 @@ Completion rules for the `cvs' command. | |||
| 20231 | ;;;*** | 20218 | ;;;*** |
| 20232 | 20219 | ||
| 20233 | ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) | 20220 | ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) |
| 20234 | ;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17994 6715)) | 20221 | ;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17842 58279)) |
| 20235 | ;;; Generated autoloads from pcmpl-gnu.el | 20222 | ;;; Generated autoloads from pcmpl-gnu.el |
| 20236 | 20223 | ||
| 20237 | (autoload (quote pcomplete/gzip) "pcmpl-gnu" "\ | 20224 | (autoload (quote pcomplete/gzip) "pcmpl-gnu" "\ |
| @@ -20259,7 +20246,7 @@ Completion for the GNU tar utility. | |||
| 20259 | ;;;*** | 20246 | ;;;*** |
| 20260 | 20247 | ||
| 20261 | ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) | 20248 | ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) |
| 20262 | ;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17994 6715)) | 20249 | ;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17842 58279)) |
| 20263 | ;;; Generated autoloads from pcmpl-linux.el | 20250 | ;;; Generated autoloads from pcmpl-linux.el |
| 20264 | 20251 | ||
| 20265 | (autoload (quote pcomplete/kill) "pcmpl-linux" "\ | 20252 | (autoload (quote pcomplete/kill) "pcmpl-linux" "\ |
| @@ -20279,8 +20266,8 @@ Completion for GNU/Linux `mount'. | |||
| 20279 | 20266 | ||
| 20280 | ;;;*** | 20267 | ;;;*** |
| 20281 | 20268 | ||
| 20282 | ;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17994 | 20269 | ;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17842 |
| 20283 | ;;;;;; 6715)) | 20270 | ;;;;;; 58279)) |
| 20284 | ;;; Generated autoloads from pcmpl-rpm.el | 20271 | ;;; Generated autoloads from pcmpl-rpm.el |
| 20285 | 20272 | ||
| 20286 | (autoload (quote pcomplete/rpm) "pcmpl-rpm" "\ | 20273 | (autoload (quote pcomplete/rpm) "pcmpl-rpm" "\ |
| @@ -20296,7 +20283,7 @@ You can use \\[eshell-report-bug] to do so. | |||
| 20296 | 20283 | ||
| 20297 | ;;;### (autoloads (pcomplete/chgrp pcomplete/chown pcomplete/which | 20284 | ;;;### (autoloads (pcomplete/chgrp pcomplete/chown pcomplete/which |
| 20298 | ;;;;;; pcomplete/xargs pcomplete/rm pcomplete/rmdir pcomplete/cd) | 20285 | ;;;;;; pcomplete/xargs pcomplete/rm pcomplete/rmdir pcomplete/cd) |
| 20299 | ;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17994 6715)) | 20286 | ;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17842 58279)) |
| 20300 | ;;; Generated autoloads from pcmpl-unix.el | 20287 | ;;; Generated autoloads from pcmpl-unix.el |
| 20301 | 20288 | ||
| 20302 | (autoload (quote pcomplete/cd) "pcmpl-unix" "\ | 20289 | (autoload (quote pcomplete/cd) "pcmpl-unix" "\ |
| @@ -20342,8 +20329,8 @@ Completion for the `chgrp' command. | |||
| 20342 | 20329 | ||
| 20343 | ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list | 20330 | ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list |
| 20344 | ;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete | 20331 | ;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete |
| 20345 | ;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17994 | 20332 | ;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17944 |
| 20346 | ;;;;;; 6715)) | 20333 | ;;;;;; 62194)) |
| 20347 | ;;; Generated autoloads from pcomplete.el | 20334 | ;;; Generated autoloads from pcomplete.el |
| 20348 | 20335 | ||
| 20349 | (autoload (quote pcomplete) "pcomplete" "\ | 20336 | (autoload (quote pcomplete) "pcomplete" "\ |
| @@ -20402,7 +20389,7 @@ Setup shell-mode to use pcomplete. | |||
| 20402 | 20389 | ||
| 20403 | ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status | 20390 | ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status |
| 20404 | ;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" | 20391 | ;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" |
| 20405 | ;;;;;; "pcvs.el" (18000 24333)) | 20392 | ;;;;;; "pcvs.el" (18006 55796)) |
| 20406 | ;;; Generated autoloads from pcvs.el | 20393 | ;;; Generated autoloads from pcvs.el |
| 20407 | 20394 | ||
| 20408 | (autoload (quote cvs-checkout) "pcvs" "\ | 20395 | (autoload (quote cvs-checkout) "pcvs" "\ |
| @@ -20479,7 +20466,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d | |||
| 20479 | 20466 | ||
| 20480 | ;;;*** | 20467 | ;;;*** |
| 20481 | 20468 | ||
| 20482 | ;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17994 6715)) | 20469 | ;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17842 58279)) |
| 20483 | ;;; Generated autoloads from pcvs-defs.el | 20470 | ;;; Generated autoloads from pcvs-defs.el |
| 20484 | 20471 | ||
| 20485 | (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] (quote (menu-item "Directory Status" cvs-status :help "A more verbose status of a workarea"))) (define-key m [checkout] (quote (menu-item "Checkout Module" cvs-checkout :help "Check out a module from the repository"))) (define-key m [update] (quote (menu-item "Update Directory" cvs-update :help "Fetch updates from the repository"))) (define-key m [examine] (quote (menu-item "Examine Directory" cvs-examine :help "Examine the current state of a workarea"))) (fset (quote cvs-global-menu) m))) | 20472 | (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] (quote (menu-item "Directory Status" cvs-status :help "A more verbose status of a workarea"))) (define-key m [checkout] (quote (menu-item "Checkout Module" cvs-checkout :help "Check out a module from the repository"))) (define-key m [update] (quote (menu-item "Update Directory" cvs-update :help "Fetch updates from the repository"))) (define-key m [examine] (quote (menu-item "Examine Directory" cvs-examine :help "Examine the current state of a workarea"))) (fset (quote cvs-global-menu) m))) |
| @@ -20487,7 +20474,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d | |||
| 20487 | ;;;*** | 20474 | ;;;*** |
| 20488 | 20475 | ||
| 20489 | ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" | 20476 | ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" |
| 20490 | ;;;;;; (17994 6715)) | 20477 | ;;;;;; (17962 28280)) |
| 20491 | ;;; Generated autoloads from progmodes/perl-mode.el | 20478 | ;;; Generated autoloads from progmodes/perl-mode.el |
| 20492 | 20479 | ||
| 20493 | (autoload (quote perl-mode) "perl-mode" "\ | 20480 | (autoload (quote perl-mode) "perl-mode" "\ |
| @@ -20545,7 +20532,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'. | |||
| 20545 | ;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key | 20532 | ;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key |
| 20546 | ;;;;;; pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt | 20533 | ;;;;;; pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt |
| 20547 | ;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region | 20534 | ;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region |
| 20548 | ;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (17994 6715)) | 20535 | ;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (17842 58279)) |
| 20549 | ;;; Generated autoloads from pgg.el | 20536 | ;;; Generated autoloads from pgg.el |
| 20550 | 20537 | ||
| 20551 | (autoload (quote pgg-encrypt-region) "pgg" "\ | 20538 | (autoload (quote pgg-encrypt-region) "pgg" "\ |
| @@ -20679,7 +20666,7 @@ Import public keys in the current buffer. | |||
| 20679 | ;;;*** | 20666 | ;;;*** |
| 20680 | 20667 | ||
| 20681 | ;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el" | 20668 | ;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el" |
| 20682 | ;;;;;; (17994 6715)) | 20669 | ;;;;;; (17887 33207)) |
| 20683 | ;;; Generated autoloads from pgg-gpg.el | 20670 | ;;; Generated autoloads from pgg-gpg.el |
| 20684 | 20671 | ||
| 20685 | (autoload (quote pgg-gpg-symmetric-key-p) "pgg-gpg" "\ | 20672 | (autoload (quote pgg-gpg-symmetric-key-p) "pgg-gpg" "\ |
| @@ -20690,7 +20677,7 @@ True if decoded armor MESSAGE-KEYS has symmetric encryption indicator. | |||
| 20690 | ;;;*** | 20677 | ;;;*** |
| 20691 | 20678 | ||
| 20692 | ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" | 20679 | ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" |
| 20693 | ;;;;;; (17994 6715)) | 20680 | ;;;;;; (17842 58277)) |
| 20694 | ;;; Generated autoloads from textmodes/picture.el | 20681 | ;;; Generated autoloads from textmodes/picture.el |
| 20695 | 20682 | ||
| 20696 | (autoload (quote picture-mode) "picture" "\ | 20683 | (autoload (quote picture-mode) "picture" "\ |
| @@ -20771,7 +20758,7 @@ they are not defaultly assigned to keys. | |||
| 20771 | ;;;*** | 20758 | ;;;*** |
| 20772 | 20759 | ||
| 20773 | ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" | 20760 | ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" |
| 20774 | ;;;;;; (17994 6715)) | 20761 | ;;;;;; (17842 58277)) |
| 20775 | ;;; Generated autoloads from textmodes/po.el | 20762 | ;;; Generated autoloads from textmodes/po.el |
| 20776 | 20763 | ||
| 20777 | (autoload (quote po-find-file-coding-system) "po" "\ | 20764 | (autoload (quote po-find-file-coding-system) "po" "\ |
| @@ -20782,7 +20769,7 @@ Called through `file-coding-system-alist', before the file is visited for real. | |||
| 20782 | 20769 | ||
| 20783 | ;;;*** | 20770 | ;;;*** |
| 20784 | 20771 | ||
| 20785 | ;;;### (autoloads (pong) "pong" "play/pong.el" (17994 6715)) | 20772 | ;;;### (autoloads (pong) "pong" "play/pong.el" (17842 55395)) |
| 20786 | ;;; Generated autoloads from play/pong.el | 20773 | ;;; Generated autoloads from play/pong.el |
| 20787 | 20774 | ||
| 20788 | (autoload (quote pong) "pong" "\ | 20775 | (autoload (quote pong) "pong" "\ |
| @@ -20799,7 +20786,7 @@ pong-mode keybindings:\\<pong-mode-map> | |||
| 20799 | ;;;*** | 20786 | ;;;*** |
| 20800 | 20787 | ||
| 20801 | ;;;### (autoloads (pp-eval-last-sexp pp-eval-expression pp pp-buffer | 20788 | ;;;### (autoloads (pp-eval-last-sexp pp-eval-expression pp pp-buffer |
| 20802 | ;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17994 6715)) | 20789 | ;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17852 19612)) |
| 20803 | ;;; Generated autoloads from emacs-lisp/pp.el | 20790 | ;;; Generated autoloads from emacs-lisp/pp.el |
| 20804 | 20791 | ||
| 20805 | (autoload (quote pp-to-string) "pp" "\ | 20792 | (autoload (quote pp-to-string) "pp" "\ |
| @@ -20855,7 +20842,7 @@ Ignores leading comment characters. | |||
| 20855 | ;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview | 20842 | ;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview |
| 20856 | ;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript | 20843 | ;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript |
| 20857 | ;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" | 20844 | ;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" |
| 20858 | ;;;;;; (18000 24338)) | 20845 | ;;;;;; (18006 55796)) |
| 20859 | ;;; Generated autoloads from printing.el | 20846 | ;;; Generated autoloads from printing.el |
| 20860 | 20847 | ||
| 20861 | (autoload (quote pr-interface) "printing" "\ | 20848 | (autoload (quote pr-interface) "printing" "\ |
| @@ -21443,7 +21430,7 @@ are both set to t. | |||
| 21443 | ;;;*** | 21430 | ;;;*** |
| 21444 | 21431 | ||
| 21445 | ;;;### (autoloads (switch-to-prolog prolog-mode) "prolog" "progmodes/prolog.el" | 21432 | ;;;### (autoloads (switch-to-prolog prolog-mode) "prolog" "progmodes/prolog.el" |
| 21446 | ;;;;;; (17994 6715)) | 21433 | ;;;;;; (17842 56332)) |
| 21447 | ;;; Generated autoloads from progmodes/prolog.el | 21434 | ;;; Generated autoloads from progmodes/prolog.el |
| 21448 | 21435 | ||
| 21449 | (autoload (quote prolog-mode) "prolog" "\ | 21436 | (autoload (quote prolog-mode) "prolog" "\ |
| @@ -21466,7 +21453,7 @@ With prefix argument \\[universal-prefix], prompt for the program to use. | |||
| 21466 | 21453 | ||
| 21467 | ;;;*** | 21454 | ;;;*** |
| 21468 | 21455 | ||
| 21469 | ;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17994 6715)) | 21456 | ;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17842 58279)) |
| 21470 | ;;; Generated autoloads from ps-bdf.el | 21457 | ;;; Generated autoloads from ps-bdf.el |
| 21471 | 21458 | ||
| 21472 | (defvar bdf-directory-list (if (memq system-type (quote (ms-dos windows-nt))) (list (expand-file-name "fonts/bdf" installation-directory)) (quote ("/usr/local/share/emacs/fonts/bdf"))) "\ | 21459 | (defvar bdf-directory-list (if (memq system-type (quote (ms-dos windows-nt))) (list (expand-file-name "fonts/bdf" installation-directory)) (quote ("/usr/local/share/emacs/fonts/bdf"))) "\ |
| @@ -21475,8 +21462,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").") | |||
| 21475 | 21462 | ||
| 21476 | ;;;*** | 21463 | ;;;*** |
| 21477 | 21464 | ||
| 21478 | ;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17994 | 21465 | ;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17842 |
| 21479 | ;;;;;; 6715)) | 21466 | ;;;;;; 56332)) |
| 21480 | ;;; Generated autoloads from progmodes/ps-mode.el | 21467 | ;;; Generated autoloads from progmodes/ps-mode.el |
| 21481 | 21468 | ||
| 21482 | (autoload (quote ps-mode) "ps-mode" "\ | 21469 | (autoload (quote ps-mode) "ps-mode" "\ |
| @@ -21525,7 +21512,7 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number | |||
| 21525 | ;;;### (autoloads (ps-mule-begin-page ps-mule-begin-job ps-mule-encode-header-string | 21512 | ;;;### (autoloads (ps-mule-begin-page ps-mule-begin-job ps-mule-encode-header-string |
| 21526 | ;;;;;; ps-mule-initialize ps-mule-plot-composition ps-mule-plot-string | 21513 | ;;;;;; ps-mule-initialize ps-mule-plot-composition ps-mule-plot-string |
| 21527 | ;;;;;; ps-mule-set-ascii-font ps-mule-prepare-ascii-font ps-multibyte-buffer) | 21514 | ;;;;;; ps-mule-set-ascii-font ps-mule-prepare-ascii-font ps-multibyte-buffer) |
| 21528 | ;;;;;; "ps-mule" "ps-mule.el" (17994 6715)) | 21515 | ;;;;;; "ps-mule" "ps-mule.el" (17842 58279)) |
| 21529 | ;;; Generated autoloads from ps-mule.el | 21516 | ;;; Generated autoloads from ps-mule.el |
| 21530 | 21517 | ||
| 21531 | (defvar ps-multibyte-buffer nil "\ | 21518 | (defvar ps-multibyte-buffer nil "\ |
| @@ -21646,8 +21633,8 @@ Not documented | |||
| 21646 | ;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer | 21633 | ;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer |
| 21647 | ;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces | 21634 | ;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces |
| 21648 | ;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type | 21635 | ;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type |
| 21649 | ;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (18000 | 21636 | ;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (18006 |
| 21650 | ;;;;;; 24245)) | 21637 | ;;;;;; 55796)) |
| 21651 | ;;; Generated autoloads from ps-print.el | 21638 | ;;; Generated autoloads from ps-print.el |
| 21652 | 21639 | ||
| 21653 | (defvar ps-page-dimensions-database (list (list (quote a4) (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list (quote a3) (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list (quote letter) (* 72 8.5) (* 72 11.0) "Letter") (list (quote legal) (* 72 8.5) (* 72 14.0) "Legal") (list (quote letter-small) (* 72 7.68) (* 72 10.16) "LetterSmall") (list (quote tabloid) (* 72 11.0) (* 72 17.0) "Tabloid") (list (quote ledger) (* 72 17.0) (* 72 11.0) "Ledger") (list (quote statement) (* 72 5.5) (* 72 8.5) "Statement") (list (quote executive) (* 72 7.5) (* 72 10.0) "Executive") (list (quote a4small) (* 72 7.47) (* 72 10.85) "A4Small") (list (quote b4) (* 72 10.125) (* 72 14.33) "B4") (list (quote b5) (* 72 7.16) (* 72 10.125) "B5")) "\ | 21640 | (defvar ps-page-dimensions-database (list (list (quote a4) (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list (quote a3) (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list (quote letter) (* 72 8.5) (* 72 11.0) "Letter") (list (quote legal) (* 72 8.5) (* 72 14.0) "Legal") (list (quote letter-small) (* 72 7.68) (* 72 10.16) "LetterSmall") (list (quote tabloid) (* 72 11.0) (* 72 17.0) "Tabloid") (list (quote ledger) (* 72 17.0) (* 72 11.0) "Ledger") (list (quote statement) (* 72 5.5) (* 72 8.5) "Statement") (list (quote executive) (* 72 7.5) (* 72 10.0) "Executive") (list (quote a4small) (* 72 7.47) (* 72 10.85) "A4Small") (list (quote b4) (* 72 10.125) (* 72 14.33) "B4") (list (quote b5) (* 72 7.16) (* 72 10.125) "B5")) "\ |
| @@ -21844,7 +21831,7 @@ If EXTENSION is any other symbol, it is ignored. | |||
| 21844 | ;;;*** | 21831 | ;;;*** |
| 21845 | 21832 | ||
| 21846 | ;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el" | 21833 | ;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el" |
| 21847 | ;;;;;; (17994 6741)) | 21834 | ;;;;;; (17992 30878)) |
| 21848 | ;;; Generated autoloads from progmodes/python.el | 21835 | ;;; Generated autoloads from progmodes/python.el |
| 21849 | 21836 | ||
| 21850 | (add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode))) | 21837 | (add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode))) |
| @@ -21919,7 +21906,7 @@ Runs `jython-mode-hook' after `python-mode-hook'. | |||
| 21919 | ;;;*** | 21906 | ;;;*** |
| 21920 | 21907 | ||
| 21921 | ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" | 21908 | ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" |
| 21922 | ;;;;;; (17994 6715)) | 21909 | ;;;;;; (17842 54741)) |
| 21923 | ;;; Generated autoloads from gnus/qp.el | 21910 | ;;; Generated autoloads from gnus/qp.el |
| 21924 | 21911 | ||
| 21925 | (autoload (quote quoted-printable-decode-region) "qp" "\ | 21912 | (autoload (quote quoted-printable-decode-region) "qp" "\ |
| @@ -21942,7 +21929,7 @@ them into characters should be done separately. | |||
| 21942 | ;;;;;; quail-defrule quail-install-decode-map quail-install-map | 21929 | ;;;;;; quail-defrule quail-install-decode-map quail-install-map |
| 21943 | ;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout | 21930 | ;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout |
| 21944 | ;;;;;; quail-define-package quail-use-package quail-title) "quail" | 21931 | ;;;;;; quail-define-package quail-use-package quail-title) "quail" |
| 21945 | ;;;;;; "international/quail.el" (17994 6715)) | 21932 | ;;;;;; "international/quail.el" (17921 16827)) |
| 21946 | ;;; Generated autoloads from international/quail.el | 21933 | ;;; Generated autoloads from international/quail.el |
| 21947 | 21934 | ||
| 21948 | (autoload (quote quail-title) "quail" "\ | 21935 | (autoload (quote quail-title) "quail" "\ |
| @@ -22173,8 +22160,8 @@ of each directory. | |||
| 22173 | 22160 | ||
| 22174 | ;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls | 22161 | ;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls |
| 22175 | ;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url | 22162 | ;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url |
| 22176 | ;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (17994 | 22163 | ;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (17842 |
| 22177 | ;;;;;; 6715)) | 22164 | ;;;;;; 55218)) |
| 22178 | ;;; Generated autoloads from net/quickurl.el | 22165 | ;;; Generated autoloads from net/quickurl.el |
| 22179 | 22166 | ||
| 22180 | (defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ | 22167 | (defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ |
| @@ -22246,7 +22233,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. | |||
| 22246 | ;;;*** | 22233 | ;;;*** |
| 22247 | 22234 | ||
| 22248 | ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" | 22235 | ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" |
| 22249 | ;;;;;; "net/rcirc.el" (17994 6737)) | 22236 | ;;;;;; "net/rcirc.el" (18006 55797)) |
| 22250 | ;;; Generated autoloads from net/rcirc.el | 22237 | ;;; Generated autoloads from net/rcirc.el |
| 22251 | 22238 | ||
| 22252 | (autoload (quote rcirc) "rcirc" "\ | 22239 | (autoload (quote rcirc) "rcirc" "\ |
| @@ -22278,8 +22265,8 @@ Global minor mode for tracking activity in rcirc buffers. | |||
| 22278 | 22265 | ||
| 22279 | ;;;*** | 22266 | ;;;*** |
| 22280 | 22267 | ||
| 22281 | ;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17994 | 22268 | ;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17842 |
| 22282 | ;;;;;; 6715)) | 22269 | ;;;;;; 55218)) |
| 22283 | ;;; Generated autoloads from net/rcompile.el | 22270 | ;;; Generated autoloads from net/rcompile.el |
| 22284 | 22271 | ||
| 22285 | (autoload (quote remote-compile) "rcompile" "\ | 22272 | (autoload (quote remote-compile) "rcompile" "\ |
| @@ -22291,7 +22278,7 @@ See \\[compile]. | |||
| 22291 | ;;;*** | 22278 | ;;;*** |
| 22292 | 22279 | ||
| 22293 | ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" | 22280 | ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" |
| 22294 | ;;;;;; (17994 6715)) | 22281 | ;;;;;; (17917 37732)) |
| 22295 | ;;; Generated autoloads from emacs-lisp/re-builder.el | 22282 | ;;; Generated autoloads from emacs-lisp/re-builder.el |
| 22296 | 22283 | ||
| 22297 | (defalias (quote regexp-builder) (quote re-builder)) | 22284 | (defalias (quote regexp-builder) (quote re-builder)) |
| @@ -22303,7 +22290,7 @@ Construct a regexp interactively. | |||
| 22303 | 22290 | ||
| 22304 | ;;;*** | 22291 | ;;;*** |
| 22305 | 22292 | ||
| 22306 | ;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17994 6715)) | 22293 | ;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17930 34071)) |
| 22307 | ;;; Generated autoloads from recentf.el | 22294 | ;;; Generated autoloads from recentf.el |
| 22308 | 22295 | ||
| 22309 | (defvar recentf-mode nil "\ | 22296 | (defvar recentf-mode nil "\ |
| @@ -22330,8 +22317,8 @@ that were operated on recently. | |||
| 22330 | ;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle | 22317 | ;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle |
| 22331 | ;;;;;; delete-whitespace-rectangle open-rectangle insert-rectangle | 22318 | ;;;;;; delete-whitespace-rectangle open-rectangle insert-rectangle |
| 22332 | ;;;;;; yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle | 22319 | ;;;;;; yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle |
| 22333 | ;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17994 | 22320 | ;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17842 |
| 22334 | ;;;;;; 6715)) | 22321 | ;;;;;; 58279)) |
| 22335 | ;;; Generated autoloads from rect.el | 22322 | ;;; Generated autoloads from rect.el |
| 22336 | 22323 | ||
| 22337 | (autoload (quote move-to-column-force) "rect" "\ | 22324 | (autoload (quote move-to-column-force) "rect" "\ |
| @@ -22459,8 +22446,8 @@ rectangle which were empty. | |||
| 22459 | 22446 | ||
| 22460 | ;;;*** | 22447 | ;;;*** |
| 22461 | 22448 | ||
| 22462 | ;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17994 | 22449 | ;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17842 |
| 22463 | ;;;;;; 6715)) | 22450 | ;;;;;; 58277)) |
| 22464 | ;;; Generated autoloads from textmodes/refill.el | 22451 | ;;; Generated autoloads from textmodes/refill.el |
| 22465 | 22452 | ||
| 22466 | (autoload (quote refill-mode) "refill" "\ | 22453 | (autoload (quote refill-mode) "refill" "\ |
| @@ -22476,7 +22463,7 @@ refilling if they would cause auto-filling. | |||
| 22476 | ;;;*** | 22463 | ;;;*** |
| 22477 | 22464 | ||
| 22478 | ;;;### (autoloads (reftex-reset-scanning-information reftex-mode | 22465 | ;;;### (autoloads (reftex-reset-scanning-information reftex-mode |
| 22479 | ;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17994 6715)) | 22466 | ;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17923 8784)) |
| 22480 | ;;; Generated autoloads from textmodes/reftex.el | 22467 | ;;; Generated autoloads from textmodes/reftex.el |
| 22481 | 22468 | ||
| 22482 | (autoload (quote turn-on-reftex) "reftex" "\ | 22469 | (autoload (quote turn-on-reftex) "reftex" "\ |
| @@ -22526,7 +22513,7 @@ This enforces rescanning the buffer on next use. | |||
| 22526 | ;;;*** | 22513 | ;;;*** |
| 22527 | 22514 | ||
| 22528 | ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" | 22515 | ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" |
| 22529 | ;;;;;; (17994 6715)) | 22516 | ;;;;;; (17923 8784)) |
| 22530 | ;;; Generated autoloads from textmodes/reftex-cite.el | 22517 | ;;; Generated autoloads from textmodes/reftex-cite.el |
| 22531 | 22518 | ||
| 22532 | (autoload (quote reftex-citation) "reftex-cite" "\ | 22519 | (autoload (quote reftex-citation) "reftex-cite" "\ |
| @@ -22556,7 +22543,7 @@ While entering the regexp, completion on knows citation keys is possible. | |||
| 22556 | ;;;*** | 22543 | ;;;*** |
| 22557 | 22544 | ||
| 22558 | ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" | 22545 | ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" |
| 22559 | ;;;;;; (17994 6715)) | 22546 | ;;;;;; (17923 8784)) |
| 22560 | ;;; Generated autoloads from textmodes/reftex-global.el | 22547 | ;;; Generated autoloads from textmodes/reftex-global.el |
| 22561 | 22548 | ||
| 22562 | (autoload (quote reftex-isearch-minor-mode) "reftex-global" "\ | 22549 | (autoload (quote reftex-isearch-minor-mode) "reftex-global" "\ |
| @@ -22573,7 +22560,7 @@ With no argument, this command toggles | |||
| 22573 | ;;;*** | 22560 | ;;;*** |
| 22574 | 22561 | ||
| 22575 | ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" | 22562 | ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" |
| 22576 | ;;;;;; (17994 6715)) | 22563 | ;;;;;; (17923 8784)) |
| 22577 | ;;; Generated autoloads from textmodes/reftex-index.el | 22564 | ;;; Generated autoloads from textmodes/reftex-index.el |
| 22578 | 22565 | ||
| 22579 | (autoload (quote reftex-index-phrases-mode) "reftex-index" "\ | 22566 | (autoload (quote reftex-index-phrases-mode) "reftex-index" "\ |
| @@ -22606,7 +22593,7 @@ Here are all local bindings. | |||
| 22606 | ;;;*** | 22593 | ;;;*** |
| 22607 | 22594 | ||
| 22608 | ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" | 22595 | ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" |
| 22609 | ;;;;;; (17994 6715)) | 22596 | ;;;;;; (17923 8784)) |
| 22610 | ;;; Generated autoloads from textmodes/reftex-parse.el | 22597 | ;;; Generated autoloads from textmodes/reftex-parse.el |
| 22611 | 22598 | ||
| 22612 | (autoload (quote reftex-all-document-files) "reftex-parse" "\ | 22599 | (autoload (quote reftex-all-document-files) "reftex-parse" "\ |
| @@ -22618,8 +22605,8 @@ of master file. | |||
| 22618 | 22605 | ||
| 22619 | ;;;*** | 22606 | ;;;*** |
| 22620 | 22607 | ||
| 22621 | ;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (17994 | 22608 | ;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (17923 |
| 22622 | ;;;;;; 6715)) | 22609 | ;;;;;; 8784)) |
| 22623 | ;;; Generated autoloads from textmodes/reftex-vars.el | 22610 | ;;; Generated autoloads from textmodes/reftex-vars.el |
| 22624 | (put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) | 22611 | (put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) |
| 22625 | (put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) | 22612 | (put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) |
| @@ -22629,7 +22616,7 @@ of master file. | |||
| 22629 | ;;;*** | 22616 | ;;;*** |
| 22630 | 22617 | ||
| 22631 | ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" | 22618 | ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" |
| 22632 | ;;;;;; (17994 6715)) | 22619 | ;;;;;; (17842 54152)) |
| 22633 | ;;; Generated autoloads from emacs-lisp/regexp-opt.el | 22620 | ;;; Generated autoloads from emacs-lisp/regexp-opt.el |
| 22634 | 22621 | ||
| 22635 | (autoload (quote regexp-opt) "regexp-opt" "\ | 22622 | (autoload (quote regexp-opt) "regexp-opt" "\ |
| @@ -22656,7 +22643,7 @@ This means the number of non-shy regexp grouping constructs | |||
| 22656 | 22643 | ||
| 22657 | ;;;*** | 22644 | ;;;*** |
| 22658 | 22645 | ||
| 22659 | ;;;### (autoloads (repeat) "repeat" "repeat.el" (17994 6715)) | 22646 | ;;;### (autoloads (repeat) "repeat" "repeat.el" (17842 58279)) |
| 22660 | ;;; Generated autoloads from repeat.el | 22647 | ;;; Generated autoloads from repeat.el |
| 22661 | 22648 | ||
| 22662 | (autoload (quote repeat) "repeat" "\ | 22649 | (autoload (quote repeat) "repeat" "\ |
| @@ -22674,7 +22661,7 @@ can be modified by the global variable `repeat-on-final-keystroke'. | |||
| 22674 | ;;;*** | 22661 | ;;;*** |
| 22675 | 22662 | ||
| 22676 | ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" | 22663 | ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" |
| 22677 | ;;;;;; (17994 6715)) | 22664 | ;;;;;; (17842 55035)) |
| 22678 | ;;; Generated autoloads from mail/reporter.el | 22665 | ;;; Generated autoloads from mail/reporter.el |
| 22679 | 22666 | ||
| 22680 | (autoload (quote reporter-submit-bug-report) "reporter" "\ | 22667 | (autoload (quote reporter-submit-bug-report) "reporter" "\ |
| @@ -22706,7 +22693,7 @@ mail-sending package is used for editing and sending the message. | |||
| 22706 | ;;;*** | 22693 | ;;;*** |
| 22707 | 22694 | ||
| 22708 | ;;;### (autoloads (reposition-window) "reposition" "reposition.el" | 22695 | ;;;### (autoloads (reposition-window) "reposition" "reposition.el" |
| 22709 | ;;;;;; (17994 6715)) | 22696 | ;;;;;; (17842 58279)) |
| 22710 | ;;; Generated autoloads from reposition.el | 22697 | ;;; Generated autoloads from reposition.el |
| 22711 | 22698 | ||
| 22712 | (autoload (quote reposition-window) "reposition" "\ | 22699 | (autoload (quote reposition-window) "reposition" "\ |
| @@ -22733,8 +22720,8 @@ first comment line visible (if point is in a comment). | |||
| 22733 | 22720 | ||
| 22734 | ;;;*** | 22721 | ;;;*** |
| 22735 | 22722 | ||
| 22736 | ;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17994 | 22723 | ;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17842 |
| 22737 | ;;;;;; 6715)) | 22724 | ;;;;;; 58279)) |
| 22738 | ;;; Generated autoloads from resume.el | 22725 | ;;; Generated autoloads from resume.el |
| 22739 | 22726 | ||
| 22740 | (autoload (quote resume-suspend-hook) "resume" "\ | 22727 | (autoload (quote resume-suspend-hook) "resume" "\ |
| @@ -22745,7 +22732,7 @@ Clear out the file used for transmitting args when Emacs resumes. | |||
| 22745 | ;;;*** | 22732 | ;;;*** |
| 22746 | 22733 | ||
| 22747 | ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" | 22734 | ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" |
| 22748 | ;;;;;; (17994 6715)) | 22735 | ;;;;;; (17842 58279)) |
| 22749 | ;;; Generated autoloads from reveal.el | 22736 | ;;; Generated autoloads from reveal.el |
| 22750 | 22737 | ||
| 22751 | (autoload (quote reveal-mode) "reveal" "\ | 22738 | (autoload (quote reveal-mode) "reveal" "\ |
| @@ -22780,7 +22767,7 @@ With zero or negative ARG turn mode off. | |||
| 22780 | ;;;*** | 22767 | ;;;*** |
| 22781 | 22768 | ||
| 22782 | ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" | 22769 | ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" |
| 22783 | ;;;;;; (17994 6715)) | 22770 | ;;;;;; (17842 54152)) |
| 22784 | ;;; Generated autoloads from emacs-lisp/ring.el | 22771 | ;;; Generated autoloads from emacs-lisp/ring.el |
| 22785 | 22772 | ||
| 22786 | (autoload (quote ring-p) "ring" "\ | 22773 | (autoload (quote ring-p) "ring" "\ |
| @@ -22795,7 +22782,7 @@ Make a ring that can contain SIZE elements. | |||
| 22795 | 22782 | ||
| 22796 | ;;;*** | 22783 | ;;;*** |
| 22797 | 22784 | ||
| 22798 | ;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17994 6715)) | 22785 | ;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17842 55218)) |
| 22799 | ;;; Generated autoloads from net/rlogin.el | 22786 | ;;; Generated autoloads from net/rlogin.el |
| 22800 | (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)") | 22787 | (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)") |
| 22801 | 22788 | ||
| @@ -22846,8 +22833,8 @@ variable. | |||
| 22846 | ;;;;;; rmail-mail-new-frame rmail-primary-inbox-list rmail-delete-after-output | 22833 | ;;;;;; rmail-mail-new-frame rmail-primary-inbox-list rmail-delete-after-output |
| 22847 | ;;;;;; rmail-highlight-face rmail-highlighted-headers rmail-retry-ignored-headers | 22834 | ;;;;;; rmail-highlight-face rmail-highlighted-headers rmail-retry-ignored-headers |
| 22848 | ;;;;;; rmail-displayed-headers rmail-ignored-headers rmail-dont-reply-to-names | 22835 | ;;;;;; rmail-displayed-headers rmail-ignored-headers rmail-dont-reply-to-names |
| 22849 | ;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (18000 | 22836 | ;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (18006 |
| 22850 | ;;;;;; 24323)) | 22837 | ;;;;;; 55797)) |
| 22851 | ;;; Generated autoloads from mail/rmail.el | 22838 | ;;; Generated autoloads from mail/rmail.el |
| 22852 | 22839 | ||
| 22853 | (autoload (quote rmail-movemail-variant-p) "rmail" "\ | 22840 | (autoload (quote rmail-movemail-variant-p) "rmail" "\ |
| @@ -23112,7 +23099,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server. | |||
| 23112 | ;;;*** | 23099 | ;;;*** |
| 23113 | 23100 | ||
| 23114 | ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "mail/rmailedit.el" | 23101 | ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "mail/rmailedit.el" |
| 23115 | ;;;;;; (17994 6715)) | 23102 | ;;;;;; (17887 18399)) |
| 23116 | ;;; Generated autoloads from mail/rmailedit.el | 23103 | ;;; Generated autoloads from mail/rmailedit.el |
| 23117 | 23104 | ||
| 23118 | (autoload (quote rmail-edit-current-message) "rmailedit" "\ | 23105 | (autoload (quote rmail-edit-current-message) "rmailedit" "\ |
| @@ -23124,7 +23111,7 @@ Edit the contents of this message. | |||
| 23124 | 23111 | ||
| 23125 | ;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message | 23112 | ;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message |
| 23126 | ;;;;;; rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd" | 23113 | ;;;;;; rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd" |
| 23127 | ;;;;;; "mail/rmailkwd.el" (17994 6715)) | 23114 | ;;;;;; "mail/rmailkwd.el" (17842 55035)) |
| 23128 | ;;; Generated autoloads from mail/rmailkwd.el | 23115 | ;;; Generated autoloads from mail/rmailkwd.el |
| 23129 | 23116 | ||
| 23130 | (autoload (quote rmail-add-label) "rmailkwd" "\ | 23117 | (autoload (quote rmail-add-label) "rmailkwd" "\ |
| @@ -23163,7 +23150,7 @@ With prefix argument N moves forward N messages with these labels. | |||
| 23163 | ;;;*** | 23150 | ;;;*** |
| 23164 | 23151 | ||
| 23165 | ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "mail/rmailmsc.el" | 23152 | ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "mail/rmailmsc.el" |
| 23166 | ;;;;;; (17994 6715)) | 23153 | ;;;;;; (17842 55035)) |
| 23167 | ;;; Generated autoloads from mail/rmailmsc.el | 23154 | ;;; Generated autoloads from mail/rmailmsc.el |
| 23168 | 23155 | ||
| 23169 | (autoload (quote set-rmail-inbox-list) "rmailmsc" "\ | 23156 | (autoload (quote set-rmail-inbox-list) "rmailmsc" "\ |
| @@ -23177,7 +23164,7 @@ If FILE-NAME is empty, remove any existing inbox list. | |||
| 23177 | 23164 | ||
| 23178 | ;;;### (autoloads (rmail-output-body-to-file rmail-output rmail-fields-not-to-output | 23165 | ;;;### (autoloads (rmail-output-body-to-file rmail-output rmail-fields-not-to-output |
| 23179 | ;;;;;; rmail-output-to-rmail-file rmail-output-file-alist) "rmailout" | 23166 | ;;;;;; rmail-output-to-rmail-file rmail-output-file-alist) "rmailout" |
| 23180 | ;;;;;; "mail/rmailout.el" (17994 6715)) | 23167 | ;;;;;; "mail/rmailout.el" (17842 55035)) |
| 23181 | ;;; Generated autoloads from mail/rmailout.el | 23168 | ;;; Generated autoloads from mail/rmailout.el |
| 23182 | 23169 | ||
| 23183 | (defvar rmail-output-file-alist nil "\ | 23170 | (defvar rmail-output-file-alist nil "\ |
| @@ -23244,8 +23231,8 @@ FILE-NAME defaults, interactively, from the Subject field of the message. | |||
| 23244 | 23231 | ||
| 23245 | ;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent | 23232 | ;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent |
| 23246 | ;;;;;; rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject | 23233 | ;;;;;; rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject |
| 23247 | ;;;;;; rmail-sort-by-date) "rmailsort" "mail/rmailsort.el" (17994 | 23234 | ;;;;;; rmail-sort-by-date) "rmailsort" "mail/rmailsort.el" (17842 |
| 23248 | ;;;;;; 6715)) | 23235 | ;;;;;; 55035)) |
| 23249 | ;;; Generated autoloads from mail/rmailsort.el | 23236 | ;;; Generated autoloads from mail/rmailsort.el |
| 23250 | 23237 | ||
| 23251 | (autoload (quote rmail-sort-by-date) "rmailsort" "\ | 23238 | (autoload (quote rmail-sort-by-date) "rmailsort" "\ |
| @@ -23297,7 +23284,7 @@ KEYWORDS is a comma-separated list of labels. | |||
| 23297 | ;;;;;; rmail-summary-by-senders rmail-summary-by-topic rmail-summary-by-regexp | 23284 | ;;;;;; rmail-summary-by-senders rmail-summary-by-topic rmail-summary-by-regexp |
| 23298 | ;;;;;; rmail-summary-by-recipients rmail-summary-by-labels rmail-summary | 23285 | ;;;;;; rmail-summary-by-recipients rmail-summary-by-labels rmail-summary |
| 23299 | ;;;;;; rmail-summary-line-count-flag rmail-summary-scroll-between-messages) | 23286 | ;;;;;; rmail-summary-line-count-flag rmail-summary-scroll-between-messages) |
| 23300 | ;;;;;; "rmailsum" "mail/rmailsum.el" (17994 6715)) | 23287 | ;;;;;; "rmailsum" "mail/rmailsum.el" (17842 55035)) |
| 23301 | ;;; Generated autoloads from mail/rmailsum.el | 23288 | ;;; Generated autoloads from mail/rmailsum.el |
| 23302 | 23289 | ||
| 23303 | (defvar rmail-summary-scroll-between-messages t "\ | 23290 | (defvar rmail-summary-scroll-between-messages t "\ |
| @@ -23392,7 +23379,7 @@ If NOQUERY is non-nil, we do not query before doing the work. | |||
| 23392 | ;;;*** | 23379 | ;;;*** |
| 23393 | 23380 | ||
| 23394 | ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region | 23381 | ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region |
| 23395 | ;;;;;; rot13-string rot13) "rot13" "rot13.el" (17994 6715)) | 23382 | ;;;;;; rot13-string rot13) "rot13" "rot13.el" (17842 58279)) |
| 23396 | ;;; Generated autoloads from rot13.el | 23383 | ;;; Generated autoloads from rot13.el |
| 23397 | 23384 | ||
| 23398 | (autoload (quote rot13) "rot13" "\ | 23385 | (autoload (quote rot13) "rot13" "\ |
| @@ -23429,52 +23416,8 @@ Toggle the use of ROT13 encoding for the current window. | |||
| 23429 | 23416 | ||
| 23430 | ;;;*** | 23417 | ;;;*** |
| 23431 | 23418 | ||
| 23432 | ;;;### (autoloads (resize-minibuffer-mode resize-minibuffer-frame-exactly | 23419 | ;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17833 |
| 23433 | ;;;;;; resize-minibuffer-frame-max-height resize-minibuffer-frame | 23420 | ;;;;;; 43069)) |
| 23434 | ;;;;;; resize-minibuffer-window-exactly resize-minibuffer-window-max-height | ||
| 23435 | ;;;;;; resize-minibuffer-mode) "rsz-mini" "obsolete/rsz-mini.el" | ||
| 23436 | ;;;;;; (17994 6715)) | ||
| 23437 | ;;; Generated autoloads from obsolete/rsz-mini.el | ||
| 23438 | |||
| 23439 | (defvar resize-minibuffer-mode nil "\ | ||
| 23440 | *This variable is obsolete.") | ||
| 23441 | |||
| 23442 | (custom-autoload (quote resize-minibuffer-mode) "rsz-mini" t) | ||
| 23443 | |||
| 23444 | (defvar resize-minibuffer-window-max-height nil "\ | ||
| 23445 | *This variable is obsolete.") | ||
| 23446 | |||
| 23447 | (custom-autoload (quote resize-minibuffer-window-max-height) "rsz-mini" t) | ||
| 23448 | |||
| 23449 | (defvar resize-minibuffer-window-exactly t "\ | ||
| 23450 | *This variable is obsolete.") | ||
| 23451 | |||
| 23452 | (custom-autoload (quote resize-minibuffer-window-exactly) "rsz-mini" t) | ||
| 23453 | |||
| 23454 | (defvar resize-minibuffer-frame nil "\ | ||
| 23455 | *This variable is obsolete.") | ||
| 23456 | |||
| 23457 | (custom-autoload (quote resize-minibuffer-frame) "rsz-mini" t) | ||
| 23458 | |||
| 23459 | (defvar resize-minibuffer-frame-max-height nil "\ | ||
| 23460 | *This variable is obsolete.") | ||
| 23461 | |||
| 23462 | (custom-autoload (quote resize-minibuffer-frame-max-height) "rsz-mini" t) | ||
| 23463 | |||
| 23464 | (defvar resize-minibuffer-frame-exactly t "\ | ||
| 23465 | *This variable is obsolete.") | ||
| 23466 | |||
| 23467 | (custom-autoload (quote resize-minibuffer-frame-exactly) "rsz-mini" t) | ||
| 23468 | |||
| 23469 | (autoload (quote resize-minibuffer-mode) "rsz-mini" "\ | ||
| 23470 | This function is obsolete. | ||
| 23471 | |||
| 23472 | \(fn &optional PREFIX)" t nil) | ||
| 23473 | |||
| 23474 | ;;;*** | ||
| 23475 | |||
| 23476 | ;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17994 | ||
| 23477 | ;;;;;; 6715)) | ||
| 23478 | ;;; Generated autoloads from ruler-mode.el | 23421 | ;;; Generated autoloads from ruler-mode.el |
| 23479 | 23422 | ||
| 23480 | (autoload (quote ruler-mode) "ruler-mode" "\ | 23423 | (autoload (quote ruler-mode) "ruler-mode" "\ |
| @@ -23484,8 +23427,8 @@ Display a ruler in the header line if ARG > 0. | |||
| 23484 | 23427 | ||
| 23485 | ;;;*** | 23428 | ;;;*** |
| 23486 | 23429 | ||
| 23487 | ;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17994 | 23430 | ;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (18011 |
| 23488 | ;;;;;; 6715)) | 23431 | ;;;;;; 44080)) |
| 23489 | ;;; Generated autoloads from emacs-lisp/rx.el | 23432 | ;;; Generated autoloads from emacs-lisp/rx.el |
| 23490 | 23433 | ||
| 23491 | (autoload (quote rx-to-string) "rx" "\ | 23434 | (autoload (quote rx-to-string) "rx" "\ |
| @@ -23557,8 +23500,7 @@ CHAR | |||
| 23557 | matches the empty string, but only at point. | 23500 | matches the empty string, but only at point. |
| 23558 | 23501 | ||
| 23559 | `word-start', `bow' | 23502 | `word-start', `bow' |
| 23560 | matches the empty string, but only at the beginning or end of a | 23503 | matches the empty string, but only at the beginning of a word. |
| 23561 | word. | ||
| 23562 | 23504 | ||
| 23563 | `word-end', `eow' | 23505 | `word-end', `eow' |
| 23564 | matches the empty string, but only at the end of a word. | 23506 | matches the empty string, but only at the end of a word. |
| @@ -23572,6 +23514,12 @@ CHAR | |||
| 23572 | matches the empty string, but not at the beginning or end of a | 23514 | matches the empty string, but not at the beginning or end of a |
| 23573 | word. | 23515 | word. |
| 23574 | 23516 | ||
| 23517 | `symbol-start' | ||
| 23518 | matches the empty string, but only at the beginning of a symbol. | ||
| 23519 | |||
| 23520 | `symbol-end' | ||
| 23521 | matches the empty string, but only at the end of a symbol. | ||
| 23522 | |||
| 23575 | `digit', `numeric', `num' | 23523 | `digit', `numeric', `num' |
| 23576 | matches 0 through 9. | 23524 | matches 0 through 9. |
| 23577 | 23525 | ||
| @@ -23793,7 +23741,7 @@ enclosed in `(and ...)'. | |||
| 23793 | ;;;*** | 23741 | ;;;*** |
| 23794 | 23742 | ||
| 23795 | ;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el" | 23743 | ;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el" |
| 23796 | ;;;;;; (17994 6715)) | 23744 | ;;;;;; (17842 58279)) |
| 23797 | ;;; Generated autoloads from savehist.el | 23745 | ;;; Generated autoloads from savehist.el |
| 23798 | 23746 | ||
| 23799 | (defvar savehist-mode nil "\ | 23747 | (defvar savehist-mode nil "\ |
| @@ -23819,7 +23767,7 @@ which is probably undesirable. | |||
| 23819 | ;;;*** | 23767 | ;;;*** |
| 23820 | 23768 | ||
| 23821 | ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" | 23769 | ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" |
| 23822 | ;;;;;; (17994 6715)) | 23770 | ;;;;;; (17842 56332)) |
| 23823 | ;;; Generated autoloads from progmodes/scheme.el | 23771 | ;;; Generated autoloads from progmodes/scheme.el |
| 23824 | 23772 | ||
| 23825 | (autoload (quote scheme-mode) "scheme" "\ | 23773 | (autoload (quote scheme-mode) "scheme" "\ |
| @@ -23861,7 +23809,7 @@ that variable's value is a string. | |||
| 23861 | ;;;*** | 23809 | ;;;*** |
| 23862 | 23810 | ||
| 23863 | ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" | 23811 | ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" |
| 23864 | ;;;;;; (17994 6715)) | 23812 | ;;;;;; (17842 54741)) |
| 23865 | ;;; Generated autoloads from gnus/score-mode.el | 23813 | ;;; Generated autoloads from gnus/score-mode.el |
| 23866 | 23814 | ||
| 23867 | (autoload (quote gnus-score-mode) "score-mode" "\ | 23815 | (autoload (quote gnus-score-mode) "score-mode" "\ |
| @@ -23900,7 +23848,7 @@ Interesting variables: | |||
| 23900 | ;;;*** | 23848 | ;;;*** |
| 23901 | 23849 | ||
| 23902 | ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" | 23850 | ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" |
| 23903 | ;;;;;; (17994 6715)) | 23851 | ;;;;;; (17842 58278)) |
| 23904 | ;;; Generated autoloads from scroll-all.el | 23852 | ;;; Generated autoloads from scroll-all.el |
| 23905 | 23853 | ||
| 23906 | (defvar scroll-all-mode nil "\ | 23854 | (defvar scroll-all-mode nil "\ |
| @@ -23923,7 +23871,7 @@ apply to all visible windows in the same frame. | |||
| 23923 | ;;;*** | 23871 | ;;;*** |
| 23924 | 23872 | ||
| 23925 | ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" | 23873 | ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" |
| 23926 | ;;;;;; (17994 6715)) | 23874 | ;;;;;; (17842 58278)) |
| 23927 | ;;; Generated autoloads from scroll-lock.el | 23875 | ;;; Generated autoloads from scroll-lock.el |
| 23928 | 23876 | ||
| 23929 | (autoload (quote scroll-lock-mode) "scroll-lock" "\ | 23877 | (autoload (quote scroll-lock-mode) "scroll-lock" "\ |
| @@ -23945,7 +23893,7 @@ during scrolling. | |||
| 23945 | ;;;;;; mail-alias-file mail-default-reply-to mail-archive-file-name | 23893 | ;;;;;; mail-alias-file mail-default-reply-to mail-archive-file-name |
| 23946 | ;;;;;; mail-header-separator send-mail-function mail-interactive | 23894 | ;;;;;; mail-header-separator send-mail-function mail-interactive |
| 23947 | ;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) | 23895 | ;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) |
| 23948 | ;;;;;; "sendmail" "mail/sendmail.el" (17994 6715)) | 23896 | ;;;;;; "sendmail" "mail/sendmail.el" (17942 63381)) |
| 23949 | ;;; Generated autoloads from mail/sendmail.el | 23897 | ;;; Generated autoloads from mail/sendmail.el |
| 23950 | 23898 | ||
| 23951 | (defvar mail-from-style (quote angles) "\ | 23899 | (defvar mail-from-style (quote angles) "\ |
| @@ -24245,8 +24193,8 @@ Like `mail' command, but display mail buffer in another frame. | |||
| 24245 | 24193 | ||
| 24246 | ;;;*** | 24194 | ;;;*** |
| 24247 | 24195 | ||
| 24248 | ;;;### (autoloads (server-save-buffers-kill-terminal server-mode | 24196 | ;;;### (autoloads (server-mode server-start) "server" "server.el" |
| 24249 | ;;;;;; server-start) "server" "server.el" (18000 23796)) | 24197 | ;;;;;; (17921 16827)) |
| 24250 | ;;; Generated autoloads from server.el | 24198 | ;;; Generated autoloads from server.el |
| 24251 | 24199 | ||
| 24252 | (autoload (quote server-start) "server" "\ | 24200 | (autoload (quote server-start) "server" "\ |
| @@ -24290,7 +24238,7 @@ only these files will be asked to be saved. | |||
| 24290 | 24238 | ||
| 24291 | ;;;*** | 24239 | ;;;*** |
| 24292 | 24240 | ||
| 24293 | ;;;### (autoloads (ses-mode) "ses" "ses.el" (17994 6715)) | 24241 | ;;;### (autoloads (ses-mode) "ses" "ses.el" (17902 31690)) |
| 24294 | ;;; Generated autoloads from ses.el | 24242 | ;;; Generated autoloads from ses.el |
| 24295 | 24243 | ||
| 24296 | (autoload (quote ses-mode) "ses" "\ | 24244 | (autoload (quote ses-mode) "ses" "\ |
| @@ -24309,7 +24257,7 @@ These are active only in the minibuffer, when entering or editing a formula: | |||
| 24309 | ;;;*** | 24257 | ;;;*** |
| 24310 | 24258 | ||
| 24311 | ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" | 24259 | ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" |
| 24312 | ;;;;;; (18000 24371)) | 24260 | ;;;;;; (18010 58080)) |
| 24313 | ;;; Generated autoloads from textmodes/sgml-mode.el | 24261 | ;;; Generated autoloads from textmodes/sgml-mode.el |
| 24314 | 24262 | ||
| 24315 | (autoload (quote sgml-mode) "sgml-mode" "\ | 24263 | (autoload (quote sgml-mode) "sgml-mode" "\ |
| @@ -24377,7 +24325,7 @@ To work around that, do: | |||
| 24377 | ;;;*** | 24325 | ;;;*** |
| 24378 | 24326 | ||
| 24379 | ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" | 24327 | ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" |
| 24380 | ;;;;;; (17994 6728)) | 24328 | ;;;;;; (17992 30878)) |
| 24381 | ;;; Generated autoloads from progmodes/sh-script.el | 24329 | ;;; Generated autoloads from progmodes/sh-script.el |
| 24382 | (put 'sh-shell 'safe-local-variable 'symbolp) | 24330 | (put 'sh-shell 'safe-local-variable 'symbolp) |
| 24383 | 24331 | ||
| @@ -24441,7 +24389,7 @@ with your script for an edit-interpret-debug cycle. | |||
| 24441 | 24389 | ||
| 24442 | ;;;*** | 24390 | ;;;*** |
| 24443 | 24391 | ||
| 24444 | ;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17994 6715)) | 24392 | ;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17842 54741)) |
| 24445 | ;;; Generated autoloads from gnus/sha1.el | 24393 | ;;; Generated autoloads from gnus/sha1.el |
| 24446 | 24394 | ||
| 24447 | (autoload (quote sha1) "sha1" "\ | 24395 | (autoload (quote sha1) "sha1" "\ |
| @@ -24456,7 +24404,7 @@ If BINARY is non-nil, return a string in binary form. | |||
| 24456 | ;;;*** | 24404 | ;;;*** |
| 24457 | 24405 | ||
| 24458 | ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" | 24406 | ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" |
| 24459 | ;;;;;; (17994 6715)) | 24407 | ;;;;;; (17853 57352)) |
| 24460 | ;;; Generated autoloads from emacs-lisp/shadow.el | 24408 | ;;; Generated autoloads from emacs-lisp/shadow.el |
| 24461 | 24409 | ||
| 24462 | (autoload (quote list-load-path-shadows) "shadow" "\ | 24410 | (autoload (quote list-load-path-shadows) "shadow" "\ |
| @@ -24503,8 +24451,8 @@ buffer called `*Shadows*'. Shadowings are located by calling the | |||
| 24503 | ;;;*** | 24451 | ;;;*** |
| 24504 | 24452 | ||
| 24505 | ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group | 24453 | ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group |
| 24506 | ;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (17994 | 24454 | ;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (17842 |
| 24507 | ;;;;;; 6715)) | 24455 | ;;;;;; 58278)) |
| 24508 | ;;; Generated autoloads from shadowfile.el | 24456 | ;;; Generated autoloads from shadowfile.el |
| 24509 | 24457 | ||
| 24510 | (autoload (quote shadow-define-cluster) "shadowfile" "\ | 24458 | (autoload (quote shadow-define-cluster) "shadowfile" "\ |
| @@ -24543,7 +24491,7 @@ Set up file shadowing. | |||
| 24543 | ;;;*** | 24491 | ;;;*** |
| 24544 | 24492 | ||
| 24545 | ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" | 24493 | ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" |
| 24546 | ;;;;;; (17994 6715)) | 24494 | ;;;;;; (17899 1575)) |
| 24547 | ;;; Generated autoloads from shell.el | 24495 | ;;; Generated autoloads from shell.el |
| 24548 | 24496 | ||
| 24549 | (defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\ | 24497 | (defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\ |
| @@ -24590,7 +24538,7 @@ Otherwise, one argument `-i' is passed to the shell. | |||
| 24590 | ;;;*** | 24538 | ;;;*** |
| 24591 | 24539 | ||
| 24592 | ;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage) | 24540 | ;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage) |
| 24593 | ;;;;;; "sieve" "gnus/sieve.el" (17994 6715)) | 24541 | ;;;;;; "sieve" "gnus/sieve.el" (17842 54741)) |
| 24594 | ;;; Generated autoloads from gnus/sieve.el | 24542 | ;;; Generated autoloads from gnus/sieve.el |
| 24595 | 24543 | ||
| 24596 | (autoload (quote sieve-manage) "sieve" "\ | 24544 | (autoload (quote sieve-manage) "sieve" "\ |
| @@ -24611,7 +24559,7 @@ Not documented | |||
| 24611 | ;;;*** | 24559 | ;;;*** |
| 24612 | 24560 | ||
| 24613 | ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" | 24561 | ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" |
| 24614 | ;;;;;; (17994 6715)) | 24562 | ;;;;;; (17842 54741)) |
| 24615 | ;;; Generated autoloads from gnus/sieve-mode.el | 24563 | ;;; Generated autoloads from gnus/sieve-mode.el |
| 24616 | 24564 | ||
| 24617 | (autoload (quote sieve-mode) "sieve-mode" "\ | 24565 | (autoload (quote sieve-mode) "sieve-mode" "\ |
| @@ -24626,14 +24574,14 @@ Turning on Sieve mode runs `sieve-mode-hook'. | |||
| 24626 | 24574 | ||
| 24627 | ;;;*** | 24575 | ;;;*** |
| 24628 | 24576 | ||
| 24629 | ;;;### (autoloads nil "simple" "simple.el" (18000 24377)) | 24577 | ;;;### (autoloads nil "simple" "simple.el" (18009 38727)) |
| 24630 | ;;; Generated autoloads from simple.el | 24578 | ;;; Generated autoloads from simple.el |
| 24631 | (put 'fill-prefix 'safe-local-variable 'string-or-null-p) | 24579 | (put 'fill-prefix 'safe-local-variable 'string-or-null-p) |
| 24632 | 24580 | ||
| 24633 | ;;;*** | 24581 | ;;;*** |
| 24634 | 24582 | ||
| 24635 | ;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17994 | 24583 | ;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17842 |
| 24636 | ;;;;;; 6715)) | 24584 | ;;;;;; 56332)) |
| 24637 | ;;; Generated autoloads from progmodes/simula.el | 24585 | ;;; Generated autoloads from progmodes/simula.el |
| 24638 | 24586 | ||
| 24639 | (autoload (quote simula-mode) "simula" "\ | 24587 | (autoload (quote simula-mode) "simula" "\ |
| @@ -24682,7 +24630,7 @@ with no arguments, if that value is non-nil. | |||
| 24682 | ;;;*** | 24630 | ;;;*** |
| 24683 | 24631 | ||
| 24684 | ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new | 24632 | ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new |
| 24685 | ;;;;;; define-skeleton) "skeleton" "skeleton.el" (17994 6715)) | 24633 | ;;;;;; define-skeleton) "skeleton" "skeleton.el" (17842 58278)) |
| 24686 | ;;; Generated autoloads from skeleton.el | 24634 | ;;; Generated autoloads from skeleton.el |
| 24687 | 24635 | ||
| 24688 | (defvar skeleton-filter-function (quote identity) "\ | 24636 | (defvar skeleton-filter-function (quote identity) "\ |
| @@ -24792,7 +24740,7 @@ symmetrical ones, and the same character twice for the others. | |||
| 24792 | ;;;*** | 24740 | ;;;*** |
| 24793 | 24741 | ||
| 24794 | ;;;### (autoloads (smerge-mode smerge-ediff) "smerge-mode" "smerge-mode.el" | 24742 | ;;;### (autoloads (smerge-mode smerge-ediff) "smerge-mode" "smerge-mode.el" |
| 24795 | ;;;;;; (17994 6715)) | 24743 | ;;;;;; (17904 28230)) |
| 24796 | ;;; Generated autoloads from smerge-mode.el | 24744 | ;;; Generated autoloads from smerge-mode.el |
| 24797 | 24745 | ||
| 24798 | (autoload (quote smerge-ediff) "smerge-mode" "\ | 24746 | (autoload (quote smerge-ediff) "smerge-mode" "\ |
| @@ -24811,7 +24759,7 @@ Minor mode to simplify editing output from the diff3 program. | |||
| 24811 | ;;;*** | 24759 | ;;;*** |
| 24812 | 24760 | ||
| 24813 | ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" | 24761 | ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" |
| 24814 | ;;;;;; (17994 6715)) | 24762 | ;;;;;; (17875 18370)) |
| 24815 | ;;; Generated autoloads from gnus/smiley.el | 24763 | ;;; Generated autoloads from gnus/smiley.el |
| 24816 | 24764 | ||
| 24817 | (autoload (quote smiley-region) "smiley" "\ | 24765 | (autoload (quote smiley-region) "smiley" "\ |
| @@ -24829,7 +24777,7 @@ interactively. If there's no argument, do it at the current buffer | |||
| 24829 | ;;;*** | 24777 | ;;;*** |
| 24830 | 24778 | ||
| 24831 | ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" | 24779 | ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" |
| 24832 | ;;;;;; "mail/smtpmail.el" (17994 6715)) | 24780 | ;;;;;; "mail/smtpmail.el" (17939 50716)) |
| 24833 | ;;; Generated autoloads from mail/smtpmail.el | 24781 | ;;; Generated autoloads from mail/smtpmail.el |
| 24834 | 24782 | ||
| 24835 | (autoload (quote smtpmail-send-it) "smtpmail" "\ | 24783 | (autoload (quote smtpmail-send-it) "smtpmail" "\ |
| @@ -24844,7 +24792,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'. | |||
| 24844 | 24792 | ||
| 24845 | ;;;*** | 24793 | ;;;*** |
| 24846 | 24794 | ||
| 24847 | ;;;### (autoloads (snake) "snake" "play/snake.el" (17994 6715)) | 24795 | ;;;### (autoloads (snake) "snake" "play/snake.el" (17842 55395)) |
| 24848 | ;;; Generated autoloads from play/snake.el | 24796 | ;;; Generated autoloads from play/snake.el |
| 24849 | 24797 | ||
| 24850 | (autoload (quote snake) "snake" "\ | 24798 | (autoload (quote snake) "snake" "\ |
| @@ -24868,7 +24816,7 @@ Snake mode keybindings: | |||
| 24868 | ;;;*** | 24816 | ;;;*** |
| 24869 | 24817 | ||
| 24870 | ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" | 24818 | ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" |
| 24871 | ;;;;;; (17994 6715)) | 24819 | ;;;;;; (17842 55218)) |
| 24872 | ;;; Generated autoloads from net/snmp-mode.el | 24820 | ;;; Generated autoloads from net/snmp-mode.el |
| 24873 | 24821 | ||
| 24874 | (autoload (quote snmp-mode) "snmp-mode" "\ | 24822 | (autoload (quote snmp-mode) "snmp-mode" "\ |
| @@ -24899,7 +24847,7 @@ then `snmpv2-mode-hook'. | |||
| 24899 | 24847 | ||
| 24900 | ;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset calendar-location-name | 24848 | ;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset calendar-location-name |
| 24901 | ;;;;;; calendar-longitude calendar-latitude calendar-time-display-form) | 24849 | ;;;;;; calendar-longitude calendar-latitude calendar-time-display-form) |
| 24902 | ;;;;;; "solar" "calendar/solar.el" (17994 6715)) | 24850 | ;;;;;; "solar" "calendar/solar.el" (17956 13479)) |
| 24903 | ;;; Generated autoloads from calendar/solar.el | 24851 | ;;; Generated autoloads from calendar/solar.el |
| 24904 | 24852 | ||
| 24905 | (defvar calendar-time-display-form (quote (12-hours ":" minutes am-pm (if time-zone " (") time-zone (if time-zone ")"))) "\ | 24853 | (defvar calendar-time-display-form (quote (12-hours ":" minutes am-pm (if time-zone " (") time-zone (if time-zone ")"))) "\ |
| @@ -24970,8 +24918,8 @@ Requires floating point. | |||
| 24970 | 24918 | ||
| 24971 | ;;;*** | 24919 | ;;;*** |
| 24972 | 24920 | ||
| 24973 | ;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17994 | 24921 | ;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17842 |
| 24974 | ;;;;;; 6715)) | 24922 | ;;;;;; 55395)) |
| 24975 | ;;; Generated autoloads from play/solitaire.el | 24923 | ;;; Generated autoloads from play/solitaire.el |
| 24976 | 24924 | ||
| 24977 | (autoload (quote solitaire) "solitaire" "\ | 24925 | (autoload (quote solitaire) "solitaire" "\ |
| @@ -25048,7 +24996,7 @@ Pick your favourite shortcuts: | |||
| 25048 | 24996 | ||
| 25049 | ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields | 24997 | ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields |
| 25050 | ;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs | 24998 | ;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs |
| 25051 | ;;;;;; sort-lines sort-subr) "sort" "sort.el" (17994 6715)) | 24999 | ;;;;;; sort-lines sort-subr) "sort" "sort.el" (17842 58278)) |
| 25052 | ;;; Generated autoloads from sort.el | 25000 | ;;; Generated autoloads from sort.el |
| 25053 | 25001 | ||
| 25054 | (autoload (quote sort-subr) "sort" "\ | 25002 | (autoload (quote sort-subr) "sort" "\ |
| @@ -25190,8 +25138,8 @@ From a program takes two point or marker arguments, BEG and END. | |||
| 25190 | 25138 | ||
| 25191 | ;;;*** | 25139 | ;;;*** |
| 25192 | 25140 | ||
| 25193 | ;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17994 | 25141 | ;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17842 |
| 25194 | ;;;;;; 6715)) | 25142 | ;;;;;; 54741)) |
| 25195 | ;;; Generated autoloads from gnus/spam.el | 25143 | ;;; Generated autoloads from gnus/spam.el |
| 25196 | 25144 | ||
| 25197 | (autoload (quote spam-initialize) "spam" "\ | 25145 | (autoload (quote spam-initialize) "spam" "\ |
| @@ -25203,7 +25151,7 @@ Install the spam.el hooks and do other initialization | |||
| 25203 | 25151 | ||
| 25204 | ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file | 25152 | ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file |
| 25205 | ;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" | 25153 | ;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" |
| 25206 | ;;;;;; "gnus/spam-report.el" (17994 6715)) | 25154 | ;;;;;; "gnus/spam-report.el" (17842 54741)) |
| 25207 | ;;; Generated autoloads from gnus/spam-report.el | 25155 | ;;; Generated autoloads from gnus/spam-report.el |
| 25208 | 25156 | ||
| 25209 | (autoload (quote spam-report-process-queue) "spam-report" "\ | 25157 | (autoload (quote spam-report-process-queue) "spam-report" "\ |
| @@ -25246,7 +25194,7 @@ Spam reports will be queued with the method used when | |||
| 25246 | ;;;*** | 25194 | ;;;*** |
| 25247 | 25195 | ||
| 25248 | ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" | 25196 | ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" |
| 25249 | ;;;;;; "speedbar.el" (17994 6715)) | 25197 | ;;;;;; "speedbar.el" (17881 43027)) |
| 25250 | ;;; Generated autoloads from speedbar.el | 25198 | ;;; Generated autoloads from speedbar.el |
| 25251 | 25199 | ||
| 25252 | (defalias (quote speedbar) (quote speedbar-frame-mode)) | 25200 | (defalias (quote speedbar) (quote speedbar-frame-mode)) |
| @@ -25271,7 +25219,7 @@ selected. If the speedbar frame is active, then select the attached frame. | |||
| 25271 | ;;;*** | 25219 | ;;;*** |
| 25272 | 25220 | ||
| 25273 | ;;;### (autoloads (spell-string spell-region spell-word spell-buffer) | 25221 | ;;;### (autoloads (spell-string spell-region spell-word spell-buffer) |
| 25274 | ;;;;;; "spell" "textmodes/spell.el" (17994 6715)) | 25222 | ;;;;;; "spell" "textmodes/spell.el" (17842 58276)) |
| 25275 | ;;; Generated autoloads from textmodes/spell.el | 25223 | ;;; Generated autoloads from textmodes/spell.el |
| 25276 | 25224 | ||
| 25277 | (put (quote spell-filter) (quote risky-local-variable) t) | 25225 | (put (quote spell-filter) (quote risky-local-variable) t) |
| @@ -25307,8 +25255,8 @@ Check spelling of string supplied as argument. | |||
| 25307 | 25255 | ||
| 25308 | ;;;*** | 25256 | ;;;*** |
| 25309 | 25257 | ||
| 25310 | ;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17994 | 25258 | ;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17842 |
| 25311 | ;;;;;; 6715)) | 25259 | ;;;;;; 55395)) |
| 25312 | ;;; Generated autoloads from play/spook.el | 25260 | ;;; Generated autoloads from play/spook.el |
| 25313 | 25261 | ||
| 25314 | (autoload (quote spook) "spook" "\ | 25262 | (autoload (quote spook) "spook" "\ |
| @@ -25326,8 +25274,8 @@ Return a vector containing the lines from `spook-phrases-file'. | |||
| 25326 | ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres | 25274 | ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres |
| 25327 | ;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix | 25275 | ;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix |
| 25328 | ;;;;;; sql-sybase sql-oracle sql-product-interactive sql-mode sql-help | 25276 | ;;;;;; sql-sybase sql-oracle sql-product-interactive sql-mode sql-help |
| 25329 | ;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17994 | 25277 | ;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17842 |
| 25330 | ;;;;;; 6715)) | 25278 | ;;;;;; 56332)) |
| 25331 | ;;; Generated autoloads from progmodes/sql.el | 25279 | ;;; Generated autoloads from progmodes/sql.el |
| 25332 | 25280 | ||
| 25333 | (autoload (quote sql-add-product-keywords) "sql" "\ | 25281 | (autoload (quote sql-add-product-keywords) "sql" "\ |
| @@ -25758,8 +25706,8 @@ input. See `sql-interactive-mode'. | |||
| 25758 | ;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes | 25706 | ;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes |
| 25759 | ;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke | 25707 | ;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke |
| 25760 | ;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke | 25708 | ;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke |
| 25761 | ;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (17994 | 25709 | ;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (17842 |
| 25762 | ;;;;;; 6715)) | 25710 | ;;;;;; 58278)) |
| 25763 | ;;; Generated autoloads from strokes.el | 25711 | ;;; Generated autoloads from strokes.el |
| 25764 | 25712 | ||
| 25765 | (autoload (quote strokes-global-set-stroke) "strokes" "\ | 25713 | (autoload (quote strokes-global-set-stroke) "strokes" "\ |
| @@ -25889,7 +25837,7 @@ Studlify-case the current buffer. | |||
| 25889 | 25837 | ||
| 25890 | ;;;*** | 25838 | ;;;*** |
| 25891 | 25839 | ||
| 25892 | ;;;### (autoloads (locate-library) "subr" "subr.el" (17994 6751)) | 25840 | ;;;### (autoloads (locate-library) "subr" "subr.el" (17964 48351)) |
| 25893 | ;;; Generated autoloads from subr.el | 25841 | ;;; Generated autoloads from subr.el |
| 25894 | 25842 | ||
| 25895 | (autoload (quote locate-library) "subr" "\ | 25843 | (autoload (quote locate-library) "subr" "\ |
| @@ -25911,7 +25859,7 @@ and the file name is displayed in the echo area. | |||
| 25911 | ;;;*** | 25859 | ;;;*** |
| 25912 | 25860 | ||
| 25913 | ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" | 25861 | ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" |
| 25914 | ;;;;;; (17994 6715)) | 25862 | ;;;;;; (17854 7564)) |
| 25915 | ;;; Generated autoloads from mail/supercite.el | 25863 | ;;; Generated autoloads from mail/supercite.el |
| 25916 | 25864 | ||
| 25917 | (autoload (quote sc-cite-original) "supercite" "\ | 25865 | (autoload (quote sc-cite-original) "supercite" "\ |
| @@ -25943,7 +25891,7 @@ before, and `sc-post-hook' is run after the guts of this function. | |||
| 25943 | 25891 | ||
| 25944 | ;;;*** | 25892 | ;;;*** |
| 25945 | 25893 | ||
| 25946 | ;;;### (autoloads (t-mouse-mode) "t-mouse" "t-mouse.el" (18000 28945)) | 25894 | ;;;### (autoloads (t-mouse-mode) "t-mouse" "t-mouse.el" (18006 55796)) |
| 25947 | ;;; Generated autoloads from t-mouse.el | 25895 | ;;; Generated autoloads from t-mouse.el |
| 25948 | 25896 | ||
| 25949 | (defvar t-mouse-mode nil "\ | 25897 | (defvar t-mouse-mode nil "\ |
| @@ -25967,7 +25915,7 @@ It requires the `mev' program, part of the `gpm' utilities. | |||
| 25967 | 25915 | ||
| 25968 | ;;;*** | 25916 | ;;;*** |
| 25969 | 25917 | ||
| 25970 | ;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17994 6715)) | 25918 | ;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17842 58278)) |
| 25971 | ;;; Generated autoloads from tabify.el | 25919 | ;;; Generated autoloads from tabify.el |
| 25972 | 25920 | ||
| 25973 | (autoload (quote untabify) "tabify" "\ | 25921 | (autoload (quote untabify) "tabify" "\ |
| @@ -26002,7 +25950,7 @@ The variable `tab-width' controls the spacing of tab stops. | |||
| 26002 | ;;;;;; table-recognize table-insert-row-column table-insert-column | 25950 | ;;;;;; table-recognize table-insert-row-column table-insert-column |
| 26003 | ;;;;;; table-insert-row table-insert table-point-left-cell-hook | 25951 | ;;;;;; table-insert-row table-insert table-point-left-cell-hook |
| 26004 | ;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) | 25952 | ;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) |
| 26005 | ;;;;;; "table" "textmodes/table.el" (17994 6716)) | 25953 | ;;;;;; "table" "textmodes/table.el" (18012 17784)) |
| 26006 | ;;; Generated autoloads from textmodes/table.el | 25954 | ;;; Generated autoloads from textmodes/table.el |
| 26007 | 25955 | ||
| 26008 | (defvar table-cell-map-hook nil "\ | 25956 | (defvar table-cell-map-hook nil "\ |
| @@ -26590,7 +26538,7 @@ converts a table into plain text without frames. It is a companion to | |||
| 26590 | 26538 | ||
| 26591 | ;;;*** | 26539 | ;;;*** |
| 26592 | 26540 | ||
| 26593 | ;;;### (autoloads (talk talk-connect) "talk" "talk.el" (17994 6751)) | 26541 | ;;;### (autoloads (talk-connect) "talk" "talk.el" (17842 58278)) |
| 26594 | ;;; Generated autoloads from talk.el | 26542 | ;;; Generated autoloads from talk.el |
| 26595 | 26543 | ||
| 26596 | (autoload (quote talk-connect) "talk" "\ | 26544 | (autoload (quote talk-connect) "talk" "\ |
| @@ -26605,7 +26553,7 @@ Connect to the Emacs talk group from the current X display or tty frame. | |||
| 26605 | 26553 | ||
| 26606 | ;;;*** | 26554 | ;;;*** |
| 26607 | 26555 | ||
| 26608 | ;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (17994 6715)) | 26556 | ;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (18010 5426)) |
| 26609 | ;;; Generated autoloads from tar-mode.el | 26557 | ;;; Generated autoloads from tar-mode.el |
| 26610 | 26558 | ||
| 26611 | (autoload (quote tar-mode) "tar-mode" "\ | 26559 | (autoload (quote tar-mode) "tar-mode" "\ |
| @@ -26629,7 +26577,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. | |||
| 26629 | ;;;*** | 26577 | ;;;*** |
| 26630 | 26578 | ||
| 26631 | ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" | 26579 | ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" |
| 26632 | ;;;;;; "progmodes/tcl.el" (17994 6715)) | 26580 | ;;;;;; "progmodes/tcl.el" (17842 56332)) |
| 26633 | ;;; Generated autoloads from progmodes/tcl.el | 26581 | ;;; Generated autoloads from progmodes/tcl.el |
| 26634 | 26582 | ||
| 26635 | (autoload (quote tcl-mode) "tcl" "\ | 26583 | (autoload (quote tcl-mode) "tcl" "\ |
| @@ -26680,7 +26628,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'. | |||
| 26680 | 26628 | ||
| 26681 | ;;;*** | 26629 | ;;;*** |
| 26682 | 26630 | ||
| 26683 | ;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17994 6715)) | 26631 | ;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17842 55218)) |
| 26684 | ;;; Generated autoloads from net/telnet.el | 26632 | ;;; Generated autoloads from net/telnet.el |
| 26685 | (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)") | 26633 | (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)") |
| 26686 | 26634 | ||
| @@ -26707,8 +26655,8 @@ Normally input is edited in Emacs and sent a line at a time. | |||
| 26707 | 26655 | ||
| 26708 | ;;;*** | 26656 | ;;;*** |
| 26709 | 26657 | ||
| 26710 | ;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17994 | 26658 | ;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17952 |
| 26711 | ;;;;;; 6715)) | 26659 | ;;;;;; 11093)) |
| 26712 | ;;; Generated autoloads from term.el | 26660 | ;;; Generated autoloads from term.el |
| 26713 | 26661 | ||
| 26714 | (autoload (quote make-term) "term" "\ | 26662 | (autoload (quote make-term) "term" "\ |
| @@ -26736,8 +26684,8 @@ Start a terminal-emulator in a new buffer. | |||
| 26736 | 26684 | ||
| 26737 | ;;;*** | 26685 | ;;;*** |
| 26738 | 26686 | ||
| 26739 | ;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17994 | 26687 | ;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17842 |
| 26740 | ;;;;;; 6715)) | 26688 | ;;;;;; 58278)) |
| 26741 | ;;; Generated autoloads from terminal.el | 26689 | ;;; Generated autoloads from terminal.el |
| 26742 | 26690 | ||
| 26743 | (autoload (quote terminal-emulator) "terminal" "\ | 26691 | (autoload (quote terminal-emulator) "terminal" "\ |
| @@ -26774,7 +26722,7 @@ subprocess started. | |||
| 26774 | ;;;*** | 26722 | ;;;*** |
| 26775 | 26723 | ||
| 26776 | ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" | 26724 | ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" |
| 26777 | ;;;;;; (17994 6715)) | 26725 | ;;;;;; (17925 52793)) |
| 26778 | ;;; Generated autoloads from emacs-lisp/testcover.el | 26726 | ;;; Generated autoloads from emacs-lisp/testcover.el |
| 26779 | 26727 | ||
| 26780 | (autoload (quote testcover-this-defun) "testcover" "\ | 26728 | (autoload (quote testcover-this-defun) "testcover" "\ |
| @@ -26784,7 +26732,7 @@ Start coverage on function under point. | |||
| 26784 | 26732 | ||
| 26785 | ;;;*** | 26733 | ;;;*** |
| 26786 | 26734 | ||
| 26787 | ;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17994 6715)) | 26735 | ;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17941 38806)) |
| 26788 | ;;; Generated autoloads from play/tetris.el | 26736 | ;;; Generated autoloads from play/tetris.el |
| 26789 | 26737 | ||
| 26790 | (autoload (quote tetris) "tetris" "\ | 26738 | (autoload (quote tetris) "tetris" "\ |
| @@ -26815,7 +26763,7 @@ tetris-mode keybindings: | |||
| 26815 | ;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command | 26763 | ;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command |
| 26816 | ;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp | 26764 | ;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp |
| 26817 | ;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" | 26765 | ;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" |
| 26818 | ;;;;;; (17994 6743)) | 26766 | ;;;;;; (17992 30878)) |
| 26819 | ;;; Generated autoloads from textmodes/tex-mode.el | 26767 | ;;; Generated autoloads from textmodes/tex-mode.el |
| 26820 | 26768 | ||
| 26821 | (defvar tex-shell-file-name nil "\ | 26769 | (defvar tex-shell-file-name nil "\ |
| @@ -27117,7 +27065,7 @@ Major mode to edit DocTeX files. | |||
| 27117 | ;;;*** | 27065 | ;;;*** |
| 27118 | 27066 | ||
| 27119 | ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) | 27067 | ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) |
| 27120 | ;;;;;; "texinfmt" "textmodes/texinfmt.el" (17994 6716)) | 27068 | ;;;;;; "texinfmt" "textmodes/texinfmt.el" (17842 58276)) |
| 27121 | ;;; Generated autoloads from textmodes/texinfmt.el | 27069 | ;;; Generated autoloads from textmodes/texinfmt.el |
| 27122 | 27070 | ||
| 27123 | (autoload (quote texinfo-format-buffer) "texinfmt" "\ | 27071 | (autoload (quote texinfo-format-buffer) "texinfmt" "\ |
| @@ -27157,7 +27105,7 @@ if large. You can use Info-split to do this manually. | |||
| 27157 | ;;;*** | 27105 | ;;;*** |
| 27158 | 27106 | ||
| 27159 | ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) | 27107 | ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) |
| 27160 | ;;;;;; "texinfo" "textmodes/texinfo.el" (17994 6716)) | 27108 | ;;;;;; "texinfo" "textmodes/texinfo.el" (17842 58276)) |
| 27161 | ;;; Generated autoloads from textmodes/texinfo.el | 27109 | ;;; Generated autoloads from textmodes/texinfo.el |
| 27162 | 27110 | ||
| 27163 | (defvar texinfo-open-quote "``" "\ | 27111 | (defvar texinfo-open-quote "``" "\ |
| @@ -27244,7 +27192,7 @@ value of `texinfo-mode-hook'. | |||
| 27244 | ;;;### (autoloads (thai-auto-composition-mode thai-composition-function | 27192 | ;;;### (autoloads (thai-auto-composition-mode thai-composition-function |
| 27245 | ;;;;;; thai-post-read-conversion thai-compose-buffer thai-compose-string | 27193 | ;;;;;; thai-post-read-conversion thai-compose-buffer thai-compose-string |
| 27246 | ;;;;;; thai-compose-region) "thai-util" "language/thai-util.el" | 27194 | ;;;;;; thai-compose-region) "thai-util" "language/thai-util.el" |
| 27247 | ;;;;;; (17994 6715)) | 27195 | ;;;;;; (17842 58278)) |
| 27248 | ;;; Generated autoloads from language/thai-util.el | 27196 | ;;; Generated autoloads from language/thai-util.el |
| 27249 | 27197 | ||
| 27250 | (autoload (quote thai-compose-region) "thai-util" "\ | 27198 | (autoload (quote thai-compose-region) "thai-util" "\ |
| @@ -27288,7 +27236,7 @@ Minor mode for automatically correct Thai character composition. | |||
| 27288 | 27236 | ||
| 27289 | ;;;### (autoloads (list-at-point number-at-point symbol-at-point | 27237 | ;;;### (autoloads (list-at-point number-at-point symbol-at-point |
| 27290 | ;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) | 27238 | ;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) |
| 27291 | ;;;;;; "thingatpt" "thingatpt.el" (17994 6716)) | 27239 | ;;;;;; "thingatpt" "thingatpt.el" (17842 58278)) |
| 27292 | ;;; Generated autoloads from thingatpt.el | 27240 | ;;; Generated autoloads from thingatpt.el |
| 27293 | 27241 | ||
| 27294 | (autoload (quote forward-thing) "thingatpt" "\ | 27242 | (autoload (quote forward-thing) "thingatpt" "\ |
| @@ -27345,7 +27293,7 @@ Not documented | |||
| 27345 | 27293 | ||
| 27346 | ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked | 27294 | ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked |
| 27347 | ;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" | 27295 | ;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" |
| 27348 | ;;;;;; (17994 6716)) | 27296 | ;;;;;; (17963 26308)) |
| 27349 | ;;; Generated autoloads from thumbs.el | 27297 | ;;; Generated autoloads from thumbs.el |
| 27350 | 27298 | ||
| 27351 | (autoload (quote thumbs-find-thumb) "thumbs" "\ | 27299 | (autoload (quote thumbs-find-thumb) "thumbs" "\ |
| @@ -27384,7 +27332,7 @@ In dired, call the setroot program on the image at point. | |||
| 27384 | ;;;;;; tibetan-composition-function tibetan-decompose-string tibetan-decompose-region | 27332 | ;;;;;; tibetan-composition-function tibetan-decompose-string tibetan-decompose-region |
| 27385 | ;;;;;; tibetan-compose-region tibetan-compose-string tibetan-transcription-to-tibetan | 27333 | ;;;;;; tibetan-compose-region tibetan-compose-string tibetan-transcription-to-tibetan |
| 27386 | ;;;;;; tibetan-tibetan-to-transcription tibetan-char-p) "tibet-util" | 27334 | ;;;;;; tibetan-tibetan-to-transcription tibetan-char-p) "tibet-util" |
| 27387 | ;;;;;; "language/tibet-util.el" (17994 6715)) | 27335 | ;;;;;; "language/tibet-util.el" (17842 58278)) |
| 27388 | ;;; Generated autoloads from language/tibet-util.el | 27336 | ;;; Generated autoloads from language/tibet-util.el |
| 27389 | 27337 | ||
| 27390 | (autoload (quote tibetan-char-p) "tibet-util" "\ | 27338 | (autoload (quote tibetan-char-p) "tibet-util" "\ |
| @@ -27463,7 +27411,7 @@ Not documented | |||
| 27463 | ;;;*** | 27411 | ;;;*** |
| 27464 | 27412 | ||
| 27465 | ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" | 27413 | ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" |
| 27466 | ;;;;;; (17994 6716)) | 27414 | ;;;;;; (17842 58276)) |
| 27467 | ;;; Generated autoloads from textmodes/tildify.el | 27415 | ;;; Generated autoloads from textmodes/tildify.el |
| 27468 | 27416 | ||
| 27469 | (autoload (quote tildify-region) "tildify" "\ | 27417 | (autoload (quote tildify-region) "tildify" "\ |
| @@ -27487,7 +27435,7 @@ This function performs no refilling of the changed text. | |||
| 27487 | ;;;*** | 27435 | ;;;*** |
| 27488 | 27436 | ||
| 27489 | ;;;### (autoloads (display-time-mode display-time display-time-day-and-date) | 27437 | ;;;### (autoloads (display-time-mode display-time display-time-day-and-date) |
| 27490 | ;;;;;; "time" "time.el" (18000 24333)) | 27438 | ;;;;;; "time" "time.el" (18006 55796)) |
| 27491 | ;;; Generated autoloads from time.el | 27439 | ;;; Generated autoloads from time.el |
| 27492 | 27440 | ||
| 27493 | (defvar display-time-day-and-date nil "\ | 27441 | (defvar display-time-day-and-date nil "\ |
| @@ -27529,8 +27477,8 @@ This runs the normal hook `display-time-hook' after each update. | |||
| 27529 | ;;;### (autoloads (safe-date-to-time time-to-days time-to-day-in-year | 27477 | ;;;### (autoloads (safe-date-to-time time-to-days time-to-day-in-year |
| 27530 | ;;;;;; date-leap-year-p days-between date-to-day time-add time-subtract | 27478 | ;;;;;; date-leap-year-p days-between date-to-day time-add time-subtract |
| 27531 | ;;;;;; time-since days-to-time time-less-p seconds-to-time time-to-seconds | 27479 | ;;;;;; time-since days-to-time time-less-p seconds-to-time time-to-seconds |
| 27532 | ;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17994 | 27480 | ;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17842 |
| 27533 | ;;;;;; 6715)) | 27481 | ;;;;;; 53792)) |
| 27534 | ;;; Generated autoloads from calendar/time-date.el | 27482 | ;;; Generated autoloads from calendar/time-date.el |
| 27535 | 27483 | ||
| 27536 | (autoload (quote date-to-time) "time-date" "\ | 27484 | (autoload (quote date-to-time) "time-date" "\ |
| @@ -27616,7 +27564,7 @@ If DATE is malformed, return a time value of zeros. | |||
| 27616 | ;;;*** | 27564 | ;;;*** |
| 27617 | 27565 | ||
| 27618 | ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" | 27566 | ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" |
| 27619 | ;;;;;; "time-stamp.el" (17994 6716)) | 27567 | ;;;;;; "time-stamp.el" (17842 58278)) |
| 27620 | ;;; Generated autoloads from time-stamp.el | 27568 | ;;; Generated autoloads from time-stamp.el |
| 27621 | (put 'time-stamp-format 'safe-local-variable 'stringp) | 27569 | (put 'time-stamp-format 'safe-local-variable 'stringp) |
| 27622 | (put 'time-stamp-line-limit 'safe-local-variable 'integerp) | 27570 | (put 'time-stamp-line-limit 'safe-local-variable 'integerp) |
| @@ -27659,7 +27607,7 @@ With ARG, turn time stamping on if and only if arg is positive. | |||
| 27659 | ;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out | 27607 | ;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out |
| 27660 | ;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in | 27608 | ;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in |
| 27661 | ;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el" | 27609 | ;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el" |
| 27662 | ;;;;;; (17994 6731)) | 27610 | ;;;;;; (17992 30878)) |
| 27663 | ;;; Generated autoloads from calendar/timeclock.el | 27611 | ;;; Generated autoloads from calendar/timeclock.el |
| 27664 | 27612 | ||
| 27665 | (autoload (quote timeclock-modeline-display) "timeclock" "\ | 27613 | (autoload (quote timeclock-modeline-display) "timeclock" "\ |
| @@ -27760,7 +27708,7 @@ relative only to the time worked today, and not to past time. | |||
| 27760 | 27708 | ||
| 27761 | ;;;### (autoloads (with-timeout run-with-idle-timer add-timeout run-with-timer | 27709 | ;;;### (autoloads (with-timeout run-with-idle-timer add-timeout run-with-timer |
| 27762 | ;;;;;; run-at-time cancel-function-timers cancel-timer) "timer" | 27710 | ;;;;;; run-at-time cancel-function-timers cancel-timer) "timer" |
| 27763 | ;;;;;; "emacs-lisp/timer.el" (17994 6715)) | 27711 | ;;;;;; "emacs-lisp/timer.el" (17935 13348)) |
| 27764 | ;;; Generated autoloads from emacs-lisp/timer.el | 27712 | ;;; Generated autoloads from emacs-lisp/timer.el |
| 27765 | 27713 | ||
| 27766 | (defalias (quote disable-timeout) (quote cancel-timer)) | 27714 | (defalias (quote disable-timeout) (quote cancel-timer)) |
| @@ -27841,7 +27789,7 @@ be detected. | |||
| 27841 | ;;;*** | 27789 | ;;;*** |
| 27842 | 27790 | ||
| 27843 | ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" | 27791 | ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" |
| 27844 | ;;;;;; "international/titdic-cnv.el" (17994 6715)) | 27792 | ;;;;;; "international/titdic-cnv.el" (17870 32853)) |
| 27845 | ;;; Generated autoloads from international/titdic-cnv.el | 27793 | ;;; Generated autoloads from international/titdic-cnv.el |
| 27846 | 27794 | ||
| 27847 | (autoload (quote titdic-convert) "titdic-cnv" "\ | 27795 | (autoload (quote titdic-convert) "titdic-cnv" "\ |
| @@ -27864,8 +27812,8 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\". | |||
| 27864 | ;;;*** | 27812 | ;;;*** |
| 27865 | 27813 | ||
| 27866 | ;;;### (autoloads (tamil-composition-function tamil-post-read-conversion | 27814 | ;;;### (autoloads (tamil-composition-function tamil-post-read-conversion |
| 27867 | ;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17994 | 27815 | ;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17842 |
| 27868 | ;;;;;; 6715)) | 27816 | ;;;;;; 58278)) |
| 27869 | ;;; Generated autoloads from language/tml-util.el | 27817 | ;;; Generated autoloads from language/tml-util.el |
| 27870 | 27818 | ||
| 27871 | (autoload (quote tamil-compose-region) "tml-util" "\ | 27819 | (autoload (quote tamil-compose-region) "tml-util" "\ |
| @@ -27888,7 +27836,7 @@ PATTERN regexp. | |||
| 27888 | ;;;*** | 27836 | ;;;*** |
| 27889 | 27837 | ||
| 27890 | ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" | 27838 | ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" |
| 27891 | ;;;;;; "tmm.el" (17994 6751)) | 27839 | ;;;;;; "tmm.el" (17952 58711)) |
| 27892 | ;;; Generated autoloads from tmm.el | 27840 | ;;; Generated autoloads from tmm.el |
| 27893 | (define-key global-map "\M-`" 'tmm-menubar) | 27841 | (define-key global-map "\M-`" 'tmm-menubar) |
| 27894 | (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) | 27842 | (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) |
| @@ -27928,7 +27876,7 @@ Its value should be an event that has a binding in MENU. | |||
| 27928 | 27876 | ||
| 27929 | ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities | 27877 | ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities |
| 27930 | ;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) | 27878 | ;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) |
| 27931 | ;;;;;; "todo-mode" "calendar/todo-mode.el" (17994 6715)) | 27879 | ;;;;;; "todo-mode" "calendar/todo-mode.el" (17962 52848)) |
| 27932 | ;;; Generated autoloads from calendar/todo-mode.el | 27880 | ;;; Generated autoloads from calendar/todo-mode.el |
| 27933 | 27881 | ||
| 27934 | (autoload (quote todo-add-category) "todo-mode" "\ | 27882 | (autoload (quote todo-add-category) "todo-mode" "\ |
| @@ -27988,8 +27936,8 @@ Show TODO list. | |||
| 27988 | ;;;*** | 27936 | ;;;*** |
| 27989 | 27937 | ||
| 27990 | ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu | 27938 | ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu |
| 27991 | ;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) | 27939 | ;;;;;; tool-bar-local-item tool-bar-add-item) "tool-bar" "tool-bar.el" |
| 27992 | ;;;;;; "tool-bar" "tool-bar.el" (17994 6751)) | 27940 | ;;;;;; (17842 58278)) |
| 27993 | ;;; Generated autoloads from tool-bar.el | 27941 | ;;; Generated autoloads from tool-bar.el |
| 27994 | 27942 | ||
| 27995 | (autoload (quote toggle-tool-bar-mode-from-frame) "tool-bar" "\ | 27943 | (autoload (quote toggle-tool-bar-mode-from-frame) "tool-bar" "\ |
| @@ -28062,7 +28010,7 @@ holds a keymap. | |||
| 28062 | ;;;*** | 28010 | ;;;*** |
| 28063 | 28011 | ||
| 28064 | ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" | 28012 | ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" |
| 28065 | ;;;;;; (18000 24377)) | 28013 | ;;;;;; (18006 55796)) |
| 28066 | ;;; Generated autoloads from emulation/tpu-edt.el | 28014 | ;;; Generated autoloads from emulation/tpu-edt.el |
| 28067 | 28015 | ||
| 28068 | (defvar tpu-edt-mode nil "\ | 28016 | (defvar tpu-edt-mode nil "\ |
| @@ -28089,7 +28037,7 @@ Turn on TPU/edt emulation. | |||
| 28089 | ;;;*** | 28037 | ;;;*** |
| 28090 | 28038 | ||
| 28091 | ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins) | 28039 | ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins) |
| 28092 | ;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17994 6715)) | 28040 | ;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17842 54264)) |
| 28093 | ;;; Generated autoloads from emulation/tpu-extras.el | 28041 | ;;; Generated autoloads from emulation/tpu-extras.el |
| 28094 | 28042 | ||
| 28095 | (autoload (quote tpu-set-scroll-margins) "tpu-extras" "\ | 28043 | (autoload (quote tpu-set-scroll-margins) "tpu-extras" "\ |
| @@ -28109,7 +28057,7 @@ Constrain the cursor to the flow of the text. | |||
| 28109 | 28057 | ||
| 28110 | ;;;*** | 28058 | ;;;*** |
| 28111 | 28059 | ||
| 28112 | ;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17994 6715)) | 28060 | ;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17842 54152)) |
| 28113 | ;;; Generated autoloads from emacs-lisp/tq.el | 28061 | ;;; Generated autoloads from emacs-lisp/tq.el |
| 28114 | 28062 | ||
| 28115 | (autoload (quote tq-create) "tq" "\ | 28063 | (autoload (quote tq-create) "tq" "\ |
| @@ -28123,7 +28071,7 @@ to a tcp server on another machine. | |||
| 28123 | ;;;*** | 28071 | ;;;*** |
| 28124 | 28072 | ||
| 28125 | ;;;### (autoloads (trace-function-background trace-function trace-buffer) | 28073 | ;;;### (autoloads (trace-function-background trace-function trace-buffer) |
| 28126 | ;;;;;; "trace" "emacs-lisp/trace.el" (17994 6715)) | 28074 | ;;;;;; "trace" "emacs-lisp/trace.el" (17842 54152)) |
| 28127 | ;;; Generated autoloads from emacs-lisp/trace.el | 28075 | ;;; Generated autoloads from emacs-lisp/trace.el |
| 28128 | 28076 | ||
| 28129 | (defvar trace-buffer "*trace-output*" "\ | 28077 | (defvar trace-buffer "*trace-output*" "\ |
| @@ -28160,7 +28108,7 @@ BUFFER defaults to `trace-buffer'. | |||
| 28160 | ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion | 28108 | ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion |
| 28161 | ;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers | 28109 | ;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers |
| 28162 | ;;;;;; tramp-file-name-handler tramp-completion-file-name-regexp | 28110 | ;;;;;; tramp-file-name-handler tramp-completion-file-name-regexp |
| 28163 | ;;;;;; tramp-file-name-regexp) "tramp" "net/tramp.el" (17994 6715)) | 28111 | ;;;;;; tramp-file-name-regexp) "tramp" "net/tramp.el" (17934 45069)) |
| 28164 | ;;; Generated autoloads from net/tramp.el | 28112 | ;;; Generated autoloads from net/tramp.el |
| 28165 | 28113 | ||
| 28166 | (defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\ | 28114 | (defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\ |
| @@ -28277,7 +28225,7 @@ Discard Tramp from loading remote files. | |||
| 28277 | ;;;*** | 28225 | ;;;*** |
| 28278 | 28226 | ||
| 28279 | ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" | 28227 | ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" |
| 28280 | ;;;;;; (17994 6715)) | 28228 | ;;;;;; (17842 55218)) |
| 28281 | ;;; Generated autoloads from net/tramp-ftp.el | 28229 | ;;; Generated autoloads from net/tramp-ftp.el |
| 28282 | 28230 | ||
| 28283 | (autoload (quote tramp-ftp-enable-ange-ftp) "tramp-ftp" "\ | 28231 | (autoload (quote tramp-ftp-enable-ange-ftp) "tramp-ftp" "\ |
| @@ -28287,8 +28235,8 @@ Not documented | |||
| 28287 | 28235 | ||
| 28288 | ;;;*** | 28236 | ;;;*** |
| 28289 | 28237 | ||
| 28290 | ;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (18000 | 28238 | ;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (18006 |
| 28291 | ;;;;;; 24333)) | 28239 | ;;;;;; 55796)) |
| 28292 | ;;; Generated autoloads from tutorial.el | 28240 | ;;; Generated autoloads from tutorial.el |
| 28293 | 28241 | ||
| 28294 | (autoload (quote help-with-tutorial) "tutorial" "\ | 28242 | (autoload (quote help-with-tutorial) "tutorial" "\ |
| @@ -28313,7 +28261,7 @@ resumed later. | |||
| 28313 | ;;;*** | 28261 | ;;;*** |
| 28314 | 28262 | ||
| 28315 | ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" | 28263 | ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" |
| 28316 | ;;;;;; "textmodes/two-column.el" (17994 6716)) | 28264 | ;;;;;; "textmodes/two-column.el" (17842 58276)) |
| 28317 | ;;; Generated autoloads from textmodes/two-column.el | 28265 | ;;; Generated autoloads from textmodes/two-column.el |
| 28318 | (autoload '2C-command "two-column" () t 'keymap) | 28266 | (autoload '2C-command "two-column" () t 'keymap) |
| 28319 | (global-set-key "\C-x6" '2C-command) | 28267 | (global-set-key "\C-x6" '2C-command) |
| @@ -28364,7 +28312,7 @@ First column's text sSs Second column's text | |||
| 28364 | ;;;;;; type-break type-break-mode type-break-keystroke-threshold | 28312 | ;;;;;; type-break type-break-mode type-break-keystroke-threshold |
| 28365 | ;;;;;; type-break-good-break-interval type-break-good-rest-interval | 28313 | ;;;;;; type-break-good-break-interval type-break-good-rest-interval |
| 28366 | ;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el" | 28314 | ;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el" |
| 28367 | ;;;;;; (17994 6716)) | 28315 | ;;;;;; (17908 29123)) |
| 28368 | ;;; Generated autoloads from type-break.el | 28316 | ;;; Generated autoloads from type-break.el |
| 28369 | 28317 | ||
| 28370 | (defvar type-break-mode nil "\ | 28318 | (defvar type-break-mode nil "\ |
| @@ -28547,7 +28495,7 @@ FRAC should be the inverse of the fractional value; for example, a value of | |||
| 28547 | ;;;*** | 28495 | ;;;*** |
| 28548 | 28496 | ||
| 28549 | ;;;### (autoloads (ununderline-region underline-region) "underline" | 28497 | ;;;### (autoloads (ununderline-region underline-region) "underline" |
| 28550 | ;;;;;; "textmodes/underline.el" (17994 6716)) | 28498 | ;;;;;; "textmodes/underline.el" (17842 58276)) |
| 28551 | ;;; Generated autoloads from textmodes/underline.el | 28499 | ;;; Generated autoloads from textmodes/underline.el |
| 28552 | 28500 | ||
| 28553 | (autoload (quote underline-region) "underline" "\ | 28501 | (autoload (quote underline-region) "underline" "\ |
| @@ -28568,7 +28516,7 @@ which specify the range to operate on. | |||
| 28568 | ;;;*** | 28516 | ;;;*** |
| 28569 | 28517 | ||
| 28570 | ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message) | 28518 | ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message) |
| 28571 | ;;;;;; "undigest" "mail/undigest.el" (17994 6715)) | 28519 | ;;;;;; "undigest" "mail/undigest.el" (17842 55035)) |
| 28572 | ;;; Generated autoloads from mail/undigest.el | 28520 | ;;; Generated autoloads from mail/undigest.el |
| 28573 | 28521 | ||
| 28574 | (autoload (quote undigestify-rmail-message) "undigest" "\ | 28522 | (autoload (quote undigestify-rmail-message) "undigest" "\ |
| @@ -28587,7 +28535,7 @@ following the containing message. | |||
| 28587 | ;;;*** | 28535 | ;;;*** |
| 28588 | 28536 | ||
| 28589 | ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" | 28537 | ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" |
| 28590 | ;;;;;; (17994 6715)) | 28538 | ;;;;;; (17842 55035)) |
| 28591 | ;;; Generated autoloads from mail/unrmail.el | 28539 | ;;; Generated autoloads from mail/unrmail.el |
| 28592 | 28540 | ||
| 28593 | (autoload (quote batch-unrmail) "unrmail" "\ | 28541 | (autoload (quote batch-unrmail) "unrmail" "\ |
| @@ -28606,8 +28554,8 @@ Convert Rmail file FILE to system inbox format file TO-FILE. | |||
| 28606 | 28554 | ||
| 28607 | ;;;*** | 28555 | ;;;*** |
| 28608 | 28556 | ||
| 28609 | ;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17994 | 28557 | ;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17842 |
| 28610 | ;;;;;; 6715)) | 28558 | ;;;;;; 54152)) |
| 28611 | ;;; Generated autoloads from emacs-lisp/unsafep.el | 28559 | ;;; Generated autoloads from emacs-lisp/unsafep.el |
| 28612 | 28560 | ||
| 28613 | (autoload (quote unsafep) "unsafep" "\ | 28561 | (autoload (quote unsafep) "unsafep" "\ |
| @@ -28620,7 +28568,7 @@ of symbols with local bindings. | |||
| 28620 | ;;;*** | 28568 | ;;;*** |
| 28621 | 28569 | ||
| 28622 | ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" | 28570 | ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" |
| 28623 | ;;;;;; "url/url.el" (17994 6716)) | 28571 | ;;;;;; "url/url.el" (17842 56569)) |
| 28624 | ;;; Generated autoloads from url/url.el | 28572 | ;;; Generated autoloads from url/url.el |
| 28625 | 28573 | ||
| 28626 | (autoload (quote url-retrieve) "url" "\ | 28574 | (autoload (quote url-retrieve) "url" "\ |
| @@ -28660,7 +28608,7 @@ no further processing). URL is either a string or a parsed URL. | |||
| 28660 | ;;;*** | 28608 | ;;;*** |
| 28661 | 28609 | ||
| 28662 | ;;;### (autoloads (url-register-auth-scheme url-get-authentication) | 28610 | ;;;### (autoloads (url-register-auth-scheme url-get-authentication) |
| 28663 | ;;;;;; "url-auth" "url/url-auth.el" (17994 6716)) | 28611 | ;;;;;; "url-auth" "url/url-auth.el" (17854 10173)) |
| 28664 | ;;; Generated autoloads from url/url-auth.el | 28612 | ;;; Generated autoloads from url/url-auth.el |
| 28665 | 28613 | ||
| 28666 | (autoload (quote url-get-authentication) "url-auth" "\ | 28614 | (autoload (quote url-get-authentication) "url-auth" "\ |
| @@ -28702,8 +28650,8 @@ RATING a rating between 1 and 10 of the strength of the authentication. | |||
| 28702 | ;;;*** | 28650 | ;;;*** |
| 28703 | 28651 | ||
| 28704 | ;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached | 28652 | ;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached |
| 28705 | ;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (17994 | 28653 | ;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (17842 |
| 28706 | ;;;;;; 6716)) | 28654 | ;;;;;; 56569)) |
| 28707 | ;;; Generated autoloads from url/url-cache.el | 28655 | ;;; Generated autoloads from url/url-cache.el |
| 28708 | 28656 | ||
| 28709 | (autoload (quote url-store-in-cache) "url-cache" "\ | 28657 | (autoload (quote url-store-in-cache) "url-cache" "\ |
| @@ -28728,7 +28676,7 @@ Return t iff a cached file has expired. | |||
| 28728 | 28676 | ||
| 28729 | ;;;*** | 28677 | ;;;*** |
| 28730 | 28678 | ||
| 28731 | ;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (17994 6716)) | 28679 | ;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (17842 56569)) |
| 28732 | ;;; Generated autoloads from url/url-cid.el | 28680 | ;;; Generated autoloads from url/url-cid.el |
| 28733 | 28681 | ||
| 28734 | (autoload (quote url-cid) "url-cid" "\ | 28682 | (autoload (quote url-cid) "url-cid" "\ |
| @@ -28739,7 +28687,7 @@ Not documented | |||
| 28739 | ;;;*** | 28687 | ;;;*** |
| 28740 | 28688 | ||
| 28741 | ;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav" | 28689 | ;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav" |
| 28742 | ;;;;;; "url/url-dav.el" (17994 6716)) | 28690 | ;;;;;; "url/url-dav.el" (17842 56569)) |
| 28743 | ;;; Generated autoloads from url/url-dav.el | 28691 | ;;; Generated autoloads from url/url-dav.el |
| 28744 | 28692 | ||
| 28745 | (autoload (quote url-dav-supported-p) "url-dav" "\ | 28693 | (autoload (quote url-dav-supported-p) "url-dav" "\ |
| @@ -28754,8 +28702,8 @@ Not documented | |||
| 28754 | 28702 | ||
| 28755 | ;;;*** | 28703 | ;;;*** |
| 28756 | 28704 | ||
| 28757 | ;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17994 | 28705 | ;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17842 |
| 28758 | ;;;;;; 6716)) | 28706 | ;;;;;; 56569)) |
| 28759 | ;;; Generated autoloads from url/url-file.el | 28707 | ;;; Generated autoloads from url/url-file.el |
| 28760 | 28708 | ||
| 28761 | (autoload (quote url-file) "url-file" "\ | 28709 | (autoload (quote url-file) "url-file" "\ |
| @@ -28766,7 +28714,7 @@ Handle file: and ftp: URLs. | |||
| 28766 | ;;;*** | 28714 | ;;;*** |
| 28767 | 28715 | ||
| 28768 | ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" | 28716 | ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" |
| 28769 | ;;;;;; "url/url-gw.el" (17994 6716)) | 28717 | ;;;;;; "url/url-gw.el" (17842 56569)) |
| 28770 | ;;; Generated autoloads from url/url-gw.el | 28718 | ;;; Generated autoloads from url/url-gw.el |
| 28771 | 28719 | ||
| 28772 | (autoload (quote url-gateway-nslookup-host) "url-gw" "\ | 28720 | (autoload (quote url-gateway-nslookup-host) "url-gw" "\ |
| @@ -28785,8 +28733,8 @@ Might do a non-blocking connection; use `process-status' to check. | |||
| 28785 | ;;;*** | 28733 | ;;;*** |
| 28786 | 28734 | ||
| 28787 | ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file | 28735 | ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file |
| 28788 | ;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17994 | 28736 | ;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17842 |
| 28789 | ;;;;;; 6716)) | 28737 | ;;;;;; 56569)) |
| 28790 | ;;; Generated autoloads from url/url-handlers.el | 28738 | ;;; Generated autoloads from url/url-handlers.el |
| 28791 | 28739 | ||
| 28792 | (defvar url-handler-mode nil "\ | 28740 | (defvar url-handler-mode nil "\ |
| @@ -28830,7 +28778,7 @@ Not documented | |||
| 28830 | ;;;*** | 28778 | ;;;*** |
| 28831 | 28779 | ||
| 28832 | ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p | 28780 | ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p |
| 28833 | ;;;;;; url-http) "url-http" "url/url-http.el" (17994 6716)) | 28781 | ;;;;;; url-http) "url-http" "url/url-http.el" (17952 11683)) |
| 28834 | ;;; Generated autoloads from url/url-http.el | 28782 | ;;; Generated autoloads from url/url-http.el |
| 28835 | 28783 | ||
| 28836 | (autoload (quote url-http) "url-http" "\ | 28784 | (autoload (quote url-http) "url-http" "\ |
| @@ -28895,7 +28843,7 @@ HTTPS retrievals are asynchronous.") | |||
| 28895 | 28843 | ||
| 28896 | ;;;*** | 28844 | ;;;*** |
| 28897 | 28845 | ||
| 28898 | ;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17994 6716)) | 28846 | ;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17842 56569)) |
| 28899 | ;;; Generated autoloads from url/url-irc.el | 28847 | ;;; Generated autoloads from url/url-irc.el |
| 28900 | 28848 | ||
| 28901 | (autoload (quote url-irc) "url-irc" "\ | 28849 | (autoload (quote url-irc) "url-irc" "\ |
| @@ -28905,8 +28853,8 @@ Not documented | |||
| 28905 | 28853 | ||
| 28906 | ;;;*** | 28854 | ;;;*** |
| 28907 | 28855 | ||
| 28908 | ;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17994 | 28856 | ;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17842 |
| 28909 | ;;;;;; 6716)) | 28857 | ;;;;;; 56569)) |
| 28910 | ;;; Generated autoloads from url/url-ldap.el | 28858 | ;;; Generated autoloads from url/url-ldap.el |
| 28911 | 28859 | ||
| 28912 | (autoload (quote url-ldap) "url-ldap" "\ | 28860 | (autoload (quote url-ldap) "url-ldap" "\ |
| @@ -28920,7 +28868,7 @@ URL can be a URL string, or a URL vector of the type returned by | |||
| 28920 | ;;;*** | 28868 | ;;;*** |
| 28921 | 28869 | ||
| 28922 | ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" | 28870 | ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" |
| 28923 | ;;;;;; (17994 6716)) | 28871 | ;;;;;; (18012 18089)) |
| 28924 | ;;; Generated autoloads from url/url-mailto.el | 28872 | ;;; Generated autoloads from url/url-mailto.el |
| 28925 | 28873 | ||
| 28926 | (autoload (quote url-mail) "url-mailto" "\ | 28874 | (autoload (quote url-mail) "url-mailto" "\ |
| @@ -28936,7 +28884,7 @@ Handle the mailto: URL syntax. | |||
| 28936 | ;;;*** | 28884 | ;;;*** |
| 28937 | 28885 | ||
| 28938 | ;;;### (autoloads (url-data url-generic-emulator-loader url-info | 28886 | ;;;### (autoloads (url-data url-generic-emulator-loader url-info |
| 28939 | ;;;;;; url-man) "url-misc" "url/url-misc.el" (17994 6716)) | 28887 | ;;;;;; url-man) "url-misc" "url/url-misc.el" (17842 56569)) |
| 28940 | ;;; Generated autoloads from url/url-misc.el | 28888 | ;;; Generated autoloads from url/url-misc.el |
| 28941 | 28889 | ||
| 28942 | (autoload (quote url-man) "url-misc" "\ | 28890 | (autoload (quote url-man) "url-misc" "\ |
| @@ -28968,7 +28916,7 @@ Fetch a data URL (RFC 2397). | |||
| 28968 | ;;;*** | 28916 | ;;;*** |
| 28969 | 28917 | ||
| 28970 | ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" | 28918 | ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" |
| 28971 | ;;;;;; (17994 6716)) | 28919 | ;;;;;; (17842 56569)) |
| 28972 | ;;; Generated autoloads from url/url-news.el | 28920 | ;;; Generated autoloads from url/url-news.el |
| 28973 | 28921 | ||
| 28974 | (autoload (quote url-news) "url-news" "\ | 28922 | (autoload (quote url-news) "url-news" "\ |
| @@ -28985,7 +28933,7 @@ Not documented | |||
| 28985 | 28933 | ||
| 28986 | ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable | 28934 | ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable |
| 28987 | ;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" | 28935 | ;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" |
| 28988 | ;;;;;; (17994 6716)) | 28936 | ;;;;;; (17842 56569)) |
| 28989 | ;;; Generated autoloads from url/url-ns.el | 28937 | ;;; Generated autoloads from url/url-ns.el |
| 28990 | 28938 | ||
| 28991 | (autoload (quote isPlainHostName) "url-ns" "\ | 28939 | (autoload (quote isPlainHostName) "url-ns" "\ |
| @@ -29026,7 +28974,7 @@ Not documented | |||
| 29026 | ;;;*** | 28974 | ;;;*** |
| 29027 | 28975 | ||
| 29028 | ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" | 28976 | ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" |
| 29029 | ;;;;;; "url/url-parse.el" (17994 6716)) | 28977 | ;;;;;; "url/url-parse.el" (17954 22157)) |
| 29030 | ;;; Generated autoloads from url/url-parse.el | 28978 | ;;; Generated autoloads from url/url-parse.el |
| 29031 | 28979 | ||
| 29032 | (autoload (quote url-recreate-url) "url-parse" "\ | 28980 | (autoload (quote url-recreate-url) "url-parse" "\ |
| @@ -29044,7 +28992,7 @@ Format is: | |||
| 29044 | ;;;*** | 28992 | ;;;*** |
| 29045 | 28993 | ||
| 29046 | ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" | 28994 | ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" |
| 29047 | ;;;;;; (17994 6716)) | 28995 | ;;;;;; (17842 56569)) |
| 29048 | ;;; Generated autoloads from url/url-privacy.el | 28996 | ;;; Generated autoloads from url/url-privacy.el |
| 29049 | 28997 | ||
| 29050 | (autoload (quote url-setup-privacy-info) "url-privacy" "\ | 28998 | (autoload (quote url-setup-privacy-info) "url-privacy" "\ |
| @@ -29060,7 +29008,7 @@ Setup variables that expose info about you and your system. | |||
| 29060 | ;;;;;; url-strip-leading-spaces url-eat-trailing-space url-get-normalized-date | 29008 | ;;;;;; url-strip-leading-spaces url-eat-trailing-space url-get-normalized-date |
| 29061 | ;;;;;; url-lazy-message url-normalize-url url-insert-entities-in-string | 29009 | ;;;;;; url-lazy-message url-normalize-url url-insert-entities-in-string |
| 29062 | ;;;;;; url-parse-args url-debug url-debug) "url-util" "url/url-util.el" | 29010 | ;;;;;; url-parse-args url-debug url-debug) "url-util" "url/url-util.el" |
| 29063 | ;;;;;; (17994 6716)) | 29011 | ;;;;;; (17842 56569)) |
| 29064 | ;;; Generated autoloads from url/url-util.el | 29012 | ;;; Generated autoloads from url/url-util.el |
| 29065 | 29013 | ||
| 29066 | (defvar url-debug nil "\ | 29014 | (defvar url-debug nil "\ |
| @@ -29189,7 +29137,7 @@ This uses `url-current-object', set locally to the buffer. | |||
| 29189 | ;;;*** | 29137 | ;;;*** |
| 29190 | 29138 | ||
| 29191 | ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) | 29139 | ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) |
| 29192 | ;;;;;; "userlock" "userlock.el" (17994 6716)) | 29140 | ;;;;;; "userlock" "userlock.el" (17842 58278)) |
| 29193 | ;;; Generated autoloads from userlock.el | 29141 | ;;; Generated autoloads from userlock.el |
| 29194 | 29142 | ||
| 29195 | (autoload (quote ask-user-about-lock) "userlock" "\ | 29143 | (autoload (quote ask-user-about-lock) "userlock" "\ |
| @@ -29217,7 +29165,7 @@ The buffer in question is current when this function is called. | |||
| 29217 | 29165 | ||
| 29218 | ;;;*** | 29166 | ;;;*** |
| 29219 | 29167 | ||
| 29220 | ;;;### (autoloads nil "utf-7" "international/utf-7.el" (17994 6715)) | 29168 | ;;;### (autoloads nil "utf-7" "international/utf-7.el" (17842 54888)) |
| 29221 | ;;; Generated autoloads from international/utf-7.el | 29169 | ;;; Generated autoloads from international/utf-7.el |
| 29222 | (autoload-coding-system 'utf-7 '(require 'utf-7)) | 29170 | (autoload-coding-system 'utf-7 '(require 'utf-7)) |
| 29223 | 29171 | ||
| @@ -29225,7 +29173,7 @@ The buffer in question is current when this function is called. | |||
| 29225 | 29173 | ||
| 29226 | ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal | 29174 | ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal |
| 29227 | ;;;;;; uudecode-decode-region-external) "uudecode" "gnus/uudecode.el" | 29175 | ;;;;;; uudecode-decode-region-external) "uudecode" "gnus/uudecode.el" |
| 29228 | ;;;;;; (17994 6715)) | 29176 | ;;;;;; (17855 50203)) |
| 29229 | ;;; Generated autoloads from gnus/uudecode.el | 29177 | ;;; Generated autoloads from gnus/uudecode.el |
| 29230 | 29178 | ||
| 29231 | (autoload (quote uudecode-decode-region-external) "uudecode" "\ | 29179 | (autoload (quote uudecode-decode-region-external) "uudecode" "\ |
| @@ -29255,7 +29203,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME. | |||
| 29255 | ;;;;;; vc-directory vc-merge vc-insert-headers vc-version-other-window | 29203 | ;;;;;; vc-directory vc-merge vc-insert-headers vc-version-other-window |
| 29256 | ;;;;;; vc-diff vc-register vc-next-action vc-do-command edit-vc-file | 29204 | ;;;;;; vc-diff vc-register vc-next-action vc-do-command edit-vc-file |
| 29257 | ;;;;;; with-vc-file vc-branch-part vc-trunk-p vc-before-checkin-hook | 29205 | ;;;;;; with-vc-file vc-branch-part vc-trunk-p vc-before-checkin-hook |
| 29258 | ;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17994 6739)) | 29206 | ;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17992 30877)) |
| 29259 | ;;; Generated autoloads from vc.el | 29207 | ;;; Generated autoloads from vc.el |
| 29260 | 29208 | ||
| 29261 | (defvar vc-checkout-hook nil "\ | 29209 | (defvar vc-checkout-hook nil "\ |
| @@ -29543,7 +29491,7 @@ colors. `vc-annotate-background' specifies the background color. | |||
| 29543 | 29491 | ||
| 29544 | ;;;*** | 29492 | ;;;*** |
| 29545 | 29493 | ||
| 29546 | ;;;### (autoloads nil "vc-arch" "vc-arch.el" (17994 6716)) | 29494 | ;;;### (autoloads nil "vc-arch" "vc-arch.el" (17930 34221)) |
| 29547 | ;;; Generated autoloads from vc-arch.el | 29495 | ;;; Generated autoloads from vc-arch.el |
| 29548 | (defun vc-arch-registered (file) | 29496 | (defun vc-arch-registered (file) |
| 29549 | (if (vc-find-root file "{arch}/=tagging-method") | 29497 | (if (vc-find-root file "{arch}/=tagging-method") |
| @@ -29553,7 +29501,7 @@ colors. `vc-annotate-background' specifies the background color. | |||
| 29553 | 29501 | ||
| 29554 | ;;;*** | 29502 | ;;;*** |
| 29555 | 29503 | ||
| 29556 | ;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17994 6716)) | 29504 | ;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17842 58278)) |
| 29557 | ;;; Generated autoloads from vc-cvs.el | 29505 | ;;; Generated autoloads from vc-cvs.el |
| 29558 | (defun vc-cvs-registered (f) | 29506 | (defun vc-cvs-registered (f) |
| 29559 | (when (file-readable-p (expand-file-name | 29507 | (when (file-readable-p (expand-file-name |
| @@ -29563,7 +29511,7 @@ colors. `vc-annotate-background' specifies the background color. | |||
| 29563 | 29511 | ||
| 29564 | ;;;*** | 29512 | ;;;*** |
| 29565 | 29513 | ||
| 29566 | ;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17994 6716)) | 29514 | ;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17842 58278)) |
| 29567 | ;;; Generated autoloads from vc-mcvs.el | 29515 | ;;; Generated autoloads from vc-mcvs.el |
| 29568 | (defun vc-mcvs-registered (file) | 29516 | (defun vc-mcvs-registered (file) |
| 29569 | (if (vc-find-root file "MCVS/CVS") | 29517 | (if (vc-find-root file "MCVS/CVS") |
| @@ -29574,7 +29522,7 @@ colors. `vc-annotate-background' specifies the background color. | |||
| 29574 | ;;;*** | 29522 | ;;;*** |
| 29575 | 29523 | ||
| 29576 | ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el" | 29524 | ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el" |
| 29577 | ;;;;;; (17994 6716)) | 29525 | ;;;;;; (17925 15266)) |
| 29578 | ;;; Generated autoloads from vc-rcs.el | 29526 | ;;; Generated autoloads from vc-rcs.el |
| 29579 | 29527 | ||
| 29580 | (defvar vc-rcs-master-templates (quote ("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ | 29528 | (defvar vc-rcs-master-templates (quote ("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ |
| @@ -29587,7 +29535,7 @@ For a description of possible values, see `vc-check-master-templates'.") | |||
| 29587 | ;;;*** | 29535 | ;;;*** |
| 29588 | 29536 | ||
| 29589 | ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el" | 29537 | ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el" |
| 29590 | ;;;;;; (17994 6716)) | 29538 | ;;;;;; (17842 58278)) |
| 29591 | ;;; Generated autoloads from vc-sccs.el | 29539 | ;;; Generated autoloads from vc-sccs.el |
| 29592 | 29540 | ||
| 29593 | (defvar vc-sccs-master-templates (quote ("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ | 29541 | (defvar vc-sccs-master-templates (quote ("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ |
| @@ -29604,7 +29552,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) | |||
| 29604 | 29552 | ||
| 29605 | ;;;*** | 29553 | ;;;*** |
| 29606 | 29554 | ||
| 29607 | ;;;### (autoloads nil "vc-svn" "vc-svn.el" (17994 6716)) | 29555 | ;;;### (autoloads nil "vc-svn" "vc-svn.el" (17881 64914)) |
| 29608 | ;;; Generated autoloads from vc-svn.el | 29556 | ;;; Generated autoloads from vc-svn.el |
| 29609 | (defun vc-svn-registered (f) | 29557 | (defun vc-svn-registered (f) |
| 29610 | (let ((admin-dir (cond ((and (eq system-type 'windows-nt) | 29558 | (let ((admin-dir (cond ((and (eq system-type 'windows-nt) |
| @@ -29622,7 +29570,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir) | |||
| 29622 | ;;;*** | 29570 | ;;;*** |
| 29623 | 29571 | ||
| 29624 | ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" | 29572 | ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" |
| 29625 | ;;;;;; (17994 6715)) | 29573 | ;;;;;; (17962 27361)) |
| 29626 | ;;; Generated autoloads from progmodes/vhdl-mode.el | 29574 | ;;; Generated autoloads from progmodes/vhdl-mode.el |
| 29627 | 29575 | ||
| 29628 | (autoload (quote vhdl-mode) "vhdl-mode" "\ | 29576 | (autoload (quote vhdl-mode) "vhdl-mode" "\ |
| @@ -30163,7 +30111,7 @@ Key bindings: | |||
| 30163 | 30111 | ||
| 30164 | ;;;*** | 30112 | ;;;*** |
| 30165 | 30113 | ||
| 30166 | ;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17994 6715)) | 30114 | ;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17788 40208)) |
| 30167 | ;;; Generated autoloads from emulation/vi.el | 30115 | ;;; Generated autoloads from emulation/vi.el |
| 30168 | 30116 | ||
| 30169 | (autoload (quote vi-mode) "vi" "\ | 30117 | (autoload (quote vi-mode) "vi" "\ |
| @@ -30218,7 +30166,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs. | |||
| 30218 | ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion | 30166 | ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion |
| 30219 | ;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer | 30167 | ;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer |
| 30220 | ;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" | 30168 | ;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" |
| 30221 | ;;;;;; "language/viet-util.el" (17994 6715)) | 30169 | ;;;;;; "language/viet-util.el" (17842 58278)) |
| 30222 | ;;; Generated autoloads from language/viet-util.el | 30170 | ;;; Generated autoloads from language/viet-util.el |
| 30223 | 30171 | ||
| 30224 | (autoload (quote viet-encode-viscii-char) "viet-util" "\ | 30172 | (autoload (quote viet-encode-viscii-char) "viet-util" "\ |
| @@ -30264,8 +30212,8 @@ Not documented | |||
| 30264 | 30212 | ||
| 30265 | ;;;### (autoloads (View-exit-and-edit view-mode-enter view-mode view-buffer-other-frame | 30213 | ;;;### (autoloads (View-exit-and-edit view-mode-enter view-mode view-buffer-other-frame |
| 30266 | ;;;;;; view-buffer-other-window view-buffer view-file-other-frame | 30214 | ;;;;;; view-buffer-other-window view-buffer view-file-other-frame |
| 30267 | ;;;;;; view-file-other-window view-file) "view" "view.el" (18000 | 30215 | ;;;;;; view-file-other-window view-file) "view" "view.el" (18006 |
| 30268 | ;;;;;; 24333)) | 30216 | ;;;;;; 55796)) |
| 30269 | ;;; Generated autoloads from view.el | 30217 | ;;; Generated autoloads from view.el |
| 30270 | 30218 | ||
| 30271 | (defvar view-mode nil "\ | 30219 | (defvar view-mode nil "\ |
| @@ -30474,8 +30422,8 @@ Exit View mode and make the current buffer editable. | |||
| 30474 | 30422 | ||
| 30475 | ;;;*** | 30423 | ;;;*** |
| 30476 | 30424 | ||
| 30477 | ;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17994 | 30425 | ;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17842 |
| 30478 | ;;;;;; 6715)) | 30426 | ;;;;;; 54264)) |
| 30479 | ;;; Generated autoloads from emulation/vip.el | 30427 | ;;; Generated autoloads from emulation/vip.el |
| 30480 | 30428 | ||
| 30481 | (autoload (quote vip-setup) "vip" "\ | 30429 | (autoload (quote vip-setup) "vip" "\ |
| @@ -30491,7 +30439,7 @@ Turn on VIP emulation of VI. | |||
| 30491 | ;;;*** | 30439 | ;;;*** |
| 30492 | 30440 | ||
| 30493 | ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" | 30441 | ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" |
| 30494 | ;;;;;; (17994 6715)) | 30442 | ;;;;;; (17921 23052)) |
| 30495 | ;;; Generated autoloads from emulation/viper.el | 30443 | ;;; Generated autoloads from emulation/viper.el |
| 30496 | 30444 | ||
| 30497 | (autoload (quote toggle-viper-mode) "viper" "\ | 30445 | (autoload (quote toggle-viper-mode) "viper" "\ |
| @@ -30508,7 +30456,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'. | |||
| 30508 | ;;;*** | 30456 | ;;;*** |
| 30509 | 30457 | ||
| 30510 | ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" | 30458 | ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" |
| 30511 | ;;;;;; (17994 6715)) | 30459 | ;;;;;; (17935 13348)) |
| 30512 | ;;; Generated autoloads from emacs-lisp/warnings.el | 30460 | ;;; Generated autoloads from emacs-lisp/warnings.el |
| 30513 | 30461 | ||
| 30514 | (defvar warning-prefix-function nil "\ | 30462 | (defvar warning-prefix-function nil "\ |
| @@ -30598,7 +30546,7 @@ this is equivalent to `display-warning', using | |||
| 30598 | ;;;*** | 30546 | ;;;*** |
| 30599 | 30547 | ||
| 30600 | ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" | 30548 | ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" |
| 30601 | ;;;;;; (17994 6716)) | 30549 | ;;;;;; (17842 58278)) |
| 30602 | ;;; Generated autoloads from wdired.el | 30550 | ;;; Generated autoloads from wdired.el |
| 30603 | 30551 | ||
| 30604 | (autoload (quote wdired-change-to-wdired-mode) "wdired" "\ | 30552 | (autoload (quote wdired-change-to-wdired-mode) "wdired" "\ |
| @@ -30614,7 +30562,7 @@ See `wdired-mode'. | |||
| 30614 | 30562 | ||
| 30615 | ;;;*** | 30563 | ;;;*** |
| 30616 | 30564 | ||
| 30617 | ;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17994 6715)) | 30565 | ;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17842 55218)) |
| 30618 | ;;; Generated autoloads from net/webjump.el | 30566 | ;;; Generated autoloads from net/webjump.el |
| 30619 | 30567 | ||
| 30620 | (autoload (quote webjump) "webjump" "\ | 30568 | (autoload (quote webjump) "webjump" "\ |
| @@ -30631,7 +30579,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke | |||
| 30631 | ;;;*** | 30579 | ;;;*** |
| 30632 | 30580 | ||
| 30633 | ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" | 30581 | ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" |
| 30634 | ;;;;;; (17994 6715)) | 30582 | ;;;;;; (17842 56332)) |
| 30635 | ;;; Generated autoloads from progmodes/which-func.el | 30583 | ;;; Generated autoloads from progmodes/which-func.el |
| 30636 | (put 'which-func-format 'risky-local-variable t) | 30584 | (put 'which-func-format 'risky-local-variable t) |
| 30637 | (put 'which-func-current 'risky-local-variable t) | 30585 | (put 'which-func-current 'risky-local-variable t) |
| @@ -30664,7 +30612,7 @@ and off otherwise. | |||
| 30664 | ;;;;;; whitespace-buffer whitespace-toggle-ateol-check whitespace-toggle-spacetab-check | 30612 | ;;;;;; whitespace-buffer whitespace-toggle-ateol-check whitespace-toggle-spacetab-check |
| 30665 | ;;;;;; whitespace-toggle-indent-check whitespace-toggle-trailing-check | 30613 | ;;;;;; whitespace-toggle-indent-check whitespace-toggle-trailing-check |
| 30666 | ;;;;;; whitespace-toggle-leading-check) "whitespace" "whitespace.el" | 30614 | ;;;;;; whitespace-toggle-leading-check) "whitespace" "whitespace.el" |
| 30667 | ;;;;;; (17994 6716)) | 30615 | ;;;;;; (17925 15266)) |
| 30668 | ;;; Generated autoloads from whitespace.el | 30616 | ;;; Generated autoloads from whitespace.el |
| 30669 | 30617 | ||
| 30670 | (autoload (quote whitespace-toggle-leading-check) "whitespace" "\ | 30618 | (autoload (quote whitespace-toggle-leading-check) "whitespace" "\ |
| @@ -30755,7 +30703,7 @@ This is meant to be added buffer-locally to `write-file-functions'. | |||
| 30755 | ;;;*** | 30703 | ;;;*** |
| 30756 | 30704 | ||
| 30757 | ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse | 30705 | ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse |
| 30758 | ;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17994 6716)) | 30706 | ;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17842 58278)) |
| 30759 | ;;; Generated autoloads from wid-browse.el | 30707 | ;;; Generated autoloads from wid-browse.el |
| 30760 | 30708 | ||
| 30761 | (autoload (quote widget-browse-at) "wid-browse" "\ | 30709 | (autoload (quote widget-browse-at) "wid-browse" "\ |
| @@ -30782,8 +30730,8 @@ With arg, turn widget mode on if and only if arg is positive. | |||
| 30782 | ;;;*** | 30730 | ;;;*** |
| 30783 | 30731 | ||
| 30784 | ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create | 30732 | ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create |
| 30785 | ;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17994 | 30733 | ;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17952 |
| 30786 | ;;;;;; 6716)) | 30734 | ;;;;;; 11093)) |
| 30787 | ;;; Generated autoloads from wid-edit.el | 30735 | ;;; Generated autoloads from wid-edit.el |
| 30788 | 30736 | ||
| 30789 | (autoload (quote widgetp) "wid-edit" "\ | 30737 | (autoload (quote widgetp) "wid-edit" "\ |
| @@ -30827,8 +30775,8 @@ Setup current buffer so editing string widgets works. | |||
| 30827 | ;;;*** | 30775 | ;;;*** |
| 30828 | 30776 | ||
| 30829 | ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right | 30777 | ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right |
| 30830 | ;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17994 | 30778 | ;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17842 |
| 30831 | ;;;;;; 6716)) | 30779 | ;;;;;; 58278)) |
| 30832 | ;;; Generated autoloads from windmove.el | 30780 | ;;; Generated autoloads from windmove.el |
| 30833 | 30781 | ||
| 30834 | (autoload (quote windmove-left) "windmove" "\ | 30782 | (autoload (quote windmove-left) "windmove" "\ |
| @@ -30881,7 +30829,7 @@ Default MODIFIER is 'shift. | |||
| 30881 | ;;;*** | 30829 | ;;;*** |
| 30882 | 30830 | ||
| 30883 | ;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el" | 30831 | ;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el" |
| 30884 | ;;;;;; (17994 6716)) | 30832 | ;;;;;; (17842 58278)) |
| 30885 | ;;; Generated autoloads from winner.el | 30833 | ;;; Generated autoloads from winner.el |
| 30886 | 30834 | ||
| 30887 | (defvar winner-mode nil "\ | 30835 | (defvar winner-mode nil "\ |
| @@ -30900,7 +30848,7 @@ With arg, turn Winner mode on if and only if arg is positive. | |||
| 30900 | ;;;*** | 30848 | ;;;*** |
| 30901 | 30849 | ||
| 30902 | ;;;### (autoloads (woman-find-file woman-dired-find-file woman) "woman" | 30850 | ;;;### (autoloads (woman-find-file woman-dired-find-file woman) "woman" |
| 30903 | ;;;;;; "woman.el" (17994 6716)) | 30851 | ;;;;;; "woman.el" (17949 41467)) |
| 30904 | ;;; Generated autoloads from woman.el | 30852 | ;;; Generated autoloads from woman.el |
| 30905 | 30853 | ||
| 30906 | (autoload (quote woman) "woman" "\ | 30854 | (autoload (quote woman) "woman" "\ |
| @@ -30936,7 +30884,7 @@ decompress the file if appropriate. See the documentation for the | |||
| 30936 | ;;;*** | 30884 | ;;;*** |
| 30937 | 30885 | ||
| 30938 | ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" | 30886 | ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" |
| 30939 | ;;;;;; (17994 6715)) | 30887 | ;;;;;; (17842 54264)) |
| 30940 | ;;; Generated autoloads from emulation/ws-mode.el | 30888 | ;;; Generated autoloads from emulation/ws-mode.el |
| 30941 | 30889 | ||
| 30942 | (autoload (quote wordstar-mode) "ws-mode" "\ | 30890 | (autoload (quote wordstar-mode) "ws-mode" "\ |
| @@ -31049,7 +30997,7 @@ The key bindings are: | |||
| 31049 | ;;;*** | 30997 | ;;;*** |
| 31050 | 30998 | ||
| 31051 | ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" | 30999 | ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" |
| 31052 | ;;;;;; (17994 6716)) | 31000 | ;;;;;; (17916 14776)) |
| 31053 | ;;; Generated autoloads from xml.el | 31001 | ;;; Generated autoloads from xml.el |
| 31054 | 31002 | ||
| 31055 | (autoload (quote xml-parse-file) "xml" "\ | 31003 | (autoload (quote xml-parse-file) "xml" "\ |
| @@ -31074,8 +31022,8 @@ If PARSE-NS is non-nil, then QNAMES are expanded. | |||
| 31074 | 31022 | ||
| 31075 | ;;;*** | 31023 | ;;;*** |
| 31076 | 31024 | ||
| 31077 | ;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (18000 | 31025 | ;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (18007 |
| 31078 | ;;;;;; 23909)) | 31026 | ;;;;;; 39657)) |
| 31079 | ;;; Generated autoloads from xt-mouse.el | 31027 | ;;; Generated autoloads from xt-mouse.el |
| 31080 | 31028 | ||
| 31081 | (defvar xterm-mouse-mode nil "\ | 31029 | (defvar xterm-mouse-mode nil "\ |
| @@ -31103,7 +31051,7 @@ down the SHIFT key while pressing the mouse button. | |||
| 31103 | ;;;*** | 31051 | ;;;*** |
| 31104 | 31052 | ||
| 31105 | ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" | 31053 | ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" |
| 31106 | ;;;;;; "gnus/yenc.el" (17994 6715)) | 31054 | ;;;;;; "gnus/yenc.el" (17842 54741)) |
| 31107 | ;;; Generated autoloads from gnus/yenc.el | 31055 | ;;; Generated autoloads from gnus/yenc.el |
| 31108 | 31056 | ||
| 31109 | (autoload (quote yenc-decode-region) "yenc" "\ | 31057 | (autoload (quote yenc-decode-region) "yenc" "\ |
| @@ -31119,7 +31067,7 @@ Extract file name from an yenc header. | |||
| 31119 | ;;;*** | 31067 | ;;;*** |
| 31120 | 31068 | ||
| 31121 | ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism | 31069 | ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism |
| 31122 | ;;;;;; yow) "yow" "play/yow.el" (17994 6715)) | 31070 | ;;;;;; yow) "yow" "play/yow.el" (17842 55395)) |
| 31123 | ;;; Generated autoloads from play/yow.el | 31071 | ;;; Generated autoloads from play/yow.el |
| 31124 | 31072 | ||
| 31125 | (autoload (quote yow) "yow" "\ | 31073 | (autoload (quote yow) "yow" "\ |
| @@ -31145,7 +31093,7 @@ Zippy goes to the analyst. | |||
| 31145 | 31093 | ||
| 31146 | ;;;*** | 31094 | ;;;*** |
| 31147 | 31095 | ||
| 31148 | ;;;### (autoloads (zone) "zone" "play/zone.el" (17994 6715)) | 31096 | ;;;### (autoloads (zone) "zone" "play/zone.el" (17941 38806)) |
| 31149 | ;;; Generated autoloads from play/zone.el | 31097 | ;;; Generated autoloads from play/zone.el |
| 31150 | 31098 | ||
| 31151 | (autoload (quote zone) "zone" "\ | 31099 | (autoload (quote zone) "zone" "\ |
| @@ -31285,7 +31233,7 @@ Zone out, completely. | |||
| 31285 | ;;;;;; "url/url-vars.el" "url/vc-dav.el" "vc-hooks.el" "vcursor.el" | 31233 | ;;;;;; "url/url-vars.el" "url/vc-dav.el" "vc-hooks.el" "vcursor.el" |
| 31286 | ;;;;;; "version.el" "vms-patch.el" "vmsproc.el" "vt-control.el" | 31234 | ;;;;;; "version.el" "vms-patch.el" "vmsproc.el" "vt-control.el" |
| 31287 | ;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "widget.el" "window.el" | 31235 | ;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "widget.el" "window.el" |
| 31288 | ;;;;;; "x-dnd.el") (18000 29139 491614)) | 31236 | ;;;;;; "x-dnd.el") (18016 62249 573562)) |
| 31289 | 31237 | ||
| 31290 | ;;;*** | 31238 | ;;;*** |
| 31291 | 31239 | ||
diff --git a/lisp/longlines.el b/lisp/longlines.el index f39d31e69f0..149f69c9f26 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el | |||
| @@ -368,10 +368,10 @@ Hard newlines are left intact." | |||
| 368 | With optional argument ARG, turn on line wrapping if and only if ARG is positive. | 368 | With optional argument ARG, turn on line wrapping if and only if ARG is positive. |
| 369 | If automatic line wrapping is turned on, wrap the entire buffer." | 369 | If automatic line wrapping is turned on, wrap the entire buffer." |
| 370 | (interactive "P") | 370 | (interactive "P") |
| 371 | (and (null arg) | 371 | (setq arg (if arg |
| 372 | (null longlines-auto-wrap) | 372 | (> (prefix-numeric-value arg) 0) |
| 373 | (setq arg 1)) | 373 | (not longlines-auto-wrap))) |
| 374 | (if (> (prefix-numeric-value arg) 0) | 374 | (if arg |
| 375 | (let ((mod (buffer-modified-p))) | 375 | (let ((mod (buffer-modified-p))) |
| 376 | (setq longlines-auto-wrap t) | 376 | (setq longlines-auto-wrap t) |
| 377 | (longlines-wrap-region (point-min) (point-max)) | 377 | (longlines-wrap-region (point-min) (point-max)) |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 13aba1a3fb0..2a2f0355ab2 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -228,7 +228,7 @@ Otherwise, look for `movemail' in the directories in | |||
| 228 | `emacs' Means any implementation, compatible with the native Emacs one. | 228 | `emacs' Means any implementation, compatible with the native Emacs one. |
| 229 | This is the default; | 229 | This is the default; |
| 230 | `mailutils' Means GNU mailutils implementation, capable of handling full | 230 | `mailutils' Means GNU mailutils implementation, capable of handling full |
| 231 | mail URLs as the source mailbox;") | 231 | mail URLs as the source mailbox.") |
| 232 | 232 | ||
| 233 | ;;;###autoload | 233 | ;;;###autoload |
| 234 | (defun rmail-movemail-variant-p (&rest variants) | 234 | (defun rmail-movemail-variant-p (&rest variants) |
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 6383722a4be..288f3f24e66 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el | |||
| @@ -854,6 +854,15 @@ Search, the `unseen' attribute is restored.") | |||
| 854 | (set-buffer rmail-buffer) | 854 | (set-buffer rmail-buffer) |
| 855 | (rmail-show-message msg-num t)))))) | 855 | (rmail-show-message msg-num t)))))) |
| 856 | (rmail-summary-update-highlight nil))))) | 856 | (rmail-summary-update-highlight nil))))) |
| 857 | |||
| 858 | (defun rmail-summary-save-buffer () | ||
| 859 | "Save the buffer associated with this RMAIL summary." | ||
| 860 | (interactive) | ||
| 861 | (save-window-excursion | ||
| 862 | (save-excursion | ||
| 863 | (switch-to-buffer rmail-buffer) | ||
| 864 | (save-buffer)))) | ||
| 865 | |||
| 857 | 866 | ||
| 858 | (if rmail-summary-mode-map | 867 | (if rmail-summary-mode-map |
| 859 | nil | 868 | nil |
| @@ -923,6 +932,7 @@ Search, the `unseen' attribute is restored.") | |||
| 923 | 'rmail-summary-sort-by-lines) | 932 | 'rmail-summary-sort-by-lines) |
| 924 | (define-key rmail-summary-mode-map "\C-c\C-s\C-k" | 933 | (define-key rmail-summary-mode-map "\C-c\C-s\C-k" |
| 925 | 'rmail-summary-sort-by-labels) | 934 | 'rmail-summary-sort-by-labels) |
| 935 | (define-key rmail-summary-mode-map "\C-x\C-s" 'rmail-summary-save-buffer) | ||
| 926 | ) | 936 | ) |
| 927 | 937 | ||
| 928 | ;;; Menu bar bindings. | 938 | ;;; Menu bar bindings. |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 8b122f89b49..3d3a08e0528 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-06-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * mh-mime.el (mh-mh-directive-present-p): | ||
| 4 | * mh-search.el (mh-index-group-by-folder): Fix typos in docstrings. | ||
| 5 | |||
| 1 | 2006-11-14 Bill Wohler <wohler@newt.com> | 6 | 2006-11-14 Bill Wohler <wohler@newt.com> |
| 2 | 7 | ||
| 3 | * mh-xface.el (mh-x-image-url-cache-canonicalize): Add `*' to | 8 | * mh-xface.el (mh-x-image-url-cache-canonicalize): Add `*' to |
| @@ -10,7 +15,7 @@ | |||
| 10 | * mh-e.el (Version, mh-version): Update for release 8.0.3. | 15 | * mh-e.el (Version, mh-version): Update for release 8.0.3. |
| 11 | 16 | ||
| 12 | * mh-e.el (mh-alias-local-users): Boolean docstrings should start | 17 | * mh-e.el (mh-alias-local-users): Boolean docstrings should start |
| 13 | with "Non-nil means". Perhaps this option should have a -flag | 18 | with "Non-nil means". Perhaps this option should have a -flag |
| 14 | appended. | 19 | appended. |
| 15 | (mh-junk-background): Sync docstring with manual. | 20 | (mh-junk-background): Sync docstring with manual. |
| 16 | 21 | ||
| @@ -62,7 +67,7 @@ | |||
| 62 | * mh-tool-bar.el (mh-tool-bar-define): Fix XEmacs' vector-list so | 67 | * mh-tool-bar.el (mh-tool-bar-define): Fix XEmacs' vector-list so |
| 63 | it refers to the icons in mh-xemacs-icon-map instead of trying to | 68 | it refers to the icons in mh-xemacs-icon-map instead of trying to |
| 64 | declare the icons in situ. This allows mh-tool-bar.el to be | 69 | declare the icons in situ. This allows mh-tool-bar.el to be |
| 65 | compiled under XEmacs. Remove initial value for | 70 | compiled under XEmacs. Remove initial value for |
| 66 | mh-tool-bar-folder-buttons, mh-tool-bar-show-buttons, | 71 | mh-tool-bar-folder-buttons, mh-tool-bar-show-buttons, |
| 67 | mh-tool-bar-letter-buttons. The MH-E icons now appear in XEmacs. | 72 | mh-tool-bar-letter-buttons. The MH-E icons now appear in XEmacs. |
| 68 | In mh-tool-bar-init, check for mh-xemacs-use-tool-bar-flag sooner. | 73 | In mh-tool-bar-init, check for mh-xemacs-use-tool-bar-flag sooner. |
| @@ -133,7 +138,7 @@ | |||
| 133 | 2006-04-26 Eric Ding <ericding@alum.mit.edu> | 138 | 2006-04-26 Eric Ding <ericding@alum.mit.edu> |
| 134 | 139 | ||
| 135 | * mh-e.el (mh-invisible-header-fields-internal): Add entry | 140 | * mh-e.el (mh-invisible-header-fields-internal): Add entry |
| 136 | "X-Provags-ID:" | 141 | "X-Provags-ID:". |
| 137 | 142 | ||
| 138 | 2006-04-25 Bill Wohler <wohler@newt.com> | 143 | 2006-04-25 Bill Wohler <wohler@newt.com> |
| 139 | 144 | ||
| @@ -155,9 +160,9 @@ | |||
| 155 | 160 | ||
| 156 | * mh-letter.el (mh-insert-letter): If a message number isn't | 161 | * mh-letter.el (mh-insert-letter): If a message number isn't |
| 157 | given, throw an error rather than using a potentially incorrect | 162 | given, throw an error rather than using a potentially incorrect |
| 158 | message number (closes SF #1473729). In addition, use the cur | 163 | message number (closes SF #1473729). In addition, use the cur |
| 159 | message if mh-sent-from-msg is nil (when sending a message, in | 164 | message if mh-sent-from-msg is nil (when sending a message, in |
| 160 | contrast to replying). Move conversion of int to string into | 165 | contrast to replying). Move conversion of int to string into |
| 161 | interactive stanza so body can assume variables are of proper | 166 | interactive stanza so body can assume variables are of proper |
| 162 | type. | 167 | type. |
| 163 | 168 | ||
| @@ -177,15 +182,15 @@ | |||
| 177 | (mh-tool-bar-folder-buttons-set, mh-tool-bar-letter-buttons-set): | 182 | (mh-tool-bar-folder-buttons-set, mh-tool-bar-letter-buttons-set): |
| 178 | Call it (closes SF #1452718). | 183 | Call it (closes SF #1452718). |
| 179 | 184 | ||
| 180 | * mh-folder.el (mh-folder-buttons-init-flag): Delete. Use | 185 | * mh-folder.el (mh-folder-buttons-init-flag): Delete. Use |
| 181 | mh-folder-tool-bar-map instead. | 186 | mh-folder-tool-bar-map instead. |
| 182 | (image-load-path): Delete. No longer used. | 187 | (image-load-path): Delete. No longer used. |
| 183 | (mh-folder-mode): Moved setting of image-load-path into | 188 | (mh-folder-mode): Moved setting of image-load-path into |
| 184 | mh-tool-bar-folder-buttons-init. | 189 | mh-tool-bar-folder-buttons-init. |
| 185 | 190 | ||
| 186 | * mh-letter.el (mh-letter-buttons-init-flag): Delete. Use | 191 | * mh-letter.el (mh-letter-buttons-init-flag): Delete. Use |
| 187 | mh-letter-tool-bar-map instead. | 192 | mh-letter-tool-bar-map instead. |
| 188 | (image-load-path): Delete. No longer used. | 193 | (image-load-path): Delete. No longer used. |
| 189 | (mh-letter-mode): Moved setting of image-load-path into | 194 | (mh-letter-mode): Moved setting of image-load-path into |
| 190 | mh-tool-bar-letter-buttons-init. | 195 | mh-tool-bar-letter-buttons-init. |
| 191 | 196 | ||
| @@ -202,10 +207,10 @@ | |||
| 202 | * mh-e.el (defcustom-mh, defface-mh, defgroup-mh, mh-face-data) | 207 | * mh-e.el (defcustom-mh, defface-mh, defgroup-mh, mh-face-data) |
| 203 | (mh-strip-package-version, mh-face-data, mh-inherit-face-flag) | 208 | (mh-strip-package-version, mh-face-data, mh-inherit-face-flag) |
| 204 | (mh-min-colors-defined-flag): Do not unbind these macros and | 209 | (mh-min-colors-defined-flag): Do not unbind these macros and |
| 205 | variables. Nice idea, but too many nasty side-effects. These | 210 | variables. Nice idea, but too many nasty side-effects. These |
| 206 | macros are needed by [Cc]ustom-make-dependencies when creating the | 211 | macros are needed by [Cc]ustom-make-dependencies when creating the |
| 207 | MH-E customization groups in mh-cus-load.el. These disappeared | 212 | MH-E customization groups in mh-cus-load.el. These disappeared |
| 208 | when the macros above were introduced. Besides, if a developer | 213 | when the macros above were introduced. Besides, if a developer |
| 209 | were to try to show the help for a macro or variable they were | 214 | were to try to show the help for a macro or variable they were |
| 210 | looking at and got [No match] when they did so, that would be bad. | 215 | looking at and got [No match] when they did so, that would be bad. |
| 211 | 216 | ||
| @@ -218,11 +223,11 @@ | |||
| 218 | variables and functions with the same name are found correctly by | 223 | variables and functions with the same name are found correctly by |
| 219 | find-func (invoked by clicking on the filename link in the *Help* | 224 | find-func (invoked by clicking on the filename link in the *Help* |
| 220 | buffer). | 225 | buffer). |
| 221 | (mh-defmacro-compat): Rename to defmacro-mh. Ditto. | 226 | (mh-defmacro-compat): Rename to defmacro-mh. Ditto. |
| 222 | 227 | ||
| 223 | * mh-e.el: (mh-defgroup): Rename to defgroup-mh. Ditto. | 228 | * mh-e.el (mh-defgroup): Rename to defgroup-mh. Ditto. |
| 224 | (mh-defcustom): Rename to defcustom-mh. Ditto. | 229 | (mh-defcustom): Rename to defcustom-mh. Ditto. |
| 225 | (mh-defface): Rename to defface-mh. Ditto. | 230 | (mh-defface): Rename to defface-mh. Ditto. |
| 226 | (mh-font-lock-add-keywords): Make changes according to these | 231 | (mh-font-lock-add-keywords): Make changes according to these |
| 227 | renamings. | 232 | renamings. |
| 228 | 233 | ||
| @@ -232,11 +237,11 @@ | |||
| 232 | * mh-utils.el (mh-sub-folders-actual): Mention that folder must | 237 | * mh-utils.el (mh-sub-folders-actual): Mention that folder must |
| 233 | have been processed by mh-normalize-folder-name. | 238 | have been processed by mh-normalize-folder-name. |
| 234 | (mh-folder-completion-function): Handle completion of folders with | 239 | (mh-folder-completion-function): Handle completion of folders with |
| 235 | absolute names. Also, when flag is t, display complete folder name | 240 | absolute names. Also, when flag is t, display complete folder name |
| 236 | to provide proper highlighting in Emacs 22 now that | 241 | to provide proper highlighting in Emacs 22 now that |
| 237 | minibuffer-completing-file-name is nil (closes SF #1470518). | 242 | minibuffer-completing-file-name is nil (closes SF #1470518). |
| 238 | (mh-folder-completing-read): No longer set | 243 | (mh-folder-completing-read): No longer set |
| 239 | minibuffer-completing-file-name to t. This was causing "Can't set | 244 | minibuffer-completing-file-name to t. This was causing "Can't set |
| 240 | current directory errors" when browsing absolute file names. | 245 | current directory errors" when browsing absolute file names. |
| 241 | Another benefit of this change is that SPC can be used for | 246 | Another benefit of this change is that SPC can be used for |
| 242 | completion again (closes SF #1470518). | 247 | completion again (closes SF #1470518). |
| @@ -256,9 +261,9 @@ | |||
| 256 | 261 | ||
| 257 | * mh-show.el (font-lock-auto-fontify): Ditto. | 262 | * mh-show.el (font-lock-auto-fontify): Ditto. |
| 258 | 263 | ||
| 259 | * mh-utils.el (mh-speed-flists-cache): Ditto | 264 | * mh-utils.el (mh-speed-flists-cache): Ditto. |
| 260 | 265 | ||
| 261 | * mh-acros.el (struct, x, y): No need to wrap defvar with | 266 | * mh-acros.el (struct, x, y): No need to wrap defvar with |
| 262 | eval-when-compile when shushing compiler, even when | 267 | eval-when-compile when shushing compiler, even when |
| 263 | mh-do-in-xemacs or another construct is used. | 268 | mh-do-in-xemacs or another construct is used. |
| 264 | 269 | ||
| @@ -287,7 +292,7 @@ | |||
| 287 | * mh-xface.el (default-enable-multibyte-characters): Ditto. | 292 | * mh-xface.el (default-enable-multibyte-characters): Ditto. |
| 288 | 293 | ||
| 289 | * mh-compat.el (mh-font-lock-add-keywords): New alias for | 294 | * mh-compat.el (mh-font-lock-add-keywords): New alias for |
| 290 | font-lock-add-keywords. Returns nil on XEmacs. | 295 | font-lock-add-keywords. Returns nil on XEmacs. |
| 291 | 296 | ||
| 292 | * mh-e.el: Add MH-E function and variable keywords such as | 297 | * mh-e.el: Add MH-E function and variable keywords such as |
| 293 | mh-defun-compat and mh-defcustom to font-lock-keywords. | 298 | mh-defun-compat and mh-defcustom to font-lock-keywords. |
| @@ -297,7 +302,7 @@ | |||
| 297 | * mh-e.el (customize-package-emacs-version-alist) | 302 | * mh-e.el (customize-package-emacs-version-alist) |
| 298 | (mh-e, mh-alias, mh-folder, mh-folder-selection) | 303 | (mh-e, mh-alias, mh-folder, mh-folder-selection) |
| 299 | (mh-identity, mh-inc, mh-junk, mh-letter, mh-ranges) | 304 | (mh-identity, mh-inc, mh-junk, mh-letter, mh-ranges) |
| 300 | (mh-scan-line-formats, mh-search, mh-sending-mail, ) | 305 | (mh-scan-line-formats, mh-search, mh-sending-mail) |
| 301 | (mh-sequences, mh-show, mh-speedbar, mh-thread, mh-tool-bar) | 306 | (mh-sequences, mh-show, mh-speedbar, mh-thread, mh-tool-bar) |
| 302 | (mh-hooks, mh-faces, mh-alias-completion-ignore-case-flag) | 307 | (mh-hooks, mh-faces, mh-alias-completion-ignore-case-flag) |
| 303 | (mh-alias-expand-aliases-flag, mh-alias-flash-on-comma) | 308 | (mh-alias-expand-aliases-flag, mh-alias-flash-on-comma) |
| @@ -307,7 +312,7 @@ | |||
| 307 | (mh-new-messages-folders, mh-ticked-messages-folders) | 312 | (mh-new-messages-folders, mh-ticked-messages-folders) |
| 308 | (mh-large-folder, mh-recenter-summary-flag) | 313 | (mh-large-folder, mh-recenter-summary-flag) |
| 309 | (mh-recursive-folders-flag, mh-sortm-args) | 314 | (mh-recursive-folders-flag, mh-sortm-args) |
| 310 | (mh-default-folder-for-message-function, ) | 315 | (mh-default-folder-for-message-function) |
| 311 | (mh-default-folder-list, mh-default-folder-must-exist-flag) | 316 | (mh-default-folder-list, mh-default-folder-must-exist-flag) |
| 312 | (mh-default-folder-prefix, mh-identity-list) | 317 | (mh-default-folder-prefix, mh-identity-list) |
| 313 | (mh-auto-fields-list, mh-auto-fields-prompt-flag) | 318 | (mh-auto-fields-list, mh-auto-fields-prompt-flag) |
| @@ -320,18 +325,18 @@ | |||
| 320 | (mh-extract-from-attribution-verb, mh-ins-buf-prefix) | 325 | (mh-extract-from-attribution-verb, mh-ins-buf-prefix) |
| 321 | (mh-letter-complete-function, mh-letter-fill-column) | 326 | (mh-letter-complete-function, mh-letter-fill-column) |
| 322 | (mh-mml-method-default, mh-signature-file-name) | 327 | (mh-mml-method-default, mh-signature-file-name) |
| 323 | (mh-signature-separator-flag, mh-x-face-file, ) | 328 | (mh-signature-separator-flag, mh-x-face-file) |
| 324 | (mh-yank-behavior, mh-interpret-number-as-range-flag) | 329 | (mh-yank-behavior, mh-interpret-number-as-range-flag) |
| 325 | (mh-adaptive-cmd-note-flag, mh-scan-format-file, mh-scan-prog) | 330 | (mh-adaptive-cmd-note-flag, mh-scan-format-file, mh-scan-prog) |
| 326 | (mh-search-program, mh-compose-forward-as-mime-flag) | 331 | (mh-search-program, mh-compose-forward-as-mime-flag) |
| 327 | (mh-compose-letter-function, mh-compose-prompt-flag) | 332 | (mh-compose-letter-function, mh-compose-prompt-flag) |
| 328 | (mh-forward-subject-format, mh-insert-x-mailer-flag) | 333 | (mh-forward-subject-format, mh-insert-x-mailer-flag) |
| 329 | (mh-redist-full-contents-flag, mh-reply-default-reply-to) | 334 | (mh-redist-full-contents-flag, mh-reply-default-reply-to) |
| 330 | (mh-reply-show-message-flag, ) | 335 | (mh-reply-show-message-flag) |
| 331 | (mh-refile-preserves-sequences-flag, mh-tick-seq) | 336 | (mh-refile-preserves-sequences-flag, mh-tick-seq) |
| 332 | (mh-update-sequences-after-mh-show-flag) | 337 | (mh-update-sequences-after-mh-show-flag) |
| 333 | (mh-bury-show-buffer-flag, mh-clean-message-header-flag) | 338 | (mh-bury-show-buffer-flag, mh-clean-message-header-flag) |
| 334 | (mh-decode-mime-flag, ) | 339 | (mh-decode-mime-flag) |
| 335 | (mh-display-buttons-for-alternatives-flag) | 340 | (mh-display-buttons-for-alternatives-flag) |
| 336 | (mh-display-buttons-for-inline-parts-flag) | 341 | (mh-display-buttons-for-inline-parts-flag) |
| 337 | (mh-do-not-confirm-flag, mh-fetch-x-image-url) | 342 | (mh-do-not-confirm-flag, mh-fetch-x-image-url) |
| @@ -348,8 +353,7 @@ | |||
| 348 | (mh-alias-reloaded-hook, mh-before-commands-processed-hook) | 353 | (mh-alias-reloaded-hook, mh-before-commands-processed-hook) |
| 349 | (mh-before-quit-hook, mh-before-send-letter-hook) | 354 | (mh-before-quit-hook, mh-before-send-letter-hook) |
| 350 | (mh-delete-msg-hook, mh-find-path-hook, mh-folder-mode-hook) | 355 | (mh-delete-msg-hook, mh-find-path-hook, mh-folder-mode-hook) |
| 351 | (mh-forward-hook, mh-inc-folder-hook, ) | 356 | (mh-forward-hook, mh-inc-folder-hook, mh-insert-signature-hook) |
| 352 | (mh-insert-signature-hook, ) | ||
| 353 | (mh-kill-folder-suppress-prompt-hooks, mh-letter-mode-hook) | 357 | (mh-kill-folder-suppress-prompt-hooks, mh-letter-mode-hook) |
| 354 | (mh-mh-to-mime-hook, mh-search-mode-hook, mh-quit-hook) | 358 | (mh-mh-to-mime-hook, mh-search-mode-hook, mh-quit-hook) |
| 355 | (mh-refile-msg-hook, mh-show-hook, mh-show-mode-hook) | 359 | (mh-refile-msg-hook, mh-show-hook, mh-show-mode-hook) |
| @@ -361,7 +365,7 @@ | |||
| 361 | (mh-letter-header-field, mh-search-folder, mh-show-cc) | 365 | (mh-letter-header-field, mh-search-folder, mh-show-cc) |
| 362 | (mh-show-date, mh-show-from, mh-show-header, mh-show-pgg-bad) | 366 | (mh-show-date, mh-show-from, mh-show-header, mh-show-pgg-bad) |
| 363 | (mh-show-pgg-good, mh-show-pgg-unknown, mh-show-signature) | 367 | (mh-show-pgg-good, mh-show-pgg-unknown, mh-show-signature) |
| 364 | (mh-show-subject, mh-show-to, mh-show-xface, ) | 368 | (mh-show-subject, mh-show-to, mh-show-xface) |
| 365 | (mh-speedbar-folder, mh-speedbar-folder-with-unseen-messages) | 369 | (mh-speedbar-folder, mh-speedbar-folder-with-unseen-messages) |
| 366 | (mh-speedbar-selected-folder) | 370 | (mh-speedbar-selected-folder) |
| 367 | (mh-speedbar-selected-folder-with-unseen-messages): Use dotted | 371 | (mh-speedbar-selected-folder-with-unseen-messages): Use dotted |
| @@ -375,7 +379,7 @@ | |||
| 375 | 2006-03-31 Bill Wohler <wohler@newt.com> | 379 | 2006-03-31 Bill Wohler <wohler@newt.com> |
| 376 | 380 | ||
| 377 | * mh-e.el (mh-strip-package-version): Move before use to avoid | 381 | * mh-e.el (mh-strip-package-version): Move before use to avoid |
| 378 | compiler error. Make macro, also to avoid compiler error. | 382 | compiler error. Make macro, also to avoid compiler error. |
| 379 | (mh-defface-compat): Incorporate body into mh-face-data and | 383 | (mh-defface-compat): Incorporate body into mh-face-data and |
| 380 | delete. | 384 | delete. |
| 381 | 385 | ||
| @@ -474,7 +478,7 @@ | |||
| 474 | MH-Letter mode, move save-buffer and mh-fully-kill-draft icons in | 478 | MH-Letter mode, move save-buffer and mh-fully-kill-draft icons in |
| 475 | front of mh-compose-insertion to be consistent with other mailers, | 479 | front of mh-compose-insertion to be consistent with other mailers, |
| 476 | such as Evolution. In MH-Folder mode, move vanilla reply icon to | 480 | such as Evolution. In MH-Folder mode, move vanilla reply icon to |
| 477 | the left of the other reply icons. Use mail/inbox icon instead of | 481 | the left of the other reply icons. Use mail/inbox icon instead of |
| 478 | mail, next-page instead of page-down, delete instead of close, | 482 | mail, next-page instead of page-down, delete instead of close, |
| 479 | mail/move instead of mail/refile, data-save instead of execute, | 483 | mail/move instead of mail/refile, data-save instead of execute, |
| 480 | mail/flag-for-followup instead of highlight, contact instead of | 484 | mail/flag-for-followup instead of highlight, contact instead of |
| @@ -513,7 +517,7 @@ | |||
| 513 | 2006-03-15 Bill Wohler <wohler@newt.com> | 517 | 2006-03-15 Bill Wohler <wohler@newt.com> |
| 514 | 518 | ||
| 515 | * mh-compat.el (mh-image-load-path-for-library): Fix example by | 519 | * mh-compat.el (mh-image-load-path-for-library): Fix example by |
| 516 | not recommending that one binds image-load-path. Just defvar it to | 520 | not recommending that one binds image-load-path. Just defvar it to |
| 517 | placate compiler and only use it if previously defined. | 521 | placate compiler and only use it if previously defined. |
| 518 | 522 | ||
| 519 | * mh-e.el (image-load-path): Don't bind! | 523 | * mh-e.el (image-load-path): Don't bind! |
| @@ -551,11 +555,11 @@ | |||
| 551 | 2006-03-10 Bill Wohler <wohler@newt.com> | 555 | 2006-03-10 Bill Wohler <wohler@newt.com> |
| 552 | 556 | ||
| 553 | * mh-compat.el (mh-replace-regexp-in-string): Pass the literal | 557 | * mh-compat.el (mh-replace-regexp-in-string): Pass the literal |
| 554 | flag to replace-in-string. This was badly needed by | 558 | flag to replace-in-string. This was badly needed by |
| 555 | mh-quote-pick-expr in order to properly quote subjects when using | 559 | mh-quote-pick-expr in order to properly quote subjects when using |
| 556 | / s on XEmacs (closes SF #1447598). | 560 | / s on XEmacs (closes SF #1447598). |
| 557 | (mh-image-load-path-for-library): Merged changes from Reiner. Add | 561 | (mh-image-load-path-for-library): Merged changes from Reiner. Add |
| 558 | no-error argument. If path t, just return directory. | 562 | no-error argument. If path t, just return directory. |
| 559 | 563 | ||
| 560 | * mh-e.el (mh-profile-component): Drop `s' from mhparam | 564 | * mh-e.el (mh-profile-component): Drop `s' from mhparam |
| 561 | -components for Mailutils compatibility (closes SF #1446985). | 565 | -components for Mailutils compatibility (closes SF #1446985). |
| @@ -598,11 +602,11 @@ | |||
| 598 | (mh-sub-folders): Use new flag to mh-normalize-folder-name to make | 602 | (mh-sub-folders): Use new flag to mh-normalize-folder-name to make |
| 599 | this function more robust. It could too easily list the folders in /. | 603 | this function more robust. It could too easily list the folders in /. |
| 600 | (mh-folder-list): Fix a couple of problems pointed out by Thomas | 604 | (mh-folder-list): Fix a couple of problems pointed out by Thomas |
| 601 | Baumann. Set folder to nil if empty. Don't append "/" if folder nil. | 605 | Baumann. Set folder to nil if empty. Don't append "/" if folder nil. |
| 602 | 606 | ||
| 603 | 2006-03-03 Bill Wohler <wohler@newt.com> | 607 | 2006-03-03 Bill Wohler <wohler@newt.com> |
| 604 | 608 | ||
| 605 | * mh-folder.el (mh-folder-mode): Rename mh-image-load-path to | 609 | * mh-folder.el (mh-folder-mode): Rename mh-image-load-path to |
| 606 | mh-image-load-path-for-library. | 610 | mh-image-load-path-for-library. |
| 607 | 611 | ||
| 608 | * mh-letter.el (mh-letter-mode): Rename mh-image-load-path to | 612 | * mh-letter.el (mh-letter-mode): Rename mh-image-load-path to |
| @@ -689,7 +693,7 @@ | |||
| 689 | 2006-02-21 Eric Ding <ericding@alum.mit.edu> | 693 | 2006-02-21 Eric Ding <ericding@alum.mit.edu> |
| 690 | 694 | ||
| 691 | * mh-e.el (mh-invisible-header-fields-internal): Add entry | 695 | * mh-e.el (mh-invisible-header-fields-internal): Add entry |
| 692 | "X-Sasl-enc:" | 696 | "X-Sasl-enc:". |
| 693 | 697 | ||
| 694 | 2006-02-20 Eric Ding <ericding@alum.mit.edu> | 698 | 2006-02-20 Eric Ding <ericding@alum.mit.edu> |
| 695 | 699 | ||
| @@ -958,7 +962,7 @@ | |||
| 958 | 962 | ||
| 959 | * mh-comp.el (mh-send-sub): Don't find components file in current | 963 | * mh-comp.el (mh-send-sub): Don't find components file in current |
| 960 | directory--this seems to have been a side-effect of commenting out | 964 | directory--this seems to have been a side-effect of commenting out |
| 961 | the use of an old mh-etc variable. Improve error message. | 965 | the use of an old mh-etc variable. Improve error message. |
| 962 | 966 | ||
| 963 | 2006-01-31 Bill Wohler <wohler@newt.com> | 967 | 2006-01-31 Bill Wohler <wohler@newt.com> |
| 964 | 968 | ||
| @@ -979,7 +983,7 @@ | |||
| 979 | (mh-display-completion-list): Move here from mh-comp.el. | 983 | (mh-display-completion-list): Move here from mh-comp.el. |
| 980 | (mh-face-foreground, mh-face-background): Move here from | 984 | (mh-face-foreground, mh-face-background): Move here from |
| 981 | mh-xface.el. | 985 | mh-xface.el. |
| 982 | (mh-write-file-functions): Move here from mh-folder.el | 986 | (mh-write-file-functions): Move here from mh-folder.el. |
| 983 | 987 | ||
| 984 | * mh-folder.el (mh-write-file-functions-compat): Move to | 988 | * mh-folder.el (mh-write-file-functions-compat): Move to |
| 985 | mh-compat.el and rename to mh-write-file-functions. | 989 | mh-compat.el and rename to mh-write-file-functions. |
| @@ -1042,7 +1046,7 @@ | |||
| 1042 | mh-adaptive-cmd-note-flag. | 1046 | mh-adaptive-cmd-note-flag. |
| 1043 | 1047 | ||
| 1044 | * mh-comp.el (sc-cite-original): Remove autoload of "sc" with old | 1048 | * mh-comp.el (sc-cite-original): Remove autoload of "sc" with old |
| 1045 | docstring. sc-cite-original is autoloaded via loaddefs.el for all | 1049 | docstring. sc-cite-original is autoloaded via loaddefs.el for all |
| 1046 | supported versions. In addition, the package name "sc" has been | 1050 | supported versions. In addition, the package name "sc" has been |
| 1047 | made obsolete by "supercite since at least Emacs 21. | 1051 | made obsolete by "supercite since at least Emacs 21. |
| 1048 | 1052 | ||
| @@ -1323,7 +1327,7 @@ | |||
| 1323 | 1327 | ||
| 1324 | * mh-exec.el: Move content into mh-e.el and remove. | 1328 | * mh-exec.el: Move content into mh-e.el and remove. |
| 1325 | 1329 | ||
| 1326 | * mh-folder.el: New file. Contains mh-folder-mode from mh-e.el. | 1330 | * mh-folder.el: New file. Contains mh-folder-mode from mh-e.el. |
| 1327 | 1331 | ||
| 1328 | * mh-funcs.el (mh-note-copied, mh-note-printed): Move to new file | 1332 | * mh-funcs.el (mh-note-copied, mh-note-printed): Move to new file |
| 1329 | mh-scan.el. | 1333 | mh-scan.el. |
| @@ -1368,7 +1372,7 @@ | |||
| 1368 | 1372 | ||
| 1369 | * mh-print.el: Rearrange for consistency with other files. | 1373 | * mh-print.el: Rearrange for consistency with other files. |
| 1370 | 1374 | ||
| 1371 | * mh-scan.el: New file. Contains scan line constants and utilities | 1375 | * mh-scan.el: New file. Contains scan line constants and utilities |
| 1372 | from XXX, mh-funcs, mh-utils.el. | 1376 | from XXX, mh-funcs, mh-utils.el. |
| 1373 | 1377 | ||
| 1374 | * mh-search.el: Rearrange for consistency with other files. | 1378 | * mh-search.el: Rearrange for consistency with other files. |
| @@ -1565,7 +1569,7 @@ | |||
| 1565 | * mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; | 1569 | * mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; |
| 1566 | needed to help remove dependency on mh-utils. | 1570 | needed to help remove dependency on mh-utils. |
| 1567 | 1571 | ||
| 1568 | * mh-exec.el: New file. Move process support routines here from | 1572 | * mh-exec.el: New file. Move process support routines here from |
| 1569 | mh-utils.el. | 1573 | mh-utils.el. |
| 1570 | 1574 | ||
| 1571 | * mh-init.el (mh-utils): Remove require. | 1575 | * mh-init.el (mh-utils): Remove require. |
| @@ -1612,7 +1616,7 @@ | |||
| 1612 | (mh-kill-folder-suppress-prompt-hooks): Rename mh-index-p to | 1616 | (mh-kill-folder-suppress-prompt-hooks): Rename mh-index-p to |
| 1613 | mh-search-p. | 1617 | mh-search-p. |
| 1614 | (mh-search-mode-hook): Change group from mh-index to mh-search. | 1618 | (mh-search-mode-hook): Change group from mh-index to mh-search. |
| 1615 | (mh-index-folder): Rename to mh-search-folder. Change group from | 1619 | (mh-index-folder): Rename to mh-search-folder. Change group from |
| 1616 | mh-index to mh-search. | 1620 | mh-index to mh-search. |
| 1617 | 1621 | ||
| 1618 | * mh-e.el (mh-folder-font-lock-keywords): Rename mh-index-folder | 1622 | * mh-e.el (mh-folder-font-lock-keywords): Rename mh-index-folder |
| @@ -1667,7 +1671,7 @@ | |||
| 1667 | 2006-01-12 Bill Wohler <wohler@newt.com> | 1671 | 2006-01-12 Bill Wohler <wohler@newt.com> |
| 1668 | 1672 | ||
| 1669 | * mh-search.el: New file containing contents of mh-index.el and | 1673 | * mh-search.el: New file containing contents of mh-index.el and |
| 1670 | mh-pick.el. C-c C-c launches your mh-index-program; C-c C-p runs | 1674 | mh-pick.el. C-c C-c launches your mh-index-program; C-c C-p runs |
| 1671 | pick. Pick no longer sets the "search" sequence. Instead, it | 1675 | pick. Pick no longer sets the "search" sequence. Instead, it |
| 1672 | brings up a folder view that we're accustomed to. (Closes SF | 1676 | brings up a folder view that we're accustomed to. (Closes SF |
| 1673 | #829207.) | 1677 | #829207.) |
| @@ -1722,13 +1726,13 @@ | |||
| 1722 | 1726 | ||
| 1723 | * mh-utils.el (mh-x-image-url-cache-canonicalize): Use | 1727 | * mh-utils.el (mh-x-image-url-cache-canonicalize): Use |
| 1724 | url-hexify-string to remove special characters from filenames | 1728 | url-hexify-string to remove special characters from filenames |
| 1725 | (closes SF #1396499). Note that this invalidates the existing | 1729 | (closes SF #1396499). Note that this invalidates the existing |
| 1726 | names in your cache so you might as well remove | 1730 | names in your cache so you might as well remove |
| 1727 | ~/Mail/.mhe-x-image-cache/* now. | 1731 | ~/Mail/.mhe-x-image-cache/* now. |
| 1728 | (url-unreserved-chars, url-hexify-string): Define if not defined. | 1732 | (url-unreserved-chars, url-hexify-string): Define if not defined. |
| 1729 | Copied from url-util.el in Emacs22 for Emacs 21. | 1733 | Copied from url-util.el in Emacs22 for Emacs 21. |
| 1730 | 1734 | ||
| 1731 | * mh-buffers.el: New file. Contains constants and code from | 1735 | * mh-buffers.el: New file. Contains constants and code from |
| 1732 | mh-index.el and mh-utils.el. | 1736 | mh-index.el and mh-utils.el. |
| 1733 | 1737 | ||
| 1734 | * mh-alias.el: | 1738 | * mh-alias.el: |
| @@ -1758,7 +1762,7 @@ | |||
| 1758 | 2006-01-10 Bill Wohler <wohler@newt.com> | 1762 | 2006-01-10 Bill Wohler <wohler@newt.com> |
| 1759 | 1763 | ||
| 1760 | * mh-comp.el (mh-insert-letter): If you choose a different folder, | 1764 | * mh-comp.el (mh-insert-letter): If you choose a different folder, |
| 1761 | the cur message is used. Sync docstring with manual (closes SF | 1765 | the cur message is used. Sync docstring with manual (closes SF |
| 1762 | #1205890). | 1766 | #1205890). |
| 1763 | 1767 | ||
| 1764 | * mh-mime.el (mh-compose-forward): Use standard range argument | 1768 | * mh-mime.el (mh-compose-forward): Use standard range argument |
| @@ -1776,7 +1780,7 @@ | |||
| 1776 | use function mh-variants instead. | 1780 | use function mh-variants instead. |
| 1777 | (mh-variant-info, mh-variant-mh-info, mh-variant-mu-mh-info) | 1781 | (mh-variant-info, mh-variant-mh-info, mh-variant-mu-mh-info) |
| 1778 | (mh-variant-nmh-info): Co-locate next to mh-variants, which uses | 1782 | (mh-variant-nmh-info): Co-locate next to mh-variants, which uses |
| 1779 | them. Updated to use mh-file-command-p which is more accurrate | 1783 | them. Updated to use mh-file-command-p which is more accurrate |
| 1780 | than file-executable-p which returns t for directories. | 1784 | than file-executable-p which returns t for directories. |
| 1781 | (mh-file-command-p): Move here from mh-utils, since | 1785 | (mh-file-command-p): Move here from mh-utils, since |
| 1782 | mh-variant-*-info are the only functions to use it. | 1786 | mh-variant-*-info are the only functions to use it. |
| @@ -1962,8 +1966,8 @@ | |||
| 1962 | 1966 | ||
| 1963 | * mh-customize.el (mh-folder-msg-number): Snow is actually | 1967 | * mh-customize.el (mh-folder-msg-number): Snow is actually |
| 1964 | off-white on low color displays which turns to white when bold. | 1968 | off-white on low color displays which turns to white when bold. |
| 1965 | This is unreadable on white backgrounds. Use snow with min-colors | 1969 | This is unreadable on white backgrounds. Use snow with min-colors |
| 1966 | requirement. Use cyan on low-color displays. | 1970 | requirement. Use cyan on low-color displays. |
| 1967 | 1971 | ||
| 1968 | * mh-init.el (mh-defface-compat): On low-color displays, delete | 1972 | * mh-init.el (mh-defface-compat): On low-color displays, delete |
| 1969 | the high-color display rather than simply strip the min-colors | 1973 | the high-color display rather than simply strip the min-colors |
| @@ -1976,13 +1980,13 @@ | |||
| 1976 | 2006-01-02 Bill Wohler <wohler@newt.com> | 1980 | 2006-01-02 Bill Wohler <wohler@newt.com> |
| 1977 | 1981 | ||
| 1978 | * mh-alias.el (mh-alias-grab-from-field): Remove leading * from | 1982 | * mh-alias.el (mh-alias-grab-from-field): Remove leading * from |
| 1979 | docstring. Does this mean something in a defun? | 1983 | docstring. Does this mean something in a defun? |
| 1980 | 1984 | ||
| 1981 | * mh-customize.el (bw-new-face-to-old, bw-old-face-to-new): | 1985 | * mh-customize.el (bw-new-face-to-old, bw-old-face-to-new): |
| 1982 | Checkdoc fix. | 1986 | Checkdoc fix. |
| 1983 | 1987 | ||
| 1984 | * mh-e.el (mh-inc-folder): Rename maildrop-name argument to file | 1988 | * mh-e.el (mh-inc-folder): Rename maildrop-name argument to file |
| 1985 | so it reads better in docstring and manual. Sync docstring with | 1989 | so it reads better in docstring and manual. Sync docstring with |
| 1986 | manual. | 1990 | manual. |
| 1987 | 1991 | ||
| 1988 | * mh-init.el (mh-defface-compat): Remove trailing space (checkdoc). | 1992 | * mh-init.el (mh-defface-compat): Remove trailing space (checkdoc). |
| @@ -2004,7 +2008,7 @@ | |||
| 2004 | * mh-e.el (mh-refile-or-write-again, mh-toggle-showing): Ditto. | 2008 | * mh-e.el (mh-refile-or-write-again, mh-toggle-showing): Ditto. |
| 2005 | 2009 | ||
| 2006 | * mh-funcs.el (mh-pipe-msg, mh-sort-folder, mh-undo-folder) | 2010 | * mh-funcs.el (mh-pipe-msg, mh-sort-folder, mh-undo-folder) |
| 2007 | (mh-store-msg, mh-store-buffer): Ditto | 2011 | (mh-store-msg, mh-store-buffer): Ditto. |
| 2008 | 2012 | ||
| 2009 | * mh-index.el (mh-index-search, mh-index-do-search) | 2013 | * mh-index.el (mh-index-search, mh-index-do-search) |
| 2010 | (mh-index-next-folder, mh-index-sequenced-messages): Ditto. | 2014 | (mh-index-next-folder, mh-index-sequenced-messages): Ditto. |
| @@ -2014,7 +2018,7 @@ | |||
| 2014 | * mh-mime.el (mh-mh-compose-external-compressed-tar) | 2018 | * mh-mime.el (mh-mh-compose-external-compressed-tar) |
| 2015 | (mh-mh-compose-external-type, mh-mh-to-mime, mh-mh-to-mime-undo) | 2019 | (mh-mh-compose-external-type, mh-mh-to-mime, mh-mh-to-mime-undo) |
| 2016 | (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt) | 2020 | (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt) |
| 2017 | (mh-mml-secure-message-signencrypt): Ditto | 2021 | (mh-mml-secure-message-signencrypt): Ditto. |
| 2018 | 2022 | ||
| 2019 | * mh-pick.el (mh-search-folder): Ditto. | 2023 | * mh-pick.el (mh-search-folder): Ditto. |
| 2020 | 2024 | ||
| @@ -2068,7 +2072,7 @@ | |||
| 2068 | (mh-scan-date-regexp, mh-scan-rcpt-regexp, mh-scan-body-regexp) | 2072 | (mh-scan-date-regexp, mh-scan-rcpt-regexp, mh-scan-body-regexp) |
| 2069 | (mh-scan-subject-regexp): Sync docstrings with manual | 2073 | (mh-scan-subject-regexp): Sync docstrings with manual |
| 2070 | (mh-scan-format-regexp): Rename to | 2074 | (mh-scan-format-regexp): Rename to |
| 2071 | mh-scan-sent-to-me-sender-regexp. Drop date parenthesized | 2075 | mh-scan-sent-to-me-sender-regexp. Drop date parenthesized |
| 2072 | expression. Make expression more like the others (anchored at the | 2076 | expression. Make expression more like the others (anchored at the |
| 2073 | beginning of line). Sync docstrings with manual. | 2077 | beginning of line). Sync docstrings with manual. |
| 2074 | (mh-folder-font-lock-keywords): Use faces directly rather than | 2078 | (mh-folder-font-lock-keywords): Use faces directly rather than |
| @@ -2228,7 +2232,7 @@ | |||
| 2228 | (mh-tool-bar-define): Replace toolbar with tool-bar or tool bar | 2232 | (mh-tool-bar-define): Replace toolbar with tool-bar or tool bar |
| 2229 | depending on context. | 2233 | depending on context. |
| 2230 | (mh-toolbar-init): Rename to mh-tool-bar-init. Simplify condition | 2234 | (mh-toolbar-init): Rename to mh-tool-bar-init. Simplify condition |
| 2231 | for calling set-specifier. Only look at the value of | 2235 | for calling set-specifier. Only look at the value of |
| 2232 | mh-xemacs-use-tool-bar-flag. | 2236 | mh-xemacs-use-tool-bar-flag. |
| 2233 | (mh-tool-bar-folder-buttons, mh-tool-bar-letter-buttons): | 2237 | (mh-tool-bar-folder-buttons, mh-tool-bar-letter-buttons): |
| 2234 | Sync docstrings with manual. | 2238 | Sync docstrings with manual. |
| @@ -2501,7 +2505,7 @@ | |||
| 2501 | msg argument to message (to make for a better docstring). | 2505 | msg argument to message (to make for a better docstring). |
| 2502 | 2506 | ||
| 2503 | * mh-customize.el (mh-redist-full-contents-flag): Convert defvar | 2507 | * mh-customize.el (mh-redist-full-contents-flag): Convert defvar |
| 2504 | to defcustom. Rename by adding -flag. | 2508 | to defcustom. Rename by adding -flag. |
| 2505 | (mh-compose-forward-as-mime-flag) | 2509 | (mh-compose-forward-as-mime-flag) |
| 2506 | (mh-compose-letter-function, mh-forward-subject-format) | 2510 | (mh-compose-letter-function, mh-forward-subject-format) |
| 2507 | (mh-insert-x-mailer-flag, mh-reply-default-reply-to) | 2511 | (mh-insert-x-mailer-flag, mh-reply-default-reply-to) |
| @@ -2623,10 +2627,10 @@ | |||
| 2623 | Sync docstring with manual. | 2627 | Sync docstring with manual. |
| 2624 | 2628 | ||
| 2625 | * mh-identity.el (mh-assoc-ignore-case): Merge with version in | 2629 | * mh-identity.el (mh-assoc-ignore-case): Merge with version in |
| 2626 | mh-alias.el and move to mh-acros.el | 2630 | mh-alias.el and move to mh-acros.el. |
| 2627 | 2631 | ||
| 2628 | * mh-alias.el (mh-assoc-ignore-case): Merge with version in | 2632 | * mh-alias.el (mh-assoc-ignore-case): Merge with version in |
| 2629 | mh-identity.el and move to mh-acros.el | 2633 | mh-identity.el and move to mh-acros.el. |
| 2630 | 2634 | ||
| 2631 | * mh-acros.el (mh-assoc-ignore-case): Merge of function from | 2635 | * mh-acros.el (mh-assoc-ignore-case): Merge of function from |
| 2632 | mh-identity.el and mh-alias.el. | 2636 | mh-identity.el and mh-alias.el. |
| @@ -2667,15 +2671,15 @@ | |||
| 2667 | mh-mhn-compose-external-compressed-tar to | 2671 | mh-mhn-compose-external-compressed-tar to |
| 2668 | mh-mh-compose-external-compressed-tar. Rename | 2672 | mh-mh-compose-external-compressed-tar. Rename |
| 2669 | mh-mhn-compose-anon-ftp to mh-mh-compose-anon-ftp. Rename | 2673 | mh-mhn-compose-anon-ftp to mh-mh-compose-anon-ftp. Rename |
| 2670 | mh-edit-mhn to mh-mh-to-mime. Rename mh-mhn-directive-present-p to | 2674 | mh-edit-mhn to mh-mh-to-mime. Rename mh-mhn-directive-present-p to |
| 2671 | mh-mh-directive-present-p. Rename mh-revert-mhn-edit to | 2675 | mh-mh-directive-present-p. Rename mh-revert-mhn-edit to |
| 2672 | mh-mh-to-mime-undo. Rename mh-gnus-pgp-support-flag to | 2676 | mh-mh-to-mime-undo. Rename mh-gnus-pgp-support-flag to |
| 2673 | mh-pgp-support-flag. Rename mh-compose-insertion value from 'mhn | 2677 | mh-pgp-support-flag. Rename mh-compose-insertion value from 'mhn |
| 2674 | to 'mh. | 2678 | to 'mh. |
| 2675 | (mh-insert-signature): Rename mh-mhn-directive-present-p to | 2679 | (mh-insert-signature): Rename mh-mhn-directive-present-p to |
| 2676 | mh-mh-directive-present-p. | 2680 | mh-mh-directive-present-p. |
| 2677 | (mh-send-letter): Rename mh-mhn-directive-present-p to | 2681 | (mh-send-letter): Rename mh-mhn-directive-present-p to |
| 2678 | mh-mh-directive-present-p. Rename mh-edit-mhn to mh-mh-to-mime. | 2682 | mh-mh-directive-present-p. Rename mh-edit-mhn to mh-mh-to-mime. |
| 2679 | (mh-letter-mode-map): Rename mh-edit-mhn to mh-mh-to-mime. Rename | 2683 | (mh-letter-mode-map): Rename mh-edit-mhn to mh-mh-to-mime. Rename |
| 2680 | mh-mhn-compose-anon-ftp to mh-mh-compose-anon-ftp. Rename | 2684 | mh-mhn-compose-anon-ftp to mh-mh-compose-anon-ftp. Rename |
| 2681 | mh-mhn-compose-external-compressed-tar to | 2685 | mh-mhn-compose-external-compressed-tar to |
| @@ -2829,7 +2833,7 @@ | |||
| 2829 | 2833 | ||
| 2830 | * mh-e.el (Version, mh-version): Add +cvs to version. | 2834 | * mh-e.el (Version, mh-version): Add +cvs to version. |
| 2831 | 2835 | ||
| 2832 | 2005-10-14 Bill Wohler <wohler@newt.com> | 2836 | 2005-10-14 Bill Wohler <wohler@newt.com> |
| 2833 | 2837 | ||
| 2834 | Released MH-E version 7.85. | 2838 | Released MH-E version 7.85. |
| 2835 | 2839 | ||
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index 0f2b7daa741..56cfc6544ce 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el | |||
| @@ -1667,7 +1667,7 @@ This action can be undone by running \\[undo]." | |||
| 1667 | (defun mh-mh-directive-present-p (&optional begin end) | 1667 | (defun mh-mh-directive-present-p (&optional begin end) |
| 1668 | "Check if the text between BEGIN and END might be a MH-style directive. | 1668 | "Check if the text between BEGIN and END might be a MH-style directive. |
| 1669 | The optional argument BEGIN defaults to the beginning of the | 1669 | The optional argument BEGIN defaults to the beginning of the |
| 1670 | buffer, while END defaults to the the end of the buffer." | 1670 | buffer, while END defaults to the end of the buffer." |
| 1671 | (unless begin (setq begin (point-min))) | 1671 | (unless begin (setq begin (point-min))) |
| 1672 | (unless end (setq end (point-max))) | 1672 | (unless end (setq end (point-max))) |
| 1673 | (save-excursion | 1673 | (save-excursion |
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el index 715556ad16d..ebd45aef6a6 100644 --- a/lisp/mh-e/mh-search.el +++ b/lisp/mh-e/mh-search.el | |||
| @@ -1357,7 +1357,7 @@ record is invalid return 'error." | |||
| 1357 | ;;;###mh-autoload | 1357 | ;;;###mh-autoload |
| 1358 | (defun mh-index-group-by-folder () | 1358 | (defun mh-index-group-by-folder () |
| 1359 | "Partition the messages based on source folder. | 1359 | "Partition the messages based on source folder. |
| 1360 | Returns an alist with the the folder names in the car and the cdr | 1360 | Returns an alist with the folder names in the car and the cdr |
| 1361 | being the list of messages originally from that folder." | 1361 | being the list of messages originally from that folder." |
| 1362 | (save-excursion | 1362 | (save-excursion |
| 1363 | (goto-char (point-min)) | 1363 | (goto-char (point-min)) |
diff --git a/lisp/net/socks.el b/lisp/net/socks.el new file mode 100644 index 00000000000..ee2bc0c1d2d --- /dev/null +++ b/lisp/net/socks.el | |||
| @@ -0,0 +1,650 @@ | |||
| 1 | ;;; socks.el --- A Socks v5 Client for Emacs | ||
| 2 | |||
| 3 | ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, | ||
| 4 | ;; 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | ;; Author: William M. Perry <wmperry@gnu.org> | ||
| 7 | ;; Dave Love <fx@gnu.org> | ||
| 8 | ;; Keywords: comm, firewalls | ||
| 9 | |||
| 10 | ;; This file is part of GNU Emacs. | ||
| 11 | |||
| 12 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 13 | ;; it under the terms of the GNU General Public License as published by | ||
| 14 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 15 | ;; any later version. | ||
| 16 | |||
| 17 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 20 | ;; GNU General Public License for more details. | ||
| 21 | |||
| 22 | ;; You should have received a copy of the GNU General Public License | ||
| 23 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 24 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 25 | ;; Boston, MA 02110-1301, USA. | ||
| 26 | |||
| 27 | ;;; Commentary: | ||
| 28 | |||
| 29 | ;; This is an implementation of the SOCKS v5 protocol as defined in | ||
| 30 | ;; RFC 1928. | ||
| 31 | |||
| 32 | ;; TODO | ||
| 33 | ;; - Finish the redirection rules stuff | ||
| 34 | ;; - Implement composition of servers. Recursively evaluate the | ||
| 35 | ;; redirection rules and do SOCKS-over-HTTP and SOCKS-in-SOCKS | ||
| 36 | |||
| 37 | (eval-when-compile | ||
| 38 | (require 'wid-edit)) | ||
| 39 | (require 'custom) | ||
| 40 | |||
| 41 | (if (not (fboundp 'split-string)) | ||
| 42 | (defun split-string (string &optional pattern) | ||
| 43 | "Return a list of substrings of STRING which are separated by PATTERN. | ||
| 44 | If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"." | ||
| 45 | (or pattern | ||
| 46 | (setq pattern "[ \f\t\n\r\v]+")) | ||
| 47 | (let (parts (start 0)) | ||
| 48 | (while (string-match pattern string start) | ||
| 49 | (setq parts (cons (substring string start (match-beginning 0)) parts) | ||
| 50 | start (match-end 0))) | ||
| 51 | (nreverse (cons (substring string start) parts))))) | ||
| 52 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 53 | ;;; Custom widgets | ||
| 54 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 55 | (define-widget 'dynamic-choice 'menu-choice | ||
| 56 | "A pretty simple dynamic dropdown list" | ||
| 57 | :format "%[%t%]: %v" | ||
| 58 | :tag "Network" | ||
| 59 | :case-fold t | ||
| 60 | :void '(item :format "invalid (%t)\n") | ||
| 61 | :value-create 's5-widget-value-create | ||
| 62 | :value-delete 'widget-children-value-delete | ||
| 63 | :value-get 'widget-choice-value-get | ||
| 64 | :value-inline 'widget-choice-value-inline | ||
| 65 | :mouse-down-action 'widget-choice-mouse-down-action | ||
| 66 | :action 'widget-choice-action | ||
| 67 | :error "Make a choice" | ||
| 68 | :validate 'widget-choice-validate | ||
| 69 | :match 's5-dynamic-choice-match | ||
| 70 | :match-inline 's5-dynamic-choice-match-inline) | ||
| 71 | |||
| 72 | (defun s5-dynamic-choice-match (widget value) | ||
| 73 | (let ((choices (funcall (widget-get widget :choice-function))) | ||
| 74 | current found) | ||
| 75 | (while (and choices (not found)) | ||
| 76 | (setq current (car choices) | ||
| 77 | choices (cdr choices) | ||
| 78 | found (widget-apply current :match value))) | ||
| 79 | found)) | ||
| 80 | |||
| 81 | (defun s5-dynamic-choice-match-inline (widget value) | ||
| 82 | (let ((choices (funcall (widget-get widget :choice-function))) | ||
| 83 | current found) | ||
| 84 | (while (and choices (not found)) | ||
| 85 | (setq current (car choices) | ||
| 86 | choices (cdr choices) | ||
| 87 | found (widget-match-inline current value))) | ||
| 88 | found)) | ||
| 89 | |||
| 90 | (defun s5-widget-value-create (widget) | ||
| 91 | (let ((choices (funcall (widget-get widget :choice-function))) | ||
| 92 | (value (widget-get widget :value))) | ||
| 93 | (if (not value) | ||
| 94 | (widget-put widget :value (widget-value (car choices)))) | ||
| 95 | (widget-put widget :args choices) | ||
| 96 | (widget-choice-value-create widget))) | ||
| 97 | |||
| 98 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 99 | ;;; Customization support | ||
| 100 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 101 | (defgroup socks nil | ||
| 102 | "SOCKS Support" | ||
| 103 | :prefix "socks-" | ||
| 104 | :group 'processes) | ||
| 105 | |||
| 106 | '(defcustom socks-server-aliases nil | ||
| 107 | "A list of server aliases for use in access control and filtering rules." | ||
| 108 | :group 'socks | ||
| 109 | :type '(repeat (list :format "%v" | ||
| 110 | :value ("" "" 1080 5) | ||
| 111 | (string :tag "Alias") | ||
| 112 | (string :tag "Hostname/IP Address") | ||
| 113 | (integer :tag "Port #") | ||
| 114 | (choice :tag "SOCKS Version" | ||
| 115 | (integer :tag "SOCKS v4" :value 4) | ||
| 116 | (integer :tag "SOCKS v5" :value 5))))) | ||
| 117 | |||
| 118 | '(defcustom socks-network-aliases | ||
| 119 | '(("Anywhere" (netmask "0.0.0.0" "0.0.0.0"))) | ||
| 120 | "A list of network aliases for use in subsequent rules." | ||
| 121 | :group 'socks | ||
| 122 | :type '(repeat (list :format "%v" | ||
| 123 | :value (netmask "" "255.255.255.0") | ||
| 124 | (string :tag "Alias") | ||
| 125 | (radio-button-choice | ||
| 126 | :format "%v" | ||
| 127 | (list :tag "IP address range" | ||
| 128 | (const :format "" :value range) | ||
| 129 | (string :tag "From") | ||
| 130 | (string :tag "To")) | ||
| 131 | (list :tag "IP address/netmask" | ||
| 132 | (const :format "" :value netmask) | ||
| 133 | (string :tag "IP Address") | ||
| 134 | (string :tag "Netmask")) | ||
| 135 | (list :tag "Domain Name" | ||
| 136 | (const :format "" :value domain) | ||
| 137 | (string :tag "Domain name")) | ||
| 138 | (list :tag "Unique hostname/IP address" | ||
| 139 | (const :format "" :value exact) | ||
| 140 | (string :tag "Hostname/IP Address")))))) | ||
| 141 | |||
| 142 | '(defun s5-servers-filter () | ||
| 143 | (if socks-server-aliases | ||
| 144 | (mapcar (lambda (x) (list 'const :tag (car x) :value (car x))) s5-server-aliases) | ||
| 145 | '((const :tag "No aliases defined" :value nil)))) | ||
| 146 | |||
| 147 | '(defun s5-network-aliases-filter () | ||
| 148 | (mapcar (lambda (x) (list 'const :tag (car x) :value (car x))) | ||
| 149 | socks-network-aliases)) | ||
| 150 | |||
| 151 | '(defcustom socks-redirection-rules | ||
| 152 | nil | ||
| 153 | "A list of redirection rules." | ||
| 154 | :group 'socks | ||
| 155 | :type '(repeat (list :format "%v" | ||
| 156 | :value ("Anywhere" nil) | ||
| 157 | (dynamic-choice :choice-function s5-network-aliases-filter | ||
| 158 | :tag "Destination network") | ||
| 159 | (radio-button-choice | ||
| 160 | :tag "Connection type" | ||
| 161 | (const :tag "Direct connection" :value nil) | ||
| 162 | (dynamic-choice :format "%t: %[%v%]" | ||
| 163 | :choice-function s5-servers-filter | ||
| 164 | :tag "Proxy chain via"))))) | ||
| 165 | |||
| 166 | (defcustom socks-server | ||
| 167 | (list "Default server" "socks" 1080 5) | ||
| 168 | "" | ||
| 169 | :group 'socks | ||
| 170 | :type '(list | ||
| 171 | (string :format "" :value "Default server") | ||
| 172 | (string :tag "Server") | ||
| 173 | (integer :tag "Port") | ||
| 174 | (radio-button-choice :tag "SOCKS Version" | ||
| 175 | :format "%t: %v" | ||
| 176 | (const :tag "SOCKS v4 " :format "%t" :value 4) | ||
| 177 | (const :tag "SOCKS v5" :format "%t" :value 5)))) | ||
| 178 | |||
| 179 | |||
| 180 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 181 | ;;; Get down to the nitty gritty | ||
| 182 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 183 | (defconst socks-version 5) | ||
| 184 | (defvar socks-debug nil) | ||
| 185 | |||
| 186 | ;; Common socks v5 commands | ||
| 187 | (defconst socks-connect-command 1) | ||
| 188 | (defconst socks-bind-command 2) | ||
| 189 | (defconst socks-udp-associate-command 3) | ||
| 190 | |||
| 191 | ;; Miscellaneous other socks constants | ||
| 192 | (defconst socks-authentication-null 0) | ||
| 193 | (defconst socks-authentication-failure 255) | ||
| 194 | |||
| 195 | ;; Response codes | ||
| 196 | (defconst socks-response-success 0) | ||
| 197 | (defconst socks-response-general-failure 1) | ||
| 198 | (defconst socks-response-access-denied 2) | ||
| 199 | (defconst socks-response-network-unreachable 3) | ||
| 200 | (defconst socks-response-host-unreachable 4) | ||
| 201 | (defconst socks-response-connection-refused 5) | ||
| 202 | (defconst socks-response-ttl-expired 6) | ||
| 203 | (defconst socks-response-cmd-not-supported 7) | ||
| 204 | (defconst socks-response-address-not-supported 8) | ||
| 205 | |||
| 206 | (defvar socks-errors | ||
| 207 | '("Succeeded" | ||
| 208 | "General SOCKS server failure" | ||
| 209 | "Connection not allowed by ruleset" | ||
| 210 | "Network unreachable" | ||
| 211 | "Host unreachable" | ||
| 212 | "Connection refused" | ||
| 213 | "Time-to-live expired" | ||
| 214 | "Command not supported" | ||
| 215 | "Address type not supported")) | ||
| 216 | |||
| 217 | ;; The socks v5 address types | ||
| 218 | (defconst socks-address-type-v4 1) | ||
| 219 | (defconst socks-address-type-name 3) | ||
| 220 | (defconst socks-address-type-v6 4) | ||
| 221 | |||
| 222 | ;; Base variables | ||
| 223 | (defvar socks-timeout 5) | ||
| 224 | (defvar socks-connections (make-hash-table :size 13)) | ||
| 225 | |||
| 226 | ;; Miscellaneous stuff for authentication | ||
| 227 | (defvar socks-authentication-methods nil) | ||
| 228 | (defvar socks-username (user-login-name)) | ||
| 229 | (defvar socks-password nil) | ||
| 230 | |||
| 231 | (defun socks-register-authentication-method (id desc callback) | ||
| 232 | (let ((old (assq id socks-authentication-methods))) | ||
| 233 | (if old | ||
| 234 | (setcdr old (cons desc callback)) | ||
| 235 | (setq socks-authentication-methods | ||
| 236 | (cons (cons id (cons desc callback)) | ||
| 237 | socks-authentication-methods))))) | ||
| 238 | |||
| 239 | (defun socks-unregister-authentication-method (id) | ||
| 240 | (let ((old (assq id socks-authentication-methods))) | ||
| 241 | (if old | ||
| 242 | (setq socks-authentication-methods | ||
| 243 | (delq old socks-authentication-methods))))) | ||
| 244 | |||
| 245 | (socks-register-authentication-method 0 "No authentication" 'identity) | ||
| 246 | |||
| 247 | (defun socks-build-auth-list () | ||
| 248 | (let ((num 0) | ||
| 249 | (retval "")) | ||
| 250 | (mapcar | ||
| 251 | (function | ||
| 252 | (lambda (x) | ||
| 253 | (if (fboundp (cdr (cdr x))) | ||
| 254 | (setq retval (format "%s%c" retval (car x)) | ||
| 255 | num (1+ num))))) | ||
| 256 | (reverse socks-authentication-methods)) | ||
| 257 | (format "%c%s" num retval))) | ||
| 258 | |||
| 259 | (defconst socks-state-waiting-for-auth 0) | ||
| 260 | (defconst socks-state-submethod-negotiation 1) | ||
| 261 | (defconst socks-state-authenticated 2) | ||
| 262 | (defconst socks-state-waiting 3) | ||
| 263 | (defconst socks-state-connected 4) | ||
| 264 | |||
| 265 | (defmacro socks-wait-for-state-change (proc htable cur-state) | ||
| 266 | (` | ||
| 267 | (while (and (= (gethash 'state (, htable)) (, cur-state)) | ||
| 268 | (memq (process-status (, proc)) '(run open))) | ||
| 269 | (accept-process-output (, proc) socks-timeout)))) | ||
| 270 | |||
| 271 | (defun socks-filter (proc string) | ||
| 272 | (let ((info (gethash proc socks-connections)) | ||
| 273 | state version desired-len) | ||
| 274 | (or info (error "socks-filter called on non-SOCKS connection %S" proc)) | ||
| 275 | (setq state (gethash 'state info)) | ||
| 276 | (cond | ||
| 277 | ((= state socks-state-waiting-for-auth) | ||
| 278 | (puthash 'scratch (concat string (gethash 'scratch info)) info) | ||
| 279 | (setq string (gethash 'scratch info)) | ||
| 280 | (if (< (length string) 2) | ||
| 281 | nil ; We need to spin some more | ||
| 282 | (puthash 'authtype (aref string 1) info) | ||
| 283 | (puthash 'scratch (substring string 2 nil) info) | ||
| 284 | (puthash 'state socks-state-submethod-negotiation info))) | ||
| 285 | ((= state socks-state-submethod-negotiation) | ||
| 286 | ) | ||
| 287 | ((= state socks-state-authenticated) | ||
| 288 | ) | ||
| 289 | ((= state socks-state-waiting) | ||
| 290 | (puthash 'scratch (concat string (gethash 'scratch info)) info) | ||
| 291 | (setq string (gethash 'scratch info)) | ||
| 292 | (setq version (gethash 'server-protocol info)) | ||
| 293 | (cond | ||
| 294 | ((equal version 'http) | ||
| 295 | (if (not (string-match "\r\n\r\n" string)) | ||
| 296 | nil ; Need to spin some more | ||
| 297 | (puthash 'state socks-state-connected info) | ||
| 298 | (puthash 'reply 0 info) | ||
| 299 | (puthash 'response string info))) | ||
| 300 | ((equal version 4) | ||
| 301 | (if (< (length string) 2) | ||
| 302 | nil ; Can't know how much to read yet | ||
| 303 | (setq desired-len | ||
| 304 | (+ 4 ; address length | ||
| 305 | 2 ; port | ||
| 306 | 2 ; initial data | ||
| 307 | )) | ||
| 308 | (if (< (length string) desired-len) | ||
| 309 | nil ; need to spin some more | ||
| 310 | (let ((response (aref string 1))) | ||
| 311 | (if (= response 90) | ||
| 312 | (setq response 0)) | ||
| 313 | (puthash 'state socks-state-connected info) | ||
| 314 | (puthash 'reply response info) | ||
| 315 | (puthash 'response string info))))) | ||
| 316 | ((equal version 5) | ||
| 317 | (if (< (length string) 4) | ||
| 318 | nil | ||
| 319 | (setq desired-len | ||
| 320 | (+ 6 ; Standard socks header | ||
| 321 | (cond | ||
| 322 | ((= (aref string 3) socks-address-type-v4) 4) | ||
| 323 | ((= (aref string 3) socks-address-type-v6) 16) | ||
| 324 | ((= (aref string 3) socks-address-type-name) | ||
| 325 | (if (< (length string) 5) | ||
| 326 | 255 | ||
| 327 | (+ 1 (aref string 4))))))) | ||
| 328 | (if (< (length string) desired-len) | ||
| 329 | nil ; Need to spin some more | ||
| 330 | (puthash 'state socks-state-connected info) | ||
| 331 | (puthash 'reply (aref string 1) info) | ||
| 332 | (puthash 'response string info)))))) | ||
| 333 | ((= state socks-state-connected) | ||
| 334 | ) | ||
| 335 | ) | ||
| 336 | ) | ||
| 337 | ) | ||
| 338 | |||
| 339 | (defun socks-open-connection (server-info) | ||
| 340 | (interactive) | ||
| 341 | (save-excursion | ||
| 342 | (let ((proc (socks-original-open-network-stream "socks" | ||
| 343 | nil | ||
| 344 | (nth 1 server-info) | ||
| 345 | (nth 2 server-info))) | ||
| 346 | (info (make-hash-table :size 13)) | ||
| 347 | (authtype nil) | ||
| 348 | version) | ||
| 349 | |||
| 350 | ;; Initialize process and info about the process | ||
| 351 | (set-process-filter proc 'socks-filter) | ||
| 352 | (set-process-query-on-exit-flag proc nil) | ||
| 353 | (puthash proc info socks-connections) | ||
| 354 | (puthash 'state socks-state-waiting-for-auth info) | ||
| 355 | (puthash 'authtype socks-authentication-failure info) | ||
| 356 | (puthash 'server-protocol (nth 3 server-info) info) | ||
| 357 | (puthash 'server-name (nth 1 server-info) info) | ||
| 358 | (setq version (nth 3 server-info)) | ||
| 359 | (cond | ||
| 360 | ((equal version 'http) | ||
| 361 | ;; Don't really have to do any connection setup under http | ||
| 362 | nil) | ||
| 363 | ((equal version 4) | ||
| 364 | ;; Don't really have to do any connection setup under v4 | ||
| 365 | nil) | ||
| 366 | ((equal version 5) | ||
| 367 | ;; Need to handle all the authentication crap under v5 | ||
| 368 | ;; Send what we think we can handle for authentication types | ||
| 369 | (process-send-string proc (format "%c%s" socks-version | ||
| 370 | (socks-build-auth-list))) | ||
| 371 | |||
| 372 | ;; Basically just do a select() until we change states. | ||
| 373 | (socks-wait-for-state-change proc info socks-state-waiting-for-auth) | ||
| 374 | (setq authtype (gethash 'authtype info)) | ||
| 375 | (cond | ||
| 376 | ((= authtype socks-authentication-null) | ||
| 377 | (and socks-debug (message "No authentication necessary"))) | ||
| 378 | ((= authtype socks-authentication-failure) | ||
| 379 | (error "No acceptable authentication methods found.")) | ||
| 380 | (t | ||
| 381 | (let* ((auth-type (gethash 'authtype info)) | ||
| 382 | (auth-handler (assoc auth-type socks-authentication-methods)) | ||
| 383 | (auth-func (and auth-handler (cdr (cdr auth-handler)))) | ||
| 384 | (auth-desc (and auth-handler (car (cdr auth-handler))))) | ||
| 385 | (set-process-filter proc nil) | ||
| 386 | (if (and auth-func (fboundp auth-func) | ||
| 387 | (funcall auth-func proc)) | ||
| 388 | nil ; We succeeded! | ||
| 389 | (delete-process proc) | ||
| 390 | (error "Failed to use auth method: %s (%d)" | ||
| 391 | (or auth-desc "Unknown") auth-type)) | ||
| 392 | ) | ||
| 393 | ) | ||
| 394 | ) | ||
| 395 | (puthash 'state socks-state-authenticated info) | ||
| 396 | (set-process-filter proc 'socks-filter))) | ||
| 397 | proc))) | ||
| 398 | |||
| 399 | (defun socks-send-command (proc command atype address port) | ||
| 400 | (let ((addr (cond | ||
| 401 | ((or (= atype socks-address-type-v4) | ||
| 402 | (= atype socks-address-type-v6)) | ||
| 403 | address) | ||
| 404 | ((= atype socks-address-type-name) | ||
| 405 | (format "%c%s" (length address) address)) | ||
| 406 | (t | ||
| 407 | (error "Unkown address type: %d" atype)))) | ||
| 408 | (info (gethash proc socks-connections)) | ||
| 409 | request version) | ||
| 410 | (or info (error "socks-send-command called on non-SOCKS connection %S" | ||
| 411 | proc)) | ||
| 412 | (puthash 'state socks-state-waiting info) | ||
| 413 | (setq version (gethash 'server-protocol info)) | ||
| 414 | (cond | ||
| 415 | ((equal version 'http) | ||
| 416 | (setq request (format (eval-when-compile | ||
| 417 | (concat | ||
| 418 | "CONNECT %s:%d HTTP/1.0\r\n" | ||
| 419 | "User-Agent: Emacs/SOCKS v1.0\r\n" | ||
| 420 | "\r\n")) | ||
| 421 | (cond | ||
| 422 | ((equal atype socks-address-type-name) address) | ||
| 423 | (t | ||
| 424 | (error "Unsupported address type for HTTP: %d" atype))) | ||
| 425 | port))) | ||
| 426 | ((equal version 4) | ||
| 427 | (setq request (format | ||
| 428 | "%c%c%c%c%s%s%c" | ||
| 429 | version ; version | ||
| 430 | command ; command | ||
| 431 | (lsh port -8) ; port, high byte | ||
| 432 | (- port (lsh (lsh port -8) 8)) ; port, low byte | ||
| 433 | addr ; address | ||
| 434 | (user-full-name) ; username | ||
| 435 | 0 ; terminate username | ||
| 436 | ))) | ||
| 437 | ((equal version 5) | ||
| 438 | (setq request (format | ||
| 439 | "%c%c%c%c%s%c%c" | ||
| 440 | version ; version | ||
| 441 | command ; command | ||
| 442 | 0 ; reserved | ||
| 443 | atype ; address type | ||
| 444 | addr ; address | ||
| 445 | (lsh port -8) ; port, high byte | ||
| 446 | (- port (lsh (lsh port -8) 8)) ; port, low byte | ||
| 447 | ))) | ||
| 448 | (t | ||
| 449 | (error "Unknown protocol version: %d" version))) | ||
| 450 | (process-send-string proc request) | ||
| 451 | (socks-wait-for-state-change proc info socks-state-waiting) | ||
| 452 | (process-status proc) | ||
| 453 | (if (= (or (gethash 'reply info) 1) socks-response-success) | ||
| 454 | nil ; Sweet sweet success! | ||
| 455 | (delete-process proc) | ||
| 456 | (error "SOCKS: %s" (nth (or (gethash 'reply info) 1) socks-errors))) | ||
| 457 | proc)) | ||
| 458 | |||
| 459 | |||
| 460 | ;; Replacement functions for open-network-stream, etc. | ||
| 461 | (defvar socks-noproxy nil | ||
| 462 | "*List of regexps matching hosts that we should not socksify connections to") | ||
| 463 | |||
| 464 | (defun socks-find-route (host service) | ||
| 465 | (let ((route socks-server) | ||
| 466 | (noproxy socks-noproxy)) | ||
| 467 | (while noproxy | ||
| 468 | (if (eq ?! (aref (car noproxy) 0)) | ||
| 469 | (if (string-match (substring (car noproxy) 1) host) | ||
| 470 | (setq noproxy nil)) | ||
| 471 | (if (string-match (car noproxy) host) | ||
| 472 | (setq route nil | ||
| 473 | noproxy nil))) | ||
| 474 | (setq noproxy (cdr noproxy))) | ||
| 475 | route)) | ||
| 476 | |||
| 477 | (defvar socks-override-functions nil | ||
| 478 | "*Whether to overwrite the open-network-stream function with the SOCKSified | ||
| 479 | version.") | ||
| 480 | |||
| 481 | (if (fboundp 'socks-original-open-network-stream) | ||
| 482 | nil ; Do nothing, we've been here already | ||
| 483 | (defalias 'socks-original-open-network-stream | ||
| 484 | (symbol-function 'open-network-stream)) | ||
| 485 | (if socks-override-functions | ||
| 486 | (defalias 'open-network-stream 'socks-open-network-stream))) | ||
| 487 | |||
| 488 | (defvar socks-services-file "/etc/services") | ||
| 489 | (defvar socks-tcp-services (make-hash-table :size 13 :test 'equal)) | ||
| 490 | (defvar socks-udp-services (make-hash-table :size 13 :test 'equal)) | ||
| 491 | |||
| 492 | (defun socks-parse-services () | ||
| 493 | (if (not (and (file-exists-p socks-services-file) | ||
| 494 | (file-readable-p socks-services-file))) | ||
| 495 | (error "Could not find services file: %s" socks-services-file)) | ||
| 496 | (save-excursion | ||
| 497 | (clrhash socks-tcp-services) | ||
| 498 | (clrhash socks-udp-services) | ||
| 499 | (set-buffer (get-buffer-create " *socks-tmp*")) | ||
| 500 | (erase-buffer) | ||
| 501 | (insert-file-contents socks-services-file) | ||
| 502 | ;; Nuke comments | ||
| 503 | (goto-char (point-min)) | ||
| 504 | (while (re-search-forward "#.*" nil t) | ||
| 505 | (replace-match "")) | ||
| 506 | ;; Nuke empty lines | ||
| 507 | (goto-char (point-min)) | ||
| 508 | (while (re-search-forward "^[ \t\n]+" nil t) | ||
| 509 | (replace-match "")) | ||
| 510 | ;; Now find all the lines | ||
| 511 | (goto-char (point-min)) | ||
| 512 | (let (name port type) | ||
| 513 | (while (re-search-forward "^\\([^ \t]+\\)[ \t]+\\([0-9]+\\)/\\([a-z]+\\)" | ||
| 514 | nil t) | ||
| 515 | (setq name (downcase (match-string 1)) | ||
| 516 | port (string-to-number (match-string 2)) | ||
| 517 | type (downcase (match-string 3))) | ||
| 518 | (puthash name port (if (equal type "udp") | ||
| 519 | socks-udp-services | ||
| 520 | socks-tcp-services)))))) | ||
| 521 | |||
| 522 | (defun socks-find-services-entry (service &optional udp) | ||
| 523 | "Return the port # associated with SERVICE" | ||
| 524 | (if (= (hash-table-count socks-tcp-services) 0) | ||
| 525 | (socks-parse-services)) | ||
| 526 | (gethash (downcase service) | ||
| 527 | (if udp socks-udp-services socks-tcp-services))) | ||
| 528 | |||
| 529 | (defun socks-open-network-stream (name buffer host service) | ||
| 530 | (let* ((route (socks-find-route host service)) | ||
| 531 | proc info version atype) | ||
| 532 | (if (not route) | ||
| 533 | (socks-original-open-network-stream name buffer host service) | ||
| 534 | (setq proc (socks-open-connection route) | ||
| 535 | info (gethash proc socks-connections) | ||
| 536 | version (gethash 'server-protocol info)) | ||
| 537 | (cond | ||
| 538 | ((equal version 4) | ||
| 539 | (setq host (socks-nslookup-host host)) | ||
| 540 | (if (not (listp host)) | ||
| 541 | (error "Could not get IP address for: %s" host)) | ||
| 542 | (setq host (apply 'format "%c%c%c%c" host)) | ||
| 543 | (setq atype socks-address-type-v4)) | ||
| 544 | (t | ||
| 545 | (setq atype socks-address-type-name))) | ||
| 546 | (socks-send-command proc | ||
| 547 | socks-connect-command | ||
| 548 | atype | ||
| 549 | host | ||
| 550 | (if (stringp service) | ||
| 551 | (socks-find-services-entry service) | ||
| 552 | service)) | ||
| 553 | (puthash 'buffer buffer info) | ||
| 554 | (puthash 'host host info) | ||
| 555 | (puthash 'service host info) | ||
| 556 | (set-process-filter proc nil) | ||
| 557 | (set-process-buffer proc (if buffer (get-buffer-create buffer))) | ||
| 558 | proc))) | ||
| 559 | |||
| 560 | ;; Authentication modules go here | ||
| 561 | |||
| 562 | ;; Basic username/password authentication, ala RFC 1929 | ||
| 563 | (socks-register-authentication-method 2 "Username/Password" | ||
| 564 | 'socks-username/password-auth) | ||
| 565 | |||
| 566 | (defconst socks-username/password-auth-version 1) | ||
| 567 | |||
| 568 | (defun socks-username/password-auth-filter (proc str) | ||
| 569 | (let ((info (gethash proc socks-connections)) | ||
| 570 | state desired-len) | ||
| 571 | (or info (error "socks-filter called on non-SOCKS connection %S" proc)) | ||
| 572 | (setq state (gethash 'state info)) | ||
| 573 | (puthash 'scratch (concat (gethash 'scratch info) str) info) | ||
| 574 | (if (< (length (gethash 'scratch info)) 2) | ||
| 575 | nil | ||
| 576 | (puthash 'password-auth-status (aref (gethash 'scratch info) 1) info) | ||
| 577 | (puthash 'state socks-state-authenticated info)))) | ||
| 578 | |||
| 579 | (defun socks-username/password-auth (proc) | ||
| 580 | (let* ((info (gethash proc socks-connections)) | ||
| 581 | (state (gethash 'state info))) | ||
| 582 | (if (not socks-password) | ||
| 583 | (setq socks-password (read-passwd | ||
| 584 | (format "Password for %s@%s: " | ||
| 585 | socks-username | ||
| 586 | (gethash 'server-name info))))) | ||
| 587 | (puthash 'scratch "" info) | ||
| 588 | (set-process-filter proc 'socks-username/password-auth-filter) | ||
| 589 | (process-send-string proc | ||
| 590 | (format "%c%c%s%c%s" | ||
| 591 | socks-username/password-auth-version | ||
| 592 | (length socks-username) | ||
| 593 | socks-username | ||
| 594 | (length socks-password) | ||
| 595 | socks-password)) | ||
| 596 | (socks-wait-for-state-change proc info state) | ||
| 597 | (= (gethash 'password-auth-status info) 0))) | ||
| 598 | |||
| 599 | |||
| 600 | ;; More advanced GSS/API stuff, not yet implemented - volunteers? | ||
| 601 | ;; (socks-register-authentication-method 1 "GSS/API" 'socks-gssapi-auth) | ||
| 602 | |||
| 603 | (defun socks-gssapi-auth (proc) | ||
| 604 | nil) | ||
| 605 | |||
| 606 | |||
| 607 | ;; CHAP stuff | ||
| 608 | ;; (socks-register-authentication-method 3 "CHAP" 'socks-chap-auth) | ||
| 609 | (defun socks-chap-auth (proc) | ||
| 610 | nil) | ||
| 611 | |||
| 612 | |||
| 613 | ;; CRAM stuff | ||
| 614 | ;; (socks-register-authentication-method 5 "CRAM" 'socks-cram-auth) | ||
| 615 | (defun socks-cram-auth (proc) | ||
| 616 | nil) | ||
| 617 | |||
| 618 | |||
| 619 | (defcustom socks-nslookup-program "nslookup" | ||
| 620 | "*If non-NIL then a string naming the nslookup program." | ||
| 621 | :type '(choice (const :tag "None" :value nil) string) | ||
| 622 | :group 'socks) | ||
| 623 | |||
| 624 | (defun socks-nslookup-host (host) | ||
| 625 | "Attempt to resolve the given HOSTNAME using nslookup if possible." | ||
| 626 | (interactive "sHost: ") | ||
| 627 | (if socks-nslookup-program | ||
| 628 | (let ((proc (start-process " *nslookup*" " *nslookup*" | ||
| 629 | socks-nslookup-program host)) | ||
| 630 | (res host)) | ||
| 631 | (set-process-query-on-exit-flag proc nil) | ||
| 632 | (save-excursion | ||
| 633 | (set-buffer (process-buffer proc)) | ||
| 634 | (while (progn | ||
| 635 | (accept-process-output proc) | ||
| 636 | (memq (process-status proc) '(run open)))) | ||
| 637 | (goto-char (point-min)) | ||
| 638 | (if (re-search-forward "Name:.*\nAddress\\(es\\)?: *\\([0-9.]+\\)$" nil t) | ||
| 639 | (progn | ||
| 640 | (setq res (buffer-substring (match-beginning 2) | ||
| 641 | (match-end 2)) | ||
| 642 | res (mapcar 'string-to-int (split-string res "\\."))))) | ||
| 643 | (kill-buffer (current-buffer))) | ||
| 644 | res) | ||
| 645 | host)) | ||
| 646 | |||
| 647 | (provide 'socks) | ||
| 648 | |||
| 649 | ;; arch-tag: 67aef0d9-f4f7-4056-89c3-b4c9bf93ce7f | ||
| 650 | ;;; socks.el ends here | ||
diff --git a/lisp/pgg.el b/lisp/pgg.el index f6a5a96d2b8..eabc4f47408 100644 --- a/lisp/pgg.el +++ b/lisp/pgg.el | |||
| @@ -332,7 +332,7 @@ cache or user." | |||
| 332 | (interactive "r") | 332 | (interactive "r") |
| 333 | (let ((status | 333 | (let ((status |
| 334 | (pgg-save-coding-system start end | 334 | (pgg-save-coding-system start end |
| 335 | (pgg-invoke "encrypt-symmetric-region" | 335 | (pgg-invoke "encrypt-symmetric-region" |
| 336 | (or pgg-scheme pgg-default-scheme) | 336 | (or pgg-scheme pgg-default-scheme) |
| 337 | (point-min) (point-max) passphrase)))) | 337 | (point-min) (point-max) passphrase)))) |
| 338 | (when (interactive-p) | 338 | (when (interactive-p) |
| @@ -416,7 +416,7 @@ If the optional 3rd argument CLEARTEXT is non-nil, it does not create | |||
| 416 | a detached signature. | 416 | a detached signature. |
| 417 | 417 | ||
| 418 | If this function is called interactively, CLEARTEXT is enabled | 418 | If this function is called interactively, CLEARTEXT is enabled |
| 419 | and the the output is displayed. | 419 | and the output is displayed. |
| 420 | 420 | ||
| 421 | If optional PASSPHRASE is not specified, it will be obtained from the | 421 | If optional PASSPHRASE is not specified, it will be obtained from the |
| 422 | passphrase cache or user." | 422 | passphrase cache or user." |
| @@ -441,7 +441,7 @@ If optional arguments START and END are specified, only sign data | |||
| 441 | within the region. | 441 | within the region. |
| 442 | 442 | ||
| 443 | If this function is called interactively, CLEARTEXT is enabled | 443 | If this function is called interactively, CLEARTEXT is enabled |
| 444 | and the the output is displayed. | 444 | and the output is displayed. |
| 445 | 445 | ||
| 446 | If optional PASSPHRASE is not specified, it will be obtained from the | 446 | If optional PASSPHRASE is not specified, it will be obtained from the |
| 447 | passphrase cache or user." | 447 | passphrase cache or user." |
| @@ -485,7 +485,7 @@ signer's public key from `pgg-default-keyserver-address'." | |||
| 485 | (or (cdr (assq 'preferred-key-server packet)) | 485 | (or (cdr (assq 'preferred-key-server packet)) |
| 486 | pgg-default-keyserver-address)) | 486 | pgg-default-keyserver-address)) |
| 487 | (pgg-fetch-key keyserver key)) | 487 | (pgg-fetch-key keyserver key)) |
| 488 | (setq status | 488 | (setq status |
| 489 | (pgg-save-coding-system start end | 489 | (pgg-save-coding-system start end |
| 490 | (pgg-invoke "verify-region" (or pgg-scheme pgg-default-scheme) | 490 | (pgg-invoke "verify-region" (or pgg-scheme pgg-default-scheme) |
| 491 | (point-min) (point-max) signature))) | 491 | (point-min) (point-max) signature))) |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 7701809463d..a9f5f77c126 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -38,11 +38,14 @@ | |||
| 38 | ;; LINE will be nil for a message that doesn't contain them. Then the | 38 | ;; LINE will be nil for a message that doesn't contain them. Then the |
| 39 | ;; location refers to a indented beginning of line or beginning of file. | 39 | ;; location refers to a indented beginning of line or beginning of file. |
| 40 | ;; Once any location in some file has been jumped to, the list is extended to | 40 | ;; Once any location in some file has been jumped to, the list is extended to |
| 41 | ;; (COLUMN LINE FILE-STRUCTURE MARKER . VISITED) for all LOCs pertaining to | 41 | ;; (COLUMN LINE FILE-STRUCTURE MARKER TIMESTAMP . VISITED) |
| 42 | ;; that file. | 42 | ;; for all LOCs pertaining to that file. |
| 43 | ;; MARKER initially points to LINE and COLUMN in a buffer visiting that file. | 43 | ;; MARKER initially points to LINE and COLUMN in a buffer visiting that file. |
| 44 | ;; Being a marker it sticks to some text, when the buffer grows or shrinks | 44 | ;; Being a marker it sticks to some text, when the buffer grows or shrinks |
| 45 | ;; before that point. VISITED is t if we have jumped there, else nil. | 45 | ;; before that point. VISITED is t if we have jumped there, else nil. |
| 46 | ;; TIMESTAMP is necessary because of "incremental compilation": `omake -P' | ||
| 47 | ;; polls filesystem for changes and recompiles when a file is modified | ||
| 48 | ;; using the same *compilation* buffer. this necessitates re-parsing markers. | ||
| 46 | 49 | ||
| 47 | ;; FILE-STRUCTURE is a list of | 50 | ;; FILE-STRUCTURE is a list of |
| 48 | ;; ((FILENAME . DIRECTORY) FORMATS (LINE LOC ...) ...) | 51 | ;; ((FILENAME . DIRECTORY) FORMATS (LINE LOC ...) ...) |
| @@ -117,7 +120,7 @@ bound to the compilation buffer and window, respectively.") | |||
| 117 | "Function to compute the name of a compilation buffer. | 120 | "Function to compute the name of a compilation buffer. |
| 118 | The function receives one argument, the name of the major mode of the | 121 | The function receives one argument, the name of the major mode of the |
| 119 | compilation buffer. It should return a string. | 122 | compilation buffer. It should return a string. |
| 120 | nil means compute the name with `(concat \"*\" (downcase major-mode) \"*\")'.") | 123 | If nil, compute the name with `(concat \"*\" (downcase major-mode) \"*\")'.") |
| 121 | 124 | ||
| 122 | ;;;###autoload | 125 | ;;;###autoload |
| 123 | (defvar compilation-finish-function nil | 126 | (defvar compilation-finish-function nil |
| @@ -126,7 +129,7 @@ It is called with two arguments: the compilation buffer, and a string | |||
| 126 | describing how the process finished.") | 129 | describing how the process finished.") |
| 127 | 130 | ||
| 128 | (make-obsolete-variable 'compilation-finish-function | 131 | (make-obsolete-variable 'compilation-finish-function |
| 129 | "Use `compilation-finish-functions', but it works a little differently." | 132 | "use `compilation-finish-functions', but it works a little differently." |
| 130 | "22.1") | 133 | "22.1") |
| 131 | 134 | ||
| 132 | ;;;###autoload | 135 | ;;;###autoload |
| @@ -466,7 +469,7 @@ Otherwise, it saves all modified buffers without asking." | |||
| 466 | (defcustom compilation-search-path '(nil) | 469 | (defcustom compilation-search-path '(nil) |
| 467 | "*List of directories to search for source files named in error messages. | 470 | "*List of directories to search for source files named in error messages. |
| 468 | Elements should be directory names, not file names of directories. | 471 | Elements should be directory names, not file names of directories. |
| 469 | nil as an element means to try the default directory." | 472 | The value nil as an element means to try the default directory." |
| 470 | :type '(repeat (choice (const :tag "Default" nil) | 473 | :type '(repeat (choice (const :tag "Default" nil) |
| 471 | (string :tag "Directory"))) | 474 | (string :tag "Directory"))) |
| 472 | :group 'compilation) | 475 | :group 'compilation) |
| @@ -1419,7 +1422,7 @@ Turning the mode on runs the normal hook `compilation-minor-mode-hook'." | |||
| 1419 | (font-lock-fontify-buffer))) | 1422 | (font-lock-fontify-buffer))) |
| 1420 | 1423 | ||
| 1421 | (defun compilation-handle-exit (process-status exit-status msg) | 1424 | (defun compilation-handle-exit (process-status exit-status msg) |
| 1422 | "Write MSG in the current buffer and hack its mode-line-process." | 1425 | "Write MSG in the current buffer and hack its `mode-line-process'." |
| 1423 | (let ((inhibit-read-only t) | 1426 | (let ((inhibit-read-only t) |
| 1424 | (status (if compilation-exit-message-function | 1427 | (status (if compilation-exit-message-function |
| 1425 | (funcall compilation-exit-message-function | 1428 | (funcall compilation-exit-message-function |
| @@ -1516,7 +1519,7 @@ Just inserts the text, but uses `insert-before-markers'." | |||
| 1516 | (eq (prog1 last (setq last (nth 2 (car msg)))) | 1519 | (eq (prog1 last (setq last (nth 2 (car msg)))) |
| 1517 | last)) | 1520 | last)) |
| 1518 | (if compilation-skip-visited | 1521 | (if compilation-skip-visited |
| 1519 | (nthcdr 4 (car msg))) | 1522 | (nthcdr 5 (car msg))) |
| 1520 | (if compilation-skip-to-next-location | 1523 | (if compilation-skip-to-next-location |
| 1521 | (eq (car msg) loc)) | 1524 | (eq (car msg) loc)) |
| 1522 | ;; count this message only if none of the above are true | 1525 | ;; count this message only if none of the above are true |
| @@ -1619,7 +1622,7 @@ This is the value of `next-error-function' in Compilation buffers." | |||
| 1619 | (when reset | 1622 | (when reset |
| 1620 | (setq compilation-current-error nil)) | 1623 | (setq compilation-current-error nil)) |
| 1621 | (let* ((columns compilation-error-screen-columns) ; buffer's local value | 1624 | (let* ((columns compilation-error-screen-columns) ; buffer's local value |
| 1622 | (last 1) | 1625 | (last 1) timestamp |
| 1623 | (loc (compilation-next-error (or n 1) nil | 1626 | (loc (compilation-next-error (or n 1) nil |
| 1624 | (or compilation-current-error | 1627 | (or compilation-current-error |
| 1625 | compilation-messages-start | 1628 | compilation-messages-start |
| @@ -1632,10 +1635,17 @@ This is the value of `next-error-function' in Compilation buffers." | |||
| 1632 | compilation-current-error | 1635 | compilation-current-error |
| 1633 | (copy-marker (line-beginning-position))) | 1636 | (copy-marker (line-beginning-position))) |
| 1634 | loc (car loc)) | 1637 | loc (car loc)) |
| 1635 | ;; If loc contains no marker, no error in that file has been visited. If | 1638 | ;; If loc contains no marker, no error in that file has been visited. |
| 1636 | ;; the marker is invalid the buffer has been killed. So, recalculate all | 1639 | ;; If the marker is invalid the buffer has been killed. |
| 1637 | ;; markers for that file. | 1640 | ;; If the file is newer than the timestamp, it has been modified |
| 1638 | (unless (and (nth 3 loc) (marker-buffer (nth 3 loc))) | 1641 | ;; (`omake -P' polls filesystem for changes and recompiles when needed |
| 1642 | ;; in the same process and buffer). | ||
| 1643 | ;; So, recalculate all markers for that file. | ||
| 1644 | (unless (and (nth 3 loc) (marker-buffer (nth 3 loc)) | ||
| 1645 | (equal (nth 4 loc) | ||
| 1646 | (setq timestamp | ||
| 1647 | (with-current-buffer (marker-buffer (nth 3 loc)) | ||
| 1648 | (visited-file-modtime))))) | ||
| 1639 | (with-current-buffer (compilation-find-file marker (caar (nth 2 loc)) | 1649 | (with-current-buffer (compilation-find-file marker (caar (nth 2 loc)) |
| 1640 | (cadr (car (nth 2 loc)))) | 1650 | (cadr (car (nth 2 loc)))) |
| 1641 | (save-restriction | 1651 | (save-restriction |
| @@ -1658,7 +1668,8 @@ This is the value of `next-error-function' in Compilation buffers." | |||
| 1658 | (set-marker (nth 3 col) (point)) | 1668 | (set-marker (nth 3 col) (point)) |
| 1659 | (setcdr (nthcdr 2 col) `(,(point-marker))))))))) | 1669 | (setcdr (nthcdr 2 col) `(,(point-marker))))))))) |
| 1660 | (compilation-goto-locus marker (nth 3 loc) (nth 3 end-loc)) | 1670 | (compilation-goto-locus marker (nth 3 loc) (nth 3 end-loc)) |
| 1661 | (setcdr (nthcdr 3 loc) t))) ; Set this one as visited. | 1671 | (setcdr (nthcdr 3 loc) (list timestamp)) |
| 1672 | (setcdr (nthcdr 4 loc) t))) ; Set this one as visited. | ||
| 1662 | 1673 | ||
| 1663 | (defvar compilation-gcpro nil | 1674 | (defvar compilation-gcpro nil |
| 1664 | "Internal variable used to keep some values from being GC'd.") | 1675 | "Internal variable used to keep some values from being GC'd.") |
| @@ -1825,8 +1836,8 @@ and overlay is highlighted between MK and END-MK." | |||
| 1825 | Search the directories in `compilation-search-path'. | 1836 | Search the directories in `compilation-search-path'. |
| 1826 | A nil in `compilation-search-path' means to try the | 1837 | A nil in `compilation-search-path' means to try the |
| 1827 | \"current\" directory, which is passed in DIRECTORY. | 1838 | \"current\" directory, which is passed in DIRECTORY. |
| 1828 | If DIRECTORY. is relative, it is combined with `default-directory'. | 1839 | If DIRECTORY is relative, it is combined with `default-directory'. |
| 1829 | If DIRECTORY. is nil, that means use `default-directory'. | 1840 | If DIRECTORY is nil, that means use `default-directory'. |
| 1830 | If FILENAME is not found at all, ask the user where to find it. | 1841 | If FILENAME is not found at all, ask the user where to find it. |
| 1831 | Pop up the buffer containing MARKER and scroll to MARKER if we ask the user." | 1842 | Pop up the buffer containing MARKER and scroll to MARKER if we ask the user." |
| 1832 | (or formats (setq formats '("%s"))) | 1843 | (or formats (setq formats '("%s"))) |
| @@ -1867,7 +1878,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user." | |||
| 1867 | ;; restrictive otherwise, since it also prevents the | 1878 | ;; restrictive otherwise, since it also prevents the |
| 1868 | ;; user from completing "fo" to "foo/" when she | 1879 | ;; user from completing "fo" to "foo/" when she |
| 1869 | ;; wants to enter "foo/bar". | 1880 | ;; wants to enter "foo/bar". |
| 1870 | ;; | 1881 | ;; |
| 1871 | ;; Try to make sure the user can only select | 1882 | ;; Try to make sure the user can only select |
| 1872 | ;; a valid answer. This predicate may be ignored, | 1883 | ;; a valid answer. This predicate may be ignored, |
| 1873 | ;; tho, so we still have to double-check afterwards. | 1884 | ;; tho, so we still have to double-check afterwards. |
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index cc808adda39..d3e00888889 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el | |||
| @@ -1003,7 +1003,7 @@ type `ebrowse-hs' is set to the resulting obarray." | |||
| 1003 | 1003 | ||
| 1004 | 1004 | ||
| 1005 | (defun ebrowse-member-table (header) | 1005 | (defun ebrowse-member-table (header) |
| 1006 | "Return the member obarray. Build it it hasn't been set up yet. | 1006 | "Return the member obarray. Build it if it hasn't been set up yet. |
| 1007 | HEADER is the tree header structure of the class tree." | 1007 | HEADER is the tree header structure of the class tree." |
| 1008 | (when (null (ebrowse-hs-member-table header)) | 1008 | (when (null (ebrowse-hs-member-table header)) |
| 1009 | (loop for buffer in (ebrowse-browser-buffer-list) | 1009 | (loop for buffer in (ebrowse-browser-buffer-list) |
| @@ -3598,7 +3598,7 @@ The file name is read from the minibuffer." | |||
| 3598 | 3598 | ||
| 3599 | 3599 | ||
| 3600 | (defun* ebrowse-draw-file-member-info (info &optional (kind "")) | 3600 | (defun* ebrowse-draw-file-member-info (info &optional (kind "")) |
| 3601 | "Display a line in an the members per file info buffer. | 3601 | "Display a line in the members info buffer. |
| 3602 | INFO describes the member. It has the form (TREE ACCESSOR MEMBER). | 3602 | INFO describes the member. It has the form (TREE ACCESSOR MEMBER). |
| 3603 | TREE is the class of the member to display. | 3603 | TREE is the class of the member to display. |
| 3604 | ACCESSOR is the accessor symbol of its member list. | 3604 | ACCESSOR is the accessor symbol of its member list. |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index cf518b17d94..4c58919ec1f 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -7095,7 +7095,7 @@ sort the list before displaying" | |||
| 7095 | "Make the user select an element from the alist in the variable SYM. | 7095 | "Make the user select an element from the alist in the variable SYM. |
| 7096 | The keys of the alist are expected to be strings. The function returns the | 7096 | The keys of the alist are expected to be strings. The function returns the |
| 7097 | car of the selected association. | 7097 | car of the selected association. |
| 7098 | To do this, PROMPT is displayed and and the user must hit a letter key to | 7098 | To do this, PROMPT is displayed and the user must hit a letter key to |
| 7099 | select an entry. If the user does not reply within DELAY seconds, a help | 7099 | select an entry. If the user does not reply within DELAY seconds, a help |
| 7100 | window with the options is displayed automatically. | 7100 | window with the options is displayed automatically. |
| 7101 | The key which is associated with each option is generated automatically. | 7101 | The key which is associated with each option is generated automatically. |
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el index d2b78b1d143..146b228453e 100644 --- a/lisp/progmodes/mixal-mode.el +++ b/lisp/progmodes/mixal-mode.el | |||
| @@ -1017,7 +1017,7 @@ The converted character representation is stored in rAX." | |||
| 1017 | "Alist that contains all the possible operation codes for mix. | 1017 | "Alist that contains all the possible operation codes for mix. |
| 1018 | Each elt has the form | 1018 | Each elt has the form |
| 1019 | (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME) | 1019 | (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME) |
| 1020 | Where OP-CODE is the text of the opcode as an symbol, | 1020 | Where OP-CODE is the text of the opcode as a symbol, |
| 1021 | FULL-NAME is the human readable name as a string, | 1021 | FULL-NAME is the human readable name as a string, |
| 1022 | C-BYTE is the operation code telling what operation is to be performed, | 1022 | C-BYTE is the operation code telling what operation is to be performed, |
| 1023 | F-BYTE holds a modification of the operation code which can be a symbol | 1023 | F-BYTE holds a modification of the operation code which can be a symbol |
diff --git a/lisp/ses.el b/lisp/ses.el index 2eec1b68e47..4f51c803de1 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -878,9 +878,9 @@ preceding cell has spilled over." | |||
| 878 | 878 | ||
| 879 | (defun ses-call-printer (printer &optional value) | 879 | (defun ses-call-printer (printer &optional value) |
| 880 | "Invokes PRINTER (a string or parenthesized string or function-symbol or | 880 | "Invokes PRINTER (a string or parenthesized string or function-symbol or |
| 881 | lambda of one argument) on VALUE. Result is the the printed cell as a | 881 | lambda of one argument) on VALUE. Result is the printed cell as a string. |
| 882 | string. The variable `ses-call-printer-return' is set to t if the printer | 882 | The variable `ses-call-printer-return' is set to t if the printer used |
| 883 | used parenthesis to request left-justification, or the error-signal if the | 883 | parenthesis to request left-justification, or the error-signal if the |
| 884 | printer signaled one (and \"%s\" is used as the default printer), else nil." | 884 | printer signaled one (and \"%s\" is used as the default printer), else nil." |
| 885 | (setq ses-call-printer-return nil) | 885 | (setq ses-call-printer-return nil) |
| 886 | (unless value | 886 | (unless value |
diff --git a/lisp/startup.el b/lisp/startup.el index b36c9f1cfc4..4c2ae272545 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1295,7 +1295,7 @@ using the mouse.\n\n") | |||
| 1295 | (emacs-version) | 1295 | (emacs-version) |
| 1296 | "\n" | 1296 | "\n" |
| 1297 | :face '(variable-pitch :height 0.5) | 1297 | :face '(variable-pitch :height 0.5) |
| 1298 | "Copyright (C) 2007 Free Software Foundation, Inc.") | 1298 | emacs-copyright) |
| 1299 | (and auto-save-list-file-prefix | 1299 | (and auto-save-list-file-prefix |
| 1300 | ;; Don't signal an error if the | 1300 | ;; Don't signal an error if the |
| 1301 | ;; directory for auto-save-list files | 1301 | ;; directory for auto-save-list files |
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 65e2b0f1c0b..b97cb11165e 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el | |||
| @@ -658,15 +658,15 @@ appear on disk when you save the tar-file's buffer." | |||
| 658 | (size (tar-header-size tokens)) | 658 | (size (tar-header-size tokens)) |
| 659 | (link-p (tar-header-link-type tokens))) | 659 | (link-p (tar-header-link-type tokens))) |
| 660 | (if link-p | 660 | (if link-p |
| 661 | (error "This is a%s, not a real file" | 661 | (error "This is %s, not a real file" |
| 662 | (cond ((eq link-p 5) " directory") | 662 | (cond ((eq link-p 5) "a directory") |
| 663 | ((eq link-p 20) " tar directory header") | 663 | ((eq link-p 20) "a tar directory header") |
| 664 | ((eq link-p 28) " next has longname") | 664 | ((eq link-p 28) "a next has longname") |
| 665 | ((eq link-p 29) " multivolume-continuation") | 665 | ((eq link-p 29) "a multivolume-continuation") |
| 666 | ((eq link-p 35) " sparse entry") | 666 | ((eq link-p 35) "a sparse entry") |
| 667 | ((eq link-p 38) " volume header") | 667 | ((eq link-p 38) "a volume header") |
| 668 | ((eq link-p 55) "n extended pax header") | 668 | ((eq link-p 55) "an extended pax header") |
| 669 | (t "link")))) | 669 | (t "a link")))) |
| 670 | (if (zerop size) (error "This is a zero-length file")) | 670 | (if (zerop size) (error "This is a zero-length file")) |
| 671 | descriptor)) | 671 | descriptor)) |
| 672 | 672 | ||
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el new file mode 100644 index 00000000000..00a438a3e95 --- /dev/null +++ b/lisp/textmodes/css-mode.el | |||
| @@ -0,0 +1,469 @@ | |||
| 1 | ;;; css-mode.el --- Major mode to edit CSS files | ||
| 2 | |||
| 3 | ;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 6 | ;; Keywords: hypermedia | ||
| 7 | |||
| 8 | ;; This file is free software; you can redistribute it and/or modify | ||
| 9 | ;; it under the terms of the GNU General Public License as published by | ||
| 10 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 11 | ;; any later version. | ||
| 12 | |||
| 13 | ;; This file is distributed in the hope that it will be useful, | ||
| 14 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | ;; GNU General Public License for more details. | ||
| 17 | |||
| 18 | ;; You should have received a copy of the GNU General Public License | ||
| 19 | ;; along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | ;; Boston, MA 02110-1301, USA. | ||
| 22 | |||
| 23 | ;;; Commentary: | ||
| 24 | |||
| 25 | ;; Yet another CSS mode. | ||
| 26 | |||
| 27 | ;;; Todo: | ||
| 28 | |||
| 29 | ;; - electric ; and } | ||
| 30 | ;; - filling code with auto-fill-mode | ||
| 31 | ;; - completion | ||
| 32 | ;; - fix font-lock errors with multi-line selectors | ||
| 33 | |||
| 34 | ;;; Code: | ||
| 35 | |||
| 36 | (defun css-extract-keyword-list (res) | ||
| 37 | (with-temp-buffer | ||
| 38 | (url-insert-file-contents "http://www.w3.org/TR/REC-CSS2/css2.txt") | ||
| 39 | (goto-char (point-max)) | ||
| 40 | (search-backward "Appendix H. Index") | ||
| 41 | (forward-line) | ||
| 42 | (delete-region (point-min) (point)) | ||
| 43 | (let ((result nil) | ||
| 44 | keys) | ||
| 45 | (dolist (re res) | ||
| 46 | (goto-char (point-min)) | ||
| 47 | (setq keys nil) | ||
| 48 | (while (re-search-forward (cdr re) nil t) | ||
| 49 | (push (match-string 1) keys)) | ||
| 50 | (push (cons (car re) (sort keys 'string-lessp)) result)) | ||
| 51 | (nreverse result)))) | ||
| 52 | |||
| 53 | (defun css-extract-parse-val-grammar (string env) | ||
| 54 | (let ((start 0) | ||
| 55 | (elems ()) | ||
| 56 | name) | ||
| 57 | (while (string-match | ||
| 58 | (concat "\\(?:" | ||
| 59 | (concat "<a [^>]+><span [^>]+>\\(?:" | ||
| 60 | "<\\([^&]+\\)>\\|'\\([^']+\\)'" | ||
| 61 | "\\)</span></a>") | ||
| 62 | "\\|" "\\(\\[\\)" | ||
| 63 | "\\|" "\\(]\\)" | ||
| 64 | "\\|" "\\(||\\)" | ||
| 65 | "\\|" "\\(|\\)" | ||
| 66 | "\\|" "\\([*+?]\\)" | ||
| 67 | "\\|" "\\({[^}]+}\\)" | ||
| 68 | "\\|" "\\(\\w+\\(?:-\\w+\\)*\\)" | ||
| 69 | "\\)[ \t\n]*") | ||
| 70 | string start) | ||
| 71 | ;; (assert (eq start (match-beginning 0))) | ||
| 72 | (setq start (match-end 0)) | ||
| 73 | (cond | ||
| 74 | ;; Reference to a type of value. | ||
| 75 | ((setq name (match-string-no-properties 1 string)) | ||
| 76 | (push (intern name) elems)) | ||
| 77 | ;; Reference to another property's values. | ||
| 78 | ((setq name (match-string-no-properties 2 string)) | ||
| 79 | (setq elems (delete-dups (append (cdr (assoc name env)) elems)))) | ||
| 80 | ;; A literal | ||
| 81 | ((setq name (match-string-no-properties 9 string)) | ||
| 82 | (push name elems)) | ||
| 83 | ;; We just ignore the rest. I.e. we ignore the structure because | ||
| 84 | ;; it's too difficult to exploit anyway (it would allow us to only | ||
| 85 | ;; complete top/center/bottom after one of left/center/right and | ||
| 86 | ;; vice-versa). | ||
| 87 | (t nil))) | ||
| 88 | elems)) | ||
| 89 | |||
| 90 | |||
| 91 | (defun css-extract-props-and-vals () | ||
| 92 | (with-temp-buffer | ||
| 93 | (url-insert-file-contents "http://www.w3.org/TR/CSS21/propidx.html") | ||
| 94 | (goto-char (point-min)) | ||
| 95 | (let ((props ())) | ||
| 96 | (while (re-search-forward "#propdef-\\([^\"]+\\)\"><span class=\"propinst-\\1 xref\">'\\1'</span></a>" nil t) | ||
| 97 | (let ((prop (match-string-no-properties 1))) | ||
| 98 | (save-excursion | ||
| 99 | (goto-char (match-end 0)) | ||
| 100 | (search-forward "<td>") | ||
| 101 | (let ((vals-string (buffer-substring (point) | ||
| 102 | (progn | ||
| 103 | (re-search-forward "[ \t\n]+|[ \t\n]+<a href=\"cascade.html#value-def-inherit\" class=\"noxref\"><span class=\"value-inst-inherit\">inherit</span></a>") | ||
| 104 | (match-beginning 0))))) | ||
| 105 | ;; | ||
| 106 | (push (cons prop (css-extract-parse-val-grammar vals-string props)) | ||
| 107 | props))))) | ||
| 108 | props))) | ||
| 109 | |||
| 110 | ;; Extraction was done with: | ||
| 111 | ;; (css-extract-keyword-list | ||
| 112 | ;; '((pseudo . "^ +\\* :\\([^ \n,]+\\)") | ||
| 113 | ;; (at . "^ +\\* @\\([^ \n,]+\\)") | ||
| 114 | ;; (descriptor . "^ +\\* '\\([^ '\n]+\\)' (descriptor)") | ||
| 115 | ;; (media . "^ +\\* '\\([^ '\n]+\\)' media group") | ||
| 116 | ;; (property . "^ +\\* '\\([^ '\n]+\\)',"))) | ||
| 117 | |||
| 118 | (defconst css-pseudo-ids | ||
| 119 | '("active" "after" "before" "first" "first-child" "first-letter" "first-line" | ||
| 120 | "focus" "hover" "lang" "left" "link" "right" "visited") | ||
| 121 | "Identifiers for pseudo-elements and pseudo-classes.") | ||
| 122 | |||
| 123 | (defconst css-at-ids | ||
| 124 | '("charset" "font-face" "import" "media" "page") | ||
| 125 | "Identifiers that appear in the form @foo.") | ||
| 126 | |||
| 127 | (defconst css-descriptor-ids | ||
| 128 | '("ascent" "baseline" "bbox" "cap-height" "centerline" "definition-src" | ||
| 129 | "descent" "font-family" "font-size" "font-stretch" "font-style" | ||
| 130 | "font-variant" "font-weight" "mathline" "panose-1" "slope" "src" "stemh" | ||
| 131 | "stemv" "topline" "unicode-range" "units-per-em" "widths" "x-height") | ||
| 132 | "Identifiers for font descriptors.") | ||
| 133 | |||
| 134 | (defconst css-media-ids | ||
| 135 | '("all" "aural" "bitmap" "continuous" "grid" "paged" "static" "tactile" | ||
| 136 | "visual") | ||
| 137 | "Identifiers for types of media.") | ||
| 138 | |||
| 139 | (defconst css-property-ids | ||
| 140 | '("azimuth" "background" "background-attachment" "background-color" | ||
| 141 | "background-image" "background-position" "background-repeat" "block" | ||
| 142 | "border" "border-bottom" "border-bottom-color" "border-bottom-style" | ||
| 143 | "border-bottom-width" "border-collapse" "border-color" "border-left" | ||
| 144 | "border-left-color" "border-left-style" "border-left-width" "border-right" | ||
| 145 | "border-right-color" "border-right-style" "border-right-width" | ||
| 146 | "border-spacing" "border-style" "border-top" "border-top-color" | ||
| 147 | "border-top-style" "border-top-width" "border-width" "bottom" | ||
| 148 | "caption-side" "clear" "clip" "color" "compact" "content" | ||
| 149 | "counter-increment" "counter-reset" "cue" "cue-after" "cue-before" | ||
| 150 | "cursor" "dashed" "direction" "display" "dotted" "double" "elevation" | ||
| 151 | "empty-cells" "float" "font" "font-family" "font-size" "font-size-adjust" | ||
| 152 | "font-stretch" "font-style" "font-variant" "font-weight" "groove" "height" | ||
| 153 | "hidden" "inline" "inline-table" "inset" "left" "letter-spacing" | ||
| 154 | "line-height" "list-item" "list-style" "list-style-image" | ||
| 155 | "list-style-position" "list-style-type" "margin" "margin-bottom" | ||
| 156 | "margin-left" "margin-right" "margin-top" "marker-offset" "marks" | ||
| 157 | "max-height" "max-width" "min-height" "min-width" "orphans" "outline" | ||
| 158 | "outline-color" "outline-style" "outline-width" "outset" "overflow" | ||
| 159 | "padding" "padding-bottom" "padding-left" "padding-right" "padding-top" | ||
| 160 | "page" "page-break-after" "page-break-before" "page-break-inside" "pause" | ||
| 161 | "pause-after" "pause-before" "pitch" "pitch-range" "play-during" "position" | ||
| 162 | "quotes" "richness" "ridge" "right" "run-in" "size" "solid" "speak" | ||
| 163 | "speak-header" "speak-numeral" "speak-punctuation" "speech-rate" "stress" | ||
| 164 | "table" "table-caption" "table-cell" "table-column" "table-column-group" | ||
| 165 | "table-footer-group" "table-header-group" "table-layout" "table-row" | ||
| 166 | "table-row-group" "text-align" "text-decoration" "text-indent" | ||
| 167 | "text-shadow" "text-transform" "top" "unicode-bidi" "vertical-align" | ||
| 168 | "visibility" "voice-family" "volume" "white-space" "widows" "width" | ||
| 169 | "word-spacing" "z-index") | ||
| 170 | "Identifiers for properties.") | ||
| 171 | |||
| 172 | (defcustom css-electrick-keys '(?\} ?\;) ;; '() | ||
| 173 | "Self inserting keys which should trigger re-indentation." | ||
| 174 | :type '(repeat character) | ||
| 175 | :options '((?\} ?\;))) | ||
| 176 | |||
| 177 | (defvar css-mode-syntax-table | ||
| 178 | (let ((st (make-syntax-table))) | ||
| 179 | ;; C-style comments. | ||
| 180 | (modify-syntax-entry ?/ ". 14" st) | ||
| 181 | (modify-syntax-entry ?* ". 23" st) | ||
| 182 | ;; Strings. | ||
| 183 | (modify-syntax-entry ?\" "\"" st) | ||
| 184 | (modify-syntax-entry ?\' "\"" st) | ||
| 185 | ;; Blocks. | ||
| 186 | (modify-syntax-entry ?\{ "(}" st) | ||
| 187 | (modify-syntax-entry ?\} "){" st) | ||
| 188 | ;; Args in url(...) thingies and other "function calls". | ||
| 189 | (modify-syntax-entry ?\( "()" st) | ||
| 190 | (modify-syntax-entry ?\) ")(" st) | ||
| 191 | ;; To match attributes in selectors. | ||
| 192 | (modify-syntax-entry ?\[ "(]" st) | ||
| 193 | (modify-syntax-entry ?\] ")[" st) | ||
| 194 | ;; Special chars that sometimes come at the beginning of words. | ||
| 195 | (modify-syntax-entry ?@ "'" st) | ||
| 196 | ;; (modify-syntax-entry ?: "'" st) | ||
| 197 | (modify-syntax-entry ?# "'" st) | ||
| 198 | ;; Distinction between words and symbols. | ||
| 199 | (modify-syntax-entry ?- "_" st) | ||
| 200 | st)) | ||
| 201 | |||
| 202 | (defconst css-escapes-re | ||
| 203 | "\\\\\\(?:[^\000-\037\177]\\|[0-9a-fA-F]+[ \n\t\r\f]?\\)") | ||
| 204 | (defconst css-nmchar-re (concat "\\(?:[-[:alnum:]]\\|" css-escapes-re "\\)")) | ||
| 205 | (defconst css-nmstart-re (concat "\\(?:[[:alpha:]]\\|" css-escapes-re "\\)")) | ||
| 206 | (defconst css-ident-re (concat css-nmstart-re css-nmchar-re "*")) | ||
| 207 | (defconst css-name-re (concat css-nmchar-re "+")) | ||
| 208 | |||
| 209 | (defface css-selector '((t :inherit font-lock-function-name-face)) | ||
| 210 | "Face to use for selectors.") | ||
| 211 | (defface css-property '((t :inherit font-lock-variable-name-face)) | ||
| 212 | "Face to use for properties.") | ||
| 213 | |||
| 214 | (defvar css-font-lock-keywords | ||
| 215 | `(("!\\s-*important" . font-lock-builtin-face) | ||
| 216 | ;; Atrules keywords. IDs not in css-at-ids are valid (ignored). | ||
| 217 | ;; In fact the regexp should probably be | ||
| 218 | ;; (,(concat "\\(@" css-ident-re "\\)\\([ \t\n][^;{]*\\)[;{]") | ||
| 219 | ;; (1 font-lock-builtin-face)) | ||
| 220 | ;; Since "An at-rule consists of everything up to and including the next | ||
| 221 | ;; semicolon (;) or the next block, whichever comes first." | ||
| 222 | (,(concat "@" css-ident-re) . font-lock-builtin-face) | ||
| 223 | ;; Selectors. | ||
| 224 | ;; FIXME: attribute selectors don't work well because they may contain | ||
| 225 | ;; strings which have already been highlighted as f-l-string-face and | ||
| 226 | ;; thus prevent this highlighting from being applied (actually now that | ||
| 227 | ;; I use `append' this should work better). But really the part of hte | ||
| 228 | ;; selector between [...] should simply not be highlighted. | ||
| 229 | (,(concat "^\\([ \t]*[^@:{\n][^:{\n]+\\(?::" (regexp-opt css-pseudo-ids t) | ||
| 230 | "\\(?:([^)]+)\\)?[^:{\n]*\\)*\\)\\(?:\n[ \t]*\\)*{") | ||
| 231 | (1 'css-selector append)) | ||
| 232 | ;; In the above rule, we allow the open-brace to be on some subsequent | ||
| 233 | ;; line. This will only work if we properly mark the intervening text | ||
| 234 | ;; as being part of a multiline element (and even then, this only | ||
| 235 | ;; ensures proper refontification, but not proper discovery). | ||
| 236 | ("^[ \t]*{" (0 (save-excursion | ||
| 237 | (goto-char (match-beginning 0)) | ||
| 238 | (skip-chars-backward " \n\t") | ||
| 239 | (put-text-property (point) (match-end 0) | ||
| 240 | 'font-lock-multiline t) | ||
| 241 | ;; No face. | ||
| 242 | nil))) | ||
| 243 | ;; Properties. Again, we don't limit ourselves to css-property-ids. | ||
| 244 | (,(concat "\\(?:[{;]\\|^\\)[ \t]*\\(" css-ident-re "\\)\\s-*:") | ||
| 245 | (1 'css-property)))) | ||
| 246 | |||
| 247 | (defvar css-font-lock-defaults | ||
| 248 | '(css-font-lock-keywords nil t)) | ||
| 249 | |||
| 250 | (unless (fboundp 'prog-mode) (defalias 'prog-mode 'fundamental-mode)) | ||
| 251 | |||
| 252 | ;;;###autoload (add-to-list 'auto-mode-alist '("\\.css\\'" . css-mode)) | ||
| 253 | ;;;###autoload | ||
| 254 | (define-derived-mode css-mode prog-mode "CSS" | ||
| 255 | "Major mode to edit Cascading Style Sheets." | ||
| 256 | (set (make-local-variable 'font-lock-defaults) css-font-lock-defaults) | ||
| 257 | (set (make-local-variable 'comment-start) "/*") | ||
| 258 | (set (make-local-variable 'comment-start-skip) "/\\*+[ \t]*") | ||
| 259 | (set (make-local-variable 'comment-end) "*/") | ||
| 260 | (set (make-local-variable 'comment-end-skip) "[ \t]*\\*+/") | ||
| 261 | (set (make-local-variable 'forward-sexp-function) 'css-forward-sexp) | ||
| 262 | (set (make-local-variable 'parse-sexp-ignore-comments) t) | ||
| 263 | (set (make-local-variable 'indent-line-function) 'css-indent-line) | ||
| 264 | (set (make-local-variable 'fill-paragraph-function) | ||
| 265 | 'css-fill-paragraph) | ||
| 266 | (when css-electrick-keys | ||
| 267 | (let ((fc (make-char-table 'auto-fill-chars))) | ||
| 268 | (set-char-table-parent fc auto-fill-chars) | ||
| 269 | (dolist (c css-electrick-keys) | ||
| 270 | (aset fc c 'indent-according-to-mode)) | ||
| 271 | (set (make-local-variable 'auto-fill-chars) fc)))) | ||
| 272 | |||
| 273 | (defun css-fill-paragraph (&optional justify) | ||
| 274 | (save-excursion | ||
| 275 | (let ((ppss (syntax-ppss)) | ||
| 276 | (eol (line-end-position))) | ||
| 277 | (cond | ||
| 278 | ((and (nth 4 ppss) | ||
| 279 | (save-excursion | ||
| 280 | (goto-char (nth 8 ppss)) | ||
| 281 | (forward-comment 1) | ||
| 282 | (prog1 (not (bolp)) | ||
| 283 | (setq eol (point))))) | ||
| 284 | ;; Filling inside a comment whose comment-end marker is not \n. | ||
| 285 | ;; This code is meant to be generic, so that it works not only for | ||
| 286 | ;; css-mode but for all modes. | ||
| 287 | (save-restriction | ||
| 288 | (narrow-to-region (nth 8 ppss) eol) | ||
| 289 | (comment-normalize-vars) | ||
| 290 | (let ((fill-paragraph-function nil) | ||
| 291 | (paragraph-separate | ||
| 292 | (if (and comment-continue | ||
| 293 | (string-match "[^ \t]" comment-continue)) | ||
| 294 | (concat "\\(?:[ \t]*" (regexp-quote comment-continue) | ||
| 295 | "\\)?\\(?:" paragraph-separate "\\)") | ||
| 296 | paragraph-separate)) | ||
| 297 | (paragraph-start | ||
| 298 | (if (and comment-continue | ||
| 299 | (string-match "[^ \t]" comment-continue)) | ||
| 300 | (concat "\\(?:[ \t]*" (regexp-quote comment-continue) | ||
| 301 | "\\)?\\(?:" paragraph-start "\\)") | ||
| 302 | paragraph-start))) | ||
| 303 | (fill-paragraph justify) | ||
| 304 | ;; Don't try filling again. | ||
| 305 | t))) | ||
| 306 | |||
| 307 | ((and (null (nth 8 ppss)) | ||
| 308 | (or (nth 1 ppss) | ||
| 309 | (and (ignore-errors | ||
| 310 | (down-list 1) | ||
| 311 | (when (<= (point) eol) | ||
| 312 | (setq ppss (syntax-ppss))))))) | ||
| 313 | (goto-char (nth 1 ppss)) | ||
| 314 | (let ((end (save-excursion | ||
| 315 | (ignore-errors (forward-sexp 1) (copy-marker (point) t))))) | ||
| 316 | (when end | ||
| 317 | (while (re-search-forward "[{;}]" end t) | ||
| 318 | (cond | ||
| 319 | ;; This is a false positive inside a string or comment. | ||
| 320 | ((nth 8 (syntax-ppss)) nil) | ||
| 321 | ((eq (char-before) ?\}) | ||
| 322 | (save-excursion | ||
| 323 | (forward-char -1) | ||
| 324 | (skip-chars-backward " \t") | ||
| 325 | (unless (bolp) (newline)))) | ||
| 326 | (t | ||
| 327 | (while | ||
| 328 | (progn | ||
| 329 | (setq eol (line-end-position)) | ||
| 330 | (and (forward-comment 1) | ||
| 331 | (> (point) eol) | ||
| 332 | ;; A multi-line comment should be on its own line. | ||
| 333 | (save-excursion (forward-comment -1) | ||
| 334 | (when (< (point) eol) | ||
| 335 | (newline) | ||
| 336 | t))))) | ||
| 337 | (if (< (point) eol) (newline))))) | ||
| 338 | (goto-char (nth 1 ppss)) | ||
| 339 | (indent-region (line-beginning-position 2) end) | ||
| 340 | ;; Don't use the default filling code. | ||
| 341 | t))))))) | ||
| 342 | |||
| 343 | ;;; Navigation and indentation. | ||
| 344 | |||
| 345 | (defconst css-navigation-syntax-table | ||
| 346 | (let ((st (make-syntax-table css-mode-syntax-table))) | ||
| 347 | (map-char-table (lambda (c v) | ||
| 348 | ;; Turn punctuation (code = 1) into symbol (code = 1). | ||
| 349 | (if (eq (car-safe v) 1) | ||
| 350 | (set-char-table-range st c (cons 3 (cdr v))))) | ||
| 351 | st) | ||
| 352 | st)) | ||
| 353 | |||
| 354 | (defun css-backward-sexp (n) | ||
| 355 | (let ((forward-sexp-function nil)) | ||
| 356 | (if (< n 0) (css-forward-sexp (- n)) | ||
| 357 | (while (> n 0) | ||
| 358 | (setq n (1- n)) | ||
| 359 | (forward-comment (- (point-max))) | ||
| 360 | (if (not (eq (char-before) ?\;)) | ||
| 361 | (backward-sexp 1) | ||
| 362 | (while (progn (backward-sexp 1) | ||
| 363 | (save-excursion | ||
| 364 | (forward-comment (- (point-max))) | ||
| 365 | ;; FIXME: We should also skip punctuation. | ||
| 366 | (not (memq (char-before) '(?\; ?\{))))))))))) | ||
| 367 | |||
| 368 | (defun css-forward-sexp (n) | ||
| 369 | (let ((forward-sexp-function nil)) | ||
| 370 | (if (< n 0) (css-backward-sexp (- n)) | ||
| 371 | (while (> n 0) | ||
| 372 | (setq n (1- n)) | ||
| 373 | (forward-comment (point-max)) | ||
| 374 | (if (not (eq (char-after) ?\;)) | ||
| 375 | (forward-sexp 1) | ||
| 376 | (while (progn (forward-sexp 1) | ||
| 377 | (save-excursion | ||
| 378 | (forward-comment (point-max)) | ||
| 379 | ;; FIXME: We should also skip punctuation. | ||
| 380 | (not (memq (char-after) '(?\; ?\}))))))))))) | ||
| 381 | |||
| 382 | (defun css-indent-calculate-virtual () | ||
| 383 | (if (or (save-excursion (skip-chars-backward " \t") (bolp)) | ||
| 384 | (if (looking-at "\\s(") | ||
| 385 | (save-excursion | ||
| 386 | (forward-char 1) (skip-chars-forward " \t") | ||
| 387 | (not (or (eolp) (looking-at comment-start-skip)))))) | ||
| 388 | (current-column) | ||
| 389 | (css-indent-calculate))) | ||
| 390 | |||
| 391 | (defcustom css-indent-offset 4 | ||
| 392 | "Basic size of one indentation step." | ||
| 393 | :type 'integer) | ||
| 394 | |||
| 395 | (defun css-indent-calculate () | ||
| 396 | (let ((ppss (syntax-ppss)) | ||
| 397 | pos) | ||
| 398 | (with-syntax-table css-navigation-syntax-table | ||
| 399 | (save-excursion | ||
| 400 | (cond | ||
| 401 | ;; Inside a string. | ||
| 402 | ((nth 3 ppss) 'noindent) | ||
| 403 | ;; Inside a comment. | ||
| 404 | ((nth 4 ppss) | ||
| 405 | (setq pos (point)) | ||
| 406 | (forward-line -1) | ||
| 407 | (skip-chars-forward " \t") | ||
| 408 | (if (>= (nth 8 ppss) (point)) | ||
| 409 | (progn | ||
| 410 | (goto-char (nth 8 ppss)) | ||
| 411 | (if (eq (char-after pos) ?*) | ||
| 412 | (forward-char 1) | ||
| 413 | (if (not (looking-at comment-start-skip)) | ||
| 414 | (error "Internal css-mode error") | ||
| 415 | (goto-char (match-end 0)))) | ||
| 416 | (current-column)) | ||
| 417 | (if (and (eq (char-after pos) ?*) (eq (char-after) ?*)) | ||
| 418 | (current-column) | ||
| 419 | ;; 'noindent | ||
| 420 | (current-column) | ||
| 421 | ))) | ||
| 422 | ;; In normal code. | ||
| 423 | (t | ||
| 424 | (or | ||
| 425 | (when (looking-at "\\s)") | ||
| 426 | (forward-char 1) | ||
| 427 | (backward-sexp 1) | ||
| 428 | (css-indent-calculate-virtual)) | ||
| 429 | (when (looking-at comment-start-skip) | ||
| 430 | (forward-comment (point-max)) | ||
| 431 | (css-indent-calculate)) | ||
| 432 | (when (save-excursion (forward-comment (- (point-max))) | ||
| 433 | (setq pos (point)) | ||
| 434 | (eq (char-syntax (preceding-char)) ?\()) | ||
| 435 | (goto-char (1- pos)) | ||
| 436 | (if (not (looking-at "\\s([ \t]*")) | ||
| 437 | (error "Internal css-mode error") | ||
| 438 | (if (or (memq (char-after (match-end 0)) '(?\n nil)) | ||
| 439 | (save-excursion (goto-char (match-end 0)) | ||
| 440 | (looking-at comment-start-skip))) | ||
| 441 | (+ (css-indent-calculate-virtual) css-indent-offset) | ||
| 442 | (progn (goto-char (match-end 0)) (current-column))))) | ||
| 443 | (progn | ||
| 444 | (css-backward-sexp 1) | ||
| 445 | (if (looking-at "\\s(") | ||
| 446 | (css-indent-calculate) | ||
| 447 | (css-indent-calculate-virtual)))))))))) | ||
| 448 | |||
| 449 | |||
| 450 | (defun css-indent-line () | ||
| 451 | "Indent current line according to CSS indentation rules." | ||
| 452 | (interactive) | ||
| 453 | (let* ((savep (point)) | ||
| 454 | (forward-sexp-function nil) | ||
| 455 | (indent (condition-case nil | ||
| 456 | (save-excursion | ||
| 457 | (forward-line 0) | ||
| 458 | (skip-chars-forward " \t") | ||
| 459 | (if (>= (point) savep) (setq savep nil)) | ||
| 460 | (css-indent-calculate)) | ||
| 461 | (error nil)))) | ||
| 462 | (if (not (numberp indent)) 'noindent | ||
| 463 | (if savep | ||
| 464 | (save-excursion (indent-line-to indent)) | ||
| 465 | (indent-line-to indent))))) | ||
| 466 | |||
| 467 | (provide 'css-mode) | ||
| 468 | ;; arch-tag: b4d8b8e2-b130-4e74-b3aa-cd8f1ab659d0 | ||
| 469 | ;;; css-mode.el ends here | ||
diff --git a/lisp/textmodes/org-publish.el b/lisp/textmodes/org-publish.el new file mode 100644 index 00000000000..74cd7096935 --- /dev/null +++ b/lisp/textmodes/org-publish.el | |||
| @@ -0,0 +1,603 @@ | |||
| 1 | ;;; org-publish.el --- publish related org-mode files as a website | ||
| 2 | |||
| 3 | ;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: David O'Toole <dto@gnu.org> | ||
| 6 | ;; Keywords: hypermedia, outlines | ||
| 7 | ;; Version: 1.80 | ||
| 8 | |||
| 9 | ;; $Id: org-publish.el,v 1.2 2007/06/07 02:04:17 miles Exp $ | ||
| 10 | |||
| 11 | ;; This file is free software; you can redistribute it and/or modify | ||
| 12 | ;; it under the terms of the GNU General Public License as published by | ||
| 13 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 14 | ;; any later version. | ||
| 15 | |||
| 16 | ;; This file is distributed in the hope that it will be useful, | ||
| 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | ;; GNU General Public License for more details. | ||
| 20 | |||
| 21 | ;; You should have received a copy of the GNU General Public License | ||
| 22 | ;; along with GNU Emacs; see the file COPYING. If not, write to | ||
| 23 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 24 | ;; Boston, MA 02110-1301, USA. | ||
| 25 | |||
| 26 | ;; This file is part of GNU Emacs. | ||
| 27 | |||
| 28 | ;;; Commentary: | ||
| 29 | |||
| 30 | ;; Requires at least version 4.27 of org.el | ||
| 31 | ;; | ||
| 32 | ;; The official org-mode website: | ||
| 33 | ;; http://staff.science.uva.nl/~dominik/Tools/org/ | ||
| 34 | ;; | ||
| 35 | ;; Home page for org-publish.el: | ||
| 36 | ;; http://dto.freeshell.org/notebook/OrgMode.html | ||
| 37 | |||
| 38 | ;; This program extends the HTML publishing support of Emacs Org-mode | ||
| 39 | ;; to allow configurable publishing of related sets of files as a | ||
| 40 | ;; complete website. | ||
| 41 | ;; | ||
| 42 | ;; org-publish.el can do the following: | ||
| 43 | ;; | ||
| 44 | ;; + Publish all one's org-files to html | ||
| 45 | ;; + Upload html, images, attachments and other files to a web server | ||
| 46 | ;; + Exclude selected private pages from publishing | ||
| 47 | ;; + Publish a clickable index of pages | ||
| 48 | ;; + Manage local timestamps, for publishing only changed files | ||
| 49 | ;; + Accept plugin functions to extend range of publishable content | ||
| 50 | ;; | ||
| 51 | ;; Special thanks to the org-mode maintainer Carsten Dominik for his | ||
| 52 | ;; ideas, enthusiasm, and cooperation. | ||
| 53 | |||
| 54 | ;;; Installation: | ||
| 55 | |||
| 56 | ;; Put org-publish.el in your load path, byte-compile it, and then add | ||
| 57 | ;; the following lines to your emacs initialization file: | ||
| 58 | |||
| 59 | ;; (autoload 'org-publish "org-publish" nil t) | ||
| 60 | ;; (autoload 'org-publish "org-publish-all" nil t) | ||
| 61 | ;; (autoload 'org-publish "org-publish-current-file" nil t) | ||
| 62 | ;; (autoload 'org-publish "org-publish-current-project" nil t) | ||
| 63 | |||
| 64 | ;; NOTE: When org-publish.el is included with org.el, those forms are | ||
| 65 | ;; already in the file org-install.el, and hence don't need to be put | ||
| 66 | ;; in your emacs initialization file in this case. | ||
| 67 | |||
| 68 | ;;; Usage: | ||
| 69 | ;; | ||
| 70 | ;; The program's main configuration variable is | ||
| 71 | ;; `org-publish-project-alist'. See below for example configurations | ||
| 72 | ;; with commentary. | ||
| 73 | |||
| 74 | ;; The main interactive functions are: | ||
| 75 | ;; | ||
| 76 | ;; M-x org-publish | ||
| 77 | ;; M-x org-publish-all | ||
| 78 | ;; M-x org-publish-current-file | ||
| 79 | ;; M-x org-publish-current-project | ||
| 80 | |||
| 81 | ;;;; Simple example configuration: | ||
| 82 | |||
| 83 | ;; (setq org-publish-project-alist | ||
| 84 | ;; (list | ||
| 85 | ;; '("org" . (:base-directory "~/org/" | ||
| 86 | ;; :base-extension "org" | ||
| 87 | ;; :publishing-directory "~/public_html" | ||
| 88 | ;; :with-section-numbers nil | ||
| 89 | ;; :table-of-contents nil | ||
| 90 | ;; :style "<link rel=stylesheet href=\"../other/mystyle.css\" type=\"text/css\">"))) | ||
| 91 | |||
| 92 | ;;;; More complex example configuration: | ||
| 93 | |||
| 94 | ;; Imagine your *.org files are kept in ~/org, your images in | ||
| 95 | ;; ~/images, and stylesheets in ~/other. Now imagine you want to | ||
| 96 | ;; publish the files through an ssh connection to a remote host, via | ||
| 97 | ;; Tramp-mode. To maintain relative links from *.org files to /images | ||
| 98 | ;; and /other, we should replicate the same directory structure in | ||
| 99 | ;; your web server account's designated html root (in this case, | ||
| 100 | ;; assumed to be ~/html) | ||
| 101 | |||
| 102 | ;; Once you've done created the proper directories, you can adapt the | ||
| 103 | ;; following example configuration to your specific paths, run M-x | ||
| 104 | ;; org-publish-all, and it should publish the files to the correct | ||
| 105 | ;; directories on the web server, transforming the *.org files into | ||
| 106 | ;; HTML, and leaving other files alone. | ||
| 107 | |||
| 108 | ;; (setq org-publish-project-alist | ||
| 109 | ;; (list | ||
| 110 | ;; '("orgfiles" :base-directory "~/org/" | ||
| 111 | ;; :base-extension "org" | ||
| 112 | ;; :publishing-directory "/ssh:user@host:~/html/notebook/" | ||
| 113 | ;; :publishing-function org-publish-org-to-html | ||
| 114 | ;; :exclude "PrivatePage.org" ;; regexp | ||
| 115 | ;; :headline-levels 3 | ||
| 116 | ;; :with-section-numbers nil | ||
| 117 | ;; :table-of-contents nil | ||
| 118 | ;; :style "<link rel=stylesheet href=\"../other/mystyle.css\" type=\"text/css\">" | ||
| 119 | ;; :auto-preamble t | ||
| 120 | ;; :auto-postamble nil) | ||
| 121 | ;; | ||
| 122 | ;; ("images" :base-directory "~/images/" | ||
| 123 | ;; :base-extension "jpg\\|gif\\|png" | ||
| 124 | ;; :publishing-directory "/ssh:user@host:~/html/images/" | ||
| 125 | ;; :publishing-function org-publish-attachment) | ||
| 126 | ;; | ||
| 127 | ;; ("other" :base-directory "~/other/" | ||
| 128 | ;; :base-extension "css" | ||
| 129 | ;; :publishing-directory "/ssh:user@host:~/html/other/" | ||
| 130 | ;; :publishing-function org-publish-attachment) | ||
| 131 | ;; ("website" :components ("orgfiles" "images" "other")))) | ||
| 132 | |||
| 133 | ;; For more information, see the documentation for the variable | ||
| 134 | ;; `org-publish-project-alist'. | ||
| 135 | |||
| 136 | ;; Of course, you don't have to publish to remote directories from | ||
| 137 | ;; within emacs. You can always just publish to local folders, and | ||
| 138 | ;; then use the synchronization/upload tool of your choice. | ||
| 139 | |||
| 140 | |||
| 141 | ;;; List of user-visible changes since version 1.27 | ||
| 142 | |||
| 143 | ;; 1.78: Allow list-valued :publishing-function | ||
| 144 | ;; 1.77: Added :preparation-function, this allows you to use GNU Make etc. | ||
| 145 | ;; 1.65: Remove old "composite projects". They're redundant. | ||
| 146 | ;; 1.64: Allow meta-projects with :components | ||
| 147 | ;; 1.57: Timestamps flag is now called "org-publish-use-timestamps-flag" | ||
| 148 | ;; 1.52: Properly set default for :index-filename | ||
| 149 | ;; 1.48: Composite projects allowed. | ||
| 150 | ;; :include keyword allowed. | ||
| 151 | ;; 1.43: Index no longer includes itself in the index. | ||
| 152 | ;; 1.42: Fix "function definition is void" error | ||
| 153 | ;; when :publishing-function not set in org-publish-current-file. | ||
| 154 | ;; 1.41: Fixed bug where index isn't published on first try. | ||
| 155 | ;; 1.37: Added interactive function "org-publish". Prompts for particular | ||
| 156 | ;; project name to publish. | ||
| 157 | ;; 1.34: Added force-publish option to all interactive functions. | ||
| 158 | ;; 1.32: Fixed "index.org has changed on disk" error during index publishing. | ||
| 159 | ;; 1.30: Fixed startup error caused by (require 'em-unix) | ||
| 160 | |||
| 161 | ;;; Code: | ||
| 162 | |||
| 163 | |||
| 164 | (eval-when-compile | ||
| 165 | (require 'cl)) | ||
| 166 | |||
| 167 | |||
| 168 | (defgroup org-publish nil | ||
| 169 | "Options for publishing a set of Org-mode and related files." | ||
| 170 | :tag "Org Publishing" | ||
| 171 | :group 'org) | ||
| 172 | |||
| 173 | |||
| 174 | (defcustom org-publish-project-alist nil | ||
| 175 | "Association list to control publishing behavior. | ||
| 176 | Each element of the alist is a publishing 'project.' The CAR of | ||
| 177 | each element is a string, uniquely identifying the project. The | ||
| 178 | CDR of each element is in one of the following forms: | ||
| 179 | |||
| 180 | (:property value :property value ... ) | ||
| 181 | |||
| 182 | OR, | ||
| 183 | |||
| 184 | (:components (\"project-1\" \"project-2\" ...)) | ||
| 185 | |||
| 186 | When the CDR of an element of org-publish-project-alist is in | ||
| 187 | this second form, the elements of the list after :components are | ||
| 188 | taken to be components of the project, which group together files | ||
| 189 | requiring different publishing options. When you publish such a | ||
| 190 | project with M-x org-publish, the components all publish. | ||
| 191 | |||
| 192 | When a property is given a value in org-publish-project-alist, its | ||
| 193 | setting overrides the value of the corresponding user variable | ||
| 194 | (if any) during publishing. However, options set within a file | ||
| 195 | override everything. | ||
| 196 | |||
| 197 | Most properties are optional, but some should always be set: | ||
| 198 | |||
| 199 | :base-directory Directory containing publishing source files | ||
| 200 | :base-extension Extension (without the dot!) of source files. | ||
| 201 | This can be a regular expression. | ||
| 202 | :publishing-directory Directory (possibly remote) where output | ||
| 203 | files will be published | ||
| 204 | |||
| 205 | The :exclude property may be used to prevent certain files from | ||
| 206 | being published. Its value may be a string or regexp matching | ||
| 207 | file names you don't want to be published. | ||
| 208 | |||
| 209 | The :include property may be used to include extra files. Its | ||
| 210 | value may be a list of filenames to include. The filenames are | ||
| 211 | considered relative to the publishing directory. | ||
| 212 | |||
| 213 | When both :include and :exclude properties are given values, the | ||
| 214 | exclusion step happens first. | ||
| 215 | |||
| 216 | One special property controls which back-end function to use for | ||
| 217 | publishing files in the project. This can be used to extend the | ||
| 218 | set of file types publishable by org-publish, as well as the set | ||
| 219 | of output formats. | ||
| 220 | |||
| 221 | :publishing-function Function to publish file. The default is | ||
| 222 | org-publish-org-to-html, but other | ||
| 223 | values are possible. May also be a | ||
| 224 | list of functions, in which case | ||
| 225 | each function in the list is invoked | ||
| 226 | in turn. | ||
| 227 | |||
| 228 | Another property allows you to insert code that prepares a | ||
| 229 | project for publishing. For example, you could call GNU Make on a | ||
| 230 | certain makefile, to ensure published files are built up to date. | ||
| 231 | |||
| 232 | :preparation-function Function to be called before publishing | ||
| 233 | this project. | ||
| 234 | |||
| 235 | Some properties control details of the Org publishing process, | ||
| 236 | and are equivalent to the corresponding user variables listed in | ||
| 237 | the right column. See the documentation for those variables to | ||
| 238 | learn more about their use and default values. | ||
| 239 | |||
| 240 | :language org-export-default-language | ||
| 241 | :headline-levels org-export-headline-levels | ||
| 242 | :section-numbers org-export-with-section-numbers | ||
| 243 | :table-of-contents org-export-with-toc | ||
| 244 | :emphasize org-export-with-emphasize | ||
| 245 | :sub-superscript org-export-with-sub-superscripts | ||
| 246 | :TeX-macros org-export-with-TeX-macros | ||
| 247 | :fixed-width org-export-with-fixed-width | ||
| 248 | :tables org-export-with-tables | ||
| 249 | :table-auto-headline org-export-highlight-first-table-line | ||
| 250 | :style org-export-html-style | ||
| 251 | :convert-org-links org-export-html-link-org-files-as-html | ||
| 252 | :inline-images org-export-html-inline-images | ||
| 253 | :expand-quoted-html org-export-html-expand | ||
| 254 | :timestamp org-export-html-with-timestamp | ||
| 255 | :publishing-directory org-export-publishing-directory | ||
| 256 | :preamble org-export-html-preamble | ||
| 257 | :postamble org-export-html-postamble | ||
| 258 | :auto-preamble org-export-html-auto-preamble | ||
| 259 | :auto-postamble org-export-html-auto-postamble | ||
| 260 | :author user-full-name | ||
| 261 | :email user-mail-address | ||
| 262 | |||
| 263 | The following properties may be used to control publishing of an | ||
| 264 | index of files or summary page for a given project. | ||
| 265 | |||
| 266 | :auto-index Whether to publish an index during | ||
| 267 | org-publish-current-project or org-publish-all. | ||
| 268 | :index-filename Filename for output of index. Defaults | ||
| 269 | to 'index.org' (which becomes 'index.html') | ||
| 270 | :index-title Title of index page. Defaults to name of file. | ||
| 271 | :index-function Plugin function to use for generation of index. | ||
| 272 | Defaults to 'org-publish-org-index', which | ||
| 273 | generates a plain list of links to all files | ||
| 274 | in the project. | ||
| 275 | " | ||
| 276 | :group 'org-publish | ||
| 277 | :type 'alist) | ||
| 278 | |||
| 279 | |||
| 280 | (defcustom org-publish-use-timestamps-flag t | ||
| 281 | "When non-nil, use timestamp checking to publish only changed files. | ||
| 282 | When nil, do no timestamp checking and always publish all | ||
| 283 | files." | ||
| 284 | :group 'org-publish | ||
| 285 | :type 'boolean) | ||
| 286 | |||
| 287 | |||
| 288 | (defcustom org-publish-timestamp-directory "~/.org-timestamps/" | ||
| 289 | "Name of directory in which to store publishing timestamps." | ||
| 290 | :group 'org-publish | ||
| 291 | :type 'string) | ||
| 292 | |||
| 293 | |||
| 294 | ;;;; Timestamp-related functions | ||
| 295 | |||
| 296 | |||
| 297 | (defun org-publish-timestamp-filename (filename) | ||
| 298 | "Return path to timestamp file for filename FILENAME." | ||
| 299 | (while (string-match "~\\|/" filename) | ||
| 300 | (setq filename (replace-match "_" nil t filename))) | ||
| 301 | (concat org-publish-timestamp-directory filename ".timestamp")) | ||
| 302 | |||
| 303 | |||
| 304 | (defun org-publish-needed-p (filename) | ||
| 305 | "Check whether file should be published. | ||
| 306 | If org-publish-use-timestamps-flag is set to nil, this function always | ||
| 307 | returns t. Otherwise, check the timestamps folder to determine | ||
| 308 | whether file should be published." | ||
| 309 | (if org-publish-use-timestamps-flag | ||
| 310 | (progn | ||
| 311 | ;; | ||
| 312 | ;; create folder if needed | ||
| 313 | (if (not (file-exists-p org-publish-timestamp-directory)) | ||
| 314 | (make-directory org-publish-timestamp-directory) | ||
| 315 | (if (not (file-directory-p org-publish-timestamp-directory)) | ||
| 316 | (error "org-publish-timestamp-directory must be a directory."))) | ||
| 317 | ;; | ||
| 318 | ;; check timestamp. ok if timestamp file doesn't exist | ||
| 319 | (let* ((timestamp (org-publish-timestamp-filename filename)) | ||
| 320 | (rtn (file-newer-than-file-p filename timestamp))) | ||
| 321 | (if rtn | ||
| 322 | ;; handle new timestamps | ||
| 323 | (if (not (file-exists-p timestamp)) | ||
| 324 | ;; create file | ||
| 325 | (with-temp-buffer | ||
| 326 | (make-directory (file-name-directory timestamp) :parents) | ||
| 327 | (write-file timestamp) | ||
| 328 | (kill-buffer (current-buffer))))) | ||
| 329 | rtn)) | ||
| 330 | t)) | ||
| 331 | |||
| 332 | |||
| 333 | (defun org-publish-update-timestamp (filename) | ||
| 334 | "Update publishing timestamp for file FILENAME." | ||
| 335 | (let ((timestamp (org-publish-timestamp-filename filename))) | ||
| 336 | ;; Emacs 21 doesn't have set-file-times | ||
| 337 | (if (fboundp 'set-file-times) | ||
| 338 | (set-file-times timestamp) | ||
| 339 | (call-process "touch" nil 0 nil timestamp)))) | ||
| 340 | |||
| 341 | |||
| 342 | ;;;; A hash mapping files to project names | ||
| 343 | |||
| 344 | |||
| 345 | (defvar org-publish-files (make-hash-table :test 'equal) "Hash | ||
| 346 | table mapping file names to project names.") | ||
| 347 | |||
| 348 | |||
| 349 | ;;;; Checking filenames against this hash | ||
| 350 | |||
| 351 | |||
| 352 | (defun org-publish-validate-link (link &optional directory) | ||
| 353 | (gethash (file-truename (expand-file-name link directory)) | ||
| 354 | org-publish-files)) | ||
| 355 | |||
| 356 | |||
| 357 | ;;;; Getting project information out of org-publish-project-alist | ||
| 358 | |||
| 359 | |||
| 360 | (defun org-publish-get-plists (&optional project-name) | ||
| 361 | "Return a list of property lists for project PROJECT-NAME. | ||
| 362 | When argument is not given, return all property lists for all projects." | ||
| 363 | (let ((alist (if project-name | ||
| 364 | (list (assoc project-name org-publish-project-alist)) | ||
| 365 | org-publish-project-alist)) | ||
| 366 | (project nil) | ||
| 367 | (plists nil) | ||
| 368 | (single nil) | ||
| 369 | (components nil)) | ||
| 370 | |||
| 371 | ;; | ||
| 372 | ;; | ||
| 373 | (while (setq project (pop alist)) | ||
| 374 | ;; what kind of project is it? | ||
| 375 | (if (setq components (plist-get (cdr project) :components)) | ||
| 376 | ;; meta project. annotate each plist with name of enclosing project | ||
| 377 | (setq single | ||
| 378 | (apply 'append | ||
| 379 | (mapcar 'org-publish-get-plists components))) | ||
| 380 | ;; normal project | ||
| 381 | (setq single (list (cdr project)))) | ||
| 382 | ;; | ||
| 383 | (setq plists (append plists single)) | ||
| 384 | (dolist (p single) | ||
| 385 | (let* ((exclude (plist-get p :exclude)) | ||
| 386 | (files (org-publish-get-base-files p exclude))) | ||
| 387 | (dolist (f files) | ||
| 388 | (puthash (file-truename f) (car project) org-publish-files))))) | ||
| 389 | plists)) | ||
| 390 | |||
| 391 | |||
| 392 | |||
| 393 | (defun org-publish-get-base-files (plist &optional exclude-regexp) | ||
| 394 | "Return a list of all files in project defined by PLIST. | ||
| 395 | If EXCLUDE-REGEXP is set, this will be used to filter out | ||
| 396 | matching filenames." | ||
| 397 | (let* ((dir (file-name-as-directory (plist-get plist :base-directory))) | ||
| 398 | (include-list (plist-get plist :include)) | ||
| 399 | (extension (or (plist-get plist :base-extension) "org")) | ||
| 400 | (regexp (concat "^[^\\.].*\\.\\(" extension "\\)$")) | ||
| 401 | (allfiles (directory-files dir t regexp))) | ||
| 402 | ;; | ||
| 403 | ;; exclude files | ||
| 404 | (setq allfiles | ||
| 405 | (if (not exclude-regexp) | ||
| 406 | allfiles | ||
| 407 | (delq nil | ||
| 408 | (mapcar (lambda (x) | ||
| 409 | (if (string-match exclude-regexp x) nil x)) | ||
| 410 | allfiles)))) | ||
| 411 | ;; | ||
| 412 | ;; include extra files | ||
| 413 | (let ((inc nil)) | ||
| 414 | (while (setq inc (pop include-list)) | ||
| 415 | (setq allfiles (cons (expand-file-name inc dir) allfiles)))) | ||
| 416 | |||
| 417 | allfiles)) | ||
| 418 | |||
| 419 | |||
| 420 | (defun org-publish-get-project-from-filename (filename) | ||
| 421 | "Figure out which project a given FILENAME belongs to, if any. | ||
| 422 | Filename should contain full path. Returns name of project, or | ||
| 423 | nil if not found." | ||
| 424 | (org-publish-get-plists) | ||
| 425 | (gethash (file-truename filename) org-publish-files)) | ||
| 426 | |||
| 427 | |||
| 428 | (defun org-publish-get-plist-from-filename (filename) | ||
| 429 | "Return publishing configuration plist for file FILENAME." | ||
| 430 | (let ((found nil)) | ||
| 431 | (mapcar | ||
| 432 | (lambda (plist) | ||
| 433 | (let ((files (org-publish-get-base-files plist))) | ||
| 434 | (if (member (expand-file-name filename) files) | ||
| 435 | (setq found plist)))) | ||
| 436 | (org-publish-get-plists)) | ||
| 437 | found)) | ||
| 438 | |||
| 439 | |||
| 440 | |||
| 441 | ;;;; Pluggable publishing back-end functions | ||
| 442 | |||
| 443 | |||
| 444 | (defun org-publish-org-to-html (plist filename) | ||
| 445 | "Publish an org file to HTML. | ||
| 446 | PLIST is the property list for the given project. | ||
| 447 | FILENAME is the filename of the org file to be published." | ||
| 448 | (require 'org) | ||
| 449 | (let* ((arg (plist-get plist :headline-levels))) | ||
| 450 | (progn | ||
| 451 | (find-file filename) | ||
| 452 | (org-export-as-html arg nil plist) | ||
| 453 | ;; get rid of HTML buffer | ||
| 454 | (kill-buffer (current-buffer))))) | ||
| 455 | |||
| 456 | |||
| 457 | (defun org-publish-attachment (plist filename) | ||
| 458 | "Publish a file with no transformation of any kind. | ||
| 459 | PLIST is the property list for the given project. | ||
| 460 | FILENAME is the filename of the file to be published." | ||
| 461 | ;; make sure eshell/cp code is loaded | ||
| 462 | (require 'eshell) | ||
| 463 | (require 'esh-maint) | ||
| 464 | (require 'em-unix) | ||
| 465 | (let ((destination (file-name-as-directory (plist-get plist :publishing-directory)))) | ||
| 466 | (eshell/cp filename destination))) | ||
| 467 | |||
| 468 | |||
| 469 | ;;;; Publishing files, sets of files, and indices | ||
| 470 | |||
| 471 | |||
| 472 | (defun org-publish-file (filename) | ||
| 473 | "Publish file FILENAME." | ||
| 474 | (let* ((project-name (org-publish-get-project-from-filename filename)) | ||
| 475 | (plist (org-publish-get-plist-from-filename filename)) | ||
| 476 | (publishing-function (or (plist-get plist :publishing-function) 'org-publish-org-to-html))) | ||
| 477 | (if (not project-name) | ||
| 478 | (error (format "File %s is not part of any known project." filename))) | ||
| 479 | (when (org-publish-needed-p filename) | ||
| 480 | (if (listp publishing-function) | ||
| 481 | ;; allow chain of publishing functions | ||
| 482 | (mapc (lambda (f) | ||
| 483 | (funcall f plist filename)) | ||
| 484 | publishing-function) | ||
| 485 | (funcall publishing-function plist filename)) | ||
| 486 | (org-publish-update-timestamp filename)))) | ||
| 487 | |||
| 488 | |||
| 489 | (defun org-publish-plist (plist) | ||
| 490 | "Publish all files in set defined by PLIST. | ||
| 491 | If :auto-index is set, publish the index too." | ||
| 492 | (let* ((exclude-regexp (plist-get plist :exclude)) | ||
| 493 | (publishing-function (or (plist-get plist :publishing-function) 'org-publish-org-to-html)) | ||
| 494 | (index-p (plist-get plist :auto-index)) | ||
| 495 | (index-filename (or (plist-get plist :index-filename) "index.org")) | ||
| 496 | (index-function (or (plist-get plist :index-function) 'org-publish-org-index)) | ||
| 497 | (preparation-function (plist-get plist :preparation-function)) | ||
| 498 | (f nil)) | ||
| 499 | ;; | ||
| 500 | (when preparation-function | ||
| 501 | (funcall preparation-function)) | ||
| 502 | (if index-p | ||
| 503 | (funcall index-function plist index-filename)) | ||
| 504 | (let ((files (org-publish-get-base-files plist exclude-regexp))) | ||
| 505 | (while (setq f (pop files)) | ||
| 506 | ;; check timestamps | ||
| 507 | (when (org-publish-needed-p f) | ||
| 508 | (if (listp publishing-function) | ||
| 509 | ;; allow chain of publishing functions | ||
| 510 | (mapc (lambda (func) | ||
| 511 | (funcall func plist f)) | ||
| 512 | publishing-function) | ||
| 513 | (funcall publishing-function plist f)) | ||
| 514 | (org-publish-update-timestamp f)))))) | ||
| 515 | |||
| 516 | |||
| 517 | (defun org-publish-org-index (plist &optional index-filename) | ||
| 518 | "Create an index of pages in set defined by PLIST. | ||
| 519 | Optionally set the filename of the index with INDEX-FILENAME; | ||
| 520 | default is 'index.org'." | ||
| 521 | (let* ((dir (file-name-as-directory (plist-get plist :base-directory))) | ||
| 522 | (exclude-regexp (plist-get plist :exclude)) | ||
| 523 | (files (org-publish-get-base-files plist exclude-regexp)) | ||
| 524 | (index-filename (concat dir (or index-filename "index.org"))) | ||
| 525 | (index-buffer (find-buffer-visiting index-filename)) | ||
| 526 | (ifn (file-name-nondirectory index-filename)) | ||
| 527 | (f nil)) | ||
| 528 | ;; | ||
| 529 | ;; if buffer is already open, kill it to prevent error message | ||
| 530 | (if index-buffer | ||
| 531 | (kill-buffer index-buffer)) | ||
| 532 | (with-temp-buffer | ||
| 533 | (while (setq f (pop files)) | ||
| 534 | (let ((fn (file-name-nondirectory f))) | ||
| 535 | (unless (string= fn ifn) ;; index shouldn't index itself | ||
| 536 | (insert (concat " + [[file:" fn "][" | ||
| 537 | (file-name-sans-extension fn) | ||
| 538 | "]]\n"))))) | ||
| 539 | (write-file index-filename) | ||
| 540 | (kill-buffer (current-buffer))))) | ||
| 541 | |||
| 542 | |||
| 543 | ;(defun org-publish-meta-index (meta-plist &optional index-filename) | ||
| 544 | ; "Create an index for a metaproject." | ||
| 545 | ; (let* ((plists ( | ||
| 546 | |||
| 547 | |||
| 548 | ;;;; Interactive publishing functions | ||
| 549 | |||
| 550 | |||
| 551 | ;;;###autoload | ||
| 552 | (defun org-publish (project-name &optional force) | ||
| 553 | "Publish the project PROJECT-NAME." | ||
| 554 | (interactive (list (completing-read "Project name: " org-publish-project-alist | ||
| 555 | nil t) | ||
| 556 | current-prefix-arg)) | ||
| 557 | (save-window-excursion | ||
| 558 | (let ((org-publish-use-timestamps-flag (if force nil t)) | ||
| 559 | (plists (org-publish-get-plists project-name))) | ||
| 560 | (mapcar 'org-publish-plist plists)))) | ||
| 561 | |||
| 562 | |||
| 563 | ;;;###autoload | ||
| 564 | (defun org-publish-current-project (&optional force) | ||
| 565 | "Publish the project associated with the current file. | ||
| 566 | With prefix argument, force publishing all files in project." | ||
| 567 | (interactive "P") | ||
| 568 | (save-window-excursion | ||
| 569 | (let* ((project-name (org-publish-get-project-from-filename (buffer-file-name))) | ||
| 570 | (org-publish-use-timestamps-flag (if force nil t))) | ||
| 571 | (if (not project-name) | ||
| 572 | (error (format "File %s is not part of any known project." (buffer-file-name)))) | ||
| 573 | (org-publish project-name)))) | ||
| 574 | |||
| 575 | |||
| 576 | ;;;###autoload | ||
| 577 | (defun org-publish-current-file (&optional force) | ||
| 578 | "Publish the current file. | ||
| 579 | With prefix argument, force publish the file." | ||
| 580 | (interactive "P") | ||
| 581 | (save-window-excursion | ||
| 582 | (let ((org-publish-use-timestamps-flag | ||
| 583 | (if force nil t))) | ||
| 584 | (org-publish-file (buffer-file-name))))) | ||
| 585 | |||
| 586 | |||
| 587 | ;;;###autoload | ||
| 588 | (defun org-publish-all (&optional force) | ||
| 589 | "Publish all projects. | ||
| 590 | With prefix argument, force publish all files." | ||
| 591 | (interactive "P") | ||
| 592 | (save-window-excursion | ||
| 593 | (let ((org-publish-use-timestamps-flag | ||
| 594 | (if force nil t)) | ||
| 595 | (plists (org-publish-get-plists))) | ||
| 596 | (mapcar 'org-publish-plist plists)))) | ||
| 597 | |||
| 598 | |||
| 599 | |||
| 600 | (provide 'org-publish) | ||
| 601 | |||
| 602 | ;; arch-tag: 72807f3c-8af0-4a6b-8dca-c3376eb25adb | ||
| 603 | ;;; org-publish.el ends here | ||
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index 8ee12638dee..d669ebe586c 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | ;;;; org.el --- Outline-based notes management and organize | 1 | ;;; org.el --- Outline-based notes management and organizer |
| 2 | ;; Carstens outline-mode for keeping track of everything. | 2 | ;; Carstens outline-mode for keeping track of everything. |
| 3 | ;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
| 4 | ;; | 4 | ;; |
| 5 | ;; Author: Carsten Dominik <dominik at science dot uva dot nl> | 5 | ;; Author: Carsten Dominik <dominik at science dot uva dot nl> |
| 6 | ;; Keywords: outlines, hypermedia, calendar, wp | 6 | ;; Keywords: outlines, hypermedia, calendar, wp |
| 7 | ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ | 7 | ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ |
| 8 | ;; Version: 4.67d | 8 | ;; Version: 4.77 |
| 9 | ;; | 9 | ;; |
| 10 | ;; This file is part of GNU Emacs. | 10 | ;; This file is part of GNU Emacs. |
| 11 | ;; | 11 | ;; |
| @@ -83,7 +83,7 @@ | |||
| 83 | 83 | ||
| 84 | ;;; Version | 84 | ;;; Version |
| 85 | 85 | ||
| 86 | (defvar org-version "4.67c" | 86 | (defconst org-version "4.77" |
| 87 | "The version number of the file org.el.") | 87 | "The version number of the file org.el.") |
| 88 | (defun org-version () | 88 | (defun org-version () |
| 89 | (interactive) | 89 | (interactive) |
| @@ -153,21 +153,13 @@ has been set." | |||
| 153 | :group 'org-startup | 153 | :group 'org-startup |
| 154 | :type 'boolean) | 154 | :type 'boolean) |
| 155 | 155 | ||
| 156 | (defcustom org-CUA-compatible nil | 156 | (defcustom org-replace-disputed-keys nil |
| 157 | "Non-nil means use alternative key bindings for S-<cursor movement>. | 157 | "Non-nil means use alternative key bindings for some keys. |
| 158 | Org-mode used S-<cursor movement> for changing timestamps and priorities. | 158 | Org-mode uses S-<cursor> keys for changing timestamps and priorities. |
| 159 | S-<cursor movement> is also used for example by `CUA-mode' to select text. | 159 | These keys are also used by other packages like `CUA-mode' or `windmove.el'. |
| 160 | If you want to use Org-mode together with `CUA-mode', Org-mode needs to use | 160 | If you want to use Org-mode together with one of these other modes, |
| 161 | alternative bindings. Setting this variable to t will replace the following | 161 | or more generally if you would like to move some Org-mode commands to |
| 162 | keys both in Org-mode and in the Org-agenda buffer. | 162 | other keys, set this variable and configure the keys with the variable |
| 163 | |||
| 164 | S-RET -> C-S-RET | ||
| 165 | S-up -> M-p | ||
| 166 | S-down -> M-n | ||
| 167 | S-left -> M-- | ||
| 168 | S-right -> M-+ | ||
| 169 | |||
| 170 | If you do not like the alternative keys, take a look at the variable | ||
| 171 | `org-disputed-keys'. | 163 | `org-disputed-keys'. |
| 172 | 164 | ||
| 173 | This option is only relevant at load-time of Org-mode, and must be set | 165 | This option is only relevant at load-time of Org-mode, and must be set |
| @@ -176,21 +168,47 @@ become effective." | |||
| 176 | :group 'org-startup | 168 | :group 'org-startup |
| 177 | :type 'boolean) | 169 | :type 'boolean) |
| 178 | 170 | ||
| 179 | (defvar org-disputed-keys | 171 | (if (fboundp 'defvaralias) |
| 180 | '((S-up [(shift up)] [(meta ?p)]) | 172 | (defvaralias 'org-CUA-compatible 'org-replace-disputed-keys)) |
| 181 | (S-down [(shift down)] [(meta ?n)]) | 173 | |
| 182 | (S-left [(shift left)] [(meta ?-)]) | 174 | (defcustom org-disputed-keys |
| 183 | (S-right [(shift right)] [(meta ?+)]) | 175 | '(([(shift up)] . [(meta p)]) |
| 184 | (S-return [(shift return)] [(control shift return)])) | 176 | ([(shift down)] . [(meta n)]) |
| 177 | ([(shift left)] . [(meta -)]) | ||
| 178 | ([(shift right)] . [(meta +)]) | ||
| 179 | ([(control shift right)] . [(meta shift +)]) | ||
| 180 | ([(control shift left)] . [(meta shift -)])) | ||
| 185 | "Keys for which Org-mode and other modes compete. | 181 | "Keys for which Org-mode and other modes compete. |
| 186 | This is an alist, cars are symbols for lookup, 1st element is the default key, | 182 | This is an alist, cars are the default keys, second element specifies |
| 187 | second element will be used when `org-CUA-compatible' is t.") | 183 | the alternative to use when `org-replace-disputed-keys' is t. |
| 184 | |||
| 185 | Keys can be specified in any syntax supported by `define-key'. | ||
| 186 | The value of this option takes effect only at Org-mode's startup, | ||
| 187 | therefore you'll have to restart Emacs to apply it after changing." | ||
| 188 | :group 'org-startup | ||
| 189 | :type 'alist) | ||
| 188 | 190 | ||
| 189 | (defun org-key (key) | 191 | (defun org-key (key) |
| 190 | "Select a key according to `org-CUA-compatible'." | 192 | "Select key according to `org-replace-disputed-keys' and `org-disputed-keys'. |
| 191 | (nth (if org-CUA-compatible 2 1) | 193 | Or return the original if not disputed." |
| 192 | (or (assq key org-disputed-keys) | 194 | (if org-replace-disputed-keys |
| 193 | (error "Invalid Key %s in `org-key'" key)))) | 195 | (let* ((nkey (key-description key)) |
| 196 | (x (org-find-if (lambda (x) | ||
| 197 | (equal (key-description (car x)) nkey)) | ||
| 198 | org-disputed-keys))) | ||
| 199 | (if x (cdr x) key)) | ||
| 200 | key)) | ||
| 201 | |||
| 202 | (defun org-find-if (predicate seq) | ||
| 203 | (catch 'exit | ||
| 204 | (while seq | ||
| 205 | (if (funcall predicate (car seq)) | ||
| 206 | (throw 'exit (car seq)) | ||
| 207 | (pop seq))))) | ||
| 208 | |||
| 209 | (defun org-defkey (keymap key def) | ||
| 210 | "Define a key, possibly translated, as returned by `org-key'." | ||
| 211 | (define-key keymap (org-key key) def)) | ||
| 194 | 212 | ||
| 195 | (defcustom org-ellipsis nil | 213 | (defcustom org-ellipsis nil |
| 196 | "The ellipsis to use in the Org-mode outline. | 214 | "The ellipsis to use in the Org-mode outline. |
| @@ -255,7 +273,9 @@ An entry can be toggled between QUOTE and normal with | |||
| 255 | :group 'org-keywords | 273 | :group 'org-keywords |
| 256 | :type 'string) | 274 | :type 'string) |
| 257 | 275 | ||
| 258 | (defvar org-repeat-re "\\<REPEAT(\\([-+ 0-9dwmy]+\\))" | 276 | (defconst org-repeat-re |
| 277 | (concat "\\(?:\\<\\(?:" org-scheduled-string "\\|" org-deadline-string "\\)" | ||
| 278 | " +<[0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9] [^>\n]*\\)\\(\\+[0-9]+[dwmy]\\)") | ||
| 259 | "Regular expression for specifying repeated events. | 279 | "Regular expression for specifying repeated events. |
| 260 | After a match, group 1 contains the repeat expression.") | 280 | After a match, group 1 contains the repeat expression.") |
| 261 | 281 | ||
| @@ -304,7 +324,7 @@ contexts. Valid contexts are | |||
| 304 | (const default)) | 324 | (const default)) |
| 305 | (boolean))))) | 325 | (boolean))))) |
| 306 | 326 | ||
| 307 | (defcustom org-show-following-heading '((default . t)) | 327 | (defcustom org-show-following-heading '((default . nil)) |
| 308 | "Non-nil means, show following heading when revealing a location. | 328 | "Non-nil means, show following heading when revealing a location. |
| 309 | Org-mode often shows locations in an org-mode file which might have | 329 | Org-mode often shows locations in an org-mode file which might have |
| 310 | been invisible before. When this is set, the heading following the | 330 | been invisible before. When this is set, the heading following the |
| @@ -386,6 +406,7 @@ nil Never | |||
| 386 | white Only in completely white lines | 406 | white Only in completely white lines |
| 387 | whitestart Only at the beginning of lines, before the first non-white char. | 407 | whitestart Only at the beginning of lines, before the first non-white char. |
| 388 | t Everywhere except in headlines | 408 | t Everywhere except in headlines |
| 409 | exc-hl-bol Everywhere except at the start of a headline | ||
| 389 | If TAB is used in a place where it does not emulate TAB, the current subtree | 410 | If TAB is used in a place where it does not emulate TAB, the current subtree |
| 390 | visibility is cycled." | 411 | visibility is cycled." |
| 391 | :group 'org-cycle | 412 | :group 'org-cycle |
| @@ -393,9 +414,25 @@ visibility is cycled." | |||
| 393 | (const :tag "Only in completely white lines" white) | 414 | (const :tag "Only in completely white lines" white) |
| 394 | (const :tag "Before first char in a line" whitestart) | 415 | (const :tag "Before first char in a line" whitestart) |
| 395 | (const :tag "Everywhere except in headlines" t) | 416 | (const :tag "Everywhere except in headlines" t) |
| 417 | (const :tag "Everywhere except at bol in headlines" exc-hl-bol) | ||
| 396 | )) | 418 | )) |
| 397 | 419 | ||
| 420 | (defcustom org-cycle-separator-lines 2 | ||
| 421 | "Number of empty lines needed to keep an empty line between collapsed trees. | ||
| 422 | If you leave an empty line between the end of a subtree and the following | ||
| 423 | headline, this empty line is hidden when the subtree is folded. | ||
| 424 | Org-mode will leave (exactly) one empty line visible if the number of | ||
| 425 | empty lines is equal or larger to the number given in this variable. | ||
| 426 | So the default 2 means, at least 2 empty lines after the end of a subtree | ||
| 427 | are needed to produce free space between a collapsed subtree and the | ||
| 428 | following headline. | ||
| 429 | |||
| 430 | Special case: when 0, never leave empty lines in collapsed view." | ||
| 431 | :group 'org-cycle | ||
| 432 | :type 'integer) | ||
| 433 | |||
| 398 | (defcustom org-cycle-hook '(org-cycle-hide-archived-subtrees | 434 | (defcustom org-cycle-hook '(org-cycle-hide-archived-subtrees |
| 435 | org-cycle-show-empty-lines | ||
| 399 | org-optimize-window-after-visibility-change) | 436 | org-optimize-window-after-visibility-change) |
| 400 | "Hook that is run after `org-cycle' has changed the buffer visibility. | 437 | "Hook that is run after `org-cycle' has changed the buffer visibility. |
| 401 | The function(s) in this hook must accept a single argument which indicates | 438 | The function(s) in this hook must accept a single argument which indicates |
| @@ -406,12 +443,20 @@ the values `folded', `children', or `subtree'." | |||
| 406 | :group 'org-cycle | 443 | :group 'org-cycle |
| 407 | :type 'hook) | 444 | :type 'hook) |
| 408 | 445 | ||
| 409 | |||
| 410 | (defgroup org-edit-structure nil | 446 | (defgroup org-edit-structure nil |
| 411 | "Options concerning structure editing in Org-mode." | 447 | "Options concerning structure editing in Org-mode." |
| 412 | :tag "Org Edit Structure" | 448 | :tag "Org Edit Structure" |
| 413 | :group 'org-structure) | 449 | :group 'org-structure) |
| 414 | 450 | ||
| 451 | (defcustom org-special-ctrl-a nil | ||
| 452 | "Non-nil means `C-a' behaves specially in headlines. | ||
| 453 | When set, `C-a' will bring back the cursor to the beginning of the | ||
| 454 | headline text, i.e. after the stars and after a possible TODO keyword. | ||
| 455 | When the cursor is already at that position, another `C-a' will bring | ||
| 456 | it to the beginning of the line." | ||
| 457 | :group 'org-edit-structure | ||
| 458 | :type 'boolean) | ||
| 459 | |||
| 415 | (defcustom org-odd-levels-only nil | 460 | (defcustom org-odd-levels-only nil |
| 416 | "Non-nil means, skip even levels and only use odd levels for the outline. | 461 | "Non-nil means, skip even levels and only use odd levels for the outline. |
| 417 | This has the effect that two stars are being added/taken away in | 462 | This has the effect that two stars are being added/taken away in |
| @@ -783,6 +828,18 @@ calls `table-recognize-table'." | |||
| 783 | :tag "Org Table Calculation" | 828 | :tag "Org Table Calculation" |
| 784 | :group 'org-table) | 829 | :group 'org-table) |
| 785 | 830 | ||
| 831 | (defcustom org-table-use-standard-references t | ||
| 832 | "Should org-mode work with table refrences like B3 instead of @3$2? | ||
| 833 | Possible values are: | ||
| 834 | nil never use them | ||
| 835 | from accept as input, do not present for editing | ||
| 836 | t: accept as input and present for editing" | ||
| 837 | :group 'org-table-calculation | ||
| 838 | :type '(choice | ||
| 839 | (const :tag "Never, don't even check unser input for them" nil) | ||
| 840 | (const :tag "Always, both as user input, and when editing" t) | ||
| 841 | (const :tag "Convert user input, don't offer during editing" 'from))) | ||
| 842 | |||
| 786 | (defcustom org-table-copy-increment t | 843 | (defcustom org-table-copy-increment t |
| 787 | "Non-nil means, increment when copying current field with \\[org-table-copy-down]." | 844 | "Non-nil means, increment when copying current field with \\[org-table-copy-down]." |
| 788 | :group 'org-table-calculation | 845 | :group 'org-table-calculation |
| @@ -815,9 +872,6 @@ the command \\[org-table-eval-formula]." | |||
| 815 | :group 'org-table-calculation | 872 | :group 'org-table-calculation |
| 816 | :type 'boolean) | 873 | :type 'boolean) |
| 817 | 874 | ||
| 818 | ;; FIXME this is also a variable that makes Org-mode files non-portable | ||
| 819 | ;; Maybe I should have a #+ options for constants? | ||
| 820 | ;; How about the SI/cgs issue? | ||
| 821 | (defcustom org-table-formula-use-constants t | 875 | (defcustom org-table-formula-use-constants t |
| 822 | "Non-nil means, interpret constants in formulas in tables. | 876 | "Non-nil means, interpret constants in formulas in tables. |
| 823 | A constant looks like `$c' or `$Grav' and will be replaced before evaluation | 877 | A constant looks like `$c' or `$Grav' and will be replaced before evaluation |
| @@ -826,6 +880,8 @@ from the `constants.el' package." | |||
| 826 | :group 'org-table-calculation | 880 | :group 'org-table-calculation |
| 827 | :type 'boolean) | 881 | :type 'boolean) |
| 828 | 882 | ||
| 883 | ;; FIXME this is also a variable that makes Org-mode files non-portable | ||
| 884 | ;; Maybe I should have a #+ options for constants? | ||
| 829 | (defcustom org-table-formula-constants nil | 885 | (defcustom org-table-formula-constants nil |
| 830 | "Alist with constant names and values, for use in table formulas. | 886 | "Alist with constant names and values, for use in table formulas. |
| 831 | The car of each element is a name of a constant, without the `$' before it. | 887 | The car of each element is a name of a constant, without the `$' before it. |
| @@ -852,7 +908,7 @@ Automatically means, when TAB or RET or C-c C-c are pressed in the line." | |||
| 852 | :group 'org) | 908 | :group 'org) |
| 853 | 909 | ||
| 854 | (defvar org-link-abbrev-alist-local nil | 910 | (defvar org-link-abbrev-alist-local nil |
| 855 | "buffer-local version of `org-link-abbrev-alist', which see. | 911 | "Buffer-local version of `org-link-abbrev-alist', which see. |
| 856 | The value of this is taken from the #+LINK lines.") | 912 | The value of this is taken from the #+LINK lines.") |
| 857 | (make-variable-buffer-local 'org-link-abbrev-alist-local) | 913 | (make-variable-buffer-local 'org-link-abbrev-alist-local) |
| 858 | 914 | ||
| @@ -1318,30 +1374,64 @@ When nil, new notes will be filed to the end of a file or entry." | |||
| 1318 | :tag "Org Progress" | 1374 | :tag "Org Progress" |
| 1319 | :group 'org-time) | 1375 | :group 'org-time) |
| 1320 | 1376 | ||
| 1321 | (defcustom org-todo-keywords '("TODO" "DONE") | 1377 | (defcustom org-todo-keywords '((sequence "TODO" "DONE")) |
| 1322 | "List of TODO entry keywords. | 1378 | "List of TODO entry keyword sequences and their interpretation. |
| 1323 | \\<org-mode-map>By default, this is '(\"TODO\" \"DONE\"). The last entry in the list is | 1379 | \\<org-mode-map>This is a list of sequences. |
| 1324 | considered to mean that the entry is \"done\". All the other mean that | 1380 | |
| 1325 | action is required, and will make the entry show up in todo lists, diaries | 1381 | Each sequence starts with a symbol, either `sequence' or `type', |
| 1326 | etc. | 1382 | indicating if the keywords should be interpreted as a sequence of |
| 1327 | The command \\[org-todo] cycles an entry through these states, and an | 1383 | action steps, or as different types of TODO items. The first |
| 1384 | keywords are states requiring action - these states will select a headline | ||
| 1385 | for inclusion into the global TODO list Org-mode produces. If one of | ||
| 1386 | the \"keywords\" is the vertical bat \"|\" the remaining keywords | ||
| 1387 | signify that no further action is necessary. If \"|\" is not found, | ||
| 1388 | the last keyword is treated as the only DONE state of the sequence. | ||
| 1389 | |||
| 1390 | The command \\[org-todo] cycles an entry through these states, and one | ||
| 1328 | additional state where no keyword is present. For details about this | 1391 | additional state where no keyword is present. For details about this |
| 1329 | cycling, see also the variable `org-todo-interpretation' | 1392 | cycling, see the manual. |
| 1330 | Changes become only effective after restarting Emacs." | 1393 | |
| 1394 | TODO keywords and interpretation can also be set on a per-file basis with | ||
| 1395 | the special #+SEQ_TODO and #+TYP_TODO lines. | ||
| 1396 | |||
| 1397 | For backward compatibility, this variable may also be just a list | ||
| 1398 | of keywords - in this case the interptetation (sequence or type) will be | ||
| 1399 | taken from the (otherwise obsolete) variable `org-todo-interpretation'." | ||
| 1331 | :group 'org-todo | 1400 | :group 'org-todo |
| 1332 | :group 'org-keywords | 1401 | :group 'org-keywords |
| 1333 | :type '(repeat (string :tag "Keyword"))) | 1402 | :type '(choice |
| 1403 | (repeat :tag "Old syntax, just keywords" | ||
| 1404 | (string :tag "Keyword")) | ||
| 1405 | (repeat :tag "New syntax" | ||
| 1406 | (cons | ||
| 1407 | (choice | ||
| 1408 | :tag "Interpretation" | ||
| 1409 | (const :tag "Sequence (cycling hits every state)" sequence) | ||
| 1410 | (const :tag "Type (cycling directly to DONE)" type)) | ||
| 1411 | (repeat | ||
| 1412 | (string :tag "Keyword")))))) | ||
| 1413 | |||
| 1414 | (defvar org-todo-keywords-1 nil) | ||
| 1415 | (make-variable-buffer-local 'org-todo-keywords-1) | ||
| 1416 | (defvar org-todo-keywords-for-agenda nil) | ||
| 1417 | (defvar org-done-keywords-for-agenda nil) | ||
| 1418 | (defvar org-not-done-keywords nil) | ||
| 1419 | (make-variable-buffer-local 'org-not-done-keywords) | ||
| 1420 | (defvar org-done-keywords nil) | ||
| 1421 | (make-variable-buffer-local 'org-done-keywords) | ||
| 1422 | (defvar org-todo-heads nil) | ||
| 1423 | (make-variable-buffer-local 'org-todo-heads) | ||
| 1424 | (defvar org-todo-sets nil) | ||
| 1425 | (make-variable-buffer-local 'org-todo-sets) | ||
| 1426 | (defvar org-todo-kwd-alist nil) | ||
| 1427 | (make-variable-buffer-local 'org-todo-kwd-alist) | ||
| 1334 | 1428 | ||
| 1335 | (defcustom org-todo-interpretation 'sequence | 1429 | (defcustom org-todo-interpretation 'sequence |
| 1336 | "Controls how TODO keywords are interpreted. | 1430 | "Controls how TODO keywords are interpreted. |
| 1337 | This variable is only relevant if `org-todo-keywords' contains more than two | 1431 | This variable is in principle obsolete and is only used for |
| 1338 | states. \\<org-mode-map>Possible values are `sequence' and `type'. | 1432 | backward compatibility, if the interpretation of todo keywords is |
| 1339 | 1433 | not given already in `org-todo-keywords'. See that variable for | |
| 1340 | When `sequence', \\[org-todo] will always switch to the next state in the | 1434 | more information." |
| 1341 | `org-todo-keywords' list. When `type', \\[org-todo] only cycles from state | ||
| 1342 | to state when executed several times in direct succession. Otherwise, it | ||
| 1343 | switches directly to DONE from any state. | ||
| 1344 | See the manual for more information." | ||
| 1345 | :group 'org-todo | 1435 | :group 'org-todo |
| 1346 | :group 'org-keywords | 1436 | :group 'org-keywords |
| 1347 | :type '(choice (const sequence) | 1437 | :type '(choice (const sequence) |
| @@ -1393,6 +1483,12 @@ the following lines anywhere in the buffer: | |||
| 1393 | (const :tag "when TODO state changes" state) | 1483 | (const :tag "when TODO state changes" state) |
| 1394 | (const :tag "when clocking out" clock-out)))) | 1484 | (const :tag "when clocking out" clock-out)))) |
| 1395 | 1485 | ||
| 1486 | (defcustom org-log-done-with-time t | ||
| 1487 | "Non-nil means, the CLOSED time stamp will contain date and time. | ||
| 1488 | When nil, only the date will be recorded." | ||
| 1489 | :group 'org-progress | ||
| 1490 | :type 'boolean) | ||
| 1491 | |||
| 1396 | (defcustom org-log-note-headings | 1492 | (defcustom org-log-note-headings |
| 1397 | '((done . "CLOSING NOTE %t") | 1493 | '((done . "CLOSING NOTE %t") |
| 1398 | (state . "State %-12s %t") | 1494 | (state . "State %-12s %t") |
| @@ -1414,11 +1510,9 @@ empty string. | |||
| 1414 | state) string) | 1510 | state) string) |
| 1415 | (cons (const :tag "Heading when clocking out" clock-out) string))) | 1511 | (cons (const :tag "Heading when clocking out" clock-out) string))) |
| 1416 | 1512 | ||
| 1417 | (defcustom org-allow-auto-repeat t | 1513 | (defcustom org-log-repeat t |
| 1418 | "Non-nil means, find REPEAT cookies in entries and apply them. | 1514 | "Non-nil means, prompt for a note when REPEAT is resetting a TODO entry. |
| 1419 | A repeat cookie looks like REPEAT(+1m) and causes deadlines and schedules | 1515 | When nil, no note will be taken." |
| 1420 | to repeat themselves shifted by a certain amount of time, each time an | ||
| 1421 | entry is marked DONE." | ||
| 1422 | :group 'org-todo | 1516 | :group 'org-todo |
| 1423 | :group 'org-progress | 1517 | :group 'org-progress |
| 1424 | :type 'boolean) | 1518 | :type 'boolean) |
| @@ -1428,14 +1522,21 @@ entry is marked DONE." | |||
| 1428 | :tag "Org Priorities" | 1522 | :tag "Org Priorities" |
| 1429 | :group 'org-todo) | 1523 | :group 'org-todo) |
| 1430 | 1524 | ||
| 1431 | (defcustom org-default-priority ?B | 1525 | (defcustom org-highest-priority ?A |
| 1432 | "The default priority of TODO items. | 1526 | "The highest priority of TODO items. A character like ?A, ?B etc. |
| 1433 | This is the priority an item get if no explicit priority is given." | 1527 | Must have a smaller ASCII number than `org-lowest-priority'." |
| 1434 | :group 'org-priorities | 1528 | :group 'org-priorities |
| 1435 | :type 'character) | 1529 | :type 'character) |
| 1436 | 1530 | ||
| 1437 | (defcustom org-lowest-priority ?C | 1531 | (defcustom org-lowest-priority ?C |
| 1438 | "The lowest priority of TODO items. A character like ?A, ?B etc." | 1532 | "The lowest priority of TODO items. A character like ?A, ?B etc. |
| 1533 | Must have a larger ASCII number than `org-highest-priority'." | ||
| 1534 | :group 'org-priorities | ||
| 1535 | :type 'character) | ||
| 1536 | |||
| 1537 | (defcustom org-default-priority ?B | ||
| 1538 | "The default priority of TODO items. | ||
| 1539 | This is the priority an item get if no explicit priority is given." | ||
| 1439 | :group 'org-priorities | 1540 | :group 'org-priorities |
| 1440 | :type 'character) | 1541 | :type 'character) |
| 1441 | 1542 | ||
| @@ -1612,7 +1713,7 @@ make sure all corresponding TODO items find their way into the list." | |||
| 1612 | "Variable used by org files to set a category for agenda display. | 1713 | "Variable used by org files to set a category for agenda display. |
| 1613 | Such files should use a file variable to set it, for example | 1714 | Such files should use a file variable to set it, for example |
| 1614 | 1715 | ||
| 1615 | -*- mode: org; org-category: \"ELisp\" | 1716 | # -*- mode: org; org-category: \"ELisp\" |
| 1616 | 1717 | ||
| 1617 | or contain a special line | 1718 | or contain a special line |
| 1618 | 1719 | ||
| @@ -1654,17 +1755,75 @@ forth between agenda and calendar." | |||
| 1654 | :group 'org-agenda | 1755 | :group 'org-agenda |
| 1655 | :type 'sexp) | 1756 | :type 'sexp) |
| 1656 | 1757 | ||
| 1758 | (defgroup org-agenda-export nil | ||
| 1759 | "Options concerning exporting agenda views in Org-mode." | ||
| 1760 | :tag "Org Agenda Export" | ||
| 1761 | :group 'org-agenda) | ||
| 1762 | |||
| 1763 | (defcustom org-agenda-with-colors t | ||
| 1764 | "Non-nil means, use colors in agenda views." | ||
| 1765 | :group 'org-agenda-export | ||
| 1766 | :type 'boolean) | ||
| 1767 | |||
| 1768 | (defcustom org-agenda-exporter-settings nil | ||
| 1769 | "Alist of variable/value pairs that should be active during agenda export. | ||
| 1770 | This is a good place to set uptions for ps-print and for htmlize." | ||
| 1771 | :group 'org-agenda-export | ||
| 1772 | :type '(repeat | ||
| 1773 | (list | ||
| 1774 | (variable) | ||
| 1775 | (sexp :tag "Value")))) | ||
| 1776 | |||
| 1777 | (defcustom org-agenda-export-html-style "" | ||
| 1778 | "The style specification for exported HTML Agenda files. | ||
| 1779 | If this variable contains a string, it will replace the default <style> | ||
| 1780 | section as produced by `htmlize'. | ||
| 1781 | Since there are different ways of setting style information, this variable | ||
| 1782 | needs to contain the full HTML structure to provide a style, including the | ||
| 1783 | surrounding HTML tags. The style specifications should include definitions | ||
| 1784 | the fonts used by the agenda, here is an example: | ||
| 1785 | |||
| 1786 | <style type=\"text/css\"> | ||
| 1787 | p { font-weight: normal; color: gray; } | ||
| 1788 | .org-agenda-structure { | ||
| 1789 | font-size: 110%; | ||
| 1790 | color: #003399; | ||
| 1791 | font-weight: 600; | ||
| 1792 | } | ||
| 1793 | .org-todo { | ||
| 1794 | color: #cc6666;Week-agenda: | ||
| 1795 | font-weight: bold; | ||
| 1796 | } | ||
| 1797 | .org-done { | ||
| 1798 | color: #339933; | ||
| 1799 | } | ||
| 1800 | .title { text-align: center; } | ||
| 1801 | .todo, .deadline { color: red; } | ||
| 1802 | .done { color: green; } | ||
| 1803 | </style> | ||
| 1804 | |||
| 1805 | or, if you want to keep the style in a file, | ||
| 1806 | |||
| 1807 | <link rel=\"stylesheet\" type=\"text/css\" href=\"mystyles.css\"> | ||
| 1808 | |||
| 1809 | As the value of this option simply gets inserted into the HTML <head> header, | ||
| 1810 | you can \"misuse\" it to also add other text to the header. However, | ||
| 1811 | <style>...</style> is required, if not present the variable will be ignored." | ||
| 1812 | :group 'org-agenda-export | ||
| 1813 | :group 'org-export-html | ||
| 1814 | :type 'string) | ||
| 1815 | |||
| 1657 | (defgroup org-agenda-custom-commands nil | 1816 | (defgroup org-agenda-custom-commands nil |
| 1658 | "Options concerning agenda views in Org-mode." | 1817 | "Options concerning agenda views in Org-mode." |
| 1659 | :tag "Org Agenda Custom Commands" | 1818 | :tag "Org Agenda Custom Commands" |
| 1660 | :group 'org-agenda) | 1819 | :group 'org-agenda) |
| 1661 | 1820 | ||
| 1662 | (defcustom org-agenda-custom-commands '(("w" todo "WAITING")) | 1821 | (defcustom org-agenda-custom-commands nil |
| 1663 | "Custom commands for the agenda. | 1822 | "Custom commands for the agenda. |
| 1664 | These commands will be offered on the splash screen displayed by the | 1823 | These commands will be offered on the splash screen displayed by the |
| 1665 | agenda dispatcher \\[org-agenda]. Each entry is a list like this: | 1824 | agenda dispatcher \\[org-agenda]. Each entry is a list like this: |
| 1666 | 1825 | ||
| 1667 | (key type match options) | 1826 | (key type match options files) |
| 1668 | 1827 | ||
| 1669 | key The key (a single char as a string) to be associated with the command. | 1828 | key The key (a single char as a string) to be associated with the command. |
| 1670 | type The command type, any of the following symbols: | 1829 | type The command type, any of the following symbols: |
| @@ -1680,11 +1839,16 @@ match What to search for: | |||
| 1680 | - a regular expression for occur searches | 1839 | - a regular expression for occur searches |
| 1681 | options A list of option setttings, similar to that in a let form, so like | 1840 | options A list of option setttings, similar to that in a let form, so like |
| 1682 | this: ((opt1 val1) (opt2 val2) ...) | 1841 | this: ((opt1 val1) (opt2 val2) ...) |
| 1842 | files A list of files file to write the produced agenda buffer to | ||
| 1843 | with the command `org-store-agenda-views'. | ||
| 1844 | If a file name ends in \".html\", an HTML version of the buffer | ||
| 1845 | is written out. If it ends in \".ps\", a postscript version is | ||
| 1846 | produced. Otherwide, only the plain text is written to the file. | ||
| 1683 | 1847 | ||
| 1684 | You can also define a set of commands, to create a composite agenda buffer. | 1848 | You can also define a set of commands, to create a composite agenda buffer. |
| 1685 | In this case, an entry looks like this: | 1849 | In this case, an entry looks like this: |
| 1686 | 1850 | ||
| 1687 | (key desc (cmd1 cmd2 ...) general-options) | 1851 | (key desc (cmd1 cmd2 ...) general-options file) |
| 1688 | 1852 | ||
| 1689 | where | 1853 | where |
| 1690 | 1854 | ||
| @@ -1695,19 +1859,22 @@ cmd An agenda command, similar to the above. However, tree commands | |||
| 1695 | (agenda) | 1859 | (agenda) |
| 1696 | (alltodo) | 1860 | (alltodo) |
| 1697 | (stuck) | 1861 | (stuck) |
| 1698 | (todo \"match\" options) | 1862 | (todo \"match\" options files) |
| 1699 | (tags \"match\" options ) | 1863 | (tags \"match\" options files) |
| 1700 | (tags-todo \"match\" options) | 1864 | (tags-todo \"match\" options files) |
| 1701 | 1865 | ||
| 1702 | Each command can carry a list of options, and another set of options can be | 1866 | Each command can carry a list of options, and another set of options can be |
| 1703 | given for the whole set of commands. Individual command options take | 1867 | given for the whole set of commands. Individual command options take |
| 1704 | precedence over the general options." | 1868 | precedence over the general options." |
| 1705 | :group 'org-agenda-custom-commands | 1869 | :group 'org-agenda-custom-commands |
| 1706 | :type '(repeat | 1870 | :type '(repeat |
| 1707 | (choice | 1871 | (choice :value ("a" tags "" nil) |
| 1708 | (list :tag "Single command" | 1872 | (list :tag "Single command" |
| 1709 | (string :tag "Key") | 1873 | (string :tag "Key") |
| 1710 | (choice | 1874 | (choice |
| 1875 | (const :tag "Agenda" agenda) | ||
| 1876 | (const :tag "TODO list" alltodo) | ||
| 1877 | (const :tag "Stuck projects" stuck) | ||
| 1711 | (const :tag "Tags search (all agenda files)" tags) | 1878 | (const :tag "Tags search (all agenda files)" tags) |
| 1712 | (const :tag "Tags search of TODO entries (all agenda files)" tags-todo) | 1879 | (const :tag "Tags search of TODO entries (all agenda files)" tags-todo) |
| 1713 | (const :tag "TODO keyword search (all agenda files)" todo) | 1880 | (const :tag "TODO keyword search (all agenda files)" todo) |
| @@ -1717,7 +1884,8 @@ precedence over the general options." | |||
| 1717 | (symbol :tag "Other, user-defined function")) | 1884 | (symbol :tag "Other, user-defined function")) |
| 1718 | (string :tag "Match") | 1885 | (string :tag "Match") |
| 1719 | (repeat :tag "Local options" | 1886 | (repeat :tag "Local options" |
| 1720 | (list (variable :tag "Option") (sexp :tag "Value")))) | 1887 | (list (variable :tag "Option") (sexp :tag "Value"))) |
| 1888 | (option (repeat :tag "Export" (file :tag "Export to")))) | ||
| 1721 | (list :tag "Command series, all agenda files" | 1889 | (list :tag "Command series, all agenda files" |
| 1722 | (string :tag "Key") | 1890 | (string :tag "Key") |
| 1723 | (string :tag "Description") | 1891 | (string :tag "Description") |
| @@ -1756,20 +1924,24 @@ precedence over the general options." | |||
| 1756 | 1924 | ||
| 1757 | (repeat :tag "General options" | 1925 | (repeat :tag "General options" |
| 1758 | (list (variable :tag "Option") | 1926 | (list (variable :tag "Option") |
| 1759 | (sexp :tag "Value"))))))) | 1927 | (sexp :tag "Value"))) |
| 1928 | (option (repeat :tag "Export" (file :tag "Export to"))))))) | ||
| 1760 | 1929 | ||
| 1761 | (defcustom org-stuck-projects | 1930 | (defcustom org-stuck-projects |
| 1762 | '("+LEVEL=2/-DONE" ("TODO" "NEXT" "NEXTACTION") nil) | 1931 | '("+LEVEL=2/-DONE" ("TODO" "NEXT" "NEXTACTION") nil "") |
| 1763 | "How to identify stuck projects. | 1932 | "How to identify stuck projects. |
| 1764 | This is a list of three items: | 1933 | This is a list of four items: |
| 1765 | 1. A tags/todo matcher string that is used to identify a project. | 1934 | 1. A tags/todo matcher string that is used to identify a project. |
| 1766 | The entire tree below a headline matched by this is considered a project. | 1935 | The entire tree below a headline matched by this is considered one project. |
| 1767 | 2. A list of TODO keywords itentifying non-stuck projects. | 1936 | 2. A list of TODO keywords identifying non-stuck projects. |
| 1768 | If the project subtree contains any headline with one of these todo | 1937 | If the project subtree contains any headline with one of these todo |
| 1769 | keywords, the project is consitered to be not stuck. | 1938 | keywords, the project is considered to be not stuck. If you specify |
| 1939 | \"*\" as a keyword, any TODO keyword will mark the project unstuck. | ||
| 1770 | 3. A list of tags identifying non-stuck projects. | 1940 | 3. A list of tags identifying non-stuck projects. |
| 1771 | If the project subtree contains any headline with one of these tags, | 1941 | If the project subtree contains any headline with one of these tags, |
| 1772 | the project is consitered to be not stuck. | 1942 | the project is considered to be not stuck. If you specify \"*\" as |
| 1943 | a tag, any tag will mark the project unstuck. | ||
| 1944 | 4. An arbitrary regular expression matching non-stuck projects. | ||
| 1773 | 1945 | ||
| 1774 | After defining this variable, you may use \\[org-agenda-list-stuck-projects] | 1946 | After defining this variable, you may use \\[org-agenda-list-stuck-projects] |
| 1775 | or `C-c a #' to produce the list." | 1947 | or `C-c a #' to produce the list." |
| @@ -1777,7 +1949,8 @@ or `C-c a #' to produce the list." | |||
| 1777 | :type '(list | 1949 | :type '(list |
| 1778 | (string :tag "Tags/TODO match to identify a project") | 1950 | (string :tag "Tags/TODO match to identify a project") |
| 1779 | (repeat :tag "Projects are *not* stuck if they have an entry with TODO keyword any of" (string)) | 1951 | (repeat :tag "Projects are *not* stuck if they have an entry with TODO keyword any of" (string)) |
| 1780 | (repeat :tag "Projects are *not* stuck if they have an entry with TAG being any of" (string)))) | 1952 | (repeat :tag "Projects are *not* stuck if they have an entry with TAG being any of" (string)) |
| 1953 | (regexp :tag "Projects are *not* stuck if this regexp matches\ninside the subtree"))) | ||
| 1781 | 1954 | ||
| 1782 | 1955 | ||
| 1783 | (defgroup org-agenda-skip nil | 1956 | (defgroup org-agenda-skip nil |
| @@ -1815,6 +1988,14 @@ This is relevant for the daily/weekly agenda, not for the TODO list." | |||
| 1815 | :group 'org-agenda-skip | 1988 | :group 'org-agenda-skip |
| 1816 | :type 'boolean) | 1989 | :type 'boolean) |
| 1817 | 1990 | ||
| 1991 | (defcustom org-agenda-skip-deadline-if-done nil | ||
| 1992 | "Non-nil means don't show deadines when the corresponding item is done. | ||
| 1993 | When nil, the deadline is still shown and should give you a happy feeling. | ||
| 1994 | |||
| 1995 | This is relevant for the daily/weekly agenda." | ||
| 1996 | :group 'org-agenda-skip | ||
| 1997 | :type 'boolean) | ||
| 1998 | |||
| 1818 | (defcustom org-timeline-show-empty-dates 3 | 1999 | (defcustom org-timeline-show-empty-dates 3 |
| 1819 | "Non-nil means, `org-timeline' also shows dates without an entry. | 2000 | "Non-nil means, `org-timeline' also shows dates without an entry. |
| 1820 | When nil, only the days which actually have entries are shown. | 2001 | When nil, only the days which actually have entries are shown. |
| @@ -1846,7 +2027,7 @@ Needs to be set before org.el is loaded." | |||
| 1846 | :type 'boolean) | 2027 | :type 'boolean) |
| 1847 | 2028 | ||
| 1848 | (defcustom org-agenda-start-with-follow-mode nil | 2029 | (defcustom org-agenda-start-with-follow-mode nil |
| 1849 | "The initial value of follwo-mode in a newly created agenda window." | 2030 | "The initial value of follow-mode in a newly created agenda window." |
| 1850 | :group 'org-agenda-startup | 2031 | :group 'org-agenda-startup |
| 1851 | :type 'boolean) | 2032 | :type 'boolean) |
| 1852 | 2033 | ||
| @@ -1931,7 +2112,7 @@ a format string understood by `format-time-string'. | |||
| 1931 | FIXME: Not used currently, because of timezone problem." | 2112 | FIXME: Not used currently, because of timezone problem." |
| 1932 | :group 'org-agenda-daily/weekly | 2113 | :group 'org-agenda-daily/weekly |
| 1933 | :type 'string) | 2114 | :type 'string) |
| 1934 | 2115 | ||
| 1935 | (defcustom org-agenda-include-diary nil | 2116 | (defcustom org-agenda-include-diary nil |
| 1936 | "If non-nil, include in the agenda entries from the Emacs Calendar's diary." | 2117 | "If non-nil, include in the agenda entries from the Emacs Calendar's diary." |
| 1937 | :group 'org-agenda-daily/weekly | 2118 | :group 'org-agenda-daily/weekly |
| @@ -2006,7 +2187,7 @@ a grid line." | |||
| 2006 | (defcustom org-agenda-sorting-strategy | 2187 | (defcustom org-agenda-sorting-strategy |
| 2007 | '((agenda time-up category-keep priority-down) | 2188 | '((agenda time-up category-keep priority-down) |
| 2008 | (todo category-keep priority-down) | 2189 | (todo category-keep priority-down) |
| 2009 | (tags category-keep)) | 2190 | (tags category-keep priority-down)) |
| 2010 | "Sorting structure for the agenda items of a single day. | 2191 | "Sorting structure for the agenda items of a single day. |
| 2011 | This is a list of symbols which will be used in sequence to determine | 2192 | This is a list of symbols which will be used in sequence to determine |
| 2012 | if an entry should be listed before another entry. The following | 2193 | if an entry should be listed before another entry. The following |
| @@ -2113,7 +2294,7 @@ the prefix, you could use: | |||
| 2113 | (setq org-agenda-prefix-format \" %-11:c% s\") | 2294 | (setq org-agenda-prefix-format \" %-11:c% s\") |
| 2114 | 2295 | ||
| 2115 | See also the variables `org-agenda-remove-times-when-in-prefix' and | 2296 | See also the variables `org-agenda-remove-times-when-in-prefix' and |
| 2116 | `org-agenda-remove-tags-when-in-prefix'." | 2297 | `org-agenda-remove-tags'." |
| 2117 | :type '(choice | 2298 | :type '(choice |
| 2118 | (string :tag "General format") | 2299 | (string :tag "General format") |
| 2119 | (list :greedy t :tag "View dependent" | 2300 | (list :greedy t :tag "View dependent" |
| @@ -2144,7 +2325,7 @@ the headline/diary entry." | |||
| 2144 | (const :tag "Never" nil) | 2325 | (const :tag "Never" nil) |
| 2145 | (const :tag "When at beginning of entry" beg))) | 2326 | (const :tag "When at beginning of entry" beg))) |
| 2146 | 2327 | ||
| 2147 | (defcustom org-agenda-remove-tags-when-in-prefix nil | 2328 | (defcustom org-agenda-remove-tags nil |
| 2148 | "Non-nil means, remove the tags from the headline copy in the agenda. | 2329 | "Non-nil means, remove the tags from the headline copy in the agenda. |
| 2149 | When this is the symbol `prefix', only remove tags when | 2330 | When this is the symbol `prefix', only remove tags when |
| 2150 | `org-agenda-prefix-format' contains a `%T' specifier." | 2331 | `org-agenda-prefix-format' contains a `%T' specifier." |
| @@ -2154,6 +2335,10 @@ When this is the symbol `prefix', only remove tags when | |||
| 2154 | (const :tag "Never" nil) | 2335 | (const :tag "Never" nil) |
| 2155 | (const :tag "When prefix format contains %T" prefix))) | 2336 | (const :tag "When prefix format contains %T" prefix))) |
| 2156 | 2337 | ||
| 2338 | (if (fboundp 'defvaralias) | ||
| 2339 | (defvaralias 'org-agenda-remove-tags-when-in-prefix | ||
| 2340 | 'org-agenda-remove-tags)) | ||
| 2341 | |||
| 2157 | (defcustom org-agenda-align-tags-to-column 65 | 2342 | (defcustom org-agenda-align-tags-to-column 65 |
| 2158 | "Shift tags in agenda items to this column." | 2343 | "Shift tags in agenda items to this column." |
| 2159 | :group 'org-agenda-prefix | 2344 | :group 'org-agenda-prefix |
| @@ -2165,13 +2350,18 @@ When this is the symbol `prefix', only remove tags when | |||
| 2165 | :group 'org) | 2350 | :group 'org) |
| 2166 | 2351 | ||
| 2167 | (defcustom org-format-latex-options | 2352 | (defcustom org-format-latex-options |
| 2168 | '(:foreground "Black" :background "Transparent" :scale 1.0 | 2353 | '(:foreground default :background default :scale 1.0 |
| 2169 | :matchers ("begin" "$" "$$" "\\(" "\\[")) | 2354 | :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 |
| 2355 | :matchers ("begin" "$" "$$" "\\(" "\\[")) | ||
| 2170 | "Options for creating images from LaTeX fragments. | 2356 | "Options for creating images from LaTeX fragments. |
| 2171 | This is a property list with the following properties: | 2357 | This is a property list with the following properties: |
| 2172 | :foreground the foreground color, for example \"Black\". | 2358 | :foreground the foreground color for images embedded in emacs, e.g. \"Black\". |
| 2359 | `default' means use the forground of the default face. | ||
| 2173 | :background the background color, or \"Transparent\". | 2360 | :background the background color, or \"Transparent\". |
| 2361 | `default' means use the background of the default face. | ||
| 2174 | :scale a scaling factor for the size of the images | 2362 | :scale a scaling factor for the size of the images |
| 2363 | :html-foreground, :html-background, :html-scale | ||
| 2364 | The same numbers for HTML export. | ||
| 2175 | :matchers a list indicating which matchers should be used to | 2365 | :matchers a list indicating which matchers should be used to |
| 2176 | find LaTeX fragments. Valid members of this list are: | 2366 | find LaTeX fragments. Valid members of this list are: |
| 2177 | \"begin\" find environments | 2367 | \"begin\" find environments |
| @@ -2182,6 +2372,18 @@ This is a property list with the following properties: | |||
| 2182 | :group 'org-latex | 2372 | :group 'org-latex |
| 2183 | :type 'plist) | 2373 | :type 'plist) |
| 2184 | 2374 | ||
| 2375 | (defcustom org-format-latex-header "\\documentclass{article} | ||
| 2376 | \\usepackage{fullpage} % do not remove | ||
| 2377 | \\usepackage{amssymb} | ||
| 2378 | \\usepackage[usenames]{color} | ||
| 2379 | \\usepackage{amsmath} | ||
| 2380 | \\usepackage{latexsym} | ||
| 2381 | \\usepackage[mathscr]{eucal} | ||
| 2382 | \\pagestyle{empty} % do not remove" | ||
| 2383 | "The document header used for processing LaTeX fragments." | ||
| 2384 | :group 'org-latex | ||
| 2385 | :type 'string) | ||
| 2386 | |||
| 2185 | (defgroup org-export nil | 2387 | (defgroup org-export nil |
| 2186 | "Options for exporting org-listings." | 2388 | "Options for exporting org-listings." |
| 2187 | :tag "Org Export" | 2389 | :tag "Org Export" |
| @@ -2237,6 +2439,12 @@ This should have an association in `org-export-language-setup'." | |||
| 2237 | :group 'org-export-general | 2439 | :group 'org-export-general |
| 2238 | :type 'string) | 2440 | :type 'string) |
| 2239 | 2441 | ||
| 2442 | (defcustom org-export-skip-text-before-1st-heading t | ||
| 2443 | "Non-nil means, skip all text before the first headline when exporting. | ||
| 2444 | When nil, that text is exported as well." | ||
| 2445 | :group 'org-export-general | ||
| 2446 | :type 'boolean) | ||
| 2447 | |||
| 2240 | (defcustom org-export-headline-levels 3 | 2448 | (defcustom org-export-headline-levels 3 |
| 2241 | "The last level which is still exported as a headline. | 2449 | "The last level which is still exported as a headline. |
| 2242 | Inferior levels will produce itemize lists when exported. | 2450 | Inferior levels will produce itemize lists when exported. |
| @@ -2354,12 +2562,19 @@ sub- or superscripts. | |||
| 2354 | x_{i^2} or x^(2-i) braces or parenthesis do grouping. | 2562 | x_{i^2} or x^(2-i) braces or parenthesis do grouping. |
| 2355 | 2563 | ||
| 2356 | Still, ambiguity is possible - so when in doubt use {} to enclose the | 2564 | Still, ambiguity is possible - so when in doubt use {} to enclose the |
| 2357 | sub/superscript. | 2565 | sub/superscript. If you set this variable to the symbol `{}', |
| 2566 | the braces are *required* in order to trigger interpretations as | ||
| 2567 | sub/superscript. This can be helpful in documents that need \"_\" | ||
| 2568 | frequently in plain text. | ||
| 2569 | |||
| 2358 | Not all export backends support this, but HTML does. | 2570 | Not all export backends support this, but HTML does. |
| 2359 | 2571 | ||
| 2360 | This option can also be set with the +OPTIONS line, e.g. \"^:nil\"." | 2572 | This option can also be set with the +OPTIONS line, e.g. \"^:nil\"." |
| 2361 | :group 'org-export-translation | 2573 | :group 'org-export-translation |
| 2362 | :type 'boolean) | 2574 | :type '(choice |
| 2575 | (const :tag "Always interpret" t) | ||
| 2576 | (const :tag "Only with braces" {}) | ||
| 2577 | (const :tag "Never interpret" nil))) | ||
| 2363 | 2578 | ||
| 2364 | (defcustom org-export-with-TeX-macros t | 2579 | (defcustom org-export-with-TeX-macros t |
| 2365 | "Non-nil means, interpret simple TeX-like macros when exporting. | 2580 | "Non-nil means, interpret simple TeX-like macros when exporting. |
| @@ -2467,7 +2682,7 @@ In the given sequence, these characters will be used for level 1, 2, ..." | |||
| 2467 | 2682 | ||
| 2468 | (defcustom org-export-ascii-bullets '(?* ?+ ?-) | 2683 | (defcustom org-export-ascii-bullets '(?* ?+ ?-) |
| 2469 | "Bullet characters for headlines converted to lists in ASCII export. | 2684 | "Bullet characters for headlines converted to lists in ASCII export. |
| 2470 | The first character is is used for the first lest level generated in this | 2685 | The first character is used for the first lest level generated in this |
| 2471 | way, and so on. If there are more levels than characters given here, | 2686 | way, and so on. If there are more levels than characters given here, |
| 2472 | the list will be repeated. | 2687 | the list will be repeated. |
| 2473 | Note that plain lists will keep the same bullets as the have in the | 2688 | Note that plain lists will keep the same bullets as the have in the |
| @@ -2534,6 +2749,7 @@ you can \"misuse\" it to add arbitrary text to the header." | |||
| 2534 | :group 'org-export-html | 2749 | :group 'org-export-html |
| 2535 | :type 'string) | 2750 | :type 'string) |
| 2536 | 2751 | ||
| 2752 | |||
| 2537 | (defcustom org-export-html-title-format "<h1 class=\"title\">%s</h1>\n" | 2753 | (defcustom org-export-html-title-format "<h1 class=\"title\">%s</h1>\n" |
| 2538 | "Format for typesetting the document title in HTML export." | 2754 | "Format for typesetting the document title in HTML export." |
| 2539 | :group 'org-export-html | 2755 | :group 'org-export-html |
| @@ -2567,7 +2783,7 @@ be linked only." | |||
| 2567 | (const :tag "Always" t) | 2783 | (const :tag "Always" t) |
| 2568 | (const :tag "When there is no description" maybe))) | 2784 | (const :tag "When there is no description" maybe))) |
| 2569 | 2785 | ||
| 2570 | ;; FIXME: rename | 2786 | ;; FIXME: rename |
| 2571 | (defcustom org-export-html-expand t | 2787 | (defcustom org-export-html-expand t |
| 2572 | "Non-nil means, for HTML export, treat @<...> as HTML tag. | 2788 | "Non-nil means, for HTML export, treat @<...> as HTML tag. |
| 2573 | When nil, these tags will be exported as plain text and therefore | 2789 | When nil, these tags will be exported as plain text and therefore |
| @@ -2579,12 +2795,24 @@ This option can also be set with the +OPTIONS line, e.g. \"@:nil\"." | |||
| 2579 | 2795 | ||
| 2580 | (defcustom org-export-html-table-tag | 2796 | (defcustom org-export-html-table-tag |
| 2581 | "<table border=\"2\" cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\" frame=\"hsides\">" | 2797 | "<table border=\"2\" cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\" frame=\"hsides\">" |
| 2582 | "The HTML tag used to start a table. | 2798 | "The HTML tag that is used to start a table. |
| 2583 | This must be a <table> tag, but you may change the options like | 2799 | This must be a <table> tag, but you may change the options like |
| 2584 | borders and spacing." | 2800 | borders and spacing." |
| 2585 | :group 'org-export-html | 2801 | :group 'org-export-html |
| 2586 | :type 'string) | 2802 | :type 'string) |
| 2587 | 2803 | ||
| 2804 | (defcustom org-export-table-header-tags '("<th>" . "</th>") | ||
| 2805 | "The opening tag for table header fields. | ||
| 2806 | This is customizable so that alignment options can be specified." | ||
| 2807 | :group 'org-export-tables | ||
| 2808 | :type '(cons (string :tag "Opening tag") (string :tag "Closing tag"))) | ||
| 2809 | |||
| 2810 | (defcustom org-export-table-data-tags '("<td>" . "</td>") | ||
| 2811 | "The opening tag for table data fields. | ||
| 2812 | This is customizable so that alignment options can be specified." | ||
| 2813 | :group 'org-export-tables | ||
| 2814 | :type '(cons (string :tag "Opening tag") (string :tag "Closing tag"))) | ||
| 2815 | |||
| 2588 | (defcustom org-export-html-with-timestamp nil | 2816 | (defcustom org-export-html-with-timestamp nil |
| 2589 | "If non-nil, write `org-export-html-html-helper-timestamp' | 2817 | "If non-nil, write `org-export-html-html-helper-timestamp' |
| 2590 | into the exported HTML text. Otherwise, the buffer will just be saved | 2818 | into the exported HTML text. Otherwise, the buffer will just be saved |
| @@ -2618,6 +2846,12 @@ The file name should be absolute." | |||
| 2618 | (const :tag "Unfinished" t) | 2846 | (const :tag "Unfinished" t) |
| 2619 | (const :tag "All" all))) | 2847 | (const :tag "All" all))) |
| 2620 | 2848 | ||
| 2849 | (defcustom org-icalendar-include-sexps t | ||
| 2850 | "Non-nil means, export to iCalendar files should also cover sexp entries. | ||
| 2851 | These are entries like in the diary, but directly in an Org-mode file." | ||
| 2852 | :group 'org-export-icalendar | ||
| 2853 | :type 'boolean) | ||
| 2854 | |||
| 2621 | (defcustom org-icalendar-combined-name "OrgMode" | 2855 | (defcustom org-icalendar-combined-name "OrgMode" |
| 2622 | "Calendar name for the combined iCalendar representing all agenda files." | 2856 | "Calendar name for the combined iCalendar representing all agenda files." |
| 2623 | :group 'org-export-icalendar | 2857 | :group 'org-export-icalendar |
| @@ -2690,8 +2924,6 @@ Changing this variable requires a restart of Emacs to take effect." | |||
| 2690 | (setq markers (concat (replace-match "" t t markers) "^"))) | 2924 | (setq markers (concat (replace-match "" t t markers) "^"))) |
| 2691 | (if (string-match "-" markers) | 2925 | (if (string-match "-" markers) |
| 2692 | (setq markers (concat (replace-match "" t t markers) "-"))) | 2926 | (setq markers (concat (replace-match "" t t markers) "-"))) |
| 2693 | ; (while (>= (setq nl (1- nl)) 0) (setq body1 (concat body1 "\n?" body "*?"))) | ||
| 2694 | ; (while (>= (setq nl (1- nl)) 0) (setq body1 (concat body1 "\\(?:\n?" body "*?\\)?"))) | ||
| 2695 | (if (> nl 0) | 2927 | (if (> nl 0) |
| 2696 | (setq body1 (concat body1 "\\(?:\n" body "*?\\)\\{0," | 2928 | (setq body1 (concat body1 "\\(?:\n" body "*?\\)\\{0," |
| 2697 | (int-to-string nl) "\\}"))) | 2929 | (int-to-string nl) "\\}"))) |
| @@ -2701,15 +2933,15 @@ Changing this variable requires a restart of Emacs to take effect." | |||
| 2701 | "\\(" | 2933 | "\\(" |
| 2702 | "\\([" markers "]\\)" | 2934 | "\\([" markers "]\\)" |
| 2703 | "\\(" | 2935 | "\\(" |
| 2704 | "[^" border markers "]" | 2936 | "[^" border (if (and nil stacked) markers) "]" |
| 2705 | body1 | 2937 | body1 |
| 2706 | "[^" border markers "]" | 2938 | "[^" border (if (and nil stacked) markers) "]" |
| 2707 | "\\)" | 2939 | "\\)" |
| 2708 | "\\3\\)" | 2940 | "\\3\\)" |
| 2709 | "\\([" post (if stacked markers) "]\\|$\\)"))))) | 2941 | "\\([" post (if stacked markers) "]\\|$\\)"))))) |
| 2710 | 2942 | ||
| 2711 | (defcustom org-emphasis-regexp-components | 2943 | (defcustom org-emphasis-regexp-components |
| 2712 | '(" \t('\"" " \t.,?;'\")" " \t\r\n," "." 1 nil) | 2944 | '(" \t('\"" "- \t.,:?;'\")" " \t\r\n,\"'" "." 1 nil) |
| 2713 | "Components used to build the reqular expression for emphasis. | 2945 | "Components used to build the reqular expression for emphasis. |
| 2714 | This is a list with 6 entries. Terminology: In an emphasis string | 2946 | This is a list with 6 entries. Terminology: In an emphasis string |
| 2715 | like \" *strong word* \", we call the initial space PREMATCH, the final | 2947 | like \" *strong word* \", we call the initial space PREMATCH, the final |
| @@ -2719,8 +2951,7 @@ specify what is allowed/forbidden in each part: | |||
| 2719 | 2951 | ||
| 2720 | pre Chars allowed as prematch. Beginning of line will be allowed too. | 2952 | pre Chars allowed as prematch. Beginning of line will be allowed too. |
| 2721 | post Chars allowed as postmatch. End of line will be allowed too. | 2953 | post Chars allowed as postmatch. End of line will be allowed too. |
| 2722 | border The chars *forbidden* as border characters. In addition to the | 2954 | border The chars *forbidden* as border characters. |
| 2723 | characters given here, all marker characters are forbidden too. | ||
| 2724 | body-regexp A regexp like \".\" to match a body character. Don't use | 2955 | body-regexp A regexp like \".\" to match a body character. Don't use |
| 2725 | non-shy groups here, and don't allow newline here. | 2956 | non-shy groups here, and don't allow newline here. |
| 2726 | newline The maximum number of newlines allowed in an emphasis exp. | 2957 | newline The maximum number of newlines allowed in an emphasis exp. |
| @@ -2745,11 +2976,11 @@ Use customize to modify this, or restart Emacs after changing it." | |||
| 2745 | ("_" underline "<u>" "</u>") | 2976 | ("_" underline "<u>" "</u>") |
| 2746 | ("=" shadow "<code>" "</code>") | 2977 | ("=" shadow "<code>" "</code>") |
| 2747 | ("+" (:strike-through t) "<del>" "</del>") | 2978 | ("+" (:strike-through t) "<del>" "</del>") |
| 2748 | ) | 2979 | ) |
| 2749 | "Special syntax for emphasized text. | 2980 | "Special syntax for emphasized text. |
| 2750 | Text starting and ending with a special character will be emphasized, for | 2981 | Text starting and ending with a special character will be emphasized, for |
| 2751 | example *bold*, _underlined_ and /italic/. This variable sets the marker | 2982 | example *bold*, _underlined_ and /italic/. This variable sets the marker |
| 2752 | characters, the face to bbe used by font-lock for highlighting in Org-mode | 2983 | characters, the face to be used by font-lock for highlighting in Org-mode |
| 2753 | Emacs buffers, and the HTML tags to be used for this. | 2984 | Emacs buffers, and the HTML tags to be used for this. |
| 2754 | Use customize to modify this, or restart Emacs after changing it." | 2985 | Use customize to modify this, or restart Emacs after changing it." |
| 2755 | :group 'org-font-lock | 2986 | :group 'org-font-lock |
| @@ -2894,15 +3125,6 @@ color of the frame." | |||
| 2894 | "Face for deadlines and TODO keywords." | 3125 | "Face for deadlines and TODO keywords." |
| 2895 | :group 'org-faces) | 3126 | :group 'org-faces) |
| 2896 | 3127 | ||
| 2897 | (defface org-headline-done ;; font-lock-string-face | ||
| 2898 | (org-compatible-face | ||
| 2899 | '((((class color) (min-colors 16) (background light)) (:foreground "RosyBrown")) | ||
| 2900 | (((class color) (min-colors 16) (background dark)) (:foreground "LightSalmon")) | ||
| 2901 | (((class color) (min-colors 8) (background light)) (:bold nil)))) | ||
| 2902 | "Face used to indicate that a headline is DONE. | ||
| 2903 | This face is only used if `org-fontify-done-headline' is set." | ||
| 2904 | :group 'org-faces) | ||
| 2905 | |||
| 2906 | (defface org-archived ; similar to shadow | 3128 | (defface org-archived ; similar to shadow |
| 2907 | (org-compatible-face | 3129 | (org-compatible-face |
| 2908 | '((((class color grayscale) (min-colors 88) (background light)) | 3130 | '((((class color grayscale) (min-colors 88) (background light)) |
| @@ -2930,6 +3152,13 @@ This face is only used if `org-fontify-done-headline' is set." | |||
| 2930 | "Face for links." | 3152 | "Face for links." |
| 2931 | :group 'org-faces) | 3153 | :group 'org-faces) |
| 2932 | 3154 | ||
| 3155 | (defface org-sexp-date | ||
| 3156 | '((((class color) (background light)) (:foreground "Purple")) | ||
| 3157 | (((class color) (background dark)) (:foreground "Cyan")) | ||
| 3158 | (t (:underline t))) | ||
| 3159 | "Face for links." | ||
| 3160 | :group 'org-faces) | ||
| 3161 | |||
| 2933 | (defface org-tag | 3162 | (defface org-tag |
| 2934 | '((t (:bold t))) | 3163 | '((t (:bold t))) |
| 2935 | "Face for tags." | 3164 | "Face for tags." |
| @@ -2951,7 +3180,17 @@ This face is only used if `org-fontify-done-headline' is set." | |||
| 2951 | (((class color) (min-colors 16) (background dark)) (:foreground "PaleGreen" :bold t)) | 3180 | (((class color) (min-colors 16) (background dark)) (:foreground "PaleGreen" :bold t)) |
| 2952 | (((class color) (min-colors 8)) (:foreground "green")) | 3181 | (((class color) (min-colors 8)) (:foreground "green")) |
| 2953 | (t (:bold t)))) | 3182 | (t (:bold t)))) |
| 2954 | "Face used for DONE." | 3183 | "Face used for todo keywords that indicate DONE items." |
| 3184 | :group 'org-faces) | ||
| 3185 | |||
| 3186 | (defface org-headline-done ;; font-lock-string-face | ||
| 3187 | (org-compatible-face | ||
| 3188 | '((((class color) (min-colors 16) (background light)) (:foreground "RosyBrown")) | ||
| 3189 | (((class color) (min-colors 16) (background dark)) (:foreground "LightSalmon")) | ||
| 3190 | (((class color) (min-colors 8) (background light)) (:bold nil)))) | ||
| 3191 | "Face used to indicate that a headline is DONE. | ||
| 3192 | This face is only used if `org-fontify-done-headline' is set. If applies | ||
| 3193 | to the part of the headline after the DONE keyword." | ||
| 2955 | :group 'org-faces) | 3194 | :group 'org-faces) |
| 2956 | 3195 | ||
| 2957 | (defface org-table ;; font-lock-function-name-face | 3196 | (defface org-table ;; font-lock-function-name-face |
| @@ -2975,6 +3214,17 @@ This face is only used if `org-fontify-done-headline' is set." | |||
| 2975 | "Face for formulas." | 3214 | "Face for formulas." |
| 2976 | :group 'org-faces) | 3215 | :group 'org-faces) |
| 2977 | 3216 | ||
| 3217 | (defface org-agenda-structure ;; font-lock-function-name-face | ||
| 3218 | (org-compatible-face | ||
| 3219 | '((((class color) (min-colors 88) (background light)) (:foreground "Blue1")) | ||
| 3220 | (((class color) (min-colors 88) (background dark)) (:foreground "LightSkyBlue")) | ||
| 3221 | (((class color) (min-colors 16) (background light)) (:foreground "Blue")) | ||
| 3222 | (((class color) (min-colors 16) (background dark)) (:foreground "LightSkyBlue")) | ||
| 3223 | (((class color) (min-colors 8)) (:foreground "blue" :bold t)) | ||
| 3224 | (t (:bold t)))) | ||
| 3225 | "Face used in agenda for captions and dates." | ||
| 3226 | :group 'org-faces) | ||
| 3227 | |||
| 2978 | (defface org-scheduled-today | 3228 | (defface org-scheduled-today |
| 2979 | (org-compatible-face | 3229 | (org-compatible-face |
| 2980 | '((((class color) (min-colors 88) (background light)) (:foreground "DarkGreen")) | 3230 | '((((class color) (min-colors 88) (background light)) (:foreground "DarkGreen")) |
| @@ -3021,9 +3271,6 @@ This face is only used if `org-fontify-done-headline' is set." | |||
| 3021 | 3271 | ||
| 3022 | ;;; Variables for pre-computed regular expressions, all buffer local | 3272 | ;;; Variables for pre-computed regular expressions, all buffer local |
| 3023 | 3273 | ||
| 3024 | (defvar org-done-string nil | ||
| 3025 | "The last string in `org-todo-keywords', indicating an item is DONE.") | ||
| 3026 | (make-variable-buffer-local 'org-done-string) | ||
| 3027 | (defvar org-todo-regexp nil | 3274 | (defvar org-todo-regexp nil |
| 3028 | "Matches any of the TODO state keywords.") | 3275 | "Matches any of the TODO state keywords.") |
| 3029 | (make-variable-buffer-local 'org-todo-regexp) | 3276 | (make-variable-buffer-local 'org-todo-regexp) |
| @@ -3043,12 +3290,6 @@ Also put tags into group 4 if tags are present.") | |||
| 3043 | (defvar org-looking-at-done-regexp nil | 3290 | (defvar org-looking-at-done-regexp nil |
| 3044 | "Matches the DONE keyword a point.") | 3291 | "Matches the DONE keyword a point.") |
| 3045 | (make-variable-buffer-local 'org-looking-at-done-regexp) | 3292 | (make-variable-buffer-local 'org-looking-at-done-regexp) |
| 3046 | (defvar org-todo-kwd-priority-p nil | ||
| 3047 | "Do TODO items have priorities?") | ||
| 3048 | (make-variable-buffer-local 'org-todo-kwd-priority-p) | ||
| 3049 | (defvar org-todo-kwd-max-priority nil | ||
| 3050 | "Maximum priority of TODO items.") | ||
| 3051 | (make-variable-buffer-local 'org-todo-kwd-max-priority) | ||
| 3052 | (defvar org-ds-keyword-length 12 | 3293 | (defvar org-ds-keyword-length 12 |
| 3053 | "Maximum length of the Deadline and SCHEDULED keywords.") | 3294 | "Maximum length of the Deadline and SCHEDULED keywords.") |
| 3054 | (make-variable-buffer-local 'org-ds-keyword-length) | 3295 | (make-variable-buffer-local 'org-ds-keyword-length) |
| @@ -3080,6 +3321,9 @@ Also put tags into group 4 if tags are present.") | |||
| 3080 | (defvar org-maybe-keyword-time-regexp nil | 3321 | (defvar org-maybe-keyword-time-regexp nil |
| 3081 | "Matches a timestamp, possibly preceeded by a keyword.") | 3322 | "Matches a timestamp, possibly preceeded by a keyword.") |
| 3082 | (make-variable-buffer-local 'org-maybe-keyword-time-regexp) | 3323 | (make-variable-buffer-local 'org-maybe-keyword-time-regexp) |
| 3324 | (defvar org-planning-or-clock-line-re nil | ||
| 3325 | "Matches a line with planning or clock info.") | ||
| 3326 | (make-variable-buffer-local 'org-planning-or-clock-line-re) | ||
| 3083 | 3327 | ||
| 3084 | (defconst org-rm-props '(invisible t face t keymap t intangible t mouse-face t | 3328 | (defconst org-rm-props '(invisible t face t keymap t intangible t mouse-face t |
| 3085 | rear-nonsticky t mouse-map t fontified t) | 3329 | rear-nonsticky t mouse-map t fontified t) |
| @@ -3102,6 +3346,12 @@ Also put tags into group 4 if tags are present.") | |||
| 3102 | ((assoc key option) (cdr (assoc key option))) | 3346 | ((assoc key option) (cdr (assoc key option))) |
| 3103 | (t (cdr (assq 'default option))))) | 3347 | (t (cdr (assq 'default option))))) |
| 3104 | 3348 | ||
| 3349 | (defsubst org-inhibit-invisibility () | ||
| 3350 | "Modified `buffer-invisibility-spec' for Emacs 21. | ||
| 3351 | Some ops with invisible text do not work correctly on Emacs 21. For these | ||
| 3352 | we turn off invisibility temporarily. Use this in a `let' form." | ||
| 3353 | (if (< emacs-major-version 22) nil buffer-invisibility-spec)) | ||
| 3354 | |||
| 3105 | (defsubst org-set-local (var value) | 3355 | (defsubst org-set-local (var value) |
| 3106 | "Make VAR local in current buffer and set it to VALUE." | 3356 | "Make VAR local in current buffer and set it to VALUE." |
| 3107 | (set (make-variable-buffer-local var) value)) | 3357 | (set (make-variable-buffer-local var) value)) |
| @@ -3139,7 +3389,11 @@ Also put tags into group 4 if tags are present.") | |||
| 3139 | ("nologging" org-log-done nil) | 3389 | ("nologging" org-log-done nil) |
| 3140 | ("lognotedone" org-log-done done push) | 3390 | ("lognotedone" org-log-done done push) |
| 3141 | ("lognotestate" org-log-done state push) | 3391 | ("lognotestate" org-log-done state push) |
| 3142 | ("lognoteclock-out" org-log-done clock-out push)) | 3392 | ("lognoteclock-out" org-log-done clock-out push) |
| 3393 | ("logrepeat" org-log-repeat t) | ||
| 3394 | ("nologrepeat" org-log-repeat nil) | ||
| 3395 | ("constcgs" constants-unit-system cgs) | ||
| 3396 | ("constSI" constants-unit-system SI)) | ||
| 3143 | "Variable associated with STARTUP options for org-mode. | 3397 | "Variable associated with STARTUP options for org-mode. |
| 3144 | Each element is a list of three items: The startup options as written | 3398 | Each element is a list of three items: The startup options as written |
| 3145 | in the #+STARTUP line, the corresponding variable, and the value to | 3399 | in the #+STARTUP line, the corresponding variable, and the value to |
| @@ -3149,11 +3403,16 @@ means to push this value onto the list in the variable.") | |||
| 3149 | (defun org-set-regexps-and-options () | 3403 | (defun org-set-regexps-and-options () |
| 3150 | "Precompute regular expressions for current buffer." | 3404 | "Precompute regular expressions for current buffer." |
| 3151 | (when (org-mode-p) | 3405 | (when (org-mode-p) |
| 3406 | (org-set-local 'org-todo-kwd-alist nil) | ||
| 3407 | (org-set-local 'org-todo-keywords-1 nil) | ||
| 3408 | (org-set-local 'org-done-keywords nil) | ||
| 3409 | (org-set-local 'org-todo-heads nil) | ||
| 3410 | (org-set-local 'org-todo-sets nil) | ||
| 3152 | (let ((re (org-make-options-regexp | 3411 | (let ((re (org-make-options-regexp |
| 3153 | '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO" | 3412 | '("CATEGORY" "SEQ_TODO" "PRI_TODO" "TYP_TODO" |
| 3154 | "STARTUP" "ARCHIVE" "TAGS" "LINK"))) | 3413 | "STARTUP" "ARCHIVE" "TAGS" "LINK" "PRIORITIES"))) |
| 3155 | (splitre "[ \t]+") | 3414 | (splitre "[ \t]+") |
| 3156 | kwds int key value cat arch tags links) | 3415 | kwds key value cat arch tags links hw dws tail sep kws1 prio) |
| 3157 | (save-excursion | 3416 | (save-excursion |
| 3158 | (save-restriction | 3417 | (save-restriction |
| 3159 | (widen) | 3418 | (widen) |
| @@ -3166,14 +3425,9 @@ means to push this value onto the list in the variable.") | |||
| 3166 | (setq value (replace-match "" t t value))) | 3425 | (setq value (replace-match "" t t value))) |
| 3167 | (setq cat (intern value))) | 3426 | (setq cat (intern value))) |
| 3168 | ((equal key "SEQ_TODO") | 3427 | ((equal key "SEQ_TODO") |
| 3169 | (setq int 'sequence | 3428 | (push (cons 'sequence (org-split-string value splitre)) kwds)) |
| 3170 | kwds (append kwds (org-split-string value splitre)))) | ||
| 3171 | ((equal key "PRI_TODO") | ||
| 3172 | (setq int 'priority | ||
| 3173 | kwds (append kwds (org-split-string value splitre)))) | ||
| 3174 | ((equal key "TYP_TODO") | 3429 | ((equal key "TYP_TODO") |
| 3175 | (setq int 'type | 3430 | (push (cons 'type (org-split-string value splitre)) kwds)) |
| 3176 | kwds (append kwds (org-split-string value splitre)))) | ||
| 3177 | ((equal key "TAGS") | 3431 | ((equal key "TAGS") |
| 3178 | (setq tags (append tags (org-split-string value splitre)))) | 3432 | (setq tags (append tags (org-split-string value splitre)))) |
| 3179 | ((equal key "LINK") | 3433 | ((equal key "LINK") |
| @@ -3181,17 +3435,20 @@ means to push this value onto the list in the variable.") | |||
| 3181 | (push (cons (match-string 1 value) | 3435 | (push (cons (match-string 1 value) |
| 3182 | (org-trim (match-string 2 value))) | 3436 | (org-trim (match-string 2 value))) |
| 3183 | links))) | 3437 | links))) |
| 3438 | ((equal key "PRIORITIES") | ||
| 3439 | (setq prio (org-split-string value " +"))) | ||
| 3184 | ((equal key "STARTUP") | 3440 | ((equal key "STARTUP") |
| 3185 | (let ((opts (org-split-string value splitre)) | 3441 | (let ((opts (org-split-string value splitre)) |
| 3186 | l var val) | 3442 | l var val) |
| 3187 | (while (setq l (assoc (pop opts) org-startup-options)) | 3443 | (while (setq l (pop opts)) |
| 3188 | (setq var (nth 1 l) val (nth 2 l)) | 3444 | (when (setq l (assoc l org-startup-options)) |
| 3189 | (if (not (nth 3 l)) | 3445 | (setq var (nth 1 l) val (nth 2 l)) |
| 3190 | (set (make-local-variable var) val) | 3446 | (if (not (nth 3 l)) |
| 3191 | (if (not (listp (symbol-value var))) | 3447 | (set (make-local-variable var) val) |
| 3192 | (set (make-local-variable var) nil)) | 3448 | (if (not (listp (symbol-value var))) |
| 3193 | (set (make-local-variable var) (symbol-value var)) | 3449 | (set (make-local-variable var) nil)) |
| 3194 | (add-to-list var val))))) | 3450 | (set (make-local-variable var) (symbol-value var)) |
| 3451 | (add-to-list var val)))))) | ||
| 3195 | ((equal key "ARCHIVE") | 3452 | ((equal key "ARCHIVE") |
| 3196 | (string-match " *$" value) | 3453 | (string-match " *$" value) |
| 3197 | (setq arch (replace-match "" t t value)) | 3454 | (setq arch (replace-match "" t t value)) |
| @@ -3199,10 +3456,38 @@ means to push this value onto the list in the variable.") | |||
| 3199 | '(face t fontified t) arch))) | 3456 | '(face t fontified t) arch))) |
| 3200 | ))) | 3457 | ))) |
| 3201 | (and cat (org-set-local 'org-category cat)) | 3458 | (and cat (org-set-local 'org-category cat)) |
| 3202 | (and kwds (org-set-local 'org-todo-keywords kwds)) | 3459 | (when prio |
| 3460 | (if (< (length prio) 3) (setq prio '("A" "C" "B"))) | ||
| 3461 | (setq prio (mapcar 'string-to-char prio)) | ||
| 3462 | (org-set-local 'org-highest-priority (nth 0 prio)) | ||
| 3463 | (org-set-local 'org-lowest-priority (nth 1 prio)) | ||
| 3464 | (org-set-local 'org-default-priority (nth 2 prio))) | ||
| 3203 | (and arch (org-set-local 'org-archive-location arch)) | 3465 | (and arch (org-set-local 'org-archive-location arch)) |
| 3204 | (and int (org-set-local 'org-todo-interpretation int)) | ||
| 3205 | (and links (setq org-link-abbrev-alist-local (nreverse links))) | 3466 | (and links (setq org-link-abbrev-alist-local (nreverse links))) |
| 3467 | ;; Process the TODO keywords | ||
| 3468 | (unless kwds | ||
| 3469 | ;; Use the global values as if they had been given locally. | ||
| 3470 | (setq kwds (default-value 'org-todo-keywords)) | ||
| 3471 | (if (stringp (car kwds)) | ||
| 3472 | (setq kwds (list (cons org-todo-interpretation | ||
| 3473 | (default-value 'org-todo-keywords))))) | ||
| 3474 | (setq kwds (reverse kwds))) | ||
| 3475 | (setq kwds (nreverse kwds)) | ||
| 3476 | (let (inter kws) | ||
| 3477 | (while (setq kws (pop kwds)) | ||
| 3478 | (setq inter (pop kws) sep (member "|" kws) | ||
| 3479 | kws1 (delete "|" (copy-sequence kws)) | ||
| 3480 | hw (car kws1) | ||
| 3481 | dws (if sep (cdr sep) (last kws1)) | ||
| 3482 | tail (list inter hw (car dws) (org-last dws))) | ||
| 3483 | (add-to-list 'org-todo-heads hw 'append) | ||
| 3484 | (push kws1 org-todo-sets) | ||
| 3485 | (setq org-done-keywords (append org-done-keywords dws nil)) | ||
| 3486 | (mapc (lambda (x) (push (cons x tail) org-todo-kwd-alist)) kws1) | ||
| 3487 | (setq org-todo-keywords-1 (append org-todo-keywords-1 kws1 nil))) | ||
| 3488 | (setq org-todo-sets (nreverse org-todo-sets) | ||
| 3489 | org-todo-kwd-alist (nreverse org-todo-kwd-alist))) | ||
| 3490 | ;; Process the tags. | ||
| 3206 | (when tags | 3491 | (when tags |
| 3207 | (let (e tgs) | 3492 | (let (e tgs) |
| 3208 | (while (setq e (pop tags)) | 3493 | (while (setq e (pop tags)) |
| @@ -3221,32 +3506,35 @@ means to push this value onto the list in the variable.") | |||
| 3221 | (push e org-tag-alist)))))) | 3506 | (push e org-tag-alist)))))) |
| 3222 | 3507 | ||
| 3223 | ;; Compute the regular expressions and other local variables | 3508 | ;; Compute the regular expressions and other local variables |
| 3224 | (setq org-todo-kwd-priority-p (equal org-todo-interpretation 'priority) | 3509 | (if (not org-done-keywords) |
| 3225 | org-todo-kwd-max-priority (1- (length org-todo-keywords)) | 3510 | (setq org-done-keywords (list (org-last org-todo-keywords-1)))) |
| 3226 | org-ds-keyword-length (+ 2 (max (length org-deadline-string) | 3511 | (setq org-ds-keyword-length (+ 2 (max (length org-deadline-string) |
| 3227 | (length org-scheduled-string))) | 3512 | (length org-scheduled-string))) |
| 3228 | org-done-string | 3513 | org-not-done-keywords |
| 3229 | (nth (1- (length org-todo-keywords)) org-todo-keywords) | 3514 | (org-delete-all org-done-keywords (copy-sequence org-todo-keywords-1)) |
| 3230 | org-todo-regexp | 3515 | org-todo-regexp |
| 3231 | (concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords | 3516 | (concat "\\<\\(" (mapconcat 'regexp-quote org-todo-keywords-1 |
| 3232 | "\\|") "\\)\\>") | 3517 | "\\|") "\\)\\>") |
| 3233 | org-not-done-regexp | 3518 | org-not-done-regexp |
| 3234 | (concat "\\<\\(" | 3519 | (concat "\\<\\(" |
| 3235 | (mapconcat 'regexp-quote | 3520 | (mapconcat 'regexp-quote org-not-done-keywords "\\|") |
| 3236 | (nreverse (cdr (reverse org-todo-keywords))) | ||
| 3237 | "\\|") | ||
| 3238 | "\\)\\>") | 3521 | "\\)\\>") |
| 3239 | org-todo-line-regexp | 3522 | org-todo-line-regexp |
| 3240 | (concat "^\\(\\*+\\)[ \t]*\\(?:\\(" | 3523 | (concat "^\\(\\*+\\)[ \t]*\\(?:\\(" |
| 3241 | (mapconcat 'regexp-quote org-todo-keywords "\\|") | 3524 | (mapconcat 'regexp-quote org-todo-keywords-1 "\\|") |
| 3242 | "\\)\\>\\)? *\\(.*\\)") | 3525 | "\\)\\>\\)? *\\(.*\\)") |
| 3243 | org-nl-done-regexp | 3526 | org-nl-done-regexp |
| 3244 | (concat "[\r\n]\\*+[ \t]+" org-done-string "\\>") | 3527 | (concat "[\r\n]\\*+[ \t]+" |
| 3528 | "\\(?:" (mapconcat 'regexp-quote org-done-keywords "\\|") | ||
| 3529 | "\\)" "\\>") | ||
| 3245 | org-todo-line-tags-regexp | 3530 | org-todo-line-tags-regexp |
| 3246 | (concat "^\\(\\*+\\)[ \t]*\\(?:\\(" | 3531 | (concat "^\\(\\*+\\)[ \t]*\\(?:\\(" |
| 3247 | (mapconcat 'regexp-quote org-todo-keywords "\\|") | 3532 | (mapconcat 'regexp-quote org-todo-keywords-1 "\\|") |
| 3248 | "\\)\\>\\)? *\\(.*?\\([ \t]:[a-zA-Z0-9:_@]+:[ \t]*\\)?$\\)") | 3533 | "\\)\\>\\)? *\\(.*?\\([ \t]:[a-zA-Z0-9:_@]+:[ \t]*\\)?$\\)") |
| 3249 | org-looking-at-done-regexp (concat "^" org-done-string "\\>") | 3534 | org-looking-at-done-regexp |
| 3535 | (concat "^" "\\(?:" | ||
| 3536 | (mapconcat 'regexp-quote org-done-keywords "\\|") "\\)" | ||
| 3537 | "\\>") | ||
| 3250 | org-deadline-regexp (concat "\\<" org-deadline-string) | 3538 | org-deadline-regexp (concat "\\<" org-deadline-string) |
| 3251 | org-deadline-time-regexp | 3539 | org-deadline-time-regexp |
| 3252 | (concat "\\<" org-deadline-string " *<\\([^>]+\\)>") | 3540 | (concat "\\<" org-deadline-string " *<\\([^>]+\\)>") |
| @@ -3274,7 +3562,12 @@ means to push this value onto the list in the variable.") | |||
| 3274 | "\\|" org-deadline-string | 3562 | "\\|" org-deadline-string |
| 3275 | "\\|" org-closed-string | 3563 | "\\|" org-closed-string |
| 3276 | "\\|" org-clock-string "\\)\\)?" | 3564 | "\\|" org-clock-string "\\)\\)?" |
| 3277 | " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}[^]\r\n>]*?[]>]\\)")) | 3565 | " *\\([[<][0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^]\r\n>]*?[]>]\\|<%%([^\r\n>]*>\\)") |
| 3566 | org-planning-or-clock-line-re | ||
| 3567 | (concat "\\(?:^[ \t]*\\(" org-scheduled-string | ||
| 3568 | "\\|" org-deadline-string | ||
| 3569 | "\\|" org-closed-string "\\|" org-clock-string "\\)\\>\\)") | ||
| 3570 | ) | ||
| 3278 | 3571 | ||
| 3279 | (org-set-font-lock-defaults))) | 3572 | (org-set-font-lock-defaults))) |
| 3280 | 3573 | ||
| @@ -3325,6 +3618,7 @@ This is for getting out of special buffers like remember.") | |||
| 3325 | (defvar annotation) ; from remember.el, dynamically scoped in `remember-mode' | 3618 | (defvar annotation) ; from remember.el, dynamically scoped in `remember-mode' |
| 3326 | (defvar initial) ; from remember.el, dynamically scoped in `remember-mode' | 3619 | (defvar initial) ; from remember.el, dynamically scoped in `remember-mode' |
| 3327 | (defvar org-latex-regexps) | 3620 | (defvar org-latex-regexps) |
| 3621 | (defvar constants-unit-system) | ||
| 3328 | 3622 | ||
| 3329 | (defvar original-date) ; dynamically scoped in calendar.el does scope this | 3623 | (defvar original-date) ; dynamically scoped in calendar.el does scope this |
| 3330 | 3624 | ||
| @@ -3394,6 +3688,7 @@ This is for getting out of special buffers like remember.") | |||
| 3394 | (overlay-get ovl prop))) | 3688 | (overlay-get ovl prop))) |
| 3395 | (defun org-overlays-at (pos) | 3689 | (defun org-overlays-at (pos) |
| 3396 | (if (featurep 'xemacs) (extents-at pos) (overlays-at pos))) | 3690 | (if (featurep 'xemacs) (extents-at pos) (overlays-at pos))) |
| 3691 | ;; FIXME: this is currently not used | ||
| 3397 | (defun org-overlays-in (&optional start end) | 3692 | (defun org-overlays-in (&optional start end) |
| 3398 | (if (featurep 'xemacs) | 3693 | (if (featurep 'xemacs) |
| 3399 | (extent-list nil start end) | 3694 | (extent-list nil start end) |
| @@ -3402,6 +3697,7 @@ This is for getting out of special buffers like remember.") | |||
| 3402 | (if (featurep 'xemacs) (extent-start-position o) (overlay-start o))) | 3697 | (if (featurep 'xemacs) (extent-start-position o) (overlay-start o))) |
| 3403 | (defun org-overlay-end (o) | 3698 | (defun org-overlay-end (o) |
| 3404 | (if (featurep 'xemacs) (extent-end-position o) (overlay-end o))) | 3699 | (if (featurep 'xemacs) (extent-end-position o) (overlay-end o))) |
| 3700 | ;; FIXME: this is currently not used | ||
| 3405 | (defun org-find-overlays (prop &optional pos delete) | 3701 | (defun org-find-overlays (prop &optional pos delete) |
| 3406 | "Find all overlays specifying PROP at POS or point. | 3702 | "Find all overlays specifying PROP at POS or point. |
| 3407 | If DELETE is non-nil, delete all those overlays." | 3703 | If DELETE is non-nil, delete all those overlays." |
| @@ -3455,6 +3751,7 @@ that can be added." | |||
| 3455 | (setq buffer-invisibility-spec | 3751 | (setq buffer-invisibility-spec |
| 3456 | (delete arg buffer-invisibility-spec))))) | 3752 | (delete arg buffer-invisibility-spec))))) |
| 3457 | 3753 | ||
| 3754 | ;; FIXME: this is currently not used | ||
| 3458 | (defun org-in-invisibility-spec-p (arg) | 3755 | (defun org-in-invisibility-spec-p (arg) |
| 3459 | "Is ARG a member of `buffer-invisibility-spec'?" | 3756 | "Is ARG a member of `buffer-invisibility-spec'?" |
| 3460 | (if (consp buffer-invisibility-spec) | 3757 | (if (consp buffer-invisibility-spec) |
| @@ -3477,6 +3774,7 @@ This variable is set by `org-before-change-function'. | |||
| 3477 | (defvar org-mode-hook nil) | 3774 | (defvar org-mode-hook nil) |
| 3478 | (defvar org-inhibit-startup nil) ; Dynamically-scoped param. | 3775 | (defvar org-inhibit-startup nil) ; Dynamically-scoped param. |
| 3479 | (defvar org-agenda-keep-modes nil) ; Dynamically-scoped param. | 3776 | (defvar org-agenda-keep-modes nil) ; Dynamically-scoped param. |
| 3777 | (defvar org-table-buffer-is-an nil) | ||
| 3480 | 3778 | ||
| 3481 | 3779 | ||
| 3482 | ;;;###autoload | 3780 | ;;;###autoload |
| @@ -3521,7 +3819,6 @@ The following commands are available: | |||
| 3521 | (when (featurep 'xemacs) | 3819 | (when (featurep 'xemacs) |
| 3522 | (org-set-local 'line-move-ignore-invisible t)) | 3820 | (org-set-local 'line-move-ignore-invisible t)) |
| 3523 | (setq outline-regexp "\\*+") | 3821 | (setq outline-regexp "\\*+") |
| 3524 | ;;(setq outline-regexp "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)") | ||
| 3525 | (setq outline-level 'org-outline-level) | 3822 | (setq outline-level 'org-outline-level) |
| 3526 | (when (and org-ellipsis (stringp org-ellipsis) | 3823 | (when (and org-ellipsis (stringp org-ellipsis) |
| 3527 | (fboundp 'set-display-table-slot) (boundp 'buffer-display-table)) | 3824 | (fboundp 'set-display-table-slot) (boundp 'buffer-display-table)) |
| @@ -3534,6 +3831,7 @@ The following commands are available: | |||
| 3534 | ;; Calc embedded | 3831 | ;; Calc embedded |
| 3535 | (org-set-local 'calc-embedded-open-mode "# ") | 3832 | (org-set-local 'calc-embedded-open-mode "# ") |
| 3536 | (modify-syntax-entry ?# "<") | 3833 | (modify-syntax-entry ?# "<") |
| 3834 | (modify-syntax-entry ?@ "w") | ||
| 3537 | (if org-startup-truncated (setq truncate-lines t)) | 3835 | (if org-startup-truncated (setq truncate-lines t)) |
| 3538 | (org-set-local 'font-lock-unfontify-region-function | 3836 | (org-set-local 'font-lock-unfontify-region-function |
| 3539 | 'org-unfontify-region) | 3837 | 'org-unfontify-region) |
| @@ -3545,6 +3843,7 @@ The following commands are available: | |||
| 3545 | (org-add-hook 'kill-buffer-hook 'org-check-running-clock nil 'local) | 3843 | (org-add-hook 'kill-buffer-hook 'org-check-running-clock nil 'local) |
| 3546 | ;; Paragraphs and auto-filling | 3844 | ;; Paragraphs and auto-filling |
| 3547 | (org-set-autofill-regexps) | 3845 | (org-set-autofill-regexps) |
| 3846 | (setq indent-line-function 'org-indent-line-function) | ||
| 3548 | (org-update-radio-target-regexp) | 3847 | (org-update-radio-target-regexp) |
| 3549 | 3848 | ||
| 3550 | ;; Comment characters | 3849 | ;; Comment characters |
| @@ -3564,7 +3863,7 @@ The following commands are available: | |||
| 3564 | (if (and org-insert-mode-line-in-empty-file | 3863 | (if (and org-insert-mode-line-in-empty-file |
| 3565 | (interactive-p) | 3864 | (interactive-p) |
| 3566 | (= (point-min) (point-max))) | 3865 | (= (point-min) (point-max))) |
| 3567 | (insert " -*- mode: org -*-\n\n")) | 3866 | (insert "# -*- mode: org -*-\n\n")) |
| 3568 | 3867 | ||
| 3569 | (unless org-inhibit-startup | 3868 | (unless org-inhibit-startup |
| 3570 | (when org-startup-align-all-tables | 3869 | (when org-startup-align-all-tables |
| @@ -3578,6 +3877,8 @@ The following commands are available: | |||
| 3578 | (let ((this-command 'org-cycle) (last-command 'org-cycle)) | 3877 | (let ((this-command 'org-cycle) (last-command 'org-cycle)) |
| 3579 | (org-cycle '(4)) (org-cycle '(4))))))) | 3878 | (org-cycle '(4)) (org-cycle '(4))))))) |
| 3580 | 3879 | ||
| 3880 | (put 'org-mode 'flyspell-mode-predicate 'org-mode-flyspell-verify) | ||
| 3881 | |||
| 3581 | (defsubst org-call-with-arg (command arg) | 3882 | (defsubst org-call-with-arg (command arg) |
| 3582 | "Call COMMAND interactively, but pretend prefix are was ARG." | 3883 | "Call COMMAND interactively, but pretend prefix are was ARG." |
| 3583 | (let ((current-prefix-arg arg)) (call-interactively command))) | 3884 | (let ((current-prefix-arg arg)) (call-interactively command))) |
| @@ -3610,23 +3911,23 @@ that will be added to PLIST. Returns the string that was modified." | |||
| 3610 | ;;;; Font-Lock stuff, including the activators | 3911 | ;;;; Font-Lock stuff, including the activators |
| 3611 | 3912 | ||
| 3612 | (defvar org-mouse-map (make-sparse-keymap)) | 3913 | (defvar org-mouse-map (make-sparse-keymap)) |
| 3613 | (define-key org-mouse-map | 3914 | (org-defkey org-mouse-map |
| 3614 | (if (featurep 'xemacs) [button2] [mouse-2]) 'org-open-at-mouse) | 3915 | (if (featurep 'xemacs) [button2] [mouse-2]) 'org-open-at-mouse) |
| 3615 | (define-key org-mouse-map | 3916 | (org-defkey org-mouse-map |
| 3616 | (if (featurep 'xemacs) [button3] [mouse-3]) 'org-find-file-at-mouse) | 3917 | (if (featurep 'xemacs) [button3] [mouse-3]) 'org-find-file-at-mouse) |
| 3617 | (when org-mouse-1-follows-link | 3918 | (when org-mouse-1-follows-link |
| 3618 | (define-key org-mouse-map [follow-link] 'mouse-face)) | 3919 | (org-defkey org-mouse-map [follow-link] 'mouse-face)) |
| 3619 | (when org-tab-follows-link | 3920 | (when org-tab-follows-link |
| 3620 | (define-key org-mouse-map [(tab)] 'org-open-at-point) | 3921 | (org-defkey org-mouse-map [(tab)] 'org-open-at-point) |
| 3621 | (define-key org-mouse-map "\C-i" 'org-open-at-point)) | 3922 | (org-defkey org-mouse-map "\C-i" 'org-open-at-point)) |
| 3622 | (when org-return-follows-link | 3923 | (when org-return-follows-link |
| 3623 | (define-key org-mouse-map [(return)] 'org-open-at-point) | 3924 | (org-defkey org-mouse-map [(return)] 'org-open-at-point) |
| 3624 | (define-key org-mouse-map "\C-m" 'org-open-at-point)) | 3925 | (org-defkey org-mouse-map "\C-m" 'org-open-at-point)) |
| 3625 | 3926 | ||
| 3626 | (require 'font-lock) | 3927 | (require 'font-lock) |
| 3627 | 3928 | ||
| 3628 | (defconst org-non-link-chars "]\t\n\r<>") | 3929 | (defconst org-non-link-chars "]\t\n\r<>") |
| 3629 | (defconst org-link-types '("https?" "ftp" "mailto" "file" "news" "bbdb" "vm" | 3930 | (defconst org-link-types '("http" "https" "ftp" "mailto" "file" "news" "bbdb" "vm" |
| 3630 | "wl" "mhe" "rmail" "gnus" "shell" "info" "elisp")) | 3931 | "wl" "mhe" "rmail" "gnus" "shell" "info" "elisp")) |
| 3631 | (defconst org-link-re-with-space | 3932 | (defconst org-link-re-with-space |
| 3632 | (concat | 3933 | (concat |
| @@ -3679,21 +3980,17 @@ that will be added to PLIST. Returns the string that was modified." | |||
| 3679 | (concat "\\(" org-bracket-link-regexp "\\)\\|\\(" | 3980 | (concat "\\(" org-bracket-link-regexp "\\)\\|\\(" |
| 3680 | org-angle-link-re "\\)\\|\\(" | 3981 | org-angle-link-re "\\)\\|\\(" |
| 3681 | org-plain-link-re "\\)") | 3982 | org-plain-link-re "\\)") |
| 3682 | "Regular expression matching any link.") | 3983 | "Regular expression matching any link.") |
| 3683 | 3984 | ||
| 3684 | (defconst org-ts-lengths | 3985 | (defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^\r\n>]*?\\)>" |
| 3685 | (cons (length (format-time-string (car org-time-stamp-formats))) | ||
| 3686 | (length (format-time-string (cdr org-time-stamp-formats)))) | ||
| 3687 | "This holds the lengths of the two different time formats.") | ||
| 3688 | (defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}[^\r\n>]*?\\)>" | ||
| 3689 | "Regular expression for fast time stamp matching.") | 3986 | "Regular expression for fast time stamp matching.") |
| 3690 | (defconst org-ts-regexp-both "[[<]\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}[^\r\n>]*?\\)[]>]" | 3987 | (defconst org-ts-regexp-both "[[<]\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [^\r\n>]*?\\)[]>]" |
| 3691 | "Regular expression for fast time stamp matching.") | 3988 | "Regular expression for fast time stamp matching.") |
| 3692 | (defconst org-ts-regexp1 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)\\([^]0-9>\r\n]*\\)\\(\\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)" | 3989 | (defconst org-ts-regexp1 "\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\) \\([^]0-9>\r\n]*\\)\\(\\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)" |
| 3693 | "Regular expression matching time strings for analysis.") | 3990 | "Regular expression matching time strings for analysis.") |
| 3694 | (defconst org-ts-regexp2 (concat "<" org-ts-regexp1 ">") | 3991 | (defconst org-ts-regexp2 (concat "<" org-ts-regexp1 "[^>\n]\\{0,6\\}>") |
| 3695 | "Regular expression matching time stamps, with groups.") | 3992 | "Regular expression matching time stamps, with groups.") |
| 3696 | (defconst org-ts-regexp3 (concat "[[<]" org-ts-regexp1 "[]>]") | 3993 | (defconst org-ts-regexp3 (concat "[[<]" org-ts-regexp1 "[^]>\n]\\{0,6\\}[]>]") |
| 3697 | "Regular expression matching time stamps (also [..]), with groups.") | 3994 | "Regular expression matching time stamps (also [..]), with groups.") |
| 3698 | (defconst org-tr-regexp (concat org-ts-regexp "--?-?" org-ts-regexp) | 3995 | (defconst org-tr-regexp (concat org-ts-regexp "--?-?" org-ts-regexp) |
| 3699 | "Regular expression matching a time stamp range.") | 3996 | "Regular expression matching a time stamp range.") |
| @@ -3712,27 +4009,87 @@ The time stamps may be either active or inactive.") | |||
| 3712 | 4009 | ||
| 3713 | (defun org-do-emphasis-faces (limit) | 4010 | (defun org-do-emphasis-faces (limit) |
| 3714 | "Run through the buffer and add overlays to links." | 4011 | "Run through the buffer and add overlays to links." |
| 3715 | (if (re-search-forward org-emph-re limit t) | 4012 | (let (rtn) |
| 3716 | (progn | 4013 | (while (and (not rtn) (re-search-forward org-emph-re limit t)) |
| 3717 | (font-lock-prepend-text-property (match-beginning 2) (match-end 2) | 4014 | (if (not (= (char-after (match-beginning 3)) |
| 3718 | 'face | 4015 | (char-after (match-beginning 4)))) |
| 3719 | (nth 1 (assoc (match-string 3) | 4016 | (progn |
| 3720 | org-emphasis-alist))) | 4017 | (setq rtn t) |
| 3721 | (add-text-properties (match-beginning 2) (match-end 2) | 4018 | (font-lock-prepend-text-property (match-beginning 2) (match-end 2) |
| 3722 | '(font-lock-multiline t)) | 4019 | 'face |
| 3723 | (backward-char 1) | 4020 | (nth 1 (assoc (match-string 3) |
| 3724 | t))) | 4021 | org-emphasis-alist))) |
| 4022 | (add-text-properties (match-beginning 2) (match-end 2) | ||
| 4023 | '(font-lock-multiline t)) | ||
| 4024 | (backward-char 1)))) | ||
| 4025 | rtn)) | ||
| 4026 | |||
| 4027 | (defun org-emphasize (&optional char) | ||
| 4028 | "Insert or change an emphasis, i.e. a font like bold or italic. | ||
| 4029 | If there is an active region, change that region to a new emphasis. | ||
| 4030 | If there is no region, just insert the marker characters and position | ||
| 4031 | the cursor between them. | ||
| 4032 | CHAR should be either the marker character, or the first character of the | ||
| 4033 | HTML tag associated with that emphasis. If CHAR is a space, the means | ||
| 4034 | to remove the emphasis of the selected region. | ||
| 4035 | If char is not given (for example in an interactive call) it | ||
| 4036 | will be prompted for." | ||
| 4037 | (interactive) | ||
| 4038 | (let ((eal org-emphasis-alist) e det | ||
| 4039 | (erc org-emphasis-regexp-components) | ||
| 4040 | (prompt "") | ||
| 4041 | (string "") beg end move tag c s) | ||
| 4042 | (if (org-region-active-p) | ||
| 4043 | (setq beg (region-beginning) end (region-end) | ||
| 4044 | string (buffer-substring beg end)) | ||
| 4045 | (setq move t)) | ||
| 4046 | |||
| 4047 | (while (setq e (pop eal)) | ||
| 4048 | (setq tag (car (org-split-string (nth 2 e) "[ <>/]+")) | ||
| 4049 | c (aref tag 0)) | ||
| 4050 | (push (cons c (string-to-char (car e))) det) | ||
| 4051 | (setq prompt (concat prompt (format " [%s%c]%s" (car e) c | ||
| 4052 | (substring tag 1))))) | ||
| 4053 | (unless char | ||
| 4054 | (message "%s" (concat "Emphasis marker or tag:" prompt)) | ||
| 4055 | (setq char (read-char-exclusive))) | ||
| 4056 | (setq char (or (cdr (assoc char det)) char)) | ||
| 4057 | (if (equal char ?\ ) | ||
| 4058 | (setq s "" move nil) | ||
| 4059 | (unless (assoc (char-to-string char) org-emphasis-alist) | ||
| 4060 | (error "No such emphasis marker: \"%c\"" char)) | ||
| 4061 | (setq s (char-to-string char))) | ||
| 4062 | (while (and (> (length string) 1) | ||
| 4063 | (equal (substring string 0 1) (substring string -1)) | ||
| 4064 | (assoc (substring string 0 1) org-emphasis-alist)) | ||
| 4065 | (setq string (substring string 1 -1))) | ||
| 4066 | (setq string (concat s string s)) | ||
| 4067 | (if beg (delete-region beg end)) | ||
| 4068 | (unless (or (bolp) | ||
| 4069 | (string-match (concat "[" (nth 0 erc) "\n]") | ||
| 4070 | (char-to-string (char-before (point))))) | ||
| 4071 | (insert " ")) | ||
| 4072 | (unless (string-match (concat "[" (nth 1 erc) "\n]") | ||
| 4073 | (char-to-string (char-after (point)))) | ||
| 4074 | (insert " ") (backward-char 1)) | ||
| 4075 | (insert string) | ||
| 4076 | (and move (backward-char 1)))) | ||
| 3725 | 4077 | ||
| 3726 | (defun org-activate-plain-links (limit) | 4078 | (defun org-activate-plain-links (limit) |
| 3727 | "Run through the buffer and add overlays to links." | 4079 | "Run through the buffer and add overlays to links." |
| 3728 | (if (re-search-forward org-plain-link-re limit t) | 4080 | (catch 'exit |
| 3729 | (progn | 4081 | (let (f) |
| 3730 | (add-text-properties (match-beginning 0) (match-end 0) | 4082 | (while (re-search-forward org-plain-link-re limit t) |
| 3731 | (list 'mouse-face 'highlight | 4083 | (setq f (get-text-property (match-beginning 0) 'face)) |
| 3732 | 'rear-nonsticky t | 4084 | (if (or (eq f 'org-tag) |
| 3733 | 'keymap org-mouse-map | 4085 | (and (listp f) (memq 'org-tag f))) |
| 3734 | )) | 4086 | nil |
| 3735 | t))) | 4087 | (add-text-properties (match-beginning 0) (match-end 0) |
| 4088 | (list 'mouse-face 'highlight | ||
| 4089 | 'rear-nonsticky t | ||
| 4090 | 'keymap org-mouse-map | ||
| 4091 | )) | ||
| 4092 | (throw 'exit t)))))) | ||
| 3736 | 4093 | ||
| 3737 | (defun org-activate-angle-links (limit) | 4094 | (defun org-activate-angle-links (limit) |
| 3738 | "Run through the buffer and add overlays to links." | 4095 | "Run through the buffer and add overlays to links." |
| @@ -3881,11 +4238,6 @@ between words." | |||
| 3881 | 'keymap org-mouse-map)) | 4238 | 'keymap org-mouse-map)) |
| 3882 | t))) | 4239 | t))) |
| 3883 | 4240 | ||
| 3884 | (defun org-font-lock-level () | ||
| 3885 | (save-excursion | ||
| 3886 | (org-back-to-heading t) | ||
| 3887 | (- (match-end 0) (match-beginning 0)))) | ||
| 3888 | |||
| 3889 | (defun org-outline-level () | 4241 | (defun org-outline-level () |
| 3890 | (save-excursion | 4242 | (save-excursion |
| 3891 | (looking-at outline-regexp) | 4243 | (looking-at outline-regexp) |
| @@ -3906,20 +4258,20 @@ between words." | |||
| 3906 | '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)" | 4258 | '("^[ \t]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)" |
| 3907 | (1 'org-table)) | 4259 | (1 'org-table)) |
| 3908 | ;; Links | 4260 | ;; Links |
| 4261 | (if (memq 'tag lk) '(org-activate-tags (1 'org-tag prepend))) | ||
| 3909 | (if (memq 'angle lk) '(org-activate-angle-links (0 'org-link t))) | 4262 | (if (memq 'angle lk) '(org-activate-angle-links (0 'org-link t))) |
| 3910 | (if (memq 'plain lk) '(org-activate-plain-links (0 'org-link t))) | 4263 | (if (memq 'plain lk) '(org-activate-plain-links (0 'org-link t))) |
| 3911 | (if (memq 'bracket lk) '(org-activate-bracket-links (0 'org-link t))) | 4264 | (if (memq 'bracket lk) '(org-activate-bracket-links (0 'org-link t))) |
| 3912 | (if (memq 'radio lk) '(org-activate-target-links (0 'org-link t))) | 4265 | (if (memq 'radio lk) '(org-activate-target-links (0 'org-link t))) |
| 3913 | (if (memq 'date lk) '(org-activate-dates (0 'org-date t))) | 4266 | (if (memq 'date lk) '(org-activate-dates (0 'org-date t))) |
| 3914 | (if (memq 'tag lk) '(org-activate-tags (1 'org-tag prepend))) | 4267 | '("^&?%%(.*\\|<%%([^>\n]*?>" (0 'org-sexp-date t)) |
| 3915 | '(org-hide-wide-columns (0 nil append)) | 4268 | '(org-hide-wide-columns (0 nil append)) |
| 3916 | ;; TODO lines | 4269 | ;; TODO lines |
| 3917 | (list (concat "^\\*+[ \t]*" org-not-done-regexp) | 4270 | (list (concat "^\\*+[ \t]*" org-not-done-regexp) |
| 3918 | '(1 'org-todo t)) | 4271 | '(1 'org-todo t)) |
| 3919 | ;; Priorities | 4272 | ;; Priorities |
| 3920 | (list (concat "\\[#[A-Z]\\]") '(0 'org-special-keyword t)) | 4273 | (list (concat "\\[#[A-Z0-9]\\]") '(0 'org-special-keyword t)) |
| 3921 | ;; Special keywords | 4274 | ;; Special keywords |
| 3922 | (list org-repeat-re '(0 'org-special-keyword t)) | ||
| 3923 | (list (concat "\\<" org-deadline-string) '(0 'org-special-keyword t)) | 4275 | (list (concat "\\<" org-deadline-string) '(0 'org-special-keyword t)) |
| 3924 | (list (concat "\\<" org-scheduled-string) '(0 'org-special-keyword t)) | 4276 | (list (concat "\\<" org-scheduled-string) '(0 'org-special-keyword t)) |
| 3925 | (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t)) | 4277 | (list (concat "\\<" org-closed-string) '(0 'org-special-keyword t)) |
| @@ -3942,9 +4294,13 @@ between words." | |||
| 3942 | '("^#.*" (0 'font-lock-comment-face t)) | 4294 | '("^#.*" (0 'font-lock-comment-face t)) |
| 3943 | ;; DONE | 4295 | ;; DONE |
| 3944 | (if org-fontify-done-headline | 4296 | (if org-fontify-done-headline |
| 3945 | (list (concat "^[*]+ +\\<\\(" org-done-string "\\)\\(.*\\)\\>") | 4297 | (list (concat "^[*]+ +\\<\\(" |
| 4298 | (mapconcat 'regexp-quote org-done-keywords "\\|") | ||
| 4299 | "\\)\\(.*\\)") | ||
| 3946 | '(1 'org-done t) '(2 'org-headline-done t)) | 4300 | '(1 'org-done t) '(2 'org-headline-done t)) |
| 3947 | (list (concat "^[*]+ +\\<\\(" org-done-string "\\)\\>") | 4301 | (list (concat "^[*]+ +\\<\\(" |
| 4302 | (mapconcat 'regexp-quote org-done-keywords "\\|") | ||
| 4303 | "\\)\\>") | ||
| 3948 | '(1 'org-done t))) | 4304 | '(1 'org-done t))) |
| 3949 | ;; Table stuff | 4305 | ;; Table stuff |
| 3950 | '("^[ \t]*\\(:.*\\)" (1 'org-table t)) | 4306 | '("^[ \t]*\\(:.*\\)" (1 'org-table t)) |
| @@ -4022,8 +4378,8 @@ between words." | |||
| 4022 | `indent-relative', like TAB normally does. See the option | 4378 | `indent-relative', like TAB normally does. See the option |
| 4023 | `org-cycle-emulate-tab' for details. | 4379 | `org-cycle-emulate-tab' for details. |
| 4024 | 4380 | ||
| 4025 | - Special case: if point is the the beginning of the buffer and there is | 4381 | - Special case: if point is the beginning of the buffer and there is no |
| 4026 | no headline in line 1, this function will act as if called with prefix arg." | 4382 | headline in line 1, this function will act as if called with prefix arg." |
| 4027 | (interactive "P") | 4383 | (interactive "P") |
| 4028 | (let* ((outline-regexp | 4384 | (let* ((outline-regexp |
| 4029 | (if (and (org-mode-p) org-cycle-include-plain-lists) | 4385 | (if (and (org-mode-p) org-cycle-include-plain-lists) |
| @@ -4088,7 +4444,8 @@ between words." | |||
| 4088 | (- (funcall outline-level) arg))) | 4444 | (- (funcall outline-level) arg))) |
| 4089 | (org-show-subtree))) | 4445 | (org-show-subtree))) |
| 4090 | 4446 | ||
| 4091 | ((save-excursion (beginning-of-line 1) (looking-at outline-regexp)) | 4447 | ((and (save-excursion (beginning-of-line 1) (looking-at outline-regexp)) |
| 4448 | (or (bolp) (not (eq org-cycle-emulate-tab 'exc-hl-bol)))) | ||
| 4092 | ;; At a heading: rotate between three different views | 4449 | ;; At a heading: rotate between three different views |
| 4093 | (org-back-to-heading) | 4450 | (org-back-to-heading) |
| 4094 | (let ((goal-column 0) eoh eol eos) | 4451 | (let ((goal-column 0) eoh eol eos) |
| @@ -4102,20 +4459,30 @@ between words." | |||
| 4102 | (beginning-of-line 2)) (setq eol (point))) | 4459 | (beginning-of-line 2)) (setq eol (point))) |
| 4103 | (outline-end-of-heading) (setq eoh (point)) | 4460 | (outline-end-of-heading) (setq eoh (point)) |
| 4104 | (org-end-of-subtree t) | 4461 | (org-end-of-subtree t) |
| 4105 | (skip-chars-forward " \t\n") | 4462 | (unless (eobp) |
| 4106 | (beginning-of-line 1) ; in case this is an item | 4463 | (skip-chars-forward " \t\n") |
| 4464 | (beginning-of-line 1) ; in case this is an item | ||
| 4465 | ) | ||
| 4107 | (setq eos (1- (point)))) | 4466 | (setq eos (1- (point)))) |
| 4108 | ;; Find out what to do next and set `this-command' | 4467 | ;; Find out what to do next and set `this-command' |
| 4109 | (cond | 4468 | (cond |
| 4110 | ((= eos eoh) | 4469 | ((= eos eoh) |
| 4111 | ;; Nothing is hidden behind this heading | 4470 | ;; Nothing is hidden behind this heading |
| 4112 | (message "EMPTY ENTRY") | 4471 | (message "EMPTY ENTRY") |
| 4113 | (setq org-cycle-subtree-status nil)) | 4472 | (setq org-cycle-subtree-status nil) |
| 4473 | (save-excursion | ||
| 4474 | (goto-char eos) | ||
| 4475 | (outline-next-heading) | ||
| 4476 | (if (org-invisible-p) (org-flag-heading nil)))) | ||
| 4114 | ((>= eol eos) | 4477 | ((>= eol eos) |
| 4115 | ;; Entire subtree is hidden in one line: open it | 4478 | ;; Entire subtree is hidden in one line: open it |
| 4116 | (org-show-entry) | 4479 | (org-show-entry) |
| 4117 | (show-children) | 4480 | (show-children) |
| 4118 | (message "CHILDREN") | 4481 | (message "CHILDREN") |
| 4482 | (save-excursion | ||
| 4483 | (goto-char eos) | ||
| 4484 | (outline-next-heading) | ||
| 4485 | (if (org-invisible-p) (org-flag-heading nil))) | ||
| 4119 | (setq org-cycle-subtree-status 'children) | 4486 | (setq org-cycle-subtree-status 'children) |
| 4120 | (run-hook-with-args 'org-cycle-hook 'children)) | 4487 | (run-hook-with-args 'org-cycle-hook 'children)) |
| 4121 | ((and (eq last-command this-command) | 4488 | ((and (eq last-command this-command) |
| @@ -4137,6 +4504,11 @@ between words." | |||
| 4137 | 4504 | ||
| 4138 | ((org-try-cdlatex-tab)) | 4505 | ((org-try-cdlatex-tab)) |
| 4139 | 4506 | ||
| 4507 | ((and (eq org-cycle-emulate-tab 'exc-hl-bol) | ||
| 4508 | (or (not (bolp)) | ||
| 4509 | (not (looking-at outline-regexp)))) | ||
| 4510 | (call-interactively (global-key-binding "\t"))) | ||
| 4511 | |||
| 4140 | ((if (and (memq org-cycle-emulate-tab '(white whitestart)) | 4512 | ((if (and (memq org-cycle-emulate-tab '(white whitestart)) |
| 4141 | (save-excursion (beginning-of-line 1) (looking-at "[ \t]*")) | 4513 | (save-excursion (beginning-of-line 1) (looking-at "[ \t]*")) |
| 4142 | (or (and (eq org-cycle-emulate-tab 'white) | 4514 | (or (and (eq org-cycle-emulate-tab 'white) |
| @@ -4151,7 +4523,7 @@ between words." | |||
| 4151 | (progn | 4523 | (progn |
| 4152 | (beginning-of-line 1) | 4524 | (beginning-of-line 1) |
| 4153 | (and (looking-at "[ \t]+") (replace-match "")))) | 4525 | (and (looking-at "[ \t]+") (replace-match "")))) |
| 4154 | (indent-relative)) | 4526 | (call-interactively (global-key-binding "\t"))) |
| 4155 | 4527 | ||
| 4156 | (t (save-excursion | 4528 | (t (save-excursion |
| 4157 | (org-back-to-heading) | 4529 | (org-back-to-heading) |
| @@ -4177,13 +4549,13 @@ of the first headline in the buffer. This is important, because if the | |||
| 4177 | first headline is not level one, then (hide-sublevels 1) gives confusing | 4549 | first headline is not level one, then (hide-sublevels 1) gives confusing |
| 4178 | results." | 4550 | results." |
| 4179 | (interactive) | 4551 | (interactive) |
| 4180 | (hide-sublevels (save-excursion | 4552 | (let ((level (save-excursion |
| 4181 | (goto-char (point-min)) | 4553 | (goto-char (point-min)) |
| 4182 | (if (re-search-forward (concat "^" outline-regexp) nil t) | 4554 | (if (re-search-forward (concat "^" outline-regexp) nil t) |
| 4183 | (progn | 4555 | (progn |
| 4184 | (goto-char (match-beginning 0)) | 4556 | (goto-char (match-beginning 0)) |
| 4185 | (funcall outline-level)) | 4557 | (funcall outline-level)))))) |
| 4186 | 1)))) | 4558 | (and level (hide-sublevels level)))) |
| 4187 | 4559 | ||
| 4188 | (defun org-content (&optional arg) | 4560 | (defun org-content (&optional arg) |
| 4189 | "Show all headlines in the buffer, like a table of contents. | 4561 | "Show all headlines in the buffer, like a table of contents. |
| @@ -4210,13 +4582,53 @@ With numerical argument N, show content up to level N." | |||
| 4210 | This function is the default value of the hook `org-cycle-hook'." | 4582 | This function is the default value of the hook `org-cycle-hook'." |
| 4211 | (when (get-buffer-window (current-buffer)) | 4583 | (when (get-buffer-window (current-buffer)) |
| 4212 | (cond | 4584 | (cond |
| 4213 | ((eq state 'overview) (org-first-headline-recenter 1)) | 4585 | ; ((eq state 'overview) (org-first-headline-recenter 1)) |
| 4586 | ; ((eq state 'overview) (org-beginning-of-line)) | ||
| 4214 | ((eq state 'content) nil) | 4587 | ((eq state 'content) nil) |
| 4215 | ((eq state 'all) nil) | 4588 | ((eq state 'all) nil) |
| 4216 | ((eq state 'folded) nil) | 4589 | ((eq state 'folded) nil) |
| 4217 | ((eq state 'children) (or (org-subtree-end-visible-p) (recenter 1))) | 4590 | ((eq state 'children) (or (org-subtree-end-visible-p) (recenter 1))) |
| 4218 | ((eq state 'subtree) (or (org-subtree-end-visible-p) (recenter 1)))))) | 4591 | ((eq state 'subtree) (or (org-subtree-end-visible-p) (recenter 1)))))) |
| 4219 | 4592 | ||
| 4593 | |||
| 4594 | (defun org-cycle-show-empty-lines (state) | ||
| 4595 | "Show empty lines above all visible headlines. | ||
| 4596 | The region to be covered depends on STATE when called through | ||
| 4597 | `org-cycle-hook'. Lisp program can use t for STATE to get the | ||
| 4598 | entire buffer covered. Note that an empty line is only shown if there | ||
| 4599 | are at least `org-cycle-separator-lines' empty lines before the headeline." | ||
| 4600 | (when (> org-cycle-separator-lines 0) | ||
| 4601 | (save-excursion | ||
| 4602 | (let* ((n org-cycle-separator-lines) | ||
| 4603 | (re (cond | ||
| 4604 | ((= n 1) "\\(\n[ \t]*\n\\*+\\) ") | ||
| 4605 | ((= n 2) "^[ \t]*\\(\n[ \t]*\n\\*+\\) ") | ||
| 4606 | (t (let ((ns (number-to-string (- n 2)))) | ||
| 4607 | (concat "^\\(?:[ \t]*\n\\)\\{" ns "," ns "\\}" | ||
| 4608 | "[ \t]*\\(\n[ \t]*\n\\*+\\) "))))) | ||
| 4609 | beg end) | ||
| 4610 | (cond | ||
| 4611 | ((memq state '(overview contents t)) | ||
| 4612 | (setq beg (point-min) end (point-max))) | ||
| 4613 | ((memq state '(children folded)) | ||
| 4614 | (setq beg (point) end (progn (org-end-of-subtree t t) | ||
| 4615 | (beginning-of-line 2) | ||
| 4616 | (point))))) | ||
| 4617 | (when beg | ||
| 4618 | (goto-char beg) | ||
| 4619 | (while (re-search-forward re end t) | ||
| 4620 | (if (not (get-char-property (match-end 1) 'invisible)) | ||
| 4621 | (outline-flag-region | ||
| 4622 | (match-beginning 1) (match-end 1) nil))))))) | ||
| 4623 | ;; Never hide empty lines at the end of the file. | ||
| 4624 | (save-excursion | ||
| 4625 | (goto-char (point-max)) | ||
| 4626 | (outline-previous-heading) | ||
| 4627 | (outline-end-of-heading) | ||
| 4628 | (if (and (looking-at "[ \t\n]+") | ||
| 4629 | (= (match-end 0) (point-max))) | ||
| 4630 | (outline-flag-region (point) (match-end 0) nil)))) | ||
| 4631 | |||
| 4220 | (defun org-subtree-end-visible-p () | 4632 | (defun org-subtree-end-visible-p () |
| 4221 | "Is the end of the current subtree visible?" | 4633 | "Is the end of the current subtree visible?" |
| 4222 | (pos-visible-in-window-p | 4634 | (pos-visible-in-window-p |
| @@ -4238,27 +4650,27 @@ Optional argument N means, put the headline into the Nth line of the window." | |||
| 4238 | (let ((cmds '(isearch-forward isearch-backward)) cmd) | 4650 | (let ((cmds '(isearch-forward isearch-backward)) cmd) |
| 4239 | (while (setq cmd (pop cmds)) | 4651 | (while (setq cmd (pop cmds)) |
| 4240 | (substitute-key-definition cmd cmd org-goto-map global-map))) | 4652 | (substitute-key-definition cmd cmd org-goto-map global-map))) |
| 4241 | (define-key org-goto-map "\C-m" 'org-goto-ret) | 4653 | (org-defkey org-goto-map "\C-m" 'org-goto-ret) |
| 4242 | (define-key org-goto-map [(left)] 'org-goto-left) | 4654 | (org-defkey org-goto-map [(left)] 'org-goto-left) |
| 4243 | (define-key org-goto-map [(right)] 'org-goto-right) | 4655 | (org-defkey org-goto-map [(right)] 'org-goto-right) |
| 4244 | (define-key org-goto-map [(?q)] 'org-goto-quit) | 4656 | (org-defkey org-goto-map [(?q)] 'org-goto-quit) |
| 4245 | (define-key org-goto-map [(control ?g)] 'org-goto-quit) | 4657 | (org-defkey org-goto-map [(control ?g)] 'org-goto-quit) |
| 4246 | (define-key org-goto-map "\C-i" 'org-cycle) | 4658 | (org-defkey org-goto-map "\C-i" 'org-cycle) |
| 4247 | (define-key org-goto-map [(tab)] 'org-cycle) | 4659 | (org-defkey org-goto-map [(tab)] 'org-cycle) |
| 4248 | (define-key org-goto-map [(down)] 'outline-next-visible-heading) | 4660 | (org-defkey org-goto-map [(down)] 'outline-next-visible-heading) |
| 4249 | (define-key org-goto-map [(up)] 'outline-previous-visible-heading) | 4661 | (org-defkey org-goto-map [(up)] 'outline-previous-visible-heading) |
| 4250 | (define-key org-goto-map "n" 'outline-next-visible-heading) | 4662 | (org-defkey org-goto-map "n" 'outline-next-visible-heading) |
| 4251 | (define-key org-goto-map "p" 'outline-previous-visible-heading) | 4663 | (org-defkey org-goto-map "p" 'outline-previous-visible-heading) |
| 4252 | (define-key org-goto-map "f" 'outline-forward-same-level) | 4664 | (org-defkey org-goto-map "f" 'outline-forward-same-level) |
| 4253 | (define-key org-goto-map "b" 'outline-backward-same-level) | 4665 | (org-defkey org-goto-map "b" 'outline-backward-same-level) |
| 4254 | (define-key org-goto-map "u" 'outline-up-heading) | 4666 | (org-defkey org-goto-map "u" 'outline-up-heading) |
| 4255 | (define-key org-goto-map "\C-c\C-n" 'outline-next-visible-heading) | 4667 | (org-defkey org-goto-map "\C-c\C-n" 'outline-next-visible-heading) |
| 4256 | (define-key org-goto-map "\C-c\C-p" 'outline-previous-visible-heading) | 4668 | (org-defkey org-goto-map "\C-c\C-p" 'outline-previous-visible-heading) |
| 4257 | (define-key org-goto-map "\C-c\C-f" 'outline-forward-same-level) | 4669 | (org-defkey org-goto-map "\C-c\C-f" 'outline-forward-same-level) |
| 4258 | (define-key org-goto-map "\C-c\C-b" 'outline-backward-same-level) | 4670 | (org-defkey org-goto-map "\C-c\C-b" 'outline-backward-same-level) |
| 4259 | (define-key org-goto-map "\C-c\C-u" 'outline-up-heading) | 4671 | (org-defkey org-goto-map "\C-c\C-u" 'outline-up-heading) |
| 4260 | (let ((l '(1 2 3 4 5 6 7 8 9 0))) | 4672 | (let ((l '(1 2 3 4 5 6 7 8 9 0))) |
| 4261 | (while l (define-key org-goto-map (int-to-string (pop l)) 'digit-argument))) | 4673 | (while l (org-defkey org-goto-map (int-to-string (pop l)) 'digit-argument))) |
| 4262 | 4674 | ||
| 4263 | (defconst org-goto-help | 4675 | (defconst org-goto-help |
| 4264 | "Select a location to jump to, press RET | 4676 | "Select a location to jump to, press RET |
| @@ -4474,10 +4886,13 @@ the current headline." | |||
| 4474 | pos) | 4886 | pos) |
| 4475 | (cond | 4887 | (cond |
| 4476 | ((and (org-on-heading-p) (bolp) | 4888 | ((and (org-on-heading-p) (bolp) |
| 4477 | (save-excursion (backward-char 1) (not (org-invisible-p)))) | 4889 | (or (bobp) |
| 4890 | (save-excursion (backward-char 1) (not (org-invisible-p))))) | ||
| 4478 | (open-line (if blank 2 1))) | 4891 | (open-line (if blank 2 1))) |
| 4479 | ((and (bolp) (save-excursion | 4892 | ((and (bolp) |
| 4480 | (backward-char 1) (not (org-invisible-p)))) | 4893 | (or (bobp) |
| 4894 | (save-excursion | ||
| 4895 | (backward-char 1) (not (org-invisible-p))))) | ||
| 4481 | nil) | 4896 | nil) |
| 4482 | (t (newline (if blank 2 1)))) | 4897 | (t (newline (if blank 2 1)))) |
| 4483 | (insert head) (just-one-space) | 4898 | (insert head) (just-one-space) |
| @@ -4500,8 +4915,8 @@ state (TODO by default). Also with prefix arg, force first state." | |||
| 4500 | (looking-at org-todo-line-regexp)) | 4915 | (looking-at org-todo-line-regexp)) |
| 4501 | (if (or arg | 4916 | (if (or arg |
| 4502 | (not (match-beginning 2)) | 4917 | (not (match-beginning 2)) |
| 4503 | (equal (match-string 2) org-done-string)) | 4918 | (member (match-string 2) org-done-keywords)) |
| 4504 | (insert (car org-todo-keywords) " ") | 4919 | (insert (car org-todo-keywords-1) " ") |
| 4505 | (insert (match-string 2) " ")))) | 4920 | (insert (match-string 2) " ")))) |
| 4506 | 4921 | ||
| 4507 | ;;; Promotion and Demotion | 4922 | ;;; Promotion and Demotion |
| @@ -4724,6 +5139,7 @@ is signaled in this case." | |||
| 4724 | (setq txt (buffer-substring beg end)) | 5139 | (setq txt (buffer-substring beg end)) |
| 4725 | (delete-region beg end) | 5140 | (delete-region beg end) |
| 4726 | (insert txt) | 5141 | (insert txt) |
| 5142 | (or (bolp) (insert "\n")) | ||
| 4727 | (goto-char ins-point) | 5143 | (goto-char ins-point) |
| 4728 | (if folded (hide-subtree)) | 5144 | (if folded (hide-subtree)) |
| 4729 | (move-marker ins-point nil))) | 5145 | (move-marker ins-point nil))) |
| @@ -4749,7 +5165,9 @@ This is a short-hand for marking the subtree and then copying it. | |||
| 4749 | If CUT is non-nil, actually cut the subtree." | 5165 | If CUT is non-nil, actually cut the subtree." |
| 4750 | (interactive) | 5166 | (interactive) |
| 4751 | (let (beg end folded) | 5167 | (let (beg end folded) |
| 4752 | (org-back-to-heading) | 5168 | (if (interactive-p) |
| 5169 | (org-back-to-heading nil) ; take what looks like a subtree | ||
| 5170 | (org-back-to-heading t)) ; take what is really there | ||
| 4753 | (setq beg (point)) | 5171 | (setq beg (point)) |
| 4754 | (save-match-data | 5172 | (save-match-data |
| 4755 | (save-excursion (outline-end-of-heading) | 5173 | (save-excursion (outline-end-of-heading) |
| @@ -4888,7 +5306,7 @@ If optional TXT is given, check this string instead of the current kill." | |||
| 4888 | (save-excursion | 5306 | (save-excursion |
| 4889 | (narrow-to-region | 5307 | (narrow-to-region |
| 4890 | (progn (org-back-to-heading) (point)) | 5308 | (progn (org-back-to-heading) (point)) |
| 4891 | (progn (org-end-of-subtree t) (point))))) | 5309 | (progn (org-end-of-subtree t t) (point))))) |
| 4892 | 5310 | ||
| 4893 | 5311 | ||
| 4894 | ;;; Outline Sorting | 5312 | ;;; Outline Sorting |
| @@ -5130,7 +5548,7 @@ with the current numbers. With optional prefix argument ALL, do this for | |||
| 5130 | the whole buffer." | 5548 | the whole buffer." |
| 5131 | (interactive "P") | 5549 | (interactive "P") |
| 5132 | (save-excursion | 5550 | (save-excursion |
| 5133 | (let* ((buffer-invisibility-spec nil) ; Emacs 21 compatibility | 5551 | (let* ((buffer-invisibility-spec (org-inhibit-invisibility)) ; Emacs 21 |
| 5134 | (beg (progn (outline-back-to-heading) (point))) | 5552 | (beg (progn (outline-back-to-heading) (point))) |
| 5135 | (end (move-marker (make-marker) | 5553 | (end (move-marker (make-marker) |
| 5136 | (progn (outline-next-heading) (point)))) | 5554 | (progn (outline-next-heading) (point)))) |
| @@ -5214,13 +5632,24 @@ leave it alone. If it is larger than ind, set it to the target." | |||
| 5214 | (concat (make-string i1 ?\ ) l) | 5632 | (concat (make-string i1 ?\ ) l) |
| 5215 | l))) | 5633 | l))) |
| 5216 | 5634 | ||
| 5635 | (defcustom org-empty-line-terminates-plain-lists nil | ||
| 5636 | "Non-nil means, an empty line ends all plain list levels. | ||
| 5637 | When nil, empty lines are part of the preceeding item." | ||
| 5638 | :group 'org-plain-lists | ||
| 5639 | :type 'boolean) | ||
| 5640 | |||
| 5217 | (defun org-beginning-of-item () | 5641 | (defun org-beginning-of-item () |
| 5218 | "Go to the beginning of the current hand-formatted item. | 5642 | "Go to the beginning of the current hand-formatted item. |
| 5219 | If the cursor is not in an item, throw an error." | 5643 | If the cursor is not in an item, throw an error." |
| 5220 | (interactive) | 5644 | (interactive) |
| 5221 | (let ((pos (point)) | 5645 | (let ((pos (point)) |
| 5222 | (limit (save-excursion (org-back-to-heading) | 5646 | (limit (save-excursion |
| 5223 | (beginning-of-line 2) (point))) | 5647 | (condition-case nil |
| 5648 | (progn | ||
| 5649 | (org-back-to-heading) | ||
| 5650 | (beginning-of-line 2) (point)) | ||
| 5651 | (error (point-min))))) | ||
| 5652 | (ind-empty (if org-empty-line-terminates-plain-lists 0 10000)) | ||
| 5224 | ind ind1) | 5653 | ind ind1) |
| 5225 | (if (org-at-item-p) | 5654 | (if (org-at-item-p) |
| 5226 | (beginning-of-line 1) | 5655 | (beginning-of-line 1) |
| @@ -5230,12 +5659,14 @@ If the cursor is not in an item, throw an error." | |||
| 5230 | (if (catch 'exit | 5659 | (if (catch 'exit |
| 5231 | (while t | 5660 | (while t |
| 5232 | (beginning-of-line 0) | 5661 | (beginning-of-line 0) |
| 5233 | (if (< (point) limit) (throw 'exit nil)) | 5662 | (if (or (bobp) (< (point) limit)) (throw 'exit nil)) |
| 5234 | (unless (looking-at "[ \t]*$") | 5663 | |
| 5664 | (if (looking-at "[ \t]*$") | ||
| 5665 | (setq ind1 ind-empty) | ||
| 5235 | (skip-chars-forward " \t") | 5666 | (skip-chars-forward " \t") |
| 5236 | (setq ind1 (current-column)) | 5667 | (setq ind1 (current-column))) |
| 5237 | (if (< ind1 ind) | 5668 | (if (< ind1 ind) |
| 5238 | (throw 'exit (org-at-item-p)))))) | 5669 | (progn (beginning-of-line 1) (throw 'exit (org-at-item-p)))))) |
| 5239 | nil | 5670 | nil |
| 5240 | (goto-char pos) | 5671 | (goto-char pos) |
| 5241 | (error "Not in an item"))))) | 5672 | (error "Not in an item"))))) |
| @@ -5244,22 +5675,27 @@ If the cursor is not in an item, throw an error." | |||
| 5244 | "Go to the end of the current hand-formatted item. | 5675 | "Go to the end of the current hand-formatted item. |
| 5245 | If the cursor is not in an item, throw an error." | 5676 | If the cursor is not in an item, throw an error." |
| 5246 | (interactive) | 5677 | (interactive) |
| 5247 | (let ((pos (point)) | 5678 | (let* ((pos (point)) |
| 5248 | (limit (save-excursion (outline-next-heading) (point))) | 5679 | ind1 |
| 5249 | (ind (save-excursion | 5680 | (ind-empty (if org-empty-line-terminates-plain-lists 0 10000)) |
| 5250 | (org-beginning-of-item) | 5681 | (limit (save-excursion (outline-next-heading) (point))) |
| 5251 | (skip-chars-forward " \t") | 5682 | (ind (save-excursion |
| 5252 | (current-column))) | 5683 | (org-beginning-of-item) |
| 5253 | ind1) | 5684 | (skip-chars-forward " \t") |
| 5254 | (if (catch 'exit | 5685 | (current-column))) |
| 5255 | (while t | 5686 | (end (catch 'exit |
| 5256 | (beginning-of-line 2) | 5687 | (while t |
| 5257 | (if (>= (point) limit) (throw 'exit t)) | 5688 | (beginning-of-line 2) |
| 5258 | (unless (looking-at "[ \t]*$") | 5689 | (if (eobp) (throw 'exit (point))) |
| 5259 | (skip-chars-forward " \t") | 5690 | (if (>= (point) limit) (throw 'exit (point-at-bol))) |
| 5260 | (setq ind1 (current-column)) | 5691 | (if (looking-at "[ \t]*$") |
| 5261 | (if (<= ind1 ind) (throw 'exit t))))) | 5692 | (setq ind1 ind-empty) |
| 5262 | (beginning-of-line 1) | 5693 | (skip-chars-forward " \t") |
| 5694 | (setq ind1 (current-column))) | ||
| 5695 | (if (<= ind1 ind) | ||
| 5696 | (throw 'exit (point-at-bol))))))) | ||
| 5697 | (if end | ||
| 5698 | (goto-char end) | ||
| 5263 | (goto-char pos) | 5699 | (goto-char pos) |
| 5264 | (error "Not in an item")))) | 5700 | (error "Not in an item")))) |
| 5265 | 5701 | ||
| @@ -5338,7 +5774,11 @@ so this really moves item trees." | |||
| 5338 | (while t | 5774 | (while t |
| 5339 | (beginning-of-line 0) | 5775 | (beginning-of-line 0) |
| 5340 | (if (looking-at "[ \t]*$") | 5776 | (if (looking-at "[ \t]*$") |
| 5341 | nil | 5777 | (if org-empty-line-terminates-plain-lists |
| 5778 | (progn | ||
| 5779 | (goto-char pos) | ||
| 5780 | (error "Cannot move this item further up")) | ||
| 5781 | nil) | ||
| 5342 | (if (<= (setq ind1 (org-get-indentation)) ind) | 5782 | (if (<= (setq ind1 (org-get-indentation)) ind) |
| 5343 | (throw 'exit t))))) | 5783 | (throw 'exit t))))) |
| 5344 | (condition-case nil | 5784 | (condition-case nil |
| @@ -5468,16 +5908,16 @@ When called with prefix argument FIND-DONE, find whole trees without any | |||
| 5468 | open TODO items and archive them (after getting confirmation from the user). | 5908 | open TODO items and archive them (after getting confirmation from the user). |
| 5469 | If the cursor is not at a headline when this comand is called, try all level | 5909 | If the cursor is not at a headline when this comand is called, try all level |
| 5470 | 1 trees. If the cursor is on a headline, only try the direct children of | 5910 | 1 trees. If the cursor is on a headline, only try the direct children of |
| 5471 | this heading. " | 5911 | this heading." |
| 5472 | (interactive "P") | 5912 | (interactive "P") |
| 5473 | (if find-done | 5913 | (if find-done |
| 5474 | (org-archive-all-done) | 5914 | (org-archive-all-done) |
| 5475 | ;; Save all relevant TODO keyword-relatex variables | 5915 | ;; Save all relevant TODO keyword-relatex variables |
| 5476 | 5916 | ||
| 5477 | (let ((tr-org-todo-line-regexp org-todo-line-regexp) ; keep despite compiler | 5917 | (let ((tr-org-todo-line-regexp org-todo-line-regexp) ; keep despite compiler |
| 5478 | (tr-org-todo-keywords org-todo-keywords) | 5918 | (tr-org-todo-keywords-1 org-todo-keywords-1) |
| 5479 | (tr-org-todo-interpretation org-todo-interpretation) | 5919 | (tr-org-todo-kwd-alist org-todo-kwd-alist) |
| 5480 | (tr-org-done-string org-done-string) | 5920 | (tr-org-done-keywords org-done-keywords) |
| 5481 | (tr-org-todo-regexp org-todo-regexp) | 5921 | (tr-org-todo-regexp org-todo-regexp) |
| 5482 | (tr-org-todo-line-regexp org-todo-line-regexp) | 5922 | (tr-org-todo-line-regexp org-todo-line-regexp) |
| 5483 | (tr-org-odd-levels-only org-odd-levels-only) | 5923 | (tr-org-odd-levels-only org-odd-levels-only) |
| @@ -5488,8 +5928,10 @@ this heading. " | |||
| 5488 | 5928 | ||
| 5489 | ;; Try to find a local archive location | 5929 | ;; Try to find a local archive location |
| 5490 | (save-excursion | 5930 | (save-excursion |
| 5491 | (if (or (re-search-backward re nil t) (re-search-forward re nil t)) | 5931 | (save-restriction |
| 5492 | (setq org-archive-location (match-string 1)))) | 5932 | (widen) |
| 5933 | (if (or (re-search-backward re nil t) (re-search-forward re nil t)) | ||
| 5934 | (setq org-archive-location (match-string 1))))) | ||
| 5493 | 5935 | ||
| 5494 | (if (string-match "\\(.*\\)::\\(.*\\)" org-archive-location) | 5936 | (if (string-match "\\(.*\\)::\\(.*\\)" org-archive-location) |
| 5495 | (progn | 5937 | (progn |
| @@ -5516,7 +5958,8 @@ this heading. " | |||
| 5516 | ;; Enforce org-mode for the archive buffer | 5958 | ;; Enforce org-mode for the archive buffer |
| 5517 | (if (not (org-mode-p)) | 5959 | (if (not (org-mode-p)) |
| 5518 | ;; Force the mode for future visits. | 5960 | ;; Force the mode for future visits. |
| 5519 | (let ((org-insert-mode-line-in-empty-file t)) | 5961 | (let ((org-insert-mode-line-in-empty-file t) |
| 5962 | (org-inhibit-startup t)) | ||
| 5520 | (call-interactively 'org-mode))) | 5963 | (call-interactively 'org-mode))) |
| 5521 | (when newfile-p | 5964 | (when newfile-p |
| 5522 | (goto-char (point-max)) | 5965 | (goto-char (point-max)) |
| @@ -5524,13 +5967,13 @@ this heading. " | |||
| 5524 | (buffer-file-name this-buffer)))) | 5967 | (buffer-file-name this-buffer)))) |
| 5525 | ;; Force the TODO keywords of the original buffer | 5968 | ;; Force the TODO keywords of the original buffer |
| 5526 | (let ((org-todo-line-regexp tr-org-todo-line-regexp) | 5969 | (let ((org-todo-line-regexp tr-org-todo-line-regexp) |
| 5527 | (org-todo-keywords tr-org-todo-keywords) | 5970 | (org-todo-keywords-1 tr-org-todo-keywords-1) |
| 5528 | (org-todo-interpretation tr-org-todo-interpretation) | 5971 | (org-todo-kwd-alist tr-org-todo-kwd-alist) |
| 5529 | (org-done-string tr-org-done-string) | 5972 | (org-done-keywords tr-org-done-keywords) |
| 5530 | (org-todo-regexp tr-org-todo-regexp) | 5973 | (org-todo-regexp tr-org-todo-regexp) |
| 5531 | (org-todo-line-regexp tr-org-todo-line-regexp) | 5974 | (org-todo-line-regexp tr-org-todo-line-regexp) |
| 5532 | (org-odd-levels-only | 5975 | (org-odd-levels-only |
| 5533 | (if (local-variable-p 'org-odd-levels-only) | 5976 | (if (local-variable-p 'org-odd-levels-only (current-buffer)) |
| 5534 | org-odd-levels-only | 5977 | org-odd-levels-only |
| 5535 | tr-org-odd-levels-only))) | 5978 | tr-org-odd-levels-only))) |
| 5536 | (goto-char (point-min)) | 5979 | (goto-char (point-min)) |
| @@ -5556,10 +5999,10 @@ this heading. " | |||
| 5556 | (goto-char (point-max)) (insert "\n")) | 5999 | (goto-char (point-max)) (insert "\n")) |
| 5557 | ;; Paste | 6000 | ;; Paste |
| 5558 | (org-paste-subtree (org-get-legal-level level 1)) | 6001 | (org-paste-subtree (org-get-legal-level level 1)) |
| 5559 | ;; Mark the entry as done, i.e. set to last work in org-todo-keywords | 6002 | ;; Mark the entry as done, i.e. set to last word in org-todo-keywords-1 FIXME: not right anymore!!!!!!! |
| 5560 | (if org-archive-mark-done | 6003 | (if org-archive-mark-done |
| 5561 | (let (org-log-done) | 6004 | (let (org-log-done) |
| 5562 | (org-todo (length org-todo-keywords)))) | 6005 | (org-todo (length org-todo-keywords-1)))) |
| 5563 | ;; Move cursor to right after the TODO keyword | 6006 | ;; Move cursor to right after the TODO keyword |
| 5564 | (when org-archive-stamp-time | 6007 | (when org-archive-stamp-time |
| 5565 | (beginning-of-line 1) | 6008 | (beginning-of-line 1) |
| @@ -5653,7 +6096,7 @@ When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag." | |||
| 5653 | (defun org-toggle-tag (tag &optional onoff) | 6096 | (defun org-toggle-tag (tag &optional onoff) |
| 5654 | "Toggle the tag TAG for the current line. | 6097 | "Toggle the tag TAG for the current line. |
| 5655 | If ONOFF is `on' or `off', don't toggle but set to this state." | 6098 | If ONOFF is `on' or `off', don't toggle but set to this state." |
| 5656 | (unless (org-on-heading-p) (error "Not on headling")) | 6099 | (unless (org-on-heading-p t) (error "Not on headling")) |
| 5657 | (let (res current) | 6100 | (let (res current) |
| 5658 | (save-excursion | 6101 | (save-excursion |
| 5659 | (beginning-of-line) | 6102 | (beginning-of-line) |
| @@ -5749,6 +6192,8 @@ outside the table.") | |||
| 5749 | "Table row types, non-nil only for the duration of a comand.") | 6192 | "Table row types, non-nil only for the duration of a comand.") |
| 5750 | (defvar org-table-current-begin-line nil | 6193 | (defvar org-table-current-begin-line nil |
| 5751 | "Table begin line, non-nil only for the duration of a comand.") | 6194 | "Table begin line, non-nil only for the duration of a comand.") |
| 6195 | (defvar org-table-current-begin-pos nil | ||
| 6196 | "Table begin position, non-nil only for the duration of a comand.") | ||
| 5752 | (defvar org-table-dlines nil | 6197 | (defvar org-table-dlines nil |
| 5753 | "Vector of data line line numbers in the current table.") | 6198 | "Vector of data line line numbers in the current table.") |
| 5754 | (defvar org-table-hlines nil | 6199 | (defvar org-table-hlines nil |
| @@ -5760,11 +6205,17 @@ outside the table.") | |||
| 5760 | "Regular expression for matching ranges in formulas.") | 6205 | "Regular expression for matching ranges in formulas.") |
| 5761 | 6206 | ||
| 5762 | (defconst org-table-range-regexp2 | 6207 | (defconst org-table-range-regexp2 |
| 5763 | "@\\([-+]?I*[-+]?[0-9]*\\)?\\(\\$[-+]?[a-zA-Z0-9]+\\)?\\(\\.\\.@?\\([-+]?I*[-+]?[0-9]*\\)?\\(\\$[-+]?[a-zA-Z0-9]+\\)?\\)?\\|\\$[a-zA-Z0-9]+\\.\\.\\$[a-zA-Z0-9]+" | 6208 | (concat |
| 5764 | "Regular expression to recognize ranges in formulas for highlighting.") | 6209 | "\\(" "@[-0-9I$&]+" "\\|" "[a-zA-Z]\\{1,2\\}\\([0-9]+\\|&\\)" "\\|" "\\$[a-zA-Z0-9]+" "\\)" |
| 6210 | "\\.\\." | ||
| 6211 | "\\(" "@?[-0-9I$&]+" "\\|" "[a-zA-Z]\\{1,2\\}\\([0-9]+\\|&\\)" "\\|" "\\$[a-zA-Z0-9]+" "\\)") | ||
| 6212 | "Match a range for reference display.") | ||
| 5765 | 6213 | ||
| 5766 | (defvar org-inhibit-highlight-removal nil) | 6214 | (defconst org-table-translate-regexp |
| 6215 | (concat "\\(" "@[-0-9I$]+" "\\|" "[a-zA-Z]\\{1,2\\}\\([0-9]+\\|&\\)" "\\)") | ||
| 6216 | "Match a reference that needs translation, for reference display.") | ||
| 5767 | 6217 | ||
| 6218 | (defvar org-inhibit-highlight-removal nil) ; dynamically scoped param | ||
| 5768 | 6219 | ||
| 5769 | (defun org-table-create-with-table.el () | 6220 | (defun org-table-create-with-table.el () |
| 5770 | "Use the table.el package to insert a new table. | 6221 | "Use the table.el package to insert a new table. |
| @@ -5783,8 +6234,9 @@ and table.el tables." | |||
| 5783 | 6234 | ||
| 5784 | (defun org-table-create-or-convert-from-region (arg) | 6235 | (defun org-table-create-or-convert-from-region (arg) |
| 5785 | "Convert region to table, or create an empty table. | 6236 | "Convert region to table, or create an empty table. |
| 5786 | If there is an active region, convert it to a table. If there is no such | 6237 | If there is an active region, convert it to a table, using the function |
| 5787 | region, create an empty table." | 6238 | `org-table-convert-region'. |
| 6239 | If there is no such region, create an empty table with `org-table-create'." | ||
| 5788 | (interactive "P") | 6240 | (interactive "P") |
| 5789 | (if (org-region-active-p) | 6241 | (if (org-region-active-p) |
| 5790 | (org-table-convert-region (region-beginning) (region-end) arg) | 6242 | (org-table-convert-region (region-beginning) (region-end) arg) |
| @@ -5827,7 +6279,9 @@ SIZE is a string Columns x Rows like for example \"3x2\"." | |||
| 5827 | The region goes from BEG0 to END0, but these borders will be moved | 6279 | The region goes from BEG0 to END0, but these borders will be moved |
| 5828 | slightly, to make sure a beginning of line in the first line is included. | 6280 | slightly, to make sure a beginning of line in the first line is included. |
| 5829 | When NSPACE is non-nil, it indicates the minimum number of spaces that | 6281 | When NSPACE is non-nil, it indicates the minimum number of spaces that |
| 5830 | separate columns (default: just one space)." | 6282 | separate columns. By default, the function first checks if every line |
| 6283 | contains at lease one TAB. If yes, it assumes that the material is TAB | ||
| 6284 | separated. If not, it assumes a single space as separator." | ||
| 5831 | (interactive "rP") | 6285 | (interactive "rP") |
| 5832 | (let* ((beg (min beg0 end0)) | 6286 | (let* ((beg (min beg0 end0)) |
| 5833 | (end (max beg0 end0)) | 6287 | (end (max beg0 end0)) |
| @@ -6249,9 +6703,13 @@ If the current field is not empty, it is copied down to the next row, and | |||
| 6249 | the cursor is moved with it. Therefore, repeating this command causes the | 6703 | the cursor is moved with it. Therefore, repeating this command causes the |
| 6250 | column to be filled row-by-row. | 6704 | column to be filled row-by-row. |
| 6251 | If the variable `org-table-copy-increment' is non-nil and the field is an | 6705 | If the variable `org-table-copy-increment' is non-nil and the field is an |
| 6252 | integer, it will be incremented while copying." | 6706 | integer or a timestamp, it will be incremented while copying. In the case of |
| 6707 | a timestamp, if the cursor is on the year, change the year. If it is on the | ||
| 6708 | month or the day, change that. Point will stay on the current date field | ||
| 6709 | in order to easily repeat the interval." | ||
| 6253 | (interactive "p") | 6710 | (interactive "p") |
| 6254 | (let* ((colpos (org-table-current-column)) | 6711 | (let* ((colpos (org-table-current-column)) |
| 6712 | (col (current-column)) | ||
| 6255 | (field (org-table-get-field)) | 6713 | (field (org-table-get-field)) |
| 6256 | (non-empty (string-match "[^ \t]" field)) | 6714 | (non-empty (string-match "[^ \t]" field)) |
| 6257 | (beg (org-table-begin)) | 6715 | (beg (org-table-begin)) |
| @@ -6279,8 +6737,12 @@ integer, it will be incremented while copying." | |||
| 6279 | (string-match "^[0-9]+$" txt)) | 6737 | (string-match "^[0-9]+$" txt)) |
| 6280 | (setq txt (format "%d" (+ (string-to-number txt) 1)))) | 6738 | (setq txt (format "%d" (+ (string-to-number txt) 1)))) |
| 6281 | (insert txt) | 6739 | (insert txt) |
| 6282 | (org-table-maybe-recalculate-line) | 6740 | (move-to-column col) |
| 6283 | (org-table-align)) | 6741 | (if (and org-table-copy-increment (org-at-timestamp-p t)) |
| 6742 | (org-timestamp-up 1) | ||
| 6743 | (org-table-maybe-recalculate-line)) | ||
| 6744 | (org-table-align) | ||
| 6745 | (move-to-column col)) | ||
| 6284 | (error "No non-empty field found")))) | 6746 | (error "No non-empty field found")))) |
| 6285 | 6747 | ||
| 6286 | (defun org-table-check-inside-data-field () | 6748 | (defun org-table-check-inside-data-field () |
| @@ -6333,7 +6795,7 @@ is always the old value." | |||
| 6333 | 6795 | ||
| 6334 | (defun org-table-field-info (arg) | 6796 | (defun org-table-field-info (arg) |
| 6335 | "Show info about the current field, and highlight any reference at point." | 6797 | "Show info about the current field, and highlight any reference at point." |
| 6336 | (interactive "P") | 6798 | (interactive "P") |
| 6337 | (org-table-get-specials) | 6799 | (org-table-get-specials) |
| 6338 | (save-excursion | 6800 | (save-excursion |
| 6339 | (let* ((pos (point)) | 6801 | (let* ((pos (point)) |
| @@ -6344,21 +6806,26 @@ is always the old value." | |||
| 6344 | (eql (org-table-get-stored-formulas)) | 6806 | (eql (org-table-get-stored-formulas)) |
| 6345 | (dline (org-table-current-dline)) | 6807 | (dline (org-table-current-dline)) |
| 6346 | (ref (format "@%d$%d" dline col)) | 6808 | (ref (format "@%d$%d" dline col)) |
| 6809 | (ref1 (org-table-convert-refs-to-an ref)) | ||
| 6347 | (fequation (or (assoc name eql) (assoc ref eql))) | 6810 | (fequation (or (assoc name eql) (assoc ref eql))) |
| 6348 | (cequation (assoc (int-to-string col) eql))) | 6811 | (cequation (assoc (int-to-string col) eql)) |
| 6812 | (eqn (or fequation cequation))) | ||
| 6349 | (goto-char pos) | 6813 | (goto-char pos) |
| 6350 | (condition-case nil | 6814 | (condition-case nil |
| 6351 | (org-show-reference 'local) | 6815 | (org-table-show-reference 'local) |
| 6352 | (error nil)) | 6816 | (error nil)) |
| 6353 | (message "line @%d, col $%s%s, ref @%d$%d%s%s" | 6817 | (message "line @%d, col $%s%s, ref @%d$%d or %s%s%s" |
| 6354 | dline col | 6818 | dline col |
| 6355 | (if cname (concat " or $" cname) "") | 6819 | (if cname (concat " or $" cname) "") |
| 6356 | dline col | 6820 | dline col ref1 |
| 6357 | (if name (concat " or $" name) "") | 6821 | (if name (concat " or $" name) "") |
| 6358 | ;; FIXME: formula info not correct if special table line | 6822 | ;; FIXME: formula info not correct if special table line |
| 6359 | (if (or fequation cequation) | 6823 | (if eqn |
| 6360 | (concat ", " (if fequation "field" "column") | 6824 | (concat ", formula: " |
| 6361 | " formula applies" "") | 6825 | (org-table-formula-to-user |
| 6826 | (concat | ||
| 6827 | (if (string-match "^[$@]"(car eqn)) "" "$") | ||
| 6828 | (car eqn) "=" (cdr eqn)))) | ||
| 6362 | ""))))) | 6829 | ""))))) |
| 6363 | 6830 | ||
| 6364 | (defun org-table-current-column () | 6831 | (defun org-table-current-column () |
| @@ -6573,7 +7040,7 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables." | |||
| 6573 | (goto-line linepos) | 7040 | (goto-line linepos) |
| 6574 | (org-table-goto-column colpos) | 7041 | (org-table-goto-column colpos) |
| 6575 | (org-table-align) | 7042 | (org-table-align) |
| 6576 | (org-table-fix-formulas | 7043 | (org-table-fix-formulas |
| 6577 | "$" (list (cons (number-to-string col) (number-to-string colpos)) | 7044 | "$" (list (cons (number-to-string col) (number-to-string colpos)) |
| 6578 | (cons (number-to-string colpos) (number-to-string col)))))) | 7045 | (cons (number-to-string colpos) (number-to-string col)))))) |
| 6579 | 7046 | ||
| @@ -6591,7 +7058,7 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables." | |||
| 6591 | (interactive "P") | 7058 | (interactive "P") |
| 6592 | (let* ((col (current-column)) | 7059 | (let* ((col (current-column)) |
| 6593 | (pos (point)) | 7060 | (pos (point)) |
| 6594 | (hline1p (save-excursion (beginning-of-line 1) | 7061 | (hline1p (save-excursion (beginning-of-line 1) |
| 6595 | (looking-at org-table-hline-regexp))) | 7062 | (looking-at org-table-hline-regexp))) |
| 6596 | (dline1 (org-table-current-dline)) | 7063 | (dline1 (org-table-current-dline)) |
| 6597 | (dline2 (+ dline1 (if up -1 1))) | 7064 | (dline2 (+ dline1 (if up -1 1))) |
| @@ -6612,7 +7079,7 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables." | |||
| 6612 | (beginning-of-line 0) | 7079 | (beginning-of-line 0) |
| 6613 | (move-to-column col) | 7080 | (move-to-column col) |
| 6614 | (unless (or hline1p hline2p) | 7081 | (unless (or hline1p hline2p) |
| 6615 | (org-table-fix-formulas | 7082 | (org-table-fix-formulas |
| 6616 | "@" (list (cons (number-to-string dline1) (number-to-string dline2)) | 7083 | "@" (list (cons (number-to-string dline1) (number-to-string dline2)) |
| 6617 | (cons (number-to-string dline2) (number-to-string dline1))))))) | 7084 | (cons (number-to-string dline2) (number-to-string dline1))))))) |
| 6618 | 7085 | ||
| @@ -6635,9 +7102,9 @@ With prefix ARG, insert below the current line." | |||
| 6635 | (org-table-align)) | 7102 | (org-table-align)) |
| 6636 | (org-table-fix-formulas "@" nil (1- (org-table-current-dline)) 1))) | 7103 | (org-table-fix-formulas "@" nil (1- (org-table-current-dline)) 1))) |
| 6637 | 7104 | ||
| 6638 | (defun org-table-insert-hline (&optional arg) | 7105 | (defun org-table-insert-hline (&optional above) |
| 6639 | "Insert a horizontal-line below the current line into the table. | 7106 | "Insert a horizontal-line below the current line into the table. |
| 6640 | With prefix ARG, insert above the current line." | 7107 | With prefix ABOVE, insert above the current line." |
| 6641 | (interactive "P") | 7108 | (interactive "P") |
| 6642 | (if (not (org-at-table-p)) | 7109 | (if (not (org-at-table-p)) |
| 6643 | (error "Not at a table")) | 7110 | (error "Not at a table")) |
| @@ -6649,12 +7116,25 @@ With prefix ARG, insert above the current line." | |||
| 6649 | (concat "+" (make-string (- (match-end 1) (match-beginning 1)) | 7116 | (concat "+" (make-string (- (match-end 1) (match-beginning 1)) |
| 6650 | ?-) "|") t t line))) | 7117 | ?-) "|") t t line))) |
| 6651 | (and (string-match "\\+" line) (setq line (replace-match "|" t t line))) | 7118 | (and (string-match "\\+" line) (setq line (replace-match "|" t t line))) |
| 6652 | (beginning-of-line (if arg 1 2)) | 7119 | (beginning-of-line (if above 1 2)) |
| 6653 | (insert line "\n") | 7120 | (insert line "\n") |
| 6654 | (beginning-of-line (if arg 1 -1)) | 7121 | (beginning-of-line (if above 1 -1)) |
| 6655 | (move-to-column col) | 7122 | (move-to-column col) |
| 6656 | (and org-table-overlay-coordinates (org-table-align)))) | 7123 | (and org-table-overlay-coordinates (org-table-align)))) |
| 6657 | 7124 | ||
| 7125 | (defun org-table-hline-and-move (&optional same-column) | ||
| 7126 | "Insert a hline and move to the row below that line." | ||
| 7127 | (interactive "P") | ||
| 7128 | (let ((col (org-table-current-column))) | ||
| 7129 | (org-table-maybe-eval-formula) | ||
| 7130 | (org-table-maybe-recalculate-line) | ||
| 7131 | (org-table-insert-hline) | ||
| 7132 | (end-of-line 2) | ||
| 7133 | (if (looking-at "\n[ \t]*|-") | ||
| 7134 | (progn (insert "\n|") (org-table-align)) | ||
| 7135 | (org-table-next-field)) | ||
| 7136 | (if same-column (org-table-goto-column col)))) | ||
| 7137 | |||
| 6658 | (defun org-table-clean-line (s) | 7138 | (defun org-table-clean-line (s) |
| 6659 | "Convert a table line S into a string with only \"|\" and space. | 7139 | "Convert a table line S into a string with only \"|\" and space. |
| 6660 | In particular, this does handle wide and invisible characters." | 7140 | In particular, this does handle wide and invisible characters." |
| @@ -6959,15 +7439,14 @@ it can be edited in place." | |||
| 6959 | (switch-to-buffer-other-window "*Org tmp*") | 7439 | (switch-to-buffer-other-window "*Org tmp*") |
| 6960 | (erase-buffer) | 7440 | (erase-buffer) |
| 6961 | (insert "#\n# Edit field and finish with C-c C-c\n#\n") | 7441 | (insert "#\n# Edit field and finish with C-c C-c\n#\n") |
| 6962 | (org-mode) | 7442 | (let ((org-inhibit-startup t)) (org-mode)) |
| 6963 | (goto-char (setq p (point-max))) | 7443 | (goto-char (setq p (point-max))) |
| 6964 | (insert (org-trim field)) | 7444 | (insert (org-trim field)) |
| 6965 | (remove-text-properties p (point-max) | 7445 | (remove-text-properties p (point-max) |
| 6966 | '(invisible t org-cwidth t display t | 7446 | '(invisible t org-cwidth t display t |
| 6967 | intangible t)) | 7447 | intangible t)) |
| 6968 | (goto-char p) | 7448 | (goto-char p) |
| 6969 | (org-set-local 'org-finish-function | 7449 | (org-set-local 'org-finish-function 'org-table-finish-edit-field) |
| 6970 | 'org-table-finish-edit-field) | ||
| 6971 | (org-set-local 'org-window-configuration cw) | 7450 | (org-set-local 'org-window-configuration cw) |
| 6972 | (org-set-local 'org-field-marker pos) | 7451 | (org-set-local 'org-field-marker pos) |
| 6973 | (message "Edit and finish with C-c C-c")))) | 7452 | (message "Edit and finish with C-c C-c")))) |
| @@ -6997,8 +7476,8 @@ the table and kill the editing buffer." | |||
| 6997 | 7476 | ||
| 6998 | (defun org-trim (s) | 7477 | (defun org-trim (s) |
| 6999 | "Remove whitespace at beginning and end of string." | 7478 | "Remove whitespace at beginning and end of string." |
| 7000 | (if (string-match "^[ \t]+" s) (setq s (replace-match "" t t s))) | 7479 | (if (string-match "^[ \t\n\r]+" s) (setq s (replace-match "" t t s))) |
| 7001 | (if (string-match "[ \t]+$" s) (setq s (replace-match "" t t s))) | 7480 | (if (string-match "[ \t\n\r]+$" s) (setq s (replace-match "" t t s))) |
| 7002 | s) | 7481 | s) |
| 7003 | 7482 | ||
| 7004 | (defun org-wrap (string &optional width lines) | 7483 | (defun org-wrap (string &optional width lines) |
| @@ -7159,21 +7638,25 @@ If NLAST is a number, only the NLAST fields will actually be summed." | |||
| 7159 | ((equal n 0) nil) | 7638 | ((equal n 0) nil) |
| 7160 | (t n)))) | 7639 | (t n)))) |
| 7161 | 7640 | ||
| 7162 | (defun org-table-current-field-formula () | 7641 | (defun org-table-current-field-formula (&optional key noerror) |
| 7163 | "Return the formula active for the current field. | 7642 | "Return the formula active for the current field. |
| 7164 | Assumes that specials are in place." | 7643 | Assumes that specials are in place. |
| 7644 | If KEY is given, return the key to this formula. | ||
| 7645 | Otherwise return the formula preceeded with \"=\" or \":=\"." | ||
| 7165 | (let* ((name (car (rassoc (list (org-current-line) | 7646 | (let* ((name (car (rassoc (list (org-current-line) |
| 7166 | (org-table-current-column)) | 7647 | (org-table-current-column)) |
| 7167 | org-table-named-field-locations))) | 7648 | org-table-named-field-locations))) |
| 7168 | (col (org-table-current-column)) | 7649 | (col (org-table-current-column)) |
| 7169 | (scol (int-to-string col)) | 7650 | (scol (int-to-string col)) |
| 7170 | (ref (format "@%d$%d" (org-table-current-dline) col)) | 7651 | (ref (format "@%d$%d" (org-table-current-dline) col)) |
| 7171 | (stored-list (org-table-get-stored-formulas)) | 7652 | (stored-list (org-table-get-stored-formulas noerror)) |
| 7172 | (ass (or (assoc name stored-list) | 7653 | (ass (or (assoc name stored-list) |
| 7173 | (assoc ref stored-list) | 7654 | (assoc ref stored-list) |
| 7174 | (assoc scol stored-list)))) | 7655 | (assoc scol stored-list)))) |
| 7175 | (if ass (concat (if (string-match "^[0-9]+$" (car ass)) "=" ":=") | 7656 | (if key |
| 7176 | (cdr ass))))) | 7657 | (car ass) |
| 7658 | (if ass (concat (if (string-match "^[0-9]+$" (car ass)) "=" ":=") | ||
| 7659 | (cdr ass)))))) | ||
| 7177 | 7660 | ||
| 7178 | (defun org-table-get-formula (&optional equation named) | 7661 | (defun org-table-get-formula (&optional equation named) |
| 7179 | "Read a formula from the minibuffer, offer stored formula as default. | 7662 | "Read a formula from the minibuffer, offer stored formula as default. |
| @@ -7199,11 +7682,16 @@ When NAMED is non-nil, look for a named equation." | |||
| 7199 | stored) | 7682 | stored) |
| 7200 | ((stringp equation) | 7683 | ((stringp equation) |
| 7201 | equation) | 7684 | equation) |
| 7202 | (t (read-string | 7685 | (t (org-table-formula-from-user |
| 7203 | (format "%s formula $%s=" (if named "Field" "Column") scol) | 7686 | (read-string |
| 7204 | (or stored "") 'org-table-formula-history | 7687 | (org-table-formula-to-user |
| 7205 | ;stored | 7688 | (format "%s formula %s%s=" |
| 7206 | )))) | 7689 | (if named "Field" "Column") |
| 7690 | (if (member (string-to-char scol) '(?$ ?@)) "" "$") | ||
| 7691 | scol)) | ||
| 7692 | (if stored (org-table-formula-to-user stored) "") | ||
| 7693 | 'org-table-formula-history | ||
| 7694 | ))))) | ||
| 7207 | mustsave) | 7695 | mustsave) |
| 7208 | (when (not (string-match "\\S-" eq)) | 7696 | (when (not (string-match "\\S-" eq)) |
| 7209 | ;; remove formula | 7697 | ;; remove formula |
| @@ -7225,7 +7713,7 @@ When NAMED is non-nil, look for a named equation." | |||
| 7225 | 7713 | ||
| 7226 | (defun org-table-store-formulas (alist) | 7714 | (defun org-table-store-formulas (alist) |
| 7227 | "Store the list of formulas below the current table." | 7715 | "Store the list of formulas below the current table." |
| 7228 | (setq alist (sort alist (lambda (a b) (string< (car a) (car b))))) | 7716 | (setq alist (sort alist 'org-table-formula-less-p)) |
| 7229 | (save-excursion | 7717 | (save-excursion |
| 7230 | (goto-char (org-table-end)) | 7718 | (goto-char (org-table-end)) |
| 7231 | (if (looking-at "\\([ \t]*\n\\)*#\\+TBLFM:\\(.*\n?\\)") | 7719 | (if (looking-at "\\([ \t]*\n\\)*#\\+TBLFM:\\(.*\n?\\)") |
| @@ -7242,7 +7730,20 @@ When NAMED is non-nil, look for a named equation." | |||
| 7242 | alist "::") | 7730 | alist "::") |
| 7243 | "\n"))) | 7731 | "\n"))) |
| 7244 | 7732 | ||
| 7245 | (defun org-table-get-stored-formulas () | 7733 | (defsubst org-table-formula-make-cmp-string (a) |
| 7734 | (when (string-match "^\\(@\\([0-9]+\\)\\)?\\(\\$?\\([0-9]+\\)\\)?\\(\\$?[a-zA-Z0-9]+\\)?" a) | ||
| 7735 | (concat | ||
| 7736 | (if (match-end 2) (format "@%05d" (string-to-number (match-string 2 a))) "") | ||
| 7737 | (if (match-end 4) (format "$%05d" (string-to-number (match-string 4 a))) "") | ||
| 7738 | (if (match-end 5) (concat "@@" (match-string 5 a)))))) | ||
| 7739 | |||
| 7740 | (defun org-table-formula-less-p (a b) | ||
| 7741 | "Compare two formulas for sorting." | ||
| 7742 | (let ((as (org-table-formula-make-cmp-string (car a))) | ||
| 7743 | (bs (org-table-formula-make-cmp-string (car b)))) | ||
| 7744 | (and as bs (string< as bs)))) | ||
| 7745 | |||
| 7746 | (defun org-table-get-stored-formulas (&optional noerror) | ||
| 7246 | "Return an alist with the stored formulas directly after current table." | 7747 | "Return an alist with the stored formulas directly after current table." |
| 7247 | (interactive) | 7748 | (interactive) |
| 7248 | (let (scol eq eq-alist strings string seen) | 7749 | (let (scol eq eq-alist strings string seen) |
| @@ -7252,13 +7753,18 @@ When NAMED is non-nil, look for a named equation." | |||
| 7252 | (setq strings (org-split-string (match-string 2) " *:: *")) | 7753 | (setq strings (org-split-string (match-string 2) " *:: *")) |
| 7253 | (while (setq string (pop strings)) | 7754 | (while (setq string (pop strings)) |
| 7254 | (when (string-match "\\(@[0-9]+\\$[0-9]+\\|\\$\\([a-zA-Z0-9]+\\)\\) *= *\\(.*[^ \t]\\)" string) | 7755 | (when (string-match "\\(@[0-9]+\\$[0-9]+\\|\\$\\([a-zA-Z0-9]+\\)\\) *= *\\(.*[^ \t]\\)" string) |
| 7255 | (setq scol (if (match-end 2) | 7756 | (setq scol (if (match-end 2) |
| 7256 | (match-string 2 string) | 7757 | (match-string 2 string) |
| 7257 | (match-string 1 string)) | 7758 | (match-string 1 string)) |
| 7258 | eq (match-string 3 string) | 7759 | eq (match-string 3 string) |
| 7259 | eq-alist (cons (cons scol eq) eq-alist)) | 7760 | eq-alist (cons (cons scol eq) eq-alist)) |
| 7260 | (if (member scol seen) | 7761 | (if (member scol seen) |
| 7261 | (error "Double definition `$%s=' in TBLFM line, please fix by hand" scol) | 7762 | (if noerror |
| 7763 | (progn | ||
| 7764 | (message "Double definition `$%s=' in TBLFM line, please fix by hand" scol) | ||
| 7765 | (ding) | ||
| 7766 | (sit-for 2)) | ||
| 7767 | (error "Double definition `$%s=' in TBLFM line, please fix by hand" scol)) | ||
| 7262 | (push scol seen)))))) | 7768 | (push scol seen)))))) |
| 7263 | (nreverse eq-alist))) | 7769 | (nreverse eq-alist))) |
| 7264 | 7770 | ||
| @@ -7297,7 +7803,8 @@ For all numbers larger than LIMIT, shift them by DELTA." | |||
| 7297 | org-table-local-parameters nil | 7803 | org-table-local-parameters nil |
| 7298 | org-table-named-field-locations nil | 7804 | org-table-named-field-locations nil |
| 7299 | org-table-current-begin-line nil | 7805 | org-table-current-begin-line nil |
| 7300 | org-table-current-line-types nil) | 7806 | org-table-current-begin-pos nil |
| 7807 | org-table-current-line-types nil) | ||
| 7301 | (goto-char beg) | 7808 | (goto-char beg) |
| 7302 | (when (re-search-forward "^[ \t]*| *! *\\(|.*\\)" end t) | 7809 | (when (re-search-forward "^[ \t]*| *! *\\(|.*\\)" end t) |
| 7303 | (setq names (org-split-string (match-string 1) " *| *") | 7810 | (setq names (org-split-string (match-string 1) " *| *") |
| @@ -7334,7 +7841,8 @@ For all numbers larger than LIMIT, shift them by DELTA." | |||
| 7334 | ;; Analyse the line types | 7841 | ;; Analyse the line types |
| 7335 | (goto-char beg) | 7842 | (goto-char beg) |
| 7336 | (setq org-table-current-begin-line (org-current-line) | 7843 | (setq org-table-current-begin-line (org-current-line) |
| 7337 | l org-table-current-begin-line) | 7844 | org-table-current-begin-pos (point) |
| 7845 | l org-table-current-begin-line) | ||
| 7338 | (while (looking-at "[ \t]*|\\(-\\)?") | 7846 | (while (looking-at "[ \t]*|\\(-\\)?") |
| 7339 | (push (if (match-end 1) 'hline 'dline) types) | 7847 | (push (if (match-end 1) 'hline 'dline) types) |
| 7340 | (if (match-end 1) (push l hlines) (push l dlines)) | 7848 | (if (match-end 1) (push l hlines) (push l dlines)) |
| @@ -7344,13 +7852,6 @@ For all numbers larger than LIMIT, shift them by DELTA." | |||
| 7344 | org-table-dlines (apply 'vector (cons nil (nreverse dlines))) | 7852 | org-table-dlines (apply 'vector (cons nil (nreverse dlines))) |
| 7345 | org-table-hlines (apply 'vector (cons nil (nreverse hlines))))))) | 7853 | org-table-hlines (apply 'vector (cons nil (nreverse hlines))))))) |
| 7346 | 7854 | ||
| 7347 | (defun org-this-word () | ||
| 7348 | ;; Get the current word | ||
| 7349 | (save-excursion | ||
| 7350 | (let ((beg (progn (skip-chars-backward "^ \t\n") (point))) | ||
| 7351 | (end (progn (skip-chars-forward "^ \t\n") (point)))) | ||
| 7352 | (buffer-substring-no-properties beg end)))) | ||
| 7353 | |||
| 7354 | (defun org-table-maybe-eval-formula () | 7855 | (defun org-table-maybe-eval-formula () |
| 7355 | "Check if the current field starts with \"=\" or \":=\". | 7856 | "Check if the current field starts with \"=\" or \":=\". |
| 7356 | If yes, store the formula and apply it." | 7857 | If yes, store the formula and apply it." |
| @@ -7364,7 +7865,8 @@ If yes, store the formula and apply it." | |||
| 7364 | eq (match-string 1 field)) | 7865 | eq (match-string 1 field)) |
| 7365 | (if (or (fboundp 'calc-eval) | 7866 | (if (or (fboundp 'calc-eval) |
| 7366 | (equal (substring eq 0 (min 2 (length eq))) "'(")) | 7867 | (equal (substring eq 0 (min 2 (length eq))) "'(")) |
| 7367 | (org-table-eval-formula (if named '(4) nil) eq) | 7868 | (org-table-eval-formula (if named '(4) nil) |
| 7869 | (org-table-formula-from-user eq)) | ||
| 7368 | (error "Calc does not seem to be installed, and is needed to evaluate the formula")))))) | 7870 | (error "Calc does not seem to be installed, and is needed to evaluate the formula")))))) |
| 7369 | 7871 | ||
| 7370 | (defvar org-recalc-commands nil | 7872 | (defvar org-recalc-commands nil |
| @@ -7485,7 +7987,7 @@ formula is installed as valid in only this specific field. | |||
| 7485 | 7987 | ||
| 7486 | When called with two `C-u' prefixes, insert the active equation | 7988 | When called with two `C-u' prefixes, insert the active equation |
| 7487 | for the field back into the current field, so that it can be | 7989 | for the field back into the current field, so that it can be |
| 7488 | edited there. This is useful in order to use \\[org-show-reference] | 7990 | edited there. This is useful in order to use \\[org-table-show-reference] |
| 7489 | to check the referenced fields. | 7991 | to check the referenced fields. |
| 7490 | 7992 | ||
| 7491 | When called, the command first prompts for a formula, which is read in | 7993 | When called, the command first prompts for a formula, which is read in |
| @@ -7577,7 +8079,7 @@ not overwrite the stored one." | |||
| 7577 | ;; Insert complex ranges | 8079 | ;; Insert complex ranges |
| 7578 | (while (string-match org-table-range-regexp form) | 8080 | (while (string-match org-table-range-regexp form) |
| 7579 | (setq form | 8081 | (setq form |
| 7580 | (replace-match | 8082 | (replace-match |
| 7581 | (save-match-data | 8083 | (save-match-data |
| 7582 | (org-table-make-reference | 8084 | (org-table-make-reference |
| 7583 | (org-table-get-range (match-string 0 form) nil n0) | 8085 | (org-table-get-range (match-string 0 form) nil n0) |
| @@ -7585,7 +8087,7 @@ not overwrite the stored one." | |||
| 7585 | t t form))) | 8087 | t t form))) |
| 7586 | ;; Insert simple ranges | 8088 | ;; Insert simple ranges |
| 7587 | (while (string-match "\\$\\([0-9]+\\)\\.\\.\\$\\([0-9]+\\)" form) | 8089 | (while (string-match "\\$\\([0-9]+\\)\\.\\.\\$\\([0-9]+\\)" form) |
| 7588 | (setq form | 8090 | (setq form |
| 7589 | (replace-match | 8091 | (replace-match |
| 7590 | (save-match-data | 8092 | (save-match-data |
| 7591 | (org-table-make-reference | 8093 | (org-table-make-reference |
| @@ -7596,17 +8098,16 @@ not overwrite the stored one." | |||
| 7596 | t t form))) | 8098 | t t form))) |
| 7597 | (setq form0 form) | 8099 | (setq form0 form) |
| 7598 | ;; Insert the references to fields in same row | 8100 | ;; Insert the references to fields in same row |
| 7599 | (while (string-match "\\$\\([0-9]+\\)?" form) | 8101 | (while (string-match "\\$\\([0-9]+\\)" form) |
| 7600 | (setq n (if (match-beginning 1) | 8102 | (setq n (string-to-number (match-string 1 form)) |
| 7601 | (string-to-number (match-string 1 form)) | 8103 | x (nth (1- (if (= n 0) n0 n)) fields)) |
| 7602 | n0) | ||
| 7603 | x (nth (1- n) fields)) | ||
| 7604 | (unless x (error "Invalid field specifier \"%s\"" | 8104 | (unless x (error "Invalid field specifier \"%s\"" |
| 7605 | (match-string 0 form))) | 8105 | (match-string 0 form))) |
| 7606 | (setq form (replace-match | 8106 | (setq form (replace-match |
| 7607 | (save-match-data | 8107 | (save-match-data |
| 7608 | (org-table-make-reference x nil numbers lispp)) | 8108 | (org-table-make-reference x nil numbers lispp)) |
| 7609 | t t form))) | 8109 | t t form))) |
| 8110 | |||
| 7610 | (if lispp | 8111 | (if lispp |
| 7611 | (setq ev (condition-case nil | 8112 | (setq ev (condition-case nil |
| 7612 | (eval (eval (read form))) | 8113 | (eval (eval (read form))) |
| @@ -7616,7 +8117,7 @@ not overwrite the stored one." | |||
| 7616 | (error "Calc does not seem to be installed, and is needed to evaluate the formula")) | 8117 | (error "Calc does not seem to be installed, and is needed to evaluate the formula")) |
| 7617 | (setq ev (calc-eval (cons form modes) | 8118 | (setq ev (calc-eval (cons form modes) |
| 7618 | (if numbers 'num)))) | 8119 | (if numbers 'num)))) |
| 7619 | 8120 | ||
| 7620 | (when org-table-formula-debug | 8121 | (when org-table-formula-debug |
| 7621 | (with-output-to-temp-buffer "*Substitution History*" | 8122 | (with-output-to-temp-buffer "*Substitution History*" |
| 7622 | (princ (format "Substitution history of formula | 8123 | (princ (format "Substitution history of formula |
| @@ -7738,7 +8239,7 @@ and TABLE is a vector with line types." | |||
| 7738 | (setq i 0 hdir "+") | 8239 | (setq i 0 hdir "+") |
| 7739 | (if (eq (aref table 0) 'hline) (setq hn (1- hn))))) | 8240 | (if (eq (aref table 0) 'hline) (setq hn (1- hn))))) |
| 7740 | (if (and (not hn) on (not odir)) | 8241 | (if (and (not hn) on (not odir)) |
| 7741 | (error "should never happen");;(aref org-table-dlines on) FIXME | 8242 | (error "should never happen");;(aref org-table-dlines on) |
| 7742 | (if (and hn (> hn 0)) | 8243 | (if (and hn (> hn 0)) |
| 7743 | (setq i (org-find-row-type table i 'hline (equal hdir "-") nil hn))) | 8244 | (setq i (org-find-row-type table i 'hline (equal hdir "-") nil hn))) |
| 7744 | (if on | 8245 | (if on |
| @@ -7837,7 +8338,7 @@ With prefix arg ALL, do this for all lines in the table." | |||
| 7837 | (goto-char beg) | 8338 | (goto-char beg) |
| 7838 | (and all (message "Re-applying formulas to full table...")) | 8339 | (and all (message "Re-applying formulas to full table...")) |
| 7839 | (while (re-search-forward line-re end t) | 8340 | (while (re-search-forward line-re end t) |
| 7840 | (unless (string-match "^ *[_^!$] *$" (org-table-get-field 1)) | 8341 | (unless (string-match "^ *[_^!$/] *$" (org-table-get-field 1)) |
| 7841 | ;; Unprotected line, recalculate | 8342 | ;; Unprotected line, recalculate |
| 7842 | (and all (message "Re-applying formulas to full table...(line %d)" | 8343 | (and all (message "Re-applying formulas to full table...(line %d)" |
| 7843 | (setq cnt (1+ cnt)))) | 8344 | (setq cnt (1+ cnt)))) |
| @@ -7858,7 +8359,7 @@ With prefix arg ALL, do this for all lines in the table." | |||
| 7858 | a (assoc name org-table-named-field-locations)) | 8359 | a (assoc name org-table-named-field-locations)) |
| 7859 | (and (not a) | 8360 | (and (not a) |
| 7860 | (string-match "@\\([0-9]+\\)\\$\\([0-9]+\\)" name) | 8361 | (string-match "@\\([0-9]+\\)\\$\\([0-9]+\\)" name) |
| 7861 | (setq a | 8362 | (setq a |
| 7862 | (list | 8363 | (list |
| 7863 | name | 8364 | name |
| 7864 | (aref org-table-dlines | 8365 | (aref org-table-dlines |
| @@ -7876,12 +8377,12 @@ With prefix arg ALL, do this for all lines in the table." | |||
| 7876 | (org-table-goto-column thiscol) | 8377 | (org-table-goto-column thiscol) |
| 7877 | (or noalign (and org-table-may-need-update (org-table-align)) | 8378 | (or noalign (and org-table-may-need-update (org-table-align)) |
| 7878 | (and all (message "Re-applying formulas...done")))))) | 8379 | (and all (message "Re-applying formulas...done")))))) |
| 7879 | 8380 | ||
| 7880 | (defun org-table-iterate (&optional arg) | 8381 | (defun org-table-iterate (&optional arg) |
| 7881 | "Recalculate the table until it does not change anymore." | 8382 | "Recalculate the table until it does not change anymore." |
| 7882 | (interactive "P") | 8383 | (interactive "P") |
| 7883 | (let ((imax (if arg (prefix-numeric-value arg) 10)) | 8384 | (let ((imax (if arg (prefix-numeric-value arg) 10)) |
| 7884 | (i 0) | 8385 | (i 0) |
| 7885 | (lasttbl (buffer-substring (org-table-begin) (org-table-end))) | 8386 | (lasttbl (buffer-substring (org-table-begin) (org-table-end))) |
| 7886 | thistbl) | 8387 | thistbl) |
| 7887 | (catch 'exit | 8388 | (catch 'exit |
| @@ -7924,32 +8425,74 @@ Parameters get priority." | |||
| 7924 | (and (fboundp 'constants-get) (constants-get const)) | 8425 | (and (fboundp 'constants-get) (constants-get const)) |
| 7925 | "#UNDEFINED_NAME")) | 8426 | "#UNDEFINED_NAME")) |
| 7926 | 8427 | ||
| 7927 | (defvar org-edit-formulas-map (make-sparse-keymap)) | 8428 | (defvar org-table-fedit-map (make-sparse-keymap)) |
| 7928 | (define-key org-edit-formulas-map "\C-c\C-c" 'org-finish-edit-formulas) | 8429 | (org-defkey org-table-fedit-map "\C-x\C-s" 'org-table-fedit-finish) |
| 7929 | (define-key org-edit-formulas-map "\C-c\C-q" 'org-abort-edit-formulas) | 8430 | (org-defkey org-table-fedit-map "\C-c\C-s" 'org-table-fedit-finish) |
| 7930 | (define-key org-edit-formulas-map "\C-c?" 'org-show-reference) | 8431 | (org-defkey org-table-fedit-map "\C-c\C-c" 'org-table-fedit-finish) |
| 7931 | (define-key org-edit-formulas-map [(shift up)] 'org-table-edit-line-up) | 8432 | (org-defkey org-table-fedit-map "\C-c\C-q" 'org-table-fedit-abort) |
| 7932 | (define-key org-edit-formulas-map [(shift down)] 'org-table-edit-line-down) | 8433 | (org-defkey org-table-fedit-map "\C-c?" 'org-table-show-reference) |
| 7933 | (define-key org-edit-formulas-map [(shift left)] 'org-table-edit-backward-field) | 8434 | (org-defkey org-table-fedit-map [(meta shift up)] 'org-table-fedit-line-up) |
| 7934 | (define-key org-edit-formulas-map [(shift right)] 'org-table-edit-next-field) | 8435 | (org-defkey org-table-fedit-map [(meta shift down)] 'org-table-fedit-line-down) |
| 7935 | (define-key org-edit-formulas-map [(meta up)] 'org-table-edit-scroll-down) | 8436 | (org-defkey org-table-fedit-map [(shift up)] 'org-table-fedit-ref-up) |
| 7936 | (define-key org-edit-formulas-map [(meta down)] 'org-table-edit-scroll) | 8437 | (org-defkey org-table-fedit-map [(shift down)] 'org-table-fedit-ref-down) |
| 7937 | (define-key org-edit-formulas-map [(meta tab)] 'lisp-complete-symbol) | 8438 | (org-defkey org-table-fedit-map [(shift left)] 'org-table-fedit-ref-left) |
| 7938 | (define-key org-edit-formulas-map "\M-\C-i" 'lisp-complete-symbol) | 8439 | (org-defkey org-table-fedit-map [(shift right)] 'org-table-fedit-ref-right) |
| 7939 | (define-key org-edit-formulas-map [(tab)] 'org-edit-formula-lisp-indent) | 8440 | (org-defkey org-table-fedit-map [(meta up)] 'org-table-fedit-scroll-down) |
| 7940 | (define-key org-edit-formulas-map "\C-i" 'org-edit-formula-lisp-indent) | 8441 | (org-defkey org-table-fedit-map [(meta down)] 'org-table-fedit-scroll) |
| 8442 | (org-defkey org-table-fedit-map [(meta tab)] 'lisp-complete-symbol) | ||
| 8443 | (org-defkey org-table-fedit-map "\M-\C-i" 'lisp-complete-symbol) | ||
| 8444 | (org-defkey org-table-fedit-map [(tab)] 'org-table-fedit-lisp-indent) | ||
| 8445 | (org-defkey org-table-fedit-map "\C-i" 'org-table-fedit-lisp-indent) | ||
| 8446 | (org-defkey org-table-fedit-map "\C-c\C-r" 'org-table-fedit-toggle-ref-type) | ||
| 8447 | (org-defkey org-table-fedit-map "\C-c}" 'org-table-fedit-toggle-coordinates) | ||
| 8448 | |||
| 8449 | (easy-menu-define org-table-fedit-menu org-table-fedit-map "Org Edit Formulas Menu" | ||
| 8450 | '("Edit-Formulas" | ||
| 8451 | ["Finish and Install" org-table-fedit-finish t] | ||
| 8452 | ["Finish, Install, and Apply" (org-table-fedit-finish t) :keys "C-u C-c C-c"] | ||
| 8453 | ["Abort" org-table-fedit-abort t] | ||
| 8454 | "--" | ||
| 8455 | ["Pretty-Print Lisp Formula" org-table-fedit-lisp-indent t] | ||
| 8456 | ["Complete Lisp Symbol" lisp-complete-symbol t] | ||
| 8457 | "--" | ||
| 8458 | "Shift Reference at Point" | ||
| 8459 | ["Up" org-table-fedit-ref-up t] | ||
| 8460 | ["Down" org-table-fedit-ref-down t] | ||
| 8461 | ["Left" org-table-fedit-ref-left t] | ||
| 8462 | ["Right" org-table-fedit-ref-right t] | ||
| 8463 | "-" | ||
| 8464 | "Change Test Row for Column Formulas" | ||
| 8465 | ["Up" org-table-fedit-line-up t] | ||
| 8466 | ["Down" org-table-fedit-line-down t] | ||
| 8467 | "--" | ||
| 8468 | ["Scroll Table Window" org-table-fedit-scroll t] | ||
| 8469 | ["Scroll Table Window down" org-table-fedit-scroll-down t] | ||
| 8470 | ["Show Table Grid" org-table-fedit-toggle-coordinates | ||
| 8471 | :style toggle :selected (with-current-buffer (marker-buffer org-pos) | ||
| 8472 | org-table-overlay-coordinates)] | ||
| 8473 | "--" | ||
| 8474 | ["Standard Refs (B3 instead of @3$2)" org-table-fedit-toggle-ref-type | ||
| 8475 | :style toggle :selected org-table-buffer-is-an])) | ||
| 7941 | 8476 | ||
| 7942 | (defvar org-pos) | 8477 | (defvar org-pos) |
| 7943 | 8478 | ||
| 7944 | (defun org-table-edit-formulas () | 8479 | (defun org-table-edit-formulas () |
| 7945 | "Edit the formulas of the current table in a separate buffer." | 8480 | "Edit the formulas of the current table in a separate buffer." |
| 7946 | (interactive) | 8481 | (interactive) |
| 8482 | (when (save-excursion (beginning-of-line 1) (looking-at "#\\+TBLFM")) | ||
| 8483 | (beginning-of-line 0)) | ||
| 7947 | (unless (org-at-table-p) (error "Not at a table")) | 8484 | (unless (org-at-table-p) (error "Not at a table")) |
| 7948 | (org-table-get-specials) | 8485 | (org-table-get-specials) |
| 7949 | (let ((eql (org-table-get-stored-formulas)) | 8486 | (let ((key (org-table-current-field-formula 'key 'noerror)) |
| 8487 | (eql (sort (org-table-get-stored-formulas 'noerror) | ||
| 8488 | 'org-table-formula-less-p)) | ||
| 7950 | (pos (move-marker (make-marker) (point))) | 8489 | (pos (move-marker (make-marker) (point))) |
| 8490 | (startline 1) | ||
| 7951 | (wc (current-window-configuration)) | 8491 | (wc (current-window-configuration)) |
| 7952 | entry s) | 8492 | (titles '((column . "# Column Formulas\n") |
| 8493 | (field . "# Field Formulas\n") | ||
| 8494 | (named . "# Named Field Formulas\n"))) | ||
| 8495 | entry s type title) | ||
| 7953 | (switch-to-buffer-other-window "*Edit Formulas*") | 8496 | (switch-to-buffer-other-window "*Edit Formulas*") |
| 7954 | (erase-buffer) | 8497 | (erase-buffer) |
| 7955 | ;; Keep global-font-lock-mode from turning on font-lock-mode | 8498 | ;; Keep global-font-lock-mode from turning on font-lock-mode |
| @@ -7958,38 +8501,226 @@ Parameters get priority." | |||
| 7958 | (org-set-local 'font-lock-global-modes (list 'not major-mode)) | 8501 | (org-set-local 'font-lock-global-modes (list 'not major-mode)) |
| 7959 | (org-set-local 'org-pos pos) | 8502 | (org-set-local 'org-pos pos) |
| 7960 | (org-set-local 'org-window-configuration wc) | 8503 | (org-set-local 'org-window-configuration wc) |
| 7961 | (use-local-map org-edit-formulas-map) | 8504 | (use-local-map org-table-fedit-map) |
| 7962 | (org-add-hook 'post-command-hook 'org-table-edit-formulas-post-command t t) | 8505 | (org-add-hook 'post-command-hook 'org-table-fedit-post-command t t) |
| 7963 | (setq s "# `C-c C-c' to finish, `C-u C-c C-c' to also apply, `C-c C-q' to abort. | 8506 | (easy-menu-add org-table-fedit-menu) |
| 7964 | # `TAB' to pretty-print Lisp expressions, `M-TAB' to complete List symbols | 8507 | (setq startline (org-current-line)) |
| 7965 | # `M-up/down' to scroll table, `S-up/down' to change line for column formulas\n\n") | ||
| 7966 | |||
| 7967 | (put-text-property 0 (length s) 'face 'font-lock-comment-face s) | ||
| 7968 | (insert s) | ||
| 7969 | (while (setq entry (pop eql)) | 8508 | (while (setq entry (pop eql)) |
| 8509 | (setq type (cond | ||
| 8510 | ((equal (string-to-char (car entry)) ?@) 'field) | ||
| 8511 | ((string-match "^[0-9]" (car entry)) 'column) | ||
| 8512 | (t 'named))) | ||
| 8513 | (when (setq title (assq type titles)) | ||
| 8514 | (or (bobp) (insert "\n")) | ||
| 8515 | (insert (org-add-props (cdr title) nil 'face font-lock-comment-face)) | ||
| 8516 | (setq titles (delq title titles))) | ||
| 8517 | (if (equal key (car entry)) (setq startline (org-current-line))) | ||
| 7970 | (setq s (concat (if (equal (string-to-char (car entry)) ?@) "" "$") | 8518 | (setq s (concat (if (equal (string-to-char (car entry)) ?@) "" "$") |
| 7971 | (car entry) " = " (cdr entry) "\n")) | 8519 | (car entry) " = " (cdr entry) "\n")) |
| 7972 | (remove-text-properties 0 (length s) '(face nil) s) | 8520 | (remove-text-properties 0 (length s) '(face nil) s) |
| 7973 | (insert s)) | 8521 | (insert s)) |
| 7974 | (goto-char (point-min)) | 8522 | (if (eq org-table-use-standard-references t) |
| 7975 | (message "Edit formulas and finish with `C-c C-c'."))) | 8523 | (org-table-fedit-toggle-ref-type)) |
| 8524 | (goto-line startline) | ||
| 8525 | (message "Edit formulas and finish with `C-c C-c'. See menu for more commands."))) | ||
| 7976 | 8526 | ||
| 7977 | (defun org-table-edit-formulas-post-command () | 8527 | (defun org-table-fedit-post-command () |
| 7978 | (when (not (memq this-command '(lisp-complete-symbol))) | 8528 | (when (not (memq this-command '(lisp-complete-symbol))) |
| 7979 | (let ((win (selected-window))) | 8529 | (let ((win (selected-window))) |
| 7980 | (save-excursion | 8530 | (save-excursion |
| 7981 | (condition-case nil | 8531 | (condition-case nil |
| 7982 | (org-show-reference) | 8532 | (org-table-show-reference) |
| 7983 | (error nil)) | 8533 | (error nil)) |
| 7984 | (select-window win))))) | 8534 | (select-window win))))) |
| 7985 | 8535 | ||
| 7986 | (defun org-finish-edit-formulas (&optional arg) | 8536 | (defun org-table-formula-to-user (s) |
| 8537 | "Convert a formula from internal to user representation." | ||
| 8538 | (if (eq org-table-use-standard-references t) | ||
| 8539 | (org-table-convert-refs-to-an s) | ||
| 8540 | s)) | ||
| 8541 | |||
| 8542 | (defun org-table-formula-from-user (s) | ||
| 8543 | "Convert a formula from user to internal representation." | ||
| 8544 | (if org-table-use-standard-references | ||
| 8545 | (org-table-convert-refs-to-rc s) | ||
| 8546 | s)) | ||
| 8547 | |||
| 8548 | (defun org-table-convert-refs-to-rc (s) | ||
| 8549 | "Convert spreadsheet references from AB7 to @7$28. | ||
| 8550 | Works for single references, but also for entire formulas and even the | ||
| 8551 | full TBLFM line." | ||
| 8552 | (let ((start 0)) | ||
| 8553 | (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\)" s start) | ||
| 8554 | (cond | ||
| 8555 | ((match-end 3) | ||
| 8556 | ;; format match, just advance | ||
| 8557 | (setq start (match-end 0))) | ||
| 8558 | ((and (> (match-beginning 0) 0) | ||
| 8559 | (equal ?. (aref s (max (1- (match-beginning 0)) 0)))) | ||
| 8560 | ;; 3.e5 or something like this. FIXME: is this ok???? | ||
| 8561 | (setq start (match-end 0))) | ||
| 8562 | (t | ||
| 8563 | (setq start (match-beginning 0) | ||
| 8564 | s (replace-match | ||
| 8565 | (if (equal (match-string 2 s) "&") | ||
| 8566 | (format "$%d" (org-letters-to-number (match-string 1 s))) | ||
| 8567 | (format "@%d$%d" | ||
| 8568 | (string-to-number (match-string 2 s)) | ||
| 8569 | (org-letters-to-number (match-string 1 s)))) | ||
| 8570 | t t s))))) | ||
| 8571 | s)) | ||
| 8572 | |||
| 8573 | (defun org-table-convert-refs-to-an (s) | ||
| 8574 | "Convert spreadsheet references from to @7$28 to AB7. | ||
| 8575 | Works for single references, but also for entire formulas and even the | ||
| 8576 | full TBLFM line." | ||
| 8577 | (while (string-match "@\\([0-9]+\\)$\\([0-9]+\\)" s) | ||
| 8578 | (setq s (replace-match | ||
| 8579 | (format "%s%d" | ||
| 8580 | (org-number-to-letters | ||
| 8581 | (string-to-number (match-string 2 s))) | ||
| 8582 | (string-to-number (match-string 1 s))) | ||
| 8583 | t t s))) | ||
| 8584 | (while (string-match "\\(^\\|[^0-9a-zA-Z]\\)\\$\\([0-9]+\\)" s) | ||
| 8585 | (setq s (replace-match (concat "\\1" | ||
| 8586 | (org-number-to-letters | ||
| 8587 | (string-to-number (match-string 2 s))) "&") | ||
| 8588 | t nil s))) | ||
| 8589 | s) | ||
| 8590 | |||
| 8591 | (defun org-letters-to-number (s) | ||
| 8592 | "Convert a base 26 number represented by letters into an integer. | ||
| 8593 | For example: AB -> 28." | ||
| 8594 | (let ((n 0)) | ||
| 8595 | (setq s (upcase s)) | ||
| 8596 | (while (> (length s) 0) | ||
| 8597 | (setq n (+ (* n 26) (string-to-char s) (- ?A) 1) | ||
| 8598 | s (substring s 1))) | ||
| 8599 | n)) | ||
| 8600 | |||
| 8601 | (defun org-number-to-letters (n) | ||
| 8602 | "Convert an integer into a base 26 number represented by letters. | ||
| 8603 | For example: 28 -> AB." | ||
| 8604 | (let ((s "")) | ||
| 8605 | (while (> n 0) | ||
| 8606 | (setq s (concat (char-to-string (+ (mod (1- n) 26) ?A)) s) | ||
| 8607 | n (/ (1- n) 26))) | ||
| 8608 | s)) | ||
| 8609 | |||
| 8610 | (defun org-table-fedit-convert-buffer (function) | ||
| 8611 | "Convert all references in this buffer, using FUNTION." | ||
| 8612 | (let ((line (org-current-line))) | ||
| 8613 | (goto-char (point-min)) | ||
| 8614 | (while (not (eobp)) | ||
| 8615 | (insert (funcall function (buffer-substring (point) (point-at-eol)))) | ||
| 8616 | (delete-region (point) (point-at-eol)) | ||
| 8617 | (or (eobp) (forward-char 1))) | ||
| 8618 | (goto-line line))) | ||
| 8619 | |||
| 8620 | (defun org-table-fedit-toggle-ref-type () | ||
| 8621 | "Convert all references in the buffer from B3 to @3$2 and back." | ||
| 8622 | (interactive) | ||
| 8623 | (org-set-local 'org-table-buffer-is-an (not org-table-buffer-is-an)) | ||
| 8624 | (org-table-fedit-convert-buffer | ||
| 8625 | (if org-table-buffer-is-an | ||
| 8626 | 'org-table-convert-refs-to-an 'org-table-convert-refs-to-rc)) | ||
| 8627 | (message "Reference type switched to %s" | ||
| 8628 | (if org-table-buffer-is-an "A1 etc" "@row$column"))) | ||
| 8629 | |||
| 8630 | (defun org-table-fedit-ref-up () | ||
| 8631 | "Shift the reference at point one row/hline up." | ||
| 8632 | (interactive) | ||
| 8633 | (org-table-fedit-shift-reference 'up)) | ||
| 8634 | (defun org-table-fedit-ref-down () | ||
| 8635 | "Shift the reference at point one row/hline down." | ||
| 8636 | (interactive) | ||
| 8637 | (org-table-fedit-shift-reference 'down)) | ||
| 8638 | (defun org-table-fedit-ref-left () | ||
| 8639 | "Shift the reference at point one field to the left." | ||
| 8640 | (interactive) | ||
| 8641 | (org-table-fedit-shift-reference 'left)) | ||
| 8642 | (defun org-table-fedit-ref-right () | ||
| 8643 | "Shift the reference at point one field to the right." | ||
| 8644 | (interactive) | ||
| 8645 | (org-table-fedit-shift-reference 'right)) | ||
| 8646 | |||
| 8647 | (defun org-table-fedit-shift-reference (dir) | ||
| 8648 | (cond | ||
| 8649 | ((org-at-regexp-p "\\(\\<[a-zA-Z]\\)&") | ||
| 8650 | (if (memq dir '(left right)) | ||
| 8651 | (org-rematch-and-replace 1 (eq dir 'left)) | ||
| 8652 | (error "Cannot shift reference in this direction"))) | ||
| 8653 | ((org-at-regexp-p "\\(\\<[a-zA-Z]\\{1,2\\}\\)\\([0-9]+\\)") | ||
| 8654 | ;; A B3-like reference | ||
| 8655 | (if (memq dir '(up down)) | ||
| 8656 | (org-rematch-and-replace 2 (eq dir 'up)) | ||
| 8657 | (org-rematch-and-replace 1 (eq dir 'left)))) | ||
| 8658 | ((org-at-regexp-p | ||
| 8659 | "\\(@\\|\\.\\.\\)\\([-+]?\\(I+\\>\\|[0-9]+\\)\\)\\(\\$\\([-+]?[0-9]+\\)\\)?") | ||
| 8660 | ;; An internal reference | ||
| 8661 | (if (memq dir '(up down)) | ||
| 8662 | (org-rematch-and-replace 2 (eq dir 'up) (match-end 3)) | ||
| 8663 | (org-rematch-and-replace 5 (eq dir 'left)))))) | ||
| 8664 | |||
| 8665 | (defun org-rematch-and-replace (n &optional decr hline) | ||
| 8666 | "Re-match the group N, and replace it with the shifted refrence." | ||
| 8667 | (or (match-end n) (error "Cannot shift reference in this direction")) | ||
| 8668 | (goto-char (match-beginning n)) | ||
| 8669 | (and (looking-at (regexp-quote (match-string n))) | ||
| 8670 | (replace-match (org-shift-refpart (match-string 0) decr hline) | ||
| 8671 | t t))) | ||
| 8672 | |||
| 8673 | (defun org-shift-refpart (ref &optional decr hline) | ||
| 8674 | "Shift a refrence part REF. | ||
| 8675 | If DECR is set, decrease the references row/column, else increase. | ||
| 8676 | If HLINE is set, this may be a hline reference, it certainly is not | ||
| 8677 | a translation reference." | ||
| 8678 | (save-match-data | ||
| 8679 | (let* ((sign (string-match "^[-+]" ref)) n) | ||
| 8680 | |||
| 8681 | (if sign (setq sign (substring ref 0 1) ref (substring ref 1))) | ||
| 8682 | (cond | ||
| 8683 | ((and hline (string-match "^I+" ref)) | ||
| 8684 | (setq n (string-to-number (concat sign (number-to-string (length ref))))) | ||
| 8685 | (setq n (+ n (if decr -1 1))) | ||
| 8686 | (if (= n 0) (setq n (+ n (if decr -1 1)))) | ||
| 8687 | (if sign | ||
| 8688 | (setq sign (if (< n 0) "-" "+") n (abs n)) | ||
| 8689 | (setq n (max 1 n))) | ||
| 8690 | (concat sign (make-string n ?I))) | ||
| 8691 | |||
| 8692 | ((string-match "^[0-9]+" ref) | ||
| 8693 | (setq n (string-to-number (concat sign ref))) | ||
| 8694 | (setq n (+ n (if decr -1 1))) | ||
| 8695 | (if sign | ||
| 8696 | (concat (if (< n 0) "-" "+") (number-to-string (abs n))) | ||
| 8697 | (number-to-string (max 1 n)))) | ||
| 8698 | |||
| 8699 | ((string-match "^[a-zA-Z]+" ref) | ||
| 8700 | (org-number-to-letters | ||
| 8701 | (max 1 (+ (org-letters-to-number ref) (if decr -1 1))))) | ||
| 8702 | |||
| 8703 | (t (error "Cannot shift reference")))))) | ||
| 8704 | |||
| 8705 | (defun org-table-fedit-toggle-coordinates () | ||
| 8706 | "Toggle the display of coordinates in the refrenced table." | ||
| 8707 | (interactive) | ||
| 8708 | (let ((pos (marker-position org-pos))) | ||
| 8709 | (with-current-buffer (marker-buffer org-pos) | ||
| 8710 | (save-excursion | ||
| 8711 | (goto-char pos) | ||
| 8712 | (org-table-toggle-coordinate-overlays))))) | ||
| 8713 | |||
| 8714 | (defun org-table-fedit-finish (&optional arg) | ||
| 7987 | "Parse the buffer for formula definitions and install them. | 8715 | "Parse the buffer for formula definitions and install them. |
| 7988 | With prefix ARG, apply the new formulas to the table." | 8716 | With prefix ARG, apply the new formulas to the table." |
| 7989 | (interactive "P") | 8717 | (interactive "P") |
| 7990 | (org-table-remove-rectangle-highlight) | 8718 | (org-table-remove-rectangle-highlight) |
| 8719 | (if org-table-use-standard-references | ||
| 8720 | (progn | ||
| 8721 | (org-table-fedit-convert-buffer 'org-table-convert-refs-to-rc) | ||
| 8722 | (setq org-table-buffer-is-an nil))) | ||
| 7991 | (let ((pos org-pos) eql var form) | 8723 | (let ((pos org-pos) eql var form) |
| 7992 | (setq org-pos nil) | ||
| 7993 | (goto-char (point-min)) | 8724 | (goto-char (point-min)) |
| 7994 | (while (re-search-forward | 8725 | (while (re-search-forward |
| 7995 | "^\\(@[0-9]+\\$[0-9]+\\|\\$\\([a-zA-Z0-9]+\\)\\) *= *\\(.*\\(\n[ \t]+.*$\\)*\\)" | 8726 | "^\\(@[0-9]+\\$[0-9]+\\|\\$\\([a-zA-Z0-9]+\\)\\) *= *\\(.*\\(\n[ \t]+.*$\\)*\\)" |
| @@ -7997,9 +8728,13 @@ With prefix ARG, apply the new formulas to the table." | |||
| 7997 | (setq var (if (match-end 2) (match-string 2) (match-string 1)) | 8728 | (setq var (if (match-end 2) (match-string 2) (match-string 1)) |
| 7998 | form (match-string 3)) | 8729 | form (match-string 3)) |
| 7999 | (setq form (org-trim form)) | 8730 | (setq form (org-trim form)) |
| 8000 | (while (string-match "[ \t]*\n[ \t]*" form) | 8731 | (when (not (equal form "")) |
| 8001 | (setq form (replace-match " " t t form))) | 8732 | (while (string-match "[ \t]*\n[ \t]*" form) |
| 8002 | (push (cons var form) eql)) | 8733 | (setq form (replace-match " " t t form))) |
| 8734 | (when (assoc var eql) | ||
| 8735 | (error "Double formulas for %s" var)) | ||
| 8736 | (push (cons var form) eql))) | ||
| 8737 | (setq org-pos nil) | ||
| 8003 | (set-window-configuration org-window-configuration) | 8738 | (set-window-configuration org-window-configuration) |
| 8004 | (select-window (get-buffer-window (marker-buffer pos))) | 8739 | (select-window (get-buffer-window (marker-buffer pos))) |
| 8005 | (goto-char pos) | 8740 | (goto-char pos) |
| @@ -8012,7 +8747,7 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8012 | (org-table-recalculate 'all) | 8747 | (org-table-recalculate 'all) |
| 8013 | (message "New formulas installed - press C-u C-c C-c to apply.")))) | 8748 | (message "New formulas installed - press C-u C-c C-c to apply.")))) |
| 8014 | 8749 | ||
| 8015 | (defun org-abort-edit-formulas () | 8750 | (defun org-table-fedit-abort () |
| 8016 | "Abort editing formulas, without installing the changes." | 8751 | "Abort editing formulas, without installing the changes." |
| 8017 | (interactive) | 8752 | (interactive) |
| 8018 | (org-table-remove-rectangle-highlight) | 8753 | (org-table-remove-rectangle-highlight) |
| @@ -8023,7 +8758,7 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8023 | (move-marker pos nil) | 8758 | (move-marker pos nil) |
| 8024 | (message "Formula editing aborted without installing changes"))) | 8759 | (message "Formula editing aborted without installing changes"))) |
| 8025 | 8760 | ||
| 8026 | (defun org-edit-formula-lisp-indent () | 8761 | (defun org-table-fedit-lisp-indent () |
| 8027 | "Pretty-print and re-indent Lisp expressions in the Formula Editor." | 8762 | "Pretty-print and re-indent Lisp expressions in the Formula Editor." |
| 8028 | (interactive) | 8763 | (interactive) |
| 8029 | (let ((pos (point)) beg end ind) | 8764 | (let ((pos (point)) beg end ind) |
| @@ -8064,7 +8799,7 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8064 | 8799 | ||
| 8065 | (defvar org-show-positions nil) | 8800 | (defvar org-show-positions nil) |
| 8066 | 8801 | ||
| 8067 | (defun org-show-reference (&optional local) | 8802 | (defun org-table-show-reference (&optional local) |
| 8068 | "Show the location/value of the $ expression at point." | 8803 | "Show the location/value of the $ expression at point." |
| 8069 | (interactive) | 8804 | (interactive) |
| 8070 | (org-table-remove-rectangle-highlight) | 8805 | (org-table-remove-rectangle-highlight) |
| @@ -8077,12 +8812,18 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8077 | var name e what match dest) | 8812 | var name e what match dest) |
| 8078 | (if local (org-table-get-specials)) | 8813 | (if local (org-table-get-specials)) |
| 8079 | (setq what (cond | 8814 | (setq what (cond |
| 8080 | ((org-at-regexp-p org-table-range-regexp2) 'range) | 8815 | ((or (org-at-regexp-p org-table-range-regexp2) |
| 8816 | (org-at-regexp-p org-table-translate-regexp) | ||
| 8817 | (org-at-regexp-p org-table-range-regexp)) | ||
| 8818 | (setq match | ||
| 8819 | (save-match-data | ||
| 8820 | (org-table-convert-refs-to-rc (match-string 0)))) | ||
| 8821 | 'range) | ||
| 8081 | ((org-at-regexp-p "\\$[a-zA-Z][a-zA-Z0-9]*") 'name) | 8822 | ((org-at-regexp-p "\\$[a-zA-Z][a-zA-Z0-9]*") 'name) |
| 8082 | ((org-at-regexp-p "\\$[0-9]+") 'column) | 8823 | ((org-at-regexp-p "\\$[0-9]+") 'column) |
| 8083 | ((not local) nil) | 8824 | ((not local) nil) |
| 8084 | (t (error "No reference at point"))) | 8825 | (t (error "No reference at point"))) |
| 8085 | match (and what (match-string 0))) | 8826 | match (and what (or match (match-string 0)))) |
| 8086 | (when (and match (not (equal (match-beginning 0) (point-at-bol)))) | 8827 | (when (and match (not (equal (match-beginning 0) (point-at-bol)))) |
| 8087 | (org-table-add-rectangle-overlay (match-beginning 0) (match-end 0) | 8828 | (org-table-add-rectangle-overlay (match-beginning 0) (match-end 0) |
| 8088 | 'secondary-selection)) | 8829 | 'secondary-selection)) |
| @@ -8094,9 +8835,13 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8094 | (setq match (org-table-formula-substitute-names match))) | 8835 | (setq match (org-table-formula-substitute-names match))) |
| 8095 | (unless local | 8836 | (unless local |
| 8096 | (save-excursion | 8837 | (save-excursion |
| 8838 | (end-of-line 1) | ||
| 8839 | (re-search-backward "^\\S-" nil t) | ||
| 8097 | (beginning-of-line 1) | 8840 | (beginning-of-line 1) |
| 8098 | (when (looking-at "\\(\\$[0-9a-zA-Z]+\\|@[0-9]+\\$[0-9]+\\)=") | 8841 | (when (looking-at "\\(\\$[0-9a-zA-Z]+\\|@[0-9]+\\$[0-9]+\\|[a-zA-Z]+\\([0-9]+\\|&\\)\\) *=") |
| 8099 | (setq dest (match-string 1)) | 8842 | (setq dest |
| 8843 | (save-match-data | ||
| 8844 | (org-table-convert-refs-to-rc (match-string 1)))) | ||
| 8100 | (org-table-add-rectangle-overlay | 8845 | (org-table-add-rectangle-overlay |
| 8101 | (match-beginning 1) (match-end 1) face2)))) | 8846 | (match-beginning 1) (match-end 1) face2)))) |
| 8102 | (if (and (markerp pos) (marker-buffer pos)) | 8847 | (if (and (markerp pos) (marker-buffer pos)) |
| @@ -8165,18 +8910,20 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8165 | (message "Constant: $%s=%s in `org-table-formula-constants'." | 8910 | (message "Constant: $%s=%s in `org-table-formula-constants'." |
| 8166 | var (cdr e))) | 8911 | var (cdr e))) |
| 8167 | ((setq e (and (fboundp 'constants-get) (constants-get var))) | 8912 | ((setq e (and (fboundp 'constants-get) (constants-get var))) |
| 8168 | (message "Constant: $%s=%s, retrieved from `constants.el'." var e)) | 8913 | (message "Constant: $%s=%s, from `constants.el'%s." |
| 8914 | var e (format " (%s units)" constants-unit-system))) | ||
| 8169 | (t (error "Undefined name $%s" var))))) | 8915 | (t (error "Undefined name $%s" var))))) |
| 8170 | (goto-char pos) | 8916 | (goto-char pos) |
| 8171 | (when org-show-positions | 8917 | (when (and org-show-positions |
| 8918 | (not (memq this-command '(org-table-fedit-scroll | ||
| 8919 | org-table-fedit-scroll-down)))) | ||
| 8172 | (push pos org-show-positions) | 8920 | (push pos org-show-positions) |
| 8921 | (push org-table-current-begin-pos org-show-positions) | ||
| 8173 | (let ((min (apply 'min org-show-positions)) | 8922 | (let ((min (apply 'min org-show-positions)) |
| 8174 | (max (apply 'max org-show-positions))) | 8923 | (max (apply 'max org-show-positions))) |
| 8175 | (when (or (not (pos-visible-in-window-p min)) | 8924 | (goto-char min) (recenter 0) |
| 8176 | (not (pos-visible-in-window-p max))) | 8925 | (goto-char max) |
| 8177 | (goto-char min) | 8926 | (or (pos-visible-in-window-p max) (recenter -1)))) |
| 8178 | (set-window-start (selected-window) (point-at-bol)) | ||
| 8179 | (goto-char pos)))) | ||
| 8180 | (select-window win)))) | 8927 | (select-window win)))) |
| 8181 | 8928 | ||
| 8182 | (defun org-table-force-dataline () | 8929 | (defun org-table-force-dataline () |
| @@ -8193,27 +8940,17 @@ With prefix ARG, apply the new formulas to the table." | |||
| 8193 | ((or p1 p2) (goto-char (or p1 p2))) | 8940 | ((or p1 p2) (goto-char (or p1 p2))) |
| 8194 | (t (error "No table dataline around here")))))) | 8941 | (t (error "No table dataline around here")))))) |
| 8195 | 8942 | ||
| 8196 | (defun org-table-edit-line-up () | 8943 | (defun org-table-fedit-line-up () |
| 8197 | "Move cursor one line up in the window showing the table." | 8944 | "Move cursor one line up in the window showing the table." |
| 8198 | (interactive) | 8945 | (interactive) |
| 8199 | (org-table-edit-move 'previous-line)) | 8946 | (org-table-fedit-move 'previous-line)) |
| 8200 | 8947 | ||
| 8201 | (defun org-table-edit-line-down () | 8948 | (defun org-table-fedit-line-down () |
| 8202 | "Move cursor one line down in the window showing the table." | 8949 | "Move cursor one line down in the window showing the table." |
| 8203 | (interactive) | 8950 | (interactive) |
| 8204 | (org-table-edit-move 'next-line)) | 8951 | (org-table-fedit-move 'next-line)) |
| 8205 | 8952 | ||
| 8206 | (defun org-table-edit-backward-field () | 8953 | (defun org-table-fedit-move (command) |
| 8207 | "Move cursor one field backward in the window showing the table." | ||
| 8208 | (interactive) | ||
| 8209 | (org-table-edit-move 'org-table-previous-field)) | ||
| 8210 | |||
| 8211 | (defun org-table-edit-next-field () | ||
| 8212 | "Move cursor one field forward in the window showing the table." | ||
| 8213 | (interactive) | ||
| 8214 | (org-table-edit-move 'org-table-next-field)) | ||
| 8215 | |||
| 8216 | (defun org-table-edit-move (command) | ||
| 8217 | "Move the cursor in the window shoinw the table. | 8954 | "Move the cursor in the window shoinw the table. |
| 8218 | Use COMMAND to do the motion, repeat if necessary to end up in a data line." | 8955 | Use COMMAND to do the motion, repeat if necessary to end up in a data line." |
| 8219 | (let ((org-table-allow-automatic-line-recalculation nil) | 8956 | (let ((org-table-allow-automatic-line-recalculation nil) |
| @@ -8228,17 +8965,17 @@ Use COMMAND to do the motion, repeat if necessary to end up in a data line." | |||
| 8228 | (move-marker pos (point)) | 8965 | (move-marker pos (point)) |
| 8229 | (select-window win))) | 8966 | (select-window win))) |
| 8230 | 8967 | ||
| 8231 | (defun org-table-edit-scroll (N) | 8968 | (defun org-table-fedit-scroll (N) |
| 8232 | (interactive "p") | 8969 | (interactive "p") |
| 8233 | (let ((other-window-scroll-buffer (marker-buffer org-pos))) | 8970 | (let ((other-window-scroll-buffer (marker-buffer org-pos))) |
| 8234 | (scroll-other-window N))) | 8971 | (scroll-other-window N))) |
| 8235 | 8972 | ||
| 8236 | (defun org-table-edit-scroll-down (N) | 8973 | (defun org-table-fedit-scroll-down (N) |
| 8237 | (interactive "p") | 8974 | (interactive "p") |
| 8238 | (org-table-edit-scroll (- N))) | 8975 | (org-table-fedit-scroll (- N))) |
| 8239 | 8976 | ||
| 8240 | (defvar org-table-rectangle-overlays nil) | 8977 | (defvar org-table-rectangle-overlays nil) |
| 8241 | 8978 | ||
| 8242 | (defun org-table-add-rectangle-overlay (beg end &optional face) | 8979 | (defun org-table-add-rectangle-overlay (beg end &optional face) |
| 8243 | "Add a new overlay." | 8980 | "Add a new overlay." |
| 8244 | (let ((ov (org-make-overlay beg end))) | 8981 | (let ((ov (org-make-overlay beg end))) |
| @@ -8290,7 +9027,7 @@ Use COMMAND to do the motion, repeat if necessary to end up in a data line." | |||
| 8290 | (mapc 'org-delete-overlay org-table-coordinate-overlays) | 9027 | (mapc 'org-delete-overlay org-table-coordinate-overlays) |
| 8291 | (setq org-table-coordinate-overlays nil) | 9028 | (setq org-table-coordinate-overlays nil) |
| 8292 | (save-excursion | 9029 | (save-excursion |
| 8293 | (let ((id 0) (ih 0) hline eol str ic ov beg) | 9030 | (let ((id 0) (ih 0) hline eol s1 s2 str ic ov beg) |
| 8294 | (goto-char (org-table-begin)) | 9031 | (goto-char (org-table-begin)) |
| 8295 | (while (org-at-table-p) | 9032 | (while (org-at-table-p) |
| 8296 | (setq eol (point-at-eol)) | 9033 | (setq eol (point-at-eol)) |
| @@ -8299,15 +9036,18 @@ Use COMMAND to do the motion, repeat if necessary to end up in a data line." | |||
| 8299 | (setq hline (looking-at org-table-hline-regexp)) | 9036 | (setq hline (looking-at org-table-hline-regexp)) |
| 8300 | (setq str (if hline (format "I*%-2d" (setq ih (1+ ih))) | 9037 | (setq str (if hline (format "I*%-2d" (setq ih (1+ ih))) |
| 8301 | (format "%4d" (setq id (1+ id))))) | 9038 | (format "%4d" (setq id (1+ id))))) |
| 8302 | (org-overlay-before-string ov str 'org-formula 'evaporate) | 9039 | (org-overlay-before-string ov str 'org-special-keyword 'evaporate) |
| 8303 | (when hline | 9040 | (when hline |
| 8304 | (setq ic 0) | 9041 | (setq ic 0) |
| 8305 | (while (re-search-forward "[+|]-+" eol t) | 9042 | (while (re-search-forward "[+|]\\(-+\\)" eol t) |
| 8306 | (setq beg (1+ (match-beginning 0)) | 9043 | (setq beg (1+ (match-beginning 0)) |
| 8307 | str (concat "$" (int-to-string (setq ic (1+ ic))))) | 9044 | ic (1+ ic) |
| 9045 | s1 (concat "$" (int-to-string ic)) | ||
| 9046 | s2 (org-number-to-letters ic) | ||
| 9047 | str (if (eq org-table-use-standard-references t) s2 s1)) | ||
| 8308 | (setq ov (org-make-overlay beg (+ beg (length str)))) | 9048 | (setq ov (org-make-overlay beg (+ beg (length str)))) |
| 8309 | (push ov org-table-coordinate-overlays) | 9049 | (push ov org-table-coordinate-overlays) |
| 8310 | (org-overlay-display ov str 'org-formula 'evaporate))) | 9050 | (org-overlay-display ov str 'org-special-keyword 'evaporate))) |
| 8311 | (beginning-of-line 2))))) | 9051 | (beginning-of-line 2))))) |
| 8312 | 9052 | ||
| 8313 | (defun org-table-toggle-coordinate-overlays () | 9053 | (defun org-table-toggle-coordinate-overlays () |
| @@ -8492,7 +9232,7 @@ to execute outside of tables." | |||
| 8492 | '("\C-c}" org-table-toggle-coordinate-overlays) | 9232 | '("\C-c}" org-table-toggle-coordinate-overlays) |
| 8493 | '("\C-c{" org-table-toggle-formula-debugger) | 9233 | '("\C-c{" org-table-toggle-formula-debugger) |
| 8494 | '("\C-m" org-table-next-row) | 9234 | '("\C-m" org-table-next-row) |
| 8495 | (list (org-key 'S-return) 'org-table-copy-down) | 9235 | '([(shift return)] org-table-copy-down) |
| 8496 | '("\C-c\C-q" org-table-wrap-region) | 9236 | '("\C-c\C-q" org-table-wrap-region) |
| 8497 | '("\C-c?" org-table-field-info) | 9237 | '("\C-c?" org-table-field-info) |
| 8498 | '("\C-c " org-table-blank-field) | 9238 | '("\C-c " org-table-blank-field) |
| @@ -8507,34 +9247,34 @@ to execute outside of tables." | |||
| 8507 | elt key fun cmd) | 9247 | elt key fun cmd) |
| 8508 | (while (setq elt (pop bindings)) | 9248 | (while (setq elt (pop bindings)) |
| 8509 | (setq nfunc (1+ nfunc)) | 9249 | (setq nfunc (1+ nfunc)) |
| 8510 | (setq key (car elt) | 9250 | (setq key (org-key (car elt)) |
| 8511 | fun (nth 1 elt) | 9251 | fun (nth 1 elt) |
| 8512 | cmd (orgtbl-make-binding fun nfunc key)) | 9252 | cmd (orgtbl-make-binding fun nfunc key)) |
| 8513 | (define-key orgtbl-mode-map key cmd)) | 9253 | (org-defkey orgtbl-mode-map key cmd)) |
| 8514 | 9254 | ||
| 8515 | ;; Special treatment needed for TAB and RET | 9255 | ;; Special treatment needed for TAB and RET |
| 8516 | (define-key orgtbl-mode-map [(return)] | 9256 | (org-defkey orgtbl-mode-map [(return)] |
| 8517 | (orgtbl-make-binding 'orgtbl-ret 100 [(return)] "\C-m")) | 9257 | (orgtbl-make-binding 'orgtbl-ret 100 [(return)] "\C-m")) |
| 8518 | (define-key orgtbl-mode-map "\C-m" | 9258 | (org-defkey orgtbl-mode-map "\C-m" |
| 8519 | (orgtbl-make-binding 'orgtbl-ret 101 "\C-m" [(return)])) | 9259 | (orgtbl-make-binding 'orgtbl-ret 101 "\C-m" [(return)])) |
| 8520 | 9260 | ||
| 8521 | (define-key orgtbl-mode-map [(tab)] | 9261 | (org-defkey orgtbl-mode-map [(tab)] |
| 8522 | (orgtbl-make-binding 'orgtbl-tab 102 [(tab)] "\C-i")) | 9262 | (orgtbl-make-binding 'orgtbl-tab 102 [(tab)] "\C-i")) |
| 8523 | (define-key orgtbl-mode-map "\C-i" | 9263 | (org-defkey orgtbl-mode-map "\C-i" |
| 8524 | (orgtbl-make-binding 'orgtbl-tab 103 "\C-i" [(tab)])) | 9264 | (orgtbl-make-binding 'orgtbl-tab 103 "\C-i" [(tab)])) |
| 8525 | 9265 | ||
| 8526 | (define-key orgtbl-mode-map [(shift tab)] | 9266 | (org-defkey orgtbl-mode-map [(shift tab)] |
| 8527 | (orgtbl-make-binding 'org-table-previous-field 104 | 9267 | (orgtbl-make-binding 'org-table-previous-field 104 |
| 8528 | [(shift tab)] [(tab)] "\C-i")) | 9268 | [(shift tab)] [(tab)] "\C-i")) |
| 8529 | 9269 | ||
| 8530 | (define-key orgtbl-mode-map "\M-\C-m" | 9270 | (org-defkey orgtbl-mode-map "\M-\C-m" |
| 8531 | (orgtbl-make-binding 'org-table-wrap-region 105 | 9271 | (orgtbl-make-binding 'org-table-wrap-region 105 |
| 8532 | "\M-\C-m" [(meta return)])) | 9272 | "\M-\C-m" [(meta return)])) |
| 8533 | (define-key orgtbl-mode-map [(meta return)] | 9273 | (org-defkey orgtbl-mode-map [(meta return)] |
| 8534 | (orgtbl-make-binding 'org-table-wrap-region 106 | 9274 | (orgtbl-make-binding 'org-table-wrap-region 106 |
| 8535 | [(meta return)] "\M-\C-m")) | 9275 | [(meta return)] "\M-\C-m")) |
| 8536 | 9276 | ||
| 8537 | (define-key orgtbl-mode-map "\C-c\C-c" 'orgtbl-ctrl-c-ctrl-c) | 9277 | (org-defkey orgtbl-mode-map "\C-c\C-c" 'orgtbl-ctrl-c-ctrl-c) |
| 8538 | (when orgtbl-optimized | 9278 | (when orgtbl-optimized |
| 8539 | ;; If the user wants maximum table support, we need to hijack | 9279 | ;; If the user wants maximum table support, we need to hijack |
| 8540 | ;; some standard editing functions | 9280 | ;; some standard editing functions |
| @@ -8542,7 +9282,7 @@ to execute outside of tables." | |||
| 8542 | 'self-insert-command 'orgtbl-self-insert-command | 9282 | 'self-insert-command 'orgtbl-self-insert-command |
| 8543 | 'delete-char 'org-delete-char | 9283 | 'delete-char 'org-delete-char |
| 8544 | 'delete-backward-char 'org-delete-backward-char) | 9284 | 'delete-backward-char 'org-delete-backward-char) |
| 8545 | (define-key orgtbl-mode-map "|" 'org-force-self-insert)) | 9285 | (org-defkey orgtbl-mode-map "|" 'org-force-self-insert)) |
| 8546 | (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu" | 9286 | (easy-menu-define orgtbl-mode-menu orgtbl-mode-map "OrgTbl menu" |
| 8547 | '("OrgTbl" | 9287 | '("OrgTbl" |
| 8548 | ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"] | 9288 | ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p) :keys "C-c C-c"] |
| @@ -8678,7 +9418,31 @@ overwritten, and the table is not marked as requiring realignment." | |||
| 8678 | (defvar orgtbl-exp-regexp "^\\([-+]?[0-9][0-9.]*\\)[eE]\\([-+]?[0-9]+\\)$" | 9418 | (defvar orgtbl-exp-regexp "^\\([-+]?[0-9][0-9.]*\\)[eE]\\([-+]?[0-9]+\\)$" |
| 8679 | "Regula expression matching exponentials as produced by calc.") | 9419 | "Regula expression matching exponentials as produced by calc.") |
| 8680 | 9420 | ||
| 8681 | (defvar org-table-clean-did-remove-column-1 nil) | 9421 | (defvar org-table-clean-did-remove-column nil) |
| 9422 | |||
| 9423 | (defun orgtbl-export (table target) | ||
| 9424 | (let ((func (intern (concat "orgtbl-to-" (symbol-name target)))) | ||
| 9425 | (lines (org-split-string table "[ \t]*\n[ \t]*")) | ||
| 9426 | org-table-last-alignment org-table-last-column-widths | ||
| 9427 | maxcol column) | ||
| 9428 | (if (not (fboundp func)) | ||
| 9429 | (error "Cannot export orgtbl table to %s" target)) | ||
| 9430 | (setq lines (org-table-clean-before-export lines)) | ||
| 9431 | (setq table | ||
| 9432 | (mapcar | ||
| 9433 | (lambda (x) | ||
| 9434 | (if (string-match org-table-hline-regexp x) | ||
| 9435 | 'hline | ||
| 9436 | (org-split-string (org-trim x) "\\s-*|\\s-*"))) | ||
| 9437 | lines)) | ||
| 9438 | (setq maxcol (apply 'max (mapcar (lambda (x) (if (listp x) (length x) 0)) | ||
| 9439 | table))) | ||
| 9440 | (loop for i from (1- maxcol) downto 0 do | ||
| 9441 | (setq column (mapcar (lambda (x) (if (listp x) (nth i x) nil)) table)) | ||
| 9442 | (setq column (delq nil column)) | ||
| 9443 | (push (apply 'max (mapcar 'string-width column)) org-table-last-column-widths) | ||
| 9444 | (push (> (/ (apply '+ (mapcar (lambda (x) (if (string-match org-table-number-regexp x) 1 0)) column)) maxcol) org-table-number-fraction) org-table-last-alignment)) | ||
| 9445 | (funcall func table nil))) | ||
| 8682 | 9446 | ||
| 8683 | (defun orgtbl-send-table (&optional maybe) | 9447 | (defun orgtbl-send-table (&optional maybe) |
| 8684 | "Send a tranformed version of this table to the receiver position. | 9448 | "Send a tranformed version of this table to the receiver position. |
| @@ -8706,7 +9470,7 @@ this table." | |||
| 8706 | (org-table-begin) (org-table-end))) | 9470 | (org-table-begin) (org-table-end))) |
| 8707 | (lines (nthcdr (or skip 0) (org-split-string txt "[ \t]*\n[ \t]*"))) | 9471 | (lines (nthcdr (or skip 0) (org-split-string txt "[ \t]*\n[ \t]*"))) |
| 8708 | (lines (org-table-clean-before-export lines)) | 9472 | (lines (org-table-clean-before-export lines)) |
| 8709 | (i0 (if org-table-clean-did-remove-column-1 2 1)) | 9473 | (i0 (if org-table-clean-did-remove-column 2 1)) |
| 8710 | (table (mapcar | 9474 | (table (mapcar |
| 8711 | (lambda (x) | 9475 | (lambda (x) |
| 8712 | (if (string-match org-table-hline-regexp x) | 9476 | (if (string-match org-table-hline-regexp x) |
| @@ -8722,7 +9486,7 @@ this table." | |||
| 8722 | (org-table-last-column-widths | 9486 | (org-table-last-column-widths |
| 8723 | (org-remove-by-index (funcall fun org-table-last-column-widths) | 9487 | (org-remove-by-index (funcall fun org-table-last-column-widths) |
| 8724 | skipcols i0))) | 9488 | skipcols i0))) |
| 8725 | 9489 | ||
| 8726 | (unless (fboundp transform) | 9490 | (unless (fboundp transform) |
| 8727 | (error "No such transformation function %s" transform)) | 9491 | (error "No such transformation function %s" transform)) |
| 8728 | (setq txt (funcall transform table params)) | 9492 | (setq txt (funcall transform table params)) |
| @@ -8754,7 +9518,7 @@ First element has index 0, or I0 if given." | |||
| 8754 | (setq i0 (1+ i0)) | 9518 | (setq i0 (1+ i0)) |
| 8755 | (if (memq i0 indices) :rm x)) | 9519 | (if (memq i0 indices) :rm x)) |
| 8756 | list)))) | 9520 | list)))) |
| 8757 | 9521 | ||
| 8758 | (defun orgtbl-toggle-comment () | 9522 | (defun orgtbl-toggle-comment () |
| 8759 | "Comment or uncomment the orgtbl at point." | 9523 | "Comment or uncomment the orgtbl at point." |
| 8760 | (interactive) | 9524 | (interactive) |
| @@ -8850,7 +9614,7 @@ directly by `orgtbl-send-table'. See manual." | |||
| 8850 | (splicep (plist-get p :splice)) | 9614 | (splicep (plist-get p :splice)) |
| 8851 | (hline (plist-get p :hline)) | 9615 | (hline (plist-get p :hline)) |
| 8852 | rtn line i fm efm lfmt h) | 9616 | rtn line i fm efm lfmt h) |
| 8853 | 9617 | ||
| 8854 | ;; Do we have a header? | 9618 | ;; Do we have a header? |
| 8855 | (if (and (not splicep) (listp (car table)) (memq 'hline table)) | 9619 | (if (and (not splicep) (listp (car table)) (memq 'hline table)) |
| 8856 | (setq h t)) | 9620 | (setq h t)) |
| @@ -8858,7 +9622,7 @@ directly by `orgtbl-send-table'. See manual." | |||
| 8858 | ;; Put header | 9622 | ;; Put header |
| 8859 | (unless splicep | 9623 | (unless splicep |
| 8860 | (push (or (plist-get p :tstart) "ERROR: no :tstart") rtn)) | 9624 | (push (or (plist-get p :tstart) "ERROR: no :tstart") rtn)) |
| 8861 | 9625 | ||
| 8862 | ;; Now loop over all lines | 9626 | ;; Now loop over all lines |
| 8863 | (while (setq line (pop table)) | 9627 | (while (setq line (pop table)) |
| 8864 | (if (eq line 'hline) | 9628 | (if (eq line 'hline) |
| @@ -8886,10 +9650,10 @@ directly by `orgtbl-send-table'. See manual." | |||
| 8886 | (mapconcat 'identity line (org-get-param p h i :sep :hsep)) | 9650 | (mapconcat 'identity line (org-get-param p h i :sep :hsep)) |
| 8887 | (org-get-param p h i :lend :hlend)) | 9651 | (org-get-param p h i :lend :hlend)) |
| 8888 | rtn)))) | 9652 | rtn)))) |
| 8889 | 9653 | ||
| 8890 | (unless splicep | 9654 | (unless splicep |
| 8891 | (push (or (plist-get p :tend) "ERROR: no :tend") rtn)) | 9655 | (push (or (plist-get p :tend) "ERROR: no :tend") rtn)) |
| 8892 | 9656 | ||
| 8893 | (mapconcat 'identity (nreverse rtn) "\n"))) | 9657 | (mapconcat 'identity (nreverse rtn) "\n"))) |
| 8894 | 9658 | ||
| 8895 | (defun orgtbl-to-latex (table params) | 9659 | (defun orgtbl-to-latex (table params) |
| @@ -9041,7 +9805,7 @@ For file links, arg negates `org-context-in-file-links'." | |||
| 9041 | (setq cpltxt (concat "bbdb:" (or name company)) | 9805 | (setq cpltxt (concat "bbdb:" (or name company)) |
| 9042 | link (org-make-link cpltxt)) | 9806 | link (org-make-link cpltxt)) |
| 9043 | (org-store-link-props :type "bbdb" :name name :company company))) | 9807 | (org-store-link-props :type "bbdb" :name name :company company))) |
| 9044 | 9808 | ||
| 9045 | ((eq major-mode 'Info-mode) | 9809 | ((eq major-mode 'Info-mode) |
| 9046 | (setq link (org-make-link "info:" | 9810 | (setq link (org-make-link "info:" |
| 9047 | (file-name-nondirectory Info-current-file) | 9811 | (file-name-nondirectory Info-current-file) |
| @@ -9219,7 +9983,7 @@ For file links, arg negates `org-context-in-file-links'." | |||
| 9219 | (if (string-match "::\\'" cpltxt) | 9983 | (if (string-match "::\\'" cpltxt) |
| 9220 | (setq cpltxt (substring cpltxt 0 -2))) | 9984 | (setq cpltxt (substring cpltxt 0 -2))) |
| 9221 | (setq link (org-make-link cpltxt))) | 9985 | (setq link (org-make-link cpltxt))) |
| 9222 | 9986 | ||
| 9223 | (buffer-file-name | 9987 | (buffer-file-name |
| 9224 | ;; Just link to this file here. | 9988 | ;; Just link to this file here. |
| 9225 | (setq cpltxt (concat "file:" | 9989 | (setq cpltxt (concat "file:" |
| @@ -9430,7 +10194,8 @@ is in the current directory or below. | |||
| 9430 | With three \\[universal-argument] prefixes, negate the meaning of | 10194 | With three \\[universal-argument] prefixes, negate the meaning of |
| 9431 | `org-keep-stored-link-after-insertion'." | 10195 | `org-keep-stored-link-after-insertion'." |
| 9432 | (interactive "P") | 10196 | (interactive "P") |
| 9433 | (let ((region (if (org-region-active-p) | 10197 | (let ((wcf (current-window-configuration)) |
| 10198 | (region (if (org-region-active-p) | ||
| 9434 | (prog1 (buffer-substring (region-beginning) (region-end)) | 10199 | (prog1 (buffer-substring (region-beginning) (region-end)) |
| 9435 | (delete-region (region-beginning) (region-end))))) | 10200 | (delete-region (region-beginning) (region-end))))) |
| 9436 | tmphist ; byte-compile incorrectly complains about this | 10201 | tmphist ; byte-compile incorrectly complains about this |
| @@ -9469,13 +10234,31 @@ With three \\[universal-argument] prefixes, negate the meaning of | |||
| 9469 | (t (setq link (org-make-link "file:" file)))))) | 10234 | (t (setq link (org-make-link "file:" file)))))) |
| 9470 | (t | 10235 | (t |
| 9471 | ;; Read link, with completion for stored links. | 10236 | ;; Read link, with completion for stored links. |
| 9472 | ;; Fake a link history | 10237 | (with-output-to-temp-buffer "*Org Links*" |
| 10238 | (princ "Insert a link. Use TAB to complete valid link prefixes.\n") | ||
| 10239 | (when org-stored-links | ||
| 10240 | (princ "\nStored links ar available with <up>/<down> (most recent with RET):\n\n") | ||
| 10241 | (princ (mapconcat 'car (reverse org-stored-links) "\n")))) | ||
| 10242 | (let ((cw (selected-window))) | ||
| 10243 | (select-window (get-buffer-window "*Org Links*")) | ||
| 10244 | (shrink-window-if-larger-than-buffer) | ||
| 10245 | (setq truncate-lines t) | ||
| 10246 | (select-window cw)) | ||
| 10247 | ;; Fake a link history, containing the stored links. | ||
| 9473 | (setq tmphist (append (mapcar 'car org-stored-links) | 10248 | (setq tmphist (append (mapcar 'car org-stored-links) |
| 9474 | org-insert-link-history)) | 10249 | org-insert-link-history)) |
| 9475 | (setq link (org-completing-read | 10250 | (unwind-protect |
| 9476 | "Link: " org-stored-links nil nil nil | 10251 | (setq link (org-completing-read |
| 9477 | 'tmphist | 10252 | "Link: " |
| 9478 | (or (car (car org-stored-links))))) | 10253 | (append |
| 10254 | (mapcar (lambda (x) (concat (car x) ":")) | ||
| 10255 | (append org-link-abbrev-alist-local org-link-abbrev-alist)) | ||
| 10256 | (mapcar (lambda (x) (concat x ":")) org-link-types)) | ||
| 10257 | nil nil nil | ||
| 10258 | 'tmphist | ||
| 10259 | (or (car (car org-stored-links))))) | ||
| 10260 | (set-window-configuration wcf) | ||
| 10261 | (kill-buffer "*Org Links*")) | ||
| 9479 | (setq entry (assoc link org-stored-links)) | 10262 | (setq entry (assoc link org-stored-links)) |
| 9480 | (or entry (push link org-insert-link-history)) | 10263 | (or entry (push link org-insert-link-history)) |
| 9481 | (if (funcall (if (equal complete-file '(64)) 'not 'identity) | 10264 | (if (funcall (if (equal complete-file '(64)) 'not 'identity) |
| @@ -9531,7 +10314,7 @@ With three \\[universal-argument] prefixes, negate the meaning of | |||
| 9531 | (defun org-completing-read (&rest args) | 10314 | (defun org-completing-read (&rest args) |
| 9532 | (let ((minibuffer-local-completion-map | 10315 | (let ((minibuffer-local-completion-map |
| 9533 | (copy-keymap minibuffer-local-completion-map))) | 10316 | (copy-keymap minibuffer-local-completion-map))) |
| 9534 | (define-key minibuffer-local-completion-map " " 'self-insert-command) | 10317 | (org-defkey minibuffer-local-completion-map " " 'self-insert-command) |
| 9535 | (apply 'completing-read args))) | 10318 | (apply 'completing-read args))) |
| 9536 | 10319 | ||
| 9537 | ;;; Opening/following a link | 10320 | ;;; Opening/following a link |
| @@ -9637,7 +10420,7 @@ optional argument IN-EMACS is non-nil, Emacs will visit the file." | |||
| 9637 | (setq type (match-string 1) path (match-string 2)) | 10420 | (setq type (match-string 1) path (match-string 2)) |
| 9638 | (throw 'match t))) | 10421 | (throw 'match t))) |
| 9639 | (save-excursion | 10422 | (save-excursion |
| 9640 | (when (org-in-regexp "\\(:[A-Za-z_@0-9:]+\\):[ \t\r\n]") | 10423 | (when (org-in-regexp "\\(:[A-Za-z_@0-9:]+\\):[ \t]*$") |
| 9641 | (setq type "tags" | 10424 | (setq type "tags" |
| 9642 | path (match-string 1)) | 10425 | path (match-string 1)) |
| 9643 | (while (string-match ":" path) | 10426 | (while (string-match ":" path) |
| @@ -9830,6 +10613,10 @@ If the current buffer is in `dired-mode', grep will be used to search | |||
| 9830 | in all files. If AVOID-POS is given, ignore matches near that position." | 10613 | in all files. If AVOID-POS is given, ignore matches near that position." |
| 9831 | (let ((case-fold-search t) | 10614 | (let ((case-fold-search t) |
| 9832 | (s0 (mapconcat 'identity (org-split-string s "[ \t\r\n]+") " ")) | 10615 | (s0 (mapconcat 'identity (org-split-string s "[ \t\r\n]+") " ")) |
| 10616 | (markers (concat "\\(?:" (mapconcat (lambda (x) (regexp-quote (car x))) | ||
| 10617 | (append '((" ") ("\t") ("\n")) | ||
| 10618 | org-emphasis-alist) | ||
| 10619 | "\\|") "\\)")) | ||
| 9833 | (pos (point)) | 10620 | (pos (point)) |
| 9834 | (pre "") (post "") | 10621 | (pre "") (post "") |
| 9835 | words re0 re1 re2 re3 re4 re5 re2a reall) | 10622 | words re0 re1 re2 re3 re4 re5 re2a reall) |
| @@ -9866,7 +10653,8 @@ in all files. If AVOID-POS is given, ignore matches near that position." | |||
| 9866 | ;; Make a series of regular expressions to find a match | 10653 | ;; Make a series of regular expressions to find a match |
| 9867 | (setq words (org-split-string s "[ \n\r\t]+") | 10654 | (setq words (org-split-string s "[ \n\r\t]+") |
| 9868 | re0 (concat "\\(<<" (regexp-quote s0) ">>\\)") | 10655 | re0 (concat "\\(<<" (regexp-quote s0) ">>\\)") |
| 9869 | re2 (concat "[ \t\r\n]\\(" (mapconcat 'downcase words "[ \t]+") "\\)[ \t\r\n]") | 10656 | re2 (concat markers "\\(" (mapconcat 'downcase words "[ \t]+") |
| 10657 | "\\)" markers) | ||
| 9870 | re2a (concat "[ \t\r\n]\\(" (mapconcat 'downcase words "[ \t\r\n]+") "\\)[ \t\r\n]") | 10658 | re2a (concat "[ \t\r\n]\\(" (mapconcat 'downcase words "[ \t\r\n]+") "\\)[ \t\r\n]") |
| 9871 | re4 (concat "[^a-zA-Z_]\\(" (mapconcat 'downcase words "[^a-zA-Z_\r\n]+") "\\)[^a-zA-Z_]") | 10659 | re4 (concat "[^a-zA-Z_]\\(" (mapconcat 'downcase words "[^a-zA-Z_\r\n]+") "\\)[^a-zA-Z_]") |
| 9872 | re1 (concat pre re2 post) | 10660 | re1 (concat pre re2 post) |
| @@ -9908,16 +10696,18 @@ enclose the position of `org-open-link-marker'." | |||
| 9908 | (let ((m org-open-link-marker)) | 10696 | (let ((m org-open-link-marker)) |
| 9909 | (catch 'exit | 10697 | (catch 'exit |
| 9910 | (while (apply 're-search-forward args) | 10698 | (while (apply 're-search-forward args) |
| 9911 | (goto-char (match-end group)) | 10699 | (unless (get-text-property (match-end group) 'intangible) ; Emacs 21 |
| 9912 | (if (and (or (not (eq (marker-buffer m) (current-buffer))) | 10700 | (goto-char (match-end group)) |
| 9913 | (> (match-beginning 0) (marker-position m)) | 10701 | (if (and (or (not (eq (marker-buffer m) (current-buffer))) |
| 9914 | (< (match-end 0) (marker-position m))) | 10702 | (> (match-beginning 0) (marker-position m)) |
| 9915 | (save-match-data | 10703 | (< (match-end 0) (marker-position m))) |
| 9916 | (or (not (org-in-regexp org-bracket-link-analytic-regexp 1)) | 10704 | (save-match-data |
| 9917 | (not (match-end 4)) ; no description | 10705 | (or (not (org-in-regexp |
| 9918 | (and (<= (match-beginning 4) (point)) | 10706 | org-bracket-link-analytic-regexp 1)) |
| 9919 | (>= (match-end 4) (point)))))) | 10707 | (not (match-end 4)) ; no description |
| 9920 | (throw 'exit (point))))))) | 10708 | (and (<= (match-beginning 4) (point)) |
| 10709 | (>= (match-end 4) (point)))))) | ||
| 10710 | (throw 'exit (point)))))))) | ||
| 9921 | 10711 | ||
| 9922 | (defun org-get-buffer-for-internal-link (buffer) | 10712 | (defun org-get-buffer-for-internal-link (buffer) |
| 9923 | "Return a buffer to be used for displaying the link target of internal links." | 10713 | "Return a buffer to be used for displaying the link target of internal links." |
| @@ -10065,7 +10855,7 @@ onto the ring." | |||
| 10065 | (funcall (cdr (assq 'gnus org-link-frame-setup))) | 10855 | (funcall (cdr (assq 'gnus org-link-frame-setup))) |
| 10066 | (if gnus-other-frame-object (select-frame gnus-other-frame-object)) | 10856 | (if gnus-other-frame-object (select-frame gnus-other-frame-object)) |
| 10067 | (cond ((and group article) | 10857 | (cond ((and group article) |
| 10068 | (gnus-group-read-group 0 nil group) | 10858 | (gnus-group-read-group 1 nil group) |
| 10069 | (gnus-summary-goto-article (string-to-number article) nil t)) | 10859 | (gnus-summary-goto-article (string-to-number article) nil t)) |
| 10070 | (group (gnus-group-jump-to-group group)))) | 10860 | (group (gnus-group-jump-to-group group)))) |
| 10071 | 10861 | ||
| @@ -10346,7 +11136,7 @@ If the file does not exist, an error is thrown." | |||
| 10346 | (if (stringp command) | 11136 | (if (stringp command) |
| 10347 | (setq cmd command) | 11137 | (setq cmd command) |
| 10348 | (setq cmd 'emacs)))) | 11138 | (setq cmd 'emacs)))) |
| 10349 | (if (and (not (eq cmd 'emacs)) ; Emacs has not problems with non-ex files | 11139 | (if (and (not (eq cmd 'emacs)) ; Emacs has no problems with non-ex files |
| 10350 | (not (file-exists-p file)) | 11140 | (not (file-exists-p file)) |
| 10351 | (not org-open-non-existing-files)) | 11141 | (not org-open-non-existing-files)) |
| 10352 | (error "No such file: %s" file)) | 11142 | (error "No such file: %s" file)) |
| @@ -10380,10 +11170,6 @@ If the file does not exist, an error is thrown." | |||
| 10380 | org-file-apps-defaults-windowsnt) | 11170 | org-file-apps-defaults-windowsnt) |
| 10381 | (t org-file-apps-defaults-gnu))) | 11171 | (t org-file-apps-defaults-gnu))) |
| 10382 | 11172 | ||
| 10383 | (defun org-expand-file-name (path) | ||
| 10384 | "Replace special path abbreviations and expand the file name." | ||
| 10385 | (expand-file-name path)) | ||
| 10386 | |||
| 10387 | (defvar ange-ftp-name-format) ; to silence the XEmacs compiler. | 11173 | (defvar ange-ftp-name-format) ; to silence the XEmacs compiler. |
| 10388 | (defun org-file-remote-p (file) | 11174 | (defun org-file-remote-p (file) |
| 10389 | "Test whether FILE specifies a location on a remote system. | 11175 | "Test whether FILE specifies a location on a remote system. |
| @@ -10569,7 +11355,7 @@ See also the variable `org-reverse-note-order'." | |||
| 10569 | (replace-match "")) | 11355 | (replace-match "")) |
| 10570 | (catch 'quit | 11356 | (catch 'quit |
| 10571 | (let* ((txt (buffer-substring (point-min) (point-max))) | 11357 | (let* ((txt (buffer-substring (point-min) (point-max))) |
| 10572 | (fastp current-prefix-arg) | 11358 | (fastp (equal current-prefix-arg '(4))) |
| 10573 | (file (if fastp org-default-notes-file (org-get-org-file))) | 11359 | (file (if fastp org-default-notes-file (org-get-org-file))) |
| 10574 | (heading org-remember-default-headline) | 11360 | (heading org-remember-default-headline) |
| 10575 | (visiting (org-find-base-buffer-visiting file)) | 11361 | (visiting (org-find-base-buffer-visiting file)) |
| @@ -10577,6 +11363,7 @@ See also the variable `org-reverse-note-order'." | |||
| 10577 | (org-startup-align-all-tables nil) | 11363 | (org-startup-align-all-tables nil) |
| 10578 | (org-goto-start-pos 1) | 11364 | (org-goto-start-pos 1) |
| 10579 | spos level indent reversed) | 11365 | spos level indent reversed) |
| 11366 | (setq current-prefix-arg nil) | ||
| 10580 | ;; Modify text so that it becomes a nice subtree which can be inserted | 11367 | ;; Modify text so that it becomes a nice subtree which can be inserted |
| 10581 | ;; into an org tree. | 11368 | ;; into an org tree. |
| 10582 | (let* ((lines (split-string txt "\n")) | 11369 | (let* ((lines (split-string txt "\n")) |
| @@ -10597,13 +11384,13 @@ See also the variable `org-reverse-note-order'." | |||
| 10597 | ;; Find the file | 11384 | ;; Find the file |
| 10598 | (if (not visiting) (find-file-noselect file)) | 11385 | (if (not visiting) (find-file-noselect file)) |
| 10599 | (with-current-buffer (or visiting (get-file-buffer file)) | 11386 | (with-current-buffer (or visiting (get-file-buffer file)) |
| 10600 | (save-excursion (and (goto-char (point-min)) | ||
| 10601 | (not (re-search-forward "^\\* " nil t)) | ||
| 10602 | (insert "\n* Notes\n"))) | ||
| 10603 | (setq reversed (org-notes-order-reversed-p)) | ||
| 10604 | (save-excursion | 11387 | (save-excursion |
| 10605 | (save-restriction | 11388 | (save-restriction |
| 10606 | (widen) | 11389 | (widen) |
| 11390 | (and (goto-char (point-min)) | ||
| 11391 | (not (re-search-forward "^\\* " nil t)) | ||
| 11392 | (insert "\n* Notes\n")) | ||
| 11393 | (setq reversed (org-notes-order-reversed-p)) | ||
| 10607 | 11394 | ||
| 10608 | ;; Find the default location | 11395 | ;; Find the default location |
| 10609 | (when (and heading (stringp heading) (string-match "\\S-" heading)) | 11396 | (when (and heading (stringp heading) (string-match "\\S-" heading)) |
| @@ -10619,7 +11406,7 @@ See also the variable `org-reverse-note-order'." | |||
| 10619 | org-goto-start-pos | 11406 | org-goto-start-pos |
| 10620 | (org-get-location (current-buffer) org-remember-help))) | 11407 | (org-get-location (current-buffer) org-remember-help))) |
| 10621 | (if (not spos) (throw 'quit nil)) ; return nil to show we did | 11408 | (if (not spos) (throw 'quit nil)) ; return nil to show we did |
| 10622 | ; not handle this note | 11409 | ; not handle this note |
| 10623 | (goto-char spos) | 11410 | (goto-char spos) |
| 10624 | (cond ((and (bobp) (not reversed)) | 11411 | (cond ((and (bobp) (not reversed)) |
| 10625 | ;; Put it at the end, one level below level 1 | 11412 | ;; Put it at the end, one level below level 1 |
| @@ -10636,12 +11423,12 @@ See also the variable `org-reverse-note-order'." | |||
| 10636 | (re-search-forward "^\\*" nil t) | 11423 | (re-search-forward "^\\*" nil t) |
| 10637 | (beginning-of-line 1) | 11424 | (beginning-of-line 1) |
| 10638 | (org-paste-subtree 1 txt))) | 11425 | (org-paste-subtree 1 txt))) |
| 10639 | ((and (org-on-heading-p nil) (not current-prefix-arg)) | 11426 | ((and (org-on-heading-p t) (not current-prefix-arg)) |
| 10640 | ;; Put it below this entry, at the beg/end of the subtree | 11427 | ;; Put it below this entry, at the beg/end of the subtree |
| 10641 | (org-back-to-heading t) | 11428 | (org-back-to-heading t) |
| 10642 | (setq level (funcall outline-level)) | 11429 | (setq level (funcall outline-level)) |
| 10643 | (if reversed | 11430 | (if reversed |
| 10644 | (outline-end-of-heading) | 11431 | (outline-next-heading) |
| 10645 | (org-end-of-subtree t)) | 11432 | (org-end-of-subtree t)) |
| 10646 | (if (not (bolp)) (newline)) | 11433 | (if (not (bolp)) (newline)) |
| 10647 | (beginning-of-line 1) | 11434 | (beginning-of-line 1) |
| @@ -10649,7 +11436,9 @@ See also the variable `org-reverse-note-order'." | |||
| 10649 | (t | 11436 | (t |
| 10650 | ;; Put it right there, with automatic level determined by | 11437 | ;; Put it right there, with automatic level determined by |
| 10651 | ;; org-paste-subtree or from prefix arg | 11438 | ;; org-paste-subtree or from prefix arg |
| 10652 | (org-paste-subtree current-prefix-arg txt))) | 11439 | (org-paste-subtree |
| 11440 | (if (numberp current-prefix-arg) current-prefix-arg) | ||
| 11441 | txt))) | ||
| 10653 | (when remember-save-after-remembering | 11442 | (when remember-save-after-remembering |
| 10654 | (save-buffer) | 11443 | (save-buffer) |
| 10655 | (if (not visiting) (kill-buffer (current-buffer))))))))) | 11444 | (if (not visiting) (kill-buffer (current-buffer))))))))) |
| @@ -10838,7 +11627,7 @@ At all other locations, this simply calls `ispell-complete-word'." | |||
| 10838 | ((string-match "\\`\\*+[ \t]*\\'" | 11627 | ((string-match "\\`\\*+[ \t]*\\'" |
| 10839 | (buffer-substring (point-at-bol) beg)) | 11628 | (buffer-substring (point-at-bol) beg)) |
| 10840 | (setq type :todo) | 11629 | (setq type :todo) |
| 10841 | (mapcar 'list org-todo-keywords)) | 11630 | (mapcar 'list org-todo-keywords-1)) |
| 10842 | (searchhead | 11631 | (searchhead |
| 10843 | (setq type :searchhead) | 11632 | (setq type :searchhead) |
| 10844 | (save-excursion | 11633 | (save-excursion |
| @@ -10926,6 +11715,8 @@ For calling through lisp, arg is also interpreted in the following way: | |||
| 10926 | 'none -> empty state | 11715 | 'none -> empty state |
| 10927 | \"\"(empty string) -> switch to empty state | 11716 | \"\"(empty string) -> switch to empty state |
| 10928 | 'done -> switch to DONE | 11717 | 'done -> switch to DONE |
| 11718 | 'nextset -> switch to the next set of keywords | ||
| 11719 | 'previousset -> switch to the previous set of keywords | ||
| 10929 | \"WAITING\" -> switch to the specified keyword, but only if it | 11720 | \"WAITING\" -> switch to the specified keyword, but only if it |
| 10930 | really is a member of `org-todo-keywords'." | 11721 | really is a member of `org-todo-keywords'." |
| 10931 | (interactive "P") | 11722 | (interactive "P") |
| @@ -10935,52 +11726,76 @@ For calling through lisp, arg is also interpreted in the following way: | |||
| 10935 | (or (looking-at (concat " +" org-todo-regexp " *")) | 11726 | (or (looking-at (concat " +" org-todo-regexp " *")) |
| 10936 | (looking-at " *")) | 11727 | (looking-at " *")) |
| 10937 | (let* ((this (match-string 1)) | 11728 | (let* ((this (match-string 1)) |
| 11729 | (head (org-get-todo-sequence-head this)) | ||
| 11730 | (ass (assoc head org-todo-kwd-alist)) | ||
| 11731 | (interpret (nth 1 ass)) | ||
| 11732 | (done-word (nth 3 ass)) | ||
| 11733 | (final-done-word (nth 4 ass)) | ||
| 10938 | (last-state (or this "")) | 11734 | (last-state (or this "")) |
| 10939 | (completion-ignore-case t) | 11735 | (completion-ignore-case t) |
| 10940 | (member (member this org-todo-keywords)) | 11736 | (member (member this org-todo-keywords-1)) |
| 10941 | (tail (cdr member)) | 11737 | (tail (cdr member)) |
| 10942 | (state (cond | 11738 | (state (cond |
| 10943 | ((equal arg '(4)) | 11739 | ((equal arg '(4)) |
| 10944 | ;; Read a state with completion | 11740 | ;; Read a state with completion |
| 10945 | (completing-read "State: " (mapcar (lambda(x) (list x)) | 11741 | (completing-read "State: " (mapcar (lambda(x) (list x)) |
| 10946 | org-todo-keywords) | 11742 | org-todo-keywords-1) |
| 10947 | nil t)) | 11743 | nil t)) |
| 10948 | ((eq arg 'right) | 11744 | ((eq arg 'right) |
| 10949 | (if this | 11745 | (if this |
| 10950 | (if tail (car tail) nil) | 11746 | (if tail (car tail) nil) |
| 10951 | (car org-todo-keywords))) | 11747 | (car org-todo-keywords-1))) |
| 10952 | ((eq arg 'left) | 11748 | ((eq arg 'left) |
| 10953 | (if (equal member org-todo-keywords) | 11749 | (if (equal member org-todo-keywords-1) |
| 10954 | nil | 11750 | nil |
| 10955 | (if this | 11751 | (if this |
| 10956 | (nth (- (length org-todo-keywords) (length tail) 2) | 11752 | (nth (- (length org-todo-keywords-1) (length tail) 2) |
| 10957 | org-todo-keywords) | 11753 | org-todo-keywords-1) |
| 10958 | org-done-string))) | 11754 | (org-last org-todo-keywords-1)))) |
| 10959 | (arg | 11755 | (arg |
| 10960 | ;; user requests a specific state | 11756 | ;; user or caller requests a specific state |
| 10961 | (cond | 11757 | (cond |
| 10962 | ((equal arg "") nil) | 11758 | ((equal arg "") nil) |
| 10963 | ((eq arg 'none) nil) | 11759 | ((eq arg 'none) nil) |
| 10964 | ((eq arg 'done) (org-last org-todo-keywords)) | 11760 | ((eq arg 'done) (or done-word (car org-done-keywords))) |
| 10965 | ((car (member arg org-todo-keywords))) | 11761 | ((eq arg 'nextset) |
| 11762 | (or (car (cdr (member head org-todo-heads))) | ||
| 11763 | (car org-todo-heads))) | ||
| 11764 | ((eq arg 'previousset) | ||
| 11765 | (let ((org-todo-heads (reverse org-todo-heads))) | ||
| 11766 | (or (car (cdr (member head org-todo-heads))) | ||
| 11767 | (car org-todo-heads)))) | ||
| 11768 | ((car (member arg org-todo-keywords-1))) | ||
| 10966 | ((nth (1- (prefix-numeric-value arg)) | 11769 | ((nth (1- (prefix-numeric-value arg)) |
| 10967 | org-todo-keywords)))) | 11770 | org-todo-keywords-1)))) |
| 10968 | ((null member) (car org-todo-keywords)) | 11771 | ((null member) (or head (car org-todo-keywords-1))) |
| 11772 | ((equal this final-done-word) nil) ;; -> make empty | ||
| 10969 | ((null tail) nil) ;; -> first entry | 11773 | ((null tail) nil) ;; -> first entry |
| 10970 | ((eq org-todo-interpretation 'sequence) | 11774 | ((eq interpret 'sequence) |
| 10971 | (car tail)) | 11775 | (car tail)) |
| 10972 | ((memq org-todo-interpretation '(type priority)) | 11776 | ((memq interpret '(type priority)) |
| 10973 | (if (eq this-command last-command) | 11777 | (if (eq this-command last-command) |
| 10974 | (car tail) | 11778 | (car tail) |
| 10975 | (if (> (length tail) 0) org-done-string nil))) | 11779 | (if (> (length tail) 0) |
| 11780 | (or done-word (car org-done-keywords)) | ||
| 11781 | nil))) | ||
| 10976 | (t nil))) | 11782 | (t nil))) |
| 10977 | (next (if state (concat " " state " ") " ")) | 11783 | (next (if state (concat " " state " ") " ")) |
| 10978 | dostates) | 11784 | dostates) |
| 10979 | (replace-match next t t) | 11785 | (replace-match next t t) |
| 11786 | (unless head | ||
| 11787 | (setq head (org-get-todo-sequence-head state) | ||
| 11788 | ass (assoc head org-todo-kwd-alist) | ||
| 11789 | interpret (nth 1 ass) | ||
| 11790 | done-word (nth 3 ass) | ||
| 11791 | final-done-word (nth 4 ass))) | ||
| 11792 | (when (memq arg '(nextset previousset)) | ||
| 11793 | (message "Keyword set: %s" | ||
| 11794 | (mapconcat 'identity (assoc state org-todo-sets) " "))) | ||
| 10980 | (setq org-last-todo-state-is-todo | 11795 | (setq org-last-todo-state-is-todo |
| 10981 | (not (equal state org-done-string))) | 11796 | (not (member state org-done-keywords))) |
| 10982 | (when org-log-done | 11797 | (when (and org-log-done (not (memq arg '(nextset previousset)))) |
| 10983 | (setq dostates (and (eq org-todo-interpretation 'sequence) | 11798 | (setq dostates (and (eq interpret 'sequence) |
| 10984 | (listp org-log-done) (memq 'state org-log-done))) | 11799 | (listp org-log-done) (memq 'state org-log-done))) |
| 10985 | (cond | 11800 | (cond |
| 10986 | ((and state (not this)) | 11801 | ((and state (not this)) |
| @@ -10988,7 +11803,7 @@ For calling through lisp, arg is also interpreted in the following way: | |||
| 10988 | (and dostates (org-add-log-maybe 'state state 'findpos))) | 11803 | (and dostates (org-add-log-maybe 'state state 'findpos))) |
| 10989 | ((and state dostates) | 11804 | ((and state dostates) |
| 10990 | (org-add-log-maybe 'state state 'findpos)) | 11805 | (org-add-log-maybe 'state state 'findpos)) |
| 10991 | ((equal state org-done-string) | 11806 | ((member state org-done-keywords) |
| 10992 | ;; Planning info calls the note-setting command. | 11807 | ;; Planning info calls the note-setting command. |
| 10993 | (org-add-planning-info 'closed (org-current-time) | 11808 | (org-add-planning-info 'closed (org-current-time) |
| 10994 | (if (org-get-repeat) nil 'scheduled)) | 11809 | (if (org-get-repeat) nil 'scheduled)) |
| @@ -10996,8 +11811,10 @@ For calling through lisp, arg is also interpreted in the following way: | |||
| 10996 | ;; Fixup tag positioning | 11811 | ;; Fixup tag positioning |
| 10997 | (and org-auto-align-tags (org-set-tags nil t)) | 11812 | (and org-auto-align-tags (org-set-tags nil t)) |
| 10998 | (run-hooks 'org-after-todo-state-change-hook) | 11813 | (run-hooks 'org-after-todo-state-change-hook) |
| 10999 | (and (equal state org-done-string) (org-auto-repeat-maybe)) | 11814 | (and (member state org-done-keywords) (org-auto-repeat-maybe)) |
| 11000 | )) | 11815 | (if (and arg (not (member state org-done-keywords))) |
| 11816 | (setq head (org-get-todo-sequence-head state))) | ||
| 11817 | (put-text-property (point-at-bol) (point-at-eol) 'org-todo-head head))) | ||
| 11001 | ;; Fixup cursor location if close to the keyword | 11818 | ;; Fixup cursor location if close to the keyword |
| 11002 | (if (and (outline-on-heading-p) | 11819 | (if (and (outline-on-heading-p) |
| 11003 | (not (bolp)) | 11820 | (not (bolp)) |
| @@ -11008,8 +11825,24 @@ For calling through lisp, arg is also interpreted in the following way: | |||
| 11008 | (goto-char (or (match-end 2) (match-end 1))) | 11825 | (goto-char (or (match-end 2) (match-end 1))) |
| 11009 | (just-one-space)))) | 11826 | (just-one-space)))) |
| 11010 | 11827 | ||
| 11828 | (defun org-get-todo-sequence-head (kwd) | ||
| 11829 | "Return the head of the TODO sequence to which KWD belongs. | ||
| 11830 | If KWD is not set, check if there is a text property remembering the | ||
| 11831 | right sequence." | ||
| 11832 | (let (p) | ||
| 11833 | (cond | ||
| 11834 | ((not kwd) | ||
| 11835 | (or (get-text-property (point-at-bol) 'org-todo-head) | ||
| 11836 | (progn | ||
| 11837 | (setq p (next-single-property-change (point-at-bol) 'org-todo-head | ||
| 11838 | nil (point-at-eol))) | ||
| 11839 | (get-text-property p 'org-todo-head)))) | ||
| 11840 | ((not (member kwd org-todo-keywords-1)) | ||
| 11841 | (car org-todo-keywords-1)) | ||
| 11842 | (t (nth 2 (assoc kwd org-todo-kwd-alist)))))) | ||
| 11843 | |||
| 11011 | (defun org-get-repeat () | 11844 | (defun org-get-repeat () |
| 11012 | "Return the REPEAT statement of this entry." | 11845 | "Check if tere is a deadline/schedule with repeater in this entry." |
| 11013 | (save-match-data | 11846 | (save-match-data |
| 11014 | (save-excursion | 11847 | (save-excursion |
| 11015 | (org-back-to-heading t) | 11848 | (org-back-to-heading t) |
| @@ -11020,24 +11853,29 @@ For calling through lisp, arg is also interpreted in the following way: | |||
| 11020 | (defvar org-last-changed-timestamp) | 11853 | (defvar org-last-changed-timestamp) |
| 11021 | (defvar org-log-post-message) | 11854 | (defvar org-log-post-message) |
| 11022 | (defun org-auto-repeat-maybe () | 11855 | (defun org-auto-repeat-maybe () |
| 11023 | "Check if the current headline contains a REPEAT key. | 11856 | "Check if the current headline contains a repeated deadline/schedule. |
| 11024 | If yes, set TODO state back to what it was and change any SCHEDULED | 11857 | If yes, set TODO state back to what it was and change the base date |
| 11025 | or DEADLINE times the new date. | 11858 | of repeating deadline/scheduled time stamps to new date. |
| 11026 | This function should be run in the `org-after-todo-state-change-hook'." | 11859 | This function should be run in the `org-after-todo-state-change-hook'." |
| 11027 | ;; last-state is dynamically scoped into this function | 11860 | ;; last-state is dynamically scoped into this function |
| 11028 | (let ((repeat (org-get-repeat)) | 11861 | (let* ((repeat (org-get-repeat)) |
| 11029 | (whata '(("d" . day) ("m" . month) ("y" . year))) | 11862 | (aa (assoc last-state org-todo-kwd-alist)) |
| 11030 | (msg "Entry repeats: ") | 11863 | (interpret (nth 1 aa)) |
| 11031 | (org-log-done) | 11864 | (head (nth 2 aa)) |
| 11032 | re type n what start) | 11865 | (done-word (nth 3 aa)) |
| 11866 | (whata '(("d" . day) ("m" . month) ("y" . year))) | ||
| 11867 | (msg "Entry repeats: ") | ||
| 11868 | (org-log-done) | ||
| 11869 | re type n what ts) | ||
| 11033 | (when repeat | 11870 | (when repeat |
| 11034 | (org-todo (if (eq 'org-todo-interpretation 'type) | 11871 | (org-todo (if (eq interpret 'type) last-state head)) |
| 11035 | last-state | 11872 | (when (and org-log-repeat |
| 11036 | (car org-todo-keywords))) | 11873 | (not (memq 'org-add-log-note |
| 11037 | (unless (memq 'org-add-log-note (default-value 'post-command-hook)) | 11874 | (default-value 'post-command-hook)))) |
| 11038 | ;; Make sure a note is taken | 11875 | ;; Make sure a note is taken |
| 11039 | (let ((org-log-done '(done))) | 11876 | (let ((org-log-done '(done))) |
| 11040 | (org-add-log-maybe 'done org-done-string 'findpos))) | 11877 | (org-add-log-maybe 'done (or done-word (car org-done-keywords)) |
| 11878 | 'findpos))) | ||
| 11041 | (org-back-to-heading t) | 11879 | (org-back-to-heading t) |
| 11042 | (org-add-planning-info nil nil 'closed) | 11880 | (org-add-planning-info nil nil 'closed) |
| 11043 | (setq re (concat "\\(" org-scheduled-time-regexp "\\)\\|\\(" | 11881 | (setq re (concat "\\(" org-scheduled-time-regexp "\\)\\|\\(" |
| @@ -11045,11 +11883,10 @@ This function should be run in the `org-after-todo-state-change-hook'." | |||
| 11045 | (while (re-search-forward | 11883 | (while (re-search-forward |
| 11046 | re (save-excursion (outline-next-heading) (point)) t) | 11884 | re (save-excursion (outline-next-heading) (point)) t) |
| 11047 | (setq type (if (match-end 1) org-scheduled-string org-deadline-string) | 11885 | (setq type (if (match-end 1) org-scheduled-string org-deadline-string) |
| 11048 | start 0) | 11886 | ts (match-string (if (match-end 2) 2 4))) |
| 11049 | (while (string-match "\\([-+]?[0-9]+\\)\\([dwmy]\\)" repeat start) | 11887 | (when (string-match "\\([-+]?[0-9]+\\)\\([dwmy]\\)" ts) |
| 11050 | (setq start (match-end 0) | 11888 | (setq n (string-to-number (match-string 1 ts)) |
| 11051 | n (string-to-number (match-string 1 repeat)) | 11889 | what (match-string 2 ts)) |
| 11052 | what (match-string 2 repeat)) | ||
| 11053 | (if (equal what "w") (setq n (* n 7) what "d")) | 11890 | (if (equal what "w") (setq n (* n 7) what "d")) |
| 11054 | (org-timestamp-change n (cdr (assoc what whata)))) | 11891 | (org-timestamp-change n (cdr (assoc what whata)))) |
| 11055 | (setq msg (concat msg type org-last-changed-timestamp " "))) | 11892 | (setq msg (concat msg type org-last-changed-timestamp " "))) |
| @@ -11062,15 +11899,20 @@ The tree will show the lines where the regexp matches, and all higher | |||
| 11062 | headlines above the match. | 11899 | headlines above the match. |
| 11063 | With \\[universal-argument] prefix, also show the DONE entries. | 11900 | With \\[universal-argument] prefix, also show the DONE entries. |
| 11064 | With a numeric prefix N, construct a sparse tree for the Nth element | 11901 | With a numeric prefix N, construct a sparse tree for the Nth element |
| 11065 | of `org-todo-keywords'." | 11902 | of `org-todo-keywords-1'." |
| 11066 | (interactive "P") | 11903 | (interactive "P") |
| 11067 | (let ((case-fold-search nil) | 11904 | (let ((case-fold-search nil) |
| 11068 | (kwd-re | 11905 | (kwd-re |
| 11069 | (cond ((null arg) org-not-done-regexp) | 11906 | (cond ((null arg) org-not-done-regexp) |
| 11070 | ((equal arg '(4)) org-todo-regexp) | 11907 | ((equal arg '(4)) |
| 11071 | ((<= (prefix-numeric-value arg) (length org-todo-keywords)) | 11908 | (let ((kwd (completing-read "Keyword (or KWD1|KWD2|...): " |
| 11909 | (mapcar 'list org-todo-keywords-1)))) | ||
| 11910 | (concat "\\(" | ||
| 11911 | (mapconcat 'identity (org-split-string kwd "|") "\\|") | ||
| 11912 | "\\)\\>"))) | ||
| 11913 | ((<= (prefix-numeric-value arg) (length org-todo-keywords-1)) | ||
| 11072 | (regexp-quote (nth (1- (prefix-numeric-value arg)) | 11914 | (regexp-quote (nth (1- (prefix-numeric-value arg)) |
| 11073 | org-todo-keywords))) | 11915 | org-todo-keywords-1))) |
| 11074 | (t (error "Invalid prefix argument: %s" arg))))) | 11916 | (t (error "Invalid prefix argument: %s" arg))))) |
| 11075 | (message "%d TODO entries found" | 11917 | (message "%d TODO entries found" |
| 11076 | (org-occur (concat "^" outline-regexp " +" kwd-re ))))) | 11918 | (org-occur (concat "^" outline-regexp " +" kwd-re ))))) |
| @@ -11143,9 +11985,11 @@ be removed." | |||
| 11143 | ((eq what 'deadline) org-deadline-string) | 11985 | ((eq what 'deadline) org-deadline-string) |
| 11144 | ((eq what 'closed) org-closed-string)) | 11986 | ((eq what 'closed) org-closed-string)) |
| 11145 | " ") | 11987 | " ") |
| 11146 | (org-insert-time-stamp time | 11988 | (org-insert-time-stamp |
| 11147 | (or org-time-was-given (eq what 'closed)) | 11989 | time |
| 11148 | (eq what 'closed)) | 11990 | (or org-time-was-given |
| 11991 | (and (eq what 'closed) org-log-done-with-time)) | ||
| 11992 | (eq what 'closed)) | ||
| 11149 | (end-of-line 1)) | 11993 | (end-of-line 1)) |
| 11150 | (goto-char (point-min)) | 11994 | (goto-char (point-min)) |
| 11151 | (widen) | 11995 | (widen) |
| @@ -11163,6 +12007,7 @@ be removed." | |||
| 11163 | The auto-repeater uses this.") | 12007 | The auto-repeater uses this.") |
| 11164 | 12008 | ||
| 11165 | (defun org-add-log-maybe (&optional purpose state findpos) | 12009 | (defun org-add-log-maybe (&optional purpose state findpos) |
| 12010 | "Set up the post command hook to take a note." | ||
| 11166 | (save-excursion | 12011 | (save-excursion |
| 11167 | (when (and (listp org-log-done) | 12012 | (when (and (listp org-log-done) |
| 11168 | (memq purpose org-log-done)) | 12013 | (memq purpose org-log-done)) |
| @@ -11221,17 +12066,18 @@ The auto-repeater uses this.") | |||
| 11221 | ""))))) | 12066 | ""))))) |
| 11222 | (if lines (setq note (concat note " \\\\"))) | 12067 | (if lines (setq note (concat note " \\\\"))) |
| 11223 | (push note lines)) | 12068 | (push note lines)) |
| 11224 | (save-excursion | 12069 | (when lines |
| 11225 | (set-buffer (marker-buffer org-log-note-marker)) | ||
| 11226 | (save-excursion | 12070 | (save-excursion |
| 11227 | (goto-char org-log-note-marker) | 12071 | (set-buffer (marker-buffer org-log-note-marker)) |
| 11228 | (move-marker org-log-note-marker nil) | 12072 | (save-excursion |
| 11229 | (end-of-line 1) | 12073 | (goto-char org-log-note-marker) |
| 11230 | (if (not (bolp)) (insert "\n")) (indent-relative nil) | 12074 | (move-marker org-log-note-marker nil) |
| 11231 | (setq ind (concat (buffer-substring (point-at-bol) (point)) " ")) | 12075 | (end-of-line 1) |
| 11232 | (insert " - " (pop lines)) | 12076 | (if (not (bolp)) (insert "\n")) (indent-relative nil) |
| 11233 | (while lines | 12077 | (setq ind (concat (buffer-substring (point-at-bol) (point)) " ")) |
| 11234 | (insert "\n" ind (pop lines)))))) | 12078 | (insert " - " (pop lines)) |
| 12079 | (while lines | ||
| 12080 | (insert "\n" ind (pop lines))))))) | ||
| 11235 | (set-window-configuration org-log-note-window-configuration) | 12081 | (set-window-configuration org-log-note-window-configuration) |
| 11236 | (with-current-buffer (marker-buffer org-log-note-return-to) | 12082 | (with-current-buffer (marker-buffer org-log-note-return-to) |
| 11237 | (goto-char org-log-note-return-to)) | 12083 | (goto-char org-log-note-return-to)) |
| @@ -11264,7 +12110,8 @@ that the match should indeed be shown." | |||
| 11264 | (when (or (not callback) | 12110 | (when (or (not callback) |
| 11265 | (save-match-data (funcall callback))) | 12111 | (save-match-data (funcall callback))) |
| 11266 | (setq cnt (1+ cnt)) | 12112 | (setq cnt (1+ cnt)) |
| 11267 | (org-highlight-new-match (match-beginning 0) (match-end 0)) | 12113 | (when org-highlight-sparse-tree-matches |
| 12114 | (org-highlight-new-match (match-beginning 0) (match-end 0))) | ||
| 11268 | (org-show-context 'occur-tree)))) | 12115 | (org-show-context 'occur-tree)))) |
| 11269 | (when org-remove-highlights-with-change | 12116 | (when org-remove-highlights-with-change |
| 11270 | (org-add-hook 'before-change-functions 'org-remove-occur-highlights | 12117 | (org-add-hook 'before-change-functions 'org-remove-occur-highlights |
| @@ -11342,7 +12189,7 @@ from the `before-change-functions' in the current buffer." | |||
| 11342 | 12189 | ||
| 11343 | ;;;; Priorities | 12190 | ;;;; Priorities |
| 11344 | 12191 | ||
| 11345 | (defvar org-priority-regexp ".*?\\(\\[#\\([A-Z]\\)\\] ?\\)" | 12192 | (defvar org-priority-regexp ".*?\\(\\[#\\([A-Z0-9]\\)\\] ?\\)" |
| 11346 | "Regular expression matching the priority indicator.") | 12193 | "Regular expression matching the priority indicator.") |
| 11347 | 12194 | ||
| 11348 | (defvar org-remove-priority-next-time nil) | 12195 | (defvar org-remove-priority-next-time nil) |
| @@ -11371,18 +12218,18 @@ ACTION can be set, up, or down." | |||
| 11371 | (setq current org-default-priority)) | 12218 | (setq current org-default-priority)) |
| 11372 | (cond | 12219 | (cond |
| 11373 | ((eq action 'set) | 12220 | ((eq action 'set) |
| 11374 | (message "Priority A-%c, SPC to remove: " org-lowest-priority) | 12221 | (message "Priority %c-%c, SPC to remove: " org-highest-priority org-lowest-priority) |
| 11375 | (setq new (read-char-exclusive)) | 12222 | (setq new (read-char-exclusive)) |
| 11376 | (cond ((equal new ?\ ) (setq remove t)) | 12223 | (cond ((equal new ?\ ) (setq remove t)) |
| 11377 | ((or (< (upcase new) ?A) (> (upcase new) org-lowest-priority)) | 12224 | ((or (< (upcase new) org-highest-priority) (> (upcase new) org-lowest-priority)) |
| 11378 | (error "Priority must be between `%c' and `%c'" | 12225 | (error "Priority must be between `%c' and `%c'" |
| 11379 | ?A org-lowest-priority)))) | 12226 | org-highest-priority org-lowest-priority)))) |
| 11380 | ((eq action 'up) | 12227 | ((eq action 'up) |
| 11381 | (setq new (1- current))) | 12228 | (setq new (1- current))) |
| 11382 | ((eq action 'down) | 12229 | ((eq action 'down) |
| 11383 | (setq new (1+ current))) | 12230 | (setq new (1+ current))) |
| 11384 | (t (error "Invalid action"))) | 12231 | (t (error "Invalid action"))) |
| 11385 | (setq new (min (max ?A (upcase new)) org-lowest-priority)) | 12232 | (setq new (min (max org-highest-priority (upcase new)) org-lowest-priority)) |
| 11386 | (setq news (format "%c" new)) | 12233 | (setq news (format "%c" new)) |
| 11387 | (if have | 12234 | (if have |
| 11388 | (if remove | 12235 | (if remove |
| @@ -11419,15 +12266,14 @@ evaluated, testing if a given set of tags qualifies a headline for | |||
| 11419 | inclusion. When TODO-ONLY is non-nil, only lines with a TODO keyword | 12266 | inclusion. When TODO-ONLY is non-nil, only lines with a TODO keyword |
| 11420 | are included in the output." | 12267 | are included in the output." |
| 11421 | (let* ((re (concat "[\n\r]" outline-regexp " *\\(\\<\\(" | 12268 | (let* ((re (concat "[\n\r]" outline-regexp " *\\(\\<\\(" |
| 11422 | (mapconcat 'regexp-quote | 12269 | (mapconcat 'regexp-quote org-todo-keywords-1 "\\|") |
| 11423 | (nreverse (cdr (reverse org-todo-keywords))) | ||
| 11424 | "\\|") | ||
| 11425 | "\\>\\)\\)? *\\(.*?\\)\\(:[A-Za-z_@0-9:]+:\\)?[ \t]*$")) | 12270 | "\\>\\)\\)? *\\(.*?\\)\\(:[A-Za-z_@0-9:]+:\\)?[ \t]*$")) |
| 11426 | (props (list 'face nil | 12271 | (props (list 'face nil |
| 11427 | 'done-face 'org-done | 12272 | 'done-face 'org-done |
| 11428 | 'undone-face nil | 12273 | 'undone-face nil |
| 11429 | 'mouse-face 'highlight | 12274 | 'mouse-face 'highlight |
| 11430 | 'org-not-done-regexp org-not-done-regexp | 12275 | 'org-not-done-regexp org-not-done-regexp |
| 12276 | 'org-todo-regexp org-todo-regexp | ||
| 11431 | 'keymap org-agenda-keymap | 12277 | 'keymap org-agenda-keymap |
| 11432 | 'help-echo | 12278 | 'help-echo |
| 11433 | (format "mouse-2 or RET jump to org file %s" | 12279 | (format "mouse-2 or RET jump to org file %s" |
| @@ -11435,7 +12281,7 @@ are included in the output." | |||
| 11435 | (case-fold-search nil) | 12281 | (case-fold-search nil) |
| 11436 | lspos | 12282 | lspos |
| 11437 | tags tags-list tags-alist (llast 0) rtn level category i txt | 12283 | tags tags-list tags-alist (llast 0) rtn level category i txt |
| 11438 | todo marker entry) | 12284 | todo marker entry priority) |
| 11439 | (save-excursion | 12285 | (save-excursion |
| 11440 | (goto-char (point-min)) | 12286 | (goto-char (point-min)) |
| 11441 | (when (eq action 'sparse-tree) (org-overview)) | 12287 | (when (eq action 'sparse-tree) (org-overview)) |
| @@ -11462,7 +12308,7 @@ are included in the output." | |||
| 11462 | (if org-use-tag-inheritance | 12308 | (if org-use-tag-inheritance |
| 11463 | (apply 'append (mapcar 'cdr tags-alist)) | 12309 | (apply 'append (mapcar 'cdr tags-alist)) |
| 11464 | tags)) | 12310 | tags)) |
| 11465 | (when (and (or (not todo-only) todo) | 12311 | (when (and (or (not todo-only) (member todo org-not-done-keywords)) |
| 11466 | (eval matcher) | 12312 | (eval matcher) |
| 11467 | (or (not org-agenda-skip-archived-trees) | 12313 | (or (not org-agenda-skip-archived-trees) |
| 11468 | (not (member org-archive-tag tags-list)))) | 12314 | (not (member org-archive-tag tags-list)))) |
| @@ -11477,11 +12323,13 @@ are included in the output." | |||
| 11477 | (if org-tags-match-list-sublevels | 12323 | (if org-tags-match-list-sublevels |
| 11478 | (make-string (1- level) ?.) "") | 12324 | (make-string (1- level) ?.) "") |
| 11479 | (org-get-heading)) | 12325 | (org-get-heading)) |
| 11480 | category tags-list)) | 12326 | category tags-list) |
| 12327 | priority (org-get-priority txt)) | ||
| 11481 | (goto-char lspos) | 12328 | (goto-char lspos) |
| 11482 | (setq marker (org-agenda-new-marker)) | 12329 | (setq marker (org-agenda-new-marker)) |
| 11483 | (org-add-props txt props | 12330 | (org-add-props txt props |
| 11484 | 'org-marker marker 'org-hd-marker marker 'org-category category) | 12331 | 'org-marker marker 'org-hd-marker marker 'org-category category |
| 12332 | 'priority priority 'type "tagsmatch") | ||
| 11485 | (push txt rtn)) | 12333 | (push txt rtn)) |
| 11486 | ;; if we are to skip sublevels, jump to end of subtree | 12334 | ;; if we are to skip sublevels, jump to end of subtree |
| 11487 | (or org-tags-match-list-sublevels (org-end-of-subtree t)))))) | 12335 | (or org-tags-match-list-sublevels (org-end-of-subtree t)))))) |
| @@ -11610,7 +12458,7 @@ With prefix ARG, realign all tags in headings in the current buffer." | |||
| 11610 | (if arg | 12458 | (if arg |
| 11611 | (save-excursion | 12459 | (save-excursion |
| 11612 | (goto-char (point-min)) | 12460 | (goto-char (point-min)) |
| 11613 | (let (buffer-invisibility-spec) ; Emacs 21 compatibility | 12461 | (let ((buffer-invisibility-spec (org-inhibit-invisibility))) |
| 11614 | (while (re-search-forward re nil t) | 12462 | (while (re-search-forward re nil t) |
| 11615 | (org-set-tags nil t) | 12463 | (org-set-tags nil t) |
| 11616 | (end-of-line 1))) | 12464 | (end-of-line 1))) |
| @@ -11637,11 +12485,12 @@ With prefix ARG, realign all tags in headings in the current buffer." | |||
| 11637 | (while (string-match "[-+&]+" tags) | 12485 | (while (string-match "[-+&]+" tags) |
| 11638 | ;; No boolean logic, just a list | 12486 | ;; No boolean logic, just a list |
| 11639 | (setq tags (replace-match ":" t t tags)))) | 12487 | (setq tags (replace-match ":" t t tags)))) |
| 12488 | |||
| 11640 | (if (string-match "\\`[\t ]*\\'" tags) | 12489 | (if (string-match "\\`[\t ]*\\'" tags) |
| 11641 | (setq tags "") | 12490 | (setq tags "") |
| 11642 | (unless (string-match ":$" tags) (setq tags (concat tags ":"))) | 12491 | (unless (string-match ":$" tags) (setq tags (concat tags ":"))) |
| 11643 | (unless (string-match "^:" tags) (setq tags (concat ":" tags)))) | 12492 | (unless (string-match "^:" tags) (setq tags (concat ":" tags)))) |
| 11644 | 12493 | ||
| 11645 | ;; Insert new tags at the correct column | 12494 | ;; Insert new tags at the correct column |
| 11646 | (beginning-of-line 1) | 12495 | (beginning-of-line 1) |
| 11647 | (if (re-search-forward | 12496 | (if (re-search-forward |
| @@ -11728,7 +12577,7 @@ Returns the new tags string, or nil to not change the current settings." | |||
| 11728 | (fwidth (+ maxlen 3 1 3)) | 12577 | (fwidth (+ maxlen 3 1 3)) |
| 11729 | (ncol (/ (- (window-width) 4) fwidth)) | 12578 | (ncol (/ (- (window-width) 4) fwidth)) |
| 11730 | (i-face 'org-done) | 12579 | (i-face 'org-done) |
| 11731 | (c-face 'org-tag) | 12580 | (c-face 'org-todo) |
| 11732 | tg cnt e c char c1 c2 ntable tbl rtn | 12581 | tg cnt e c char c1 c2 ntable tbl rtn |
| 11733 | ov-start ov-end ov-prefix | 12582 | ov-start ov-end ov-prefix |
| 11734 | (exit-after-next org-fast-tag-selection-single-key) | 12583 | (exit-after-next org-fast-tag-selection-single-key) |
| @@ -12014,9 +12863,9 @@ used to insert the time stamp into the buffer to include the time." | |||
| 12014 | (timestr (format-time-string | 12863 | (timestr (format-time-string |
| 12015 | (if with-time "%Y-%m-%d %H:%M" "%Y-%m-%d") default-time)) | 12864 | (if with-time "%Y-%m-%d %H:%M" "%Y-%m-%d") default-time)) |
| 12016 | (prompt (concat (if prompt (concat prompt " ") "") | 12865 | (prompt (concat (if prompt (concat prompt " ") "") |
| 12017 | (format "YYYY-MM-DD [%s]: " timestr))) | 12866 | (format "Date and/or time (default [%s]): " timestr))) |
| 12018 | ans (org-ans0 "") org-ans1 org-ans2 (deltadays 0) | 12867 | ans (org-ans0 "") org-ans1 org-ans2 (deltadays 0) |
| 12019 | second minute hour day month year tl wday wday1) | 12868 | second minute hour day month year tl wday wday1 pm) |
| 12020 | 12869 | ||
| 12021 | (cond | 12870 | (cond |
| 12022 | (from-string (setq ans from-string)) | 12871 | (from-string (setq ans from-string)) |
| @@ -12027,44 +12876,43 @@ used to insert the time stamp into the buffer to include the time." | |||
| 12027 | (calendar-forward-day (- (time-to-days default-time) | 12876 | (calendar-forward-day (- (time-to-days default-time) |
| 12028 | (calendar-absolute-from-gregorian | 12877 | (calendar-absolute-from-gregorian |
| 12029 | (calendar-current-date)))) | 12878 | (calendar-current-date)))) |
| 12030 | (org-eval-in-calendar nil) | 12879 | (org-eval-in-calendar nil t) |
| 12031 | (let* ((old-map (current-local-map)) | 12880 | (let* ((old-map (current-local-map)) |
| 12032 | (map (copy-keymap calendar-mode-map)) | 12881 | (map (copy-keymap calendar-mode-map)) |
| 12033 | (minibuffer-local-map (copy-keymap minibuffer-local-map))) | 12882 | (minibuffer-local-map (copy-keymap minibuffer-local-map))) |
| 12034 | (define-key map (kbd "RET") 'org-calendar-select) | 12883 | (org-defkey map (kbd "RET") 'org-calendar-select) |
| 12035 | (define-key map (if (featurep 'xemacs) [button1] [mouse-1]) | 12884 | (org-defkey map (if (featurep 'xemacs) [button1] [mouse-1]) |
| 12036 | 'org-calendar-select-mouse) | 12885 | 'org-calendar-select-mouse) |
| 12037 | (define-key map (if (featurep 'xemacs) [button2] [mouse-2]) | 12886 | (org-defkey map (if (featurep 'xemacs) [button2] [mouse-2]) |
| 12038 | 'org-calendar-select-mouse) | 12887 | 'org-calendar-select-mouse) |
| 12039 | (define-key minibuffer-local-map [(meta shift left)] | 12888 | (org-defkey minibuffer-local-map [(meta shift left)] |
| 12040 | (lambda () (interactive) | 12889 | (lambda () (interactive) |
| 12041 | (org-eval-in-calendar '(calendar-backward-month 1)))) | 12890 | (org-eval-in-calendar '(calendar-backward-month 1)))) |
| 12042 | (define-key minibuffer-local-map [(meta shift right)] | 12891 | (org-defkey minibuffer-local-map [(meta shift right)] |
| 12043 | (lambda () (interactive) | 12892 | (lambda () (interactive) |
| 12044 | (org-eval-in-calendar '(calendar-forward-month 1)))) | 12893 | (org-eval-in-calendar '(calendar-forward-month 1)))) |
| 12045 | (define-key minibuffer-local-map [(shift up)] | 12894 | (org-defkey minibuffer-local-map [(shift up)] |
| 12046 | (lambda () (interactive) | 12895 | (lambda () (interactive) |
| 12047 | (org-eval-in-calendar '(calendar-backward-week 1)))) | 12896 | (org-eval-in-calendar '(calendar-backward-week 1)))) |
| 12048 | (define-key minibuffer-local-map [(shift down)] | 12897 | (org-defkey minibuffer-local-map [(shift down)] |
| 12049 | (lambda () (interactive) | 12898 | (lambda () (interactive) |
| 12050 | (org-eval-in-calendar '(calendar-forward-week 1)))) | 12899 | (org-eval-in-calendar '(calendar-forward-week 1)))) |
| 12051 | (define-key minibuffer-local-map [(shift left)] | 12900 | (org-defkey minibuffer-local-map [(shift left)] |
| 12052 | (lambda () (interactive) | 12901 | (lambda () (interactive) |
| 12053 | (org-eval-in-calendar '(calendar-backward-day 1)))) | 12902 | (org-eval-in-calendar '(calendar-backward-day 1)))) |
| 12054 | (define-key minibuffer-local-map [(shift right)] | 12903 | (org-defkey minibuffer-local-map [(shift right)] |
| 12055 | (lambda () (interactive) | 12904 | (lambda () (interactive) |
| 12056 | (org-eval-in-calendar '(calendar-forward-day 1)))) | 12905 | (org-eval-in-calendar '(calendar-forward-day 1)))) |
| 12057 | (define-key minibuffer-local-map ">" | 12906 | (org-defkey minibuffer-local-map ">" |
| 12058 | (lambda () (interactive) | 12907 | (lambda () (interactive) |
| 12059 | (org-eval-in-calendar '(scroll-calendar-left 1)))) | 12908 | (org-eval-in-calendar '(scroll-calendar-left 1)))) |
| 12060 | (define-key minibuffer-local-map "<" | 12909 | (org-defkey minibuffer-local-map "<" |
| 12061 | (lambda () (interactive) | 12910 | (lambda () (interactive) |
| 12062 | (org-eval-in-calendar '(scroll-calendar-right 1)))) | 12911 | (org-eval-in-calendar '(scroll-calendar-right 1)))) |
| 12063 | (unwind-protect | 12912 | (unwind-protect |
| 12064 | (progn | 12913 | (progn |
| 12065 | (use-local-map map) | 12914 | (use-local-map map) |
| 12066 | (setq org-ans0 (read-string prompt "" nil nil)) | 12915 | (setq org-ans0 (read-string prompt "" nil nil)) |
| 12067 | ; (if (not (string-match "\\S-" org-ans0)) (setq org-ans0 nil)) | ||
| 12068 | ;; org-ans0: from prompt | 12916 | ;; org-ans0: from prompt |
| 12069 | ;; org-ans1: from mouse click | 12917 | ;; org-ans1: from mouse click |
| 12070 | ;; org-ans2: from calendar motion | 12918 | ;; org-ans2: from calendar motion |
| @@ -12077,17 +12925,30 @@ used to insert the time stamp into the buffer to include the time." | |||
| 12077 | (if (string-match "^[ \t]*[-+][0-9]+[ \t]*$" org-ans0) | 12925 | (if (string-match "^[ \t]*[-+][0-9]+[ \t]*$" org-ans0) |
| 12078 | (setq deltadays (string-to-number ans) ans "")) | 12926 | (setq deltadays (string-to-number ans) ans "")) |
| 12079 | 12927 | ||
| 12080 | (if (string-match | 12928 | ;; Help matching ISO dates with single digit month ot day, like 2006-8-11. |
| 12081 | "^ *\\(\\([0-9]+\\)-\\)?\\([0-1]?[0-9]\\)-\\([0-3]?[0-9]\\)\\([^-0-9]\\|$\\)" ans) | 12929 | (when (string-match |
| 12082 | (progn | 12930 | "^ *\\(\\([0-9]+\\)-\\)?\\([0-1]?[0-9]\\)-\\([0-3]?[0-9]\\)\\([^-0-9]\\|$\\)" ans) |
| 12083 | (setq year (if (match-end 2) | 12931 | (setq year (if (match-end 2) |
| 12084 | (string-to-number (match-string 2 ans)) | 12932 | (string-to-number (match-string 2 ans)) |
| 12085 | (string-to-number (format-time-string "%Y"))) | 12933 | (string-to-number (format-time-string "%Y"))) |
| 12086 | month (string-to-number (match-string 3 ans)) | 12934 | month (string-to-number (match-string 3 ans)) |
| 12087 | day (string-to-number (match-string 4 ans))) | 12935 | day (string-to-number (match-string 4 ans))) |
| 12088 | (if (< year 100) (setq year (+ 2000 year))) | 12936 | (if (< year 100) (setq year (+ 2000 year))) |
| 12089 | (setq ans (replace-match (format "%04d-%02d-%02d\\5" year month day) | 12937 | (setq ans (replace-match (format "%04d-%02d-%02d\\5" year month day) |
| 12090 | t nil ans)))) | 12938 | t nil ans))) |
| 12939 | ;; Help matching am/pm times, because `parse-time-string' does not do that. | ||
| 12940 | ;; If there is a time with am/pm, and *no* time without it, we convert | ||
| 12941 | ;; convert so that matching will be successful. | ||
| 12942 | (when (and (not (string-match "[012]?[0-9]:[0-9][0-9]\\([ \t\n]\\|$\\)" ans)) | ||
| 12943 | (string-match "\\([012]?[0-9]\\)\\(:\\([0-5][0-9]\\)\\)?\\(am\\|AM\\|pm\\|PM\\)\\>" ans)) | ||
| 12944 | (setq hour (string-to-number (match-string 1 ans)) | ||
| 12945 | minute (if (match-end 3) (string-to-number (match-string 3 ans)) 0) | ||
| 12946 | pm (equal ?p (string-to-char (downcase (match-string 4 ans))))) | ||
| 12947 | (if (and (= hour 12) (not pm)) | ||
| 12948 | (setq hour 0) | ||
| 12949 | (if (and pm (< hour 12)) (setq hour (+ 12 hour)))) | ||
| 12950 | (setq ans (replace-match (format "%02d:%02d" hour minute) t t ans))) | ||
| 12951 | |||
| 12091 | (setq tl (parse-time-string ans) | 12952 | (setq tl (parse-time-string ans) |
| 12092 | year (or (nth 5 tl) (string-to-number (format-time-string "%Y" ct))) | 12953 | year (or (nth 5 tl) (string-to-number (format-time-string "%Y" ct))) |
| 12093 | month (or (nth 4 tl) (string-to-number (format-time-string "%m" ct))) | 12954 | month (or (nth 4 tl) (string-to-number (format-time-string "%m" ct))) |
| @@ -12113,18 +12974,28 @@ used to insert the time stamp into the buffer to include the time." | |||
| 12113 | (format "%04d-%02d-%02d %02d:%02d" year month day hour minute) | 12974 | (format "%04d-%02d-%02d %02d:%02d" year month day hour minute) |
| 12114 | (format "%04d-%02d-%02d" year month day))))) | 12975 | (format "%04d-%02d-%02d" year month day))))) |
| 12115 | 12976 | ||
| 12116 | (defun org-eval-in-calendar (form) | 12977 | (defun org-eval-in-calendar (form &optional keepdate) |
| 12117 | "Eval FORM in the calendar window and return to current window. | 12978 | "Eval FORM in the calendar window and return to current window. |
| 12118 | Also, store the cursor date in variable org-ans2." | 12979 | Also, store the cursor date in variable org-ans2." |
| 12119 | (let ((sw (selected-window))) | 12980 | (let ((sw (selected-window))) |
| 12120 | (select-window (get-buffer-window "*Calendar*")) | 12981 | (select-window (get-buffer-window "*Calendar*")) |
| 12121 | (eval form) | 12982 | (eval form) |
| 12122 | (when (calendar-cursor-to-date) | 12983 | (when (and (not keepdate) (calendar-cursor-to-date)) |
| 12123 | (let* ((date (calendar-cursor-to-date)) | 12984 | (let* ((date (calendar-cursor-to-date)) |
| 12124 | (time (encode-time 0 0 0 (nth 1 date) (nth 0 date) (nth 2 date)))) | 12985 | (time (encode-time 0 0 0 (nth 1 date) (nth 0 date) (nth 2 date)))) |
| 12125 | (setq org-ans2 (format-time-string "%Y-%m-%d" time)))) | 12986 | (setq org-ans2 (format-time-string "%Y-%m-%d" time)))) |
| 12126 | (org-move-overlay org-date-ovl (1- (point)) (1+ (point)) (current-buffer)) | 12987 | (org-move-overlay org-date-ovl (1- (point)) (1+ (point)) (current-buffer)) |
| 12127 | (select-window sw))) | 12988 | (select-window sw) |
| 12989 | ;; Update the prompt to show new default date | ||
| 12990 | (save-excursion | ||
| 12991 | (goto-char (point-min)) | ||
| 12992 | (when (and org-ans2 | ||
| 12993 | (re-search-forward "\\[[-0-9]+\\]" nil t) | ||
| 12994 | (get-text-property (match-end 0) 'field)) | ||
| 12995 | (let ((inhibit-read-only t)) | ||
| 12996 | (replace-match (concat "[" org-ans2 "]") t t) | ||
| 12997 | (add-text-properties (point-min) (1+ (match-end 0)) | ||
| 12998 | (text-properties-at (1+ (point-min))))))))) | ||
| 12128 | 12999 | ||
| 12129 | (defun org-calendar-select () | 13000 | (defun org-calendar-select () |
| 12130 | "Return to `org-read-date' with the date currently selected. | 13001 | "Return to `org-read-date' with the date currently selected. |
| @@ -12136,7 +13007,7 @@ This is used by `org-read-date' in a temporary keymap for the calendar buffer." | |||
| 12136 | (setq org-ans1 (format-time-string "%Y-%m-%d" time))) | 13007 | (setq org-ans1 (format-time-string "%Y-%m-%d" time))) |
| 12137 | (if (active-minibuffer-window) (exit-minibuffer)))) | 13008 | (if (active-minibuffer-window) (exit-minibuffer)))) |
| 12138 | 13009 | ||
| 12139 | (defun org-insert-time-stamp (time &optional with-hm inactive pre post) | 13010 | (defun org-insert-time-stamp (time &optional with-hm inactive pre post extra) |
| 12140 | "Insert a date stamp for the date given by the internal TIME. | 13011 | "Insert a date stamp for the date given by the internal TIME. |
| 12141 | WITH-HM means, use the stamp format that includes the time of the day. | 13012 | WITH-HM means, use the stamp format that includes the time of the day. |
| 12142 | INACTIVE means use square brackets instead of angular ones, so that the | 13013 | INACTIVE means use square brackets instead of angular ones, so that the |
| @@ -12149,6 +13020,10 @@ The command returns the inserted time stamp." | |||
| 12149 | (if inactive (setq fmt (concat "[" (substring fmt 1 -1) "]"))) | 13020 | (if inactive (setq fmt (concat "[" (substring fmt 1 -1) "]"))) |
| 12150 | (insert (or pre "")) | 13021 | (insert (or pre "")) |
| 12151 | (insert (setq stamp (format-time-string fmt time))) | 13022 | (insert (setq stamp (format-time-string fmt time))) |
| 13023 | (when extra | ||
| 13024 | (backward-char 1) | ||
| 13025 | (insert extra) | ||
| 13026 | (forward-char 1)) | ||
| 12152 | (insert (or post "")) | 13027 | (insert (or post "")) |
| 12153 | stamp)) | 13028 | stamp)) |
| 12154 | 13029 | ||
| @@ -12175,17 +13050,22 @@ The command returns the inserted time stamp." | |||
| 12175 | 13050 | ||
| 12176 | (defun org-display-custom-time (beg end) | 13051 | (defun org-display-custom-time (beg end) |
| 12177 | "Overlay modified time stamp format over timestamp between BED and END." | 13052 | "Overlay modified time stamp format over timestamp between BED and END." |
| 12178 | (let* ((t1 (save-match-data | 13053 | (let* ((ts (buffer-substring beg end)) |
| 12179 | (org-parse-time-string (buffer-substring beg end) t))) | 13054 | t1 w1 with-hm tf time str w2 (off 0)) |
| 12180 | (w1 (- end beg)) | 13055 | (save-match-data |
| 12181 | (with-hm (and (nth 1 t1) (nth 2 t1))) | 13056 | (setq t1 (org-parse-time-string ts t)) |
| 12182 | (tf (funcall (if with-hm 'cdr 'car) org-time-stamp-custom-formats)) | 13057 | (if (string-match " \\+[0-9]+[dwmy]\\'" ts) |
| 12183 | (time (org-fix-decoded-time t1)) | 13058 | (setq off (- (match-end 0) (match-beginning 0))))) |
| 12184 | (str (org-add-props | 13059 | (setq end (- end off)) |
| 13060 | (setq w1 (- end beg) | ||
| 13061 | with-hm (and (nth 1 t1) (nth 2 t1)) | ||
| 13062 | tf (funcall (if with-hm 'cdr 'car) org-time-stamp-custom-formats) | ||
| 13063 | time (org-fix-decoded-time t1) | ||
| 13064 | str (org-add-props | ||
| 12185 | (format-time-string | 13065 | (format-time-string |
| 12186 | (substring tf 1 -1) (apply 'encode-time time)) | 13066 | (substring tf 1 -1) (apply 'encode-time time)) |
| 12187 | nil 'mouse-face 'highlight)) | 13067 | nil 'mouse-face 'highlight) |
| 12188 | (w2 (length str))) | 13068 | w2 (length str)) |
| 12189 | (if (not (= w2 w1)) | 13069 | (if (not (= w2 w1)) |
| 12190 | (add-text-properties (1+ beg) (+ 2 beg) | 13070 | (add-text-properties (1+ beg) (+ 2 beg) |
| 12191 | (list 'org-dwidth t 'org-dwidth-n (- w1 w2)))) | 13071 | (list 'org-dwidth t 'org-dwidth-n (- w1 w2)))) |
| @@ -12349,6 +13229,133 @@ days in order to avoid rounding problems." | |||
| 12349 | (defun org-time-string-to-time (s) | 13229 | (defun org-time-string-to-time (s) |
| 12350 | (apply 'encode-time (org-parse-time-string s))) | 13230 | (apply 'encode-time (org-parse-time-string s))) |
| 12351 | 13231 | ||
| 13232 | (defun org-time-string-to-absolute (s &optional daynr) | ||
| 13233 | "Convert a time stamp to an absolute day number. | ||
| 13234 | If there is a specifyer for a cyclic time stamp, get the closest date to | ||
| 13235 | DATE." | ||
| 13236 | (cond | ||
| 13237 | ((and daynr (string-match "\\`%%\\((.*)\\)" s)) | ||
| 13238 | (if (org-diary-sexp-entry (match-string 1 s) "" date) | ||
| 13239 | daynr | ||
| 13240 | (+ daynr 1000))) | ||
| 13241 | ((and daynr (string-match "\\+[0-9]+[dwmy]" s)) | ||
| 13242 | (org-closest-date s (if (and (boundp 'daynr) (integerp daynr)) daynr | ||
| 13243 | (time-to-days (current-time))) (match-string 0 s))) | ||
| 13244 | (t (time-to-days (apply 'encode-time (org-parse-time-string s)))))) | ||
| 13245 | |||
| 13246 | (defun org-calendar-holiday () | ||
| 13247 | "List of holidays, for Diary display in Org-mode." | ||
| 13248 | (let ((hl (check-calendar-holidays date))) | ||
| 13249 | (if hl (mapconcat 'identity hl "; ")))) | ||
| 13250 | |||
| 13251 | (defun org-diary-sexp-entry (sexp entry date) | ||
| 13252 | "Process a SEXP diary ENTRY for DATE." | ||
| 13253 | (let ((result (if calendar-debug-sexp | ||
| 13254 | (let ((stack-trace-on-error t)) | ||
| 13255 | (eval (car (read-from-string sexp)))) | ||
| 13256 | (condition-case nil | ||
| 13257 | (eval (car (read-from-string sexp))) | ||
| 13258 | (error | ||
| 13259 | (beep) | ||
| 13260 | (message "Bad sexp at line %d in %s: %s" | ||
| 13261 | (org-current-line) | ||
| 13262 | (buffer-file-name) sexp) | ||
| 13263 | (sleep-for 2)))))) | ||
| 13264 | (cond ((stringp result) result) | ||
| 13265 | ((and (consp result) | ||
| 13266 | (stringp (cdr result))) (cdr result)) | ||
| 13267 | (result entry) | ||
| 13268 | (t nil)))) | ||
| 13269 | |||
| 13270 | (defun org-diary-to-ical-string (frombuf) | ||
| 13271 | "FIXME" | ||
| 13272 | (let* ((tmpdir (if (featurep 'xemacs) | ||
| 13273 | (temp-directory) | ||
| 13274 | temporary-file-directory)) | ||
| 13275 | (tmpfile (make-temp-name | ||
| 13276 | (expand-file-name "orgics" tmpdir))) | ||
| 13277 | buf rtn b e) | ||
| 13278 | (save-excursion | ||
| 13279 | (set-buffer frombuf) | ||
| 13280 | (icalendar-export-region (point-min) (point-max) tmpfile) | ||
| 13281 | (setq buf (find-buffer-visiting tmpfile)) | ||
| 13282 | (set-buffer buf) | ||
| 13283 | (goto-char (point-min)) | ||
| 13284 | (if (re-search-forward "^BEGIN:VEVENT" nil t) | ||
| 13285 | (setq b (match-beginning 0))) | ||
| 13286 | (goto-char (point-max)) | ||
| 13287 | (if (re-search-backward "^END:VEVENT" nil t) | ||
| 13288 | (setq e (match-end 0))) | ||
| 13289 | (setq rtn (if (and b e) (concat (buffer-substring b e) "\n") ""))) | ||
| 13290 | (kill-buffer buf) | ||
| 13291 | (kill-buffer frombuf) | ||
| 13292 | (delete-file tmpfile) | ||
| 13293 | rtn)) | ||
| 13294 | |||
| 13295 | (defun org-closest-date (start current change) | ||
| 13296 | "Find the date closest to CURRENT that is consistent with START and CHANGE." | ||
| 13297 | ;; Make the proper lists from the dates | ||
| 13298 | (catch 'exit | ||
| 13299 | (let ((a1 '(("d" . day) ("w" . week) ("m" . month) ("y" . year))) | ||
| 13300 | dn dw sday cday n1 n2 | ||
| 13301 | d m y y1 y2 date1 date2 nmonths nm ny m2) | ||
| 13302 | |||
| 13303 | (setq start (org-date-to-gregorian start) | ||
| 13304 | current (org-date-to-gregorian current) | ||
| 13305 | sday (calendar-absolute-from-gregorian start) | ||
| 13306 | cday (calendar-absolute-from-gregorian current)) | ||
| 13307 | |||
| 13308 | (if (<= cday sday) (throw 'exit sday)) | ||
| 13309 | |||
| 13310 | (if (string-match "\\(\\+[0-9]+\\)\\([dwmy]\\)" change) | ||
| 13311 | (setq dn (string-to-number (match-string 1 change)) | ||
| 13312 | dw (cdr (assoc (match-string 2 change) a1))) | ||
| 13313 | (error "Invalid change specifyer: %s" change)) | ||
| 13314 | (if (eq dw 'week) (setq dw 'day dn (* 7 dn))) | ||
| 13315 | (cond | ||
| 13316 | ((eq dw 'day) | ||
| 13317 | (setq n1 (+ sday (* dn (floor (/ (- cday sday) dn)))) | ||
| 13318 | n2 (+ n1 dn))) | ||
| 13319 | ((eq dw 'year) | ||
| 13320 | (setq d (nth 1 start) m (car start) y1 (nth 2 start) y2 (nth 2 current)) | ||
| 13321 | (setq y1 (+ (* (floor (/ (- y2 y1) dn)) dn) y1)) | ||
| 13322 | (setq date1 (list m d y1) | ||
| 13323 | n1 (calendar-absolute-from-gregorian date1) | ||
| 13324 | date2 (list m d (+ y1 (* (if (< n1 cday) 1 -1) dn))) | ||
| 13325 | n2 (calendar-absolute-from-gregorian date2))) | ||
| 13326 | ((eq dw 'month) | ||
| 13327 | ;; approx number of month between the tow dates | ||
| 13328 | (setq nmonths (floor (/ (- cday sday) 30.436875))) | ||
| 13329 | ;; How often does dn fit in there? | ||
| 13330 | (setq d (nth 1 start) m (car start) y (nth 2 start) | ||
| 13331 | nm (* dn (max 0 (1- (floor (/ nmonths dn))))) | ||
| 13332 | m (+ m nm) | ||
| 13333 | ny (floor (/ m 12)) | ||
| 13334 | y (+ y ny) | ||
| 13335 | m (- m (* ny 12))) | ||
| 13336 | (while (> m 12) (setq m (- m 12) y (1+ y))) | ||
| 13337 | (setq n1 (calendar-absolute-from-gregorian (list m d y))) | ||
| 13338 | (setq m2 (+ m dn) y2 y) | ||
| 13339 | (if (> m2 12) (setq y2 (1+ y2) m2 (- m2 12))) | ||
| 13340 | (setq n2 (calendar-absolute-from-gregorian (list m2 d y2))) | ||
| 13341 | (while (< n2 cday) | ||
| 13342 | (setq n1 n2 m m2 y y2) | ||
| 13343 | (setq m2 (+ m dn) y2 y) | ||
| 13344 | (if (> m2 12) (setq y2 (1+ y2) m2 (- m2 12))) | ||
| 13345 | (setq n2 (calendar-absolute-from-gregorian (list m2 d y2)))))) | ||
| 13346 | |||
| 13347 | (if (> (abs (- cday n1)) (abs (- cday n2))) n2 n1)))) | ||
| 13348 | |||
| 13349 | (defun org-date-to-gregorian (date) | ||
| 13350 | "Turn any specification of DATE into a gregorian date for the calendar." | ||
| 13351 | (cond ((integerp date) (calendar-gregorian-from-absolute date)) | ||
| 13352 | ((and (listp date) (= (length date) 3)) date) | ||
| 13353 | ((stringp date) | ||
| 13354 | (setq date (org-parse-time-string date)) | ||
| 13355 | (list (nth 4 date) (nth 3 date) (nth 5 date))) | ||
| 13356 | ((listp date) | ||
| 13357 | (list (nth 4 date) (nth 3 date) (nth 5 date))))) | ||
| 13358 | |||
| 12352 | (defun org-parse-time-string (s &optional nodefault) | 13359 | (defun org-parse-time-string (s &optional nodefault) |
| 12353 | "Parse the standard Org-mode time string. | 13360 | "Parse the standard Org-mode time string. |
| 12354 | This should be a lot faster than the normal `parse-time-string'. | 13361 | This should be a lot faster than the normal `parse-time-string'. |
| @@ -12436,6 +13443,7 @@ in the timestamp determines what will be changed." | |||
| 12436 | (let ((pos (point)) | 13443 | (let ((pos (point)) |
| 12437 | with-hm inactive | 13444 | with-hm inactive |
| 12438 | org-ts-what | 13445 | org-ts-what |
| 13446 | extra | ||
| 12439 | ts time time0) | 13447 | ts time time0) |
| 12440 | (if (not (org-at-timestamp-p t)) | 13448 | (if (not (org-at-timestamp-p t)) |
| 12441 | (error "Not at a timestamp")) | 13449 | (error "Not at a timestamp")) |
| @@ -12445,12 +13453,13 @@ in the timestamp determines what will be changed." | |||
| 12445 | (not (get-text-property (1- (point)) 'display))) | 13453 | (not (get-text-property (1- (point)) 'display))) |
| 12446 | (setq org-ts-what 'day)) | 13454 | (setq org-ts-what 'day)) |
| 12447 | (setq org-ts-what (or what org-ts-what) | 13455 | (setq org-ts-what (or what org-ts-what) |
| 12448 | with-hm (<= (abs (- (cdr org-ts-lengths) | ||
| 12449 | (- (match-end 0) (match-beginning 0)))) | ||
| 12450 | 1) | ||
| 12451 | inactive (= (char-after (match-beginning 0)) ?\[) | 13456 | inactive (= (char-after (match-beginning 0)) ?\[) |
| 12452 | ts (match-string 0)) | 13457 | ts (match-string 0)) |
| 12453 | (replace-match "") | 13458 | (replace-match "") |
| 13459 | (if (string-match " \\+[0-9]+[dwmy]" ts) | ||
| 13460 | (setq extra (match-string 0 ts))) | ||
| 13461 | (if (string-match "^.\\{10\\}.*?[0-9]+:[0-9][0-9]" ts) | ||
| 13462 | (setq with-hm t)) | ||
| 12454 | (setq time0 (org-parse-time-string ts)) | 13463 | (setq time0 (org-parse-time-string ts)) |
| 12455 | (setq time | 13464 | (setq time |
| 12456 | (apply 'encode-time | 13465 | (apply 'encode-time |
| @@ -12476,7 +13485,7 @@ in the timestamp determines what will be changed." | |||
| 12476 | (setcar (nthcdr 2 time0) (or (nth 1 time0) 0)) | 13485 | (setcar (nthcdr 2 time0) (or (nth 1 time0) 0)) |
| 12477 | (setq time (apply 'encode-time time0)))) | 13486 | (setq time (apply 'encode-time time0)))) |
| 12478 | (setq org-last-changed-timestamp | 13487 | (setq org-last-changed-timestamp |
| 12479 | (org-insert-time-stamp time with-hm inactive)) | 13488 | (org-insert-time-stamp time with-hm inactive nil nil extra)) |
| 12480 | (org-clock-update-time-maybe) | 13489 | (org-clock-update-time-maybe) |
| 12481 | (goto-char pos) | 13490 | (goto-char pos) |
| 12482 | ;; Try to recenter the calendar window, if any | 13491 | ;; Try to recenter the calendar window, if any |
| @@ -12525,8 +13534,27 @@ If there is already a time stamp at the cursor position, update it." | |||
| 12525 | 13534 | ||
| 12526 | ;;; The clock for measuring work time. | 13535 | ;;; The clock for measuring work time. |
| 12527 | 13536 | ||
| 13537 | (defvar org-mode-line-string "") | ||
| 13538 | (put 'org-mode-line-string 'risky-local-variable t) | ||
| 13539 | |||
| 13540 | (defvar org-mode-line-timer nil) | ||
| 13541 | (defvar org-clock-heading "") | ||
| 13542 | (defvar org-clock-start-time "") | ||
| 13543 | |||
| 13544 | (defun org-update-mode-line () | ||
| 13545 | (let* ((delta (- (time-to-seconds (current-time)) | ||
| 13546 | (time-to-seconds org-clock-start-time))) | ||
| 13547 | (h (floor delta 3600)) | ||
| 13548 | (m (floor (- delta (* 3600 h)) 60))) | ||
| 13549 | (setq org-mode-line-string | ||
| 13550 | (propertize (format "-[%d:%02d (%s)]" h m org-clock-heading) | ||
| 13551 | 'help-echo "Org-mode clock is running")) | ||
| 13552 | (force-mode-line-update))) | ||
| 13553 | |||
| 12528 | (defvar org-clock-marker (make-marker) | 13554 | (defvar org-clock-marker (make-marker) |
| 12529 | "Marker recording the last clock-in.") | 13555 | "Marker recording the last clock-in.") |
| 13556 | (defvar org-clock-mode-line-entry nil | ||
| 13557 | "Information for the modeline about the running clock.") | ||
| 12530 | 13558 | ||
| 12531 | (defun org-clock-in () | 13559 | (defun org-clock-in () |
| 12532 | "Start the clock on the current item. | 13560 | "Start the clock on the current item. |
| @@ -12536,6 +13564,10 @@ If necessary, clock-out of the currently active clock." | |||
| 12536 | (let (ts) | 13564 | (let (ts) |
| 12537 | (save-excursion | 13565 | (save-excursion |
| 12538 | (org-back-to-heading t) | 13566 | (org-back-to-heading t) |
| 13567 | (if (looking-at org-todo-line-regexp) | ||
| 13568 | (setq org-clock-heading (match-string 3)) | ||
| 13569 | (setq org-clock-heading "???")) | ||
| 13570 | (setq org-clock-heading (propertize org-clock-heading 'face nil)) | ||
| 12539 | (beginning-of-line 2) | 13571 | (beginning-of-line 2) |
| 12540 | (when (and (looking-at (concat "[ \t]*" org-keyword-time-regexp)) | 13572 | (when (and (looking-at (concat "[ \t]*" org-keyword-time-regexp)) |
| 12541 | (not (equal (match-string 1) org-clock-string))) | 13573 | (not (equal (match-string 1) org-clock-string))) |
| @@ -12545,8 +13577,15 @@ If necessary, clock-out of the currently active clock." | |||
| 12545 | (insert "\n") (backward-char 1) | 13577 | (insert "\n") (backward-char 1) |
| 12546 | (indent-relative) | 13578 | (indent-relative) |
| 12547 | (insert org-clock-string " ") | 13579 | (insert org-clock-string " ") |
| 13580 | (setq org-clock-start-time (current-time)) | ||
| 12548 | (setq ts (org-insert-time-stamp (current-time) 'with-hm 'inactive)) | 13581 | (setq ts (org-insert-time-stamp (current-time) 'with-hm 'inactive)) |
| 12549 | (move-marker org-clock-marker (point) (buffer-base-buffer)) | 13582 | (move-marker org-clock-marker (point) (buffer-base-buffer)) |
| 13583 | (or global-mode-string (setq global-mode-string '(""))) | ||
| 13584 | (or (memq 'org-mode-line-string global-mode-string) | ||
| 13585 | (setq global-mode-string | ||
| 13586 | (append global-mode-string '(org-mode-line-string)))) | ||
| 13587 | (org-update-mode-line) | ||
| 13588 | (setq org-mode-line-timer (run-with-timer 60 60 'org-update-mode-line)) | ||
| 12550 | (message "Clock started at %s" ts)))) | 13589 | (message "Clock started at %s" ts)))) |
| 12551 | 13590 | ||
| 12552 | (defun org-clock-out (&optional fail-quietly) | 13591 | (defun org-clock-out (&optional fail-quietly) |
| @@ -12577,6 +13616,12 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set." | |||
| 12577 | (insert " => " (format "%2d:%02d" h m)) | 13616 | (insert " => " (format "%2d:%02d" h m)) |
| 12578 | (move-marker org-clock-marker nil) | 13617 | (move-marker org-clock-marker nil) |
| 12579 | (org-add-log-maybe 'clock-out) | 13618 | (org-add-log-maybe 'clock-out) |
| 13619 | (when org-mode-line-timer | ||
| 13620 | (cancel-timer org-mode-line-timer) | ||
| 13621 | (setq org-mode-line-timer nil)) | ||
| 13622 | (setq global-mode-string | ||
| 13623 | (delq 'org-mode-line-string global-mode-string)) | ||
| 13624 | (force-mode-line-update) | ||
| 12580 | (message "Clock stopped at %s after HH:MM = %d:%02d" te h m))))) | 13625 | (message "Clock stopped at %s after HH:MM = %d:%02d" te h m))))) |
| 12581 | 13626 | ||
| 12582 | (defun org-clock-cancel () | 13627 | (defun org-clock-cancel () |
| @@ -12704,7 +13749,7 @@ from the `before-change-functions' in the current buffer." | |||
| 12704 | (defun org-clock-out-if-current () | 13749 | (defun org-clock-out-if-current () |
| 12705 | "Clock out if the current entry contains the running clock. | 13750 | "Clock out if the current entry contains the running clock. |
| 12706 | This is used to stop the clock after a TODO entry is marked DONE." | 13751 | This is used to stop the clock after a TODO entry is marked DONE." |
| 12707 | (when (and (equal state org-done-string) | 13752 | (when (and (member state org-done-keywords) |
| 12708 | (equal (marker-buffer org-clock-marker) (current-buffer)) | 13753 | (equal (marker-buffer org-clock-marker) (current-buffer)) |
| 12709 | (< (point) org-clock-marker) | 13754 | (< (point) org-clock-marker) |
| 12710 | (> (save-excursion (outline-next-heading) (point)) | 13755 | (> (save-excursion (outline-next-heading) (point)) |
| @@ -12984,86 +14029,89 @@ The following commands are available: | |||
| 12984 | 14029 | ||
| 12985 | (substitute-key-definition 'undo 'org-agenda-undo | 14030 | (substitute-key-definition 'undo 'org-agenda-undo |
| 12986 | org-agenda-mode-map global-map) | 14031 | org-agenda-mode-map global-map) |
| 12987 | (define-key org-agenda-mode-map "\C-i" 'org-agenda-goto) | 14032 | (org-defkey org-agenda-mode-map "\C-i" 'org-agenda-goto) |
| 12988 | (define-key org-agenda-mode-map [(tab)] 'org-agenda-goto) | 14033 | (org-defkey org-agenda-mode-map [(tab)] 'org-agenda-goto) |
| 12989 | (define-key org-agenda-mode-map "\C-m" 'org-agenda-switch-to) | 14034 | (org-defkey org-agenda-mode-map "\C-m" 'org-agenda-switch-to) |
| 12990 | (define-key org-agenda-mode-map "\C-k" 'org-agenda-kill) | 14035 | (org-defkey org-agenda-mode-map "\C-k" 'org-agenda-kill) |
| 12991 | (define-key org-agenda-mode-map "\C-c$" 'org-agenda-archive) | 14036 | (org-defkey org-agenda-mode-map "\C-c$" 'org-agenda-archive) |
| 12992 | (define-key org-agenda-mode-map "\C-c\C-x\C-s" 'org-agenda-archive) | 14037 | (org-defkey org-agenda-mode-map "\C-c\C-x\C-s" 'org-agenda-archive) |
| 12993 | (define-key org-agenda-mode-map "$" 'org-agenda-archive) | 14038 | (org-defkey org-agenda-mode-map "$" 'org-agenda-archive) |
| 12994 | (define-key org-agenda-mode-map "\C-c\C-o" 'org-agenda-open-link) | 14039 | (org-defkey org-agenda-mode-map "\C-c\C-o" 'org-agenda-open-link) |
| 12995 | (define-key org-agenda-mode-map " " 'org-agenda-show) | 14040 | (org-defkey org-agenda-mode-map " " 'org-agenda-show) |
| 12996 | (define-key org-agenda-mode-map "\C-c\C-t" 'org-agenda-todo) | 14041 | (org-defkey org-agenda-mode-map "\C-c\C-t" 'org-agenda-todo) |
| 12997 | (define-key org-agenda-mode-map "\C-c\C-xb" 'org-agenda-tree-to-indirect-buffer) | 14042 | (org-defkey org-agenda-mode-map [(control shift right)] 'org-agenda-todo-nextset) |
| 12998 | (define-key org-agenda-mode-map "b" 'org-agenda-tree-to-indirect-buffer) | 14043 | (org-defkey org-agenda-mode-map [(control shift left)] 'org-agenda-todo-previousset) |
| 12999 | (define-key org-agenda-mode-map "o" 'delete-other-windows) | 14044 | (org-defkey org-agenda-mode-map "\C-c\C-xb" 'org-agenda-tree-to-indirect-buffer) |
| 13000 | (define-key org-agenda-mode-map "L" 'org-agenda-recenter) | 14045 | (org-defkey org-agenda-mode-map "b" 'org-agenda-tree-to-indirect-buffer) |
| 13001 | (define-key org-agenda-mode-map "t" 'org-agenda-todo) | 14046 | (org-defkey org-agenda-mode-map "o" 'delete-other-windows) |
| 13002 | (define-key org-agenda-mode-map "a" 'org-agenda-toggle-archive-tag) | 14047 | (org-defkey org-agenda-mode-map "L" 'org-agenda-recenter) |
| 13003 | (define-key org-agenda-mode-map ":" 'org-agenda-set-tags) | 14048 | (org-defkey org-agenda-mode-map "t" 'org-agenda-todo) |
| 13004 | (define-key org-agenda-mode-map "." 'org-agenda-goto-today) | 14049 | (org-defkey org-agenda-mode-map "a" 'org-agenda-toggle-archive-tag) |
| 13005 | (define-key org-agenda-mode-map "d" 'org-agenda-day-view) | 14050 | (org-defkey org-agenda-mode-map ":" 'org-agenda-set-tags) |
| 13006 | (define-key org-agenda-mode-map "w" 'org-agenda-week-view) | 14051 | (org-defkey org-agenda-mode-map "." 'org-agenda-goto-today) |
| 13007 | (define-key org-agenda-mode-map (org-key 'S-right) 'org-agenda-date-later) | 14052 | (org-defkey org-agenda-mode-map "d" 'org-agenda-day-view) |
| 13008 | (define-key org-agenda-mode-map (org-key 'S-left) 'org-agenda-date-earlier) | 14053 | (org-defkey org-agenda-mode-map "w" 'org-agenda-week-view) |
| 13009 | (define-key org-agenda-mode-map [?\C-c ?\C-x (right)] 'org-agenda-date-later) | 14054 | (org-defkey org-agenda-mode-map [(shift right)] 'org-agenda-date-later) |
| 13010 | (define-key org-agenda-mode-map [?\C-c ?\C-x (left)] 'org-agenda-date-earlier) | 14055 | (org-defkey org-agenda-mode-map [(shift left)] 'org-agenda-date-earlier) |
| 13011 | 14056 | (org-defkey org-agenda-mode-map [?\C-c ?\C-x (right)] 'org-agenda-date-later) | |
| 13012 | (define-key org-agenda-mode-map ">" 'org-agenda-date-prompt) | 14057 | (org-defkey org-agenda-mode-map [?\C-c ?\C-x (left)] 'org-agenda-date-earlier) |
| 13013 | (define-key org-agenda-mode-map "\C-c\C-s" 'org-agenda-schedule) | 14058 | |
| 13014 | (define-key org-agenda-mode-map "\C-c\C-d" 'org-agenda-deadline) | 14059 | (org-defkey org-agenda-mode-map ">" 'org-agenda-date-prompt) |
| 14060 | (org-defkey org-agenda-mode-map "\C-c\C-s" 'org-agenda-schedule) | ||
| 14061 | (org-defkey org-agenda-mode-map "\C-c\C-d" 'org-agenda-deadline) | ||
| 13015 | (let ((l '(1 2 3 4 5 6 7 8 9 0))) | 14062 | (let ((l '(1 2 3 4 5 6 7 8 9 0))) |
| 13016 | (while l (define-key org-agenda-mode-map | 14063 | (while l (org-defkey org-agenda-mode-map |
| 13017 | (int-to-string (pop l)) 'digit-argument))) | 14064 | (int-to-string (pop l)) 'digit-argument))) |
| 13018 | 14065 | ||
| 13019 | (define-key org-agenda-mode-map "f" 'org-agenda-follow-mode) | 14066 | (org-defkey org-agenda-mode-map "f" 'org-agenda-follow-mode) |
| 13020 | (define-key org-agenda-mode-map "l" 'org-agenda-log-mode) | 14067 | (org-defkey org-agenda-mode-map "l" 'org-agenda-log-mode) |
| 13021 | (define-key org-agenda-mode-map "D" 'org-agenda-toggle-diary) | 14068 | (org-defkey org-agenda-mode-map "D" 'org-agenda-toggle-diary) |
| 13022 | (define-key org-agenda-mode-map "g" 'org-agenda-toggle-time-grid) | 14069 | (org-defkey org-agenda-mode-map "g" 'org-agenda-toggle-time-grid) |
| 13023 | (define-key org-agenda-mode-map "r" 'org-agenda-redo) | 14070 | (org-defkey org-agenda-mode-map "r" 'org-agenda-redo) |
| 13024 | (define-key org-agenda-mode-map "q" 'org-agenda-quit) | 14071 | (org-defkey org-agenda-mode-map "q" 'org-agenda-quit) |
| 13025 | (define-key org-agenda-mode-map "x" 'org-agenda-exit) | 14072 | (org-defkey org-agenda-mode-map "x" 'org-agenda-exit) |
| 13026 | (define-key org-agenda-mode-map "s" 'org-save-all-org-buffers) | 14073 | (org-defkey org-agenda-mode-map "\C-x\C-w" 'org-write-agenda) |
| 13027 | (define-key org-agenda-mode-map "P" 'org-agenda-show-priority) | 14074 | (org-defkey org-agenda-mode-map "s" 'org-save-all-org-buffers) |
| 13028 | (define-key org-agenda-mode-map "T" 'org-agenda-show-tags) | 14075 | (org-defkey org-agenda-mode-map "P" 'org-agenda-show-priority) |
| 13029 | (define-key org-agenda-mode-map "n" 'next-line) | 14076 | (org-defkey org-agenda-mode-map "T" 'org-agenda-show-tags) |
| 13030 | (define-key org-agenda-mode-map "p" 'previous-line) | 14077 | (org-defkey org-agenda-mode-map "n" 'next-line) |
| 13031 | (define-key org-agenda-mode-map "\C-n" 'org-agenda-next-date-line) | 14078 | (org-defkey org-agenda-mode-map "p" 'previous-line) |
| 13032 | (define-key org-agenda-mode-map "\C-p" 'org-agenda-previous-date-line) | 14079 | (org-defkey org-agenda-mode-map "\C-n" 'org-agenda-next-date-line) |
| 13033 | (define-key org-agenda-mode-map "," 'org-agenda-priority) | 14080 | (org-defkey org-agenda-mode-map "\C-p" 'org-agenda-previous-date-line) |
| 13034 | (define-key org-agenda-mode-map "\C-c," 'org-agenda-priority) | 14081 | (org-defkey org-agenda-mode-map "," 'org-agenda-priority) |
| 13035 | (define-key org-agenda-mode-map "i" 'org-agenda-diary-entry) | 14082 | (org-defkey org-agenda-mode-map "\C-c," 'org-agenda-priority) |
| 13036 | (define-key org-agenda-mode-map "c" 'org-agenda-goto-calendar) | 14083 | (org-defkey org-agenda-mode-map "i" 'org-agenda-diary-entry) |
| 14084 | (org-defkey org-agenda-mode-map "c" 'org-agenda-goto-calendar) | ||
| 13037 | (eval-after-load "calendar" | 14085 | (eval-after-load "calendar" |
| 13038 | '(define-key calendar-mode-map org-calendar-to-agenda-key | 14086 | '(org-defkey calendar-mode-map org-calendar-to-agenda-key |
| 13039 | 'org-calendar-goto-agenda)) | 14087 | 'org-calendar-goto-agenda)) |
| 13040 | (define-key org-agenda-mode-map "C" 'org-agenda-convert-date) | 14088 | (org-defkey org-agenda-mode-map "C" 'org-agenda-convert-date) |
| 13041 | (define-key org-agenda-mode-map "m" 'org-agenda-phases-of-moon) | 14089 | (org-defkey org-agenda-mode-map "m" 'org-agenda-phases-of-moon) |
| 13042 | (define-key org-agenda-mode-map "M" 'org-agenda-phases-of-moon) | 14090 | (org-defkey org-agenda-mode-map "M" 'org-agenda-phases-of-moon) |
| 13043 | (define-key org-agenda-mode-map "S" 'org-agenda-sunrise-sunset) | 14091 | (org-defkey org-agenda-mode-map "S" 'org-agenda-sunrise-sunset) |
| 13044 | (define-key org-agenda-mode-map "h" 'org-agenda-holidays) | 14092 | (org-defkey org-agenda-mode-map "h" 'org-agenda-holidays) |
| 13045 | (define-key org-agenda-mode-map "H" 'org-agenda-holidays) | 14093 | (org-defkey org-agenda-mode-map "H" 'org-agenda-holidays) |
| 13046 | (define-key org-agenda-mode-map "+" 'org-agenda-priority-up) | 14094 | (org-defkey org-agenda-mode-map "I" 'org-agenda-clock-in) |
| 13047 | (define-key org-agenda-mode-map "I" 'org-agenda-clock-in) | 14095 | (org-defkey org-agenda-mode-map "O" 'org-agenda-clock-out) |
| 13048 | (define-key org-agenda-mode-map "O" 'org-agenda-clock-out) | 14096 | (org-defkey org-agenda-mode-map "X" 'org-agenda-clock-cancel) |
| 13049 | (define-key org-agenda-mode-map "X" 'org-agenda-clock-cancel) | 14097 | (org-defkey org-agenda-mode-map "+" 'org-agenda-priority-up) |
| 13050 | (define-key org-agenda-mode-map "-" 'org-agenda-priority-down) | 14098 | (org-defkey org-agenda-mode-map "-" 'org-agenda-priority-down) |
| 13051 | (define-key org-agenda-mode-map (org-key 'S-up) 'org-agenda-priority-up) | 14099 | (org-defkey org-agenda-mode-map [(shift up)] 'org-agenda-priority-up) |
| 13052 | (define-key org-agenda-mode-map (org-key 'S-down) 'org-agenda-priority-down) | 14100 | (org-defkey org-agenda-mode-map [(shift down)] 'org-agenda-priority-down) |
| 13053 | (define-key org-agenda-mode-map [?\C-c ?\C-x (up)] 'org-agenda-priority-up) | 14101 | (org-defkey org-agenda-mode-map [?\C-c ?\C-x (up)] 'org-agenda-priority-up) |
| 13054 | (define-key org-agenda-mode-map [?\C-c ?\C-x (down)] 'org-agenda-priority-down) | 14102 | (org-defkey org-agenda-mode-map [?\C-c ?\C-x (down)] 'org-agenda-priority-down) |
| 13055 | (define-key org-agenda-mode-map [(right)] 'org-agenda-later) | 14103 | (org-defkey org-agenda-mode-map [(right)] 'org-agenda-later) |
| 13056 | (define-key org-agenda-mode-map [(left)] 'org-agenda-earlier) | 14104 | (org-defkey org-agenda-mode-map [(left)] 'org-agenda-earlier) |
| 13057 | (define-key org-agenda-mode-map "\C-c\C-x\C-c" 'org-export-icalendar-combine-agenda-files) | 14105 | (org-defkey org-agenda-mode-map "\C-c\C-x\C-c" 'org-export-icalendar-combine-agenda-files) |
| 13058 | (defvar org-agenda-keymap (copy-keymap org-agenda-mode-map) | 14106 | (defvar org-agenda-keymap (copy-keymap org-agenda-mode-map) |
| 13059 | "Local keymap for agenda entries from Org-mode.") | 14107 | "Local keymap for agenda entries from Org-mode.") |
| 13060 | 14108 | ||
| 13061 | (define-key org-agenda-keymap | 14109 | (org-defkey org-agenda-keymap |
| 13062 | (if (featurep 'xemacs) [(button2)] [(mouse-2)]) 'org-agenda-goto-mouse) | 14110 | (if (featurep 'xemacs) [(button2)] [(mouse-2)]) 'org-agenda-goto-mouse) |
| 13063 | (define-key org-agenda-keymap | 14111 | (org-defkey org-agenda-keymap |
| 13064 | (if (featurep 'xemacs) [(button3)] [(mouse-3)]) 'org-agenda-show-mouse) | 14112 | (if (featurep 'xemacs) [(button3)] [(mouse-3)]) 'org-agenda-show-mouse) |
| 13065 | (when org-agenda-mouse-1-follows-link | 14113 | (when org-agenda-mouse-1-follows-link |
| 13066 | (define-key org-agenda-keymap [follow-link] 'mouse-face)) | 14114 | (org-defkey org-agenda-keymap [follow-link] 'mouse-face)) |
| 13067 | (easy-menu-define org-agenda-menu org-agenda-mode-map "Agenda menu" | 14115 | (easy-menu-define org-agenda-menu org-agenda-mode-map "Agenda menu" |
| 13068 | '("Agenda" | 14116 | '("Agenda" |
| 13069 | ("Agenda Files") | 14117 | ("Agenda Files") |
| @@ -13120,6 +14168,7 @@ The following commands are available: | |||
| 13120 | :style toggle :selected org-agenda-include-diary :active (org-agenda-check-type nil 'agenda)] | 14168 | :style toggle :selected org-agenda-include-diary :active (org-agenda-check-type nil 'agenda)] |
| 13121 | ["Use Time Grid" org-agenda-toggle-time-grid | 14169 | ["Use Time Grid" org-agenda-toggle-time-grid |
| 13122 | :style toggle :selected org-agenda-use-time-grid :active (org-agenda-check-type nil 'agenda)]) | 14170 | :style toggle :selected org-agenda-use-time-grid :active (org-agenda-check-type nil 'agenda)]) |
| 14171 | ["Write view to file" org-write-agenda t] | ||
| 13123 | ["Rebuild buffer" org-agenda-redo t] | 14172 | ["Rebuild buffer" org-agenda-redo t] |
| 13124 | ["Save all Org-mode Buffers" org-save-all-org-buffers t] | 14173 | ["Save all Org-mode Buffers" org-save-all-org-buffers t] |
| 13125 | "--" | 14174 | "--" |
| @@ -13146,6 +14195,11 @@ The following commands are available: | |||
| 13146 | `(unless (get-text-property (point) 'org-protected) | 14195 | `(unless (get-text-property (point) 'org-protected) |
| 13147 | ,@body)) | 14196 | ,@body)) |
| 13148 | 14197 | ||
| 14198 | (defmacro org-unmodified (&rest body) | ||
| 14199 | "Execute body without changing buffer-modified-p." | ||
| 14200 | `(set-buffer-modified-p | ||
| 14201 | (prog1 (buffer-modified-p) ,@body))) | ||
| 14202 | |||
| 13149 | (defmacro org-with-remote-undo (_buffer &rest _body) | 14203 | (defmacro org-with-remote-undo (_buffer &rest _body) |
| 13150 | "Execute BODY while recording undo information in two buffers." | 14204 | "Execute BODY while recording undo information in two buffers." |
| 13151 | (declare (indent 1) (debug t)) | 14205 | (declare (indent 1) (debug t)) |
| @@ -13230,7 +14284,8 @@ T Call `org-todo-list' to display the global todo list, select only | |||
| 13230 | m Call `org-tags-view' to display headlines with tags matching | 14284 | m Call `org-tags-view' to display headlines with tags matching |
| 13231 | a condition (the user is prompted for the condition). | 14285 | a condition (the user is prompted for the condition). |
| 13232 | M Like `m', but select only TODO entries, no ordinary headlines. | 14286 | M Like `m', but select only TODO entries, no ordinary headlines. |
| 13233 | l Create a timeeline for the current buffer. | 14287 | l Create a timeline for the current buffer. |
| 14288 | e Export views to associated files. | ||
| 13234 | 14289 | ||
| 13235 | More commands can be added by configuring the variable | 14290 | More commands can be added by configuring the variable |
| 13236 | `org-agenda-custom-commands'. In particular, specific tags and TODO keyword | 14291 | `org-agenda-custom-commands'. In particular, specific tags and TODO keyword |
| @@ -13261,7 +14316,7 @@ next use of \\[org-agenda]) restricted to the current file." | |||
| 13261 | (let ((header | 14316 | (let ((header |
| 13262 | "Press key for an agenda command: | 14317 | "Press key for an agenda command: |
| 13263 | -------------------------------- C Configure custom agenda commands | 14318 | -------------------------------- C Configure custom agenda commands |
| 13264 | a Agenda for current week or day | 14319 | a Agenda for current week or day e Export agenda views |
| 13265 | t List of all TODO entries T Entries with special TODO kwd | 14320 | t List of all TODO entries T Entries with special TODO kwd |
| 13266 | m Match a TAGS query M Like m, but only TODO entries | 14321 | m Match a TAGS query M Like m, but only TODO entries |
| 13267 | L Timeline for current buffer # List stuck projects (!=configure) | 14322 | L Timeline for current buffer # List stuck projects (!=configure) |
| @@ -13279,6 +14334,9 @@ L Timeline for current buffer # List stuck projects (!=configure) | |||
| 13279 | '(face bold)) | 14334 | '(face bold)) |
| 13280 | (cond | 14335 | (cond |
| 13281 | ((stringp type) type) | 14336 | ((stringp type) type) |
| 14337 | ((eq type 'agenda) "Agenda for current week or day") | ||
| 14338 | ((eq type 'alltodo) "List of all TODO entries") | ||
| 14339 | ((eq type 'stuck) "List of stuck projects") | ||
| 13282 | ((eq type 'todo) "TODO keyword") | 14340 | ((eq type 'todo) "TODO keyword") |
| 13283 | ((eq type 'tags) "Tags query") | 14341 | ((eq type 'tags) "Tags query") |
| 13284 | ((eq type 'tags-todo) "Tags (TODO)") | 14342 | ((eq type 'tags-todo) "Tags (TODO)") |
| @@ -13333,6 +14391,13 @@ L Timeline for current buffer # List stuck projects (!=configure) | |||
| 13333 | (setq type (nth 1 entry) match (nth 2 entry) lprops (nth 3 entry) | 14391 | (setq type (nth 1 entry) match (nth 2 entry) lprops (nth 3 entry) |
| 13334 | lprops (nth 3 entry)) | 14392 | lprops (nth 3 entry)) |
| 13335 | (cond | 14393 | (cond |
| 14394 | ((eq type 'agenda) | ||
| 14395 | (org-let lprops '(org-agenda-list current-prefix-arg))) | ||
| 14396 | ((eq type 'alltodo) | ||
| 14397 | (org-let lprops '(org-todo-list current-prefix-arg))) | ||
| 14398 | ((eq type 'stuck) | ||
| 14399 | (org-let lprops '(org-agenda-list-stuck-projects | ||
| 14400 | current-prefix-arg))) | ||
| 13336 | ((eq type 'tags) | 14401 | ((eq type 'tags) |
| 13337 | (org-let lprops '(org-tags-view current-prefix-arg match))) | 14402 | (org-let lprops '(org-tags-view current-prefix-arg match))) |
| 13338 | ((eq type 'tags-todo) | 14403 | ((eq type 'tags-todo) |
| @@ -13353,13 +14418,14 @@ L Timeline for current buffer # List stuck projects (!=configure) | |||
| 13353 | ((fboundp type) | 14418 | ((fboundp type) |
| 13354 | (org-let lprops '(funcall type match))) | 14419 | (org-let lprops '(funcall type match))) |
| 13355 | (t (error "Invalid custom agenda command type %s" type)))) | 14420 | (t (error "Invalid custom agenda command type %s" type)))) |
| 13356 | (org-run-agenda-series (cddr entry)))) | 14421 | (org-run-agenda-series (nth 1 entry) (cddr entry)))) |
| 13357 | ((equal c ?C) (customize-variable 'org-agenda-custom-commands)) | 14422 | ((equal c ?C) (customize-variable 'org-agenda-custom-commands)) |
| 13358 | ((equal c ?a) (call-interactively 'org-agenda-list)) | 14423 | ((equal c ?a) (call-interactively 'org-agenda-list)) |
| 13359 | ((equal c ?t) (call-interactively 'org-todo-list)) | 14424 | ((equal c ?t) (call-interactively 'org-todo-list)) |
| 13360 | ((equal c ?T) (org-call-with-arg 'org-todo-list (or arg '(4)))) | 14425 | ((equal c ?T) (org-call-with-arg 'org-todo-list (or arg '(4)))) |
| 13361 | ((equal c ?m) (call-interactively 'org-tags-view)) | 14426 | ((equal c ?m) (call-interactively 'org-tags-view)) |
| 13362 | ((equal c ?M) (org-call-with-arg 'org-tags-view (or arg '(4)))) | 14427 | ((equal c ?M) (org-call-with-arg 'org-tags-view (or arg '(4)))) |
| 14428 | ((equal c ?e) (call-interactively 'org-store-agenda-views)) | ||
| 13363 | ((equal c ?L) | 14429 | ((equal c ?L) |
| 13364 | (unless restrict-ok | 14430 | (unless restrict-ok |
| 13365 | (error "This is not an Org-mode file")) | 14431 | (error "This is not an Org-mode file")) |
| @@ -13368,10 +14434,10 @@ L Timeline for current buffer # List stuck projects (!=configure) | |||
| 13368 | ((equal c ?!) (customize-variable 'org-stuck-projects)) | 14434 | ((equal c ?!) (customize-variable 'org-stuck-projects)) |
| 13369 | (t (error "Invalid key")))))) | 14435 | (t (error "Invalid key")))))) |
| 13370 | 14436 | ||
| 13371 | (defun org-run-agenda-series (series) | 14437 | (defun org-run-agenda-series (name series) |
| 13372 | (org-prepare-agenda) | 14438 | (org-prepare-agenda name) |
| 13373 | (let* ((org-agenda-multi t) | 14439 | (let* ((org-agenda-multi t) |
| 13374 | (redo (list 'org-run-agenda-series (list 'quote series))) | 14440 | (redo (list 'org-run-agenda-series name (list 'quote series))) |
| 13375 | (cmds (car series)) | 14441 | (cmds (car series)) |
| 13376 | (gprops (nth 1 series)) | 14442 | (gprops (nth 1 series)) |
| 13377 | match ;; The byte compiler incorrectly complains about this. Keep it! | 14443 | match ;; The byte compiler incorrectly complains about this. Keep it! |
| @@ -13380,11 +14446,14 @@ L Timeline for current buffer # List stuck projects (!=configure) | |||
| 13380 | (setq type (car cmd) match (nth 1 cmd) lprops (nth 2 cmd)) | 14446 | (setq type (car cmd) match (nth 1 cmd) lprops (nth 2 cmd)) |
| 13381 | (cond | 14447 | (cond |
| 13382 | ((eq type 'agenda) | 14448 | ((eq type 'agenda) |
| 13383 | (call-interactively 'org-agenda-list)) | 14449 | (org-let2 gprops lprops |
| 14450 | '(call-interactively 'org-agenda-list))) | ||
| 13384 | ((eq type 'alltodo) | 14451 | ((eq type 'alltodo) |
| 13385 | (call-interactively 'org-todo-list)) | 14452 | (org-let2 gprops lprops |
| 14453 | '(call-interactively 'org-todo-list))) | ||
| 13386 | ((eq type 'stuck) | 14454 | ((eq type 'stuck) |
| 13387 | (call-interactively 'org-agenda-list-stuck-projects)) | 14455 | (org-let2 gprops lprops |
| 14456 | '(call-interactively 'org-agenda-list-stuck-projects))) | ||
| 13388 | ((eq type 'tags) | 14457 | ((eq type 'tags) |
| 13389 | (org-let2 gprops lprops | 14458 | (org-let2 gprops lprops |
| 13390 | '(org-tags-view current-prefix-arg match))) | 14459 | '(org-tags-view current-prefix-arg match))) |
| @@ -13405,17 +14474,208 @@ L Timeline for current buffer # List stuck projects (!=configure) | |||
| 13405 | 14474 | ||
| 13406 | ;;;###autoload | 14475 | ;;;###autoload |
| 13407 | (defmacro org-batch-agenda (cmd-key &rest parameters) | 14476 | (defmacro org-batch-agenda (cmd-key &rest parameters) |
| 13408 | "Run an agenda command in batch mode, send result to STDOUT. | 14477 | "Run an agenda command in batch mode and send the result to STDOUT. |
| 13409 | CMD-KEY is a string that is also a key in `org-agenda-custom-commands'. | 14478 | If CMD-KEY is a string of length 1, it is used as a key in |
| 14479 | `org-agenda-custom-commands' and triggers this command. If it is a | ||
| 14480 | longer string it is used as a tags/todo match string. | ||
| 13410 | Paramters are alternating variable names and values that will be bound | 14481 | Paramters are alternating variable names and values that will be bound |
| 13411 | before running the agenda command." | 14482 | before running the agenda command." |
| 13412 | (let (pars) | 14483 | (let (pars) |
| 13413 | (while parameters | 14484 | (while parameters |
| 13414 | (push (list (pop parameters) (if parameters (pop parameters))) pars)) | 14485 | (push (list (pop parameters) (if parameters (pop parameters))) pars)) |
| 13415 | (flet ((read-char-exclusive () (string-to-char cmd-key))) | 14486 | (if (> (length cmd-key) 1) |
| 13416 | (eval (list 'let (nreverse pars) '(org-agenda nil)))) | 14487 | (eval (list 'let (nreverse pars) |
| 14488 | (list 'org-tags-view nil cmd-key))) | ||
| 14489 | (flet ((read-char-exclusive () (string-to-char cmd-key))) | ||
| 14490 | (eval (list 'let (nreverse pars) '(org-agenda nil))))) | ||
| 14491 | (set-buffer "*Org Agenda*") | ||
| 14492 | (princ (org-encode-for-stdout (buffer-string))))) | ||
| 14493 | |||
| 14494 | (defun org-encode-for-stdout (string) | ||
| 14495 | (if (fboundp 'encode-coding-string) | ||
| 14496 | (encode-coding-string string buffer-file-coding-system) | ||
| 14497 | string)) | ||
| 14498 | |||
| 14499 | (defvar org-agenda-info nil) | ||
| 14500 | |||
| 14501 | ;;;###autoload | ||
| 14502 | (defmacro org-batch-agenda-csv (cmd-key &rest parameters) | ||
| 14503 | "Run an agenda command in batch mode and send the result to STDOUT. | ||
| 14504 | If CMD-KEY is a string of length 1, it is used as a key in | ||
| 14505 | `org-agenda-custom-commands' and triggers this command. If it is a | ||
| 14506 | longer string it is used as a tags/todo match string. | ||
| 14507 | Paramters are alternating variable names and values that will be bound | ||
| 14508 | before running the agenda command. | ||
| 14509 | |||
| 14510 | The output gives a line for each selected agenda item. Each | ||
| 14511 | item is a list of comma-separated values, like this: | ||
| 14512 | |||
| 14513 | category,head,type,todo,tags,date,time,extra,priority-l,priority-n | ||
| 14514 | |||
| 14515 | category The category of the item | ||
| 14516 | head The headline, without TODO kwd, TAGS and PRIORITY | ||
| 14517 | type The type of the agenda entry, can be | ||
| 14518 | todo selected in TODO match | ||
| 14519 | tagsmatch selected in tags match | ||
| 14520 | diary imported from diary | ||
| 14521 | deadline a deadline on given date | ||
| 14522 | scheduled scheduled on given date | ||
| 14523 | timestamp entry has timestamp on given date | ||
| 14524 | closed entry was closed on given date | ||
| 14525 | upcoming-deadline warning about deadline | ||
| 14526 | past-scheduled forwarded scheduled item | ||
| 14527 | block entry has date block including g. date | ||
| 14528 | todo The todo keyword, if any | ||
| 14529 | tags All tags including inherited ones, separated by colons | ||
| 14530 | date The relevant date, like 2007-2-14 | ||
| 14531 | time The time, like 15:00-16:50 | ||
| 14532 | extra Sting with extra planning info | ||
| 14533 | priority-l The priority letter if any was given | ||
| 14534 | priority-n The computed numerical priority" | ||
| 14535 | |||
| 14536 | (let (pars) | ||
| 14537 | (while parameters | ||
| 14538 | (push (list (pop parameters) (if parameters (pop parameters))) pars)) | ||
| 14539 | (push (list 'org-agenda-remove-tags t) pars) | ||
| 14540 | (if (> (length cmd-key) 1) | ||
| 14541 | (eval (list 'let (nreverse pars) | ||
| 14542 | (list 'org-tags-view nil cmd-key))) | ||
| 14543 | (flet ((read-char-exclusive () (string-to-char cmd-key))) | ||
| 14544 | (eval (list 'let (nreverse pars) '(org-agenda nil))))) | ||
| 13417 | (set-buffer "*Org Agenda*") | 14545 | (set-buffer "*Org Agenda*") |
| 13418 | (princ (buffer-string)))) | 14546 | (let* ((lines (org-split-string (buffer-string) "\n")) |
| 14547 | line) | ||
| 14548 | (while (setq line (pop lines)) | ||
| 14549 | (catch 'next | ||
| 14550 | (if (not (get-text-property 0 'org-category line)) (throw 'next nil)) | ||
| 14551 | (setq org-agenda-info | ||
| 14552 | (org-fix-agenda-info (text-properties-at 0 line))) | ||
| 14553 | (princ | ||
| 14554 | (org-encode-for-stdout | ||
| 14555 | (mapconcat 'org-agenda-export-csv-mapper | ||
| 14556 | '(org-category txt type todo tags date time-of-day extra | ||
| 14557 | priority-letter priority) | ||
| 14558 | ","))) | ||
| 14559 | (princ "\n")))))) | ||
| 14560 | |||
| 14561 | (defun org-fix-agenda-info (props) | ||
| 14562 | "FIXME" | ||
| 14563 | (let (tmp re) | ||
| 14564 | (when (setq tmp (plist-get props 'tags)) | ||
| 14565 | (setq props (plist-put props 'tags (mapconcat 'identity tmp ":")))) | ||
| 14566 | (when (setq tmp (plist-get props 'date)) | ||
| 14567 | (if (integerp tmp) (setq tmp (calendar-gregorian-from-absolute tmp))) | ||
| 14568 | (let ((calendar-date-display-form '(year "-" month "-" day))) | ||
| 14569 | '((format "%4d, %9s %2s, %4s" dayname monthname day year)) | ||
| 14570 | |||
| 14571 | (setq tmp (calendar-date-string tmp))) | ||
| 14572 | (setq props (plist-put props 'date tmp))) | ||
| 14573 | (when (setq tmp (plist-get props 'day)) | ||
| 14574 | (if (integerp tmp) (setq tmp (calendar-gregorian-from-absolute tmp))) | ||
| 14575 | (let ((calendar-date-display-form '(year "-" month "-" day))) | ||
| 14576 | (setq tmp (calendar-date-string tmp))) | ||
| 14577 | (setq props (plist-put props 'day tmp))) | ||
| 14578 | (when (setq tmp (plist-get props 'txt)) | ||
| 14579 | (when (string-match "\\[#\\([A-Z0-9]\\)\\] ?" tmp) | ||
| 14580 | (plist-put props 'priority-letter (match-string 1 tmp)) | ||
| 14581 | (setq tmp (replace-match "" t t tmp))) | ||
| 14582 | (when (and (setq re (plist-get props 'org-todo-regexp)) | ||
| 14583 | (setq re (concat "\\`\\.*" re " ?")) | ||
| 14584 | (string-match re tmp)) | ||
| 14585 | (plist-put props 'todo (match-string 1 tmp)) | ||
| 14586 | (setq tmp (replace-match "" t t tmp))) | ||
| 14587 | (plist-put props 'txt tmp))) | ||
| 14588 | props) | ||
| 14589 | |||
| 14590 | (defun org-agenda-export-csv-mapper (prop) | ||
| 14591 | (let ((res (plist-get org-agenda-info prop))) | ||
| 14592 | (setq res | ||
| 14593 | (cond | ||
| 14594 | ((not res) "") | ||
| 14595 | ((stringp res) res) | ||
| 14596 | (t (prin1-to-string res)))) | ||
| 14597 | (while (string-match "," res) | ||
| 14598 | (setq res (replace-match ";" t t res))) | ||
| 14599 | (org-trim res))) | ||
| 14600 | |||
| 14601 | |||
| 14602 | ;;;###autoload | ||
| 14603 | (defun org-store-agenda-views (&rest parameters) | ||
| 14604 | (interactive) | ||
| 14605 | (eval (list 'org-batch-store-agenda-views))) | ||
| 14606 | |||
| 14607 | (defvar org-agenda-buffer-name) | ||
| 14608 | |||
| 14609 | ;; FIXME, why is this a macro????? | ||
| 14610 | ;;;###autoload | ||
| 14611 | (defmacro org-batch-store-agenda-views (&rest parameters) | ||
| 14612 | "Run all custom agenda commands that have a file argument." | ||
| 14613 | (let ((cmds org-agenda-custom-commands) | ||
| 14614 | (dir (default-directory)) | ||
| 14615 | pars cmd thiscmdkey files opts) | ||
| 14616 | (while parameters | ||
| 14617 | (push (list (pop parameters) (if parameters (pop parameters))) pars)) | ||
| 14618 | (setq pars (reverse pars)) | ||
| 14619 | (save-window-excursion | ||
| 14620 | (while cmds | ||
| 14621 | (setq cmd (pop cmds) | ||
| 14622 | thiscmdkey (car cmd) | ||
| 14623 | opts (nth 3 cmd) | ||
| 14624 | files (org-last cmd)) | ||
| 14625 | (if (stringp files) (setq files (list files))) | ||
| 14626 | (when files | ||
| 14627 | (flet ((read-char-exclusive () (string-to-char thiscmdkey))) | ||
| 14628 | (eval (list 'let (append org-agenda-exporter-settings opts pars) | ||
| 14629 | '(org-agenda nil)))) | ||
| 14630 | (set-buffer "*Org Agenda*") | ||
| 14631 | (while files | ||
| 14632 | (eval (list 'let (append org-agenda-exporter-settings opts pars) | ||
| 14633 | (list 'org-write-agenda | ||
| 14634 | (expand-file-name (pop files) dir) t))))) | ||
| 14635 | (kill-buffer org-agenda-buffer-name))))) | ||
| 14636 | |||
| 14637 | (defun org-write-agenda (file &optional nosettings) | ||
| 14638 | "Write the current buffer (an agenda view) as a file. | ||
| 14639 | Depending on the extension of the file name, plain text (.txt), | ||
| 14640 | HTML (.html or .htm) or Postscript (.ps) is produced. | ||
| 14641 | If NOSETTINGS is given, do not scope the settings of | ||
| 14642 | `org-agenda-exporter-settings' into the export commands. This is used when | ||
| 14643 | the settings have already been scoped and we do not wish to overrule other, | ||
| 14644 | higher priority settings." | ||
| 14645 | (interactive "FWrite agenda to file: ") | ||
| 14646 | (if (not (file-writable-p file)) | ||
| 14647 | (error "Cannot write agenda to file %s" file)) | ||
| 14648 | (cond | ||
| 14649 | ((string-match "\\.html?\\'" file) (require 'htmlize)) | ||
| 14650 | ((string-match "\\.ps\\'" file) (require 'ps-print))) | ||
| 14651 | (org-let (if nosettings nil org-agenda-exporter-settings) | ||
| 14652 | '(save-excursion | ||
| 14653 | (save-window-excursion | ||
| 14654 | (cond | ||
| 14655 | ((string-match "\\.html?\\'" file) | ||
| 14656 | (set-buffer (htmlize-buffer (current-buffer))) | ||
| 14657 | |||
| 14658 | (when (and org-agenda-export-html-style | ||
| 14659 | (string-match "<style>" org-agenda-export-html-style)) | ||
| 14660 | ;; replace <style> section with org-agenda-export-html-style | ||
| 14661 | (goto-char (point-min)) | ||
| 14662 | (kill-region (- (search-forward "<style") 6) | ||
| 14663 | (search-forward "</style>")) | ||
| 14664 | (insert org-agenda-export-html-style)) | ||
| 14665 | (write-file file) | ||
| 14666 | (kill-buffer (current-buffer)) | ||
| 14667 | (message "HTML written to %s" file)) | ||
| 14668 | ((string-match "\\.ps\\'" file) | ||
| 14669 | (ps-print-buffer-with-faces file) | ||
| 14670 | (message "Postscript written to %s" file)) | ||
| 14671 | (t | ||
| 14672 | (let ((bs (buffer-string))) | ||
| 14673 | (find-file file) | ||
| 14674 | (insert bs) | ||
| 14675 | (save-buffer 0) | ||
| 14676 | (kill-buffer (current-buffer)) | ||
| 14677 | (message "Plain text written to %s" file)))))) | ||
| 14678 | (set-buffer org-agenda-buffer-name))) | ||
| 13419 | 14679 | ||
| 13420 | (defmacro org-no-read-only (&rest body) | 14680 | (defmacro org-no-read-only (&rest body) |
| 13421 | "Inhibit read-only for BODY." | 14681 | "Inhibit read-only for BODY." |
| @@ -13508,13 +14768,6 @@ If the current buffer does not, find the first agenda file." | |||
| 13508 | (find-file (car fs))) | 14768 | (find-file (car fs))) |
| 13509 | (if (buffer-base-buffer) (switch-to-buffer (buffer-base-buffer))))) | 14769 | (if (buffer-base-buffer) (switch-to-buffer (buffer-base-buffer))))) |
| 13510 | 14770 | ||
| 13511 | (defun org-agenda-file-to-end () | ||
| 13512 | "Move/add the current file to the end of the agenda file list. | ||
| 13513 | If the file is not present in the list, it is appended to the list. If it is | ||
| 13514 | present, it is moved there." | ||
| 13515 | (interactive) | ||
| 13516 | (org-agenda-file-to-front 'to-end)) | ||
| 13517 | |||
| 13518 | (defun org-agenda-file-to-front (&optional to-end) | 14771 | (defun org-agenda-file-to-front (&optional to-end) |
| 13519 | "Move/add the current file to the top of the agenda file list. | 14772 | "Move/add the current file to the top of the agenda file list. |
| 13520 | If the file is not present in the list, it is added to the front. If it is | 14773 | If the file is not present in the list, it is added to the front. If it is |
| @@ -13578,7 +14831,10 @@ Optional argument FILE means, use this file instead of the current." | |||
| 13578 | (defvar org-agenda-multi nil) ; dynammically scoped | 14831 | (defvar org-agenda-multi nil) ; dynammically scoped |
| 13579 | (defvar org-agenda-buffer-name "*Org Agenda*") | 14832 | (defvar org-agenda-buffer-name "*Org Agenda*") |
| 13580 | (defvar org-pre-agenda-window-conf nil) | 14833 | (defvar org-pre-agenda-window-conf nil) |
| 13581 | (defun org-prepare-agenda () | 14834 | (defvar org-agenda-name nil) |
| 14835 | (defun org-prepare-agenda (&optional name) | ||
| 14836 | (setq org-todo-keywords-for-agenda nil) | ||
| 14837 | (setq org-done-keywords-for-agenda nil) | ||
| 13582 | (if org-agenda-multi | 14838 | (if org-agenda-multi |
| 13583 | (progn | 14839 | (progn |
| 13584 | (setq buffer-read-only nil) | 14840 | (setq buffer-read-only nil) |
| @@ -13588,6 +14844,10 @@ Optional argument FILE means, use this file instead of the current." | |||
| 13588 | (narrow-to-region (point) (point-max))) | 14844 | (narrow-to-region (point) (point-max))) |
| 13589 | (org-agenda-maybe-reset-markers 'force) | 14845 | (org-agenda-maybe-reset-markers 'force) |
| 13590 | (org-prepare-agenda-buffers (org-agenda-files)) | 14846 | (org-prepare-agenda-buffers (org-agenda-files)) |
| 14847 | (setq org-todo-keywords-for-agenda | ||
| 14848 | (org-uniquify org-todo-keywords-for-agenda)) | ||
| 14849 | (setq org-done-keywords-for-agenda | ||
| 14850 | (org-uniquify org-done-keywords-for-agenda)) | ||
| 13591 | (let* ((abuf (get-buffer-create org-agenda-buffer-name)) | 14851 | (let* ((abuf (get-buffer-create org-agenda-buffer-name)) |
| 13592 | (awin (get-buffer-window abuf))) | 14852 | (awin (get-buffer-window abuf))) |
| 13593 | (cond | 14853 | (cond |
| @@ -13605,7 +14865,9 @@ Optional argument FILE means, use this file instead of the current." | |||
| 13605 | (switch-to-buffer-other-window abuf)))) | 14865 | (switch-to-buffer-other-window abuf)))) |
| 13606 | (setq buffer-read-only nil) | 14866 | (setq buffer-read-only nil) |
| 13607 | (erase-buffer) | 14867 | (erase-buffer) |
| 13608 | (org-agenda-mode)) | 14868 | (org-agenda-mode) |
| 14869 | (and name (not org-agenda-name) | ||
| 14870 | (org-set-local 'org-agenda-name name))) | ||
| 13609 | (setq buffer-read-only nil)) | 14871 | (setq buffer-read-only nil)) |
| 13610 | 14872 | ||
| 13611 | (defun org-finalize-agenda () | 14873 | (defun org-finalize-agenda () |
| @@ -13617,7 +14879,9 @@ Optional argument FILE means, use this file instead of the current." | |||
| 13617 | (goto-char (point-min)) | 14879 | (goto-char (point-min)) |
| 13618 | (while (org-activate-bracket-links (point-max)) | 14880 | (while (org-activate-bracket-links (point-max)) |
| 13619 | (add-text-properties (match-beginning 0) (match-end 0) | 14881 | (add-text-properties (match-beginning 0) (match-end 0) |
| 13620 | '(face org-link)))) | 14882 | '(face org-link))) |
| 14883 | (unless org-agenda-with-colors | ||
| 14884 | (remove-text-properties (point-min) (point-max) '(face nil)))) | ||
| 13621 | (run-hooks 'org-finalize-agenda-hook)))) | 14885 | (run-hooks 'org-finalize-agenda-hook)))) |
| 13622 | 14886 | ||
| 13623 | (defun org-prepare-agenda-buffers (files) | 14887 | (defun org-prepare-agenda-buffers (files) |
| @@ -13635,6 +14899,10 @@ Optional argument FILE means, use this file instead of the current." | |||
| 13635 | (set-buffer (org-get-agenda-file-buffer file)) | 14899 | (set-buffer (org-get-agenda-file-buffer file)) |
| 13636 | (widen) | 14900 | (widen) |
| 13637 | (setq bmp (buffer-modified-p)) | 14901 | (setq bmp (buffer-modified-p)) |
| 14902 | (setq org-todo-keywords-for-agenda | ||
| 14903 | (append org-todo-keywords-for-agenda org-todo-keywords-1)) | ||
| 14904 | (setq org-done-keywords-for-agenda | ||
| 14905 | (append org-done-keywords-for-agenda org-done-keywords)) | ||
| 13638 | (save-excursion | 14906 | (save-excursion |
| 13639 | (remove-text-properties (point-min) (point-max) pall) | 14907 | (remove-text-properties (point-min) (point-max) pall) |
| 13640 | (when org-agenda-skip-archived-trees | 14908 | (when org-agenda-skip-archived-trees |
| @@ -13648,7 +14916,7 @@ Optional argument FILE means, use this file instead of the current." | |||
| 13648 | (add-text-properties | 14916 | (add-text-properties |
| 13649 | (match-beginning 0) (org-end-of-subtree t) pc))) | 14917 | (match-beginning 0) (org-end-of-subtree t) pc))) |
| 13650 | (set-buffer-modified-p bmp)))))) | 14918 | (set-buffer-modified-p bmp)))))) |
| 13651 | 14919 | ||
| 13652 | (defvar org-agenda-skip-function nil | 14920 | (defvar org-agenda-skip-function nil |
| 13653 | "Function to be called at each match during agenda construction. | 14921 | "Function to be called at each match during agenda construction. |
| 13654 | If this function return nil, the current match should not be skipped. | 14922 | If this function return nil, the current match should not be skipped. |
| @@ -13733,9 +15001,13 @@ When a buffer is unmodified, it is just killed. When modified, it is saved | |||
| 13733 | "Get the table of categories and positions in current buffer." | 15001 | "Get the table of categories and positions in current buffer." |
| 13734 | (let (tbl) | 15002 | (let (tbl) |
| 13735 | (save-excursion | 15003 | (save-excursion |
| 13736 | (goto-char (point-min)) | 15004 | (save-restriction |
| 13737 | (while (re-search-forward "\\(^\\|\r\\)#\\+CATEGORY:[ \t]*\\(.*\\)" nil t) | 15005 | (widen) |
| 13738 | (push (cons (point) (org-trim (match-string 2))) tbl))) | 15006 | (goto-char (point-min)) |
| 15007 | (while (re-search-forward "^#\\+CATEGORY:[ \t]*\\(.*\\)" | ||
| 15008 | nil t) | ||
| 15009 | (push (cons (match-beginning 1) | ||
| 15010 | (org-trim (match-string 1))) tbl)))) | ||
| 13739 | tbl)) | 15011 | tbl)) |
| 13740 | 15012 | ||
| 13741 | (defun org-get-category (&optional pos) | 15013 | (defun org-get-category (&optional pos) |
| @@ -13792,16 +15064,18 @@ dates." | |||
| 13792 | (setq day-numbers (delq nil (mapcar (lambda(x) | 15064 | (setq day-numbers (delq nil (mapcar (lambda(x) |
| 13793 | (if (>= x today) x nil)) | 15065 | (if (>= x today) x nil)) |
| 13794 | day-numbers)))) | 15066 | day-numbers)))) |
| 13795 | (org-prepare-agenda) | 15067 | (org-prepare-agenda (concat "Timeline " |
| 15068 | (file-name-nondirectory buffer-file-name))) | ||
| 13796 | (if doclosed (push :closed args)) | 15069 | (if doclosed (push :closed args)) |
| 13797 | (push :timestamp args) | 15070 | (push :timestamp args) |
| 15071 | (push :sexp args) | ||
| 13798 | (if dotodo (push :todo args)) | 15072 | (if dotodo (push :todo args)) |
| 13799 | (while (setq d (pop day-numbers)) | 15073 | (while (setq d (pop day-numbers)) |
| 13800 | (if (and (listp d) (eq (car d) :omitted)) | 15074 | (if (and (listp d) (eq (car d) :omitted)) |
| 13801 | (progn | 15075 | (progn |
| 13802 | (setq s (point)) | 15076 | (setq s (point)) |
| 13803 | (insert (format "\n[... %d empty days omitted]\n\n" (cdr d))) | 15077 | (insert (format "\n[... %d empty days omitted]\n\n" (cdr d))) |
| 13804 | (put-text-property s (1- (point)) 'face 'org-level-3)) | 15078 | (put-text-property s (1- (point)) 'face 'org-agenda-structure)) |
| 13805 | (if (listp d) (setq d (car d) emptyp t) (setq emptyp nil)) | 15079 | (if (listp d) (setq d (car d) emptyp t) (setq emptyp nil)) |
| 13806 | (if (and (>= d today) | 15080 | (if (and (>= d today) |
| 13807 | dopast | 15081 | dopast |
| @@ -13824,7 +15098,7 @@ dates." | |||
| 13824 | ; (insert (format-time-string org-agenda-date-format | 15098 | ; (insert (format-time-string org-agenda-date-format |
| 13825 | ; (calendar-time-from-absolute d 0)) | 15099 | ; (calendar-time-from-absolute d 0)) |
| 13826 | ; "\n") | 15100 | ; "\n") |
| 13827 | (put-text-property s (1- (point)) 'face 'org-level-3) | 15101 | (put-text-property s (1- (point)) 'face 'org-agenda-structure) |
| 13828 | (put-text-property s (1- (point)) 'org-date-line t) | 15102 | (put-text-property s (1- (point)) 'org-date-line t) |
| 13829 | (if (equal d today) | 15103 | (if (equal d today) |
| 13830 | (put-text-property s (1- (point)) 'org-today t)) | 15104 | (put-text-property s (1- (point)) 'org-today t)) |
| @@ -13936,7 +15210,7 @@ NDAYS defaults to `org-agenda-ndays'." | |||
| 13936 | (push (1+ (car day-numbers)) day-numbers) | 15210 | (push (1+ (car day-numbers)) day-numbers) |
| 13937 | (setq ndays (1- ndays))) | 15211 | (setq ndays (1- ndays))) |
| 13938 | (setq day-numbers (nreverse day-numbers)) | 15212 | (setq day-numbers (nreverse day-numbers)) |
| 13939 | (org-prepare-agenda) | 15213 | (org-prepare-agenda "Day/Week") |
| 13940 | (org-set-local 'org-starting-day (car day-numbers)) | 15214 | (org-set-local 'org-starting-day (car day-numbers)) |
| 13941 | (org-set-local 'org-include-all-loc include-all) | 15215 | (org-set-local 'org-include-all-loc include-all) |
| 13942 | (when (and (or include-all org-agenda-include-all-todo) | 15216 | (when (and (or include-all org-agenda-include-all-todo) |
| @@ -13953,11 +15227,12 @@ NDAYS defaults to `org-agenda-ndays'." | |||
| 13953 | (when rtnall | 15227 | (when rtnall |
| 13954 | (insert "ALL CURRENTLY OPEN TODO ITEMS:\n") | 15228 | (insert "ALL CURRENTLY OPEN TODO ITEMS:\n") |
| 13955 | (add-text-properties (point-min) (1- (point)) | 15229 | (add-text-properties (point-min) (1- (point)) |
| 13956 | (list 'face 'org-level-3)) | 15230 | (list 'face 'org-agenda-structure)) |
| 13957 | (insert (org-finalize-agenda-entries rtnall) "\n"))) | 15231 | (insert (org-finalize-agenda-entries rtnall) "\n"))) |
| 13958 | (setq s (point)) | 15232 | (setq s (point)) |
| 13959 | (insert (if (= nd 7) "Week-" "Day-") "agenda:\n") | 15233 | (insert (if (= nd 7) "Week-" "Day-") "agenda:\n") |
| 13960 | (add-text-properties s (1- (point)) (list 'face 'org-level-3)) | 15234 | (add-text-properties s (1- (point)) (list 'face 'org-agenda-structure |
| 15235 | 'org-date-line t)) | ||
| 13961 | (while (setq d (pop day-numbers)) | 15236 | (while (setq d (pop day-numbers)) |
| 13962 | (setq date (calendar-gregorian-from-absolute d) | 15237 | (setq date (calendar-gregorian-from-absolute d) |
| 13963 | s (point)) | 15238 | s (point)) |
| @@ -13974,10 +15249,10 @@ NDAYS defaults to `org-agenda-ndays'." | |||
| 13974 | (if org-agenda-show-log | 15249 | (if org-agenda-show-log |
| 13975 | (setq rtn (org-agenda-get-day-entries | 15250 | (setq rtn (org-agenda-get-day-entries |
| 13976 | file date | 15251 | file date |
| 13977 | :deadline :scheduled :timestamp :closed)) | 15252 | :deadline :scheduled :timestamp :sexp :closed)) |
| 13978 | (setq rtn (org-agenda-get-day-entries | 15253 | (setq rtn (org-agenda-get-day-entries |
| 13979 | file date | 15254 | file date |
| 13980 | :deadline :scheduled :timestamp))) | 15255 | :deadline :scheduled :sexp :timestamp))) |
| 13981 | (setq rtnall (append rtnall rtn)))) | 15256 | (setq rtnall (append rtnall rtn)))) |
| 13982 | (if org-agenda-include-diary | 15257 | (if org-agenda-include-diary |
| 13983 | (progn | 15258 | (progn |
| @@ -13994,7 +15269,7 @@ NDAYS defaults to `org-agenda-ndays'." | |||
| 13994 | ; FIXME: this gives a timezone problem | 15269 | ; FIXME: this gives a timezone problem |
| 13995 | ; (insert (format-time-string org-agenda-date-format | 15270 | ; (insert (format-time-string org-agenda-date-format |
| 13996 | ; (calendar-time-from-absolute d 0)) "\n") | 15271 | ; (calendar-time-from-absolute d 0)) "\n") |
| 13997 | (put-text-property s (1- (point)) 'face 'org-level-3) | 15272 | (put-text-property s (1- (point)) 'face 'org-agenda-structure) |
| 13998 | (put-text-property s (1- (point)) 'org-date-line t) | 15273 | (put-text-property s (1- (point)) 'org-date-line t) |
| 13999 | (if todayp (put-text-property s (1- (point)) 'org-today t)) | 15274 | (if todayp (put-text-property s (1- (point)) 'org-today t)) |
| 14000 | (if rtnall (insert | 15275 | (if rtnall (insert |
| @@ -14030,28 +15305,28 @@ NDAYS defaults to `org-agenda-ndays'." | |||
| 14030 | The prefix arg can be used to select a specific TODO keyword and limit | 15305 | The prefix arg can be used to select a specific TODO keyword and limit |
| 14031 | the list to these. When using \\[universal-argument], you will be prompted | 15306 | the list to these. When using \\[universal-argument], you will be prompted |
| 14032 | for a keyword. A numeric prefix directly selects the Nth keyword in | 15307 | for a keyword. A numeric prefix directly selects the Nth keyword in |
| 14033 | `org-todo-keywords'." | 15308 | `org-todo-keywords-1'." |
| 14034 | (interactive "P") | 15309 | (interactive "P") |
| 14035 | (require 'calendar) | 15310 | (require 'calendar) |
| 14036 | (org-compile-prefix-format 'todo) | 15311 | (org-compile-prefix-format 'todo) |
| 14037 | (org-set-sorting-strategy 'todo) | 15312 | (org-set-sorting-strategy 'todo) |
| 15313 | (org-prepare-agenda "TODO") | ||
| 14038 | (let* ((today (time-to-days (current-time))) | 15314 | (let* ((today (time-to-days (current-time))) |
| 14039 | (date (calendar-gregorian-from-absolute today)) | 15315 | (date (calendar-gregorian-from-absolute today)) |
| 14040 | (kwds org-todo-keywords) | 15316 | (kwds org-todo-keywords-for-agenda) |
| 14041 | (completion-ignore-case t) | 15317 | (completion-ignore-case t) |
| 14042 | (org-select-this-todo-keyword | 15318 | (org-select-this-todo-keyword |
| 14043 | (if (stringp arg) arg | 15319 | (if (stringp arg) arg |
| 14044 | (and arg (integerp arg) (> arg 0) | 15320 | (and arg (integerp arg) (> arg 0) |
| 14045 | (nth (1- arg) org-todo-keywords)))) | 15321 | (nth (1- arg) kwds)))) |
| 14046 | rtn rtnall files file pos) | 15322 | rtn rtnall files file pos) |
| 14047 | (when (equal arg '(4)) | 15323 | (when (equal arg '(4)) |
| 14048 | (setq org-select-this-todo-keyword | 15324 | (setq org-select-this-todo-keyword |
| 14049 | (completing-read "Keyword: " (mapcar 'list org-todo-keywords) | 15325 | (completing-read "Keyword (or KWD1|K2D2|...): " |
| 14050 | nil t))) | 15326 | (mapcar 'list kwds) nil nil))) |
| 14051 | (and (equal 0 arg) (setq org-select-this-todo-keyword nil)) | 15327 | (and (equal 0 arg) (setq org-select-this-todo-keyword nil)) |
| 14052 | (org-prepare-agenda) | ||
| 14053 | (org-set-local 'org-last-arg arg) | 15328 | (org-set-local 'org-last-arg arg) |
| 14054 | (org-set-local 'org-todo-keywords kwds) | 15329 | ;FIXME (org-set-local 'org-todo-keywords-for-agenda kwds) |
| 14055 | (setq org-agenda-redo-command | 15330 | (setq org-agenda-redo-command |
| 14056 | '(org-todo-list (or current-prefix-arg org-last-arg))) | 15331 | '(org-todo-list (or current-prefix-arg org-last-arg))) |
| 14057 | (setq files (org-agenda-files) | 15332 | (setq files (org-agenda-files) |
| @@ -14063,23 +15338,25 @@ for a keyword. A numeric prefix directly selects the Nth keyword in | |||
| 14063 | (setq rtnall (append rtnall rtn)))) | 15338 | (setq rtnall (append rtnall rtn)))) |
| 14064 | (if org-agenda-overriding-header | 15339 | (if org-agenda-overriding-header |
| 14065 | (insert (org-add-props (copy-sequence org-agenda-overriding-header) | 15340 | (insert (org-add-props (copy-sequence org-agenda-overriding-header) |
| 14066 | nil 'face 'org-level-3) "\n") | 15341 | nil 'face 'org-agenda-structure) "\n") |
| 14067 | (insert "Global list of TODO items of type: ") | 15342 | (insert "Global list of TODO items of type: ") |
| 14068 | (add-text-properties (point-min) (1- (point)) | 15343 | (add-text-properties (point-min) (1- (point)) |
| 14069 | (list 'face 'org-level-3)) | 15344 | (list 'face 'org-agenda-structure)) |
| 14070 | (setq pos (point)) | 15345 | (setq pos (point)) |
| 14071 | (insert (or org-select-this-todo-keyword "ALL") "\n") | 15346 | (insert (or org-select-this-todo-keyword "ALL") "\n") |
| 14072 | (add-text-properties pos (1- (point)) (list 'face 'org-warning)) | 15347 | (add-text-properties pos (1- (point)) (list 'face 'org-warning)) |
| 14073 | (setq pos (point)) | 15348 | (setq pos (point)) |
| 14074 | (unless org-agenda-multi | 15349 | (unless org-agenda-multi |
| 14075 | (insert | 15350 | (insert "Available with `N r': (0)ALL") |
| 14076 | "Available with `N r': (0)ALL " | 15351 | (let ((n 0) s) |
| 14077 | (let ((n 0)) | 15352 | (mapc (lambda (x) |
| 14078 | (mapconcat (lambda (x) | 15353 | (setq s (format "(%d)%s" (setq n (1+ n)) x)) |
| 14079 | (format "(%d)%s" (setq n (1+ n)) x)) | 15354 | (if (> (+ (current-column) (string-width s) 1) (frame-width)) |
| 14080 | org-todo-keywords " ")) | 15355 | (insert "\n ")) |
| 14081 | "\n")) | 15356 | (insert " " s)) |
| 14082 | (add-text-properties pos (1- (point)) (list 'face 'org-level-3))) | 15357 | kwds)) |
| 15358 | (insert "\n")) | ||
| 15359 | (add-text-properties pos (1- (point)) (list 'face 'org-agenda-structure))) | ||
| 14083 | (when rtnall | 15360 | (when rtnall |
| 14084 | (insert (org-finalize-agenda-entries rtnall) "\n")) | 15361 | (insert (org-finalize-agenda-entries rtnall) "\n")) |
| 14085 | (goto-char (point-min)) | 15362 | (goto-char (point-min)) |
| @@ -14104,7 +15381,7 @@ The prefix arg TODO-ONLY limits the search to TODO entries." | |||
| 14104 | buffer) | 15381 | buffer) |
| 14105 | (setq matcher (org-make-tags-matcher match) | 15382 | (setq matcher (org-make-tags-matcher match) |
| 14106 | match (car matcher) matcher (cdr matcher)) | 15383 | match (car matcher) matcher (cdr matcher)) |
| 14107 | (org-prepare-agenda) | 15384 | (org-prepare-agenda (concat "TAGS " match)) |
| 14108 | (setq org-agenda-redo-command | 15385 | (setq org-agenda-redo-command |
| 14109 | (list 'org-tags-view (list 'quote todo-only) | 15386 | (list 'org-tags-view (list 'quote todo-only) |
| 14110 | (list 'if 'current-prefix-arg nil match))) | 15387 | (list 'if 'current-prefix-arg nil match))) |
| @@ -14135,17 +15412,17 @@ The prefix arg TODO-ONLY limits the search to TODO entries." | |||
| 14135 | (setq rtnall (append rtnall rtn)))))))) | 15412 | (setq rtnall (append rtnall rtn)))))))) |
| 14136 | (if org-agenda-overriding-header | 15413 | (if org-agenda-overriding-header |
| 14137 | (insert (org-add-props (copy-sequence org-agenda-overriding-header) | 15414 | (insert (org-add-props (copy-sequence org-agenda-overriding-header) |
| 14138 | nil 'face 'org-level-3) "\n") | 15415 | nil 'face 'org-agenda-structure) "\n") |
| 14139 | (insert "Headlines with TAGS match: ") | 15416 | (insert "Headlines with TAGS match: ") |
| 14140 | (add-text-properties (point-min) (1- (point)) | 15417 | (add-text-properties (point-min) (1- (point)) |
| 14141 | (list 'face 'org-level-3)) | 15418 | (list 'face 'org-agenda-structure)) |
| 14142 | (setq pos (point)) | 15419 | (setq pos (point)) |
| 14143 | (insert match "\n") | 15420 | (insert match "\n") |
| 14144 | (add-text-properties pos (1- (point)) (list 'face 'org-warning)) | 15421 | (add-text-properties pos (1- (point)) (list 'face 'org-warning)) |
| 14145 | (setq pos (point)) | 15422 | (setq pos (point)) |
| 14146 | (unless org-agenda-multi | 15423 | (unless org-agenda-multi |
| 14147 | (insert "Press `C-u r' to search again with new search string\n")) | 15424 | (insert "Press `C-u r' to search again with new search string\n")) |
| 14148 | (add-text-properties pos (1- (point)) (list 'face 'org-level-3))) | 15425 | (add-text-properties pos (1- (point)) (list 'face 'org-agenda-structure))) |
| 14149 | (when rtnall | 15426 | (when rtnall |
| 14150 | (insert (org-finalize-agenda-entries rtnall) "\n")) | 15427 | (insert (org-finalize-agenda-entries rtnall) "\n")) |
| 14151 | (goto-char (point-min)) | 15428 | (goto-char (point-min)) |
| @@ -14187,21 +15464,34 @@ MATCH is being ignored." | |||
| 14187 | (org-agenda-overriding-header "List of stuck projects: ") | 15464 | (org-agenda-overriding-header "List of stuck projects: ") |
| 14188 | (matcher (nth 0 org-stuck-projects)) | 15465 | (matcher (nth 0 org-stuck-projects)) |
| 14189 | (todo (nth 1 org-stuck-projects)) | 15466 | (todo (nth 1 org-stuck-projects)) |
| 14190 | (tags (nth 2 org-stuck-projects)) | 15467 | (todo-wds (if (member "*" todo) |
| 15468 | (progn | ||
| 15469 | (org-prepare-agenda-buffers (org-agenda-files)) | ||
| 15470 | (org-delete-all | ||
| 15471 | org-done-keywords-for-agenda | ||
| 15472 | (copy-sequence org-todo-keywords-for-agenda))) | ||
| 15473 | todo)) | ||
| 14191 | (todo-re (concat "^\\*+[ \t]+\\(" | 15474 | (todo-re (concat "^\\*+[ \t]+\\(" |
| 14192 | (mapconcat 'identity todo "\\|") | 15475 | (mapconcat 'identity todo-wds "\\|") |
| 14193 | "\\)\\>")) | 15476 | "\\)\\>")) |
| 14194 | (tags-re (concat "^\\*+.*:\\(" | 15477 | (tags (nth 2 org-stuck-projects)) |
| 14195 | (mapconcat 'identity tags "\\|") | 15478 | (tags-re (if (member "*" tags) |
| 14196 | "\\):[a-zA-Z0-9_@:]*[ \t]*$"))) | 15479 | "^\\*+.*:[a-zA-Z0-9_@]+:[ \t]*$" |
| 14197 | 15480 | (concat "^\\*+.*:\\(" | |
| 15481 | (mapconcat 'identity tags "\\|") | ||
| 15482 | "\\):[a-zA-Z0-9_@:]*[ \t]*$"))) | ||
| 15483 | (gen-re (nth 3 org-stuck-projects)) | ||
| 15484 | (re-list | ||
| 15485 | (delq nil | ||
| 15486 | (list | ||
| 15487 | (if todo todo-re) | ||
| 15488 | (if tags tags-re) | ||
| 15489 | (and gen-re (stringp gen-re) (string-match "\\S-" gen-re) | ||
| 15490 | gen-re))))) | ||
| 14198 | (setq org-agenda-skip-regexp | 15491 | (setq org-agenda-skip-regexp |
| 14199 | (cond | 15492 | (if re-list |
| 14200 | ((and todo tags) | 15493 | (mapconcat 'identity re-list "\\|") |
| 14201 | (concat todo-re "\\|" tags-re)) | 15494 | (error "No information how to identify unstuck projects"))) |
| 14202 | (todo todo-re) | ||
| 14203 | (tags tags-re) | ||
| 14204 | (t (error "No information how to identify unstuck projects")))) | ||
| 14205 | (org-tags-view nil matcher) | 15495 | (org-tags-view nil matcher) |
| 14206 | (with-current-buffer org-agenda-buffer-name | 15496 | (with-current-buffer org-agenda-buffer-name |
| 14207 | (setq org-agenda-redo-command | 15497 | (setq org-agenda-redo-command |
| @@ -14247,7 +15537,8 @@ MATCH is being ignored." | |||
| 14247 | (lambda (x) | 15537 | (lambda (x) |
| 14248 | (setq x (org-format-agenda-item "" x "Diary" nil 'time)) | 15538 | (setq x (org-format-agenda-item "" x "Diary" nil 'time)) |
| 14249 | ;; Extend the text properties to the beginning of the line | 15539 | ;; Extend the text properties to the beginning of the line |
| 14250 | (org-add-props x (text-properties-at (1- (length x)) x))) | 15540 | (org-add-props x (text-properties-at (1- (length x)) x) |
| 15541 | 'type "diary" 'date date)) | ||
| 14251 | entries))))) | 15542 | entries))))) |
| 14252 | 15543 | ||
| 14253 | (defun org-agenda-cleanup-fancy-diary () | 15544 | (defun org-agenda-cleanup-fancy-diary () |
| @@ -14316,6 +15607,8 @@ items should be listed. The following arguments are allowed: | |||
| 14316 | date range matching the selected date. Deadlines will | 15607 | date range matching the selected date. Deadlines will |
| 14317 | also be listed, on the expiration day. | 15608 | also be listed, on the expiration day. |
| 14318 | 15609 | ||
| 15610 | :sexp FIXME | ||
| 15611 | |||
| 14319 | :deadline List any deadlines past due, or due within | 15612 | :deadline List any deadlines past due, or due within |
| 14320 | `org-deadline-warning-days'. The listing occurs only | 15613 | `org-deadline-warning-days'. The listing occurs only |
| 14321 | in the diary for *today*, not at any other date. If | 15614 | in the diary for *today*, not at any other date. If |
| @@ -14340,10 +15633,10 @@ all files listed in `org-agenda-files' will be checked automatically: | |||
| 14340 | &%%(org-diary) | 15633 | &%%(org-diary) |
| 14341 | 15634 | ||
| 14342 | If you don't give any arguments (as in the example above), the default | 15635 | If you don't give any arguments (as in the example above), the default |
| 14343 | arguments (:deadline :scheduled :timestamp) are used. So the example above may | 15636 | arguments (:deadline :scheduled :timestamp :sexp) are used. |
| 14344 | also be written as | 15637 | So the example above may also be written as |
| 14345 | 15638 | ||
| 14346 | &%%(org-diary :deadline :timestamp :scheduled) | 15639 | &%%(org-diary :deadline :timestamp :sexp :scheduled) |
| 14347 | 15640 | ||
| 14348 | The function expects the lisp variables `entry' and `date' to be provided | 15641 | The function expects the lisp variables `entry' and `date' to be provided |
| 14349 | by the caller, because this is how the calendar works. Don't use this | 15642 | by the caller, because this is how the calendar works. Don't use this |
| @@ -14351,11 +15644,12 @@ function from a program - use `org-agenda-get-day-entries' instead." | |||
| 14351 | (org-agenda-maybe-reset-markers) | 15644 | (org-agenda-maybe-reset-markers) |
| 14352 | (org-compile-prefix-format 'agenda) | 15645 | (org-compile-prefix-format 'agenda) |
| 14353 | (org-set-sorting-strategy 'agenda) | 15646 | (org-set-sorting-strategy 'agenda) |
| 14354 | (setq args (or args '(:deadline :scheduled :timestamp))) | 15647 | (setq args (or args '(:deadline :scheduled :timestamp :sexp))) |
| 14355 | (let* ((files (if (and entry (stringp entry) (string-match "\\S-" entry)) | 15648 | (let* ((files (if (and entry (stringp entry) (string-match "\\S-" entry)) |
| 14356 | (list entry) | 15649 | (list entry) |
| 14357 | (org-agenda-files t))) | 15650 | (org-agenda-files t))) |
| 14358 | file rtn results) | 15651 | file rtn results) |
| 15652 | (org-prepare-agenda-buffers files) | ||
| 14359 | ;; If this is called during org-agenda, don't return any entries to | 15653 | ;; If this is called during org-agenda, don't return any entries to |
| 14360 | ;; the calendar. Org Agenda will list these entries itself. | 15654 | ;; the calendar. Org Agenda will list these entries itself. |
| 14361 | (if org-disable-agenda-to-diary (setq files nil)) | 15655 | (if org-disable-agenda-to-diary (setq files nil)) |
| @@ -14373,7 +15667,7 @@ FILE is the path to a file to be checked for entries. DATE is date like | |||
| 14373 | the one returned by `calendar-current-date'. ARGS are symbols indicating | 15667 | the one returned by `calendar-current-date'. ARGS are symbols indicating |
| 14374 | which kind of entries should be extracted. For details about these, see | 15668 | which kind of entries should be extracted. For details about these, see |
| 14375 | the documentation of `org-diary'." | 15669 | the documentation of `org-diary'." |
| 14376 | (setq args (or args '(:deadline :scheduled :timestamp))) | 15670 | (setq args (or args '(:deadline :scheduled :timestamp :sexp))) |
| 14377 | (let* ((org-startup-folded nil) | 15671 | (let* ((org-startup-folded nil) |
| 14378 | (org-startup-align-all-tables nil) | 15672 | (org-startup-align-all-tables nil) |
| 14379 | (buffer (if (file-exists-p file) | 15673 | (buffer (if (file-exists-p file) |
| @@ -14406,6 +15700,9 @@ the documentation of `org-diary'." | |||
| 14406 | (setq results (append results rtn)) | 15700 | (setq results (append results rtn)) |
| 14407 | (setq rtn (org-agenda-get-timestamps)) | 15701 | (setq rtn (org-agenda-get-timestamps)) |
| 14408 | (setq results (append results rtn))) | 15702 | (setq results (append results rtn))) |
| 15703 | ((eq arg :sexp) | ||
| 15704 | (setq rtn (org-agenda-get-sexps)) | ||
| 15705 | (setq results (append results rtn))) | ||
| 14409 | ((eq arg :scheduled) | 15706 | ((eq arg :scheduled) |
| 14410 | (setq rtn (org-agenda-get-scheduled)) | 15707 | (setq rtn (org-agenda-get-scheduled)) |
| 14411 | (setq results (append results rtn))) | 15708 | (setq results (append results rtn))) |
| @@ -14447,15 +15744,20 @@ the documentation of `org-diary'." | |||
| 14447 | (let* ((props (list 'face nil | 15744 | (let* ((props (list 'face nil |
| 14448 | 'done-face 'org-done | 15745 | 'done-face 'org-done |
| 14449 | 'org-not-done-regexp org-not-done-regexp | 15746 | 'org-not-done-regexp org-not-done-regexp |
| 15747 | 'org-todo-regexp org-todo-regexp | ||
| 14450 | 'mouse-face 'highlight | 15748 | 'mouse-face 'highlight |
| 14451 | 'keymap org-agenda-keymap | 15749 | 'keymap org-agenda-keymap |
| 14452 | 'help-echo | 15750 | 'help-echo |
| 14453 | (format "mouse-2 or RET jump to org file %s" | 15751 | (format "mouse-2 or RET jump to org file %s" |
| 14454 | (abbreviate-file-name buffer-file-name)))) | 15752 | (abbreviate-file-name buffer-file-name)))) |
| 15753 | ;; FIXME: get rid of the \n at some point but watch out | ||
| 14455 | (regexp (concat "[\n\r]\\*+ *\\(" | 15754 | (regexp (concat "[\n\r]\\*+ *\\(" |
| 14456 | (if org-select-this-todo-keyword | 15755 | (if org-select-this-todo-keyword |
| 14457 | (concat "\\<\\(" org-select-this-todo-keyword | 15756 | (if (equal org-select-this-todo-keyword "*") |
| 14458 | "\\)\\>") | 15757 | org-todo-regexp |
| 15758 | (concat "\\<\\(" | ||
| 15759 | (mapconcat 'identity (org-split-string org-select-this-todo-keyword "|") "\\|") | ||
| 15760 | "\\)\\>")) | ||
| 14459 | org-not-done-regexp) | 15761 | org-not-done-regexp) |
| 14460 | "[^\n\r]*\\)")) | 15762 | "[^\n\r]*\\)")) |
| 14461 | marker priority category tags | 15763 | marker priority category tags |
| @@ -14481,16 +15783,11 @@ the documentation of `org-diary'." | |||
| 14481 | category (org-get-category) | 15783 | category (org-get-category) |
| 14482 | tags (org-get-tags-at (point)) | 15784 | tags (org-get-tags-at (point)) |
| 14483 | txt (org-format-agenda-item "" (match-string 1) category tags) | 15785 | txt (org-format-agenda-item "" (match-string 1) category tags) |
| 14484 | priority | 15786 | priority (1+ (org-get-priority txt))) |
| 14485 | (+ (org-get-priority txt) | ||
| 14486 | (if org-todo-kwd-priority-p | ||
| 14487 | (- org-todo-kwd-max-priority -2 | ||
| 14488 | (length | ||
| 14489 | (member (match-string 2) org-todo-keywords))) | ||
| 14490 | 1))) | ||
| 14491 | (org-add-props txt props | 15787 | (org-add-props txt props |
| 14492 | 'org-marker marker 'org-hd-marker marker | 15788 | 'org-marker marker 'org-hd-marker marker |
| 14493 | 'priority priority 'org-category category) | 15789 | 'priority priority 'org-category category |
| 15790 | 'type "todo") | ||
| 14494 | (push txt ee) | 15791 | (push txt ee) |
| 14495 | (if org-agenda-todo-list-sublevels | 15792 | (if org-agenda-todo-list-sublevels |
| 14496 | (goto-char (match-end 1)) | 15793 | (goto-char (match-end 1)) |
| @@ -14504,38 +15801,61 @@ the documentation of `org-diary'." | |||
| 14504 | "Return the date stamp information for agenda display." | 15801 | "Return the date stamp information for agenda display." |
| 14505 | (let* ((props (list 'face nil | 15802 | (let* ((props (list 'face nil |
| 14506 | 'org-not-done-regexp org-not-done-regexp | 15803 | 'org-not-done-regexp org-not-done-regexp |
| 15804 | 'org-todo-regexp org-todo-regexp | ||
| 14507 | 'mouse-face 'highlight | 15805 | 'mouse-face 'highlight |
| 14508 | 'keymap org-agenda-keymap | 15806 | 'keymap org-agenda-keymap |
| 14509 | 'help-echo | 15807 | 'help-echo |
| 14510 | (format "mouse-2 or RET jump to org file %s" | 15808 | (format "mouse-2 or RET jump to org file %s" |
| 14511 | (abbreviate-file-name buffer-file-name)))) | 15809 | (abbreviate-file-name buffer-file-name)))) |
| 14512 | (regexp (regexp-quote | 15810 | ;???? (regexp (regexp-quote |
| 14513 | (substring | 15811 | ; (substring |
| 14514 | (format-time-string | 15812 | ; (format-time-string |
| 14515 | (car org-time-stamp-formats) | 15813 | ; (car org-time-stamp-formats) |
| 14516 | (apply 'encode-time ; DATE bound by calendar | 15814 | ; (apply 'encode-time ; DATE bound by calendar |
| 14517 | (list 0 0 0 (nth 1 date) (car date) (nth 2 date)))) | 15815 | ; (list 0 0 0 (nth 1 date) (car date) (nth 2 date)))) |
| 14518 | 0 11))) | 15816 | ; 0 11))) |
| 15817 | (d1 (calendar-absolute-from-gregorian date)) | ||
| 15818 | (regexp | ||
| 15819 | (concat | ||
| 15820 | (regexp-quote | ||
| 15821 | (substring | ||
| 15822 | (format-time-string | ||
| 15823 | (car org-time-stamp-formats) | ||
| 15824 | (apply 'encode-time ; DATE bound by calendar | ||
| 15825 | (list 0 0 0 (nth 1 date) (car date) (nth 2 date)))) | ||
| 15826 | 0 11)) | ||
| 15827 | "\\|\\(<[0-9]+-[0-9]+-[0-9]+[^>\n]+?\\+[0-9]+[dwmy]>\\)" | ||
| 15828 | "\\|\\(<%%\\(([^>\n]+)\\)>\\)")) | ||
| 14519 | marker hdmarker deadlinep scheduledp donep tmp priority category | 15829 | marker hdmarker deadlinep scheduledp donep tmp priority category |
| 14520 | ee txt timestr tags) | 15830 | ee txt timestr tags b0 b3 e3) |
| 14521 | (goto-char (point-min)) | 15831 | (goto-char (point-min)) |
| 14522 | (while (re-search-forward regexp nil t) | 15832 | (while (re-search-forward regexp nil t) |
| 15833 | (setq b0 (match-beginning 0) | ||
| 15834 | b3 (match-beginning 3) e3 (match-end 3)) | ||
| 14523 | (catch :skip | 15835 | (catch :skip |
| 14524 | (and (save-match-data (org-at-date-range-p)) (throw :skip nil)) | 15836 | (and (org-at-date-range-p) (throw :skip nil)) |
| 14525 | (org-agenda-skip) | 15837 | (org-agenda-skip) |
| 14526 | (setq marker (org-agenda-new-marker (match-beginning 0)) | 15838 | (if (and (match-end 1) |
| 14527 | category (org-get-category (match-beginning 0)) | 15839 | (not (= d1 (org-time-string-to-absolute (match-string 1) d1)))) |
| 15840 | (throw :skip nil)) | ||
| 15841 | (if (and e3 | ||
| 15842 | (not (org-diary-sexp-entry (buffer-substring b3 e3) "" date))) | ||
| 15843 | (throw :skip nil)) | ||
| 15844 | (setq marker (org-agenda-new-marker b0) | ||
| 15845 | category (org-get-category b0) | ||
| 14528 | tmp (buffer-substring (max (point-min) | 15846 | tmp (buffer-substring (max (point-min) |
| 14529 | (- (match-beginning 0) | 15847 | (- b0 org-ds-keyword-length)) |
| 14530 | org-ds-keyword-length)) | 15848 | b0) |
| 14531 | (match-beginning 0)) | 15849 | timestr (if b3 "" (buffer-substring b0 (point-at-eol))) |
| 14532 | timestr (buffer-substring (match-beginning 0) (point-at-eol)) | ||
| 14533 | deadlinep (string-match org-deadline-regexp tmp) | 15850 | deadlinep (string-match org-deadline-regexp tmp) |
| 14534 | scheduledp (string-match org-scheduled-regexp tmp) | 15851 | scheduledp (string-match org-scheduled-regexp tmp) |
| 14535 | donep (org-entry-is-done-p)) | 15852 | donep (org-entry-is-done-p)) |
| 14536 | (and org-agenda-skip-scheduled-if-done | 15853 | (and org-agenda-skip-scheduled-if-done |
| 14537 | scheduledp donep | 15854 | scheduledp donep |
| 14538 | (throw :skip t)) | 15855 | (throw :skip t)) |
| 15856 | (and org-agenda-skip-deadline-if-done | ||
| 15857 | deadlinep donep | ||
| 15858 | (throw :skip t)) | ||
| 14539 | (if (string-match ">" timestr) | 15859 | (if (string-match ">" timestr) |
| 14540 | ;; substring should only run to end of time stamp | 15860 | ;; substring should only run to end of time stamp |
| 14541 | (setq timestr (substring timestr 0 (match-end 0)))) | 15861 | (setq timestr (substring timestr 0 (match-end 0)))) |
| @@ -14558,22 +15878,68 @@ the documentation of `org-diary'." | |||
| 14558 | (if deadlinep | 15878 | (if deadlinep |
| 14559 | (org-add-props txt nil | 15879 | (org-add-props txt nil |
| 14560 | 'face (if donep 'org-done 'org-warning) | 15880 | 'face (if donep 'org-done 'org-warning) |
| 15881 | 'type "deadline" 'date date | ||
| 14561 | 'undone-face 'org-warning 'done-face 'org-done | 15882 | 'undone-face 'org-warning 'done-face 'org-done |
| 14562 | 'org-category category 'priority (+ 100 priority)) | 15883 | 'org-category category 'priority (+ 100 priority)) |
| 14563 | (if scheduledp | 15884 | (if scheduledp |
| 14564 | (org-add-props txt nil | 15885 | (org-add-props txt nil |
| 14565 | 'face 'org-scheduled-today | 15886 | 'face 'org-scheduled-today |
| 15887 | 'type "scheduled" 'date date | ||
| 14566 | 'undone-face 'org-scheduled-today 'done-face 'org-done | 15888 | 'undone-face 'org-scheduled-today 'done-face 'org-done |
| 14567 | 'org-category category 'priority (+ 99 priority)) | 15889 | 'org-category category 'priority (+ 99 priority)) |
| 14568 | (org-add-props txt nil 'priority priority 'org-category category))) | 15890 | (org-add-props txt nil 'priority priority |
| 15891 | 'org-category category 'date date | ||
| 15892 | 'type "timestamp"))) | ||
| 14569 | (push txt ee)) | 15893 | (push txt ee)) |
| 14570 | (outline-next-heading))) | 15894 | (outline-next-heading))) |
| 14571 | (nreverse ee))) | 15895 | (nreverse ee))) |
| 14572 | 15896 | ||
| 15897 | (defun org-agenda-get-sexps () | ||
| 15898 | "Return the sexp information for agenda display." | ||
| 15899 | (require 'diary-lib) | ||
| 15900 | (let* ((props (list 'face nil | ||
| 15901 | 'mouse-face 'highlight | ||
| 15902 | 'keymap org-agenda-keymap | ||
| 15903 | 'help-echo | ||
| 15904 | (format "mouse-2 or RET jump to org file %s" | ||
| 15905 | (abbreviate-file-name buffer-file-name)))) | ||
| 15906 | (regexp "^&?%%(") | ||
| 15907 | marker category ee txt tags entry result beg b sexp sexp-entry) | ||
| 15908 | (goto-char (point-min)) | ||
| 15909 | (while (re-search-forward regexp nil t) | ||
| 15910 | (catch :skip | ||
| 15911 | (org-agenda-skip) | ||
| 15912 | (setq beg (match-beginning 0)) | ||
| 15913 | (goto-char (1- (match-end 0))) | ||
| 15914 | (setq b (point)) | ||
| 15915 | (forward-sexp 1) | ||
| 15916 | (setq sexp (buffer-substring b (point))) | ||
| 15917 | (setq sexp-entry (if (looking-at "[ \t]*\\(\\S-.*\\)") | ||
| 15918 | (org-trim (match-string 1)) | ||
| 15919 | "")) | ||
| 15920 | (setq result (org-diary-sexp-entry sexp sexp-entry date)) | ||
| 15921 | (when result | ||
| 15922 | (setq marker (org-agenda-new-marker beg) | ||
| 15923 | category (org-get-category beg)) | ||
| 15924 | |||
| 15925 | (if (string-match "\\S-" result) | ||
| 15926 | (setq txt result) | ||
| 15927 | (setq txt "SEXP entry returned empty string")) | ||
| 15928 | |||
| 15929 | (setq txt (org-format-agenda-item | ||
| 15930 | "" txt category tags 'time)) | ||
| 15931 | (org-add-props txt props 'org-marker marker) | ||
| 15932 | (org-add-props txt nil | ||
| 15933 | 'org-category category 'date date | ||
| 15934 | 'type "sexp") | ||
| 15935 | (push txt ee)))) | ||
| 15936 | (nreverse ee))) | ||
| 15937 | |||
| 14573 | (defun org-agenda-get-closed () | 15938 | (defun org-agenda-get-closed () |
| 14574 | "Return the logged TODO entries for agenda display." | 15939 | "Return the logged TODO entries for agenda display." |
| 14575 | (let* ((props (list 'mouse-face 'highlight | 15940 | (let* ((props (list 'mouse-face 'highlight |
| 14576 | 'org-not-done-regexp org-not-done-regexp | 15941 | 'org-not-done-regexp org-not-done-regexp |
| 15942 | 'org-todo-regexp org-todo-regexp | ||
| 14577 | 'keymap org-agenda-keymap | 15943 | 'keymap org-agenda-keymap |
| 14578 | 'help-echo | 15944 | 'help-echo |
| 14579 | (format "mouse-2 or RET jump to org file %s" | 15945 | (format "mouse-2 or RET jump to org file %s" |
| @@ -14617,6 +15983,7 @@ the documentation of `org-diary'." | |||
| 14617 | (org-add-props txt props | 15983 | (org-add-props txt props |
| 14618 | 'org-marker marker 'org-hd-marker hdmarker 'face 'org-done | 15984 | 'org-marker marker 'org-hd-marker hdmarker 'face 'org-done |
| 14619 | 'priority priority 'org-category category | 15985 | 'priority priority 'org-category category |
| 15986 | 'type "closed" 'date date | ||
| 14620 | 'undone-face 'org-warning 'done-face 'org-done) | 15987 | 'undone-face 'org-warning 'done-face 'org-done) |
| 14621 | (push txt ee)) | 15988 | (push txt ee)) |
| 14622 | (outline-next-heading))) | 15989 | (outline-next-heading))) |
| @@ -14627,6 +15994,7 @@ the documentation of `org-diary'." | |||
| 14627 | (let* ((wdays org-deadline-warning-days) | 15994 | (let* ((wdays org-deadline-warning-days) |
| 14628 | (props (list 'mouse-face 'highlight | 15995 | (props (list 'mouse-face 'highlight |
| 14629 | 'org-not-done-regexp org-not-done-regexp | 15996 | 'org-not-done-regexp org-not-done-regexp |
| 15997 | 'org-todo-regexp org-todo-regexp | ||
| 14630 | 'keymap org-agenda-keymap | 15998 | 'keymap org-agenda-keymap |
| 14631 | 'help-echo | 15999 | 'help-echo |
| 14632 | (format "mouse-2 or RET jump to org file %s" | 16000 | (format "mouse-2 or RET jump to org file %s" |
| @@ -14641,8 +16009,9 @@ the documentation of `org-diary'." | |||
| 14641 | (catch :skip | 16009 | (catch :skip |
| 14642 | (org-agenda-skip) | 16010 | (org-agenda-skip) |
| 14643 | (setq pos (1- (match-beginning 1)) | 16011 | (setq pos (1- (match-beginning 1)) |
| 14644 | d2 (time-to-days | 16012 | ;??? d2 (time-to-days |
| 14645 | (org-time-string-to-time (match-string 1))) | 16013 | ;??? (org-time-string-to-time (match-string 1))) |
| 16014 | d2 (org-time-string-to-absolute (match-string 1) d1) | ||
| 14646 | diff (- d2 d1)) | 16015 | diff (- d2 d1)) |
| 14647 | ;; When to show a deadline in the calendar: | 16016 | ;; When to show a deadline in the calendar: |
| 14648 | ;; If the expiration is within wdays warning time. | 16017 | ;; If the expiration is within wdays warning time. |
| @@ -14673,6 +16042,7 @@ the documentation of `org-diary'." | |||
| 14673 | 'org-hd-marker (org-agenda-new-marker pos1) | 16042 | 'org-hd-marker (org-agenda-new-marker pos1) |
| 14674 | 'priority (+ (- 10 diff) (org-get-priority txt)) | 16043 | 'priority (+ (- 10 diff) (org-get-priority txt)) |
| 14675 | 'org-category category | 16044 | 'org-category category |
| 16045 | 'type "upcoming-deadline" 'date d2 | ||
| 14676 | 'face face 'undone-face face 'done-face 'org-done) | 16046 | 'face face 'undone-face face 'done-face 'org-done) |
| 14677 | (push txt ee)))))) | 16047 | (push txt ee)))))) |
| 14678 | ee)) | 16048 | ee)) |
| @@ -14681,6 +16051,7 @@ the documentation of `org-diary'." | |||
| 14681 | "Return the scheduled information for agenda display." | 16051 | "Return the scheduled information for agenda display." |
| 14682 | (let* ((props (list 'face 'org-scheduled-previously | 16052 | (let* ((props (list 'face 'org-scheduled-previously |
| 14683 | 'org-not-done-regexp org-not-done-regexp | 16053 | 'org-not-done-regexp org-not-done-regexp |
| 16054 | 'org-todo-regexp org-todo-regexp | ||
| 14684 | 'undone-face 'org-scheduled-previously | 16055 | 'undone-face 'org-scheduled-previously |
| 14685 | 'done-face 'org-done | 16056 | 'done-face 'org-done |
| 14686 | 'mouse-face 'highlight | 16057 | 'mouse-face 'highlight |
| @@ -14698,8 +16069,9 @@ the documentation of `org-diary'." | |||
| 14698 | (catch :skip | 16069 | (catch :skip |
| 14699 | (org-agenda-skip) | 16070 | (org-agenda-skip) |
| 14700 | (setq pos (1- (match-beginning 1)) | 16071 | (setq pos (1- (match-beginning 1)) |
| 14701 | d2 (time-to-days | 16072 | d2 (org-time-string-to-absolute (match-string 1) d1) |
| 14702 | (org-time-string-to-time (match-string 1))) | 16073 | ;??? d2 (time-to-days |
| 16074 | ;??? (org-time-string-to-time (match-string 1))) | ||
| 14703 | diff (- d2 d1)) | 16075 | diff (- d2 d1)) |
| 14704 | ;; When to show a scheduled item in the calendar: | 16076 | ;; When to show a scheduled item in the calendar: |
| 14705 | ;; If it is on or past the date. | 16077 | ;; If it is on or past the date. |
| @@ -14724,6 +16096,7 @@ the documentation of `org-diary'." | |||
| 14724 | (org-add-props txt props | 16096 | (org-add-props txt props |
| 14725 | 'org-marker (org-agenda-new-marker pos) | 16097 | 'org-marker (org-agenda-new-marker pos) |
| 14726 | 'org-hd-marker (org-agenda-new-marker pos1) | 16098 | 'org-hd-marker (org-agenda-new-marker pos1) |
| 16099 | 'type "past-scheduled" 'date d2 | ||
| 14727 | 'priority (+ (- 5 diff) (org-get-priority txt)) | 16100 | 'priority (+ (- 5 diff) (org-get-priority txt)) |
| 14728 | 'org-category category) | 16101 | 'org-category category) |
| 14729 | (push txt ee)))))) | 16102 | (push txt ee)))))) |
| @@ -14733,6 +16106,7 @@ the documentation of `org-diary'." | |||
| 14733 | "Return the date-range information for agenda display." | 16106 | "Return the date-range information for agenda display." |
| 14734 | (let* ((props (list 'face nil | 16107 | (let* ((props (list 'face nil |
| 14735 | 'org-not-done-regexp org-not-done-regexp | 16108 | 'org-not-done-regexp org-not-done-regexp |
| 16109 | 'org-todo-regexp org-todo-regexp | ||
| 14736 | 'mouse-face 'highlight | 16110 | 'mouse-face 'highlight |
| 14737 | 'keymap org-agenda-keymap | 16111 | 'keymap org-agenda-keymap |
| 14738 | 'help-echo | 16112 | 'help-echo |
| @@ -14771,6 +16145,7 @@ the documentation of `org-diary'." | |||
| 14771 | (setq txt org-agenda-no-heading-message)) | 16145 | (setq txt org-agenda-no-heading-message)) |
| 14772 | (org-add-props txt props | 16146 | (org-add-props txt props |
| 14773 | 'org-marker marker 'org-hd-marker hdmarker | 16147 | 'org-marker marker 'org-hd-marker hdmarker |
| 16148 | 'type "block" 'date date | ||
| 14774 | 'priority (org-get-priority txt) 'org-category category) | 16149 | 'priority (org-get-priority txt) 'org-category category) |
| 14775 | (push txt ee))) | 16150 | (push txt ee))) |
| 14776 | (goto-char pos))) | 16151 | (goto-char pos))) |
| @@ -14865,8 +16240,8 @@ only the correctly processes TXT should be returned - this is used by | |||
| 14865 | 16240 | ||
| 14866 | (when (string-match "\\([ \t]+\\)\\(:[a-zA-Z_@0-9:]+:\\)[ \t]*$" txt) | 16241 | (when (string-match "\\([ \t]+\\)\\(:[a-zA-Z_@0-9:]+:\\)[ \t]*$" txt) |
| 14867 | ;; Tags are in the string | 16242 | ;; Tags are in the string |
| 14868 | (if (or (eq org-agenda-remove-tags-when-in-prefix t) | 16243 | (if (or (eq org-agenda-remove-tags t) |
| 14869 | (and org-agenda-remove-tags-when-in-prefix | 16244 | (and org-agenda-remove-tags |
| 14870 | org-prefix-has-tag)) | 16245 | org-prefix-has-tag)) |
| 14871 | (setq txt (replace-match "" t t txt)) | 16246 | (setq txt (replace-match "" t t txt)) |
| 14872 | (setq txt (replace-match | 16247 | (setq txt (replace-match |
| @@ -14891,9 +16266,12 @@ only the correctly processes TXT should be returned - this is used by | |||
| 14891 | 'org-category (downcase category) 'tags tags | 16266 | 'org-category (downcase category) 'tags tags |
| 14892 | 'prefix-length (- (length rtn) (length txt)) | 16267 | 'prefix-length (- (length rtn) (length txt)) |
| 14893 | 'time-of-day time-of-day | 16268 | 'time-of-day time-of-day |
| 16269 | 'txt txt | ||
| 16270 | 'time time | ||
| 16271 | 'extra extra | ||
| 14894 | 'dotime dotime)))) | 16272 | 'dotime dotime)))) |
| 14895 | 16273 | ||
| 14896 | (defvar org-agenda-sorting-strategy) | 16274 | (defvar org-agenda-sorting-strategy) ;; FIXME: can be removed? |
| 14897 | (defvar org-agenda-sorting-strategy-selected nil) | 16275 | (defvar org-agenda-sorting-strategy-selected nil) |
| 14898 | 16276 | ||
| 14899 | (defun org-agenda-add-time-grid-maybe (list ndays todayp) | 16277 | (defun org-agenda-add-time-grid-maybe (list ndays todayp) |
| @@ -15243,6 +16621,7 @@ With prefix ARG, go back that many times `org-agenda-ndays'." | |||
| 15243 | "Detach overlay INDEX." | 16621 | "Detach overlay INDEX." |
| 15244 | (funcall (if (featurep 'xemacs) 'detach-extent 'delete-overlay) org-hl)) | 16622 | (funcall (if (featurep 'xemacs) 'detach-extent 'delete-overlay) org-hl)) |
| 15245 | 16623 | ||
| 16624 | ;; FIXME this is currently not used. | ||
| 15246 | (defun org-highlight-until-next-command (beg end &optional buffer) | 16625 | (defun org-highlight-until-next-command (beg end &optional buffer) |
| 15247 | (org-highlight beg end buffer) | 16626 | (org-highlight beg end buffer) |
| 15248 | (add-hook 'pre-command-hook 'org-unhighlight-once)) | 16627 | (add-hook 'pre-command-hook 'org-unhighlight-once)) |
| @@ -15350,12 +16729,13 @@ and by additional input from the age of a schedules or deadline entry." | |||
| 15350 | (org-agenda-error))) | 16729 | (org-agenda-error))) |
| 15351 | (buffer (marker-buffer marker)) | 16730 | (buffer (marker-buffer marker)) |
| 15352 | (pos (marker-position marker)) | 16731 | (pos (marker-position marker)) |
| 16732 | (type (get-text-property (point) 'type)) | ||
| 15353 | dbeg dend (n 0) conf) | 16733 | dbeg dend (n 0) conf) |
| 15354 | (org-with-remote-undo buffer | 16734 | (org-with-remote-undo buffer |
| 15355 | (with-current-buffer buffer | 16735 | (with-current-buffer buffer |
| 15356 | (save-excursion | 16736 | (save-excursion |
| 15357 | (goto-char pos) | 16737 | (goto-char pos) |
| 15358 | (if (org-mode-p) | 16738 | (if (and (org-mode-p) (not (member type '("sexp")))) |
| 15359 | (setq dbeg (progn (org-back-to-heading t) (point)) | 16739 | (setq dbeg (progn (org-back-to-heading t) (point)) |
| 15360 | dend (org-end-of-subtree t)) | 16740 | dend (org-end-of-subtree t)) |
| 15361 | (setq dbeg (point-at-bol) | 16741 | (setq dbeg (point-at-bol) |
| @@ -15502,6 +16882,16 @@ dedicated frame)." | |||
| 15502 | "Marker pointing to the headline that last changed its TODO state | 16882 | "Marker pointing to the headline that last changed its TODO state |
| 15503 | by a remote command from the agenda.") | 16883 | by a remote command from the agenda.") |
| 15504 | 16884 | ||
| 16885 | (defun org-agenda-todo-nextset () | ||
| 16886 | "Switch TODO entry to next sequence." | ||
| 16887 | (interactive) | ||
| 16888 | (org-agenda-todo 'nextset)) | ||
| 16889 | |||
| 16890 | (defun org-agenda-todo-previousset () | ||
| 16891 | "Switch TODO entry to previous sequence." | ||
| 16892 | (interactive) | ||
| 16893 | (org-agenda-todo 'previousset)) | ||
| 16894 | |||
| 15505 | (defun org-agenda-todo (&optional arg) | 16895 | (defun org-agenda-todo (&optional arg) |
| 15506 | "Cycle TODO state of line at point, also in Org-mode file. | 16896 | "Cycle TODO state of line at point, also in Org-mode file. |
| 15507 | This changes the line at point, all other lines in the agenda referring to | 16897 | This changes the line at point, all other lines in the agenda referring to |
| @@ -15656,7 +17046,7 @@ the tags of the current headline come last." | |||
| 15656 | (org-up-heading-all 1)) | 17046 | (org-up-heading-all 1)) |
| 15657 | (error nil)))) | 17047 | (error nil)))) |
| 15658 | tags))) | 17048 | tags))) |
| 15659 | 17049 | ||
| 15660 | ;; FIXME: should fix the tags property of the agenda line. | 17050 | ;; FIXME: should fix the tags property of the agenda line. |
| 15661 | (defun org-agenda-set-tags () | 17051 | (defun org-agenda-set-tags () |
| 15662 | "Set tags for the current headline." | 17052 | "Set tags for the current headline." |
| @@ -15673,10 +17063,12 @@ the tags of the current headline come last." | |||
| 15673 | (with-current-buffer buffer | 17063 | (with-current-buffer buffer |
| 15674 | (widen) | 17064 | (widen) |
| 15675 | (goto-char pos) | 17065 | (goto-char pos) |
| 15676 | (org-show-context 'agenda) | 17066 | (save-excursion |
| 17067 | (org-show-context 'agenda)) | ||
| 15677 | (save-excursion | 17068 | (save-excursion |
| 15678 | (and (outline-next-heading) | 17069 | (and (outline-next-heading) |
| 15679 | (org-flag-heading nil))) ; show the next heading | 17070 | (org-flag-heading nil))) ; show the next heading |
| 17071 | (goto-char pos) | ||
| 15680 | (call-interactively 'org-set-tags) | 17072 | (call-interactively 'org-set-tags) |
| 15681 | (end-of-line 1) | 17073 | (end-of-line 1) |
| 15682 | (setq newhead (org-get-heading))) | 17074 | (setq newhead (org-get-heading))) |
| @@ -15992,11 +17384,11 @@ This is a command that has to be installed in `calendar-mode-map'." | |||
| 15992 | (defvar org-cdlatex-mode-map (make-sparse-keymap) | 17384 | (defvar org-cdlatex-mode-map (make-sparse-keymap) |
| 15993 | "Keymap for the minor `org-cdlatex-mode'.") | 17385 | "Keymap for the minor `org-cdlatex-mode'.") |
| 15994 | 17386 | ||
| 15995 | (define-key org-cdlatex-mode-map "_" 'org-cdlatex-underscore-caret) | 17387 | (org-defkey org-cdlatex-mode-map "_" 'org-cdlatex-underscore-caret) |
| 15996 | (define-key org-cdlatex-mode-map "^" 'org-cdlatex-underscore-caret) | 17388 | (org-defkey org-cdlatex-mode-map "^" 'org-cdlatex-underscore-caret) |
| 15997 | (define-key org-cdlatex-mode-map "`" 'cdlatex-math-symbol) | 17389 | (org-defkey org-cdlatex-mode-map "`" 'cdlatex-math-symbol) |
| 15998 | (define-key org-cdlatex-mode-map "'" 'org-cdlatex-math-modify) | 17390 | (org-defkey org-cdlatex-mode-map "'" 'org-cdlatex-math-modify) |
| 15999 | (define-key org-cdlatex-mode-map "\C-c{" 'cdlatex-environment) | 17391 | (org-defkey org-cdlatex-mode-map "\C-c{" 'cdlatex-environment) |
| 16000 | 17392 | ||
| 16001 | (defvar org-cdlatex-texmathp-advice-is-done nil | 17393 | (defvar org-cdlatex-texmathp-advice-is-done nil |
| 16002 | "Flag remembering if we have applied the advice to texmathp already.") | 17394 | "Flag remembering if we have applied the advice to texmathp already.") |
| @@ -16064,7 +17456,7 @@ looks only before point, not after." | |||
| 16064 | (while (string-match re str start) | 17456 | (while (string-match re str start) |
| 16065 | (cond | 17457 | (cond |
| 16066 | ((= (match-end 0) (length str)) | 17458 | ((= (match-end 0) (length str)) |
| 16067 | (throw 'exit (cons "$" (+ lim (match-beginning 0))))) | 17459 | (throw 'exit (cons "$" (+ lim (match-beginning 0) 1)))) |
| 16068 | ((= (match-end 0) (- (length str) 5)) | 17460 | ((= (match-end 0) (- (length str) 5)) |
| 16069 | (throw 'exit nil)) | 17461 | (throw 'exit nil)) |
| 16070 | (t (setq start (match-end 0)))))) | 17462 | (t (setq start (match-end 0)))))) |
| @@ -16156,11 +17548,12 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16156 | "Creating images for entry...%s")))) | 17548 | "Creating images for entry...%s")))) |
| 16157 | (message msg "") | 17549 | (message msg "") |
| 16158 | (narrow-to-region beg end) | 17550 | (narrow-to-region beg end) |
| 17551 | (goto-char beg) | ||
| 16159 | (org-format-latex | 17552 | (org-format-latex |
| 16160 | (concat "ltxpng/" (file-name-sans-extension | 17553 | (concat "ltxpng/" (file-name-sans-extension |
| 16161 | (file-name-nondirectory | 17554 | (file-name-nondirectory |
| 16162 | buffer-file-name))) | 17555 | buffer-file-name))) |
| 16163 | default-directory 'overlays msg at) | 17556 | default-directory 'overlays msg at 'forbuffer) |
| 16164 | (message msg "done. Use `C-c C-c' to remove images."))))) | 17557 | (message msg "done. Use `C-c C-c' to remove images."))))) |
| 16165 | 17558 | ||
| 16166 | (defvar org-latex-regexps | 17559 | (defvar org-latex-regexps |
| @@ -16173,7 +17566,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16173 | ("$$" "\\$\\$[^\000]*?\\$\\$" 0 t)) | 17566 | ("$$" "\\$\\$[^\000]*?\\$\\$" 0 t)) |
| 16174 | "Regular expressions for matching embedded LaTeX.") | 17567 | "Regular expressions for matching embedded LaTeX.") |
| 16175 | 17568 | ||
| 16176 | (defun org-format-latex (prefix &optional dir overlays msg at) | 17569 | (defun org-format-latex (prefix &optional dir overlays msg at forbuffer) |
| 16177 | "Replace LaTeX fragments with links to an image, and produce images." | 17570 | "Replace LaTeX fragments with links to an image, and produce images." |
| 16178 | (if (and overlays (fboundp 'clear-image-cache)) (clear-image-cache)) | 17571 | (if (and overlays (fboundp 'clear-image-cache)) (clear-image-cache)) |
| 16179 | (let* ((prefixnodir (file-name-nondirectory prefix)) | 17572 | (let* ((prefixnodir (file-name-nondirectory prefix)) |
| @@ -16210,7 +17603,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16210 | (setq checkdir t) | 17603 | (setq checkdir t) |
| 16211 | (or (file-directory-p todir) (make-directory todir))) | 17604 | (or (file-directory-p todir) (make-directory todir))) |
| 16212 | (org-create-formula-image | 17605 | (org-create-formula-image |
| 16213 | txt movefile opt) | 17606 | txt movefile opt forbuffer) |
| 16214 | (if overlays | 17607 | (if overlays |
| 16215 | (progn | 17608 | (progn |
| 16216 | (setq ov (org-make-overlay beg end)) | 17609 | (setq ov (org-make-overlay beg end)) |
| @@ -16229,31 +17622,27 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16229 | (insert link)))))))) | 17622 | (insert link)))))))) |
| 16230 | 17623 | ||
| 16231 | ;; This function borrows from Ganesh Swami's latex2png.el | 17624 | ;; This function borrows from Ganesh Swami's latex2png.el |
| 16232 | (defun org-create-formula-image (string tofile options) | 17625 | (defun org-create-formula-image (string tofile options buffer) |
| 16233 | (let* ((tmpdir (if (featurep 'xemacs) | 17626 | (let* ((tmpdir (if (featurep 'xemacs) |
| 16234 | (temp-directory) | 17627 | (temp-directory) |
| 16235 | temporary-file-directory)) | 17628 | temporary-file-directory)) |
| 16236 | (texfilebase (make-temp-name | 17629 | (texfilebase (make-temp-name |
| 16237 | (expand-file-name "orgtex" tmpdir))) | 17630 | (expand-file-name "orgtex" tmpdir))) |
| 16238 | |||
| 16239 | ;(texfilebase (make-temp-file "orgtex")) | ||
| 16240 | ; (dummy (delete-file texfilebase)) | ||
| 16241 | (texfile (concat texfilebase ".tex")) | 17631 | (texfile (concat texfilebase ".tex")) |
| 16242 | (dvifile (concat texfilebase ".dvi")) | 17632 | (dvifile (concat texfilebase ".dvi")) |
| 16243 | (pngfile (concat texfilebase ".png")) | 17633 | (pngfile (concat texfilebase ".png")) |
| 16244 | (scale (number-to-string (* 1000 (or (plist-get options :scale) 1.0)))) | 17634 | (fnh (face-attribute 'default :height nil)) |
| 16245 | (fg (or (plist-get options :foreground) "Black")) | 17635 | (scale (or (plist-get options (if buffer :scale :html-scale)) 1.0)) |
| 16246 | (bg (or (plist-get options :background) "Transparent"))) | 17636 | (dpi (number-to-string (* scale (floor (* 0.9 (if buffer fnh 140.)))))) |
| 17637 | (fg (or (plist-get options (if buffer :foreground :html-foreground)) | ||
| 17638 | "Black")) | ||
| 17639 | (bg (or (plist-get options (if buffer :background :html-background)) | ||
| 17640 | "Transparent"))) | ||
| 17641 | (if (eq fg 'default) (setq fg (org-dvipng-color :foreground))) | ||
| 17642 | (if (eq bg 'default) (setq bg (org-dvipng-color :background))) | ||
| 16247 | (with-temp-file texfile | 17643 | (with-temp-file texfile |
| 16248 | (insert "\\documentclass{article} | 17644 | (insert org-format-latex-header |
| 16249 | \\usepackage{fullpage} | 17645 | "\n\\begin{document}\n" string "\n\\end{document}\n")) |
| 16250 | \\usepackage{amssymb} | ||
| 16251 | \\usepackage[usenames]{color} | ||
| 16252 | \\usepackage{amsmath} | ||
| 16253 | \\usepackage{latexsym} | ||
| 16254 | \\usepackage[mathscr]{eucal} | ||
| 16255 | \\pagestyle{empty} | ||
| 16256 | \\begin{document}\n" string "\n\\end{document}\n")) | ||
| 16257 | (let ((dir default-directory)) | 17646 | (let ((dir default-directory)) |
| 16258 | (condition-case nil | 17647 | (condition-case nil |
| 16259 | (progn | 17648 | (progn |
| @@ -16265,7 +17654,9 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16265 | (progn (message "Failed to create dvi file from %s" texfile) nil) | 17654 | (progn (message "Failed to create dvi file from %s" texfile) nil) |
| 16266 | (call-process "dvipng" nil nil nil | 17655 | (call-process "dvipng" nil nil nil |
| 16267 | "-E" "-fg" fg "-bg" bg | 17656 | "-E" "-fg" fg "-bg" bg |
| 16268 | "-x" scale "-y" scale "-T" "tight" | 17657 | "-D" dpi |
| 17658 | ;;"-x" scale "-y" scale | ||
| 17659 | "-T" "tight" | ||
| 16269 | "-o" pngfile | 17660 | "-o" pngfile |
| 16270 | dvifile) | 17661 | dvifile) |
| 16271 | (if (not (file-exists-p pngfile)) | 17662 | (if (not (file-exists-p pngfile)) |
| @@ -16276,6 +17667,16 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16276 | (delete-file (concat texfilebase e))) | 17667 | (delete-file (concat texfilebase e))) |
| 16277 | pngfile)))) | 17668 | pngfile)))) |
| 16278 | 17669 | ||
| 17670 | (defun org-dvipng-color (attr) | ||
| 17671 | "Return an rgb color specification for dvipng." | ||
| 17672 | (apply 'format "rgb %s %s %s" | ||
| 17673 | (mapcar 'org-normalize-color | ||
| 17674 | (color-values (face-attribute 'default attr nil))))) | ||
| 17675 | |||
| 17676 | (defun org-normalize-color (value) | ||
| 17677 | "Return string to be used as color value for an RGB component." | ||
| 17678 | (format "%g" (/ value 65535.0))) | ||
| 17679 | |||
| 16279 | ;;;; Exporting | 17680 | ;;;; Exporting |
| 16280 | 17681 | ||
| 16281 | ;;; Variables, constants, and parameter plists | 17682 | ;;; Variables, constants, and parameter plists |
| @@ -16300,16 +17701,19 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16300 | (:headline-levels . org-export-headline-levels) | 17701 | (:headline-levels . org-export-headline-levels) |
| 16301 | (:section-numbers . org-export-with-section-numbers) | 17702 | (:section-numbers . org-export-with-section-numbers) |
| 16302 | (:table-of-contents . org-export-with-toc) | 17703 | (:table-of-contents . org-export-with-toc) |
| 17704 | (:preserve-breaks . org-export-preserve-breaks) | ||
| 16303 | (:archived-trees . org-export-with-archived-trees) | 17705 | (:archived-trees . org-export-with-archived-trees) |
| 16304 | (:emphasize . org-export-with-emphasize) | 17706 | (:emphasize . org-export-with-emphasize) |
| 16305 | (:sub-superscript . org-export-with-sub-superscripts) | 17707 | (:sub-superscript . org-export-with-sub-superscripts) |
| 16306 | (:TeX-macros . org-export-with-TeX-macros) | 17708 | (:TeX-macros . org-export-with-TeX-macros) |
| 16307 | (:LaTeX-fragments . org-export-with-LaTeX-fragments) | 17709 | (:LaTeX-fragments . org-export-with-LaTeX-fragments) |
| 17710 | (:skip-before-1st-heading . org-export-skip-text-before-1st-heading) | ||
| 16308 | (:fixed-width . org-export-with-fixed-width) | 17711 | (:fixed-width . org-export-with-fixed-width) |
| 16309 | (:timestamps . org-export-with-timestamps) | 17712 | (:timestamps . org-export-with-timestamps) |
| 16310 | (:tables . org-export-with-tables) | 17713 | (:tables . org-export-with-tables) |
| 16311 | (:table-auto-headline . org-export-highlight-first-table-line) | 17714 | (:table-auto-headline . org-export-highlight-first-table-line) |
| 16312 | (:style . org-export-html-style) | 17715 | (:style . org-export-html-style) |
| 17716 | (:agenda-style . org-agenda-export-html-style) ;; FIXME: Does this work???? | ||
| 16313 | (:convert-org-links . org-export-html-link-org-files-as-html) | 17717 | (:convert-org-links . org-export-html-link-org-files-as-html) |
| 16314 | (:inline-images . org-export-html-inline-images) | 17718 | (:inline-images . org-export-html-inline-images) |
| 16315 | (:expand-quoted-html . org-export-html-expand) | 17719 | (:expand-quoted-html . org-export-html-expand) |
| @@ -16359,7 +17763,8 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16359 | ("^" . :sub-superscript) | 17763 | ("^" . :sub-superscript) |
| 16360 | ("*" . :emphasize) | 17764 | ("*" . :emphasize) |
| 16361 | ("TeX" . :TeX-macros) | 17765 | ("TeX" . :TeX-macros) |
| 16362 | ("LaTeX" . :LaTeX-fragments))) | 17766 | ("LaTeX" . :LaTeX-fragments) |
| 17767 | ("skip" . :skip-before-1st-heading))) | ||
| 16363 | o) | 17768 | o) |
| 16364 | (while (setq o (pop op)) | 17769 | (while (setq o (pop op)) |
| 16365 | (if (string-match (concat (regexp-quote (car o)) | 17770 | (if (string-match (concat (regexp-quote (car o)) |
| @@ -16377,19 +17782,11 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16377 | val))) | 17782 | val))) |
| 16378 | dir)) | 17783 | dir)) |
| 16379 | 17784 | ||
| 16380 | (defun org-export-find-first-heading-line (list) | ||
| 16381 | "Remove all lines from LIST which are before the first headline." | ||
| 16382 | (let ((orig-list list) | ||
| 16383 | (re (concat "^" outline-regexp))) | ||
| 16384 | (while (and list | ||
| 16385 | (not (string-match re (car list)))) | ||
| 16386 | (pop list)) | ||
| 16387 | (or list orig-list))) | ||
| 16388 | |||
| 16389 | (defun org-skip-comments (lines) | 17785 | (defun org-skip-comments (lines) |
| 16390 | "Skip lines starting with \"#\" and subtrees starting with COMMENT." | 17786 | "Skip lines starting with \"#\" and subtrees starting with COMMENT." |
| 16391 | (let ((re1 (concat "^\\(\\*+\\)[ \t]+" org-comment-string)) | 17787 | (let ((re1 (concat "^\\(\\*+\\)[ \t]+" org-comment-string)) |
| 16392 | (re2 "^\\(\\*+\\)[ \t\n\r]") | 17788 | (re2 "^\\(\\*+\\)[ \t\n\r]") |
| 17789 | (case-fold-search nil) | ||
| 16393 | rtn line level) | 17790 | rtn line level) |
| 16394 | (while (setq line (pop lines)) | 17791 | (while (setq line (pop lines)) |
| 16395 | (cond | 17792 | (cond |
| @@ -16420,6 +17817,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16420 | 17817 | ||
| 16421 | \[a] export as ASCII | 17818 | \[a] export as ASCII |
| 16422 | \[h] export as HTML | 17819 | \[h] export as HTML |
| 17820 | \[H] export as HTML to temporary buffer | ||
| 16423 | \[b] export as HTML and browse immediately | 17821 | \[b] export as HTML and browse immediately |
| 16424 | \[x] export as XOXO | 17822 | \[x] export as XOXO |
| 16425 | 17823 | ||
| @@ -16437,6 +17835,8 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16437 | (?a . org-export-as-ascii) | 17835 | (?a . org-export-as-ascii) |
| 16438 | (?h . org-export-as-html) | 17836 | (?h . org-export-as-html) |
| 16439 | (?b . org-export-as-html-and-open) | 17837 | (?b . org-export-as-html-and-open) |
| 17838 | (?H . org-export-as-html-to-buffer) | ||
| 17839 | (?R . org-export-region-as-html) | ||
| 16440 | (?x . org-export-as-xoxo) | 17840 | (?x . org-export-as-xoxo) |
| 16441 | (?i . org-export-icalendar-this-file) | 17841 | (?i . org-export-icalendar-this-file) |
| 16442 | (?I . org-export-icalendar-all-agenda-files) | 17842 | (?I . org-export-icalendar-all-agenda-files) |
| @@ -16465,6 +17865,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." | |||
| 16465 | ("curren") | 17865 | ("curren") |
| 16466 | ("yen") | 17866 | ("yen") |
| 16467 | ("brvbar") | 17867 | ("brvbar") |
| 17868 | ("vert" . "|") | ||
| 16468 | ("sect") | 17869 | ("sect") |
| 16469 | ("uml") | 17870 | ("uml") |
| 16470 | ("copy") | 17871 | ("copy") |
| @@ -16766,26 +18167,44 @@ translations. There is currently no way for users to extend this.") | |||
| 16766 | (re-angle-link (concat "\\([^[]\\)" org-angle-link-re)) | 18167 | (re-angle-link (concat "\\([^[]\\)" org-angle-link-re)) |
| 16767 | (re-archive (concat ":" org-archive-tag ":")) | 18168 | (re-archive (concat ":" org-archive-tag ":")) |
| 16768 | (re-quote (concat "^\\*+[ \t]+" org-quote-string "\\>")) | 18169 | (re-quote (concat "^\\*+[ \t]+" org-quote-string "\\>")) |
| 16769 | (htmlp (memq :for-html parameters)) | 18170 | (htmlp (plist-get parameters :for-html)) |
| 16770 | (outline-regexp "\\*+") | 18171 | (outline-regexp "\\*+") |
| 16771 | rtn) | 18172 | a b |
| 18173 | rtn p) | ||
| 16772 | (save-excursion | 18174 | (save-excursion |
| 16773 | (set-buffer (get-buffer-create " org-mode-tmp")) | 18175 | (set-buffer (get-buffer-create " org-mode-tmp")) |
| 16774 | (erase-buffer) | 18176 | (erase-buffer) |
| 16775 | (insert string) | 18177 | (insert string) |
| 18178 | ;; Remove license-to-kill stuff | ||
| 18179 | (while (setq p (text-property-any (point-min) (point-max) | ||
| 18180 | :org-license-to-kill t)) | ||
| 18181 | (delete-region p (next-single-property-change p :org-license-to-kill))) | ||
| 18182 | |||
| 16776 | (let ((org-inhibit-startup t)) (org-mode)) | 18183 | (let ((org-inhibit-startup t)) (org-mode)) |
| 16777 | (untabify (point-min) (point-max)) | 18184 | (untabify (point-min) (point-max)) |
| 16778 | 18185 | ||
| 18186 | ;; Get the correct stuff before the first headline | ||
| 18187 | (when (plist-get parameters :skip-before-1st-heading) | ||
| 18188 | (goto-char (point-min)) | ||
| 18189 | (when (re-search-forward "^\\*+[ \t]" nil t) | ||
| 18190 | (delete-region (point-min) (match-beginning 0)) | ||
| 18191 | (goto-char (point-min)) | ||
| 18192 | (insert "\n"))) | ||
| 18193 | (when (plist-get parameters :add-text) | ||
| 18194 | (goto-char (point-min)) | ||
| 18195 | (insert (plist-get parameters :add-text) "\n")) | ||
| 18196 | |||
| 16779 | ;; Get rid of archived trees | 18197 | ;; Get rid of archived trees |
| 16780 | (when (not (eq org-export-with-archived-trees t)) | 18198 | (when (not (eq org-export-with-archived-trees t)) |
| 16781 | (goto-char (point-min)) | 18199 | (goto-char (point-min)) |
| 16782 | (while (re-search-forward re-archive nil t) | 18200 | (while (re-search-forward re-archive nil t) |
| 16783 | (if (not (org-on-heading-p)) | 18201 | (if (not (org-on-heading-p t)) |
| 16784 | (org-end-of-subtree t) | 18202 | (org-end-of-subtree t) |
| 16785 | (beginning-of-line 1) | 18203 | (beginning-of-line 1) |
| 16786 | (delete-region | 18204 | (setq a (if org-export-with-archived-trees |
| 16787 | (if org-export-with-archived-trees (1+ (point-at-eol)) (point)) | 18205 | (1+ (point-at-eol)) (point)) |
| 16788 | (org-end-of-subtree t))))) | 18206 | b (org-end-of-subtree t)) |
| 18207 | (if (> b a) (delete-region a b))))) | ||
| 16789 | 18208 | ||
| 16790 | ;; Protect stuff from HTML processing | 18209 | ;; Protect stuff from HTML processing |
| 16791 | (goto-char (point-min)) | 18210 | (goto-char (point-min)) |
| @@ -16796,12 +18215,12 @@ translations. There is currently no way for users to extend this.") | |||
| 16796 | (goto-char (point-min)) | 18215 | (goto-char (point-min)) |
| 16797 | (while (re-search-forward "^#\\+HTML:[ \t]*\\(.*\\)" nil t) | 18216 | (while (re-search-forward "^#\\+HTML:[ \t]*\\(.*\\)" nil t) |
| 16798 | (replace-match "\\1" t) | 18217 | (replace-match "\\1" t) |
| 16799 | (add-text-properties | 18218 | (add-text-properties |
| 16800 | (point-at-bol) (min (1+ (point-at-eol)) (point-max)) | 18219 | (point-at-bol) (min (1+ (point-at-eol)) (point-max)) |
| 16801 | '(org-protected t)))) | 18220 | '(org-protected t)))) |
| 16802 | (goto-char (point-min)) | 18221 | (goto-char (point-min)) |
| 16803 | (while (re-search-forward | 18222 | (while (re-search-forward |
| 16804 | "^#\\+BEGIN_HTML\\>.*\\(\n.*\\)*?\n#\\+END_HTML\\>.*\n?" nil t) | 18223 | "^#\\+BEGIN_HTML\\>.*\\(\\(\n.*\\)*?\n\\)#\\+END_HTML\\>.*\n?" nil t) |
| 16805 | (if htmlp | 18224 | (if htmlp |
| 16806 | (add-text-properties (match-beginning 1) (1+ (match-end 1)) | 18225 | (add-text-properties (match-beginning 1) (1+ (match-end 1)) |
| 16807 | '(org-protected t)) | 18226 | '(org-protected t)) |
| @@ -16839,7 +18258,7 @@ translations. There is currently no way for users to extend this.") | |||
| 16839 | (goto-char (match-beginning 0)))) | 18258 | (goto-char (match-beginning 0)))) |
| 16840 | 18259 | ||
| 16841 | ;; Convert LaTeX fragments to images | 18260 | ;; Convert LaTeX fragments to images |
| 16842 | (when (memq :LaTeX-fragments parameters) | 18261 | (when (plist-get parameters :LaTeX-fragments) |
| 16843 | (org-format-latex | 18262 | (org-format-latex |
| 16844 | (concat "ltxpng/" (file-name-sans-extension | 18263 | (concat "ltxpng/" (file-name-sans-extension |
| 16845 | (file-name-nondirectory | 18264 | (file-name-nondirectory |
| @@ -16851,6 +18270,7 @@ translations. There is currently no way for users to extend this.") | |||
| 16851 | ;; Expand link abbreviations | 18270 | ;; Expand link abbreviations |
| 16852 | (goto-char (point-min)) | 18271 | (goto-char (point-min)) |
| 16853 | (while (re-search-forward re-plain-link nil t) | 18272 | (while (re-search-forward re-plain-link nil t) |
| 18273 | (goto-char (1- (match-end 0))) | ||
| 16854 | (org-if-unprotected | 18274 | (org-if-unprotected |
| 16855 | (replace-match | 18275 | (replace-match |
| 16856 | (concat | 18276 | (concat |
| @@ -16858,6 +18278,7 @@ translations. There is currently no way for users to extend this.") | |||
| 16858 | t t))) | 18278 | t t))) |
| 16859 | (goto-char (point-min)) | 18279 | (goto-char (point-min)) |
| 16860 | (while (re-search-forward re-angle-link nil t) | 18280 | (while (re-search-forward re-angle-link nil t) |
| 18281 | (goto-char (1- (match-end 0))) | ||
| 16861 | (org-if-unprotected | 18282 | (org-if-unprotected |
| 16862 | (replace-match | 18283 | (replace-match |
| 16863 | (concat | 18284 | (concat |
| @@ -16877,17 +18298,35 @@ translations. There is currently no way for users to extend this.") | |||
| 16877 | t t))) | 18298 | t t))) |
| 16878 | 18299 | ||
| 16879 | ;; Find multiline emphasis and put them into single line | 18300 | ;; Find multiline emphasis and put them into single line |
| 16880 | (when (memq :emph-multiline parameters) | 18301 | (when (plist-get parameters :emph-multiline) |
| 16881 | (goto-char (point-min)) | 18302 | (goto-char (point-min)) |
| 16882 | (while (re-search-forward org-emph-re nil t) | 18303 | (while (re-search-forward org-emph-re nil t) |
| 16883 | (org-if-unprotected | 18304 | (if (not (= (char-after (match-beginning 3)) |
| 16884 | (subst-char-in-region (match-beginning 0) (match-end 0) ?\n ?\ t) | 18305 | (char-after (match-beginning 4)))) |
| 16885 | (goto-char (1- (match-end 0)))))) | 18306 | (org-if-unprotected |
| 18307 | (subst-char-in-region (match-beginning 0) (match-end 0) | ||
| 18308 | ?\n ?\ t) | ||
| 18309 | (goto-char (1- (match-end 0)))) | ||
| 18310 | (goto-char (1+ (match-beginning 0)))))) | ||
| 16886 | 18311 | ||
| 16887 | (setq rtn (buffer-string))) | 18312 | (setq rtn (buffer-string))) |
| 16888 | (kill-buffer " org-mode-tmp") | 18313 | (kill-buffer " org-mode-tmp") |
| 16889 | rtn)) | 18314 | rtn)) |
| 16890 | 18315 | ||
| 18316 | (defun org-export-grab-title-from-buffer () | ||
| 18317 | "Get a title for the current document, from looking at the buffer." | ||
| 18318 | (let (buffer-read-only) | ||
| 18319 | (save-excursion | ||
| 18320 | (goto-char (point-min)) | ||
| 18321 | (let ((end (save-excursion (outline-next-heading) (point)))) | ||
| 18322 | (when (re-search-forward "^[ \t]*[^# \t\r\n].*\n" end t) | ||
| 18323 | ;; Mark the line so that it will not be exported as normal text. | ||
| 18324 | (org-unmodified | ||
| 18325 | (add-text-properties (match-beginning 0) (match-end 0) | ||
| 18326 | (list :org-license-to-kill t))) | ||
| 18327 | ;; Return the title string | ||
| 18328 | (org-trim (match-string 0))))))) | ||
| 18329 | |||
| 16891 | (defun org-solidify-link-text (s &optional alist) | 18330 | (defun org-solidify-link-text (s &optional alist) |
| 16892 | "Take link text and make a safe target out of it." | 18331 | "Take link text and make a safe target out of it." |
| 16893 | (save-match-data | 18332 | (save-match-data |
| @@ -16959,16 +18398,7 @@ underlined headlines. The default is 3." | |||
| 16959 | (setq-default org-todo-line-regexp org-todo-line-regexp) | 18398 | (setq-default org-todo-line-regexp org-todo-line-regexp) |
| 16960 | (let* ((opt-plist (org-combine-plists (org-default-export-plist) | 18399 | (let* ((opt-plist (org-combine-plists (org-default-export-plist) |
| 16961 | (org-infile-export-plist))) | 18400 | (org-infile-export-plist))) |
| 16962 | (region | ||
| 16963 | (buffer-substring | ||
| 16964 | (if (org-region-active-p) (region-beginning) (point-min)) | ||
| 16965 | (if (org-region-active-p) (region-end) (point-max)))) | ||
| 16966 | (custom-times org-display-custom-times) | 18401 | (custom-times org-display-custom-times) |
| 16967 | (lines (org-export-find-first-heading-line | ||
| 16968 | (org-skip-comments | ||
| 16969 | (org-split-string | ||
| 16970 | (org-cleaned-string-for-export region) | ||
| 16971 | "[\r\n]")))) | ||
| 16972 | (org-ascii-current-indentation '(0 . 0)) | 18402 | (org-ascii-current-indentation '(0 . 0)) |
| 16973 | (level 0) line txt | 18403 | (level 0) line txt |
| 16974 | (umax nil) | 18404 | (umax nil) |
| @@ -16986,15 +18416,36 @@ underlined headlines. The default is 3." | |||
| 16986 | (time (format-time-string "%X" (org-current-time))) | 18416 | (time (format-time-string "%X" (org-current-time))) |
| 16987 | (author (plist-get opt-plist :author)) | 18417 | (author (plist-get opt-plist :author)) |
| 16988 | (title (or (plist-get opt-plist :title) | 18418 | (title (or (plist-get opt-plist :title) |
| 18419 | (and (not | ||
| 18420 | (plist-get opt-plist :skip-before-1st-heading)) | ||
| 18421 | (org-export-grab-title-from-buffer)) | ||
| 16989 | (file-name-sans-extension | 18422 | (file-name-sans-extension |
| 16990 | (file-name-nondirectory buffer-file-name)))) | 18423 | (file-name-nondirectory buffer-file-name)))) |
| 16991 | (email (plist-get opt-plist :email)) | 18424 | (email (plist-get opt-plist :email)) |
| 16992 | (language (plist-get opt-plist :language)) | 18425 | (language (plist-get opt-plist :language)) |
| 16993 | (quote-re0 (concat "^[ \t]*" org-quote-string "\\>")) | 18426 | (quote-re0 (concat "^[ \t]*" org-quote-string "\\>")) |
| 16994 | ; (quote-re (concat "^\\(\\*+\\)\\([ \t]*" org-quote-string "\\>\\)")) | 18427 | ; (quote-re (concat "^\\(\\*+\\)\\([ \t]*" org-quote-string "\\>\\)")) |
| 16995 | (text nil) | ||
| 16996 | (todo nil) | 18428 | (todo nil) |
| 16997 | (lang-words nil)) | 18429 | (lang-words nil) |
| 18430 | (region | ||
| 18431 | (buffer-substring | ||
| 18432 | (if (org-region-active-p) (region-beginning) (point-min)) | ||
| 18433 | (if (org-region-active-p) (region-end) (point-max)))) | ||
| 18434 | (lines (org-skip-comments | ||
| 18435 | (org-split-string | ||
| 18436 | (org-cleaned-string-for-export | ||
| 18437 | region | ||
| 18438 | :skip-before-1st-heading | ||
| 18439 | (plist-get opt-plist :skip-before-1st-heading) | ||
| 18440 | :add-text (plist-get opt-plist :text)) | ||
| 18441 | "[\r\n]"))) | ||
| 18442 | thetoc have-headings first-heading-pos | ||
| 18443 | table-open table-buffer) | ||
| 18444 | |||
| 18445 | (let (buffer-read-only) | ||
| 18446 | (org-unmodified | ||
| 18447 | (remove-text-properties (point-min) (point-max) | ||
| 18448 | '(:org-license-to-kill t)))) | ||
| 16998 | 18449 | ||
| 16999 | (setq org-last-level 1) | 18450 | (setq org-last-level 1) |
| 17000 | (org-init-section-numbers) | 18451 | (org-init-section-numbers) |
| @@ -17028,27 +18479,27 @@ underlined headlines. The default is 3." | |||
| 17028 | "\n"))) | 18479 | "\n"))) |
| 17029 | (if (and date time) | 18480 | (if (and date time) |
| 17030 | (insert (concat (nth 2 lang-words) ": " date " " time "\n"))) | 18481 | (insert (concat (nth 2 lang-words) ": " date " " time "\n"))) |
| 17031 | (if text (insert (concat (org-html-expand-for-ascii text) "\n\n"))) | ||
| 17032 | 18482 | ||
| 17033 | (insert "\n\n") | 18483 | (insert "\n\n") |
| 17034 | 18484 | ||
| 17035 | (if org-export-with-toc | 18485 | (if org-export-with-toc |
| 17036 | (progn | 18486 | (progn |
| 17037 | (insert (nth 3 lang-words) "\n" | 18487 | (push (concat (nth 3 lang-words) "\n") thetoc) |
| 17038 | (make-string (length (nth 3 lang-words)) ?=) "\n") | 18488 | (push (concat (make-string (length (nth 3 lang-words)) ?=) "\n") thetoc) |
| 17039 | (mapcar '(lambda (line) | 18489 | (mapcar '(lambda (line) |
| 17040 | (if (string-match org-todo-line-regexp | 18490 | (if (string-match org-todo-line-regexp |
| 17041 | line) | 18491 | line) |
| 17042 | ;; This is a headline | 18492 | ;; This is a headline |
| 17043 | (progn | 18493 | (progn |
| 18494 | (setq have-headings t) | ||
| 17044 | (setq level (- (match-end 1) (match-beginning 1)) | 18495 | (setq level (- (match-end 1) (match-beginning 1)) |
| 17045 | level (org-tr-level level) | 18496 | level (org-tr-level level) |
| 17046 | txt (match-string 3 line) | 18497 | txt (match-string 3 line) |
| 17047 | todo | 18498 | todo |
| 17048 | (or (and org-export-mark-todo-in-toc | 18499 | (or (and org-export-mark-todo-in-toc |
| 17049 | (match-beginning 2) | 18500 | (match-beginning 2) |
| 17050 | (not (equal (match-string 2 line) | 18501 | (not (member (match-string 2 line) |
| 17051 | org-done-string))) | 18502 | org-done-keywords))) |
| 17052 | ; TODO, not DONE | 18503 | ; TODO, not DONE |
| 17053 | (and org-export-mark-todo-in-toc | 18504 | (and org-export-mark-todo-in-toc |
| 17054 | (= level umax-toc) | 18505 | (= level umax-toc) |
| @@ -17067,12 +18518,15 @@ underlined headlines. The default is 3." | |||
| 17067 | " " txt))) | 18518 | " " txt))) |
| 17068 | (if (<= level umax-toc) | 18519 | (if (<= level umax-toc) |
| 17069 | (progn | 18520 | (progn |
| 17070 | (insert | 18521 | (push |
| 17071 | (make-string (* (1- level) 4) ?\ ) | 18522 | (concat |
| 17072 | (format (if todo "%s (*)\n" "%s\n") txt)) | 18523 | (make-string (* (1- level) 4) ?\ ) |
| 18524 | (format (if todo "%s (*)\n" "%s\n") txt)) | ||
| 18525 | thetoc) | ||
| 17073 | (setq org-last-level level)) | 18526 | (setq org-last-level level)) |
| 17074 | )))) | 18527 | )))) |
| 17075 | lines))) | 18528 | lines) |
| 18529 | (setq thetoc (if have-headings (nreverse thetoc) nil)))) | ||
| 17076 | 18530 | ||
| 17077 | (org-init-section-numbers) | 18531 | (org-init-section-numbers) |
| 17078 | (while (setq line (pop lines)) | 18532 | (while (setq line (pop lines)) |
| @@ -17091,12 +18545,44 @@ underlined headlines. The default is 3." | |||
| 17091 | (cond | 18545 | (cond |
| 17092 | ((string-match "^\\(\\*+\\)[ \t]*\\(.*\\)" line) | 18546 | ((string-match "^\\(\\*+\\)[ \t]*\\(.*\\)" line) |
| 17093 | ;; a Headline | 18547 | ;; a Headline |
| 18548 | (setq first-heading-pos (or first-heading-pos (point))) | ||
| 17094 | (setq level (org-tr-level (- (match-end 1) (match-beginning 1))) | 18549 | (setq level (org-tr-level (- (match-end 1) (match-beginning 1))) |
| 17095 | txt (match-string 2 line)) | 18550 | txt (match-string 2 line)) |
| 17096 | (org-ascii-level-start level txt umax lines)) | 18551 | (org-ascii-level-start level txt umax lines)) |
| 18552 | |||
| 18553 | ((and org-export-with-tables | ||
| 18554 | (string-match "^\\([ \t]*\\)\\(|\\|\\+-+\\+\\)" line)) | ||
| 18555 | (if (not table-open) | ||
| 18556 | ;; New table starts | ||
| 18557 | (setq table-open t table-buffer nil)) | ||
| 18558 | ;; Accumulate lines | ||
| 18559 | (setq table-buffer (cons line table-buffer)) | ||
| 18560 | (when (or (not lines) | ||
| 18561 | (not (string-match "^\\([ \t]*\\)\\(|\\|\\+-+\\+\\)" | ||
| 18562 | (car lines)))) | ||
| 18563 | (setq table-open nil | ||
| 18564 | table-buffer (nreverse table-buffer)) | ||
| 18565 | (insert (mapconcat | ||
| 18566 | (lambda (x) | ||
| 18567 | (org-fix-indentation x org-ascii-current-indentation)) | ||
| 18568 | (org-format-table-ascii table-buffer) | ||
| 18569 | "\n") "\n"))) | ||
| 17097 | (t | 18570 | (t |
| 17098 | (insert (org-fix-indentation line org-ascii-current-indentation) "\n")))) | 18571 | (insert (org-fix-indentation line org-ascii-current-indentation) "\n")))) |
| 17099 | (normal-mode) | 18572 | (normal-mode) |
| 18573 | |||
| 18574 | ;; insert the table of contents | ||
| 18575 | (when thetoc | ||
| 18576 | (goto-char (point-min)) | ||
| 18577 | (if (re-search-forward "^[ \t]*\\[TABLE-OF-CONTENTS\\][ \t]*$" nil t) | ||
| 18578 | (progn | ||
| 18579 | (goto-char (match-beginning 0)) | ||
| 18580 | (replace-match "")) | ||
| 18581 | (goto-char first-heading-pos)) | ||
| 18582 | (mapc 'insert thetoc) | ||
| 18583 | (or (looking-at "[ \t]*\n[ \t]*\n") | ||
| 18584 | (insert "\n\n"))) | ||
| 18585 | |||
| 17100 | (save-buffer) | 18586 | (save-buffer) |
| 17101 | ;; remove display and invisible chars | 18587 | ;; remove display and invisible chars |
| 17102 | (let (beg end) | 18588 | (let (beg end) |
| @@ -17124,8 +18610,8 @@ underlined headlines. The default is 3." | |||
| 17124 | (progn | 18610 | (progn |
| 17125 | (setq lv (- (match-end 1) (match-beginning 1)) | 18611 | (setq lv (- (match-end 1) (match-beginning 1)) |
| 17126 | todo (and (match-beginning 2) | 18612 | todo (and (match-beginning 2) |
| 17127 | (not (equal (match-string 2 line) | 18613 | (not (member (match-string 2 line) |
| 17128 | org-done-string)))) | 18614 | org-done-keywords)))) |
| 17129 | ; TODO, not DONE | 18615 | ; TODO, not DONE |
| 17130 | (if (<= lv level) (throw 'exit nil)) | 18616 | (if (<= lv level) (throw 'exit nil)) |
| 17131 | (if todo (throw 'exit t)))))))) | 18617 | (if todo (throw 'exit t)))))))) |
| @@ -17187,7 +18673,7 @@ continue to use it. The prefix arg ARG is passed through to the exporting | |||
| 17187 | command." | 18673 | command." |
| 17188 | (interactive | 18674 | (interactive |
| 17189 | (list (progn | 18675 | (list (progn |
| 17190 | (message "Export visible: [a]SCII [h]tml [b]rowse HTML [x]OXO [ ]keep buffer") | 18676 | (message "Export visible: [a]SCII [h]tml [b]rowse HTML [H/R]uffer with HTML [x]OXO [ ]keep buffer") |
| 17191 | (read-char-exclusive)) | 18677 | (read-char-exclusive)) |
| 17192 | current-prefix-arg)) | 18678 | current-prefix-arg)) |
| 17193 | (if (not (member type '(?a ?\C-a ?b ?\C-b ?h ?x ?\ ))) | 18679 | (if (not (member type '(?a ?\C-a ?b ?\C-b ?h ?x ?\ ))) |
| @@ -17198,6 +18684,8 @@ command." | |||
| 17198 | (?b . org-export-as-html-and-open) | 18684 | (?b . org-export-as-html-and-open) |
| 17199 | (?\C-b . org-export-as-html-and-open) | 18685 | (?\C-b . org-export-as-html-and-open) |
| 17200 | (?h . org-export-as-html) | 18686 | (?h . org-export-as-html) |
| 18687 | (?H . org-export-as-html-to-buffer) | ||
| 18688 | (?R . org-export-region-as-html) | ||
| 17201 | (?x . org-export-as-xoxo))))) | 18689 | (?x . org-export-as-xoxo))))) |
| 17202 | (keepp (equal type ?\ )) | 18690 | (keepp (equal type ?\ )) |
| 17203 | (file buffer-file-name) | 18691 | (file buffer-file-name) |
| @@ -17253,10 +18741,11 @@ Does include HTML export options as well as TODO and CATEGORY stuff." | |||
| 17253 | #+EMAIL: %s | 18741 | #+EMAIL: %s |
| 17254 | #+LANGUAGE: %s | 18742 | #+LANGUAGE: %s |
| 17255 | #+TEXT: Some descriptive text to be emitted. Several lines OK. | 18743 | #+TEXT: Some descriptive text to be emitted. Several lines OK. |
| 17256 | #+OPTIONS: H:%d num:%s toc:%s \\n:%s @:%s ::%s |:%s ^:%s *:%s TeX:%s LaTeX:%s | 18744 | #+OPTIONS: H:%d num:%s toc:%s \\n:%s @:%s ::%s |:%s ^:%s *:%s TeX:%s LaTeX:%s skip:%s |
| 17257 | #+CATEGORY: %s | 18745 | #+CATEGORY: %s |
| 17258 | #+SEQ_TODO: %s | 18746 | #+SEQ_TODO: %s |
| 17259 | #+TYP_TODO: %s | 18747 | #+TYP_TODO: %s |
| 18748 | #+PRIORITIES: %c %c %c | ||
| 17260 | #+STARTUP: %s %s %s %s %s | 18749 | #+STARTUP: %s %s %s %s %s |
| 17261 | #+TAGS: %s | 18750 | #+TAGS: %s |
| 17262 | #+ARCHIVE: %s | 18751 | #+ARCHIVE: %s |
| @@ -17274,13 +18763,11 @@ Does include HTML export options as well as TODO and CATEGORY stuff." | |||
| 17274 | org-export-with-emphasize | 18763 | org-export-with-emphasize |
| 17275 | org-export-with-TeX-macros | 18764 | org-export-with-TeX-macros |
| 17276 | org-export-with-LaTeX-fragments | 18765 | org-export-with-LaTeX-fragments |
| 18766 | org-export-skip-text-before-1st-heading | ||
| 17277 | (file-name-nondirectory buffer-file-name) | 18767 | (file-name-nondirectory buffer-file-name) |
| 17278 | (if (equal org-todo-interpretation 'sequence) | 18768 | "TODO FEEDBACK VERIFY DONE" |
| 17279 | (mapconcat 'identity org-todo-keywords " ") | 18769 | "Me Jason Marie DONE" |
| 17280 | "TODO FEEDBACK VERIFY DONE") | 18770 | org-highest-priority org-lowest-priority org-default-priority |
| 17281 | (if (equal org-todo-interpretation 'type) | ||
| 17282 | (mapconcat 'identity org-todo-keywords " ") | ||
| 17283 | "Me Jason Marie DONE") | ||
| 17284 | (cdr (assoc org-startup-folded | 18771 | (cdr (assoc org-startup-folded |
| 17285 | '((nil . "showall") (t . "overview") (content . "content")))) | 18772 | '((nil . "showall") (t . "overview") (content . "content")))) |
| 17286 | (if org-odd-levels-only "odd" "oddeven") | 18773 | (if org-odd-levels-only "odd" "oddeven") |
| @@ -17372,19 +18859,96 @@ emacs --batch | |||
| 17372 | --visit=MyFile --funcall org-export-as-html-batch" | 18859 | --visit=MyFile --funcall org-export-as-html-batch" |
| 17373 | (org-export-as-html org-export-headline-levels 'hidden)) | 18860 | (org-export-as-html org-export-headline-levels 'hidden)) |
| 17374 | 18861 | ||
| 17375 | (defun org-export-as-html (arg &optional hidden ext-plist) | 18862 | (defun org-export-as-html-to-buffer (arg) |
| 18863 | "Call `org-exort-as-html` with output to a temporary buffer. | ||
| 18864 | No file is created. The prefix ARG is passed through to `org-export-as-html'." | ||
| 18865 | (interactive "P") | ||
| 18866 | (org-export-as-html arg nil nil "*Org HTML Export*") | ||
| 18867 | (switch-to-buffer-other-window "*Org HTML Export*")) | ||
| 18868 | |||
| 18869 | (defun org-replace-region-by-html (beg end) | ||
| 18870 | "Assume the current region has org-mode syntax, and convert it to HTML. | ||
| 18871 | This can be used in any buffer. For example, you could write an | ||
| 18872 | itemized list in org-mode syntax in an HTML buffer and then use this | ||
| 18873 | command to convert it." | ||
| 18874 | (interactive "r") | ||
| 18875 | (let (reg html buf) | ||
| 18876 | (if (org-mode-p) | ||
| 18877 | (setq html (org-export-region-as-html | ||
| 18878 | beg end t 'string)) | ||
| 18879 | (setq reg (buffer-substring beg end) | ||
| 18880 | buf (get-buffer-create "*Org tmp*")) | ||
| 18881 | (save-excursion | ||
| 18882 | (set-buffer buf) | ||
| 18883 | (erase-buffer) | ||
| 18884 | (insert reg) | ||
| 18885 | (org-mode) | ||
| 18886 | (setq html (org-export-region-as-html | ||
| 18887 | (point-min) (point-max) t 'string))) | ||
| 18888 | (kill-buffer buf)) | ||
| 18889 | (delete-region beg end) | ||
| 18890 | (insert html))) | ||
| 18891 | |||
| 18892 | (defun org-export-region-as-html (beg end &optional body-only buffer) | ||
| 18893 | "Convert region from BEG to END in org-mode buffer to HTML. | ||
| 18894 | If prefix arg BODY-ONLY is set, omit file header, footer, and table of | ||
| 18895 | contents, and only produce the region of converted text, useful for | ||
| 18896 | cut-and-paste operations. | ||
| 18897 | If BUFFER is a buffer or a string, use/create that buffer as a target | ||
| 18898 | of the converted HTML. If BUFFER is the symbol `string', return the | ||
| 18899 | produced HTML as a string and leave not buffer behind. For example, | ||
| 18900 | a Lisp program could call this function in the following way: | ||
| 18901 | |||
| 18902 | (setq html (org-export-region-as-html beg end t 'string)) | ||
| 18903 | |||
| 18904 | When called interactively, the output buffer is selected, and shown | ||
| 18905 | in a window. A non-interactive call will only retunr the buffer." | ||
| 18906 | (interactive "r\nP") | ||
| 18907 | (when (interactive-p) | ||
| 18908 | (setq buffer "*Org HTML EXPORT*")) | ||
| 18909 | (let ((transient-mark-mode t) (zmacs-regions t) | ||
| 18910 | rtn) | ||
| 18911 | (goto-char end) | ||
| 18912 | (set-mark (point)) ;; to activate the region | ||
| 18913 | (goto-char beg) | ||
| 18914 | (setq rtn (org-export-as-html | ||
| 18915 | nil nil nil | ||
| 18916 | buffer body-only)) | ||
| 18917 | (if (fboundp 'deactivate-mark) (deactivate-mark)) | ||
| 18918 | (if (and (interactive-p) (bufferp rtn)) | ||
| 18919 | (switch-to-buffer-other-window rtn) | ||
| 18920 | rtn))) | ||
| 18921 | |||
| 18922 | (defun org-export-as-html (arg &optional hidden ext-plist | ||
| 18923 | to-buffer body-only) | ||
| 17376 | "Export the outline as a pretty HTML file. | 18924 | "Export the outline as a pretty HTML file. |
| 17377 | If there is an active region, export only the region. | 18925 | If there is an active region, export only the region. The prefix |
| 17378 | The prefix ARG specifies how many levels of the outline should become | 18926 | ARG specifies how many levels of the outline should become |
| 17379 | headlines. The default is 3. Lower levels will become bulleted lists. | 18927 | headlines. The default is 3. Lower levels will become bulleted |
| 17380 | When HIDDEN is non-nil, don't display the HTML buffer. | 18928 | lists. When HIDDEN is non-nil, don't display the HTML buffer. |
| 17381 | EXT-PLIST is a property list with external parameters overriding | 18929 | EXT-PLIST is a property list with external parameters overriding |
| 17382 | org-mode's default settings, but still inferior to file-local settings." | 18930 | org-mode's default settings, but still inferior to file-local |
| 18931 | settings. When TO-BUFFER is non-nil, create a buffer with that | ||
| 18932 | name and export to that buffer. If TO-BUFFER is the symbol `string', | ||
| 18933 | don't leave any buffer behind but just return the resulting HTML as | ||
| 18934 | a string. When BODY-ONLY is set, don't produce the file header and footer, | ||
| 18935 | simply return the content of <body>...</body>, without even | ||
| 18936 | the body tags themselves." | ||
| 17383 | (interactive "P") | 18937 | (interactive "P") |
| 18938 | |||
| 18939 | ;; Make sure we have a file name when we need it. | ||
| 18940 | (when (and (not (or to-buffer body-only)) | ||
| 18941 | (not buffer-file-name)) | ||
| 18942 | (if (buffer-base-buffer) | ||
| 18943 | (org-set-local 'buffer-file-name | ||
| 18944 | (with-current-buffer (buffer-base-buffer) | ||
| 18945 | buffer-file-name)) | ||
| 18946 | (error "Need a file name to be able to export."))) | ||
| 18947 | |||
| 17384 | (message "Exporting...") | 18948 | (message "Exporting...") |
| 17385 | (setq-default org-todo-line-regexp org-todo-line-regexp) | 18949 | (setq-default org-todo-line-regexp org-todo-line-regexp) |
| 17386 | (setq-default org-deadline-line-regexp org-deadline-line-regexp) | 18950 | (setq-default org-deadline-line-regexp org-deadline-line-regexp) |
| 17387 | (setq-default org-done-string org-done-string) | 18951 | (setq-default org-done-keywords org-done-keywords) |
| 17388 | (setq-default org-maybe-keyword-time-regexp org-maybe-keyword-time-regexp) | 18952 | (setq-default org-maybe-keyword-time-regexp org-maybe-keyword-time-regexp) |
| 17389 | (let* ((opt-plist (org-combine-plists (org-default-export-plist) | 18953 | (let* ((opt-plist (org-combine-plists (org-default-export-plist) |
| 17390 | ext-plist | 18954 | ext-plist |
| @@ -17392,42 +18956,42 @@ org-mode's default settings, but still inferior to file-local settings." | |||
| 17392 | 18956 | ||
| 17393 | (style (plist-get opt-plist :style)) | 18957 | (style (plist-get opt-plist :style)) |
| 17394 | (link-validate (plist-get opt-plist :link-validation-function)) | 18958 | (link-validate (plist-get opt-plist :link-validation-function)) |
| 17395 | valid | 18959 | valid thetoc have-headings first-heading-pos |
| 17396 | (odd org-odd-levels-only) | 18960 | (odd org-odd-levels-only) |
| 17397 | (region-p (org-region-active-p)) | 18961 | (region-p (org-region-active-p)) |
| 17398 | (region | ||
| 17399 | (buffer-substring | ||
| 17400 | (if region-p (region-beginning) (point-min)) | ||
| 17401 | (if region-p (region-end) (point-max)))) | ||
| 17402 | ;; The following two are dynamically scoped into other | 18962 | ;; The following two are dynamically scoped into other |
| 17403 | ;; routines below. | 18963 | ;; routines below. |
| 17404 | (org-current-export-dir (org-export-directory :html opt-plist)) | 18964 | (org-current-export-dir (org-export-directory :html opt-plist)) |
| 17405 | (org-current-export-file buffer-file-name) | 18965 | (org-current-export-file buffer-file-name) |
| 17406 | (all_lines | ||
| 17407 | (org-skip-comments (org-split-string | ||
| 17408 | (org-cleaned-string-for-export | ||
| 17409 | region :emph-multiline :for-html | ||
| 17410 | (if (plist-get opt-plist :LaTeX-fragments) | ||
| 17411 | :LaTeX-fragments)) | ||
| 17412 | "[\r\n]"))) | ||
| 17413 | (lines (org-export-find-first-heading-line all_lines)) | ||
| 17414 | (level 0) (line "") (origline "") txt todo | 18966 | (level 0) (line "") (origline "") txt todo |
| 17415 | (umax nil) | 18967 | (umax nil) |
| 17416 | (umax-toc nil) | 18968 | (umax-toc nil) |
| 17417 | (filename (concat (file-name-as-directory | 18969 | (filename (if to-buffer nil |
| 17418 | (org-export-directory :html opt-plist)) | 18970 | (concat (file-name-as-directory |
| 17419 | (file-name-sans-extension | 18971 | (org-export-directory :html opt-plist)) |
| 17420 | (file-name-nondirectory buffer-file-name)) | 18972 | (file-name-sans-extension |
| 17421 | ".html")) | 18973 | (file-name-nondirectory buffer-file-name)) |
| 17422 | (current-dir (file-name-directory buffer-file-name)) | 18974 | ".html"))) |
| 17423 | (buffer (find-file-noselect filename)) | 18975 | (current-dir (if buffer-file-name |
| 18976 | (file-name-directory buffer-file-name) | ||
| 18977 | default-directory)) | ||
| 18978 | (buffer (if to-buffer | ||
| 18979 | (cond | ||
| 18980 | ((eq to-buffer 'string) (get-buffer-create "*Org HTML Export*")) | ||
| 18981 | (t (get-buffer-create to-buffer))) | ||
| 18982 | (find-file-noselect filename))) | ||
| 17424 | (org-levels-open (make-vector org-level-max nil)) | 18983 | (org-levels-open (make-vector org-level-max nil)) |
| 17425 | (date (format-time-string "%Y/%m/%d" (current-time))) | 18984 | (date (format-time-string "%Y/%m/%d" (current-time))) |
| 17426 | (time (format-time-string "%X" (org-current-time))) | 18985 | (time (format-time-string "%X" (org-current-time))) |
| 17427 | (author (plist-get opt-plist :author)) | 18986 | (author (plist-get opt-plist :author)) |
| 17428 | (title (or (plist-get opt-plist :title) | 18987 | (title (or (plist-get opt-plist :title) |
| 17429 | (file-name-sans-extension | 18988 | (and (not |
| 17430 | (file-name-nondirectory buffer-file-name)))) | 18989 | (plist-get opt-plist :skip-before-1st-heading)) |
| 18990 | (org-export-grab-title-from-buffer)) | ||
| 18991 | (and buffer-file-name | ||
| 18992 | (file-name-sans-extension | ||
| 18993 | (file-name-nondirectory buffer-file-name))) | ||
| 18994 | "UNTITLED")) | ||
| 17431 | (quote-re0 (concat "^[ \t]*" org-quote-string "\\>")) | 18995 | (quote-re0 (concat "^[ \t]*" org-quote-string "\\>")) |
| 17432 | (quote-re (concat "^\\(\\*+\\)\\([ \t]*" org-quote-string "\\>\\)")) | 18996 | (quote-re (concat "^\\(\\*+\\)\\([ \t]*" org-quote-string "\\>\\)")) |
| 17433 | (inquote nil) | 18997 | (inquote nil) |
| @@ -17438,7 +19002,6 @@ org-mode's default settings, but still inferior to file-local settings." | |||
| 17438 | (llt org-plain-list-ordered-item-terminator) | 19002 | (llt org-plain-list-ordered-item-terminator) |
| 17439 | (email (plist-get opt-plist :email)) | 19003 | (email (plist-get opt-plist :email)) |
| 17440 | (language (plist-get opt-plist :language)) | 19004 | (language (plist-get opt-plist :language)) |
| 17441 | (text (plist-get opt-plist :text)) | ||
| 17442 | (lang-words nil) | 19005 | (lang-words nil) |
| 17443 | (target-alist nil) tg | 19006 | (target-alist nil) tg |
| 17444 | (head-count 0) cnt | 19007 | (head-count 0) cnt |
| @@ -17450,11 +19013,34 @@ org-mode's default settings, but still inferior to file-local settings." | |||
| 17450 | (charset (and coding-system | 19013 | (charset (and coding-system |
| 17451 | (fboundp 'coding-system-get) | 19014 | (fboundp 'coding-system-get) |
| 17452 | (coding-system-get coding-system 'mime-charset))) | 19015 | (coding-system-get coding-system 'mime-charset))) |
| 19016 | (region | ||
| 19017 | (buffer-substring | ||
| 19018 | (if region-p (region-beginning) (point-min)) | ||
| 19019 | (if region-p (region-end) (point-max)))) | ||
| 19020 | (lines | ||
| 19021 | (org-skip-comments (org-split-string | ||
| 19022 | (org-cleaned-string-for-export | ||
| 19023 | region | ||
| 19024 | :emph-multiline t | ||
| 19025 | :for-html t | ||
| 19026 | :skip-before-1st-heading | ||
| 19027 | (plist-get opt-plist :skip-before-1st-heading) | ||
| 19028 | :add-text | ||
| 19029 | (plist-get opt-plist :text) | ||
| 19030 | :LaTeX-fragments | ||
| 19031 | (plist-get opt-plist :LaTeX-fragments)) | ||
| 19032 | "[\r\n]"))) | ||
| 17453 | table-open type | 19033 | table-open type |
| 17454 | table-buffer table-orig-buffer | 19034 | table-buffer table-orig-buffer |
| 17455 | ind start-is-num starter | 19035 | ind start-is-num starter didclose |
| 17456 | rpl path desc descp desc1 desc2 link | 19036 | rpl path desc descp desc1 desc2 link |
| 17457 | ) | 19037 | ) |
| 19038 | |||
| 19039 | (let (buffer-read-only) | ||
| 19040 | (org-unmodified | ||
| 19041 | (remove-text-properties (point-min) (point-max) | ||
| 19042 | '(:org-license-to-kill t)))) | ||
| 19043 | |||
| 17458 | (message "Exporting...") | 19044 | (message "Exporting...") |
| 17459 | 19045 | ||
| 17460 | (setq org-last-level 1) | 19046 | (setq org-last-level 1) |
| @@ -17465,9 +19051,7 @@ org-mode's default settings, but still inferior to file-local settings." | |||
| 17465 | (assoc "en" org-export-language-setup))) | 19051 | (assoc "en" org-export-language-setup))) |
| 17466 | 19052 | ||
| 17467 | ;; Switch to the output buffer | 19053 | ;; Switch to the output buffer |
| 17468 | (if (or hidden t) | 19054 | (set-buffer buffer) |
| 17469 | (set-buffer buffer) | ||
| 17470 | (switch-to-buffer-other-window buffer)) | ||
| 17471 | (erase-buffer) | 19055 | (erase-buffer) |
| 17472 | (fundamental-mode) | 19056 | (fundamental-mode) |
| 17473 | (let ((case-fold-search nil) | 19057 | (let ((case-fold-search nil) |
| @@ -17483,10 +19067,10 @@ org-mode's default settings, but still inferior to file-local settings." | |||
| 17483 | (setq umax-toc (if (integerp org-export-with-toc) | 19067 | (setq umax-toc (if (integerp org-export-with-toc) |
| 17484 | (min org-export-with-toc umax) | 19068 | (min org-export-with-toc umax) |
| 17485 | umax)) | 19069 | umax)) |
| 17486 | 19070 | (unless body-only | |
| 17487 | ;; File header | 19071 | ;; File header |
| 17488 | (insert (format | 19072 | (insert (format |
| 17489 | "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" | 19073 | "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" |
| 17490 | \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> | 19074 | \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> |
| 17491 | <html xmlns=\"http://www.w3.org/1999/xhtml\" | 19075 | <html xmlns=\"http://www.w3.org/1999/xhtml\" |
| 17492 | lang=\"%s\" xml:lang=\"%s\"> | 19076 | lang=\"%s\" xml:lang=\"%s\"> |
| @@ -17499,94 +19083,96 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17499 | %s | 19083 | %s |
| 17500 | </head><body> | 19084 | </head><body> |
| 17501 | " | 19085 | " |
| 17502 | language language (org-html-expand title) (or charset "iso-8859-1") | 19086 | language language (org-html-expand title) |
| 17503 | date time author style)) | 19087 | (or charset "iso-8859-1") date time author style)) |
| 17504 | 19088 | ||
| 19089 | (insert (or (plist-get opt-plist :preamble) "")) | ||
| 17505 | 19090 | ||
| 17506 | (insert (or (plist-get opt-plist :preamble) "")) | 19091 | (when (plist-get opt-plist :auto-preamble) |
| 19092 | (if title (insert (format org-export-html-title-format | ||
| 19093 | (org-html-expand title)))))) | ||
| 17507 | 19094 | ||
| 17508 | (when (plist-get opt-plist :auto-preamble) | 19095 | (if (and org-export-with-toc (not body-only)) |
| 17509 | (if title (insert (format org-export-html-title-format | ||
| 17510 | (org-html-expand title)))) | ||
| 17511 | (if text (insert "<p>\n" (org-html-expand text) "</p>"))) | ||
| 17512 | |||
| 17513 | (if org-export-with-toc | ||
| 17514 | (progn | 19096 | (progn |
| 17515 | (insert (format "<h%d>%s</h%d>\n" | 19097 | (push (format "<h%d>%s</h%d>\n" |
| 17516 | org-export-html-toplevel-hlevel | 19098 | org-export-html-toplevel-hlevel |
| 17517 | (nth 3 lang-words) | 19099 | (nth 3 lang-words) |
| 17518 | org-export-html-toplevel-hlevel)) | 19100 | org-export-html-toplevel-hlevel) |
| 17519 | (insert "<ul>\n<li>") | 19101 | thetoc) |
| 19102 | (push "<ul>\n<li>" thetoc) | ||
| 17520 | (setq lines | 19103 | (setq lines |
| 17521 | (mapcar '(lambda (line) | 19104 | (mapcar '(lambda (line) |
| 17522 | (if (string-match org-todo-line-regexp line) | 19105 | (if (string-match org-todo-line-regexp line) |
| 17523 | ;; This is a headline | 19106 | ;; This is a headline |
| 17524 | (progn | 19107 | (progn |
| 17525 | (setq level (- (match-end 1) (match-beginning 1)) | 19108 | (setq have-headings t) |
| 17526 | level (org-tr-level level) | 19109 | (setq level (- (match-end 1) (match-beginning 1)) |
| 17527 | txt (save-match-data | 19110 | level (org-tr-level level) |
| 17528 | (org-html-expand | 19111 | txt (save-match-data |
| 17529 | (org-export-cleanup-toc-line | 19112 | (org-html-expand |
| 17530 | (match-string 3 line)))) | 19113 | (org-export-cleanup-toc-line |
| 17531 | todo | 19114 | (match-string 3 line)))) |
| 17532 | (or (and org-export-mark-todo-in-toc | 19115 | todo |
| 17533 | (match-beginning 2) | 19116 | (or (and org-export-mark-todo-in-toc |
| 17534 | (not (equal (match-string 2 line) | 19117 | (match-beginning 2) |
| 17535 | org-done-string))) | 19118 | (not (member (match-string 2 line) |
| 19119 | org-done-keywords))) | ||
| 17536 | ; TODO, not DONE | 19120 | ; TODO, not DONE |
| 17537 | (and org-export-mark-todo-in-toc | 19121 | (and org-export-mark-todo-in-toc |
| 17538 | (= level umax-toc) | 19122 | (= level umax-toc) |
| 17539 | (org-search-todo-below | 19123 | (org-search-todo-below |
| 17540 | line lines level)))) | 19124 | line lines level)))) |
| 17541 | (if (and (memq org-export-with-tags '(not-in-toc nil)) | 19125 | (if (and (memq org-export-with-tags '(not-in-toc nil)) |
| 17542 | (string-match "[ \t]+:[a-zA-Z0-9_@:]+:[ \t]*$" txt)) | 19126 | (string-match "[ \t]+:[a-zA-Z0-9_@:]+:[ \t]*$" txt)) |
| 17543 | (setq txt (replace-match "" t t txt))) | 19127 | (setq txt (replace-match "" t t txt))) |
| 17544 | (if (string-match quote-re0 txt) | 19128 | (if (string-match quote-re0 txt) |
| 17545 | (setq txt (replace-match "" t t txt))) | 19129 | (setq txt (replace-match "" t t txt))) |
| 17546 | (if org-export-with-section-numbers | 19130 | (if org-export-with-section-numbers |
| 17547 | (setq txt (concat (org-section-number level) | 19131 | (setq txt (concat (org-section-number level) |
| 17548 | " " txt))) | 19132 | " " txt))) |
| 17549 | (if (<= level umax-toc) | 19133 | (if (<= level (max umax umax-toc)) |
| 17550 | (progn | 19134 | (setq head-count (+ head-count 1))) |
| 17551 | (setq head-count (+ head-count 1)) | 19135 | (if (<= level umax-toc) |
| 17552 | (if (> level org-last-level) | 19136 | (progn |
| 17553 | (progn | 19137 | (if (> level org-last-level) |
| 17554 | (setq cnt (- level org-last-level)) | 19138 | (progn |
| 17555 | (while (>= (setq cnt (1- cnt)) 0) | 19139 | (setq cnt (- level org-last-level)) |
| 17556 | (insert "\n<ul>\n<li>")) | 19140 | (while (>= (setq cnt (1- cnt)) 0) |
| 17557 | (insert "\n"))) | 19141 | (push "\n<ul>\n<li>" thetoc)) |
| 17558 | (if (< level org-last-level) | 19142 | (push "\n" thetoc))) |
| 17559 | (progn | 19143 | (if (< level org-last-level) |
| 17560 | (setq cnt (- org-last-level level)) | 19144 | (progn |
| 17561 | (while (>= (setq cnt (1- cnt)) 0) | 19145 | (setq cnt (- org-last-level level)) |
| 17562 | (insert "</li>\n</ul>")) | 19146 | (while (>= (setq cnt (1- cnt)) 0) |
| 17563 | (insert "\n"))) | 19147 | (push "</li>\n</ul>" thetoc)) |
| 17564 | ;; Check for targets | 19148 | (push "\n" thetoc))) |
| 17565 | (while (string-match org-target-regexp line) | 19149 | ;; Check for targets |
| 17566 | (setq tg (match-string 1 line) | 19150 | (while (string-match org-target-regexp line) |
| 17567 | line (replace-match | 19151 | (setq tg (match-string 1 line) |
| 17568 | (concat "@<span class=\"target\">" tg "@</span> ") | 19152 | line (replace-match |
| 17569 | t t line)) | 19153 | (concat "@<span class=\"target\">" tg "@</span> ") |
| 17570 | (push (cons (org-solidify-link-text tg) | 19154 | t t line)) |
| 17571 | (format "sec-%d" head-count)) | 19155 | (push (cons (org-solidify-link-text tg) |
| 17572 | target-alist)) | 19156 | (format "sec-%d" head-count)) |
| 17573 | (while (string-match "<\\(<\\)+\\|>\\(>\\)+" txt) | 19157 | target-alist)) |
| 17574 | (setq txt (replace-match "" t t txt))) | 19158 | (while (string-match "<\\(<\\)+\\|>\\(>\\)+" txt) |
| 17575 | (insert | 19159 | (setq txt (replace-match "" t t txt))) |
| 17576 | (format | 19160 | (push |
| 17577 | (if todo | 19161 | (format |
| 17578 | "</li>\n<li><a href=\"#sec-%d\"><span class=\"todo\">%s</span></a>" | 19162 | (if todo |
| 17579 | "</li>\n<li><a href=\"#sec-%d\">%s</a>") | 19163 | "</li>\n<li><a href=\"#sec-%d\"><span class=\"todo\">%s</span></a>" |
| 17580 | head-count txt)) | 19164 | "</li>\n<li><a href=\"#sec-%d\">%s</a>") |
| 17581 | 19165 | head-count txt) thetoc) | |
| 17582 | (setq org-last-level level)) | 19166 | |
| 17583 | ))) | 19167 | (setq org-last-level level)) |
| 17584 | line) | 19168 | ))) |
| 17585 | lines)) | 19169 | line) |
| 19170 | lines)) | ||
| 17586 | (while (> org-last-level 0) | 19171 | (while (> org-last-level 0) |
| 17587 | (setq org-last-level (1- org-last-level)) | 19172 | (setq org-last-level (1- org-last-level)) |
| 17588 | (insert "</li>\n</ul>\n")) | 19173 | (push "</li>\n</ul>\n" thetoc)) |
| 17589 | )) | 19174 | (setq thetoc (if have-headings (nreverse thetoc) nil)))) |
| 19175 | |||
| 17590 | (setq head-count 0) | 19176 | (setq head-count 0) |
| 17591 | (org-init-section-numbers) | 19177 | (org-init-section-numbers) |
| 17592 | 19178 | ||
| @@ -17618,7 +19204,16 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17618 | 19204 | ||
| 17619 | ;; Protected HTML | 19205 | ;; Protected HTML |
| 17620 | (when (get-text-property 0 'org-protected line) | 19206 | (when (get-text-property 0 'org-protected line) |
| 17621 | (insert line "\n") | 19207 | (let (par) |
| 19208 | (when (re-search-backward | ||
| 19209 | "\\(<p>\\)\\([ \t\r\n]*\\)\\=" (- (point) 100) t) | ||
| 19210 | (setq par (match-string 1)) | ||
| 19211 | (replace-match "\\2\n")) | ||
| 19212 | (insert line "\n") | ||
| 19213 | (while (and lines | ||
| 19214 | (get-text-property 0 'org-protected (car lines))) | ||
| 19215 | (insert (pop lines) "\n")) | ||
| 19216 | (and par (insert "<p>\n"))) | ||
| 17622 | (throw 'nextline nil)) | 19217 | (throw 'nextline nil)) |
| 17623 | 19218 | ||
| 17624 | ;; Horizontal line | 19219 | ;; Horizontal line |
| @@ -17676,7 +19271,8 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17676 | (setq rpl | 19271 | (setq rpl |
| 17677 | (concat | 19272 | (concat |
| 17678 | "<a href=\"#" | 19273 | "<a href=\"#" |
| 17679 | (org-solidify-link-text path target-alist) | 19274 | (org-solidify-link-text |
| 19275 | (save-match-data (org-link-unescape path)) target-alist) | ||
| 17680 | "\">" desc "</a>"))) | 19276 | "\">" desc "</a>"))) |
| 17681 | ((member type '("http" "https")) ; FIXME: need to test this. | 19277 | ((member type '("http" "https")) ; FIXME: need to test this. |
| 17682 | ;; standard URL, just check if we need to inline an image | 19278 | ;; standard URL, just check if we need to inline an image |
| @@ -17738,12 +19334,24 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17738 | ;; TODO items | 19334 | ;; TODO items |
| 17739 | (if (and (string-match org-todo-line-regexp line) | 19335 | (if (and (string-match org-todo-line-regexp line) |
| 17740 | (match-beginning 2)) | 19336 | (match-beginning 2)) |
| 17741 | (if (equal (match-string 2 line) org-done-string) | 19337 | (if (member (match-string 2 line) org-done-keywords) |
| 17742 | (setq line (replace-match | 19338 | (setq line (replace-match |
| 17743 | "<span class=\"done\">\\2</span>" | 19339 | "<span class=\"done\">\\2</span>" |
| 17744 | t nil line 2)) | 19340 | t nil line 2)) |
| 17745 | (setq line (replace-match "<span class=\"todo\">\\2</span>" | 19341 | (setq line |
| 17746 | t nil line 2)))) | 19342 | (concat (substring line 0 (match-beginning 2)) |
| 19343 | "<span class=\"todo\">" (match-string 2 line) | ||
| 19344 | "</span>" (substring line (match-end 2)))))) | ||
| 19345 | |||
| 19346 | ;; Does this contain a reference to a footnote? | ||
| 19347 | (while (string-match "\\([^* \t].*?\\)\\[\\([0-9]+\\)\\]" line) | ||
| 19348 | (let ((n (match-string 2 line))) | ||
| 19349 | (setq line | ||
| 19350 | (replace-match | ||
| 19351 | (format | ||
| 19352 | "%s<sup><a class=\"footref\" name=\"fnr.%s\" href=\"#fn.%s\">%s</a></sup>" | ||
| 19353 | (match-string 1 line) n n n) | ||
| 19354 | t t line)))) | ||
| 17747 | 19355 | ||
| 17748 | (cond | 19356 | (cond |
| 17749 | ((string-match "^\\(\\*+\\)[ \t]*\\(.*\\)" line) | 19357 | ((string-match "^\\(\\*+\\)[ \t]*\\(.*\\)" line) |
| @@ -17752,7 +19360,8 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17752 | txt (match-string 2 line)) | 19360 | txt (match-string 2 line)) |
| 17753 | (if (string-match quote-re0 txt) | 19361 | (if (string-match quote-re0 txt) |
| 17754 | (setq txt (replace-match "" t t txt))) | 19362 | (setq txt (replace-match "" t t txt))) |
| 17755 | (if (<= level umax) (setq head-count (+ head-count 1))) | 19363 | (if (<= level (max umax umax-toc)) |
| 19364 | (setq head-count (+ head-count 1))) | ||
| 17756 | (when in-local-list | 19365 | (when in-local-list |
| 17757 | ;; Close any local lists before inserting a new header line | 19366 | ;; Close any local lists before inserting a new header line |
| 17758 | (while local-list-num | 19367 | (while local-list-num |
| @@ -17761,6 +19370,7 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17761 | (pop local-list-num)) | 19370 | (pop local-list-num)) |
| 17762 | (setq local-list-indent nil | 19371 | (setq local-list-indent nil |
| 17763 | in-local-list nil)) | 19372 | in-local-list nil)) |
| 19373 | (setq first-heading-pos (or first-heading-pos (point))) | ||
| 17764 | (org-html-level-start level txt umax | 19374 | (org-html-level-start level txt umax |
| 17765 | (and org-export-with-toc (<= level umax)) | 19375 | (and org-export-with-toc (<= level umax)) |
| 17766 | head-count) | 19376 | head-count) |
| @@ -17801,11 +19411,15 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17801 | line (substring line (match-beginning 5))) | 19411 | line (substring line (match-beginning 5))) |
| 17802 | (unless (string-match "[^ \t]" line) | 19412 | (unless (string-match "[^ \t]" line) |
| 17803 | ;; empty line. Pretend indentation is large. | 19413 | ;; empty line. Pretend indentation is large. |
| 17804 | (setq ind (1+ (or (car local-list-indent) 1)))) | 19414 | (setq ind (if org-empty-line-terminates-plain-lists |
| 19415 | 0 | ||
| 19416 | (1+ (or (car local-list-indent) 1))))) | ||
| 19417 | (setq didclose nil) | ||
| 17805 | (while (and in-local-list | 19418 | (while (and in-local-list |
| 17806 | (or (and (= ind (car local-list-indent)) | 19419 | (or (and (= ind (car local-list-indent)) |
| 17807 | (not starter)) | 19420 | (not starter)) |
| 17808 | (< ind (car local-list-indent)))) | 19421 | (< ind (car local-list-indent)))) |
| 19422 | (setq didclose t) | ||
| 17809 | (org-close-li) | 19423 | (org-close-li) |
| 17810 | (insert (if (car local-list-num) "</ol>\n" "</ul>")) | 19424 | (insert (if (car local-list-num) "</ol>\n" "</ul>")) |
| 17811 | (pop local-list-num) (pop local-list-indent) | 19425 | (pop local-list-num) (pop local-list-indent) |
| @@ -17814,7 +19428,7 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17814 | ((and starter | 19428 | ((and starter |
| 17815 | (or (not in-local-list) | 19429 | (or (not in-local-list) |
| 17816 | (> ind (car local-list-indent)))) | 19430 | (> ind (car local-list-indent)))) |
| 17817 | ;; Start new (level of ) list | 19431 | ;; Start new (level of) list |
| 17818 | (org-close-par-maybe) | 19432 | (org-close-par-maybe) |
| 17819 | (insert (if start-is-num "<ol>\n<li>\n" "<ul>\n<li>\n")) | 19433 | (insert (if start-is-num "<ol>\n<li>\n" "<ul>\n<li>\n")) |
| 17820 | (push start-is-num local-list-num) | 19434 | (push start-is-num local-list-num) |
| @@ -17823,7 +19437,10 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17823 | (starter | 19437 | (starter |
| 17824 | ;; continue current list | 19438 | ;; continue current list |
| 17825 | (org-close-li) | 19439 | (org-close-li) |
| 17826 | (insert "<li>\n"))) | 19440 | (insert "<li>\n")) |
| 19441 | (didclose | ||
| 19442 | ;; we did close a list, normal text follows: need <p> | ||
| 19443 | (org-open-par))) | ||
| 17827 | (if (string-match "^[ \t]*\\[\\([X ]\\)\\]" line) | 19444 | (if (string-match "^[ \t]*\\[\\([X ]\\)\\]" line) |
| 17828 | (setq line | 19445 | (setq line |
| 17829 | (replace-match | 19446 | (replace-match |
| @@ -17837,6 +19454,13 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17837 | ;; also start a new paragraph. | 19454 | ;; also start a new paragraph. |
| 17838 | (if (string-match "^ [-+*]-\\|^[ \t]*$" line) (org-open-par)) | 19455 | (if (string-match "^ [-+*]-\\|^[ \t]*$" line) (org-open-par)) |
| 17839 | 19456 | ||
| 19457 | ;; Is this the start of a footnote? | ||
| 19458 | (when (string-match "^[ \t]*\\[\\([0-9]+\\)\\]" line) | ||
| 19459 | (org-close-par-maybe) | ||
| 19460 | (let ((n (match-string 1 line))) | ||
| 19461 | (setq line (replace-match | ||
| 19462 | (format "<p class=\"footnote\"><sup><a class=\"footnum\" name=\"fn.%s\" href=\"#fnr.%s\">%s</a></sup>" n n n) t t line)))) | ||
| 19463 | |||
| 17840 | ;; Check if the line break needs to be conserved | 19464 | ;; Check if the line break needs to be conserved |
| 17841 | (cond | 19465 | (cond |
| 17842 | ((string-match "\\\\\\\\[ \t]*$" line) | 19466 | ((string-match "\\\\\\\\[ \t]*$" line) |
| @@ -17860,24 +19484,43 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17860 | (and org-export-with-toc (<= level umax)) | 19484 | (and org-export-with-toc (<= level umax)) |
| 17861 | head-count) | 19485 | head-count) |
| 17862 | 19486 | ||
| 17863 | (when (plist-get opt-plist :auto-postamble) | 19487 | (unless body-only |
| 17864 | (when author | 19488 | (when (plist-get opt-plist :auto-postamble) |
| 17865 | (insert "<p class=\"author\"> " | 19489 | (when author |
| 17866 | (nth 1 lang-words) ": " author "\n") | 19490 | (insert "<p class=\"author\"> " |
| 17867 | (when email | 19491 | (nth 1 lang-words) ": " author "\n") |
| 17868 | (insert "<a href=\"mailto:" email "\"><" | 19492 | (when email |
| 17869 | email "></a>\n")) | 19493 | (insert "<a href=\"mailto:" email "\"><" |
| 17870 | (insert "</p>\n")) | 19494 | email "></a>\n")) |
| 17871 | (when (and date time) | 19495 | (insert "</p>\n")) |
| 17872 | (insert "<p class=\"date\"> " | 19496 | (when (and date time) |
| 17873 | (nth 2 lang-words) ": " | 19497 | (insert "<p class=\"date\"> " |
| 17874 | date " " time "</p>\n"))) | 19498 | (nth 2 lang-words) ": " |
| 17875 | 19499 | date " " time "</p>\n"))) | |
| 17876 | (if org-export-html-with-timestamp | 19500 | |
| 17877 | (insert org-export-html-html-helper-timestamp)) | 19501 | (if org-export-html-with-timestamp |
| 17878 | (insert (or (plist-get opt-plist :postamble) "")) | 19502 | (insert org-export-html-html-helper-timestamp)) |
| 17879 | (insert "</body>\n</html>\n") | 19503 | (insert (or (plist-get opt-plist :postamble) "")) |
| 19504 | (insert "</body>\n</html>\n")) | ||
| 19505 | |||
| 17880 | (normal-mode) | 19506 | (normal-mode) |
| 19507 | (if (eq major-mode default-major-mode) (html-mode)) | ||
| 19508 | |||
| 19509 | ;; insert the table of contents | ||
| 19510 | (goto-char (point-min)) | ||
| 19511 | (when thetoc | ||
| 19512 | (if (or (re-search-forward | ||
| 19513 | "<p>\\s-*\\[TABLE-OF-CONTENTS\\]\\s-*</p>" nil t) | ||
| 19514 | (re-search-forward | ||
| 19515 | "\\[TABLE-OF-CONTENTS\\]" nil t)) | ||
| 19516 | (progn | ||
| 19517 | (goto-char (match-beginning 0)) | ||
| 19518 | (replace-match "")) | ||
| 19519 | (goto-char first-heading-pos) | ||
| 19520 | (when (looking-at "\\s-*</p>") | ||
| 19521 | (goto-char (match-end 0)) | ||
| 19522 | (insert "\n"))) | ||
| 19523 | (mapc 'insert thetoc)) | ||
| 17881 | ;; remove empty paragraphs and lists | 19524 | ;; remove empty paragraphs and lists |
| 17882 | (goto-char (point-min)) | 19525 | (goto-char (point-min)) |
| 17883 | (while (re-search-forward "<p>[ \r\n\t]*</p>" nil t) | 19526 | (while (re-search-forward "<p>[ \r\n\t]*</p>" nil t) |
| @@ -17885,13 +19528,62 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17885 | (goto-char (point-min)) | 19528 | (goto-char (point-min)) |
| 17886 | (while (re-search-forward "<li>[ \r\n\t]*</li>\n?" nil t) | 19529 | (while (re-search-forward "<li>[ \r\n\t]*</li>\n?" nil t) |
| 17887 | (replace-match "")) | 19530 | (replace-match "")) |
| 17888 | (save-buffer) | 19531 | (or to-buffer (save-buffer)) |
| 17889 | (goto-char (point-min)) | 19532 | (goto-char (point-min)) |
| 17890 | (message "Exporting... done")))) | 19533 | (message "Exporting... done") |
| 19534 | (if (eq to-buffer 'string) | ||
| 19535 | (prog1 (buffer-substring (point-min) (point-max)) | ||
| 19536 | (kill-buffer (current-buffer))) | ||
| 19537 | (current-buffer))))) | ||
| 19538 | |||
| 19539 | (defvar org-table-colgroup-info nil) ;; FIXME: mode to a better place | ||
| 19540 | (defun org-format-table-ascii (lines) | ||
| 19541 | "Format a table for ascii export." | ||
| 19542 | (if (stringp lines) | ||
| 19543 | (setq lines (org-split-string lines "\n"))) | ||
| 19544 | (if (not (string-match "^[ \t]*|" (car lines))) | ||
| 19545 | ;; Table made by table.el - test for spanning | ||
| 19546 | lines | ||
| 19547 | |||
| 19548 | ;; A normal org table | ||
| 19549 | ;; Get rid of hlines at beginning and end | ||
| 19550 | (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) | ||
| 19551 | (setq lines (nreverse lines)) | ||
| 19552 | (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) | ||
| 19553 | (setq lines (nreverse lines)) | ||
| 19554 | (when org-export-table-remove-special-lines | ||
| 19555 | ;; Check if the table has a marking column. If yes remove the | ||
| 19556 | ;; column and the special lines | ||
| 19557 | (setq lines (org-table-clean-before-export lines))) | ||
| 19558 | ;; Get rid of the vertical lines except for grouping | ||
| 19559 | (let ((vl (org-colgroup-info-to-vline-list org-table-colgroup-info)) | ||
| 19560 | rtn line vl1 start) | ||
| 19561 | (while (setq line (pop lines)) | ||
| 19562 | (if (string-match org-table-hline-regexp line) | ||
| 19563 | (and (string-match "|\\(.*\\)|" line) | ||
| 19564 | (setq line (replace-match " \\1" t nil line))) | ||
| 19565 | (setq start 0 vl1 vl) | ||
| 19566 | (while (string-match "|" line start) | ||
| 19567 | (setq start (match-end 0)) | ||
| 19568 | (or (pop vl1) (setq line (replace-match " " t t line))))) | ||
| 19569 | (push line rtn)) | ||
| 19570 | (nreverse rtn)))) | ||
| 19571 | |||
| 19572 | (defun org-colgroup-info-to-vline-list (info) | ||
| 19573 | (let (vl new last rtn line) | ||
| 19574 | (while info | ||
| 19575 | (setq last new new (pop info)) | ||
| 19576 | (if (or (memq last '(:end :startend)) | ||
| 19577 | (memq new '(:start :startend))) | ||
| 19578 | (push t vl) | ||
| 19579 | (push nil vl))) | ||
| 19580 | (setq vl (cons nil (nreverse vl))))) | ||
| 17891 | 19581 | ||
| 17892 | 19582 | ||
| 17893 | (defun org-format-table-html (lines olines) | 19583 | (defun org-format-table-html (lines olines) |
| 17894 | "Find out which HTML converter to use and return the HTML code." | 19584 | "Find out which HTML converter to use and return the HTML code." |
| 19585 | (if (stringp lines) | ||
| 19586 | (setq lines (org-split-string lines "\n"))) | ||
| 17895 | (if (string-match "^[ \t]*|" (car lines)) | 19587 | (if (string-match "^[ \t]*|" (car lines)) |
| 17896 | ;; A normal org table | 19588 | ;; A normal org table |
| 17897 | (org-format-org-table-html lines) | 19589 | (org-format-org-table-html lines) |
| @@ -17931,7 +19623,7 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17931 | (lambda (x) (string-match "^[ \t]*|-" x)) | 19623 | (lambda (x) (string-match "^[ \t]*|-" x)) |
| 17932 | (cdr lines))))) | 19624 | (cdr lines))))) |
| 17933 | (nlines 0) fnum i | 19625 | (nlines 0) fnum i |
| 17934 | tbopen line fields html) | 19626 | tbopen line fields html gr) |
| 17935 | (if splice (setq head nil)) | 19627 | (if splice (setq head nil)) |
| 17936 | (unless splice (push (if head "<thead>" "<tbody>") html)) | 19628 | (unless splice (push (if head "<thead>" "<tbody>") html)) |
| 17937 | (setq tbopen t) | 19629 | (setq tbopen t) |
| @@ -17939,7 +19631,7 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17939 | (catch 'next-line | 19631 | (catch 'next-line |
| 17940 | (if (string-match "^[ \t]*|-" line) | 19632 | (if (string-match "^[ \t]*|-" line) |
| 17941 | (progn | 19633 | (progn |
| 17942 | (unless splice | 19634 | (unless splice |
| 17943 | (push (if head "</thead>" "</tbody>") html) | 19635 | (push (if head "</thead>" "</tbody>") html) |
| 17944 | (if lines (push "<tbody>" html) (setq tbopen nil))) | 19636 | (if lines (push "<tbody>" html) (setq tbopen nil))) |
| 17945 | (setq head nil) ;; head ends here, first time around | 19637 | (setq head nil) ;; head ends here, first time around |
| @@ -17957,8 +19649,10 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17957 | (string-match org-table-number-regexp x)) | 19649 | (string-match org-table-number-regexp x)) |
| 17958 | (incf (aref fnum i))) | 19650 | (incf (aref fnum i))) |
| 17959 | (if head | 19651 | (if head |
| 17960 | (concat "<th>" x "</th>") | 19652 | (concat (car org-export-table-header-tags) x |
| 17961 | (concat "<td>" x "</td>"))) | 19653 | (cdr org-export-table-header-tags)) |
| 19654 | (concat (car org-export-table-data-tags) x | ||
| 19655 | (cdr org-export-table-data-tags)))) | ||
| 17962 | fields "") | 19656 | fields "") |
| 17963 | "</tr>") | 19657 | "</tr>") |
| 17964 | html))) | 19658 | html))) |
| @@ -17969,9 +19663,12 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17969 | ;; Put in COL tags with the alignment (unfortuntely often ignored...) | 19663 | ;; Put in COL tags with the alignment (unfortuntely often ignored...) |
| 17970 | (push (mapconcat | 19664 | (push (mapconcat |
| 17971 | (lambda (x) | 19665 | (lambda (x) |
| 17972 | (format "<COL align=\"%s\">" | 19666 | (setq gr (pop org-table-colgroup-info)) |
| 19667 | (format "%s<COL align=\"%s\">%s" | ||
| 19668 | (if (memq gr '(:start :startend)) "<colgroup>" "") | ||
| 17973 | (if (> (/ (float x) nlines) org-table-number-fraction) | 19669 | (if (> (/ (float x) nlines) org-table-number-fraction) |
| 17974 | "right" "left"))) | 19670 | "right" "left") |
| 19671 | (if (memq gr '(:end :startend)) "</colgroup>" ""))) | ||
| 17975 | fnum "") | 19672 | fnum "") |
| 17976 | html) | 19673 | html) |
| 17977 | (push org-export-html-table-tag html)) | 19674 | (push org-export-html-table-tag html)) |
| @@ -17980,34 +19677,52 @@ lang=\"%s\" xml:lang=\"%s\"> | |||
| 17980 | (defun org-table-clean-before-export (lines) | 19677 | (defun org-table-clean-before-export (lines) |
| 17981 | "Check if the table has a marking column. | 19678 | "Check if the table has a marking column. |
| 17982 | If yes remove the column and the special lines." | 19679 | If yes remove the column and the special lines." |
| 19680 | (setq org-table-colgroup-info nil) | ||
| 17983 | (if (memq nil | 19681 | (if (memq nil |
| 17984 | (mapcar | 19682 | (mapcar |
| 17985 | (lambda (x) (or (string-match "^[ \t]*|-" x) | 19683 | (lambda (x) (or (string-match "^[ \t]*|-" x) |
| 17986 | (string-match "^[ \t]*| *\\([#!$*_^ /]\\) *|" x))) | 19684 | (string-match "^[ \t]*| *\\([#!$*_^ /]\\) *|" x))) |
| 17987 | lines)) | 19685 | lines)) |
| 17988 | (progn | 19686 | (progn |
| 17989 | (setq org-table-clean-did-remove-column-1 nil) | 19687 | (setq org-table-clean-did-remove-column nil) |
| 17990 | lines) | 19688 | (delq nil |
| 17991 | (setq org-table-clean-did-remove-column-1 t) | 19689 | (mapcar |
| 19690 | (lambda (x) | ||
| 19691 | (cond | ||
| 19692 | ((string-match "^[ \t]*| */ *|" x) | ||
| 19693 | (setq org-table-colgroup-info | ||
| 19694 | (mapcar (lambda (x) | ||
| 19695 | (cond ((member x '("<" "<")) :start) | ||
| 19696 | ((member x '(">" ">")) :end) | ||
| 19697 | ((member x '("<>" "<>")) :startend) | ||
| 19698 | (t nil))) | ||
| 19699 | (org-split-string x "[ \t]*|[ \t]*"))) | ||
| 19700 | nil) | ||
| 19701 | (t x))) | ||
| 19702 | lines))) | ||
| 19703 | (setq org-table-clean-did-remove-column t) | ||
| 17992 | (delq nil | 19704 | (delq nil |
| 17993 | (mapcar | 19705 | (mapcar |
| 17994 | (lambda (x) (if (string-match "^[ \t]*| *[!_^/] *|" x) | 19706 | (lambda (x) |
| 17995 | nil ; ignore this line | 19707 | (cond |
| 17996 | (and (or (string-match "^[ \t]*|-+\\+" x) | 19708 | ((string-match "^[ \t]*| */ *|" x) |
| 17997 | (string-match "^[ \t]*|[^|]*|" x)) | 19709 | (setq org-table-colgroup-info |
| 17998 | (replace-match "|" t t x)))) | 19710 | (mapcar (lambda (x) |
| 19711 | (cond ((member x '("<" "<")) :start) | ||
| 19712 | ((member x '(">" ">")) :end) | ||
| 19713 | ((member x '("<>" "<>")) :startend) | ||
| 19714 | (t nil))) | ||
| 19715 | (cdr (org-split-string x "[ \t]*|[ \t]*")))) | ||
| 19716 | nil) | ||
| 19717 | ((string-match "^[ \t]*| *[!_^/] *|" x) | ||
| 19718 | nil) ; ignore this line | ||
| 19719 | ((or (string-match "^\\([ \t]*\\)|-+\\+" x) | ||
| 19720 | (string-match "^\\([ \t]*\\)|[^|]*|" x)) | ||
| 19721 | ;; remove the first column | ||
| 19722 | (replace-match "\\1|" t nil x)) | ||
| 19723 | (t (error "This should not happen")))) | ||
| 17999 | lines)))) | 19724 | lines)))) |
| 18000 | 19725 | ||
| 18001 | (defun org-fake-empty-table-line (line) | ||
| 18002 | "Replace everything except \"|\" with spaces." | ||
| 18003 | (let ((i (length line)) | ||
| 18004 | (newstr (copy-sequence line))) | ||
| 18005 | (while (> i 0) | ||
| 18006 | (setq i (1- i)) | ||
| 18007 | (if (not (eq (aref newstr i) ?|)) | ||
| 18008 | (aset newstr i ?\ ))) | ||
| 18009 | newstr)) | ||
| 18010 | |||
| 18011 | (defun org-format-table-table-html (lines) | 19726 | (defun org-format-table-table-html (lines) |
| 18012 | "Format a table generated by table.el into HTML. | 19727 | "Format a table generated by table.el into HTML. |
| 18013 | This conversion does *not* use `table-generate-source' from table.el. | 19728 | This conversion does *not* use `table-generate-source' from table.el. |
| @@ -18024,17 +19739,21 @@ But it has the disadvantage, that no cell- or row-spanning is allowed." | |||
| 18024 | (progn | 19739 | (progn |
| 18025 | (if field-buffer | 19740 | (if field-buffer |
| 18026 | (progn | 19741 | (progn |
| 18027 | (setq html (concat | 19742 | (setq |
| 18028 | html | 19743 | html |
| 18029 | "<tr>" | 19744 | (concat |
| 18030 | (mapconcat | 19745 | html |
| 18031 | (lambda (x) | 19746 | "<tr>" |
| 18032 | (if (equal x "") (setq x empty)) | 19747 | (mapconcat |
| 18033 | (if head | 19748 | (lambda (x) |
| 18034 | (concat "<th>" x "</th>\n") | 19749 | (if (equal x "") (setq x empty)) |
| 18035 | (concat "<td>" x "</td>\n"))) | 19750 | (if head |
| 18036 | field-buffer "\n") | 19751 | (concat (car org-export-table-header-tags) x |
| 18037 | "</tr>\n")) | 19752 | (cdr org-export-table-header-tags)) |
| 19753 | (concat (car org-export-table-data-tags) x | ||
| 19754 | (cdr org-export-table-data-tags)))) | ||
| 19755 | field-buffer "\n") | ||
| 19756 | "</tr>\n")) | ||
| 18038 | (setq head nil) | 19757 | (setq head nil) |
| 18039 | (setq field-buffer nil))) | 19758 | (setq field-buffer nil))) |
| 18040 | ;; Ignore this line | 19759 | ;; Ignore this line |
| @@ -18115,6 +19834,9 @@ But it has the disadvantage, that Org-mode's HTML conversions cannot be used." | |||
| 18115 | (when org-export-remove-timestamps-from-toc | 19834 | (when org-export-remove-timestamps-from-toc |
| 18116 | (while (string-match org-maybe-keyword-time-regexp s) | 19835 | (while (string-match org-maybe-keyword-time-regexp s) |
| 18117 | (setq s (replace-match "" t t s)))) | 19836 | (setq s (replace-match "" t t s)))) |
| 19837 | (while (string-match org-bracket-link-regexp s) | ||
| 19838 | (setq s (replace-match (match-string (if (match-end 3) 3 1) s) | ||
| 19839 | t t s))) | ||
| 18118 | s) | 19840 | s) |
| 18119 | 19841 | ||
| 18120 | (defun org-html-expand (string) | 19842 | (defun org-html-expand (string) |
| @@ -18179,27 +19901,42 @@ stacked delimiters is N. Escaping delimiters is not possible." | |||
| 18179 | "\\(\\(?:\\*\\|[-+]?[^-+*!@#$%^_ \t\r\n,:\"?<>~;./{}=()]+\\)\\)\\)") | 19901 | "\\(\\(?:\\*\\|[-+]?[^-+*!@#$%^_ \t\r\n,:\"?<>~;./{}=()]+\\)\\)\\)") |
| 18180 | "The regular expression matching a sub- or superscript.") | 19902 | "The regular expression matching a sub- or superscript.") |
| 18181 | 19903 | ||
| 19904 | ;(let ((s "a\\_b")) | ||
| 19905 | ; (and (string-match org-match-substring-regexp s) | ||
| 19906 | ; (conca t (match-string 1 s) ":::" (match-string 2 s)))) | ||
| 19907 | |||
| 18182 | (defun org-export-html-convert-sub-super (string) | 19908 | (defun org-export-html-convert-sub-super (string) |
| 18183 | "Convert sub- and superscripts in STRING to HTML." | 19909 | "Convert sub- and superscripts in STRING to HTML." |
| 18184 | (let (key c) | 19910 | (let (key c (s 0) (requireb (eq org-export-with-sub-superscripts '{}))) |
| 18185 | (while (string-match org-match-substring-regexp string) | 19911 | (while (string-match org-match-substring-regexp string s) |
| 18186 | (setq key (if (string= (match-string 2 string) "_") "sub" "sup")) | 19912 | (if (and requireb (match-end 8)) |
| 18187 | (setq c (or (match-string 8 string) | 19913 | (setq s (match-end 2)) |
| 18188 | (match-string 6 string) | 19914 | (setq s (match-end 1) |
| 18189 | (match-string 5 string))) | 19915 | key (if (string= (match-string 2 string) "_") "sub" "sup") |
| 18190 | (setq string (replace-match | 19916 | c (or (match-string 8 string) |
| 18191 | (concat (match-string 1 string) | 19917 | (match-string 6 string) |
| 18192 | "<" key ">" c "</" key ">") | 19918 | (match-string 5 string)) |
| 18193 | t t string))) | 19919 | string (replace-match |
| 19920 | (concat (match-string 1 string) | ||
| 19921 | "<" key ">" c "</" key ">") | ||
| 19922 | t t string)))) | ||
| 18194 | (while (string-match "\\\\\\([_^]\\)" string) | 19923 | (while (string-match "\\\\\\([_^]\\)" string) |
| 18195 | (setq string (replace-match (match-string 1 string) t t string)))) | 19924 | (setq string (replace-match (match-string 1 string) t t string))) |
| 18196 | string) | 19925 | string)) |
| 18197 | 19926 | ||
| 18198 | (defun org-export-html-convert-emphasize (string) | 19927 | (defun org-export-html-convert-emphasize (string) |
| 18199 | "Apply emphasis." | 19928 | "Apply emphasis." |
| 18200 | (while (string-match org-emph-re string) | 19929 | (let ((s 0)) |
| 18201 | (setq string (replace-match (concat "\\1" (nth 2 (assoc (match-string 3 string) org-emphasis-alist)) "\\4" (nth 3 (assoc (match-string 3 string) org-emphasis-alist)) "\\5") t nil string))) | 19930 | (while (string-match org-emph-re string s) |
| 18202 | string) | 19931 | (if (not (equal |
| 19932 | (substring string (match-beginning 3) (1+ (match-beginning 3))) | ||
| 19933 | (substring string (match-beginning 4) (1+ (match-beginning 4))))) | ||
| 19934 | (setq string (replace-match | ||
| 19935 | (concat "\\1" (nth 2 (assoc (match-string 3 string) org-emphasis-alist)) | ||
| 19936 | "\\4" (nth 3 (assoc (match-string 3 string) org-emphasis-alist)) | ||
| 19937 | "\\5") t nil string)) | ||
| 19938 | (setq s (1+ s)))) | ||
| 19939 | string)) | ||
| 18203 | 19940 | ||
| 18204 | (defvar org-par-open nil) | 19941 | (defvar org-par-open nil) |
| 18205 | (defun org-open-par () | 19942 | (defun org-open-par () |
| @@ -18216,10 +19953,6 @@ stacked delimiters is N. Escaping delimiters is not possible." | |||
| 18216 | "Close <li> if necessary." | 19953 | "Close <li> if necessary." |
| 18217 | (org-close-par-maybe) | 19954 | (org-close-par-maybe) |
| 18218 | (insert "</li>\n")) | 19955 | (insert "</li>\n")) |
| 18219 | ; (when (save-excursion | ||
| 18220 | ; (re-search-backward "</?\\(ul\\|ol\\|li\\|[hH][0-9]\\)>" nil t)) | ||
| 18221 | ; (if (member (match-string 0) '("</ul>" "</ol>" "<li>")) | ||
| 18222 | ; (insert "</li>")))) | ||
| 18223 | 19956 | ||
| 18224 | (defun org-html-level-start (level title umax with-toc head-count) | 19957 | (defun org-html-level-start (level title umax with-toc head-count) |
| 18225 | "Insert a new level in HTML export. | 19958 | "Insert a new level in HTML export. |
| @@ -18260,7 +19993,7 @@ When TITLE is nil, just close all open levels." | |||
| 18260 | (setq title (concat (org-section-number level) " " title))) | 19993 | (setq title (concat (org-section-number level) " " title))) |
| 18261 | (setq level (+ level org-export-html-toplevel-hlevel -1)) | 19994 | (setq level (+ level org-export-html-toplevel-hlevel -1)) |
| 18262 | (if with-toc | 19995 | (if with-toc |
| 18263 | (insert (format "\n<h%d><a name=\"sec-%d\">%s</a></h%d>\n" | 19996 | (insert (format "\n<h%d id=\"sec-%d\">%s</h%d>\n" |
| 18264 | level head-count title level)) | 19997 | level head-count title level)) |
| 18265 | (insert (format "\n<h%d>%s</h%d>\n" level title level))) | 19998 | (insert (format "\n<h%d>%s</h%d>\n" level title level))) |
| 18266 | (org-open-par))))) | 19999 | (org-open-par))))) |
| @@ -18268,7 +20001,7 @@ When TITLE is nil, just close all open levels." | |||
| 18268 | (defun org-html-level-close (&rest args) | 20001 | (defun org-html-level-close (&rest args) |
| 18269 | "Terminate one level in HTML export." | 20002 | "Terminate one level in HTML export." |
| 18270 | (org-close-li) | 20003 | (org-close-li) |
| 18271 | (insert "</ul>")) | 20004 | (insert "</ul>\n")) |
| 18272 | 20005 | ||
| 18273 | ;;; iCalendar export | 20006 | ;;; iCalendar export |
| 18274 | 20007 | ||
| @@ -18300,11 +20033,13 @@ The file is stored under the name `org-combined-agenda-icalendar-file'." | |||
| 18300 | If COMBINE is non-nil, combine all calendar entries into a single large | 20033 | If COMBINE is non-nil, combine all calendar entries into a single large |
| 18301 | file and store it under the name `org-combined-agenda-icalendar-file'." | 20034 | file and store it under the name `org-combined-agenda-icalendar-file'." |
| 18302 | (save-excursion | 20035 | (save-excursion |
| 20036 | (org-prepare-agenda-buffers files) | ||
| 18303 | (let* ((dir (org-export-directory | 20037 | (let* ((dir (org-export-directory |
| 18304 | :ical (list :publishing-directory | 20038 | :ical (list :publishing-directory |
| 18305 | org-export-publishing-directory))) | 20039 | org-export-publishing-directory))) |
| 18306 | file ical-file ical-buffer category started org-agenda-new-buffers) | 20040 | file ical-file ical-buffer category started org-agenda-new-buffers) |
| 18307 | 20041 | ||
| 20042 | (and (get-buffer "*ical-tmp*") (kill-buffer "*ical-tmp*")) | ||
| 18308 | (when combine | 20043 | (when combine |
| 18309 | (setq ical-file | 20044 | (setq ical-file |
| 18310 | (if (file-name-absolute-p org-combined-agenda-icalendar-file) | 20045 | (if (file-name-absolute-p org-combined-agenda-icalendar-file) |
| @@ -18349,70 +20084,112 @@ the iCalendar file.") | |||
| 18349 | (defun org-print-icalendar-entries (&optional combine) | 20084 | (defun org-print-icalendar-entries (&optional combine) |
| 18350 | "Print iCalendar entries for the current Org-mode file to `standard-output'. | 20085 | "Print iCalendar entries for the current Org-mode file to `standard-output'. |
| 18351 | When COMBINE is non nil, add the category to each line." | 20086 | When COMBINE is non nil, add the category to each line." |
| 18352 | (let ((re2 (concat "--?-?\\(" org-ts-regexp "\\)")) | 20087 | (let ((re1 (concat org-ts-regexp "\\|<%%([^>\n]+>")) |
| 20088 | (re2 (concat "--?-?\\(" org-ts-regexp "\\)")) | ||
| 18353 | (org-category-table (org-get-category-table)) | 20089 | (org-category-table (org-get-category-table)) |
| 18354 | (dts (org-ical-ts-to-string | 20090 | (dts (org-ical-ts-to-string |
| 18355 | (format-time-string (cdr org-time-stamp-formats) (current-time)) | 20091 | (format-time-string (cdr org-time-stamp-formats) (current-time)) |
| 18356 | "DTSTART")) | 20092 | "DTSTART")) |
| 18357 | hd ts ts2 state status (inc t) pos | 20093 | hd ts ts2 state status (inc t) pos b sexp rrule |
| 18358 | scheduledp deadlinep tmp pri category) | 20094 | scheduledp deadlinep tmp pri category |
| 20095 | (sexp-buffer (get-buffer-create "*ical-tmp*"))) | ||
| 18359 | (save-excursion | 20096 | (save-excursion |
| 18360 | (goto-char (point-min)) | 20097 | (goto-char (point-min)) |
| 18361 | (while (re-search-forward org-ts-regexp nil t) | 20098 | (while (re-search-forward re1 nil t) |
| 18362 | (setq pos (match-beginning 0) | 20099 | (catch :skip |
| 18363 | ts (match-string 0) | 20100 | (org-agenda-skip) |
| 18364 | inc t | 20101 | (setq pos (match-beginning 0) |
| 18365 | hd (org-get-heading) | 20102 | ts (match-string 0) |
| 18366 | category (org-get-category)) | 20103 | inc t |
| 18367 | (if (looking-at re2) | 20104 | hd (org-get-heading) |
| 18368 | (progn | 20105 | category (org-get-category)) |
| 18369 | (goto-char (match-end 0)) | 20106 | (if (looking-at re2) |
| 18370 | (setq ts2 (match-string 1) inc nil)) | 20107 | (progn |
| 18371 | (setq ts2 ts | 20108 | (goto-char (match-end 0)) |
| 18372 | tmp (buffer-substring (max (point-min) | 20109 | (setq ts2 (match-string 1) inc nil)) |
| 20110 | (setq ts2 ts | ||
| 20111 | tmp (buffer-substring (max (point-min) | ||
| 18373 | (- pos org-ds-keyword-length)) | 20112 | (- pos org-ds-keyword-length)) |
| 18374 | pos) | 20113 | pos) |
| 18375 | deadlinep (string-match org-deadline-regexp tmp) | 20114 | deadlinep (string-match org-deadline-regexp tmp) |
| 18376 | scheduledp (string-match org-scheduled-regexp tmp) | 20115 | scheduledp (string-match org-scheduled-regexp tmp) |
| 18377 | ;; donep (org-entry-is-done-p) | 20116 | ;; donep (org-entry-is-done-p) |
| 18378 | )) | 20117 | )) |
| 18379 | (if (or (string-match org-tr-regexp hd) | 20118 | (if (or (string-match org-tr-regexp hd) |
| 18380 | (string-match org-ts-regexp hd)) | 20119 | (string-match org-ts-regexp hd)) |
| 18381 | (setq hd (replace-match "" t t hd))) | 20120 | (setq hd (replace-match "" t t hd))) |
| 18382 | (if (string-match org-bracket-link-regexp hd) | 20121 | (if (string-match "\\+\\([0-9]+\\)\\([dwmy]\\)>" ts) |
| 18383 | (setq hd (replace-match (if (match-end 3) (match-string 3 hd) | 20122 | (setq rrule |
| 18384 | (match-string 1 hd)) | 20123 | (concat "\nRRULE:FREQ=" |
| 18385 | t t hd))) | 20124 | (cdr (assoc |
| 18386 | (if deadlinep (setq hd (concat "DL: " hd))) | 20125 | (match-string 2 ts) |
| 18387 | (if scheduledp (setq hd (concat "S: " hd))) | 20126 | '(("d" . "DAILY")("w" . "WEEKLY") |
| 18388 | (princ (format "BEGIN:VEVENT | 20127 | ("m" . "MONTHLY")("y" . "YEARLY")))) |
| 18389 | %s | 20128 | ";INTERVAL=" (match-string 1 ts))) |
| 20129 | (setq rrule "")) | ||
| 20130 | (if (string-match org-bracket-link-regexp hd) | ||
| 20131 | (setq hd (replace-match (if (match-end 3) (match-string 3 hd) | ||
| 20132 | (match-string 1 hd)) | ||
| 20133 | t t hd))) | ||
| 20134 | (if deadlinep (setq hd (concat "DL: " hd))) | ||
| 20135 | (if scheduledp (setq hd (concat "S: " hd))) | ||
| 20136 | (if (string-match "\\`<%%" ts) | ||
| 20137 | (with-current-buffer sexp-buffer | ||
| 20138 | (insert (substring ts 1 -1) " " hd "\n")) | ||
| 20139 | (princ (format "BEGIN:VEVENT | ||
| 18390 | %s | 20140 | %s |
| 20141 | %s%s | ||
| 18391 | SUMMARY:%s | 20142 | SUMMARY:%s |
| 18392 | CATEGORIES:%s | 20143 | CATEGORIES:%s |
| 18393 | END:VEVENT\n" | 20144 | END:VEVENT\n" |
| 18394 | (org-ical-ts-to-string ts "DTSTART") | 20145 | (org-ical-ts-to-string ts "DTSTART") |
| 18395 | (org-ical-ts-to-string ts2 "DTEND" inc) | 20146 | (org-ical-ts-to-string ts2 "DTEND" inc) |
| 18396 | hd category))) | 20147 | rrule hd category))))) |
| 20148 | |||
| 20149 | (when (and org-icalendar-include-sexps | ||
| 20150 | (condition-case nil (require 'icalendar) (error nil)) | ||
| 20151 | (fboundp 'icalendar-export-region)) | ||
| 20152 | ;; Get all the literal sexps | ||
| 20153 | (goto-char (point-min)) | ||
| 20154 | (while (re-search-forward "^&?%%(" nil t) | ||
| 20155 | (catch :skip | ||
| 20156 | (org-agenda-skip) | ||
| 20157 | (setq b (match-beginning 0)) | ||
| 20158 | (goto-char (1- (match-end 0))) | ||
| 20159 | (forward-sexp 1) | ||
| 20160 | (end-of-line 1) | ||
| 20161 | (setq sexp (buffer-substring b (point))) | ||
| 20162 | (with-current-buffer sexp-buffer | ||
| 20163 | (insert sexp "\n")) | ||
| 20164 | (princ (org-diary-to-ical-string sexp-buffer))))) | ||
| 20165 | |||
| 18397 | (when org-icalendar-include-todo | 20166 | (when org-icalendar-include-todo |
| 18398 | (goto-char (point-min)) | 20167 | (goto-char (point-min)) |
| 18399 | (while (re-search-forward org-todo-line-regexp nil t) | 20168 | (while (re-search-forward org-todo-line-regexp nil t) |
| 18400 | (setq state (match-string 2)) | 20169 | (catch :skip |
| 18401 | (setq status (if (equal state org-done-string) | 20170 | (org-agenda-skip) |
| 18402 | "COMPLETED" "NEEDS-ACTION")) | 20171 | (setq state (match-string 2)) |
| 18403 | (when (and state | 20172 | (setq status (if (member state org-done-keywords) |
| 18404 | (or (not (equal state org-done-string)) | 20173 | "COMPLETED" "NEEDS-ACTION")) |
| 18405 | (eq org-icalendar-include-todo 'all))) | 20174 | (when (and state |
| 18406 | (setq hd (match-string 3)) | 20175 | (or (not (member state org-done-keywords)) |
| 18407 | (if (string-match org-priority-regexp hd) | 20176 | (eq org-icalendar-include-todo 'all)) |
| 18408 | (setq pri (string-to-char (match-string 2 hd)) | 20177 | (not (member org-archive-tag (org-get-tags-at))) |
| 18409 | hd (concat (substring hd 0 (match-beginning 1)) | 20178 | ) |
| 18410 | (substring hd (match-end 1)))) | 20179 | (setq hd (match-string 3)) |
| 18411 | (setq pri org-default-priority)) | 20180 | (if (string-match org-bracket-link-regexp hd) |
| 18412 | (setq pri (floor (1+ (* 8. (/ (float (- org-lowest-priority pri)) | 20181 | (setq hd (replace-match (if (match-end 3) (match-string 3 hd) |
| 18413 | (- org-lowest-priority ?A)))))) | 20182 | (match-string 1 hd)) |
| 18414 | 20183 | t t hd))) | |
| 18415 | (princ (format "BEGIN:VTODO | 20184 | (if (string-match org-priority-regexp hd) |
| 20185 | (setq pri (string-to-char (match-string 2 hd)) | ||
| 20186 | hd (concat (substring hd 0 (match-beginning 1)) | ||
| 20187 | (substring hd (match-end 1)))) | ||
| 20188 | (setq pri org-default-priority)) | ||
| 20189 | (setq pri (floor (1+ (* 8. (/ (float (- org-lowest-priority pri)) | ||
| 20190 | (- org-lowest-priority org-highest-priority)))))) | ||
| 20191 | |||
| 20192 | (princ (format "BEGIN:VTODO | ||
| 18416 | %s | 20193 | %s |
| 18417 | SUMMARY:%s | 20194 | SUMMARY:%s |
| 18418 | CATEGORIES:%s | 20195 | CATEGORIES:%s |
| @@ -18420,7 +20197,7 @@ SEQUENCE:1 | |||
| 18420 | PRIORITY:%d | 20197 | PRIORITY:%d |
| 18421 | STATUS:%s | 20198 | STATUS:%s |
| 18422 | END:VTODO\n" | 20199 | END:VTODO\n" |
| 18423 | dts hd category pri status)))))))) | 20200 | dts hd category pri status))))))))) |
| 18424 | 20201 | ||
| 18425 | (defun org-start-icalendar-file (name) | 20202 | (defun org-start-icalendar-file (name) |
| 18426 | "Start an iCalendar file by inserting the header." | 20203 | "Start an iCalendar file by inserting the header." |
| @@ -18545,47 +20322,44 @@ The XOXO buffer is named *xoxo-<source buffer name>*" | |||
| 18545 | 20322 | ||
| 18546 | ;;;; Key bindings | 20323 | ;;;; Key bindings |
| 18547 | 20324 | ||
| 18548 | ;; - Bindings in Org-mode map are currently | ||
| 18549 | ;; 0123456789abcdefghijklmnopqrstuvwxyz!?@#$%^&-+*/=()_{}[]:;"|,.<>~`'\t the alphabet | ||
| 18550 | ;; abcd fgh j lmnopqrstuvwxyz!? #$ ^ -+*/= [] ; |,.<>~ '\t necessary bindings | ||
| 18551 | ;; e (?) useful from outline-mode | ||
| 18552 | ;; i k @ expendable from outline-mode | ||
| 18553 | ;; 0123456789 % & ()_{} " ` free | ||
| 18554 | |||
| 18555 | ;; Make `C-c C-x' a prefix key | 20325 | ;; Make `C-c C-x' a prefix key |
| 18556 | (define-key org-mode-map "\C-c\C-x" (make-sparse-keymap)) | 20326 | (org-defkey org-mode-map "\C-c\C-x" (make-sparse-keymap)) |
| 18557 | 20327 | ||
| 18558 | ;; TAB key with modifiers | 20328 | ;; TAB key with modifiers |
| 18559 | (define-key org-mode-map "\C-i" 'org-cycle) | 20329 | (org-defkey org-mode-map "\C-i" 'org-cycle) |
| 18560 | (define-key org-mode-map [(tab)] 'org-cycle) | 20330 | (org-defkey org-mode-map [(tab)] 'org-cycle) |
| 18561 | (define-key org-mode-map [(control tab)] 'org-force-cycle-archived) | 20331 | (org-defkey org-mode-map [(control tab)] 'org-force-cycle-archived) |
| 18562 | (define-key org-mode-map [(meta tab)] 'org-complete) | 20332 | (org-defkey org-mode-map [(meta tab)] 'org-complete) |
| 18563 | (define-key org-mode-map "\M-\t" 'org-complete) | 20333 | (org-defkey org-mode-map "\M-\t" 'org-complete) |
| 18564 | (define-key org-mode-map "\M-\C-i" 'org-complete) | 20334 | (org-defkey org-mode-map "\M-\C-i" 'org-complete) |
| 18565 | ;; The following line is necessary under Suse GNU/Linux | 20335 | ;; The following line is necessary under Suse GNU/Linux |
| 18566 | (unless (featurep 'xemacs) | 20336 | (unless (featurep 'xemacs) |
| 18567 | (define-key org-mode-map [S-iso-lefttab] 'org-shifttab)) | 20337 | (org-defkey org-mode-map [S-iso-lefttab] 'org-shifttab)) |
| 18568 | (define-key org-mode-map [(shift tab)] 'org-shifttab) | 20338 | (org-defkey org-mode-map [(shift tab)] 'org-shifttab) |
| 20339 | (define-key org-mode-map (kbd "<backtab>") 'org-shifttab) | ||
| 18569 | 20340 | ||
| 18570 | (define-key org-mode-map (org-key 'S-return) 'org-table-copy-down) | 20341 | (org-defkey org-mode-map [(shift return)] 'org-table-copy-down) |
| 18571 | (define-key org-mode-map [(meta shift return)] 'org-insert-todo-heading) | 20342 | (org-defkey org-mode-map [(meta shift return)] 'org-insert-todo-heading) |
| 18572 | (define-key org-mode-map [(meta return)] 'org-meta-return) | 20343 | (org-defkey org-mode-map [(meta return)] 'org-meta-return) |
| 18573 | 20344 | ||
| 18574 | ;; Cursor keys with modifiers | 20345 | ;; Cursor keys with modifiers |
| 18575 | (define-key org-mode-map [(meta left)] 'org-metaleft) | 20346 | (org-defkey org-mode-map [(meta left)] 'org-metaleft) |
| 18576 | (define-key org-mode-map [(meta right)] 'org-metaright) | 20347 | (org-defkey org-mode-map [(meta right)] 'org-metaright) |
| 18577 | (define-key org-mode-map [(meta up)] 'org-metaup) | 20348 | (org-defkey org-mode-map [(meta up)] 'org-metaup) |
| 18578 | (define-key org-mode-map [(meta down)] 'org-metadown) | 20349 | (org-defkey org-mode-map [(meta down)] 'org-metadown) |
| 18579 | 20350 | ||
| 18580 | (define-key org-mode-map [(meta shift left)] 'org-shiftmetaleft) | 20351 | (org-defkey org-mode-map [(meta shift left)] 'org-shiftmetaleft) |
| 18581 | (define-key org-mode-map [(meta shift right)] 'org-shiftmetaright) | 20352 | (org-defkey org-mode-map [(meta shift right)] 'org-shiftmetaright) |
| 18582 | (define-key org-mode-map [(meta shift up)] 'org-shiftmetaup) | 20353 | (org-defkey org-mode-map [(meta shift up)] 'org-shiftmetaup) |
| 18583 | (define-key org-mode-map [(meta shift down)] 'org-shiftmetadown) | 20354 | (org-defkey org-mode-map [(meta shift down)] 'org-shiftmetadown) |
| 18584 | 20355 | ||
| 18585 | (define-key org-mode-map (org-key 'S-up) 'org-shiftup) | 20356 | (org-defkey org-mode-map [(shift up)] 'org-shiftup) |
| 18586 | (define-key org-mode-map (org-key 'S-down) 'org-shiftdown) | 20357 | (org-defkey org-mode-map [(shift down)] 'org-shiftdown) |
| 18587 | (define-key org-mode-map (org-key 'S-left) 'org-shiftleft) | 20358 | (org-defkey org-mode-map [(shift left)] 'org-shiftleft) |
| 18588 | (define-key org-mode-map (org-key 'S-right) 'org-shiftright) | 20359 | (org-defkey org-mode-map [(shift right)] 'org-shiftright) |
| 20360 | |||
| 20361 | (org-defkey org-mode-map [(control shift right)] 'org-shiftcontrolright) | ||
| 20362 | (org-defkey org-mode-map [(control shift left)] 'org-shiftcontrolleft) | ||
| 18589 | 20363 | ||
| 18590 | ;;; Extra keys for tty access. | 20364 | ;;; Extra keys for tty access. |
| 18591 | ;; We only set them when really needed because otherwise the | 20365 | ;; We only set them when really needed because otherwise the |
| @@ -18593,102 +20367,105 @@ The XOXO buffer is named *xoxo-<source buffer name>*" | |||
| 18593 | 20367 | ||
| 18594 | (when (or (featurep 'xemacs) ;; because XEmacs supports multi-device stuff | 20368 | (when (or (featurep 'xemacs) ;; because XEmacs supports multi-device stuff |
| 18595 | (not window-system)) | 20369 | (not window-system)) |
| 18596 | (define-key org-mode-map "\C-c\C-xc" 'org-table-copy-down) | 20370 | (org-defkey org-mode-map "\C-c\C-xc" 'org-table-copy-down) |
| 18597 | (define-key org-mode-map "\C-c\C-xM" 'org-insert-todo-heading) | 20371 | (org-defkey org-mode-map "\C-c\C-xM" 'org-insert-todo-heading) |
| 18598 | (define-key org-mode-map "\C-c\C-xm" 'org-meta-return) | 20372 | (org-defkey org-mode-map "\C-c\C-xm" 'org-meta-return) |
| 18599 | (define-key org-mode-map [?\e (return)] 'org-meta-return) | 20373 | (org-defkey org-mode-map [?\e (return)] 'org-meta-return) |
| 18600 | (define-key org-mode-map [?\e (left)] 'org-metaleft) | 20374 | (org-defkey org-mode-map [?\e (left)] 'org-metaleft) |
| 18601 | (define-key org-mode-map "\C-c\C-xl" 'org-metaleft) | 20375 | (org-defkey org-mode-map "\C-c\C-xl" 'org-metaleft) |
| 18602 | (define-key org-mode-map [?\e (right)] 'org-metaright) | 20376 | (org-defkey org-mode-map [?\e (right)] 'org-metaright) |
| 18603 | (define-key org-mode-map "\C-c\C-xr" 'org-metaright) | 20377 | (org-defkey org-mode-map "\C-c\C-xr" 'org-metaright) |
| 18604 | (define-key org-mode-map [?\e (up)] 'org-metaup) | 20378 | (org-defkey org-mode-map [?\e (up)] 'org-metaup) |
| 18605 | (define-key org-mode-map "\C-c\C-xu" 'org-metaup) | 20379 | (org-defkey org-mode-map "\C-c\C-xu" 'org-metaup) |
| 18606 | (define-key org-mode-map [?\e (down)] 'org-metadown) | 20380 | (org-defkey org-mode-map [?\e (down)] 'org-metadown) |
| 18607 | (define-key org-mode-map "\C-c\C-xd" 'org-metadown) | 20381 | (org-defkey org-mode-map "\C-c\C-xd" 'org-metadown) |
| 18608 | (define-key org-mode-map "\C-c\C-xL" 'org-shiftmetaleft) | 20382 | (org-defkey org-mode-map "\C-c\C-xL" 'org-shiftmetaleft) |
| 18609 | (define-key org-mode-map "\C-c\C-xR" 'org-shiftmetaright) | 20383 | (org-defkey org-mode-map "\C-c\C-xR" 'org-shiftmetaright) |
| 18610 | (define-key org-mode-map "\C-c\C-xU" 'org-shiftmetaup) | 20384 | (org-defkey org-mode-map "\C-c\C-xU" 'org-shiftmetaup) |
| 18611 | (define-key org-mode-map "\C-c\C-xD" 'org-shiftmetadown) | 20385 | (org-defkey org-mode-map "\C-c\C-xD" 'org-shiftmetadown) |
| 18612 | (define-key org-mode-map [?\C-c ?\C-x (up)] 'org-shiftup) | 20386 | (org-defkey org-mode-map [?\C-c (up)] 'org-shiftup) |
| 18613 | (define-key org-mode-map [?\C-c ?\C-x (down)] 'org-shiftdown) | 20387 | (org-defkey org-mode-map [?\C-c (down)] 'org-shiftdown) |
| 18614 | (define-key org-mode-map [?\C-c ?\C-x (left)] 'org-shiftleft) | 20388 | (org-defkey org-mode-map [?\C-c (left)] 'org-shiftleft) |
| 18615 | (define-key org-mode-map [?\C-c ?\C-x (right)] 'org-shiftright)) | 20389 | (org-defkey org-mode-map [?\C-c (right)] 'org-shiftright) |
| 20390 | (org-defkey org-mode-map [?\C-c ?\C-x (right)] 'org-shiftcontrolright) | ||
| 20391 | (org-defkey org-mode-map [?\C-c ?\C-x (left)] 'org-shiftcontrolleft)) | ||
| 18616 | 20392 | ||
| 18617 | ;; All the other keys | 20393 | ;; All the other keys |
| 18618 | 20394 | ||
| 18619 | (define-key org-mode-map "\C-c\C-a" 'show-all) ; in case allout messed up. | 20395 | (org-defkey org-mode-map "\C-c\C-a" 'show-all) ; in case allout messed up. |
| 18620 | (define-key org-mode-map "\C-c\C-r" 'org-reveal) | 20396 | (org-defkey org-mode-map "\C-c\C-r" 'org-reveal) |
| 18621 | (define-key org-mode-map "\C-xns" 'org-narrow-to-subtree) | 20397 | (org-defkey org-mode-map "\C-xns" 'org-narrow-to-subtree) |
| 18622 | (define-key org-mode-map "\C-c$" 'org-archive-subtree) | 20398 | (org-defkey org-mode-map "\C-c$" 'org-archive-subtree) |
| 18623 | (define-key org-mode-map "\C-c\C-x\C-s" 'org-advertized-archive-subtree) | 20399 | (org-defkey org-mode-map "\C-c\C-x\C-s" 'org-advertized-archive-subtree) |
| 18624 | (define-key org-mode-map "\C-c\C-x\C-a" 'org-toggle-archive-tag) | 20400 | (org-defkey org-mode-map "\C-c\C-x\C-a" 'org-toggle-archive-tag) |
| 18625 | (define-key org-mode-map "\C-c\C-xb" 'org-tree-to-indirect-buffer) | 20401 | (org-defkey org-mode-map "\C-c\C-xb" 'org-tree-to-indirect-buffer) |
| 18626 | (define-key org-mode-map "\C-c\C-j" 'org-goto) | 20402 | (org-defkey org-mode-map "\C-c\C-j" 'org-goto) |
| 18627 | (define-key org-mode-map "\C-c\C-t" 'org-todo) | 20403 | (org-defkey org-mode-map "\C-c\C-t" 'org-todo) |
| 18628 | (define-key org-mode-map "\C-c\C-s" 'org-schedule) | 20404 | (org-defkey org-mode-map "\C-c\C-s" 'org-schedule) |
| 18629 | (define-key org-mode-map "\C-c\C-d" 'org-deadline) | 20405 | (org-defkey org-mode-map "\C-c\C-d" 'org-deadline) |
| 18630 | (define-key org-mode-map "\C-c;" 'org-toggle-comment) | 20406 | (org-defkey org-mode-map "\C-c;" 'org-toggle-comment) |
| 18631 | (define-key org-mode-map "\C-c\C-v" 'org-show-todo-tree) | 20407 | (org-defkey org-mode-map "\C-c\C-v" 'org-show-todo-tree) |
| 18632 | (define-key org-mode-map "\C-c\C-w" 'org-check-deadlines) | 20408 | (org-defkey org-mode-map "\C-c\C-w" 'org-check-deadlines) |
| 18633 | (define-key org-mode-map "\C-c/" 'org-occur) ; Minor-mode reserved | 20409 | (org-defkey org-mode-map "\C-c/" 'org-occur) ; Minor-mode reserved |
| 18634 | (define-key org-mode-map "\C-c\\" 'org-tags-sparse-tree) ; Minor-mode res. | 20410 | (org-defkey org-mode-map "\C-c\\" 'org-tags-sparse-tree) ; Minor-mode res. |
| 18635 | (define-key org-mode-map "\C-c\C-m" 'org-insert-heading) | 20411 | (org-defkey org-mode-map "\C-c\C-m" 'org-ctrl-c-ret) |
| 18636 | (define-key org-mode-map "\M-\C-m" 'org-insert-heading) | 20412 | (org-defkey org-mode-map "\M-\C-m" 'org-insert-heading) |
| 18637 | (define-key org-mode-map "\C-c\C-x\C-n" 'org-next-link) | 20413 | (org-defkey org-mode-map "\C-c\C-x\C-n" 'org-next-link) |
| 18638 | (define-key org-mode-map "\C-c\C-x\C-p" 'org-previous-link) | 20414 | (org-defkey org-mode-map "\C-c\C-x\C-p" 'org-previous-link) |
| 18639 | (define-key org-mode-map "\C-c\C-l" 'org-insert-link) | 20415 | (org-defkey org-mode-map "\C-c\C-l" 'org-insert-link) |
| 18640 | (define-key org-mode-map "\C-c\C-o" 'org-open-at-point) | 20416 | (org-defkey org-mode-map "\C-c\C-o" 'org-open-at-point) |
| 18641 | (define-key org-mode-map "\C-c%" 'org-mark-ring-push) | 20417 | (org-defkey org-mode-map "\C-c%" 'org-mark-ring-push) |
| 18642 | (define-key org-mode-map "\C-c&" 'org-mark-ring-goto) | 20418 | (org-defkey org-mode-map "\C-c&" 'org-mark-ring-goto) |
| 18643 | (define-key org-mode-map "\C-c\C-z" 'org-time-stamp) ; Alternative binding | 20419 | (org-defkey org-mode-map "\C-c\C-z" 'org-time-stamp) ; Alternative binding |
| 18644 | (define-key org-mode-map "\C-c." 'org-time-stamp) ; Minor-mode reserved | 20420 | (org-defkey org-mode-map "\C-c." 'org-time-stamp) ; Minor-mode reserved |
| 18645 | (define-key org-mode-map "\C-c!" 'org-time-stamp-inactive) ; Minor-mode r. | 20421 | (org-defkey org-mode-map "\C-c!" 'org-time-stamp-inactive) ; Minor-mode r. |
| 18646 | (define-key org-mode-map "\C-c," 'org-priority) ; Minor-mode reserved | 20422 | (org-defkey org-mode-map "\C-c," 'org-priority) ; Minor-mode reserved |
| 18647 | (define-key org-mode-map "\C-c\C-y" 'org-evaluate-time-range) | 20423 | (org-defkey org-mode-map "\C-c\C-y" 'org-evaluate-time-range) |
| 18648 | (define-key org-mode-map "\C-c>" 'org-goto-calendar) | 20424 | (org-defkey org-mode-map "\C-c>" 'org-goto-calendar) |
| 18649 | (define-key org-mode-map "\C-c<" 'org-date-from-calendar) | 20425 | (org-defkey org-mode-map "\C-c<" 'org-date-from-calendar) |
| 18650 | (define-key org-mode-map [(control ?,)] 'org-cycle-agenda-files) | 20426 | (org-defkey org-mode-map [(control ?,)] 'org-cycle-agenda-files) |
| 18651 | (define-key org-mode-map [(control ?\')] 'org-cycle-agenda-files) | 20427 | (org-defkey org-mode-map [(control ?\')] 'org-cycle-agenda-files) |
| 18652 | (define-key org-mode-map "\C-c[" 'org-agenda-file-to-front) | 20428 | (org-defkey org-mode-map "\C-c[" 'org-agenda-file-to-front) |
| 18653 | (define-key org-mode-map "\C-c]" 'org-remove-file) | 20429 | (org-defkey org-mode-map "\C-c]" 'org-remove-file) |
| 18654 | (define-key org-mode-map "\C-c-" 'org-table-insert-hline) | 20430 | (org-defkey org-mode-map "\C-c-" 'org-table-insert-hline) |
| 18655 | (define-key org-mode-map "\C-c^" 'org-sort) | 20431 | (org-defkey org-mode-map "\C-c^" 'org-sort) |
| 18656 | (define-key org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c) | 20432 | (org-defkey org-mode-map "\C-c\C-c" 'org-ctrl-c-ctrl-c) |
| 18657 | (define-key org-mode-map "\C-c#" 'org-update-checkbox-count) | 20433 | (org-defkey org-mode-map "\C-c#" 'org-update-checkbox-count) |
| 18658 | (define-key org-mode-map "\C-m" 'org-return) | 20434 | (org-defkey org-mode-map "\C-m" 'org-return) |
| 18659 | (define-key org-mode-map "\C-c?" 'org-table-field-info) | 20435 | (org-defkey org-mode-map "\C-c?" 'org-table-field-info) |
| 18660 | (define-key org-mode-map "\C-c " 'org-table-blank-field) | 20436 | (org-defkey org-mode-map "\C-c " 'org-table-blank-field) |
| 18661 | (define-key org-mode-map "\C-c+" 'org-table-sum) | 20437 | (org-defkey org-mode-map "\C-c+" 'org-table-sum) |
| 18662 | (define-key org-mode-map "\C-c=" 'org-table-eval-formula) | 20438 | (org-defkey org-mode-map "\C-c=" 'org-table-eval-formula) |
| 18663 | (define-key org-mode-map "\C-c'" 'org-table-edit-formulas) | 20439 | (org-defkey org-mode-map "\C-c'" 'org-table-edit-formulas) |
| 18664 | (define-key org-mode-map "\C-c`" 'org-table-edit-field) | 20440 | (org-defkey org-mode-map "\C-c`" 'org-table-edit-field) |
| 18665 | (define-key org-mode-map "\C-c|" 'org-table-create-or-convert-from-region) | 20441 | (org-defkey org-mode-map "\C-c|" 'org-table-create-or-convert-from-region) |
| 18666 | (define-key org-mode-map "\C-c*" 'org-table-recalculate) | 20442 | (org-defkey org-mode-map "\C-c*" 'org-table-recalculate) |
| 18667 | (define-key org-mode-map [(control ?#)] 'org-table-rotate-recalc-marks) | 20443 | (org-defkey org-mode-map [(control ?#)] 'org-table-rotate-recalc-marks) |
| 18668 | (define-key org-mode-map "\C-c~" 'org-table-create-with-table.el) | 20444 | (org-defkey org-mode-map "\C-c~" 'org-table-create-with-table.el) |
| 18669 | (define-key org-mode-map "\C-c\C-q" 'org-table-wrap-region) | 20445 | (org-defkey org-mode-map "\C-c\C-q" 'org-table-wrap-region) |
| 18670 | (define-key org-mode-map "\C-c}" 'org-table-toggle-coordinate-overlays) | 20446 | (org-defkey org-mode-map "\C-c}" 'org-table-toggle-coordinate-overlays) |
| 18671 | (define-key org-mode-map "\C-c{" 'org-table-toggle-formula-debugger) | 20447 | (org-defkey org-mode-map "\C-c{" 'org-table-toggle-formula-debugger) |
| 18672 | (define-key org-mode-map "\C-c\C-e" 'org-export) | 20448 | (org-defkey org-mode-map "\C-c\C-e" 'org-export) |
| 18673 | (define-key org-mode-map "\C-c:" 'org-toggle-fixed-width-section) | 20449 | (org-defkey org-mode-map "\C-c:" 'org-toggle-fixed-width-section) |
| 18674 | 20450 | (org-defkey org-mode-map "\C-c\C-x\C-f" 'org-emphasize) | |
| 18675 | (define-key org-mode-map "\C-c\C-x\C-k" 'org-cut-special) | 20451 | |
| 18676 | (define-key org-mode-map "\C-c\C-x\C-w" 'org-cut-special) | 20452 | (org-defkey org-mode-map "\C-c\C-x\C-k" 'org-cut-special) |
| 18677 | (define-key org-mode-map "\C-c\C-x\M-w" 'org-copy-special) | 20453 | (org-defkey org-mode-map "\C-c\C-x\C-w" 'org-cut-special) |
| 18678 | (define-key org-mode-map "\C-c\C-x\C-y" 'org-paste-special) | 20454 | (org-defkey org-mode-map "\C-c\C-x\M-w" 'org-copy-special) |
| 18679 | 20455 | (org-defkey org-mode-map "\C-c\C-x\C-y" 'org-paste-special) | |
| 18680 | (define-key org-mode-map "\C-c\C-x\C-t" 'org-toggle-time-stamp-overlays) | 20456 | |
| 18681 | (define-key org-mode-map "\C-c\C-x\C-i" 'org-clock-in) | 20457 | (org-defkey org-mode-map "\C-c\C-x\C-t" 'org-toggle-time-stamp-overlays) |
| 18682 | (define-key org-mode-map "\C-c\C-x\C-o" 'org-clock-out) | 20458 | (org-defkey org-mode-map "\C-c\C-x\C-i" 'org-clock-in) |
| 18683 | (define-key org-mode-map "\C-c\C-x\C-x" 'org-clock-cancel) | 20459 | (org-defkey org-mode-map "\C-c\C-x\C-o" 'org-clock-out) |
| 18684 | (define-key org-mode-map "\C-c\C-x\C-d" 'org-clock-display) | 20460 | (org-defkey org-mode-map "\C-c\C-x\C-x" 'org-clock-cancel) |
| 18685 | (define-key org-mode-map "\C-c\C-x\C-r" 'org-clock-report) | 20461 | (org-defkey org-mode-map "\C-c\C-x\C-d" 'org-clock-display) |
| 18686 | (define-key org-mode-map "\C-c\C-x\C-u" 'org-dblock-update) | 20462 | (org-defkey org-mode-map "\C-c\C-x\C-r" 'org-clock-report) |
| 18687 | (define-key org-mode-map "\C-c\C-x\C-l" 'org-preview-latex-fragment) | 20463 | (org-defkey org-mode-map "\C-c\C-x\C-u" 'org-dblock-update) |
| 18688 | (define-key org-mode-map "\C-c\C-x\C-b" 'org-toggle-checkbox) | 20464 | (org-defkey org-mode-map "\C-c\C-x\C-l" 'org-preview-latex-fragment) |
| 20465 | (org-defkey org-mode-map "\C-c\C-x\C-b" 'org-toggle-checkbox) | ||
| 18689 | 20466 | ||
| 18690 | (when (featurep 'xemacs) | 20467 | (when (featurep 'xemacs) |
| 18691 | (define-key org-mode-map 'button3 'popup-mode-menu)) | 20468 | (org-defkey org-mode-map 'button3 'popup-mode-menu)) |
| 18692 | 20469 | ||
| 18693 | (defsubst org-table-p () (org-at-table-p)) | 20470 | (defsubst org-table-p () (org-at-table-p)) |
| 18694 | 20471 | ||
| @@ -18779,7 +20556,6 @@ because, in this case the deletion might narrow the column." | |||
| 18779 | (put 'org-delete-char 'flyspell-delayed t) | 20556 | (put 'org-delete-char 'flyspell-delayed t) |
| 18780 | (put 'org-delete-backward-char 'flyspell-delayed t) | 20557 | (put 'org-delete-backward-char 'flyspell-delayed t) |
| 18781 | 20558 | ||
| 18782 | |||
| 18783 | ;; How to do this: Measure non-white length of current string | 20559 | ;; How to do this: Measure non-white length of current string |
| 18784 | ;; If equal to column width, we should realign. | 20560 | ;; If equal to column width, we should realign. |
| 18785 | 20561 | ||
| @@ -18790,7 +20566,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names." | |||
| 18790 | (while commands | 20566 | (while commands |
| 18791 | (setq old (pop commands) new (pop commands)) | 20567 | (setq old (pop commands) new (pop commands)) |
| 18792 | (if (fboundp 'command-remapping) | 20568 | (if (fboundp 'command-remapping) |
| 18793 | (define-key map (vector 'remap old) new) | 20569 | (org-defkey map (vector 'remap old) new) |
| 18794 | (substitute-key-definition old new map global-map))))) | 20570 | (substitute-key-definition old new map global-map))))) |
| 18795 | 20571 | ||
| 18796 | (when (eq org-enable-table-editor 'optimized) | 20572 | (when (eq org-enable-table-editor 'optimized) |
| @@ -18800,7 +20576,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names." | |||
| 18800 | 'self-insert-command 'org-self-insert-command | 20576 | 'self-insert-command 'org-self-insert-command |
| 18801 | 'delete-char 'org-delete-char | 20577 | 'delete-char 'org-delete-char |
| 18802 | 'delete-backward-char 'org-delete-backward-char) | 20578 | 'delete-backward-char 'org-delete-backward-char) |
| 18803 | (define-key org-mode-map "|" 'org-force-self-insert)) | 20579 | (org-defkey org-mode-map "|" 'org-force-self-insert)) |
| 18804 | 20580 | ||
| 18805 | (defun org-shiftcursor-error () | 20581 | (defun org-shiftcursor-error () |
| 18806 | "Throw an error because Shift-Cursor command was applied in wrong context." | 20582 | "Throw an error because Shift-Cursor command was applied in wrong context." |
| @@ -18821,7 +20597,8 @@ See the individual commands for more information." | |||
| 18821 | 20597 | ||
| 18822 | (defun org-shiftmetaleft () | 20598 | (defun org-shiftmetaleft () |
| 18823 | "Promote subtree or delete table column. | 20599 | "Promote subtree or delete table column. |
| 18824 | Calls `org-promote-subtree' or `org-table-delete-column', depending on context. | 20600 | Calls `org-promote-subtree', `org-outdent-item', |
| 20601 | or `org-table-delete-column', depending on context. | ||
| 18825 | See the individual commands for more information." | 20602 | See the individual commands for more information." |
| 18826 | (interactive) | 20603 | (interactive) |
| 18827 | (cond | 20604 | (cond |
| @@ -18832,7 +20609,8 @@ See the individual commands for more information." | |||
| 18832 | 20609 | ||
| 18833 | (defun org-shiftmetaright () | 20610 | (defun org-shiftmetaright () |
| 18834 | "Demote subtree or insert table column. | 20611 | "Demote subtree or insert table column. |
| 18835 | Calls `org-demote-subtree' or `org-table-insert-column', depending on context. | 20612 | Calls `org-demote-subtree', `org-indent-item', |
| 20613 | or `org-table-insert-column', depending on context. | ||
| 18836 | See the individual commands for more information." | 20614 | See the individual commands for more information." |
| 18837 | (interactive) | 20615 | (interactive) |
| 18838 | (cond | 20616 | (cond |
| @@ -18916,8 +20694,8 @@ commands for more information." | |||
| 18916 | 20694 | ||
| 18917 | (defun org-shiftup (&optional arg) | 20695 | (defun org-shiftup (&optional arg) |
| 18918 | "Increase item in timestamp or increase priority of current headline. | 20696 | "Increase item in timestamp or increase priority of current headline. |
| 18919 | Calls `org-timestamp-up' or `org-priority-up', depending on context. | 20697 | Calls `org-timestamp-up' or `org-priority-up', or `org-previous-item', |
| 18920 | See the individual commands for more information." | 20698 | depending on context. See the individual commands for more information." |
| 18921 | (interactive "P") | 20699 | (interactive "P") |
| 18922 | (cond | 20700 | (cond |
| 18923 | ((org-at-timestamp-p t) (call-interactively 'org-timestamp-up)) | 20701 | ((org-at-timestamp-p t) (call-interactively 'org-timestamp-up)) |
| @@ -18927,8 +20705,8 @@ See the individual commands for more information." | |||
| 18927 | 20705 | ||
| 18928 | (defun org-shiftdown (&optional arg) | 20706 | (defun org-shiftdown (&optional arg) |
| 18929 | "Decrease item in timestamp or decrease priority of current headline. | 20707 | "Decrease item in timestamp or decrease priority of current headline. |
| 18930 | Calls `org-timestamp-down' or `org-priority-down', depending on context. | 20708 | Calls `org-timestamp-down' or `org-priority-down', or `org-next-item' |
| 18931 | See the individual commands for more information." | 20709 | depending on context. See the individual commands for more information." |
| 18932 | (interactive "P") | 20710 | (interactive "P") |
| 18933 | (cond | 20711 | (cond |
| 18934 | ((org-at-timestamp-p t) (call-interactively 'org-timestamp-down)) | 20712 | ((org-at-timestamp-p t) (call-interactively 'org-timestamp-down)) |
| @@ -18951,6 +20729,27 @@ See the individual commands for more information." | |||
| 18951 | ((org-on-heading-p) (org-call-with-arg 'org-todo 'left)) | 20729 | ((org-on-heading-p) (org-call-with-arg 'org-todo 'left)) |
| 18952 | (t (org-shiftcursor-error)))) | 20730 | (t (org-shiftcursor-error)))) |
| 18953 | 20731 | ||
| 20732 | (defun org-shiftcontrolright () | ||
| 20733 | "Switch to next TODO set." | ||
| 20734 | (interactive) | ||
| 20735 | (cond | ||
| 20736 | ((org-on-heading-p) (org-call-with-arg 'org-todo 'nextset)) | ||
| 20737 | (t (org-shiftcursor-error)))) | ||
| 20738 | |||
| 20739 | (defun org-shiftcontrolleft () | ||
| 20740 | "Switch to previous TODO set." | ||
| 20741 | (interactive) | ||
| 20742 | (cond | ||
| 20743 | ((org-on-heading-p) (org-call-with-arg 'org-todo 'previousset)) | ||
| 20744 | (t (org-shiftcursor-error)))) | ||
| 20745 | |||
| 20746 | (defun org-ctrl-c-ret () | ||
| 20747 | "Call `org-table-hline-and-move' or `org-insert-heading' dep. on context." | ||
| 20748 | (interactive) | ||
| 20749 | (cond | ||
| 20750 | ((org-at-table-p) (call-interactively 'org-table-hline-and-move)) | ||
| 20751 | (t (call-interactively 'org-insert-heading)))) | ||
| 20752 | |||
| 18954 | (defun org-copy-special () | 20753 | (defun org-copy-special () |
| 18955 | "Copy region in table or copy current subtree. | 20754 | "Copy region in table or copy current subtree. |
| 18956 | Calls `org-table-copy' or `org-copy-subtree', depending on context. | 20755 | Calls `org-table-copy' or `org-copy-subtree', depending on context. |
| @@ -19159,7 +20958,11 @@ See the individual commands for more information." | |||
| 19159 | ["Next Same Level" outline-forward-same-level t] | 20958 | ["Next Same Level" outline-forward-same-level t] |
| 19160 | ["Previous Same Level" outline-backward-same-level t] | 20959 | ["Previous Same Level" outline-backward-same-level t] |
| 19161 | "--" | 20960 | "--" |
| 19162 | ["Jump" org-goto t]) | 20961 | ["Jump" org-goto t] |
| 20962 | "--" | ||
| 20963 | ["C-a finds headline start" | ||
| 20964 | (setq org-special-ctrl-a (not org-special-ctrl-a)) | ||
| 20965 | :style toggle :selected org-special-ctrl-a]) | ||
| 19163 | ("Edit Structure" | 20966 | ("Edit Structure" |
| 19164 | ["Move Subtree Up" org-shiftmetaup (not (org-at-table-p))] | 20967 | ["Move Subtree Up" org-shiftmetaup (not (org-at-table-p))] |
| 19165 | ["Move Subtree Down" org-shiftmetadown (not (org-at-table-p))] | 20968 | ["Move Subtree Down" org-shiftmetadown (not (org-at-table-p))] |
| @@ -19177,6 +20980,8 @@ See the individual commands for more information." | |||
| 19177 | "--" | 20980 | "--" |
| 19178 | ["Convert to odd levels" org-convert-to-odd-levels t] | 20981 | ["Convert to odd levels" org-convert-to-odd-levels t] |
| 19179 | ["Convert to odd/even levels" org-convert-to-oddeven-levels t]) | 20982 | ["Convert to odd/even levels" org-convert-to-oddeven-levels t]) |
| 20983 | ("Editing" | ||
| 20984 | ["Emphasis..." org-emphasize t]) | ||
| 19180 | ("Archive" | 20985 | ("Archive" |
| 19181 | ["Toggle ARCHIVE tag" org-toggle-archive-tag t] | 20986 | ["Toggle ARCHIVE tag" org-toggle-archive-tag t] |
| 19182 | ; ["Check and Tag Children" (org-toggle-archive-tag (4)) | 20987 | ; ["Check and Tag Children" (org-toggle-archive-tag (4)) |
| @@ -19202,7 +21007,9 @@ See the individual commands for more information." | |||
| 19202 | ("Select keyword" | 21007 | ("Select keyword" |
| 19203 | ["Next keyword" org-shiftright (org-on-heading-p)] | 21008 | ["Next keyword" org-shiftright (org-on-heading-p)] |
| 19204 | ["Previous keyword" org-shiftleft (org-on-heading-p)] | 21009 | ["Previous keyword" org-shiftleft (org-on-heading-p)] |
| 19205 | ["Complete Keyword" org-complete (assq :todo-keyword (org-context))]) | 21010 | ["Complete Keyword" org-complete (assq :todo-keyword (org-context))] |
| 21011 | ["Next keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-on-heading-p))] | ||
| 21012 | ["Previous keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-on-heading-p))]) | ||
| 19206 | ["Show TODO Tree" org-show-todo-tree t] | 21013 | ["Show TODO Tree" org-show-todo-tree t] |
| 19207 | ["Global TODO list" org-todo-list t] | 21014 | ["Global TODO list" org-todo-list t] |
| 19208 | "--" | 21015 | "--" |
| @@ -19210,6 +21017,7 @@ See the individual commands for more information." | |||
| 19210 | ["Priority Up" org-shiftup t] | 21017 | ["Priority Up" org-shiftup t] |
| 19211 | ["Priority Down" org-shiftdown t] | 21018 | ["Priority Down" org-shiftdown t] |
| 19212 | "--" | 21019 | "--" |
| 21020 | ;; FIXME: why is this still here???? | ||
| 19213 | ; ["Insert Checkbox" org-insert-todo-heading (org-in-item-p)] | 21021 | ; ["Insert Checkbox" org-insert-todo-heading (org-in-item-p)] |
| 19214 | ; ["Toggle Checkbox" org-ctrl-c-ctrl-c (org-at-item-checkbox-p)] | 21022 | ; ["Toggle Checkbox" org-ctrl-c-ctrl-c (org-at-item-checkbox-p)] |
| 19215 | ; ["Insert [n/m] cookie" (progn (insert "[/]") (org-update-checkbox-count)) | 21023 | ; ["Insert [n/m] cookie" (progn (insert "[/]") (org-update-checkbox-count)) |
| @@ -19245,7 +21053,7 @@ See the individual commands for more information." | |||
| 19245 | ["Record DONE time" | 21053 | ["Record DONE time" |
| 19246 | (progn (setq org-log-done (not org-log-done)) | 21054 | (progn (setq org-log-done (not org-log-done)) |
| 19247 | (message "Switching to %s will %s record a timestamp" | 21055 | (message "Switching to %s will %s record a timestamp" |
| 19248 | org-done-string | 21056 | (car org-done-keywords) |
| 19249 | (if org-log-done "automatically" "not"))) | 21057 | (if org-log-done "automatically" "not"))) |
| 19250 | :style toggle :selected org-log-done]) | 21058 | :style toggle :selected org-log-done]) |
| 19251 | "--" | 21059 | "--" |
| @@ -19297,15 +21105,6 @@ See the individual commands for more information." | |||
| 19297 | ["Refresh setup" org-mode-restart t] | 21105 | ["Refresh setup" org-mode-restart t] |
| 19298 | )) | 21106 | )) |
| 19299 | 21107 | ||
| 19300 | (defun org-toggle-log-option (type) | ||
| 19301 | (if (not (listp org-log-done)) (setq org-log-done nil)) | ||
| 19302 | (if (memq type org-log-done) | ||
| 19303 | (setq org-log-done (delq type org-log-done)) | ||
| 19304 | (add-to-list 'org-log-done type))) | ||
| 19305 | |||
| 19306 | (defun org-check-log-option (type) | ||
| 19307 | (and (listp org-log-done) (memq type org-log-done))) | ||
| 19308 | |||
| 19309 | (defun org-info (&optional node) | 21108 | (defun org-info (&optional node) |
| 19310 | "Read documentation for Org-mode in the info system. | 21109 | "Read documentation for Org-mode in the info system. |
| 19311 | With optional NODE, go directly to that node." | 21110 | With optional NODE, go directly to that node." |
| @@ -19394,7 +21193,7 @@ and :keyword." | |||
| 19394 | (p (point)) clist o) | 21193 | (p (point)) clist o) |
| 19395 | ;; First the large context | 21194 | ;; First the large context |
| 19396 | (cond | 21195 | (cond |
| 19397 | ((org-on-heading-p) | 21196 | ((org-on-heading-p t) |
| 19398 | (push (list :headline (point-at-bol) (point-at-eol)) clist) | 21197 | (push (list :headline (point-at-bol) (point-at-eol)) clist) |
| 19399 | (when (progn | 21198 | (when (progn |
| 19400 | (beginning-of-line 1) | 21199 | (beginning-of-line 1) |
| @@ -19404,7 +21203,7 @@ and :keyword." | |||
| 19404 | (push (org-point-in-group p 4 :tags) clist)) | 21203 | (push (org-point-in-group p 4 :tags) clist)) |
| 19405 | (goto-char p) | 21204 | (goto-char p) |
| 19406 | (skip-chars-backward "^[\n\r \t") (or (eobp) (backward-char 1)) | 21205 | (skip-chars-backward "^[\n\r \t") (or (eobp) (backward-char 1)) |
| 19407 | (if (looking-at "\\[#[A-Z]\\]") | 21206 | (if (looking-at "\\[#[A-Z0-9]\\]") |
| 19408 | (push (org-point-in-group p 0 :priority) clist))) | 21207 | (push (org-point-in-group p 0 :priority) clist))) |
| 19409 | 21208 | ||
| 19410 | ((org-at-item-p) | 21209 | ((org-at-item-p) |
| @@ -19459,6 +21258,7 @@ and :keyword." | |||
| 19459 | (setq clist (nreverse (delq nil clist))) | 21258 | (setq clist (nreverse (delq nil clist))) |
| 19460 | clist)) | 21259 | clist)) |
| 19461 | 21260 | ||
| 21261 | ;; FIXME Compare with at-regexp-p | ||
| 19462 | (defun org-in-regexp (re &optional nlines visually) | 21262 | (defun org-in-regexp (re &optional nlines visually) |
| 19463 | "Check if point is inside a match of regexp. | 21263 | "Check if point is inside a match of regexp. |
| 19464 | Normally only the current line is checked, but you can include NLINES extra | 21264 | Normally only the current line is checked, but you can include NLINES extra |
| @@ -19472,10 +21272,34 @@ really on, so that the block visually is on the match." | |||
| 19472 | (save-excursion | 21272 | (save-excursion |
| 19473 | (beginning-of-line (- 1 (or nlines 0))) | 21273 | (beginning-of-line (- 1 (or nlines 0))) |
| 19474 | (while (re-search-forward re eol t) | 21274 | (while (re-search-forward re eol t) |
| 19475 | (if (and (<= (match-beginning 0) pos) | 21275 | (if (and (<= (match-beginning 0) pos) |
| 19476 | (>= (+ inc (match-end 0)) pos)) | 21276 | (>= (+ inc (match-end 0)) pos)) |
| 19477 | (throw 'exit (cons (match-beginning 0) (match-end 0))))))))) | 21277 | (throw 'exit (cons (match-beginning 0) (match-end 0))))))))) |
| 19478 | 21278 | ||
| 21279 | (defun org-at-regexp-p (regexp) | ||
| 21280 | "Is point inside a match of REGEXP in the current line?" | ||
| 21281 | (catch 'exit | ||
| 21282 | (save-excursion | ||
| 21283 | (let ((pos (point)) (end (point-at-eol))) | ||
| 21284 | (beginning-of-line 1) | ||
| 21285 | (while (re-search-forward regexp end t) | ||
| 21286 | (if (and (<= (match-beginning 0) pos) | ||
| 21287 | (>= (match-end 0) pos)) | ||
| 21288 | (throw 'exit t))) | ||
| 21289 | nil)))) | ||
| 21290 | |||
| 21291 | (defun org-uniquify (list) | ||
| 21292 | "Remove duplicate elements from LIST." | ||
| 21293 | (let (res) | ||
| 21294 | (mapc (lambda (x) (add-to-list 'res x 'append)) list) | ||
| 21295 | res)) | ||
| 21296 | |||
| 21297 | (defun org-delete-all (elts list) | ||
| 21298 | "Remove all elements in ELTS from LIST." | ||
| 21299 | (while elts | ||
| 21300 | (setq list (delete (pop elts) list))) | ||
| 21301 | list) | ||
| 21302 | |||
| 19479 | (defun org-point-in-group (point group &optional context) | 21303 | (defun org-point-in-group (point group &optional context) |
| 19480 | "Check if POINT is in match-group GROUP. | 21304 | "Check if POINT is in match-group GROUP. |
| 19481 | If CONTEXT is non-nil, return a list with CONTEXT and the boundaries of the | 21305 | If CONTEXT is non-nil, return a list with CONTEXT and the boundaries of the |
| @@ -19535,7 +21359,7 @@ The sequences in STRING may contain normal field width and padding information, | |||
| 19535 | for example \"%-5s\". Replacements happen in the sequence given by TABLE, | 21359 | for example \"%-5s\". Replacements happen in the sequence given by TABLE, |
| 19536 | so values can contain further %-escapes if they are define later in TABLE." | 21360 | so values can contain further %-escapes if they are define later in TABLE." |
| 19537 | (let ((case-fold-search nil) | 21361 | (let ((case-fold-search nil) |
| 19538 | e re rpl) | 21362 | e re rpl) |
| 19539 | (while (setq e (pop table)) | 21363 | (while (setq e (pop table)) |
| 19540 | (setq re (concat "%-?[0-9.]*" (substring (car e) 1))) | 21364 | (setq re (concat "%-?[0-9.]*" (substring (car e) 1))) |
| 19541 | (while (string-match re string) | 21365 | (while (string-match re string) |
| @@ -19555,27 +21379,49 @@ Counting starts at 1." | |||
| 19555 | (setq c (1+ c))) | 21379 | (setq c (1+ c))) |
| 19556 | (nreverse rtn))) | 21380 | (nreverse rtn))) |
| 19557 | 21381 | ||
| 19558 | (defun org-at-regexp-p (regexp) | ||
| 19559 | "Is point inside a match of REGEXP in the current line?" | ||
| 19560 | (catch 'exit | ||
| 19561 | (save-excursion | ||
| 19562 | (let ((pos (point)) (end (point-at-eol))) | ||
| 19563 | (beginning-of-line 1) | ||
| 19564 | (while (re-search-forward regexp end t) | ||
| 19565 | (if (and (<= (match-beginning 0) pos) | ||
| 19566 | (>= (match-end 0) pos)) | ||
| 19567 | (throw 'exit t))) | ||
| 19568 | nil)))) | ||
| 19569 | |||
| 19570 | (defun org-find-base-buffer-visiting (file) | 21382 | (defun org-find-base-buffer-visiting (file) |
| 19571 | "Like `find-buffer-visiting' but alway return the base buffer and | 21383 | "Like `find-buffer-visiting' but alway return the base buffer and |
| 19572 | not an indirect buffer" | 21384 | not an indirect buffer" |
| 19573 | (let ((buf (find-buffer-visiting file))) | 21385 | (let ((buf (find-buffer-visiting file))) |
| 19574 | (or (buffer-base-buffer buf) buf))) | 21386 | (or (buffer-base-buffer buf) buf))) |
| 19575 | 21387 | ||
| 21388 | (defun org-image-file-name-regexp () | ||
| 21389 | "Return regexp matching the file names of images." | ||
| 21390 | (if (fboundp 'image-file-name-regexp) | ||
| 21391 | (image-file-name-regexp) | ||
| 21392 | (let ((image-file-name-extensions | ||
| 21393 | '("png" "jpeg" "jpg" "gif" "tiff" "tif" | ||
| 21394 | "xbm" "xpm" "pbm" "pgm" "ppm"))) | ||
| 21395 | (concat "\\." | ||
| 21396 | (regexp-opt (nconc (mapcar 'upcase | ||
| 21397 | image-file-name-extensions) | ||
| 21398 | image-file-name-extensions) | ||
| 21399 | t) | ||
| 21400 | "\\'")))) | ||
| 21401 | |||
| 21402 | (defun org-file-image-p (file) | ||
| 21403 | "Return non-nil if FILE is an image." | ||
| 21404 | (save-match-data | ||
| 21405 | (string-match (org-image-file-name-regexp) file))) | ||
| 21406 | |||
| 19576 | ;;; Paragraph filling stuff. | 21407 | ;;; Paragraph filling stuff. |
| 19577 | ;; We want this to be just right, so use the full arsenal. | 21408 | ;; We want this to be just right, so use the full arsenal. |
| 19578 | ;; FIXME: configure filladapt for XEmacs | 21409 | |
| 21410 | (defun org-indent-line-function () | ||
| 21411 | "Indent line like previous, but further if previous was headline or item." | ||
| 21412 | (interactive) | ||
| 21413 | (let ((column (save-excursion | ||
| 21414 | (beginning-of-line) | ||
| 21415 | (if (looking-at "#") 0 | ||
| 21416 | (skip-chars-backward "\n \t") | ||
| 21417 | (beginning-of-line) | ||
| 21418 | (if (or (looking-at "\\*+[ \t]+") | ||
| 21419 | (looking-at "[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)")) | ||
| 21420 | (progn (goto-char (match-end 0)) (current-column)) | ||
| 21421 | (current-indentation)))))) | ||
| 21422 | (if (<= (current-column) (current-indentation)) | ||
| 21423 | (indent-line-to column) | ||
| 21424 | (save-excursion (indent-line-to column))))) | ||
| 19579 | 21425 | ||
| 19580 | (defun org-set-autofill-regexps () | 21426 | (defun org-set-autofill-regexps () |
| 19581 | (interactive) | 21427 | (interactive) |
| @@ -19584,6 +21430,7 @@ not an indirect buffer" | |||
| 19584 | ;; fill the headline as well. | 21430 | ;; fill the headline as well. |
| 19585 | (org-set-local 'comment-start-skip "^#+[ \t]*") | 21431 | (org-set-local 'comment-start-skip "^#+[ \t]*") |
| 19586 | (org-set-local 'paragraph-separate "\f\\|\\*\\|[ ]*$\\|[ \t]*[:|]") | 21432 | (org-set-local 'paragraph-separate "\f\\|\\*\\|[ ]*$\\|[ \t]*[:|]") |
| 21433 | ;; FIXME!!!!!!! (org-set-local 'paragraph-separate "\f\\|[ ]*$") | ||
| 19587 | ;; The paragraph starter includes hand-formatted lists. | 21434 | ;; The paragraph starter includes hand-formatted lists. |
| 19588 | (org-set-local 'paragraph-start | 21435 | (org-set-local 'paragraph-start |
| 19589 | "\f\\|[ ]*$\\|\\([*\f]+\\)\\|[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)\\|[ \t]*[:|]") | 21436 | "\f\\|[ ]*$\\|\\([*\f]+\\)\\|[ \t]*\\([-+*][ \t]+\\|[0-9]+[.)][ \t]+\\)\\|[ \t]*[:|]") |
| @@ -19627,30 +21474,12 @@ In particular, this makes sure hanging paragraphs for hand-formatted lists | |||
| 19627 | work correctly." | 21474 | work correctly." |
| 19628 | (cond ((looking-at "#[ \t]+") | 21475 | (cond ((looking-at "#[ \t]+") |
| 19629 | (match-string 0)) | 21476 | (match-string 0)) |
| 19630 | ((looking-at " *\\([-*+] \\|[0-9]+[.)] \\)?") | 21477 | ((looking-at "[ \t]*\\([-*+] \\|[0-9]+[.)] \\)?") |
| 19631 | (make-string (- (match-end 0) (match-beginning 0)) ?\ )) | 21478 | (save-excursion |
| 21479 | (goto-char (match-end 0)) | ||
| 21480 | (make-string (current-column) ?\ ))) | ||
| 19632 | (t nil))) | 21481 | (t nil))) |
| 19633 | 21482 | ||
| 19634 | |||
| 19635 | (defun org-image-file-name-regexp () | ||
| 19636 | "Return regexp matching the file names of images." | ||
| 19637 | (if (fboundp 'image-file-name-regexp) | ||
| 19638 | (image-file-name-regexp) | ||
| 19639 | (let ((image-file-name-extensions | ||
| 19640 | '("png" "jpeg" "jpg" "gif" "tiff" "tif" | ||
| 19641 | "xbm" "xpm" "pbm" "pgm" "ppm"))) | ||
| 19642 | (concat "\\." | ||
| 19643 | (regexp-opt (nconc (mapcar 'upcase | ||
| 19644 | image-file-name-extensions) | ||
| 19645 | image-file-name-extensions) | ||
| 19646 | t) | ||
| 19647 | "\\'")))) | ||
| 19648 | |||
| 19649 | (defun org-file-image-p (file) | ||
| 19650 | "Return non-nil if FILE is an image." | ||
| 19651 | (save-match-data | ||
| 19652 | (string-match (org-image-file-name-regexp) file))) | ||
| 19653 | |||
| 19654 | ;;;; Functions extending outline functionality | 21483 | ;;;; Functions extending outline functionality |
| 19655 | 21484 | ||
| 19656 | ;; C-a should go to the beginning of a *visible* line, also in the | 21485 | ;; C-a should go to the beginning of a *visible* line, also in the |
| @@ -19659,15 +21488,22 @@ work correctly." | |||
| 19659 | "Go to the beginning of the current line. If that is invisible, continue | 21488 | "Go to the beginning of the current line. If that is invisible, continue |
| 19660 | to a visible line beginning. This makes the function of C-a more intuitive." | 21489 | to a visible line beginning. This makes the function of C-a more intuitive." |
| 19661 | (interactive) | 21490 | (interactive) |
| 19662 | (beginning-of-line 1) | 21491 | (let ((pos (point))) |
| 19663 | (if (bobp) | 21492 | (beginning-of-line 1) |
| 19664 | nil | 21493 | (if (bobp) |
| 19665 | (backward-char 1) | 21494 | nil |
| 19666 | (if (org-invisible-p) | 21495 | (backward-char 1) |
| 19667 | (while (and (not (bobp)) (org-invisible-p)) | 21496 | (if (org-invisible-p) |
| 19668 | (backward-char 1) | 21497 | (while (and (not (bobp)) (org-invisible-p)) |
| 19669 | (beginning-of-line 1)) | 21498 | (backward-char 1) |
| 19670 | (forward-char 1)))) | 21499 | (beginning-of-line 1)) |
| 21500 | (forward-char 1))) | ||
| 21501 | (when (and org-special-ctrl-a (looking-at org-todo-line-regexp) | ||
| 21502 | (= (char-after (match-end 1)) ?\ )) | ||
| 21503 | (goto-char | ||
| 21504 | (cond ((> pos (match-beginning 3)) (match-beginning 3)) | ||
| 21505 | ((= pos (point)) (match-beginning 3)) | ||
| 21506 | (t (point))))))) | ||
| 19671 | 21507 | ||
| 19672 | (define-key org-mode-map "\C-a" 'org-beginning-of-line) | 21508 | (define-key org-mode-map "\C-a" 'org-beginning-of-line) |
| 19673 | 21509 | ||
| @@ -19689,6 +21525,9 @@ to a visible line beginning. This makes the function of C-a more intuitive." | |||
| 19689 | 21525 | ||
| 19690 | (defalias 'org-back-to-heading 'outline-back-to-heading) | 21526 | (defalias 'org-back-to-heading 'outline-back-to-heading) |
| 19691 | (defalias 'org-on-heading-p 'outline-on-heading-p) | 21527 | (defalias 'org-on-heading-p 'outline-on-heading-p) |
| 21528 | (defalias 'org-at-heading-p 'outline-on-heading-p) | ||
| 21529 | (defun org-at-heading-or-item-p () | ||
| 21530 | (or (org-on-heading-p) (org-at-item-p))) | ||
| 19692 | 21531 | ||
| 19693 | (defun org-on-target-p () | 21532 | (defun org-on-target-p () |
| 19694 | (or (org-in-regexp org-radio-target-regexp) | 21533 | (or (org-in-regexp org-radio-target-regexp) |
| @@ -19751,7 +21590,7 @@ When ENTRY is non-nil, show the entire entry." | |||
| 19751 | (save-excursion (outline-end-of-heading) (point)) | 21590 | (save-excursion (outline-end-of-heading) (point)) |
| 19752 | flag)))) | 21591 | flag)))) |
| 19753 | 21592 | ||
| 19754 | (defun org-end-of-subtree (&optional invisible-OK) | 21593 | (defun org-end-of-subtree (&optional invisible-OK to-heading) |
| 19755 | ;; This is an exact copy of the original function, but it uses | 21594 | ;; This is an exact copy of the original function, but it uses |
| 19756 | ;; `org-back-to-heading', to make it work also in invisible | 21595 | ;; `org-back-to-heading', to make it work also in invisible |
| 19757 | ;; trees. And is uses an invisible-OK argument. | 21596 | ;; trees. And is uses an invisible-OK argument. |
| @@ -19763,13 +21602,14 @@ When ENTRY is non-nil, show the entire entry." | |||
| 19763 | (or first (> (funcall outline-level) level))) | 21602 | (or first (> (funcall outline-level) level))) |
| 19764 | (setq first nil) | 21603 | (setq first nil) |
| 19765 | (outline-next-heading)) | 21604 | (outline-next-heading)) |
| 19766 | (if (memq (preceding-char) '(?\n ?\^M)) | 21605 | (unless to-heading |
| 19767 | (progn | 21606 | (if (memq (preceding-char) '(?\n ?\^M)) |
| 19768 | ;; Go to end of line before heading | 21607 | (progn |
| 19769 | (forward-char -1) | 21608 | ;; Go to end of line before heading |
| 19770 | (if (memq (preceding-char) '(?\n ?\^M)) | 21609 | (forward-char -1) |
| 19771 | ;; leave blank line before heading | 21610 | (if (memq (preceding-char) '(?\n ?\^M)) |
| 19772 | (forward-char -1))))) | 21611 | ;; leave blank line before heading |
| 21612 | (forward-char -1)))))) | ||
| 19773 | (point)) | 21613 | (point)) |
| 19774 | 21614 | ||
| 19775 | (defun org-show-subtree () | 21615 | (defun org-show-subtree () |
| @@ -19824,7 +21664,13 @@ Show the heading too, if it is currently invisible." | |||
| 19824 | (remove-hook 'post-command-hook 'org-isearch-post-command 'local) | 21664 | (remove-hook 'post-command-hook 'org-isearch-post-command 'local) |
| 19825 | (org-show-context 'isearch)) | 21665 | (org-show-context 'isearch)) |
| 19826 | 21666 | ||
| 19827 | ;;;; Repair problems with some other packages | 21667 | |
| 21668 | ;;;; Address problems with some other packages | ||
| 21669 | |||
| 21670 | ;; Make flyspell not check words in links, to not mess up our keymap | ||
| 21671 | (defun org-mode-flyspell-verify () | ||
| 21672 | "Don't let flyspell put overlays at active buttons." | ||
| 21673 | (not (get-text-property (point) 'keymap))) | ||
| 19828 | 21674 | ||
| 19829 | ;; Make `bookmark-jump' show the jump location if it was hidden. | 21675 | ;; Make `bookmark-jump' show the jump location if it was hidden. |
| 19830 | (eval-after-load "bookmark" | 21676 | (eval-after-load "bookmark" |
| @@ -19850,6 +21696,26 @@ Show the heading too, if it is currently invisible." | |||
| 19850 | 21696 | ||
| 19851 | ;;;; Experimental code | 21697 | ;;;; Experimental code |
| 19852 | 21698 | ||
| 21699 | (defun org-closed-in-range () | ||
| 21700 | "Sparse tree of items closed in a certain time range. | ||
| 21701 | Still experimental, may disappear in the furture." | ||
| 21702 | (interactive) | ||
| 21703 | ;; Get the time interval from the user. | ||
| 21704 | (let* ((time1 (time-to-seconds | ||
| 21705 | (org-read-date nil 'to-time nil "Starting date: "))) | ||
| 21706 | (time2 (time-to-seconds | ||
| 21707 | (org-read-date nil 'to-time nil "End date:"))) | ||
| 21708 | ;; callback function | ||
| 21709 | (callback (lambda () | ||
| 21710 | (let ((time | ||
| 21711 | (time-to-seconds | ||
| 21712 | (apply 'encode-time | ||
| 21713 | (org-parse-time-string | ||
| 21714 | (match-string 1)))))) | ||
| 21715 | ;; check if time in interval | ||
| 21716 | (and (>= time time1) (<= time time2)))))) | ||
| 21717 | ;; make tree, check each match with the callback | ||
| 21718 | (org-occur "CLOSED: +\\[\\(.*?\\)\\]" nil callback))) | ||
| 19853 | 21719 | ||
| 19854 | ;;;; Finish up | 21720 | ;;;; Finish up |
| 19855 | 21721 | ||
diff --git a/lisp/tutorial.el b/lisp/tutorial.el index 4856d178056..384b9b8415c 100644 --- a/lisp/tutorial.el +++ b/lisp/tutorial.el | |||
| @@ -155,9 +155,9 @@ options: | |||
| 155 | " RET instead.")) | 155 | " RET instead.")) |
| 156 | (insert "\n\nWith your current key bindings" | 156 | (insert "\n\nWith your current key bindings" |
| 157 | " you can use " | 157 | " you can use " |
| 158 | (if (string-equal "the menus" where) | 158 | (if (string-match "^the .*menus?$" where) |
| 159 | "" | 159 | "" |
| 160 | "the key ") | 160 | "the key") |
| 161 | where | 161 | where |
| 162 | " to get the function `" | 162 | " to get the function `" |
| 163 | (format "%s" db) | 163 | (format "%s" db) |
| @@ -406,7 +406,7 @@ where | |||
| 406 | WHERE is a text describing the key sequences to which DEF-FUN is | 406 | WHERE is a text describing the key sequences to which DEF-FUN is |
| 407 | bound now (or, if it is remapped, a key sequence | 407 | bound now (or, if it is remapped, a key sequence |
| 408 | for the function it is remapped to) | 408 | for the function it is remapped to) |
| 409 | REMARK is a list with info about rebinding. It has either of | 409 | REMARK is a list with info about rebinding. It has either of |
| 410 | these formats: | 410 | these formats: |
| 411 | 411 | ||
| 412 | \(TEXT cua-mode) | 412 | \(TEXT cua-mode) |
| @@ -434,14 +434,26 @@ where | |||
| 434 | (key-fun (if (eq def-fun 'ESC-prefix) | 434 | (key-fun (if (eq def-fun 'ESC-prefix) |
| 435 | (lookup-key global-map [27]) | 435 | (lookup-key global-map [27]) |
| 436 | (key-binding key))) | 436 | (key-binding key))) |
| 437 | (where (where-is-internal (if rem-fun rem-fun def-fun)))) | 437 | (where (where-is-internal (if rem-fun rem-fun def-fun))) |
| 438 | cwhere) | ||
| 438 | (if where | 439 | (if where |
| 439 | (progn | 440 | (progn |
| 440 | (setq where (key-description (car where))) | 441 | (setq cwhere (car where) |
| 442 | where (key-description cwhere)) | ||
| 441 | (when (and (< 10 (length where)) | 443 | (when (and (< 10 (length where)) |
| 442 | (string= (substring where 0 (length "<menu-bar>")) | 444 | (string= (substring where 0 (length "<menu-bar>")) |
| 443 | "<menu-bar>")) | 445 | "<menu-bar>")) |
| 444 | (setq where "the menus"))) | 446 | (setq where |
| 447 | (if (and (vectorp cwhere) | ||
| 448 | (setq cwhere (elt cwhere 1)) | ||
| 449 | (setq cwhere | ||
| 450 | (cadr | ||
| 451 | (assoc cwhere | ||
| 452 | (lookup-key global-map | ||
| 453 | [menu-bar])))) | ||
| 454 | (stringp cwhere)) | ||
| 455 | (format "the `%s' menu" cwhere) | ||
| 456 | "the menus")))) | ||
| 445 | (setq where "")) | 457 | (setq where "")) |
| 446 | (setq remark nil) | 458 | (setq remark nil) |
| 447 | (unless | 459 | (unless |
| @@ -915,7 +927,7 @@ See `get-lang-string' for more information.") | |||
| 915 | In certain places Emacs can replace a string shown to the user with | 927 | In certain places Emacs can replace a string shown to the user with |
| 916 | a language specific string. This function retrieves such strings. | 928 | a language specific string. This function retrieves such strings. |
| 917 | 929 | ||
| 918 | LANG is the language specification. It should be one of those | 930 | LANG is the language specification. It should be one of those |
| 919 | strings that can be returned by `read-language-name'. STRINGID | 931 | strings that can be returned by `read-language-name'. STRINGID |
| 920 | is a symbol that specifies the string to retrieve. | 932 | is a symbol that specifies the string to retrieve. |
| 921 | 933 | ||
diff --git a/lisp/version.el b/lisp/version.el index dda64ccb4f1..aa543e0d516 100644 --- a/lisp/version.el +++ b/lisp/version.el | |||
| @@ -27,6 +27,9 @@ | |||
| 27 | 27 | ||
| 28 | ;;; Code: | 28 | ;;; Code: |
| 29 | 29 | ||
| 30 | (defconst emacs-copyright "Copyright (C) 2007 Free Software Foundation, Inc." | ||
| 31 | "Short copyright string for this version of Emacs.") | ||
| 32 | |||
| 30 | (defconst emacs-version "23.0.51" "\ | 33 | (defconst emacs-version "23.0.51" "\ |
| 31 | Version numbers of this version of Emacs.") | 34 | Version numbers of this version of Emacs.") |
| 32 | 35 | ||
diff --git a/lispintro/ChangeLog b/lispintro/ChangeLog index 7000f1fca19..2e08725df69 100644 --- a/lispintro/ChangeLog +++ b/lispintro/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * Version 22.1 released. | ||
| 4 | |||
| 1 | 2007-01-30 Robert J. Chassell <bob@rattlesnake.com> | 5 | 2007-01-30 Robert J. Chassell <bob@rattlesnake.com> |
| 2 | 6 | ||
| 3 | * emacs-lisp-intro.texi (else): Rephrase message of first | 7 | * emacs-lisp-intro.texi (else): Rephrase message of first |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index a9d931d3140..7802c74f054 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,9 +1,31 @@ | |||
| 1 | 2007-06-03 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * commands.texi (Click Events): Describe width and height when | ||
| 4 | object is nil. | ||
| 5 | |||
| 1 | 2007-05-30 Nick Roberts <nickrob@snap.net.nz> | 6 | 2007-05-30 Nick Roberts <nickrob@snap.net.nz> |
| 2 | 7 | ||
| 3 | * commands.texi (Click Events): Layout more logically. Describe | 8 | * commands.texi (Click Events): Layout more logically. Describe |
| 4 | width and height. | 9 | width and height. |
| 5 | (Drag Events, Motion Events): Update to new format for position. | 10 | (Drag Events, Motion Events): Update to new format for position. |
| 6 | 11 | ||
| 12 | 2007-06-02 Richard Stallman <rms@gnu.org> | ||
| 13 | |||
| 14 | * frames.texi (Color Parameters): Add xref to (emacs)Standard Faces. | ||
| 15 | |||
| 16 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 17 | |||
| 18 | * Version 22.1 released. | ||
| 19 | |||
| 20 | 2007-06-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21 | |||
| 22 | * text.texi (Special Properties): Correct meaning of fontified | ||
| 23 | face. | ||
| 24 | |||
| 25 | 2007-05-30 Richard Stallman <rms@gnu.org> | ||
| 26 | |||
| 27 | * text.texi (Special Properties): Add link to Adjusting Point. | ||
| 28 | |||
| 7 | 2007-05-12 Richard Stallman <rms@gnu.org> | 29 | 2007-05-12 Richard Stallman <rms@gnu.org> |
| 8 | 30 | ||
| 9 | * text.texi (Margins): indent-to-left-margin is not the default. | 31 | * text.texi (Margins): indent-to-left-margin is not the default. |
diff --git a/lispref/commands.texi b/lispref/commands.texi index 10f4555e1f0..fabe38f9428 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi | |||
| @@ -1225,7 +1225,7 @@ input stream. @xref{Key Sequence Input}. | |||
| 1225 | 1225 | ||
| 1226 | 1226 | ||
| 1227 | @item @var{x}, @var{y} | 1227 | @item @var{x}, @var{y} |
| 1228 | These are the pixel-denominated coordinates of the click, relative to | 1228 | These are the pixel coordinates of the click, relative to |
| 1229 | the top left corner of @var{window}, which is @code{(0 . 0)}. | 1229 | the top left corner of @var{window}, which is @code{(0 . 0)}. |
| 1230 | For the mode or header line, @var{y} does not have meaningful data. | 1230 | For the mode or header line, @var{y} does not have meaningful data. |
| 1231 | For the vertical line, @var{x} does not have meaningful data. | 1231 | For the vertical line, @var{x} does not have meaningful data. |
| @@ -1266,13 +1266,14 @@ This is the image object on which the click occurred. It is either | |||
| 1266 | an image object as returned by @code{find-image} if click was in an image. | 1266 | an image object as returned by @code{find-image} if click was in an image. |
| 1267 | 1267 | ||
| 1268 | @item @var{dx}, @var{dy} | 1268 | @item @var{dx}, @var{dy} |
| 1269 | These are the pixel-denominated coordinates of the click, relative to | 1269 | These are the pixel coordinates of the click, relative to |
| 1270 | the top left corner of @var{object}, which is @code{(0 . 0)}. If | 1270 | the top left corner of @var{object}, which is @code{(0 . 0)}. If |
| 1271 | @var{object} is @code{nil}, the coordinates are relative to the top | 1271 | @var{object} is @code{nil}, the coordinates are relative to the top |
| 1272 | left corner of the character glyph clicked on. | 1272 | left corner of the character glyph clicked on. |
| 1273 | 1273 | ||
| 1274 | @item @var{width}, @var{height} | 1274 | @item @var{width}, @var{height} |
| 1275 | These are the pixel-denominated width and height of @var{object}. | 1275 | These are the pixel width and height of @var{object} or, if this is |
| 1276 | @code{nil}, those of the character glyph clicked on. | ||
| 1276 | @end table | 1277 | @end table |
| 1277 | 1278 | ||
| 1278 | @sp 1 | 1279 | @sp 1 |
diff --git a/lispref/display.texi b/lispref/display.texi index acf927b449f..f644a02c2eb 100644 --- a/lispref/display.texi +++ b/lispref/display.texi | |||
| @@ -2505,8 +2505,9 @@ makes @code{modeline} an alias for the @code{mode-line} face. | |||
| 2505 | @cindex automatic face assignment | 2505 | @cindex automatic face assignment |
| 2506 | @cindex faces, automatic choice | 2506 | @cindex faces, automatic choice |
| 2507 | 2507 | ||
| 2508 | This hook is used for automatically assigning faces to text in the | 2508 | This hook is used for automatically assigning facesto text in the |
| 2509 | buffer. It is part of the implementation of Font-Lock mode. | 2509 | buffer. It is part of the implementation of Jit-Lock mode, used by |
| 2510 | Font-Lock. | ||
| 2510 | 2511 | ||
| 2511 | @defvar fontification-functions | 2512 | @defvar fontification-functions |
| 2512 | This variable holds a list of functions that are called by Emacs | 2513 | This variable holds a list of functions that are called by Emacs |
diff --git a/lispref/elisp.texi b/lispref/elisp.texi index acc963d96fd..accfe05c27d 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @c Version of the manual and of Emacs. | 7 | @c Version of the manual and of Emacs. |
| 8 | @c Please remember to update the edition number in README as well. | 8 | @c Please remember to update the edition number in README as well. |
| 9 | @set VERSION 2.9 | 9 | @set VERSION 2.9 |
| 10 | @set EMACSVER 22.0.990 | 10 | @set EMACSVER 22.1.50 |
| 11 | 11 | ||
| 12 | @dircategory Emacs | 12 | @dircategory Emacs |
| 13 | @direntry | 13 | @direntry |
diff --git a/lispref/frames.texi b/lispref/frames.texi index 527f27385f3..b8a0d4749e2 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi | |||
| @@ -706,6 +706,7 @@ results for LCD color displays. | |||
| 706 | 706 | ||
| 707 | These frame parameters are semi-obsolete in that they are automatically | 707 | These frame parameters are semi-obsolete in that they are automatically |
| 708 | equivalent to particular face attributes of particular faces. | 708 | equivalent to particular face attributes of particular faces. |
| 709 | @xref{Standard Faces,,, emacs, The Emacs Manual}. | ||
| 709 | 710 | ||
| 710 | @table @code | 711 | @table @code |
| 711 | @item font | 712 | @item font |
diff --git a/lispref/text.texi b/lispref/text.texi index 8fb155d2109..f05a0cd696a 100644 --- a/lispref/text.texi +++ b/lispref/text.texi | |||
| @@ -2951,6 +2951,11 @@ meanings. The following sections list a few additional special property | |||
| 2951 | names that control filling and property inheritance. All other names | 2951 | names that control filling and property inheritance. All other names |
| 2952 | have no standard meaning, and you can use them as you like. | 2952 | have no standard meaning, and you can use them as you like. |
| 2953 | 2953 | ||
| 2954 | Note: the properties @code{composition}, @code{display}, | ||
| 2955 | @code{invisible} and @code{intangible} can also cause point to move to | ||
| 2956 | an acceptable place, after each Emacs command. @xref{Adjusting | ||
| 2957 | Point}. | ||
| 2958 | |||
| 2954 | @table @code | 2959 | @table @code |
| 2955 | @cindex property category of text character | 2960 | @cindex property category of text character |
| 2956 | @kindex category @r{(text property)} | 2961 | @kindex category @r{(text property)} |
| @@ -3019,24 +3024,11 @@ that all text between the character and where the mouse is have the same | |||
| 3019 | 3024 | ||
| 3020 | @item fontified | 3025 | @item fontified |
| 3021 | @kindex fontified @r{(text property)} | 3026 | @kindex fontified @r{(text property)} |
| 3022 | This property says whether the character has a face assigned to it by font | 3027 | This property says whether the text is ready for display. If |
| 3023 | locking. The display engine tests it to decide whether a buffer | 3028 | @code{nil}, Emacs's redisplay routine calls the functions in |
| 3024 | portion needs refontifying before display. @xref{Auto Faces}. It | 3029 | @code{fontification-functions} (@pxref{Auto Faces}) to prepare this |
| 3025 | takes one of three values: | 3030 | part of the buffer before it is displayed. It is used internally by |
| 3026 | 3031 | the ``just in time'' font locking code. | |
| 3027 | @table @asis | ||
| 3028 | @item @code{nil} | ||
| 3029 | Font locking is disabled, or the character's @code{face} property, if | ||
| 3030 | any, is invalid. | ||
| 3031 | |||
| 3032 | @item @code{defer} | ||
| 3033 | This value is only used when ``just in time'' font locking is enabled | ||
| 3034 | and it means that the character's @code{face} property is invalid and | ||
| 3035 | needs deferred fontification. | ||
| 3036 | |||
| 3037 | @item @code{t} | ||
| 3038 | The character's @code{face} property, or absence of one, is valid. | ||
| 3039 | @end table | ||
| 3040 | 3032 | ||
| 3041 | @item display | 3033 | @item display |
| 3042 | This property activates various features that change the | 3034 | This property activates various features that change the |
| @@ -3138,6 +3130,10 @@ If you try to move point forward into the group, point actually moves to | |||
| 3138 | the end of the group. If you try to move point backward into the group, | 3130 | the end of the group. If you try to move point backward into the group, |
| 3139 | point actually moves to the start of the group. | 3131 | point actually moves to the start of the group. |
| 3140 | 3132 | ||
| 3133 | If consecutive characters have unequal non-@code{nil} | ||
| 3134 | @code{intangible} properties, they belong to separate groups; each | ||
| 3135 | group is separately treated as described above. | ||
| 3136 | |||
| 3141 | When the variable @code{inhibit-point-motion-hooks} is non-@code{nil}, | 3137 | When the variable @code{inhibit-point-motion-hooks} is non-@code{nil}, |
| 3142 | the @code{intangible} property is ignored. | 3138 | the @code{intangible} property is ignored. |
| 3143 | 3139 | ||
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 5396754d142..f6764e87e17 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * Version 22.1 released. | ||
| 4 | |||
| 1 | 2007-02-28 Glenn Morris <rgm@gnu.org> | 5 | 2007-02-28 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * Makefile.in (distclean): Delete Makefile. | 7 | * Makefile.in (distclean): Delete Makefile. |
diff --git a/mac/ChangeLog b/mac/ChangeLog index 5ce1044bc23..5413a1f04bb 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * Version 22.1 released. | ||
| 4 | |||
| 1 | 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 5 | 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 6 | ||
| 3 | * INSTALL: Add note about moving self-contained application bundle | 7 | * INSTALL: Add note about moving self-contained application bundle |
diff --git a/man/ChangeLog b/man/ChangeLog index d6ebb72db4b..e216f6ab7c3 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,10 +1,33 @@ | |||
| 1 | 2007-05-28 Michael Albinus <michael.albinus@gmx.de> | 1 | 2007-06-06 Andreas Seltenreich <andreas@gate450.dyndns.org> |
| 2 | |||
| 3 | * gnus.texi (Misc Group Stuff, Summary Buffer) | ||
| 4 | (Server Commands, Article Keymap): Fix typo. s/function/command/. | ||
| 5 | |||
| 6 | 2007-06-07 Alan Mackenzie <acm@muc.de> | ||
| 7 | |||
| 8 | * display.texi (Optional Mode Line): Document the new form of | ||
| 9 | line+column numbers, "(561,2)". | ||
| 10 | |||
| 11 | 2007-06-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 12 | |||
| 13 | * cc-mode.texi (Comment Commands, Getting Started, Style Variables): | ||
| 14 | * gnus.texi (Article Buttons, Mail Source Customization) | ||
| 15 | (Sending or Not Sending, Customizing NNDiary): | ||
| 16 | * maintaining.texi (Create Tags Table): | ||
| 17 | * message.texi (Message Headers): | ||
| 18 | * mh-e.texi (HTML): Fix typos. | ||
| 19 | |||
| 20 | 2007-06-07 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | 21 | ||
| 3 | Sync with Tramp 2.0.56. | 22 | Sync with Tramp 2.0.56. |
| 4 | 23 | ||
| 5 | * tramp.texi (Frequently Asked Questions): Improve ~/.zshrc | 24 | * tramp.texi (Frequently Asked Questions): Improve ~/.zshrc |
| 6 | settings. Reported by Ted Zlatanov <tzz@lifelogs.com>. | 25 | settings. Reported by Ted Zlatanov <tzz@lifelogs.com>. |
| 7 | 26 | ||
| 27 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 28 | |||
| 29 | * Version 22.1 released. | ||
| 30 | |||
| 8 | 2007-05-26 Michael Olson <mwolson@gnu.org> | 31 | 2007-05-26 Michael Olson <mwolson@gnu.org> |
| 9 | 32 | ||
| 10 | * erc.texi (Modules): Fix references to completion modules. | 33 | * erc.texi (Modules): Fix references to completion modules. |
| @@ -15,12 +38,12 @@ | |||
| 15 | 38 | ||
| 16 | 2007-05-09 Didier Verna <didier@xemacs.org> | 39 | 2007-05-09 Didier Verna <didier@xemacs.org> |
| 17 | 40 | ||
| 18 | * gnus.texi (Email Based Diary): New. Proper documentation for the | 41 | * gnus.texi (Email Based Diary): New. Proper documentation for the |
| 19 | nndiary back end and the gnus-diary library. | 42 | nndiary back end and the gnus-diary library. |
| 20 | 43 | ||
| 21 | 2007-05-07 Karl Berry <karl@gnu.org> | 44 | 2007-05-07 Karl Berry <karl@gnu.org> |
| 22 | 45 | ||
| 23 | * emacs.texi (EMACSVER): back to 22. | 46 | * emacs.texi (EMACSVER): Back to 22. |
| 24 | 47 | ||
| 25 | 2007-05-06 Richard Stallman <rms@gnu.org> | 48 | 2007-05-06 Richard Stallman <rms@gnu.org> |
| 26 | 49 | ||
| @@ -39,9 +62,9 @@ | |||
| 39 | 62 | ||
| 40 | * emacs.texi (EMACSVER) [smallbook]: 22 for printed version. | 63 | * emacs.texi (EMACSVER) [smallbook]: 22 for printed version. |
| 41 | 64 | ||
| 42 | * .cvsignore (*.pdf): new entry. | 65 | * .cvsignore (*.pdf): New entry. |
| 43 | 66 | ||
| 44 | * texinfo.tex: update from current version for better pdf generation. | 67 | * texinfo.tex: Update from current version for better pdf generation. |
| 45 | 68 | ||
| 46 | * emacs.texi (\urlcolor, \linkcolor) [smallbook]: \let to \Black | 69 | * emacs.texi (\urlcolor, \linkcolor) [smallbook]: \let to \Black |
| 47 | for printing. | 70 | for printing. |
| @@ -1375,9 +1398,9 @@ | |||
| 1375 | * emacs.texi (\hbadness): Set to 6000 so we aren't bothered by | 1398 | * emacs.texi (\hbadness): Set to 6000 so we aren't bothered by |
| 1376 | not-too-underfull hboxes in the TeX output. | 1399 | not-too-underfull hboxes in the TeX output. |
| 1377 | * abbrevs.texi, buffers.texi, building.texi, calendar.texi, | 1400 | * abbrevs.texi, buffers.texi, building.texi, calendar.texi, |
| 1378 | cmdargs.texi, custom.texi, dired.texi, macos.texi, | 1401 | * cmdargs.texi, custom.texi, dired.texi, macos.texi, |
| 1379 | maintaining.texi, misc.texi, mule.texi, programs.texi, rmail.texi, | 1402 | * maintaining.texi, misc.texi, mule.texi, programs.texi, rmail.texi, |
| 1380 | sending.texi, text.texi: fix overfull/underfull boxes. | 1403 | * sending.texi, text.texi: Fix overfull/underfull boxes. |
| 1381 | 1404 | ||
| 1382 | 2006-07-03 Romain Francoise <romain@orebokech.com> | 1405 | 2006-07-03 Romain Francoise <romain@orebokech.com> |
| 1383 | 1406 | ||
| @@ -1460,7 +1483,7 @@ | |||
| 1460 | 1483 | ||
| 1461 | 2006-06-25 Nick Roberts <nickrob@snap.net.nz> | 1484 | 2006-06-25 Nick Roberts <nickrob@snap.net.nz> |
| 1462 | 1485 | ||
| 1463 | * frames.texi (XTerm Mouse) Rename to... | 1486 | * frames.texi (XTerm Mouse): Rename to... |
| 1464 | (Text-Only Mouse): ...this. Mention t-mouse-mode. | 1487 | (Text-Only Mouse): ...this. Mention t-mouse-mode. |
| 1465 | 1488 | ||
| 1466 | * emacs.texi (Top): Use new node name. | 1489 | * emacs.texi (Top): Use new node name. |
| @@ -1803,7 +1826,7 @@ | |||
| 1803 | 2006-05-06 Eli Zaretskii <eliz@gnu.org> | 1826 | 2006-05-06 Eli Zaretskii <eliz@gnu.org> |
| 1804 | 1827 | ||
| 1805 | * makefile.w32-in (emacs.dvi): | 1828 | * makefile.w32-in (emacs.dvi): |
| 1806 | * Makefile.in (emacs.dvi): Add xresmini.texi | 1829 | * Makefile.in (emacs.dvi): Add xresmini.texi. |
| 1807 | 1830 | ||
| 1808 | * xresmini.texi (Table of Resources): Remove xref to non-existent | 1831 | * xresmini.texi (Table of Resources): Remove xref to non-existent |
| 1809 | node "LessTif Resources". | 1832 | node "LessTif Resources". |
| @@ -1889,7 +1912,7 @@ | |||
| 1889 | Next, and Up links. | 1912 | Next, and Up links. |
| 1890 | 1913 | ||
| 1891 | * emacs.texi (Top) [ifnottex]: Add menu entries for "Picture Mode" | 1914 | * emacs.texi (Top) [ifnottex]: Add menu entries for "Picture Mode" |
| 1892 | and its sections. @include picture-xtra.texi | 1915 | and its sections. @include picture-xtra.texi. |
| 1893 | 1916 | ||
| 1894 | * maintaining.texi (Maintaining) [ifnottex]: Add menu entry for | 1917 | * maintaining.texi (Maintaining) [ifnottex]: Add menu entry for |
| 1895 | "Emerge". | 1918 | "Emerge". |
| @@ -1944,11 +1967,11 @@ | |||
| 1944 | 1967 | ||
| 1945 | 2006-05-05 Karl Berry <karl@gnu.org> | 1968 | 2006-05-05 Karl Berry <karl@gnu.org> |
| 1946 | 1969 | ||
| 1947 | * texinfo.tex (\definetextfonsizexi, \definetextfonsizex): new cmds. | 1970 | * texinfo.tex (\definetextfonsizexi, \definetextfonsizex): New cmds. |
| 1948 | (\fonttextsize): new user-level command to change text font size. | 1971 | (\fonttextsize): New user-level command to change text font size. |
| 1949 | * emacs.texi: call @fonttextsize 10, inside @tex to avoid | 1972 | * emacs.texi: Call @fonttextsize 10, inside @tex to avoid |
| 1950 | errors from the current release of makeinfo (4.8). | 1973 | errors from the current release of makeinfo (4.8). |
| 1951 | * help.texi (Library Keywords): change widest word in multitable | 1974 | * help.texi (Library Keywords): Change widest word in multitable |
| 1952 | template from `emulations' to `convenience'. (Not sure if this is | 1975 | template from `emulations' to `convenience'. (Not sure if this is |
| 1953 | related to the font change.) | 1976 | related to the font change.) |
| 1954 | 1977 | ||
| @@ -2148,7 +2171,7 @@ | |||
| 2148 | (Inserting Version Control Headers, Customizing VC, General Options) | 2171 | (Inserting Version Control Headers, Customizing VC, General Options) |
| 2149 | (Options for RCS and SCCS, Options specific for CVS): Move all | 2172 | (Options for RCS and SCCS, Options specific for CVS): Move all |
| 2150 | these nodes to emacs-xtra.texi, for brevity. | 2173 | these nodes to emacs-xtra.texi, for brevity. |
| 2151 | * cmdargs.texi, files.texi: change cross-references. | 2174 | * cmdargs.texi, files.texi: Change cross-references. |
| 2152 | 2175 | ||
| 2153 | 2006-04-11 Reiner Steib <Reiner.Steib@gmx.de> | 2176 | 2006-04-11 Reiner Steib <Reiner.Steib@gmx.de> |
| 2154 | 2177 | ||
| @@ -2179,13 +2202,13 @@ | |||
| 2179 | 2202 | ||
| 2180 | 2006-04-09 Karl Berry <karl@gnu.org> | 2203 | 2006-04-09 Karl Berry <karl@gnu.org> |
| 2181 | 2204 | ||
| 2182 | * msdog.texi, emacs-xtra.texi: move all the MS-DOS material to | 2205 | * msdog.texi, emacs-xtra.texi: Move all the MS-DOS material to |
| 2183 | emacs-xtra.texi, leaving only MS Windows information. | 2206 | emacs-xtra.texi, leaving only MS Windows information. |
| 2184 | * building.texi, emacs.texi, frames.texi, gnu.texi, macos.texi, | 2207 | * building.texi, emacs.texi, frames.texi, gnu.texi, macos.texi, |
| 2185 | msdog.texi, mule.texi, trouble.texi: change cross-references and | 2208 | * msdog.texi, mule.texi, trouble.texi: Change cross-references and |
| 2186 | node names. | 2209 | node names. |
| 2187 | 2210 | ||
| 2188 | * emacs.texi: move @summarycontents and @contents to the beginning | 2211 | * emacs.texi: Move @summarycontents and @contents to the beginning |
| 2189 | of the file. | 2212 | of the file. |
| 2190 | 2213 | ||
| 2191 | 2006-04-07 Reiner Steib <Reiner.Steib@gmx.de> | 2214 | 2006-04-07 Reiner Steib <Reiner.Steib@gmx.de> |
| @@ -2264,7 +2287,7 @@ | |||
| 2264 | 2287 | ||
| 2265 | * sending.texi (Mail Sending): pxref to Top needs five args. | 2288 | * sending.texi (Mail Sending): pxref to Top needs five args. |
| 2266 | 2289 | ||
| 2267 | * texinfo.tex: update to current version (2006-03-21.13). | 2290 | * texinfo.tex: Update to current version (2006-03-21.13). |
| 2268 | 2291 | ||
| 2269 | 2006-04-02 Bill Wohler <wohler@newt.com> | 2292 | 2006-04-02 Bill Wohler <wohler@newt.com> |
| 2270 | 2293 | ||
| @@ -2913,7 +2936,7 @@ | |||
| 2913 | * mark.texi: Minor clarifications. | 2936 | * mark.texi: Minor clarifications. |
| 2914 | (Selective Undo): Node deleted. | 2937 | (Selective Undo): Node deleted. |
| 2915 | 2938 | ||
| 2916 | * m-x.texi: Minor clarifications | 2939 | * m-x.texi: Minor clarifications. |
| 2917 | 2940 | ||
| 2918 | * killing.texi: Minor clarifications. | 2941 | * killing.texi: Minor clarifications. |
| 2919 | Refer to "graphical" terminals, rather than window systems. | 2942 | Refer to "graphical" terminals, rather than window systems. |
| @@ -3603,7 +3626,7 @@ | |||
| 3603 | 3626 | ||
| 3604 | 2005-11-04 Carsten Dominik <dominik@science.uva.nl> | 3627 | 2005-11-04 Carsten Dominik <dominik@science.uva.nl> |
| 3605 | 3628 | ||
| 3606 | * org.texi: Version number changed to 3.19 | 3629 | * org.texi: Version number changed to 3.19. |
| 3607 | 3630 | ||
| 3608 | 2005-11-04 Romain Francoise <romain@orebokech.com> | 3631 | 2005-11-04 Romain Francoise <romain@orebokech.com> |
| 3609 | 3632 | ||
| @@ -3802,7 +3825,7 @@ | |||
| 3802 | 3825 | ||
| 3803 | 2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 3826 | 2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 3804 | 3827 | ||
| 3805 | * cmdargs.texi (Icons X): -nb => -nbi | 3828 | * cmdargs.texi (Icons X): -nb => -nbi. |
| 3806 | 3829 | ||
| 3807 | 2005-10-10 Chong Yidong <cyd@stupidchicken.com> | 3830 | 2005-10-10 Chong Yidong <cyd@stupidchicken.com> |
| 3808 | 3831 | ||
| @@ -3893,7 +3916,7 @@ | |||
| 3893 | 3916 | ||
| 3894 | 2005-09-23 Carsten Dominik <dominik@science.uva.nl> | 3917 | 2005-09-23 Carsten Dominik <dominik@science.uva.nl> |
| 3895 | 3918 | ||
| 3896 | * org.texi Version 3.16 | 3919 | * org.texi Version 3.16. |
| 3897 | 3920 | ||
| 3898 | 2005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 3921 | 2005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 3899 | 3922 | ||
| @@ -4153,11 +4176,11 @@ | |||
| 4153 | 4176 | ||
| 4154 | 2005-07-19 Carsten Dominik <dominik@science.uva.nl> | 4177 | 2005-07-19 Carsten Dominik <dominik@science.uva.nl> |
| 4155 | 4178 | ||
| 4156 | * org.texi: Version 3.14 | 4179 | * org.texi: Version 3.14. |
| 4157 | 4180 | ||
| 4158 | 2005-07-04 Carsten Dominik <dominik@science.uva.nl> | 4181 | 2005-07-04 Carsten Dominik <dominik@science.uva.nl> |
| 4159 | 4182 | ||
| 4160 | * org.texi: Version 3.13 | 4183 | * org.texi: Version 3.13. |
| 4161 | 4184 | ||
| 4162 | 2005-07-19 Juri Linkov <juri@jurta.org> | 4185 | 2005-07-19 Juri Linkov <juri@jurta.org> |
| 4163 | 4186 | ||
| @@ -4261,7 +4284,7 @@ | |||
| 4261 | 4284 | ||
| 4262 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> | 4285 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> |
| 4263 | 4286 | ||
| 4264 | * org.texi: Version 3.12 | 4287 | * org.texi: Version 3.12. |
| 4265 | 4288 | ||
| 4266 | 2005-06-24 Richard M. Stallman <rms@gnu.org> | 4289 | 2005-06-24 Richard M. Stallman <rms@gnu.org> |
| 4267 | 4290 | ||
| @@ -4341,7 +4364,7 @@ | |||
| 4341 | 4364 | ||
| 4342 | 2005-06-13 Carsten Dominik <dominik@science.uva.nl> | 4365 | 2005-06-13 Carsten Dominik <dominik@science.uva.nl> |
| 4343 | 4366 | ||
| 4344 | * org.texi: Version 3.11 | 4367 | * org.texi: Version 3.11. |
| 4345 | 4368 | ||
| 4346 | 2005-06-12 Jay Belanger <belanger@truman.edu> | 4369 | 2005-06-12 Jay Belanger <belanger@truman.edu> |
| 4347 | 4370 | ||
| @@ -4487,11 +4510,11 @@ | |||
| 4487 | 4510 | ||
| 4488 | 2005-05-20 Carsten Dominik <dominik@science.uva.nl> | 4511 | 2005-05-20 Carsten Dominik <dominik@science.uva.nl> |
| 4489 | 4512 | ||
| 4490 | * org.texi: Version 3.09 | 4513 | * org.texi: Version 3.09. |
| 4491 | 4514 | ||
| 4492 | 2005-05-18 Carsten Dominik <dominik@science.uva.nl> | 4515 | 2005-05-18 Carsten Dominik <dominik@science.uva.nl> |
| 4493 | 4516 | ||
| 4494 | * reftex.texi: Version 4.28 | 4517 | * reftex.texi: Version 4.28. |
| 4495 | 4518 | ||
| 4496 | 2005-05-18 Luc Teirlinck <teirllm@auburn.edu> | 4519 | 2005-05-18 Luc Teirlinck <teirllm@auburn.edu> |
| 4497 | 4520 | ||
| @@ -4639,7 +4662,7 @@ | |||
| 4639 | 4662 | ||
| 4640 | 2005-04-25 Chong Yidong <cyd@stupidchicken.com> | 4663 | 2005-04-25 Chong Yidong <cyd@stupidchicken.com> |
| 4641 | 4664 | ||
| 4642 | * ack.texi (Acknowledgments): Delete info about iso-acc.el | 4665 | * ack.texi (Acknowledgments): Delete info about iso-acc.el. |
| 4643 | 4666 | ||
| 4644 | * dired.texi (Misc Dired Features): Document | 4667 | * dired.texi (Misc Dired Features): Document |
| 4645 | dired-compare-directories. | 4668 | dired-compare-directories. |
| @@ -6199,7 +6222,7 @@ | |||
| 6199 | 6222 | ||
| 6200 | 2004-09-10 Eli Zaretskii <eliz@gnu.org> | 6223 | 2004-09-10 Eli Zaretskii <eliz@gnu.org> |
| 6201 | 6224 | ||
| 6202 | * Makefile.in (../info/gnus, gnus.dvi): Depend on gnus-faq.texi | 6225 | * Makefile.in (../info/gnus, gnus.dvi): Depend on gnus-faq.texi. |
| 6203 | 6226 | ||
| 6204 | 2004-09-09 Kim F. Storm <storm@cua.dk> | 6227 | 2004-09-09 Kim F. Storm <storm@cua.dk> |
| 6205 | 6228 | ||
| @@ -7305,7 +7328,7 @@ | |||
| 7305 | 7328 | ||
| 7306 | 2003-02-17 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 7329 | 2003-02-17 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 7307 | 7330 | ||
| 7308 | * xresources.texi (GTK names in Emacs): Add emacs-toolbar - GtkToolbar | 7331 | * xresources.texi (GTK names in Emacs): Add emacs-toolbar - GtkToolbar. |
| 7309 | 7332 | ||
| 7310 | 2003-02-05 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de> | 7333 | 2003-02-05 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de> |
| 7311 | 7334 | ||
| @@ -7375,8 +7398,8 @@ | |||
| 7375 | Also use @ifnottex instead of @ifinfo around the top node, where | 7398 | Also use @ifnottex instead of @ifinfo around the top node, where |
| 7376 | needed for the sake of the HTML output. | 7399 | needed for the sake of the HTML output. |
| 7377 | (The Gnus manual is not fixed since it's not clear to me how it | 7400 | (The Gnus manual is not fixed since it's not clear to me how it |
| 7378 | works; and the Tramp manual already uses @copying, although in an | 7401 | works; and the Tramp manual already uses @copying, although in an |
| 7379 | unusual way. All others were changed.) | 7402 | unusual way. All others were changed.) |
| 7380 | 7403 | ||
| 7381 | 2002-09-10 Jonathan Yavner <jyavner@engineer.com> | 7404 | 2002-09-10 Jonathan Yavner <jyavner@engineer.com> |
| 7382 | 7405 | ||
| @@ -7501,7 +7524,7 @@ | |||
| 7501 | 1999-10-12 Stefan Monnier <monnier@cs.yale.edu> | 7524 | 1999-10-12 Stefan Monnier <monnier@cs.yale.edu> |
| 7502 | 7525 | ||
| 7503 | * Makefile.in (faq): Use ../info/emacs-faq.info (as specified in the | 7526 | * Makefile.in (faq): Use ../info/emacs-faq.info (as specified in the |
| 7504 | faq.texi file) rather than ../info/faq. | 7527 | faq.texi file) rather than ../info/faq. |
| 7505 | 7528 | ||
| 7506 | 1999-10-07 Gerd Moellmann <gerd@gnu.org> | 7529 | 1999-10-07 Gerd Moellmann <gerd@gnu.org> |
| 7507 | 7530 | ||
diff --git a/man/cc-mode.texi b/man/cc-mode.texi index 217c32ff911..3cb670b3b53 100644 --- a/man/cc-mode.texi +++ b/man/cc-mode.texi | |||
| @@ -236,113 +236,113 @@ functions, classes etc - there are other packages for that. | |||
| 236 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 236 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 237 | 237 | ||
| 238 | @menu | 238 | @menu |
| 239 | * Introduction:: | 239 | * Introduction:: |
| 240 | * Overview:: | 240 | * Overview:: |
| 241 | * Getting Started:: | 241 | * Getting Started:: |
| 242 | * Commands:: | 242 | * Commands:: |
| 243 | * Font Locking:: | 243 | * Font Locking:: |
| 244 | * Config Basics:: | 244 | * Config Basics:: |
| 245 | * Custom Filling and Breaking:: | 245 | * Custom Filling and Breaking:: |
| 246 | * Custom Auto-newlines:: | 246 | * Custom Auto-newlines:: |
| 247 | * Clean-ups:: | 247 | * Clean-ups:: |
| 248 | * Indentation Engine Basics:: | 248 | * Indentation Engine Basics:: |
| 249 | * Customizing Indentation:: | 249 | * Customizing Indentation:: |
| 250 | * Custom Macros:: | 250 | * Custom Macros:: |
| 251 | * Odds and Ends:: | 251 | * Odds and Ends:: |
| 252 | * Sample .emacs File:: | 252 | * Sample .emacs File:: |
| 253 | * Performance Issues:: | 253 | * Performance Issues:: |
| 254 | * Limitations and Known Bugs:: | 254 | * Limitations and Known Bugs:: |
| 255 | * FAQ:: | 255 | * FAQ:: |
| 256 | * Updating CC Mode:: | 256 | * Updating CC Mode:: |
| 257 | * Mailing Lists and Bug Reports:: | 257 | * Mailing Lists and Bug Reports:: |
| 258 | * GNU Free Documentation License:: | 258 | * GNU Free Documentation License:: |
| 259 | * Command and Function Index:: | 259 | * Command and Function Index:: |
| 260 | * Variable Index:: | 260 | * Variable Index:: |
| 261 | * Concept and Key Index:: | 261 | * Concept and Key Index:: |
| 262 | 262 | ||
| 263 | @detailmenu | 263 | @detailmenu |
| 264 | --- The Detailed Node Listing --- | 264 | --- The Detailed Node Listing --- |
| 265 | 265 | ||
| 266 | Commands | 266 | Commands |
| 267 | 267 | ||
| 268 | * Indentation Commands:: | 268 | * Indentation Commands:: |
| 269 | * Comment Commands:: | 269 | * Comment Commands:: |
| 270 | * Movement Commands:: | 270 | * Movement Commands:: |
| 271 | * Filling and Breaking:: | 271 | * Filling and Breaking:: |
| 272 | * Minor Modes:: | 272 | * Minor Modes:: |
| 273 | * Electric Keys:: | 273 | * Electric Keys:: |
| 274 | * Auto-newlines:: | 274 | * Auto-newlines:: |
| 275 | * Hungry WS Deletion:: | 275 | * Hungry WS Deletion:: |
| 276 | * Subword Movement:: | 276 | * Subword Movement:: |
| 277 | * Other Commands:: | 277 | * Other Commands:: |
| 278 | 278 | ||
| 279 | Font Locking | 279 | Font Locking |
| 280 | 280 | ||
| 281 | * Font Locking Preliminaries:: | 281 | * Font Locking Preliminaries:: |
| 282 | * Faces:: | 282 | * Faces:: |
| 283 | * Doc Comments:: | 283 | * Doc Comments:: |
| 284 | * AWK Mode Font Locking:: | 284 | * AWK Mode Font Locking:: |
| 285 | 285 | ||
| 286 | Configuration Basics | 286 | Configuration Basics |
| 287 | 287 | ||
| 288 | * CC Hooks:: | 288 | * CC Hooks:: |
| 289 | * Style Variables:: | 289 | * Style Variables:: |
| 290 | * Styles:: | 290 | * Styles:: |
| 291 | 291 | ||
| 292 | Styles | 292 | Styles |
| 293 | 293 | ||
| 294 | * Built-in Styles:: | 294 | * Built-in Styles:: |
| 295 | * Choosing a Style:: | 295 | * Choosing a Style:: |
| 296 | * Adding Styles:: | 296 | * Adding Styles:: |
| 297 | * File Styles:: | 297 | * File Styles:: |
| 298 | 298 | ||
| 299 | Customizing Auto-newlines | 299 | Customizing Auto-newlines |
| 300 | 300 | ||
| 301 | * Hanging Braces:: | 301 | * Hanging Braces:: |
| 302 | * Hanging Colons:: | 302 | * Hanging Colons:: |
| 303 | * Hanging Semicolons and Commas:: | 303 | * Hanging Semicolons and Commas:: |
| 304 | 304 | ||
| 305 | Hanging Braces | 305 | Hanging Braces |
| 306 | 306 | ||
| 307 | * Custom Braces:: | 307 | * Custom Braces:: |
| 308 | 308 | ||
| 309 | Indentation Engine Basics | 309 | Indentation Engine Basics |
| 310 | 310 | ||
| 311 | * Syntactic Analysis:: | 311 | * Syntactic Analysis:: |
| 312 | * Syntactic Symbols:: | 312 | * Syntactic Symbols:: |
| 313 | * Indentation Calculation:: | 313 | * Indentation Calculation:: |
| 314 | 314 | ||
| 315 | Syntactic Symbols | 315 | Syntactic Symbols |
| 316 | 316 | ||
| 317 | * Function Symbols:: | 317 | * Function Symbols:: |
| 318 | * Class Symbols:: | 318 | * Class Symbols:: |
| 319 | * Conditional Construct Symbols:: | 319 | * Conditional Construct Symbols:: |
| 320 | * Switch Statement Symbols:: | 320 | * Switch Statement Symbols:: |
| 321 | * Brace List Symbols:: | 321 | * Brace List Symbols:: |
| 322 | * External Scope Symbols:: | 322 | * External Scope Symbols:: |
| 323 | * Paren List Symbols:: | 323 | * Paren List Symbols:: |
| 324 | * Literal Symbols:: | 324 | * Literal Symbols:: |
| 325 | * Multiline Macro Symbols:: | 325 | * Multiline Macro Symbols:: |
| 326 | * Objective-C Method Symbols:: | 326 | * Objective-C Method Symbols:: |
| 327 | * Anonymous Class Symbol:: | 327 | * Anonymous Class Symbol:: |
| 328 | * Statement Block Symbols:: | 328 | * Statement Block Symbols:: |
| 329 | * K&R Symbols:: | 329 | * K&R Symbols:: |
| 330 | 330 | ||
| 331 | Customizing Indentation | 331 | Customizing Indentation |
| 332 | 332 | ||
| 333 | * c-offsets-alist:: | 333 | * c-offsets-alist:: |
| 334 | * Interactive Customization:: | 334 | * Interactive Customization:: |
| 335 | * Line-Up Functions:: | 335 | * Line-Up Functions:: |
| 336 | * Custom Line-Up:: | 336 | * Custom Line-Up:: |
| 337 | * Other Indentation:: | 337 | * Other Indentation:: |
| 338 | 338 | ||
| 339 | Line-Up Functions | 339 | Line-Up Functions |
| 340 | 340 | ||
| 341 | * Brace/Paren Line-Up:: | 341 | * Brace/Paren Line-Up:: |
| 342 | * List Line-Up:: | 342 | * List Line-Up:: |
| 343 | * Operator Line-Up:: | 343 | * Operator Line-Up:: |
| 344 | * Comment Line-Up:: | 344 | * Comment Line-Up:: |
| 345 | * Misc Line-Up:: | 345 | * Misc Line-Up:: |
| 346 | 346 | ||
| 347 | @end detailmenu | 347 | @end detailmenu |
| 348 | @end menu | 348 | @end menu |
| @@ -534,7 +534,7 @@ is no ``easy customization'' facility for making this change.}: | |||
| 534 | @end example | 534 | @end example |
| 535 | 535 | ||
| 536 | @noindent | 536 | @noindent |
| 537 | Details of of this and other similar ``Minor Modes'' appear in the | 537 | Details of this and other similar ``Minor Modes'' appear in the |
| 538 | section @ref{Minor Modes}. | 538 | section @ref{Minor Modes}. |
| 539 | 539 | ||
| 540 | @item Making the @key{RET} key indent the new line | 540 | @item Making the @key{RET} key indent the new line |
| @@ -613,16 +613,16 @@ structures. | |||
| 613 | 613 | ||
| 614 | 614 | ||
| 615 | @menu | 615 | @menu |
| 616 | * Indentation Commands:: | 616 | * Indentation Commands:: |
| 617 | * Comment Commands:: | 617 | * Comment Commands:: |
| 618 | * Movement Commands:: | 618 | * Movement Commands:: |
| 619 | * Filling and Breaking:: | 619 | * Filling and Breaking:: |
| 620 | * Minor Modes:: | 620 | * Minor Modes:: |
| 621 | * Electric Keys:: | 621 | * Electric Keys:: |
| 622 | * Auto-newlines:: | 622 | * Auto-newlines:: |
| 623 | * Hungry WS Deletion:: | 623 | * Hungry WS Deletion:: |
| 624 | * Subword Movement:: | 624 | * Subword Movement:: |
| 625 | * Other Commands:: | 625 | * Other Commands:: |
| 626 | @end menu | 626 | @end menu |
| 627 | 627 | ||
| 628 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 628 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| @@ -852,7 +852,7 @@ actions describing how they should be handled. If a certain line type | |||
| 852 | isn't present on the list then the line is indented to the column | 852 | isn't present on the list then the line is indented to the column |
| 853 | specified by @code{comment-column}. | 853 | specified by @code{comment-column}. |
| 854 | 854 | ||
| 855 | See the documentation string for for a full description of this | 855 | See the documentation string for a full description of this |
| 856 | variable (use @kbd{C-h v c-indent-comment-alist}). | 856 | variable (use @kbd{C-h v c-indent-comment-alist}). |
| 857 | @end defopt | 857 | @end defopt |
| 858 | 858 | ||
| @@ -1810,10 +1810,10 @@ chapter, @ref{AWK Mode Font Locking}, applies to AWK. The other | |||
| 1810 | sections apply to the other languages. | 1810 | sections apply to the other languages. |
| 1811 | 1811 | ||
| 1812 | @menu | 1812 | @menu |
| 1813 | * Font Locking Preliminaries:: | 1813 | * Font Locking Preliminaries:: |
| 1814 | * Faces:: | 1814 | * Faces:: |
| 1815 | * Doc Comments:: | 1815 | * Doc Comments:: |
| 1816 | * AWK Mode Font Locking:: | 1816 | * AWK Mode Font Locking:: |
| 1817 | @end menu | 1817 | @end menu |
| 1818 | 1818 | ||
| 1819 | 1819 | ||
| @@ -2318,9 +2318,9 @@ have it enabled by default by placing the following in your | |||
| 2318 | @end table | 2318 | @end table |
| 2319 | 2319 | ||
| 2320 | @menu | 2320 | @menu |
| 2321 | * CC Hooks:: | 2321 | * CC Hooks:: |
| 2322 | * Style Variables:: | 2322 | * Style Variables:: |
| 2323 | * Styles:: | 2323 | * Styles:: |
| 2324 | @end menu | 2324 | @end menu |
| 2325 | 2325 | ||
| 2326 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 2326 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| @@ -2409,7 +2409,7 @@ The variables that @ccmode{}'s style system control are called | |||
| 2409 | @dfn{style variables}. Note that style variables are ordinary Lisp | 2409 | @dfn{style variables}. Note that style variables are ordinary Lisp |
| 2410 | variables, which the style system initializes; you can change their | 2410 | variables, which the style system initializes; you can change their |
| 2411 | values at any time (e.g. in a hook function). The style system can | 2411 | values at any time (e.g. in a hook function). The style system can |
| 2412 | also also set other variables, to some extent. @xref{Styles}. | 2412 | also set other variables, to some extent. @xref{Styles}. |
| 2413 | 2413 | ||
| 2414 | @dfn{Style variables} are handled specially in several ways: | 2414 | @dfn{Style variables} are handled specially in several ways: |
| 2415 | 2415 | ||
| @@ -2509,10 +2509,10 @@ for any particular style, and pretty easily start editing new or | |||
| 2509 | existing code using these styles. | 2509 | existing code using these styles. |
| 2510 | 2510 | ||
| 2511 | @menu | 2511 | @menu |
| 2512 | * Built-in Styles:: | 2512 | * Built-in Styles:: |
| 2513 | * Choosing a Style:: | 2513 | * Choosing a Style:: |
| 2514 | * Adding Styles:: | 2514 | * Adding Styles:: |
| 2515 | * File Styles:: | 2515 | * File Styles:: |
| 2516 | @end menu | 2516 | @end menu |
| 2517 | 2517 | ||
| 2518 | 2518 | ||
| @@ -3059,9 +3059,9 @@ to remove these automatically added newlines in certain specific | |||
| 3059 | circumstances. @xref{Clean-ups}. | 3059 | circumstances. @xref{Clean-ups}. |
| 3060 | 3060 | ||
| 3061 | @menu | 3061 | @menu |
| 3062 | * Hanging Braces:: | 3062 | * Hanging Braces:: |
| 3063 | * Hanging Colons:: | 3063 | * Hanging Colons:: |
| 3064 | * Hanging Semicolons and Commas:: | 3064 | * Hanging Semicolons and Commas:: |
| 3065 | @end menu | 3065 | @end menu |
| 3066 | 3066 | ||
| 3067 | 3067 | ||
| @@ -3212,7 +3212,7 @@ themselves. | |||
| 3212 | @end defopt | 3212 | @end defopt |
| 3213 | 3213 | ||
| 3214 | @menu | 3214 | @menu |
| 3215 | * Custom Braces:: | 3215 | * Custom Braces:: |
| 3216 | @end menu | 3216 | @end menu |
| 3217 | 3217 | ||
| 3218 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 3218 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| @@ -3732,9 +3732,9 @@ of the variables associated with indentation, not even | |||
| 3732 | @end defopt | 3732 | @end defopt |
| 3733 | 3733 | ||
| 3734 | @menu | 3734 | @menu |
| 3735 | * Syntactic Analysis:: | 3735 | * Syntactic Analysis:: |
| 3736 | * Syntactic Symbols:: | 3736 | * Syntactic Symbols:: |
| 3737 | * Indentation Calculation:: | 3737 | * Indentation Calculation:: |
| 3738 | @end menu | 3738 | @end menu |
| 3739 | 3739 | ||
| 3740 | 3740 | ||
| @@ -4113,19 +4113,19 @@ Java. @ref{Anonymous Class Symbol}. | |||
| 4113 | @end table | 4113 | @end table |
| 4114 | 4114 | ||
| 4115 | @menu | 4115 | @menu |
| 4116 | * Function Symbols:: | 4116 | * Function Symbols:: |
| 4117 | * Class Symbols:: | 4117 | * Class Symbols:: |
| 4118 | * Conditional Construct Symbols:: | 4118 | * Conditional Construct Symbols:: |
| 4119 | * Switch Statement Symbols:: | 4119 | * Switch Statement Symbols:: |
| 4120 | * Brace List Symbols:: | 4120 | * Brace List Symbols:: |
| 4121 | * External Scope Symbols:: | 4121 | * External Scope Symbols:: |
| 4122 | * Paren List Symbols:: | 4122 | * Paren List Symbols:: |
| 4123 | * Literal Symbols:: | 4123 | * Literal Symbols:: |
| 4124 | * Multiline Macro Symbols:: | 4124 | * Multiline Macro Symbols:: |
| 4125 | * Objective-C Method Symbols:: | 4125 | * Objective-C Method Symbols:: |
| 4126 | * Anonymous Class Symbol:: | 4126 | * Anonymous Class Symbol:: |
| 4127 | * Statement Block Symbols:: | 4127 | * Statement Block Symbols:: |
| 4128 | * K&R Symbols:: | 4128 | * K&R Symbols:: |
| 4129 | @end menu | 4129 | @end menu |
| 4130 | 4130 | ||
| 4131 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 4131 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| @@ -5019,11 +5019,11 @@ can install functions here to make ad-hoc adjustments to any line's | |||
| 5019 | indentation. | 5019 | indentation. |
| 5020 | 5020 | ||
| 5021 | @menu | 5021 | @menu |
| 5022 | * c-offsets-alist:: | 5022 | * c-offsets-alist:: |
| 5023 | * Interactive Customization:: | 5023 | * Interactive Customization:: |
| 5024 | * Line-Up Functions:: | 5024 | * Line-Up Functions:: |
| 5025 | * Custom Line-Up:: | 5025 | * Custom Line-Up:: |
| 5026 | * Other Indentation:: | 5026 | * Other Indentation:: |
| 5027 | @end menu | 5027 | @end menu |
| 5028 | 5028 | ||
| 5029 | 5029 | ||
| @@ -5371,11 +5371,11 @@ Works with: | |||
| 5371 | @end iftex | 5371 | @end iftex |
| 5372 | 5372 | ||
| 5373 | @menu | 5373 | @menu |
| 5374 | * Brace/Paren Line-Up:: | 5374 | * Brace/Paren Line-Up:: |
| 5375 | * List Line-Up:: | 5375 | * List Line-Up:: |
| 5376 | * Operator Line-Up:: | 5376 | * Operator Line-Up:: |
| 5377 | * Comment Line-Up:: | 5377 | * Comment Line-Up:: |
| 5378 | * Misc Line-Up:: | 5378 | * Misc Line-Up:: |
| 5379 | @end menu | 5379 | @end menu |
| 5380 | 5380 | ||
| 5381 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 5381 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
diff --git a/man/display.texi b/man/display.texi index 6cb2d857165..21a65999ec3 100644 --- a/man/display.texi +++ b/man/display.texi | |||
| @@ -922,8 +922,18 @@ accessible part of the buffer is shown. | |||
| 922 | Number mode is enabled. Use the command @kbd{M-x line-number-mode} to | 922 | Number mode is enabled. Use the command @kbd{M-x line-number-mode} to |
| 923 | turn this mode on and off; normally it is on. The line number appears | 923 | turn this mode on and off; normally it is on. The line number appears |
| 924 | after the buffer percentage @var{pos}, with the letter @samp{L} to | 924 | after the buffer percentage @var{pos}, with the letter @samp{L} to |
| 925 | indicate what it is. @xref{Minor Modes}, for more information about | 925 | indicate what it is. |
| 926 | minor modes and about how to use this command. | 926 | |
| 927 | @cindex Column Number mode | ||
| 928 | @cindex mode, Column Number | ||
| 929 | @findex column-number-mode | ||
| 930 | Similarly, you can display the current column number by turning on | ||
| 931 | Column number mode with @kbd{M-x column-number-mode}. The column | ||
| 932 | number is indicated by the letter @samp{C}. However, when both of | ||
| 933 | these modes are enabled, the line and column numbers are displayed in | ||
| 934 | parentheses, the line number first, rather than with @samp{L} and | ||
| 935 | @samp{C}. For example: @samp{(561,2)}. @xref{Minor Modes}, for more | ||
| 936 | information about minor modes and about how to use these commands. | ||
| 927 | 937 | ||
| 928 | @cindex narrowing, and line number display | 938 | @cindex narrowing, and line number display |
| 929 | If you have narrowed the buffer (@pxref{Narrowing}), the displayed | 939 | If you have narrowed the buffer (@pxref{Narrowing}), the displayed |
| @@ -946,13 +956,6 @@ larger than the value of the variable | |||
| 946 | @code{line-number-display-limit-width}. The default value is 200 | 956 | @code{line-number-display-limit-width}. The default value is 200 |
| 947 | characters. | 957 | characters. |
| 948 | 958 | ||
| 949 | @cindex Column Number mode | ||
| 950 | @cindex mode, Column Number | ||
| 951 | @findex column-number-mode | ||
| 952 | You can also display the current column number by turning on Column | ||
| 953 | Number mode. It displays the current column number preceded by the | ||
| 954 | letter @samp{C}. Type @kbd{M-x column-number-mode} to toggle this mode. | ||
| 955 | |||
| 956 | @findex display-time | 959 | @findex display-time |
| 957 | @cindex time (on mode line) | 960 | @cindex time (on mode line) |
| 958 | Emacs can optionally display the time and system load in all mode | 961 | Emacs can optionally display the time and system load in all mode |
diff --git a/man/gnus.texi b/man/gnus.texi index dc02efa766f..85167d53432 100644 --- a/man/gnus.texi +++ b/man/gnus.texi | |||
| @@ -4084,8 +4084,8 @@ happens. You just have to be careful if you do stuff like that. | |||
| 4084 | @item v | 4084 | @item v |
| 4085 | @kindex v (Group) | 4085 | @kindex v (Group) |
| 4086 | @cindex keys, reserved for users (Group) | 4086 | @cindex keys, reserved for users (Group) |
| 4087 | The key @kbd{v} is reserved for users. You can bind it key to some | 4087 | The key @kbd{v} is reserved for users. You can bind it to some |
| 4088 | function or better use it as a prefix key. For example: | 4088 | command or better use it as a prefix key. For example: |
| 4089 | 4089 | ||
| 4090 | @lisp | 4090 | @lisp |
| 4091 | (define-key gnus-group-mode-map (kbd "v j d") | 4091 | (define-key gnus-group-mode-map (kbd "v j d") |
| @@ -4498,8 +4498,8 @@ available in Emacs. | |||
| 4498 | 4498 | ||
| 4499 | @kindex v (Summary) | 4499 | @kindex v (Summary) |
| 4500 | @cindex keys, reserved for users (Summary) | 4500 | @cindex keys, reserved for users (Summary) |
| 4501 | The key @kbd{v} is reserved for users. You can bind it key to some | 4501 | The key @kbd{v} is reserved for users. You can bind it to some |
| 4502 | function or better use it as a prefix key. For example: | 4502 | command or better use it as a prefix key. For example: |
| 4503 | @lisp | 4503 | @lisp |
| 4504 | (define-key gnus-summary-mode-map (kbd "v -") "LrS") ;; lower subthread | 4504 | (define-key gnus-summary-mode-map (kbd "v -") "LrS") ;; lower subthread |
| 4505 | @end lisp | 4505 | @end lisp |
| @@ -8936,7 +8936,7 @@ This variable determines what to do when the button on a string as | |||
| 8936 | message ID or a mail address. If it is one of the symbols @code{mid} or | 8936 | message ID or a mail address. If it is one of the symbols @code{mid} or |
| 8937 | @code{mail}, Gnus will always assume that the string is a message ID or | 8937 | @code{mail}, Gnus will always assume that the string is a message ID or |
| 8938 | a mail address, respectively. If this variable is set to the symbol | 8938 | a mail address, respectively. If this variable is set to the symbol |
| 8939 | @code{ask}, always query the user what do do. If it is a function, this | 8939 | @code{ask}, always query the user what to do. If it is a function, this |
| 8940 | function will be called with the string as its only argument. The | 8940 | function will be called with the string as its only argument. The |
| 8941 | function must return @code{mid}, @code{mail}, @code{invalid} or | 8941 | function must return @code{mid}, @code{mail}, @code{invalid} or |
| 8942 | @code{ask}. The default value is the function | 8942 | @code{ask}. The default value is the function |
| @@ -11422,8 +11422,8 @@ buffer. | |||
| 11422 | 11422 | ||
| 11423 | @kindex v (Article) | 11423 | @kindex v (Article) |
| 11424 | @cindex keys, reserved for users (Article) | 11424 | @cindex keys, reserved for users (Article) |
| 11425 | The key @kbd{v} is reserved for users. You can bind it key to some | 11425 | The key @kbd{v} is reserved for users. You can bind it to some |
| 11426 | function or better use it as a prefix key. | 11426 | command or better use it as a prefix key. |
| 11427 | 11427 | ||
| 11428 | A few additional keystrokes are available: | 11428 | A few additional keystrokes are available: |
| 11429 | 11429 | ||
| @@ -12460,8 +12460,8 @@ Also @pxref{Formatting Variables}. | |||
| 12460 | @item v | 12460 | @item v |
| 12461 | @kindex v (Server) | 12461 | @kindex v (Server) |
| 12462 | @cindex keys, reserved for users (Server) | 12462 | @cindex keys, reserved for users (Server) |
| 12463 | The key @kbd{v} is reserved for users. You can bind it key to some | 12463 | The key @kbd{v} is reserved for users. You can bind it to some |
| 12464 | function or better use it as a prefix key. | 12464 | command or better use it as a prefix key. |
| 12465 | 12465 | ||
| 12466 | @item a | 12466 | @item a |
| 12467 | @kindex a (Server) | 12467 | @kindex a (Server) |
| @@ -14034,7 +14034,7 @@ files. If a positive number, delete files older than number of days | |||
| 14034 | 14034 | ||
| 14035 | @item mail-source-delete-old-incoming-confirm | 14035 | @item mail-source-delete-old-incoming-confirm |
| 14036 | @vindex mail-source-delete-old-incoming-confirm | 14036 | @vindex mail-source-delete-old-incoming-confirm |
| 14037 | If non-@code{nil}, ask for for confirmation before deleting old incoming | 14037 | If non-@code{nil}, ask for confirmation before deleting old incoming |
| 14038 | files. This variable only applies when | 14038 | files. This variable only applies when |
| 14039 | @code{mail-source-delete-incoming} is a positive number. | 14039 | @code{mail-source-delete-incoming} is a positive number. |
| 14040 | 14040 | ||
| @@ -16589,7 +16589,7 @@ Probably the only useful value to change this to is | |||
| 16589 | messages instead of the internal article date. See section 6.4.4 of | 16589 | messages instead of the internal article date. See section 6.4.4 of |
| 16590 | RFC 2060 for more information on valid strings. | 16590 | RFC 2060 for more information on valid strings. |
| 16591 | 16591 | ||
| 16592 | However, if @code{nnimap-search-uids-not-since-is-evil} | 16592 | However, if @code{nnimap-search-uids-not-since-is-evil} |
| 16593 | is true, this variable has no effect since the search logic | 16593 | is true, this variable has no effect since the search logic |
| 16594 | is reversed, as described below. | 16594 | is reversed, as described below. |
| 16595 | 16595 | ||
| @@ -18107,7 +18107,7 @@ two variables are probably the only ones you will want to change: | |||
| 18107 | 18107 | ||
| 18108 | @defvar nndiary-reminders | 18108 | @defvar nndiary-reminders |
| 18109 | This is the list of times when you want to be reminded of your | 18109 | This is the list of times when you want to be reminded of your |
| 18110 | appointements (e.g. 3 weeks before, then 2 days before, then 1 hour | 18110 | appointments (e.g. 3 weeks before, then 2 days before, then 1 hour |
| 18111 | before and that's it). Remember that ``being reminded'' means that the | 18111 | before and that's it). Remember that ``being reminded'' means that the |
| 18112 | diary message will pop up as brand new and unread again when you get new | 18112 | diary message will pop up as brand new and unread again when you get new |
| 18113 | mail. | 18113 | mail. |
| @@ -18258,14 +18258,14 @@ automatically (although not filled with proper values yet). | |||
| 18258 | @node Sending or Not Sending | 18258 | @node Sending or Not Sending |
| 18259 | @subsection Sending or Not Sending | 18259 | @subsection Sending or Not Sending |
| 18260 | 18260 | ||
| 18261 | Well, assuming you've read of of the above, here are two final notes on | 18261 | Well, assuming you've read all of the above, here are two final notes on |
| 18262 | mail sending with @code{nndiary}: | 18262 | mail sending with @code{nndiary}: |
| 18263 | 18263 | ||
| 18264 | @itemize @bullet | 18264 | @itemize @bullet |
| 18265 | @item | 18265 | @item |
| 18266 | @code{nndiary} is a @emph{real} mail back end. You really send real diary | 18266 | @code{nndiary} is a @emph{real} mail back end. You really send real diary |
| 18267 | messsages for real. This means for instance that you can give | 18267 | messsages for real. This means for instance that you can give |
| 18268 | appointements to anybody (provided they use Gnus and @code{nndiary}) by | 18268 | appointments to anybody (provided they use Gnus and @code{nndiary}) by |
| 18269 | sending the diary message to them as well. | 18269 | sending the diary message to them as well. |
| 18270 | @item | 18270 | @item |
| 18271 | However, since @code{nndiary} also has a @code{request-post} method, you | 18271 | However, since @code{nndiary} also has a @code{request-post} method, you |
diff --git a/man/maintaining.texi b/man/maintaining.texi index c9e77ede2a1..988d5890b8c 100644 --- a/man/maintaining.texi +++ b/man/maintaining.texi | |||
| @@ -409,8 +409,8 @@ source files, and the tags file will still refer correctly to the source | |||
| 409 | files. If the tags file is in @file{/dev}, however, the file names are | 409 | files. If the tags file is in @file{/dev}, however, the file names are |
| 410 | made relative to the current working directory. This is useful, for | 410 | made relative to the current working directory. This is useful, for |
| 411 | example, when writing the tags to @file{/dev/stdout}. | 411 | example, when writing the tags to @file{/dev/stdout}. |
| 412 | 412 | ||
| 413 | When using a a relative file name, it should not be a symbolic link | 413 | When using a relative file name, it should not be a symbolic link |
| 414 | pointing to a tags file in a different directory, because this would | 414 | pointing to a tags file in a different directory, because this would |
| 415 | generally render the file names invalid. | 415 | generally render the file names invalid. |
| 416 | 416 | ||
diff --git a/man/message.texi b/man/message.texi index c843d8c58d9..eef4d77205a 100644 --- a/man/message.texi +++ b/man/message.texi | |||
| @@ -1450,7 +1450,7 @@ responding to a message: | |||
| 1450 | @vindex message-subject-trailing-was-regexp | 1450 | @vindex message-subject-trailing-was-regexp |
| 1451 | Controls what to do with trailing @samp{(was: <old subject>)} in subject | 1451 | Controls what to do with trailing @samp{(was: <old subject>)} in subject |
| 1452 | lines. If @code{nil}, leave the subject unchanged. If it is the symbol | 1452 | lines. If @code{nil}, leave the subject unchanged. If it is the symbol |
| 1453 | @code{ask}, query the user what do do. In this case, the subject is | 1453 | @code{ask}, query the user what to do. In this case, the subject is |
| 1454 | matched against @code{message-subject-trailing-was-ask-regexp}. If | 1454 | matched against @code{message-subject-trailing-was-ask-regexp}. If |
| 1455 | @code{message-subject-trailing-was-query} is @code{t}, always strip the | 1455 | @code{message-subject-trailing-was-query} is @code{t}, always strip the |
| 1456 | trailing old subject. In this case, | 1456 | trailing old subject. In this case, |
diff --git a/man/mh-e.texi b/man/mh-e.texi index 707e5e44b98..76697cbdcf5 100644 --- a/man/mh-e.texi +++ b/man/mh-e.texi | |||
| @@ -132,64 +132,64 @@ Fifth Floor, Boston, MA 02110-1301, USA. | |||
| 132 | 132 | ||
| 133 | Tour Through MH-E | 133 | Tour Through MH-E |
| 134 | 134 | ||
| 135 | * Sending Mail Tour:: | 135 | * Sending Mail Tour:: |
| 136 | * Reading Mail Tour:: | 136 | * Reading Mail Tour:: |
| 137 | * Processing Mail Tour:: | 137 | * Processing Mail Tour:: |
| 138 | * Leaving MH-E:: | 138 | * Leaving MH-E:: |
| 139 | * More About MH-E:: | 139 | * More About MH-E:: |
| 140 | 140 | ||
| 141 | Using This Manual | 141 | Using This Manual |
| 142 | 142 | ||
| 143 | * Options:: | 143 | * Options:: |
| 144 | * Ranges:: | 144 | * Ranges:: |
| 145 | * Folder Selection:: | 145 | * Folder Selection:: |
| 146 | 146 | ||
| 147 | Reading Your Mail | 147 | Reading Your Mail |
| 148 | 148 | ||
| 149 | * Viewing:: | 149 | * Viewing:: |
| 150 | * Viewing Attachments:: | 150 | * Viewing Attachments:: |
| 151 | * HTML:: | 151 | * HTML:: |
| 152 | * Digests:: | 152 | * Digests:: |
| 153 | * Reading PGP:: | 153 | * Reading PGP:: |
| 154 | * Printing:: | 154 | * Printing:: |
| 155 | * Files and Pipes:: | 155 | * Files and Pipes:: |
| 156 | * Navigating:: | 156 | * Navigating:: |
| 157 | * Miscellaneous Commands and Options:: | 157 | * Miscellaneous Commands and Options:: |
| 158 | 158 | ||
| 159 | Sending Mail | 159 | Sending Mail |
| 160 | 160 | ||
| 161 | * Composing:: | 161 | * Composing:: |
| 162 | * Replying:: | 162 | * Replying:: |
| 163 | * Forwarding:: | 163 | * Forwarding:: |
| 164 | * Redistributing:: | 164 | * Redistributing:: |
| 165 | * Editing Again:: | 165 | * Editing Again:: |
| 166 | 166 | ||
| 167 | Editing a Draft | 167 | Editing a Draft |
| 168 | 168 | ||
| 169 | * Editing Message:: | 169 | * Editing Message:: |
| 170 | * Inserting Letter:: | 170 | * Inserting Letter:: |
| 171 | * Inserting Messages:: | 171 | * Inserting Messages:: |
| 172 | * Signature:: | 172 | * Signature:: |
| 173 | * Picture:: | 173 | * Picture:: |
| 174 | * Adding Attachments:: | 174 | * Adding Attachments:: |
| 175 | * Sending PGP:: | 175 | * Sending PGP:: |
| 176 | * Checking Recipients:: | 176 | * Checking Recipients:: |
| 177 | * Sending Message:: | 177 | * Sending Message:: |
| 178 | * Killing Draft:: | 178 | * Killing Draft:: |
| 179 | 179 | ||
| 180 | Odds and Ends | 180 | Odds and Ends |
| 181 | 181 | ||
| 182 | * Bug Reports:: | 182 | * Bug Reports:: |
| 183 | * Mailing Lists:: | 183 | * Mailing Lists:: |
| 184 | * MH FAQ and Support:: | 184 | * MH FAQ and Support:: |
| 185 | * Getting MH-E:: | 185 | * Getting MH-E:: |
| 186 | 186 | ||
| 187 | History of MH-E | 187 | History of MH-E |
| 188 | 188 | ||
| 189 | * From Brian Reid:: | 189 | * From Brian Reid:: |
| 190 | * From Jim Larus:: | 190 | * From Jim Larus:: |
| 191 | * From Stephen Gildea:: | 191 | * From Stephen Gildea:: |
| 192 | * From Bill Wohler:: | 192 | * From Bill Wohler:: |
| 193 | 193 | ||
| 194 | @end detailmenu | 194 | @end detailmenu |
| 195 | @end menu | 195 | @end menu |
| @@ -360,7 +360,7 @@ mode (@pxref{Reading Mail Tour}). In this mode, simply enter the | |||
| 360 | numerical argument before entering the command. | 360 | numerical argument before entering the command. |
| 361 | @end quotation | 361 | @end quotation |
| 362 | @sp 1 | 362 | @sp 1 |
| 363 | 363 | ||
| 364 | @cindex @file{.emacs} | 364 | @cindex @file{.emacs} |
| 365 | @cindex Emacs, variables | 365 | @cindex Emacs, variables |
| 366 | @cindex files, @file{.emacs} | 366 | @cindex files, @file{.emacs} |
| @@ -415,7 +415,7 @@ Face Customization} in @cite{The GNU Emacs Manual}. | |||
| 415 | @findex customize-option | 415 | @findex customize-option |
| 416 | 416 | ||
| 417 | Commands often offer @dfn{hooks} which enable you to extend or modify | 417 | Commands often offer @dfn{hooks} which enable you to extend or modify |
| 418 | the way a command works. | 418 | the way a command works. |
| 419 | @ifnothtml | 419 | @ifnothtml |
| 420 | @ref{Hooks, , Hooks, emacs, The GNU Emacs Manual}, in @cite{The GNU | 420 | @ref{Hooks, , Hooks, emacs, The GNU Emacs Manual}, in @cite{The GNU |
| 421 | Emacs Manual} | 421 | Emacs Manual} |
| @@ -673,11 +673,11 @@ use all the features of MH-E. I suggest you read this chapter first to | |||
| 673 | get the big picture, and then you can read the manual as you wish. | 673 | get the big picture, and then you can read the manual as you wish. |
| 674 | 674 | ||
| 675 | @menu | 675 | @menu |
| 676 | * Sending Mail Tour:: | 676 | * Sending Mail Tour:: |
| 677 | * Reading Mail Tour:: | 677 | * Reading Mail Tour:: |
| 678 | * Processing Mail Tour:: | 678 | * Processing Mail Tour:: |
| 679 | * Leaving MH-E:: | 679 | * Leaving MH-E:: |
| 680 | * More About MH-E:: | 680 | * More About MH-E:: |
| 681 | @end menu | 681 | @end menu |
| 682 | 682 | ||
| 683 | @node Sending Mail Tour, Reading Mail Tour, Tour Through MH-E, Tour Through MH-E | 683 | @node Sending Mail Tour, Reading Mail Tour, Tour Through MH-E, Tour Through MH-E |
| @@ -843,10 +843,10 @@ sending the original message, like this: | |||
| 843 | 843 | ||
| 844 | @cartouche | 844 | @cartouche |
| 845 | @smallexample | 845 | @smallexample |
| 846 | To: | 846 | To: |
| 847 | cc: | 847 | cc: |
| 848 | Subject: Re: Test | 848 | Subject: Re: Test |
| 849 | In-reply-to: <31054.1142621351@@stop.mail-abuse.org> | 849 | In-reply-to: <31054.1142621351@@stop.mail-abuse.org> |
| 850 | References: <31054.1142621351@@stop.mail-abuse.org> | 850 | References: <31054.1142621351@@stop.mail-abuse.org> |
| 851 | Comments: In-reply-to Bill Wohler <wohler@@stop.mail-abuse.org> | 851 | Comments: In-reply-to Bill Wohler <wohler@@stop.mail-abuse.org> |
| 852 | message dated "Fri, 17 Mar 2006 10:49:11 -0800." | 852 | message dated "Fri, 17 Mar 2006 10:49:11 -0800." |
| @@ -1161,9 +1161,9 @@ conflicts with existing MH-E symbols, use a prefix like @samp{my-} or | |||
| 1161 | your initials. (Unless, of course, your initials happen to be @emph{mh}!) | 1161 | your initials. (Unless, of course, your initials happen to be @emph{mh}!) |
| 1162 | 1162 | ||
| 1163 | @menu | 1163 | @menu |
| 1164 | * Options:: | 1164 | * Options:: |
| 1165 | * Ranges:: | 1165 | * Ranges:: |
| 1166 | * Folder Selection:: | 1166 | * Folder Selection:: |
| 1167 | @end menu | 1167 | @end menu |
| 1168 | 1168 | ||
| 1169 | @node Options, Ranges, Using This Manual, Using This Manual | 1169 | @node Options, Ranges, Using This Manual, Using This Manual |
| @@ -2001,15 +2001,15 @@ The functions and variables introduced here are explained in more | |||
| 2001 | detail in the following sections. | 2001 | detail in the following sections. |
| 2002 | 2002 | ||
| 2003 | @menu | 2003 | @menu |
| 2004 | * Viewing:: | 2004 | * Viewing:: |
| 2005 | * Viewing Attachments:: | 2005 | * Viewing Attachments:: |
| 2006 | * HTML:: | 2006 | * HTML:: |
| 2007 | * Digests:: | 2007 | * Digests:: |
| 2008 | * Reading PGP:: | 2008 | * Reading PGP:: |
| 2009 | * Printing:: | 2009 | * Printing:: |
| 2010 | * Files and Pipes:: | 2010 | * Files and Pipes:: |
| 2011 | * Navigating:: | 2011 | * Navigating:: |
| 2012 | * Miscellaneous Commands and Options:: | 2012 | * Miscellaneous Commands and Options:: |
| 2013 | @end menu | 2013 | @end menu |
| 2014 | 2014 | ||
| 2015 | @node Viewing, Viewing Attachments, Reading Mail, Reading Mail | 2015 | @node Viewing, Viewing Attachments, Reading Mail, Reading Mail |
| @@ -2047,7 +2047,7 @@ The option @code{mh-show-maximum-size} provides an opportunity to skip | |||
| 2047 | over large messages which may be slow to load. The default value of 0 | 2047 | over large messages which may be slow to load. The default value of 0 |
| 2048 | means that all message are shown regardless of size. | 2048 | means that all message are shown regardless of size. |
| 2049 | 2049 | ||
| 2050 | A litany of options control what displayed messages look like. | 2050 | A litany of options control what displayed messages look like. |
| 2051 | 2051 | ||
| 2052 | @vindex mh-show-cc | 2052 | @vindex mh-show-cc |
| 2053 | @vindex mh-show-date | 2053 | @vindex mh-show-date |
| @@ -2637,7 +2637,7 @@ the Gnus command @kbd{W h} (@pxref{Article Washing,,,gnus},). | |||
| 2637 | @end ifinfo | 2637 | @end ifinfo |
| 2638 | @ifnotinfo | 2638 | @ifnotinfo |
| 2639 | see section @uref{http://www.gnus.org/manual/emacs-mime_6.html, | 2639 | see section @uref{http://www.gnus.org/manual/emacs-mime_6.html, |
| 2640 | Display Customization} in the @cite{The Emacs MIME Manual} and the the | 2640 | Display Customization} in the @cite{The Emacs MIME Manual} and the |
| 2641 | documentation for the Gnus command @kbd{W h} (see section | 2641 | documentation for the Gnus command @kbd{W h} (see section |
| 2642 | @uref{http://www.gnus.org/manual/gnus_99.html, Article Washing} in the | 2642 | @uref{http://www.gnus.org/manual/gnus_99.html, Article Washing} in the |
| 2643 | @cite{The Gnus Manual}). | 2643 | @cite{The Gnus Manual}). |
| @@ -2808,7 +2808,7 @@ The latter is used whether the signature is unknown or untrusted. | |||
| 2808 | @cindex customization group, @samp{pgg} | 2808 | @cindex customization group, @samp{pgg} |
| 2809 | 2809 | ||
| 2810 | The @samp{pgg} customization group may have some settings which may | 2810 | The @samp{pgg} customization group may have some settings which may |
| 2811 | interest you. | 2811 | interest you. |
| 2812 | @iftex | 2812 | @iftex |
| 2813 | See @cite{The PGG Manual}. | 2813 | See @cite{The PGG Manual}. |
| 2814 | @end iftex | 2814 | @end iftex |
| @@ -3942,11 +3942,11 @@ The functions and options introduced here are explained in more detail | |||
| 3942 | in the following sections. | 3942 | in the following sections. |
| 3943 | 3943 | ||
| 3944 | @menu | 3944 | @menu |
| 3945 | * Composing:: | 3945 | * Composing:: |
| 3946 | * Replying:: | 3946 | * Replying:: |
| 3947 | * Forwarding:: | 3947 | * Forwarding:: |
| 3948 | * Redistributing:: | 3948 | * Redistributing:: |
| 3949 | * Editing Again:: | 3949 | * Editing Again:: |
| 3950 | @end menu | 3950 | @end menu |
| 3951 | 3951 | ||
| 3952 | @node Composing, Replying, Sending Mail, Sending Mail | 3952 | @node Composing, Replying, Sending Mail, Sending Mail |
| @@ -4686,16 +4686,16 @@ The commands and options introduced here are explained in more | |||
| 4686 | detail in the following sections. | 4686 | detail in the following sections. |
| 4687 | 4687 | ||
| 4688 | @menu | 4688 | @menu |
| 4689 | * Editing Message:: | 4689 | * Editing Message:: |
| 4690 | * Inserting Letter:: | 4690 | * Inserting Letter:: |
| 4691 | * Inserting Messages:: | 4691 | * Inserting Messages:: |
| 4692 | * Signature:: | 4692 | * Signature:: |
| 4693 | * Picture:: | 4693 | * Picture:: |
| 4694 | * Adding Attachments:: | 4694 | * Adding Attachments:: |
| 4695 | * Sending PGP:: | 4695 | * Sending PGP:: |
| 4696 | * Checking Recipients:: | 4696 | * Checking Recipients:: |
| 4697 | * Sending Message:: | 4697 | * Sending Message:: |
| 4698 | * Killing Draft:: | 4698 | * Killing Draft:: |
| 4699 | @end menu | 4699 | @end menu |
| 4700 | 4700 | ||
| 4701 | @node Editing Message, Inserting Letter, Editing Drafts, Editing Drafts | 4701 | @node Editing Message, Inserting Letter, Editing Drafts, Editing Drafts |
| @@ -4795,7 +4795,7 @@ the alias expansion in the minibuffer if | |||
| 4795 | @code{mh-alias-flash-on-comma} is turned on. | 4795 | @code{mh-alias-flash-on-comma} is turned on. |
| 4796 | 4796 | ||
| 4797 | @c XXX Document the replacement for the inaccessible 'long argument. | 4797 | @c XXX Document the replacement for the inaccessible 'long argument. |
| 4798 | 4798 | ||
| 4799 | @findex mh-letter-toggle-header-field-display | 4799 | @findex mh-letter-toggle-header-field-display |
| 4800 | @kindex C-c C-t | 4800 | @kindex C-c C-t |
| 4801 | 4801 | ||
| @@ -5543,7 +5543,7 @@ mechanisms include vanilla @samp{PGP} and @samp{S/MIME}. | |||
| 5543 | @cindex customization group, @samp{pgg} | 5543 | @cindex customization group, @samp{pgg} |
| 5544 | 5544 | ||
| 5545 | The @samp{pgg} customization group may have some settings which may | 5545 | The @samp{pgg} customization group may have some settings which may |
| 5546 | interest you. | 5546 | interest you. |
| 5547 | @iftex | 5547 | @iftex |
| 5548 | See @cite{The PGG Manual}. | 5548 | See @cite{The PGG Manual}. |
| 5549 | @end iftex | 5549 | @end iftex |
| @@ -5954,7 +5954,7 @@ mh-alias-apropos} to show all aliases or addresses that match a | |||
| 5954 | regular expression | 5954 | regular expression |
| 5955 | @ifnothtml | 5955 | @ifnothtml |
| 5956 | (@pxref{Regexps, , Syntax of Regular Expressions, emacs, The | 5956 | (@pxref{Regexps, , Syntax of Regular Expressions, emacs, The |
| 5957 | GNU Emacs Manual}). | 5957 | GNU Emacs Manual}). |
| 5958 | @end ifnothtml | 5958 | @end ifnothtml |
| 5959 | @ifhtml | 5959 | @ifhtml |
| 5960 | (see the section | 5960 | (see the section |
| @@ -6104,7 +6104,7 @@ customize @code{mh-auto-fields-list}, click on the @samp{INS} button | |||
| 6104 | and enter a regular expression for the recipient's address | 6104 | and enter a regular expression for the recipient's address |
| 6105 | @ifnothtml | 6105 | @ifnothtml |
| 6106 | (@pxref{Regexps, , Syntax of Regular Expressions, emacs, The | 6106 | (@pxref{Regexps, , Syntax of Regular Expressions, emacs, The |
| 6107 | GNU Emacs Manual}). | 6107 | GNU Emacs Manual}). |
| 6108 | @end ifnothtml | 6108 | @end ifnothtml |
| 6109 | @ifhtml | 6109 | @ifhtml |
| 6110 | (see the section | 6110 | (see the section |
| @@ -6142,7 +6142,7 @@ recipient is also listed there so that he receives replies to your | |||
| 6142 | reply. | 6142 | reply. |
| 6143 | @c ------------------------- | 6143 | @c ------------------------- |
| 6144 | @item Other Field | 6144 | @item Other Field |
| 6145 | Other header fields may be added using this menu item. | 6145 | Other header fields may be added using this menu item. |
| 6146 | @end table | 6146 | @end table |
| 6147 | 6147 | ||
| 6148 | @findex mh-insert-auto-fields | 6148 | @findex mh-insert-auto-fields |
| @@ -6181,7 +6181,7 @@ added. To customize @code{mh-identity-handlers}, replace the name of | |||
| 6181 | an existing handler function associated with the field you want to | 6181 | an existing handler function associated with the field you want to |
| 6182 | change with the name of a function you have written. You can also | 6182 | change with the name of a function you have written. You can also |
| 6183 | click on an @samp{INS} button and insert a field of your choice and | 6183 | click on an @samp{INS} button and insert a field of your choice and |
| 6184 | the name of the function you have written to handle it. | 6184 | the name of the function you have written to handle it. |
| 6185 | 6185 | ||
| 6186 | @vindex mh-identity-list | 6186 | @vindex mh-identity-list |
| 6187 | 6187 | ||
| @@ -6210,7 +6210,7 @@ containing the value for the field is given. | |||
| 6210 | @kindex M-x speedbar | 6210 | @kindex M-x speedbar |
| 6211 | @kindex Mouse-2 | 6211 | @kindex Mouse-2 |
| 6212 | 6212 | ||
| 6213 | You can also use the speedbar | 6213 | You can also use the speedbar |
| 6214 | @ifnothtml | 6214 | @ifnothtml |
| 6215 | (@pxref{Speedbar, , Speedbar Frames, emacs, The GNU Emacs Manual},) | 6215 | (@pxref{Speedbar, , Speedbar Frames, emacs, The GNU Emacs Manual},) |
| 6216 | @end ifnothtml | 6216 | @end ifnothtml |
| @@ -6573,7 +6573,7 @@ There is one option from the @samp{mh-search} customization group used | |||
| 6573 | in searching. | 6573 | in searching. |
| 6574 | 6574 | ||
| 6575 | @vtable @code | 6575 | @vtable @code |
| 6576 | @item mh-search-program | 6576 | @item mh-search-program |
| 6577 | Search program that MH-E shall use (default: @samp{Auto-detect}). | 6577 | Search program that MH-E shall use (default: @samp{Auto-detect}). |
| 6578 | @end vtable | 6578 | @end vtable |
| 6579 | 6579 | ||
| @@ -7145,7 +7145,7 @@ Limit to messages with the same @samp{Cc:} field | |||
| 7145 | @c ------------------------- | 7145 | @c ------------------------- |
| 7146 | @kindex / m | 7146 | @kindex / m |
| 7147 | @findex mh-narrow-to-from | 7147 | @findex mh-narrow-to-from |
| 7148 | @item / m | 7148 | @item / m |
| 7149 | Limit to messages with the same @samp{From:} field | 7149 | Limit to messages with the same @samp{From:} field |
| 7150 | (@code{mh-narrow-to-from}). | 7150 | (@code{mh-narrow-to-from}). |
| 7151 | @c ------------------------- | 7151 | @c ------------------------- |
| @@ -7635,7 +7635,7 @@ If you don't use @command{spamc}, use @samp{spamassassin -P -a}. | |||
| 7635 | 7635 | ||
| 7636 | Note that one of the recipes above throws away messages with a score | 7636 | Note that one of the recipes above throws away messages with a score |
| 7637 | greater than or equal to 10. Here's how you can determine a value that | 7637 | greater than or equal to 10. Here's how you can determine a value that |
| 7638 | works best for you. | 7638 | works best for you. |
| 7639 | 7639 | ||
| 7640 | First, run @samp{spamassassin -t} on every mail message in your | 7640 | First, run @samp{spamassassin -t} on every mail message in your |
| 7641 | archive and use @command{gnumeric} to verify that the average plus the | 7641 | archive and use @command{gnumeric} to verify that the average plus the |
| @@ -8579,10 +8579,10 @@ tell you how to report bugs and how to get on the MH-E mailing lists. | |||
| 8579 | I also point out some additional sources of information. | 8579 | I also point out some additional sources of information. |
| 8580 | 8580 | ||
| 8581 | @menu | 8581 | @menu |
| 8582 | * Bug Reports:: | 8582 | * Bug Reports:: |
| 8583 | * Mailing Lists:: | 8583 | * Mailing Lists:: |
| 8584 | * MH FAQ and Support:: | 8584 | * MH FAQ and Support:: |
| 8585 | * Getting MH-E:: | 8585 | * Getting MH-E:: |
| 8586 | @end menu | 8586 | @end menu |
| 8587 | 8587 | ||
| 8588 | @node Bug Reports, Mailing Lists, Odds and Ends, Odds and Ends | 8588 | @node Bug Reports, Mailing Lists, Odds and Ends, Odds and Ends |
| @@ -8713,10 +8713,10 @@ development to @uref{http://sourceforge.net/, SourceForge} where it | |||
| 8713 | lives today. | 8713 | lives today. |
| 8714 | 8714 | ||
| 8715 | @menu | 8715 | @menu |
| 8716 | * From Brian Reid:: | 8716 | * From Brian Reid:: |
| 8717 | * From Jim Larus:: | 8717 | * From Jim Larus:: |
| 8718 | * From Stephen Gildea:: | 8718 | * From Stephen Gildea:: |
| 8719 | * From Bill Wohler:: | 8719 | * From Bill Wohler:: |
| 8720 | @end menu | 8720 | @end menu |
| 8721 | 8721 | ||
| 8722 | @node From Brian Reid, From Jim Larus, History, History | 8722 | @node From Brian Reid, From Jim Larus, History, History |
| @@ -9715,7 +9715,7 @@ Public License instead of this License. | |||
| 9715 | @c The following are words that ispell should ignore that would not | 9715 | @c The following are words that ispell should ignore that would not |
| 9716 | @c normally be in a dictionary (global or personal). Be careful not to | 9716 | @c normally be in a dictionary (global or personal). Be careful not to |
| 9717 | @c include words here that could potentially be typos of other words | 9717 | @c include words here that could potentially be typos of other words |
| 9718 | @c (such as url, elisp, or MHE). | 9718 | @c (such as url, elisp, or MHE). |
| 9719 | @c | 9719 | @c |
| 9720 | @c LocalWords: CTRL ESC SPC f's | 9720 | @c LocalWords: CTRL ESC SPC f's |
| 9721 | @c LocalWords: addr Aliasfile alist | 9721 | @c LocalWords: addr Aliasfile alist |
diff --git a/man/org.texi b/man/org.texi index aacc2929d13..22d217c1c89 100644 --- a/man/org.texi +++ b/man/org.texi | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | @setfilename ../info/org | 3 | @setfilename ../info/org |
| 4 | @settitle Org Mode Manual | 4 | @settitle Org Mode Manual |
| 5 | 5 | ||
| 6 | @set VERSION 4.67 | 6 | @set VERSION 4.77 |
| 7 | @set DATE February 2007 | 7 | @set DATE June 2007 |
| 8 | 8 | ||
| 9 | @dircategory Emacs | 9 | @dircategory Emacs |
| 10 | @direntry | 10 | @direntry |
| @@ -89,7 +89,6 @@ Software Foundation raise funds for GNU development.'' | |||
| 89 | * Miscellaneous:: All the rest which did not fit elsewhere | 89 | * Miscellaneous:: All the rest which did not fit elsewhere |
| 90 | * Extensions and Hacking:: It is possible to write add-on code | 90 | * Extensions and Hacking:: It is possible to write add-on code |
| 91 | * History and Acknowledgments:: How Org-mode came into being | 91 | * History and Acknowledgments:: How Org-mode came into being |
| 92 | * GNU Free Documentation License:: The license for this documentation. | ||
| 93 | * Index:: The fast road to specific information | 92 | * Index:: The fast road to specific information |
| 94 | * Key Index:: Key bindings and where they are described | 93 | * Key Index:: Key bindings and where they are described |
| 95 | 94 | ||
| @@ -123,6 +122,7 @@ Tables | |||
| 123 | 122 | ||
| 124 | * Built-in table editor:: Simple tables | 123 | * Built-in table editor:: Simple tables |
| 125 | * Narrow columns:: Stop wasting space in tables | 124 | * Narrow columns:: Stop wasting space in tables |
| 125 | * Column groups:: Grouping to trigger vertical lines | ||
| 126 | * orgtbl-mode:: The table editor as minor mode | 126 | * orgtbl-mode:: The table editor as minor mode |
| 127 | * The spreadsheet:: The table editor has spreadsheet capabilities. | 127 | * The spreadsheet:: The table editor has spreadsheet capabilities. |
| 128 | 128 | ||
| @@ -163,26 +163,32 @@ TODO items | |||
| 163 | * TODO basics:: Marking and displaying TODO entries | 163 | * TODO basics:: Marking and displaying TODO entries |
| 164 | * TODO extensions:: Workflow and assignments | 164 | * TODO extensions:: Workflow and assignments |
| 165 | * Priorities:: Some things are more important than others | 165 | * Priorities:: Some things are more important than others |
| 166 | * Breaking down tasks:: Splitting a task into managable pieces | 166 | * Breaking down tasks:: Splitting a task into manageable pieces |
| 167 | * Checkboxes:: Tick-off lists | 167 | * Checkboxes:: Tick-off lists |
| 168 | 168 | ||
| 169 | Extended use of TODO keywords | 169 | Extended use of TODO keywords |
| 170 | 170 | ||
| 171 | * Workflow states:: From TODO to DONE in steps | 171 | * Workflow states:: From TODO to DONE in steps |
| 172 | * TODO types:: I do this, Fred the rest | 172 | * TODO types:: I do this, Fred the rest |
| 173 | * Multiple sets in one file:: Mixing it all, and still finding your way | ||
| 173 | * Per file keywords:: Different files, different requirements | 174 | * Per file keywords:: Different files, different requirements |
| 174 | 175 | ||
| 175 | Timestamps | 176 | Timestamps |
| 176 | 177 | ||
| 177 | * Time stamps:: Assigning a time to a tree entry | 178 | * Time stamps:: Assigning a time to a tree entry |
| 178 | * Creating timestamps:: Commands which insert timestamps | 179 | * Creating timestamps:: Commands which insert timestamps |
| 179 | * Custom time format:: If you cannot work with the ISO format | 180 | * Deadlines and scheduling:: Planning your work |
| 180 | * Repeating items:: Deadlines that come back again and again | ||
| 181 | * Progress logging:: Documenting when what work was done. | 181 | * Progress logging:: Documenting when what work was done. |
| 182 | 182 | ||
| 183 | Creating timestamps | 183 | Creating timestamps |
| 184 | 184 | ||
| 185 | * The date/time prompt:: How org-mode helps you entering date and time | 185 | * The date/time prompt:: How org-mode helps you entering date and time |
| 186 | * Custom time format:: Making dates look differently | ||
| 187 | |||
| 188 | Deadlines and Scheduling | ||
| 189 | |||
| 190 | * Inserting deadline/schedule:: | ||
| 191 | * Repeated tasks:: | ||
| 186 | 192 | ||
| 187 | Progress Logging | 193 | Progress Logging |
| 188 | 194 | ||
| @@ -224,7 +230,8 @@ Custom agenda views | |||
| 224 | * Storing searches:: Type once, use often | 230 | * Storing searches:: Type once, use often |
| 225 | * Block agenda:: All the stuff you need in a single buffer | 231 | * Block agenda:: All the stuff you need in a single buffer |
| 226 | * Setting Options:: Changing the rules | 232 | * Setting Options:: Changing the rules |
| 227 | * Batch processing:: Agenda views from the command line | 233 | * Exporting Agenda Views:: Writing agendas to files. |
| 234 | * Extracting Agenda Information for other programs:: | ||
| 228 | 235 | ||
| 229 | Embedded LaTeX | 236 | Embedded LaTeX |
| 230 | 237 | ||
| @@ -244,7 +251,7 @@ Exporting | |||
| 244 | 251 | ||
| 245 | HTML export | 252 | HTML export |
| 246 | 253 | ||
| 247 | * Export commands:: How to invode HTML export | 254 | * Export commands:: How to invoke HTML export |
| 248 | * Quoting HTML tags:: Using direct HTML in Org-mode | 255 | * Quoting HTML tags:: Using direct HTML in Org-mode |
| 249 | * Links:: How hyperlinks get transferred to HTML | 256 | * Links:: How hyperlinks get transferred to HTML |
| 250 | * Images:: To inline or not to inline? | 257 | * Images:: To inline or not to inline? |
| @@ -253,6 +260,8 @@ HTML export | |||
| 253 | Text interpretation by the exporter | 260 | Text interpretation by the exporter |
| 254 | 261 | ||
| 255 | * Comment lines:: Some lines will not be exported | 262 | * Comment lines:: Some lines will not be exported |
| 263 | * Initial text:: Text before the first headline | ||
| 264 | * Footnotes:: Numbers like [1] | ||
| 256 | * Enhancing text:: Subscripts, symbols and more | 265 | * Enhancing text:: Subscripts, symbols and more |
| 257 | * Export options:: How to influence the export settings | 266 | * Export options:: How to influence the export settings |
| 258 | 267 | ||
| @@ -371,7 +380,7 @@ example as: | |||
| 371 | Org-mode's automatic, context sensitive table editor with spreadsheet | 380 | Org-mode's automatic, context sensitive table editor with spreadsheet |
| 372 | capabilities can be integrated into any major mode by activating the | 381 | capabilities can be integrated into any major mode by activating the |
| 373 | minor Orgtbl-mode. Using a translation step, it can be used to maintain | 382 | minor Orgtbl-mode. Using a translation step, it can be used to maintain |
| 374 | tables in arbitray file types, for example in LaTeX. | 383 | tables in arbitrary file types, for example in LaTeX. |
| 375 | 384 | ||
| 376 | @cindex FAQ | 385 | @cindex FAQ |
| 377 | There is a website for Org-mode which provides links to the newest | 386 | There is a website for Org-mode which provides links to the newest |
| @@ -578,8 +587,9 @@ key. | |||
| 578 | @cindex outline tree | 587 | @cindex outline tree |
| 579 | 588 | ||
| 580 | Headlines define the structure of an outline tree. The headlines in | 589 | Headlines define the structure of an outline tree. The headlines in |
| 581 | Org-mode start with one or more stars, on the left margin. For | 590 | Org-mode start with one or more stars, on the left margin@footnote{See |
| 582 | example: | 591 | the variable @code{org-special-ctrl-a} to configure special behavior of |
| 592 | @kbd{C-a} in headlines.}. For example: | ||
| 583 | 593 | ||
| 584 | @example | 594 | @example |
| 585 | * Top level headline | 595 | * Top level headline |
| @@ -588,6 +598,7 @@ example: | |||
| 588 | some text | 598 | some text |
| 589 | *** 3rd level | 599 | *** 3rd level |
| 590 | more text | 600 | more text |
| 601 | |||
| 591 | * Another top level headline | 602 | * Another top level headline |
| 592 | @end example | 603 | @end example |
| 593 | 604 | ||
| @@ -595,6 +606,12 @@ example: | |||
| 595 | outline that has whitespace followed by a single star as headline | 606 | outline that has whitespace followed by a single star as headline |
| 596 | starters. @ref{Clean view} describes a setup to realize this. | 607 | starters. @ref{Clean view} describes a setup to realize this. |
| 597 | 608 | ||
| 609 | An empty line after the end of a subtree is considered part of it and | ||
| 610 | will be hidden when the subtree is folded. However, if you leave at | ||
| 611 | least two empty lines, one empty line will remain visible after folding | ||
| 612 | the subtree, in order to structure the collapsed view. See the | ||
| 613 | variable @code{org-cycle-separator-lines} for modifying this behavior. | ||
| 614 | |||
| 598 | @node Visibility cycling, Motion, Headlines, Document structure | 615 | @node Visibility cycling, Motion, Headlines, Document structure |
| 599 | @section Visibility cycling | 616 | @section Visibility cycling |
| 600 | @cindex cycling, visibility | 617 | @cindex cycling, visibility |
| @@ -615,7 +632,7 @@ Org-mode uses just two commands, bound to @key{TAB} and | |||
| 615 | @table @kbd | 632 | @table @kbd |
| 616 | @kindex @key{TAB} | 633 | @kindex @key{TAB} |
| 617 | @item @key{TAB} | 634 | @item @key{TAB} |
| 618 | @emph{Subtree cycling}: Rotate current subtree between the states | 635 | @emph{Subtree cycling}: Rotate current subtree among the states |
| 619 | 636 | ||
| 620 | @example | 637 | @example |
| 621 | ,-> FOLDED -> CHILDREN -> SUBTREE --. | 638 | ,-> FOLDED -> CHILDREN -> SUBTREE --. |
| @@ -637,7 +654,7 @@ argument (@kbd{C-u @key{TAB}}), global cycling is invoked. | |||
| 637 | @kindex S-@key{TAB} | 654 | @kindex S-@key{TAB} |
| 638 | @item S-@key{TAB} | 655 | @item S-@key{TAB} |
| 639 | @itemx C-u @key{TAB} | 656 | @itemx C-u @key{TAB} |
| 640 | @emph{Global cycling}: Rotate the entire buffer between the states | 657 | @emph{Global cycling}: Rotate the entire buffer among the states |
| 641 | 658 | ||
| 642 | @example | 659 | @example |
| 643 | ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. | 660 | ,-> OVERVIEW -> CONTENTS -> SHOW ALL --. |
| @@ -662,13 +679,19 @@ level, all sibling headings. | |||
| 662 | @kindex C-c C-x b | 679 | @kindex C-c C-x b |
| 663 | @item C-c C-x b | 680 | @item C-c C-x b |
| 664 | Show the current subtree in an indirect buffer@footnote{The indirect | 681 | Show the current subtree in an indirect buffer@footnote{The indirect |
| 665 | buffer (@pxref{Indirect Buffers,Indirect Buffers,Indirect | 682 | buffer |
| 666 | Buffers,emacs,GNU Emacs Manual}) will contain the entire buffer, but | 683 | @ifinfo |
| 667 | will be narrowed to the current tree. Editing the indirect buffer will | 684 | (@pxref{Indirect Buffers,,,emacs,GNU Emacs Manual}) |
| 668 | also change the original buffer, but without affecting visibility in | 685 | @end ifinfo |
| 669 | that buffer.}. With numerical prefix ARG, go up to this level and then | 686 | @ifnotinfo |
| 670 | take that tree. If ARG is negative, go up that many levels. With | 687 | (see the Emacs manual for more information about indirect buffers) |
| 671 | @kbd{C-u} prefix, do not remove the previously used indirect buffer. | 688 | @end ifnotinfo |
| 689 | will contain the entire buffer, but will be narrowed to the current | ||
| 690 | tree. Editing the indirect buffer will also change the original buffer, | ||
| 691 | but without affecting visibility in that buffer.}. With numerical | ||
| 692 | prefix ARG, go up to this level and then take that tree. If ARG is | ||
| 693 | negative, go up that many levels. With @kbd{C-u} prefix, do not remove | ||
| 694 | the previously used indirect buffer. | ||
| 672 | @end table | 695 | @end table |
| 673 | 696 | ||
| 674 | When Emacs first visits an Org-mode file, the global state is set to | 697 | When Emacs first visits an Org-mode file, the global state is set to |
| @@ -710,10 +733,16 @@ Backward to higher level heading. | |||
| 710 | @item C-c C-j | 733 | @item C-c C-j |
| 711 | Jump to a different place without changing the current outline | 734 | Jump to a different place without changing the current outline |
| 712 | visibility. Shows the document structure in a temporary buffer, where | 735 | visibility. Shows the document structure in a temporary buffer, where |
| 713 | you can use visibility cycling (@key{TAB}) to find your destination. | 736 | you can use the following keys to find your destination: |
| 714 | After pressing @key{RET}, the cursor moves to the selected location in | 737 | @example |
| 715 | the original buffer, and the headings hierarchy above it is made | 738 | @key{TAB} @r{Cycle visibility.} |
| 716 | visible. | 739 | @key{down} / @key{up} @r{Next/previous visible headline.} |
| 740 | n / p @r{Next/previous visible headline.} | ||
| 741 | f / b @r{Next/previous headline same level.} | ||
| 742 | u @r{One level up.} | ||
| 743 | 0-9 @r{Digit argument.} | ||
| 744 | @key{RET} @r{Select this location.} | ||
| 745 | @end example | ||
| 717 | @end table | 746 | @end table |
| 718 | 747 | ||
| 719 | @node Structure editing, Archiving, Motion, Document structure | 748 | @node Structure editing, Archiving, Motion, Document structure |
| @@ -980,14 +1009,17 @@ bullet, lines must be indented or they will be seen as top-level | |||
| 980 | headlines. Also, when you are hiding leading stars to get a clean | 1009 | headlines. Also, when you are hiding leading stars to get a clean |
| 981 | outline view, plain list items starting with a star are visually | 1010 | outline view, plain list items starting with a star are visually |
| 982 | indistinguishable from true headlines. In short: even though @samp{*} | 1011 | indistinguishable from true headlines. In short: even though @samp{*} |
| 983 | is supported, it may be better not to use it for plain list items} as | 1012 | is supported, it may be better not to use it for plain list items.} as |
| 984 | bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items | 1013 | bullets. Ordered list items start with @samp{1.} or @samp{1)}. Items |
| 985 | belonging to the same list must have the same indentation on the first | 1014 | belonging to the same list must have the same indentation on the first |
| 986 | line. In particular, if an ordered list reaches number @samp{10.}, then | 1015 | line. In particular, if an ordered list reaches number @samp{10.}, then |
| 987 | the 2--digit numbers must be written left-aligned with the other numbers | 1016 | the 2--digit numbers must be written left-aligned with the other numbers |
| 988 | in the list. Indentation also determines the end of a list item. It | 1017 | in the list. Indentation also determines the end of a list item. It |
| 989 | ends before the next line that is indented like the bullet/number, or | 1018 | ends before the next line that is indented like the bullet/number, or |
| 990 | less. For example: | 1019 | less. Empty lines are part of the previous item, so you can have |
| 1020 | several paragraphs in one item. If you would like an emtpy line to | ||
| 1021 | terminate all currently open plain lists, configure the variable | ||
| 1022 | @code{org-empty-line-terminates-plain-lists}. Here is an for example: | ||
| 991 | 1023 | ||
| 992 | @example | 1024 | @example |
| 993 | @group | 1025 | @group |
| @@ -1078,6 +1110,7 @@ Emacs @file{calc} package. | |||
| 1078 | @menu | 1110 | @menu |
| 1079 | * Built-in table editor:: Simple tables | 1111 | * Built-in table editor:: Simple tables |
| 1080 | * Narrow columns:: Stop wasting space in tables | 1112 | * Narrow columns:: Stop wasting space in tables |
| 1113 | * Column groups:: Grouping to trigger vertical lines | ||
| 1081 | * orgtbl-mode:: The table editor as minor mode | 1114 | * orgtbl-mode:: The table editor as minor mode |
| 1082 | * The spreadsheet:: The table editor has spreadsheet capabilities. | 1115 | * The spreadsheet:: The table editor has spreadsheet capabilities. |
| 1083 | @end menu | 1116 | @end menu |
| @@ -1141,16 +1174,16 @@ table. But it's easier just to start typing, like | |||
| 1141 | @kindex C-c C-c | 1174 | @kindex C-c C-c |
| 1142 | @item C-c C-c | 1175 | @item C-c C-c |
| 1143 | Re-align the table without moving the cursor. | 1176 | Re-align the table without moving the cursor. |
| 1144 | 1177 | @c | |
| 1145 | @kindex @key{TAB} | 1178 | @kindex @key{TAB} |
| 1146 | @item @key{TAB} | 1179 | @item @key{TAB} |
| 1147 | Re-align the table, move to the next field. Creates a new row if | 1180 | Re-align the table, move to the next field. Creates a new row if |
| 1148 | necessary. | 1181 | necessary. |
| 1149 | 1182 | @c | |
| 1150 | @kindex S-@key{TAB} | 1183 | @kindex S-@key{TAB} |
| 1151 | @item S-@key{TAB} | 1184 | @item S-@key{TAB} |
| 1152 | Re-align, move to previous field. | 1185 | Re-align, move to previous field. |
| 1153 | 1186 | @c | |
| 1154 | @kindex @key{RET} | 1187 | @kindex @key{RET} |
| 1155 | @item @key{RET} | 1188 | @item @key{RET} |
| 1156 | Re-align the table and move down to next row. Creates a new row if | 1189 | Re-align the table and move down to next row. Creates a new row if |
| @@ -1163,34 +1196,34 @@ NEWLINE, so it can be used to split a table. | |||
| 1163 | @item M-@key{left} | 1196 | @item M-@key{left} |
| 1164 | @itemx M-@key{right} | 1197 | @itemx M-@key{right} |
| 1165 | Move the current column left/right. | 1198 | Move the current column left/right. |
| 1166 | 1199 | @c | |
| 1167 | @kindex M-S-@key{left} | 1200 | @kindex M-S-@key{left} |
| 1168 | @item M-S-@key{left} | 1201 | @item M-S-@key{left} |
| 1169 | Kill the current column. | 1202 | Kill the current column. |
| 1170 | 1203 | @c | |
| 1171 | @kindex M-S-@key{right} | 1204 | @kindex M-S-@key{right} |
| 1172 | @item M-S-@key{right} | 1205 | @item M-S-@key{right} |
| 1173 | Insert a new column to the left of the cursor position. | 1206 | Insert a new column to the left of the cursor position. |
| 1174 | 1207 | @c | |
| 1175 | @kindex M-@key{up} | 1208 | @kindex M-@key{up} |
| 1176 | @kindex M-@key{down} | 1209 | @kindex M-@key{down} |
| 1177 | @item M-@key{up} | 1210 | @item M-@key{up} |
| 1178 | @itemx M-@key{down} | 1211 | @itemx M-@key{down} |
| 1179 | Move the current row up/down. | 1212 | Move the current row up/down. |
| 1180 | 1213 | @c | |
| 1181 | @kindex M-S-@key{up} | 1214 | @kindex M-S-@key{up} |
| 1182 | @item M-S-@key{up} | 1215 | @item M-S-@key{up} |
| 1183 | Kill the current row or horizontal line. | 1216 | Kill the current row or horizontal line. |
| 1184 | 1217 | @c | |
| 1185 | @kindex M-S-@key{down} | 1218 | @kindex M-S-@key{down} |
| 1186 | @item M-S-@key{down} | 1219 | @item M-S-@key{down} |
| 1187 | Insert a new row above (with arg: below) the current row. | 1220 | Insert a new row above (with arg: below) the current row. |
| 1188 | 1221 | @c | |
| 1189 | @kindex C-c - | 1222 | @kindex C-c - |
| 1190 | @item C-c - | 1223 | @item C-c - |
| 1191 | Insert a horizontal line below current row. With prefix arg, the line | 1224 | Insert a horizontal line below current row. With prefix arg, the line |
| 1192 | is created above the current line. | 1225 | is created above the current line. |
| 1193 | 1226 | @c | |
| 1194 | @kindex C-c ^ | 1227 | @kindex C-c ^ |
| 1195 | @item C-c ^ | 1228 | @item C-c ^ |
| 1196 | Sort the table lines in the region. The position of point indicates the | 1229 | Sort the table lines in the region. The position of point indicates the |
| @@ -1209,10 +1242,12 @@ argument, alphabetic sorting will be case-sensitive. | |||
| 1209 | Copy a rectangular region from a table to a special clipboard. Point | 1242 | Copy a rectangular region from a table to a special clipboard. Point |
| 1210 | and mark determine edge fields of the rectangle. The process ignores | 1243 | and mark determine edge fields of the rectangle. The process ignores |
| 1211 | horizontal separator lines. | 1244 | horizontal separator lines. |
| 1245 | @c | ||
| 1212 | @kindex C-c C-x C-w | 1246 | @kindex C-c C-x C-w |
| 1213 | @item C-c C-x C-w | 1247 | @item C-c C-x C-w |
| 1214 | Copy a rectangular region from a table to a special clipboard, and | 1248 | Copy a rectangular region from a table to a special clipboard, and |
| 1215 | blank all fields in the rectangle. So this is the ``cut'' operation. | 1249 | blank all fields in the rectangle. So this is the ``cut'' operation. |
| 1250 | @c | ||
| 1216 | @kindex C-c C-x C-y | 1251 | @kindex C-c C-x C-y |
| 1217 | @item C-c C-x C-y | 1252 | @item C-c C-x C-y |
| 1218 | Paste a rectangular region into a table. | 1253 | Paste a rectangular region into a table. |
| @@ -1220,6 +1255,7 @@ The upper right corner ends up in the current field. All involved fields | |||
| 1220 | will be overwritten. If the rectangle does not fit into the present table, | 1255 | will be overwritten. If the rectangle does not fit into the present table, |
| 1221 | the table is enlarged as needed. The process ignores horizontal separator | 1256 | the table is enlarged as needed. The process ignores horizontal separator |
| 1222 | lines. | 1257 | lines. |
| 1258 | @c | ||
| 1223 | @kindex C-c C-q | 1259 | @kindex C-c C-q |
| 1224 | @item C-c C-q | 1260 | @item C-c C-q |
| 1225 | Wrap several fields in a column like a paragraph. If there is an active | 1261 | Wrap several fields in a column like a paragraph. If there is an active |
| @@ -1235,7 +1271,6 @@ above. | |||
| 1235 | @tsubheading{Calculations} | 1271 | @tsubheading{Calculations} |
| 1236 | @cindex formula, in tables | 1272 | @cindex formula, in tables |
| 1237 | @cindex calculations, in tables | 1273 | @cindex calculations, in tables |
| 1238 | |||
| 1239 | @cindex region, active | 1274 | @cindex region, active |
| 1240 | @cindex active region | 1275 | @cindex active region |
| 1241 | @cindex transient-mark-mode | 1276 | @cindex transient-mark-mode |
| @@ -1244,7 +1279,7 @@ above. | |||
| 1244 | Sum the numbers in the current column, or in the rectangle defined by | 1279 | Sum the numbers in the current column, or in the rectangle defined by |
| 1245 | the active region. The result is shown in the echo area and can | 1280 | the active region. The result is shown in the echo area and can |
| 1246 | be inserted with @kbd{C-y}. | 1281 | be inserted with @kbd{C-y}. |
| 1247 | 1282 | @c | |
| 1248 | @kindex S-@key{RET} | 1283 | @kindex S-@key{RET} |
| 1249 | @item S-@key{RET} | 1284 | @item S-@key{RET} |
| 1250 | When current field is empty, copy from first non-empty field above. | 1285 | When current field is empty, copy from first non-empty field above. |
| @@ -1261,12 +1296,12 @@ Edit the current field in a separate window. This is useful for fields | |||
| 1261 | that are not fully visible (@pxref{Narrow columns}). When called with a | 1296 | that are not fully visible (@pxref{Narrow columns}). When called with a |
| 1262 | @kbd{C-u} prefix, just make the full field visible, so that it can be | 1297 | @kbd{C-u} prefix, just make the full field visible, so that it can be |
| 1263 | edited in place. | 1298 | edited in place. |
| 1264 | 1299 | @c | |
| 1265 | @kindex C-c @key{TAB} | 1300 | @kindex C-c @key{TAB} |
| 1266 | @item C-c @key{TAB} | 1301 | @item C-c @key{TAB} |
| 1267 | This is an alias for @kbd{C-u C-c `} to make the current field fully | 1302 | This is an alias for @kbd{C-u C-c `} to make the current field fully |
| 1268 | visible. | 1303 | visible. |
| 1269 | 1304 | @c | |
| 1270 | @item M-x org-table-import | 1305 | @item M-x org-table-import |
| 1271 | Import a file as a table. The table should be TAB- or whitespace | 1306 | Import a file as a table. The table should be TAB- or whitespace |
| 1272 | separated. Useful, for example, to import an Excel table or data from a | 1307 | separated. Useful, for example, to import an Excel table or data from a |
| @@ -1274,11 +1309,14 @@ database, because these programs generally can write TAB-separated text | |||
| 1274 | files. This command works by inserting the file into the buffer and | 1309 | files. This command works by inserting the file into the buffer and |
| 1275 | then converting the region to a table. Any prefix argument is passed on | 1310 | then converting the region to a table. Any prefix argument is passed on |
| 1276 | to the converter, which uses it to determine the separator. | 1311 | to the converter, which uses it to determine the separator. |
| 1277 | 1312 | @item C-c | | |
| 1313 | Tables can also be imported by pasting tabular text into the org-mode | ||
| 1314 | buffer, selecting the pasted text with @kbd{C-x C-x} and then using the | ||
| 1315 | @kbd{C-c |} command (see above under @i{Creation and conversion}. | ||
| 1316 | @c | ||
| 1278 | @item M-x org-table-export | 1317 | @item M-x org-table-export |
| 1279 | Export the table as a TAB-separated file. Useful for data exchange with, | 1318 | Export the table as a TAB-separated file. Useful for data exchange with, |
| 1280 | for example, Excel or database programs. | 1319 | for example, Excel or database programs. |
| 1281 | |||
| 1282 | @end table | 1320 | @end table |
| 1283 | 1321 | ||
| 1284 | If you don't like the automatic table editor because it gets in your | 1322 | If you don't like the automatic table editor because it gets in your |
| @@ -1292,7 +1330,7 @@ it off with | |||
| 1292 | @noindent Then the only table command that still works is | 1330 | @noindent Then the only table command that still works is |
| 1293 | @kbd{C-c C-c} to do a manual re-align. | 1331 | @kbd{C-c C-c} to do a manual re-align. |
| 1294 | 1332 | ||
| 1295 | @node Narrow columns, orgtbl-mode, Built-in table editor, Tables | 1333 | @node Narrow columns, Column groups, Built-in table editor, Tables |
| 1296 | @section Narrow columns | 1334 | @section Narrow columns |
| 1297 | @cindex narrow columns in tables | 1335 | @cindex narrow columns in tables |
| 1298 | 1336 | ||
| @@ -1320,7 +1358,7 @@ value. | |||
| 1320 | @noindent | 1358 | @noindent |
| 1321 | Fields that are wider become clipped and end in the string @samp{=>}. | 1359 | Fields that are wider become clipped and end in the string @samp{=>}. |
| 1322 | Note that the full text is still in the buffer, it is only invisible. | 1360 | Note that the full text is still in the buffer, it is only invisible. |
| 1323 | To see the full text, hold the mouse over the field - a tooltip window | 1361 | To see the full text, hold the mouse over the field - a tool-tip window |
| 1324 | will show the full content. To edit such a field, use the command | 1362 | will show the full content. To edit such a field, use the command |
| 1325 | @kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will | 1363 | @kbd{C-c `} (that is @kbd{C-c} followed by the backquote). This will |
| 1326 | open a new window with the full field. Edit it and finish with @kbd{C-c | 1364 | open a new window with the full field. Edit it and finish with @kbd{C-c |
| @@ -1338,7 +1376,42 @@ on a per-file basis with: | |||
| 1338 | #+STARTUP: noalign | 1376 | #+STARTUP: noalign |
| 1339 | @end example | 1377 | @end example |
| 1340 | 1378 | ||
| 1341 | @node orgtbl-mode, The spreadsheet, Narrow columns, Tables | 1379 | @node Column groups, orgtbl-mode, Narrow columns, Tables |
| 1380 | @section Column groups | ||
| 1381 | @cindex grouping columns in tables | ||
| 1382 | |||
| 1383 | When Org-mode exports tables, it does so by default without vertical | ||
| 1384 | lines because that is visually more satisfying in general. Occasionally | ||
| 1385 | however, vertical lines can be useful to structure a table into groups | ||
| 1386 | of columns, much like horizontal lines can do for groups of rows. In | ||
| 1387 | order to specify column groups, you can use a special row where the | ||
| 1388 | first field contains only @samp{/}. The further fields can either | ||
| 1389 | contain @samp{<} to indicate that this column should start a group, | ||
| 1390 | @samp{>} to indicate the end of a column, or @samp{<>} to make a column | ||
| 1391 | a group of its own. Boundaries between colum groups will upon export be | ||
| 1392 | marked with vertical lines. Here is an example: | ||
| 1393 | |||
| 1394 | @example | ||
| 1395 | | | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | | ||
| 1396 | |---+----+-----+-----+-----+---------+------------| | ||
| 1397 | | / | <> | < | | > | < | > | | ||
| 1398 | | # | 1 | 1 | 1 | 1 | 1 | 1 | | ||
| 1399 | | # | 2 | 4 | 8 | 16 | 1.4142 | 1.1892 | | ||
| 1400 | | # | 3 | 9 | 27 | 81 | 1.7321 | 1.3161 | | ||
| 1401 | |---+----+-----+-----+-----+---------+------------| | ||
| 1402 | #+TBLFM: $3=$2^2::$4=$2^3::$5=$2^4::$6=sqrt($2)::$7=sqrt(sqrt(($2)) | ||
| 1403 | @end example | ||
| 1404 | |||
| 1405 | It is also sufficient to just insert the colum group starters after | ||
| 1406 | every vertical line you'd like to have: | ||
| 1407 | |||
| 1408 | @example | ||
| 1409 | | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | | ||
| 1410 | |----+-----+-----+-----+---------+------------| | ||
| 1411 | | / | < | | | < | | | ||
| 1412 | @end example | ||
| 1413 | |||
| 1414 | @node orgtbl-mode, The spreadsheet, Column groups, Tables | ||
| 1342 | @section The Orgtbl minor mode | 1415 | @section The Orgtbl minor mode |
| 1343 | @cindex orgtbl-mode | 1416 | @cindex orgtbl-mode |
| 1344 | @cindex minor mode for tables | 1417 | @cindex minor mode for tables |
| @@ -1356,7 +1429,7 @@ example in mail mode, use | |||
| 1356 | Furthermore, with some special setup, it is possible to maintain tables | 1429 | Furthermore, with some special setup, it is possible to maintain tables |
| 1357 | in arbitrary syntax with Orgtbl-mode. For example, it is possible to | 1430 | in arbitrary syntax with Orgtbl-mode. For example, it is possible to |
| 1358 | construct LaTeX tables with the underlying ease and power of | 1431 | construct LaTeX tables with the underlying ease and power of |
| 1359 | Orgtbl-mode, including spreadsheet capabulities. For details, see | 1432 | Orgtbl-mode, including spreadsheet capabilities. For details, see |
| 1360 | @ref{Tables in arbitrary syntax}. | 1433 | @ref{Tables in arbitrary syntax}. |
| 1361 | 1434 | ||
| 1362 | @node The spreadsheet, , orgtbl-mode, Tables | 1435 | @node The spreadsheet, , orgtbl-mode, Tables |
| @@ -1367,7 +1440,12 @@ Orgtbl-mode, including spreadsheet capabulities. For details, see | |||
| 1367 | 1440 | ||
| 1368 | The table editor makes use of the Emacs @file{calc} package to implement | 1441 | The table editor makes use of the Emacs @file{calc} package to implement |
| 1369 | spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to | 1442 | spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to |
| 1370 | derive fields from other fields. | 1443 | derive fields from other fields. While fully featured, Org-mode's |
| 1444 | implementation is not identical to other spreadsheets. For example, | ||
| 1445 | Org-mode knows the concept of a @emph{column formula} that will be | ||
| 1446 | applied to all non-header fields in a column without having to copy the | ||
| 1447 | formula to each relevant field. | ||
| 1448 | |||
| 1371 | @menu | 1449 | @menu |
| 1372 | * References:: How to refer to another field or range | 1450 | * References:: How to refer to another field or range |
| 1373 | * Formula syntax for Calc:: Using Calc to compute stuff | 1451 | * Formula syntax for Calc:: Using Calc to compute stuff |
| @@ -1387,17 +1465,26 @@ To compute fields in the table from other fields, formulas must | |||
| 1387 | reference other fields or ranges. In Org-mode, fields can be referenced | 1465 | reference other fields or ranges. In Org-mode, fields can be referenced |
| 1388 | by name, by absolute coordinates, and by relative coordinates. To find | 1466 | by name, by absolute coordinates, and by relative coordinates. To find |
| 1389 | out what the coordinates of a field are, press @kbd{C-c ?} in that | 1467 | out what the coordinates of a field are, press @kbd{C-c ?} in that |
| 1390 | field. | 1468 | field, or press @kbd{C-c @}} to toggle the display of a grid. |
| 1391 | 1469 | ||
| 1392 | @subsubheading Field references | 1470 | @subsubheading Field references |
| 1393 | @cindex field references | 1471 | @cindex field references |
| 1394 | @cindex references, to fields | 1472 | @cindex references, to fields |
| 1395 | 1473 | ||
| 1396 | Formulas can reference the value of another field with the operator | 1474 | Formulas can reference the value of another field in two ways. Like in |
| 1475 | any other spreadsheet, you may reference fields with a letter/number | ||
| 1476 | combination like @code{B3}, meaning the 2nd field in the 3rd row. | ||
| 1477 | @c Such references are always fixed to that field, they don't change | ||
| 1478 | @c when you copy and paste a formula to a different field. So | ||
| 1479 | @c Org-mode's @code{B3} behaves like @code{$B$3} in other spreadsheets. | ||
| 1480 | |||
| 1481 | @noindent | ||
| 1482 | Org-mode also uses another, more general operator that looks like this: | ||
| 1397 | @example | 1483 | @example |
| 1398 | @@row$column | 1484 | @@row$column |
| 1399 | @end example | 1485 | @end example |
| 1400 | 1486 | ||
| 1487 | @noindent | ||
| 1401 | Column references can be absolute like @samp{1}, @samp{2},...@samp{N}, | 1488 | Column references can be absolute like @samp{1}, @samp{2},...@samp{N}, |
| 1402 | or relative to the current column like @samp{+1} or @samp{-2}. | 1489 | or relative to the current column like @samp{+1} or @samp{-2}. |
| 1403 | 1490 | ||
| @@ -1417,18 +1504,20 @@ directly at the hline is used. | |||
| 1417 | either the column or the row part of the reference, the current | 1504 | either the column or the row part of the reference, the current |
| 1418 | row/column is implied. | 1505 | row/column is implied. |
| 1419 | 1506 | ||
| 1420 | Org-mode's references with @emph{positive} numbers correspond to fixed | 1507 | Org-mode's references with @emph{unsigned} numbers are fixed references |
| 1421 | references in other spreadsheet programs. For example, @code{@@3$28} | 1508 | in the sense that if you use the same reference in the formula for two |
| 1422 | corresponds to @code{$AB$3}. Org-mode's references with @emph{negative} | 1509 | different fields, the same field will be referenced each time. |
| 1423 | numbers behave similar to non-fixed references in other spreadsheet | 1510 | Org-mode's references with @emph{signed} numbers are floating |
| 1424 | programs, because when the same formula is used in several fields, | 1511 | references because the same reference operator can reference different |
| 1425 | different fields are referenced each time. | 1512 | fields depending on the field being calculated by the formula. |
| 1426 | 1513 | ||
| 1427 | Here are a few examples: | 1514 | Here are a few examples: |
| 1428 | 1515 | ||
| 1429 | @example | 1516 | @example |
| 1430 | @@2$3 @r{2nd row, 3rd column} | 1517 | @@2$3 @r{2nd row, 3rd column} |
| 1518 | C2 @r{same as previous} | ||
| 1431 | $5 @r{column 5 in the current row} | 1519 | $5 @r{column 5 in the current row} |
| 1520 | E& @r{same as previous} | ||
| 1432 | @@2 @r{current column, row 2} | 1521 | @@2 @r{current column, row 2} |
| 1433 | @@-1$-3 @r{the field one row up, three columns to the left} | 1522 | @@-1$-3 @r{the field one row up, three columns to the left} |
| 1434 | @@-I$2 @r{field just under hline above current row, column 2} | 1523 | @@-I$2 @r{field just under hline above current row, column 2} |
| @@ -1449,6 +1538,7 @@ format at least for the first field (i.e the reference must start with | |||
| 1449 | $1..$3 @r{First three fields in the current row.} | 1538 | $1..$3 @r{First three fields in the current row.} |
| 1450 | $P..$Q @r{Range, using column names (see under Advanced)} | 1539 | $P..$Q @r{Range, using column names (see under Advanced)} |
| 1451 | @@2$1..@@4$3 @r{6 fields between these two fields.} | 1540 | @@2$1..@@4$3 @r{6 fields between these two fields.} |
| 1541 | A2..C4 @r{Same as above.} | ||
| 1452 | @@-1$-2..@@-1 @r{3 numbers from the column to the left, 2 up to current row} | 1542 | @@-1$-2..@@-1 @r{3 numbers from the column to the left, 2 up to current row} |
| 1453 | @end example | 1543 | @end example |
| 1454 | 1544 | ||
| @@ -1466,12 +1556,18 @@ see the @samp{E} mode switch below). If there are no non-empty fields, | |||
| 1466 | 1556 | ||
| 1467 | @samp{$name} is interpreted as the name of a column, parameter or | 1557 | @samp{$name} is interpreted as the name of a column, parameter or |
| 1468 | constant. Constants are defined globally through the variable | 1558 | constant. Constants are defined globally through the variable |
| 1469 | @code{org-table-formula-constants}. If you have the | 1559 | @code{org-table-formula-constants}. If you have the @file{constants.el} |
| 1470 | @file{constants.el} package, it will also be used to resolve | 1560 | package, it will also be used to resolve constants, including natural |
| 1471 | constants, including natural constants like @samp{$h} for Planck's | 1561 | constants like @samp{$h} for Planck's constant, and units like |
| 1472 | constant, and units like @samp{$km} for kilometers. Column names and | 1562 | @samp{$km} for kilometers@footnote{@file{Constant.el} can supply the |
| 1473 | parameters can be specified in special table lines. These are | 1563 | values of constants in two different unit systems, @code{SI} and |
| 1474 | described below, see @ref{Advanced features}. | 1564 | @code{cgs}. Which one is used depends on the value of the variable |
| 1565 | @code{constants-unit-system}. You can use the @code{#+STARTUP} options | ||
| 1566 | @code{constSI} and @code{constcgs} to set this value for the current | ||
| 1567 | buffer.}. Column names and parameters can be specified in special table | ||
| 1568 | lines. These are described below, see @ref{Advanced features}. All | ||
| 1569 | names must start with a letter, and further consist of letters and | ||
| 1570 | numbers. | ||
| 1475 | 1571 | ||
| 1476 | @node Formula syntax for Calc, Formula syntax for Lisp, References, The spreadsheet | 1572 | @node Formula syntax for Calc, Formula syntax for Lisp, References, The spreadsheet |
| 1477 | @subsection Formula syntax for Calc | 1573 | @subsection Formula syntax for Calc |
| @@ -1485,6 +1581,7 @@ non-standard convention that @samp{/} has lower precedence than | |||
| 1485 | evaluation by @code{calc-eval} (@pxref{Calling Calc from | 1581 | evaluation by @code{calc-eval} (@pxref{Calling Calc from |
| 1486 | Your Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU | 1582 | Your Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU |
| 1487 | Emacs Calc Manual}), | 1583 | Emacs Calc Manual}), |
| 1584 | @c FIXME: The link to the calc manual in HTML does not work. | ||
| 1488 | variable substitution takes place according to the rules described above. | 1585 | variable substitution takes place according to the rules described above. |
| 1489 | @cindex vectors, in table calculations | 1586 | @cindex vectors, in table calculations |
| 1490 | The range vectors can be directly fed into the calc vector functions | 1587 | The range vectors can be directly fed into the calc vector functions |
| @@ -1518,7 +1615,7 @@ reformat the final result. A few examples: | |||
| 1518 | $1+$2 @r{Sum of first and second field} | 1615 | $1+$2 @r{Sum of first and second field} |
| 1519 | $1+$2;%.2f @r{Same, format result to two decimals} | 1616 | $1+$2;%.2f @r{Same, format result to two decimals} |
| 1520 | exp($2)+exp($1) @r{Math functions can be used} | 1617 | exp($2)+exp($1) @r{Math functions can be used} |
| 1521 | $;%.1f @r{Reformat current cell to 1 decimal} | 1618 | $0;%.1f @r{Reformat current cell to 1 decimal} |
| 1522 | ($3-32)*5/9 @r{Degrees F -> C conversion} | 1619 | ($3-32)*5/9 @r{Degrees F -> C conversion} |
| 1523 | $c/$1/$cm @r{Hz -> cm conversion, using @file{constants.el}} | 1620 | $c/$1/$cm @r{Hz -> cm conversion, using @file{constants.el}} |
| 1524 | tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} | 1621 | tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} |
| @@ -1528,21 +1625,28 @@ vmean($2..$7);EN @r{Same, but treat empty fields as 0} | |||
| 1528 | taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} | 1625 | taylor($3,x=7,2) @r{taylor series of $3, at x=7, second degree} |
| 1529 | @end example | 1626 | @end example |
| 1530 | 1627 | ||
| 1628 | Calc also contains a complete set of logical operations. For example | ||
| 1629 | |||
| 1630 | @example | ||
| 1631 | if($1<20,teen,string("")) @r{``teen'' if age $1 less than 20, else empty} | ||
| 1632 | @end example | ||
| 1633 | |||
| 1531 | @node Formula syntax for Lisp, Field formulas, Formula syntax for Calc, The spreadsheet | 1634 | @node Formula syntax for Lisp, Field formulas, Formula syntax for Calc, The spreadsheet |
| 1532 | @subsection Emacs Lisp forms as formulas | 1635 | @subsection Emacs Lisp forms as formulas |
| 1533 | @cindex Lisp forms, as table formulas | 1636 | @cindex Lisp forms, as table formulas |
| 1534 | 1637 | ||
| 1535 | It is also possible to write a formula in Emacs Lisp; this can be useful | 1638 | It is also possible to write a formula in Emacs Lisp; this can be useful |
| 1536 | for string manipulation and control structures. If a formula starts | 1639 | for string manipulation and control structures, if the Calc's |
| 1537 | with a single quote followed by an opening parenthesis, then it is | 1640 | functionality is not enough. If a formula starts with a single quote |
| 1538 | evaluated as a lisp form. The evaluation should return either a string | 1641 | followed by an opening parenthesis, then it is evaluated as a lisp form. |
| 1539 | or a number. Just as with @file{calc} formulas, you can specify modes | 1642 | The evaluation should return either a string or a number. Just as with |
| 1540 | and a printf format after a semicolon. A reference will be replaced | 1643 | @file{calc} formulas, you can specify modes and a printf format after a |
| 1541 | with a string (in double quotes) containing the field. If you provide | 1644 | semicolon. A reference will be replaced with a string (in double |
| 1542 | the @samp{N} mode switch, all referenced elements will be numbers. | 1645 | quotes) containing the field. If you provide the @samp{N} mode switch, |
| 1543 | Ranges are inserted as space-separated fields, so you can embed them in | 1646 | all referenced elements will be numbers. Ranges are inserted as |
| 1544 | list or vector syntax. A few examples, note how the @samp{N} mode is | 1647 | space-separated fields, so you can embed them in list or vector syntax. |
| 1545 | used when we do computations in lisp. | 1648 | A few examples, note how the @samp{N} mode is used when we do |
| 1649 | computations in lisp. | ||
| 1546 | 1650 | ||
| 1547 | @example | 1651 | @example |
| 1548 | @r{Swap the first two characters of the content of column 1} | 1652 | @r{Swap the first two characters of the content of column 1} |
| @@ -1567,12 +1671,11 @@ evaluated, and the current field replaced with the result. | |||
| 1567 | Formulas are stored in a special line starting with @samp{#+TBLFM:} | 1671 | Formulas are stored in a special line starting with @samp{#+TBLFM:} |
| 1568 | directly below the table. If you typed the equation in the 4th field of | 1672 | directly below the table. If you typed the equation in the 4th field of |
| 1569 | the 3rd data line in the table, the formula will look like | 1673 | the 3rd data line in the table, the formula will look like |
| 1570 | @samp{@@3$2=$1+$2}. When inserting/deleting/swapping column and rows | 1674 | @samp{@@3$4=$1+$2}. When inserting/deleting/swapping column and rows |
| 1571 | with the appropriate commands, @i{absolute references} (but not relative | 1675 | with the appropriate commands, @i{absolute references} (but not relative |
| 1572 | ones) in stored formulas are modified in order to | 1676 | ones) in stored formulas are modified in order to still reference the |
| 1573 | still reference the same field. Of cause this is not true if you edit | 1677 | same field. Of cause this is not true if you edit the table structure |
| 1574 | the table structure with normal editing commands - then you must go and | 1678 | with normal editing commands - then you must fix the equations yourself. |
| 1575 | fix equations yourself. | ||
| 1576 | 1679 | ||
| 1577 | Instead of typing an equation into the field, you may also use the | 1680 | Instead of typing an equation into the field, you may also use the |
| 1578 | following command | 1681 | following command |
| @@ -1593,7 +1696,9 @@ it to the current field and stores it. | |||
| 1593 | Often in a table, the same formula should be used for all fields in a | 1696 | Often in a table, the same formula should be used for all fields in a |
| 1594 | particular column. Instead of having to copy the formula to all fields | 1697 | particular column. Instead of having to copy the formula to all fields |
| 1595 | in that column, org-mode allows to assign a single formula to an entire | 1698 | in that column, org-mode allows to assign a single formula to an entire |
| 1596 | column. | 1699 | column. If the table contains horizontal separator hlines, everything |
| 1700 | before the first such line is considered part of the table @emph{header} | ||
| 1701 | and will not be modified by column formulas. | ||
| 1597 | 1702 | ||
| 1598 | To assign a formula to a column, type it directly into any field in the | 1703 | To assign a formula to a column, type it directly into any field in the |
| 1599 | column, preceded by an equal sign, like @samp{=$1+$2}. When you press | 1704 | column, preceded by an equal sign, like @samp{=$1+$2}. When you press |
| @@ -1626,7 +1731,11 @@ will apply it to that many consecutive fields in the current column. | |||
| 1626 | 1731 | ||
| 1627 | You can edit individual formulas in the minibuffer or directly in the | 1732 | You can edit individual formulas in the minibuffer or directly in the |
| 1628 | field. Org-mode can also prepare a special buffer with all active | 1733 | field. Org-mode can also prepare a special buffer with all active |
| 1629 | formulas of a table. | 1734 | formulas of a table. When offering a formula for editing, Org-mode |
| 1735 | converts references to the standard format (like @code{B3} or @code{D&}) | ||
| 1736 | if possible. If you prefer to only work with the internal format (like | ||
| 1737 | @code{@@3$2} or @code{$4}), configure the variable | ||
| 1738 | @code{org-table-use-standard-references}. | ||
| 1630 | 1739 | ||
| 1631 | @table @kbd | 1740 | @table @kbd |
| 1632 | @kindex C-c = | 1741 | @kindex C-c = |
| @@ -1645,21 +1754,36 @@ minibuffer is that you can use the command @kbd{C-c ?}. | |||
| 1645 | @item C-c ? | 1754 | @item C-c ? |
| 1646 | While editing a formula in a table field, highlight the field(s) | 1755 | While editing a formula in a table field, highlight the field(s) |
| 1647 | referenced by the reference at the cursor position in the formula. | 1756 | referenced by the reference at the cursor position in the formula. |
| 1757 | @kindex C-c @} | ||
| 1758 | @item C-c @} | ||
| 1759 | Toggle the display of row and column numbers for a table, using | ||
| 1760 | overlays. These are updated each time the table is aligned, you can | ||
| 1761 | force it with @kbd{C-c C-c}. | ||
| 1762 | @kindex C-c @{ | ||
| 1763 | @item C-c @{ | ||
| 1764 | Toggle the formula debugger on and off. See below. | ||
| 1648 | @kindex C-c ' | 1765 | @kindex C-c ' |
| 1649 | @item C-c ' | 1766 | @item C-c ' |
| 1650 | Edit all formulas for the current table in a special buffer, where the | 1767 | Edit all formulas for the current table in a special buffer, where the |
| 1651 | formulas will be displayed one per line. | 1768 | formulas will be displayed one per line. If the current field has an |
| 1769 | active formula, the cursor in the formula editor will mark it. | ||
| 1652 | While inside the special buffer, Org-mode will automatically highlight | 1770 | While inside the special buffer, Org-mode will automatically highlight |
| 1653 | any field or range reference at the cursor position. You may edit, | 1771 | any field or range reference at the cursor position. You may edit, |
| 1654 | remove and add formulas, and use the following commands: | 1772 | remove and add formulas, and use the following commands: |
| 1655 | @table @kbd | 1773 | @table @kbd |
| 1656 | @kindex C-c C-c | 1774 | @kindex C-c C-c |
| 1775 | @kindex C-x C-s | ||
| 1657 | @item C-c C-c | 1776 | @item C-c C-c |
| 1658 | Exit the buffer and store the modified formulas. With @kbd{C-u} prefix, | 1777 | @itemx C-x C-s |
| 1659 | also apply the new formulas to the entire table. | 1778 | Exit the formula editor and store the modified formulas. With @kbd{C-u} |
| 1779 | prefix, also apply the new formulas to the entire table. | ||
| 1660 | @kindex C-c C-q | 1780 | @kindex C-c C-q |
| 1661 | @item C-c C-q | 1781 | @item C-c C-q |
| 1662 | Exit the buffer without installing changes. | 1782 | Exit the formula editor without installing changes. |
| 1783 | @kindex C-c C-r | ||
| 1784 | @item C-c C-r | ||
| 1785 | Toggle all references in the formula editor between standard (like | ||
| 1786 | @code{B3}) and internal (like @code{@@3$2}). | ||
| 1663 | @kindex @key{TAB} | 1787 | @kindex @key{TAB} |
| 1664 | @item @key{TAB} | 1788 | @item @key{TAB} |
| 1665 | Pretty-print or indent lisp formula at point. When in a line containing | 1789 | Pretty-print or indent lisp formula at point. When in a line containing |
| @@ -1671,23 +1795,25 @@ formula, @key{TAB} re-indents just like in Emacs-lisp-mode. | |||
| 1671 | Complete Lisp symbols, just like in Emacs-lisp-mode. | 1795 | Complete Lisp symbols, just like in Emacs-lisp-mode. |
| 1672 | @kindex S-@key{up} | 1796 | @kindex S-@key{up} |
| 1673 | @kindex S-@key{down} | 1797 | @kindex S-@key{down} |
| 1674 | @item S-@key{up}/@key{down} | 1798 | @kindex S-@key{left} |
| 1675 | Move the reference line in the Org-mode buffer up and down. This is | 1799 | @kindex S-@key{right} |
| 1676 | important for highlighting the references of column formulas for | 1800 | @item S-@key{up}/@key{down}/@key{left}/@key{right} |
| 1677 | different rows. | 1801 | Shift the reference at point. For example, if the reference is |
| 1802 | @code{B3} and you press @kbd{S-@key{right}}, it will become @code{C3}. | ||
| 1803 | This also works for relative references, and for hline references. | ||
| 1804 | @kindex M-S-@key{up} | ||
| 1805 | @kindex M-S-@key{down} | ||
| 1806 | @item M-S-@key{up}/@key{down} | ||
| 1807 | Move the test line for column formulas in the Org-mode buffer up and | ||
| 1808 | down. | ||
| 1678 | @kindex M-@key{up} | 1809 | @kindex M-@key{up} |
| 1679 | @kindex M-@key{down} | 1810 | @kindex M-@key{down} |
| 1680 | @item M-@key{up}/@key{down} | 1811 | @item M-@key{up}/@key{down} |
| 1681 | Scroll the window displaying the table. | 1812 | Scroll the window displaying the table. |
| 1682 | @end table | ||
| 1683 | @kindex C-c @} | 1813 | @kindex C-c @} |
| 1684 | @item C-c @} | 1814 | @item C-c @} |
| 1685 | Toggle the display of row and column numbers for a table, using | 1815 | Turn the coordinate grid in the table on and off. |
| 1686 | overlays. These are uptated each time the table is aligned, you can | 1816 | @end table |
| 1687 | force it with @kbd{C-c C-c}. | ||
| 1688 | @kindex C-c @{ | ||
| 1689 | @item C-c @{ | ||
| 1690 | Toggle the formula debugger on and off. See below. | ||
| 1691 | @end table | 1817 | @end table |
| 1692 | 1818 | ||
| 1693 | Making a table field blank does not remove the formula associated with | 1819 | Making a table field blank does not remove the formula associated with |
| @@ -1708,8 +1834,8 @@ When the evaluation of a formula leads to an error, the field content | |||
| 1708 | becomes the string @samp{#ERROR}. If you would like see what is going | 1834 | becomes the string @samp{#ERROR}. If you would like see what is going |
| 1709 | on during variable substitution and calculation in order to find a bug, | 1835 | on during variable substitution and calculation in order to find a bug, |
| 1710 | turn on formula debugging in the @code{Tbl} menu and repeat the | 1836 | turn on formula debugging in the @code{Tbl} menu and repeat the |
| 1711 | calculation, for example by pressing @kbd{C-c = @key{RET}} in a field. | 1837 | calculation, for example by pressing @kbd{C-u C-u C-c = @key{RET}} in a |
| 1712 | Detailed information will be displayed. | 1838 | field. Detailed information will be displayed. |
| 1713 | 1839 | ||
| 1714 | @node Updating the table, Advanced features, Editing and debugging formulas, The spreadsheet | 1840 | @node Updating the table, Advanced features, Editing and debugging formulas, The spreadsheet |
| 1715 | @subsection Updating the Table | 1841 | @subsection Updating the Table |
| @@ -1728,14 +1854,14 @@ following commands: | |||
| 1728 | @item C-c * | 1854 | @item C-c * |
| 1729 | Recalculate the current row by first applying the stored column formulas | 1855 | Recalculate the current row by first applying the stored column formulas |
| 1730 | from left to right, and all field formulas in the current row. | 1856 | from left to right, and all field formulas in the current row. |
| 1731 | 1857 | @c | |
| 1732 | @kindex C-u C-c * | 1858 | @kindex C-u C-c * |
| 1733 | @item C-u C-c * | 1859 | @item C-u C-c * |
| 1734 | @kindex C-u C-c C-c | 1860 | @kindex C-u C-c C-c |
| 1735 | @itemx C-u C-c C-c | 1861 | @itemx C-u C-c C-c |
| 1736 | Recompute the entire table, line by line. Any lines before the first | 1862 | Recompute the entire table, line by line. Any lines before the first |
| 1737 | hline are left alone, assuming that these are part of the table header. | 1863 | hline are left alone, assuming that these are part of the table header. |
| 1738 | 1864 | @c | |
| 1739 | @kindex C-u C-u C-c * | 1865 | @kindex C-u C-u C-c * |
| 1740 | @item C-u C-u C-c * | 1866 | @item C-u C-u C-c * |
| 1741 | Iterate the table by recomputing it until no further changes occur. | 1867 | Iterate the table by recomputing it until no further changes occur. |
| @@ -1743,7 +1869,6 @@ This may be necessary if some computed fields use the value of other | |||
| 1743 | fields that are computed @i{later} in the calculation sequence. | 1869 | fields that are computed @i{later} in the calculation sequence. |
| 1744 | @end table | 1870 | @end table |
| 1745 | 1871 | ||
| 1746 | |||
| 1747 | @node Advanced features, , Updating the table, The spreadsheet | 1872 | @node Advanced features, , Updating the table, The spreadsheet |
| 1748 | @subsection Advanced features | 1873 | @subsection Advanced features |
| 1749 | 1874 | ||
| @@ -2058,7 +2183,7 @@ automatically created link is not working correctly or accurately | |||
| 2058 | enough, you can write custom functions to select the search string and | 2183 | enough, you can write custom functions to select the search string and |
| 2059 | to do the search for particular file types - see @ref{Custom searches}. | 2184 | to do the search for particular file types - see @ref{Custom searches}. |
| 2060 | The key binding @kbd{C-c l} is only a suggestion - see @ref{Installation}. | 2185 | The key binding @kbd{C-c l} is only a suggestion - see @ref{Installation}. |
| 2061 | 2186 | @c | |
| 2062 | @kindex C-c C-l | 2187 | @kindex C-c C-l |
| 2063 | @cindex link completion | 2188 | @cindex link completion |
| 2064 | @cindex completion, of links | 2189 | @cindex completion, of links |
| @@ -2068,24 +2193,26 @@ Insert a link. This prompts for a link to be inserted into the buffer. | |||
| 2068 | You can just type a link, using text for an internal link, or one of the | 2193 | You can just type a link, using text for an internal link, or one of the |
| 2069 | link type prefixes mentioned in the examples above. All links stored | 2194 | link type prefixes mentioned in the examples above. All links stored |
| 2070 | during the current session are part of the history for this prompt, so | 2195 | during the current session are part of the history for this prompt, so |
| 2071 | you can access them with @key{up} and @key{down}, or with | 2196 | you can access them with @key{up} and @key{down}. Completion, on the |
| 2072 | completion@footnote{After insertion of a stored link, the link will be | 2197 | other hand, will help you to insert valid link prefixes like |
| 2073 | removed from the list of stored links. To keep it in the list later | 2198 | @samp{http:} or @samp{ftp:}, including the prefixes defined through link |
| 2199 | abbreviations (@pxref{Link abbreviations}). The link will be inserted | ||
| 2200 | into the buffer@footnote{After insertion of a stored link, the link will | ||
| 2201 | be removed from the list of stored links. To keep it in the list later | ||
| 2074 | use, use a triple @kbd{C-u} prefix to @kbd{C-c C-l}, or configure the | 2202 | use, use a triple @kbd{C-u} prefix to @kbd{C-c C-l}, or configure the |
| 2075 | option @code{org-keep-stored-link-after-insertion}.}. The link will be | 2203 | option @code{org-keep-stored-link-after-insertion}.}, along with a |
| 2076 | inserted into the buffer, along with a descriptive text. If some text | 2204 | descriptive text. If some text was selected when this command is |
| 2077 | was selected when this command is called, the selected text becomes the | 2205 | called, the selected text becomes the default description.@* Note that |
| 2078 | default description.@* Note that you don't have to use this command to | 2206 | you don't have to use this command to insert a link. Links in Org-mode |
| 2079 | insert a link. Links in Org-mode are plain text, and you can type or | 2207 | are plain text, and you can type or paste them straight into the buffer. |
| 2080 | paste them straight into the buffer. By using this command, the links | 2208 | By using this command, the links are automatically enclosed in double |
| 2081 | are automatically enclosed in double brackets, and you will be asked for | 2209 | brackets, and you will be asked for the optional descriptive text. |
| 2082 | the optional descriptive text. | 2210 | @c |
| 2083 | |||
| 2084 | @c If the link is a @samp{file:} link and | 2211 | @c If the link is a @samp{file:} link and |
| 2085 | @c the linked file is located in the same directory as the current file or | 2212 | @c the linked file is located in the same directory as the current file or |
| 2086 | @c a subdirectory of it, the path of the file will be inserted relative to | 2213 | @c a subdirectory of it, the path of the file will be inserted relative to |
| 2087 | @c the current directory. | 2214 | @c the current directory. |
| 2088 | 2215 | @c | |
| 2089 | @kindex C-u C-c C-l | 2216 | @kindex C-u C-c C-l |
| 2090 | @cindex file name completion | 2217 | @cindex file name completion |
| 2091 | @cindex completion, of file names | 2218 | @cindex completion, of file names |
| @@ -2098,11 +2225,11 @@ directory or in a subdirectory of it, or if the path is written relative | |||
| 2098 | to the current directory using @samp{../}. Otherwise an absolute path | 2225 | to the current directory using @samp{../}. Otherwise an absolute path |
| 2099 | is used, if possible with @samp{~/} for your home directory. You can | 2226 | is used, if possible with @samp{~/} for your home directory. You can |
| 2100 | force an absolute path with two @kbd{C-u} prefixes. | 2227 | force an absolute path with two @kbd{C-u} prefixes. |
| 2101 | 2228 | @c | |
| 2102 | @item C-c C-l @r{with cursor on existing link} | 2229 | @item C-c C-l @r{(with cursor on existing link)} |
| 2103 | When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the | 2230 | When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the |
| 2104 | link and description parts of the link. | 2231 | link and description parts of the link. |
| 2105 | 2232 | @c | |
| 2106 | @cindex following links | 2233 | @cindex following links |
| 2107 | @kindex C-c C-o | 2234 | @kindex C-c C-o |
| 2108 | @item C-c C-o | 2235 | @item C-c C-o |
| @@ -2118,26 +2245,26 @@ suitable application for local non-text files. Classification of files | |||
| 2118 | is based on file extension only. See option @code{org-file-apps}. If | 2245 | is based on file extension only. See option @code{org-file-apps}. If |
| 2119 | you want to override the default application and visit the file with | 2246 | you want to override the default application and visit the file with |
| 2120 | Emacs, use a @kbd{C-u} prefix. | 2247 | Emacs, use a @kbd{C-u} prefix. |
| 2121 | 2248 | @c | |
| 2122 | @kindex mouse-2 | 2249 | @kindex mouse-2 |
| 2123 | @kindex mouse-1 | 2250 | @kindex mouse-1 |
| 2124 | @item mouse-2 | 2251 | @item mouse-2 |
| 2125 | @itemx mouse-1 | 2252 | @itemx mouse-1 |
| 2126 | On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} | 2253 | On links, @kbd{mouse-2} will open the link just as @kbd{C-c C-o} |
| 2127 | would. Under Emacs 22, also @kbd{mouse-1} will follow a link. | 2254 | would. Under Emacs 22, also @kbd{mouse-1} will follow a link. |
| 2128 | 2255 | @c | |
| 2129 | @kindex mouse-3 | 2256 | @kindex mouse-3 |
| 2130 | @item mouse-3 | 2257 | @item mouse-3 |
| 2131 | Like @kbd{mouse-2}, but force file links to be opened with Emacs, and | 2258 | Like @kbd{mouse-2}, but force file links to be opened with Emacs, and |
| 2132 | internal links to be displayed in another window@footnote{See the | 2259 | internal links to be displayed in another window@footnote{See the |
| 2133 | variable @code{org-display-internal-link-with-indirect-buffer}}. | 2260 | variable @code{org-display-internal-link-with-indirect-buffer}}. |
| 2134 | 2261 | @c | |
| 2135 | @cindex mark ring | 2262 | @cindex mark ring |
| 2136 | @kindex C-c % | 2263 | @kindex C-c % |
| 2137 | @item C-c % | 2264 | @item C-c % |
| 2138 | Push the current position onto the mark ring, to be able to return | 2265 | Push the current position onto the mark ring, to be able to return |
| 2139 | easily. Commands following an internal link do this automatically. | 2266 | easily. Commands following an internal link do this automatically. |
| 2140 | 2267 | @c | |
| 2141 | @cindex links, returning to | 2268 | @cindex links, returning to |
| 2142 | @kindex C-c & | 2269 | @kindex C-c & |
| 2143 | @item C-c & | 2270 | @item C-c & |
| @@ -2145,7 +2272,7 @@ Jump back to a recorded position. A position is recorded by the | |||
| 2145 | commands following internal links, and by @kbd{C-c %}. Using this | 2272 | commands following internal links, and by @kbd{C-c %}. Using this |
| 2146 | command several times in direct succession moves through a ring of | 2273 | command several times in direct succession moves through a ring of |
| 2147 | previously recorded positions. | 2274 | previously recorded positions. |
| 2148 | 2275 | @c | |
| 2149 | @kindex C-c C-x C-n | 2276 | @kindex C-c C-x C-n |
| 2150 | @kindex C-c C-x C-p | 2277 | @kindex C-c C-x C-p |
| 2151 | @cindex links, finding next/previous | 2278 | @cindex links, finding next/previous |
| @@ -2341,8 +2468,8 @@ use: | |||
| 2341 | @noindent In these entries, the character specifies how to select the | 2468 | @noindent In these entries, the character specifies how to select the |
| 2342 | template. The first string specifies the template. Two more (optional) | 2469 | template. The first string specifies the template. Two more (optional) |
| 2343 | strings give the file in which, and the headline under which the new | 2470 | strings give the file in which, and the headline under which the new |
| 2344 | note should be stored. The file defaults to | 2471 | note should be stored. The file defaults (if not present or @code{nil}) |
| 2345 | @code{org-default-notes-file}, the heading to | 2472 | to @code{org-default-notes-file}, the heading to |
| 2346 | @code{org-remember-default-headline}. Both defaults help to get to the | 2473 | @code{org-remember-default-headline}. Both defaults help to get to the |
| 2347 | storing location quickly, but you can change the location interactively | 2474 | storing location quickly, but you can change the location interactively |
| 2348 | while storing the note. | 2475 | while storing the note. |
| @@ -2398,8 +2525,7 @@ calendar | %:date" | |||
| 2398 | @end example | 2525 | @end example |
| 2399 | 2526 | ||
| 2400 | @noindent | 2527 | @noindent |
| 2401 | If you would like to have the cursor in a specific position after the | 2528 | To place the cursor after template expansion use: |
| 2402 | template has been expanded: | ||
| 2403 | 2529 | ||
| 2404 | @example | 2530 | @example |
| 2405 | %? @r{After completing the template, position cursor here.} | 2531 | %? @r{After completing the template, position cursor here.} |
| @@ -2408,7 +2534,7 @@ template has been expanded: | |||
| 2408 | @noindent | 2534 | @noindent |
| 2409 | If you change you mind about which template to use, call | 2535 | If you change you mind about which template to use, call |
| 2410 | @code{org-remember} in the remember buffer. You may then select a new | 2536 | @code{org-remember} in the remember buffer. You may then select a new |
| 2411 | template that will be filled with the previoous context information. | 2537 | template that will be filled with the previous context information. |
| 2412 | 2538 | ||
| 2413 | @node Storing notes, , Remember templates, Remember | 2539 | @node Storing notes, , Remember templates, Remember |
| 2414 | @subsection Storing notes | 2540 | @subsection Storing notes |
| @@ -2419,20 +2545,27 @@ target file - if you press @key{RET}, the value specified for the | |||
| 2419 | template is used. Then the command offers the headings tree of the | 2545 | template is used. Then the command offers the headings tree of the |
| 2420 | selected file, with the cursor position at the default headline (if you | 2546 | selected file, with the cursor position at the default headline (if you |
| 2421 | had specified one in the template). You can either immediately press | 2547 | had specified one in the template). You can either immediately press |
| 2422 | @key{RET} to get the note placed there. Or you can use vertical cursor | 2548 | @key{RET} to get the note placed there. Or you can use the following |
| 2423 | motion (@key{up} and @key{down}) and visibility cycling (@key{TAB}) to | 2549 | keys to find a better location: |
| 2424 | find a better place. Pressing @key{RET} or @key{left} or @key{right} | 2550 | @example |
| 2551 | @key{TAB} @r{Cycle visibility.} | ||
| 2552 | @key{down} / @key{up} @r{Next/previous visible headline.} | ||
| 2553 | n / p @r{Next/previous visible headline.} | ||
| 2554 | f / b @r{Next/previous headline same level.} | ||
| 2555 | u @r{One level up.} | ||
| 2556 | @c 0-9 @r{Digit argument.} | ||
| 2557 | @end example | ||
| 2558 | @noindent | ||
| 2559 | Pressing @key{RET} or @key{left} or @key{right} | ||
| 2425 | then leads to the following result. | 2560 | then leads to the following result. |
| 2426 | 2561 | ||
| 2427 | @multitable @columnfractions 0.2 0.1 0.7 | 2562 | @multitable @columnfractions 0.2 0.15 0.65 |
| 2428 | @item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted} | 2563 | @item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted} |
| 2429 | @item buffer-start @tab @key{RET} @tab as level 2 heading at end of file | 2564 | @item buffer-start @tab @key{RET} @tab as level 2 heading at end of file |
| 2430 | @item on headline @tab @key{RET} @tab as sublevel of the heading at cursor | 2565 | @item on headline @tab @key{RET} @tab as sublevel of the heading at cursor |
| 2431 | @item @tab @key{left} @tab as same level, before current heading | 2566 | @item @tab @key{left}/@key{right} @tab as same level, before/after current heading |
| 2432 | @item @tab @key{right} @tab as same level, after current heading | ||
| 2433 | @item not on headline @tab @key{RET} | 2567 | @item not on headline @tab @key{RET} |
| 2434 | @tab at cursor position, level taken from context. | 2568 | @tab at cursor position, level taken from context. |
| 2435 | Or use prefix arg to specify level manually. | ||
| 2436 | @end multitable | 2569 | @end multitable |
| 2437 | 2570 | ||
| 2438 | So a fast way to store the note to its default location is to press | 2571 | So a fast way to store the note to its default location is to press |
| @@ -2467,7 +2600,7 @@ things you have to do. | |||
| 2467 | * TODO basics:: Marking and displaying TODO entries | 2600 | * TODO basics:: Marking and displaying TODO entries |
| 2468 | * TODO extensions:: Workflow and assignments | 2601 | * TODO extensions:: Workflow and assignments |
| 2469 | * Priorities:: Some things are more important than others | 2602 | * Priorities:: Some things are more important than others |
| 2470 | * Breaking down tasks:: Splitting a task into managable pieces | 2603 | * Breaking down tasks:: Splitting a task into manageable pieces |
| 2471 | * Checkboxes:: Tick-off lists | 2604 | * Checkboxes:: Tick-off lists |
| 2472 | @end menu | 2605 | @end menu |
| 2473 | 2606 | ||
| @@ -2488,7 +2621,7 @@ The most important commands to work with TODO entries are: | |||
| 2488 | @kindex C-c C-t | 2621 | @kindex C-c C-t |
| 2489 | @cindex cycling, of TODO states | 2622 | @cindex cycling, of TODO states |
| 2490 | @item C-c C-t | 2623 | @item C-c C-t |
| 2491 | Rotate the TODO state of the current item between | 2624 | Rotate the TODO state of the current item among |
| 2492 | 2625 | ||
| 2493 | @example | 2626 | @example |
| 2494 | ,-> (unmarked) -> TODO -> DONE --. | 2627 | ,-> (unmarked) -> TODO -> DONE --. |
| @@ -2508,9 +2641,11 @@ useful if more than two TODO states are possible (@pxref{TODO extensions}). | |||
| 2508 | @item C-c C-v | 2641 | @item C-c C-v |
| 2509 | View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds | 2642 | View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds |
| 2510 | the entire buffer, but shows all TODO items and the headings hierarchy | 2643 | the entire buffer, but shows all TODO items and the headings hierarchy |
| 2511 | above them. With prefix arg, show also the DONE entries. With | 2644 | above them. With prefix arg, search for a specific TODO. You will be |
| 2512 | numerical prefix N, show the tree for the Nth keyword in the variable | 2645 | prompted for the keyword, and you can also give a list of keywords like |
| 2513 | @code{org-todo-keywords}. | 2646 | @code{kwd1|kwd2|...}. With numerical prefix N, show the tree for the |
| 2647 | Nth keyword in the variable @code{org-todo-keywords}. With two prefix | ||
| 2648 | args, find all TODO and DONE entries. | ||
| 2514 | @kindex C-c a t | 2649 | @kindex C-c a t |
| 2515 | @item C-c a t | 2650 | @item C-c a t |
| 2516 | Show the global TODO list. This collects the TODO items from all | 2651 | Show the global TODO list. This collects the TODO items from all |
| @@ -2523,16 +2658,14 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}). | |||
| 2523 | @c agenda, customize the variable @code{org-agenda-include-all-todo}. | 2658 | @c agenda, customize the variable @code{org-agenda-include-all-todo}. |
| 2524 | @end table | 2659 | @end table |
| 2525 | 2660 | ||
| 2526 | |||
| 2527 | @node TODO extensions, Priorities, TODO basics, TODO items | 2661 | @node TODO extensions, Priorities, TODO basics, TODO items |
| 2528 | @section Extended use of TODO keywords | 2662 | @section Extended use of TODO keywords |
| 2529 | @cindex extended TODO keywords | 2663 | @cindex extended TODO keywords |
| 2530 | 2664 | ||
| 2531 | The default implementation of TODO entries is just two states: TODO and | 2665 | The default implementation of TODO entries is just two states: TODO and |
| 2532 | DONE. You can, however, use the TODO feature for more complicated | 2666 | DONE. You can use the TODO feature for more complicated things by |
| 2533 | things by configuring the variables @code{org-todo-keywords} and | 2667 | configuring the variable @code{org-todo-keywords}. With special setup, |
| 2534 | @code{org-todo-interpretation}. Using special setup, you can even use | 2668 | the TODO keyword system can work differently in different files. |
| 2535 | TODO keywords in different ways in different org files. | ||
| 2536 | 2669 | ||
| 2537 | Note that @i{tags} are another way to classify headlines in general and | 2670 | Note that @i{tags} are another way to classify headlines in general and |
| 2538 | TODO items in particular (@pxref{Tags}). | 2671 | TODO items in particular (@pxref{Tags}). |
| @@ -2540,6 +2673,7 @@ TODO items in particular (@pxref{Tags}). | |||
| 2540 | @menu | 2673 | @menu |
| 2541 | * Workflow states:: From TODO to DONE in steps | 2674 | * Workflow states:: From TODO to DONE in steps |
| 2542 | * TODO types:: I do this, Fred the rest | 2675 | * TODO types:: I do this, Fred the rest |
| 2676 | * Multiple sets in one file:: Mixing it all, and still finding your way | ||
| 2543 | * Per file keywords:: Different files, different requirements | 2677 | * Per file keywords:: Different files, different requirements |
| 2544 | @end menu | 2678 | @end menu |
| 2545 | 2679 | ||
| @@ -2548,103 +2682,149 @@ TODO items in particular (@pxref{Tags}). | |||
| 2548 | @cindex TODO workflow | 2682 | @cindex TODO workflow |
| 2549 | @cindex workflow states as TODO keywords | 2683 | @cindex workflow states as TODO keywords |
| 2550 | 2684 | ||
| 2551 | You can use TODO keywords to indicate different states in the process | 2685 | You can use TODO keywords to indicate different @emph{sequential} states |
| 2552 | of working on an item, for example: | 2686 | in the process of working on an item, for example@footnote{Changing |
| 2687 | this variable only becomes effective after restarting Org-mode in a | ||
| 2688 | buffer.}: | ||
| 2553 | 2689 | ||
| 2554 | @lisp | 2690 | @lisp |
| 2555 | (setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE") | 2691 | (setq org-todo-keywords |
| 2556 | org-todo-interpretation 'sequence) | 2692 | '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) |
| 2557 | @end lisp | 2693 | @end lisp |
| 2558 | 2694 | ||
| 2695 | The vertical bar separates the TODO keywords (states that @emph{need | ||
| 2696 | action}) from the DONE states (which need @emph{no further action}. If | ||
| 2697 | you don't provide the separator bar, the last state is used as the DONE | ||
| 2698 | state. | ||
| 2559 | @cindex completion, of TODO keywords | 2699 | @cindex completion, of TODO keywords |
| 2560 | Changing these variables only becomes effective in a new Emacs session. | 2700 | With this setup, the command @kbd{C-c C-t} will cycle an entry from TODO |
| 2561 | With this setup, the command @kbd{C-c C-t} will cycle an entry from | 2701 | to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED. You may |
| 2562 | TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may also | 2702 | also use a prefix argument to quickly select a specific state. For |
| 2563 | use a prefix argument to quickly select a specific state. For example | 2703 | example @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. |
| 2564 | @kbd{C-3 C-c C-t} will change the state immediately to VERIFY. | ||
| 2565 | If you define many keywords, you can use in-buffer completion (see | 2704 | If you define many keywords, you can use in-buffer completion (see |
| 2566 | @ref{Completion}) to insert these words into the buffer. Changing a todo | 2705 | @ref{Completion}) to insert these words into the buffer. Changing a |
| 2567 | state can be logged with a timestamp, see @ref{Tracking TODO state | 2706 | todo state can be logged with a timestamp, see @ref{Tracking TODO state |
| 2568 | changes} for more information. | 2707 | changes} for more information. |
| 2569 | 2708 | ||
| 2570 | @node TODO types, Per file keywords, Workflow states, TODO extensions | 2709 | @node TODO types, Multiple sets in one file, Workflow states, TODO extensions |
| 2571 | @subsection TODO keywords as types | 2710 | @subsection TODO keywords as types |
| 2572 | @cindex TODO types | 2711 | @cindex TODO types |
| 2573 | @cindex names as TODO keywords | 2712 | @cindex names as TODO keywords |
| 2574 | @cindex types as TODO keywords | 2713 | @cindex types as TODO keywords |
| 2575 | 2714 | ||
| 2576 | The second possibility is to use TODO keywords to indicate different | 2715 | The second possibility is to use TODO keywords to indicate different |
| 2577 | types of action items. For example, you might want to indicate that | 2716 | @emph{types} of action items. For example, you might want to indicate |
| 2578 | items are for ``work'' or ``home''. If you are into David Allen's | 2717 | that items are for ``work'' or ``home''. Or, when you work with several |
| 2579 | @emph{Getting Things DONE}, you might want to use todo types | 2718 | people on a single project, you might want to assign action items |
| 2580 | @samp{NEXTACTION}, @samp{WAITING}, @samp{MAYBE}. Or, when you work | 2719 | directly to persons, by using their names as TODO keywords. This would |
| 2581 | with several people on a single project, you might want to assign | 2720 | be set up like this: |
| 2582 | action items directly to persons, by using their names as TODO | 2721 | |
| 2583 | keywords. This would be set up like this: | 2722 | @lisp |
| 2723 | (setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE"))) | ||
| 2724 | @end lisp | ||
| 2725 | |||
| 2726 | In this case, different keywords do not indicate a sequence, but rather | ||
| 2727 | different types. So the normal work flow would be to assign a task to a | ||
| 2728 | person, and later to mark it DONE. Org-mode supports this style by | ||
| 2729 | adapting the workings of the command @kbd{C-c C-t}@footnote{This is also | ||
| 2730 | true for the @kbd{t} command in the timeline and agenda buffers.}. When | ||
| 2731 | used several times in succession, it will still cycle through all names, | ||
| 2732 | in order to first select the right type for a task. But when you return | ||
| 2733 | to the item after some time and execute @kbd{C-c C-t} again, it will | ||
| 2734 | switch from any name directly to DONE. Use prefix arguments or | ||
| 2735 | completion to quickly select a specific name. You can also review the | ||
| 2736 | items of a specific TODO type in a sparse tree by using a numeric prefix | ||
| 2737 | to @kbd{C-c C-v}. For example, to see all things Lucy has to do, you | ||
| 2738 | would use @kbd{C-3 C-c C-v}. To collect Lucy's items from all agenda | ||
| 2739 | files into a single buffer, you would use the prefix arg as well when | ||
| 2740 | creating the global todo list: @kbd{C-3 C-c t}. | ||
| 2741 | |||
| 2742 | @node Multiple sets in one file, Per file keywords, TODO types, TODO extensions | ||
| 2743 | @subsection Multiple keyword sets in one file | ||
| 2744 | @cindex todo keyword sets | ||
| 2745 | |||
| 2746 | Sometimes you may want to use different sets of TODO keywords in | ||
| 2747 | parallel. For example, you may want to have the basic | ||
| 2748 | @code{TODO}/@code{DONE}, but also a workflow for bug fixing, and a | ||
| 2749 | separate state indicating that an item has been canceled (so it is not | ||
| 2750 | DONE, but also does not require action). Your setup would then look | ||
| 2751 | like this: | ||
| 2584 | 2752 | ||
| 2585 | @lisp | 2753 | @lisp |
| 2586 | (setq org-todo-keywords '("Fred" "Sara" "Lucy" "Mike" "DONE") | 2754 | (setq org-todo-keywords |
| 2587 | org-todo-interpretation 'type) | 2755 | '((sequence "TODO" "|" "DONE") |
| 2756 | (sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED") | ||
| 2757 | (sequence "|" "CANCELED"))) | ||
| 2588 | @end lisp | 2758 | @end lisp |
| 2589 | 2759 | ||
| 2590 | In this case, different keywords do not indicate a sequence, but | 2760 | The keywords should all be different, this helps Org-mode to keep track |
| 2591 | rather different types. So it is normally not useful to change from | 2761 | of which subsequence should be used for a given entry. In this setup, |
| 2592 | one type to another. Therefore, in this case the behavior of the | 2762 | @kbd{C-c C-t} only operates within a subsequence, so it switches from |
| 2593 | command @kbd{C-c C-t} is changed slightly@footnote{This is also true | 2763 | @code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to |
| 2594 | for the @kbd{t} command in the timeline and agenda buffers.}. When | 2764 | (nothing) to @code{REPORT}. Therefore you need a mechanism to initially |
| 2595 | used several times in succession, it will still cycle through all | 2765 | select the correct sequence. Besides the obvious ways like typing a |
| 2596 | names. But when you return to the item after some time and execute | 2766 | keyword or using completion, you may also apply the following commands: |
| 2597 | @kbd{C-c C-t} again, it will switch from each name directly to DONE. | 2767 | |
| 2598 | Use prefix arguments or completion to quickly select a specific name. | 2768 | @table @kbd |
| 2599 | You can also review the items of a specific TODO type in a sparse tree | 2769 | @kindex C-S-@key{right} |
| 2600 | by using a numeric prefix to @kbd{C-c C-v}. For example, to see all | 2770 | @kindex C-S-@key{left} |
| 2601 | things Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect | 2771 | @item C-S-@key{right} |
| 2602 | Lucy's items from all agenda files into a single buffer, you | 2772 | @itemx C-S-@key{left} |
| 2603 | would use the prefix arg as well when creating the global todo list: | 2773 | These keys jump from one TODO subset to the next. In the above example, |
| 2604 | @kbd{C-3 C-c t}. | 2774 | @kbd{C-S-@key{right}} would jump from @code{TODO} or @code{DONE} to |
| 2605 | 2775 | @code{REPORT}, and any of the words in the second row to @code{CANCELED}. | |
| 2606 | @node Per file keywords, , TODO types, TODO extensions | 2776 | @kindex S-@key{right} |
| 2607 | @subsection Setting up TODO keywords for individual files | 2777 | @kindex S-@key{left} |
| 2778 | @item S-@key{right} | ||
| 2779 | @itemx S-@key{left} | ||
| 2780 | @kbd{S-@key{<left>}} and @kbd{S-@key{<right>}} and walk through | ||
| 2781 | @emph{all} keywords from all sets, so for example @kbd{S-@key{<right>}} | ||
| 2782 | would switch from @code{DONE} to @code{REPORT} in the example above. | ||
| 2783 | @end table | ||
| 2784 | |||
| 2785 | @node Per file keywords, , Multiple sets in one file, TODO extensions | ||
| 2786 | @subsection Setting up keywords for individual files | ||
| 2608 | @cindex keyword options | 2787 | @cindex keyword options |
| 2609 | @cindex per file keywords | 2788 | @cindex per file keywords |
| 2610 | 2789 | ||
| 2611 | It can be very useful to use different aspects of the TODO mechanism | 2790 | It can be very useful to use different aspects of the TODO mechanism in |
| 2612 | in different files, which is not possible with the global settings | 2791 | different files. For file-local settings, you need to add special lines |
| 2613 | described above. For file-local settings, you need to add special | 2792 | to the file which set the keywords and interpretation for that file |
| 2614 | lines to the file which set the keywords and interpretation for that | 2793 | only. For example, to set one of the two examples discussed above, you |
| 2615 | file only. For example, to set one of the two examples discussed | 2794 | need one of the following lines, starting in column zero anywhere in the |
| 2616 | above, you need one of the following lines, starting in column zero | 2795 | file: |
| 2617 | anywhere in the file: | 2796 | |
| 2797 | @example | ||
| 2798 | #+SEQ_TODO: TODO FEEDBACK VERIFY | DONE CANCELED | ||
| 2799 | @end example | ||
| 2800 | or | ||
| 2801 | @example | ||
| 2802 | #+TYP_TODO: Fred Sara Lucy Mike | DONE | ||
| 2803 | @end example | ||
| 2804 | |||
| 2805 | A setup for using several sets in parallel would be: | ||
| 2618 | 2806 | ||
| 2619 | @example | 2807 | @example |
| 2620 | #+SEQ_TODO: TODO FEEDBACK VERIFY DONE | 2808 | #+SEQ_TODO: "TODO" "|" "DONE" |
| 2621 | #+TYP_TODO: Fred Sara Lucy Mike DONE | 2809 | #+SEQ_TODO: "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED" |
| 2810 | #+SEQ_TODO: "|" "CANCELED" | ||
| 2622 | @end example | 2811 | @end example |
| 2623 | 2812 | ||
| 2813 | |||
| 2624 | @cindex completion, of option keywords | 2814 | @cindex completion, of option keywords |
| 2625 | @kindex M-@key{TAB} | 2815 | @kindex M-@key{TAB} |
| 2626 | @noindent To make sure you are using the correct keyword, type | 2816 | @noindent To make sure you are using the correct keyword, type |
| 2627 | @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. | 2817 | @samp{#+} into the buffer and then use @kbd{M-@key{TAB}} completion. |
| 2628 | 2818 | ||
| 2629 | @cindex DONE, final TODO keyword | 2819 | @cindex DONE, final TODO keyword |
| 2630 | Remember that the last keyword must always mean that the item is DONE | 2820 | Remember that the keywords after the vertical bar (or the last keyword |
| 2631 | (although you may use a different word). Also note that in each file, | 2821 | if no bar is there) must always mean that the item is DONE (although you |
| 2632 | only one of the two aspects of TODO keywords can be used. After | 2822 | may use a different word). After changing one of these lines, use |
| 2633 | changing one of these lines, use @kbd{C-c C-c} with the cursor still | 2823 | @kbd{C-c C-c} with the cursor still in the line to make the changes |
| 2634 | in the line to make the changes known to Org-mode@footnote{Org-mode | 2824 | known to Org-mode@footnote{Org-mode parses these lines only when |
| 2635 | parses these lines only when Org-mode is activated after visiting a | 2825 | Org-mode is activated after visiting a file. @kbd{C-c C-c} with the |
| 2636 | file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#+} | 2826 | cursor in a line starting with @samp{#+} is simply restarting Org-mode |
| 2637 | is simply restarting Org-mode for the current buffer.}. | 2827 | for the current buffer.}. |
| 2638 | |||
| 2639 | If you want to use very many keywords, for example when working with a | ||
| 2640 | large group of people, you may split the names over several lines: | ||
| 2641 | |||
| 2642 | @example | ||
| 2643 | #+TYP_TODO: Fred Sara Lucy Mike | ||
| 2644 | #+TYP_TODO: Luis George Jules Jessica | ||
| 2645 | #+TYP_TODO: Kim Arnold Peter | ||
| 2646 | #+TYP_TODO: DONE | ||
| 2647 | @end example | ||
| 2648 | 2828 | ||
| 2649 | @node Priorities, Breaking down tasks, TODO extensions, TODO items | 2829 | @node Priorities, Breaking down tasks, TODO extensions, TODO items |
| 2650 | @section Priorities | 2830 | @section Priorities |
| @@ -2673,7 +2853,7 @@ priority character @samp{A}, @samp{B} or @samp{C}. When you press | |||
| 2673 | @key{SPC} instead, the priority cookie is removed from the headline. | 2853 | @key{SPC} instead, the priority cookie is removed from the headline. |
| 2674 | The priorities can also be changed ``remotely'' from the timeline and | 2854 | The priorities can also be changed ``remotely'' from the timeline and |
| 2675 | agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). | 2855 | agenda buffer with the @kbd{,} command (@pxref{Agenda commands}). |
| 2676 | 2856 | @c | |
| 2677 | @kindex S-@key{up} | 2857 | @kindex S-@key{up} |
| 2678 | @kindex S-@key{down} | 2858 | @kindex S-@key{down} |
| 2679 | @item S-@key{up} | 2859 | @item S-@key{up} |
| @@ -2683,11 +2863,22 @@ are also used to modify time stamps (@pxref{Creating timestamps}). | |||
| 2683 | Furthermore, these keys are also used by CUA-mode (@pxref{Conflicts}). | 2863 | Furthermore, these keys are also used by CUA-mode (@pxref{Conflicts}). |
| 2684 | @end table | 2864 | @end table |
| 2685 | 2865 | ||
| 2866 | You can change the range of allowed priorities by setting the variables | ||
| 2867 | @code{org-highest-priority}, @code{org-lowest-priority}, and | ||
| 2868 | @code{org-default-priority}. For an individual buffer, you may set | ||
| 2869 | these values (highest, lowest, default) like this (please make sure that | ||
| 2870 | the highest priority is earlier in the alphabet than the lowest | ||
| 2871 | priority): | ||
| 2872 | |||
| 2873 | @example | ||
| 2874 | #+PRIORITIES: A C B | ||
| 2875 | @end example | ||
| 2876 | |||
| 2686 | @node Breaking down tasks, Checkboxes, Priorities, TODO items | 2877 | @node Breaking down tasks, Checkboxes, Priorities, TODO items |
| 2687 | @section Breaking tasks down into subtasks | 2878 | @section Breaking tasks down into subtasks |
| 2688 | @cindex tasks, breaking down | 2879 | @cindex tasks, breaking down |
| 2689 | 2880 | ||
| 2690 | It is often advisable to break down large tasks into smaller, managable | 2881 | It is often advisable to break down large tasks into smaller, manageable |
| 2691 | subtasks. You can do this by creating an outline tree below a TODO | 2882 | subtasks. You can do this by creating an outline tree below a TODO |
| 2692 | item, with detailed subtasks on the tree@footnote{To keep subtasks out | 2883 | item, with detailed subtasks on the tree@footnote{To keep subtasks out |
| 2693 | of the global TODO list, see the | 2884 | of the global TODO list, see the |
| @@ -2780,8 +2971,7 @@ planning. | |||
| 2780 | @menu | 2971 | @menu |
| 2781 | * Time stamps:: Assigning a time to a tree entry | 2972 | * Time stamps:: Assigning a time to a tree entry |
| 2782 | * Creating timestamps:: Commands which insert timestamps | 2973 | * Creating timestamps:: Commands which insert timestamps |
| 2783 | * Custom time format:: If you cannot work with the ISO format | 2974 | * Deadlines and scheduling:: Planning your work |
| 2784 | * Repeating items:: Deadlines that come back again and again | ||
| 2785 | * Progress logging:: Documenting when what work was done. | 2975 | * Progress logging:: Documenting when what work was done. |
| 2786 | @end menu | 2976 | @end menu |
| 2787 | 2977 | ||
| @@ -2799,7 +2989,7 @@ special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 Tue | |||
| 2799 | 09:39>}@footnote{This is the standard ISO date/time format. If you | 2989 | 09:39>}@footnote{This is the standard ISO date/time format. If you |
| 2800 | cannot get used to these, see @ref{Custom time format}}. A time stamp | 2990 | cannot get used to these, see @ref{Custom time format}}. A time stamp |
| 2801 | can appear anywhere in the headline or body of an org-tree entry. Its | 2991 | can appear anywhere in the headline or body of an org-tree entry. Its |
| 2802 | presence allows entries to be shown on specific dates in the agenda | 2992 | presence causes entries to be shown on specific dates in the agenda |
| 2803 | (@pxref{Weekly/Daily agenda}). We distinguish: | 2993 | (@pxref{Weekly/Daily agenda}). We distinguish: |
| 2804 | 2994 | ||
| 2805 | @table @var | 2995 | @table @var |
| @@ -2815,76 +3005,53 @@ associated with a plain time stamp will be shown exactly on that date. | |||
| 2815 | * Meet Peter at the movies <2006-11-01 Wed 19:15> | 3005 | * Meet Peter at the movies <2006-11-01 Wed 19:15> |
| 2816 | @end example | 3006 | @end example |
| 2817 | 3007 | ||
| 2818 | @item Inactive time stamp | 3008 | @item Time stamp with repeater interval |
| 2819 | @cindex timestamp, inactive | 3009 | @cindex timestamp, with repeater interval |
| 2820 | @cindex inactive timestamp | 3010 | A time stamp may contain a @emph{repeater interval}, indicating that it |
| 2821 | Just like a plain time stamp, but with square brackets instead of | 3011 | applies not only on the given date, but again and again after a certain |
| 2822 | angular ones. These time stamps are inactive in the sense that they do | 3012 | interval of N days (d), weeks (w), months(m), or years(y). The |
| 2823 | @emph{not} trigger an entry to show up in the agenda. | 3013 | following will show up in the agenda every Wednesday: |
| 2824 | 3014 | ||
| 2825 | @example | 3015 | @example |
| 2826 | * Gillian comes late for the fifth time [2006-11-01 Wed] | 3016 | * Pick up Sam at school <2007-05-16 Wed 12:30 +1w> |
| 2827 | @end example | 3017 | @end example |
| 2828 | 3018 | ||
| 2829 | @item Time stamp range | 3019 | @item Diary-style sexp entries |
| 2830 | @cindex timerange | 3020 | For more complex date specifications, Org-mode supports using the |
| 2831 | Two time stamps connected by @samp{--} denote a time range. The | 3021 | special sexp diary entries implemented in the Emacs calendar/diary |
| 2832 | headline will be shown on the first and last day of the range, and on | 3022 | package. For example |
| 2833 | any dates that are displayed and fall in the range. Here is an | ||
| 2834 | example: | ||
| 2835 | 3023 | ||
| 2836 | @example | 3024 | @example |
| 2837 | ** Meeting in Amsterdam | 3025 | * The nerd meeting on every 2nd Thursday of the month |
| 2838 | <2004-08-23 Mon>--<2004-08-26 Thu> | 3026 | <%%(diary-float t 4 2)> |
| 2839 | @end example | 3027 | @end example |
| 2840 | 3028 | ||
| 2841 | @item Time stamp with SCHEDULED keyword | 3029 | @item Time/Date range |
| 2842 | @cindex SCHEDULED keyword | 3030 | @cindex timerange |
| 2843 | If a time stamp is preceded by the word @samp{SCHEDULED:}, it means you | 3031 | @cindex date range |
| 2844 | are planning to start working on that task on the given date. So this is | 3032 | Two time stamps connected by @samp{--} denote a range. The headline |
| 2845 | not about recording an event, but about planning your work. The | 3033 | will be shown on the first and last day of the range, and on any dates |
| 2846 | headline will be listed under the given date@footnote{It will still be | 3034 | that are displayed and fall in the range. Here is an example: |
| 2847 | listed on that date after it has been marked DONE. If you don't like | ||
| 2848 | this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In | ||
| 2849 | addition, a reminder that the scheduled date has passed will be present | ||
| 2850 | in the compilation for @emph{today}, until the entry is marked DONE. | ||
| 2851 | I.e., the task will automatically be forwarded until completed. | ||
| 2852 | 3035 | ||
| 2853 | @example | 3036 | @example |
| 2854 | *** TODO Call Trillian for a date on New Years Eve. | 3037 | ** Meeting in Amsterdam |
| 2855 | SCHEDULED: <2004-12-25 Sat> | 3038 | <2004-08-23 Mon>--<2004-08-26 Thu> |
| 2856 | @end example | 3039 | @end example |
| 2857 | 3040 | ||
| 2858 | @item Time stamp with DEADLINE keyword | 3041 | @item Inactive time stamp |
| 2859 | @cindex DEADLINE keyword | 3042 | @cindex timestamp, inactive |
| 2860 | If a time stamp is preceded by the word @samp{DEADLINE:}, the task | 3043 | @cindex inactive timestamp |
| 2861 | (most likely a TODO item) is supposed to be finished on that date, and | 3044 | Just like a plain time stamp, but with square brackets instead of |
| 2862 | it will be listed then. In addition, the compilation for @emph{today} | 3045 | angular ones. These time stamps are inactive in the sense that they do |
| 2863 | will carry a warning about the approaching or missed deadline, | 3046 | @emph{not} trigger an entry to show up in the agenda. |
| 2864 | starting @code{org-deadline-warning-days} before the due date, and | ||
| 2865 | continuing until the entry is marked DONE. An example: | ||
| 2866 | 3047 | ||
| 2867 | @example | 3048 | @example |
| 2868 | *** TODO write article about the Earth for the Guide | 3049 | * Gillian comes late for the fifth time [2006-11-01 Wed] |
| 2869 | The editor in charge is [[bbdb:Ford Prefect]] | ||
| 2870 | DEADLINE: <2004-02-29 Sun> | ||
| 2871 | @end example | 3050 | @end example |
| 2872 | @item Time stamp with CLOSED keyword | 3051 | |
| 2873 | @cindex CLOSED keyword | ||
| 2874 | When @code{org-log-done} is non-nil, Org-mode will automatically insert | ||
| 2875 | a special time stamp each time a TODO entry is marked done | ||
| 2876 | (@pxref{Progress logging}). This time stamp is enclosed in square | ||
| 2877 | brackets instead of angular brackets. | ||
| 2878 | |||
| 2879 | @item Time range with CLOCK keyword | ||
| 2880 | @cindex CLOCK keyword | ||
| 2881 | When using the clock to time the work that is being done on specific | ||
| 2882 | items, time ranges preceded by the CLOCK keyword are inserted | ||
| 2883 | automatically into the file. The time stamps are enclosed in square | ||
| 2884 | brackets instead of angular brackets. @xref{Clocking work time}. | ||
| 2885 | @end table | 3052 | @end table |
| 2886 | 3053 | ||
| 2887 | @node Creating timestamps, Custom time format, Time stamps, Timestamps | 3054 | @node Creating timestamps, Deadlines and scheduling, Time stamps, Timestamps |
| 2888 | @section Creating timestamps | 3055 | @section Creating timestamps |
| 2889 | @cindex creating timestamps | 3056 | @cindex creating timestamps |
| 2890 | @cindex timestamps, creating | 3057 | @cindex timestamps, creating |
| @@ -2899,61 +3066,40 @@ format. | |||
| 2899 | Prompt for a date and insert a corresponding time stamp. When the | 3066 | Prompt for a date and insert a corresponding time stamp. When the |
| 2900 | cursor is at a previously used time stamp, it is updated to NOW. When | 3067 | cursor is at a previously used time stamp, it is updated to NOW. When |
| 2901 | this command is used twice in succession, a time range is inserted. | 3068 | this command is used twice in succession, a time range is inserted. |
| 2902 | 3069 | @c | |
| 2903 | @kindex C-u C-c . | 3070 | @kindex C-u C-c . |
| 2904 | @item C-u C-c . | 3071 | @item C-u C-c . |
| 2905 | Like @kbd{C-c .}, but use the alternative format which contains date | 3072 | Like @kbd{C-c .}, but use the alternative format which contains date |
| 2906 | and time. The default time can be rounded to multiples of 5 minutes, | 3073 | and time. The default time can be rounded to multiples of 5 minutes, |
| 2907 | see the option @code{org-time-stamp-rounding-minutes}. | 3074 | see the option @code{org-time-stamp-rounding-minutes}. |
| 2908 | 3075 | @c | |
| 2909 | @kindex C-c ! | 3076 | @kindex C-c ! |
| 2910 | @item C-c ! | 3077 | @item C-c ! |
| 2911 | Like @kbd{C-c .}, but insert an inactive time stamp not triggering the | 3078 | Like @kbd{C-c .}, but insert an inactive time stamp that will not cause |
| 2912 | agenda. | 3079 | an agenda entry. |
| 2913 | 3080 | @c | |
| 2914 | @kindex C-c < | 3081 | @kindex C-c < |
| 2915 | @item C-c < | 3082 | @item C-c < |
| 2916 | Insert a time stamp corresponding to the cursor date in the Calendar. | 3083 | Insert a time stamp corresponding to the cursor date in the Calendar. |
| 2917 | 3084 | @c | |
| 2918 | @kindex C-c > | 3085 | @kindex C-c > |
| 2919 | @item C-c > | 3086 | @item C-c > |
| 2920 | Access the Emacs calendar for the current date. If there is a | 3087 | Access the Emacs calendar for the current date. If there is a |
| 2921 | timestamp in the current line, goto the corresponding date | 3088 | timestamp in the current line, goto the corresponding date |
| 2922 | instead. | 3089 | instead. |
| 2923 | 3090 | @c | |
| 2924 | @kindex C-c C-o | 3091 | @kindex C-c C-o |
| 2925 | @item C-c C-o | 3092 | @item C-c C-o |
| 2926 | Access the agenda for the date given by the time stamp or -range at | 3093 | Access the agenda for the date given by the time stamp or -range at |
| 2927 | point (@pxref{Weekly/Daily agenda}). | 3094 | point (@pxref{Weekly/Daily agenda}). |
| 2928 | 3095 | @c | |
| 2929 | @kindex C-c C-d | ||
| 2930 | @item C-c C-d | ||
| 2931 | Insert @samp{DEADLINE} keyword along with a stamp. The insertion will | ||
| 2932 | happen in the line directly following the headline. | ||
| 2933 | @c FIXME Any CLOSED timestamp will be removed.???????? | ||
| 2934 | |||
| 2935 | @kindex C-c C-w | ||
| 2936 | @cindex sparse tree, for deadlines | ||
| 2937 | @item C-c C-w | ||
| 2938 | Create a sparse tree with all deadlines that are either past-due, or | ||
| 2939 | which will become due within @code{org-deadline-warning-days}. | ||
| 2940 | With @kbd{C-u} prefix, show all deadlines in the file. With a numeric | ||
| 2941 | prefix, check that many days. For example, @kbd{C-1 C-c C-w} shows | ||
| 2942 | all deadlines due tomorrow. | ||
| 2943 | |||
| 2944 | @kindex C-c C-s | ||
| 2945 | @item C-c C-s | ||
| 2946 | Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will | ||
| 2947 | happen in the line directly following the headline. Any CLOSED | ||
| 2948 | timestamp will be removed. | ||
| 2949 | |||
| 2950 | @kindex S-@key{left} | 3096 | @kindex S-@key{left} |
| 2951 | @kindex S-@key{right} | 3097 | @kindex S-@key{right} |
| 2952 | @item S-@key{left} | 3098 | @item S-@key{left} |
| 2953 | @itemx S-@key{right} | 3099 | @itemx S-@key{right} |
| 2954 | Change date at cursor by one day. These key bindings conflict with | 3100 | Change date at cursor by one day. These key bindings conflict with |
| 2955 | CUA-mode (@pxref{Conflicts}). | 3101 | CUA-mode (@pxref{Conflicts}). |
| 2956 | 3102 | @c | |
| 2957 | @kindex S-@key{up} | 3103 | @kindex S-@key{up} |
| 2958 | @kindex S-@key{down} | 3104 | @kindex S-@key{down} |
| 2959 | @item S-@key{up} | 3105 | @item S-@key{up} |
| @@ -2963,8 +3109,7 @@ year, month, day, hour or minute. Note that if the cursor is in a | |||
| 2963 | headline and not at a time stamp, these same keys modify the priority of | 3109 | headline and not at a time stamp, these same keys modify the priority of |
| 2964 | an item. (@pxref{Priorities}). The key bindings also conflict with | 3110 | an item. (@pxref{Priorities}). The key bindings also conflict with |
| 2965 | CUA-mode (@pxref{Conflicts}). | 3111 | CUA-mode (@pxref{Conflicts}). |
| 2966 | 3112 | @c | |
| 2967 | |||
| 2968 | @kindex C-c C-y | 3113 | @kindex C-c C-y |
| 2969 | @cindex evaluate time range | 3114 | @cindex evaluate time range |
| 2970 | @item C-c C-y | 3115 | @item C-c C-y |
| @@ -2976,9 +3121,10 @@ into the following column). | |||
| 2976 | 3121 | ||
| 2977 | @menu | 3122 | @menu |
| 2978 | * The date/time prompt:: How org-mode helps you entering date and time | 3123 | * The date/time prompt:: How org-mode helps you entering date and time |
| 3124 | * Custom time format:: Making dates look differently | ||
| 2979 | @end menu | 3125 | @end menu |
| 2980 | 3126 | ||
| 2981 | @node The date/time prompt, , Creating timestamps, Creating timestamps | 3127 | @node The date/time prompt, Custom time format, Creating timestamps, Creating timestamps |
| 2982 | @subsection The date/time prompt | 3128 | @subsection The date/time prompt |
| 2983 | @cindex date, reading in minibuffer | 3129 | @cindex date, reading in minibuffer |
| 2984 | @cindex time, reading in minibuffer | 3130 | @cindex time, reading in minibuffer |
| @@ -3047,8 +3193,8 @@ One month back. | |||
| 3047 | Choose date in calendar (only if nothing was typed into minibuffer). | 3193 | Choose date in calendar (only if nothing was typed into minibuffer). |
| 3048 | @end table | 3194 | @end table |
| 3049 | 3195 | ||
| 3050 | @node Custom time format, Repeating items, Creating timestamps, Timestamps | 3196 | @node Custom time format, , The date/time prompt, Creating timestamps |
| 3051 | @section Custom time format | 3197 | @subsection Custom time format |
| 3052 | @cindex custom date/time format | 3198 | @cindex custom date/time format |
| 3053 | @cindex time format, custom | 3199 | @cindex time format, custom |
| 3054 | @cindex date format, custom | 3200 | @cindex date format, custom |
| @@ -3090,48 +3236,119 @@ using dates in tables, table alignment will be messed up. If the custom | |||
| 3090 | format is shorter, things do work as expected. | 3236 | format is shorter, things do work as expected. |
| 3091 | @end itemize | 3237 | @end itemize |
| 3092 | 3238 | ||
| 3093 | @node Repeating items, Progress logging, Custom time format, Timestamps | ||
| 3094 | @section Repeating items | ||
| 3095 | @cindex TODO items, repeating | ||
| 3096 | @cindex deadlines, repeating | ||
| 3097 | @cindex scheduling, repeating | ||
| 3098 | |||
| 3099 | Org-mode integrates with the Emacs calendar and diary to display cyclic | ||
| 3100 | appointments, anniversaries and other special entries in the agenda | ||
| 3101 | (@pxref{Weekly/Daily agenda}). However, it can be useful to have | ||
| 3102 | certain deadlines and scheduling items to auto-repeat. The advantage of | ||
| 3103 | a deadline or scheduled item is that the they produce warnings ahead of | ||
| 3104 | time and automatically forward themselves in the agenda until they are | ||
| 3105 | done. The abstract difference is therefore between cyclic | ||
| 3106 | @i{appointments} and cyclic @i{action items}. For appointments you | ||
| 3107 | should use the diary, for actions you can uses an org-mode deadline or | ||
| 3108 | scheduling time stamp together with a REPEAT cookie. For example: | ||
| 3109 | 3239 | ||
| 3240 | @node Deadlines and scheduling, Progress logging, Creating timestamps, Timestamps | ||
| 3241 | @section Deadlines and Scheduling | ||
| 3242 | |||
| 3243 | A time stamp may be preceded by special keywords to facilitate planning | ||
| 3244 | of work: | ||
| 3245 | |||
| 3246 | @table @var | ||
| 3247 | @item DEADLINE | ||
| 3248 | @cindex DEADLINE keyword | ||
| 3249 | The task (most likely a TODO item) is supposed to be finished on that | ||
| 3250 | date, and it will be listed then. In addition, the compilation for | ||
| 3251 | @emph{today} will carry a warning about the approaching or missed | ||
| 3252 | deadline, starting @code{org-deadline-warning-days} before the due date, | ||
| 3253 | and continuing until the entry is marked DONE. An example: | ||
| 3254 | |||
| 3255 | @example | ||
| 3256 | *** TODO write article about the Earth for the Guide | ||
| 3257 | The editor in charge is [[bbdb:Ford Prefect]] | ||
| 3258 | DEADLINE: <2004-02-29 Sun> | ||
| 3259 | @end example | ||
| 3260 | |||
| 3261 | @item SCHEDULED | ||
| 3262 | @cindex SCHEDULED keyword | ||
| 3263 | You are planning to start working on that task on the given date. The | ||
| 3264 | headline will be listed under the given date@footnote{It will still be | ||
| 3265 | listed on that date after it has been marked DONE. If you don't like | ||
| 3266 | this, set the variable @code{org-agenda-skip-scheduled-if-done}.}. In | ||
| 3267 | addition, a reminder that the scheduled date has passed will be present | ||
| 3268 | in the compilation for @emph{today}, until the entry is marked DONE. | ||
| 3269 | I.e., the task will automatically be forwarded until completed. | ||
| 3270 | |||
| 3271 | @example | ||
| 3272 | *** TODO Call Trillian for a date on New Years Eve. | ||
| 3273 | SCHEDULED: <2004-12-25 Sat> | ||
| 3274 | @end example | ||
| 3275 | @end table | ||
| 3276 | |||
| 3277 | @menu | ||
| 3278 | * Inserting deadline/schedule:: | ||
| 3279 | * Repeated tasks:: | ||
| 3280 | @end menu | ||
| 3281 | |||
| 3282 | @node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling | ||
| 3283 | @subsection Inserting deadline/schedule | ||
| 3284 | |||
| 3285 | The following commands allow to quickly insert a deadline or to schedule | ||
| 3286 | an item: | ||
| 3287 | |||
| 3288 | @table @kbd | ||
| 3289 | @c | ||
| 3290 | @kindex C-c C-d | ||
| 3291 | @item C-c C-d | ||
| 3292 | Insert @samp{DEADLINE} keyword along with a stamp. The insertion will | ||
| 3293 | happen in the line directly following the headline. | ||
| 3294 | @c FIXME Any CLOSED timestamp will be removed.???????? | ||
| 3295 | @c | ||
| 3296 | @kindex C-c C-w | ||
| 3297 | @cindex sparse tree, for deadlines | ||
| 3298 | @item C-c C-w | ||
| 3299 | Create a sparse tree with all deadlines that are either past-due, or | ||
| 3300 | which will become due within @code{org-deadline-warning-days}. | ||
| 3301 | With @kbd{C-u} prefix, show all deadlines in the file. With a numeric | ||
| 3302 | prefix, check that many days. For example, @kbd{C-1 C-c C-w} shows | ||
| 3303 | all deadlines due tomorrow. | ||
| 3304 | @c | ||
| 3305 | @kindex C-c C-s | ||
| 3306 | @item C-c C-s | ||
| 3307 | Insert @samp{SCHEDULED} keyword along with a stamp. The insertion will | ||
| 3308 | happen in the line directly following the headline. Any CLOSED | ||
| 3309 | timestamp will be removed. | ||
| 3310 | @end table | ||
| 3311 | |||
| 3312 | @node Repeated tasks, , Inserting deadline/schedule, Deadlines and scheduling | ||
| 3313 | @subsection Repeated Tasks | ||
| 3314 | |||
| 3315 | Some tasks need to be repeated again and again, and Org-mode therefore | ||
| 3316 | allows to use a repeater in a DEADLINE or SCHEDULED time stamp, for | ||
| 3317 | example: | ||
| 3110 | @example | 3318 | @example |
| 3111 | * TODO Replace batteries in smoke detector REPEAT(+18m) | 3319 | ** TODO Pay the rent |
| 3112 | SCHEDULED: <2007-01-01 Mon> | 3320 | DEADLINE: <2005-10-01 Sat +1m> |
| 3321 | @end example | ||
| 3113 | 3322 | ||
| 3114 | * TODO Get dentist appointment REPEAT(+6m) | 3323 | Deadlines and scheduled items produce entries in the agenda when they |
| 3115 | SCHEDULED: <2006-12-19 Tue> | 3324 | are over-due, so it is important to be able to mark such an entry as |
| 3325 | completed once you have done so. When you mark a DEADLINE or a SCHEDULE | ||
| 3326 | with the todo keyword DONE, it will no longer produce entries in the | ||
| 3327 | agenda. The problem with this is, however, that then also the | ||
| 3328 | @emph{next} instance of the repeated entry will not be active. Org-mode | ||
| 3329 | deals with this in the following way: When you try to mark such an entry | ||
| 3330 | DONE (using @kbd{C-c C-t}), it will shift the base date of the repeating | ||
| 3331 | time stamp by the repeater interval, and immediately set the entry state | ||
| 3332 | back to TODO. In the example above, setting the state to DONE would | ||
| 3333 | actually switch the date like this: | ||
| 3116 | 3334 | ||
| 3117 | * TODO Tax report to IRS REPEAT(+1y) | 3335 | @example |
| 3118 | DEADLINE: <2007-04-01 Sun> | 3336 | ** TODO Pay the rent |
| 3337 | DEADLINE: <2005-11-01 Tue +1m> | ||
| 3119 | @end example | 3338 | @end example |
| 3120 | 3339 | ||
| 3121 | Each time you try to mark one of these entries DONE using @kbd{C-c C-t}, | 3340 | You will also be prompted for a note that will be put under the DEADLINE |
| 3122 | they will automatically switch back to the state TODO, and the | 3341 | line to keep a record that you actually acted on the previous instance |
| 3123 | deadline/scheduling will be shifted accordingly. The time units | 3342 | of this deadline. |
| 3124 | recognized by org-mode are year (y), month (m), week (w), and day (d). | 3343 | |
| 3125 | Org-mode will also prompt you for a note and record the fact that you | 3344 | As a consequence of shifting the base date, this entry will no longer be |
| 3126 | have closed this item in a note under the headline. | 3345 | visible in the agenda when checking past dates, but all future instances |
| 3346 | will be visible. | ||
| 3127 | 3347 | ||
| 3128 | One unusual property of these repeating items is that only one instance | 3348 | You may have both scheduling and deadline information for a specific |
| 3129 | of each exist at any given time. So if you look back or ahead in the | 3349 | task - just make sure that the repeater intervals on both are the same. |
| 3130 | agenda, you will not find past and future instances, only the current | ||
| 3131 | one will show up. Use a cyclic diary entry if you need all past and | ||
| 3132 | future instances to be visible in the agenda. | ||
| 3133 | 3350 | ||
| 3134 | @node Progress logging, , Repeating items, Timestamps | 3351 | @node Progress logging, , Deadlines and scheduling, Timestamps |
| 3135 | @section Progress Logging | 3352 | @section Progress Logging |
| 3136 | @cindex progress logging | 3353 | @cindex progress logging |
| 3137 | @cindex logging, of progress | 3354 | @cindex logging, of progress |
| @@ -3199,6 +3416,7 @@ these into a separate file that starts with: | |||
| 3199 | #+STARTUP: lognotestate | 3416 | #+STARTUP: lognotestate |
| 3200 | @end example | 3417 | @end example |
| 3201 | 3418 | ||
| 3419 | |||
| 3202 | @node Clocking work time, , Tracking TODO state changes, Progress logging | 3420 | @node Clocking work time, , Tracking TODO state changes, Progress logging |
| 3203 | @subsection Clocking work time | 3421 | @subsection Clocking work time |
| 3204 | 3422 | ||
| @@ -3743,6 +3961,23 @@ Sunrise/Sunset times, show lunar phases and to convert to other | |||
| 3743 | calendars, respectively. @kbd{c} can be used to switch back and forth | 3961 | calendars, respectively. @kbd{c} can be used to switch back and forth |
| 3744 | between calendar and agenda. | 3962 | between calendar and agenda. |
| 3745 | 3963 | ||
| 3964 | If you are using the diary only for sexp entries and holidays, it is | ||
| 3965 | faster to not use the above setting, but instead to copy or even move | ||
| 3966 | the entries into an Org-mode file. Org-mode evaluates diary-style sexp | ||
| 3967 | entries, and does it faster because there is no overhead for first | ||
| 3968 | creating the diary display. Note that the sexp entries must start at | ||
| 3969 | the left margin, no white space is allowed before them. For example, | ||
| 3970 | the following segment of an Org-mode file will be processed and entries | ||
| 3971 | will be made in the agenda: | ||
| 3972 | |||
| 3973 | @example | ||
| 3974 | * Birthdays and similar stuff | ||
| 3975 | #+CATEGORY: Holiday | ||
| 3976 | %%(org-calendar-holiday) ; special function for holiday names | ||
| 3977 | #+CATEGORY: Ann | ||
| 3978 | %%(diary-anniversary 14 5 1956) Artur Dent %d is years old | ||
| 3979 | %%(diary-anniversary 2 10 1869) Mahatma Gandhi would be %d years old | ||
| 3980 | @end example | ||
| 3746 | 3981 | ||
| 3747 | @node Global TODO list, Matching headline tags, Weekly/Daily agenda, Built-in agenda views | 3982 | @node Global TODO list, Matching headline tags, Weekly/Daily agenda, Built-in agenda views |
| 3748 | @subsection The global TODO list | 3983 | @subsection The global TODO list |
| @@ -3762,10 +3997,12 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}). | |||
| 3762 | @kindex C-c a T | 3997 | @kindex C-c a T |
| 3763 | @item C-c a T | 3998 | @item C-c a T |
| 3764 | @cindex TODO keyword matching | 3999 | @cindex TODO keyword matching |
| 3765 | Like the above, but allows selection of a specific TODO keyword. You can | 4000 | Like the above, but allows selection of a specific TODO keyword. You |
| 3766 | also do this by specifying a prefix argument to @kbd{C-c a t}. With a | 4001 | can also do this by specifying a prefix argument to @kbd{C-c a t}. With |
| 3767 | @kbd{C-u} prefix you are prompted for a keyword. With a numeric | 4002 | a @kbd{C-u} prefix you are prompted for a keyword, and you may also |
| 3768 | prefix, the Nth keyword in @code{org-todo-keywords} is selected. | 4003 | specify several keywords by separating them with @samp{|} as boolean OR |
| 4004 | operator. With a numeric prefix, the Nth keyword in | ||
| 4005 | @code{org-todo-keywords} is selected. | ||
| 3769 | @kindex r | 4006 | @kindex r |
| 3770 | The @kbd{r} key in the agenda buffer regenerates it, and you can give | 4007 | The @kbd{r} key in the agenda buffer regenerates it, and you can give |
| 3771 | a prefix argument to this command to change the selected TODO keyword, | 4008 | a prefix argument to this command to change the selected TODO keyword, |
| @@ -3875,16 +4112,18 @@ Lets assume that you, in your own way of using Org-mode, identify | |||
| 3875 | projects with a tag PROJECT, and that you use a todo keyword MAYBE to | 4112 | projects with a tag PROJECT, and that you use a todo keyword MAYBE to |
| 3876 | indicate a project that should not be considered yet. Lets further | 4113 | indicate a project that should not be considered yet. Lets further |
| 3877 | assume that the todo keyword DONE marks finished projects, and that NEXT | 4114 | assume that the todo keyword DONE marks finished projects, and that NEXT |
| 3878 | and TODO indicate next actions. Finally, the tag @@SHOP indicates | 4115 | and TODO indicate next actions. The tag @@SHOP indicates shopping and |
| 3879 | shopping and is a next action even without the NEXT tag. In this case | 4116 | is a next action even without the NEXT tag. Finally, if the project |
| 3880 | you would start by identifying eligible projects with a tags/todo match | 4117 | contains the special word IGNORE anywhere, it should not be listed |
| 3881 | @samp{+PROJECT/-MAYBE-DONE}, and then check for TODO, NEXT and @@SHOP in | 4118 | either. In this case you would start by identifying eligible projects |
| 3882 | the subtree to identify projects that are not stuck. The correct | 4119 | with a tags/todo match @samp{+PROJECT/-MAYBE-DONE}, and then check for |
| 3883 | customization for this is | 4120 | TODO, NEXT, @@SHOP, and IGNORE in the subtree to identify projects that |
| 4121 | are not stuck. The correct customization for this is | ||
| 3884 | 4122 | ||
| 3885 | @lisp | 4123 | @lisp |
| 3886 | (setq org-stuck-projects | 4124 | (setq org-stuck-projects |
| 3887 | ("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@@SHOP"))) | 4125 | '("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@@SHOP") |
| 4126 | "\\<IGNORE\\>")) | ||
| 3888 | @end lisp | 4127 | @end lisp |
| 3889 | 4128 | ||
| 3890 | 4129 | ||
| @@ -4031,11 +4270,11 @@ Previous line (same as @key{down}). | |||
| 4031 | @item mouse-3 | 4270 | @item mouse-3 |
| 4032 | @itemx @key{SPC} | 4271 | @itemx @key{SPC} |
| 4033 | Display the original location of the item in another window. | 4272 | Display the original location of the item in another window. |
| 4034 | 4273 | @c | |
| 4035 | @kindex L | 4274 | @kindex L |
| 4036 | @item L | 4275 | @item L |
| 4037 | Display original location and recenter that window. | 4276 | Display original location and recenter that window. |
| 4038 | 4277 | @c | |
| 4039 | @kindex mouse-2 | 4278 | @kindex mouse-2 |
| 4040 | @kindex mouse-1 | 4279 | @kindex mouse-1 |
| 4041 | @kindex @key{TAB} | 4280 | @kindex @key{TAB} |
| @@ -4044,11 +4283,11 @@ Display original location and recenter that window. | |||
| 4044 | @itemx @key{TAB} | 4283 | @itemx @key{TAB} |
| 4045 | Go to the original location of the item in another window. Under Emacs | 4284 | Go to the original location of the item in another window. Under Emacs |
| 4046 | 22, @kbd{mouse-1} will also works for this. | 4285 | 22, @kbd{mouse-1} will also works for this. |
| 4047 | 4286 | @c | |
| 4048 | @kindex @key{RET} | 4287 | @kindex @key{RET} |
| 4049 | @itemx @key{RET} | 4288 | @itemx @key{RET} |
| 4050 | Go to the original location of the item and delete other windows. | 4289 | Go to the original location of the item and delete other windows. |
| 4051 | 4290 | @c | |
| 4052 | @kindex f | 4291 | @kindex f |
| 4053 | @item f | 4292 | @item f |
| 4054 | Toggle Follow mode. In Follow mode, as you move the cursor through | 4293 | Toggle Follow mode. In Follow mode, as you move the cursor through |
| @@ -4056,14 +4295,14 @@ the agenda buffer, the other window always shows the corresponding | |||
| 4056 | location in the org file. The initial setting for this mode in new | 4295 | location in the org file. The initial setting for this mode in new |
| 4057 | agenda buffers can be set with the variable | 4296 | agenda buffers can be set with the variable |
| 4058 | @code{org-agenda-start-with-follow-mode}. | 4297 | @code{org-agenda-start-with-follow-mode}. |
| 4059 | 4298 | @c | |
| 4060 | @kindex b | 4299 | @kindex b |
| 4061 | @item b | 4300 | @item b |
| 4062 | Display the entire subtree of the current item in an indirect buffer. | 4301 | Display the entire subtree of the current item in an indirect buffer. |
| 4063 | With numerical prefix ARG, go up to this level and then take that tree. | 4302 | With numerical prefix ARG, go up to this level and then take that tree. |
| 4064 | If ARG is negative, go up that many levels. With @kbd{C-u} prefix, do | 4303 | If ARG is negative, go up that many levels. With @kbd{C-u} prefix, do |
| 4065 | not remove the previously used indirect buffer. | 4304 | not remove the previously used indirect buffer. |
| 4066 | 4305 | @c | |
| 4067 | @kindex l | 4306 | @kindex l |
| 4068 | @item l | 4307 | @item l |
| 4069 | Toggle Logbook mode. In Logbook mode, entries that where marked DONE while | 4308 | Toggle Logbook mode. In Logbook mode, entries that where marked DONE while |
| @@ -4075,24 +4314,24 @@ as are entries that have been clocked on that day. | |||
| 4075 | @kindex o | 4314 | @kindex o |
| 4076 | @item o | 4315 | @item o |
| 4077 | Delete other windows. | 4316 | Delete other windows. |
| 4078 | 4317 | @c | |
| 4079 | @kindex w | 4318 | @kindex w |
| 4080 | @item w | 4319 | @item w |
| 4081 | Switch to weekly view (7 days displayed together). | 4320 | Switch to weekly view (7 days displayed together). |
| 4082 | 4321 | @c | |
| 4083 | @kindex d | 4322 | @kindex d |
| 4084 | @item d | 4323 | @item d |
| 4085 | Switch to daily view (just one day displayed). | 4324 | Switch to daily view (just one day displayed). |
| 4086 | 4325 | @c | |
| 4087 | @kindex D | 4326 | @kindex D |
| 4088 | @item D | 4327 | @item D |
| 4089 | Toggle the inclusion of diary entries. See @ref{Weekly/Daily agenda}. | 4328 | Toggle the inclusion of diary entries. See @ref{Weekly/Daily agenda}. |
| 4090 | 4329 | @c | |
| 4091 | @kindex g | 4330 | @kindex g |
| 4092 | @item g | 4331 | @item g |
| 4093 | Toggle the time grid on and off. See also the variables | 4332 | Toggle the time grid on and off. See also the variables |
| 4094 | @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. | 4333 | @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}. |
| 4095 | 4334 | @c | |
| 4096 | @kindex r | 4335 | @kindex r |
| 4097 | @item r | 4336 | @item r |
| 4098 | Recreate the agenda buffer, for example to reflect the changes | 4337 | Recreate the agenda buffer, for example to reflect the changes |
| @@ -4100,21 +4339,21 @@ after modification of the time stamps of items with S-@key{left} and | |||
| 4100 | S-@key{right}. When the buffer is the global todo list, a prefix | 4339 | S-@key{right}. When the buffer is the global todo list, a prefix |
| 4101 | argument is interpreted to create a selective list for a specific TODO | 4340 | argument is interpreted to create a selective list for a specific TODO |
| 4102 | keyword. | 4341 | keyword. |
| 4103 | 4342 | @c | |
| 4104 | @kindex s | 4343 | @kindex s |
| 4105 | @item s | 4344 | @item s |
| 4106 | Save all Org-mode buffers in the current Emacs session. | 4345 | Save all Org-mode buffers in the current Emacs session. |
| 4107 | 4346 | @c | |
| 4108 | @kindex @key{right} | 4347 | @kindex @key{right} |
| 4109 | @item @key{right} | 4348 | @item @key{right} |
| 4110 | Display the following @code{org-agenda-ndays} days. For example, if | 4349 | Display the following @code{org-agenda-ndays} days. For example, if |
| 4111 | the display covers a week, switch to the following week. With prefix | 4350 | the display covers a week, switch to the following week. With prefix |
| 4112 | arg, go forward that many times @code{org-agenda-ndays} days. | 4351 | arg, go forward that many times @code{org-agenda-ndays} days. |
| 4113 | 4352 | @c | |
| 4114 | @kindex @key{left} | 4353 | @kindex @key{left} |
| 4115 | @item @key{left} | 4354 | @item @key{left} |
| 4116 | Display the previous dates. | 4355 | Display the previous dates. |
| 4117 | 4356 | @c | |
| 4118 | @kindex . | 4357 | @kindex . |
| 4119 | @item . | 4358 | @item . |
| 4120 | Goto today. | 4359 | Goto today. |
| @@ -4124,53 +4363,53 @@ Goto today. | |||
| 4124 | 4363 | ||
| 4125 | @item 0-9 | 4364 | @item 0-9 |
| 4126 | Digit argument. | 4365 | Digit argument. |
| 4127 | 4366 | @c | |
| 4128 | @cindex undoing remote-editing events | 4367 | @cindex undoing remote-editing events |
| 4129 | @cindex remote editing, undo | 4368 | @cindex remote editing, undo |
| 4130 | @kindex C-_ | 4369 | @kindex C-_ |
| 4131 | @item C-_ | 4370 | @item C-_ |
| 4132 | Undo a change due to a remote editing command. The change is undone | 4371 | Undo a change due to a remote editing command. The change is undone |
| 4133 | both in the agenda buffer and in the remote buffer. | 4372 | both in the agenda buffer and in the remote buffer. |
| 4134 | 4373 | @c | |
| 4135 | @kindex t | 4374 | @kindex t |
| 4136 | @item t | 4375 | @item t |
| 4137 | Change the TODO state of the item, both in the agenda and in the | 4376 | Change the TODO state of the item, both in the agenda and in the |
| 4138 | original org file. | 4377 | original org file. |
| 4139 | 4378 | @c | |
| 4140 | @kindex C-k | 4379 | @kindex C-k |
| 4141 | @item C-k | 4380 | @item C-k |
| 4142 | Delete the current agenda item along with the entire subtree belonging | 4381 | Delete the current agenda item along with the entire subtree belonging |
| 4143 | to it in the original Org-mode file. If the text to be deleted remotely | 4382 | to it in the original Org-mode file. If the text to be deleted remotely |
| 4144 | is longer than one line, the kill needs to be confirmed by the user. See | 4383 | is longer than one line, the kill needs to be confirmed by the user. See |
| 4145 | variable @code{org-agenda-confirm-kill}. | 4384 | variable @code{org-agenda-confirm-kill}. |
| 4146 | 4385 | @c | |
| 4147 | @kindex $ | 4386 | @kindex $ |
| 4148 | @item $ | 4387 | @item $ |
| 4149 | Archive the subtree corresponding to the current headline. | 4388 | Archive the subtree corresponding to the current headline. |
| 4150 | 4389 | @c | |
| 4151 | @kindex T | 4390 | @kindex T |
| 4152 | @item T | 4391 | @item T |
| 4153 | Show all tags associated with the current item. Because of | 4392 | Show all tags associated with the current item. Because of |
| 4154 | inheritance, this may be more than the tags listed in the line itself. | 4393 | inheritance, this may be more than the tags listed in the line itself. |
| 4155 | 4394 | @c | |
| 4156 | @kindex : | 4395 | @kindex : |
| 4157 | @item : | 4396 | @item : |
| 4158 | Set tags for the current headline. | 4397 | Set tags for the current headline. |
| 4159 | 4398 | @c | |
| 4160 | @kindex a | 4399 | @kindex a |
| 4161 | @item a | 4400 | @item a |
| 4162 | Toggle the ARCHIVE tag for the current headline. | 4401 | Toggle the ARCHIVE tag for the current headline. |
| 4163 | 4402 | @c | |
| 4164 | @kindex , | 4403 | @kindex , |
| 4165 | @item , | 4404 | @item , |
| 4166 | Set the priority for the current item. Org-mode prompts for the | 4405 | Set the priority for the current item. Org-mode prompts for the |
| 4167 | priority character. If you reply with @key{SPC}, the priority cookie | 4406 | priority character. If you reply with @key{SPC}, the priority cookie |
| 4168 | is removed from the entry. | 4407 | is removed from the entry. |
| 4169 | 4408 | @c | |
| 4170 | @kindex P | 4409 | @kindex P |
| 4171 | @item P | 4410 | @item P |
| 4172 | Display weighted priority of current item. | 4411 | Display weighted priority of current item. |
| 4173 | 4412 | @c | |
| 4174 | @kindex + | 4413 | @kindex + |
| 4175 | @kindex S-@key{up} | 4414 | @kindex S-@key{up} |
| 4176 | @item + | 4415 | @item + |
| @@ -4178,21 +4417,21 @@ Display weighted priority of current item. | |||
| 4178 | Increase the priority of the current item. The priority is changed in | 4417 | Increase the priority of the current item. The priority is changed in |
| 4179 | the original buffer, but the agenda is not resorted. Use the @kbd{r} | 4418 | the original buffer, but the agenda is not resorted. Use the @kbd{r} |
| 4180 | key for this. | 4419 | key for this. |
| 4181 | 4420 | @c | |
| 4182 | @kindex - | 4421 | @kindex - |
| 4183 | @kindex S-@key{down} | 4422 | @kindex S-@key{down} |
| 4184 | @item - | 4423 | @item - |
| 4185 | @itemx S-@key{down} | 4424 | @itemx S-@key{down} |
| 4186 | Decrease the priority of the current item. | 4425 | Decrease the priority of the current item. |
| 4187 | 4426 | @c | |
| 4188 | @kindex C-c C-s | 4427 | @kindex C-c C-s |
| 4189 | @item C-c C-s | 4428 | @item C-c C-s |
| 4190 | Schedule this item | 4429 | Schedule this item |
| 4191 | 4430 | @c | |
| 4192 | @kindex C-c C-d | 4431 | @kindex C-c C-d |
| 4193 | @item C-c C-d | 4432 | @item C-c C-d |
| 4194 | Set a deadline for this item. | 4433 | Set a deadline for this item. |
| 4195 | 4434 | @c | |
| 4196 | @kindex S-@key{right} | 4435 | @kindex S-@key{right} |
| 4197 | @item S-@key{right} | 4436 | @item S-@key{right} |
| 4198 | Change the time stamp associated with the current line by one day into | 4437 | Change the time stamp associated with the current line by one day into |
| @@ -4201,25 +4440,27 @@ example, @kbd{3 6 5 S-@key{right}} will change it by a year. The | |||
| 4201 | stamp is changed in the original org file, but the change is not | 4440 | stamp is changed in the original org file, but the change is not |
| 4202 | directly reflected in the agenda buffer. Use the | 4441 | directly reflected in the agenda buffer. Use the |
| 4203 | @kbd{r} key to update the buffer. | 4442 | @kbd{r} key to update the buffer. |
| 4204 | 4443 | @c | |
| 4205 | @kindex S-@key{left} | 4444 | @kindex S-@key{left} |
| 4206 | @item S-@key{left} | 4445 | @item S-@key{left} |
| 4207 | Change the time stamp associated with the current line by one day | 4446 | Change the time stamp associated with the current line by one day |
| 4208 | into the past. | 4447 | into the past. |
| 4209 | 4448 | @c | |
| 4210 | @kindex > | 4449 | @kindex > |
| 4211 | @item > | 4450 | @item > |
| 4212 | Change the time stamp associated with the current line to today. | 4451 | Change the time stamp associated with the current line to today. |
| 4213 | The key @kbd{>} has been chosen, because it is the same as @kbd{S-.} | 4452 | The key @kbd{>} has been chosen, because it is the same as @kbd{S-.} |
| 4214 | on my keyboard. | 4453 | on my keyboard. |
| 4215 | 4454 | @c | |
| 4216 | @kindex I | 4455 | @kindex I |
| 4217 | @item I | 4456 | @item I |
| 4218 | Start the clock on the current item. If a clock is running already, it | 4457 | Start the clock on the current item. If a clock is running already, it |
| 4219 | is stopped first. | 4458 | is stopped first. |
| 4459 | @c | ||
| 4220 | @kindex O | 4460 | @kindex O |
| 4221 | @item O | 4461 | @item O |
| 4222 | Stop the previously started clock. | 4462 | Stop the previously started clock. |
| 4463 | @c | ||
| 4223 | @kindex X | 4464 | @kindex X |
| 4224 | @item X | 4465 | @item X |
| 4225 | Cancel the currently running clock. | 4466 | Cancel the currently running clock. |
| @@ -4229,11 +4470,11 @@ Cancel the currently running clock. | |||
| 4229 | @kindex c | 4470 | @kindex c |
| 4230 | @item c | 4471 | @item c |
| 4231 | Open the Emacs calendar and move to the date at the agenda cursor. | 4472 | Open the Emacs calendar and move to the date at the agenda cursor. |
| 4232 | 4473 | @c | |
| 4233 | @item c | 4474 | @item c |
| 4234 | When in the calendar, compute and show the Org-mode agenda for the | 4475 | When in the calendar, compute and show the Org-mode agenda for the |
| 4235 | date at the cursor. | 4476 | date at the cursor. |
| 4236 | 4477 | @c | |
| 4237 | @cindex diary entries, creating from agenda | 4478 | @cindex diary entries, creating from agenda |
| 4238 | @kindex i | 4479 | @kindex i |
| 4239 | @item i | 4480 | @item i |
| @@ -4241,42 +4482,53 @@ Insert a new entry into the diary. Prompts for the type of entry | |||
| 4241 | (day, weekly, monthly, yearly, anniversary, cyclic) and creates a new | 4482 | (day, weekly, monthly, yearly, anniversary, cyclic) and creates a new |
| 4242 | entry in the diary, just as @kbd{i d} etc. would do in the calendar. | 4483 | entry in the diary, just as @kbd{i d} etc. would do in the calendar. |
| 4243 | The date is taken from the cursor position. | 4484 | The date is taken from the cursor position. |
| 4244 | 4485 | @c | |
| 4245 | @kindex M | 4486 | @kindex M |
| 4246 | @item M | 4487 | @item M |
| 4247 | Show the phases of the moon for the three months around current date. | 4488 | Show the phases of the moon for the three months around current date. |
| 4248 | 4489 | @c | |
| 4249 | @kindex S | 4490 | @kindex S |
| 4250 | @item S | 4491 | @item S |
| 4251 | Show sunrise and sunset times. The geographical location must be set | 4492 | Show sunrise and sunset times. The geographical location must be set |
| 4252 | with calendar variables, see documentation of the Emacs calendar. | 4493 | with calendar variables, see documentation of the Emacs calendar. |
| 4253 | 4494 | @c | |
| 4254 | @kindex C | 4495 | @kindex C |
| 4255 | @item C | 4496 | @item C |
| 4256 | Convert the date at cursor into many other cultural and historic | 4497 | Convert the date at cursor into many other cultural and historic |
| 4257 | calendars. | 4498 | calendars. |
| 4258 | 4499 | @c | |
| 4259 | @kindex H | 4500 | @kindex H |
| 4260 | @item H | 4501 | @item H |
| 4261 | Show holidays for three month around the cursor date. | 4502 | Show holidays for three month around the cursor date. |
| 4262 | 4503 | @c | |
| 4263 | @c FIXME: This should be a different key. | 4504 | @c FIXME: This should be a different key. |
| 4264 | @kindex C-c C-x C-c | 4505 | @kindex C-c C-x C-c |
| 4265 | @item C-c C-x C-c | 4506 | @item C-c C-x C-c |
| 4266 | Export a single iCalendar file containing entries from all agenda files. | 4507 | Export a single iCalendar file containing entries from all agenda files. |
| 4267 | 4508 | ||
| 4509 | @tsubheading{Exporting to a file} | ||
| 4510 | @kindex C-x C-w | ||
| 4511 | @item C-x C-w | ||
| 4512 | @cindex exporting agenda views | ||
| 4513 | @cindex agenda views, exporting | ||
| 4514 | Write the agenda view to a file. Depending on the extension of the | ||
| 4515 | selected file name, the view will be exported as HTML (extension | ||
| 4516 | @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), or | ||
| 4517 | plain text (any other extension). Use the variable | ||
| 4518 | @code{org-agenda-exporter-settings} to set options for @file{ps-print} | ||
| 4519 | and for @file{htmlize} to be used during export. | ||
| 4520 | |||
| 4268 | @tsubheading{Quit and Exit} | 4521 | @tsubheading{Quit and Exit} |
| 4269 | @kindex q | 4522 | @kindex q |
| 4270 | @item q | 4523 | @item q |
| 4271 | Quit agenda, remove the agenda buffer. | 4524 | Quit agenda, remove the agenda buffer. |
| 4272 | 4525 | @c | |
| 4273 | @kindex x | 4526 | @kindex x |
| 4274 | @cindex agenda files, removing buffers | 4527 | @cindex agenda files, removing buffers |
| 4275 | @item x | 4528 | @item x |
| 4276 | Exit agenda, remove the agenda buffer and all buffers loaded by Emacs | 4529 | Exit agenda, remove the agenda buffer and all buffers loaded by Emacs |
| 4277 | for the compilation of the agenda. Buffers created by the user to | 4530 | for the compilation of the agenda. Buffers created by the user to |
| 4278 | visit org files will not be removed. | 4531 | visit org files will not be removed. |
| 4279 | |||
| 4280 | @end table | 4532 | @end table |
| 4281 | 4533 | ||
| 4282 | 4534 | ||
| @@ -4294,7 +4546,8 @@ dispatcher (@pxref{Agenda dispatcher}), just like the default commands. | |||
| 4294 | * Storing searches:: Type once, use often | 4546 | * Storing searches:: Type once, use often |
| 4295 | * Block agenda:: All the stuff you need in a single buffer | 4547 | * Block agenda:: All the stuff you need in a single buffer |
| 4296 | * Setting Options:: Changing the rules | 4548 | * Setting Options:: Changing the rules |
| 4297 | * Batch processing:: Agenda views from the command line | 4549 | * Exporting Agenda Views:: Writing agendas to files. |
| 4550 | * Extracting Agenda Information for other programs:: | ||
| 4298 | @end menu | 4551 | @end menu |
| 4299 | 4552 | ||
| 4300 | @node Storing searches, Block agenda, Custom agenda views, Custom agenda views | 4553 | @node Storing searches, Block agenda, Custom agenda views, Custom agenda views |
| @@ -4386,7 +4639,7 @@ your agenda for the current week, all TODO items that carry the tag | |||
| 4386 | command @kbd{C-c a o} provides a similar view for office tasks. | 4639 | command @kbd{C-c a o} provides a similar view for office tasks. |
| 4387 | 4640 | ||
| 4388 | 4641 | ||
| 4389 | @node Setting Options, Batch processing, Block agenda, Custom agenda views | 4642 | @node Setting Options, Exporting Agenda Views, Block agenda, Custom agenda views |
| 4390 | @subsection Setting Options for custom commands | 4643 | @subsection Setting Options for custom commands |
| 4391 | @cindex options, for custom agenda views | 4644 | @cindex options, for custom agenda views |
| 4392 | 4645 | ||
| @@ -4434,7 +4687,8 @@ the results for GARDEN tags query in the opposite order, | |||
| 4434 | '(("h" "Agenda and Home-related tasks" | 4687 | '(("h" "Agenda and Home-related tasks" |
| 4435 | ((agenda) | 4688 | ((agenda) |
| 4436 | (tags-todo "HOME") | 4689 | (tags-todo "HOME") |
| 4437 | (tags "GARDEN" ((org-agenda-sorting-strategy '(priority-up))))) | 4690 | (tags "GARDEN" |
| 4691 | ((org-agenda-sorting-strategy '(priority-up))))) | ||
| 4438 | ((org-agenda-sorting-strategy '(priority-down)))) | 4692 | ((org-agenda-sorting-strategy '(priority-down)))) |
| 4439 | ("o" "Agenda and Office-related tasks" | 4693 | ("o" "Agenda and Office-related tasks" |
| 4440 | ((agenda) | 4694 | ((agenda) |
| @@ -4450,36 +4704,234 @@ this interface, the @emph{values} are just lisp expressions. So if the | |||
| 4450 | value is a string, you need to add the double quotes around the value | 4704 | value is a string, you need to add the double quotes around the value |
| 4451 | yourself. | 4705 | yourself. |
| 4452 | 4706 | ||
| 4453 | @node Batch processing, , Setting Options, Custom agenda views | ||
| 4454 | @subsection Creating agenda views in batch processing | ||
| 4455 | @cindex agenda, batch production | ||
| 4456 | 4707 | ||
| 4457 | If you want to print or otherwise reprocess agenda views, it can be | 4708 | @node Exporting Agenda Views, Extracting Agenda Information for other programs, Setting Options, Custom agenda views |
| 4458 | useful to create an agenda from the command line. This is the purpose | 4709 | @subsection Exporting Agenda Views |
| 4459 | of the function @code{org-batch-agenda}. It takes as a parameter one of | 4710 | @cindex agenda views, exporting |
| 4460 | the strings that are the keys in @code{org-agenda-custom-commands}. For | 4711 | |
| 4461 | example, to directly print the current TODO list, you could use | 4712 | If you are away from your computer, it can be very useful to have a |
| 4713 | printed version of some agenda views to carry around. Org-mode can | ||
| 4714 | export custom agenda views as plain text, HTML@footnote{You need to | ||
| 4715 | install Hrvoje Niksic' @file{htmlize.el}.} and postscript. If you want | ||
| 4716 | to do this only occasionally, use the commend | ||
| 4717 | |||
| 4718 | @table @kbd | ||
| 4719 | @kindex C-x C-w | ||
| 4720 | @item C-x C-w | ||
| 4721 | @cindex exporting agenda views | ||
| 4722 | @cindex agenda views, exporting | ||
| 4723 | Write the agenda view to a file. Depending on the extension of the | ||
| 4724 | selected file name, the view will be exported as HTML (extension | ||
| 4725 | @file{.html} or @file{.htm}), Postscript (extension @file{.ps}), or | ||
| 4726 | plain text (any other extension). Use the variable | ||
| 4727 | @code{org-agenda-exporter-settings} to set options for @file{ps-print} | ||
| 4728 | and for @file{htmlize} to be used during export, for example | ||
| 4729 | @lisp | ||
| 4730 | (setq org-agenda-exporter-settings | ||
| 4731 | '((ps-number-of-columns 2) | ||
| 4732 | (ps-landscape-mode t) | ||
| 4733 | (htmlize-output-type 'css))) | ||
| 4734 | @end lisp | ||
| 4735 | @end table | ||
| 4736 | |||
| 4737 | If you need to export certain agenda views frequently, you can associate | ||
| 4738 | any custom agenda command with a list of output file names | ||
| 4739 | @footnote{If you want to store standard views like the weekly agenda | ||
| 4740 | or the global TODO list as well, you need to define custom commands for | ||
| 4741 | them in order to be able to specify filenames.}. Here is an example | ||
| 4742 | that first does define custom commands for the agenda and the global | ||
| 4743 | todo list, together with a number of files to which to export them. | ||
| 4744 | Then we define two block agenda commands and specify filenames for them | ||
| 4745 | as well. File names can be relative to the current working directory, | ||
| 4746 | or absolute. | ||
| 4747 | |||
| 4748 | @lisp | ||
| 4749 | @group | ||
| 4750 | (setq org-agenda-custom-commands | ||
| 4751 | '(("X" agenda "" nil ("agenda.html" "agenda.ps")) | ||
| 4752 | ("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps")) | ||
| 4753 | ("h" "Agenda and Home-related tasks" | ||
| 4754 | ((agenda) | ||
| 4755 | (tags-todo "HOME") | ||
| 4756 | (tags "GARDEN")) | ||
| 4757 | nil | ||
| 4758 | ("~/views/home.html")) | ||
| 4759 | ("o" "Agenda and Office-related tasks" | ||
| 4760 | ((agenda) | ||
| 4761 | (tags-todo "WORK") | ||
| 4762 | (tags "OFFICE")) | ||
| 4763 | nil | ||
| 4764 | ("~/views/office.ps")))) | ||
| 4765 | @end group | ||
| 4766 | @end lisp | ||
| 4767 | |||
| 4768 | The extension of the file name determines the type of export. If it is | ||
| 4769 | @file{.html}, Org-mode will use the @file{htmlize.el} package to convert | ||
| 4770 | the buffer to HTML and save it to this file name. If the extension is | ||
| 4771 | @file{.ps}, @code{ps-print-buffer-with-faces} is used to produce | ||
| 4772 | postscript output. Any other extension produces a plain ASCII file. | ||
| 4773 | |||
| 4774 | The export files are @emph{not} created when you use one of those | ||
| 4775 | commands interactively. Instead, there is a special command to produce | ||
| 4776 | @emph{all} specified files in one step: | ||
| 4777 | |||
| 4778 | @table @kbd | ||
| 4779 | @kindex C-c a e | ||
| 4780 | @item C-c a e | ||
| 4781 | Export all agenda views that have export filenames associated with | ||
| 4782 | them. | ||
| 4783 | @end table | ||
| 4784 | |||
| 4785 | You can use the options section of the custom agenda commands to also | ||
| 4786 | set options for the export commands. For example: | ||
| 4787 | |||
| 4788 | @lisp | ||
| 4789 | (setq org-agenda-custom-commands | ||
| 4790 | '(("X" agenda "" | ||
| 4791 | ((ps-number-of-columns 2) | ||
| 4792 | (ps-landscape-mode t) | ||
| 4793 | (org-agenda-prefix-format " [ ] ") | ||
| 4794 | (org-agenda-with-colors nil) | ||
| 4795 | (org-agenda-remove-tags t)) | ||
| 4796 | ("theagenda.ps")))) | ||
| 4797 | @end lisp | ||
| 4798 | |||
| 4799 | @noindent | ||
| 4800 | This command sets two options for the postscript exporter, to make it | ||
| 4801 | print in two columns in landscape format - the resulting page can be cut | ||
| 4802 | in two and then used in a paper agenda. The remaining settings modify | ||
| 4803 | the agenda prefix to omit category and scheduling information, and | ||
| 4804 | instead include a checkbox to check off items. We also remove the tags | ||
| 4805 | to make the lines compact, and we don't want to use colors for the | ||
| 4806 | black-and-white printer. Settings specified in | ||
| 4807 | @code{org-agenda-exporter-settings} will also apply, but the settings | ||
| 4808 | in @code{org-agenda-custom-commands} take precedence. | ||
| 4809 | |||
| 4810 | @noindent | ||
| 4811 | From the command line you may also use | ||
| 4812 | @example | ||
| 4813 | emacs -f org-batch-store-agenda-views -kill | ||
| 4814 | @end example | ||
| 4815 | @noindent | ||
| 4816 | or, if you need to modify some parameters | ||
| 4817 | @example | ||
| 4818 | emacs -eval '(org-batch-store-agenda-views \ | ||
| 4819 | org-agenda-ndays 30 \ | ||
| 4820 | org-agenda-include-diary nil \ | ||
| 4821 | org-agenda-files (quote ("~/org/project.org")))' \ | ||
| 4822 | -kill | ||
| 4823 | @end example | ||
| 4824 | @noindent | ||
| 4825 | which will create the agenda views restricted to the file | ||
| 4826 | @file{~/org/project.org}, without diary entries and with 30 days | ||
| 4827 | extent. | ||
| 4828 | |||
| 4829 | @node Extracting Agenda Information for other programs, , Exporting Agenda Views, Custom agenda views | ||
| 4830 | @subsection Extracting Agenda Information for other programs | ||
| 4831 | @cindex agenda, pipe | ||
| 4832 | @cindex Scripts, for agenda processing | ||
| 4833 | |||
| 4834 | Org-mode provides commands to access agenda information for the command | ||
| 4835 | line in emacs batch mode. This extracted information can be sent | ||
| 4836 | directly to a printer, or it can be read by a program that does further | ||
| 4837 | processing of the data. The first of these commands is the function | ||
| 4838 | @code{org-batch-agenda}, that produces an agenda view and sends it as | ||
| 4839 | ASCII text to STDOUT. The command takes a single string as parameter. | ||
| 4840 | If the string has length 1, it is used as a key to one of the commands | ||
| 4841 | you have configured in @code{org-agenda-custom-commands}, basically any | ||
| 4842 | key you can use after @kbd{C-c a}. For example, to directly print the | ||
| 4843 | current TODO list, you could use | ||
| 4462 | 4844 | ||
| 4463 | @example | 4845 | @example |
| 4464 | emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr | 4846 | emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr |
| 4465 | @end example | 4847 | @end example |
| 4466 | 4848 | ||
| 4849 | If the parameter is a string with 2 or more characters, it is used as a | ||
| 4850 | tags/todo match string. For example, to print your local shopping list | ||
| 4851 | (all items with the tag @samp{shop}, but excluding the tag | ||
| 4852 | @samp{NewYork}), you could use | ||
| 4853 | |||
| 4854 | @example | ||
| 4855 | emacs -batch -l ~/.emacs \ | ||
| 4856 | -eval '(org-batch-agenda "+shop-NewYork")' | lpr | ||
| 4857 | @end example | ||
| 4858 | |||
| 4467 | @noindent | 4859 | @noindent |
| 4468 | You may also modify parameters on the fly like this: | 4860 | You may also modify parameters on the fly like this: |
| 4469 | 4861 | ||
| 4470 | @example | 4862 | @example |
| 4471 | emacs -batch -l ~/.emacs \ | 4863 | emacs -batch -l ~/.emacs \ |
| 4472 | -eval '(org-batch-agenda "a" \ | 4864 | -eval '(org-batch-agenda "a" \ |
| 4473 | org-agenda-ndays 300 \ | 4865 | org-agenda-ndays 30 \ |
| 4474 | org-agenda-include-diary nil \ | 4866 | org-agenda-include-diary nil \ |
| 4475 | org-agenda-files (quote ("~/org/project.org")))' \ | 4867 | org-agenda-files (quote ("~/org/project.org")))' \ |
| 4476 | | lpr | 4868 | | lpr |
| 4477 | @end example | 4869 | @end example |
| 4478 | 4870 | ||
| 4479 | @noindent | 4871 | @noindent |
| 4480 | which will produce a 300 day agenda, fully restricted to the Org file | 4872 | which will produce a 30 day agenda, fully restricted to the Org file |
| 4481 | @file{~/org/projects.org}, not even including the diary. | 4873 | @file{~/org/projects.org}, not even including the diary. |
| 4482 | 4874 | ||
| 4875 | If you want to process the agenda data in more sophisticated ways, you | ||
| 4876 | can use the command @code{org-batch-agenda-csv} to get a comma-separated | ||
| 4877 | list of values for each agenda item. Each line in the output will | ||
| 4878 | contain a number of fields separated by commas. The fields in a line | ||
| 4879 | are: | ||
| 4880 | |||
| 4881 | @example | ||
| 4882 | category @r{The category of the item} | ||
| 4883 | head @r{The headline, without TODO kwd, TAGS and PRIORITY} | ||
| 4884 | type @r{The type of the agenda entry, can be} | ||
| 4885 | todo @r{selected in TODO match} | ||
| 4886 | tagsmatch @r{selected in tags match} | ||
| 4887 | diary @r{imported from diary} | ||
| 4888 | deadline @r{a deadline} | ||
| 4889 | scheduled @r{scheduled} | ||
| 4890 | timestamp @r{appointment, selected by timestamp} | ||
| 4891 | closed @r{entry was closed on date} | ||
| 4892 | upcoming-deadline @r{warning about nearing deadline} | ||
| 4893 | past-scheduled @r{forwarded scheduled item} | ||
| 4894 | block @r{entry has date block including date} | ||
| 4895 | todo @r{The todo keyword, if any} | ||
| 4896 | tags @r{All tags including inherited ones, separated by colons} | ||
| 4897 | date @r{The relevant date, like 2007-2-14} | ||
| 4898 | time @r{The time, like 15:00-16:50} | ||
| 4899 | extra @r{String with extra planning info} | ||
| 4900 | priority-l @r{The priority letter if any was given} | ||
| 4901 | priority-n @r{The computed numerical priority} | ||
| 4902 | @end example | ||
| 4903 | |||
| 4904 | @noindent | ||
| 4905 | Time and date will only be given if a timestamp (or deadline/scheduled) | ||
| 4906 | lead to the selection of the item. | ||
| 4907 | |||
| 4908 | A CSV list like this is very easy to use in a post processing script. | ||
| 4909 | For example, here is a Perl program that gets the TODO list from | ||
| 4910 | Emacs/org-mode and prints all the items, preceded by a checkbox: | ||
| 4911 | |||
| 4912 | @example | ||
| 4913 | @group | ||
| 4914 | #!/usr/bin/perl | ||
| 4915 | |||
| 4916 | # define the Emacs command to run | ||
| 4917 | $cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'"; | ||
| 4918 | |||
| 4919 | # run it and capture the output | ||
| 4920 | $agenda = qx@{$cmd 2>/dev/null@}; | ||
| 4921 | |||
| 4922 | # loop over all lines | ||
| 4923 | foreach $line (split(/\n/,$agenda)) @{ | ||
| 4924 | |||
| 4925 | # get the individual values | ||
| 4926 | ($category,$head,$type,$todo,$tags,$date,$time,$extra, | ||
| 4927 | $priority_l,$priority_n) = split(/,/,$line); | ||
| 4928 | |||
| 4929 | # proccess and print | ||
| 4930 | print "[ ] $head\n"; | ||
| 4931 | @} | ||
| 4932 | @end group | ||
| 4933 | @end example | ||
| 4934 | |||
| 4483 | @node Embedded LaTeX, Exporting, Agenda views, Top | 4935 | @node Embedded LaTeX, Exporting, Agenda views, Top |
| 4484 | @chapter Embedded LaTeX | 4936 | @chapter Embedded LaTeX |
| 4485 | @cindex @TeX{} interpretation | 4937 | @cindex @TeX{} interpretation |
| @@ -4566,7 +5018,9 @@ preview the typeset result of these fragments, and upon export to HTML, | |||
| 4566 | all fragments will be converted to images and inlined into the HTML | 5018 | all fragments will be converted to images and inlined into the HTML |
| 4567 | document. For this to work you need to be on a system with a working | 5019 | document. For this to work you need to be on a system with a working |
| 4568 | La@TeX{} installation. You also need the @file{dvipng} program, | 5020 | La@TeX{} installation. You also need the @file{dvipng} program, |
| 4569 | available at @url{http://sourceforge.net/projects/dvipng/}. | 5021 | available at @url{http://sourceforge.net/projects/dvipng/}. The LaTeX |
| 5022 | header that will be used when processing a fragment can be configured | ||
| 5023 | with the variable @code{org-format-latex-header}. | ||
| 4570 | 5024 | ||
| 4571 | La@TeX{} fragments don't need any special marking at all. The following | 5025 | La@TeX{} fragments don't need any special marking at all. The following |
| 4572 | snippets will be identified as LaTeX source code: | 5026 | snippets will be identified as LaTeX source code: |
| @@ -4773,7 +5227,7 @@ HTML formatting, in ways similar to John Grubers @emph{markdown} | |||
| 4773 | language, but with additional support for tables. | 5227 | language, but with additional support for tables. |
| 4774 | 5228 | ||
| 4775 | @menu | 5229 | @menu |
| 4776 | * Export commands:: How to invode HTML export | 5230 | * Export commands:: How to invoke HTML export |
| 4777 | * Quoting HTML tags:: Using direct HTML in Org-mode | 5231 | * Quoting HTML tags:: Using direct HTML in Org-mode |
| 4778 | * Links:: How hyperlinks get transferred to HTML | 5232 | * Links:: How hyperlinks get transferred to HTML |
| 4779 | * Images:: To inline or not to inline? | 5233 | * Images:: To inline or not to inline? |
| @@ -4793,11 +5247,27 @@ Export as HTML file @file{myfile.html}. | |||
| 4793 | @kindex C-c C-e b | 5247 | @kindex C-c C-e b |
| 4794 | @item C-c C-e b | 5248 | @item C-c C-e b |
| 4795 | Export as HTML file and open it with a browser. | 5249 | Export as HTML file and open it with a browser. |
| 5250 | @kindex C-c C-e H | ||
| 5251 | @item C-c C-e H | ||
| 5252 | Export to a temporary buffer, do not create a file. | ||
| 5253 | @kindex C-c C-e R | ||
| 5254 | @item C-c C-e H | ||
| 5255 | Export the active region to a temporary buffer. With prefix arg, do not | ||
| 5256 | produce file header and foot, but just the plain HTML section for the | ||
| 5257 | region. This is good for cut-and-paste operations. | ||
| 4796 | @kindex C-c C-e v h | 5258 | @kindex C-c C-e v h |
| 4797 | @kindex C-c C-e v b | 5259 | @kindex C-c C-e v b |
| 5260 | @kindex C-c C-e v H | ||
| 5261 | @kindex C-c C-e v R | ||
| 4798 | @item C-c C-e v h | 5262 | @item C-c C-e v h |
| 4799 | @item C-c C-e v b | 5263 | @item C-c C-e v b |
| 5264 | @item C-c C-e v H | ||
| 5265 | @item C-c C-e v R | ||
| 4800 | Export only the visible part of the document. | 5266 | Export only the visible part of the document. |
| 5267 | @item M-x org-export-region-as-html | ||
| 5268 | Convert the region to HTML under the assumption that it was org-mode | ||
| 5269 | syntax before. This is a global command that can be invoked in any | ||
| 5270 | buffer. | ||
| 4801 | @end table | 5271 | @end table |
| 4802 | 5272 | ||
| 4803 | @cindex headline levels, for exporting | 5273 | @cindex headline levels, for exporting |
| @@ -4975,19 +5445,20 @@ in order to produce better output. | |||
| 4975 | 5445 | ||
| 4976 | @menu | 5446 | @menu |
| 4977 | * Comment lines:: Some lines will not be exported | 5447 | * Comment lines:: Some lines will not be exported |
| 5448 | * Initial text:: Text before the first headline | ||
| 5449 | * Footnotes:: Numbers like [1] | ||
| 4978 | * Enhancing text:: Subscripts, symbols and more | 5450 | * Enhancing text:: Subscripts, symbols and more |
| 4979 | * Export options:: How to influence the export settings | 5451 | * Export options:: How to influence the export settings |
| 4980 | @end menu | 5452 | @end menu |
| 4981 | 5453 | ||
| 4982 | @node Comment lines, Enhancing text, Text interpretation, Text interpretation | 5454 | @node Comment lines, Initial text, Text interpretation, Text interpretation |
| 4983 | @subsection Comment lines | 5455 | @subsection Comment lines |
| 4984 | @cindex comment lines | 5456 | @cindex comment lines |
| 4985 | @cindex exporting, not | 5457 | @cindex exporting, not |
| 4986 | 5458 | ||
| 4987 | Lines starting with @samp{#} in column zero are treated as comments | 5459 | Lines starting with @samp{#} in column zero are treated as comments |
| 4988 | and will never be exported. Also entire subtrees starting with the | 5460 | and will never be exported. Also entire subtrees starting with the |
| 4989 | word @samp{COMMENT} will never be exported. Finally, any text before | 5461 | word @samp{COMMENT} will never be exported. |
| 4990 | the first headline will not be exported either. | ||
| 4991 | 5462 | ||
| 4992 | @table @kbd | 5463 | @table @kbd |
| 4993 | @kindex C-c ; | 5464 | @kindex C-c ; |
| @@ -4995,7 +5466,70 @@ the first headline will not be exported either. | |||
| 4995 | Toggle the COMMENT keyword at the beginning of an entry. | 5466 | Toggle the COMMENT keyword at the beginning of an entry. |
| 4996 | @end table | 5467 | @end table |
| 4997 | 5468 | ||
| 4998 | @node Enhancing text, Export options, Comment lines, Text interpretation | 5469 | @node Initial text, Footnotes, Comment lines, Text interpretation |
| 5470 | @subsection Text before the first headline | ||
| 5471 | |||
| 5472 | Org-mode normally ignores any text before the first headline when | ||
| 5473 | exporting, leaving this region for internal links to speed up navigation | ||
| 5474 | etc. However, in publishing-oriented files, you might want to have some | ||
| 5475 | text before the first headline, like a small introduction, special HTML | ||
| 5476 | code with a navigation bar, etc. You can ask to have this part of the | ||
| 5477 | file exported as well by setting the variable | ||
| 5478 | @code{org-export-skip-text-before-1st-heading} to @code{nil}. On a | ||
| 5479 | per-file basis, you can get the same effect with | ||
| 5480 | |||
| 5481 | @example | ||
| 5482 | #+OPTIONS: skip:nil | ||
| 5483 | @end example | ||
| 5484 | |||
| 5485 | The text before the first headline will be fully processed | ||
| 5486 | (@pxref{Enhancing text}), and the first non-comment line becomes the | ||
| 5487 | title of the exported document. If you need to include literal HTML, | ||
| 5488 | use the special constructs described in @ref{Quoting HTML tags}. The | ||
| 5489 | table of contents is normally inserted directly before the first | ||
| 5490 | headline of the file. If you would like to get it to a different | ||
| 5491 | location, insert the string @code{[TABLE-OF-CONTENTS]} on a line by | ||
| 5492 | itself at the desired location. | ||
| 5493 | |||
| 5494 | Finally, if you want to use the space before the first headline for | ||
| 5495 | internal purposes, but @emph{still} want to place something before the | ||
| 5496 | first headline when exporting the file, you can use the @code{#+TEXT} | ||
| 5497 | construct: | ||
| 5498 | |||
| 5499 | @example | ||
| 5500 | #+OPTIONS: skip:t | ||
| 5501 | #+TEXT: This text will go before the *first* headline. | ||
| 5502 | #+TEXT: We place the table of contents here: | ||
| 5503 | #+TEXT: [TABLE-OF-CONTENTS] | ||
| 5504 | #+TEXT: This goes between the table of contents and the first headline | ||
| 5505 | @end example | ||
| 5506 | |||
| 5507 | @node Footnotes, Enhancing text, Initial text, Text interpretation | ||
| 5508 | @subsection Footnotes | ||
| 5509 | @cindex footnotes | ||
| 5510 | @cindex @file{footnote.el} | ||
| 5511 | |||
| 5512 | Numbers in square brackets are treated as footnotes, so that you can use | ||
| 5513 | the Emacs package @file{footnote.el} to create footnotes. For example: | ||
| 5514 | |||
| 5515 | @example | ||
| 5516 | The org-mode homepage[1] clearly needs help from | ||
| 5517 | a good web designer. | ||
| 5518 | |||
| 5519 | [1] The link is: http://www.astro.uva.nl/~dominik/Tools/org | ||
| 5520 | @end example | ||
| 5521 | |||
| 5522 | @noindent | ||
| 5523 | @kindex C-c ! | ||
| 5524 | Note that the @file{footnote} package uses @kbd{C-c !} to invoke its | ||
| 5525 | commands. This binding conflicts with the org-mode command for | ||
| 5526 | inserting inactive time stamps. You could use the variable | ||
| 5527 | @code{footnote-prefix} to switch footnotes commands to another key. Or, | ||
| 5528 | if you are too used to this binding, you could use | ||
| 5529 | @code{org-replace-disputed-keys} and @code{org-disputed-keys} to change | ||
| 5530 | the settings in Org-mode. | ||
| 5531 | |||
| 5532 | @node Enhancing text, Export options, Footnotes, Text interpretation | ||
| 4999 | @subsection Enhancing text for export | 5533 | @subsection Enhancing text for export |
| 5000 | @cindex enhancing text | 5534 | @cindex enhancing text |
| 5001 | @cindex richer text | 5535 | @cindex richer text |
| @@ -5019,7 +5553,9 @@ backend supports lists. See @xref{Plain lists}. | |||
| 5019 | @cindex italic text | 5553 | @cindex italic text |
| 5020 | @item | 5554 | @item |
| 5021 | You can make words @b{*bold*}, @i{/italic/}, _underlined_, | 5555 | You can make words @b{*bold*}, @i{/italic/}, _underlined_, |
| 5022 | @code{=code=}, and @samp{+strikethrough+}. | 5556 | @code{=code=}, and even @samp{+strikethrough+}@footnote{but remember |
| 5557 | that strikethrough is typographically evil and should @i{never} be | ||
| 5558 | used.}. | ||
| 5023 | 5559 | ||
| 5024 | @cindex horizontal rules, in exported files | 5560 | @cindex horizontal rules, in exported files |
| 5025 | @item | 5561 | @item |
| @@ -5057,7 +5593,7 @@ this position. | |||
| 5057 | @end itemize | 5593 | @end itemize |
| 5058 | 5594 | ||
| 5059 | If these conversions conflict with your habits of typing ASCII text, | 5595 | If these conversions conflict with your habits of typing ASCII text, |
| 5060 | they can all be turned off with corresponding variables (see the | 5596 | they can all be turned off with corresponding variables. See the |
| 5061 | customization group @code{org-export-general}, and the following section | 5597 | customization group @code{org-export-general}, and the following section |
| 5062 | which explains how to set export options with special lines in a | 5598 | which explains how to set export options with special lines in a |
| 5063 | buffer. | 5599 | buffer. |
| @@ -5088,7 +5624,7 @@ Insert template with export options, see example below. | |||
| 5088 | #+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language}) | 5624 | #+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language}) |
| 5089 | #+TEXT: Some descriptive text to be inserted at the beginning. | 5625 | #+TEXT: Some descriptive text to be inserted at the beginning. |
| 5090 | #+TEXT: Several lines may be given. | 5626 | #+TEXT: Several lines may be given. |
| 5091 | #+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t *:nil TeX:t LaTeX:t | 5627 | #+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t *:nil TeX:t LaTeX:t skip:t |
| 5092 | @end example | 5628 | @end example |
| 5093 | 5629 | ||
| 5094 | @noindent | 5630 | @noindent |
| @@ -5113,10 +5649,13 @@ toc: @r{turn on/off table of contents, or set level limit (integer)} | |||
| 5113 | @@: @r{turn on/off quoted HTML tags} | 5649 | @@: @r{turn on/off quoted HTML tags} |
| 5114 | :: @r{turn on/off fixed-width sections} | 5650 | :: @r{turn on/off fixed-width sections} |
| 5115 | |: @r{turn on/off tables} | 5651 | |: @r{turn on/off tables} |
| 5116 | ^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts.} | 5652 | ^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts. If} |
| 5653 | @r{you write "^:@{@}", @code{a_@{b@}} will be interpreted, but} | ||
| 5654 | @r{the simple @code{a_b} will be left as it is.} | ||
| 5117 | *: @r{turn on/off emphasized text (bold, italic, underlined)} | 5655 | *: @r{turn on/off emphasized text (bold, italic, underlined)} |
| 5118 | TeX: @r{turn on/off simple @TeX{} macros in plain text} | 5656 | TeX: @r{turn on/off simple @TeX{} macros in plain text} |
| 5119 | LaTeX: @r{turn on/off La@TeX{} fragments} | 5657 | LaTeX: @r{turn on/off La@TeX{} fragments} |
| 5658 | skip: @r{turn on/off skipping the text before the first heading} | ||
| 5120 | @end example | 5659 | @end example |
| 5121 | 5660 | ||
| 5122 | @node Publishing, Miscellaneous, Exporting, Top | 5661 | @node Publishing, Miscellaneous, Exporting, Top |
| @@ -5444,13 +5983,13 @@ Once org-publish is properly configured, you can publish with the | |||
| 5444 | following functions: | 5983 | following functions: |
| 5445 | 5984 | ||
| 5446 | @table @kbd | 5985 | @table @kbd |
| 5447 | @item C-c C-e c | 5986 | @item C-c C-e C |
| 5448 | Prompt for a specific project and publish all files that belong to it. | 5987 | Prompt for a specific project and publish all files that belong to it. |
| 5449 | @item C-c C-e p | 5988 | @item C-c C-e P |
| 5450 | Publish the project containing the current file. | 5989 | Publish the project containing the current file. |
| 5451 | @item C-c C-e f | 5990 | @item C-c C-e F |
| 5452 | Publish only the current file. | 5991 | Publish only the current file. |
| 5453 | @item C-c C-e a | 5992 | @item C-c C-e A |
| 5454 | Publish all projects. | 5993 | Publish all projects. |
| 5455 | @end table | 5994 | @end table |
| 5456 | 5995 | ||
| @@ -5584,11 +6123,15 @@ Logging TODO state changes and clock intervals (variable | |||
| 5584 | @cindex @code{lognotedone}, STARTUP keyword | 6123 | @cindex @code{lognotedone}, STARTUP keyword |
| 5585 | @cindex @code{lognoteclock-out}, STARTUP keyword | 6124 | @cindex @code{lognoteclock-out}, STARTUP keyword |
| 5586 | @cindex @code{lognotestate}, STARTUP keyword | 6125 | @cindex @code{lognotestate}, STARTUP keyword |
| 6126 | @cindex @code{logrepeat}, STARTUP keyword | ||
| 6127 | @cindex @code{nologrepeat}, STARTUP keyword | ||
| 5587 | @example | 6128 | @example |
| 5588 | logging @r{record a timestamp when an item is marked DONE} | 6129 | logging @r{record a timestamp when an item is marked DONE} |
| 5589 | nologging @r{don't record when items are marked DONE} | 6130 | nologging @r{don't record when items are marked DONE} |
| 5590 | lognotedone @r{record timestamp and a note when DONE} | 6131 | lognotedone @r{record timestamp and a note when DONE} |
| 5591 | lognotestate @r{record timestamp, note when TODO state changes} | 6132 | lognotestate @r{record timestamp, note when TODO state changes} |
| 6133 | logrepeat @r{record a not when re-instating a repeating item} | ||
| 6134 | nologrepeat @r{do not record when re-instating repeating item} | ||
| 5592 | lognoteclock-out @r{record timestamp and a note when clocking out} | 6135 | lognoteclock-out @r{record timestamp and a note when clocking out} |
| 5593 | @end example | 6136 | @end example |
| 5594 | Here are the options for hiding leading stars in outline headings. The | 6137 | Here are the options for hiding leading stars in outline headings. The |
| @@ -5612,6 +6155,14 @@ To turn on custom format overlays over time stamps (variables | |||
| 5612 | @example | 6155 | @example |
| 5613 | customtime @r{overlay custom time format} | 6156 | customtime @r{overlay custom time format} |
| 5614 | @end example | 6157 | @end example |
| 6158 | The following options influence the table spreadsheet (variable | ||
| 6159 | @code{constants-unit-system}). | ||
| 6160 | @cindex @code{constcgs}, STARTUP keyword | ||
| 6161 | @cindex @code{constSI}, STARTUP keyword | ||
| 6162 | @example | ||
| 6163 | constcgs @r{@file{constants.el} should use the c-g-s unit system} | ||
| 6164 | constSI @r{@file{constants.el} should use the SI unit system} | ||
| 6165 | @end example | ||
| 5615 | @item #+SEQ_TODO: #+TYP_TODO: | 6166 | @item #+SEQ_TODO: #+TYP_TODO: |
| 5616 | These lines set the TODO keywords and their interpretation in the | 6167 | These lines set the TODO keywords and their interpretation in the |
| 5617 | current file. The corresponding variables are @code{org-todo-keywords} | 6168 | current file. The corresponding variables are @code{org-todo-keywords} |
| @@ -5633,6 +6184,10 @@ This line sets the archive location for the agenda file. It applies for | |||
| 5633 | all subsequent lines until the next @samp{#+CATEGORY} line, or the end | 6184 | all subsequent lines until the next @samp{#+CATEGORY} line, or the end |
| 5634 | of the file. The first such line also applies to any entries before it. | 6185 | of the file. The first such line also applies to any entries before it. |
| 5635 | The corresponding variable is @code{org-archive-location}. | 6186 | The corresponding variable is @code{org-archive-location}. |
| 6187 | @item #+PRIORITIES: highest lowest default | ||
| 6188 | This line sets the limits and the default for the priorities. All three | ||
| 6189 | must be either letters A-Z or numbers 0-9. The highest priority must | ||
| 6190 | have a lower ASCII number that the lowest priority. | ||
| 5636 | @item #+TBLFM: | 6191 | @item #+TBLFM: |
| 5637 | This line contains the formulas for the table directly above the line. | 6192 | This line contains the formulas for the table directly above the line. |
| 5638 | @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS: | 6193 | @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS: |
| @@ -5816,10 +6371,12 @@ rather use @kbd{C-c .} to re-insert the timestamp. | |||
| 5816 | @item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab | 6371 | @item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab |
| 5817 | @item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{@key{Esc} @key{RET}} | 6372 | @item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{@key{Esc} @key{RET}} |
| 5818 | @item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab | 6373 | @item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab |
| 5819 | @item @kbd{S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab | 6374 | @item @kbd{S-@key{left}} @tab @kbd{C-c @key{left}} @tab |
| 5820 | @item @kbd{S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab | 6375 | @item @kbd{S-@key{right}} @tab @kbd{C-c @key{right}} @tab |
| 5821 | @item @kbd{S-@key{up}} @tab @kbd{C-c C-x @key{up}} @tab | 6376 | @item @kbd{S-@key{up}} @tab @kbd{C-c @key{up}} @tab |
| 5822 | @item @kbd{S-@key{down}} @tab @kbd{C-c C-x @key{down}} @tab | 6377 | @item @kbd{S-@key{down}} @tab @kbd{C-c @key{down}} @tab |
| 6378 | @item @kbd{C-S-@key{left}} @tab @kbd{C-c C-x @key{left}} @tab | ||
| 6379 | @item @kbd{C-S-@key{right}} @tab @kbd{C-c C-x @key{right}} @tab | ||
| 5823 | @end multitable | 6380 | @end multitable |
| 5824 | 6381 | ||
| 5825 | @node Interaction, Bugs, TTY keys, Miscellaneous | 6382 | @node Interaction, Bugs, TTY keys, Miscellaneous |
| @@ -5887,7 +6444,7 @@ to execute Org-mode-related commands, leave the table. | |||
| 5887 | @item C-c C-c | 6444 | @item C-c C-c |
| 5888 | Recognize @file{table.el} table. Works when the cursor is in a | 6445 | Recognize @file{table.el} table. Works when the cursor is in a |
| 5889 | table.el table. | 6446 | table.el table. |
| 5890 | 6447 | @c | |
| 5891 | @kindex C-c ~ | 6448 | @kindex C-c ~ |
| 5892 | @item C-c ~ | 6449 | @item C-c ~ |
| 5893 | Insert a table.el table. If there is already a table at point, this | 6450 | Insert a table.el table. If there is already a table at point, this |
| @@ -5897,6 +6454,10 @@ format. See the documentation string of the command | |||
| 5897 | possible. | 6454 | possible. |
| 5898 | @end table | 6455 | @end table |
| 5899 | @file{table.el} is part of Emacs 22. | 6456 | @file{table.el} is part of Emacs 22. |
| 6457 | @cindex @file{footnote.el} | ||
| 6458 | @item @file{footnote.el} by Steven L. Baur | ||
| 6459 | Org-mode recognizes numerical footnotes as provided by this package | ||
| 6460 | (@pxref{Footnotes}). | ||
| 5900 | @end table | 6461 | @end table |
| 5901 | 6462 | ||
| 5902 | @node Conflicts, , Cooperation, Interaction | 6463 | @node Conflicts, , Cooperation, Interaction |
| @@ -5927,7 +6488,6 @@ during date selection). | |||
| 5927 | @example | 6488 | @example |
| 5928 | S-UP -> M-p S-DOWN -> M-n | 6489 | S-UP -> M-p S-DOWN -> M-n |
| 5929 | S-LEFT -> M-- S-RIGHT -> M-+ | 6490 | S-LEFT -> M-- S-RIGHT -> M-+ |
| 5930 | S-RET -> C-S-RET | ||
| 5931 | @end example | 6491 | @end example |
| 5932 | 6492 | ||
| 5933 | Yes, these are unfortunately more difficult to remember. If you want | 6493 | Yes, these are unfortunately more difficult to remember. If you want |
| @@ -5937,6 +6497,16 @@ to have other replacement keys, look at the variable | |||
| 5937 | @cindex @file{windmove.el} | 6497 | @cindex @file{windmove.el} |
| 5938 | Also this package uses the @kbd{S-<cursor>} keys, so everything written | 6498 | Also this package uses the @kbd{S-<cursor>} keys, so everything written |
| 5939 | in the paragraph above about CUA mode also applies here. | 6499 | in the paragraph above about CUA mode also applies here. |
| 6500 | |||
| 6501 | @cindex @file{footnote.el} | ||
| 6502 | @item @file{footnote.el} by Steven L. Baur | ||
| 6503 | Org-mode supports the syntax of the footnote package, but only the | ||
| 6504 | numerical footnote markers. Also, the default key for footnote | ||
| 6505 | commands, @kbd{C-c !} is already used by org-mode. You could use the | ||
| 6506 | variable @code{footnote-prefix} to switch footnotes commands to another | ||
| 6507 | key. Or, you could use @code{org-replace-disputed-keys} and | ||
| 6508 | @code{org-disputed-keys} to change the settings in Org-mode. | ||
| 6509 | |||
| 5940 | @end table | 6510 | @end table |
| 5941 | 6511 | ||
| 5942 | 6512 | ||
| @@ -6417,7 +6987,7 @@ MATCH is being ignored." | |||
| 6417 | @end lisp | 6987 | @end lisp |
| 6418 | 6988 | ||
| 6419 | 6989 | ||
| 6420 | @node History and Acknowledgments, GNU Free Documentation License, Extensions and Hacking, Top | 6990 | @node History and Acknowledgments, Index, Extensions and Hacking, Top |
| 6421 | @appendix History and Acknowledgments | 6991 | @appendix History and Acknowledgments |
| 6422 | @cindex acknowledgments | 6992 | @cindex acknowledgments |
| 6423 | @cindex history | 6993 | @cindex history |
| @@ -6478,6 +7048,9 @@ asked for a way to narrow wide table columns. | |||
| 6478 | @i{Christian Egli} converted the documentation into TeXInfo format, | 7048 | @i{Christian Egli} converted the documentation into TeXInfo format, |
| 6479 | patched CSS formatting into the HTML exporter, and inspired the agenda. | 7049 | patched CSS formatting into the HTML exporter, and inspired the agenda. |
| 6480 | @item | 7050 | @item |
| 7051 | @i{David Emery} provided a patch for custom CSS support in exported | ||
| 7052 | HTML agendas. | ||
| 7053 | @item | ||
| 6481 | @i{Nic Ferrier} contributed mailcap and XOXO support. | 7054 | @i{Nic Ferrier} contributed mailcap and XOXO support. |
| 6482 | @item | 7055 | @item |
| 6483 | @i{John Foerch} figured out how to make incremental search show context | 7056 | @i{John Foerch} figured out how to make incremental search show context |
| @@ -6490,13 +7063,19 @@ translated David O'Toole's tutorial into French. | |||
| 6490 | @item | 7063 | @item |
| 6491 | @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. | 7064 | @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. |
| 6492 | @item | 7065 | @item |
| 6493 | @i{Shidai Liu} (``Leo'') provided extensive feedback and some patches. | 7066 | @i{Shidai Liu} ("Leo") asked for embedded LaTeX and tested it. He also |
| 7067 | provided frequent feedback and some patches. | ||
| 6494 | @item | 7068 | @item |
| 6495 | @i{Leon Liu} asked for embedded LaTeX and tested it. | 7069 | @i{Jason F. McBrayer} suggested agenda export to CSV format. |
| 7070 | @item | ||
| 7071 | @i{Dmitri Minaev} sent a patch to set priority limits on a per-file | ||
| 7072 | basis. | ||
| 6496 | @item | 7073 | @item |
| 6497 | @i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler | 7074 | @i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler |
| 6498 | happy. | 7075 | happy. |
| 6499 | @item | 7076 | @item |
| 7077 | @i{Rick Moynihan} proposed to allow multiple TODO sequences in a file. | ||
| 7078 | @item | ||
| 6500 | @i{Todd Neal} provided patches for links to Info files and elisp forms. | 7079 | @i{Todd Neal} provided patches for links to Info files and elisp forms. |
| 6501 | @item | 7080 | @item |
| 6502 | @i{Tim O'Callaghan} suggested in-file links, search options for general | 7081 | @i{Tim O'Callaghan} suggested in-file links, search options for general |
| @@ -6568,12 +7147,8 @@ work on a tty. | |||
| 6568 | and contributed various ideas and code snippets. | 7147 | and contributed various ideas and code snippets. |
| 6569 | @end itemize | 7148 | @end itemize |
| 6570 | 7149 | ||
| 6571 | @node GNU Free Documentation License, Index, History and Acknowledgments, Top | ||
| 6572 | @appendix GNU Free Documentation License | ||
| 6573 | @include doclicense.texi | ||
| 6574 | |||
| 6575 | 7150 | ||
| 6576 | @node Index, Key Index, GNU Free Documentation License, Top | 7151 | @node Index, Key Index, History and Acknowledgments, Top |
| 6577 | @unnumbered Index | 7152 | @unnumbered Index |
| 6578 | 7153 | ||
| 6579 | @printindex cp | 7154 | @printindex cp |
diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 24f83276b92..4c7c136c187 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * Version 22.1 released. | ||
| 4 | |||
| 1 | 2007-02-10 Glenn Morris <rgm@gnu.org> | 5 | 2007-02-10 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * COPYING.DJ: Remove file since it is no longer needed (see README | 7 | * COPYING.DJ: Remove file since it is no longer needed (see README |
diff --git a/nt/ChangeLog b/nt/ChangeLog index 03584981bf5..c2f784da78a 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * Version 22.1 released. | ||
| 4 | |||
| 1 | 2007-05-22 Eli Zaretskii <eliz@gnu.org> | 5 | 2007-05-22 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * INSTALL: Add information about where to find GDB, and warn | 7 | * INSTALL: Add information about where to find GDB, and warn |
diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog index 9a7f01ed901..95fe90f5e64 100644 --- a/oldXMenu/ChangeLog +++ b/oldXMenu/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2007-06-04 Ulrich Mueller <ulm@gentoo.org> (tiny change) | ||
| 2 | |||
| 3 | * ChgPane.c, ChgSel.c: Quiet --with-x-toolkit=no | ||
| 4 | compilation warnings: #include <config.h>. | ||
| 5 | |||
| 6 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 7 | |||
| 8 | * Version 22.1 released. | ||
| 9 | |||
| 1 | 2007-05-30 Ulrich Mueller <ulm@gentoo.org> (tiny change) | 10 | 2007-05-30 Ulrich Mueller <ulm@gentoo.org> (tiny change) |
| 2 | 11 | ||
| 3 | * XMakeAssoc.c (XMakeAssoc): Use malloc rather than xmalloc. | 12 | * XMakeAssoc.c (XMakeAssoc): Use malloc rather than xmalloc. |
diff --git a/oldXMenu/ChgPane.c b/oldXMenu/ChgPane.c index 35caf0917c9..06b2faa4451 100644 --- a/oldXMenu/ChgPane.c +++ b/oldXMenu/ChgPane.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | * | 13 | * |
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | #include <config.h> | ||
| 16 | #include "XMenuInt.h" | 17 | #include "XMenuInt.h" |
| 17 | 18 | ||
| 18 | int | 19 | int |
diff --git a/oldXMenu/ChgSel.c b/oldXMenu/ChgSel.c index 4d246f7bdbc..9a1230bd39b 100644 --- a/oldXMenu/ChgSel.c +++ b/oldXMenu/ChgSel.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | * | 13 | * |
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | #include <config.h> | ||
| 16 | #include "XMenuInt.h" | 17 | #include "XMenuInt.h" |
| 17 | 18 | ||
| 18 | int | 19 | int |
diff --git a/src/ChangeLog b/src/ChangeLog index 1ffb57b761a..a2e1e5b8484 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,224 @@ | |||
| 1 | 2007-06-10 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * w32fns.c (Fx_file_dialog): Take size from struct not pointer. | ||
| 4 | |||
| 5 | 2007-06-08 Juanma Barranquero <lekktu@gmail.com> | ||
| 6 | |||
| 7 | * callint.c (Fcall_interactively): | ||
| 8 | * editfns.c (Fdelete_and_extract_region): | ||
| 9 | * fileio.c (Fread_file_name): | ||
| 10 | * fns.c (Fmapconcat): | ||
| 11 | * keyboard.c (cmd_error_internal): | ||
| 12 | * keymap.c (Fkey_description): | ||
| 13 | * lread.c (openp): | ||
| 14 | * minibuf.c (read_minibuf): | ||
| 15 | * search.c (wordify): | ||
| 16 | * sunfns.c (sel_read): | ||
| 17 | * xdisp.c (Fformat_mode_line, syms_of_xdisp): | ||
| 18 | * xfns.c (x_default_scroll_bar_color_parameter): | ||
| 19 | * xmenu.c (menu_help_callback): | ||
| 20 | * xselect.c (Fx_get_atom_name): | ||
| 21 | * xterm.c (x_term_init): Use empty_unibyte_string. | ||
| 22 | |||
| 23 | 2007-06-08 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change) | ||
| 24 | |||
| 25 | * alloc.c (init_strings): Initialize canonical empty strings. | ||
| 26 | (make_uninit_string, make_uninit_multibyte_string): Return appropriate | ||
| 27 | canonical empty string when the requested size is 0. | ||
| 28 | |||
| 29 | * emacs.c (empty_unibyte_string): Rename from empty_string. | ||
| 30 | (empty_multibyte_string): New canonical empty string. | ||
| 31 | (syms_of_emacs): Don't initialize empty_string. | ||
| 32 | |||
| 33 | * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte | ||
| 34 | string, if appropriate. | ||
| 35 | (empty_unibyte_string, empty_multibyte_string): New externs. | ||
| 36 | (empty_string): Remove extern. | ||
| 37 | |||
| 38 | * lread.c (syms_of_lread): Use empty_unibyte_string. | ||
| 39 | |||
| 40 | 2007-06-07 Jason Rumney <jasonr@gnu.org> | ||
| 41 | |||
| 42 | * s/ms-w32.h: Don't define HAVE_TZNAME. | ||
| 43 | |||
| 44 | * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows. | ||
| 45 | |||
| 46 | 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 47 | |||
| 48 | * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT. | ||
| 49 | |||
| 50 | * macfns.c (mac_get_window_bounds): Move extern to macterm.h. | ||
| 51 | (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse. | ||
| 52 | |||
| 53 | * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): | ||
| 54 | Don't call next handler. | ||
| 55 | [TARGET_API_MAC_CARBON] (install_menu_target_item_handler): | ||
| 56 | Remove argument. Install handler to application. | ||
| 57 | (set_frame_menubar): Don't change deep_p. | ||
| 58 | (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and | ||
| 59 | FRAME_OUTER_TO_INNER_DIFF_Y. | ||
| 60 | (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) | ||
| 61 | (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) | ||
| 62 | [HAVE_DIALOGS]: New macros. | ||
| 63 | [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog): | ||
| 64 | Use them. | ||
| 65 | (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString. | ||
| 66 | |||
| 67 | * macselect.c [MAC_OSX] (install_service_handler): Rename from | ||
| 68 | init_service_handler. All callers changed. Return OSStatus value. | ||
| 69 | |||
| 70 | * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort. | ||
| 71 | All callers changed so as not to call SetPortWindowPort. | ||
| 72 | (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. | ||
| 73 | (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from | ||
| 74 | mac_draw_string_common. | ||
| 75 | (mac_draw_image_string_qd): Likewise. | ||
| 76 | (mac_draw_string_common): Use them. Add INLINE. | ||
| 77 | (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]: | ||
| 78 | Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and | ||
| 79 | GetGlobalMouse. | ||
| 80 | (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X | ||
| 81 | and FRAME_OUTER_TO_INNER_DIFF_Y. | ||
| 82 | [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise. | ||
| 83 | [USE_MAC_TSM] (mac_handle_text_input_event): Likewise. | ||
| 84 | (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for | ||
| 85 | repositioning window to mac_handle_window_event. | ||
| 86 | (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for | ||
| 87 | saving window location to mac_handle_window_event | ||
| 88 | [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here. | ||
| 89 | (install_menu_target_item_handler): Remove argument in extern. | ||
| 90 | [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers): | ||
| 91 | Also accept command events. | ||
| 92 | (do_keystroke): New function created from XTread_socket. | ||
| 93 | (init_command_handler): Remove functions. | ||
| 94 | [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window | ||
| 95 | and save window location by kEventWindowShowing and kEventWindowHiding | ||
| 96 | handlers here. Don't call next handler for window state change and | ||
| 97 | focus events. | ||
| 98 | (mac_handle_application_event, mac_handle_keyboard_event) | ||
| 99 | [TARGET_API_MAC_CARBON]: New functions. | ||
| 100 | (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for | ||
| 101 | kEventWindowShowing and kEventWindowHiding events. Move installation | ||
| 102 | of mouse, font, text input and menu target item handlers to | ||
| 103 | install_application_handler. | ||
| 104 | (install_application_handler) [TARGET_API_MAC_CARBON]: New function. | ||
| 105 | (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: | ||
| 106 | New function. | ||
| 107 | (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: | ||
| 108 | Register it. | ||
| 109 | (XTread_socket) [TARGET_API_MAC_CARBON]: Consolidate | ||
| 110 | SendEventToEventTarget calls. Use FRAME_OUTER_TO_INNER_DIFF_X and | ||
| 111 | FRAME_OUTER_TO_INNER_DIFF_Y. Move application activation handler | ||
| 112 | to mac_handle_application_event. Move keyboard handler to | ||
| 113 | mac_handle_keyboard_event. | ||
| 114 | (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke. | ||
| 115 | (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call | ||
| 116 | init_command_handler. Call install_application_handler. | ||
| 117 | |||
| 118 | * macterm.h (mac_get_window_bounds): Move extern from macfns.c. | ||
| 119 | (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros. | ||
| 120 | |||
| 121 | 2007-06-07 Glenn Morris <rgm@gnu.org> | ||
| 122 | |||
| 123 | * emacs.c (main): Use `emacs-copyright' in --version output. | ||
| 124 | |||
| 125 | 2007-06-06 Chong Yidong <cyd@stupidchicken.com> | ||
| 126 | |||
| 127 | * image.c (xpm_load): Remove spurious call to | ||
| 128 | xpm_init_color_cache. | ||
| 129 | |||
| 130 | 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 131 | |||
| 132 | * macfns.c (mac_window): Replace WindowPtr with WindowRef. | ||
| 133 | |||
| 134 | * macgui.h: Replace WindowPtr with WindowRef. | ||
| 135 | |||
| 136 | * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and | ||
| 137 | GetMenuRef, respectively. Replace WindowPtr with WindowRef. | ||
| 138 | Replace ControlHandle with ControlRef. | ||
| 139 | (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU. | ||
| 140 | |||
| 141 | * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and | ||
| 142 | GetMenuRef, respectively. Replace WindowPtr with WindowRef. | ||
| 143 | Replace ControlHandle with ControlRef. | ||
| 144 | (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead. | ||
| 145 | [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'. | ||
| 146 | |||
| 147 | * macterm.h (struct scroll_bar): Rename member control_handle_low | ||
| 148 | and control_handle_high to control_ref_low and control_ref_high. | ||
| 149 | All uses changed. | ||
| 150 | (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from | ||
| 151 | SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE, | ||
| 152 | respectively. All uses changed. | ||
| 153 | (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground) | ||
| 154 | (install_window_handler, remove_window_handler): Replace WindowPtr | ||
| 155 | with WindowRef in externs. | ||
| 156 | |||
| 157 | 2007-06-05 Juanma Barranquero <lekktu@gmail.com> | ||
| 158 | |||
| 159 | * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops. | ||
| 160 | |||
| 161 | 2007-06-03 Nick Roberts <nickrob@snap.net.nz> | ||
| 162 | |||
| 163 | * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case. | ||
| 164 | |||
| 165 | * frame.c (Fmouse_position, Fmouse_pixel_position): | ||
| 166 | Condition on HAVE_GPM too. | ||
| 167 | |||
| 168 | * term.c (term_mouse_highlight): Remove unused variables. | ||
| 169 | (Fterm_open_connection): Set gpm_zerobased to 1. | ||
| 170 | (term_mouse_movement, term_mouse_click, handle_one_term_event): | ||
| 171 | Use zero based co-ordinates. | ||
| 172 | (handle_one_term_event): Report a drag as mouse movement too. | ||
| 173 | |||
| 174 | * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM. | ||
| 175 | |||
| 176 | 2007-06-03 Chong Yidong <cyd@stupidchicken.com> | ||
| 177 | |||
| 178 | * image.c (search_image_cache): New function. Require background | ||
| 179 | color match if background color is unspecified in the image spec. | ||
| 180 | (uncache_image, lookup_image): Use it. | ||
| 181 | |||
| 182 | 2007-06-01 Juanma Barranquero <lekktu@gmail.com> | ||
| 183 | |||
| 184 | * window.c (Fshrink_window): Reflow docstring. | ||
| 185 | |||
| 186 | 2007-06-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 187 | |||
| 188 | * Version 22.1 released. | ||
| 189 | |||
| 190 | 2007-06-01 Richard Stallman <rms@gnu.org> | ||
| 191 | |||
| 192 | * xfns.c (x_encode_text): Add GCPRO. | ||
| 193 | |||
| 194 | 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 195 | |||
| 196 | * xfns.c (x_set_name_internal): Save encoded name before | ||
| 197 | x_encode_text in case string data is relocated. | ||
| 198 | |||
| 199 | 2007-05-31 Richard Stallman <rms@gnu.org> | ||
| 200 | |||
| 201 | * buffer.c (syms_of_buffer): Doc fix. | ||
| 202 | |||
| 203 | 2007-05-30 Nick Roberts <nickrob@snap.net.nz> | ||
| 204 | |||
| 205 | * sysdep.c (init_sys_modes): Add rather than replace with | ||
| 206 | O_NONBLOCK. | ||
| 207 | |||
| 208 | * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to | ||
| 209 | term_mouse_moveto. | ||
| 210 | |||
| 211 | * termhooks.h (term_mouse_moveto): New extern. | ||
| 212 | |||
| 213 | * term.c (mouse_face_window): Rename... | ||
| 214 | (Qmouse_face_window): ...to this. | ||
| 215 | (term_show_mouse_face, term_clear_mouse_face) | ||
| 216 | (term_mouse_highlight): Use Qmouse_face_window. | ||
| 217 | (term_mouse_moveto): New function. | ||
| 218 | (term_mouse_position): Make it work. | ||
| 219 | (syms_of_term): Uncomment assignment to mouse_position_hook. | ||
| 220 | Staticpro Qmouse_face_window. | ||
| 221 | |||
| 1 | 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 222 | 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 223 | ||
| 3 | * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t | 224 | * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t |
| @@ -6,14 +227,14 @@ | |||
| 6 | 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu> | 227 | 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu> |
| 7 | 228 | ||
| 8 | * xfaces.c (syms_of_xfaces): Delete stray semicolon. | 229 | * xfaces.c (syms_of_xfaces): Delete stray semicolon. |
| 9 | * xdisp.c (next_element_from_buffer): | 230 | * xdisp.c (next_element_from_buffer): |
| 10 | * window.c (delete_window): | 231 | * window.c (delete_window): |
| 11 | * term.c (term_mouse_highlight): | 232 | * term.c (term_mouse_highlight): |
| 12 | * msdos.c (getdefdir): | 233 | * msdos.c (getdefdir): |
| 13 | * macterm.c (mac_create_bitmap_from_bitmap_data) | 234 | * macterm.c (mac_create_bitmap_from_bitmap_data) |
| 14 | (init_font_name_table): | 235 | (init_font_name_table): |
| 15 | * fns.c (Fsxhash): | 236 | * fns.c (Fsxhash): |
| 16 | * data.c (Fmake_local_variable): | 237 | * data.c (Fmake_local_variable): |
| 17 | * ccl.c (ccl_driver): Likewise. | 238 | * ccl.c (ccl_driver): Likewise. |
| 18 | 239 | ||
| 19 | 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 240 | 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| @@ -25,7 +246,7 @@ | |||
| 25 | 246 | ||
| 26 | * image.c (uncache_image): Fix typo. | 247 | * image.c (uncache_image): Fix typo. |
| 27 | 248 | ||
| 28 | 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change) | 249 | 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change) |
| 29 | 250 | ||
| 30 | * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too. | 251 | * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too. |
| 31 | 252 | ||
| @@ -78,7 +299,7 @@ | |||
| 78 | 299 | ||
| 79 | * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT. | 300 | * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT. |
| 80 | Include gpm.h. | 301 | Include gpm.h. |
| 81 | (handle_one_term_event, term_gpm) New externs. | 302 | (handle_one_term_event, term_gpm): New externs. |
| 82 | 303 | ||
| 83 | * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking | 304 | * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking |
| 84 | and allow it to be interrupted by SIGIO. | 305 | and allow it to be interrupted by SIGIO. |
| @@ -144,11 +365,12 @@ | |||
| 144 | 365 | ||
| 145 | 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca> | 366 | 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca> |
| 146 | 367 | ||
| 147 | * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object mixup (YAILOM) | 368 | * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object |
| 369 | mixup (YAILOM). | ||
| 148 | 370 | ||
| 149 | 2007-05-07 Andreas Schwab <schwab@suse.de> | 371 | 2007-05-07 Andreas Schwab <schwab@suse.de> |
| 150 | 372 | ||
| 151 | * keymap.c (Flookup_key): Fix typo in last change. | 373 | * keymap.c (Flookup_key): Fix typo in last change. |
| 152 | 374 | ||
| 153 | 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca> | 375 | 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca> |
| 154 | 376 | ||
| @@ -2599,7 +2821,7 @@ | |||
| 2599 | for writing files. Call gtk_file_chooser_set_current_name to keep | 2821 | for writing files. Call gtk_file_chooser_set_current_name to keep |
| 2600 | default filename. | 2822 | default filename. |
| 2601 | 2823 | ||
| 2602 | * minibuf.c (Finternal_complete_buffer): Move after DEFUN:s it calls | 2824 | * minibuf.c (Finternal_complete_buffer): Move after DEFUN:s it calls. |
| 2603 | 2825 | ||
| 2604 | 2006-09-02 Jindrich Makovicka <makovick@gmail.com> (tiny change) | 2826 | 2006-09-02 Jindrich Makovicka <makovick@gmail.com> (tiny change) |
| 2605 | 2827 | ||
| @@ -2856,7 +3078,7 @@ | |||
| 2856 | * xterm.h (struct x_display_info): Add x_dnd_atoms* to keep track | 3078 | * xterm.h (struct x_display_info): Add x_dnd_atoms* to keep track |
| 2857 | of drag and drop Atoms. | 3079 | of drag and drop Atoms. |
| 2858 | 3080 | ||
| 2859 | * xterm.c (x_term_init): Initialize dpyinfo->x_dnd_atoms* | 3081 | * xterm.c (x_term_init): Initialize dpyinfo->x_dnd_atoms*. |
| 2860 | 3082 | ||
| 2861 | 2006-08-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 3083 | 2006-08-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 2862 | 3084 | ||
| @@ -4022,7 +4244,7 @@ | |||
| 4022 | 4244 | ||
| 4023 | 2006-05-23 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 4245 | 2006-05-23 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 4024 | 4246 | ||
| 4025 | * xterm.c: Remove declarations already in xterm.h | 4247 | * xterm.c: Remove declarations already in xterm.h. |
| 4026 | 4248 | ||
| 4027 | * xterm.h: Add extern declarations for x_clear_errors, | 4249 | * xterm.h: Add extern declarations for x_clear_errors, |
| 4028 | x_fully_uncatch_errors, x_catching_errors and | 4250 | x_fully_uncatch_errors, x_catching_errors and |
| @@ -4763,7 +4985,8 @@ | |||
| 4763 | 4985 | ||
| 4764 | * puresize.h (pure_write_error): Mark as NO_RETURN. | 4986 | * puresize.h (pure_write_error): Mark as NO_RETURN. |
| 4765 | 4987 | ||
| 4766 | * lisp.h (args_out_of_range, args_out_of_range_3) | 4988 | * lisp.h (args_out_of_range, args_out_of_range_3, Fkill_emacs): |
| 4989 | Likewise. | ||
| 4767 | 4990 | ||
| 4768 | 2006-04-08 Eli Zaretskii <eliz@gnu.org> | 4991 | 2006-04-08 Eli Zaretskii <eliz@gnu.org> |
| 4769 | 4992 | ||
| @@ -6380,7 +6603,7 @@ | |||
| 6380 | 6603 | ||
| 6381 | * macterm.c (Qmac_ready_for_drag_n_drop, Qapplication, Qabout) | 6604 | * macterm.c (Qmac_ready_for_drag_n_drop, Qapplication, Qabout) |
| 6382 | (Qpreferences): Remove variables. | 6605 | (Qpreferences): Remove variables. |
| 6383 | (syms_of_macterm) : Don't initialize them. | 6606 | (syms_of_macterm): Don't initialize them. |
| 6384 | (Qhicommand) [USE_CARBON_EVENTS]: New variable. | 6607 | (Qhicommand) [USE_CARBON_EVENTS]: New variable. |
| 6385 | (syms_of_macterm) [USE_CARBON_EVENTS]: Initialize it. | 6608 | (syms_of_macterm) [USE_CARBON_EVENTS]: Initialize it. |
| 6386 | (init_required_apple_events, do_ae_open_application) | 6609 | (init_required_apple_events, do_ae_open_application) |
| @@ -7062,7 +7285,7 @@ | |||
| 7062 | 7285 | ||
| 7063 | * mac.c [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp): | 7286 | * mac.c [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp): |
| 7064 | Allow nil as argument. | 7287 | Allow nil as argument. |
| 7065 | [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Regard nil | 7288 | [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Regard nil |
| 7066 | for encoding arguments as UTF-16 in native byte order, no BOM. | 7289 | for encoding arguments as UTF-16 in native byte order, no BOM. |
| 7067 | 7290 | ||
| 7068 | * macfns.c (Fx_create_frame): Add debugging code. | 7291 | * macfns.c (Fx_create_frame): Add debugging code. |
| @@ -9998,7 +10221,7 @@ | |||
| 9998 | (cfobject_desc_to_lisp, cfproperty_list_to_lisp): Likewise. | 10221 | (cfobject_desc_to_lisp, cfproperty_list_to_lisp): Likewise. |
| 9999 | 10222 | ||
| 10000 | * process.c (init_process): Change `#ifdef DARWIN' to `#if | 10223 | * process.c (init_process): Change `#ifdef DARWIN' to `#if |
| 10001 | defined (DARWIN) || defined (MAC_OSX)' | 10224 | defined (DARWIN) || defined (MAC_OSX)'. |
| 10002 | 10225 | ||
| 10003 | * s/darwin.h (DARWIN): Don't define. | 10226 | * s/darwin.h (DARWIN): Don't define. |
| 10004 | 10227 | ||
| @@ -10535,7 +10758,7 @@ | |||
| 10535 | 2005-02-03 Kim F. Storm <storm@cua.dk> | 10758 | 2005-02-03 Kim F. Storm <storm@cua.dk> |
| 10536 | 10759 | ||
| 10537 | * dispnew.c (build_frame_matrix_from_leaf_window) | 10760 | * dispnew.c (build_frame_matrix_from_leaf_window) |
| 10538 | [!GLYPH_DEBUG]: Fix xassert. | 10761 | [!GLYPH_DEBUG]: Fix xassert. |
| 10539 | 10762 | ||
| 10540 | * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert. | 10763 | * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert. |
| 10541 | 10764 | ||
| @@ -11425,7 +11648,7 @@ | |||
| 11425 | 11648 | ||
| 11426 | 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 11649 | 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 11427 | 11650 | ||
| 11428 | * macterm.c (mac_do_list_fonts): Fix memory leak | 11651 | * macterm.c (mac_do_list_fonts): Fix memory leak. |
| 11429 | 11652 | ||
| 11430 | 2004-12-20 Richard M. Stallman <rms@gnu.org> | 11653 | 2004-12-20 Richard M. Stallman <rms@gnu.org> |
| 11431 | 11654 | ||
| @@ -12205,7 +12428,7 @@ | |||
| 12205 | * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o | 12428 | * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o |
| 12206 | and w32*.o. | 12429 | and w32*.o. |
| 12207 | (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked. | 12430 | (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked. |
| 12208 | (mostlyclean): Rm buildobj.lst | 12431 | (mostlyclean): Rm buildobj.lst. |
| 12209 | 12432 | ||
| 12210 | * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs | 12433 | * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs |
| 12211 | is linked. | 12434 | is linked. |
| @@ -12543,7 +12766,7 @@ | |||
| 12543 | (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used. | 12766 | (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used. |
| 12544 | (SAFE_FREE): Test it to determine if we need to unwind to free. | 12767 | (SAFE_FREE): Test it to determine if we need to unwind to free. |
| 12545 | Remove size arg. All users changed. | 12768 | Remove size arg. All users changed. |
| 12546 | (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE. | 12769 | (SAFE_FREE_LISP): Remove. All users changed to use SAFE_FREE. |
| 12547 | 12770 | ||
| 12548 | 2004-10-26 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 12771 | 2004-10-26 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 12549 | 12772 | ||
| @@ -13205,7 +13428,7 @@ | |||
| 13205 | (single_submenu): Use ENCODE_MENU_STRING | 13428 | (single_submenu): Use ENCODE_MENU_STRING |
| 13206 | (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because | 13429 | (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because |
| 13207 | button release isn't passed to event loop | 13430 | button release isn't passed to event loop |
| 13208 | (add_menu_item): Use SetMenuItemWithCFString | 13431 | (add_menu_item): Use SetMenuItemWithCFString. |
| 13209 | 13432 | ||
| 13210 | 2004-08-26 Steven Tamm <steventamm@mac.com> | 13433 | 2004-08-26 Steven Tamm <steventamm@mac.com> |
| 13211 | 13434 | ||
| @@ -13474,7 +13697,7 @@ | |||
| 13474 | blocking on event queue only by calling ReceiveNextEvent | 13697 | blocking on event queue only by calling ReceiveNextEvent |
| 13475 | instead of select (since GUI events aren't on an fd). | 13698 | instead of select (since GUI events aren't on an fd). |
| 13476 | (sys_read): Remove function | 13699 | (sys_read): Remove function |
| 13477 | * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON | 13700 | * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON. |
| 13478 | 13701 | ||
| 13479 | 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 13702 | 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 13480 | 13703 | ||
| @@ -13484,12 +13707,12 @@ | |||
| 13484 | * macterm.c (x_make_frame_visible): Comment in polling on | 13707 | * macterm.c (x_make_frame_visible): Comment in polling on |
| 13485 | frame creation. | 13708 | frame creation. |
| 13486 | 13709 | ||
| 13487 | * keyboard.c: Undef SIGIO on Carbon | 13710 | * keyboard.c: Undef SIGIO on Carbon. |
| 13488 | 13711 | ||
| 13489 | * atimer.c (alarm_signal_handler): Call alarm handlers after | 13712 | * atimer.c (alarm_signal_handler): Call alarm handlers after |
| 13490 | scheduling. | 13713 | scheduling. |
| 13491 | 13714 | ||
| 13492 | * eval.c (Feval): Remove quit_char test | 13715 | * eval.c (Feval): Remove quit_char test. |
| 13493 | 13716 | ||
| 13494 | * process.c (wait_reading_process_input): Remove clearing | 13717 | * process.c (wait_reading_process_input): Remove clearing |
| 13495 | stdin for select call on process input. | 13718 | stdin for select call on process input. |
| @@ -14441,7 +14664,7 @@ | |||
| 14441 | 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 14664 | 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 14442 | 14665 | ||
| 14443 | * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P | 14666 | * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P |
| 14444 | instead of FRAME_X_P | 14667 | instead of FRAME_X_P. |
| 14445 | 14668 | ||
| 14446 | 2004-05-11 Kim F. Storm <storm@cua.dk> | 14669 | 2004-05-11 Kim F. Storm <storm@cua.dk> |
| 14447 | 14670 | ||
| @@ -14611,7 +14834,7 @@ | |||
| 14611 | 14834 | ||
| 14612 | 2004-05-01 Jason Rumney <jasonr@gnu.org> | 14835 | 2004-05-01 Jason Rumney <jasonr@gnu.org> |
| 14613 | 14836 | ||
| 14614 | * w32term.c (x_draw_hollow_cursor): Sync with xterm.c | 14837 | * w32term.c (x_draw_hollow_cursor): Sync with xterm.c. |
| 14615 | 14838 | ||
| 14616 | 2004-04-30 Kim F. Storm <storm@cua.dk> | 14839 | 2004-04-30 Kim F. Storm <storm@cua.dk> |
| 14617 | 14840 | ||
| @@ -17404,7 +17627,7 @@ | |||
| 17404 | 17627 | ||
| 17405 | * makefile.w32-in (alloca.o): Remove. | 17628 | * makefile.w32-in (alloca.o): Remove. |
| 17406 | (coding.o): Depend on intervals.h | 17629 | (coding.o): Depend on intervals.h |
| 17407 | (emacs.o, bytecode.o): Depend on window.h | 17630 | (emacs.o, bytecode.o): Depend on window.h. |
| 17408 | 17631 | ||
| 17409 | 2003-09-01 Dave Love <fx@gnu.org> | 17632 | 2003-09-01 Dave Love <fx@gnu.org> |
| 17410 | 17633 | ||
| @@ -18185,7 +18408,7 @@ | |||
| 18185 | * gtkutil.c: Include keyboard.h, charset.h, coding.h. | 18408 | * gtkutil.c: Include keyboard.h, charset.h, coding.h. |
| 18186 | (xg_create_frame_widgets): Use ENCODE_UTF_8. | 18409 | (xg_create_frame_widgets): Use ENCODE_UTF_8. |
| 18187 | 18410 | ||
| 18188 | * xterm.c (Qutf_8): Move to coding.c | 18411 | * xterm.c (Qutf_8): Move to coding.c. |
| 18189 | 18412 | ||
| 18190 | * xmenu.c (ENCODE_MENU_STRING): New. | 18413 | * xmenu.c (ENCODE_MENU_STRING): New. |
| 18191 | (list_of_panes, list_of_items, digest_single_submenu, xmenu_show): | 18414 | (list_of_panes, list_of_items, digest_single_submenu, xmenu_show): |
| @@ -20914,7 +21137,7 @@ | |||
| 20914 | (redisplay_internal): Add check for USE_GTK and popup_activated. | 21137 | (redisplay_internal): Add check for USE_GTK and popup_activated. |
| 20915 | (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR. | 21138 | (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR. |
| 20916 | (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR. | 21139 | (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR. |
| 20917 | (display_menu_bar): Add check for USE_GTK | 21140 | (display_menu_bar): Add check for USE_GTK. |
| 20918 | 21141 | ||
| 20919 | * lisp.h (Vx_resource_name): Declare extern. | 21142 | * lisp.h (Vx_resource_name): Declare extern. |
| 20920 | 21143 | ||
| @@ -22032,7 +22255,7 @@ | |||
| 22032 | 22255 | ||
| 22033 | * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer) | 22256 | * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer) |
| 22034 | (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR. | 22257 | (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR. |
| 22035 | (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE; | 22258 | (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE. |
| 22036 | 22259 | ||
| 22037 | 2002-10-21 Stefan Monnier <monnier@cs.yale.edu> | 22260 | 2002-10-21 Stefan Monnier <monnier@cs.yale.edu> |
| 22038 | 22261 | ||
| @@ -23731,8 +23954,8 @@ | |||
| 23731 | * fns.c (Fstring_make_unibyte): Doc fix. | 23954 | * fns.c (Fstring_make_unibyte): Doc fix. |
| 23732 | 23955 | ||
| 23733 | * xselect.c (lisp_data_to_selection_data): If the requested type | 23956 | * xselect.c (lisp_data_to_selection_data): If the requested type |
| 23734 | is STRING, call string_make_unibyte to encode the selected text | 23957 | is STRING, call string_make_unibyte to encode the selected text |
| 23735 | as a string. | 23958 | as a string. |
| 23736 | 23959 | ||
| 23737 | * window.c (Fset_window_hscroll): Doc fix. | 23960 | * window.c (Fset_window_hscroll): Doc fix. |
| 23738 | 23961 | ||
diff --git a/src/Makefile.in b/src/Makefile.in index c8db387328d..93496ca1199 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -673,8 +673,12 @@ otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj) $(LIBO | |||
| 673 | #define MOUSE_SUPPORT ${lispsource}mouse.elc \ | 673 | #define MOUSE_SUPPORT ${lispsource}mouse.elc \ |
| 674 | ${lispsource}select.elc ${lispsource}scroll-bar.elc | 674 | ${lispsource}select.elc ${lispsource}scroll-bar.elc |
| 675 | #else | 675 | #else |
| 676 | #ifdef HAVE_GPM | ||
| 677 | #define MOUSE_SUPPORT ${lispsource}mouse.elc | ||
| 678 | #else | ||
| 676 | #define MOUSE_SUPPORT | 679 | #define MOUSE_SUPPORT |
| 677 | #endif | 680 | #endif |
| 681 | #endif | ||
| 678 | 682 | ||
| 679 | #ifdef VMS | 683 | #ifdef VMS |
| 680 | #define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc | 684 | #define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc |
diff --git a/src/alloc.c b/src/alloc.c index 574196059f8..cc6d1d55870 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -1759,6 +1759,8 @@ init_strings () | |||
| 1759 | string_blocks = NULL; | 1759 | string_blocks = NULL; |
| 1760 | n_string_blocks = 0; | 1760 | n_string_blocks = 0; |
| 1761 | string_free_list = NULL; | 1761 | string_free_list = NULL; |
| 1762 | empty_unibyte_string = make_pure_string ("", 0, 0, 0); | ||
| 1763 | empty_multibyte_string = make_pure_string ("", 0, 0, 1); | ||
| 1762 | } | 1764 | } |
| 1763 | 1765 | ||
| 1764 | 1766 | ||
| @@ -2482,6 +2484,9 @@ make_uninit_string (length) | |||
| 2482 | int length; | 2484 | int length; |
| 2483 | { | 2485 | { |
| 2484 | Lisp_Object val; | 2486 | Lisp_Object val; |
| 2487 | |||
| 2488 | if (!length) | ||
| 2489 | return empty_unibyte_string; | ||
| 2485 | val = make_uninit_multibyte_string (length, length); | 2490 | val = make_uninit_multibyte_string (length, length); |
| 2486 | STRING_SET_UNIBYTE (val); | 2491 | STRING_SET_UNIBYTE (val); |
| 2487 | return val; | 2492 | return val; |
| @@ -2500,6 +2505,8 @@ make_uninit_multibyte_string (nchars, nbytes) | |||
| 2500 | 2505 | ||
| 2501 | if (nchars < 0) | 2506 | if (nchars < 0) |
| 2502 | abort (); | 2507 | abort (); |
| 2508 | if (!nbytes) | ||
| 2509 | return empty_multibyte_string; | ||
| 2503 | 2510 | ||
| 2504 | s = allocate_string (); | 2511 | s = allocate_string (); |
| 2505 | allocate_string_data (s, nchars, nbytes); | 2512 | allocate_string_data (s, nchars, nbytes); |
diff --git a/src/buffer.c b/src/buffer.c index 15cb9f29356..dee7b04190a 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -6016,7 +6016,7 @@ same format as a regular save would use. */); | |||
| 6016 | The default is t, which means that text is invisible | 6016 | The default is t, which means that text is invisible |
| 6017 | if it has a non-nil `invisible' property. | 6017 | if it has a non-nil `invisible' property. |
| 6018 | If the value is a list, a text character is invisible if its `invisible' | 6018 | If the value is a list, a text character is invisible if its `invisible' |
| 6019 | property is an element in that list. | 6019 | property is an element in that list (or is a list with members in common). |
| 6020 | If an element is a cons cell of the form (PROP . ELLIPSIS), | 6020 | If an element is a cons cell of the form (PROP . ELLIPSIS), |
| 6021 | then characters with property value PROP are invisible, | 6021 | then characters with property value PROP are invisible, |
| 6022 | and they have an ellipsis as well if ELLIPSIS is non-nil. */); | 6022 | and they have an ellipsis as well if ELLIPSIS is non-nil. */); |
diff --git a/src/callint.c b/src/callint.c index 84626031b3c..85ee6722710 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -585,7 +585,7 @@ invoke it. If KEYS is omitted or nil, the return value of | |||
| 585 | case 'G': /* Possibly nonexistent file name, | 585 | case 'G': /* Possibly nonexistent file name, |
| 586 | default to directory alone. */ | 586 | default to directory alone. */ |
| 587 | args[i] = Fread_file_name (callint_message, | 587 | args[i] = Fread_file_name (callint_message, |
| 588 | Qnil, Qnil, Qnil, build_string (""), Qnil); | 588 | Qnil, Qnil, Qnil, empty_unibyte_string, Qnil); |
| 589 | break; | 589 | break; |
| 590 | 590 | ||
| 591 | case 'i': /* Ignore an argument -- Does not do I/O */ | 591 | case 'i': /* Ignore an argument -- Does not do I/O */ |
diff --git a/src/editfns.c b/src/editfns.c index 37498e3b6f7..aca3383943d 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1974,6 +1974,7 @@ the data it can't find. */) | |||
| 1974 | int offset = tm_diff (t, &gmt); | 1974 | int offset = tm_diff (t, &gmt); |
| 1975 | char *s = 0; | 1975 | char *s = 0; |
| 1976 | char buf[6]; | 1976 | char buf[6]; |
| 1977 | |||
| 1977 | #ifdef HAVE_TM_ZONE | 1978 | #ifdef HAVE_TM_ZONE |
| 1978 | if (t->tm_zone) | 1979 | if (t->tm_zone) |
| 1979 | s = (char *)t->tm_zone; | 1980 | s = (char *)t->tm_zone; |
| @@ -1984,19 +1985,6 @@ the data it can't find. */) | |||
| 1984 | #endif | 1985 | #endif |
| 1985 | #endif /* not HAVE_TM_ZONE */ | 1986 | #endif /* not HAVE_TM_ZONE */ |
| 1986 | 1987 | ||
| 1987 | #if defined HAVE_TM_ZONE || defined HAVE_TZNAME | ||
| 1988 | if (s) | ||
| 1989 | { | ||
| 1990 | /* On Japanese w32, we can get a Japanese string as time | ||
| 1991 | zone name. Don't accept that. */ | ||
| 1992 | char *p; | ||
| 1993 | for (p = s; *p && (isalnum ((unsigned char)*p) || *p == ' '); ++p) | ||
| 1994 | ; | ||
| 1995 | if (p == s || *p) | ||
| 1996 | s = NULL; | ||
| 1997 | } | ||
| 1998 | #endif | ||
| 1999 | |||
| 2000 | if (!s) | 1988 | if (!s) |
| 2001 | { | 1989 | { |
| 2002 | /* No local time zone name is available; use "+-NNNN" instead. */ | 1990 | /* No local time zone name is available; use "+-NNNN" instead. */ |
| @@ -2004,6 +1992,7 @@ the data it can't find. */) | |||
| 2004 | sprintf (buf, "%c%02d%02d", (offset < 0 ? '-' : '+'), am/60, am%60); | 1992 | sprintf (buf, "%c%02d%02d", (offset < 0 ? '-' : '+'), am/60, am%60); |
| 2005 | s = buf; | 1993 | s = buf; |
| 2006 | } | 1994 | } |
| 1995 | |||
| 2007 | return Fcons (make_number (offset), Fcons (build_string (s), Qnil)); | 1996 | return Fcons (make_number (offset), Fcons (build_string (s), Qnil)); |
| 2008 | } | 1997 | } |
| 2009 | else | 1998 | else |
| @@ -3042,7 +3031,7 @@ DEFUN ("delete-and-extract-region", Fdelete_and_extract_region, | |||
| 3042 | { | 3031 | { |
| 3043 | validate_region (&start, &end); | 3032 | validate_region (&start, &end); |
| 3044 | if (XINT (start) == XINT (end)) | 3033 | if (XINT (start) == XINT (end)) |
| 3045 | return build_string (""); | 3034 | return empty_unibyte_string; |
| 3046 | return del_range_1 (XINT (start), XINT (end), 1, 1); | 3035 | return del_range_1 (XINT (start), XINT (end), 1, 1); |
| 3047 | } | 3036 | } |
| 3048 | 3037 | ||
diff --git a/src/emacs.c b/src/emacs.c index ac62fc420b9..079f13b2d4f 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -134,8 +134,8 @@ Lisp_Object Vinstallation_directory; | |||
| 134 | /* Hook run by `kill-emacs' before it does really anything. */ | 134 | /* Hook run by `kill-emacs' before it does really anything. */ |
| 135 | Lisp_Object Vkill_emacs_hook; | 135 | Lisp_Object Vkill_emacs_hook; |
| 136 | 136 | ||
| 137 | /* An empty lisp string. To avoid having to build any other. */ | 137 | /* Empty lisp strings. To avoid having to build any others. */ |
| 138 | Lisp_Object empty_string; | 138 | Lisp_Object empty_unibyte_string, empty_multibyte_string; |
| 139 | 139 | ||
| 140 | /* Search path separator. */ | 140 | /* Search path separator. */ |
| 141 | Lisp_Object Vpath_separator; | 141 | Lisp_Object Vpath_separator; |
| @@ -857,17 +857,23 @@ main (argc, argv | |||
| 857 | So ignore --version otherwise. */ | 857 | So ignore --version otherwise. */ |
| 858 | && initialized) | 858 | && initialized) |
| 859 | { | 859 | { |
| 860 | Lisp_Object tem; | 860 | Lisp_Object tem, tem2; |
| 861 | tem = Fsymbol_value (intern ("emacs-version")); | 861 | tem = Fsymbol_value (intern ("emacs-version")); |
| 862 | tem2 = Fsymbol_value (intern ("emacs-copyright")); | ||
| 862 | if (!STRINGP (tem)) | 863 | if (!STRINGP (tem)) |
| 863 | { | 864 | { |
| 864 | fprintf (stderr, "Invalid value of `emacs-version'\n"); | 865 | fprintf (stderr, "Invalid value of `emacs-version'\n"); |
| 865 | exit (1); | 866 | exit (1); |
| 866 | } | 867 | } |
| 868 | if (!STRINGP (tem2)) | ||
| 869 | { | ||
| 870 | fprintf (stderr, "Invalid value of `emacs-copyright'\n"); | ||
| 871 | exit (1); | ||
| 872 | } | ||
| 867 | else | 873 | else |
| 868 | { | 874 | { |
| 869 | printf ("GNU Emacs %s\n", SDATA (tem)); | 875 | printf ("GNU Emacs %s\n", SDATA (tem)); |
| 870 | printf ("Copyright (C) 2007 Free Software Foundation, Inc.\n"); | 876 | printf ("%s\n", SDATA(tem2)); |
| 871 | printf ("GNU Emacs comes with ABSOLUTELY NO WARRANTY.\n"); | 877 | printf ("GNU Emacs comes with ABSOLUTELY NO WARRANTY.\n"); |
| 872 | printf ("You may redistribute copies of Emacs\n"); | 878 | printf ("You may redistribute copies of Emacs\n"); |
| 873 | printf ("under the terms of the GNU General Public License.\n"); | 879 | printf ("under the terms of the GNU General Public License.\n"); |
| @@ -2471,9 +2477,6 @@ see `kill-emacs-query-functions' instead. | |||
| 2471 | The hook is not run in batch mode, i.e., if `noninteractive' is non-nil. */); | 2477 | The hook is not run in batch mode, i.e., if `noninteractive' is non-nil. */); |
| 2472 | Vkill_emacs_hook = Qnil; | 2478 | Vkill_emacs_hook = Qnil; |
| 2473 | 2479 | ||
| 2474 | empty_string = build_string (""); | ||
| 2475 | staticpro (&empty_string); | ||
| 2476 | |||
| 2477 | DEFVAR_INT ("emacs-priority", &emacs_priority, | 2480 | DEFVAR_INT ("emacs-priority", &emacs_priority, |
| 2478 | doc: /* Priority for Emacs to run at. | 2481 | doc: /* Priority for Emacs to run at. |
| 2479 | This value is effective only if set before Emacs is dumped, | 2482 | This value is effective only if set before Emacs is dumped, |
diff --git a/src/fileio.c b/src/fileio.c index b9f9334a062..cdbd35748f1 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -6432,7 +6432,7 @@ and `read-file-name-function'. */) | |||
| 6432 | if (! replace_in_history) | 6432 | if (! replace_in_history) |
| 6433 | add_to_history = 1; | 6433 | add_to_history = 1; |
| 6434 | 6434 | ||
| 6435 | val = empty_string; | 6435 | val = empty_unibyte_string; |
| 6436 | } | 6436 | } |
| 6437 | 6437 | ||
| 6438 | unbind_to (count, Qnil); | 6438 | unbind_to (count, Qnil); |
| @@ -3134,7 +3134,7 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */) | |||
| 3134 | len = Flength (sequence); | 3134 | len = Flength (sequence); |
| 3135 | leni = XINT (len); | 3135 | leni = XINT (len); |
| 3136 | nargs = leni + leni - 1; | 3136 | nargs = leni + leni - 1; |
| 3137 | if (nargs < 0) return build_string (""); | 3137 | if (nargs < 0) return empty_unibyte_string; |
| 3138 | 3138 | ||
| 3139 | SAFE_ALLOCA_LISP (args, nargs); | 3139 | SAFE_ALLOCA_LISP (args, nargs); |
| 3140 | 3140 | ||
diff --git a/src/frame.c b/src/frame.c index 08379c7623c..a1b4e6bd85f 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -1706,7 +1706,7 @@ and returns whatever that function returns. */) | |||
| 1706 | f = SELECTED_FRAME (); | 1706 | f = SELECTED_FRAME (); |
| 1707 | x = y = Qnil; | 1707 | x = y = Qnil; |
| 1708 | 1708 | ||
| 1709 | #ifdef HAVE_MOUSE | 1709 | #if defined (HAVE_MOUSE) || defined (HAVE_GPM) |
| 1710 | /* It's okay for the hook to refrain from storing anything. */ | 1710 | /* It's okay for the hook to refrain from storing anything. */ |
| 1711 | if (FRAME_TERMINAL (f)->mouse_position_hook) | 1711 | if (FRAME_TERMINAL (f)->mouse_position_hook) |
| 1712 | (*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1, | 1712 | (*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1, |
| @@ -1750,7 +1750,7 @@ and nil for X and Y. */) | |||
| 1750 | f = SELECTED_FRAME (); | 1750 | f = SELECTED_FRAME (); |
| 1751 | x = y = Qnil; | 1751 | x = y = Qnil; |
| 1752 | 1752 | ||
| 1753 | #ifdef HAVE_MOUSE | 1753 | #if defined (HAVE_MOUSE) || defined (HAVE_GPM) |
| 1754 | /* It's okay for the hook to refrain from storing anything. */ | 1754 | /* It's okay for the hook to refrain from storing anything. */ |
| 1755 | if (FRAME_TERMINAL (f)->mouse_position_hook) | 1755 | if (FRAME_TERMINAL (f)->mouse_position_hook) |
| 1756 | (*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1, | 1756 | (*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1, |
| @@ -1837,6 +1837,13 @@ before calling this function on it, like this. | |||
| 1837 | Fselect_frame (frame); | 1837 | Fselect_frame (frame); |
| 1838 | mouse_moveto (XINT (x), XINT (y)); | 1838 | mouse_moveto (XINT (x), XINT (y)); |
| 1839 | } | 1839 | } |
| 1840 | #else | ||
| 1841 | #ifdef HAVE_GPM | ||
| 1842 | { | ||
| 1843 | Fselect_frame (frame); | ||
| 1844 | term_mouse_moveto (XINT (x), XINT (y)); | ||
| 1845 | } | ||
| 1846 | #endif | ||
| 1840 | #endif | 1847 | #endif |
| 1841 | #endif | 1848 | #endif |
| 1842 | 1849 | ||
diff --git a/src/image.c b/src/image.c index fbd2f4e6a51..b53fe01d7f9 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -1609,6 +1609,7 @@ x_alloc_image_color (f, img, color_name, dflt) | |||
| 1609 | Image Cache | 1609 | Image Cache |
| 1610 | ***********************************************************************/ | 1610 | ***********************************************************************/ |
| 1611 | 1611 | ||
| 1612 | static struct image *search_image_cache P_ ((struct frame *, Lisp_Object, unsigned)); | ||
| 1612 | static void cache_image P_ ((struct frame *f, struct image *img)); | 1613 | static void cache_image P_ ((struct frame *f, struct image *img)); |
| 1613 | static void postprocess_image P_ ((struct frame *, struct image *)); | 1614 | static void postprocess_image P_ ((struct frame *, struct image *)); |
| 1614 | 1615 | ||
| @@ -1631,24 +1632,47 @@ make_image_cache () | |||
| 1631 | } | 1632 | } |
| 1632 | 1633 | ||
| 1633 | 1634 | ||
| 1634 | /* Search frame F for an images with spec SPEC, and free it. */ | 1635 | /* Find an image matching SPEC in the cache, and return it. If no |
| 1635 | 1636 | image is found, return NULL. */ | |
| 1636 | static void | 1637 | static struct image * |
| 1637 | uncache_image (f, spec) | 1638 | search_image_cache (f, spec, hash) |
| 1638 | struct frame *f; | 1639 | struct frame *f; |
| 1639 | Lisp_Object spec; | 1640 | Lisp_Object spec; |
| 1641 | unsigned hash; | ||
| 1640 | { | 1642 | { |
| 1641 | struct image_cache *c = FRAME_X_IMAGE_CACHE (f); | ||
| 1642 | struct image *img; | 1643 | struct image *img; |
| 1643 | unsigned hash = sxhash (spec, 0); | 1644 | struct image_cache *c = FRAME_X_IMAGE_CACHE (f); |
| 1645 | Lisp_Object specified_bg = image_spec_value (spec, QCbackground, NULL); | ||
| 1644 | int i = hash % IMAGE_CACHE_BUCKETS_SIZE; | 1646 | int i = hash % IMAGE_CACHE_BUCKETS_SIZE; |
| 1645 | 1647 | ||
| 1648 | /* If the image spec does not specify a background color, the cached | ||
| 1649 | image must have the same background color as the current frame. | ||
| 1650 | The following code be improved. For example, jpeg does not | ||
| 1651 | support transparency, but currently a jpeg image spec won't match | ||
| 1652 | a cached spec created with a different frame background. The | ||
| 1653 | extra memory usage is probably negligible in practice. */ | ||
| 1654 | if (!c) return NULL; | ||
| 1655 | |||
| 1646 | for (img = c->buckets[i]; img; img = img->next) | 1656 | for (img = c->buckets[i]; img; img = img->next) |
| 1647 | if (img->hash == hash && !NILP (Fequal (img->spec, spec))) | 1657 | if (img->hash == hash |
| 1648 | { | 1658 | && !NILP (Fequal (img->spec, spec)) |
| 1649 | free_image (f, img); | 1659 | && (STRINGP (specified_bg) |
| 1650 | break; | 1660 | || img->background == FRAME_BACKGROUND_PIXEL (f))) |
| 1651 | } | 1661 | break; |
| 1662 | return img; | ||
| 1663 | } | ||
| 1664 | |||
| 1665 | |||
| 1666 | /* Search frame F for an image with spec SPEC, and free it. */ | ||
| 1667 | |||
| 1668 | static void | ||
| 1669 | uncache_image (f, spec) | ||
| 1670 | struct frame *f; | ||
| 1671 | Lisp_Object spec; | ||
| 1672 | { | ||
| 1673 | struct image *img = search_image_cache (f, spec, sxhash (spec, 0)); | ||
| 1674 | if (img) | ||
| 1675 | free_image (f, img); | ||
| 1652 | } | 1676 | } |
| 1653 | 1677 | ||
| 1654 | 1678 | ||
| @@ -1877,7 +1901,6 @@ lookup_image (f, spec) | |||
| 1877 | { | 1901 | { |
| 1878 | struct image_cache *c; | 1902 | struct image_cache *c; |
| 1879 | struct image *img; | 1903 | struct image *img; |
| 1880 | int i; | ||
| 1881 | unsigned hash; | 1904 | unsigned hash; |
| 1882 | struct gcpro gcpro1; | 1905 | struct gcpro gcpro1; |
| 1883 | EMACS_TIME now; | 1906 | EMACS_TIME now; |
| @@ -1893,12 +1916,7 @@ lookup_image (f, spec) | |||
| 1893 | 1916 | ||
| 1894 | /* Look up SPEC in the hash table of the image cache. */ | 1917 | /* Look up SPEC in the hash table of the image cache. */ |
| 1895 | hash = sxhash (spec, 0); | 1918 | hash = sxhash (spec, 0); |
| 1896 | i = hash % IMAGE_CACHE_BUCKETS_SIZE; | 1919 | img = search_image_cache (f, spec, hash); |
| 1897 | |||
| 1898 | for (img = c->buckets[i]; img; img = img->next) | ||
| 1899 | if (img->hash == hash && !NILP (Fequal (img->spec, spec))) | ||
| 1900 | break; | ||
| 1901 | |||
| 1902 | if (img && img->load_failed_p) | 1920 | if (img && img->load_failed_p) |
| 1903 | { | 1921 | { |
| 1904 | free_image (f, img); | 1922 | free_image (f, img); |
| @@ -3963,9 +3981,6 @@ xpm_load (f, img) | |||
| 3963 | attrs.valuemask |= XpmCloseness; | 3981 | attrs.valuemask |= XpmCloseness; |
| 3964 | #endif /* not XpmAllocCloseColors */ | 3982 | #endif /* not XpmAllocCloseColors */ |
| 3965 | #endif /* ALLOC_XPM_COLORS */ | 3983 | #endif /* ALLOC_XPM_COLORS */ |
| 3966 | #ifdef ALLOC_XPM_COLORS | ||
| 3967 | xpm_init_color_cache (f, &attrs); | ||
| 3968 | #endif | ||
| 3969 | 3984 | ||
| 3970 | /* If image specification contains symbolic color definitions, add | 3985 | /* If image specification contains symbolic color definitions, add |
| 3971 | these to `attrs'. */ | 3986 | these to `attrs'. */ |
diff --git a/src/keyboard.c b/src/keyboard.c index 576afd29843..9786449a003 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1327,7 +1327,7 @@ cmd_error_internal (data, context) | |||
| 1327 | /* Use user's specified output function if any. */ | 1327 | /* Use user's specified output function if any. */ |
| 1328 | if (!NILP (Vcommand_error_function)) | 1328 | if (!NILP (Vcommand_error_function)) |
| 1329 | call3 (Vcommand_error_function, data, | 1329 | call3 (Vcommand_error_function, data, |
| 1330 | build_string (context ? context : ""), | 1330 | context ? build_string (context) : empty_unibyte_string, |
| 1331 | Vsignaling_function); | 1331 | Vsignaling_function); |
| 1332 | /* If the window system or terminal frame hasn't been initialized | 1332 | /* If the window system or terminal frame hasn't been initialized |
| 1333 | yet, or we're not interactive, write the message to stderr and exit. */ | 1333 | yet, or we're not interactive, write the message to stderr and exit. */ |
| @@ -4029,6 +4029,9 @@ discard_mouse_events () | |||
| 4029 | #ifdef WINDOWSNT | 4029 | #ifdef WINDOWSNT |
| 4030 | || sp->kind == W32_SCROLL_BAR_CLICK_EVENT | 4030 | || sp->kind == W32_SCROLL_BAR_CLICK_EVENT |
| 4031 | #endif | 4031 | #endif |
| 4032 | #ifdef HAVE_GPM | ||
| 4033 | || sp->kind == GPM_CLICK_EVENT | ||
| 4034 | #endif | ||
| 4032 | || sp->kind == SCROLL_BAR_CLICK_EVENT) | 4035 | || sp->kind == SCROLL_BAR_CLICK_EVENT) |
| 4033 | { | 4036 | { |
| 4034 | sp->kind = NO_EVENT; | 4037 | sp->kind = NO_EVENT; |
diff --git a/src/keymap.c b/src/keymap.c index 47e3f50786b..904e3c89d55 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -2181,7 +2181,7 @@ spaces are put between sequence elements, etc. */) | |||
| 2181 | len += 2; | 2181 | len += 2; |
| 2182 | } | 2182 | } |
| 2183 | else if (len == 0) | 2183 | else if (len == 0) |
| 2184 | return empty_string; | 2184 | return empty_unibyte_string; |
| 2185 | return Fconcat (len - 1, args); | 2185 | return Fconcat (len - 1, args); |
| 2186 | } | 2186 | } |
| 2187 | 2187 | ||
diff --git a/src/lisp.h b/src/lisp.h index 82036f3030e..7bf59d0f55a 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -701,7 +701,10 @@ extern int string_bytes P_ ((struct Lisp_String *)); | |||
| 701 | #endif /* not GC_CHECK_STRING_BYTES */ | 701 | #endif /* not GC_CHECK_STRING_BYTES */ |
| 702 | 702 | ||
| 703 | /* Mark STR as a unibyte string. */ | 703 | /* Mark STR as a unibyte string. */ |
| 704 | #define STRING_SET_UNIBYTE(STR) (XSTRING (STR)->size_byte = -1) | 704 | #define STRING_SET_UNIBYTE(STR) \ |
| 705 | do { if (EQ (STR, empty_multibyte_string)) \ | ||
| 706 | (STR) = empty_unibyte_string; \ | ||
| 707 | else XSTRING (STR)->size_byte = -1; } while (0) | ||
| 705 | 708 | ||
| 706 | /* Get text properties. */ | 709 | /* Get text properties. */ |
| 707 | #define STRING_INTERVALS(STR) (XSTRING (STR)->intervals + 0) | 710 | #define STRING_INTERVALS(STR) (XSTRING (STR)->intervals + 0) |
| @@ -3065,7 +3068,8 @@ extern void syms_of_frame P_ ((void)); | |||
| 3065 | /* defined in emacs.c */ | 3068 | /* defined in emacs.c */ |
| 3066 | extern Lisp_Object decode_env_path P_ ((char *, char *)); | 3069 | extern Lisp_Object decode_env_path P_ ((char *, char *)); |
| 3067 | extern Lisp_Object Vinvocation_name, Vinvocation_directory; | 3070 | extern Lisp_Object Vinvocation_name, Vinvocation_directory; |
| 3068 | extern Lisp_Object Vinstallation_directory, empty_string; | 3071 | extern Lisp_Object Vinstallation_directory; |
| 3072 | extern Lisp_Object empty_unibyte_string, empty_multibyte_string; | ||
| 3069 | EXFUN (Fkill_emacs, 1); | 3073 | EXFUN (Fkill_emacs, 1); |
| 3070 | #if HAVE_SETLOCALE | 3074 | #if HAVE_SETLOCALE |
| 3071 | void fixup_locale P_ ((void)); | 3075 | void fixup_locale P_ ((void)); |
diff --git a/src/lread.c b/src/lread.c index 49a56a0e935..5f4d69a3312 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1201,7 +1201,7 @@ openp (path, str, suffixes, storeptr, predicate) | |||
| 1201 | fn = (char *) alloca (fn_size = 100 + want_size); | 1201 | fn = (char *) alloca (fn_size = 100 + want_size); |
| 1202 | 1202 | ||
| 1203 | /* Loop over suffixes. */ | 1203 | /* Loop over suffixes. */ |
| 1204 | for (tail = NILP (suffixes) ? Fcons (build_string (""), Qnil) : suffixes; | 1204 | for (tail = NILP (suffixes) ? Fcons (empty_unibyte_string, Qnil) : suffixes; |
| 1205 | CONSP (tail); tail = XCDR (tail)) | 1205 | CONSP (tail); tail = XCDR (tail)) |
| 1206 | { | 1206 | { |
| 1207 | int lsuffix = SBYTES (XCAR (tail)); | 1207 | int lsuffix = SBYTES (XCAR (tail)); |
| @@ -4072,8 +4072,7 @@ and, if so, which suffixes they should try to append to the file name | |||
| 4072 | in order to do so. However, if you want to customize which suffixes | 4072 | in order to do so. However, if you want to customize which suffixes |
| 4073 | the loading functions recognize as compression suffixes, you should | 4073 | the loading functions recognize as compression suffixes, you should |
| 4074 | customize `jka-compr-load-suffixes' rather than the present variable. */); | 4074 | customize `jka-compr-load-suffixes' rather than the present variable. */); |
| 4075 | /* We don't use empty_string because it's not initialized yet. */ | 4075 | Vload_file_rep_suffixes = Fcons (empty_unibyte_string, Qnil); |
| 4076 | Vload_file_rep_suffixes = Fcons (build_string (""), Qnil); | ||
| 4077 | 4076 | ||
| 4078 | DEFVAR_BOOL ("load-in-progress", &load_in_progress, | 4077 | DEFVAR_BOOL ("load-in-progress", &load_in_progress, |
| 4079 | doc: /* Non-nil iff inside of `load'. */); | 4078 | doc: /* Non-nil iff inside of `load'. */); |
| @@ -1826,8 +1826,6 @@ xrm_get_preference_database (application) | |||
| 1826 | 1826 | ||
| 1827 | GCPRO3 (database, quarks, value); | 1827 | GCPRO3 (database, quarks, value); |
| 1828 | 1828 | ||
| 1829 | BLOCK_INPUT; | ||
| 1830 | |||
| 1831 | app_id = kCFPreferencesCurrentApplication; | 1829 | app_id = kCFPreferencesCurrentApplication; |
| 1832 | if (application) | 1830 | if (application) |
| 1833 | { | 1831 | { |
| @@ -1879,8 +1877,6 @@ xrm_get_preference_database (application) | |||
| 1879 | CFRelease (key_set); | 1877 | CFRelease (key_set); |
| 1880 | CFRelease (app_id); | 1878 | CFRelease (app_id); |
| 1881 | 1879 | ||
| 1882 | UNBLOCK_INPUT; | ||
| 1883 | |||
| 1884 | UNGCPRO; | 1880 | UNGCPRO; |
| 1885 | 1881 | ||
| 1886 | return database; | 1882 | return database; |
diff --git a/src/macfns.c b/src/macfns.c index 4c454399afb..cd02552df7a 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -217,9 +217,6 @@ void x_explicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object)); | |||
| 217 | void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); | 217 | void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); |
| 218 | void x_set_title P_ ((struct frame *, Lisp_Object, Lisp_Object)); | 218 | void x_set_title P_ ((struct frame *, Lisp_Object, Lisp_Object)); |
| 219 | void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); | 219 | void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); |
| 220 | |||
| 221 | extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *)); | ||
| 222 | |||
| 223 | 220 | ||
| 224 | 221 | ||
| 225 | /* Store the screen positions of frame F into XPTR and YPTR. | 222 | /* Store the screen positions of frame F into XPTR and YPTR. |
| @@ -2262,11 +2259,11 @@ mac_window (f, window_prompting, minibuffer_only) | |||
| 2262 | FRAME_MAC_WINDOW (f) = NULL; | 2259 | FRAME_MAC_WINDOW (f) = NULL; |
| 2263 | } | 2260 | } |
| 2264 | } | 2261 | } |
| 2265 | #else | 2262 | #else /* !TARGET_API_MAC_CARBON */ |
| 2266 | FRAME_MAC_WINDOW (f) | 2263 | FRAME_MAC_WINDOW (f) |
| 2267 | = NewCWindow (NULL, &r, "\p", false, zoomDocProc, | 2264 | = NewCWindow (NULL, &r, "\p", false, zoomDocProc, |
| 2268 | (WindowPtr) -1, 1, (long) f->output_data.mac); | 2265 | (WindowRef) -1, 1, (long) f->output_data.mac); |
| 2269 | #endif | 2266 | #endif /* !TARGET_API_MAC_CARBON */ |
| 2270 | /* so that update events can find this mac_output struct */ | 2267 | /* so that update events can find this mac_output struct */ |
| 2271 | f->output_data.mac->mFP = f; /* point back to emacs frame */ | 2268 | f->output_data.mac->mFP = f; /* point back to emacs frame */ |
| 2272 | 2269 | ||
| @@ -3123,7 +3120,7 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3123 | UNBLOCK_INPUT; | 3120 | UNBLOCK_INPUT; |
| 3124 | } | 3121 | } |
| 3125 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | 3122 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| 3126 | else | 3123 | else /* CGDisplayScreenSize == NULL */ |
| 3127 | #endif | 3124 | #endif |
| 3128 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ | 3125 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 3129 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | 3126 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| @@ -3160,7 +3157,7 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3160 | UNBLOCK_INPUT; | 3157 | UNBLOCK_INPUT; |
| 3161 | } | 3158 | } |
| 3162 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | 3159 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| 3163 | else | 3160 | else /* CGDisplayScreenSize == NULL */ |
| 3164 | #endif | 3161 | #endif |
| 3165 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ | 3162 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 3166 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | 3163 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| @@ -4069,8 +4066,12 @@ compute_tip_xy (f, parms, dx, dy, width, height, root_x, root_y) | |||
| 4069 | Point mouse_pos; | 4066 | Point mouse_pos; |
| 4070 | 4067 | ||
| 4071 | BLOCK_INPUT; | 4068 | BLOCK_INPUT; |
| 4069 | #if TARGET_API_MAC_CARBON | ||
| 4070 | GetGlobalMouse (&mouse_pos); | ||
| 4071 | #else | ||
| 4072 | GetMouse (&mouse_pos); | 4072 | GetMouse (&mouse_pos); |
| 4073 | LocalToGlobal (&mouse_pos); | 4073 | LocalToGlobal (&mouse_pos); |
| 4074 | #endif | ||
| 4074 | *root_x = mouse_pos.h; | 4075 | *root_x = mouse_pos.h; |
| 4075 | *root_y = mouse_pos.v; | 4076 | *root_y = mouse_pos.v; |
| 4076 | UNBLOCK_INPUT; | 4077 | UNBLOCK_INPUT; |
diff --git a/src/macgui.h b/src/macgui.h index 1348fe479cb..990765593e1 100644 --- a/src/macgui.h +++ b/src/macgui.h | |||
| @@ -71,7 +71,7 @@ typedef unsigned long Time; | |||
| 71 | #undef Z | 71 | #undef Z |
| 72 | #define Z (current_buffer->text->z) | 72 | #define Z (current_buffer->text->z) |
| 73 | #else /* not HAVE_CARBON */ | 73 | #else /* not HAVE_CARBON */ |
| 74 | #include <QuickDraw.h> /* for WindowPtr */ | 74 | #include <QuickDraw.h> /* for WindowRef */ |
| 75 | #include <QDOffscreen.h> /* for GWorldPtr */ | 75 | #include <QDOffscreen.h> /* for GWorldPtr */ |
| 76 | #include <Appearance.h> /* for ThemeCursor */ | 76 | #include <Appearance.h> /* for ThemeCursor */ |
| 77 | #include <Windows.h> | 77 | #include <Windows.h> |
| @@ -117,7 +117,7 @@ typedef unsigned long Time; | |||
| 117 | #endif | 117 | #endif |
| 118 | #endif | 118 | #endif |
| 119 | 119 | ||
| 120 | typedef WindowPtr Window; | 120 | typedef WindowRef Window; |
| 121 | typedef GWorldPtr Pixmap; | 121 | typedef GWorldPtr Pixmap; |
| 122 | 122 | ||
| 123 | #define Cursor ThemeCursor | 123 | #define Cursor ThemeCursor |
diff --git a/src/macmenu.c b/src/macmenu.c index a23e516dd07..1eb0b16cd95 100644 --- a/src/macmenu.c +++ b/src/macmenu.c | |||
| @@ -200,7 +200,7 @@ static void list_of_items P_ ((Lisp_Object)); | |||
| 200 | 200 | ||
| 201 | static void find_and_call_menu_selection P_ ((FRAME_PTR, int, Lisp_Object, | 201 | static void find_and_call_menu_selection P_ ((FRAME_PTR, int, Lisp_Object, |
| 202 | void *)); | 202 | void *)); |
| 203 | static int fill_menu P_ ((MenuHandle, widget_value *, enum mac_menu_kind, int)); | 203 | static int fill_menu P_ ((MenuRef, widget_value *, enum mac_menu_kind, int)); |
| 204 | static void fill_menubar P_ ((widget_value *, int)); | 204 | static void fill_menubar P_ ((widget_value *, int)); |
| 205 | static void dispose_menus P_ ((enum mac_menu_kind, int)); | 205 | static void dispose_menus P_ ((enum mac_menu_kind, int)); |
| 206 | 206 | ||
| @@ -1162,7 +1162,7 @@ x_activate_menubar (f) | |||
| 1162 | #endif | 1162 | #endif |
| 1163 | if (menu_id) | 1163 | if (menu_id) |
| 1164 | { | 1164 | { |
| 1165 | MenuHandle menu = GetMenuHandle (menu_id); | 1165 | MenuRef menu = GetMenuRef (menu_id); |
| 1166 | 1166 | ||
| 1167 | if (menu) | 1167 | if (menu) |
| 1168 | { | 1168 | { |
| @@ -1595,15 +1595,13 @@ menu_target_item_handler (next_handler, event, data) | |||
| 1595 | EventRef event; | 1595 | EventRef event; |
| 1596 | void *data; | 1596 | void *data; |
| 1597 | { | 1597 | { |
| 1598 | OSStatus err, result; | 1598 | OSStatus err; |
| 1599 | MenuRef menu; | 1599 | MenuRef menu; |
| 1600 | MenuItemIndex menu_item; | 1600 | MenuItemIndex menu_item; |
| 1601 | Lisp_Object help; | 1601 | Lisp_Object help; |
| 1602 | GrafPtr port; | 1602 | GrafPtr port; |
| 1603 | int specpdl_count = SPECPDL_INDEX (); | 1603 | int specpdl_count = SPECPDL_INDEX (); |
| 1604 | 1604 | ||
| 1605 | result = CallNextEventHandler (next_handler, event); | ||
| 1606 | |||
| 1607 | err = GetEventParameter (event, kEventParamDirectObject, typeMenuRef, | 1605 | err = GetEventParameter (event, kEventParamDirectObject, typeMenuRef, |
| 1608 | NULL, sizeof (MenuRef), NULL, &menu); | 1606 | NULL, sizeof (MenuRef), NULL, &menu); |
| 1609 | if (err == noErr) | 1607 | if (err == noErr) |
| @@ -1626,30 +1624,21 @@ menu_target_item_handler (next_handler, event, data) | |||
| 1626 | SetPort (port); | 1624 | SetPort (port); |
| 1627 | unbind_to (specpdl_count, Qnil); | 1625 | unbind_to (specpdl_count, Qnil); |
| 1628 | 1626 | ||
| 1629 | return err == noErr ? noErr : result; | 1627 | return err == noErr ? noErr : eventNotHandledErr; |
| 1630 | } | 1628 | } |
| 1631 | #endif | ||
| 1632 | 1629 | ||
| 1633 | OSStatus | 1630 | OSStatus |
| 1634 | install_menu_target_item_handler (window) | 1631 | install_menu_target_item_handler () |
| 1635 | WindowPtr window; | ||
| 1636 | { | 1632 | { |
| 1637 | OSStatus err = noErr; | ||
| 1638 | #if TARGET_API_MAC_CARBON | ||
| 1639 | static const EventTypeSpec specs[] = | 1633 | static const EventTypeSpec specs[] = |
| 1640 | {{kEventClassMenu, kEventMenuTargetItem}}; | 1634 | {{kEventClassMenu, kEventMenuTargetItem}}; |
| 1641 | static EventHandlerUPP menu_target_item_handlerUPP = NULL; | ||
| 1642 | |||
| 1643 | if (menu_target_item_handlerUPP == NULL) | ||
| 1644 | menu_target_item_handlerUPP = | ||
| 1645 | NewEventHandlerUPP (menu_target_item_handler); | ||
| 1646 | 1635 | ||
| 1647 | err = InstallWindowEventHandler (window, menu_target_item_handlerUPP, | 1636 | return InstallApplicationEventHandler (NewEventHandlerUPP |
| 1648 | GetEventTypeCount (specs), specs, | 1637 | (menu_target_item_handler), |
| 1649 | NULL, NULL); | 1638 | GetEventTypeCount (specs), |
| 1650 | #endif | 1639 | specs, NULL, NULL); |
| 1651 | return err; | ||
| 1652 | } | 1640 | } |
| 1641 | #endif /* TARGET_API_MAC_CARBON */ | ||
| 1653 | 1642 | ||
| 1654 | /* Event handler function that pops down a menu on C-g. We can only pop | 1643 | /* Event handler function that pops down a menu on C-g. We can only pop |
| 1655 | down menus if CancelMenuTracking is present (OSX 10.3 or later). */ | 1644 | down menus if CancelMenuTracking is present (OSX 10.3 or later). */ |
| @@ -1687,15 +1676,15 @@ menu_quit_handler (nextHandler, theEvent, userData) | |||
| 1687 | } | 1676 | } |
| 1688 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ | 1677 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 1689 | 1678 | ||
| 1690 | /* Add event handler to all menus that belong to KIND so we can detect C-g. | 1679 | /* Add event handler to all menus that belong to KIND so we can detect |
| 1691 | MENU_HANDLE is the root menu of the tracking session to dismiss | 1680 | C-g. ROOT_MENU is the root menu of the tracking session to dismiss |
| 1692 | when C-g is detected. NULL means the menu bar. | 1681 | when C-g is detected. NULL means the menu bar. If |
| 1693 | If CancelMenuTracking isn't available, do nothing. */ | 1682 | CancelMenuTracking isn't available, do nothing. */ |
| 1694 | 1683 | ||
| 1695 | static void | 1684 | static void |
| 1696 | install_menu_quit_handler (kind, menu_handle) | 1685 | install_menu_quit_handler (kind, root_menu) |
| 1697 | enum mac_menu_kind kind; | 1686 | enum mac_menu_kind kind; |
| 1698 | MenuHandle menu_handle; | 1687 | MenuRef root_menu; |
| 1699 | { | 1688 | { |
| 1700 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 | 1689 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
| 1701 | static const EventTypeSpec typesList[] = | 1690 | static const EventTypeSpec typesList[] = |
| @@ -1708,13 +1697,13 @@ install_menu_quit_handler (kind, menu_handle) | |||
| 1708 | #endif | 1697 | #endif |
| 1709 | for (id = min_menu_id[kind]; id < min_menu_id[kind + 1]; id++) | 1698 | for (id = min_menu_id[kind]; id < min_menu_id[kind + 1]; id++) |
| 1710 | { | 1699 | { |
| 1711 | MenuHandle menu = GetMenuHandle (id); | 1700 | MenuRef menu = GetMenuRef (id); |
| 1712 | 1701 | ||
| 1713 | if (menu == NULL) | 1702 | if (menu == NULL) |
| 1714 | break; | 1703 | break; |
| 1715 | InstallMenuEventHandler (menu, menu_quit_handler, | 1704 | InstallMenuEventHandler (menu, menu_quit_handler, |
| 1716 | GetEventTypeCount (typesList), | 1705 | GetEventTypeCount (typesList), |
| 1717 | typesList, menu_handle, NULL); | 1706 | typesList, root_menu, NULL); |
| 1718 | } | 1707 | } |
| 1719 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ | 1708 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 1720 | } | 1709 | } |
| @@ -1738,10 +1727,13 @@ set_frame_menubar (f, first_time, deep_p) | |||
| 1738 | 1727 | ||
| 1739 | XSETFRAME (Vmenu_updating_frame, f); | 1728 | XSETFRAME (Vmenu_updating_frame, f); |
| 1740 | 1729 | ||
| 1730 | /* This seems to be unnecessary for Carbon. */ | ||
| 1731 | #if 0 | ||
| 1741 | if (! menubar_widget) | 1732 | if (! menubar_widget) |
| 1742 | deep_p = 1; | 1733 | deep_p = 1; |
| 1743 | else if (pending_menu_activation && !deep_p) | 1734 | else if (pending_menu_activation && !deep_p) |
| 1744 | deep_p = 1; | 1735 | deep_p = 1; |
| 1736 | #endif | ||
| 1745 | 1737 | ||
| 1746 | if (deep_p) | 1738 | if (deep_p) |
| 1747 | { | 1739 | { |
| @@ -1978,7 +1970,7 @@ pop_down_menu (arg) | |||
| 1978 | { | 1970 | { |
| 1979 | struct Lisp_Save_Value *p = XSAVE_VALUE (arg); | 1971 | struct Lisp_Save_Value *p = XSAVE_VALUE (arg); |
| 1980 | FRAME_PTR f = p->pointer; | 1972 | FRAME_PTR f = p->pointer; |
| 1981 | MenuHandle menu = GetMenuHandle (min_menu_id[MAC_MENU_POPUP]); | 1973 | MenuRef menu = GetMenuRef (min_menu_id[MAC_MENU_POPUP]); |
| 1982 | 1974 | ||
| 1983 | BLOCK_INPUT; | 1975 | BLOCK_INPUT; |
| 1984 | 1976 | ||
| @@ -2024,8 +2016,7 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error) | |||
| 2024 | int i; | 2016 | int i; |
| 2025 | int menu_item_choice; | 2017 | int menu_item_choice; |
| 2026 | UInt32 menu_item_selection; | 2018 | UInt32 menu_item_selection; |
| 2027 | MenuHandle menu; | 2019 | MenuRef menu; |
| 2028 | Point pos; | ||
| 2029 | widget_value *wv, *save_wv = 0, *first_wv = 0, *prev_wv = 0; | 2020 | widget_value *wv, *save_wv = 0, *first_wv = 0, *prev_wv = 0; |
| 2030 | widget_value **submenu_stack | 2021 | widget_value **submenu_stack |
| 2031 | = (widget_value **) alloca (menu_items_used * sizeof (widget_value *)); | 2022 | = (widget_value **) alloca (menu_items_used * sizeof (widget_value *)); |
| @@ -2231,11 +2222,8 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error) | |||
| 2231 | free_menubar_widget_value_tree (first_wv); | 2222 | free_menubar_widget_value_tree (first_wv); |
| 2232 | 2223 | ||
| 2233 | /* Adjust coordinates to be root-window-relative. */ | 2224 | /* Adjust coordinates to be root-window-relative. */ |
| 2234 | pos.h = x; | 2225 | x += f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f); |
| 2235 | pos.v = y; | 2226 | y += f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f); |
| 2236 | |||
| 2237 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 2238 | LocalToGlobal (&pos); | ||
| 2239 | 2227 | ||
| 2240 | /* No selection has been chosen yet. */ | 2228 | /* No selection has been chosen yet. */ |
| 2241 | menu_item_selection = 0; | 2229 | menu_item_selection = 0; |
| @@ -2248,13 +2236,13 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error) | |||
| 2248 | 2236 | ||
| 2249 | /* Display the menu. */ | 2237 | /* Display the menu. */ |
| 2250 | popup_activated_flag = 1; | 2238 | popup_activated_flag = 1; |
| 2251 | menu_item_choice = PopUpMenuSelect (menu, pos.v, pos.h, 0); | 2239 | menu_item_choice = PopUpMenuSelect (menu, y, x, 0); |
| 2252 | popup_activated_flag = 0; | 2240 | popup_activated_flag = 0; |
| 2253 | 2241 | ||
| 2254 | /* Get the refcon to find the correct item */ | 2242 | /* Get the refcon to find the correct item */ |
| 2255 | if (menu_item_choice) | 2243 | if (menu_item_choice) |
| 2256 | { | 2244 | { |
| 2257 | MenuHandle sel_menu = GetMenuHandle (HiWord (menu_item_choice)); | 2245 | MenuRef sel_menu = GetMenuRef (HiWord (menu_item_choice)); |
| 2258 | 2246 | ||
| 2259 | if (sel_menu) | 2247 | if (sel_menu) |
| 2260 | GetMenuItemRefCon (sel_menu, LoWord (menu_item_choice), | 2248 | GetMenuItemRefCon (sel_menu, LoWord (menu_item_choice), |
| @@ -2330,6 +2318,14 @@ mac_menu_show (f, x, y, for_click, keymaps, title, error) | |||
| 2330 | 2318 | ||
| 2331 | #if TARGET_API_MAC_CARBON | 2319 | #if TARGET_API_MAC_CARBON |
| 2332 | 2320 | ||
| 2321 | #define DIALOG_BUTTON_COMMAND_ID_OFFSET 'Bt\0\0' | ||
| 2322 | #define DIALOG_BUTTON_COMMAND_ID_P(id) \ | ||
| 2323 | (((id) & ~0xffff) == DIALOG_BUTTON_COMMAND_ID_OFFSET) | ||
| 2324 | #define DIALOG_BUTTON_COMMAND_ID_VALUE(id) \ | ||
| 2325 | ((id) - DIALOG_BUTTON_COMMAND_ID_OFFSET) | ||
| 2326 | #define DIALOG_BUTTON_MAKE_COMMAND_ID(value) \ | ||
| 2327 | ((value) + DIALOG_BUTTON_COMMAND_ID_OFFSET) | ||
| 2328 | |||
| 2333 | static pascal OSStatus | 2329 | static pascal OSStatus |
| 2334 | mac_handle_dialog_event (next_handler, event, data) | 2330 | mac_handle_dialog_event (next_handler, event, data) |
| 2335 | EventHandlerCallRef next_handler; | 2331 | EventHandlerCallRef next_handler; |
| @@ -2349,7 +2345,7 @@ mac_handle_dialog_event (next_handler, event, data) | |||
| 2349 | typeHICommand, NULL, sizeof (HICommand), | 2345 | typeHICommand, NULL, sizeof (HICommand), |
| 2350 | NULL, &command); | 2346 | NULL, &command); |
| 2351 | if (err == noErr) | 2347 | if (err == noErr) |
| 2352 | if ((command.commandID & ~0xffff) == 'Bt\0\0') | 2348 | if (DIALOG_BUTTON_COMMAND_ID_P (command.commandID)) |
| 2353 | { | 2349 | { |
| 2354 | SetWRefCon (window, command.commandID); | 2350 | SetWRefCon (window, command.commandID); |
| 2355 | err = QuitAppModalLoopForWindow (window); | 2351 | err = QuitAppModalLoopForWindow (window); |
| @@ -2402,7 +2398,10 @@ mac_handle_dialog_event (next_handler, event, data) | |||
| 2402 | break; | 2398 | break; |
| 2403 | } | 2399 | } |
| 2404 | 2400 | ||
| 2405 | return err == noErr ? noErr : result; | 2401 | if (err == noErr) |
| 2402 | result = noErr; | ||
| 2403 | |||
| 2404 | return result; | ||
| 2406 | } | 2405 | } |
| 2407 | break; | 2406 | break; |
| 2408 | 2407 | ||
| @@ -2518,14 +2517,16 @@ create_and_show_dialog (f, first_wv) | |||
| 2518 | } | 2517 | } |
| 2519 | if (err == noErr) | 2518 | if (err == noErr) |
| 2520 | { | 2519 | { |
| 2520 | UInt32 command_id; | ||
| 2521 | |||
| 2521 | OffsetRect (&rects[i], -rects[i].left, -rects[i].top); | 2522 | OffsetRect (&rects[i], -rects[i].left, -rects[i].top); |
| 2522 | if (rects[i].right < DIALOG_BUTTON_MIN_WIDTH) | 2523 | if (rects[i].right < DIALOG_BUTTON_MIN_WIDTH) |
| 2523 | rects[i].right = DIALOG_BUTTON_MIN_WIDTH; | 2524 | rects[i].right = DIALOG_BUTTON_MIN_WIDTH; |
| 2524 | else if (rects[i].right > DIALOG_MAX_INNER_WIDTH) | 2525 | else if (rects[i].right > DIALOG_MAX_INNER_WIDTH) |
| 2525 | rects[i].right = DIALOG_MAX_INNER_WIDTH; | 2526 | rects[i].right = DIALOG_MAX_INNER_WIDTH; |
| 2526 | 2527 | ||
| 2527 | err = SetControlCommandID (buttons[i], | 2528 | command_id = DIALOG_BUTTON_MAKE_COMMAND_ID ((int) wv->call_data); |
| 2528 | 'Bt\0\0' + (int) wv->call_data); | 2529 | err = SetControlCommandID (buttons[i], command_id); |
| 2529 | } | 2530 | } |
| 2530 | if (err != noErr) | 2531 | if (err != noErr) |
| 2531 | break; | 2532 | break; |
| @@ -2702,8 +2703,8 @@ create_and_show_dialog (f, first_wv) | |||
| 2702 | { | 2703 | { |
| 2703 | UInt32 command_id = GetWRefCon (window); | 2704 | UInt32 command_id = GetWRefCon (window); |
| 2704 | 2705 | ||
| 2705 | if ((command_id & ~0xffff) == 'Bt\0\0') | 2706 | if (DIALOG_BUTTON_COMMAND_ID_P (command_id)) |
| 2706 | result = command_id - 'Bt\0\0'; | 2707 | result = DIALOG_BUTTON_COMMAND_ID_VALUE (command_id); |
| 2707 | } | 2708 | } |
| 2708 | 2709 | ||
| 2709 | if (window) | 2710 | if (window) |
| @@ -2724,8 +2725,8 @@ mac_dialog (widget_value *wv) | |||
| 2724 | int i; | 2725 | int i; |
| 2725 | int dialog_width; | 2726 | int dialog_width; |
| 2726 | Rect rect; | 2727 | Rect rect; |
| 2727 | WindowPtr window_ptr; | 2728 | WindowRef window_ptr; |
| 2728 | ControlHandle ch; | 2729 | ControlRef ch; |
| 2729 | int left; | 2730 | int left; |
| 2730 | EventRecord event_record; | 2731 | EventRecord event_record; |
| 2731 | SInt16 part_code; | 2732 | SInt16 part_code; |
| @@ -2754,7 +2755,7 @@ mac_dialog (widget_value *wv) | |||
| 2754 | wv = wv->next; | 2755 | wv = wv->next; |
| 2755 | } | 2756 | } |
| 2756 | 2757 | ||
| 2757 | window_ptr = GetNewCWindow (DIALOG_WINDOW_RESOURCE, NULL, (WindowPtr) -1); | 2758 | window_ptr = GetNewCWindow (DIALOG_WINDOW_RESOURCE, NULL, (WindowRef) -1); |
| 2758 | 2759 | ||
| 2759 | SetPortWindowPort (window_ptr); | 2760 | SetPortWindowPort (window_ptr); |
| 2760 | 2761 | ||
| @@ -3031,7 +3032,7 @@ name_is_separator (name) | |||
| 3031 | 3032 | ||
| 3032 | static void | 3033 | static void |
| 3033 | add_menu_item (menu, pos, wv) | 3034 | add_menu_item (menu, pos, wv) |
| 3034 | MenuHandle menu; | 3035 | MenuRef menu; |
| 3035 | int pos; | 3036 | int pos; |
| 3036 | widget_value *wv; | 3037 | widget_value *wv; |
| 3037 | { | 3038 | { |
| @@ -3108,7 +3109,7 @@ add_menu_item (menu, pos, wv) | |||
| 3108 | 3109 | ||
| 3109 | static int | 3110 | static int |
| 3110 | fill_menu (menu, wv, kind, submenu_id) | 3111 | fill_menu (menu, wv, kind, submenu_id) |
| 3111 | MenuHandle menu; | 3112 | MenuRef menu; |
| 3112 | widget_value *wv; | 3113 | widget_value *wv; |
| 3113 | enum mac_menu_kind kind; | 3114 | enum mac_menu_kind kind; |
| 3114 | int submenu_id; | 3115 | int submenu_id; |
| @@ -3120,7 +3121,7 @@ fill_menu (menu, wv, kind, submenu_id) | |||
| 3120 | add_menu_item (menu, pos, wv); | 3121 | add_menu_item (menu, pos, wv); |
| 3121 | if (wv->contents && submenu_id < min_menu_id[kind + 1]) | 3122 | if (wv->contents && submenu_id < min_menu_id[kind + 1]) |
| 3122 | { | 3123 | { |
| 3123 | MenuHandle submenu = NewMenu (submenu_id, "\pX"); | 3124 | MenuRef submenu = NewMenu (submenu_id, "\pX"); |
| 3124 | 3125 | ||
| 3125 | InsertMenu (submenu, -1); | 3126 | InsertMenu (submenu, -1); |
| 3126 | SetMenuItemHierarchicalID (menu, pos, submenu_id); | 3127 | SetMenuItemHierarchicalID (menu, pos, submenu_id); |
| @@ -3139,8 +3140,6 @@ fill_menubar (wv, deep_p) | |||
| 3139 | int deep_p; | 3140 | int deep_p; |
| 3140 | { | 3141 | { |
| 3141 | int id, submenu_id; | 3142 | int id, submenu_id; |
| 3142 | MenuHandle menu; | ||
| 3143 | Str255 title; | ||
| 3144 | #if !TARGET_API_MAC_CARBON | 3143 | #if !TARGET_API_MAC_CARBON |
| 3145 | int title_changed_p = 0; | 3144 | int title_changed_p = 0; |
| 3146 | #endif | 3145 | #endif |
| @@ -3162,45 +3161,75 @@ fill_menubar (wv, deep_p) | |||
| 3162 | wv != NULL && id < min_menu_id[MAC_MENU_MENU_BAR + 1]; | 3161 | wv != NULL && id < min_menu_id[MAC_MENU_MENU_BAR + 1]; |
| 3163 | wv = wv->next, id++) | 3162 | wv = wv->next, id++) |
| 3164 | { | 3163 | { |
| 3164 | OSStatus err = noErr; | ||
| 3165 | MenuRef menu; | ||
| 3166 | #if TARGET_API_MAC_CARBON | ||
| 3167 | CFStringRef title; | ||
| 3168 | |||
| 3169 | title = CFStringCreateWithCString (NULL, wv->name, | ||
| 3170 | kCFStringEncodingMacRoman); | ||
| 3171 | #else | ||
| 3172 | Str255 title; | ||
| 3173 | |||
| 3165 | strncpy (title, wv->name, 255); | 3174 | strncpy (title, wv->name, 255); |
| 3166 | title[255] = '\0'; | 3175 | title[255] = '\0'; |
| 3167 | c2pstr (title); | 3176 | c2pstr (title); |
| 3177 | #endif | ||
| 3168 | 3178 | ||
| 3169 | menu = GetMenuHandle (id); | 3179 | menu = GetMenuRef (id); |
| 3170 | if (menu) | 3180 | if (menu) |
| 3171 | { | 3181 | { |
| 3172 | #if TARGET_API_MAC_CARBON | 3182 | #if TARGET_API_MAC_CARBON |
| 3173 | Str255 old_title; | 3183 | CFStringRef old_title; |
| 3174 | 3184 | ||
| 3175 | GetMenuTitle (menu, old_title); | 3185 | err = CopyMenuTitleAsCFString (menu, &old_title); |
| 3176 | if (!EqualString (title, old_title, false, false)) | 3186 | if (err == noErr) |
| 3177 | SetMenuTitle (menu, title); | 3187 | { |
| 3188 | if (CFStringCompare (title, old_title, 0) != kCFCompareEqualTo) | ||
| 3189 | err = SetMenuTitleWithCFString (menu, title); | ||
| 3190 | CFRelease (old_title); | ||
| 3191 | } | ||
| 3192 | else | ||
| 3193 | err = SetMenuTitleWithCFString (menu, title); | ||
| 3178 | #else /* !TARGET_API_MAC_CARBON */ | 3194 | #else /* !TARGET_API_MAC_CARBON */ |
| 3179 | if (!EqualString (title, (*menu)->menuData, false, false)) | 3195 | if (!EqualString (title, (*menu)->menuData, false, false)) |
| 3180 | { | 3196 | { |
| 3181 | DeleteMenu (id); | 3197 | DeleteMenu (id); |
| 3182 | DisposeMenu (menu); | 3198 | DisposeMenu (menu); |
| 3183 | menu = NewMenu (id, title); | 3199 | menu = NewMenu (id, title); |
| 3184 | InsertMenu (menu, GetMenuHandle (id + 1) ? id + 1 : 0); | 3200 | InsertMenu (menu, GetMenuRef (id + 1) ? id + 1 : 0); |
| 3185 | title_changed_p = 1; | 3201 | title_changed_p = 1; |
| 3186 | } | 3202 | } |
| 3187 | #endif /* !TARGET_API_MAC_CARBON */ | 3203 | #endif /* !TARGET_API_MAC_CARBON */ |
| 3188 | } | 3204 | } |
| 3189 | else | 3205 | else |
| 3190 | { | 3206 | { |
| 3207 | #if TARGET_API_MAC_CARBON | ||
| 3208 | err = CreateNewMenu (id, 0, &menu); | ||
| 3209 | if (err == noErr) | ||
| 3210 | err = SetMenuTitleWithCFString (menu, title); | ||
| 3211 | #else | ||
| 3191 | menu = NewMenu (id, title); | 3212 | menu = NewMenu (id, title); |
| 3192 | InsertMenu (menu, 0); | 3213 | #endif |
| 3214 | if (err == noErr) | ||
| 3215 | { | ||
| 3216 | InsertMenu (menu, 0); | ||
| 3193 | #if !TARGET_API_MAC_CARBON | 3217 | #if !TARGET_API_MAC_CARBON |
| 3194 | title_changed_p = 1; | 3218 | title_changed_p = 1; |
| 3195 | #endif | 3219 | #endif |
| 3220 | } | ||
| 3196 | } | 3221 | } |
| 3222 | #if TARGET_API_MAC_CARBON | ||
| 3223 | CFRelease (title); | ||
| 3224 | #endif | ||
| 3197 | 3225 | ||
| 3198 | if (wv->contents) | 3226 | if (err == noErr) |
| 3199 | submenu_id = fill_menu (menu, wv->contents, MAC_MENU_MENU_BAR_SUB, | 3227 | if (wv->contents) |
| 3200 | submenu_id); | 3228 | submenu_id = fill_menu (menu, wv->contents, MAC_MENU_MENU_BAR_SUB, |
| 3229 | submenu_id); | ||
| 3201 | } | 3230 | } |
| 3202 | 3231 | ||
| 3203 | if (id < min_menu_id[MAC_MENU_MENU_BAR + 1] && GetMenuHandle (id)) | 3232 | if (id < min_menu_id[MAC_MENU_MENU_BAR + 1] && GetMenuRef (id)) |
| 3204 | { | 3233 | { |
| 3205 | dispose_menus (MAC_MENU_MENU_BAR, id); | 3234 | dispose_menus (MAC_MENU_MENU_BAR, id); |
| 3206 | #if !TARGET_API_MAC_CARBON | 3235 | #if !TARGET_API_MAC_CARBON |
| @@ -3224,7 +3253,7 @@ dispose_menus (kind, id) | |||
| 3224 | { | 3253 | { |
| 3225 | for (id = max (id, min_menu_id[kind]); id < min_menu_id[kind + 1]; id++) | 3254 | for (id = max (id, min_menu_id[kind]); id < min_menu_id[kind + 1]; id++) |
| 3226 | { | 3255 | { |
| 3227 | MenuHandle menu = GetMenuHandle (id); | 3256 | MenuRef menu = GetMenuRef (id); |
| 3228 | 3257 | ||
| 3229 | if (menu == NULL) | 3258 | if (menu == NULL) |
| 3230 | break; | 3259 | break; |
diff --git a/src/macselect.c b/src/macselect.c index c6aa97d5be9..a34f58df0f0 100644 --- a/src/macselect.c +++ b/src/macselect.c | |||
| @@ -1623,16 +1623,19 @@ remove_drag_handler (window) | |||
| 1623 | Services menu support | 1623 | Services menu support |
| 1624 | ***********************************************************************/ | 1624 | ***********************************************************************/ |
| 1625 | #ifdef MAC_OSX | 1625 | #ifdef MAC_OSX |
| 1626 | void | 1626 | OSStatus |
| 1627 | init_service_handler () | 1627 | install_service_handler () |
| 1628 | { | 1628 | { |
| 1629 | static const EventTypeSpec specs[] = | 1629 | static const EventTypeSpec specs[] = |
| 1630 | {{kEventClassService, kEventServiceGetTypes}, | 1630 | {{kEventClassService, kEventServiceGetTypes}, |
| 1631 | {kEventClassService, kEventServiceCopy}, | 1631 | {kEventClassService, kEventServiceCopy}, |
| 1632 | {kEventClassService, kEventServicePaste}, | 1632 | {kEventClassService, kEventServicePaste}, |
| 1633 | {kEventClassService, kEventServicePerform}}; | 1633 | {kEventClassService, kEventServicePerform}}; |
| 1634 | InstallApplicationEventHandler (NewEventHandlerUPP (mac_handle_service_event), | 1634 | |
| 1635 | GetEventTypeCount (specs), specs, NULL, NULL); | 1635 | return InstallApplicationEventHandler (NewEventHandlerUPP |
| 1636 | (mac_handle_service_event), | ||
| 1637 | GetEventTypeCount (specs), | ||
| 1638 | specs, NULL, NULL); | ||
| 1636 | } | 1639 | } |
| 1637 | 1640 | ||
| 1638 | extern OSStatus mac_store_service_event P_ ((EventRef)); | 1641 | extern OSStatus mac_store_service_event P_ ((EventRef)); |
diff --git a/src/macterm.c b/src/macterm.c index 0b8fec3a089..f8c79d1c865 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -35,12 +35,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 35 | #include <alloca.h> | 35 | #include <alloca.h> |
| 36 | #endif | 36 | #endif |
| 37 | 37 | ||
| 38 | #if TARGET_API_MAC_CARBON | 38 | #if !TARGET_API_MAC_CARBON |
| 39 | /* USE_CARBON_EVENTS determines if the Carbon Event Manager is used to | ||
| 40 | obtain events from the event queue. If set to 0, WaitNextEvent is | ||
| 41 | used instead. */ | ||
| 42 | #define USE_CARBON_EVENTS 1 | ||
| 43 | #else /* not TARGET_API_MAC_CARBON */ | ||
| 44 | #include <Quickdraw.h> | 39 | #include <Quickdraw.h> |
| 45 | #include <ToolUtils.h> | 40 | #include <ToolUtils.h> |
| 46 | #include <Sound.h> | 41 | #include <Sound.h> |
| @@ -263,7 +258,7 @@ static void x_scroll_bar_report_motion P_ ((struct frame **, Lisp_Object *, | |||
| 263 | Lisp_Object *, Lisp_Object *, | 258 | Lisp_Object *, Lisp_Object *, |
| 264 | unsigned long *)); | 259 | unsigned long *)); |
| 265 | 260 | ||
| 266 | static int is_emacs_window P_ ((WindowPtr)); | 261 | static int is_emacs_window P_ ((WindowRef)); |
| 267 | static XCharStruct *mac_per_char_metric P_ ((XFontStruct *, XChar2b *, int)); | 262 | static XCharStruct *mac_per_char_metric P_ ((XFontStruct *, XChar2b *, int)); |
| 268 | static void XSetFont P_ ((Display *, GC, XFontStruct *)); | 263 | static void XSetFont P_ ((Display *, GC, XFontStruct *)); |
| 269 | static struct terminal *mac_create_terminal P_ ((struct mac_display_info *dpyinfo)); | 264 | static struct terminal *mac_create_terminal P_ ((struct mac_display_info *dpyinfo)); |
| @@ -418,7 +413,8 @@ mac_prepare_for_quickdraw (f) | |||
| 418 | static RgnHandle saved_port_clip_region = NULL; | 413 | static RgnHandle saved_port_clip_region = NULL; |
| 419 | 414 | ||
| 420 | static void | 415 | static void |
| 421 | mac_begin_clip (gc) | 416 | mac_begin_clip (f, gc) |
| 417 | struct frame *f; | ||
| 422 | GC gc; | 418 | GC gc; |
| 423 | { | 419 | { |
| 424 | static RgnHandle new_region = NULL; | 420 | static RgnHandle new_region = NULL; |
| @@ -428,6 +424,11 @@ mac_begin_clip (gc) | |||
| 428 | if (new_region == NULL) | 424 | if (new_region == NULL) |
| 429 | new_region = NewRgn (); | 425 | new_region = NewRgn (); |
| 430 | 426 | ||
| 427 | #if USE_CG_DRAWING | ||
| 428 | mac_prepare_for_quickdraw (f); | ||
| 429 | #endif | ||
| 430 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 431 | |||
| 431 | if (gc->n_clip_rects) | 432 | if (gc->n_clip_rects) |
| 432 | { | 433 | { |
| 433 | GetClip (saved_port_clip_region); | 434 | GetClip (saved_port_clip_region); |
| @@ -447,15 +448,6 @@ mac_end_clip (gc) | |||
| 447 | 448 | ||
| 448 | /* X display function emulation */ | 449 | /* X display function emulation */ |
| 449 | 450 | ||
| 450 | void | ||
| 451 | XFreePixmap (display, pixmap) | ||
| 452 | Display *display; /* not used */ | ||
| 453 | Pixmap pixmap; | ||
| 454 | { | ||
| 455 | DisposeGWorld (pixmap); | ||
| 456 | } | ||
| 457 | |||
| 458 | |||
| 459 | /* Mac version of XDrawLine. */ | 451 | /* Mac version of XDrawLine. */ |
| 460 | 452 | ||
| 461 | static void | 453 | static void |
| @@ -497,11 +489,8 @@ mac_draw_line (f, gc, x1, y1, x2, y2) | |||
| 497 | x2--; | 489 | x2--; |
| 498 | } | 490 | } |
| 499 | 491 | ||
| 500 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 492 | mac_begin_clip (f, gc); |
| 501 | |||
| 502 | RGBForeColor (GC_FORE_COLOR (gc)); | 493 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 503 | |||
| 504 | mac_begin_clip (gc); | ||
| 505 | MoveTo (x1, y1); | 494 | MoveTo (x1, y1); |
| 506 | LineTo (x2, y2); | 495 | LineTo (x2, y2); |
| 507 | mac_end_clip (gc); | 496 | mac_end_clip (gc); |
| @@ -557,25 +546,25 @@ mac_erase_rectangle (f, gc, x, y, width, height) | |||
| 557 | unsigned int width, height; | 546 | unsigned int width, height; |
| 558 | { | 547 | { |
| 559 | #if USE_CG_DRAWING | 548 | #if USE_CG_DRAWING |
| 560 | CGContextRef context; | 549 | { |
| 550 | CGContextRef context; | ||
| 561 | 551 | ||
| 562 | context = mac_begin_cg_clip (f, gc); | 552 | context = mac_begin_cg_clip (f, gc); |
| 563 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); | 553 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
| 564 | CGContextFillRect (context, CGRectMake (x, y, width, height)); | 554 | CGContextFillRect (context, CGRectMake (x, y, width, height)); |
| 565 | mac_end_cg_clip (f); | 555 | mac_end_cg_clip (f); |
| 556 | } | ||
| 566 | #else | 557 | #else |
| 567 | Rect r; | 558 | { |
| 568 | 559 | Rect r; | |
| 569 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 570 | |||
| 571 | RGBBackColor (GC_BACK_COLOR (gc)); | ||
| 572 | SetRect (&r, x, y, x + width, y + height); | ||
| 573 | |||
| 574 | mac_begin_clip (gc); | ||
| 575 | EraseRect (&r); | ||
| 576 | mac_end_clip (gc); | ||
| 577 | 560 | ||
| 578 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 561 | mac_begin_clip (f, gc); |
| 562 | RGBBackColor (GC_BACK_COLOR (gc)); | ||
| 563 | SetRect (&r, x, y, x + width, y + height); | ||
| 564 | EraseRect (&r); | ||
| 565 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | ||
| 566 | mac_end_clip (gc); | ||
| 567 | } | ||
| 579 | #endif | 568 | #endif |
| 580 | } | 569 | } |
| 581 | 570 | ||
| @@ -598,15 +587,17 @@ mac_clear_window (f) | |||
| 598 | struct frame *f; | 587 | struct frame *f; |
| 599 | { | 588 | { |
| 600 | #if USE_CG_DRAWING | 589 | #if USE_CG_DRAWING |
| 601 | CGContextRef context; | 590 | { |
| 602 | GC gc = FRAME_NORMAL_GC (f); | 591 | CGContextRef context; |
| 603 | 592 | GC gc = FRAME_NORMAL_GC (f); | |
| 604 | context = mac_begin_cg_clip (f, NULL); | 593 | |
| 605 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); | 594 | context = mac_begin_cg_clip (f, NULL); |
| 606 | CGContextFillRect (context, CGRectMake (0, 0, FRAME_PIXEL_WIDTH (f), | 595 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
| 607 | FRAME_PIXEL_HEIGHT (f))); | 596 | CGContextFillRect (context, CGRectMake (0, 0, FRAME_PIXEL_WIDTH (f), |
| 608 | mac_end_cg_clip (f); | 597 | FRAME_PIXEL_HEIGHT (f))); |
| 609 | #else | 598 | mac_end_cg_clip (f); |
| 599 | } | ||
| 600 | #else /* !USE_CG_DRAWING */ | ||
| 610 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 601 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); |
| 611 | 602 | ||
| 612 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 603 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| @@ -680,13 +671,10 @@ mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p) | |||
| 680 | bitmap.baseAddr = (char *)bits; | 671 | bitmap.baseAddr = (char *)bits; |
| 681 | SetRect (&(bitmap.bounds), 0, 0, width, height); | 672 | SetRect (&(bitmap.bounds), 0, 0, width, height); |
| 682 | 673 | ||
| 683 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 674 | mac_begin_clip (f, gc); |
| 684 | |||
| 685 | RGBForeColor (GC_FORE_COLOR (gc)); | 675 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 686 | RGBBackColor (GC_BACK_COLOR (gc)); | 676 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 687 | SetRect (&r, x, y, x + width, y + height); | 677 | SetRect (&r, x, y, x + width, y + height); |
| 688 | |||
| 689 | mac_begin_clip (gc); | ||
| 690 | #if TARGET_API_MAC_CARBON | 678 | #if TARGET_API_MAC_CARBON |
| 691 | { | 679 | { |
| 692 | CGrafPtr port; | 680 | CGrafPtr port; |
| @@ -701,9 +689,8 @@ mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p) | |||
| 701 | CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r, | 689 | CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r, |
| 702 | overlay_p ? srcOr : srcCopy, 0); | 690 | overlay_p ? srcOr : srcCopy, 0); |
| 703 | #endif /* not TARGET_API_MAC_CARBON */ | 691 | #endif /* not TARGET_API_MAC_CARBON */ |
| 704 | mac_end_clip (gc); | ||
| 705 | |||
| 706 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 692 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| 693 | mac_end_clip (gc); | ||
| 707 | } | 694 | } |
| 708 | #endif /* !USE_CG_DRAWING */ | 695 | #endif /* !USE_CG_DRAWING */ |
| 709 | 696 | ||
| @@ -754,8 +741,8 @@ mac_free_bitmap (bitmap) | |||
| 754 | 741 | ||
| 755 | Pixmap | 742 | Pixmap |
| 756 | XCreatePixmap (display, w, width, height, depth) | 743 | XCreatePixmap (display, w, width, height, depth) |
| 757 | Display *display; /* not used */ | 744 | Display *display; |
| 758 | WindowPtr w; | 745 | WindowRef w; |
| 759 | unsigned int width, height; | 746 | unsigned int width, height; |
| 760 | unsigned int depth; | 747 | unsigned int depth; |
| 761 | { | 748 | { |
| @@ -783,8 +770,8 @@ XCreatePixmap (display, w, width, height, depth) | |||
| 783 | 770 | ||
| 784 | Pixmap | 771 | Pixmap |
| 785 | XCreatePixmapFromBitmapData (display, w, data, width, height, fg, bg, depth) | 772 | XCreatePixmapFromBitmapData (display, w, data, width, height, fg, bg, depth) |
| 786 | Display *display; /* not used */ | 773 | Display *display; |
| 787 | WindowPtr w; | 774 | WindowRef w; |
| 788 | char *data; | 775 | char *data; |
| 789 | unsigned int width, height; | 776 | unsigned int width, height; |
| 790 | unsigned long fg, bg; | 777 | unsigned long fg, bg; |
| @@ -794,7 +781,7 @@ XCreatePixmapFromBitmapData (display, w, data, width, height, fg, bg, depth) | |||
| 794 | BitMap bitmap; | 781 | BitMap bitmap; |
| 795 | CGrafPtr old_port; | 782 | CGrafPtr old_port; |
| 796 | GDHandle old_gdh; | 783 | GDHandle old_gdh; |
| 797 | static GC gc = NULL; /* not reentrant */ | 784 | static GC gc = NULL; |
| 798 | 785 | ||
| 799 | if (gc == NULL) | 786 | if (gc == NULL) |
| 800 | gc = XCreateGC (display, w, 0, NULL); | 787 | gc = XCreateGC (display, w, 0, NULL); |
| @@ -826,6 +813,15 @@ XCreatePixmapFromBitmapData (display, w, data, width, height, fg, bg, depth) | |||
| 826 | } | 813 | } |
| 827 | 814 | ||
| 828 | 815 | ||
| 816 | void | ||
| 817 | XFreePixmap (display, pixmap) | ||
| 818 | Display *display; | ||
| 819 | Pixmap pixmap; | ||
| 820 | { | ||
| 821 | DisposeGWorld (pixmap); | ||
| 822 | } | ||
| 823 | |||
| 824 | |||
| 829 | /* Mac replacement for XFillRectangle. */ | 825 | /* Mac replacement for XFillRectangle. */ |
| 830 | 826 | ||
| 831 | static void | 827 | static void |
| @@ -845,12 +841,9 @@ mac_fill_rectangle (f, gc, x, y, width, height) | |||
| 845 | #else | 841 | #else |
| 846 | Rect r; | 842 | Rect r; |
| 847 | 843 | ||
| 848 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 844 | mac_begin_clip (f, gc); |
| 849 | |||
| 850 | RGBForeColor (GC_FORE_COLOR (gc)); | 845 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 851 | SetRect (&r, x, y, x + width, y + height); | 846 | SetRect (&r, x, y, x + width, y + height); |
| 852 | |||
| 853 | mac_begin_clip (gc); | ||
| 854 | PaintRect (&r); /* using foreground color of gc */ | 847 | PaintRect (&r); /* using foreground color of gc */ |
| 855 | mac_end_clip (gc); | 848 | mac_end_clip (gc); |
| 856 | #endif | 849 | #endif |
| @@ -877,18 +870,34 @@ mac_draw_rectangle (f, gc, x, y, width, height) | |||
| 877 | #else | 870 | #else |
| 878 | Rect r; | 871 | Rect r; |
| 879 | 872 | ||
| 880 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 873 | mac_begin_clip (f, gc); |
| 881 | |||
| 882 | RGBForeColor (GC_FORE_COLOR (gc)); | 874 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 883 | SetRect (&r, x, y, x + width + 1, y + height + 1); | 875 | SetRect (&r, x, y, x + width + 1, y + height + 1); |
| 884 | |||
| 885 | mac_begin_clip (gc); | ||
| 886 | FrameRect (&r); /* using foreground color of gc */ | 876 | FrameRect (&r); /* using foreground color of gc */ |
| 887 | mac_end_clip (gc); | 877 | mac_end_clip (gc); |
| 888 | #endif | 878 | #endif |
| 889 | } | 879 | } |
| 890 | 880 | ||
| 891 | 881 | ||
| 882 | static void | ||
| 883 | mac_invert_rectangle (f, x, y, width, height) | ||
| 884 | struct frame *f; | ||
| 885 | int x, y; | ||
| 886 | unsigned int width, height; | ||
| 887 | { | ||
| 888 | Rect r; | ||
| 889 | |||
| 890 | #if USE_CG_DRAWING | ||
| 891 | mac_prepare_for_quickdraw (f); | ||
| 892 | #endif | ||
| 893 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 894 | |||
| 895 | SetRect (&r, x, y, x + width, y + height); | ||
| 896 | |||
| 897 | InvertRect (&r); | ||
| 898 | } | ||
| 899 | |||
| 900 | |||
| 892 | #if USE_ATSUI | 901 | #if USE_ATSUI |
| 893 | static OSStatus | 902 | static OSStatus |
| 894 | atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) | 903 | atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) |
| @@ -898,7 +907,7 @@ atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) | |||
| 898 | ATSUTextLayout *text_layout; | 907 | ATSUTextLayout *text_layout; |
| 899 | { | 908 | { |
| 900 | OSStatus err; | 909 | OSStatus err; |
| 901 | static ATSUTextLayout saved_text_layout = NULL; /* not reentrant */ | 910 | static ATSUTextLayout saved_text_layout = NULL; |
| 902 | 911 | ||
| 903 | if (saved_text_layout == NULL) | 912 | if (saved_text_layout == NULL) |
| 904 | { | 913 | { |
| @@ -925,7 +934,6 @@ atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) | |||
| 925 | err = ATSUSetLayoutControls (saved_text_layout, | 934 | err = ATSUSetLayoutControls (saved_text_layout, |
| 926 | sizeof (tags) / sizeof (tags[0]), | 935 | sizeof (tags) / sizeof (tags[0]), |
| 927 | tags, sizes, values); | 936 | tags, sizes, values); |
| 928 | /* XXX: Should we do this? */ | ||
| 929 | if (err == noErr) | 937 | if (err == noErr) |
| 930 | err = ATSUSetTransientFontMatching (saved_text_layout, true); | 938 | err = ATSUSetTransientFontMatching (saved_text_layout, true); |
| 931 | } | 939 | } |
| @@ -944,224 +952,224 @@ atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) | |||
| 944 | *text_layout = saved_text_layout; | 952 | *text_layout = saved_text_layout; |
| 945 | return err; | 953 | return err; |
| 946 | } | 954 | } |
| 947 | #endif | ||
| 948 | 955 | ||
| 949 | 956 | ||
| 950 | static void | 957 | static void |
| 951 | mac_invert_rectangle (f, x, y, width, height) | 958 | mac_draw_image_string_atsui (f, gc, x, y, buf, nchars, bg_width, |
| 952 | struct frame *f; | 959 | overstrike_p, bytes_per_char) |
| 953 | int x, y; | ||
| 954 | unsigned int width, height; | ||
| 955 | { | ||
| 956 | Rect r; | ||
| 957 | |||
| 958 | #if USE_CG_DRAWING | ||
| 959 | mac_prepare_for_quickdraw (f); | ||
| 960 | #endif | ||
| 961 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 962 | |||
| 963 | SetRect (&r, x, y, x + width, y + height); | ||
| 964 | |||
| 965 | InvertRect (&r); | ||
| 966 | } | ||
| 967 | |||
| 968 | |||
| 969 | static void | ||
| 970 | mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, | ||
| 971 | overstrike_p, bytes_per_char) | ||
| 972 | struct frame *f; | 960 | struct frame *f; |
| 973 | GC gc; | 961 | GC gc; |
| 974 | int x, y; | 962 | int x, y; |
| 975 | char *buf; | 963 | char *buf; |
| 976 | int nchars, bg_width, overstrike_p, bytes_per_char; | 964 | int nchars, bg_width, overstrike_p, bytes_per_char; |
| 977 | { | 965 | { |
| 978 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 966 | OSStatus err; |
| 979 | 967 | ATSUTextLayout text_layout; | |
| 980 | #if USE_ATSUI | ||
| 981 | if (GC_FONT (gc)->mac_style) | ||
| 982 | { | ||
| 983 | OSStatus err; | ||
| 984 | ATSUTextLayout text_layout; | ||
| 985 | 968 | ||
| 986 | xassert (bytes_per_char == 2); | 969 | xassert (bytes_per_char == 2); |
| 987 | 970 | ||
| 988 | #ifndef WORDS_BIG_ENDIAN | 971 | #ifndef WORDS_BIG_ENDIAN |
| 989 | { | 972 | { |
| 990 | int i; | 973 | int i; |
| 991 | UniChar *text = (UniChar *)buf; | 974 | UniChar *text = (UniChar *)buf; |
| 992 | 975 | ||
| 993 | for (i = 0; i < nchars; i++) | 976 | for (i = 0; i < nchars; i++) |
| 994 | text[i] = EndianU16_BtoN (text[i]); | 977 | text[i] = EndianU16_BtoN (text[i]); |
| 995 | } | 978 | } |
| 996 | #endif | 979 | #endif |
| 997 | err = atsu_get_text_layout_with_text_ptr ((ConstUniCharArrayPtr)buf, | 980 | err = atsu_get_text_layout_with_text_ptr ((ConstUniCharArrayPtr)buf, |
| 998 | nchars, | 981 | nchars, |
| 999 | GC_FONT (gc)->mac_style, | 982 | GC_FONT (gc)->mac_style, |
| 1000 | &text_layout); | 983 | &text_layout); |
| 1001 | if (err != noErr) | 984 | if (err != noErr) |
| 1002 | return; | 985 | return; |
| 1003 | #ifdef MAC_OSX | 986 | #ifdef MAC_OSX |
| 1004 | if (!mac_use_core_graphics) | 987 | if (!mac_use_core_graphics) |
| 1005 | { | 988 | { |
| 1006 | #endif | ||
| 1007 | #if USE_CG_DRAWING | ||
| 1008 | mac_prepare_for_quickdraw (f); | ||
| 1009 | #endif | 989 | #endif |
| 1010 | mac_begin_clip (gc); | 990 | mac_begin_clip (f, gc); |
| 1011 | RGBForeColor (GC_FORE_COLOR (gc)); | 991 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 1012 | if (bg_width) | 992 | if (bg_width) |
| 1013 | { | 993 | { |
| 1014 | Rect r; | 994 | Rect r; |
| 1015 | 995 | ||
| 1016 | SetRect (&r, x, y - FONT_BASE (GC_FONT (gc)), | 996 | SetRect (&r, x, y - FONT_BASE (GC_FONT (gc)), |
| 1017 | x + bg_width, y + FONT_DESCENT (GC_FONT (gc))); | 997 | x + bg_width, y + FONT_DESCENT (GC_FONT (gc))); |
| 1018 | RGBBackColor (GC_BACK_COLOR (gc)); | 998 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 1019 | EraseRect (&r); | 999 | EraseRect (&r); |
| 1020 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 1000 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| 1021 | } | 1001 | } |
| 1022 | MoveTo (x, y); | 1002 | MoveTo (x, y); |
| 1003 | ATSUDrawText (text_layout, | ||
| 1004 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1005 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); | ||
| 1006 | if (overstrike_p) | ||
| 1007 | { | ||
| 1008 | MoveTo (x + 1, y); | ||
| 1023 | ATSUDrawText (text_layout, | 1009 | ATSUDrawText (text_layout, |
| 1024 | kATSUFromTextBeginning, kATSUToTextEnd, | 1010 | kATSUFromTextBeginning, kATSUToTextEnd, |
| 1025 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); | 1011 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); |
| 1026 | if (overstrike_p) | ||
| 1027 | { | ||
| 1028 | MoveTo (x + 1, y); | ||
| 1029 | ATSUDrawText (text_layout, | ||
| 1030 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1031 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); | ||
| 1032 | } | ||
| 1033 | mac_end_clip (gc); | ||
| 1034 | #ifdef MAC_OSX | ||
| 1035 | } | 1012 | } |
| 1036 | else | 1013 | mac_end_clip (gc); |
| 1037 | { | 1014 | #ifdef MAC_OSX |
| 1038 | CGrafPtr port; | 1015 | } |
| 1039 | static CGContextRef context; | 1016 | else |
| 1040 | float port_height = FRAME_PIXEL_HEIGHT (f); | 1017 | { |
| 1041 | static const ATSUAttributeTag tags[] = {kATSUCGContextTag}; | 1018 | static CGContextRef context; |
| 1042 | static const ByteCount sizes[] = {sizeof (CGContextRef)}; | 1019 | float port_height = FRAME_PIXEL_HEIGHT (f); |
| 1043 | static const ATSUAttributeValuePtr values[] = {&context}; | 1020 | static const ATSUAttributeTag tags[] = {kATSUCGContextTag}; |
| 1021 | static const ByteCount sizes[] = {sizeof (CGContextRef)}; | ||
| 1022 | static const ATSUAttributeValuePtr values[] = {&context}; | ||
| 1044 | 1023 | ||
| 1045 | #if USE_CG_DRAWING | 1024 | #if USE_CG_DRAWING |
| 1046 | context = mac_begin_cg_clip (f, gc); | 1025 | context = mac_begin_cg_clip (f, gc); |
| 1047 | #else | 1026 | #else |
| 1048 | GetPort (&port); | 1027 | CGrafPtr port; |
| 1049 | QDBeginCGContext (port, &context); | 1028 | |
| 1050 | if (gc->n_clip_rects || bg_width) | 1029 | GetPort (&port); |
| 1051 | { | 1030 | QDBeginCGContext (port, &context); |
| 1052 | CGContextTranslateCTM (context, 0, port_height); | 1031 | if (gc->n_clip_rects || bg_width) |
| 1053 | CGContextScaleCTM (context, 1, -1); | 1032 | { |
| 1054 | if (gc->n_clip_rects) | 1033 | CGContextTranslateCTM (context, 0, port_height); |
| 1055 | CGContextClipToRects (context, gc->clip_rects, | 1034 | CGContextScaleCTM (context, 1, -1); |
| 1056 | gc->n_clip_rects); | 1035 | if (gc->n_clip_rects) |
| 1057 | #endif | 1036 | CGContextClipToRects (context, gc->clip_rects, |
| 1058 | if (bg_width) | 1037 | gc->n_clip_rects); |
| 1059 | { | ||
| 1060 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); | ||
| 1061 | CGContextFillRect | ||
| 1062 | (context, | ||
| 1063 | CGRectMake (x, y - FONT_BASE (GC_FONT (gc)), | ||
| 1064 | bg_width, FONT_HEIGHT (GC_FONT (gc)))); | ||
| 1065 | } | ||
| 1066 | CGContextScaleCTM (context, 1, -1); | ||
| 1067 | CGContextTranslateCTM (context, 0, -port_height); | ||
| 1068 | #if !USE_CG_DRAWING | ||
| 1069 | } | ||
| 1070 | #endif | 1038 | #endif |
| 1071 | CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, gc); | 1039 | if (bg_width) |
| 1072 | err = ATSUSetLayoutControls (text_layout, | ||
| 1073 | sizeof (tags) / sizeof (tags[0]), | ||
| 1074 | tags, sizes, values); | ||
| 1075 | if (err == noErr) | ||
| 1076 | { | 1040 | { |
| 1077 | ATSUDrawText (text_layout, | 1041 | CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
| 1078 | kATSUFromTextBeginning, kATSUToTextEnd, | 1042 | CGContextFillRect (context, |
| 1079 | Long2Fix (x), Long2Fix (port_height - y)); | 1043 | CGRectMake (x, y - FONT_BASE (GC_FONT (gc)), |
| 1080 | if (overstrike_p) | 1044 | bg_width, |
| 1081 | ATSUDrawText (text_layout, | 1045 | FONT_HEIGHT (GC_FONT (gc)))); |
| 1082 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1083 | Long2Fix (x + 1), Long2Fix (port_height - y)); | ||
| 1084 | } | 1046 | } |
| 1047 | CGContextScaleCTM (context, 1, -1); | ||
| 1048 | CGContextTranslateCTM (context, 0, -port_height); | ||
| 1049 | #if !USE_CG_DRAWING | ||
| 1050 | } | ||
| 1051 | #endif | ||
| 1052 | CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, gc); | ||
| 1053 | err = ATSUSetLayoutControls (text_layout, | ||
| 1054 | sizeof (tags) / sizeof (tags[0]), | ||
| 1055 | tags, sizes, values); | ||
| 1056 | if (err == noErr) | ||
| 1057 | { | ||
| 1058 | ATSUDrawText (text_layout, | ||
| 1059 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1060 | Long2Fix (x), Long2Fix (port_height - y)); | ||
| 1061 | if (overstrike_p) | ||
| 1062 | ATSUDrawText (text_layout, | ||
| 1063 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1064 | Long2Fix (x + 1), Long2Fix (port_height - y)); | ||
| 1065 | } | ||
| 1085 | #if USE_CG_DRAWING | 1066 | #if USE_CG_DRAWING |
| 1086 | mac_end_cg_clip (f); | 1067 | mac_end_cg_clip (f); |
| 1087 | context = NULL; | 1068 | context = NULL; |
| 1088 | #else | 1069 | #else |
| 1089 | CGContextSynchronize (context); | 1070 | CGContextSynchronize (context); |
| 1090 | QDEndCGContext (port, &context); | 1071 | QDEndCGContext (port, &context); |
| 1091 | #endif | 1072 | #endif |
| 1092 | #if 0 | 1073 | #if 0 |
| 1093 | /* This doesn't work on Mac OS X 10.1. */ | 1074 | /* This doesn't work on Mac OS X 10.1. */ |
| 1094 | ATSUClearLayoutControls (text_layout, | 1075 | ATSUClearLayoutControls (text_layout, |
| 1095 | sizeof (tags) / sizeof (tags[0]), tags); | 1076 | sizeof (tags) / sizeof (tags[0]), tags); |
| 1096 | #else | 1077 | #else |
| 1097 | ATSUSetLayoutControls (text_layout, | 1078 | ATSUSetLayoutControls (text_layout, |
| 1098 | sizeof (tags) / sizeof (tags[0]), | 1079 | sizeof (tags) / sizeof (tags[0]), |
| 1099 | tags, sizes, values); | 1080 | tags, sizes, values); |
| 1100 | #endif | 1081 | #endif |
| 1101 | } | ||
| 1102 | #endif /* MAC_OSX */ | ||
| 1103 | } | 1082 | } |
| 1104 | else | 1083 | #endif /* MAC_OSX */ |
| 1084 | } | ||
| 1105 | #endif /* USE_ATSUI */ | 1085 | #endif /* USE_ATSUI */ |
| 1106 | { | ||
| 1107 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 1108 | UInt32 savedFlags; | ||
| 1109 | 1086 | ||
| 1110 | if (mac_use_core_graphics) | 1087 | |
| 1111 | savedFlags = SwapQDTextFlags (kQDUseCGTextRendering); | 1088 | static void |
| 1089 | mac_draw_image_string_qd (f, gc, x, y, buf, nchars, bg_width, | ||
| 1090 | overstrike_p, bytes_per_char) | ||
| 1091 | struct frame *f; | ||
| 1092 | GC gc; | ||
| 1093 | int x, y; | ||
| 1094 | char *buf; | ||
| 1095 | int nchars, bg_width, overstrike_p, bytes_per_char; | ||
| 1096 | { | ||
| 1097 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 1098 | UInt32 savedFlags; | ||
| 1112 | #endif | 1099 | #endif |
| 1113 | #if USE_CG_DRAWING | 1100 | |
| 1114 | mac_prepare_for_quickdraw (f); | 1101 | mac_begin_clip (f, gc); |
| 1102 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 1103 | if (mac_use_core_graphics) | ||
| 1104 | savedFlags = SwapQDTextFlags (kQDUseCGTextRendering); | ||
| 1115 | #endif | 1105 | #endif |
| 1116 | mac_begin_clip (gc); | 1106 | RGBForeColor (GC_FORE_COLOR (gc)); |
| 1117 | RGBForeColor (GC_FORE_COLOR (gc)); | ||
| 1118 | #ifdef MAC_OS8 | 1107 | #ifdef MAC_OS8 |
| 1119 | if (bg_width) | 1108 | if (bg_width) |
| 1120 | { | 1109 | { |
| 1121 | RGBBackColor (GC_BACK_COLOR (gc)); | 1110 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 1122 | TextMode (srcCopy); | 1111 | TextMode (srcCopy); |
| 1123 | } | 1112 | } |
| 1124 | else | 1113 | else |
| 1125 | TextMode (srcOr); | 1114 | TextMode (srcOr); |
| 1126 | #else | 1115 | #else |
| 1127 | /* We prefer not to use srcCopy text transfer mode on Mac OS X | 1116 | /* We prefer not to use srcCopy text transfer mode on Mac OS X |
| 1128 | because: | 1117 | because: |
| 1129 | - Screen is double-buffered. (In srcCopy mode, a text is | 1118 | - Screen is double-buffered. (In srcCopy mode, a text is drawn |
| 1130 | drawn into an offscreen graphics world first. So | 1119 | into an offscreen graphics world first. So performance gain |
| 1131 | performance gain cannot be expected.) | 1120 | cannot be expected.) |
| 1132 | - It lowers rendering quality. | 1121 | - It lowers rendering quality. |
| 1133 | - Some fonts leave garbage on cursor movement. */ | 1122 | - Some fonts leave garbage on cursor movement. */ |
| 1134 | if (bg_width) | 1123 | if (bg_width) |
| 1135 | { | 1124 | { |
| 1136 | Rect r; | 1125 | Rect r; |
| 1137 | 1126 | ||
| 1138 | RGBBackColor (GC_BACK_COLOR (gc)); | 1127 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 1139 | SetRect (&r, x, y - FONT_BASE (GC_FONT (gc)), | 1128 | SetRect (&r, x, y - FONT_BASE (GC_FONT (gc)), |
| 1140 | x + bg_width, y + FONT_DESCENT (GC_FONT (gc))); | 1129 | x + bg_width, y + FONT_DESCENT (GC_FONT (gc))); |
| 1141 | EraseRect (&r); | 1130 | EraseRect (&r); |
| 1142 | } | 1131 | } |
| 1143 | TextMode (srcOr); | 1132 | TextMode (srcOr); |
| 1144 | #endif | 1133 | #endif |
| 1145 | TextFont (GC_FONT (gc)->mac_fontnum); | 1134 | TextFont (GC_FONT (gc)->mac_fontnum); |
| 1146 | TextSize (GC_FONT (gc)->mac_fontsize); | 1135 | TextSize (GC_FONT (gc)->mac_fontsize); |
| 1147 | TextFace (GC_FONT (gc)->mac_fontface); | 1136 | TextFace (GC_FONT (gc)->mac_fontface); |
| 1148 | MoveTo (x, y); | 1137 | MoveTo (x, y); |
| 1138 | DrawText (buf, 0, nchars * bytes_per_char); | ||
| 1139 | if (overstrike_p) | ||
| 1140 | { | ||
| 1141 | TextMode (srcOr); | ||
| 1142 | MoveTo (x + 1, y); | ||
| 1149 | DrawText (buf, 0, nchars * bytes_per_char); | 1143 | DrawText (buf, 0, nchars * bytes_per_char); |
| 1150 | if (overstrike_p) | 1144 | } |
| 1151 | { | 1145 | if (bg_width) |
| 1152 | TextMode (srcOr); | 1146 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| 1153 | MoveTo (x + 1, y); | 1147 | mac_end_clip (gc); |
| 1154 | DrawText (buf, 0, nchars * bytes_per_char); | ||
| 1155 | } | ||
| 1156 | if (bg_width) | ||
| 1157 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | ||
| 1158 | mac_end_clip (gc); | ||
| 1159 | 1148 | ||
| 1160 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | 1149 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
| 1161 | if (mac_use_core_graphics) | 1150 | if (mac_use_core_graphics) |
| 1162 | SwapQDTextFlags(savedFlags); | 1151 | SwapQDTextFlags(savedFlags); |
| 1163 | #endif | 1152 | #endif |
| 1164 | } | 1153 | } |
| 1154 | |||
| 1155 | |||
| 1156 | static INLINE void | ||
| 1157 | mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, | ||
| 1158 | overstrike_p, bytes_per_char) | ||
| 1159 | struct frame *f; | ||
| 1160 | GC gc; | ||
| 1161 | int x, y; | ||
| 1162 | char *buf; | ||
| 1163 | int nchars, bg_width, overstrike_p, bytes_per_char; | ||
| 1164 | { | ||
| 1165 | #if USE_ATSUI | ||
| 1166 | if (GC_FONT (gc)->mac_style) | ||
| 1167 | mac_draw_image_string_atsui (f, gc, x, y, buf, nchars, bg_width, | ||
| 1168 | overstrike_p, bytes_per_char); | ||
| 1169 | else | ||
| 1170 | #endif /* USE_ATSUI */ | ||
| 1171 | mac_draw_image_string_qd (f, gc, x, y, buf, nchars, bg_width, | ||
| 1172 | overstrike_p, bytes_per_char); | ||
| 1165 | } | 1173 | } |
| 1166 | 1174 | ||
| 1167 | 1175 | ||
| @@ -1378,7 +1386,6 @@ mac_draw_image_string_cg (f, gc, x, y, buf, nchars, bg_width, overstrike_p) | |||
| 1378 | XChar2b *buf; | 1386 | XChar2b *buf; |
| 1379 | int nchars, bg_width, overstrike_p; | 1387 | int nchars, bg_width, overstrike_p; |
| 1380 | { | 1388 | { |
| 1381 | CGrafPtr port; | ||
| 1382 | float port_height, gx, gy; | 1389 | float port_height, gx, gy; |
| 1383 | int i; | 1390 | int i; |
| 1384 | CGContextRef context; | 1391 | CGContextRef context; |
| @@ -1388,7 +1395,6 @@ mac_draw_image_string_cg (f, gc, x, y, buf, nchars, bg_width, overstrike_p) | |||
| 1388 | if (!mac_use_core_graphics || GC_FONT (gc)->cg_font == NULL) | 1395 | if (!mac_use_core_graphics || GC_FONT (gc)->cg_font == NULL) |
| 1389 | return 0; | 1396 | return 0; |
| 1390 | 1397 | ||
| 1391 | port = GetWindowPort (FRAME_MAC_WINDOW (f)); | ||
| 1392 | port_height = FRAME_PIXEL_HEIGHT (f); | 1398 | port_height = FRAME_PIXEL_HEIGHT (f); |
| 1393 | gx = x; | 1399 | gx = x; |
| 1394 | gy = port_height - y; | 1400 | gy = port_height - y; |
| @@ -1409,7 +1415,7 @@ mac_draw_image_string_cg (f, gc, x, y, buf, nchars, bg_width, overstrike_p) | |||
| 1409 | #if USE_CG_DRAWING | 1415 | #if USE_CG_DRAWING |
| 1410 | context = mac_begin_cg_clip (f, gc); | 1416 | context = mac_begin_cg_clip (f, gc); |
| 1411 | #else | 1417 | #else |
| 1412 | QDBeginCGContext (port, &context); | 1418 | QDBeginCGContext (GetWindowPort (FRAME_MAC_WINDOW (f)), &context); |
| 1413 | if (gc->n_clip_rects || bg_width) | 1419 | if (gc->n_clip_rects || bg_width) |
| 1414 | { | 1420 | { |
| 1415 | CGContextTranslateCTM (context, 0, port_height); | 1421 | CGContextTranslateCTM (context, 0, port_height); |
| @@ -1449,7 +1455,7 @@ mac_draw_image_string_cg (f, gc, x, y, buf, nchars, bg_width, overstrike_p) | |||
| 1449 | } | 1455 | } |
| 1450 | } | 1456 | } |
| 1451 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | 1457 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| 1452 | else | 1458 | else /* CGContextShowGlyphsWithAdvances == NULL */ |
| 1453 | #endif | 1459 | #endif |
| 1454 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ | 1460 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 1455 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | 1461 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| @@ -1467,7 +1473,7 @@ mac_draw_image_string_cg (f, gc, x, y, buf, nchars, bg_width, overstrike_p) | |||
| 1467 | mac_end_cg_clip (f); | 1473 | mac_end_cg_clip (f); |
| 1468 | #else | 1474 | #else |
| 1469 | CGContextSynchronize (context); | 1475 | CGContextSynchronize (context); |
| 1470 | QDEndCGContext (port, &context); | 1476 | QDEndCGContext (GetWindowPort (FRAME_MAC_WINDOW (f)), &context); |
| 1471 | #endif | 1477 | #endif |
| 1472 | 1478 | ||
| 1473 | return 1; | 1479 | return 1; |
| @@ -1489,7 +1495,7 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y) | |||
| 1489 | { | 1495 | { |
| 1490 | Rect src_r, dest_r; | 1496 | Rect src_r, dest_r; |
| 1491 | 1497 | ||
| 1492 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 1498 | mac_begin_clip (f, gc); |
| 1493 | 1499 | ||
| 1494 | SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); | 1500 | SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); |
| 1495 | SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); | 1501 | SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); |
| @@ -1497,7 +1503,6 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y) | |||
| 1497 | ForeColor (blackColor); | 1503 | ForeColor (blackColor); |
| 1498 | BackColor (whiteColor); | 1504 | BackColor (whiteColor); |
| 1499 | 1505 | ||
| 1500 | mac_begin_clip (gc); | ||
| 1501 | LockPixels (GetGWorldPixMap (src)); | 1506 | LockPixels (GetGWorldPixMap (src)); |
| 1502 | #if TARGET_API_MAC_CARBON | 1507 | #if TARGET_API_MAC_CARBON |
| 1503 | { | 1508 | { |
| @@ -1515,9 +1520,10 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y) | |||
| 1515 | &src_r, &dest_r, srcCopy, 0); | 1520 | &src_r, &dest_r, srcCopy, 0); |
| 1516 | #endif /* not TARGET_API_MAC_CARBON */ | 1521 | #endif /* not TARGET_API_MAC_CARBON */ |
| 1517 | UnlockPixels (GetGWorldPixMap (src)); | 1522 | UnlockPixels (GetGWorldPixMap (src)); |
| 1518 | mac_end_clip (gc); | ||
| 1519 | 1523 | ||
| 1520 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 1524 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| 1525 | |||
| 1526 | mac_end_clip (gc); | ||
| 1521 | } | 1527 | } |
| 1522 | 1528 | ||
| 1523 | 1529 | ||
| @@ -1533,7 +1539,7 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y, | |||
| 1533 | { | 1539 | { |
| 1534 | Rect src_r, dest_r; | 1540 | Rect src_r, dest_r; |
| 1535 | 1541 | ||
| 1536 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 1542 | mac_begin_clip (f, gc); |
| 1537 | 1543 | ||
| 1538 | SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); | 1544 | SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); |
| 1539 | SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); | 1545 | SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); |
| @@ -1541,7 +1547,6 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y, | |||
| 1541 | ForeColor (blackColor); | 1547 | ForeColor (blackColor); |
| 1542 | BackColor (whiteColor); | 1548 | BackColor (whiteColor); |
| 1543 | 1549 | ||
| 1544 | mac_begin_clip (gc); | ||
| 1545 | LockPixels (GetGWorldPixMap (src)); | 1550 | LockPixels (GetGWorldPixMap (src)); |
| 1546 | LockPixels (GetGWorldPixMap (mask)); | 1551 | LockPixels (GetGWorldPixMap (mask)); |
| 1547 | #if TARGET_API_MAC_CARBON | 1552 | #if TARGET_API_MAC_CARBON |
| @@ -1561,9 +1566,10 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y, | |||
| 1561 | #endif /* not TARGET_API_MAC_CARBON */ | 1566 | #endif /* not TARGET_API_MAC_CARBON */ |
| 1562 | UnlockPixels (GetGWorldPixMap (mask)); | 1567 | UnlockPixels (GetGWorldPixMap (mask)); |
| 1563 | UnlockPixels (GetGWorldPixMap (src)); | 1568 | UnlockPixels (GetGWorldPixMap (src)); |
| 1564 | mac_end_clip (gc); | ||
| 1565 | 1569 | ||
| 1566 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 1570 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| 1571 | |||
| 1572 | mac_end_clip (gc); | ||
| 1567 | } | 1573 | } |
| 1568 | #endif /* !USE_CG_DRAWING */ | 1574 | #endif /* !USE_CG_DRAWING */ |
| 1569 | 1575 | ||
| @@ -1592,9 +1598,9 @@ mac_scroll_area (f, gc, src_x, src_y, width, height, dest_x, dest_y) | |||
| 1592 | DisposeRgn (dummy); | 1598 | DisposeRgn (dummy); |
| 1593 | #else /* not TARGET_API_MAC_CARBON */ | 1599 | #else /* not TARGET_API_MAC_CARBON */ |
| 1594 | Rect src_r, dest_r; | 1600 | Rect src_r, dest_r; |
| 1595 | WindowPtr w = FRAME_MAC_WINDOW (f); | 1601 | WindowRef w = FRAME_MAC_WINDOW (f); |
| 1596 | 1602 | ||
| 1597 | SetPort (w); | 1603 | mac_begin_clip (f, gc); |
| 1598 | 1604 | ||
| 1599 | SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); | 1605 | SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); |
| 1600 | SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); | 1606 | SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); |
| @@ -1603,11 +1609,11 @@ mac_scroll_area (f, gc, src_x, src_y, width, height, dest_x, dest_y) | |||
| 1603 | color mapping in CopyBits. Otherwise, it will be slow. */ | 1609 | color mapping in CopyBits. Otherwise, it will be slow. */ |
| 1604 | ForeColor (blackColor); | 1610 | ForeColor (blackColor); |
| 1605 | BackColor (whiteColor); | 1611 | BackColor (whiteColor); |
| 1606 | mac_begin_clip (gc); | ||
| 1607 | CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0); | 1612 | CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0); |
| 1608 | mac_end_clip (gc); | ||
| 1609 | 1613 | ||
| 1610 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); | 1614 | RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
| 1615 | |||
| 1616 | mac_end_clip (gc); | ||
| 1611 | #endif /* not TARGET_API_MAC_CARBON */ | 1617 | #endif /* not TARGET_API_MAC_CARBON */ |
| 1612 | } | 1618 | } |
| 1613 | 1619 | ||
| @@ -1852,7 +1858,7 @@ mac_reset_clip_rectangles (display, gc) | |||
| 1852 | void | 1858 | void |
| 1853 | XSetWindowBackground (display, w, color) | 1859 | XSetWindowBackground (display, w, color) |
| 1854 | Display *display; | 1860 | Display *display; |
| 1855 | WindowPtr w; | 1861 | WindowRef w; |
| 1856 | unsigned long color; | 1862 | unsigned long color; |
| 1857 | { | 1863 | { |
| 1858 | #if !TARGET_API_MAC_CARBON | 1864 | #if !TARGET_API_MAC_CARBON |
| @@ -4368,7 +4374,7 @@ x_detect_focus_change (dpyinfo, event, bufp) | |||
| 4368 | { | 4374 | { |
| 4369 | struct frame *frame; | 4375 | struct frame *frame; |
| 4370 | 4376 | ||
| 4371 | frame = mac_window_to_frame ((WindowPtr) event->message); | 4377 | frame = mac_window_to_frame ((WindowRef) event->message); |
| 4372 | if (! frame) | 4378 | if (! frame) |
| 4373 | return; | 4379 | return; |
| 4374 | 4380 | ||
| @@ -4608,8 +4614,14 @@ XTmouse_position (fp, insist, bar_window, part, x, y, time) | |||
| 4608 | the frame are divided into. */ | 4614 | the frame are divided into. */ |
| 4609 | Point mouse_pos; | 4615 | Point mouse_pos; |
| 4610 | 4616 | ||
| 4617 | #if TARGET_API_MAC_CARBON | ||
| 4618 | GetGlobalMouse (&mouse_pos); | ||
| 4619 | mouse_pos.h -= f1->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f1); | ||
| 4620 | mouse_pos.v -= f1->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f1); | ||
| 4621 | #else | ||
| 4611 | SetPortWindowPort (FRAME_MAC_WINDOW (f1)); | 4622 | SetPortWindowPort (FRAME_MAC_WINDOW (f1)); |
| 4612 | GetMouse (&mouse_pos); | 4623 | GetMouse (&mouse_pos); |
| 4624 | #endif | ||
| 4613 | remember_mouse_glyph (f1, mouse_pos.h, mouse_pos.v, | 4625 | remember_mouse_glyph (f1, mouse_pos.h, mouse_pos.v, |
| 4614 | &last_mouse_glyph); | 4626 | &last_mouse_glyph); |
| 4615 | last_mouse_glyph_frame = f1; | 4627 | last_mouse_glyph_frame = f1; |
| @@ -4639,14 +4651,14 @@ static OSStatus set_scroll_bar_timer P_ ((EventTimerInterval)); | |||
| 4639 | static int control_part_code_to_scroll_bar_part P_ ((ControlPartCode)); | 4651 | static int control_part_code_to_scroll_bar_part P_ ((ControlPartCode)); |
| 4640 | static void construct_scroll_bar_click P_ ((struct scroll_bar *, int, | 4652 | static void construct_scroll_bar_click P_ ((struct scroll_bar *, int, |
| 4641 | struct input_event *)); | 4653 | struct input_event *)); |
| 4642 | static OSStatus get_control_part_bounds P_ ((ControlHandle, ControlPartCode, | 4654 | static OSStatus get_control_part_bounds P_ ((ControlRef, ControlPartCode, |
| 4643 | Rect *)); | 4655 | Rect *)); |
| 4644 | static void x_scroll_bar_handle_press P_ ((struct scroll_bar *, | 4656 | static void x_scroll_bar_handle_press P_ ((struct scroll_bar *, |
| 4645 | ControlPartCode, Point, | 4657 | ControlPartCode, Point, |
| 4646 | struct input_event *)); | 4658 | struct input_event *)); |
| 4647 | static void x_scroll_bar_handle_release P_ ((struct scroll_bar *, | 4659 | static void x_scroll_bar_handle_release P_ ((struct scroll_bar *, |
| 4648 | struct input_event *)); | 4660 | struct input_event *)); |
| 4649 | static void x_scroll_bar_handle_drag P_ ((WindowPtr, struct scroll_bar *, | 4661 | static void x_scroll_bar_handle_drag P_ ((WindowRef, struct scroll_bar *, |
| 4650 | Point, struct input_event *)); | 4662 | Point, struct input_event *)); |
| 4651 | static void x_set_toolkit_scroll_bar_thumb P_ ((struct scroll_bar *, | 4663 | static void x_set_toolkit_scroll_bar_thumb P_ ((struct scroll_bar *, |
| 4652 | int, int, int)); | 4664 | int, int, int)); |
| @@ -4739,7 +4751,7 @@ construct_scroll_bar_click (bar, part, bufp) | |||
| 4739 | 4751 | ||
| 4740 | static OSStatus | 4752 | static OSStatus |
| 4741 | get_control_part_bounds (ch, part_code, rect) | 4753 | get_control_part_bounds (ch, part_code, rect) |
| 4742 | ControlHandle ch; | 4754 | ControlRef ch; |
| 4743 | ControlPartCode part_code; | 4755 | ControlPartCode part_code; |
| 4744 | Rect *rect; | 4756 | Rect *rect; |
| 4745 | { | 4757 | { |
| @@ -4769,7 +4781,7 @@ x_scroll_bar_handle_press (bar, part_code, mouse_pos, bufp) | |||
| 4769 | if (part != scroll_bar_handle) | 4781 | if (part != scroll_bar_handle) |
| 4770 | { | 4782 | { |
| 4771 | construct_scroll_bar_click (bar, part, bufp); | 4783 | construct_scroll_bar_click (bar, part, bufp); |
| 4772 | HiliteControl (SCROLL_BAR_CONTROL_HANDLE (bar), part_code); | 4784 | HiliteControl (SCROLL_BAR_CONTROL_REF (bar), part_code); |
| 4773 | set_scroll_bar_timer (SCROLL_BAR_FIRST_DELAY); | 4785 | set_scroll_bar_timer (SCROLL_BAR_FIRST_DELAY); |
| 4774 | bar->dragging = Qnil; | 4786 | bar->dragging = Qnil; |
| 4775 | } | 4787 | } |
| @@ -4777,7 +4789,7 @@ x_scroll_bar_handle_press (bar, part_code, mouse_pos, bufp) | |||
| 4777 | { | 4789 | { |
| 4778 | Rect r; | 4790 | Rect r; |
| 4779 | 4791 | ||
| 4780 | get_control_part_bounds (SCROLL_BAR_CONTROL_HANDLE (bar), | 4792 | get_control_part_bounds (SCROLL_BAR_CONTROL_REF (bar), |
| 4781 | kControlIndicatorPart, &r); | 4793 | kControlIndicatorPart, &r); |
| 4782 | XSETINT (bar->dragging, - (mouse_pos.v - r.top) - 1); | 4794 | XSETINT (bar->dragging, - (mouse_pos.v - r.top) - 1); |
| 4783 | } | 4795 | } |
| @@ -4795,7 +4807,7 @@ x_scroll_bar_handle_release (bar, bufp) | |||
| 4795 | || (INTEGERP (bar->dragging) && XINT (bar->dragging) >= 0)) | 4807 | || (INTEGERP (bar->dragging) && XINT (bar->dragging) >= 0)) |
| 4796 | construct_scroll_bar_click (bar, scroll_bar_end_scroll, bufp); | 4808 | construct_scroll_bar_click (bar, scroll_bar_end_scroll, bufp); |
| 4797 | 4809 | ||
| 4798 | HiliteControl (SCROLL_BAR_CONTROL_HANDLE (bar), 0); | 4810 | HiliteControl (SCROLL_BAR_CONTROL_REF (bar), 0); |
| 4799 | set_scroll_bar_timer (kEventDurationForever); | 4811 | set_scroll_bar_timer (kEventDurationForever); |
| 4800 | 4812 | ||
| 4801 | last_scroll_bar_part = -1; | 4813 | last_scroll_bar_part = -1; |
| @@ -4805,19 +4817,19 @@ x_scroll_bar_handle_release (bar, bufp) | |||
| 4805 | 4817 | ||
| 4806 | static void | 4818 | static void |
| 4807 | x_scroll_bar_handle_drag (win, bar, mouse_pos, bufp) | 4819 | x_scroll_bar_handle_drag (win, bar, mouse_pos, bufp) |
| 4808 | WindowPtr win; | 4820 | WindowRef win; |
| 4809 | struct scroll_bar *bar; | 4821 | struct scroll_bar *bar; |
| 4810 | Point mouse_pos; | 4822 | Point mouse_pos; |
| 4811 | struct input_event *bufp; | 4823 | struct input_event *bufp; |
| 4812 | { | 4824 | { |
| 4813 | ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); | 4825 | ControlRef ch = SCROLL_BAR_CONTROL_REF (bar); |
| 4814 | 4826 | ||
| 4815 | if (last_scroll_bar_part == scroll_bar_handle) | 4827 | if (last_scroll_bar_part == scroll_bar_handle) |
| 4816 | { | 4828 | { |
| 4817 | int top, top_range; | 4829 | int top, top_range; |
| 4818 | Rect r; | 4830 | Rect r; |
| 4819 | 4831 | ||
| 4820 | get_control_part_bounds (SCROLL_BAR_CONTROL_HANDLE (bar), | 4832 | get_control_part_bounds (SCROLL_BAR_CONTROL_REF (bar), |
| 4821 | kControlIndicatorPart, &r); | 4833 | kControlIndicatorPart, &r); |
| 4822 | 4834 | ||
| 4823 | if (INTEGERP (bar->dragging) && XINT (bar->dragging) < 0) | 4835 | if (INTEGERP (bar->dragging) && XINT (bar->dragging) < 0) |
| @@ -4865,13 +4877,13 @@ x_scroll_bar_handle_drag (win, bar, mouse_pos, bufp) | |||
| 4865 | } | 4877 | } |
| 4866 | 4878 | ||
| 4867 | if (unhilite_p) | 4879 | if (unhilite_p) |
| 4868 | HiliteControl (SCROLL_BAR_CONTROL_HANDLE (bar), 0); | 4880 | HiliteControl (SCROLL_BAR_CONTROL_REF (bar), 0); |
| 4869 | else if (part != last_scroll_bar_part | 4881 | else if (part != last_scroll_bar_part |
| 4870 | || scroll_bar_timer_event_posted_p) | 4882 | || scroll_bar_timer_event_posted_p) |
| 4871 | { | 4883 | { |
| 4872 | construct_scroll_bar_click (bar, part, bufp); | 4884 | construct_scroll_bar_click (bar, part, bufp); |
| 4873 | last_scroll_bar_part = part; | 4885 | last_scroll_bar_part = part; |
| 4874 | HiliteControl (SCROLL_BAR_CONTROL_HANDLE (bar), part_code); | 4886 | HiliteControl (SCROLL_BAR_CONTROL_REF (bar), part_code); |
| 4875 | set_scroll_bar_timer (SCROLL_BAR_CONTINUOUS_DELAY); | 4887 | set_scroll_bar_timer (SCROLL_BAR_CONTINUOUS_DELAY); |
| 4876 | } | 4888 | } |
| 4877 | } | 4889 | } |
| @@ -4885,7 +4897,7 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole) | |||
| 4885 | struct scroll_bar *bar; | 4897 | struct scroll_bar *bar; |
| 4886 | int portion, position, whole; | 4898 | int portion, position, whole; |
| 4887 | { | 4899 | { |
| 4888 | ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); | 4900 | ControlRef ch = SCROLL_BAR_CONTROL_REF (bar); |
| 4889 | int value, viewsize, maximum; | 4901 | int value, viewsize, maximum; |
| 4890 | 4902 | ||
| 4891 | if (XINT (bar->track_height) == 0) | 4903 | if (XINT (bar->track_height) == 0) |
| @@ -4944,7 +4956,7 @@ x_scroll_bar_create (w, top, left, width, height, disp_top, disp_height) | |||
| 4944 | struct scroll_bar *bar | 4956 | struct scroll_bar *bar |
| 4945 | = XSCROLL_BAR (Fmake_vector (make_number (SCROLL_BAR_VEC_SIZE), Qnil)); | 4957 | = XSCROLL_BAR (Fmake_vector (make_number (SCROLL_BAR_VEC_SIZE), Qnil)); |
| 4946 | Rect r; | 4958 | Rect r; |
| 4947 | ControlHandle ch; | 4959 | ControlRef ch; |
| 4948 | 4960 | ||
| 4949 | BLOCK_INPUT; | 4961 | BLOCK_INPUT; |
| 4950 | 4962 | ||
| @@ -4968,7 +4980,7 @@ x_scroll_bar_create (w, top, left, width, height, disp_top, disp_height) | |||
| 4968 | ch = NewControl (FRAME_MAC_WINDOW (f), &r, "\p", width < disp_height, | 4980 | ch = NewControl (FRAME_MAC_WINDOW (f), &r, "\p", width < disp_height, |
| 4969 | 0, 0, 0, scrollBarProc, (long) bar); | 4981 | 0, 0, 0, scrollBarProc, (long) bar); |
| 4970 | #endif | 4982 | #endif |
| 4971 | SET_SCROLL_BAR_CONTROL_HANDLE (bar, ch); | 4983 | SET_SCROLL_BAR_CONTROL_REF (bar, ch); |
| 4972 | 4984 | ||
| 4973 | XSETWINDOW (bar->window, w); | 4985 | XSETWINDOW (bar->window, w); |
| 4974 | XSETINT (bar->top, top); | 4986 | XSETINT (bar->top, top); |
| @@ -5018,7 +5030,7 @@ x_scroll_bar_set_handle (bar, start, end, rebuild) | |||
| 5018 | int rebuild; | 5030 | int rebuild; |
| 5019 | { | 5031 | { |
| 5020 | int dragging = ! NILP (bar->dragging); | 5032 | int dragging = ! NILP (bar->dragging); |
| 5021 | ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); | 5033 | ControlRef ch = SCROLL_BAR_CONTROL_REF (bar); |
| 5022 | FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); | 5034 | FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); |
| 5023 | int top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)); | 5035 | int top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)); |
| 5024 | int length = end - start; | 5036 | int length = end - start; |
| @@ -5087,7 +5099,7 @@ x_scroll_bar_remove (bar) | |||
| 5087 | mac_prepare_for_quickdraw (f); | 5099 | mac_prepare_for_quickdraw (f); |
| 5088 | #endif | 5100 | #endif |
| 5089 | /* Destroy the Mac scroll bar control */ | 5101 | /* Destroy the Mac scroll bar control */ |
| 5090 | DisposeControl (SCROLL_BAR_CONTROL_HANDLE (bar)); | 5102 | DisposeControl (SCROLL_BAR_CONTROL_REF (bar)); |
| 5091 | 5103 | ||
| 5092 | /* Disassociate this scroll bar from its window. */ | 5104 | /* Disassociate this scroll bar from its window. */ |
| 5093 | XWINDOW (bar->window)->vertical_scroll_bar = Qnil; | 5105 | XWINDOW (bar->window)->vertical_scroll_bar = Qnil; |
| @@ -5165,10 +5177,10 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 5165 | else | 5177 | else |
| 5166 | { | 5178 | { |
| 5167 | /* It may just need to be moved and resized. */ | 5179 | /* It may just need to be moved and resized. */ |
| 5168 | ControlHandle ch; | 5180 | ControlRef ch; |
| 5169 | 5181 | ||
| 5170 | bar = XSCROLL_BAR (w->vertical_scroll_bar); | 5182 | bar = XSCROLL_BAR (w->vertical_scroll_bar); |
| 5171 | ch = SCROLL_BAR_CONTROL_HANDLE (bar); | 5183 | ch = SCROLL_BAR_CONTROL_REF (bar); |
| 5172 | 5184 | ||
| 5173 | BLOCK_INPUT; | 5185 | BLOCK_INPUT; |
| 5174 | 5186 | ||
| @@ -5224,7 +5236,7 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 5224 | } | 5236 | } |
| 5225 | else | 5237 | else |
| 5226 | { | 5238 | { |
| 5227 | ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); | 5239 | ControlRef ch = SCROLL_BAR_CONTROL_REF (bar); |
| 5228 | Rect r0, r1; | 5240 | Rect r0, r1; |
| 5229 | 5241 | ||
| 5230 | BLOCK_INPUT; | 5242 | BLOCK_INPUT; |
| @@ -5501,19 +5513,24 @@ x_scroll_bar_report_motion (fp, bar_window, part, x, y, time) | |||
| 5501 | unsigned long *time; | 5513 | unsigned long *time; |
| 5502 | { | 5514 | { |
| 5503 | struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); | 5515 | struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); |
| 5504 | ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); | 5516 | ControlRef ch = SCROLL_BAR_CONTROL_REF (bar); |
| 5505 | #if TARGET_API_MAC_CARBON | 5517 | #if TARGET_API_MAC_CARBON |
| 5506 | WindowPtr wp = GetControlOwner (ch); | 5518 | WindowRef wp = GetControlOwner (ch); |
| 5507 | #else | 5519 | #else |
| 5508 | WindowPtr wp = (*ch)->contrlOwner; | 5520 | WindowRef wp = (*ch)->contrlOwner; |
| 5509 | #endif | 5521 | #endif |
| 5510 | Point mouse_pos; | 5522 | Point mouse_pos; |
| 5511 | struct frame *f = mac_window_to_frame (wp); | 5523 | struct frame *f = mac_window_to_frame (wp); |
| 5512 | int win_y, top_range; | 5524 | int win_y, top_range; |
| 5513 | 5525 | ||
| 5526 | #if TARGET_API_MAC_CARBON | ||
| 5527 | GetGlobalMouse (&mouse_pos); | ||
| 5528 | mouse_pos.h -= f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f); | ||
| 5529 | mouse_pos.v -= f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f); | ||
| 5530 | #else | ||
| 5514 | SetPortWindowPort (wp); | 5531 | SetPortWindowPort (wp); |
| 5515 | |||
| 5516 | GetMouse (&mouse_pos); | 5532 | GetMouse (&mouse_pos); |
| 5533 | #endif | ||
| 5517 | 5534 | ||
| 5518 | win_y = mouse_pos.v - XINT (bar->top); | 5535 | win_y = mouse_pos.v - XINT (bar->top); |
| 5519 | top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)); | 5536 | top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)); |
| @@ -6141,9 +6158,7 @@ x_set_offset (f, xoff, yoff, change_gravity) | |||
| 6141 | ConstrainWindowToScreen (FRAME_MAC_WINDOW (f), kWindowTitleBarRgn, | 6158 | ConstrainWindowToScreen (FRAME_MAC_WINDOW (f), kWindowTitleBarRgn, |
| 6142 | kWindowConstrainMoveRegardlessOfFit | 6159 | kWindowConstrainMoveRegardlessOfFit |
| 6143 | | kWindowConstrainAllowPartial, NULL, NULL); | 6160 | | kWindowConstrainAllowPartial, NULL, NULL); |
| 6144 | #if USE_CARBON_EVENTS | ||
| 6145 | if (!NILP (tip_frame) && XFRAME (tip_frame) == f) | 6161 | if (!NILP (tip_frame) && XFRAME (tip_frame) == f) |
| 6146 | #endif | ||
| 6147 | mac_handle_origin_change (f); | 6162 | mac_handle_origin_change (f); |
| 6148 | #else | 6163 | #else |
| 6149 | { | 6164 | { |
| @@ -6219,7 +6234,7 @@ x_set_window_size (f, change_gravity, cols, rows) | |||
| 6219 | 6234 | ||
| 6220 | SizeWindow (FRAME_MAC_WINDOW (f), pixelwidth, pixelheight, 0); | 6235 | SizeWindow (FRAME_MAC_WINDOW (f), pixelwidth, pixelheight, 0); |
| 6221 | 6236 | ||
| 6222 | #if USE_CARBON_EVENTS | 6237 | #if TARGET_API_MAC_CARBON |
| 6223 | if (!NILP (tip_frame) && f == XFRAME (tip_frame)) | 6238 | if (!NILP (tip_frame) && f == XFRAME (tip_frame)) |
| 6224 | #endif | 6239 | #endif |
| 6225 | mac_handle_size_change (f, pixelwidth, pixelheight); | 6240 | mac_handle_size_change (f, pixelwidth, pixelheight); |
| @@ -6266,17 +6281,11 @@ x_set_mouse_pixel_position (f, pix_x, pix_y) | |||
| 6266 | int pix_x, pix_y; | 6281 | int pix_x, pix_y; |
| 6267 | { | 6282 | { |
| 6268 | #ifdef MAC_OSX | 6283 | #ifdef MAC_OSX |
| 6269 | Point p; | 6284 | pix_x += f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f); |
| 6270 | CGPoint point; | 6285 | pix_y += f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f); |
| 6271 | 6286 | ||
| 6272 | BLOCK_INPUT; | 6287 | BLOCK_INPUT; |
| 6273 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 6288 | CGWarpMouseCursorPosition (CGPointMake (pix_x, pix_y)); |
| 6274 | p.h = pix_x; | ||
| 6275 | p.v = pix_y; | ||
| 6276 | LocalToGlobal (&p); | ||
| 6277 | point.x = p.h; | ||
| 6278 | point.y = p.v; | ||
| 6279 | CGWarpMouseCursorPosition (point); | ||
| 6280 | UNBLOCK_INPUT; | 6289 | UNBLOCK_INPUT; |
| 6281 | #else | 6290 | #else |
| 6282 | #if 0 /* MAC_TODO: LMSetMouseLocation and CursorDeviceMoveTo are non-Carbon */ | 6291 | #if 0 /* MAC_TODO: LMSetMouseLocation and CursorDeviceMoveTo are non-Carbon */ |
| @@ -6358,7 +6367,7 @@ static void | |||
| 6358 | mac_handle_visibility_change (f) | 6367 | mac_handle_visibility_change (f) |
| 6359 | struct frame *f; | 6368 | struct frame *f; |
| 6360 | { | 6369 | { |
| 6361 | WindowPtr wp = FRAME_MAC_WINDOW (f); | 6370 | WindowRef wp = FRAME_MAC_WINDOW (f); |
| 6362 | int visible = 0, iconified = 0; | 6371 | int visible = 0, iconified = 0; |
| 6363 | struct input_event buf; | 6372 | struct input_event buf; |
| 6364 | 6373 | ||
| @@ -6426,32 +6435,7 @@ x_make_frame_visible (f) | |||
| 6426 | before the window gets really visible. */ | 6435 | before the window gets really visible. */ |
| 6427 | if (! FRAME_ICONIFIED_P (f) | 6436 | if (! FRAME_ICONIFIED_P (f) |
| 6428 | && ! f->output_data.mac->asked_for_visible) | 6437 | && ! f->output_data.mac->asked_for_visible) |
| 6429 | { | 6438 | x_set_offset (f, f->left_pos, f->top_pos, 0); |
| 6430 | #if TARGET_API_MAC_CARBON | ||
| 6431 | if (!(FRAME_SIZE_HINTS (f)->flags & (USPosition | PPosition))) | ||
| 6432 | { | ||
| 6433 | struct frame *sf = SELECTED_FRAME (); | ||
| 6434 | if (!FRAME_MAC_P (sf)) | ||
| 6435 | RepositionWindow (FRAME_MAC_WINDOW (f), NULL, | ||
| 6436 | kWindowCenterOnMainScreen); | ||
| 6437 | else | ||
| 6438 | RepositionWindow (FRAME_MAC_WINDOW (f), | ||
| 6439 | FRAME_MAC_WINDOW (sf), | ||
| 6440 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 6441 | kWindowCascadeStartAtParentWindowScreen | ||
| 6442 | #else | ||
| 6443 | kWindowCascadeOnParentWindowScreen | ||
| 6444 | #endif | ||
| 6445 | ); | ||
| 6446 | #if USE_CARBON_EVENTS | ||
| 6447 | if (!NILP (tip_frame) && f == XFRAME (tip_frame)) | ||
| 6448 | #endif | ||
| 6449 | mac_handle_origin_change (f); | ||
| 6450 | } | ||
| 6451 | else | ||
| 6452 | #endif | ||
| 6453 | x_set_offset (f, f->left_pos, f->top_pos, 0); | ||
| 6454 | } | ||
| 6455 | 6439 | ||
| 6456 | f->output_data.mac->asked_for_visible = 1; | 6440 | f->output_data.mac->asked_for_visible = 1; |
| 6457 | 6441 | ||
| @@ -6525,18 +6509,20 @@ x_make_frame_invisible (f) | |||
| 6525 | 6509 | ||
| 6526 | BLOCK_INPUT; | 6510 | BLOCK_INPUT; |
| 6527 | 6511 | ||
| 6512 | #if !TARGET_API_MAC_CARBON | ||
| 6528 | /* Before unmapping the window, update the WM_SIZE_HINTS property to claim | 6513 | /* Before unmapping the window, update the WM_SIZE_HINTS property to claim |
| 6529 | that the current position of the window is user-specified, rather than | 6514 | that the current position of the window is user-specified, rather than |
| 6530 | program-specified, so that when the window is mapped again, it will be | 6515 | program-specified, so that when the window is mapped again, it will be |
| 6531 | placed at the same location, without forcing the user to position it | 6516 | placed at the same location, without forcing the user to position it |
| 6532 | by hand again (they have already done that once for this window.) */ | 6517 | by hand again (they have already done that once for this window.) */ |
| 6533 | x_wm_set_size_hint (f, (long) 0, 1); | 6518 | x_wm_set_size_hint (f, (long) 0, 1); |
| 6519 | #endif | ||
| 6534 | 6520 | ||
| 6535 | HideWindow (FRAME_MAC_WINDOW (f)); | 6521 | HideWindow (FRAME_MAC_WINDOW (f)); |
| 6536 | 6522 | ||
| 6537 | UNBLOCK_INPUT; | 6523 | UNBLOCK_INPUT; |
| 6538 | 6524 | ||
| 6539 | #if !USE_CARBON_EVENTS | 6525 | #if !TARGET_API_MAC_CARBON |
| 6540 | mac_handle_visibility_change (f); | 6526 | mac_handle_visibility_change (f); |
| 6541 | #endif | 6527 | #endif |
| 6542 | } | 6528 | } |
| @@ -6575,7 +6561,7 @@ x_iconify_frame (f) | |||
| 6575 | if (err != noErr) | 6561 | if (err != noErr) |
| 6576 | error ("Can't notify window manager of iconification"); | 6562 | error ("Can't notify window manager of iconification"); |
| 6577 | 6563 | ||
| 6578 | #if !USE_CARBON_EVENTS | 6564 | #if !TARGET_API_MAC_CARBON |
| 6579 | mac_handle_visibility_change (f); | 6565 | mac_handle_visibility_change (f); |
| 6580 | #endif | 6566 | #endif |
| 6581 | } | 6567 | } |
| @@ -6588,7 +6574,7 @@ x_free_frame_resources (f) | |||
| 6588 | struct frame *f; | 6574 | struct frame *f; |
| 6589 | { | 6575 | { |
| 6590 | struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); | 6576 | struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
| 6591 | WindowPtr wp = FRAME_MAC_WINDOW (f); | 6577 | WindowRef wp = FRAME_MAC_WINDOW (f); |
| 6592 | 6578 | ||
| 6593 | BLOCK_INPUT; | 6579 | BLOCK_INPUT; |
| 6594 | 6580 | ||
| @@ -8723,16 +8709,93 @@ x_find_ccl_program (fontp) | |||
| 8723 | possible. */ | 8709 | possible. */ |
| 8724 | static int font_panel_shown_p = 0; | 8710 | static int font_panel_shown_p = 0; |
| 8725 | 8711 | ||
| 8712 | extern Lisp_Object Qfont; | ||
| 8713 | static Lisp_Object Qpanel_closed, Qselection; | ||
| 8714 | |||
| 8715 | static OSStatus mac_store_event_ref_as_apple_event P_ ((AEEventClass, AEEventID, | ||
| 8716 | Lisp_Object, | ||
| 8717 | Lisp_Object, | ||
| 8718 | EventRef, UInt32, | ||
| 8719 | const EventParamName *, | ||
| 8720 | const EventParamType *)); | ||
| 8721 | |||
| 8726 | int | 8722 | int |
| 8727 | mac_font_panel_visible_p () | 8723 | mac_font_panel_visible_p () |
| 8728 | { | 8724 | { |
| 8729 | return font_panel_shown_p && FPIsFontPanelVisible (); | 8725 | return font_panel_shown_p && FPIsFontPanelVisible (); |
| 8730 | } | 8726 | } |
| 8731 | 8727 | ||
| 8728 | static pascal OSStatus | ||
| 8729 | mac_handle_font_event (next_handler, event, data) | ||
| 8730 | EventHandlerCallRef next_handler; | ||
| 8731 | EventRef event; | ||
| 8732 | void *data; | ||
| 8733 | { | ||
| 8734 | OSStatus result, err; | ||
| 8735 | Lisp_Object id_key; | ||
| 8736 | int num_params; | ||
| 8737 | const EventParamName *names; | ||
| 8738 | const EventParamType *types; | ||
| 8739 | static const EventParamName names_sel[] = {kEventParamATSUFontID, | ||
| 8740 | kEventParamATSUFontSize, | ||
| 8741 | kEventParamFMFontFamily, | ||
| 8742 | kEventParamFMFontSize, | ||
| 8743 | kEventParamFontColor}; | ||
| 8744 | static const EventParamType types_sel[] = {typeATSUFontID, | ||
| 8745 | typeATSUSize, | ||
| 8746 | typeFMFontFamily, | ||
| 8747 | typeFMFontSize, | ||
| 8748 | typeFontColor}; | ||
| 8749 | |||
| 8750 | result = CallNextEventHandler (next_handler, event); | ||
| 8751 | if (result != eventNotHandledErr) | ||
| 8752 | return result; | ||
| 8753 | |||
| 8754 | switch (GetEventKind (event)) | ||
| 8755 | { | ||
| 8756 | case kEventFontPanelClosed: | ||
| 8757 | id_key = Qpanel_closed; | ||
| 8758 | num_params = 0; | ||
| 8759 | names = NULL; | ||
| 8760 | types = NULL; | ||
| 8761 | break; | ||
| 8762 | |||
| 8763 | case kEventFontSelection: | ||
| 8764 | id_key = Qselection; | ||
| 8765 | num_params = sizeof (names_sel) / sizeof (names_sel[0]); | ||
| 8766 | names = names_sel; | ||
| 8767 | types = types_sel; | ||
| 8768 | break; | ||
| 8769 | } | ||
| 8770 | |||
| 8771 | err = mac_store_event_ref_as_apple_event (0, 0, Qfont, id_key, | ||
| 8772 | event, num_params, | ||
| 8773 | names, types); | ||
| 8774 | if (err == noErr) | ||
| 8775 | result = noErr; | ||
| 8776 | |||
| 8777 | return result; | ||
| 8778 | } | ||
| 8779 | |||
| 8732 | OSStatus | 8780 | OSStatus |
| 8733 | mac_show_hide_font_panel () | 8781 | mac_show_hide_font_panel () |
| 8734 | { | 8782 | { |
| 8735 | font_panel_shown_p = 1; | 8783 | if (!font_panel_shown_p) |
| 8784 | { | ||
| 8785 | OSStatus err; | ||
| 8786 | |||
| 8787 | static const EventTypeSpec specs[] = | ||
| 8788 | {{kEventClassFont, kEventFontPanelClosed}, | ||
| 8789 | {kEventClassFont, kEventFontSelection}}; | ||
| 8790 | |||
| 8791 | err = InstallApplicationEventHandler (mac_handle_font_event, | ||
| 8792 | GetEventTypeCount (specs), | ||
| 8793 | specs, NULL, NULL); | ||
| 8794 | if (err != noErr) | ||
| 8795 | return err; | ||
| 8796 | |||
| 8797 | font_panel_shown_p = 1; | ||
| 8798 | } | ||
| 8736 | 8799 | ||
| 8737 | return FPShowHideFontPanel (); | 8800 | return FPShowHideFontPanel (); |
| 8738 | } | 8801 | } |
| @@ -8848,7 +8911,7 @@ Lisp_Object Vmac_function_modifier; | |||
| 8848 | a three button mouse */ | 8911 | a three button mouse */ |
| 8849 | Lisp_Object Vmac_emulate_three_button_mouse; | 8912 | Lisp_Object Vmac_emulate_three_button_mouse; |
| 8850 | 8913 | ||
| 8851 | #if USE_CARBON_EVENTS | 8914 | #if TARGET_API_MAC_CARBON |
| 8852 | /* Non-zero if the mouse wheel button (i.e. button 4) should map to | 8915 | /* Non-zero if the mouse wheel button (i.e. button 4) should map to |
| 8853 | mouse-2, instead of mouse-3. */ | 8916 | mouse-2, instead of mouse-3. */ |
| 8854 | int mac_wheel_button_is_mouse_2; | 8917 | int mac_wheel_button_is_mouse_2; |
| @@ -8873,16 +8936,12 @@ static int mac_screen_config_changed = 0; | |||
| 8873 | Point saved_menu_event_location; | 8936 | Point saved_menu_event_location; |
| 8874 | 8937 | ||
| 8875 | /* Apple Events */ | 8938 | /* Apple Events */ |
| 8876 | #if USE_CARBON_EVENTS | 8939 | #if TARGET_API_MAC_CARBON |
| 8877 | static Lisp_Object Qhi_command; | 8940 | static Lisp_Object Qhi_command; |
| 8878 | #ifdef MAC_OSX | 8941 | #ifdef MAC_OSX |
| 8879 | extern Lisp_Object Qwindow; | 8942 | extern Lisp_Object Qwindow; |
| 8880 | static Lisp_Object Qtoolbar_switch_mode; | 8943 | static Lisp_Object Qtoolbar_switch_mode; |
| 8881 | #endif | 8944 | #endif |
| 8882 | #if USE_MAC_FONT_PANEL | ||
| 8883 | extern Lisp_Object Qfont; | ||
| 8884 | static Lisp_Object Qpanel_closed, Qselection; | ||
| 8885 | #endif | ||
| 8886 | #if USE_MAC_TSM | 8945 | #if USE_MAC_TSM |
| 8887 | static TSMDocumentID tsm_document_id; | 8946 | static TSMDocumentID tsm_document_id; |
| 8888 | static Lisp_Object Qtext_input; | 8947 | static Lisp_Object Qtext_input; |
| @@ -8894,7 +8953,7 @@ static Lisp_Object saved_ts_script_language_on_focus; | |||
| 8894 | static ScriptLanguageRecord saved_ts_language; | 8953 | static ScriptLanguageRecord saved_ts_language; |
| 8895 | static Component saved_ts_component; | 8954 | static Component saved_ts_component; |
| 8896 | #endif | 8955 | #endif |
| 8897 | #endif | 8956 | #endif /* TARGET_API_MAC_CARBON */ |
| 8898 | extern int mac_ready_for_apple_events; | 8957 | extern int mac_ready_for_apple_events; |
| 8899 | extern Lisp_Object Qundefined; | 8958 | extern Lisp_Object Qundefined; |
| 8900 | extern void init_apple_event_handler P_ ((void)); | 8959 | extern void init_apple_event_handler P_ ((void)); |
| @@ -8907,20 +8966,15 @@ extern OSErr init_coercion_handler P_ ((void)); | |||
| 8907 | extern OSErr install_drag_handler P_ ((WindowRef)); | 8966 | extern OSErr install_drag_handler P_ ((WindowRef)); |
| 8908 | extern void remove_drag_handler P_ ((WindowRef)); | 8967 | extern void remove_drag_handler P_ ((WindowRef)); |
| 8909 | 8968 | ||
| 8969 | #if TARGET_API_MAC_CARBON | ||
| 8910 | /* Showing help echo string during menu tracking */ | 8970 | /* Showing help echo string during menu tracking */ |
| 8911 | extern OSStatus install_menu_target_item_handler P_ ((WindowPtr)); | 8971 | extern OSStatus install_menu_target_item_handler P_ ((void)); |
| 8912 | 8972 | ||
| 8913 | #if USE_CARBON_EVENTS | ||
| 8914 | #ifdef MAC_OSX | 8973 | #ifdef MAC_OSX |
| 8915 | extern void init_service_handler (); | 8974 | extern OSStatus install_service_handler (); |
| 8916 | static Lisp_Object Qservice, Qpaste, Qperform; | 8975 | static Lisp_Object Qservice, Qpaste, Qperform; |
| 8917 | #endif | 8976 | #endif |
| 8918 | |||
| 8919 | /* Window Event Handler */ | ||
| 8920 | static pascal OSStatus mac_handle_window_event (EventHandlerCallRef, | ||
| 8921 | EventRef, void *); | ||
| 8922 | #endif | 8977 | #endif |
| 8923 | OSStatus install_window_handler (WindowPtr); | ||
| 8924 | 8978 | ||
| 8925 | extern void init_emacs_passwd_dir (); | 8979 | extern void init_emacs_passwd_dir (); |
| 8926 | extern int emacs_main (int, char **, char **); | 8980 | extern int emacs_main (int, char **, char **); |
| @@ -9004,7 +9058,7 @@ static const unsigned char fn_keycode_to_keycode_table[] = { | |||
| 9004 | #endif /* MAC_OSX */ | 9058 | #endif /* MAC_OSX */ |
| 9005 | 9059 | ||
| 9006 | static int | 9060 | static int |
| 9007 | #if USE_CARBON_EVENTS | 9061 | #if TARGET_API_MAC_CARBON |
| 9008 | mac_to_emacs_modifiers (UInt32 mods) | 9062 | mac_to_emacs_modifiers (UInt32 mods) |
| 9009 | #else | 9063 | #else |
| 9010 | mac_to_emacs_modifiers (EventModifiers mods) | 9064 | mac_to_emacs_modifiers (EventModifiers mods) |
| @@ -9113,17 +9167,19 @@ mac_quit_char_key_p (modifiers, key_code) | |||
| 9113 | } | 9167 | } |
| 9114 | #endif | 9168 | #endif |
| 9115 | 9169 | ||
| 9116 | #if USE_CARBON_EVENTS | 9170 | #if TARGET_API_MAC_CARBON |
| 9117 | /* Obtains the event modifiers from the event ref and then calls | 9171 | /* Obtains the event modifiers from the event ref and then calls |
| 9118 | mac_to_emacs_modifiers. */ | 9172 | mac_to_emacs_modifiers. */ |
| 9119 | static int | 9173 | static int |
| 9120 | mac_event_to_emacs_modifiers (EventRef eventRef) | 9174 | mac_event_to_emacs_modifiers (EventRef eventRef) |
| 9121 | { | 9175 | { |
| 9122 | UInt32 mods = 0; | 9176 | UInt32 mods = 0, class; |
| 9177 | |||
| 9123 | GetEventParameter (eventRef, kEventParamKeyModifiers, typeUInt32, NULL, | 9178 | GetEventParameter (eventRef, kEventParamKeyModifiers, typeUInt32, NULL, |
| 9124 | sizeof (UInt32), NULL, &mods); | 9179 | sizeof (UInt32), NULL, &mods); |
| 9180 | class = GetEventClass (eventRef); | ||
| 9125 | if (!NILP (Vmac_emulate_three_button_mouse) && | 9181 | if (!NILP (Vmac_emulate_three_button_mouse) && |
| 9126 | GetEventClass(eventRef) == kEventClassMouse) | 9182 | (class == kEventClassMouse || class == kEventClassCommand)) |
| 9127 | { | 9183 | { |
| 9128 | mods &= ~(optionKey | cmdKey); | 9184 | mods &= ~(optionKey | cmdKey); |
| 9129 | } | 9185 | } |
| @@ -9262,7 +9318,7 @@ static void | |||
| 9262 | do_get_menus (void) | 9318 | do_get_menus (void) |
| 9263 | { | 9319 | { |
| 9264 | Handle menubar_handle; | 9320 | Handle menubar_handle; |
| 9265 | MenuHandle menu_handle; | 9321 | MenuRef menu; |
| 9266 | 9322 | ||
| 9267 | menubar_handle = GetNewMBar (128); | 9323 | menubar_handle = GetNewMBar (128); |
| 9268 | if(menubar_handle == NULL) | 9324 | if(menubar_handle == NULL) |
| @@ -9271,9 +9327,9 @@ do_get_menus (void) | |||
| 9271 | DrawMenuBar (); | 9327 | DrawMenuBar (); |
| 9272 | 9328 | ||
| 9273 | #if !TARGET_API_MAC_CARBON | 9329 | #if !TARGET_API_MAC_CARBON |
| 9274 | menu_handle = GetMenuHandle (M_APPLE); | 9330 | menu = GetMenuRef (M_APPLE); |
| 9275 | if(menu_handle != NULL) | 9331 | if (menu != NULL) |
| 9276 | AppendResMenu (menu_handle,'DRVR'); | 9332 | AppendResMenu (menu, 'DRVR'); |
| 9277 | else | 9333 | else |
| 9278 | abort (); | 9334 | abort (); |
| 9279 | #endif | 9335 | #endif |
| @@ -9322,7 +9378,7 @@ do_check_ram_size (void) | |||
| 9322 | #endif /* MAC_OS8 */ | 9378 | #endif /* MAC_OS8 */ |
| 9323 | 9379 | ||
| 9324 | static void | 9380 | static void |
| 9325 | do_window_update (WindowPtr win) | 9381 | do_window_update (WindowRef win) |
| 9326 | { | 9382 | { |
| 9327 | struct frame *f = mac_window_to_frame (win); | 9383 | struct frame *f = mac_window_to_frame (win); |
| 9328 | 9384 | ||
| @@ -9367,7 +9423,7 @@ do_window_update (WindowPtr win) | |||
| 9367 | } | 9423 | } |
| 9368 | 9424 | ||
| 9369 | static int | 9425 | static int |
| 9370 | is_emacs_window (WindowPtr win) | 9426 | is_emacs_window (WindowRef win) |
| 9371 | { | 9427 | { |
| 9372 | Lisp_Object tail, frame; | 9428 | Lisp_Object tail, frame; |
| 9373 | 9429 | ||
| @@ -9480,7 +9536,7 @@ do_apple_menu (SInt16 menu_item) | |||
| 9480 | NoteAlert (ABOUT_ALERT_ID, NULL); | 9536 | NoteAlert (ABOUT_ALERT_ID, NULL); |
| 9481 | else | 9537 | else |
| 9482 | { | 9538 | { |
| 9483 | GetMenuItemText (GetMenuHandle (M_APPLE), menu_item, item_name); | 9539 | GetMenuItemText (GetMenuRef (M_APPLE), menu_item, item_name); |
| 9484 | da_driver_refnum = OpenDeskAcc (item_name); | 9540 | da_driver_refnum = OpenDeskAcc (item_name); |
| 9485 | } | 9541 | } |
| 9486 | } | 9542 | } |
| @@ -9491,7 +9547,7 @@ do_apple_menu (SInt16 menu_item) | |||
| 9491 | 9547 | ||
| 9492 | static void | 9548 | static void |
| 9493 | do_grow_window (w, e) | 9549 | do_grow_window (w, e) |
| 9494 | WindowPtr w; | 9550 | WindowRef w; |
| 9495 | const EventRecord *e; | 9551 | const EventRecord *e; |
| 9496 | { | 9552 | { |
| 9497 | Rect limit_rect; | 9553 | Rect limit_rect; |
| @@ -9543,7 +9599,7 @@ mac_get_ideal_size (f) | |||
| 9543 | struct frame *f; | 9599 | struct frame *f; |
| 9544 | { | 9600 | { |
| 9545 | struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); | 9601 | struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
| 9546 | WindowPtr w = FRAME_MAC_WINDOW (f); | 9602 | WindowRef w = FRAME_MAC_WINDOW (f); |
| 9547 | Point ideal_size; | 9603 | Point ideal_size; |
| 9548 | Rect standard_rect; | 9604 | Rect standard_rect; |
| 9549 | int height, width, columns, rows; | 9605 | int height, width, columns, rows; |
| @@ -9569,7 +9625,7 @@ mac_get_ideal_size (f) | |||
| 9569 | wide (DEFAULT_NUM_COLS) and as tall as will fit on the screen. */ | 9625 | wide (DEFAULT_NUM_COLS) and as tall as will fit on the screen. */ |
| 9570 | 9626 | ||
| 9571 | static void | 9627 | static void |
| 9572 | do_zoom_window (WindowPtr w, int zoom_in_or_out) | 9628 | do_zoom_window (WindowRef w, int zoom_in_or_out) |
| 9573 | { | 9629 | { |
| 9574 | Rect zoom_rect, port_rect; | 9630 | Rect zoom_rect, port_rect; |
| 9575 | int width, height; | 9631 | int width, height; |
| @@ -9632,13 +9688,9 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out) | |||
| 9632 | SetPort (save_port); | 9688 | SetPort (save_port); |
| 9633 | #endif /* not TARGET_API_MAC_CARBON */ | 9689 | #endif /* not TARGET_API_MAC_CARBON */ |
| 9634 | 9690 | ||
| 9635 | #if !USE_CARBON_EVENTS | 9691 | #if !TARGET_API_MAC_CARBON |
| 9636 | /* retrieve window size and update application values */ | 9692 | /* retrieve window size and update application values */ |
| 9637 | #if TARGET_API_MAC_CARBON | ||
| 9638 | GetWindowPortBounds (w, &port_rect); | ||
| 9639 | #else | ||
| 9640 | port_rect = w->portRect; | 9693 | port_rect = w->portRect; |
| 9641 | #endif | ||
| 9642 | height = port_rect.bottom - port_rect.top; | 9694 | height = port_rect.bottom - port_rect.top; |
| 9643 | width = port_rect.right - port_rect.left; | 9695 | width = port_rect.right - port_rect.left; |
| 9644 | 9696 | ||
| @@ -9647,6 +9699,210 @@ do_zoom_window (WindowPtr w, int zoom_in_or_out) | |||
| 9647 | #endif | 9699 | #endif |
| 9648 | } | 9700 | } |
| 9649 | 9701 | ||
| 9702 | static void | ||
| 9703 | mac_set_unicode_keystroke_event (code, buf) | ||
| 9704 | UniChar code; | ||
| 9705 | struct input_event *buf; | ||
| 9706 | { | ||
| 9707 | int charset_id, c1, c2; | ||
| 9708 | |||
| 9709 | if (code < 0x80) | ||
| 9710 | { | ||
| 9711 | buf->kind = ASCII_KEYSTROKE_EVENT; | ||
| 9712 | buf->code = code; | ||
| 9713 | } | ||
| 9714 | else if (code < 0x100) | ||
| 9715 | { | ||
| 9716 | if (code < 0xA0) | ||
| 9717 | charset_id = CHARSET_8_BIT_CONTROL; | ||
| 9718 | else | ||
| 9719 | charset_id = charset_latin_iso8859_1; | ||
| 9720 | buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; | ||
| 9721 | buf->code = MAKE_CHAR (charset_id, code, 0); | ||
| 9722 | } | ||
| 9723 | else | ||
| 9724 | { | ||
| 9725 | if (code < 0x2500) | ||
| 9726 | charset_id = charset_mule_unicode_0100_24ff, | ||
| 9727 | code -= 0x100; | ||
| 9728 | else if (code < 0x33FF) | ||
| 9729 | charset_id = charset_mule_unicode_2500_33ff, | ||
| 9730 | code -= 0x2500; | ||
| 9731 | else if (code >= 0xE000) | ||
| 9732 | charset_id = charset_mule_unicode_e000_ffff, | ||
| 9733 | code -= 0xE000; | ||
| 9734 | c1 = (code / 96) + 32, c2 = (code % 96) + 32; | ||
| 9735 | buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; | ||
| 9736 | buf->code = MAKE_CHAR (charset_id, c1, c2); | ||
| 9737 | } | ||
| 9738 | } | ||
| 9739 | |||
| 9740 | static void | ||
| 9741 | do_keystroke (action, char_code, key_code, modifiers, timestamp, buf) | ||
| 9742 | EventKind action; | ||
| 9743 | unsigned char char_code; | ||
| 9744 | UInt32 key_code, modifiers; | ||
| 9745 | unsigned long timestamp; | ||
| 9746 | struct input_event *buf; | ||
| 9747 | { | ||
| 9748 | static SInt16 last_key_script = -1; | ||
| 9749 | SInt16 current_key_script = GetScriptManagerVariable (smKeyScript); | ||
| 9750 | UInt32 mapped_modifiers = mac_mapped_modifiers (modifiers); | ||
| 9751 | |||
| 9752 | #ifdef MAC_OSX | ||
| 9753 | if (mapped_modifiers & kEventKeyModifierFnMask | ||
| 9754 | && key_code <= 0x7f | ||
| 9755 | && fn_keycode_to_keycode_table[key_code]) | ||
| 9756 | key_code = fn_keycode_to_keycode_table[key_code]; | ||
| 9757 | #endif | ||
| 9758 | |||
| 9759 | if (key_code <= 0x7f && keycode_to_xkeysym_table[key_code]) | ||
| 9760 | { | ||
| 9761 | buf->kind = NON_ASCII_KEYSTROKE_EVENT; | ||
| 9762 | buf->code = 0xff00 | keycode_to_xkeysym_table[key_code]; | ||
| 9763 | #ifdef MAC_OSX | ||
| 9764 | if (modifiers & kEventKeyModifierFnMask | ||
| 9765 | && key_code <= 0x7f | ||
| 9766 | && fn_keycode_to_keycode_table[key_code] == key_code) | ||
| 9767 | modifiers &= ~kEventKeyModifierFnMask; | ||
| 9768 | #endif | ||
| 9769 | } | ||
| 9770 | else if (mapped_modifiers) | ||
| 9771 | { | ||
| 9772 | /* translate the keycode back to determine the original key */ | ||
| 9773 | #ifdef MAC_OSX | ||
| 9774 | UCKeyboardLayout *uchr_ptr = NULL; | ||
| 9775 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 9776 | OSStatus err; | ||
| 9777 | KeyboardLayoutRef layout; | ||
| 9778 | |||
| 9779 | err = KLGetCurrentKeyboardLayout (&layout); | ||
| 9780 | if (err == noErr) | ||
| 9781 | err = KLGetKeyboardLayoutProperty (layout, kKLuchrData, | ||
| 9782 | (const void **) &uchr_ptr); | ||
| 9783 | #else | ||
| 9784 | static SInt16 last_key_layout_id = 0; | ||
| 9785 | static Handle uchr_handle = (Handle)-1; | ||
| 9786 | SInt16 current_key_layout_id = | ||
| 9787 | GetScriptVariable (current_key_script, smScriptKeys); | ||
| 9788 | |||
| 9789 | if (uchr_handle == (Handle)-1 | ||
| 9790 | || last_key_layout_id != current_key_layout_id) | ||
| 9791 | { | ||
| 9792 | uchr_handle = GetResource ('uchr', current_key_layout_id); | ||
| 9793 | last_key_layout_id = current_key_layout_id; | ||
| 9794 | } | ||
| 9795 | if (uchr_handle) | ||
| 9796 | uchr_ptr = (UCKeyboardLayout *)*uchr_handle; | ||
| 9797 | #endif | ||
| 9798 | |||
| 9799 | if (uchr_ptr) | ||
| 9800 | { | ||
| 9801 | OSStatus status; | ||
| 9802 | UInt16 key_action = action - keyDown; | ||
| 9803 | UInt32 modifier_key_state = (modifiers & ~mapped_modifiers) >> 8; | ||
| 9804 | UInt32 keyboard_type = LMGetKbdType (); | ||
| 9805 | SInt32 dead_key_state = 0; | ||
| 9806 | UniChar code; | ||
| 9807 | UniCharCount actual_length; | ||
| 9808 | |||
| 9809 | status = UCKeyTranslate (uchr_ptr, key_code, key_action, | ||
| 9810 | modifier_key_state, keyboard_type, | ||
| 9811 | kUCKeyTranslateNoDeadKeysMask, | ||
| 9812 | &dead_key_state, | ||
| 9813 | 1, &actual_length, &code); | ||
| 9814 | if (status == noErr && actual_length == 1) | ||
| 9815 | mac_set_unicode_keystroke_event (code, buf); | ||
| 9816 | } | ||
| 9817 | #endif /* MAC_OSX */ | ||
| 9818 | |||
| 9819 | if (buf->kind == NO_EVENT) | ||
| 9820 | { | ||
| 9821 | /* This code comes from Keyboard Resource, Appendix C of IM | ||
| 9822 | - Text. This is necessary since shift is ignored in KCHR | ||
| 9823 | table translation when option or command is pressed. It | ||
| 9824 | also does not translate correctly control-shift chars | ||
| 9825 | like C-% so mask off shift here also. */ | ||
| 9826 | /* Mask off modifier keys that are mapped to some Emacs | ||
| 9827 | modifiers. */ | ||
| 9828 | int new_modifiers = modifiers & ~mapped_modifiers; | ||
| 9829 | /* set high byte of keycode to modifier high byte*/ | ||
| 9830 | int new_key_code = key_code | new_modifiers; | ||
| 9831 | Ptr kchr_ptr = (Ptr) GetScriptManagerVariable (smKCHRCache); | ||
| 9832 | unsigned long some_state = 0; | ||
| 9833 | UInt32 new_char_code; | ||
| 9834 | |||
| 9835 | new_char_code = KeyTranslate (kchr_ptr, new_key_code, &some_state); | ||
| 9836 | if (new_char_code == 0) | ||
| 9837 | /* Seems like a dead key. Append up-stroke. */ | ||
| 9838 | new_char_code = KeyTranslate (kchr_ptr, new_key_code | 0x80, | ||
| 9839 | &some_state); | ||
| 9840 | if (new_char_code) | ||
| 9841 | { | ||
| 9842 | buf->kind = ASCII_KEYSTROKE_EVENT; | ||
| 9843 | buf->code = new_char_code & 0xff; | ||
| 9844 | } | ||
| 9845 | } | ||
| 9846 | } | ||
| 9847 | |||
| 9848 | if (buf->kind == NO_EVENT) | ||
| 9849 | { | ||
| 9850 | buf->kind = ASCII_KEYSTROKE_EVENT; | ||
| 9851 | buf->code = char_code; | ||
| 9852 | } | ||
| 9853 | |||
| 9854 | buf->modifiers = mac_to_emacs_modifiers (modifiers); | ||
| 9855 | buf->modifiers |= (extra_keyboard_modifiers | ||
| 9856 | & (meta_modifier | alt_modifier | ||
| 9857 | | hyper_modifier | super_modifier)); | ||
| 9858 | |||
| 9859 | #if TARGET_API_MAC_CARBON | ||
| 9860 | if (buf->kind == ASCII_KEYSTROKE_EVENT | ||
| 9861 | && buf->code >= 0x80 && buf->modifiers) | ||
| 9862 | { | ||
| 9863 | OSStatus err; | ||
| 9864 | TextEncoding encoding = kTextEncodingMacRoman; | ||
| 9865 | TextToUnicodeInfo ttu_info; | ||
| 9866 | |||
| 9867 | UpgradeScriptInfoToTextEncoding (current_key_script, | ||
| 9868 | kTextLanguageDontCare, | ||
| 9869 | kTextRegionDontCare, | ||
| 9870 | NULL, &encoding); | ||
| 9871 | err = CreateTextToUnicodeInfoByEncoding (encoding, &ttu_info); | ||
| 9872 | if (err == noErr) | ||
| 9873 | { | ||
| 9874 | UniChar code; | ||
| 9875 | Str255 pstr; | ||
| 9876 | ByteCount unicode_len; | ||
| 9877 | |||
| 9878 | pstr[0] = 1; | ||
| 9879 | pstr[1] = buf->code; | ||
| 9880 | err = ConvertFromPStringToUnicode (ttu_info, pstr, | ||
| 9881 | sizeof (UniChar), | ||
| 9882 | &unicode_len, &code); | ||
| 9883 | if (err == noErr && unicode_len == sizeof (UniChar)) | ||
| 9884 | mac_set_unicode_keystroke_event (code, buf); | ||
| 9885 | DisposeTextToUnicodeInfo (&ttu_info); | ||
| 9886 | } | ||
| 9887 | } | ||
| 9888 | #endif | ||
| 9889 | |||
| 9890 | if (buf->kind == ASCII_KEYSTROKE_EVENT | ||
| 9891 | && buf->code >= 0x80 | ||
| 9892 | && last_key_script != current_key_script) | ||
| 9893 | { | ||
| 9894 | struct input_event event; | ||
| 9895 | |||
| 9896 | EVENT_INIT (event); | ||
| 9897 | event.kind = LANGUAGE_CHANGE_EVENT; | ||
| 9898 | event.arg = Qnil; | ||
| 9899 | event.code = current_key_script; | ||
| 9900 | event.timestamp = timestamp; | ||
| 9901 | kbd_buffer_store_event (&event); | ||
| 9902 | last_key_script = current_key_script; | ||
| 9903 | } | ||
| 9904 | } | ||
| 9905 | |||
| 9650 | void | 9906 | void |
| 9651 | mac_store_apple_event (class, id, desc) | 9907 | mac_store_apple_event (class, id, desc) |
| 9652 | Lisp_Object class, id; | 9908 | Lisp_Object class, id; |
| @@ -9725,54 +9981,49 @@ mac_store_drag_event (window, mouse_pos, modifiers, desc) | |||
| 9725 | buf.arg = mac_aedesc_to_lisp (desc); | 9981 | buf.arg = mac_aedesc_to_lisp (desc); |
| 9726 | kbd_buffer_store_event (&buf); | 9982 | kbd_buffer_store_event (&buf); |
| 9727 | } | 9983 | } |
| 9728 | #endif | ||
| 9729 | 9984 | ||
| 9730 | #if USE_CARBON_EVENTS | 9985 | #ifdef MAC_OSX |
| 9731 | static pascal OSStatus | 9986 | OSStatus |
| 9732 | mac_handle_command_event (next_handler, event, data) | 9987 | mac_store_service_event (event) |
| 9733 | EventHandlerCallRef next_handler; | ||
| 9734 | EventRef event; | 9988 | EventRef event; |
| 9735 | void *data; | ||
| 9736 | { | 9989 | { |
| 9737 | OSStatus result, err; | 9990 | OSStatus err; |
| 9738 | HICommand command; | 9991 | Lisp_Object id_key; |
| 9739 | static const EventParamName names[] = | 9992 | int num_params; |
| 9740 | {kEventParamDirectObject, kEventParamKeyModifiers}; | 9993 | const EventParamName *names; |
| 9741 | static const EventParamType types[] = | 9994 | const EventParamType *types; |
| 9742 | {typeHICommand, typeUInt32}; | 9995 | static const EventParamName names_pfm[] = |
| 9743 | int num_params = sizeof (names) / sizeof (names[0]); | 9996 | {kEventParamServiceMessageName, kEventParamServiceUserData}; |
| 9744 | 9997 | static const EventParamType types_pfm[] = | |
| 9745 | result = CallNextEventHandler (next_handler, event); | 9998 | {typeCFStringRef, typeCFStringRef}; |
| 9746 | if (result != eventNotHandledErr) | ||
| 9747 | return result; | ||
| 9748 | 9999 | ||
| 9749 | err = GetEventParameter (event, kEventParamDirectObject, typeHICommand, | 10000 | switch (GetEventKind (event)) |
| 9750 | NULL, sizeof (HICommand), NULL, &command); | 10001 | { |
| 10002 | case kEventServicePaste: | ||
| 10003 | id_key = Qpaste; | ||
| 10004 | num_params = 0; | ||
| 10005 | names = NULL; | ||
| 10006 | types = NULL; | ||
| 10007 | break; | ||
| 9751 | 10008 | ||
| 9752 | if (err != noErr || command.commandID == 0) | 10009 | case kEventServicePerform: |
| 9753 | return eventNotHandledErr; | 10010 | id_key = Qperform; |
| 10011 | num_params = sizeof (names_pfm) / sizeof (names_pfm[0]); | ||
| 10012 | names = names_pfm; | ||
| 10013 | types = types_pfm; | ||
| 10014 | break; | ||
| 9754 | 10015 | ||
| 9755 | /* A HI command event is mapped to an Apple event whose event class | 10016 | default: |
| 9756 | symbol is `hi-command' and event ID is its command ID. */ | 10017 | abort (); |
| 9757 | err = mac_store_event_ref_as_apple_event (0, command.commandID, | 10018 | } |
| 9758 | Qhi_command, Qnil, | ||
| 9759 | event, num_params, names, types); | ||
| 9760 | return err == noErr ? noErr : eventNotHandledErr; | ||
| 9761 | } | ||
| 9762 | 10019 | ||
| 9763 | static OSStatus | 10020 | err = mac_store_event_ref_as_apple_event (0, 0, Qservice, id_key, |
| 9764 | init_command_handler () | 10021 | event, num_params, |
| 9765 | { | 10022 | names, types); |
| 9766 | static const EventTypeSpec specs[] = | ||
| 9767 | {{kEventClassCommand, kEventCommandProcess}}; | ||
| 9768 | static EventHandlerUPP handle_command_eventUPP = NULL; | ||
| 9769 | 10023 | ||
| 9770 | if (handle_command_eventUPP == NULL) | 10024 | return err; |
| 9771 | handle_command_eventUPP = NewEventHandlerUPP (mac_handle_command_event); | ||
| 9772 | return InstallApplicationEventHandler (handle_command_eventUPP, | ||
| 9773 | GetEventTypeCount (specs), specs, | ||
| 9774 | NULL, NULL); | ||
| 9775 | } | 10025 | } |
| 10026 | #endif /* MAC_OSX */ | ||
| 9776 | 10027 | ||
| 9777 | static pascal OSStatus | 10028 | static pascal OSStatus |
| 9778 | mac_handle_window_event (next_handler, event, data) | 10029 | mac_handle_window_event (next_handler, event, data) |
| @@ -9780,47 +10031,78 @@ mac_handle_window_event (next_handler, event, data) | |||
| 9780 | EventRef event; | 10031 | EventRef event; |
| 9781 | void *data; | 10032 | void *data; |
| 9782 | { | 10033 | { |
| 9783 | WindowPtr wp; | 10034 | WindowRef wp; |
| 9784 | OSStatus result, err; | 10035 | OSStatus err, result = eventNotHandledErr; |
| 9785 | struct frame *f; | 10036 | struct frame *f; |
| 9786 | UInt32 attributes; | 10037 | UInt32 attributes; |
| 9787 | XSizeHints *size_hints; | 10038 | XSizeHints *size_hints; |
| 9788 | 10039 | ||
| 9789 | err = GetEventParameter (event, kEventParamDirectObject, typeWindowRef, | 10040 | err = GetEventParameter (event, kEventParamDirectObject, typeWindowRef, |
| 9790 | NULL, sizeof (WindowPtr), NULL, &wp); | 10041 | NULL, sizeof (WindowRef), NULL, &wp); |
| 9791 | if (err != noErr) | 10042 | if (err != noErr) |
| 9792 | return eventNotHandledErr; | 10043 | return eventNotHandledErr; |
| 9793 | 10044 | ||
| 9794 | f = mac_window_to_frame (wp); | 10045 | f = mac_window_to_frame (wp); |
| 9795 | switch (GetEventKind (event)) | 10046 | switch (GetEventKind (event)) |
| 9796 | { | 10047 | { |
| 10048 | /* -- window refresh events -- */ | ||
| 10049 | |||
| 9797 | case kEventWindowUpdate: | 10050 | case kEventWindowUpdate: |
| 9798 | result = CallNextEventHandler (next_handler, event); | 10051 | result = CallNextEventHandler (next_handler, event); |
| 9799 | if (result != eventNotHandledErr) | 10052 | if (result != eventNotHandledErr) |
| 9800 | return result; | 10053 | break; |
| 9801 | 10054 | ||
| 9802 | do_window_update (wp); | 10055 | do_window_update (wp); |
| 9803 | return noErr; | 10056 | result = noErr; |
| 10057 | break; | ||
| 9804 | 10058 | ||
| 9805 | case kEventWindowGetIdealSize: | 10059 | /* -- window state change events -- */ |
| 9806 | result = CallNextEventHandler (next_handler, event); | ||
| 9807 | if (result != eventNotHandledErr) | ||
| 9808 | return result; | ||
| 9809 | 10060 | ||
| 9810 | { | 10061 | case kEventWindowShowing: |
| 9811 | Point ideal_size = mac_get_ideal_size (f); | 10062 | size_hints = FRAME_SIZE_HINTS (f); |
| 10063 | if (!(size_hints->flags & (USPosition | PPosition))) | ||
| 10064 | { | ||
| 10065 | struct frame *sf = SELECTED_FRAME (); | ||
| 9812 | 10066 | ||
| 9813 | err = SetEventParameter (event, kEventParamDimensions, | 10067 | if (!(FRAME_MAC_P (sf))) |
| 9814 | typeQDPoint, sizeof (Point), &ideal_size); | 10068 | RepositionWindow (wp, NULL, kWindowCenterOnMainScreen); |
| 9815 | if (err == noErr) | 10069 | else |
| 9816 | return noErr; | 10070 | { |
| 9817 | } | 10071 | RepositionWindow (wp, FRAME_MAC_WINDOW (sf), |
| 10072 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 10073 | kWindowCascadeStartAtParentWindowScreen | ||
| 10074 | #else | ||
| 10075 | kWindowCascadeOnParentWindowScreen | ||
| 10076 | #endif | ||
| 10077 | ); | ||
| 10078 | } | ||
| 10079 | result = noErr; | ||
| 10080 | } | ||
| 10081 | break; | ||
| 10082 | |||
| 10083 | case kEventWindowHiding: | ||
| 10084 | /* Before unmapping the window, update the WM_SIZE_HINTS | ||
| 10085 | property to claim that the current position of the window is | ||
| 10086 | user-specified, rather than program-specified, so that when | ||
| 10087 | the window is mapped again, it will be placed at the same | ||
| 10088 | location, without forcing the user to position it by hand | ||
| 10089 | again (they have already done that once for this window.) */ | ||
| 10090 | x_wm_set_size_hint (f, (long) 0, 1); | ||
| 10091 | result = noErr; | ||
| 10092 | break; | ||
| 10093 | |||
| 10094 | case kEventWindowShown: | ||
| 10095 | case kEventWindowHidden: | ||
| 10096 | case kEventWindowCollapsed: | ||
| 10097 | case kEventWindowExpanded: | ||
| 10098 | mac_handle_visibility_change (f); | ||
| 10099 | result = noErr; | ||
| 9818 | break; | 10100 | break; |
| 9819 | 10101 | ||
| 9820 | case kEventWindowBoundsChanging: | 10102 | case kEventWindowBoundsChanging: |
| 9821 | result = CallNextEventHandler (next_handler, event); | 10103 | result = CallNextEventHandler (next_handler, event); |
| 9822 | if (result != eventNotHandledErr) | 10104 | if (result != eventNotHandledErr) |
| 9823 | return result; | 10105 | break; |
| 9824 | 10106 | ||
| 9825 | err = GetEventParameter (event, kEventParamAttributes, typeUInt32, | 10107 | err = GetEventParameter (event, kEventParamAttributes, typeUInt32, |
| 9826 | NULL, sizeof (UInt32), NULL, &attributes); | 10108 | NULL, sizeof (UInt32), NULL, &attributes); |
| @@ -9864,7 +10146,7 @@ mac_handle_window_event (next_handler, event, data) | |||
| 9864 | bounds.bottom = bounds.top + height; | 10146 | bounds.bottom = bounds.top + height; |
| 9865 | SetEventParameter (event, kEventParamCurrentBounds, | 10147 | SetEventParameter (event, kEventParamCurrentBounds, |
| 9866 | typeQDRectangle, sizeof (Rect), &bounds); | 10148 | typeQDRectangle, sizeof (Rect), &bounds); |
| 9867 | return noErr; | 10149 | result = noErr; |
| 9868 | } | 10150 | } |
| 9869 | break; | 10151 | break; |
| 9870 | 10152 | ||
| @@ -9895,21 +10177,12 @@ mac_handle_window_event (next_handler, event, data) | |||
| 9895 | if (attributes & kWindowBoundsChangeOriginChanged) | 10177 | if (attributes & kWindowBoundsChangeOriginChanged) |
| 9896 | mac_handle_origin_change (f); | 10178 | mac_handle_origin_change (f); |
| 9897 | 10179 | ||
| 9898 | return noErr; | 10180 | result = noErr; |
| 9899 | |||
| 9900 | case kEventWindowShown: | ||
| 9901 | case kEventWindowHidden: | ||
| 9902 | case kEventWindowExpanded: | ||
| 9903 | case kEventWindowCollapsed: | ||
| 9904 | result = CallNextEventHandler (next_handler, event); | ||
| 9905 | |||
| 9906 | mac_handle_visibility_change (f); | ||
| 9907 | return noErr; | ||
| 9908 | |||
| 9909 | break; | 10181 | break; |
| 9910 | 10182 | ||
| 10183 | /* -- window action events -- */ | ||
| 10184 | |||
| 9911 | case kEventWindowClose: | 10185 | case kEventWindowClose: |
| 9912 | result = CallNextEventHandler (next_handler, event); | ||
| 9913 | { | 10186 | { |
| 9914 | struct input_event buf; | 10187 | struct input_event buf; |
| 9915 | 10188 | ||
| @@ -9919,11 +10192,26 @@ mac_handle_window_event (next_handler, event, data) | |||
| 9919 | buf.arg = Qnil; | 10192 | buf.arg = Qnil; |
| 9920 | kbd_buffer_store_event (&buf); | 10193 | kbd_buffer_store_event (&buf); |
| 9921 | } | 10194 | } |
| 9922 | return noErr; | 10195 | result = noErr; |
| 10196 | break; | ||
| 10197 | |||
| 10198 | case kEventWindowGetIdealSize: | ||
| 10199 | result = CallNextEventHandler (next_handler, event); | ||
| 10200 | if (result != eventNotHandledErr) | ||
| 10201 | break; | ||
| 10202 | |||
| 10203 | { | ||
| 10204 | Point ideal_size = mac_get_ideal_size (f); | ||
| 10205 | |||
| 10206 | err = SetEventParameter (event, kEventParamDimensions, | ||
| 10207 | typeQDPoint, sizeof (Point), &ideal_size); | ||
| 10208 | if (err == noErr) | ||
| 10209 | result = noErr; | ||
| 10210 | } | ||
| 10211 | break; | ||
| 9923 | 10212 | ||
| 9924 | #ifdef MAC_OSX | 10213 | #ifdef MAC_OSX |
| 9925 | case kEventWindowToolbarSwitchMode: | 10214 | case kEventWindowToolbarSwitchMode: |
| 9926 | result = CallNextEventHandler (next_handler, event); | ||
| 9927 | { | 10215 | { |
| 9928 | static const EventParamName names[] = {kEventParamDirectObject, | 10216 | static const EventParamName names[] = {kEventParamDirectObject, |
| 9929 | kEventParamWindowMouseLocation, | 10217 | kEventParamWindowMouseLocation, |
| @@ -9945,23 +10233,195 @@ mac_handle_window_event (next_handler, event, data) | |||
| 9945 | event, num_params, | 10233 | event, num_params, |
| 9946 | names, types); | 10234 | names, types); |
| 9947 | } | 10235 | } |
| 9948 | return err == noErr ? noErr : result; | 10236 | if (err == noErr) |
| 10237 | result = noErr; | ||
| 10238 | break; | ||
| 9949 | #endif | 10239 | #endif |
| 9950 | 10240 | ||
| 9951 | #if USE_MAC_TSM | 10241 | #if USE_MAC_TSM |
| 10242 | /* -- window focus events -- */ | ||
| 10243 | |||
| 9952 | case kEventWindowFocusAcquired: | 10244 | case kEventWindowFocusAcquired: |
| 9953 | result = CallNextEventHandler (next_handler, event); | ||
| 9954 | err = mac_tsm_resume (); | 10245 | err = mac_tsm_resume (); |
| 9955 | return err == noErr ? noErr : result; | 10246 | if (err == noErr) |
| 10247 | result = noErr; | ||
| 10248 | break; | ||
| 9956 | 10249 | ||
| 9957 | case kEventWindowFocusRelinquish: | 10250 | case kEventWindowFocusRelinquish: |
| 9958 | result = CallNextEventHandler (next_handler, event); | ||
| 9959 | err = mac_tsm_suspend (); | 10251 | err = mac_tsm_suspend (); |
| 9960 | return err == noErr ? noErr : result; | 10252 | if (err == noErr) |
| 10253 | result = noErr; | ||
| 10254 | break; | ||
| 10255 | #endif | ||
| 10256 | |||
| 10257 | default: | ||
| 10258 | abort (); | ||
| 10259 | } | ||
| 10260 | |||
| 10261 | return result; | ||
| 10262 | } | ||
| 10263 | |||
| 10264 | static pascal OSStatus | ||
| 10265 | mac_handle_application_event (next_handler, event, data) | ||
| 10266 | EventHandlerCallRef next_handler; | ||
| 10267 | EventRef event; | ||
| 10268 | void *data; | ||
| 10269 | { | ||
| 10270 | OSStatus err, result = eventNotHandledErr; | ||
| 10271 | |||
| 10272 | switch (GetEventKind (event)) | ||
| 10273 | { | ||
| 10274 | #if USE_MAC_TSM | ||
| 10275 | case kEventAppActivated: | ||
| 10276 | err = mac_tsm_resume (); | ||
| 10277 | break; | ||
| 10278 | |||
| 10279 | case kEventAppDeactivated: | ||
| 10280 | err = mac_tsm_suspend (); | ||
| 10281 | break; | ||
| 9961 | #endif | 10282 | #endif |
| 10283 | |||
| 10284 | default: | ||
| 10285 | abort (); | ||
| 9962 | } | 10286 | } |
| 9963 | 10287 | ||
| 9964 | return eventNotHandledErr; | 10288 | if (err == noErr) |
| 10289 | result = noErr; | ||
| 10290 | |||
| 10291 | return result; | ||
| 10292 | } | ||
| 10293 | |||
| 10294 | static pascal OSStatus | ||
| 10295 | mac_handle_keyboard_event (next_handler, event, data) | ||
| 10296 | EventHandlerCallRef next_handler; | ||
| 10297 | EventRef event; | ||
| 10298 | void *data; | ||
| 10299 | { | ||
| 10300 | OSStatus err, result = eventNotHandledErr; | ||
| 10301 | UInt32 event_kind, key_code, modifiers, mapped_modifiers; | ||
| 10302 | unsigned char char_code; | ||
| 10303 | |||
| 10304 | event_kind = GetEventKind (event); | ||
| 10305 | switch (event_kind) | ||
| 10306 | { | ||
| 10307 | case kEventRawKeyDown: | ||
| 10308 | case kEventRawKeyRepeat: | ||
| 10309 | case kEventRawKeyUp: | ||
| 10310 | if (read_socket_inev == NULL) | ||
| 10311 | { | ||
| 10312 | result = CallNextEventHandler (next_handler, event); | ||
| 10313 | break; | ||
| 10314 | } | ||
| 10315 | |||
| 10316 | err = GetEventParameter (event, kEventParamKeyModifiers, | ||
| 10317 | typeUInt32, NULL, | ||
| 10318 | sizeof (UInt32), NULL, &modifiers); | ||
| 10319 | if (err != noErr) | ||
| 10320 | break; | ||
| 10321 | |||
| 10322 | mapped_modifiers = mac_mapped_modifiers (modifiers); | ||
| 10323 | |||
| 10324 | /* When using Carbon Events, we need to pass raw keyboard events | ||
| 10325 | to the TSM ourselves. If TSM handles it, it will pass back | ||
| 10326 | noErr, otherwise it will pass back "eventNotHandledErr" and | ||
| 10327 | we can process it normally. */ | ||
| 10328 | if (!(mapped_modifiers | ||
| 10329 | & ~(mac_pass_command_to_system ? cmdKey : 0) | ||
| 10330 | & ~(mac_pass_control_to_system ? controlKey : 0))) | ||
| 10331 | { | ||
| 10332 | result = CallNextEventHandler (next_handler, event); | ||
| 10333 | if (result != eventNotHandledErr) | ||
| 10334 | break; | ||
| 10335 | } | ||
| 10336 | |||
| 10337 | #if USE_MAC_TSM | ||
| 10338 | if (read_socket_inev->kind != NO_EVENT) | ||
| 10339 | { | ||
| 10340 | result = noErr; | ||
| 10341 | break; | ||
| 10342 | } | ||
| 10343 | #endif | ||
| 10344 | |||
| 10345 | if (event_kind == kEventRawKeyUp) | ||
| 10346 | break; | ||
| 10347 | |||
| 10348 | err = GetEventParameter (event, kEventParamKeyMacCharCodes, | ||
| 10349 | typeChar, NULL, | ||
| 10350 | sizeof (char), NULL, &char_code); | ||
| 10351 | if (err != noErr) | ||
| 10352 | break; | ||
| 10353 | |||
| 10354 | err = GetEventParameter (event, kEventParamKeyCode, | ||
| 10355 | typeUInt32, NULL, | ||
| 10356 | sizeof (UInt32), NULL, &key_code); | ||
| 10357 | if (err != noErr) | ||
| 10358 | break; | ||
| 10359 | |||
| 10360 | do_keystroke ((GetEventKind (event) == kEventRawKeyDown | ||
| 10361 | ? keyDown : autoKey), | ||
| 10362 | char_code, key_code, modifiers, | ||
| 10363 | ((unsigned long) | ||
| 10364 | (GetEventTime (event) / kEventDurationMillisecond)), | ||
| 10365 | read_socket_inev); | ||
| 10366 | result = noErr; | ||
| 10367 | break; | ||
| 10368 | |||
| 10369 | default: | ||
| 10370 | abort (); | ||
| 10371 | } | ||
| 10372 | |||
| 10373 | return result; | ||
| 10374 | } | ||
| 10375 | |||
| 10376 | static pascal OSStatus | ||
| 10377 | mac_handle_command_event (next_handler, event, data) | ||
| 10378 | EventHandlerCallRef next_handler; | ||
| 10379 | EventRef event; | ||
| 10380 | void *data; | ||
| 10381 | { | ||
| 10382 | OSStatus err, result = eventNotHandledErr; | ||
| 10383 | HICommand command; | ||
| 10384 | static const EventParamName names[] = | ||
| 10385 | {kEventParamDirectObject, kEventParamKeyModifiers}; | ||
| 10386 | static const EventParamType types[] = | ||
| 10387 | {typeHICommand, typeUInt32}; | ||
| 10388 | int num_params = sizeof (names) / sizeof (names[0]); | ||
| 10389 | |||
| 10390 | err = GetEventParameter (event, kEventParamDirectObject, typeHICommand, | ||
| 10391 | NULL, sizeof (HICommand), NULL, &command); | ||
| 10392 | if (err != noErr) | ||
| 10393 | return eventNotHandledErr; | ||
| 10394 | |||
| 10395 | switch (GetEventKind (event)) | ||
| 10396 | { | ||
| 10397 | case kEventCommandProcess: | ||
| 10398 | result = CallNextEventHandler (next_handler, event); | ||
| 10399 | if (result != eventNotHandledErr) | ||
| 10400 | break; | ||
| 10401 | |||
| 10402 | err = GetEventParameter (event, kEventParamDirectObject, | ||
| 10403 | typeHICommand, NULL, | ||
| 10404 | sizeof (HICommand), NULL, &command); | ||
| 10405 | |||
| 10406 | if (err != noErr || command.commandID == 0) | ||
| 10407 | break; | ||
| 10408 | |||
| 10409 | /* A HI command event is mapped to an Apple event whose event | ||
| 10410 | class symbol is `hi-command' and event ID is its command | ||
| 10411 | ID. */ | ||
| 10412 | err = mac_store_event_ref_as_apple_event (0, command.commandID, | ||
| 10413 | Qhi_command, Qnil, | ||
| 10414 | event, num_params, | ||
| 10415 | names, types); | ||
| 10416 | if (err == noErr) | ||
| 10417 | result = noErr; | ||
| 10418 | break; | ||
| 10419 | |||
| 10420 | default: | ||
| 10421 | abort (); | ||
| 10422 | } | ||
| 10423 | |||
| 10424 | return result; | ||
| 9965 | } | 10425 | } |
| 9966 | 10426 | ||
| 9967 | static pascal OSStatus | 10427 | static pascal OSStatus |
| @@ -9970,13 +10430,13 @@ mac_handle_mouse_event (next_handler, event, data) | |||
| 9970 | EventRef event; | 10430 | EventRef event; |
| 9971 | void *data; | 10431 | void *data; |
| 9972 | { | 10432 | { |
| 9973 | OSStatus result, err; | 10433 | OSStatus err, result = eventNotHandledErr; |
| 9974 | 10434 | ||
| 9975 | switch (GetEventKind (event)) | 10435 | switch (GetEventKind (event)) |
| 9976 | { | 10436 | { |
| 9977 | case kEventMouseWheelMoved: | 10437 | case kEventMouseWheelMoved: |
| 9978 | { | 10438 | { |
| 9979 | WindowPtr wp; | 10439 | WindowRef wp; |
| 9980 | struct frame *f; | 10440 | struct frame *f; |
| 9981 | EventMouseWheelAxis axis; | 10441 | EventMouseWheelAxis axis; |
| 9982 | SInt32 delta; | 10442 | SInt32 delta; |
| @@ -9984,15 +10444,14 @@ mac_handle_mouse_event (next_handler, event, data) | |||
| 9984 | 10444 | ||
| 9985 | result = CallNextEventHandler (next_handler, event); | 10445 | result = CallNextEventHandler (next_handler, event); |
| 9986 | if (result != eventNotHandledErr || read_socket_inev == NULL) | 10446 | if (result != eventNotHandledErr || read_socket_inev == NULL) |
| 9987 | return result; | 10447 | break; |
| 10448 | |||
| 10449 | f = mac_focus_frame (&one_mac_display_info); | ||
| 9988 | 10450 | ||
| 9989 | err = GetEventParameter (event, kEventParamWindowRef, typeWindowRef, | 10451 | err = GetEventParameter (event, kEventParamWindowRef, typeWindowRef, |
| 9990 | NULL, sizeof (WindowRef), NULL, &wp); | 10452 | NULL, sizeof (WindowRef), NULL, &wp); |
| 9991 | if (err != noErr) | 10453 | if (err != noErr |
| 9992 | break; | 10454 | || wp != FRAME_MAC_WINDOW (f)) |
| 9993 | |||
| 9994 | f = mac_window_to_frame (wp); | ||
| 9995 | if (f != mac_focus_frame (&one_mac_display_info)) | ||
| 9996 | break; | 10455 | break; |
| 9997 | 10456 | ||
| 9998 | err = GetEventParameter (event, kEventParamMouseWheelAxis, | 10457 | err = GetEventParameter (event, kEventParamMouseWheelAxis, |
| @@ -10007,8 +10466,8 @@ mac_handle_mouse_event (next_handler, event, data) | |||
| 10007 | if (err != noErr) | 10466 | if (err != noErr) |
| 10008 | break; | 10467 | break; |
| 10009 | 10468 | ||
| 10010 | SetPortWindowPort (wp); | 10469 | point.h -= f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f); |
| 10011 | GlobalToLocal (&point); | 10470 | point.v -= f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f); |
| 10012 | if (point.h < 0 || point.v < 0 | 10471 | if (point.h < 0 || point.v < 0 |
| 10013 | || EQ (window_from_coordinates (f, point.h, point.v, 0, 0, 0, 1), | 10472 | || EQ (window_from_coordinates (f, point.h, point.v, 0, 0, 0, 1), |
| 10014 | f->tool_bar_window)) | 10473 | f->tool_bar_window)) |
| @@ -10029,68 +10488,16 @@ mac_handle_mouse_event (next_handler, event, data) | |||
| 10029 | XSETINT (read_socket_inev->y, point.v); | 10488 | XSETINT (read_socket_inev->y, point.v); |
| 10030 | XSETFRAME (read_socket_inev->frame_or_window, f); | 10489 | XSETFRAME (read_socket_inev->frame_or_window, f); |
| 10031 | 10490 | ||
| 10032 | return noErr; | 10491 | result = noErr; |
| 10033 | } | 10492 | } |
| 10034 | break; | 10493 | break; |
| 10035 | 10494 | ||
| 10036 | default: | 10495 | default: |
| 10037 | break; | 10496 | abort (); |
| 10038 | } | ||
| 10039 | |||
| 10040 | return eventNotHandledErr; | ||
| 10041 | } | ||
| 10042 | |||
| 10043 | #if USE_MAC_FONT_PANEL | ||
| 10044 | static pascal OSStatus | ||
| 10045 | mac_handle_font_event (next_handler, event, data) | ||
| 10046 | EventHandlerCallRef next_handler; | ||
| 10047 | EventRef event; | ||
| 10048 | void *data; | ||
| 10049 | { | ||
| 10050 | OSStatus result, err; | ||
| 10051 | Lisp_Object id_key; | ||
| 10052 | int num_params; | ||
| 10053 | const EventParamName *names; | ||
| 10054 | const EventParamType *types; | ||
| 10055 | static const EventParamName names_sel[] = {kEventParamATSUFontID, | ||
| 10056 | kEventParamATSUFontSize, | ||
| 10057 | kEventParamFMFontFamily, | ||
| 10058 | kEventParamFMFontSize, | ||
| 10059 | kEventParamFontColor}; | ||
| 10060 | static const EventParamType types_sel[] = {typeATSUFontID, | ||
| 10061 | typeATSUSize, | ||
| 10062 | typeFMFontFamily, | ||
| 10063 | typeFMFontSize, | ||
| 10064 | typeFontColor}; | ||
| 10065 | |||
| 10066 | result = CallNextEventHandler (next_handler, event); | ||
| 10067 | if (result != eventNotHandledErr) | ||
| 10068 | return result; | ||
| 10069 | |||
| 10070 | switch (GetEventKind (event)) | ||
| 10071 | { | ||
| 10072 | case kEventFontPanelClosed: | ||
| 10073 | id_key = Qpanel_closed; | ||
| 10074 | num_params = 0; | ||
| 10075 | names = NULL; | ||
| 10076 | types = NULL; | ||
| 10077 | break; | ||
| 10078 | |||
| 10079 | case kEventFontSelection: | ||
| 10080 | id_key = Qselection; | ||
| 10081 | num_params = sizeof (names_sel) / sizeof (names_sel[0]); | ||
| 10082 | names = names_sel; | ||
| 10083 | types = types_sel; | ||
| 10084 | break; | ||
| 10085 | } | 10497 | } |
| 10086 | 10498 | ||
| 10087 | err = mac_store_event_ref_as_apple_event (0, 0, Qfont, id_key, | 10499 | return result; |
| 10088 | event, num_params, | ||
| 10089 | names, types); | ||
| 10090 | |||
| 10091 | return err == noErr ? noErr : eventNotHandledErr; | ||
| 10092 | } | 10500 | } |
| 10093 | #endif | ||
| 10094 | 10501 | ||
| 10095 | #if USE_MAC_TSM | 10502 | #if USE_MAC_TSM |
| 10096 | static pascal OSStatus | 10503 | static pascal OSStatus |
| @@ -10147,6 +10554,8 @@ mac_handle_text_input_event (next_handler, event, data) | |||
| 10147 | typeUnicodeText}; | 10554 | typeUnicodeText}; |
| 10148 | 10555 | ||
| 10149 | result = CallNextEventHandler (next_handler, event); | 10556 | result = CallNextEventHandler (next_handler, event); |
| 10557 | if (result != eventNotHandledErr) | ||
| 10558 | return result; | ||
| 10150 | 10559 | ||
| 10151 | switch (GetEventKind (event)) | 10560 | switch (GetEventKind (event)) |
| 10152 | { | 10561 | { |
| @@ -10174,7 +10583,7 @@ mac_handle_text_input_event (next_handler, event, data) | |||
| 10174 | sizeof (UInt32), NULL, &modifiers); | 10583 | sizeof (UInt32), NULL, &modifiers); |
| 10175 | if (err == noErr && mac_mapped_modifiers (modifiers)) | 10584 | if (err == noErr && mac_mapped_modifiers (modifiers)) |
| 10176 | /* There're mapped modifier keys. Process it in | 10585 | /* There're mapped modifier keys. Process it in |
| 10177 | XTread_socket. */ | 10586 | do_keystroke. */ |
| 10178 | return eventNotHandledErr; | 10587 | return eventNotHandledErr; |
| 10179 | if (err == noErr) | 10588 | if (err == noErr) |
| 10180 | err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, | 10589 | err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, |
| @@ -10189,7 +10598,7 @@ mac_handle_text_input_event (next_handler, event, data) | |||
| 10189 | sizeof (UniChar), NULL, &code); | 10598 | sizeof (UniChar), NULL, &code); |
| 10190 | if (err == noErr && code < 0x80) | 10599 | if (err == noErr && code < 0x80) |
| 10191 | { | 10600 | { |
| 10192 | /* ASCII character. Process it in XTread_socket. */ | 10601 | /* ASCII character. Process it in do_keystroke. */ |
| 10193 | if (read_socket_inev && code >= 0x20 && code <= 0x7e) | 10602 | if (read_socket_inev && code >= 0x20 && code <= 0x7e) |
| 10194 | { | 10603 | { |
| 10195 | UInt32 key_code; | 10604 | UInt32 key_code; |
| @@ -10251,11 +10660,11 @@ mac_handle_text_input_event (next_handler, event, data) | |||
| 10251 | } | 10660 | } |
| 10252 | 10661 | ||
| 10253 | p.h = (WINDOW_TO_FRAME_PIXEL_X (w, w->cursor.x) | 10662 | p.h = (WINDOW_TO_FRAME_PIXEL_X (w, w->cursor.x) |
| 10254 | + WINDOW_LEFT_FRINGE_WIDTH (w)); | 10663 | + WINDOW_LEFT_FRINGE_WIDTH (w) |
| 10664 | + f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f)); | ||
| 10255 | p.v = (WINDOW_TO_FRAME_PIXEL_Y (w, w->cursor.y) | 10665 | p.v = (WINDOW_TO_FRAME_PIXEL_Y (w, w->cursor.y) |
| 10256 | + FONT_BASE (FRAME_FONT (f))); | 10666 | + FONT_BASE (FRAME_FONT (f)) |
| 10257 | SetPortWindowPort (FRAME_MAC_WINDOW (f)); | 10667 | + f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f)); |
| 10258 | LocalToGlobal (&p); | ||
| 10259 | err = SetEventParameter (event, kEventParamTextInputReplyPoint, | 10668 | err = SetEventParameter (event, kEventParamTextInputReplyPoint, |
| 10260 | typeQDPoint, sizeof (typeQDPoint), &p); | 10669 | typeQDPoint, sizeof (typeQDPoint), &p); |
| 10261 | } | 10670 | } |
| @@ -10269,146 +10678,155 @@ mac_handle_text_input_event (next_handler, event, data) | |||
| 10269 | err = mac_store_event_ref_as_apple_event (0, 0, Qtext_input, id_key, | 10678 | err = mac_store_event_ref_as_apple_event (0, 0, Qtext_input, id_key, |
| 10270 | event, num_params, | 10679 | event, num_params, |
| 10271 | names, types); | 10680 | names, types); |
| 10681 | if (err == noErr) | ||
| 10682 | result = noErr; | ||
| 10272 | 10683 | ||
| 10273 | return err == noErr ? noErr : result; | 10684 | return result; |
| 10274 | } | 10685 | } |
| 10275 | #endif | 10686 | #endif |
| 10687 | #endif /* TARGET_API_MAC_CARBON */ | ||
| 10688 | |||
| 10276 | 10689 | ||
| 10277 | #ifdef MAC_OSX | ||
| 10278 | OSStatus | 10690 | OSStatus |
| 10279 | mac_store_service_event (event) | 10691 | install_window_handler (window) |
| 10280 | EventRef event; | 10692 | WindowRef window; |
| 10281 | { | 10693 | { |
| 10282 | OSStatus err; | 10694 | OSStatus err = noErr; |
| 10283 | Lisp_Object id_key; | ||
| 10284 | int num_params; | ||
| 10285 | const EventParamName *names; | ||
| 10286 | const EventParamType *types; | ||
| 10287 | static const EventParamName names_pfm[] = | ||
| 10288 | {kEventParamServiceMessageName, kEventParamServiceUserData}; | ||
| 10289 | static const EventParamType types_pfm[] = | ||
| 10290 | {typeCFStringRef, typeCFStringRef}; | ||
| 10291 | 10695 | ||
| 10292 | switch (GetEventKind (event)) | 10696 | #if TARGET_API_MAC_CARBON |
| 10697 | if (err == noErr) | ||
| 10293 | { | 10698 | { |
| 10294 | case kEventServicePaste: | 10699 | static const EventTypeSpec specs[] = |
| 10295 | id_key = Qpaste; | 10700 | { |
| 10296 | num_params = 0; | 10701 | /* -- window refresh events -- */ |
| 10297 | names = NULL; | 10702 | {kEventClassWindow, kEventWindowUpdate}, |
| 10298 | types = NULL; | 10703 | /* -- window state change events -- */ |
| 10299 | break; | 10704 | {kEventClassWindow, kEventWindowShowing}, |
| 10705 | {kEventClassWindow, kEventWindowHiding}, | ||
| 10706 | {kEventClassWindow, kEventWindowShown}, | ||
| 10707 | {kEventClassWindow, kEventWindowHidden}, | ||
| 10708 | {kEventClassWindow, kEventWindowCollapsed}, | ||
| 10709 | {kEventClassWindow, kEventWindowExpanded}, | ||
| 10710 | {kEventClassWindow, kEventWindowBoundsChanging}, | ||
| 10711 | {kEventClassWindow, kEventWindowBoundsChanged}, | ||
| 10712 | /* -- window action events -- */ | ||
| 10713 | {kEventClassWindow, kEventWindowClose}, | ||
| 10714 | {kEventClassWindow, kEventWindowGetIdealSize}, | ||
| 10715 | #ifdef MAC_OSX | ||
| 10716 | {kEventClassWindow, kEventWindowToolbarSwitchMode}, | ||
| 10717 | #endif | ||
| 10718 | #if USE_MAC_TSM | ||
| 10719 | /* -- window focus events -- */ | ||
| 10720 | {kEventClassWindow, kEventWindowFocusAcquired}, | ||
| 10721 | {kEventClassWindow, kEventWindowFocusRelinquish}, | ||
| 10722 | #endif | ||
| 10723 | }; | ||
| 10724 | static EventHandlerUPP handle_window_eventUPP = NULL; | ||
| 10300 | 10725 | ||
| 10301 | case kEventServicePerform: | 10726 | if (handle_window_eventUPP == NULL) |
| 10302 | id_key = Qperform; | 10727 | handle_window_eventUPP = NewEventHandlerUPP (mac_handle_window_event); |
| 10303 | num_params = sizeof (names_pfm) / sizeof (names_pfm[0]); | ||
| 10304 | names = names_pfm; | ||
| 10305 | types = types_pfm; | ||
| 10306 | break; | ||
| 10307 | 10728 | ||
| 10308 | default: | 10729 | err = InstallWindowEventHandler (window, handle_window_eventUPP, |
| 10309 | abort (); | 10730 | GetEventTypeCount (specs), |
| 10731 | specs, NULL, NULL); | ||
| 10310 | } | 10732 | } |
| 10733 | #endif | ||
| 10311 | 10734 | ||
| 10312 | err = mac_store_event_ref_as_apple_event (0, 0, Qservice, id_key, | 10735 | if (err == noErr) |
| 10313 | event, num_params, | 10736 | err = install_drag_handler (window); |
| 10314 | names, types); | ||
| 10315 | 10737 | ||
| 10316 | return err; | 10738 | return err; |
| 10317 | } | 10739 | } |
| 10318 | #endif /* MAC_OSX */ | ||
| 10319 | #endif /* USE_CARBON_EVENTS */ | ||
| 10320 | 10740 | ||
| 10741 | void | ||
| 10742 | remove_window_handler (window) | ||
| 10743 | WindowRef window; | ||
| 10744 | { | ||
| 10745 | remove_drag_handler (window); | ||
| 10746 | } | ||
| 10321 | 10747 | ||
| 10322 | OSStatus | 10748 | #if TARGET_API_MAC_CARBON |
| 10323 | install_window_handler (window) | 10749 | static OSStatus |
| 10324 | WindowPtr window; | 10750 | install_application_handler () |
| 10325 | { | 10751 | { |
| 10326 | OSStatus err = noErr; | 10752 | OSStatus err = noErr; |
| 10327 | #if USE_CARBON_EVENTS | ||
| 10328 | static const EventTypeSpec specs_window[] = | ||
| 10329 | {{kEventClassWindow, kEventWindowUpdate}, | ||
| 10330 | {kEventClassWindow, kEventWindowGetIdealSize}, | ||
| 10331 | {kEventClassWindow, kEventWindowBoundsChanging}, | ||
| 10332 | {kEventClassWindow, kEventWindowBoundsChanged}, | ||
| 10333 | {kEventClassWindow, kEventWindowShown}, | ||
| 10334 | {kEventClassWindow, kEventWindowHidden}, | ||
| 10335 | {kEventClassWindow, kEventWindowExpanded}, | ||
| 10336 | {kEventClassWindow, kEventWindowCollapsed}, | ||
| 10337 | {kEventClassWindow, kEventWindowClose}, | ||
| 10338 | #ifdef MAC_OSX | ||
| 10339 | {kEventClassWindow, kEventWindowToolbarSwitchMode}, | ||
| 10340 | #endif | ||
| 10341 | #if USE_MAC_TSM | ||
| 10342 | {kEventClassWindow, kEventWindowFocusAcquired}, | ||
| 10343 | {kEventClassWindow, kEventWindowFocusRelinquish}, | ||
| 10344 | #endif | ||
| 10345 | }; | ||
| 10346 | static const EventTypeSpec specs_mouse[] = | ||
| 10347 | {{kEventClassMouse, kEventMouseWheelMoved}}; | ||
| 10348 | static EventHandlerUPP handle_window_eventUPP = NULL; | ||
| 10349 | static EventHandlerUPP handle_mouse_eventUPP = NULL; | ||
| 10350 | #if USE_MAC_FONT_PANEL | ||
| 10351 | static const EventTypeSpec specs_font[] = | ||
| 10352 | {{kEventClassFont, kEventFontPanelClosed}, | ||
| 10353 | {kEventClassFont, kEventFontSelection}}; | ||
| 10354 | static EventHandlerUPP handle_font_eventUPP = NULL; | ||
| 10355 | #endif | ||
| 10356 | #if USE_MAC_TSM | ||
| 10357 | static const EventTypeSpec specs_text_input[] = | ||
| 10358 | {{kEventClassTextInput, kEventTextInputUpdateActiveInputArea}, | ||
| 10359 | {kEventClassTextInput, kEventTextInputUnicodeForKeyEvent}, | ||
| 10360 | {kEventClassTextInput, kEventTextInputOffsetToPos}}; | ||
| 10361 | static EventHandlerUPP handle_text_input_eventUPP = NULL; | ||
| 10362 | #endif | ||
| 10363 | 10753 | ||
| 10364 | if (handle_window_eventUPP == NULL) | 10754 | if (err == noErr) |
| 10365 | handle_window_eventUPP = NewEventHandlerUPP (mac_handle_window_event); | 10755 | { |
| 10366 | if (handle_mouse_eventUPP == NULL) | 10756 | static const EventTypeSpec specs[] = { |
| 10367 | handle_mouse_eventUPP = NewEventHandlerUPP (mac_handle_mouse_event); | ||
| 10368 | #if USE_MAC_FONT_PANEL | ||
| 10369 | if (handle_font_eventUPP == NULL) | ||
| 10370 | handle_font_eventUPP = NewEventHandlerUPP (mac_handle_font_event); | ||
| 10371 | #endif | ||
| 10372 | #if USE_MAC_TSM | 10757 | #if USE_MAC_TSM |
| 10373 | if (handle_text_input_eventUPP == NULL) | 10758 | {kEventClassApplication, kEventAppActivated}, |
| 10374 | handle_text_input_eventUPP = | 10759 | {kEventClassApplication, kEventAppDeactivated}, |
| 10375 | NewEventHandlerUPP (mac_handle_text_input_event); | ||
| 10376 | #endif | 10760 | #endif |
| 10377 | err = InstallWindowEventHandler (window, handle_window_eventUPP, | 10761 | }; |
| 10378 | GetEventTypeCount (specs_window), | 10762 | |
| 10379 | specs_window, NULL, NULL); | 10763 | err = InstallApplicationEventHandler (NewEventHandlerUPP |
| 10764 | (mac_handle_application_event), | ||
| 10765 | GetEventTypeCount (specs), | ||
| 10766 | specs, NULL, NULL); | ||
| 10767 | } | ||
| 10768 | |||
| 10380 | if (err == noErr) | 10769 | if (err == noErr) |
| 10381 | err = InstallWindowEventHandler (window, handle_mouse_eventUPP, | 10770 | { |
| 10382 | GetEventTypeCount (specs_mouse), | 10771 | static const EventTypeSpec specs[] = |
| 10383 | specs_mouse, NULL, NULL); | 10772 | {{kEventClassKeyboard, kEventRawKeyDown}, |
| 10384 | #if USE_MAC_FONT_PANEL | 10773 | {kEventClassKeyboard, kEventRawKeyRepeat}, |
| 10774 | {kEventClassKeyboard, kEventRawKeyUp}}; | ||
| 10775 | |||
| 10776 | err = InstallApplicationEventHandler (NewEventHandlerUPP | ||
| 10777 | (mac_handle_keyboard_event), | ||
| 10778 | GetEventTypeCount (specs), | ||
| 10779 | specs, NULL, NULL); | ||
| 10780 | } | ||
| 10781 | |||
| 10385 | if (err == noErr) | 10782 | if (err == noErr) |
| 10386 | err = InstallWindowEventHandler (window, handle_font_eventUPP, | 10783 | { |
| 10387 | GetEventTypeCount (specs_font), | 10784 | static const EventTypeSpec specs[] = |
| 10388 | specs_font, NULL, NULL); | 10785 | {{kEventClassCommand, kEventCommandProcess}}; |
| 10389 | #endif | 10786 | |
| 10787 | err = InstallApplicationEventHandler (NewEventHandlerUPP | ||
| 10788 | (mac_handle_command_event), | ||
| 10789 | GetEventTypeCount (specs), | ||
| 10790 | specs, NULL, NULL); | ||
| 10791 | } | ||
| 10792 | |||
| 10793 | if (err == noErr) | ||
| 10794 | { | ||
| 10795 | static const EventTypeSpec specs[] = | ||
| 10796 | {{kEventClassMouse, kEventMouseWheelMoved}}; | ||
| 10797 | |||
| 10798 | err = InstallApplicationEventHandler (NewEventHandlerUPP | ||
| 10799 | (mac_handle_mouse_event), | ||
| 10800 | GetEventTypeCount (specs), | ||
| 10801 | specs, NULL, NULL); | ||
| 10802 | } | ||
| 10803 | |||
| 10390 | #if USE_MAC_TSM | 10804 | #if USE_MAC_TSM |
| 10391 | if (err == noErr) | 10805 | if (err == noErr) |
| 10392 | err = InstallWindowEventHandler (window, handle_text_input_eventUPP, | 10806 | { |
| 10393 | GetEventTypeCount (specs_text_input), | 10807 | static const EventTypeSpec spec[] = |
| 10394 | specs_text_input, window, NULL); | 10808 | {{kEventClassTextInput, kEventTextInputUpdateActiveInputArea}, |
| 10395 | #endif | 10809 | {kEventClassTextInput, kEventTextInputUnicodeForKeyEvent}, |
| 10810 | {kEventClassTextInput, kEventTextInputOffsetToPos}}; | ||
| 10811 | |||
| 10812 | err = InstallApplicationEventHandler (NewEventHandlerUPP | ||
| 10813 | (mac_handle_text_input_event), | ||
| 10814 | GetEventTypeCount (spec), | ||
| 10815 | spec, NULL, NULL); | ||
| 10816 | } | ||
| 10396 | #endif | 10817 | #endif |
| 10818 | |||
| 10397 | if (err == noErr) | 10819 | if (err == noErr) |
| 10398 | err = install_drag_handler (window); | 10820 | err = install_menu_target_item_handler (); |
| 10821 | |||
| 10822 | #ifdef MAC_OSX | ||
| 10399 | if (err == noErr) | 10823 | if (err == noErr) |
| 10400 | err = install_menu_target_item_handler (window); | 10824 | err = install_service_handler (); |
| 10825 | #endif | ||
| 10401 | 10826 | ||
| 10402 | return err; | 10827 | return err; |
| 10403 | } | 10828 | } |
| 10404 | 10829 | #endif | |
| 10405 | void | ||
| 10406 | remove_window_handler (window) | ||
| 10407 | WindowPtr window; | ||
| 10408 | { | ||
| 10409 | remove_drag_handler (window); | ||
| 10410 | } | ||
| 10411 | |||
| 10412 | 10830 | ||
| 10413 | static pascal void | 10831 | static pascal void |
| 10414 | mac_handle_dm_notification (event) | 10832 | mac_handle_dm_notification (event) |
| @@ -10417,20 +10835,48 @@ mac_handle_dm_notification (event) | |||
| 10417 | mac_screen_config_changed = 1; | 10835 | mac_screen_config_changed = 1; |
| 10418 | } | 10836 | } |
| 10419 | 10837 | ||
| 10838 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 | ||
| 10839 | static void | ||
| 10840 | mac_handle_cg_display_reconfig (display, flags, user_info) | ||
| 10841 | CGDirectDisplayID display; | ||
| 10842 | CGDisplayChangeSummaryFlags flags; | ||
| 10843 | void *user_info; | ||
| 10844 | { | ||
| 10845 | mac_screen_config_changed = 1; | ||
| 10846 | } | ||
| 10847 | #endif | ||
| 10848 | |||
| 10420 | static OSErr | 10849 | static OSErr |
| 10421 | init_dm_notification_handler () | 10850 | init_dm_notification_handler () |
| 10422 | { | 10851 | { |
| 10423 | OSErr err; | 10852 | OSErr err = noErr; |
| 10424 | static DMNotificationUPP handle_dm_notificationUPP = NULL; | ||
| 10425 | ProcessSerialNumber psn; | ||
| 10426 | 10853 | ||
| 10427 | if (handle_dm_notificationUPP == NULL) | 10854 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
| 10428 | handle_dm_notificationUPP = | 10855 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
| 10429 | NewDMNotificationUPP (mac_handle_dm_notification); | 10856 | if (CGDisplayRegisterReconfigurationCallback != NULL) |
| 10857 | #endif | ||
| 10858 | { | ||
| 10859 | CGDisplayRegisterReconfigurationCallback (mac_handle_cg_display_reconfig, | ||
| 10860 | NULL); | ||
| 10861 | } | ||
| 10862 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | ||
| 10863 | else /* CGDisplayRegisterReconfigurationCallback == NULL */ | ||
| 10864 | #endif | ||
| 10865 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ | ||
| 10866 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | ||
| 10867 | { | ||
| 10868 | static DMNotificationUPP handle_dm_notificationUPP = NULL; | ||
| 10869 | ProcessSerialNumber psn; | ||
| 10430 | 10870 | ||
| 10431 | err = GetCurrentProcess (&psn); | 10871 | if (handle_dm_notificationUPP == NULL) |
| 10432 | if (err == noErr) | 10872 | handle_dm_notificationUPP = |
| 10433 | err = DMRegisterNotifyProc (handle_dm_notificationUPP, &psn); | 10873 | NewDMNotificationUPP (mac_handle_dm_notification); |
| 10874 | |||
| 10875 | err = GetCurrentProcess (&psn); | ||
| 10876 | if (err == noErr) | ||
| 10877 | err = DMRegisterNotifyProc (handle_dm_notificationUPP, &psn); | ||
| 10878 | } | ||
| 10879 | #endif | ||
| 10434 | 10880 | ||
| 10435 | return err; | 10881 | return err; |
| 10436 | } | 10882 | } |
| @@ -10575,7 +11021,7 @@ main (void) | |||
| 10575 | } | 11021 | } |
| 10576 | #endif | 11022 | #endif |
| 10577 | 11023 | ||
| 10578 | #if !USE_CARBON_EVENTS | 11024 | #if !TARGET_API_MAC_CARBON |
| 10579 | static RgnHandle mouse_region = NULL; | 11025 | static RgnHandle mouse_region = NULL; |
| 10580 | 11026 | ||
| 10581 | Boolean | 11027 | Boolean |
| @@ -10612,7 +11058,7 @@ mac_wait_next_event (er, sleep_time, dequeue) | |||
| 10612 | er_buf.what = nullEvent; | 11058 | er_buf.what = nullEvent; |
| 10613 | return true; | 11059 | return true; |
| 10614 | } | 11060 | } |
| 10615 | #endif /* not USE_CARBON_EVENTS */ | 11061 | #endif /* not TARGET_API_MAC_CARBON */ |
| 10616 | 11062 | ||
| 10617 | #if TARGET_API_MAC_CARBON | 11063 | #if TARGET_API_MAC_CARBON |
| 10618 | OSStatus | 11064 | OSStatus |
| @@ -10646,44 +11092,6 @@ mac_post_mouse_moved_event () | |||
| 10646 | 11092 | ||
| 10647 | return err; | 11093 | return err; |
| 10648 | } | 11094 | } |
| 10649 | |||
| 10650 | static void | ||
| 10651 | mac_set_unicode_keystroke_event (code, buf) | ||
| 10652 | UniChar code; | ||
| 10653 | struct input_event *buf; | ||
| 10654 | { | ||
| 10655 | int charset_id, c1, c2; | ||
| 10656 | |||
| 10657 | if (code < 0x80) | ||
| 10658 | { | ||
| 10659 | buf->kind = ASCII_KEYSTROKE_EVENT; | ||
| 10660 | buf->code = code; | ||
| 10661 | } | ||
| 10662 | else if (code < 0x100) | ||
| 10663 | { | ||
| 10664 | if (code < 0xA0) | ||
| 10665 | charset_id = CHARSET_8_BIT_CONTROL; | ||
| 10666 | else | ||
| 10667 | charset_id = charset_latin_iso8859_1; | ||
| 10668 | buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; | ||
| 10669 | buf->code = MAKE_CHAR (charset_id, code, 0); | ||
| 10670 | } | ||
| 10671 | else | ||
| 10672 | { | ||
| 10673 | if (code < 0x2500) | ||
| 10674 | charset_id = charset_mule_unicode_0100_24ff, | ||
| 10675 | code -= 0x100; | ||
| 10676 | else if (code < 0x33FF) | ||
| 10677 | charset_id = charset_mule_unicode_2500_33ff, | ||
| 10678 | code -= 0x2500; | ||
| 10679 | else if (code >= 0xE000) | ||
| 10680 | charset_id = charset_mule_unicode_e000_ffff, | ||
| 10681 | code -= 0xE000; | ||
| 10682 | c1 = (code / 96) + 32, c2 = (code % 96) + 32; | ||
| 10683 | buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; | ||
| 10684 | buf->code = MAKE_CHAR (charset_id, c1, c2); | ||
| 10685 | } | ||
| 10686 | } | ||
| 10687 | #endif | 11095 | #endif |
| 10688 | 11096 | ||
| 10689 | /* Emacs calls this whenever it wants to read an input event from the | 11097 | /* Emacs calls this whenever it wants to read an input event from the |
| @@ -10695,7 +11103,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10695 | { | 11103 | { |
| 10696 | struct input_event inev; | 11104 | struct input_event inev; |
| 10697 | int count = 0; | 11105 | int count = 0; |
| 10698 | #if USE_CARBON_EVENTS | 11106 | #if TARGET_API_MAC_CARBON |
| 10699 | EventRef eventRef; | 11107 | EventRef eventRef; |
| 10700 | EventTargetRef toolbox_dispatcher; | 11108 | EventTargetRef toolbox_dispatcher; |
| 10701 | #endif | 11109 | #endif |
| @@ -10716,7 +11124,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10716 | 11124 | ||
| 10717 | ++handling_signal; | 11125 | ++handling_signal; |
| 10718 | 11126 | ||
| 10719 | #if USE_CARBON_EVENTS | 11127 | #if TARGET_API_MAC_CARBON |
| 10720 | toolbox_dispatcher = GetEventDispatcherTarget (); | 11128 | toolbox_dispatcher = GetEventDispatcherTarget (); |
| 10721 | 11129 | ||
| 10722 | while ( | 11130 | while ( |
| @@ -10725,9 +11133,9 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10725 | #endif | 11133 | #endif |
| 10726 | !ReceiveNextEvent (0, NULL, kEventDurationNoWait, | 11134 | !ReceiveNextEvent (0, NULL, kEventDurationNoWait, |
| 10727 | kEventRemoveFromQueue, &eventRef)) | 11135 | kEventRemoveFromQueue, &eventRef)) |
| 10728 | #else /* !USE_CARBON_EVENTS */ | 11136 | #else /* !TARGET_API_MAC_CARBON */ |
| 10729 | while (mac_wait_next_event (&er, 0, true)) | 11137 | while (mac_wait_next_event (&er, 0, true)) |
| 10730 | #endif /* !USE_CARBON_EVENTS */ | 11138 | #endif /* !TARGET_API_MAC_CARBON */ |
| 10731 | { | 11139 | { |
| 10732 | int do_help = 0; | 11140 | int do_help = 0; |
| 10733 | struct frame *f; | 11141 | struct frame *f; |
| @@ -10737,44 +11145,33 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10737 | inev.kind = NO_EVENT; | 11145 | inev.kind = NO_EVENT; |
| 10738 | inev.arg = Qnil; | 11146 | inev.arg = Qnil; |
| 10739 | 11147 | ||
| 10740 | #if USE_CARBON_EVENTS | 11148 | #if TARGET_API_MAC_CARBON |
| 10741 | timestamp = GetEventTime (eventRef) / kEventDurationMillisecond; | 11149 | timestamp = GetEventTime (eventRef) / kEventDurationMillisecond; |
| 10742 | #else | ||
| 10743 | timestamp = er.when * (1000 / 60); /* ticks to milliseconds */ | ||
| 10744 | #endif | ||
| 10745 | 11150 | ||
| 10746 | #if USE_CARBON_EVENTS | ||
| 10747 | /* Handle new events */ | ||
| 10748 | if (!mac_convert_event_ref (eventRef, &er)) | 11151 | if (!mac_convert_event_ref (eventRef, &er)) |
| 10749 | { | 11152 | goto OTHER; |
| 10750 | /* There used to be a handler for the kEventMouseWheelMoved | 11153 | #else /* !TARGET_API_MAC_CARBON */ |
| 10751 | event here. But as of Mac OS X 10.4, this kind of event | 11154 | timestamp = er.when * (1000 / 60); /* ticks to milliseconds */ |
| 10752 | is not directly posted to the main event queue by | 11155 | #endif /* !TARGET_API_MAC_CARBON */ |
| 10753 | two-finger scrolling on the trackpad. Instead, some | 11156 | |
| 10754 | private event is posted and it is converted to a wheel | ||
| 10755 | event by the default handler for the application target. | ||
| 10756 | The converted one can be received by a Carbon event | ||
| 10757 | handler installed on a window target. */ | ||
| 10758 | read_socket_inev = &inev; | ||
| 10759 | SendEventToEventTarget (eventRef, toolbox_dispatcher); | ||
| 10760 | read_socket_inev = NULL; | ||
| 10761 | } | ||
| 10762 | else | ||
| 10763 | #endif /* USE_CARBON_EVENTS */ | ||
| 10764 | switch (er.what) | 11157 | switch (er.what) |
| 10765 | { | 11158 | { |
| 10766 | case mouseDown: | 11159 | case mouseDown: |
| 10767 | case mouseUp: | 11160 | case mouseUp: |
| 10768 | { | 11161 | { |
| 10769 | WindowPtr window_ptr; | 11162 | WindowRef window_ptr; |
| 10770 | ControlPartCode part_code; | 11163 | ControlPartCode part_code; |
| 10771 | int tool_bar_p = 0; | 11164 | int tool_bar_p = 0; |
| 10772 | 11165 | ||
| 10773 | #if USE_CARBON_EVENTS | 11166 | #if TARGET_API_MAC_CARBON |
| 11167 | OSStatus err; | ||
| 11168 | |||
| 10774 | /* This is needed to send mouse events like aqua window | 11169 | /* This is needed to send mouse events like aqua window |
| 10775 | buttons to the correct handler. */ | 11170 | buttons to the correct handler. */ |
| 10776 | if (SendEventToEventTarget (eventRef, toolbox_dispatcher) | 11171 | read_socket_inev = &inev; |
| 10777 | != eventNotHandledErr) | 11172 | err = SendEventToEventTarget (eventRef, toolbox_dispatcher); |
| 11173 | read_socket_inev = NULL; | ||
| 11174 | if (err != eventNotHandledErr) | ||
| 10778 | break; | 11175 | break; |
| 10779 | #endif | 11176 | #endif |
| 10780 | last_mouse_glyph_frame = 0; | 11177 | last_mouse_glyph_frame = 0; |
| @@ -10822,17 +11219,20 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10822 | else | 11219 | else |
| 10823 | { | 11220 | { |
| 10824 | ControlPartCode control_part_code; | 11221 | ControlPartCode control_part_code; |
| 10825 | ControlHandle ch; | 11222 | ControlRef ch; |
| 10826 | Point mouse_loc = er.where; | 11223 | Point mouse_loc; |
| 10827 | #ifdef MAC_OSX | 11224 | #ifdef MAC_OSX |
| 10828 | ControlKind control_kind; | 11225 | ControlKind control_kind; |
| 10829 | #endif | 11226 | #endif |
| 10830 | 11227 | ||
| 10831 | f = mac_window_to_frame (window_ptr); | 11228 | f = mac_window_to_frame (window_ptr); |
| 10832 | /* convert to local coordinates of new window */ | 11229 | /* convert to local coordinates of new window */ |
| 10833 | SetPortWindowPort (window_ptr); | 11230 | mouse_loc.h = (er.where.h |
| 10834 | 11231 | - (f->left_pos | |
| 10835 | GlobalToLocal (&mouse_loc); | 11232 | + FRAME_OUTER_TO_INNER_DIFF_X (f))); |
| 11233 | mouse_loc.v = (er.where.v | ||
| 11234 | - (f->top_pos | ||
| 11235 | + FRAME_OUTER_TO_INNER_DIFF_Y (f))); | ||
| 10836 | #if TARGET_API_MAC_CARBON | 11236 | #if TARGET_API_MAC_CARBON |
| 10837 | ch = FindControlUnderMouse (mouse_loc, window_ptr, | 11237 | ch = FindControlUnderMouse (mouse_loc, window_ptr, |
| 10838 | &control_part_code); | 11238 | &control_part_code); |
| @@ -10845,7 +11245,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10845 | &ch); | 11245 | &ch); |
| 10846 | #endif | 11246 | #endif |
| 10847 | 11247 | ||
| 10848 | #if USE_CARBON_EVENTS | 11248 | #if TARGET_API_MAC_CARBON |
| 10849 | inev.code = mac_get_mouse_btn (eventRef); | 11249 | inev.code = mac_get_mouse_btn (eventRef); |
| 10850 | inev.modifiers = mac_event_to_emacs_modifiers (eventRef); | 11250 | inev.modifiers = mac_event_to_emacs_modifiers (eventRef); |
| 10851 | #else | 11251 | #else |
| @@ -10981,16 +11381,14 @@ XTread_socket (sd, expected, hold_quit) | |||
| 10981 | DragWindow (window_ptr, er.where, NULL); | 11381 | DragWindow (window_ptr, er.where, NULL); |
| 10982 | #else /* not TARGET_API_MAC_CARBON */ | 11382 | #else /* not TARGET_API_MAC_CARBON */ |
| 10983 | DragWindow (window_ptr, er.where, &qd.screenBits.bounds); | 11383 | DragWindow (window_ptr, er.where, &qd.screenBits.bounds); |
| 10984 | #endif /* not TARGET_API_MAC_CARBON */ | ||
| 10985 | /* Update the frame parameters. */ | 11384 | /* Update the frame parameters. */ |
| 10986 | #if !USE_CARBON_EVENTS | ||
| 10987 | { | 11385 | { |
| 10988 | struct frame *f = mac_window_to_frame (window_ptr); | 11386 | struct frame *f = mac_window_to_frame (window_ptr); |
| 10989 | 11387 | ||
| 10990 | if (f && !f->async_iconified) | 11388 | if (f && !f->async_iconified) |
| 10991 | mac_handle_origin_change (f); | 11389 | mac_handle_origin_change (f); |
| 10992 | } | 11390 | } |
| 10993 | #endif | 11391 | #endif /* not TARGET_API_MAC_CARBON */ |
| 10994 | break; | 11392 | break; |
| 10995 | 11393 | ||
| 10996 | case inGoAway: | 11394 | case inGoAway: |
| @@ -11020,35 +11418,17 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11020 | } | 11418 | } |
| 11021 | break; | 11419 | break; |
| 11022 | 11420 | ||
| 11421 | #if !TARGET_API_MAC_CARBON | ||
| 11023 | case updateEvt: | 11422 | case updateEvt: |
| 11024 | #if USE_CARBON_EVENTS | 11423 | do_window_update ((WindowRef) er.message); |
| 11025 | if (SendEventToEventTarget (eventRef, toolbox_dispatcher) | ||
| 11026 | != eventNotHandledErr) | ||
| 11027 | break; | ||
| 11028 | #else | ||
| 11029 | do_window_update ((WindowPtr) er.message); | ||
| 11030 | #endif | ||
| 11031 | break; | 11424 | break; |
| 11425 | #endif | ||
| 11032 | 11426 | ||
| 11033 | case osEvt: | 11427 | case osEvt: |
| 11034 | #if USE_CARBON_EVENTS | ||
| 11035 | if (SendEventToEventTarget (eventRef, toolbox_dispatcher) | ||
| 11036 | != eventNotHandledErr) | ||
| 11037 | break; | ||
| 11038 | #endif | ||
| 11039 | switch ((er.message >> 24) & 0x000000FF) | 11428 | switch ((er.message >> 24) & 0x000000FF) |
| 11040 | { | 11429 | { |
| 11041 | case suspendResumeMessage: | ||
| 11042 | #if USE_MAC_TSM | ||
| 11043 | if (er.message & resumeFlag) | ||
| 11044 | mac_tsm_resume (); | ||
| 11045 | else | ||
| 11046 | mac_tsm_suspend (); | ||
| 11047 | #endif | ||
| 11048 | break; | ||
| 11049 | |||
| 11050 | case mouseMovedMessage: | 11430 | case mouseMovedMessage: |
| 11051 | #if !USE_CARBON_EVENTS | 11431 | #if !TARGET_API_MAC_CARBON |
| 11052 | SetRectRgn (mouse_region, er.where.h, er.where.v, | 11432 | SetRectRgn (mouse_region, er.where.h, er.where.v, |
| 11053 | er.where.h + 1, er.where.v + 1); | 11433 | er.where.h + 1, er.where.v + 1); |
| 11054 | #endif | 11434 | #endif |
| @@ -11069,13 +11449,15 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11069 | 11449 | ||
| 11070 | if (f) | 11450 | if (f) |
| 11071 | { | 11451 | { |
| 11072 | WindowPtr wp = FRAME_MAC_WINDOW (f); | 11452 | WindowRef wp = FRAME_MAC_WINDOW (f); |
| 11073 | Point mouse_pos = er.where; | 11453 | Point mouse_pos; |
| 11074 | 11454 | ||
| 11075 | SetPortWindowPort (wp); | 11455 | mouse_pos.h = (er.where.h |
| 11076 | 11456 | - (f->left_pos | |
| 11077 | GlobalToLocal (&mouse_pos); | 11457 | + FRAME_OUTER_TO_INNER_DIFF_X (f))); |
| 11078 | 11458 | mouse_pos.v = (er.where.v | |
| 11459 | - (f->top_pos | ||
| 11460 | + FRAME_OUTER_TO_INNER_DIFF_Y (f))); | ||
| 11079 | if (dpyinfo->grabbed && tracked_scroll_bar) | 11461 | if (dpyinfo->grabbed && tracked_scroll_bar) |
| 11080 | #ifdef USE_TOOLKIT_SCROLL_BARS | 11462 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 11081 | x_scroll_bar_handle_drag (wp, tracked_scroll_bar, | 11463 | x_scroll_bar_handle_drag (wp, tracked_scroll_bar, |
| @@ -11123,18 +11505,16 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11123 | if (!NILP (help_echo_string) || !NILP (previous_help_echo_string)) | 11505 | if (!NILP (help_echo_string) || !NILP (previous_help_echo_string)) |
| 11124 | do_help = 1; | 11506 | do_help = 1; |
| 11125 | break; | 11507 | break; |
| 11508 | |||
| 11509 | default: | ||
| 11510 | goto OTHER; | ||
| 11126 | } | 11511 | } |
| 11127 | break; | 11512 | break; |
| 11128 | 11513 | ||
| 11129 | case activateEvt: | 11514 | case activateEvt: |
| 11130 | { | 11515 | { |
| 11131 | WindowPtr window_ptr = (WindowPtr) er.message; | 11516 | WindowRef window_ptr = (WindowRef) er.message; |
| 11132 | 11517 | ||
| 11133 | #if USE_CARBON_EVENTS | ||
| 11134 | if (SendEventToEventTarget (eventRef, toolbox_dispatcher) | ||
| 11135 | != eventNotHandledErr) | ||
| 11136 | break; | ||
| 11137 | #endif | ||
| 11138 | if (window_ptr == tip_window) | 11518 | if (window_ptr == tip_window) |
| 11139 | { | 11519 | { |
| 11140 | HideWindow (tip_window); | 11520 | HideWindow (tip_window); |
| @@ -11142,21 +11522,26 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11142 | } | 11522 | } |
| 11143 | 11523 | ||
| 11144 | if (!is_emacs_window (window_ptr)) | 11524 | if (!is_emacs_window (window_ptr)) |
| 11145 | break; | 11525 | goto OTHER; |
| 11526 | |||
| 11527 | f = mac_window_to_frame (window_ptr); | ||
| 11146 | 11528 | ||
| 11147 | if ((er.modifiers & activeFlag) != 0) | 11529 | if ((er.modifiers & activeFlag) != 0) |
| 11148 | { | 11530 | { |
| 11149 | /* A window has been activated */ | 11531 | /* A window has been activated */ |
| 11150 | Point mouse_loc = er.where; | 11532 | Point mouse_loc; |
| 11151 | 11533 | ||
| 11152 | x_detect_focus_change (dpyinfo, &er, &inev); | 11534 | x_detect_focus_change (dpyinfo, &er, &inev); |
| 11153 | 11535 | ||
| 11154 | SetPortWindowPort (window_ptr); | 11536 | mouse_loc.h = (er.where.h |
| 11155 | GlobalToLocal (&mouse_loc); | 11537 | - (f->left_pos |
| 11538 | + FRAME_OUTER_TO_INNER_DIFF_X (f))); | ||
| 11539 | mouse_loc.v = (er.where.v | ||
| 11540 | - (f->top_pos | ||
| 11541 | + FRAME_OUTER_TO_INNER_DIFF_Y (f))); | ||
| 11156 | /* Window-activated event counts as mouse movement, | 11542 | /* Window-activated event counts as mouse movement, |
| 11157 | so update things that depend on mouse position. */ | 11543 | so update things that depend on mouse position. */ |
| 11158 | note_mouse_movement (mac_window_to_frame (window_ptr), | 11544 | note_mouse_movement (f, &mouse_loc); |
| 11159 | &mouse_loc); | ||
| 11160 | } | 11545 | } |
| 11161 | else | 11546 | else |
| 11162 | { | 11547 | { |
| @@ -11181,7 +11566,6 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11181 | 11566 | ||
| 11182 | x_detect_focus_change (dpyinfo, &er, &inev); | 11567 | x_detect_focus_change (dpyinfo, &er, &inev); |
| 11183 | 11568 | ||
| 11184 | f = mac_window_to_frame (window_ptr); | ||
| 11185 | if (f == dpyinfo->mouse_face_mouse_frame) | 11569 | if (f == dpyinfo->mouse_face_mouse_frame) |
| 11186 | { | 11570 | { |
| 11187 | /* If we move outside the frame, then we're | 11571 | /* If we move outside the frame, then we're |
| @@ -11204,218 +11588,26 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11204 | case keyDown: | 11588 | case keyDown: |
| 11205 | case keyUp: | 11589 | case keyUp: |
| 11206 | case autoKey: | 11590 | case autoKey: |
| 11207 | { | 11591 | ObscureCursor (); |
| 11208 | int keycode = (er.message & keyCodeMask) >> 8; | ||
| 11209 | static SInt16 last_key_script = -1; | ||
| 11210 | SInt16 current_key_script; | ||
| 11211 | UInt32 modifiers = er.modifiers, mapped_modifiers; | ||
| 11212 | 11592 | ||
| 11213 | #if USE_CARBON_EVENTS && defined (MAC_OSX) | 11593 | f = mac_focus_frame (dpyinfo); |
| 11214 | GetEventParameter (eventRef, kEventParamKeyModifiers, | 11594 | XSETFRAME (inev.frame_or_window, f); |
| 11215 | typeUInt32, NULL, | ||
| 11216 | sizeof (UInt32), NULL, &modifiers); | ||
| 11217 | #endif | ||
| 11218 | mapped_modifiers = mac_mapped_modifiers (modifiers); | ||
| 11219 | |||
| 11220 | #if USE_CARBON_EVENTS && (defined (MAC_OSX) || USE_MAC_TSM) | ||
| 11221 | /* When using Carbon Events, we need to pass raw keyboard | ||
| 11222 | events to the TSM ourselves. If TSM handles it, it | ||
| 11223 | will pass back noErr, otherwise it will pass back | ||
| 11224 | "eventNotHandledErr" and we can process it | ||
| 11225 | normally. */ | ||
| 11226 | if (!(mapped_modifiers | ||
| 11227 | & ~(mac_pass_command_to_system ? cmdKey : 0) | ||
| 11228 | & ~(mac_pass_control_to_system ? controlKey : 0))) | ||
| 11229 | { | ||
| 11230 | OSStatus err; | ||
| 11231 | |||
| 11232 | read_socket_inev = &inev; | ||
| 11233 | err = SendEventToEventTarget (eventRef, toolbox_dispatcher); | ||
| 11234 | read_socket_inev = NULL; | ||
| 11235 | if (err != eventNotHandledErr) | ||
| 11236 | break; | ||
| 11237 | } | ||
| 11238 | #endif | ||
| 11239 | if (er.what == keyUp) | ||
| 11240 | break; | ||
| 11241 | |||
| 11242 | ObscureCursor (); | ||
| 11243 | |||
| 11244 | f = mac_focus_frame (dpyinfo); | ||
| 11245 | |||
| 11246 | if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight) | ||
| 11247 | && !EQ (f->tool_bar_window, dpyinfo->mouse_face_window)) | ||
| 11248 | { | ||
| 11249 | clear_mouse_face (dpyinfo); | ||
| 11250 | dpyinfo->mouse_face_hidden = 1; | ||
| 11251 | } | ||
| 11252 | |||
| 11253 | current_key_script = GetScriptManagerVariable (smKeyScript); | ||
| 11254 | if (last_key_script != current_key_script) | ||
| 11255 | { | ||
| 11256 | struct input_event event; | ||
| 11257 | |||
| 11258 | EVENT_INIT (event); | ||
| 11259 | event.kind = LANGUAGE_CHANGE_EVENT; | ||
| 11260 | event.arg = Qnil; | ||
| 11261 | event.code = current_key_script; | ||
| 11262 | event.timestamp = timestamp; | ||
| 11263 | kbd_buffer_store_event (&event); | ||
| 11264 | count++; | ||
| 11265 | last_key_script = current_key_script; | ||
| 11266 | } | ||
| 11267 | |||
| 11268 | #if USE_MAC_TSM | ||
| 11269 | if (inev.kind != NO_EVENT) | ||
| 11270 | break; | ||
| 11271 | #endif | ||
| 11272 | |||
| 11273 | #ifdef MAC_OSX | ||
| 11274 | if (mapped_modifiers & kEventKeyModifierFnMask | ||
| 11275 | && keycode <= 0x7f | ||
| 11276 | && fn_keycode_to_keycode_table[keycode]) | ||
| 11277 | keycode = fn_keycode_to_keycode_table[keycode]; | ||
| 11278 | #endif | ||
| 11279 | if (keycode <= 0x7f && keycode_to_xkeysym_table [keycode]) | ||
| 11280 | { | ||
| 11281 | inev.kind = NON_ASCII_KEYSTROKE_EVENT; | ||
| 11282 | inev.code = 0xff00 | keycode_to_xkeysym_table [keycode]; | ||
| 11283 | #ifdef MAC_OSX | ||
| 11284 | if (modifiers & kEventKeyModifierFnMask | ||
| 11285 | && keycode <= 0x7f | ||
| 11286 | && fn_keycode_to_keycode_table[keycode] == keycode) | ||
| 11287 | modifiers &= ~kEventKeyModifierFnMask; | ||
| 11288 | #endif | ||
| 11289 | } | ||
| 11290 | else if (mapped_modifiers) | ||
| 11291 | { | ||
| 11292 | /* translate the keycode back to determine the | ||
| 11293 | original key */ | ||
| 11294 | #ifdef MAC_OSX | ||
| 11295 | UCKeyboardLayout *uchr_ptr = NULL; | ||
| 11296 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 11297 | OSStatus err; | ||
| 11298 | KeyboardLayoutRef layout; | ||
| 11299 | |||
| 11300 | err = KLGetCurrentKeyboardLayout (&layout); | ||
| 11301 | if (err == noErr) | ||
| 11302 | KLGetKeyboardLayoutProperty (layout, kKLuchrData, | ||
| 11303 | (const void **) &uchr_ptr); | ||
| 11304 | #else | ||
| 11305 | static SInt16 last_key_layout_id = 0; | ||
| 11306 | static Handle uchr_handle = (Handle)-1; | ||
| 11307 | SInt16 current_key_layout_id = | ||
| 11308 | GetScriptVariable (current_key_script, smScriptKeys); | ||
| 11309 | |||
| 11310 | if (uchr_handle == (Handle)-1 | ||
| 11311 | || last_key_layout_id != current_key_layout_id) | ||
| 11312 | { | ||
| 11313 | uchr_handle = GetResource ('uchr', current_key_layout_id); | ||
| 11314 | last_key_layout_id = current_key_layout_id; | ||
| 11315 | } | ||
| 11316 | if (uchr_handle) | ||
| 11317 | uchr_ptr = (UCKeyboardLayout *)*uchr_handle; | ||
| 11318 | #endif | ||
| 11319 | |||
| 11320 | if (uchr_ptr) | ||
| 11321 | { | ||
| 11322 | OSStatus status; | ||
| 11323 | UInt16 key_action = er.what - keyDown; | ||
| 11324 | UInt32 modifier_key_state = | ||
| 11325 | (modifiers & ~mapped_modifiers) >> 8; | ||
| 11326 | UInt32 keyboard_type = LMGetKbdType (); | ||
| 11327 | SInt32 dead_key_state = 0; | ||
| 11328 | UniChar code; | ||
| 11329 | UniCharCount actual_length; | ||
| 11330 | |||
| 11331 | status = UCKeyTranslate (uchr_ptr, | ||
| 11332 | keycode, key_action, | ||
| 11333 | modifier_key_state, | ||
| 11334 | keyboard_type, | ||
| 11335 | kUCKeyTranslateNoDeadKeysMask, | ||
| 11336 | &dead_key_state, | ||
| 11337 | 1, &actual_length, &code); | ||
| 11338 | if (status == noErr && actual_length == 1) | ||
| 11339 | mac_set_unicode_keystroke_event (code, &inev); | ||
| 11340 | } | ||
| 11341 | #endif /* MAC_OSX */ | ||
| 11342 | |||
| 11343 | if (inev.kind == NO_EVENT) | ||
| 11344 | { | ||
| 11345 | /* This code comes from Keyboard Resource, | ||
| 11346 | Appendix C of IM - Text. This is necessary | ||
| 11347 | since shift is ignored in KCHR table | ||
| 11348 | translation when option or command is pressed. | ||
| 11349 | It also does not translate correctly | ||
| 11350 | control-shift chars like C-% so mask off shift | ||
| 11351 | here also. */ | ||
| 11352 | /* Mask off modifier keys that are mapped to some | ||
| 11353 | Emacs modifiers. */ | ||
| 11354 | int new_modifiers = er.modifiers & ~mapped_modifiers; | ||
| 11355 | /* set high byte of keycode to modifier high byte*/ | ||
| 11356 | int new_keycode = keycode | new_modifiers; | ||
| 11357 | Ptr kchr_ptr = (Ptr) GetScriptManagerVariable (smKCHRCache); | ||
| 11358 | unsigned long some_state = 0; | ||
| 11359 | UInt32 new_char_code; | ||
| 11360 | |||
| 11361 | new_char_code = KeyTranslate (kchr_ptr, new_keycode, | ||
| 11362 | &some_state); | ||
| 11363 | if (new_char_code == 0) | ||
| 11364 | /* Seems like a dead key. Append up-stroke. */ | ||
| 11365 | new_char_code = KeyTranslate (kchr_ptr, | ||
| 11366 | new_keycode | 0x80, | ||
| 11367 | &some_state); | ||
| 11368 | if (new_char_code) | ||
| 11369 | { | ||
| 11370 | inev.kind = ASCII_KEYSTROKE_EVENT; | ||
| 11371 | inev.code = new_char_code & 0xff; | ||
| 11372 | } | ||
| 11373 | } | ||
| 11374 | } | ||
| 11375 | |||
| 11376 | if (inev.kind == NO_EVENT) | ||
| 11377 | { | ||
| 11378 | inev.kind = ASCII_KEYSTROKE_EVENT; | ||
| 11379 | inev.code = er.message & charCodeMask; | ||
| 11380 | } | ||
| 11381 | |||
| 11382 | inev.modifiers = mac_to_emacs_modifiers (modifiers); | ||
| 11383 | inev.modifiers |= (extra_keyboard_modifiers | ||
| 11384 | & (meta_modifier | alt_modifier | ||
| 11385 | | hyper_modifier | super_modifier)); | ||
| 11386 | XSETFRAME (inev.frame_or_window, f); | ||
| 11387 | 11595 | ||
| 11596 | /* If mouse-highlight is an integer, input clears out mouse | ||
| 11597 | highlighting. */ | ||
| 11598 | if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight) | ||
| 11599 | && !EQ (f->tool_bar_window, dpyinfo->mouse_face_window)) | ||
| 11600 | { | ||
| 11601 | clear_mouse_face (dpyinfo); | ||
| 11602 | dpyinfo->mouse_face_hidden = 1; | ||
| 11603 | } | ||
| 11388 | #if TARGET_API_MAC_CARBON | 11604 | #if TARGET_API_MAC_CARBON |
| 11389 | if (inev.kind == ASCII_KEYSTROKE_EVENT | 11605 | goto OTHER; |
| 11390 | && inev.code >= 0x80 && inev.modifiers) | 11606 | #else |
| 11391 | { | 11607 | do_keystroke (er.what, er.message & charCodeMask, |
| 11392 | OSStatus err; | 11608 | (er.message & keyCodeMask) >> 8, |
| 11393 | TextEncoding encoding = kTextEncodingMacRoman; | 11609 | er.modifiers, timestamp, &inev); |
| 11394 | TextToUnicodeInfo ttu_info; | ||
| 11395 | |||
| 11396 | UpgradeScriptInfoToTextEncoding (current_key_script, | ||
| 11397 | kTextLanguageDontCare, | ||
| 11398 | kTextRegionDontCare, | ||
| 11399 | NULL, &encoding); | ||
| 11400 | err = CreateTextToUnicodeInfoByEncoding (encoding, &ttu_info); | ||
| 11401 | if (err == noErr) | ||
| 11402 | { | ||
| 11403 | UniChar code; | ||
| 11404 | Str255 pstr; | ||
| 11405 | ByteCount unicode_len; | ||
| 11406 | |||
| 11407 | pstr[0] = 1; | ||
| 11408 | pstr[1] = inev.code; | ||
| 11409 | err = ConvertFromPStringToUnicode (ttu_info, pstr, | ||
| 11410 | sizeof (UniChar), | ||
| 11411 | &unicode_len, &code); | ||
| 11412 | if (err == noErr && unicode_len == sizeof (UniChar)) | ||
| 11413 | mac_set_unicode_keystroke_event (code, &inev); | ||
| 11414 | DisposeTextToUnicodeInfo (&ttu_info); | ||
| 11415 | } | ||
| 11416 | } | ||
| 11417 | #endif | 11610 | #endif |
| 11418 | } | ||
| 11419 | break; | 11611 | break; |
| 11420 | 11612 | ||
| 11421 | case kHighLevelEvent: | 11613 | case kHighLevelEvent: |
| @@ -11423,9 +11615,19 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11423 | break; | 11615 | break; |
| 11424 | 11616 | ||
| 11425 | default: | 11617 | default: |
| 11618 | OTHER: | ||
| 11619 | #if TARGET_API_MAC_CARBON | ||
| 11620 | { | ||
| 11621 | OSStatus err; | ||
| 11622 | |||
| 11623 | read_socket_inev = &inev; | ||
| 11624 | err = SendEventToEventTarget (eventRef, toolbox_dispatcher); | ||
| 11625 | read_socket_inev = NULL; | ||
| 11626 | } | ||
| 11627 | #endif | ||
| 11426 | break; | 11628 | break; |
| 11427 | } | 11629 | } |
| 11428 | #if USE_CARBON_EVENTS | 11630 | #if TARGET_API_MAC_CARBON |
| 11429 | ReleaseEvent (eventRef); | 11631 | ReleaseEvent (eventRef); |
| 11430 | #endif | 11632 | #endif |
| 11431 | 11633 | ||
| @@ -11477,7 +11679,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11477 | mac_screen_config_changed = 0; | 11679 | mac_screen_config_changed = 0; |
| 11478 | } | 11680 | } |
| 11479 | 11681 | ||
| 11480 | #if !USE_CARBON_EVENTS | 11682 | #if !TARGET_API_MAC_CARBON |
| 11481 | /* Check which frames are still visible. We do this here because | 11683 | /* Check which frames are still visible. We do this here because |
| 11482 | there doesn't seem to be any direct notification from the Window | 11684 | there doesn't seem to be any direct notification from the Window |
| 11483 | Manager that the visibility of a window has changed (at least, | 11685 | Manager that the visibility of a window has changed (at least, |
| @@ -11582,7 +11784,7 @@ make_mac_terminal_frame (struct frame *f) | |||
| 11582 | 11784 | ||
| 11583 | if (!(FRAME_MAC_WINDOW (f) = | 11785 | if (!(FRAME_MAC_WINDOW (f) = |
| 11584 | NewCWindow (NULL, &r, "\p", true, dBoxProc, | 11786 | NewCWindow (NULL, &r, "\p", true, dBoxProc, |
| 11585 | (WindowPtr) -1, 1, (long) f->output_data.mac))) | 11787 | (WindowRef) -1, 1, (long) f->output_data.mac))) |
| 11586 | abort (); | 11788 | abort (); |
| 11587 | /* so that update events can find this mac_output struct */ | 11789 | /* so that update events can find this mac_output struct */ |
| 11588 | f->output_data.mac->mFP = f; /* point back to emacs frame */ | 11790 | f->output_data.mac->mFP = f; /* point back to emacs frame */ |
| @@ -11780,7 +11982,6 @@ init_menu_bar () | |||
| 11780 | &menu, &menu_index); | 11982 | &menu, &menu_index); |
| 11781 | if (err == noErr) | 11983 | if (err == noErr) |
| 11782 | SetMenuItemCommandKey (menu, menu_index, false, 0); | 11984 | SetMenuItemCommandKey (menu, menu_index, false, 0); |
| 11783 | #if USE_CARBON_EVENTS | ||
| 11784 | EnableMenuCommand (NULL, kHICommandPreferences); | 11985 | EnableMenuCommand (NULL, kHICommandPreferences); |
| 11785 | err = GetIndMenuItemWithCommandID (NULL, kHICommandPreferences, 1, | 11986 | err = GetIndMenuItemWithCommandID (NULL, kHICommandPreferences, 1, |
| 11786 | &menu, &menu_index); | 11987 | &menu, &menu_index); |
| @@ -11792,10 +11993,9 @@ init_menu_bar () | |||
| 11792 | InsertMenuItemTextWithCFString (menu, CFSTR ("About Emacs"), | 11993 | InsertMenuItemTextWithCFString (menu, CFSTR ("About Emacs"), |
| 11793 | 0, 0, kHICommandAbout); | 11994 | 0, 0, kHICommandAbout); |
| 11794 | } | 11995 | } |
| 11795 | #endif /* USE_CARBON_EVENTS */ | ||
| 11796 | #else /* !MAC_OSX */ | 11996 | #else /* !MAC_OSX */ |
| 11797 | #if USE_CARBON_EVENTS | 11997 | #if TARGET_API_MAC_CARBON |
| 11798 | SetMenuItemCommandID (GetMenuHandle (M_APPLE), I_ABOUT, kHICommandAbout); | 11998 | SetMenuItemCommandID (GetMenuRef (M_APPLE), I_ABOUT, kHICommandAbout); |
| 11799 | #endif | 11999 | #endif |
| 11800 | #endif | 12000 | #endif |
| 11801 | } | 12001 | } |
| @@ -11929,19 +12129,13 @@ mac_initialize () | |||
| 11929 | 12129 | ||
| 11930 | #if TARGET_API_MAC_CARBON | 12130 | #if TARGET_API_MAC_CARBON |
| 11931 | 12131 | ||
| 11932 | #if USE_CARBON_EVENTS | 12132 | install_application_handler (); |
| 11933 | #ifdef MAC_OSX | ||
| 11934 | init_service_handler (); | ||
| 11935 | #endif /* MAC_OSX */ | ||
| 11936 | |||
| 11937 | init_command_handler (); | ||
| 11938 | 12133 | ||
| 11939 | init_menu_bar (); | 12134 | init_menu_bar (); |
| 11940 | 12135 | ||
| 11941 | #if USE_MAC_TSM | 12136 | #if USE_MAC_TSM |
| 11942 | init_tsm (); | 12137 | init_tsm (); |
| 11943 | #endif | 12138 | #endif |
| 11944 | #endif /* USE_CARBON_EVENTS */ | ||
| 11945 | 12139 | ||
| 11946 | #ifdef MAC_OSX | 12140 | #ifdef MAC_OSX |
| 11947 | init_coercion_handler (); | 12141 | init_coercion_handler (); |
| @@ -11992,7 +12186,7 @@ syms_of_macterm () | |||
| 11992 | Fput (Qhyper, Qmodifier_value, make_number (hyper_modifier)); | 12186 | Fput (Qhyper, Qmodifier_value, make_number (hyper_modifier)); |
| 11993 | Fput (Qsuper, Qmodifier_value, make_number (super_modifier)); | 12187 | Fput (Qsuper, Qmodifier_value, make_number (super_modifier)); |
| 11994 | 12188 | ||
| 11995 | #if USE_CARBON_EVENTS | 12189 | #if TARGET_API_MAC_CARBON |
| 11996 | Qhi_command = intern ("hi-command"); staticpro (&Qhi_command); | 12190 | Qhi_command = intern ("hi-command"); staticpro (&Qhi_command); |
| 11997 | #ifdef MAC_OSX | 12191 | #ifdef MAC_OSX |
| 11998 | Qtoolbar_switch_mode = intern ("toolbar-switch-mode"); | 12192 | Qtoolbar_switch_mode = intern ("toolbar-switch-mode"); |
| @@ -12117,7 +12311,7 @@ The symbol `reverse' means that the option-key will register for | |||
| 12117 | mouse-3 and the command-key will register for mouse-2. */); | 12311 | mouse-3 and the command-key will register for mouse-2. */); |
| 12118 | Vmac_emulate_three_button_mouse = Qnil; | 12312 | Vmac_emulate_three_button_mouse = Qnil; |
| 12119 | 12313 | ||
| 12120 | #if USE_CARBON_EVENTS | 12314 | #if TARGET_API_MAC_CARBON |
| 12121 | DEFVAR_BOOL ("mac-wheel-button-is-mouse-2", &mac_wheel_button_is_mouse_2, | 12315 | DEFVAR_BOOL ("mac-wheel-button-is-mouse-2", &mac_wheel_button_is_mouse_2, |
| 12122 | doc: /* *Non-nil if the wheel button is mouse-2 and the right click mouse-3. | 12316 | doc: /* *Non-nil if the wheel button is mouse-2 and the right click mouse-3. |
| 12123 | Otherwise, the right click will be treated as mouse-2 and the wheel | 12317 | Otherwise, the right click will be treated as mouse-2 and the wheel |
diff --git a/src/macterm.h b/src/macterm.h index fe61674f30f..c880143634e 100644 --- a/src/macterm.h +++ b/src/macterm.h | |||
| @@ -369,6 +369,12 @@ typedef struct mac_output mac_output; | |||
| 369 | /* This is the 'font_info *' which frame F has. */ | 369 | /* This is the 'font_info *' which frame F has. */ |
| 370 | #define FRAME_MAC_FONT_TABLE(f) (FRAME_MAC_DISPLAY_INFO (f)->font_table) | 370 | #define FRAME_MAC_FONT_TABLE(f) (FRAME_MAC_DISPLAY_INFO (f)->font_table) |
| 371 | 371 | ||
| 372 | /* The difference in pixels between the top left corner of the | ||
| 373 | Emacs window (including possible window manager decorations) | ||
| 374 | and FRAME_MAC_WINDOW (f). */ | ||
| 375 | #define FRAME_OUTER_TO_INNER_DIFF_X(f) ((f)->x_pixels_diff) | ||
| 376 | #define FRAME_OUTER_TO_INNER_DIFF_Y(f) ((f)->y_pixels_diff) | ||
| 377 | |||
| 372 | /* Value is the smallest width of any character in any font on frame F. */ | 378 | /* Value is the smallest width of any character in any font on frame F. */ |
| 373 | 379 | ||
| 374 | #define FRAME_SMALLEST_CHAR_WIDTH(F) \ | 380 | #define FRAME_SMALLEST_CHAR_WIDTH(F) \ |
| @@ -406,9 +412,9 @@ struct scroll_bar { | |||
| 406 | /* The next and previous in the chain of scroll bars in this frame. */ | 412 | /* The next and previous in the chain of scroll bars in this frame. */ |
| 407 | Lisp_Object next, prev; | 413 | Lisp_Object next, prev; |
| 408 | 414 | ||
| 409 | /* The Mac control handle of this scroll bar. Since this is a | 415 | /* The Mac control reference of this scroll bar. Since this is a |
| 410 | pointer value, we store it split into two Lisp integers. */ | 416 | pointer value, we store it split into two Lisp integers. */ |
| 411 | Lisp_Object control_handle_low, control_handle_high; | 417 | Lisp_Object control_ref_low, control_ref_high; |
| 412 | 418 | ||
| 413 | /* The position and size of the scroll bar in pixels, relative to the | 419 | /* The position and size of the scroll bar in pixels, relative to the |
| 414 | frame. */ | 420 | frame. */ |
| @@ -466,14 +472,14 @@ struct scroll_bar { | |||
| 466 | 472 | ||
| 467 | /* Extract the Mac control handle of the scroll bar from a struct | 473 | /* Extract the Mac control handle of the scroll bar from a struct |
| 468 | scroll_bar. */ | 474 | scroll_bar. */ |
| 469 | #define SCROLL_BAR_CONTROL_HANDLE(ptr) \ | 475 | #define SCROLL_BAR_CONTROL_REF(ptr) \ |
| 470 | ((ControlHandle) SCROLL_BAR_PACK ((ptr)->control_handle_low, \ | 476 | ((ControlRef) SCROLL_BAR_PACK ((ptr)->control_ref_low, \ |
| 471 | (ptr)->control_handle_high)) | 477 | (ptr)->control_ref_high)) |
| 472 | 478 | ||
| 473 | /* Store a Mac control handle in a struct scroll_bar. */ | 479 | /* Store a Mac control handle in a struct scroll_bar. */ |
| 474 | #define SET_SCROLL_BAR_CONTROL_HANDLE(ptr, handle) \ | 480 | #define SET_SCROLL_BAR_CONTROL_REF(ptr, ref) \ |
| 475 | (SCROLL_BAR_UNPACK ((ptr)->control_handle_low, \ | 481 | (SCROLL_BAR_UNPACK ((ptr)->control_ref_low, \ |
| 476 | (ptr)->control_handle_high, (unsigned long) (handle))) | 482 | (ptr)->control_ref_high, (unsigned long) (ref))) |
| 477 | 483 | ||
| 478 | /* Return the inside width of a vertical scroll bar, given the outside | 484 | /* Return the inside width of a vertical scroll bar, given the outside |
| 479 | width. */ | 485 | width. */ |
| @@ -614,9 +620,10 @@ extern void x_free_frame_resources P_ ((struct frame *)); | |||
| 614 | extern void x_destroy_window P_ ((struct frame *)); | 620 | extern void x_destroy_window P_ ((struct frame *)); |
| 615 | extern void x_wm_set_size_hint P_ ((struct frame *, long, int)); | 621 | extern void x_wm_set_size_hint P_ ((struct frame *, long, int)); |
| 616 | extern void x_delete_display P_ ((struct x_display_info *)); | 622 | extern void x_delete_display P_ ((struct x_display_info *)); |
| 617 | extern Pixmap XCreatePixmap P_ ((Display *, WindowPtr, unsigned int, | 623 | extern void mac_initialize P_ ((void)); |
| 624 | extern Pixmap XCreatePixmap P_ ((Display *, WindowRef, unsigned int, | ||
| 618 | unsigned int, unsigned int)); | 625 | unsigned int, unsigned int)); |
| 619 | extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, WindowPtr, char *, | 626 | extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, WindowRef, char *, |
| 620 | unsigned int, unsigned int, | 627 | unsigned int, unsigned int, |
| 621 | unsigned long, unsigned long, | 628 | unsigned long, unsigned long, |
| 622 | unsigned int)); | 629 | unsigned int)); |
| @@ -625,7 +632,7 @@ extern GC XCreateGC P_ ((Display *, void *, unsigned long, XGCValues *)); | |||
| 625 | extern void XFreeGC P_ ((Display *, GC)); | 632 | extern void XFreeGC P_ ((Display *, GC)); |
| 626 | extern void XSetForeground P_ ((Display *, GC, unsigned long)); | 633 | extern void XSetForeground P_ ((Display *, GC, unsigned long)); |
| 627 | extern void XSetBackground P_ ((Display *, GC, unsigned long)); | 634 | extern void XSetBackground P_ ((Display *, GC, unsigned long)); |
| 628 | extern void XSetWindowBackground P_ ((Display *, WindowPtr, unsigned long)); | 635 | extern void XSetWindowBackground P_ ((Display *, WindowRef, unsigned long)); |
| 629 | extern void XDrawLine P_ ((Display *, Pixmap, GC, int, int, int, int)); | 636 | extern void XDrawLine P_ ((Display *, Pixmap, GC, int, int, int, int)); |
| 630 | extern void mac_clear_area P_ ((struct frame *, int, int, | 637 | extern void mac_clear_area P_ ((struct frame *, int, int, |
| 631 | unsigned int, unsigned int)); | 638 | unsigned int, unsigned int)); |
| @@ -633,8 +640,8 @@ extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *)); | |||
| 633 | extern int mac_font_panel_visible_p P_ ((void)); | 640 | extern int mac_font_panel_visible_p P_ ((void)); |
| 634 | extern OSStatus mac_show_hide_font_panel P_ ((void)); | 641 | extern OSStatus mac_show_hide_font_panel P_ ((void)); |
| 635 | extern OSStatus mac_set_font_info_for_selection P_ ((struct frame *, int, int)); | 642 | extern OSStatus mac_set_font_info_for_selection P_ ((struct frame *, int, int)); |
| 636 | extern OSStatus install_window_handler P_ ((WindowPtr)); | 643 | extern OSStatus install_window_handler P_ ((WindowRef)); |
| 637 | extern void remove_window_handler P_ ((WindowPtr)); | 644 | extern void remove_window_handler P_ ((WindowRef)); |
| 638 | extern OSStatus mac_post_mouse_moved_event P_ ((void)); | 645 | extern OSStatus mac_post_mouse_moved_event P_ ((void)); |
| 639 | #if !TARGET_API_MAC_CARBON | 646 | #if !TARGET_API_MAC_CARBON |
| 640 | extern void do_apple_menu P_ ((SInt16)); | 647 | extern void do_apple_menu P_ ((SInt16)); |
| @@ -642,6 +649,7 @@ extern void do_apple_menu P_ ((SInt16)); | |||
| 642 | #if USE_CG_DRAWING | 649 | #if USE_CG_DRAWING |
| 643 | extern void mac_prepare_for_quickdraw P_ ((struct frame *)); | 650 | extern void mac_prepare_for_quickdraw P_ ((struct frame *)); |
| 644 | #endif | 651 | #endif |
| 652 | extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *)); | ||
| 645 | extern int mac_quit_char_key_p P_ ((UInt32, UInt32)); | 653 | extern int mac_quit_char_key_p P_ ((UInt32, UInt32)); |
| 646 | 654 | ||
| 647 | #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 | 655 | #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 |
diff --git a/src/minibuf.c b/src/minibuf.c index 34caf2b430f..698a3478eb7 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -529,7 +529,7 @@ read_minibuf (map, initial, prompt, backup_n, expflag, | |||
| 529 | GCPRO5 (map, initial, val, ambient_dir, input_method); | 529 | GCPRO5 (map, initial, val, ambient_dir, input_method); |
| 530 | 530 | ||
| 531 | if (!STRINGP (prompt)) | 531 | if (!STRINGP (prompt)) |
| 532 | prompt = empty_string; | 532 | prompt = empty_unibyte_string; |
| 533 | 533 | ||
| 534 | if (!enable_recursive_minibuffers | 534 | if (!enable_recursive_minibuffers |
| 535 | && minibuf_level > 0) | 535 | && minibuf_level > 0) |
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index 75888f2df2a..57c3cdfcd43 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h | |||
| @@ -255,7 +255,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 255 | 255 | ||
| 256 | #undef TM_IN_SYS_TIME | 256 | #undef TM_IN_SYS_TIME |
| 257 | #undef HAVE_TM_ZONE | 257 | #undef HAVE_TM_ZONE |
| 258 | #define HAVE_TZNAME 1 | ||
| 259 | 258 | ||
| 260 | #define HAVE_LONG_FILE_NAMES 1 | 259 | #define HAVE_LONG_FILE_NAMES 1 |
| 261 | 260 | ||
diff --git a/src/search.c b/src/search.c index abc28619199..c9c6dfdd242 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -2095,7 +2095,7 @@ wordify (string) | |||
| 2095 | if (SYNTAX (prev_c) == Sword) | 2095 | if (SYNTAX (prev_c) == Sword) |
| 2096 | word_count++; | 2096 | word_count++; |
| 2097 | if (!word_count) | 2097 | if (!word_count) |
| 2098 | return empty_string; | 2098 | return empty_unibyte_string; |
| 2099 | 2099 | ||
| 2100 | adjust = - punct_count + 5 * (word_count - 1) + 4; | 2100 | adjust = - punct_count + 5 * (word_count - 1) + 4; |
| 2101 | if (STRING_MULTIBYTE (string)) | 2101 | if (STRING_MULTIBYTE (string)) |
diff --git a/src/sunfns.c b/src/sunfns.c index c532ae7f849..2d96ac66aef 100644 --- a/src/sunfns.c +++ b/src/sunfns.c | |||
| @@ -287,7 +287,7 @@ sel_read (sel, file) | |||
| 287 | register int i, n; | 287 | register int i, n; |
| 288 | register char *cp; | 288 | register char *cp; |
| 289 | 289 | ||
| 290 | Current_Selection = make_string ("", 0); | 290 | Current_Selection = empty_unibyte_string; |
| 291 | if (sel->sel_items <= 0) | 291 | if (sel->sel_items <= 0) |
| 292 | return (0); | 292 | return (0); |
| 293 | cp = (char *) malloc(sel->sel_items); | 293 | cp = (char *) malloc(sel->sel_items); |
diff --git a/src/term.c b/src/term.c index 3a7490a2a30..ceeac103e85 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -208,11 +208,6 @@ static int mouse_face_past_end; | |||
| 208 | static Lisp_Object Qmouse_face_window; | 208 | static Lisp_Object Qmouse_face_window; |
| 209 | static int mouse_face_face_id; | 209 | static int mouse_face_face_id; |
| 210 | 210 | ||
| 211 | /* FRAME and X, Y position of mouse when last checked for | ||
| 212 | highlighting. X and Y can be negative or out of range for the frame. */ | ||
| 213 | struct frame *mouse_face_mouse_frame; | ||
| 214 | int mouse_face_mouse_x, mouse_face_mouse_y; | ||
| 215 | |||
| 216 | static int pos_x, pos_y; | 211 | static int pos_x, pos_y; |
| 217 | static int last_mouse_x, last_mouse_y; | 212 | static int last_mouse_x, last_mouse_y; |
| 218 | #endif /* HAVE_GPM */ | 213 | #endif /* HAVE_GPM */ |
| @@ -2344,17 +2339,18 @@ the currently selected frame. */) | |||
| 2344 | ***********************************************************************/ | 2339 | ***********************************************************************/ |
| 2345 | 2340 | ||
| 2346 | #ifdef HAVE_GPM | 2341 | #ifdef HAVE_GPM |
| 2347 | void term_mouse_moveto (int x, int y) | 2342 | void |
| 2343 | term_mouse_moveto (int x, int y) | ||
| 2348 | { | 2344 | { |
| 2349 | const char *name; | 2345 | const char *name; |
| 2350 | int fd; | 2346 | int fd; |
| 2347 | /* TODO: how to set mouse position? | ||
| 2351 | name = (const char *) ttyname (0); | 2348 | name = (const char *) ttyname (0); |
| 2352 | fd = open (name, O_WRONLY); | 2349 | fd = open (name, O_WRONLY); |
| 2353 | /* TODO: how to set mouse position? | 2350 | SOME_FUNCTION (x, y, fd); |
| 2354 | SOME_FUNCTION (x, y, fd); */ | ||
| 2355 | close (fd); | 2351 | close (fd); |
| 2356 | last_mouse_x = x; | 2352 | last_mouse_x = x; |
| 2357 | last_mouse_y = y; | 2353 | last_mouse_y = y; */ |
| 2358 | } | 2354 | } |
| 2359 | 2355 | ||
| 2360 | static void | 2356 | static void |
| @@ -2534,10 +2530,6 @@ term_mouse_highlight (struct frame *f, int x, int y) | |||
| 2534 | || !f->glyphs_initialized_p) | 2530 | || !f->glyphs_initialized_p) |
| 2535 | return; | 2531 | return; |
| 2536 | 2532 | ||
| 2537 | mouse_face_mouse_x = x; | ||
| 2538 | mouse_face_mouse_y = y; | ||
| 2539 | mouse_face_mouse_frame = f; | ||
| 2540 | |||
| 2541 | /* Which window is that in? */ | 2533 | /* Which window is that in? */ |
| 2542 | window = window_from_coordinates (f, x, y, &part, &x, &y, 0); | 2534 | window = window_from_coordinates (f, x, y, &part, &x, &y, 0); |
| 2543 | 2535 | ||
| @@ -2779,7 +2771,7 @@ term_mouse_movement (FRAME_PTR frame, Gpm_Event *event) | |||
| 2779 | if (event->x != last_mouse_x || event->y != last_mouse_y) | 2771 | if (event->x != last_mouse_x || event->y != last_mouse_y) |
| 2780 | { | 2772 | { |
| 2781 | frame->mouse_moved = 1; | 2773 | frame->mouse_moved = 1; |
| 2782 | term_mouse_highlight (frame, event->x - 1, event->y - 1); | 2774 | term_mouse_highlight (frame, event->x, event->y); |
| 2783 | /* Remember which glyph we're now on. */ | 2775 | /* Remember which glyph we're now on. */ |
| 2784 | last_mouse_x = event->x; | 2776 | last_mouse_x = event->x; |
| 2785 | last_mouse_y = event->y; | 2777 | last_mouse_y = event->y; |
| @@ -2799,7 +2791,7 @@ term_mouse_movement (FRAME_PTR frame, Gpm_Event *event) | |||
| 2799 | 2791 | ||
| 2800 | Set *time to the time the mouse was at the returned position. | 2792 | Set *time to the time the mouse was at the returned position. |
| 2801 | 2793 | ||
| 2802 | This should clear mouse_moved until the next motion | 2794 | This clears mouse_moved until the next motion |
| 2803 | event arrives. */ | 2795 | event arrives. */ |
| 2804 | static void | 2796 | static void |
| 2805 | term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, | 2797 | term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, |
| @@ -2807,8 +2799,6 @@ term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, | |||
| 2807 | Lisp_Object *y, unsigned long *time) | 2799 | Lisp_Object *y, unsigned long *time) |
| 2808 | { | 2800 | { |
| 2809 | struct timeval now; | 2801 | struct timeval now; |
| 2810 | Lisp_Object frame, window; | ||
| 2811 | struct window *w; | ||
| 2812 | 2802 | ||
| 2813 | *fp = SELECTED_FRAME (); | 2803 | *fp = SELECTED_FRAME (); |
| 2814 | (*fp)->mouse_moved = 0; | 2804 | (*fp)->mouse_moved = 0; |
| @@ -2816,13 +2806,8 @@ term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, | |||
| 2816 | *bar_window = Qnil; | 2806 | *bar_window = Qnil; |
| 2817 | *part = 0; | 2807 | *part = 0; |
| 2818 | 2808 | ||
| 2819 | XSETINT (*x, last_mouse_x); | 2809 | XSETINT (*x, last_mouse_x); |
| 2820 | XSETINT (*y, last_mouse_y); | 2810 | XSETINT (*y, last_mouse_y); |
| 2821 | XSETFRAME (frame, *fp); | ||
| 2822 | window = Fwindow_at (*x, *y, frame); | ||
| 2823 | |||
| 2824 | XSETINT (*x, last_mouse_x - WINDOW_LEFT_EDGE_COL (XWINDOW (window))); | ||
| 2825 | XSETINT (*y, last_mouse_y - WINDOW_TOP_EDGE_LINE (XWINDOW (window))); | ||
| 2826 | gettimeofday(&now, 0); | 2811 | gettimeofday(&now, 0); |
| 2827 | *time = (now.tv_sec * 1000) + (now.tv_usec / 1000); | 2812 | *time = (now.tv_sec * 1000) + (now.tv_usec / 1000); |
| 2828 | } | 2813 | } |
| @@ -2869,7 +2854,7 @@ term_mouse_click (struct input_event *result, Gpm_Event *event, | |||
| 2869 | if (event->type & GPM_DRAG) | 2854 | if (event->type & GPM_DRAG) |
| 2870 | result->modifiers |= drag_modifier; | 2855 | result->modifiers |= drag_modifier; |
| 2871 | 2856 | ||
| 2872 | if (!(event->type & (GPM_MOVE|GPM_DRAG))) { | 2857 | if (!(event->type & (GPM_MOVE | GPM_DRAG))) { |
| 2873 | 2858 | ||
| 2874 | /* 1 << KG_SHIFT */ | 2859 | /* 1 << KG_SHIFT */ |
| 2875 | if (event->modifiers & (1 << 0)) | 2860 | if (event->modifiers & (1 << 0)) |
| @@ -2885,8 +2870,8 @@ term_mouse_click (struct input_event *result, Gpm_Event *event, | |||
| 2885 | result->modifiers |= meta_modifier; | 2870 | result->modifiers |= meta_modifier; |
| 2886 | } | 2871 | } |
| 2887 | 2872 | ||
| 2888 | XSETINT (result->x, event->x - 1); | 2873 | XSETINT (result->x, event->x); |
| 2889 | XSETINT (result->y, event->y - 1); | 2874 | XSETINT (result->y, event->y); |
| 2890 | XSETFRAME (result->frame_or_window, f); | 2875 | XSETFRAME (result->frame_or_window, f); |
| 2891 | result->arg = Qnil; | 2876 | result->arg = Qnil; |
| 2892 | return Qnil; | 2877 | return Qnil; |
| @@ -2905,7 +2890,7 @@ handle_one_term_event (struct tty_display_info *tty, Gpm_Event *event, struct in | |||
| 2905 | ie.kind = NO_EVENT; | 2890 | ie.kind = NO_EVENT; |
| 2906 | ie.arg = Qnil; | 2891 | ie.arg = Qnil; |
| 2907 | 2892 | ||
| 2908 | if (event->type & GPM_MOVE) { | 2893 | if (event->type & (GPM_MOVE | GPM_DRAG)) { |
| 2909 | unsigned char buf[6 * sizeof (short)]; | 2894 | unsigned char buf[6 * sizeof (short)]; |
| 2910 | unsigned short *arg = (unsigned short *) buf + 1; | 2895 | unsigned short *arg = (unsigned short *) buf + 1; |
| 2911 | const char *name; | 2896 | const char *name; |
| @@ -2916,8 +2901,8 @@ handle_one_term_event (struct tty_display_info *tty, Gpm_Event *event, struct in | |||
| 2916 | /* Display mouse pointer */ | 2901 | /* Display mouse pointer */ |
| 2917 | buf[sizeof(short) - 1] = 2; /* set selection */ | 2902 | buf[sizeof(short) - 1] = 2; /* set selection */ |
| 2918 | 2903 | ||
| 2919 | arg[0] = arg[2] = (unsigned short) event->x; | 2904 | arg[0] = arg[2] = (unsigned short) event->x + gpm_zerobased; |
| 2920 | arg[1] = arg[3] = (unsigned short) event->y; | 2905 | arg[1] = arg[3] = (unsigned short) event->y + gpm_zerobased; |
| 2921 | arg[4] = (unsigned short) 3; | 2906 | arg[4] = (unsigned short) 3; |
| 2922 | 2907 | ||
| 2923 | name = (const char *) ttyname (0); | 2908 | name = (const char *) ttyname (0); |
| @@ -2925,7 +2910,8 @@ handle_one_term_event (struct tty_display_info *tty, Gpm_Event *event, struct in | |||
| 2925 | ioctl (fd, TIOCLINUX, buf + sizeof (short) - 1); | 2910 | ioctl (fd, TIOCLINUX, buf + sizeof (short) - 1); |
| 2926 | close (fd); | 2911 | close (fd); |
| 2927 | 2912 | ||
| 2928 | term_mouse_movement (f, event); | 2913 | if (!term_mouse_movement (f, event)) |
| 2914 | help_echo_string = previous_help_echo_string; | ||
| 2929 | 2915 | ||
| 2930 | /* If the contents of the global variable help_echo_string | 2916 | /* If the contents of the global variable help_echo_string |
| 2931 | has changed, generate a HELP_EVENT. */ | 2917 | has changed, generate a HELP_EVENT. */ |
| @@ -2977,6 +2963,7 @@ DEFUN ("term-open-connection", Fterm_open_connection, Sterm_open_connection, | |||
| 2977 | connection.defaultMask = ~GPM_HARD; | 2963 | connection.defaultMask = ~GPM_HARD; |
| 2978 | connection.maxMod = ~0; | 2964 | connection.maxMod = ~0; |
| 2979 | connection.minMod = 0; | 2965 | connection.minMod = 0; |
| 2966 | gpm_zerobased = 1; | ||
| 2980 | 2967 | ||
| 2981 | /* We only support GPM on the controlling tty. */ | 2968 | /* We only support GPM on the controlling tty. */ |
| 2982 | if (term_gpm || tty->terminal->id > 1 | 2969 | if (term_gpm || tty->terminal->id > 1 |
diff --git a/src/w32fns.c b/src/w32fns.c index 0306804f14c..e76ca2ddc62 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -7925,9 +7925,9 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */) | |||
| 7925 | /* Apparently NT4 crashes if you give it an unexpected size. | 7925 | /* Apparently NT4 crashes if you give it an unexpected size. |
| 7926 | I'm not sure about Windows 9x, so play it safe. */ | 7926 | I'm not sure about Windows 9x, so play it safe. */ |
| 7927 | if (w32_major_version > 4 && w32_major_version < 95) | 7927 | if (w32_major_version > 4 && w32_major_version < 95) |
| 7928 | file_details->lStructSize = sizeof (new_file_details); | 7928 | file_details->lStructSize = sizeof (NEWOPENFILENAME); |
| 7929 | else | 7929 | else |
| 7930 | file_details->lStructSize = sizeof (file_details); | 7930 | file_details->lStructSize = sizeof (OPENFILENAME); |
| 7931 | 7931 | ||
| 7932 | file_details->hwndOwner = FRAME_W32_WINDOW (f); | 7932 | file_details->hwndOwner = FRAME_W32_WINDOW (f); |
| 7933 | /* Undocumented Bug in Common File Dialog: | 7933 | /* Undocumented Bug in Common File Dialog: |
diff --git a/src/window.c b/src/window.c index 90fdbf6c9b5..70cb04fa63d 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4112,8 +4112,8 @@ too small. */) | |||
| 4112 | DEFUN ("shrink-window", Fshrink_window, Sshrink_window, 1, 2, "p", | 4112 | DEFUN ("shrink-window", Fshrink_window, Sshrink_window, 1, 2, "p", |
| 4113 | doc: /* Make current window ARG lines smaller. | 4113 | doc: /* Make current window ARG lines smaller. |
| 4114 | From program, optional second arg non-nil means shrink sideways arg columns. | 4114 | From program, optional second arg non-nil means shrink sideways arg columns. |
| 4115 | Interactively, if an argument is not given, make the window one line smaller. Only | 4115 | Interactively, if an argument is not given, make the window one line smaller. |
| 4116 | siblings to the right or below are changed. */) | 4116 | Only siblings to the right or below are changed. */) |
| 4117 | (arg, side) | 4117 | (arg, side) |
| 4118 | Lisp_Object arg, side; | 4118 | Lisp_Object arg, side; |
| 4119 | { | 4119 | { |
diff --git a/src/xdisp.c b/src/xdisp.c index 268f1ec8b8c..afa7f92a1cc 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -17354,7 +17354,7 @@ are the selected window and the window's buffer). */) | |||
| 17354 | CHECK_BUFFER (buffer); | 17354 | CHECK_BUFFER (buffer); |
| 17355 | 17355 | ||
| 17356 | if (NILP (format)) | 17356 | if (NILP (format)) |
| 17357 | return build_string (""); | 17357 | return empty_unibyte_string; |
| 17358 | 17358 | ||
| 17359 | if (no_props) | 17359 | if (no_props) |
| 17360 | face = Qnil; | 17360 | face = Qnil; |
| @@ -17412,7 +17412,7 @@ are the selected window and the window's buffer). */) | |||
| 17412 | { | 17412 | { |
| 17413 | mode_line_string_list = Fnreverse (mode_line_string_list); | 17413 | mode_line_string_list = Fnreverse (mode_line_string_list); |
| 17414 | str = Fmapconcat (intern ("identity"), mode_line_string_list, | 17414 | str = Fmapconcat (intern ("identity"), mode_line_string_list, |
| 17415 | make_string ("", 0)); | 17415 | empty_unibyte_string); |
| 17416 | } | 17416 | } |
| 17417 | 17417 | ||
| 17418 | unbind_to (count, Qnil); | 17418 | unbind_to (count, Qnil); |
| @@ -24097,7 +24097,7 @@ and is used only on frames for which no explicit name has been set | |||
| 24097 | = Vframe_title_format | 24097 | = Vframe_title_format |
| 24098 | = Fcons (intern ("multiple-frames"), | 24098 | = Fcons (intern ("multiple-frames"), |
| 24099 | Fcons (build_string ("%b"), | 24099 | Fcons (build_string ("%b"), |
| 24100 | Fcons (Fcons (empty_string, | 24100 | Fcons (Fcons (empty_unibyte_string, |
| 24101 | Fcons (intern ("invocation-name"), | 24101 | Fcons (intern ("invocation-name"), |
| 24102 | Fcons (build_string ("@"), | 24102 | Fcons (build_string ("@"), |
| 24103 | Fcons (intern ("system-name"), | 24103 | Fcons (intern ("system-name"), |
diff --git a/src/xfaces.c b/src/xfaces.c index 86a40078919..75c8b3c7f49 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -3952,6 +3952,8 @@ Otherwise check for the existence of a global face. */) | |||
| 3952 | { | 3952 | { |
| 3953 | Lisp_Object lface; | 3953 | Lisp_Object lface; |
| 3954 | 3954 | ||
| 3955 | face = resolve_face_name (face, 1); | ||
| 3956 | |||
| 3955 | if (!NILP (frame)) | 3957 | if (!NILP (frame)) |
| 3956 | { | 3958 | { |
| 3957 | CHECK_LIVE_FRAME (frame); | 3959 | CHECK_LIVE_FRAME (frame); |
diff --git a/src/xfns.c b/src/xfns.c index f2c85814847..e51dea84118 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -1525,6 +1525,8 @@ x_set_scroll_bar_background (f, value, oldval) | |||
| 1525 | /* Encode Lisp string STRING as a text in a format appropriate for | 1525 | /* Encode Lisp string STRING as a text in a format appropriate for |
| 1526 | XICCC (X Inter Client Communication Conventions). | 1526 | XICCC (X Inter Client Communication Conventions). |
| 1527 | 1527 | ||
| 1528 | This can call Lisp code, so callers must GCPRO. | ||
| 1529 | |||
| 1528 | If STRING contains only ASCII characters, do no conversion and | 1530 | If STRING contains only ASCII characters, do no conversion and |
| 1529 | return the string data of STRING. Otherwise, encode the text by | 1531 | return the string data of STRING. Otherwise, encode the text by |
| 1530 | CODING_SYSTEM, and return a newly allocated memory area which | 1532 | CODING_SYSTEM, and return a newly allocated memory area which |
| @@ -1572,7 +1574,11 @@ x_encode_text (string, coding_system, selectionp, text_bytes, stringp, freep) | |||
| 1572 | && SYMBOLP (coding.pre_write_conversion) | 1574 | && SYMBOLP (coding.pre_write_conversion) |
| 1573 | && !NILP (Ffboundp (coding.pre_write_conversion))) | 1575 | && !NILP (Ffboundp (coding.pre_write_conversion))) |
| 1574 | { | 1576 | { |
| 1577 | struct gcpro gcpro1; | ||
| 1578 | /* We don't need to GCPRO string. */ | ||
| 1579 | GCPRO1 (coding_system); | ||
| 1575 | string = run_pre_post_conversion_on_str (string, &coding, 1); | 1580 | string = run_pre_post_conversion_on_str (string, &coding, 1); |
| 1581 | UNGCPRO; | ||
| 1576 | str = SDATA (string); | 1582 | str = SDATA (string); |
| 1577 | chars = SCHARS (string); | 1583 | chars = SCHARS (string); |
| 1578 | bytes = SBYTES (string); | 1584 | bytes = SBYTES (string); |
| @@ -1614,6 +1620,16 @@ x_set_name_internal (f, name) | |||
| 1614 | int bytes, stringp; | 1620 | int bytes, stringp; |
| 1615 | int do_free_icon_value = 0, do_free_text_value = 0; | 1621 | int do_free_icon_value = 0, do_free_text_value = 0; |
| 1616 | Lisp_Object coding_system; | 1622 | Lisp_Object coding_system; |
| 1623 | #ifdef USE_GTK | ||
| 1624 | Lisp_Object encoded_name; | ||
| 1625 | struct gcpro gcpro1; | ||
| 1626 | |||
| 1627 | /* As ENCODE_UTF_8 may cause GC and relocation of string data, | ||
| 1628 | we use it before x_encode_text that may return string data. */ | ||
| 1629 | GCPRO1 (name); | ||
| 1630 | encoded_name = ENCODE_UTF_8 (name); | ||
| 1631 | UNGCPRO; | ||
| 1632 | #endif | ||
| 1617 | 1633 | ||
| 1618 | coding_system = Qcompound_text; | 1634 | coding_system = Qcompound_text; |
| 1619 | /* Note: Encoding strategy | 1635 | /* Note: Encoding strategy |
| @@ -1654,7 +1670,7 @@ x_set_name_internal (f, name) | |||
| 1654 | 1670 | ||
| 1655 | #ifdef USE_GTK | 1671 | #ifdef USE_GTK |
| 1656 | gtk_window_set_title (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), | 1672 | gtk_window_set_title (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), |
| 1657 | (char *) SDATA (ENCODE_UTF_8 (name))); | 1673 | (char *) SDATA (encoded_name)); |
| 1658 | #else /* not USE_GTK */ | 1674 | #else /* not USE_GTK */ |
| 1659 | XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); | 1675 | XSetWMName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); |
| 1660 | #endif /* not USE_GTK */ | 1676 | #endif /* not USE_GTK */ |
| @@ -1840,9 +1856,9 @@ x_default_scroll_bar_color_parameter (f, alist, prop, xprop, xclass, | |||
| 1840 | build_string (foreground_p | 1856 | build_string (foreground_p |
| 1841 | ? "foreground" | 1857 | ? "foreground" |
| 1842 | : "background"), | 1858 | : "background"), |
| 1843 | empty_string, | 1859 | empty_unibyte_string, |
| 1844 | build_string ("verticalScrollBar"), | 1860 | build_string ("verticalScrollBar"), |
| 1845 | empty_string); | 1861 | empty_unibyte_string); |
| 1846 | if (!STRINGP (tem)) | 1862 | if (!STRINGP (tem)) |
| 1847 | { | 1863 | { |
| 1848 | /* If nothing has been specified, scroll bars will use a | 1864 | /* If nothing has been specified, scroll bars will use a |
diff --git a/src/xmenu.c b/src/xmenu.c index 228c89f9aa4..4390d9429af 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -325,7 +325,7 @@ restore_menu_items (saved) | |||
| 325 | menu_items_used = XINT (XCAR (saved)); | 325 | menu_items_used = XINT (XCAR (saved)); |
| 326 | saved = XCDR (saved); | 326 | saved = XCDR (saved); |
| 327 | menu_items_n_panes = XINT (XCAR (saved)); | 327 | menu_items_n_panes = XINT (XCAR (saved)); |
| 328 | saved = XCDR (saved); | 328 | saved = XCDR (saved); |
| 329 | menu_items_submenu_depth = XINT (XCAR (saved)); | 329 | menu_items_submenu_depth = XINT (XCAR (saved)); |
| 330 | return Qnil; | 330 | return Qnil; |
| 331 | } | 331 | } |
| @@ -3470,7 +3470,7 @@ menu_help_callback (help_string, pane, item) | |||
| 3470 | pane_name = first_item[MENU_ITEMS_PANE_NAME]; | 3470 | pane_name = first_item[MENU_ITEMS_PANE_NAME]; |
| 3471 | else if (EQ (first_item[0], Qquote)) | 3471 | else if (EQ (first_item[0], Qquote)) |
| 3472 | /* This shouldn't happen, see xmenu_show. */ | 3472 | /* This shouldn't happen, see xmenu_show. */ |
| 3473 | pane_name = empty_string; | 3473 | pane_name = empty_unibyte_string; |
| 3474 | else | 3474 | else |
| 3475 | pane_name = first_item[MENU_ITEMS_ITEM_NAME]; | 3475 | pane_name = first_item[MENU_ITEMS_ITEM_NAME]; |
| 3476 | 3476 | ||
diff --git a/src/xselect.c b/src/xselect.c index 5ce6763cd30..e491e5b661e 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -2712,7 +2712,7 @@ If the value is 0 or the atom is not known, return the empty string. */) | |||
| 2712 | ret = make_string (name, strlen (name)); | 2712 | ret = make_string (name, strlen (name)); |
| 2713 | 2713 | ||
| 2714 | if (atom && name) XFree (name); | 2714 | if (atom && name) XFree (name); |
| 2715 | if (NILP (ret)) ret = make_string ("", 0); | 2715 | if (NILP (ret)) ret = empty_unibyte_string; |
| 2716 | 2716 | ||
| 2717 | UNBLOCK_INPUT; | 2717 | UNBLOCK_INPUT; |
| 2718 | 2718 | ||
diff --git a/src/xterm.c b/src/xterm.c index 6fcaa3d1294..9f392710270 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -8397,7 +8397,7 @@ wm_supports (f, atomname) | |||
| 8397 | prop_atom, 0, max_len, False, target_type, | 8397 | prop_atom, 0, max_len, False, target_type, |
| 8398 | &actual_type, &actual_format, &actual_size, | 8398 | &actual_type, &actual_format, &actual_size, |
| 8399 | &bytes_remaining, &tmp_data); | 8399 | &bytes_remaining, &tmp_data); |
| 8400 | 8400 | ||
| 8401 | if (rc != Success || actual_type != XA_WINDOW || x_had_errors_p (dpy)) | 8401 | if (rc != Success || actual_type != XA_WINDOW || x_had_errors_p (dpy)) |
| 8402 | { | 8402 | { |
| 8403 | if (tmp_data) XFree (tmp_data); | 8403 | if (tmp_data) XFree (tmp_data); |
| @@ -8452,7 +8452,7 @@ wm_supports (f, atomname) | |||
| 8452 | rc = 0; | 8452 | rc = 0; |
| 8453 | want_atom = XInternAtom (dpy, atomname, False); | 8453 | want_atom = XInternAtom (dpy, atomname, False); |
| 8454 | 8454 | ||
| 8455 | for (i = 0; rc == 0 && i < dpyinfo->nr_net_supported_atoms; ++i) | 8455 | for (i = 0; rc == 0 && i < dpyinfo->nr_net_supported_atoms; ++i) |
| 8456 | rc = dpyinfo->net_supported_atoms[i] == want_atom; | 8456 | rc = dpyinfo->net_supported_atoms[i] == want_atom; |
| 8457 | 8457 | ||
| 8458 | x_uncatch_errors (); | 8458 | x_uncatch_errors (); |
| @@ -10699,7 +10699,7 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 10699 | UNBLOCK_INPUT; | 10699 | UNBLOCK_INPUT; |
| 10700 | terminal->kboard->Vsystem_key_alist | 10700 | terminal->kboard->Vsystem_key_alist |
| 10701 | = call1 (Qvendor_specific_keysyms, | 10701 | = call1 (Qvendor_specific_keysyms, |
| 10702 | build_string (vendor ? vendor : "")); | 10702 | vendor ? build_string (vendor) : empty_unibyte_string); |
| 10703 | BLOCK_INPUT; | 10703 | BLOCK_INPUT; |
| 10704 | } | 10704 | } |
| 10705 | 10705 | ||