diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2005-10-19 14:06:17 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2005-10-19 14:06:17 +0000 |
commit | 1072671b5b0f1fda9f91ea99da4bf0bd275ce6eb (patch) | |
tree | f1b05485825e65d7c0ca06cb273be4fe16a44a3f | |
parent | 6d8cf83040cdb54a0b1d72bd6a021f9815bd4af2 (diff) | |
parent | 8b1b64617b37243f75c4052653761d2e2a3943f3 (diff) | |
download | emacs-1072671b5b0f1fda9f91ea99da4bf0bd275ce6eb.tar.gz emacs-1072671b5b0f1fda9f91ea99da4bf0bd275ce6eb.tar.bz2 emacs-1072671b5b0f1fda9f91ea99da4bf0bd275ce6eb.zip |
Merged from miles@gnu.org--gnu-2005 (patch 133-141, 596-609)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-596
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-597
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-598
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-599
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-600
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-601
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-602
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-603
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-604
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-605
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-606
Remove lisp/toolbar directory
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-607
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-608
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-609
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-133
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-134
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-135
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-136
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-137
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-138
Update from CVS: texi/gnus.texi (RSS): Fix key description.
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-139
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-140
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-141
Update from CVS: texi/gnus.texi (Document Server Internals): Addition.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-426
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | admin/ChangeLog | 5 | ||||
-rw-r--r-- | admin/FOR-RELEASE | 3 | ||||
-rw-r--r-- | etc/ChangeLog | 95 | ||||
-rw-r--r-- | etc/MH-E-NEWS | 45 | ||||
-rw-r--r-- | etc/NEWS | 11 | ||||
-rw-r--r-- | etc/images/README | 16 | ||||
-rw-r--r-- | etc/images/attach.pbm (renamed from lisp/toolbar/attach.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/back-arrow.pbm (renamed from lisp/toolbar/back_arrow.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/back-arrow.xpm (renamed from lisp/toolbar/back_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/cancel.pbm (renamed from lisp/toolbar/cancel.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/cancel.xpm (renamed from lisp/toolbar/cancel.xpm) | 0 | ||||
-rw-r--r-- | etc/images/close.pbm (renamed from lisp/toolbar/close.pbm) | bin | 199 -> 199 bytes | |||
-rw-r--r-- | etc/images/close.xpm (renamed from lisp/toolbar/close.xpm) | 0 | ||||
-rw-r--r-- | etc/images/copy.pbm (renamed from lisp/toolbar/copy.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/copy.xpm (renamed from lisp/toolbar/copy.xpm) | 0 | ||||
-rw-r--r-- | etc/images/cut.pbm (renamed from lisp/toolbar/cut.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/cut.xpm (renamed from lisp/toolbar/cut.xpm) | 0 | ||||
-rw-r--r-- | etc/images/diropen.pbm (renamed from lisp/toolbar/diropen.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/diropen.xpm (renamed from lisp/toolbar/diropen.xpm) | 0 | ||||
-rw-r--r-- | etc/images/exit.pbm (renamed from lisp/toolbar/exit.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/exit.xpm (renamed from lisp/toolbar/exit.xpm) | 0 | ||||
-rw-r--r-- | etc/images/fld-open.pbm (renamed from lisp/toolbar/fld_open.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/fld-open.xpm (renamed from lisp/toolbar/fld_open.xpm) | 0 | ||||
-rw-r--r-- | etc/images/fwd-arrow.pbm (renamed from lisp/toolbar/fwd_arrow.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/fwd-arrow.xpm (renamed from lisp/toolbar/fwd_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/break.pbm (renamed from lisp/toolbar/gud-break.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/break.xpm (renamed from lisp/toolbar/gud-break.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/cont.pbm (renamed from lisp/toolbar/gud-cont.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/cont.xpm (renamed from lisp/toolbar/gud-cont.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/down.pbm (renamed from lisp/toolbar/gud-down.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/down.xpm (renamed from lisp/toolbar/gud-down.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/finish.pbm (renamed from lisp/toolbar/gud-finish.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/finish.xpm (renamed from lisp/toolbar/gud-finish.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/next.pbm (renamed from lisp/toolbar/gud-n.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/next.xpm (renamed from lisp/toolbar/gud-n.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/nexti.pbm (renamed from lisp/toolbar/gud-ni.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/nexti.xpm (renamed from lisp/toolbar/gud-ni.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/print.pbm (renamed from lisp/toolbar/gud-print.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/print.xpm (renamed from lisp/toolbar/gud-print.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/pstar.pbm (renamed from lisp/toolbar/gud-pstar.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/pstar.xpm (renamed from lisp/toolbar/gud-pstar.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/remove.pbm (renamed from lisp/toolbar/gud-remove.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/remove.xpm (renamed from lisp/toolbar/gud-remove.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/run.pbm (renamed from lisp/toolbar/gud-run.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/run.xpm (renamed from lisp/toolbar/gud-run.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/step.pbm (renamed from lisp/toolbar/gud-s.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/step.xpm (renamed from lisp/toolbar/gud-s.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/stepi.pbm (renamed from lisp/toolbar/gud-si.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/stepi.xpm (renamed from lisp/toolbar/gud-si.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/until.pbm (renamed from lisp/toolbar/gud-until.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/until.xpm (renamed from lisp/toolbar/gud-until.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/up.pbm (renamed from lisp/toolbar/gud-up.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/up.xpm (renamed from lisp/toolbar/gud-up.xpm) | 0 | ||||
-rw-r--r-- | etc/images/gud/watch.pbm (renamed from lisp/toolbar/gud-watch.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/gud/watch.xpm (renamed from lisp/toolbar/gud-watch.xpm) | 0 | ||||
-rw-r--r-- | etc/images/help.pbm (renamed from lisp/toolbar/help.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/help.xpm (renamed from lisp/toolbar/help.xpm) | 0 | ||||
-rw-r--r-- | etc/images/home.pbm (renamed from lisp/toolbar/home.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/home.xpm (renamed from lisp/toolbar/home.xpm) | 0 | ||||
-rw-r--r-- | etc/images/index.pbm (renamed from lisp/toolbar/index.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/index.xpm (renamed from lisp/toolbar/index.xpm) | 0 | ||||
-rw-r--r-- | etc/images/info.pbm (renamed from lisp/toolbar/info.pbm) | bin | 81 -> 81 bytes | |||
-rw-r--r-- | etc/images/info.xpm (renamed from lisp/toolbar/info.xpm) | 0 | ||||
-rw-r--r-- | etc/images/jump-to.pbm (renamed from lisp/toolbar/jump_to.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/jump-to.xpm (renamed from lisp/toolbar/jump_to.xpm) | 0 | ||||
-rw-r--r-- | etc/images/left-arrow.pbm (renamed from lisp/toolbar/left_arrow.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/left-arrow.xpm (renamed from lisp/toolbar/left_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/back-arrow.xpm (renamed from lisp/toolbar/lc-back_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/copy.xpm (renamed from lisp/toolbar/lc-copy.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/cut.xpm (renamed from lisp/toolbar/lc-cut.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/fwd-arrow.xpm (renamed from lisp/toolbar/lc-fwd_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/help.xpm (renamed from lisp/toolbar/lc-help.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/home.xpm (renamed from lisp/toolbar/lc-home.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/index.xpm (renamed from lisp/toolbar/lc-index.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/jump-to.xpm (renamed from lisp/toolbar/lc-jump_to.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/left-arrow.xpm (renamed from lisp/toolbar/lc-left_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/new.xpm (renamed from lisp/toolbar/lc-new.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/open.xpm (renamed from lisp/toolbar/lc-open.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/paste.xpm (renamed from lisp/toolbar/lc-paste.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/preferences.xpm (renamed from lisp/toolbar/lc-preferences.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/print.xpm (renamed from lisp/toolbar/lc-print.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/right-arrow.xpm (renamed from lisp/toolbar/lc-right_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/save.xpm (renamed from lisp/toolbar/lc-save.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/saveas.xpm (renamed from lisp/toolbar/lc-saveas.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/search.xpm (renamed from lisp/toolbar/lc-search.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/spell.xpm (renamed from lisp/toolbar/lc-spell.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/undo.xpm (renamed from lisp/toolbar/lc-undo.xpm) | 0 | ||||
-rw-r--r-- | etc/images/low-color/up-arrow.xpm (renamed from lisp/toolbar/lc-up_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/mail.pbm (renamed from lisp/toolbar/mail.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/mail.xpm (renamed from lisp/toolbar/mail.xpm) | 0 | ||||
-rw-r--r-- | etc/images/mail/compose.pbm (renamed from lisp/toolbar/mail_compose.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/mail/compose.xpm (renamed from lisp/toolbar/mail_compose.xpm) | 0 | ||||
-rw-r--r-- | etc/images/mail/send.pbm (renamed from lisp/toolbar/mail_send.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/mail/send.xpm (renamed from lisp/toolbar/mail_send.xpm) | 0 | ||||
-rw-r--r-- | etc/images/new.pbm (renamed from lisp/toolbar/new.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/new.xpm (renamed from lisp/toolbar/new.xpm) | 0 | ||||
-rw-r--r-- | etc/images/open.pbm (renamed from lisp/toolbar/open.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/open.xpm (renamed from lisp/toolbar/open.xpm) | 0 | ||||
-rw-r--r-- | etc/images/paste.pbm (renamed from lisp/toolbar/paste.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/paste.xpm (renamed from lisp/toolbar/paste.xpm) | 0 | ||||
-rw-r--r-- | etc/images/preferences.pbm (renamed from lisp/toolbar/preferences.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/preferences.xpm (renamed from lisp/toolbar/preferences.xpm) | 0 | ||||
-rw-r--r-- | etc/images/print.pbm (renamed from lisp/toolbar/print.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/print.xpm (renamed from lisp/toolbar/print.xpm) | 0 | ||||
-rw-r--r-- | etc/images/right-arrow.pbm (renamed from lisp/toolbar/right_arrow.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/right-arrow.xpm (renamed from lisp/toolbar/right_arrow.xpm) | 0 | ||||
-rw-r--r-- | etc/images/save.pbm (renamed from lisp/toolbar/save.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/save.xpm (renamed from lisp/toolbar/save.xpm) | 0 | ||||
-rw-r--r-- | etc/images/saveas.pbm (renamed from lisp/toolbar/saveas.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/saveas.xpm (renamed from lisp/toolbar/saveas.xpm) | 0 | ||||
-rw-r--r-- | etc/images/search-replace.pbm (renamed from lisp/toolbar/search-replace.pbm) | bin | 634 -> 634 bytes | |||
-rw-r--r-- | etc/images/search-replace.xpm (renamed from lisp/toolbar/search-replace.xpm) | 0 | ||||
-rw-r--r-- | etc/images/search.pbm (renamed from lisp/toolbar/search.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/search.xpm (renamed from lisp/toolbar/search.xpm) | 0 | ||||
-rw-r--r-- | etc/images/spell.pbm (renamed from lisp/toolbar/spell.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/spell.xpm (renamed from lisp/toolbar/spell.xpm) | 0 | ||||
-rw-r--r-- | etc/images/undo.pbm (renamed from lisp/toolbar/undo.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/undo.xpm (renamed from lisp/toolbar/undo.xpm) | 0 | ||||
-rw-r--r-- | etc/images/up-arrow.pbm (renamed from lisp/toolbar/up_arrow.pbm) | bin | 185 -> 185 bytes | |||
-rw-r--r-- | etc/images/up-arrow.xpm (renamed from lisp/toolbar/up_arrow.xpm) | 0 | ||||
-rw-r--r-- | lisp/ChangeLog | 337 | ||||
-rw-r--r-- | lisp/arc-mode.el | 3 | ||||
-rw-r--r-- | lisp/bookmark.el | 42 | ||||
-rw-r--r-- | lisp/calc/calc-store.el | 2 | ||||
-rw-r--r-- | lisp/cus-edit.el | 12 | ||||
-rw-r--r-- | lisp/dabbrev.el | 3 | ||||
-rw-r--r-- | lisp/diff-mode.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/lisp.el | 2 | ||||
-rw-r--r-- | lisp/eshell/em-hist.el | 2 | ||||
-rw-r--r-- | lisp/ffap.el | 4 | ||||
-rw-r--r-- | lisp/filecache.el | 4 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 21 | ||||
-rw-r--r-- | lisp/gnus/gnus-cus.el | 16 | ||||
-rw-r--r-- | lisp/gnus/message.el | 4 | ||||
-rw-r--r-- | lisp/gnus/nnrss.el | 13 | ||||
-rw-r--r-- | lisp/info.el | 83 | ||||
-rw-r--r-- | lisp/jit-lock.el | 14 | ||||
-rw-r--r-- | lisp/longlines.el | 24 | ||||
-rw-r--r-- | lisp/mail/mailabbrev.el | 3 | ||||
-rw-r--r-- | lisp/mail/sendmail.el | 5 | ||||
-rw-r--r-- | lisp/makefile.w32-in | 66 | ||||
-rw-r--r-- | lisp/man.el | 23 | ||||
-rw-r--r-- | lisp/menu-bar.el | 2 | ||||
-rw-r--r-- | lisp/mh-e/ChangeLog | 78 | ||||
-rw-r--r-- | lisp/mh-e/mh-comp.el | 20 | ||||
-rw-r--r-- | lisp/mh-e/mh-customize.el | 11 | ||||
-rw-r--r-- | lisp/mh-e/mh-e.el | 9 | ||||
-rw-r--r-- | lisp/mh-e/mh-funcs.el | 2 | ||||
-rw-r--r-- | lisp/mh-e/mh-identity.el | 2 | ||||
-rw-r--r-- | lisp/mh-e/mh-init.el | 54 | ||||
-rw-r--r-- | lisp/mh-e/mh-mime.el | 2 | ||||
-rw-r--r-- | lisp/mh-e/mh-pick.el | 2 | ||||
-rw-r--r-- | lisp/mh-e/mh-seq.el | 5 | ||||
-rw-r--r-- | lisp/mh-e/mh-utils.el | 6 | ||||
-rw-r--r-- | lisp/mouse.el | 24 | ||||
-rw-r--r-- | lisp/net/tramp.el | 130 | ||||
-rw-r--r-- | lisp/pcvs.el | 29 | ||||
-rw-r--r-- | lisp/progmodes/compile.el | 64 | ||||
-rw-r--r-- | lisp/progmodes/etags.el | 3 | ||||
-rw-r--r-- | lisp/progmodes/gdb-ui.el | 7 | ||||
-rw-r--r-- | lisp/progmodes/gud.el | 39 | ||||
-rw-r--r-- | lisp/progmodes/make-mode.el | 2 | ||||
-rw-r--r-- | lisp/progmodes/meta-mode.el | 2 | ||||
-rw-r--r-- | lisp/progmodes/octave-mod.el | 2 | ||||
-rw-r--r-- | lisp/progmodes/pascal.el | 4 | ||||
-rw-r--r-- | lisp/progmodes/python.el | 2 | ||||
-rw-r--r-- | lisp/recentf.el | 106 | ||||
-rw-r--r-- | lisp/savehist.el | 270 | ||||
-rw-r--r-- | lisp/simple.el | 26 | ||||
-rw-r--r-- | lisp/speedbar.el | 38 | ||||
-rw-r--r-- | lisp/tempo.el | 6 | ||||
-rw-r--r-- | lisp/term/mac-win.el | 53 | ||||
-rw-r--r-- | lisp/textmodes/bibtex.el | 4 | ||||
-rw-r--r-- | lisp/textmodes/conf-mode.el | 78 | ||||
-rw-r--r-- | lisp/textmodes/org.el | 2 | ||||
-rw-r--r-- | lisp/textmodes/tex-mode.el | 2 | ||||
-rw-r--r-- | lisp/tool-bar.el (renamed from lisp/toolbar/tool-bar.el) | 24 | ||||
-rw-r--r-- | lisp/toolbar/README | 12 | ||||
-rw-r--r-- | lisp/tree-widget.el | 13 | ||||
-rw-r--r-- | lisp/url/ChangeLog | 4 | ||||
-rw-r--r-- | lisp/url/url.el | 14 | ||||
-rw-r--r-- | lisp/wid-edit.el | 16 | ||||
-rw-r--r-- | lisp/woman.el | 7 | ||||
-rw-r--r-- | lispref/ChangeLog | 27 | ||||
-rw-r--r-- | lispref/buffers.texi | 6 | ||||
-rw-r--r-- | lispref/commands.texi | 21 | ||||
-rw-r--r-- | lispref/compile.texi | 6 | ||||
-rw-r--r-- | lispref/customize.texi | 2 | ||||
-rw-r--r-- | lispref/display.texi | 4 | ||||
-rw-r--r-- | lispref/files.texi | 2 | ||||
-rw-r--r-- | lispref/modes.texi | 6 | ||||
-rw-r--r-- | lispref/positions.texi | 8 | ||||
-rw-r--r-- | lispref/processes.texi | 21 | ||||
-rw-r--r-- | lispref/streams.texi | 2 | ||||
-rw-r--r-- | lispref/syntax.texi | 2 | ||||
-rw-r--r-- | lispref/text.texi | 2 | ||||
-rwxr-xr-x | make-dist | 11 | ||||
-rw-r--r-- | man/ChangeLog | 58 | ||||
-rw-r--r-- | man/building.texi | 41 | ||||
-rw-r--r-- | man/files.texi | 2 | ||||
-rw-r--r-- | man/gnus.texi | 107 | ||||
-rw-r--r-- | man/info.texi | 61 | ||||
-rw-r--r-- | man/misc.texi | 3 | ||||
-rw-r--r-- | man/viper.texi | 4 | ||||
-rw-r--r-- | src/ChangeLog | 68 | ||||
-rw-r--r-- | src/casefiddle.c | 8 | ||||
-rw-r--r-- | src/mac.c | 40 | ||||
-rw-r--r-- | src/macfns.c | 21 | ||||
-rw-r--r-- | src/macterm.c | 683 | ||||
-rw-r--r-- | src/macterm.h | 2 | ||||
-rw-r--r-- | src/minibuf.c | 32 | ||||
-rw-r--r-- | src/search.c | 40 | ||||
-rw-r--r-- | src/w32term.c | 18 |
214 files changed, 2169 insertions, 1183 deletions
diff --git a/ChangeLog b/ChangeLog index 444a2975854..69096da32de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-10-17 Bill Wohler <wohler@newt.com> + + * make-dist: Create and populate etc/images/low-color. + +2005-10-15 Bill Wohler <wohler@newt.com> + + * make-dist: Create and populate etc/images/gud. + 2005-10-08 Richard M. Stallman <rms@gnu.org> * make-dist (tempparent): Don't check for 14-char file name limit. diff --git a/admin/ChangeLog b/admin/ChangeLog index 3ed09ce60c9..68194266dd6 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,8 @@ +2005-10-17 Bill Wohler <wohler@newt.com> + + * FOR-RELEASE (DOCUMENTATION): Removed lisp/toolbar from list + since it's gone. Also marked mh-e as done. + 2005-10-11 Juanma Barranquero <lekktu@gmail.com> * FOR-RELEASE (FATAL ERRORS): Remove item about JPEG diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 73309bbb7e5..ba744a621c6 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -89,14 +89,13 @@ lisp/gnus done ttn lisp/international done Kenichi Handa lisp/language done Kenichi Handa lisp/mail done ttn -lisp/mh-e working Bill Wohler +lisp/mh-e done Bill Wohler lisp/net done ttn lisp/obsolete done ttn lisp/play done ttn lisp/progmodes done Nick Roberts lisp/term done ttn lisp/textmodes done ttn -lisp/toolbar done ttn lisp/url done ttn lispintro done ttn lispref done ttn diff --git a/etc/ChangeLog b/etc/ChangeLog index d5bc0f4abb0..afc7b6b8249 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,96 @@ +2005-10-17 Bill Wohler <wohler@newt.com> + + Moved all remaining images from lisp/toolbar to etc/images. The + low resolution images were placed in their own directory (low-color). + + * images/attach.*, images/cancel.*, images/close.*: + * images/copy.*, images/cut.*, images/diropen.*: + * images/exit.*, images/help.*, images/home.*: + * images/index.*, images/info.*, images/mail.*: + * images/new.*, images/open.*, images/paste.*: + * images/preferences.*, images/print.*, images/save.*: + * images/saveas.*, images/search.*: + * images/search-replace.*, images/spell.*: + * images/undo.*: Moved here from lisp/toolbar. + + * images/low-color/copy.*: Moved here from lisp/toolbar/lc-copy.*. + * images/low-color/cut.*: Moved here from lisp/toolbar/lc-cut.*. + * images/low-color/help.*: Moved here from lisp/toolbar/lc-help.*. + * images/low-color/home.*: Moved here from lisp/toolbar/lc-home.*. + * images/low-color/index.*: Moved here from lisp/toolbar/lc-index.*. + * images/low-color/new.*: Moved here from lisp/toolbar/lc-new.*. + * images/low-color/open.*: Moved here from lisp/toolbar/lc-open.*. + * images/low-color/paste.*: Moved here from lisp/toolbar/lc-paste.*. + * images/low-color/preferences.*: Moved here from + lisp/toolbar/lc-preferences.*. + * images/low-color/print.*: Moved here from lisp/toolbar/lc-print.*. + * images/low-color/save.*: Moved here from lisp/toolbar/lc-save.*. + * images/low-color/saveas.*: Moved here from lisp/toolbar/lc-saveas.*. + * images/low-color/search.*: Moved here from lisp/toolbar/lc-search.*. + * images/low-color/spell.*: Moved here from lisp/toolbar/lc-spell.*. + * images/low-color/undo.*: Moved here from lisp/toolbar/lc-undo.*. + + To conform with convention, the underscore (_) in the following + image names were replaced with dash (-) or (/) as appropriate. + + * images/back-arrow.*: Moved here from lisp/toolbar/back_arrow.*. + * images/fld-open.*: Moved here from lisp/toolbar/fld_open.*. + * images/fwd-arrow.*: Moved here from lisp/toolbar/fwd_arrow.*. + * images/jump-to.*: Moved here from lisp/toolbar/jump_to.*. + * images/left-arrow.*: Moved here from lisp/toolbar/left_arrow.*. + * images/right-arrow.*: Moved here from lisp/toolbar/right_arrow.*. + * images/up-arrow.*: Moved here from lisp/toolbar/up_arrow.*. + * images/low-color/back-arrow.*: Moved here from + lisp/toolbar/lc-back_arrow.*. + * images/low-color/fwd-arrow.*: Moved here from + lisp/toolbar/lc-fwd_arrow.*. + * images/low-color/jump-to.*: Moved here from + lisp/toolbar/lc-jump_to.*. + * images/low-color/left-arrow.*: Moved here from + lisp/toolbar/lc-left_arrow.*. + * images/low-color/right-arrow.*: Moved here from + lisp/toolbar/lc-right_arrow.*. + * images/low-color/up-arrow.*: Moved here from + lisp/toolbar/lc-up_arrow.*. + * images/mail/compose.*: Moved here from lisp/toolbar/mail_compose.*. + * images/mail/send.*: Moved here from lisp/toolbar/mail_send.*. + + * images/README: Incorporated the content of lisp/toolbar/README + now that all of the images are here. + +2005-10-16 Nick Roberts <nickrob@snap.net.nz> + + * images/gud/n.pbm, images/gud/n.xpm + * images/gud/ni.xpm, images/gud/ni.xpm + * images/gud/s.xpm, images/gud/s.xpm + * images/gud/si.xpm, images/gud/si.xpm: Rename to + next.*, nexti.*, step.*, and stepi.* , respectively, as the + file-name no longer clashes on 8+3 filesystems. + +2005-10-14 Bill Wohler <wohler@newt.com> + + * images/gud/break.*: Moved here from toolbar/gud-break.*. + * images/gud/cont.*: Moved here from toolbar/gud-cont.*. + * images/gud/down.*: Moved here from toolbar/gud-down.*. + * images/gud/finish.*: Moved here from toolbar/gud-finish.*. + * images/gud/ni.*: Moved here from toolbar/gud-ni.*. + * images/gud/n.*: Moved here from toolbar/gud-n.*. + * images/gud/print.*: Moved here from toolbar/gud-print.*. + * images/gud/pstar.*: Moved here from toolbar/gud-pstar.*. + * images/gud/remove.*: Moved here from toolbar/gud-remove.*. + * images/gud/run.*: Moved here from toolbar/gud-run.*. + * images/gud/si.*: Moved here from toolbar/gud-si.*. + * images/gud/s.*: Moved here from toolbar/gud-s.*. + * images/gud/until.*: Moved here from toolbar/gud-until.*. + * images/gud/up.*: Moved here from toolbar/gud-up.*. + * images/gud/watch.*: Moved here from toolbar/gud-watch.*. + +2005-10-14 Bill Wohler <wohler@newt.com> + + Released MH-E version 7.85. + + * NEWS, MH-E-NEWS: Updated for release 7.85. + 2005-10-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * NEWS: -nb => -nbi @@ -17,7 +110,7 @@ 2005-09-30 Bill Wohler <wohler@newt.com> Moved MH-E image files from toolbar and mail directories into - etc/images. + images. * images/mail: New directory. diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS index e5b408c8785..34b4d2ab4d1 100644 --- a/etc/MH-E-NEWS +++ b/etc/MH-E-NEWS @@ -6,6 +6,51 @@ Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. +* Changes in MH-E 7.85 + +Version 7.85 heralds a migration of the CVS repository from +SourceForge to Savannah only for those files that were already part of +Emacs. As a result, two incompatibilities were introduced with this +release: the location of MH-E in the load-path has changed, and +mh-e-autoloads.el was renamed to mh-autoloads.el. While this migration +will benefit maintainers, it will also benefit users: CVS Emacs users +will not have to check out MH-E separately and welcome faster MH-E +updates, and CVS MH-E users will welcome faster MH-E updates from +Emacs developers. Read section CVS MH-E INSTALL in the README for +details. + +MH-E now works on a Mac. See section INSTALL in the README for details. + +** Bug Fixes in MH-E 7.85 + +*** Prompts Now Follow Current Conventions + +Instead of "Prompt: [<default>] ", the prompts now look like "Prompt +(default: <default>): ". + +*** Face Variable Names Now Follow Current Conventions + +The -face suffix has been dropped from all face names. + +*** mh-compose-forward and Default Message Number + +mh-compose-forward will now default to the sent message in the sent +folder and the `cur' message in other folders. It also takes ranges of +messages and can include multiple messages at a time (closes SF +#1205890). + +*** mh-customize Uses Group mh, Not mh-e + +The `mh' customization group alias has been deleted to avoid some +problems that were found (closes SF #1213716). + +*** font-lock Error in mh-letter-mode + +An error in MH-E was introduced as a result of a change in CVS Emacs. +This has been fixed (closes SF #1241017). + + + * Changes in MH-E 7.84 Version 7.84 contains no user-visible changes. This version @@ -673,6 +673,12 @@ same uses the face `completions-first-difference'. By default, parts less visible than normal, so that the rest of the differing parts is, by contrast, slightly highlighted. +Above fontification is always done when listing completions is +triggered at minibuffer. If you want to fontify completions whose +listing is triggered at the other normal buffer, you have to pass +the common prefix of completions to `display-completion-list' as +its second argument. + +++ *** File-name completion can now ignore specified directories. If an element of the list in `completion-ignored-extensions' ends in a @@ -1498,6 +1504,9 @@ corresponding articles in a web browser. Its documentation is in a separate manual. +++ +** savehist saves minibuffer histories between sessions. + ++++ ** Filesets are collections of files. You can define a fileset in various ways, such as based on a directory tree or based on program files that include other program files. @@ -2850,7 +2859,7 @@ See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. --- ** MH-E changes. -Upgraded to MH-E version 7.84. There have been major changes since +Upgraded to MH-E version 7.85. There have been major changes since version 5.0.2; see MH-E-NEWS for details. ** Calendar changes: diff --git a/etc/images/README b/etc/images/README index c697bfdc438..229840a2669 100644 --- a/etc/images/README +++ b/etc/images/README @@ -1,5 +1,17 @@ +All of the following icons are not part of Emacs, but distributed and +used by Emacs. + +The following icons are from GTK+ 2.x: + + close.xpm copy.xpm cut.xpm help.xpm home.xpm + index.xpm jump-to.xpm left-arrow.xpm new.xpm open.xpm + paste.xpm preferences.xpm print.xpm right-arrow.xpm save.xpm + saveas.xpm search.xpm spell.xpm undo.xpm up-arrow.xpm + + back-arrow.xpm and fwd-arrow.xpm are slightly modified undo and redo. + + diropen.xpm is file-manager.png from Gnome hicolor theme. + The following icons are from GNOME 2.10: refresh.pbm, refresh.xpm - -They are not part of Emacs, but distributed and used by Emacs. diff --git a/lisp/toolbar/attach.pbm b/etc/images/attach.pbm Binary files differindex e8fcd988f0c..e8fcd988f0c 100644 --- a/lisp/toolbar/attach.pbm +++ b/etc/images/attach.pbm diff --git a/lisp/toolbar/back_arrow.pbm b/etc/images/back-arrow.pbm Binary files differindex 7f9b8975d2f..7f9b8975d2f 100644 --- a/lisp/toolbar/back_arrow.pbm +++ b/etc/images/back-arrow.pbm diff --git a/lisp/toolbar/back_arrow.xpm b/etc/images/back-arrow.xpm index b9b13613d81..b9b13613d81 100644 --- a/lisp/toolbar/back_arrow.xpm +++ b/etc/images/back-arrow.xpm diff --git a/lisp/toolbar/cancel.pbm b/etc/images/cancel.pbm Binary files differindex bd85b764c27..bd85b764c27 100644 --- a/lisp/toolbar/cancel.pbm +++ b/etc/images/cancel.pbm diff --git a/lisp/toolbar/cancel.xpm b/etc/images/cancel.xpm index 1a9c80ac744..1a9c80ac744 100644 --- a/lisp/toolbar/cancel.xpm +++ b/etc/images/cancel.xpm diff --git a/lisp/toolbar/close.pbm b/etc/images/close.pbm Binary files differindex 5229be27525..5229be27525 100644 --- a/lisp/toolbar/close.pbm +++ b/etc/images/close.pbm diff --git a/lisp/toolbar/close.xpm b/etc/images/close.xpm index 498843be6e2..498843be6e2 100644 --- a/lisp/toolbar/close.xpm +++ b/etc/images/close.xpm diff --git a/lisp/toolbar/copy.pbm b/etc/images/copy.pbm Binary files differindex abfd22f93b3..abfd22f93b3 100644 --- a/lisp/toolbar/copy.pbm +++ b/etc/images/copy.pbm diff --git a/lisp/toolbar/copy.xpm b/etc/images/copy.xpm index 6262a95bc39..6262a95bc39 100644 --- a/lisp/toolbar/copy.xpm +++ b/etc/images/copy.xpm diff --git a/lisp/toolbar/cut.pbm b/etc/images/cut.pbm Binary files differindex 29bf1abc073..29bf1abc073 100644 --- a/lisp/toolbar/cut.pbm +++ b/etc/images/cut.pbm diff --git a/lisp/toolbar/cut.xpm b/etc/images/cut.xpm index 3f8e71d22ce..3f8e71d22ce 100644 --- a/lisp/toolbar/cut.xpm +++ b/etc/images/cut.xpm diff --git a/lisp/toolbar/diropen.pbm b/etc/images/diropen.pbm Binary files differindex 61adc3b2a23..61adc3b2a23 100644 --- a/lisp/toolbar/diropen.pbm +++ b/etc/images/diropen.pbm diff --git a/lisp/toolbar/diropen.xpm b/etc/images/diropen.xpm index 6937b99a44d..6937b99a44d 100644 --- a/lisp/toolbar/diropen.xpm +++ b/etc/images/diropen.xpm diff --git a/lisp/toolbar/exit.pbm b/etc/images/exit.pbm Binary files differindex a6dd11e7769..a6dd11e7769 100644 --- a/lisp/toolbar/exit.pbm +++ b/etc/images/exit.pbm diff --git a/lisp/toolbar/exit.xpm b/etc/images/exit.xpm index 291dd0dd170..291dd0dd170 100644 --- a/lisp/toolbar/exit.xpm +++ b/etc/images/exit.xpm diff --git a/lisp/toolbar/fld_open.pbm b/etc/images/fld-open.pbm Binary files differindex 3d2be258a67..3d2be258a67 100644 --- a/lisp/toolbar/fld_open.pbm +++ b/etc/images/fld-open.pbm diff --git a/lisp/toolbar/fld_open.xpm b/etc/images/fld-open.xpm index 220410003fd..220410003fd 100644 --- a/lisp/toolbar/fld_open.xpm +++ b/etc/images/fld-open.xpm diff --git a/lisp/toolbar/fwd_arrow.pbm b/etc/images/fwd-arrow.pbm Binary files differindex e08e6fa35db..e08e6fa35db 100644 --- a/lisp/toolbar/fwd_arrow.pbm +++ b/etc/images/fwd-arrow.pbm diff --git a/lisp/toolbar/fwd_arrow.xpm b/etc/images/fwd-arrow.xpm index 5e7c5602ea1..5e7c5602ea1 100644 --- a/lisp/toolbar/fwd_arrow.xpm +++ b/etc/images/fwd-arrow.xpm diff --git a/lisp/toolbar/gud-break.pbm b/etc/images/gud/break.pbm Binary files differindex ff28ff8649f..ff28ff8649f 100644 --- a/lisp/toolbar/gud-break.pbm +++ b/etc/images/gud/break.pbm diff --git a/lisp/toolbar/gud-break.xpm b/etc/images/gud/break.xpm index 2ffc2748271..2ffc2748271 100644 --- a/lisp/toolbar/gud-break.xpm +++ b/etc/images/gud/break.xpm diff --git a/lisp/toolbar/gud-cont.pbm b/etc/images/gud/cont.pbm Binary files differindex bc6dbead648..bc6dbead648 100644 --- a/lisp/toolbar/gud-cont.pbm +++ b/etc/images/gud/cont.pbm diff --git a/lisp/toolbar/gud-cont.xpm b/etc/images/gud/cont.xpm index 9da91af994f..9da91af994f 100644 --- a/lisp/toolbar/gud-cont.xpm +++ b/etc/images/gud/cont.xpm diff --git a/lisp/toolbar/gud-down.pbm b/etc/images/gud/down.pbm Binary files differindex c76dad2e04f..c76dad2e04f 100644 --- a/lisp/toolbar/gud-down.pbm +++ b/etc/images/gud/down.pbm diff --git a/lisp/toolbar/gud-down.xpm b/etc/images/gud/down.xpm index 30f3af89cce..30f3af89cce 100644 --- a/lisp/toolbar/gud-down.xpm +++ b/etc/images/gud/down.xpm diff --git a/lisp/toolbar/gud-finish.pbm b/etc/images/gud/finish.pbm Binary files differindex 324245235c9..324245235c9 100644 --- a/lisp/toolbar/gud-finish.pbm +++ b/etc/images/gud/finish.pbm diff --git a/lisp/toolbar/gud-finish.xpm b/etc/images/gud/finish.xpm index 0310f07e8da..0310f07e8da 100644 --- a/lisp/toolbar/gud-finish.xpm +++ b/etc/images/gud/finish.xpm diff --git a/lisp/toolbar/gud-n.pbm b/etc/images/gud/next.pbm Binary files differindex dc2a15323e3..dc2a15323e3 100644 --- a/lisp/toolbar/gud-n.pbm +++ b/etc/images/gud/next.pbm diff --git a/lisp/toolbar/gud-n.xpm b/etc/images/gud/next.xpm index f0257da5cf0..f0257da5cf0 100644 --- a/lisp/toolbar/gud-n.xpm +++ b/etc/images/gud/next.xpm diff --git a/lisp/toolbar/gud-ni.pbm b/etc/images/gud/nexti.pbm Binary files differindex ecad2965b0d..ecad2965b0d 100644 --- a/lisp/toolbar/gud-ni.pbm +++ b/etc/images/gud/nexti.pbm diff --git a/lisp/toolbar/gud-ni.xpm b/etc/images/gud/nexti.xpm index bd4f02db12e..bd4f02db12e 100644 --- a/lisp/toolbar/gud-ni.xpm +++ b/etc/images/gud/nexti.xpm diff --git a/lisp/toolbar/gud-print.pbm b/etc/images/gud/print.pbm Binary files differindex d6ab68f39ad..d6ab68f39ad 100644 --- a/lisp/toolbar/gud-print.pbm +++ b/etc/images/gud/print.pbm diff --git a/lisp/toolbar/gud-print.xpm b/etc/images/gud/print.xpm index e1e7c623355..e1e7c623355 100644 --- a/lisp/toolbar/gud-print.xpm +++ b/etc/images/gud/print.xpm diff --git a/lisp/toolbar/gud-pstar.pbm b/etc/images/gud/pstar.pbm Binary files differindex 1f5967107a0..1f5967107a0 100644 --- a/lisp/toolbar/gud-pstar.pbm +++ b/etc/images/gud/pstar.pbm diff --git a/lisp/toolbar/gud-pstar.xpm b/etc/images/gud/pstar.xpm index 6edc603db14..6edc603db14 100644 --- a/lisp/toolbar/gud-pstar.xpm +++ b/etc/images/gud/pstar.xpm diff --git a/lisp/toolbar/gud-remove.pbm b/etc/images/gud/remove.pbm Binary files differindex 516bec1f785..516bec1f785 100644 --- a/lisp/toolbar/gud-remove.pbm +++ b/etc/images/gud/remove.pbm diff --git a/lisp/toolbar/gud-remove.xpm b/etc/images/gud/remove.xpm index 5f38bd416ed..5f38bd416ed 100644 --- a/lisp/toolbar/gud-remove.xpm +++ b/etc/images/gud/remove.xpm diff --git a/lisp/toolbar/gud-run.pbm b/etc/images/gud/run.pbm Binary files differindex 8bde32c3391..8bde32c3391 100644 --- a/lisp/toolbar/gud-run.pbm +++ b/etc/images/gud/run.pbm diff --git a/lisp/toolbar/gud-run.xpm b/etc/images/gud/run.xpm index ef29662ed24..ef29662ed24 100644 --- a/lisp/toolbar/gud-run.xpm +++ b/etc/images/gud/run.xpm diff --git a/lisp/toolbar/gud-s.pbm b/etc/images/gud/step.pbm Binary files differindex de7caa50ed5..de7caa50ed5 100644 --- a/lisp/toolbar/gud-s.pbm +++ b/etc/images/gud/step.pbm diff --git a/lisp/toolbar/gud-s.xpm b/etc/images/gud/step.xpm index 4ee3eccaee2..4ee3eccaee2 100644 --- a/lisp/toolbar/gud-s.xpm +++ b/etc/images/gud/step.xpm diff --git a/lisp/toolbar/gud-si.pbm b/etc/images/gud/stepi.pbm Binary files differindex eed55cc4a33..eed55cc4a33 100644 --- a/lisp/toolbar/gud-si.pbm +++ b/etc/images/gud/stepi.pbm diff --git a/lisp/toolbar/gud-si.xpm b/etc/images/gud/stepi.xpm index b20eb6243f7..b20eb6243f7 100644 --- a/lisp/toolbar/gud-si.xpm +++ b/etc/images/gud/stepi.xpm diff --git a/lisp/toolbar/gud-until.pbm b/etc/images/gud/until.pbm Binary files differindex 096cacc6c17..096cacc6c17 100644 --- a/lisp/toolbar/gud-until.pbm +++ b/etc/images/gud/until.pbm diff --git a/lisp/toolbar/gud-until.xpm b/etc/images/gud/until.xpm index f82da6700b2..f82da6700b2 100644 --- a/lisp/toolbar/gud-until.xpm +++ b/etc/images/gud/until.xpm diff --git a/lisp/toolbar/gud-up.pbm b/etc/images/gud/up.pbm Binary files differindex 585f488bac7..585f488bac7 100644 --- a/lisp/toolbar/gud-up.pbm +++ b/etc/images/gud/up.pbm diff --git a/lisp/toolbar/gud-up.xpm b/etc/images/gud/up.xpm index c2e4c9f8ff4..c2e4c9f8ff4 100644 --- a/lisp/toolbar/gud-up.xpm +++ b/etc/images/gud/up.xpm diff --git a/lisp/toolbar/gud-watch.pbm b/etc/images/gud/watch.pbm Binary files differindex 223d4ebf8c7..223d4ebf8c7 100644 --- a/lisp/toolbar/gud-watch.pbm +++ b/etc/images/gud/watch.pbm diff --git a/lisp/toolbar/gud-watch.xpm b/etc/images/gud/watch.xpm index 52052212390..52052212390 100644 --- a/lisp/toolbar/gud-watch.xpm +++ b/etc/images/gud/watch.xpm diff --git a/lisp/toolbar/help.pbm b/etc/images/help.pbm Binary files differindex 2575f6f2613..2575f6f2613 100644 --- a/lisp/toolbar/help.pbm +++ b/etc/images/help.pbm diff --git a/lisp/toolbar/help.xpm b/etc/images/help.xpm index 1d65ce03b53..1d65ce03b53 100644 --- a/lisp/toolbar/help.xpm +++ b/etc/images/help.xpm diff --git a/lisp/toolbar/home.pbm b/etc/images/home.pbm Binary files differindex 5be84460652..5be84460652 100644 --- a/lisp/toolbar/home.pbm +++ b/etc/images/home.pbm diff --git a/lisp/toolbar/home.xpm b/etc/images/home.xpm index 57e8f9cc25a..57e8f9cc25a 100644 --- a/lisp/toolbar/home.xpm +++ b/etc/images/home.xpm diff --git a/lisp/toolbar/index.pbm b/etc/images/index.pbm Binary files differindex d8aa08a7e53..d8aa08a7e53 100644 --- a/lisp/toolbar/index.pbm +++ b/etc/images/index.pbm diff --git a/lisp/toolbar/index.xpm b/etc/images/index.xpm index 7e1de12121b..7e1de12121b 100644 --- a/lisp/toolbar/index.xpm +++ b/etc/images/index.xpm diff --git a/lisp/toolbar/info.pbm b/etc/images/info.pbm Binary files differindex 68bae42965b..68bae42965b 100644 --- a/lisp/toolbar/info.pbm +++ b/etc/images/info.pbm diff --git a/lisp/toolbar/info.xpm b/etc/images/info.xpm index bca0bf8e4fc..bca0bf8e4fc 100644 --- a/lisp/toolbar/info.xpm +++ b/etc/images/info.xpm diff --git a/lisp/toolbar/jump_to.pbm b/etc/images/jump-to.pbm Binary files differindex 5f5921baf57..5f5921baf57 100644 --- a/lisp/toolbar/jump_to.pbm +++ b/etc/images/jump-to.pbm diff --git a/lisp/toolbar/jump_to.xpm b/etc/images/jump-to.xpm index 8f9897974ab..8f9897974ab 100644 --- a/lisp/toolbar/jump_to.xpm +++ b/etc/images/jump-to.xpm diff --git a/lisp/toolbar/left_arrow.pbm b/etc/images/left-arrow.pbm Binary files differindex 56005e71c3f..56005e71c3f 100644 --- a/lisp/toolbar/left_arrow.pbm +++ b/etc/images/left-arrow.pbm diff --git a/lisp/toolbar/left_arrow.xpm b/etc/images/left-arrow.xpm index 586fe4489c0..586fe4489c0 100644 --- a/lisp/toolbar/left_arrow.xpm +++ b/etc/images/left-arrow.xpm diff --git a/lisp/toolbar/lc-back_arrow.xpm b/etc/images/low-color/back-arrow.xpm index 05a797c7a65..05a797c7a65 100644 --- a/lisp/toolbar/lc-back_arrow.xpm +++ b/etc/images/low-color/back-arrow.xpm diff --git a/lisp/toolbar/lc-copy.xpm b/etc/images/low-color/copy.xpm index f50fb51baf5..f50fb51baf5 100644 --- a/lisp/toolbar/lc-copy.xpm +++ b/etc/images/low-color/copy.xpm diff --git a/lisp/toolbar/lc-cut.xpm b/etc/images/low-color/cut.xpm index 750ec729f60..750ec729f60 100644 --- a/lisp/toolbar/lc-cut.xpm +++ b/etc/images/low-color/cut.xpm diff --git a/lisp/toolbar/lc-fwd_arrow.xpm b/etc/images/low-color/fwd-arrow.xpm index 284b8c9bee7..284b8c9bee7 100644 --- a/lisp/toolbar/lc-fwd_arrow.xpm +++ b/etc/images/low-color/fwd-arrow.xpm diff --git a/lisp/toolbar/lc-help.xpm b/etc/images/low-color/help.xpm index 663460c3a06..663460c3a06 100644 --- a/lisp/toolbar/lc-help.xpm +++ b/etc/images/low-color/help.xpm diff --git a/lisp/toolbar/lc-home.xpm b/etc/images/low-color/home.xpm index c7a7ecfb634..c7a7ecfb634 100644 --- a/lisp/toolbar/lc-home.xpm +++ b/etc/images/low-color/home.xpm diff --git a/lisp/toolbar/lc-index.xpm b/etc/images/low-color/index.xpm index 7a2464f032b..7a2464f032b 100644 --- a/lisp/toolbar/lc-index.xpm +++ b/etc/images/low-color/index.xpm diff --git a/lisp/toolbar/lc-jump_to.xpm b/etc/images/low-color/jump-to.xpm index cd7499396c7..cd7499396c7 100644 --- a/lisp/toolbar/lc-jump_to.xpm +++ b/etc/images/low-color/jump-to.xpm diff --git a/lisp/toolbar/lc-left_arrow.xpm b/etc/images/low-color/left-arrow.xpm index 61dded3a5aa..61dded3a5aa 100644 --- a/lisp/toolbar/lc-left_arrow.xpm +++ b/etc/images/low-color/left-arrow.xpm diff --git a/lisp/toolbar/lc-new.xpm b/etc/images/low-color/new.xpm index e2984bffd4f..e2984bffd4f 100644 --- a/lisp/toolbar/lc-new.xpm +++ b/etc/images/low-color/new.xpm diff --git a/lisp/toolbar/lc-open.xpm b/etc/images/low-color/open.xpm index 0e074830bb6..0e074830bb6 100644 --- a/lisp/toolbar/lc-open.xpm +++ b/etc/images/low-color/open.xpm diff --git a/lisp/toolbar/lc-paste.xpm b/etc/images/low-color/paste.xpm index c728f0f038c..c728f0f038c 100644 --- a/lisp/toolbar/lc-paste.xpm +++ b/etc/images/low-color/paste.xpm diff --git a/lisp/toolbar/lc-preferences.xpm b/etc/images/low-color/preferences.xpm index cebac821d6e..cebac821d6e 100644 --- a/lisp/toolbar/lc-preferences.xpm +++ b/etc/images/low-color/preferences.xpm diff --git a/lisp/toolbar/lc-print.xpm b/etc/images/low-color/print.xpm index 8c67bb632f0..8c67bb632f0 100644 --- a/lisp/toolbar/lc-print.xpm +++ b/etc/images/low-color/print.xpm diff --git a/lisp/toolbar/lc-right_arrow.xpm b/etc/images/low-color/right-arrow.xpm index a74b70c74b3..a74b70c74b3 100644 --- a/lisp/toolbar/lc-right_arrow.xpm +++ b/etc/images/low-color/right-arrow.xpm diff --git a/lisp/toolbar/lc-save.xpm b/etc/images/low-color/save.xpm index fd3156abfbf..fd3156abfbf 100644 --- a/lisp/toolbar/lc-save.xpm +++ b/etc/images/low-color/save.xpm diff --git a/lisp/toolbar/lc-saveas.xpm b/etc/images/low-color/saveas.xpm index 11cc684c22d..11cc684c22d 100644 --- a/lisp/toolbar/lc-saveas.xpm +++ b/etc/images/low-color/saveas.xpm diff --git a/lisp/toolbar/lc-search.xpm b/etc/images/low-color/search.xpm index 478b63ff648..478b63ff648 100644 --- a/lisp/toolbar/lc-search.xpm +++ b/etc/images/low-color/search.xpm diff --git a/lisp/toolbar/lc-spell.xpm b/etc/images/low-color/spell.xpm index ec952467cc5..ec952467cc5 100644 --- a/lisp/toolbar/lc-spell.xpm +++ b/etc/images/low-color/spell.xpm diff --git a/lisp/toolbar/lc-undo.xpm b/etc/images/low-color/undo.xpm index 8172fb2c951..8172fb2c951 100644 --- a/lisp/toolbar/lc-undo.xpm +++ b/etc/images/low-color/undo.xpm diff --git a/lisp/toolbar/lc-up_arrow.xpm b/etc/images/low-color/up-arrow.xpm index ed4b7526015..ed4b7526015 100644 --- a/lisp/toolbar/lc-up_arrow.xpm +++ b/etc/images/low-color/up-arrow.xpm diff --git a/lisp/toolbar/mail.pbm b/etc/images/mail.pbm Binary files differindex 744f38609e8..744f38609e8 100644 --- a/lisp/toolbar/mail.pbm +++ b/etc/images/mail.pbm diff --git a/lisp/toolbar/mail.xpm b/etc/images/mail.xpm index fc87e3a654a..fc87e3a654a 100644 --- a/lisp/toolbar/mail.xpm +++ b/etc/images/mail.xpm diff --git a/lisp/toolbar/mail_compose.pbm b/etc/images/mail/compose.pbm Binary files differindex ca6328d27a5..ca6328d27a5 100644 --- a/lisp/toolbar/mail_compose.pbm +++ b/etc/images/mail/compose.pbm diff --git a/lisp/toolbar/mail_compose.xpm b/etc/images/mail/compose.xpm index 9fa4fa93706..9fa4fa93706 100644 --- a/lisp/toolbar/mail_compose.xpm +++ b/etc/images/mail/compose.xpm diff --git a/lisp/toolbar/mail_send.pbm b/etc/images/mail/send.pbm Binary files differindex 36b60b7dbdd..36b60b7dbdd 100644 --- a/lisp/toolbar/mail_send.pbm +++ b/etc/images/mail/send.pbm diff --git a/lisp/toolbar/mail_send.xpm b/etc/images/mail/send.xpm index f1d2282ec8a..f1d2282ec8a 100644 --- a/lisp/toolbar/mail_send.xpm +++ b/etc/images/mail/send.xpm diff --git a/lisp/toolbar/new.pbm b/etc/images/new.pbm Binary files differindex 1fae8c09eec..1fae8c09eec 100644 --- a/lisp/toolbar/new.pbm +++ b/etc/images/new.pbm diff --git a/lisp/toolbar/new.xpm b/etc/images/new.xpm index 2d4690edd3c..2d4690edd3c 100644 --- a/lisp/toolbar/new.xpm +++ b/etc/images/new.xpm diff --git a/lisp/toolbar/open.pbm b/etc/images/open.pbm Binary files differindex 9c614e43f31..9c614e43f31 100644 --- a/lisp/toolbar/open.pbm +++ b/etc/images/open.pbm diff --git a/lisp/toolbar/open.xpm b/etc/images/open.xpm index 6b95c7e476d..6b95c7e476d 100644 --- a/lisp/toolbar/open.xpm +++ b/etc/images/open.xpm diff --git a/lisp/toolbar/paste.pbm b/etc/images/paste.pbm Binary files differindex 17e3a82c0c6..17e3a82c0c6 100644 --- a/lisp/toolbar/paste.pbm +++ b/etc/images/paste.pbm diff --git a/lisp/toolbar/paste.xpm b/etc/images/paste.xpm index cdd86366d66..cdd86366d66 100644 --- a/lisp/toolbar/paste.xpm +++ b/etc/images/paste.xpm diff --git a/lisp/toolbar/preferences.pbm b/etc/images/preferences.pbm Binary files differindex 00c7da36cdf..00c7da36cdf 100644 --- a/lisp/toolbar/preferences.pbm +++ b/etc/images/preferences.pbm diff --git a/lisp/toolbar/preferences.xpm b/etc/images/preferences.xpm index 3cdc884dd4d..3cdc884dd4d 100644 --- a/lisp/toolbar/preferences.xpm +++ b/etc/images/preferences.xpm diff --git a/lisp/toolbar/print.pbm b/etc/images/print.pbm Binary files differindex a4ab55c2cd8..a4ab55c2cd8 100644 --- a/lisp/toolbar/print.pbm +++ b/etc/images/print.pbm diff --git a/lisp/toolbar/print.xpm b/etc/images/print.xpm index 95f2f400800..95f2f400800 100644 --- a/lisp/toolbar/print.xpm +++ b/etc/images/print.xpm diff --git a/lisp/toolbar/right_arrow.pbm b/etc/images/right-arrow.pbm Binary files differindex cd32579c6bd..cd32579c6bd 100644 --- a/lisp/toolbar/right_arrow.pbm +++ b/etc/images/right-arrow.pbm diff --git a/lisp/toolbar/right_arrow.xpm b/etc/images/right-arrow.xpm index da8156879d6..da8156879d6 100644 --- a/lisp/toolbar/right_arrow.xpm +++ b/etc/images/right-arrow.xpm diff --git a/lisp/toolbar/save.pbm b/etc/images/save.pbm Binary files differindex b69576096bf..b69576096bf 100644 --- a/lisp/toolbar/save.pbm +++ b/etc/images/save.pbm diff --git a/lisp/toolbar/save.xpm b/etc/images/save.xpm index cfa651dfaf3..cfa651dfaf3 100644 --- a/lisp/toolbar/save.xpm +++ b/etc/images/save.xpm diff --git a/lisp/toolbar/saveas.pbm b/etc/images/saveas.pbm Binary files differindex 6bf6b8f25eb..6bf6b8f25eb 100644 --- a/lisp/toolbar/saveas.pbm +++ b/etc/images/saveas.pbm diff --git a/lisp/toolbar/saveas.xpm b/etc/images/saveas.xpm index 2830b06c928..2830b06c928 100644 --- a/lisp/toolbar/saveas.xpm +++ b/etc/images/saveas.xpm diff --git a/lisp/toolbar/search-replace.pbm b/etc/images/search-replace.pbm Binary files differindex 3e444cf7bb6..3e444cf7bb6 100644 --- a/lisp/toolbar/search-replace.pbm +++ b/etc/images/search-replace.pbm diff --git a/lisp/toolbar/search-replace.xpm b/etc/images/search-replace.xpm index 597337f047a..597337f047a 100644 --- a/lisp/toolbar/search-replace.xpm +++ b/etc/images/search-replace.xpm diff --git a/lisp/toolbar/search.pbm b/etc/images/search.pbm Binary files differindex 0e8a15e6a2e..0e8a15e6a2e 100644 --- a/lisp/toolbar/search.pbm +++ b/etc/images/search.pbm diff --git a/lisp/toolbar/search.xpm b/etc/images/search.xpm index ad6300528e9..ad6300528e9 100644 --- a/lisp/toolbar/search.xpm +++ b/etc/images/search.xpm diff --git a/lisp/toolbar/spell.pbm b/etc/images/spell.pbm Binary files differindex 39a00c8946a..39a00c8946a 100644 --- a/lisp/toolbar/spell.pbm +++ b/etc/images/spell.pbm diff --git a/lisp/toolbar/spell.xpm b/etc/images/spell.xpm index b53f4510602..b53f4510602 100644 --- a/lisp/toolbar/spell.xpm +++ b/etc/images/spell.xpm diff --git a/lisp/toolbar/undo.pbm b/etc/images/undo.pbm Binary files differindex 7f9b8975d2f..7f9b8975d2f 100644 --- a/lisp/toolbar/undo.pbm +++ b/etc/images/undo.pbm diff --git a/lisp/toolbar/undo.xpm b/etc/images/undo.xpm index ca5bd760937..ca5bd760937 100644 --- a/lisp/toolbar/undo.xpm +++ b/etc/images/undo.xpm diff --git a/lisp/toolbar/up_arrow.pbm b/etc/images/up-arrow.pbm Binary files differindex 7c792bef796..7c792bef796 100644 --- a/lisp/toolbar/up_arrow.pbm +++ b/etc/images/up-arrow.pbm diff --git a/lisp/toolbar/up_arrow.xpm b/etc/images/up-arrow.xpm index 09963557d1b..09963557d1b 100644 --- a/lisp/toolbar/up_arrow.xpm +++ b/etc/images/up-arrow.xpm diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 00c71e23aeb..da7c1765255 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,331 @@ +2005-10-18 Stefan Monnier <monnier@iro.umontreal.ca> + + * textmodes/conf-mode.el: Don't use font-lock-defaults-alist. + Various docstring and line-width fixups. + (conf-mode): Use cond. + Set font-lock-defaults. Don't set comment-use-syntax. + +2005-10-18 David Ponce <david@dponce.com> + + * tree-widget.el (tree-widget-button-click): New function. + (tree-widget-button-keymap): Use it. + +2005-10-18 Romain Francoise <romain@orebokech.com> + + * bookmark.el (bookmark-insert-location, bookmark-bmenu-list) + (bookmark-bmenu-hide-filenames): Add follow-link property. + Improve help-echo text. + + * ffap.el (find-file-at-point): Doc fix. + +2005-10-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * mouse.el (mouse-set-region): Don't do sit-for on a mac frame. + +2005-10-18 Masatake YAMATO <jet@gyve.org> + + Install to the CVS repository what I forgot to install in my + 2005-10-16 changes. + + * progmodes/python.el (python-complete-symbol): Pass the common + prefix substring of completion to `display-completion-list'. + + * textmodes/org.el (org-complete): Ditto. + +2005-10-18 Masatake YAMATO <jet@gyve.org> + + Fix a bug reported by Sven Joachim <sven_joachim@web.de>. + + * woman.el (WoMan-xref-man-page): New button type derived + from `Man-abstract-xref-man-page'. + (woman-mode): Pass `WoMan-xref-man-page' to `Man-highlight-references'. + + * man.el (Man-abstract-xref-man-page): New button type. + (Man-xref-man-page): Make it derived from `Man-abstract-xref-man-page'. + (Man-highlight-references): Add new optional argument `xref-man-type'. + +2005-10-18 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gud.el (gud-menu-map): Correct condition for fringe. + +2005-10-17 Chong Yidong <cyd@stupidchicken.com> + + * cus-edit.el (Custom-move-and-invoke): Delete. + (custom-mode-map): Bind mouse-1 to widget-move-and-invoke. + + * wid-edit.el (widget-move-and-invoke): New function, from + Custom-move-and-invoke. + +2005-10-17 Bill Wohler <wohler@newt.com> + + Move all remaining images from lisp/toolbar to etc/images, move + lisp/toolbar/tool-bar to lisp and "delete" lisp/toolbar. Place + the low resolution images in their own directory (low-color). + + * toolbar/attach.*, toolbar/cancel.*, toolbar/close.*, + * toolbar/copy.*, toolbar/cut.*, toolbar/diropen.*, toolbar/exit.*: + * toolbar/help.*, toolbar/home.*, toolbar/index.*, toolbar/info.*: + * toolbar/mail.*, toolbar/new.*, toolbar/open.*, toolbar/paste.*: + * toolbar/preferences.*, toolbar/print.*, toolbar/save.*: + * toolbar/saveas.*, toolbar/search.*, toolbar/search-replace.*: + * toolbar/spell.*, toolbar/undo.*: Move to etc/images. + + * toolbar/lc-copy.*: Move to etc/images/low-color/copy.*. + * toolbar/lc-cut.*: Move to etc/images/low-color/cut.*. + * toolbar/lc-help.*: Move to etc/images/low-color/help.*. + * toolbar/lc-home.*: Move to etc/images/low-color/home.*. + * toolbar/lc-index.*: Move to etc/images/low-color/index.*. + * toolbar/lc-new.*: Move to etc/images/low-color/new.*. + * toolbar/lc-open.*: Move to etc/images/low-color/open.*. + * toolbar/lc-paste.*: Move to etc/images/low-color/paste.*. + * toolbar/lc-preferences.*: Move to etc/images/low-color/preferences.*. + * toolbar/lc-print.*: Move to etc/images/low-color/print.*. + * toolbar/lc-save.*: Move to etc/images/low-color/save.*. + * toolbar/lc-saveas.*: Move to etc/images/low-color/saveas.*. + * toolbar/lc-search.*: Move to etc/images/low-color/search.*. + * toolbar/lc-spell.*: Move to etc/images/low-color/spell.*. + * toolbar/lc-undo.*: Move to etc/images/low-color/undo.*. + + To conform with convention, replace the underscore (_) in the + following image names with dash (-) or (/) as appropriate. + + * toolbar/back_arrow.*: Move to etc/images/back-arrow.*. + * toolbar/fld_open.*: Move to etc/images/fld-open.*. + * toolbar/fwd_arrow.*: Move to etc/images/fwd-arrow.*. + * toolbar/jump_to.*: Move to etc/images/jump-to.*. + * toolbar/left_arrow.*: Move to etc/images/left-arrow.*. + * toolbar/right_arrow.*: Move to etc/images/right-arrow.*. + * toolbar/up_arrow.*: Move to etc/images/up-arrow.*. + * toolbar/lc-back_arrow.*: Move to etc/images/low-color/back-arrow.*. + * toolbar/lc-fwd_arrow.*: Move to etc/images/low-color/fwd-arrow.*. + * toolbar/lc-jump_to.*: Move to etc/images/low-color/jump-to.*. + * toolbar/lc-left_arrow.*: Move to etc/images/low-color/left-arrow.*. + * toolbar/lc-right_arrow.*: Move to etc/images/low-color/right-arrow.*. + * toolbar/lc-up_arrow.*: Move to etc/images/low-color/up-arrow.*. + * toolbar/mail_compose.*: Move to etc/images/mail/compose.*. + * toolbar/mail_send.*: Move to etc/images/mail/send.*. + + * info.el (info-tool-bar-map): Replace underscores in image names + with dashes. + + * makefile.w32-in (WINS): Remove toolbar. + + * menu-bar.el: Replace toolbar/tool-bar.el with tool-bar.el in comment. + + * tool-bar.el: Move to lisp from toolbar. Now that + toolbar is empty, it should be deleted when folks run "cvs up -P". + +2005-10-18 Jay Belanger <belanger@truman.edu> + + * calc/calc-store (calc-store-into): Get the proper variable name + to display in message. + +2005-10-18 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gdb-ui.el (gdb-var-create-handler): Make watch + expressions display in speedbar for all buffers when debugging. + (gdb-speedbar-expand-node): Ensure node contraction is always + updated. + + * speedbar.el (speedbar-set-mode-line-format): Indent properly. + (speedbar-insert-button, speedbar-make-button): + Use add-text-properties. + (speedbar-update-localized-contents) + (speedbar-update-directory-contents) + (speedbar-update-special-contents): Use dolist. + (speedbar-buffer-easymenu-definition): Add a menu separator. + +2005-10-17 Jason Rumney <jasonr@gnu.org> + + * makefile.w32-in: Use $(lisp) consistently. + (pre-mh-loaddefs.el-SH, pre-mh-loaddefs.el-CMD): New targets + for shell specific generation of mh-autoloads. + +2005-10-17 Richard M. Stallman <rms@gnu.org> + + * textmodes/tex-mode.el (tex-font-lock-keywords-2): Undo prev change. + +2005-10-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * jit-lock.el (jit-lock-fontify-now): + Move jit-lock-context-unfontify-pos to avoid wasted work. + +2005-10-17 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-completion-mode): New defvar. Used in + `tramp-completion-mode' for checking if we are in completion mode. + (tramp-completion-handle-file-name-all-completions): Reorder code + in order to complete for file names only in case there are no + method/user/host completions. This is necessary for cooperation + with ido. Reported by Kim F. Storm <storm@cua.dk>. + +2005-10-16 Chong Yidong <cyd@stupidchicken.com> + + * longlines.el (longlines-search-forward) + (longlines-search-backward): Match any number of spaces. + +2005-10-16 Thien-Thi Nguyen <ttn@gnu.org> + + * diff-mode.el (diff-mode): Doc fix. + +2005-10-16 David Reitter <david.reitter@gmail.com> + + * mail/sendmail.el (send-mail-function): Use mailclient-send-it + as default on darwin and windows systems. + +2005-10-16 Sven Joachim <svenjoac@gmx.de> (tiny change) + + * arc-mode.el (archive-zip-extract): Doc fix. + +2005-10-16 Romain Francoise <romain@orebokech.com> + + * mouse.el (mouse-1-click-follows-link): Doc fix. + +2005-10-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * savehist.el: Don't require CL at runtime. + (savehist-xemacs): Remove. + (savehist-coding-system): Use utf-8 if present, regardless of religion. + (savehist-no-conversion): Use (featurep 'xemacs). + (savehist-load): Check existence of start-itimer rather than XEmacs. + Use an idle timer. + (savehist-process-for-saving): Replace use of CL funs `subseq' and + `delete-if-not'. + +2005-10-16 Hrvoje Niksic <hniksic@xemacs.org> + + * savehist.el: Newer version. + (savehist-autosave-interval, savehist-coding-system, savehist-timer) + (savehist-last-checksum, savehist-no-conversion): New vars. + (savehist-autosave, savehist-process-for-saving, savehist-printable): + New functions. + (savehist-load, savehist-save): Use them. + (savehist-delimit): Remove. + +2005-10-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/compile.el (compilation-goto-locus): Display the + compilation buffer first and the source buffer second, in case they're + in overlapping frames. Don't raise the compilation frame if it was the + selected window upon entry. Pass the `other-window' arg to + pop-to-buffer. + + * info.el (Info-fontify-node): Use dolist. + Change add-text-properties to put-text-property. + +2005-10-16 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> + + * textmodes/bibtex.el (bibtex-font-lock-url): Catch when point past + bound of search. + +2005-10-16 Masatake YAMATO <jet@gyve.org> + + * dabbrev.el (dabbrev-completion): Pass the common + prefix substring of completion to `display-completion-list'. + + * filecache.el (file-cache-minibuffer-complete) + (file-cache-complete): Ditto. + + * tempo.el (tempo-display-completions): Ditto. + + * wid-edit.el (widget-file-complete, widget-color-complete): Ditto. + + * emacs-lisp/lisp.el (lisp-complete-symbol): Ditto. + + * eshell/em-hist.el (eshell-list-history): Ditto. + + * mail/mailabbrev.el (mail-abbrev-complete-alias): Ditto. + + * mail/mailalias.el (mail-complete): Ditto. + + * progmodes/etags.el (complete-tag): Ditto. + + * progmodes/make-mode.el (makefile-complete): Ditto. + + * progmodes/meta-mode.el (meta-complete-symbol): Ditto. + + * progmodes/octave-mod.el (octave-complete-symbol): Ditto. + + * progmodes/pascal.el (pascal-complete-word) + (pascal-show-completions): Ditto. + + + * textmodes/bibtex.el (bibtex-complete-internal): Ditto. + + * simple.el (completion-common-substring): New variable. + (completion-setup-function): Use `completion-common-substring' + to put faces. + +2005-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * term/mac-win.el: Apply 2005-10-09 change for term/x-win.el. + (x-get-selection, mac-select-convert-to-string): Convert from/to + UTF-16 clipboard data as in native byte order, no BOM. + +2005-10-16 Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gud.el (gud-tool-bar-map): Rename the images + appropriately (gud/next, gud/nexti, gud/step, gud/stepi). + (gud-sentinel): Use speedbar-frame to check for speedbar. + +2005-10-15 Richard M. Stallman <rms@gnu.org> + + * savehist.el: New file. + +2005-10-14 Karl Chen <quarl@cs.berkeley.edu> + + * textmodes/tex-mode.el (tex-font-lock-keywords-2): + Fix bug in \bf fontification. + +2005-10-15 Stefan Monnier <monnier@iro.umontreal.ca> + + * pcvs.el (cvs-edit-log-files): New var. + (cvs-mode-edit-log): New arg `file'. + (cvs-edit-log-minor-wrap): Don't set the ignore-marks property. + Instead force the use of the original file and nothing else. + (cvs-edit-log-filelist): Don't use the cvs-mode-* function unless + the cvs-minor-wrap-function is set. + (cvs-do-edit-log): Obey the vars set in cvs-edit-log-minor-wrap. + +2005-10-14 Bill Wohler <wohler@newt.com> + + * toolbar/gud-break.*: Moved to etc/images/gud/break.*. + * toolbar/gud-cont.*: Moved to etc/images/gud/cont.*. + * toolbar/gud-down.*: Moved to etc/images/gud/down.*. + * toolbar/gud-finish.*: Moved to etc/images/gud/finish.*. + * toolbar/gud-ni.*: Moved to etc/images/gud/ni.*. + * toolbar/gud-n.*: Moved to etc/images/gud/n.*. + * toolbar/gud-print.*: Moved to etc/images/gud/print.*. + * toolbar/gud-pstar.*: Moved to etc/images/gud/pstar.*. + * toolbar/gud-remove.*: Moved to etc/images/gud/remove.*. + * toolbar/gud-run.*: Moved to etc/images/gud/run.*. + * toolbar/gud-si.*: Moved to etc/images/gud/si.*. + * toolbar/gud-s.*: Moved to etc/images/gud/s.*. + * toolbar/gud-until.*: Moved to etc/images/gud/until.*. + * toolbar/gud-up.*: Moved to etc/images/gud/up.*. + * toolbar/gud-watch.*: Moved to etc/images/gud/watch.*. + + * progmodes/gud.el (gud-tool-bar-map): Rename the images + appropriately (for example, gud-break to gud/break). + +2005-10-14 Chong Yidong <cyd@stupidchicken.com> + + * longlines.el (longlinges-search-function) + (longlines-search-forward, longlines-search-backward): New functions. + (longlines-mode): Set isearch-search-fun-function to + longlinges-search-function. + + * mouse.el (mouse-drag-region-1): Handle the case where a + double-click event is bound to an arbitrary function. + +2005-10-14 David Ponce <david@dponce.com> + + * recentf.el (recentf-track-opened-file) + (recentf-track-closed-file, recentf-update-menu) + (recentf-used-hooks, recentf-enabled-p): Move before dialog stuff. + (recentf-dialog-mode-map): Map follow-link to RET, so dialogs obey + mouse-1-click-follows-link. + 2005-10-13 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * toolbar/diropen.xpm, toolbar/diropen.pbm: New versions made from @@ -26,6 +354,11 @@ Handle the case that ucs-mule-to-mule-unicode translates a character to ASCII (usually for IPA characters). +2005-10-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * info.el (Info-fontify-node): Don't be fooled by a lone "...". + Don't hide the underline of titles if font-lock-mode is disabled. + 2005-10-12 Bill Wohler <wohler@newt.com> * makefile.w32-in (MH-E-SRC): New. Used by mh-autoloads. @@ -10071,8 +10404,8 @@ minibuffer-with-setup-hook (which breaks turning on/off file-name-shadow-mode while in the prompt). - * complete.el (PC-read-include-file-name-internal): Use - test-completion. + * complete.el (PC-read-include-file-name-internal): + Use test-completion. 2005-03-28 Luc Teirlinck <teirllm@auburn.edu> diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index a29ec10d400..ae5ff9a4dbc 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -225,8 +225,7 @@ Archive and member name will be added." '("unzip" "-qq" "-c")) "*Program and its options to run in order to extract a zip file member. Extraction should happen to standard output. Archive and member name will -be added. If `archive-zip-use-pkzip' is non-nil then this program is -expected to extract to a file junking the directory part of the name." +be added." :type '(list (string :tag "Program") (repeat :tag "Options" :inline t diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 8014915a72e..75228288fff 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -1175,12 +1175,14 @@ minibuffer history list `bookmark-history'." (prog1 (insert (bookmark-location bookmark)) ; *Return this line* (if (and (display-color-p) (display-mouse-p)) - (add-text-properties start - (save-excursion (re-search-backward - "[^ \t]") + (add-text-properties + start + (save-excursion (re-search-backward + "[^ \t]") (1+ (point))) - '(mouse-face highlight - help-echo "mouse-2: go to this bookmark")))))) + '(mouse-face highlight + follow-link t + help-echo "mouse-2: go to this bookmark in other window")))))) ;;;###autoload (defalias 'bookmark-locate 'bookmark-insert-location) @@ -1566,12 +1568,14 @@ deletion, or > if it is flagged for displaying." (let ((start (point))) (insert (bookmark-name-from-full-record full-record)) (if (and (display-color-p) (display-mouse-p)) - (add-text-properties start - (save-excursion (re-search-backward - "[^ \t]") - (1+ (point))) - '(mouse-face highlight - help-echo "mouse-2: go to this bookmark"))) + (add-text-properties + start + (save-excursion (re-search-backward + "[^ \t]") + (1+ (point))) + '(mouse-face highlight + follow-link t + help-echo "mouse-2: go to this bookmark in other window"))) (insert "\n") ))) bookmark-alist)) @@ -1695,13 +1699,15 @@ Optional argument SHOW means show them unconditionally." (let ((start (point))) (insert (car bookmark-bmenu-hidden-bookmarks)) (if (and (display-color-p) (display-mouse-p)) - (add-text-properties start - (save-excursion (re-search-backward - "[^ \t]") - (1+ (point))) - '(mouse-face highlight - help-echo - "mouse-2: go to this bookmark")))) + (add-text-properties + start + (save-excursion (re-search-backward + "[^ \t]") + (1+ (point))) + '(mouse-face highlight + follow-link t + help-echo + "mouse-2: go to this bookmark in other window")))) (setq bookmark-bmenu-hidden-bookmarks (cdr bookmark-bmenu-hidden-bookmarks)) (forward-line 1)))))))) diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el index 82c7077ba91..d6a37644cc7 100644 --- a/lisp/calc/calc-store.el +++ b/lisp/calc/calc-store.el @@ -71,7 +71,7 @@ (if (not (cdr var)) "") (if (not (cdr var)) 1)))) (message (concat "Stored to variable \"%s\"" msg) - (calc-var-name var))) + (calc-var-name (car (car var))))) (setq var (cdr var)))))))) (defun calc-store-plus (&optional var) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 8f88e4d049c..696fd66543a 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -4245,20 +4245,10 @@ The format is suitable for use with `easy-menu-define'." (define-key map "u" 'Custom-goto-parent) (define-key map "n" 'widget-forward) (define-key map "p" 'widget-backward) - (define-key map [mouse-1] 'Custom-move-and-invoke) + (define-key map [mouse-1] 'widget-move-and-invoke) map) "Keymap for `custom-mode'.") -(defun Custom-move-and-invoke (event) - "Move to where you click, and if it is an active field, invoke it." - (interactive "e") - (mouse-set-point event) - (if (widget-event-point event) - (let* ((pos (widget-event-point event)) - (button (get-char-property pos 'button))) - (if button - (widget-button-click event))))) - (easy-menu-define Custom-mode-menu custom-mode-map "Menu used in customization buffers." diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el index 2139e7c5761..b330f2b10d7 100644 --- a/lisp/dabbrev.el +++ b/lisp/dabbrev.el @@ -461,7 +461,8 @@ if there is a suitable one already." ;; * String is a common substring completion already. Make list. (message "Making completion list...") (with-output-to-temp-buffer "*Completions*" - (display-completion-list (all-completions init my-obarray))) + (display-completion-list (all-completions init my-obarray) + init)) (message "Making completion list...done"))) (and (window-minibuffer-p (selected-window)) (message nil)))) diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 09c3b6a8939..8f018185c98 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -967,7 +967,7 @@ If you edit the buffer manually, diff-mode will try to update the hunk headers for you on-the-fly. You can also switch between context diff and unified diff with \\[diff-context->unified], -or vice versa with \\[diff-unified->context] and you can also revert the direction of +or vice versa with \\[diff-unified->context] and you can also reverse the direction of a diff with \\[diff-reverse-direction]." (set (make-local-variable 'font-lock-defaults) diff-font-lock-defaults) (set (make-local-variable 'outline-regexp) diff-outline-regexp) diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index d248882d882..4b799ebfedf 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -586,7 +586,7 @@ considered." (setq list (cdr list))) (setq list (nreverse new)))) (with-output-to-temp-buffer "*Completions*" - (display-completion-list list))) + (display-completion-list list pattern))) (message "Making completion list...%s" "done"))))))) ;;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index fd887e5fa86..e7844028542 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -507,7 +507,7 @@ See also `eshell-read-history'." ;; Change "completion" to "history reference" ;; to make the display accurate. (with-output-to-temp-buffer history-buffer - (display-completion-list history) + (display-completion-list history prefix) (set-buffer history-buffer) (forward-line 3) (while (search-backward "completion" nil 'move) diff --git a/lisp/ffap.el b/lisp/ffap.el index d408918558a..6eb598d434d 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1380,9 +1380,7 @@ If `ffap-url-regexp' is not nil, the FILENAME may also be an URL. With a prefix, this command behaves exactly like `ffap-file-finder'. If `ffap-require-prefix' is set, the prefix meaning is reversed. See also the variables `ffap-dired-wildcards', `ffap-newfile-prompt', -and the functions `ffap-file-at-point' and `ffap-url-at-point'. - -See <ftp://ftp.mathcs.emory.edu/pub/mic/emacs/> for latest version." +and the functions `ffap-file-at-point' and `ffap-url-at-point'." (interactive) (if (and (interactive-p) (if ffap-require-prefix (not current-prefix-arg) diff --git a/lisp/filecache.el b/lisp/filecache.el index bb45bb392f3..442f729dd15 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -607,7 +607,7 @@ the name is considered already unique; only the second substitution completion-setup-hook))) ) (with-output-to-temp-buffer file-cache-completions-buffer - (display-completion-list completion-list)) + (display-completion-list completion-list string)) ) ) (setq file-cache-string (file-cache-file-name completion-string)) @@ -700,7 +700,7 @@ the name is considered already unique; only the second substitution ) (t (with-output-to-temp-buffer "*Completions*" - (display-completion-list all)) + (display-completion-list all pattern)) )) )) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 23e5564770f..04213b9fa45 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,19 @@ +2005-10-17 Chong Yidong <cyd@stupidchicken.com> + + * gnus-cus.el (gnus-custom-map): New variable. Bind mouse-1 to + widget-move-and-invoke. + (gnus-custom-mode): Use gnus-custom-map. + +2005-10-15 Bill Wohler <wohler@newt.com> + + * message.el (message-tool-bar-map): Renamed image file from + mail_send to mail/send. + +2005-10-16 Masatake YAMATO <jet@gyve.org> + + * message.el (message-expand-group): Pass the common + prefix substring of completion to `display-completion-list'. + 2005-10-09 Daniel Brockman <daniel@brockman.se> * format-spec.el (format-spec): Propagate text properties of % spec. @@ -21,6 +37,11 @@ * pgg-def.el (top-level): Don't require custom, it is autoloaded. (To sync with No Gnus.) +2005-10-04 David Hansen <david.hansen@gmx.net> + + * nnrss.el (nnrss-request-article): Add support for the comments tag. + (nnrss-check-group): Ditto. + 2005-10-04 Reiner Steib <Reiner.Steib@gmx.de> * mm-url.el (mm-url-predefined-programs): Add switches for curl. diff --git a/lisp/gnus/gnus-cus.el b/lisp/gnus/gnus-cus.el index f523af22750..df10c769315 100644 --- a/lisp/gnus/gnus-cus.el +++ b/lisp/gnus/gnus-cus.el @@ -36,6 +36,14 @@ ;;; Widgets: +(defvar gnus-custom-map + (let ((map (make-keymap))) + (set-keymap-parent map widget-keymap) + (suppress-keymap map) + (define-key map [mouse-1] 'widget-move-and-invoke) + map) + "Keymap for editing Gnus customization buffers.") + (defun gnus-custom-mode () "Major mode for editing Gnus customization buffers. @@ -51,7 +59,7 @@ if that value is non-nil." (kill-all-local-variables) (setq major-mode 'gnus-custom-mode mode-name "Gnus Customize") - (use-local-map widget-keymap) + (use-local-map gnus-custom-map) ;; Emacs 21 stuff: (when (and (facep 'custom-button-face) (facep 'custom-button-pressed-face)) @@ -479,7 +487,7 @@ form, but who cares?" (widget-create 'sexp :tag "Method" :value (gnus-info-method info)))) - (use-local-map widget-keymap) + (use-local-map gnus-custom-map) (widget-setup) (buffer-enable-undo) (goto-char (point-min)))) @@ -873,7 +881,7 @@ articles in the thread. '(repeat :inline t :tag "Unknown entries" sexp))) - (use-local-map widget-keymap) + (use-local-map gnus-custom-map) (widget-setup))) (defun gnus-score-customize-done (&rest ignore) @@ -1050,7 +1058,7 @@ articles in the thread. (gnus-agent-cat-prepare-category-field agent-enable-undownloaded-faces) - (use-local-map widget-keymap) + (use-local-map gnus-custom-map) (widget-setup) (buffer-enable-undo)))) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index d64d8dbd2bf..8ac3bb8cf18 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -6586,7 +6586,7 @@ which specify the range to operate on." write-file dired open-file)) (define-key tool-bar-map (vector key) nil)) (message-tool-bar-local-item-from-menu - 'message-send-and-exit "mail_send" tool-bar-map message-mode-map) + 'message-send-and-exit "mail/send" tool-bar-map message-mode-map) (message-tool-bar-local-item-from-menu 'message-kill-buffer "close" tool-bar-map message-mode-map) (message-tool-bar-local-item-from-menu @@ -6691,7 +6691,7 @@ those headers." (let ((buffer-read-only nil)) (erase-buffer) (let ((standard-output (current-buffer))) - (display-completion-list (sort completions 'string<))) + (display-completion-list (sort completions 'string<) string)) (goto-char (point-min)) (delete-region (point) (progn (forward-line 3) (point)))))))))) diff --git a/lisp/gnus/nnrss.el b/lisp/gnus/nnrss.el index 5018701ee42..adef035c830 100644 --- a/lisp/gnus/nnrss.el +++ b/lisp/gnus/nnrss.el @@ -197,6 +197,7 @@ for decoding when the cdr that the data specify is not available.") " "))) (link (nth 2 e)) (enclosure (nth 7 e)) + (comments (nth 8 e)) ;; Enable encoding of Newsgroups header in XEmacs. (default-enable-multibyte-characters t) (rfc2047-header-encoding-alist @@ -205,7 +206,7 @@ for decoding when the cdr that the data specify is not available.") rfc2047-header-encoding-alist) rfc2047-header-encoding-alist)) rfc2047-encode-encoded-words body) - (when (or text link enclosure) + (when (or text link enclosure comments) (insert "\n") (insert "<#multipart type=alternative>\n" "<#part type=\"text/plain\">\n") @@ -220,6 +221,8 @@ for decoding when the cdr that the data specify is not available.") (insert (car enclosure) " " (nth 2 enclosure) " " (nth 3 enclosure) "\n")) + (when comments + (insert comments "\n")) (setq body (buffer-substring body (point))) (insert "<#/part>\n" "<#part type=\"text/html\">\n" @@ -232,6 +235,8 @@ for decoding when the cdr that the data specify is not available.") (insert "<p><a href=\"" (car enclosure) "\">" (cadr enclosure) "</a> " (nth 2 enclosure) " " (nth 3 enclosure) "</p>\n")) + (when comments + (insert "<p><a href=\"" comments "\">comments</a></p>\n")) (insert "</body></html>\n" "<#/part>\n" "<#/multipart>\n")) @@ -528,7 +533,7 @@ nnrss: %s: Not valid XML %s and w3-parse doesn't work %s" (defun nnrss-check-group (group server) (let (file xml subject url extra changed author date - enclosure rss-ns rdf-ns content-ns dc-ns) + enclosure comments rss-ns rdf-ns content-ns dc-ns) (if (and nnrss-use-local (file-exists-p (setq file (expand-file-name (nnrss-translate-file-chars @@ -576,6 +581,7 @@ nnrss: %s: Not valid XML %s and w3-parse doesn't work %s" (setq date (or (nnrss-node-text dc-ns 'date item) (nnrss-node-text rss-ns 'pubDate item) (message-make-date))) + (setq comments (nnrss-node-text rss-ns 'comments item)) (when (setq enclosure (cadr (assq (intern (concat rss-ns "enclosure")) item))) (let ((url (cdr (assq 'url enclosure))) (len (cdr (assq 'length enclosure))) @@ -606,7 +612,8 @@ nnrss: %s: Not valid XML %s and w3-parse doesn't work %s" (and author (nnrss-mime-encode-string author)) date (and extra (nnrss-decode-entities-string extra)) - enclosure) + enclosure + comments) nnrss-group-data) (gnus-sethash (or url extra) t nnrss-group-hashtb) (setq changed t)) diff --git a/lisp/info.el b/lisp/info.el index 5d86d0cb46e..6594d76fa03 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -3161,14 +3161,14 @@ if point is in a menu item description, follow that menu item." (if (display-graphic-p) (let ((map (make-sparse-keymap))) (tool-bar-local-item-from-menu 'Info-exit "close" map Info-mode-map) - (tool-bar-local-item-from-menu 'Info-prev "left_arrow" map Info-mode-map) - (tool-bar-local-item-from-menu 'Info-next "right_arrow" map Info-mode-map) - (tool-bar-local-item-from-menu 'Info-up "up_arrow" map Info-mode-map) - (tool-bar-local-item-from-menu 'Info-history-back "back_arrow" map Info-mode-map) - (tool-bar-local-item-from-menu 'Info-history-forward "fwd_arrow" map Info-mode-map) + (tool-bar-local-item-from-menu 'Info-prev "left-arrow" map Info-mode-map) + (tool-bar-local-item-from-menu 'Info-next "right-arrow" map Info-mode-map) + (tool-bar-local-item-from-menu 'Info-up "up-arrow" map Info-mode-map) + (tool-bar-local-item-from-menu 'Info-history-back "back-arrow" map Info-mode-map) + (tool-bar-local-item-from-menu 'Info-history-forward "fwd-arrow" map Info-mode-map) (tool-bar-local-item-from-menu 'Info-top-node "home" map Info-mode-map) (tool-bar-local-item-from-menu 'Info-index "index" map Info-mode-map) - (tool-bar-local-item-from-menu 'Info-goto-node "jump_to" map Info-mode-map) + (tool-bar-local-item-from-menu 'Info-goto-node "jump-to" map Info-mode-map) (tool-bar-local-item-from-menu 'Info-search "search" map Info-mode-map) map))) @@ -3847,17 +3847,15 @@ the variable `Info-file-list-for-emacs'." (paragraph-separate ".*\\.[ \t]*\n[ \t]\\|[ \t]*[-*]\\|[ \t\f]*$") (adaptive-fill-mode nil)) (goto-char (point-max)) - (while paragraph-markers - (let ((m (car paragraph-markers))) - (setq paragraph-markers (cdr paragraph-markers)) - (when (< m (point)) - (goto-char m) - (beginning-of-line) - (let ((beg (point))) - (when (zerop (forward-paragraph)) - (fill-individual-paragraphs beg (point) nil nil) - (goto-char beg)))) - (set-marker m nil))))) + (dolist (m paragraph-markers) + (when (< m (point)) + (goto-char m) + (beginning-of-line) + (let ((beg (point))) + (when (zerop (forward-paragraph)) + (fill-individual-paragraphs beg (point) nil nil) + (goto-char beg)))) + (set-marker m nil)))) ;; Fontify menu items (goto-char (point-min)) @@ -3889,33 +3887,32 @@ the variable `Info-file-list-for-emacs'." "mouse-2: go to this node") 'mouse-face 'highlight))) (when (or not-fontified-p fontify-visited-p) - (add-text-properties + (put-text-property (match-beginning 1) (match-end 1) - (list - 'font-lock-face - ;; Display visited menu items in a different face - (if (and Info-fontify-visited-nodes - (save-match-data - (let ((node (if (equal (match-string 3) "") - (match-string 1) - (match-string 3))) - (file (file-name-nondirectory Info-current-file)) - (hl Info-history-list) - res) - (if (string-match "(\\([^)]+\\))\\([^)]*\\)" node) - (setq file (file-name-nondirectory - (match-string 1 node)) - node (if (equal (match-string 2 node) "") - "Top" - (match-string 2 node)))) - (while hl - (if (and (string-equal node (nth 1 (car hl))) - (string-equal file - (file-name-nondirectory - (nth 0 (car hl))))) - (setq res (car hl) hl nil) - (setq hl (cdr hl)))) - res))) 'info-xref-visited 'info-xref)))) + 'font-lock-face + ;; Display visited menu items in a different face + (if (and Info-fontify-visited-nodes + (save-match-data + (let ((node (if (equal (match-string 3) "") + (match-string 1) + (match-string 3))) + (file (file-name-nondirectory Info-current-file)) + (hl Info-history-list) + res) + (if (string-match "(\\([^)]+\\))\\([^)]*\\)" node) + (setq file (file-name-nondirectory + (match-string 1 node)) + node (if (equal (match-string 2 node) "") + "Top" + (match-string 2 node)))) + (while hl + (if (and (string-equal node (nth 1 (car hl))) + (string-equal file + (file-name-nondirectory + (nth 0 (car hl))))) + (setq res (car hl) hl nil) + (setq hl (cdr hl)))) + res))) 'info-xref-visited 'info-xref))) (when (and not-fontified-p (memq Info-hide-note-references '(t hide))) (put-text-property (match-beginning 2) (1- (match-end 6)) 'invisible t) diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 2f8fcba91d1..b76c675cba4 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el @@ -349,6 +349,13 @@ Defaults to the whole buffer. END can be out of bounds." (goto-char next) (setq next (line-beginning-position 2)) (goto-char start) (setq start (line-beginning-position)) + ;; Make sure the contextual refontification doesn't re-refontify + ;; what's already been refontified. + (when (and jit-lock-context-unfontify-pos + (< jit-lock-context-unfontify-pos next) + (>= jit-lock-context-unfontify-pos start)) + (setq jit-lock-context-unfontify-pos next)) + ;; Fontify the chunk, and mark it as fontified. ;; We mark it first, to make sure that we don't indefinitely ;; re-execute this fontification if an error occurs. @@ -566,9 +573,14 @@ will take place when text is fontified stealthily." ;; Mark the change for deferred contextual refontification. (when jit-lock-context-unfontify-pos (setq jit-lock-context-unfontify-pos + ;; Here we use `start' because nothing guarantees that the + ;; text between start and end will be otherwise refontified: + ;; usually it will be refontified by virtue of being + ;; displayed, but if it's outside of any displayed area in the + ;; buffer, only jit-lock-context-* will re-fontify it. (min jit-lock-context-unfontify-pos start)))))) (provide 'jit-lock) -;;; arch-tag: 56b5de6e-f581-453b-bb97-49c39372ff9e +;; arch-tag: 56b5de6e-f581-453b-bb97-49c39372ff9e ;;; jit-lock.el ends here diff --git a/lisp/longlines.el b/lisp/longlines.el index 6ce5dfaebc4..00a2782d0a3 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -109,6 +109,8 @@ are indicated with a symbol." (add-to-list 'buffer-file-format 'longlines) (add-hook 'change-major-mode-hook 'longlines-mode-off nil t) (make-local-variable 'buffer-substring-filters) + (set (make-local-variable 'isearch-search-fun-function) + 'longlinges-search-function) (add-to-list 'buffer-substring-filters 'longlines-encode-string) (when longlines-wrap-follows-window-size (set (make-local-variable 'fill-column) @@ -148,6 +150,7 @@ are indicated with a symbol." 'longlines-window-change-function t) (when longlines-wrap-follows-window-size (kill-local-variable 'fill-column)) + (kill-local-variable 'isearch-search-fun-function) (kill-local-variable 'require-final-newline) (kill-local-variable 'buffer-substring-filters) (kill-local-variable 'use-hard-newlines))) @@ -381,6 +384,27 @@ This is called by `window-size-change-functions'." (longlines-wrap-region (point-min) (point-max)) (set-buffer-modified-p mod)))) +;; Isearch + +(defun longlinges-search-function () + (cond + (isearch-word + (if isearch-forward 'word-search-forward 'word-search-backward)) + (isearch-regexp + (if isearch-forward 're-search-forward 're-search-backward)) + (t + (if isearch-forward + 'longlines-search-forward + 'longlines-search-backward)))) + +(defun longlines-search-forward (string &optional bound noerror count) + (let ((search-spaces-regexp "[ \n]+")) + (re-search-forward (regexp-quote string) bound noerror count))) + +(defun longlines-search-backward (string &optional bound noerror count) + (let ((search-spaces-regexp "[ \n]+")) + (re-search-backward (regexp-quote string) bound noerror count))) + ;; Loading and saving (add-to-list diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el index 06af543b4da..587b7d0187e 100644 --- a/lisp/mail/mailabbrev.el +++ b/lisp/mail/mailabbrev.el @@ -587,7 +587,8 @@ of a mail alias. The value is set up, buffer-local, when first needed.") (prog2 (message "Making completion list...") (all-completions alias mail-abbrevs) - (message "Making completion list...done")))))))) + (message "Making completion list...done")) + alias)))))) (defun mail-abbrev-next-line (&optional arg) "Expand any mail abbrev, then move cursor vertically down ARG lines. diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index f7c62026d80..81afe688c10 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el @@ -120,7 +120,10 @@ nil means let mailer mail back a message to report errors." ;; Useful to set in site-init.el ;;;###autoload -(defcustom send-mail-function 'sendmail-send-it +(defcustom send-mail-function + (if (and window-system (memq system-type '(darwin windows-nt))) + 'mailclient-send-it + 'sendmail-send-it) "Function to call to send the current buffer as mail. The headers should be delimited by a line which is not a valid RFC822 header or continuation line, diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index df92500a006..d909c909b10 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -91,14 +91,13 @@ WINS=\ progmodes \ term \ textmodes \ - toolbar \ url doit: -cus-load.el: +$(lisp)/cus-load.el: touch $@ -custom-deps: cus-load.el doit +custom-deps: $(lisp)/cus-load.el doit @echo Directories: $(WINS) -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS) @@ -106,7 +105,7 @@ finder-data: doit @echo Directories: $(WINS) $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS) -loaddefs.el: +$(lisp)/loaddefs.el: $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE) cp loaddefs.el-$(SHELLTYPE) $@ rm loaddefs.el-$(SHELLTYPE) @@ -139,7 +138,7 @@ loaddefs.el-CMD: echo (autoload 'define-derived-mode "derived")>> $@ echo (autoload 'encoded-kbd-mode "encoded-kb")>> $@ echo (defvar cvs-global-menu nil)>> $@ - echo ;;; >> $@ + echo.>> $@ echo ;;; Local Variables:>> $@ echo ;;; version-control: never>> $@ echo ;;; no-byte-compile: t>> $@ @@ -147,7 +146,7 @@ loaddefs.el-CMD: echo ;;; End:>> $@ echo ;;; loaddefs.el ends here>> $@ -autoloads: loaddefs.el doit +autoloads: $(lisp)/loaddefs.el doit @echo Directories: $(WINS) $(emacs) -l autoload \ --eval $(ARGQUOTE)(setq find-file-hook nil \ @@ -156,19 +155,19 @@ autoloads: loaddefs.el doit $(DQUOTE)$(lisp)/loaddefs.el$(DQUOTE))$(ARGQUOTE) \ -f batch-update-autoloads $(lisp) $(WINS) -subdirs.el: +$(lisp)/subdirs.el: $(MAKE) $(MFLAGS) update-subdirs # Need separate version for sh and native cmd.exe update-subdirs: update-subdirs-$(SHELLTYPE) update-subdirs-CMD: doit - echo ;; -*- no-byte-compile: t -*->subdirs.el - echo ;; In load-path, after this directory should come>> subdirs.el - echo ;; certain of its subdirectories. Here we specify them.>> subdirs.el - echo (normal-top-level-add-to-load-path $(SQUOTE)(>> subdirs.el - @for %%d in ($(WINS)) do if not (%%d)==(term) echo "%%d">> subdirs.el - echo ))>> subdirs.el + echo ;; -*- no-byte-compile: t -*-> $(lisp)/subdirs.el + echo ;; In load-path, after this directory should come>> $(lisp)/subdirs.el + echo ;; certain of its subdirectories. Here we specify them.>> $(lisp)/subdirs.el + echo (normal-top-level-add-to-load-path $(SQUOTE)(>> $(lisp)/subdirs.el + @for %%d in ($(WINS)) do if not (%%d)==(term) echo "%%d">> $(lisp)/subdirs.el + echo ))>> $(lisp)/subdirs.el update-subdirs-SH: doit $(srcdir)/update-subdirs $(lisp); \ @@ -207,7 +206,7 @@ TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) # compiled find the right files. # Need separate version for sh and native cmd.exe -compile: subdirs.el mh-autoloads compile-$(SHELLTYPE) doit +compile: $(lisp)/subdirs.el mh-autoloads compile-$(SHELLTYPE) doit compile-CMD: # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g @@ -236,7 +235,7 @@ compile-SH: # unconditionally. Some files don't actually get compiled because they # set the local variable no-byte-compile. -compile-always: subdirs.el compile-always-$(SHELLTYPE) doit +compile-always: $(lisp)/subdirs.el compile-always-$(SHELLTYPE) doit compile-always-CMD: # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g @@ -300,6 +299,17 @@ MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \ mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) + $(MAKE) $(MFLAGS) pre-mh-loaddefs.el-$(SHELLTYPE) + cp pre-mh-loaddefs.el-$(SHELLTYPE) $@ + rm pre-mh-loaddefs.el-$(SHELLTYPE) + $(EMACS) $(EMACSOPT) \ + -l autoload \ + --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ + --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \ + --eval "(setq make-backup-files nil)" \ + -f batch-update-autoloads $(lisp)/mh-e + +pre-mh-loaddefs.el-SH: echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@ echo ";;" >> $@ echo ";;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc." >> $@ @@ -308,12 +318,6 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) echo ";;; Commentary:" >> $@ echo ";;; Change Log:" >> $@ echo ";;; Code:" >> $@ - $(EMACS) $(EMACSOPT) \ - -l autoload \ - --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ - --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \ - --eval "(setq make-backup-files nil)" \ - -f batch-update-autoloads $(lisp)/mh-e echo "" >> $@ echo "(provide 'mh-loaddefs)" >> $@ echo ";;; Local Variables:" >> $@ @@ -323,6 +327,24 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) echo ";;; End:" >> $@ echo ";;; mh-loaddefs.el ends here" >> $@ +pre-mh-loaddefs.el-CMD: + echo ;;; mh-loaddefs.el --- automatically extracted autoloads> $@ + echo ;;>> $@ + echo ;;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.>> $@ + echo ;;; Author: Bill Wohler (wohler@newt.com)>> $@ + echo ;;; Keywords: mail>> $@ + echo ;;; Commentary:>> $@ + echo ;;; Change Log:>> $@ + echo ;;; Code:>> $@ + echo.>> $@ + echo (provide 'mh-loaddefs)>> $@ + echo ;;; Local Variables:>> $@ + echo ;;; version-control: never>> $@ + echo ;;; no-byte-compile: t>> $@ + echo ;;; no-update-autoloads: t>> $@ + echo ;;; End:>> $@ + echo ;;; mh-loaddefs.el ends here>> $@ + # Prepare a bootstrap in the lisp subdirectory. # # Build loaddefs.el to make sure it's up-to-date. If it's not, that @@ -337,7 +359,7 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) # sources only. # Need separate version for sh and native cmd.exe -bootstrap-clean: bootstrap-clean-$(SHELLTYPE) loaddefs.el +bootstrap-clean: bootstrap-clean-$(SHELLTYPE) $(lisp)/loaddefs.el bootstrap-clean-CMD: # if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads diff --git a/lisp/man.el b/lisp/man.el index 6c8a5a18b44..c54a00d3663 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -415,10 +415,18 @@ Otherwise, the value is whatever the function (define-key Man-mode-map "?" 'describe-mode)) ;; buttons -(define-button-type 'Man-xref-man-page - 'action (lambda (button) (man-follow (button-label button))) +(define-button-type 'Man-abstract-xref-man-page 'follow-link t - 'help-echo "mouse-2, RET: display this man page") + 'help-echo "mouse-2, RET: display this man page" + 'func nil + 'action (lambda (button) (funcall + (button-get button 'func) + (button-label button)))) + +(define-button-type 'Man-xref-man-page + :supertype 'Man-abstract-xref-man-page + 'func 'man-follow) + (define-button-type 'Man-xref-header-file 'action (lambda (button) @@ -903,14 +911,17 @@ Same for the ANSI bold and normal escape sequences." 'face Man-overstrike-face))) (message "%s man page formatted" Man-arguments)) -(defun Man-highlight-references () +(defun Man-highlight-references (&optional xref-man-type) "Highlight the references on mouse-over. References include items in the SEE ALSO section, -header file (#include <foo.h>) and files in FILES." +header file (#include <foo.h>) and files in FILES. +If XREF-MAN-TYPE is used as the button type for items +in SEE ALSO section. If it is nil, default type, +`Man-xref-man-page' is used." (let ((dummy 0)) (Man-highlight-references0 Man-see-also-regexp Man-reference-regexp 1 dummy - 'Man-xref-man-page) + (or xref-man-type 'Man-xref-man-page)) (Man-highlight-references0 Man-synopsis-regexp Man-header-regexp 0 2 'Man-xref-header-file) diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 401513c3583..7a28a00edc8 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -1733,7 +1733,7 @@ Buffers menu is regenerated." :help "Terminate input and exit minibuffer"))) ;;;###autoload -;; This comment is taken from toolbar/tool-bar.el near +;; This comment is taken from tool-bar.el near ;; (put 'tool-bar-mode ...) ;; We want to pretend the menu bar by standard is on, as this will make ;; customize consider disabling the menu bar a customization, and save diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index ac4e9242729..1f37898af76 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,81 @@ +2005-10-17 Peter S Galbraith <psg@debian.org> + + * mh-identity.el (mh-identity-field-handler): Use + `assoc-ignore-case' to compare against header field for mixed-case + "From:". + +2005-10-17 Bill Wohler <wohler@newt.com> + + * mh-customize.el (mh-folder-tool-bar-map): Renamed image file + left_arrow to left-arrow, right_arrow to right-arrow, mail_compose + to mail/compose, fld_open to fld-open. + (mh-letter-tool-bar-map): Renamed image file mail_send to + mail/send. + +2005-10-16 Bill Wohler <wohler@newt.com> + + * mh-comp.el (mh-display-completion-list-compat): New macro which + calls `display-completion-list' correctly in older environments. + Versions of Emacs prior to version 22 lacked a COMMON-SUBSTRING + argument. + (mh-complete-word): Use it. + + * mh-init.el (mh-image-load-path): Use locate-library to find + MH-E. This simplified the code a lot. Flattened out nested + statements even more. + +2005-10-16 Satyaki Das <satyaki@theforce.stanford.edu> + + * mh-init.el (mh-image-load-path): Remove use of pushnew since it + causes a compiler warning. + + * mh-utils.el (mh-display-msg): Do MIME cleanup before inserting + the message to be viewed (closes SF #1306141). + +2005-10-16 Masatake YAMATO <jet@gyve.org> + + * mh-comp.el (mh-complete-word): Pass the common + prefix substring of completion to `display-completion-list'. + +2005-10-15 Satyaki Das <satyaki@theforce.stanford.edu> + + * mh-init.el (mh-image-load-path-called-flag): New variable which + is used by mh-image-load-path so that it runs only once. + (mh-image-load-path): Modified so that it gets run only once. Also + flatten out heavily nested if statements to make it clearer. + + * mh-e.el (mh-folder-mode): Call mh-image-load-path to allow Emacs + to find images used in the toolbar. + + * mh-customize.el (:folder): Remove call to mh-image-load-path. + +2005-10-14 Bill Wohler <wohler@newt.com> + + * mh-e.el (Version, mh-version): Added +cvs to version. + +2005-10-14 Bill Wohler <wohler@newt.com> + + Released MH-E version 7.85. + + * mh-e.el (Version, mh-version): Updated for release 7.85. + +2005-10-14 Bill Wohler <wohler@newt.com> + + * mh-e.el, mh-funcs.el, mh-init.el, mh-mime.el, mh-pick.el: + * mh-seq.el, mh-utils.el: Ran mh-unit. Continued copyright lines + need to be indented. + + * mh-e.el: mh-folder-tick-face had been renamed to mh-folder-tick + but the code that invoked the face had not been updated. Tick + highlighting working again. + + * mh-seq.el (mh-non-seq-mode-line-annotation): Moved + make-variable-buffer-local call to top level to avoid warnings in + CVS Emacs. + + * mh-comp.el (mh-insert-letter): Replaced deprecated read-input + with read-string. + 2005-10-09 Bill Wohler <wohler@newt.com> * mh-init.el (mh-image-load-path): New function that adds the path diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index a7af192ec40..753f4ad50aa 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el @@ -1430,10 +1430,10 @@ not indent and do not delete headers. Leaves the mark before the letter and point after it." (interactive (list (mh-prompt-for-folder "Message from" mh-sent-from-folder nil) - (read-input (concat "Message number" - (if (numberp mh-sent-from-msg) - (format " (default %d): " mh-sent-from-msg) - ": "))) + (read-string (concat "Message number" + (if (numberp mh-sent-from-msg) + (format " (default %d): " mh-sent-from-msg) + ": "))) current-prefix-arg)) (save-restriction (narrow-to-region (point) (point)) @@ -1633,6 +1633,16 @@ This is useful in breaking up paragraphs in replies." (mh-do-in-xemacs (defvar mail-abbrevs)) +(defmacro mh-display-completion-list-compat (word choices) + "Completes WORD from CHOICES using `display-completion-list'. +Calls `display-completion-list' correctly in older environments. +Versions of Emacs prior to version 22 lacked a COMMON-SUBSTRING argument +which is used to highlight the next possible character you can enter +in the current list of completions." + (if (>= emacs-major-version 22) + `(display-completion-list (all-completions ,word ,choices) ,word) + `(display-completion-list (all-completions ,word ,choices)))) + ;;;###mh-autoload (defun mh-complete-word (word choices begin end) "Complete WORD at from CHOICES. @@ -1650,7 +1660,7 @@ Any match found replaces the text from BEGIN to END." ((stringp completion) (if (equal word completion) (with-output-to-temp-buffer completions-buffer - (display-completion-list (all-completions word choices))) + (mh-display-completion-list-compat word choices)) (ignore-errors (kill-buffer completions-buffer)) (delete-region begin end) diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el index 4dcf0ad1be8..d26819d6f63 100644 --- a/lisp/mh-e/mh-customize.el +++ b/lisp/mh-e/mh-customize.el @@ -1897,7 +1897,6 @@ where, for y in letter-docs collect `(const :tag ,y ,x))))))) -(mh-image-load-path) (mh-tool-bar-define ((:folder mh-inc-folder mh-mime-save-parts mh-previous-undeleted-msg mh-page-msg mh-next-undeleted-msg mh-delete-msg mh-refile-msg @@ -1917,12 +1916,12 @@ new mail into your Inbox folder.") "Save MIME parts from this message This button runs `mh-mime-save-parts' which saves a message's different parts into separate files.") - (mh-previous-undeleted-msg (folder) "left_arrow" + (mh-previous-undeleted-msg (folder) "left-arrow" "Go to the previous undeleted message This button runs `mh-previous-undeleted-msg'") (mh-page-msg (folder) "page-down" "Page the current message forwards\nThis button runs `mh-page-msg'") - (mh-next-undeleted-msg (folder) "right_arrow" + (mh-next-undeleted-msg (folder) "right-arrow" "Go to the next undeleted message\nThe button runs `mh-next-undeleted-msg'") (mh-delete-msg (folder) "close" "Mark this message for deletion\nThis button runs `mh-delete-msg'") @@ -1945,7 +1944,7 @@ This button runs `mh-previous-undeleted-msg'") (mh-alias-grab-from-field (folder) "mail/alias" "Grab From alias\nThis button runs `mh-alias-grab-from-field'" (and (mh-extract-from-header-value) (not (mh-alias-for-from-p)))) - (mh-send (folder) "mail_compose" + (mh-send (folder) "mail/compose" "Compose new message\nThis button runs `mh-send'") (mh-rescan-folder (folder) "refresh" "Rescan this folder\nThis button runs `mh-rescan-folder'") @@ -1953,10 +1952,10 @@ This button runs `mh-previous-undeleted-msg'") "Repack this folder\nThis button runs `mh-pack-folder'") (mh-tool-bar-search (folder) "search" "Search\nThis button runs `mh-tool-bar-search-function'") - (mh-visit-folder (folder) "fld_open" + (mh-visit-folder (folder) "fld-open" "Visit other folder\nThis button runs `mh-visit-folder'") ;; Letter buffer buttons - (mh-send-letter (letter) "mail_send" "Send this letter") + (mh-send-letter (letter) "mail/send" "Send this letter") (mh-compose-insertion (letter) "attach" "Insert attachment") (ispell-message (letter) "spell" "Check spelling") (save-buffer (letter) "save" "Save current buffer to its file" diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index ad1093101e1..c0b57ee56ca 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el @@ -6,7 +6,7 @@ ;; Author: Bill Wohler <wohler@newt.com> ;; Maintainer: Bill Wohler <wohler@newt.com> -;; Version: 7.84+cvs +;; Version: 7.85+cvs ;; Keywords: mail ;; This file is part of GNU Emacs. @@ -98,7 +98,7 @@ (defvar font-lock-auto-fontify) (defvar font-lock-defaults) -(defconst mh-version "7.84+cvs" "Version number of MH-E.") +(defconst mh-version "7.85+cvs" "Version number of MH-E.") (defvar mh-partial-folder-mode-line-annotation "select" "Annotation when displaying part of a folder. @@ -408,7 +408,7 @@ is done highlighting.") (list (list ',func (list 1 '',face 'prepend t)))))))) (mh-generate-sequence-font-lock mh-unseen-seq unseen bold) -(mh-generate-sequence-font-lock mh-tick-seq tick mh-folder-tick-face) +(mh-generate-sequence-font-lock mh-tick-seq tick mh-folder-tick) @@ -778,7 +778,7 @@ bottom of the current message." (if (mh-in-show-buffer (mh-show-buffer) (pos-visible-in-window-p (point-max))) (progn - (message + (message "End of message (Type %s to read %s undeleted message)" (single-key-description last-input-event) (if (equal mh-next-direction 'backward) @@ -1561,6 +1561,7 @@ messages in that region. \\{mh-folder-mode-map}" + (mh-image-load-path) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults '(mh-folder-font-lock-keywords t)) (make-local-variable 'desktop-save-buffer) diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el index 717d0b27aef..6ce1da8fe90 100644 --- a/lisp/mh-e/mh-funcs.el +++ b/lisp/mh-e/mh-funcs.el @@ -1,7 +1,7 @@ ;;; mh-funcs.el --- MH-E functions not everyone will use right away ;; Copyright (C) 1993, 1995, -;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc. ;; Author: Bill Wohler <wohler@newt.com> ;; Maintainer: Bill Wohler <wohler@newt.com> diff --git a/lisp/mh-e/mh-identity.el b/lisp/mh-e/mh-identity.el index 1d848344897..c3f34ae75b2 100644 --- a/lisp/mh-e/mh-identity.el +++ b/lisp/mh-e/mh-identity.el @@ -124,7 +124,7 @@ The field name is downcased. If the FIELD begins with the character `:', then it must have a special handler defined in `mh-identity-handlers', else return an error since it is not a valid header field." - (or (cdr (assoc (downcase field) mh-identity-handlers)) + (or (cdr (assoc-ignore-case field mh-identity-handlers)) (and (eq (aref field 0) ?:) (error "Field %s - unknown mh-identity-handler" field)) (cdr (assoc ":default" mh-identity-handlers)) diff --git a/lisp/mh-e/mh-init.el b/lisp/mh-e/mh-init.el index 06ca97f9cd6..dcc9af84e41 100644 --- a/lisp/mh-e/mh-init.el +++ b/lisp/mh-e/mh-init.el @@ -300,50 +300,30 @@ by the variable `mh-variants'." (add-to-list 'mh-variants variant))))) mh-variants))) -;;; XXX The two calls to message in this function should really be calls to -;;; error. However, when this function is compiled via the top-level call in -;;; mh-customize.el, it is actually called, and in a compile environment, the -;;; errors are triggered which botches the compile. As a workaround, the calls -;;; to error have been changed to calls to message, and code following was -;;; inserted as an else clause. This is not robust, so if you can fix this, -;;; please do! +(defvar mh-image-load-path-called-flag nil) + ;;;###mh-autoload (defun mh-image-load-path () "Ensure that the MH-E images are accessible by `find-image'. Images for MH-E are found in ../../etc/images relative to the files in -lisp/mh-e. If `image-load-path' exists (since Emacs 22), then the images +`lisp/mh-e'. If `image-load-path' exists (since Emacs 22), then the images directory is added to it if isn't already there. Otherwise, the images directory is added to the `load-path' if it isn't already there." - (let (mh-load-path mh-image-load-path) - ;; First, find mh-e in the load-path. - (let ((path load-path)) - (while path - (let* ((directory (directory-file-name (car path)))) - (setq mh-load-path - (if (and (equal (file-name-nondirectory directory) "mh-e") - (file-exists-p directory)) - directory - nil)) - (setq path (if mh-load-path nil (cdr path))))) - (if (not mh-load-path) - ;; This message be error; there shouldn't be an else. Blame compiler. - (message "Can not find mh-e in load-path (OK when compiling)") - ;; Create the image path associated with this mh-e directory. - (setq mh-image-load-path (expand-file-name - (concat (file-name-directory mh-load-path) - "../etc/images"))))) - (if (or (not mh-image-load-path) - (not (file-exists-p mh-image-load-path))) - ;; This message be error; there shouldn't be an else. Blame compiler. - (message "Can not find image directory %s (OK when compiling)" - mh-image-load-path) - ;; If image-load-path exists, and the image path isn't there add it. + (unless mh-image-load-path-called-flag + (let (mh-library-name mh-image-load-path) + ;; First, find mh-e in the load-path. + (setq mh-library-name (locate-library "mh-e")) + (if (not mh-library-name) + (error "Can not find MH-E in load-path")) + (setq mh-image-load-path + (expand-file-name (concat (file-name-directory mh-library-name) + "../../etc/images"))) + (if (not (file-exists-p mh-image-load-path)) + (error "Can not find image directory %s" mh-image-load-path)) (if (boundp 'image-load-path) - (if (not (member mh-image-load-path image-load-path)) - (push mh-image-load-path image-load-path)) - ;; Otherwise, if the image path isn't in the load-path, add it there. - (if (not (member mh-image-load-path load-path)) - (push mh-image-load-path load-path)))))) + (add-to-list 'image-load-path mh-image-load-path) + (add-to-list 'load-path mh-image-load-path))) + (setq mh-image-load-path-called-flag t))) (provide 'mh-init) diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index 4f72fe06487..fb7bace7ead 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el @@ -1,7 +1,7 @@ ;;; mh-mime.el --- MH-E support for composing MIME messages ;; Copyright (C) 1993, 1995, -;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: Bill Wohler <wohler@newt.com> ;; Maintainer: Bill Wohler <wohler@newt.com> diff --git a/lisp/mh-e/mh-pick.el b/lisp/mh-e/mh-pick.el index c0b9360cfae..eb825fe462f 100644 --- a/lisp/mh-e/mh-pick.el +++ b/lisp/mh-e/mh-pick.el @@ -1,7 +1,7 @@ ;;; mh-pick.el --- make a search pattern and search for a message in MH-E ;; Copyright (C) 1993, 1995, -;; 2001, 2003, 2004, 2005 Free Software Foundation, Inc. +;; 2001, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: Bill Wohler <wohler@newt.com> ;; Maintainer: Bill Wohler <wohler@newt.com> diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el index 51847c2d59d..efbfe0d221f 100644 --- a/lisp/mh-e/mh-seq.el +++ b/lisp/mh-e/mh-seq.el @@ -1,7 +1,7 @@ ;;; mh-seq.el --- MH-E sequences support ;; Copyright (C) 1993, 1995, -;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: Bill Wohler <wohler@newt.com> ;; Maintainer: Bill Wohler <wohler@newt.com> @@ -224,6 +224,8 @@ appears." ;; Avoid compiler warning (defvar tool-bar-map) +(make-variable-buffer-local 'mh-non-seq-mode-line-annotation) + ;;;###mh-autoload (defun mh-narrow-to-seq (sequence) "Restrict display of this folder to just messages in SEQUENCE. @@ -243,7 +245,6 @@ Use \\<mh-folder-mode-map>\\[mh-widen] to undo this command." (mh-notate-deleted-and-refiled) (mh-notate-cur) (when msg-at-cursor (mh-goto-msg msg-at-cursor t t)) - (make-variable-buffer-local 'mh-non-seq-mode-line-annotation) (setq mh-non-seq-mode-line-annotation mh-mode-line-annotation) (setq mh-mode-line-annotation (symbol-name sequence)) (mh-make-folder-mode-line) diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index 0e608e52062..2dbd313b1d2 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el @@ -1,7 +1,7 @@ ;;; mh-utils.el --- MH-E code needed for both sending and reading ;; Copyright (C) 1993, 1995, 1997, -;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: Bill Wohler <wohler@newt.com> ;; Maintainer: Bill Wohler <wohler@newt.com> @@ -1718,6 +1718,8 @@ Sets the current buffer to the show buffer." (cond ((not (equal msg-filename buffer-file-name)) (mh-unvisit-file) (setq buffer-read-only nil) + ;; Cleanup old mime handles + (mh-mime-cleanup) (erase-buffer) ;; Changing contents, so this hook needs to be reinitialized. ;; pgp.el uses this. @@ -1729,8 +1731,6 @@ Sets the current buffer to the show buffer." (list "-form" formfile)) msg-filename) (insert-file-contents-literally msg-filename)) - ;; Cleanup old mime handles - (mh-mime-cleanup) ;; Use mm to display buffer (when (and mh-decode-mime-flag (not formfile)) (mh-add-missing-mime-version-header) diff --git a/lisp/mouse.el b/lisp/mouse.el index 90f2b3ba879..d71d80bd41f 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -54,7 +54,7 @@ With the default setting, an ordinary Mouse-1 click on a link performs the same action as Mouse-2 on that link, while a longer -Mouse-1 click \(hold down the Mouse-1 button for more than 350 +Mouse-1 click \(hold down the Mouse-1 button for more than 450 milliseconds) performs the original Mouse-1 binding \(which typically sets point where you click the mouse). @@ -78,7 +78,7 @@ packages. See `mouse-on-link-p' for details." :version "22.1" :type '(choice (const :tag "Disabled" nil) (const :tag "Double click" double) - (number :tag "Single click time limit" :value 350) + (number :tag "Single click time limit" :value 450) (other :tag "Single click" t)) :group 'mouse) @@ -663,7 +663,7 @@ This should be bound to a mouse drag event." ;; If mark is highlighted, no need to bounce the cursor. ;; On X, we highlight while dragging, thus once again no need to bounce. (or transient-mark-mode - (memq (framep (selected-frame)) '(x pc w32)) + (memq (framep (selected-frame)) '(x pc w32 mac)) (sit-for 1)) (push-mark) (set-mark (point)) @@ -958,12 +958,14 @@ at the same position." (mouse-move-drag-overlay mouse-drag-overlay start-point end-point click-count)) (if (consp event) - (let ((fun (key-binding (vector (car event))))) + (let* ((fun (key-binding (vector (car event)))) + (do-multi-click (and (> (event-click-count event) 0) + (functionp fun) + (not (eq fun 'mouse-set-point))))) ;; Run the binding of the terminating up-event, if possible. - ;; In the case of a multiple click, it gives the wrong results, - ;; because it would fail to set up a region. - (if (not (= (overlay-start mouse-drag-overlay) - (overlay-end mouse-drag-overlay))) + (if (and (not (= (overlay-start mouse-drag-overlay) + (overlay-end mouse-drag-overlay))) + (not do-multi-click)) (let* ((stop-point (if (numberp (posn-point (event-end event))) (posn-point (event-end event)) @@ -996,8 +998,12 @@ at the same position." (and (mark t) mark-active (eq buffer (current-buffer)) (mouse-set-region-1)))) - (delete-overlay mouse-drag-overlay) ;; Run the binding of the terminating up-event. + ;; If a multiple click is not bound to mouse-set-point, + ;; cancel the effects of mouse-move-drag-overlay to + ;; avoid producing wrong results. + (if do-multi-click (goto-char start-point)) + (delete-overlay mouse-drag-overlay) (when (and (functionp fun) (= start-hscroll (window-hscroll start-window)) ;; Don't run the up-event handler if the diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 6df8a5dab42..cc662770dcf 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -4384,6 +4384,7 @@ necessary anymore." (defun tramp-completion-mode (file) "Checks whether method / user name / host name completion is active." (cond + (tramp-completion-mode t) ((not tramp-unified-filenames) t) ((string-match "^/.*:.*:$" file) nil) ((string-match @@ -4434,70 +4435,83 @@ necessary anymore." (substring file (length (tramp-completion-handle-file-name-directory file)))) +(defvar tramp-completion-mode nil + "If non-nil, we are in file name completion mode.") + ;; Method, host name and user name completion. ;; `tramp-completion-dissect-file-name' returns a list of ;; tramp-file-name structures. For all of them we return possible completions. (defun tramp-completion-handle-file-name-all-completions (filename directory) "Like `file-name-all-completions' for partial tramp files." - (let* - ((fullname (concat directory filename)) - ;; local files - (result - (if (tramp-completion-mode fullname) - (tramp-run-real-handler - 'file-name-all-completions (list filename directory)) - (tramp-completion-run-real-handler - 'file-name-all-completions (list filename directory)))) - ;; possible completion structures - (v (tramp-completion-dissect-file-name fullname))) - - (while v - (let* ((car (car v)) - (multi-method (tramp-file-name-multi-method car)) - (method (tramp-file-name-method car)) - (user (tramp-file-name-user car)) - (host (tramp-file-name-host car)) - (localname (tramp-file-name-localname car)) - (m (tramp-find-method multi-method method user host)) - (tramp-current-user user) ; see `tramp-parse-passwd' - all-user-hosts) - - (unless (or multi-method ;; Not handled (yet). - localname) ;; Nothing to complete - - (if (or user host) - - ;; Method dependent user / host combinations - (progn - (mapcar - (lambda (x) - (setq all-user-hosts - (append all-user-hosts - (funcall (nth 0 x) (nth 1 x))))) - (tramp-get-completion-function m)) - - (setq result (append result - (mapcar - (lambda (x) - (tramp-get-completion-user-host - method user host (nth 0 x) (nth 1 x))) - (delq nil all-user-hosts))))) - - ;; Possible methods - (setq result - (append result (tramp-get-completion-methods m))))) - - (setq v (delq car v)))) - - ;;; unify list, remove nil elements - (let (result1) - (while result - (let ((car (car result))) - (when car (add-to-list 'result1 car)) - (setq result (delq car result)))) - - result1))) + (unwind-protect + ;; We need to reset `tramp-completion-mode'. + (progn + (setq tramp-completion-mode t) + (let* + ((fullname (concat directory filename)) + ;; possible completion structures + (v (tramp-completion-dissect-file-name fullname)) + result result1) + + (while v + (let* ((car (car v)) + (multi-method (tramp-file-name-multi-method car)) + (method (tramp-file-name-method car)) + (user (tramp-file-name-user car)) + (host (tramp-file-name-host car)) + (localname (tramp-file-name-localname car)) + (m (tramp-find-method multi-method method user host)) + (tramp-current-user user) ; see `tramp-parse-passwd' + all-user-hosts) + + (unless (or multi-method ;; Not handled (yet). + localname) ;; Nothing to complete + + (if (or user host) + + ;; Method dependent user / host combinations + (progn + (mapcar + (lambda (x) + (setq all-user-hosts + (append all-user-hosts + (funcall (nth 0 x) (nth 1 x))))) + (tramp-get-completion-function m)) + + (setq result (append result + (mapcar + (lambda (x) + (tramp-get-completion-user-host + method user host (nth 0 x) (nth 1 x))) + (delq nil all-user-hosts))))) + + ;; Possible methods + (setq result + (append result (tramp-get-completion-methods m))))) + + (setq v (cdr v)))) + + ;; unify list, remove nil elements + (while result + (let ((car (car result))) + (when car (add-to-list 'result1 car)) + (setq result (cdr result)))) + + ;; Complete local parts + (append + result1 + (condition-case nil + (if result1 + ;; "/ssh:" does not need to be expanded as hostname. + (tramp-run-real-handler + 'file-name-all-completions (list filename directory)) + ;; No method/user/host found to be expanded. + (tramp-completion-run-real-handler + 'file-name-all-completions (list filename directory))) + (error nil))))) + ;; unwindform + (setq tramp-completion-mode nil))) ;; Method, host name and user name completion for a file. (defun tramp-completion-handle-file-name-completion (filename directory) diff --git a/lisp/pcvs.el b/lisp/pcvs.el index f86e4c95625..1e9f1bce7ce 100644 --- a/lisp/pcvs.el +++ b/lisp/pcvs.el @@ -1482,11 +1482,16 @@ The POSTPROC specified there (typically `log-edit') is then called, (point)))))) (defvar cvs-edit-log-revision) -(defun cvs-mode-edit-log (rev &optional text) +(defvar cvs-edit-log-files) (put 'cvs-edit-log-files 'permanent-local t) +(defun cvs-mode-edit-log (file rev &optional text) "Edit the log message at point. This is best called from a `log-view-mode' buffer." (interactive (list + (or (cvs-mode! (lambda () + (car (cvs-mode-files nil nil + :read-only t :file t :noquery t)))) + (read-string "File name: ")) (or (cvs-mode! (lambda () (cvs-prefix-get 'cvs-branch-prefix))) (read-string "Revision to edit: ")) (cvs-edit-log-text-at-point))) @@ -1498,26 +1503,38 @@ This is best called from a `log-view-mode' buffer." (let ((buf (cvs-temp-buffer "message" 'normal 'nosetup)) (setupfun (or (nth 2 (cdr (assoc "message" cvs-buffer-name-alist))) 'log-edit))) + (with-current-buffer buf + ;; Set the filename before, so log-edit can correctly setup its + ;; log-edit-initial-files variable. + (set (make-local-variable 'cvs-edit-log-files) (list file))) (funcall setupfun 'cvs-do-edit-log nil 'cvs-edit-log-filelist buf) (when text (erase-buffer) (insert text)) (set (make-local-variable 'cvs-edit-log-revision) rev) - (set (make-local-variable 'cvs-minor-wrap-function) 'cvs-edit-log-minor-wrap) + (set (make-local-variable 'cvs-minor-wrap-function) + 'cvs-edit-log-minor-wrap) ;; (run-hooks 'cvs-mode-commit-hook) )) (defun cvs-edit-log-minor-wrap (buf f) - (let ((cvs-ignore-marks-modif (cvs-mode-mark-get-modif "commit"))) + (let ((cvs-branch-prefix (with-current-buffer buf cvs-edit-log-revision)) + (cvs-minor-current-files + (with-current-buffer buf cvs-edit-log-files)) + ;; FIXME: I need to force because the fileinfos are UNKNOWN + (cvs-force-command "/F")) (funcall f))) (defun cvs-edit-log-filelist () - (cvs-mode-files nil nil :read-only t :file t :noquery t)) + (if cvs-minor-wrap-function + (cvs-mode-files nil nil :read-only t :file t :noquery t) + cvs-edit-log-files)) (defun cvs-do-edit-log (rev) "Do the actual commit, using the current buffer as the log message." (interactive (list cvs-edit-log-revision)) (let ((msg (buffer-substring-no-properties (point-min) (point-max)))) - (cvs-mode!) - (cvs-mode-do "admin" (list (concat "-m" rev ":" msg)) nil))) + (cvs-mode! + (lambda () + (cvs-mode-do "admin" (list (concat "-m" rev ":" msg)) nil))))) ;;;; diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 269fbeaf137..d041fa366c8 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1678,37 +1678,20 @@ displays at the top of the window; there is no arrow." "Jump to an error corresponding to MSG at MK. All arguments are markers. If END-MK is non-nil, mark is set there and overlay is highlighted between MK and END-MK." - (if (eq (window-buffer (selected-window)) - (marker-buffer msg)) - ;; If the compilation buffer window is selected, - ;; keep the compilation buffer in this window; - ;; display the source in another window. - (let ((pop-up-windows t)) - (pop-to-buffer (marker-buffer mk))) - (if (window-dedicated-p (selected-window)) - (pop-to-buffer (marker-buffer mk)) - (switch-to-buffer (marker-buffer mk)))) - ;; If narrowing gets in the way of going to the right place, widen. - (unless (eq (goto-char mk) (point)) - (widen) - (goto-char mk)) - (if end-mk - (push-mark end-mk t) - (if mark-active (setq mark-active))) - ;; If hideshow got in the way of - ;; seeing the right place, open permanently. - (dolist (ov (overlays-at (point))) - (when (eq 'hs (overlay-get ov 'invisible)) - (delete-overlay ov) - (goto-char mk))) - ;; Show compilation buffer in other window, scrolled to this error. - (let* ((pop-up-windows t) - ;; Use an existing window if it is in a visible frame. + (let* ((from-compilation-buffer (eq (window-buffer (selected-window)) + (marker-buffer msg))) + ;; Use an existing window if it is in a visible frame. (pre-existing (get-buffer-window (marker-buffer msg) 0)) - (w (let ((display-buffer-reuse-frames t)) - ;; Pop up a window. - (display-buffer (marker-buffer msg)))) + (w (if (and from-compilation-buffer pre-existing) + ;; Calling display-buffer here may end up (partly) hiding + ;; the error location if the two buffers are in two + ;; different frames. So don't do it if it's not necessary. + pre-existing + (let ((display-buffer-reuse-frames t) + (pop-up-windows t)) + ;; Pop up a window. + (display-buffer (marker-buffer msg))))) (highlight-regexp (with-current-buffer (marker-buffer msg) ;; also do this while we change buffer (compilation-set-window w msg) @@ -1718,6 +1701,29 @@ and overlay is highlighted between MK and END-MK." ;; creating a new window. (unless pre-existing (compilation-set-window-height w)) + (if from-compilation-buffer + ;; If the compilation buffer window was selected, + ;; keep the compilation buffer in this window; + ;; display the source in another window. + (let ((pop-up-windows t)) + (pop-to-buffer (marker-buffer mk) 'other-window)) + (if (window-dedicated-p (selected-window)) + (pop-to-buffer (marker-buffer mk)) + (switch-to-buffer (marker-buffer mk)))) + ;; If narrowing gets in the way of going to the right place, widen. + (unless (eq (goto-char mk) (point)) + (widen) + (goto-char mk)) + (if end-mk + (push-mark end-mk t) + (if mark-active (setq mark-active))) + ;; If hideshow got in the way of + ;; seeing the right place, open permanently. + (dolist (ov (overlays-at (point))) + (when (eq 'hs (overlay-get ov 'invisible)) + (delete-overlay ov) + (goto-char mk))) + (when highlight-regexp (if (timerp next-error-highlight-timer) (cancel-timer next-error-highlight-timer)) diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index f6e8697543f..ac2cc23048a 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -2015,7 +2015,8 @@ for \\[find-tag] (which see)." (message "Making completion list...") (with-output-to-temp-buffer "*Completions*" (display-completion-list - (all-completions pattern 'tags-complete-tag nil))) + (all-completions pattern 'tags-complete-tag nil) + pattern)) (message "Making completion list...%s" "done"))))) (dolist (x '("^No tags table in use; use .* to select one$" diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 852cd8deb88..bf09669083d 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -437,6 +437,9 @@ Also display the main routine in the disassembly buffer if present." nil nil))) (push var gdb-var-list) (speedbar 1) + (unless (string-equal + speedbar-initial-expansion-list-name "GUD") + (speedbar-change-initial-expansion-list "GUD")) (if (equal (nth 2 var) "0") (gdb-enqueue-input (list @@ -600,7 +603,9 @@ INDENT is the current indentation depth." (dolist (var gdb-var-list) (if (string-match (concat token "\\.") (nth 1 var)) (setq gdb-var-list (delq var gdb-var-list)))) - (setq gdb-var-changed t)))) + (setq gdb-var-changed t) + (with-current-buffer gud-comint-buffer + (speedbar-timer-fn))))) (defun gdb-get-target-string () (with-current-buffer gud-comint-buffer diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index d38697a2152..8f962381d24 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -5,7 +5,7 @@ ;; Keywords: unix, tools ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2003, -;; 2004, 2005 Free Software Foundation, Inc. +;; 2004, 2005 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. @@ -139,13 +139,13 @@ Used to grey out relevant togolbar icons.") ([remove] menu-item "Remove Breakpoint" gud-remove :enable (not gud-running) :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) - (window-fringes)))) + (> (car (window-fringes)) 0)))) ([tbreak] menu-item "Temporary Breakpoint" gud-tbreak :enable (memq gud-minor-mode '(gdbmi gdba gdb sdb xdb bashdb))) ([break] menu-item "Set Breakpoint" gud-break :enable (not gud-running) :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) - (window-fringes)))) + (> (car (window-fringes)) 0)))) ([up] menu-item "Up Stack" gud-up :enable (and (not gud-running) (memq gud-minor-mode @@ -197,24 +197,24 @@ Used to grey out relevant togolbar icons.") (defvar gud-tool-bar-map (if (display-graphic-p) (let ((map (make-sparse-keymap))) - (dolist (x '((gud-break . "gud-break") - (gud-remove . "gud-remove") - (gud-print . "gud-print") - (gud-pstar . "gud-pstar") - (gud-watch . "gud-watch") - (gud-cont . "gud-cont") - (gud-until . "gud-until") - (gud-finish . "gud-finish") - (gud-run . "gud-run") + (dolist (x '((gud-break . "gud/break") + (gud-remove . "gud/remove") + (gud-print . "gud/print") + (gud-pstar . "gud/pstar") + (gud-watch . "gud/watch") + (gud-cont . "gud/cont") + (gud-until . "gud/until") + (gud-finish . "gud/finish") + (gud-run . "gud/run") ;; gud-s, gud-si etc. instead of gud-step, ;; gud-stepi, to avoid file-name clashes on DOS ;; 8+3 filesystems. - (gud-next . "gud-n") - (gud-step . "gud-s") - (gud-nexti . "gud-ni") - (gud-stepi . "gud-si") - (gud-up . "gud-up") - (gud-down . "gud-down") + (gud-next . "gud/next") + (gud-step . "gud/step") + (gud-nexti . "gud/nexti") + (gud-stepi . "gud/stepi") + (gud-up . "gud/up") + (gud-down . "gud/down") (gud-goto-info . "info")) map) (tool-bar-local-item-from-menu @@ -2575,7 +2575,8 @@ It is saved for when this flag is not set.") ;; Stop displaying an arrow in a source file. (setq gud-overlay-arrow-position nil) (set-process-buffer proc nil) - (if (featurep 'speedbar) + (if (and (boundp 'speedbar-frame) + (string-equal speedbar-initial-expansion-list-name "GUD")) (speedbar-change-initial-expansion-list speedbar-previously-used-expansion-list-name)) (if (memq gud-minor-mode-type '(gdbmi gdba)) diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index 11ae1c66aa7..3a55129c899 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el @@ -1176,7 +1176,7 @@ The context determines which are considered." (message "Making completion list...") (let ((list (all-completions try table))) (with-output-to-temp-buffer "*Completions*" - (display-completion-list list))) + (display-completion-list list try))) (message "Making completion list...done")))))) diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el index 9ae3e5a5935..f5bbb4d68db 100644 --- a/lisp/progmodes/meta-mode.el +++ b/lisp/progmodes/meta-mode.el @@ -509,7 +509,7 @@ If the list was changed, sort the list and remove duplicates first." (message "Making completion list...") (let ((list (all-completions symbol list nil))) (with-output-to-temp-buffer "*Completions*" - (display-completion-list list))) + (display-completion-list list symbol))) (message "Making completion list... done")))) (funcall (nth 1 entry))))) diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el index e37f3b14a15..b65ad9eac1a 100644 --- a/lisp/progmodes/octave-mod.el +++ b/lisp/progmodes/octave-mod.el @@ -1252,7 +1252,7 @@ variables." ;; Taken from comint.el (message "Making completion list...") (with-output-to-temp-buffer "*Completions*" - (display-completion-list list)) + (display-completion-list list string)) (message "Hit space to flush") (let (key first) (if (save-excursion diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index 3cd243580e2..801096b9b0f 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el @@ -1378,7 +1378,7 @@ indent of the current line in parameterlist." ((and (not (null (cdr allcomp))) (= (length pascal-str) (length match))) (with-output-to-temp-buffer "*Completions*" - (display-completion-list allcomp)) + (display-completion-list allcomp pascal-str)) ;; Wait for a keypress. Then delete *Completion* window (momentary-string-display "" (point)) (delete-window (get-buffer-window (get-buffer "*Completions*"))) @@ -1398,7 +1398,7 @@ indent of the current line in parameterlist." (all-completions pascal-str 'pascal-completion)))) ;; Show possible completions in a temporary buffer. (with-output-to-temp-buffer "*Completions*" - (display-completion-list allcomp)) + (display-completion-list allcomp pascal-str)) ;; Wait for a keypress. Then delete *Completion* window (momentary-string-display "" (point)) (delete-window (get-buffer-window (get-buffer "*Completions*"))))) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index f7788404350..6ed2e39e4e8 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1652,7 +1652,7 @@ Repeating the command scrolls the completion window." (t (message "Making completion list...") (with-output-to-temp-buffer "*Completions*" - (display-completion-list completions)) + (display-completion-list completions symbol)) (message "Making completion list...%s" "done")))))))) (eval-when-compile (require 'hippie-exp)) diff --git a/lisp/recentf.el b/lisp/recentf.el index dee7a8d438d..b14997d604f 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el @@ -985,6 +985,54 @@ unchanged." t))))) l)) +;;; Hooks +;; +(defun recentf-track-opened-file () + "Insert the name of the file just opened or written into the recent list." + (and buffer-file-name + (recentf-add-file buffer-file-name)) + ;; Must return nil because it is run from `write-file-functions'. + nil) + +(defun recentf-track-closed-file () + "Update the recent list when a buffer is killed. +That is, remove a non kept file from the recent list." + (and buffer-file-name + (recentf-remove-if-non-kept buffer-file-name))) + +(defun recentf-update-menu () + "Update the recentf menu from the current recent list." + (let ((cache (cons default-directory recentf-list))) + ;; Does nothing, if nothing has changed. + (unless (equal recentf-data-cache cache) + (setq recentf-data-cache cache) + (condition-case err + (easy-menu-add-item + (recentf-menu-bar) recentf-menu-path + (easy-menu-create-menu recentf-menu-title + (recentf-make-menu-items)) + recentf-menu-before) + (error + (message "recentf update menu failed: %s" + (error-message-string err))))))) + +(defconst recentf-used-hooks + '( + (find-file-hook recentf-track-opened-file) + (write-file-functions recentf-track-opened-file) + (kill-buffer-hook recentf-track-closed-file) + (menu-bar-update-hook recentf-update-menu) + (kill-emacs-hook recentf-save-list) + ) + "Hooks used by recentf.") + +(defsubst recentf-enabled-p () + "Return non-nil if recentf mode is currently enabled." + (memq 'recentf-update-menu menu-bar-update-hook)) + +;;; Commands +;; + ;;; Common dialog stuff ;; (defun recentf-cancel-dialog (&rest ignore) @@ -1011,7 +1059,7 @@ Go to the beginning of buffer if not found." (let ((km (copy-keymap recentf--shortcuts-keymap))) (set-keymap-parent km widget-keymap) (define-key km "q" 'recentf-cancel-dialog) - (define-key km [down-mouse-1] 'widget-button-click) + (define-key km [follow-link] "\C-m") km) "Keymap used in recentf dialogs.") @@ -1038,54 +1086,6 @@ Go to the beginning of buffer if not found." (widget-setup) (switch-to-buffer (current-buffer)))) -;;; Hooks -;; -(defun recentf-track-opened-file () - "Insert the name of the file just opened or written into the recent list." - (and buffer-file-name - (recentf-add-file buffer-file-name)) - ;; Must return nil because it is run from `write-file-functions'. - nil) - -(defun recentf-track-closed-file () - "Update the recent list when a buffer is killed. -That is, remove a non kept file from the recent list." - (and buffer-file-name - (recentf-remove-if-non-kept buffer-file-name))) - -(defun recentf-update-menu () - "Update the recentf menu from the current recent list." - (let ((cache (cons default-directory recentf-list))) - ;; Does nothing, if nothing has changed. - (unless (equal recentf-data-cache cache) - (setq recentf-data-cache cache) - (condition-case err - (easy-menu-add-item - (recentf-menu-bar) recentf-menu-path - (easy-menu-create-menu recentf-menu-title - (recentf-make-menu-items)) - recentf-menu-before) - (error - (message "recentf update menu failed: %s" - (error-message-string err))))))) - -(defconst recentf-used-hooks - '( - (find-file-hook recentf-track-opened-file) - (write-file-functions recentf-track-opened-file) - (kill-buffer-hook recentf-track-closed-file) - (menu-bar-update-hook recentf-update-menu) - (kill-emacs-hook recentf-save-list) - ) - "Hooks used by recentf.") - -(defsubst recentf-enabled-p () - "Return non-nil if recentf mode is currently enabled." - (memq 'recentf-update-menu menu-bar-update-hook)) - -;;; Commands -;; - ;;; Edit list dialog ;; (defvar recentf-edit-list nil) @@ -1140,7 +1140,7 @@ Click on Cancel or type `q' to cancel.\n") :notify 'recentf-cancel-dialog "Cancel") (recentf-dialog-goto-first 'checkbox))) - + ;;; Open file dialog ;; (defun recentf-open-files-action (widget &rest ignore) @@ -1252,7 +1252,7 @@ Optional argument N must be a valid digit number. It defaults to 1. (when recentf--files-with-key (kill-buffer (current-buffer))) (funcall recentf-menu-action file))) - + ;;; Save/load/cleanup the recent list ;; (defconst recentf-save-file-header @@ -1316,7 +1316,9 @@ That is, remove duplicates, non-kept, and excluded files." (message "File %s removed from the recentf list" f))) (message "Cleaning up the recentf list...done (%d removed)" n) (setq recentf-list (nreverse newlist)))) - + +;;; The minor mode +;; (defvar recentf-mode-map (make-sparse-keymap) "Keymap to use in recentf mode.") diff --git a/lisp/savehist.el b/lisp/savehist.el new file mode 100644 index 00000000000..de0f1504ff8 --- /dev/null +++ b/lisp/savehist.el @@ -0,0 +1,270 @@ +;;; savehist.el --- Save minibuffer history. + +;; Copyright (C) 1997, 2005 Free Software Foundation + +;; Author: Hrvoje Niksic <hniksic@xemacs.org> +;; Keywords: minibuffer +;; Version: 7 + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Commentary: + +;; Many editors (e.g. Vim) have the feature of saving minibuffer +;; history to an external file after exit. This package provides the +;; same feature in Emacs. When Emacs is about the exit, +;; `savehist-save' will dump the contents of various minibuffer +;; histories (as determined by `savehist-history-variables') to a save +;; file (`~/.emacs-history' by default). Although the package was +;; designed for saving the minibuffer histories, any variables can be +;; saved that way. + +;; To use savehist, put the following to `~/.emacs': +;; +;; (require 'savehist) +;; (savehist-load) + +;; Be sure to have `savehist.el' in a directory that is in your +;; load-path, and byte-compile it. + +;;; Code: + +(require 'custom) + +;; User variables + +(defgroup savehist nil + "Save minibuffer history." + :group 'minibuffer) + +(defcustom savehist-history-variables + '( + ;; Catch-all minibuffer history + minibuffer-history + ;; File-oriented commands + file-name-history + ;; Regexp-related reads + regexp-history + ;; Searches in minibuffer (via `M-r' and such) + minibuffer-history-search-history + ;; Query replace + query-replace-history + ;; eval-expression (`M-:') + read-expression-history + ;; shell-command (`M-!') + shell-command-history + ;; compile + compile-history + ;; find-tag (`M-.') + find-tag-history + ;; grep + grep-history + ;; Viper stuff + vip-ex-history vip-search-history + vip-replace1-history vip-replace2-history + vip-shell-history vip-search-history + + ;; XEmacs-specific: + ;; Buffer-related commands + buffer-history + ;; Reads of variables and functions + variable-history function-history + ;; Extended commands + read-command-history + + ;; Info, lookup, and bookmark historys + Info-minibuffer-history + Info-search-history + Manual-page-minibuffer-history + + ;; Emacs-specific: + ;; Extended commands + extended-command-history) + "*List of symbols to be saved. +Every symbol should refer to a variable. The variable will be saved +only if it is bound and has a non-nil value. Thus it is safe to +specify a superset of the variables a user is expected to want to +save. + +Default value contains minibuffer history variables used by Emacs, XEmacs, +and Viper (uh-oh). Note that, if you customize this variable, you +can lose the benefit of future versions of Emacs adding new values to +the list. Because of that it might be more useful to add values using +`add-to-list'." + :type '(repeat (symbol :tag "Variable")) + :group 'savehist) + +(defcustom savehist-file "~/.emacs-history" + "*File name to save minibuffer history to. +The minibuffer history is a series of Lisp expressions, which should be +loaded using `savehist-load' from your .emacs. See `savehist-load' for +more details." + :type 'file + :group 'savehist) + +(defcustom savehist-length 100 + "*Maximum length of a minibuffer list. +If set to nil, the length is unlimited." + :type '(choice integer + (const :tag "Unlimited" nil)) + :group 'savehist) + +(defcustom savehist-modes #o600 + "*Default permissions of the history file. +This is decimal, not octal. The default is 384 (0600 in octal). +Set to nil to use the default permissions that Emacs uses, typically +mandated by umask. The default is a bit more restrictive to protect +the user's privacy." + :type 'integer + :group 'savehist) + +(defcustom savehist-autosave-interval (* 5 60) + "*The interval during which savehist should autosave the history buffer." + :type 'integer + :group 'savehist) + +(defvar savehist-coding-system (if (coding-system-p 'utf-8) 'utf-8 'iso-2022-8) + "The coding system savehist uses for saving the minibuffer history. +Changing this value while Emacs is running is supported, but considered +unwise, unless you know what you are doing.") + +;; Internal variables. + +(defvar savehist-timer nil) + +(defvar savehist-last-checksum nil) + +(defconst savehist-no-conversion (if (featurep 'xemacs) 'binary 'no-conversion) + ;; FIXME: Why not use savehist-coding-system? + "Coding system without conversion, only used for calculating checksums.") + +;; Functions + +;;;###autoload +(defun savehist-load (&optional no-hook) + "Load the minibuffer histories from `savehist-file'. +Unless NO-HOOK is specified, the function will also add the save function +to `kill-emacs-hook' and on a timer, ensuring that the minibuffer contents +will be saved before leaving Emacs. + +This function should be normally used from your Emacs init file. Since it +removes your current minibuffer histories, it is unwise to call it at any +other time." + (interactive "P") + (unless no-hook + (add-hook 'kill-emacs-hook 'savehist-autosave) + ;; Install an invocation of savehist-autosave on a timer. This + ;; should not cause a noticeable delay -- savehist-autosave + ;; executes in under 5 ms on my system. + (unless savehist-timer + (setq savehist-timer + (if (featurep 'xemacs) + (start-itimer + "savehist" 'savehist-autosave savehist-autosave-interval + savehist-autosave-interval) + (run-with-idle-timer savehist-autosave-interval savehist-autosave-interval + 'savehist-autosave))))) + ;; Don't set coding-system-for-read here. We rely on autodetection + ;; and the coding cookie to convey that information. That way, if + ;; the user changes the value of savehist-coding-system, we can + ;; still correctly load the old file. + (load savehist-file t (not (interactive-p)))) + +;;;###autoload +(defun savehist-save (&optional auto-save) + "Save the histories from `savehist-history-variables' to `savehist-file'. +Unbound symbols referenced in `savehist-history-variables' are ignored. +If AUTO-SAVE is non-nil, compare the saved contents to the one last saved, + and don't save the buffer if they are the same." + (interactive) + (with-temp-buffer + (insert + (format ";; -*- mode: emacs-lisp; coding: %s -*-\n" savehist-coding-system) + ";; Minibuffer history file, automatically generated by `savehist'.\n\n") + (let ((print-length nil) + (print-string-length nil) + (print-level nil) + (print-readably t) + (print-quoted t)) + (dolist (sym savehist-history-variables) + (when (boundp sym) + (let ((value (savehist-process-for-saving (symbol-value sym)))) + (prin1 `(setq ,sym ',value) (current-buffer)) + (insert ?\n))))) + ;; If autosaving, avoid writing if nothing has changed since the + ;; last write. + (let ((checksum (md5 (current-buffer) nil nil savehist-no-conversion))) + (unless (and auto-save (equal checksum savehist-last-checksum)) + ;; Set file-precious-flag when saving the buffer because we + ;; don't want a half-finished write ruining the entire + ;; history. (Remember that this is run from a timer and from + ;; kill-emacs-hook.) + (let ((file-precious-flag t) + (coding-system-for-write savehist-coding-system)) + (write-region (point-min) (point-max) savehist-file nil + (unless (interactive-p) 'quiet))) + (when savehist-modes + (set-file-modes savehist-file savehist-modes)) + (setq savehist-last-checksum checksum))))) + +(defun savehist-autosave () + "Save the minibuffer history if it has been modified since the last save." + (savehist-save t)) + +(defun savehist-process-for-saving (value) + ;; Process VALUE for saving to file. If it is a list, retain only + ;; the first `savehist-length' values and prune non-printable ones. + ;; If VALUE is not a list, return it as-is if it is printable and + ;; nil otherwise. + (cond + ((listp value) + (when (and savehist-length (> (length value) savehist-length)) + ;; This should be: (setq value (subseq value 0 savehist-length)) + (setq value (copy-sequence value)) + (setcdr (nthcdr savehist-length value) nil)) + ;; And this should be (remove-if-not #'savehist-printable value) + (delq nil (mapcar (lambda (x) (if (savehist-printable x) x)) value))) + ((savehist-printable value) value) + (t nil))) + +(defun savehist-printable (value) + "Return non-nil if VALUE is printable." + ;; Quick response for oft-encountered types known to be printable. + (cond + ((stringp value)) + ((numberp value)) + ((symbolp value)) + (t + ;; For others, check explicitly. + (condition-case nil + (let ((print-readably t) + (print-level nil) + (chars ())) + ;; Print the value into a string... + (prin1 value (lambda (char) (push char chars))) + ;; ...and attempt to read it. + (read (apply #'string (nreverse chars))) + ;; The attempt worked: the object is printable. + t) + ;; The attempt failed: the object is not printable. + (error nil))))) + +(provide 'savehist) + +;; arch-tag: b3ce47f4-c5ad-4ebc-ad02-73aba705cf9f +;;; savehist.el ends here diff --git a/lisp/simple.el b/lisp/simple.el index d52f1a20094..301b4cc996a 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -4848,10 +4848,13 @@ Called from `temp-buffer-show-hook'." "Normal hook run at the end of setting up a completion list buffer. When this hook is run, the current buffer is the one in which the command to display the completion list buffer was run. -The completion list buffer is available as the value of `standard-output'.") +The completion list buffer is available as the value of `standard-output'. +The common prefix substring for completion may be available as the +value of `completion-common-substring'. See also `display-completion-list'.") + + +;; Variables and faces used in `completion-setup-function'. -;; This function goes in completion-setup-hook, so that it is called -;; after the text of the completion list buffer is written. (defface completions-first-difference '((t (:inherit bold))) "Face put on the first uncommon character in completions in *Completions* buffer." @@ -4871,6 +4874,17 @@ of the differing parts is, by contrast, slightly highlighted." (defvar completion-root-regexp "^/" "Regexp to use in `completion-setup-function' to find the root directory.") +(defvar completion-common-substring nil + "Common prefix substring to use in `completion-setup-function' to put faces. +The value is set by `display-completion-list' during running `completion-setup-hook'. + +To put faces, `completions-first-difference' and `completions-common-part' +into \"*Completions*\* buffer, the common prefix substring in completions is +needed as a hint. (Minibuffer is a special case. The content of minibuffer itself +is the substring.)") + +;; This function goes in completion-setup-hook, so that it is called +;; after the text of the completion list buffer is written. (defun completion-setup-function () (let ((mainbuf (current-buffer)) (mbuf-contents (minibuffer-contents))) @@ -4909,9 +4923,11 @@ of the differing parts is, by contrast, slightly highlighted." (funcall (get minibuffer-completion-table 'completion-base-size-function))) (setq completion-base-size 0)))) ;; Put faces on first uncommon characters and common parts. - (when completion-base-size + (when (or completion-base-size completion-common-substring) (let* ((common-string-length - (- (length mbuf-contents) completion-base-size)) + (if completion-base-size + (- (length mbuf-contents) completion-base-size) + (length completion-common-substring))) (element-start (next-single-property-change (point-min) 'mouse-face)) diff --git a/lisp/speedbar.el b/lisp/speedbar.el index bb813808ed9..e09c0d734cc 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -1106,7 +1106,8 @@ frame and window to be the currently active frame and window." (or (not dframe-xemacsp) (with-no-warnings (specifier-instance has-modeline-p))) - speedbar-buffer) (save-excursion + speedbar-buffer) + (save-excursion (set-buffer speedbar-buffer) (let* ((w (or (speedbar-frame-width) 20)) (p1 "<<") @@ -1677,9 +1678,8 @@ specialized speedbar displays." (speedbar-make-button start (point) face mouse function token)) (let ((start (point))) (insert "\n") - (put-text-property start (point) 'face nil) - (put-text-property start (point) 'invisible nil) - (put-text-property start (point) 'mouse-face nil))) + (add-text-properties + start (point) '(face nil invisible nil mouse-face nil)))) (defun speedbar-insert-separator (text) "Insert a separation label of TEXT. @@ -1698,13 +1698,11 @@ Separators are not active, have no labels, depth, or actions." "Create a button from START to END, with FACE as the display face. MOUSE is the mouse face. When this button is clicked on FUNCTION will be run with the TOKEN parameter (any Lisp object)" - (put-text-property start end 'face face) - (put-text-property start end 'mouse-face mouse) + (add-text-properties + start end `(face ,face mouse-face ,mouse invisible nil + speedbar-text ,(buffer-substring-no-properties start end))) (if speedbar-use-tool-tips-flag (put-text-property start end 'help-echo #'dframe-help-echo)) - (put-text-property start end 'invisible nil) - (put-text-property start end 'speedbar-text - (buffer-substring-no-properties start end)) (if function (put-text-property start end 'speedbar-function function)) (if token (put-text-property start end 'speedbar-token token)) ;; So far the only text we have is less that 3 chars. @@ -2455,10 +2453,9 @@ name will have the function FIND-FUN and not token." (set-buffer speedbar-buffer) (speedbar-with-writable (erase-buffer) - (while funclst + (dolist (func funclst) (setq default-directory cbd) - (funcall (car funclst) cbd 0) - (setq funclst (cdr funclst))) + (funcall func cbd 0)) (speedbar-reconfigure-keymaps) (goto-char (point-min))) )))) @@ -2535,10 +2532,9 @@ name will have the function FIND-FUN and not token." speedbar-shown-directories)) (insert (cdr cache))) (t - (while funclst - (setq default-directory cbd) - (funcall (car funclst) cbd 0) - (setq funclst (cdr funclst)))))) + (dolist (func funclst) + (setq default-directory cbd) + (funcall func cbd 0))))) (goto-char (point-min))))) (speedbar-reconfigure-keymaps)) @@ -2561,11 +2557,10 @@ This should only be used by modes classified as special." speedbar-shown-directories nil)) ;; Now fill in the buffer with our newly found specialized list. (speedbar-with-writable - (while funclst - ;; We do not erase the buffer because these functions may - ;; decide NOT to update themselves. - (funcall (car funclst) specialbuff) - (setq funclst (cdr funclst)))) + (dolist (func funclst) + ;; We do not erase the buffer because these functions may + ;; decide NOT to update themselves. + (funcall func specialbuff))) (goto-char (point-min)))) (speedbar-reconfigure-keymaps)) @@ -3822,6 +3817,7 @@ regular expression EXPR." ["Contract File Tags" speedbar-contract-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.-. "))] + "----" ["Kill Buffer" speedbar-buffer-kill-buffer (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.[-+?]. "))] diff --git a/lisp/tempo.el b/lisp/tempo.el index 4939715a31c..62ba3c9acae 100644 --- a/lisp/tempo.el +++ b/lisp/tempo.el @@ -717,11 +717,13 @@ non-nil, a buffer containing possible completions is displayed." (if tempo-leave-completion-buffer (with-output-to-temp-buffer "*Completions*" (display-completion-list - (all-completions string tag-list))) + (all-completions string tag-list) + string)) (save-window-excursion (with-output-to-temp-buffer "*Completions*" (display-completion-list - (all-completions string tag-list))) + (all-completions string tag-list) + string)) (sit-for 32767)))) ;;; diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el index 5e09d6391ce..f7782433fdc 100644 --- a/lisp/term/mac-win.el +++ b/lisp/term/mac-win.el @@ -54,8 +54,6 @@ ;; -font *font ;; -foreground *foreground ;; -geometry .geometry -;; -i .iconType -;; -itype .iconType ;; -iconic .iconic ;; -name .name ;; -reverse *reverseVideo @@ -1199,15 +1197,21 @@ in `selection-converter-alist', which see." (when (and (stringp data) (setq data-type (get-text-property 0 'foreign-selection data))) (cond ((eq data-type 'public.utf16-plain-text) - (let ((encoded (and (fboundp 'mac-code-convert-string) - (mac-code-convert-string data - 'utf-16 coding)))) - (if encoded - (let ((coding-save last-coding-system-used)) - (setq data (decode-coding-string encoded coding)) - (setq last-coding-system-used coding-save)) - (setq data - (decode-coding-string data 'utf-16))))) + (if (fboundp 'mac-code-convert-string) + (let ((s (mac-code-convert-string data nil coding))) + (if s + (setq data (decode-coding-string s coding)) + (setq data + ;; (decode-coding-string data 'utf-16) is + ;; not correct because + ;; public.utf16-plain-text is defined as + ;; native byte order, no BOM. + (decode-coding-string + (mac-code-convert-string data nil 'utf-8) + 'utf-8)))) + ;; No `mac-code-convert-string' means non-Carbon, which + ;; implies big endian. + (setq data (decode-coding-string data 'utf-16be)))) ((eq data-type 'com.apple.traditional-mac-plain-text) (setq data (decode-coding-string data coding))) ((eq data-type 'public.file-url) @@ -1324,14 +1328,25 @@ in `selection-converter-alist', which see." (remove-text-properties 0 (length str) '(composition nil) str) (cond ((eq type 'public.utf16-plain-text) - (let (s) - (when (and (fboundp 'mac-code-convert-string) - (memq coding (find-coding-systems-string str))) - (setq coding (coding-system-change-eol-conversion coding 'mac)) - (setq s (mac-code-convert-string - (encode-coding-string str coding) - coding 'utf-16))) - (setq str (or s (encode-coding-string str 'utf-16-mac))))) + (if (fboundp 'mac-code-convert-string) + (let (s) + (when (memq coding (find-coding-systems-string str)) + (setq coding + (coding-system-change-eol-conversion coding 'mac)) + (setq s (mac-code-convert-string + (encode-coding-string str coding) + coding nil))) + (setq str (or s + ;; (encode-coding-string str + ;; 'utf-16-mac) is not correct because + ;; public.utf16-plain-text is defined + ;; as native byte order, no BOM. + (mac-code-convert-string + (encode-coding-string str 'utf-8-mac) + 'utf-8 nil)))) + ;; No `mac-code-convert-string' means non-Carbon, which + ;; implies big endian. + (setq str (encode-coding-string str 'utf-16be-mac)))) ((eq type 'com.apple.traditional-mac-plain-text) (let ((encodables (find-coding-systems-string str)) (rest mac-script-code-coding-systems)) diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 2177f72fd0d..7b736708268 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -2522,7 +2522,8 @@ of a word, all strings are listed. Return completion." (message "Making completion list...") (with-output-to-temp-buffer "*Completions*" (display-completion-list (all-completions part-of-word - completions))) + completions) + part-of-word)) (message "Making completion list...done") ;; return value is handled by choose-completion-string-functions nil)))) @@ -2661,6 +2662,7 @@ begins at the beginning of a line. We use this function for font-locking." field bounds start end found) (bibtex-beginning-of-field) (while (and (not found) + (<= (point) bound) (prog1 (re-search-forward bibtex-font-lock-url-regexp bound t) (setq field (match-string-no-properties 1))) (setq bounds (bibtex-parse-field-text)) diff --git a/lisp/textmodes/conf-mode.el b/lisp/textmodes/conf-mode.el index 8c009921d09..2c895eb517e 100644 --- a/lisp/textmodes/conf-mode.el +++ b/lisp/textmodes/conf-mode.el @@ -86,7 +86,7 @@ not align (only setting space according to `conf-assignment-space')." (define-key map "\C-c'" 'conf-quote-normal) (define-key map "\C-c\C-a" 'conf-align-assignments) map) - "Local keymap for conf-mode buffers.") + "Local keymap for `conf-mode' buffers.") (defvar conf-mode-syntax-table (let ((table (make-syntax-table))) @@ -99,7 +99,7 @@ not align (only setting space according to `conf-assignment-space')." (modify-syntax-entry ?\n ">" table) (modify-syntax-entry ?\r ">" table) table) - "Syntax table in use in Windows style conf-mode buffers.") + "Syntax table in use in Windows style `conf-mode' buffers.") (defvar conf-unix-mode-syntax-table (let ((table (make-syntax-table conf-mode-syntax-table))) @@ -107,7 +107,7 @@ not align (only setting space according to `conf-assignment-space')." ;; override (modify-syntax-entry ?\; "." table) table) - "Syntax table in use in Unix style conf-mode buffers.") + "Syntax table in use in Unix style `conf-mode' buffers.") (defvar conf-javaprop-mode-syntax-table (let ((table (make-syntax-table conf-unix-mode-syntax-table))) @@ -124,7 +124,7 @@ not align (only setting space according to `conf-assignment-space')." (modify-syntax-entry ?\' "." table) (modify-syntax-entry ?\; "." table) table) - "Syntax table in use in PPD conf-mode buffers.") + "Syntax table in use in PPD `conf-mode' buffers.") (defvar conf-xdefaults-mode-syntax-table (let ((table (make-syntax-table conf-mode-syntax-table))) @@ -132,7 +132,7 @@ not align (only setting space according to `conf-assignment-space')." ;; override (modify-syntax-entry ?\; "." table) table) - "Syntax table in use in Xdefaults style conf-mode buffers.") + "Syntax table in use in Xdefaults style `conf-mode' buffers.") (defvar conf-font-lock-keywords @@ -144,7 +144,7 @@ not align (only setting space according to `conf-assignment-space')." (2 'font-lock-constant-face nil t)) ;; section { ... } (do this last because some assign ...{...) ("^[ \t]*\\([^=:\n]+?\\)[ \t\n]*{[^{}]*?$" 1 'font-lock-type-face prepend)) - "Keywords to hilight in Conf mode") + "Keywords to hilight in Conf mode.") (defvar conf-javaprop-font-lock-keywords '(;; var=val @@ -156,7 +156,7 @@ not align (only setting space according to `conf-assignment-space')." (5 'font-lock-variable-name-face nil t) (6 'font-lock-constant-face nil t) (7 'font-lock-variable-name-face nil t))) - "Keywords to hilight in Conf Java Properties mode") + "Keywords to hilight in Conf Java Properties mode.") (defvar conf-space-keywords-alist '(("\\`/etc/gpm/" . "key\\|name\\|foreground\\|background\\|border\\|head") @@ -188,7 +188,7 @@ This variable is best set in the file local variables, or through '(1 'font-lock-keyword-face) '(2 'font-lock-variable-name-face)) '("^[ \t]*\\([^\000- ]+\\)" 1 'font-lock-variable-name-face))) - "Keywords to hilight in Conf Space mode") + "Keywords to hilight in Conf Space mode.") (defvar conf-colon-font-lock-keywords `(;; [section] (do this first because it may look like a parameter) @@ -198,7 +198,7 @@ This variable is best set in the file local variables, or through (1 'font-lock-variable-name-face)) ;; section { ... } (do this last because some assign ...{...) ("^[ \t]*\\([^:\n]+\\)[ \t\n]*{[^{}]*?$" 1 'font-lock-type-face prepend)) - "Keywords to hilight in Conf Colon mode") + "Keywords to hilight in Conf Colon mode.") (defvar conf-assignment-sign ?= "What sign is used for assignments.") @@ -231,12 +231,15 @@ whitespace.") (if (>= arg 0) (progn (indent-to-column arg) - (or (not conf-assignment-space) (memq (char-before (point)) '(?\s ?\t)) (insert ?\s)) - (insert conf-assignment-sign (if (and conf-assignment-space (not (eolp))) ?\s ""))) + (or (not conf-assignment-space) + (memq (char-before (point)) '(?\s ?\t)) (insert ?\s)) + (insert conf-assignment-sign + (if (and conf-assignment-space (not (eolp))) ?\s ""))) (insert (if conf-assignment-space ?\s "") conf-assignment-sign) (unless (eolp) (indent-to-column (- arg)) - (or (not conf-assignment-space) (memq (char-before (point)) '(?\s ?\t)) (insert ?\s)))) + (or (not conf-assignment-space) + (memq (char-before (point)) '(?\s ?\t)) (insert ?\s)))) (unless (eolp) (if (>= (current-column) (abs arg)) (insert ?\s) @@ -255,8 +258,10 @@ both, i.e. quotes delimit strings, except when they are unbalanced, but hey...)" (interactive "P") (let ((table (copy-syntax-table (syntax-table)))) - (if (or (not arg) (= (prefix-numeric-value arg) 1)) (modify-syntax-entry ?\' "." table)) - (if (or (not arg) (= (prefix-numeric-value arg) 2)) (modify-syntax-entry ?\" "." table)) + (if (or (not arg) (= (prefix-numeric-value arg) 1)) + (modify-syntax-entry ?\' "." table)) + (if (or (not arg) (= (prefix-numeric-value arg) 2)) + (modify-syntax-entry ?\" "." table)) (set-syntax-table table) (and (boundp 'font-lock-mode) font-lock-mode @@ -326,25 +331,25 @@ See also `conf-space-mode', `conf-colon-mode', `conf-javaprop-mode', ((looking-at ".*{")) ; nop ((setq space (1+ space)))) (forward-line))) - (if (> jp (max unix win 3)) - (conf-javaprop-mode) - (if (> colon (max equal space)) - (conf-colon-mode) - (if (> space (max equal colon)) - (conf-space-mode) - (if (or (> win unix) - (and (= win unix) (eq system-type 'windows-nt))) - (conf-windows-mode) - (conf-unix-mode)))))) + (cond + ((> jp (max unix win 3)) (conf-javaprop-mode)) + ((> colon (max equal space)) (conf-colon-mode)) + ((> space (max equal colon)) (conf-space-mode)) + ((or (> win unix) (and (= win unix) (eq system-type 'windows-nt))) + (conf-windows-mode)) + (t (conf-unix-mode)))) (kill-all-local-variables) (use-local-map conf-mode-map) (setq major-mode 'conf-mode mode-name name) + (set (make-local-variable 'font-lock-defaults) + '(conf-font-lock-keywords nil t nil nil)) (set (make-local-variable 'comment-start) comment) (set (make-local-variable 'comment-start-skip) (concat (regexp-quote comment-start) "+\\s *")) - (set (make-local-variable 'comment-use-syntax) t) + ;; Let newcomment.el decide this for himself. + ;; (set (make-local-variable 'comment-use-syntax) t) (set (make-local-variable 'parse-sexp-ignore-comments) t) (set (make-local-variable 'outline-regexp) "[ \t]*\\(?:\\[\\|.+[ \t\n]*{\\)") @@ -368,7 +373,7 @@ See also `conf-space-mode', `conf-colon-mode', `conf-javaprop-mode', Comments start with `#'. For details see `conf-mode'. Example: -# Conf mode font-locks this right on Unix and with C-c C-u +# Conf mode font-locks this right on Unix and with \\[conf-unix-mode] \[Desktop Entry] Encoding=UTF-8 @@ -384,7 +389,7 @@ For details see `conf-mode'. Example: Comments start with `;'. For details see `conf-mode'. Example: -; Conf mode font-locks this right on Windows and with C-c C-w +; Conf mode font-locks this right on Windows and with \\[conf-windows-mode] \[ExtShellFolderViews] Default={5984FFE0-28D4-11CF-AE66-08002B2E1262} @@ -407,7 +412,7 @@ Comments start with `#' but are also recognized with `//' or between `/*' and `*/'. For details see `conf-mode'. Example: -# Conf mode font-locks this right with C-c C-j (Java properties) +# Conf mode font-locks this right with \\[conf-javaprop-mode] (Java properties) // another kind of comment /* yet another */ @@ -441,7 +446,7 @@ KEYWORDS, or any non-nil non-string for no keywords. For details see `conf-mode'. Example: -# Conf mode font-locks this right with C-c C-s (space separated) +# Conf mode font-locks this right with \\[conf-space-mode] (space separated) image/jpeg jpeg jpg jpe image/png png @@ -495,7 +500,7 @@ add /dev/mixer desktop" \"Assignments\" are with `:'. For details see `conf-mode'. Example: -# Conf mode font-locks this right with C-c C-c (colon) +# Conf mode font-locks this right with \\[conf-colon-mode] (colon) <Multi_key> <exclam> <exclam> : \"\\241\" exclamdown <Multi_key> <c> <slash> : \"\\242\" cent" @@ -524,7 +529,7 @@ For details see `conf-mode'. Example: Comments start with `*%' and \"assignments\" are with `:'. For details see `conf-mode'. Example: -*% Conf mode font-locks this right with C-c C-p (PPD) +*% Conf mode font-locks this right with \\[conf-ppd-mode] (PPD) *DefaultTransfer: Null *Transfer Null.Inverse: \"{ 1 exch sub }\"" @@ -539,22 +544,13 @@ For details see `conf-mode'. Example: Comments start with `!' and \"assignments\" are with `:'. For details see `conf-mode'. Example: -! Conf mode font-locks this right with C-c C-x (.Xdefaults) +! Conf mode font-locks this right with \\[conf-xdefaults-mode] (.Xdefaults) *background: gray99 *foreground: black" (interactive) (conf-colon-mode "!" conf-xdefaults-mode-syntax-table "Conf[Xdefaults]")) - -;; font lock support -(if (boundp 'font-lock-defaults-alist) - (add-to-list - 'font-lock-defaults-alist - (cons 'conf-mode - (list 'conf-font-lock-keywords nil t nil nil)))) - - (provide 'conf-mode) ;; arch-tag: 0a3805b2-0371-4d3a-8498-8897116b2356 diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index b9542c9fce7..7f0d257e5f6 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el @@ -2844,7 +2844,7 @@ At all other locations, this simply calls `ispell-complete-word'." (message "Making completion list...") (let ((list (sort (all-completions pattern table) 'string<))) (with-output-to-temp-buffer "*Completions*" - (display-completion-list list))) + (display-completion-list list pattern))) (message "Making completion list...%s" "done")))))) ;;; Comments, TODO and DEADLINE diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 3623c788882..bdd4e659a0e 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -576,7 +576,7 @@ An alternative value is \" . \", if you use a font with a narrow period." 2 '(tex-font-lock-append-prop 'italic) 'append) ;; This is separate from the previous one because of cases like ;; {\em foo {\bf bar} bla} where both match. - (list (concat "\\\\\\(bf\\(series\\)?\\)\\>" args) + (list (concat "\\\\\\(bf\\(series\\)?\\)\\>" args) 3 '(tex-font-lock-append-prop 'bold) 'append))))) "Gaudy expressions to highlight in TeX modes.") diff --git a/lisp/toolbar/tool-bar.el b/lisp/tool-bar.el index 487255a0272..984dac92b12 100644 --- a/lisp/toolbar/tool-bar.el +++ b/lisp/tool-bar.el @@ -97,7 +97,7 @@ PROPS are additional items to add to the menu item specification. See Info node `(elisp)Tool Bar'. Items are added from left to right. ICON is the base name of a file containing the image to use. The -function will first try to use lc-ICON.xpm if display-color-cells +function will first try to use low-color/ICON.xpm if display-color-cells is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally ICON.xbm, using `find-image'. @@ -114,7 +114,7 @@ PROPS are additional items to add to the menu item specification. See Info node `(elisp)Tool Bar'. Items are added from left to right. ICON is the base name of a file containing the image to use. The -function will first try to use lc-ICON.xpm if display-color-cells +function will first try to use low-color/ICON.xpm if display-color-cells is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally ICON.xbm, using `find-image'." (let* ((fg (face-attribute 'tool-bar :foreground)) @@ -124,9 +124,12 @@ ICON.xbm, using `find-image'." (xpm-spec (list :type 'xpm :file (concat icon ".xpm"))) (xpm-lo-spec (if (> (display-color-cells) 256) nil - (list :type 'xpm :file (concat "lc-" icon ".xpm")))) - (pbm-spec (append (list :type 'pbm :file (concat icon ".pbm")) colors)) - (xbm-spec (append (list :type 'xbm :file (concat icon ".xbm")) colors)) + (list :type 'xpm :file + (concat "low-color/" icon ".xpm")))) + (pbm-spec (append (list :type 'pbm :file + (concat icon ".pbm")) colors)) + (xbm-spec (append (list :type 'xbm :file + (concat icon ".xbm")) colors)) (image (find-image (if (display-color-p) (list xpm-lo-spec xpm-spec pbm-spec xbm-spec) @@ -175,9 +178,12 @@ MAP must contain appropriate binding for `[menu-bar]' which holds a keymap." (xpm-spec (list :type 'xpm :file (concat icon ".xpm"))) (xpm-lo-spec (if (> (display-color-cells) 256) nil - (list :type 'xpm :file (concat "lc-" icon ".xpm")))) - (pbm-spec (append (list :type 'pbm :file (concat icon ".pbm")) colors)) - (xbm-spec (append (list :type 'xbm :file (concat icon ".xbm")) colors)) + (list :type 'xpm :file + (concat "low-color/" icon ".xpm")))) + (pbm-spec (append (list :type 'pbm :file + (concat icon ".pbm")) colors)) + (xbm-spec (append (list :type 'xbm :file + (concat icon ".xbm")) colors)) (spec (if (display-color-p) (list xpm-lo-spec xpm-spec pbm-spec xbm-spec) (list pbm-spec xbm-spec xpm-lo-spec xpm-spec))) @@ -255,7 +261,7 @@ MAP must contain appropriate binding for `[menu-bar]' which holds a keymap." ;; There's no icon appropriate for News and we need a command rather ;; than a lambda for Read Mail. - ;;(tool-bar-add-item-from-menu 'compose-mail "mail_compose") + ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose") (tool-bar-add-item-from-menu 'print-buffer "print") (tool-bar-add-item "preferences" 'customize 'customize diff --git a/lisp/toolbar/README b/lisp/toolbar/README deleted file mode 100644 index 81df0c874bd..00000000000 --- a/lisp/toolbar/README +++ /dev/null @@ -1,12 +0,0 @@ -The following icons are from GTK+ 2.x: - - close.xpm copy.xpm cut.xpm help.xpm home.xpm - index.xpm jump_to.xpm left_arrow.xpm new.xpm open.xpm - paste.xpm preferences.xpm print.xpm right_arrow.xpm save.xpm - saveas.xpm search.xpm spell.xpm undo.xpm up_arrow.xpm - - back_arrow.xpm and fwd_arrow.xpm are slightly modified undo and redo. - - diropen.xpm is file-manager.png from Gnome hicolor theme. - -They are not part of Emacs, but distributed and used by Emacs. diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el index 708dc294f8d..8ee1d5f9ed9 100644 --- a/lisp/tree-widget.el +++ b/lisp/tree-widget.el @@ -434,16 +434,25 @@ Return the image found, or nil if not found." ;;; Widgets ;; +(defun tree-widget-button-click (event) + "Move to the position clicked on, and if it is a button, invoke it. +EVENT is the mouse event received." + (interactive "e") + (mouse-set-point event) + (let ((pos (widget-event-point event))) + (if (get-char-property pos 'button) + (widget-button-click event)))) + (defvar tree-widget-button-keymap (let ((km (make-sparse-keymap))) (if (boundp 'widget-button-keymap) ;; XEmacs (progn (set-keymap-parent km widget-button-keymap) - (define-key km [button1] 'widget-button-click)) + (define-key km [button1] 'tree-widget-button-click)) ;; Emacs (set-keymap-parent km widget-keymap) - (define-key km [down-mouse-1] 'widget-button-click)) + (define-key km [down-mouse-1] 'tree-widget-button-click)) km) "Keymap used inside node buttons. Handle mouse button 1 click on buttons.") diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 3eb850f85f3..d7a822e105a 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,7 @@ +2005-10-15 Richard M. Stallman <rms@gnu.org> + + * url.el: Don't try to autoload hash table functions. + 2005-10-03 Stefan Monnier <monnier@iro.umontreal.ca> * url-http.el (url-http-create-request): Avoid incorrect implicit diff --git a/lisp/url/url.el b/lisp/url/url.el index ef101fe6f2a..4a1e157e59d 100644 --- a/lisp/url/url.el +++ b/lisp/url/url.el @@ -30,16 +30,6 @@ ;;; Code: (eval-when-compile (require 'cl)) -;; Don't require CL at runtime if we can avoid it (Emacs 21). -;; Otherwise we need it for hashing functions. `puthash' was never -;; defined in the Emacs 20 cl.el for some reason. -(if (fboundp 'puthash) - nil ; internal or CL is loaded - (defalias 'puthash 'cl-puthash) - (autoload 'cl-puthash "cl") - (autoload 'gethash "cl") - (autoload 'maphash "cl") - (autoload 'make-hash-table "cl")) (eval-when-compile (require 'mm-decode) @@ -236,6 +226,10 @@ no further processing). URL is either a string or a parsed URL." (defun url-mm-url (url) "Retrieve URL and pass to the appropriate viewing application." + ;; These requires could advantageously be moved to url-mm-callback or + ;; turned into autoloads, but I suspect that it would introduce some bugs + ;; because loading those files from a process sentinel or filter may + ;; result in some undesirable carner cases. (require 'mm-decode) (require 'mm-view) (url-retrieve url 'url-mm-callback nil)) diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 9dea809dc91..1d5cb3625f0 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -660,6 +660,16 @@ button is pressed or inactive, respectively. These are currently ignored." tag 'mouse-face widget-button-pressed-face))) (insert tag))) +(defun widget-move-and-invoke (event) + "Move to where you click, and if it is an active field, invoke it." + (interactive "e") + (mouse-set-point event) + (if (widget-event-point event) + (let* ((pos (widget-event-point event)) + (button (get-char-property pos 'button))) + (if button + (widget-button-click event))))) + ;;; Buttons. (defgroup widget-button nil @@ -3012,7 +3022,8 @@ It will read a file name from the minibuffer when invoked." (with-output-to-temp-buffer "*Completions*" (display-completion-list (sort (file-name-all-completions name-part directory) - 'string<))) + 'string<) + name-part)) (message "Making completion list...%s" "done"))))) (defun widget-file-prompt-value (widget prompt value unbound) @@ -3571,7 +3582,8 @@ example: (t (message "Making completion list...") (with-output-to-temp-buffer "*Completions*" - (display-completion-list (all-completions prefix list nil))) + (display-completion-list (all-completions prefix list nil) + prefix)) (message "Making completion list...done"))))) (defun widget-color-sample-face-get (widget) diff --git a/lisp/woman.el b/lisp/woman.el index bc7ec86e4a7..5e8aff75e7f 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -424,6 +424,11 @@ (defvar woman-version "0.551 (beta)" "WoMan version information.") (require 'man) +(require 'button) +(define-button-type 'WoMan-xref-man-page + :supertype 'Man-abstract-xref-man-page + 'func 'woman) + (eval-when-compile ; to avoid compiler warnings (require 'dired) (require 'apropos)) @@ -1864,7 +1869,7 @@ See `Man-mode' for additional details." (setq woman-imenu-done nil) (if woman-imenu (woman-imenu)) (let (buffer-read-only) - (Man-highlight-references)) + (Man-highlight-references 'WoMan-xref-man-page)) (set-buffer-modified-p nil) (run-mode-hooks 'woman-mode-hook)) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 897d4a0aec2..36c3fd342de 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,30 @@ +2005-10-17 Richard M. Stallman <rms@gnu.org> + + * commands.texi (Quitting): Minor clarification. + + * processes.texi (Sentinels): Clarify about output and quitting. + (Filter Functions): Mention with-local-quit. + +2005-10-17 Juri Linkov <juri@jurta.org> + + * buffers.texi (Current Buffer): + * commands.texi (Event Input Misc): + * compile.texi (Eval During Compile, Compiler Errors): + * customize.texi (Group Definitions): + * display.texi (Progress, Defining Faces): + * files.texi (Writing to Files): + * modes.texi (Mode Hooks, Defining Minor Modes): + * streams.texi (Output Functions): + * syntax.texi (Syntax Table Functions): + * text.texi (Change Hooks): + Replace `...' with `@dots{}' in `@defmac' and `@defspec'. + + * commands.texi (Quitting): Replace arg `forms' with `body' in + `with-local-quit'. + + * positions.texi (Excursions): Replace arg `forms' with `body' in + `save-excursion'. + 2005-10-08 Kim F. Storm <storm@cua.dk> * windows.texi (Window Tree): Rename window-split-tree to window-tree. diff --git a/lispref/buffers.texi b/lispref/buffers.texi index 6204dfce339..30031a10d6e 100644 --- a/lispref/buffers.texi +++ b/lispref/buffers.texi @@ -202,7 +202,7 @@ An error is signaled if @var{buffer-or-name} does not identify an existing buffer. @end defun -@defspec save-current-buffer body... +@defspec save-current-buffer body@dots{} The @code{save-current-buffer} special form saves the identity of the current buffer, evaluates the @var{body} forms, and finally restores that buffer as current. The return value is the value of the last @@ -215,7 +215,7 @@ of course. Instead, whichever buffer was current just before exit remains current. @end defspec -@defmac with-current-buffer buffer-or-name body... +@defmac with-current-buffer buffer-or-name body@dots{} The @code{with-current-buffer} macro saves the identity of the current buffer, makes @var{buffer-or-name} current, evaluates the @var{body} forms, and finally restores the buffer. The return value is the value @@ -227,7 +227,7 @@ An error is signaled if @var{buffer-or-name} does not identify an existing buffer. @end defmac -@defmac with-temp-buffer body... +@defmac with-temp-buffer body@dots{} @anchor{Definition of with-temp-buffer} The @code{with-temp-buffer} macro evaluates the @var{body} forms with a temporary buffer as the current buffer. It saves the identity of diff --git a/lispref/commands.texi b/lispref/commands.texi index 353a7436c28..ed9cb2cf3ca 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -2434,7 +2434,7 @@ The alias @code{last-input-char} exists for compatibility with Emacs version 18. @end defvar -@defmac while-no-input body... +@defmac while-no-input body@dots{} This construct runs the @var{body} forms and returns the value of the last one---but only if no input arrives. If any input arrives during the execution of the @var{body} forms, it aborts them (working much @@ -2658,27 +2658,28 @@ is set to a value other than @code{nil}. If @code{inhibit-quit} is non-@code{nil}, then @code{quit-flag} has no special effect. @end defvar -@defmac with-local-quit forms@dots{} -This macro executes @var{forms} in sequence, but allows quitting, at +@defmac with-local-quit body@dots{} +This macro executes @var{body} forms in sequence, but allows quitting, at least locally, within @var{body} even if @code{inhibit-quit} was non-@code{nil} outside this construct. It returns the value of the -last form in @var{forms}, unless exited by quitting, in which case +last form in @var{body}, unless exited by quitting, in which case it returns @code{nil}. If @code{inhibit-quit} is @code{nil} on entry to @code{with-local-quit}, -it only executes the @var{forms}, and setting @code{quit-flag} causes +it only executes the @var{body}, and setting @code{quit-flag} causes a normal quit. However, if @code{inhibit-quit} is non-@code{nil} so that ordinary quitting is delayed, a non-@code{nil} @code{quit-flag} triggers a special kind of local quit. This ends the execution of -@var{forms} and exits the @code{with-local-quit} form with +@var{body} and exits the @code{with-local-quit} body with @code{quit-flag} still non-@code{nil}, so that another (ordinary) quit will happen as soon as that is allowed. If @code{quit-flag} is -already non-@code{nil} at the beginning of @var{forms}, the local quit -happens immediately and they don't execute at all. +already non-@code{nil} at the beginning of @var{body}, the local quit +happens immediately and the body doesn't execute at all. This macro is mainly useful in functions that can be called from -timers, @code{pre-command-hook}, @code{post-command-hook} and other -places where @code{inhibit-quit} is normally bound to @code{t}. +timers, process filters, process sentinels, @code{pre-command-hook}, +@code{post-command-hook}, and other places where @code{inhibit-quit} is +normally bound to @code{t}. @end defmac @deffn Command keyboard-quit diff --git a/lispref/compile.texi b/lispref/compile.texi index 79ac366c27d..f8fd3f72b9a 100644 --- a/lispref/compile.texi +++ b/lispref/compile.texi @@ -401,7 +401,7 @@ it does nothing. It always returns @var{function}. These features permit you to write code to be evaluated during compilation of a program. -@defspec eval-and-compile body +@defspec eval-and-compile body@dots{} This form marks @var{body} to be evaluated both when you compile the containing code and when you run it (whether compiled or not). @@ -410,7 +410,7 @@ and referring to that file with @code{require}. That method is preferable when @var{body} is large. @end defspec -@defspec eval-when-compile body +@defspec eval-when-compile body@dots{} This form marks @var{body} to be evaluated at compile time but not when the compiled program is loaded. The result of evaluation by the compiler becomes a constant which appears in the compiled program. If @@ -470,7 +470,7 @@ The reference to @var{variable} must be in the @var{then-form} of the @c This is implemented with a defun, but conceptually it is @c a special form. -@defspec with-no-warnings body... +@defspec with-no-warnings body@dots{} In execution, this is equivalent to @code{(progn @var{body}...)}, but the compiler does not issue warnings for anything that occurs inside @var{body}. diff --git a/lispref/customize.texi b/lispref/customize.texi index b573ab942a6..176165294f9 100644 --- a/lispref/customize.texi +++ b/lispref/customize.texi @@ -119,7 +119,7 @@ keyword. The way to declare new customization groups is with @code{defgroup}. -@defmac defgroup group members doc [keyword value]... +@defmac defgroup group members doc [keyword value]@dots{} Declare @var{group} as a customization group containing @var{members}. Do not quote the symbol @var{group}. The argument @var{doc} specifies the documentation string for the group. It should not start with a diff --git a/lispref/display.texi b/lispref/display.texi index 93a14f1a139..4c534282011 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -403,7 +403,7 @@ never print it, there are many good reasons for this not to happen. Secondly, ``done'' is more explicit. @end defun -@defmac dotimes-with-progress-reporter (var count [result]) message body... +@defmac dotimes-with-progress-reporter (var count [result]) message body@dots{} This is a convenience macro that works the same way as @code{dotimes} does, but also reports loop progress using the functions described above. It allows you to save some typing. @@ -1721,7 +1721,7 @@ kind of customization item (@pxref{Customization}) which the user can customize using the Customization buffer (@pxref{Easy Customization,,, emacs, The GNU Emacs Manual}). -@defmac defface face spec doc [keyword value]... +@defmac defface face spec doc [keyword value]@dots{} This declares @var{face} as a customizable face that defaults according to @var{spec}. You should not quote the symbol @var{face}, and it should not end in @samp{-face} (that would be redundant). The diff --git a/lispref/files.texi b/lispref/files.texi index 5b8d77d2070..e9c5f31b448 100644 --- a/lispref/files.texi +++ b/lispref/files.texi @@ -625,7 +625,7 @@ feature is useful for programs that use files for internal purposes, files that the user does not need to know about. @end deffn -@defmac with-temp-file file body... +@defmac with-temp-file file body@dots{} @anchor{Definition of with-temp-file} The @code{with-temp-file} macro evaluates the @var{body} forms with a temporary buffer as the current buffer; then, at the end, it writes the diff --git a/lispref/modes.texi b/lispref/modes.texi index 27aea507cc8..00b58f0a9ff 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi @@ -1154,7 +1154,7 @@ Instead, it arranges for the next call to @code{run-mode-hooks} to run @var{hookvars}. @end defun -@defmac delay-mode-hooks body... +@defmac delay-mode-hooks body@dots{} This macro executes @var{body} like @code{progn}, but all calls to @code{run-mode-hooks} inside @var{body} delay running their hooks. They will be run by the first call to @code{run-mode-hooks} after exit @@ -1364,7 +1364,7 @@ characters are reserved for major modes.) The macro @code{define-minor-mode} offers a convenient way of implementing a mode in one self-contained definition. -@defmac define-minor-mode mode doc [init-value [lighter [keymap]]] keyword-args... body... +@defmac define-minor-mode mode doc [init-value [lighter [keymap]]] keyword-args@dots{} body@dots{} @tindex define-minor-mode This macro defines a new minor mode whose name is @var{mode} (a symbol). It defines a command named @var{mode} to toggle the minor @@ -1492,7 +1492,7 @@ See the command \\[hungry-electric-delete]." :group 'hunger) @end smallexample -@defmac define-global-minor-mode global-mode mode turn-on keyword-args... +@defmac define-global-minor-mode global-mode mode turn-on keyword-args@dots{} This defines a global minor mode named @var{global-mode} whose meaning is to enable the buffer-local minor mode @var{mode} in every buffer. To turn on the minor mode in a buffer, it uses the function diff --git a/lispref/positions.texi b/lispref/positions.texi index 77063addf9a..d1a7813aa60 100644 --- a/lispref/positions.texi +++ b/lispref/positions.texi @@ -829,13 +829,13 @@ after the completion of the excursion. described elsewhere (see @ref{Window Configurations}, and @pxref{Frame Configurations}). -@defspec save-excursion forms@dots{} +@defspec save-excursion body@dots{} @cindex mark excursion @cindex point excursion @cindex current buffer excursion The @code{save-excursion} special form saves the identity of the current buffer and the values of point and the mark in it, evaluates -@var{forms}, and finally restores the buffer and its saved values of +@var{body}, and finally restores the buffer and its saved values of point and the mark. All three saved values are restored even in case of an abnormal exit via @code{throw} or error (@pxref{Nonlocal Exits}). @@ -855,8 +855,8 @@ One way to restore these correspondences, and the selected window, is to use @code{save-window-excursion} inside @code{save-excursion} (@pxref{Window Configurations}). -The value returned by @code{save-excursion} is the result of the last of -@var{forms}, or @code{nil} if no @var{forms} are given. +The value returned by @code{save-excursion} is the result of the last +form in @var{body}, or @code{nil} if no body forms were given. @example @group diff --git a/lispref/processes.texi b/lispref/processes.texi index afdeaa1d2a0..d63ddc4aa3e 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi @@ -1096,9 +1096,10 @@ then free to do whatever it chooses with the output. Quitting is normally inhibited within a filter function---otherwise, the effect of typing @kbd{C-g} at command level or to quit a user -command would be unpredictable. If you want to permit quitting inside a -filter function, bind @code{inhibit-quit} to @code{nil}. -@xref{Quitting}. +command would be unpredictable. If you want to permit quitting inside +a filter function, bind @code{inhibit-quit} to @code{nil}. In most +cases, the right way to do this is with the macro +@code{with-local-quit}. @xref{Quitting}. If an error happens during execution of a filter function, it is caught automatically, so that it doesn't stop the execution of whatever @@ -1375,16 +1376,22 @@ quick succession, can call the sentinel just once. However, process termination will always run the sentinel exactly once. This is because the process status can't change again after termination. - Quitting is normally inhibited within a sentinel---otherwise, the -effect of typing @kbd{C-g} at command level or to quit a user command -would be unpredictable. If you want to permit quitting inside a -sentinel, bind @code{inhibit-quit} to @code{nil}. @xref{Quitting}. + Emacs explicitly checks for output from the process before running +the process sentinel. Once the sentinel runs due to process +termination, no further output can arrive from the process. A sentinel that writes the output into the buffer of the process should check whether the buffer is still alive. If it tries to insert into a dead buffer, it will get an error. If the buffer is dead, @code{(buffer-name (process-buffer @var{process}))} returns @code{nil}. + Quitting is normally inhibited within a sentinel---otherwise, the +effect of typing @kbd{C-g} at command level or to quit a user command +would be unpredictable. If you want to permit quitting inside a +sentinel, bind @code{inhibit-quit} to @code{nil}. In most cases, the +right way to do this is with the macro @code{with-local-quit}. +@xref{Quitting}. + If an error happens during execution of a sentinel, it is caught automatically, so that it doesn't stop the execution of whatever programs was running when the sentinel was started. However, if diff --git a/lispref/streams.texi b/lispref/streams.texi index b5a18e27d01..cb8a7fcf297 100644 --- a/lispref/streams.texi +++ b/lispref/streams.texi @@ -663,7 +663,7 @@ See @code{format}, in @ref{Formatting Strings}, for other ways to obtain the printed representation of a Lisp object as a string. @end defun -@defmac with-output-to-string body... +@defmac with-output-to-string body@dots{} This macro executes the @var{body} forms with @code{standard-output} set up to feed output into a string. Then it returns that string. diff --git a/lispref/syntax.texi b/lispref/syntax.texi index 5cde2badabd..7de2cee2f81 100644 --- a/lispref/syntax.texi +++ b/lispref/syntax.texi @@ -512,7 +512,7 @@ This function returns the current syntax table, which is the table for the current buffer. @end defun -@defmac with-syntax-table @var{table} @var{body}... +@defmac with-syntax-table @var{table} @var{body}@dots{} @tindex with-syntax-table This macro executes @var{body} using @var{table} as the current syntax table. It returns the value of the last form in @var{body}, after diff --git a/lispref/text.texi b/lispref/text.texi index 1fa68fce917..ecbce818519 100644 --- a/lispref/text.texi +++ b/lispref/text.texi @@ -4265,7 +4265,7 @@ arguments. Output of messages into the @samp{*Messages*} buffer does not call these functions. -@defmac combine-after-change-calls body... +@defmac combine-after-change-calls body@dots{} The macro executes @var{body} normally, but arranges to call the after-change functions just once for a series of several changes---if that seems safe. diff --git a/make-dist b/make-dist index d2563e16a5d..0e25de0059f 100755 --- a/make-dist +++ b/make-dist @@ -314,8 +314,9 @@ for subdir in lisp site-lisp lispref lispintro \ leim/SKK-DIC leim/ja-dic leim/quail \ src src/m src/s src/bitmaps lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ - etc etc/e etc/images etc/images/gnus etc/images/smilies \ - etc/images/mail etc/images/ezimage \ + etc etc/e \ + etc/images etc/images/ezimage etc/images/gnus etc/images/gud \ + etc/images/low-color etc/images/mail etc/images/smilies \ etc/tree-widget etc/tree-widget/default etc/tree-widget/folder \ info man m4 msdos vms mac mac/inc mac/inc/sys \ mac/src mac/Emacs.app mac/Emacs.app/Contents \ @@ -601,9 +602,9 @@ echo "Making links to \`etc/images'" fi done) -for dir in etc/images/gnus etc/images/smilies etc/images/mail \ - etc/images/ezimage etc/tree-widget/default \ - etc/tree-widget/folder ; do +for dir in etc/images/ezimage etc/images/gnus etc/images/gud \ + etc/images/low-color etc/images/mail etc/images/smilies \ + etc/tree-widget/default etc/tree-widget/folder ; do echo "Making links to \`${dir}'" (cd ${dir} ln `ls -d * | grep -v CVS | grep -v RCS` ../../../${tempdir}/${dir} diff --git a/man/ChangeLog b/man/ChangeLog index 8ba536739fc..5d009b3340d 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,55 @@ +2005-10-18 Romain Francoise <romain@orebokech.com> + + * files.texi (Version Systems): Capitalize GNU. + + * viper.texi (Viper Specials): Likewise. + +2005-10-18 Nick Roberts <nickrob@snap.net.nz> + + * building.texi (Compilation Mode): Remove redundant paragraph. + (Watch Expressions): Remove paragraph to reflect code change. + +2005-10-17 Juri Linkov <juri@jurta.org> + + * info.texi (Getting Started, Search Index, Expert Info): + Fix wording. + (Search Text): Replace `echo area' with `mode line'. + (Search Index): Both `i' and `,' find all index entries. + Replace example `C-f' with `C-l' (which exists in index of Info + manual) and delete spaces in its keyboard input sequence. + Delete unnecessary explanations about literal characters. + +2005-10-16 Richard M. Stallman <rms@gnu.org> + + * building.texi (Compilation Mode, Compilation): Clarified. + +2005-10-15 Richard M. Stallman <rms@gnu.org> + + * misc.texi (Saving Emacs Sessions): Mention savehist library. + +2005-10-14 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus.texi (Document Server Internals): Addition. + +2005-10-13 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus.texi (A note on namespaces): Fix RFC reference. + +2005-10-12 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus.texi (RSS): Fix key description. + +2005-10-11 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus.texi: Emacs/w3 -> Emacs/W3. + (Browsing the Web): Fix description. + (Web Searches): Ditto. + (Customizing W3): Ditto. + +2005-10-07 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus.texi (Maildir): Clarify expire-age and expire-group. + 2005-10-13 Kenichi Handa <handa@m17n.org> * basic.texi (Position Info): Fix previous change. @@ -50,7 +102,7 @@ 2005-10-10 Carsten Dominik <dominik@science.uva.nl> - * org.texi: (Workflow states): Documented that change in keywords + * org.texi (Workflow states): Documented that change in keywords becomes active only after restart of Emacs. 2005-10-09 Richard M. Stallman <rms@gnu.org> @@ -65,7 +117,7 @@ 2005-10-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> - * cmdargs.texi (Icons X): Removed options -i, -itype, --icon-type, + * cmdargs.texi (Icons X): Removed options -i, -itype, --icon-type, added -nb, --no-bitmap-icon. 2005-10-08 Michael Albinus <michael.albinus@gmx.de> @@ -886,7 +938,7 @@ 2005-04-25 Luc Teirlinck <teirllm@auburn.edu> * frames.texi (Tooltips): Tooltip mode is enabled by default. - Delete redundant reference to tooltip Custom group. It is + Delete redundant reference to tooltip Custom group. It is referred too again in the next paragraph. 2005-04-24 Richard M. Stallman <rms@gnu.org> diff --git a/man/building.texi b/man/building.texi index eb7a8bb00fe..01a91e9be7b 100644 --- a/man/building.texi +++ b/man/building.texi @@ -63,17 +63,16 @@ command; normally, therefore, the compilation happens in this directory. @vindex compile-command - When the shell command line is read, the minibuffer appears -containing a default command line, which is the command you used the -last time you did @kbd{M-x compile}. If you type just @key{RET}, the -same command line is used again. For the first @kbd{M-x compile}, the -default is @samp{make -k}, which is correct most of the time for -nontrivial programs. (@xref{Top,, Make, make, GNU Make Manual}.) -The default compilation command comes from the variable -@code{compile-command}; if the appropriate compilation command for a -file is something other than @samp{make -k}, it can be useful for the -file to specify a local value for @code{compile-command} (@pxref{File -Variables}). + The default for the compilation command is normally @samp{make -k}, +which is correct most of the time for nontrivial programs. +(@xref{Top,, Make, make, GNU Make Manual}.) If you have done @kbd{M-x +compile} before, the default each time is the command you used the +previous time. @code{compile} stores this command in the variable +@code{compile-command}, so setting that variable specifies the default +for the next use of @kbd{M-x compile}. If a file specifies a file +local value for @code{compile-command}, that provides the default when +you type @kbd{M-x compile} in that file's buffer. @xref{File +Variables}. Starting a compilation displays the buffer @samp{*compilation*} in another window but does not select it. The buffer's mode line tells @@ -224,13 +223,13 @@ leading context in the window before the current message. If it is scroll. If there is no left fringe, no arrow is displayed and a value of @code{nil} means display the message at the top of the window. - You don't have to be in the compilation buffer in order to use -@code{next-error}. If one window on the selected frame can be the -target of the @code{next-error} call, it is used. Else, if a buffer -previously had @code{next-error} called on it, it is used. Else, -if the current buffer can be the target of @code{next-error}, it is -used. Else, all the buffers Emacs manages are tried for -@code{next-error} support. + If you're not in the compilation buffer when you run +@code{next-error}, Emacs will look for a buffer that contains error +messages. First, it looks for one displayed in the selected frame, +then for one that previously had @code{next-error} called on it, and +then at the current buffer. Finally, Emacs looks at all the remaining +buffers. @code{next-error} signals an error if it can't find any such +buffer. @kbd{C-u C-x `} starts scanning from the beginning of the compilation buffer. This is one way to process the same set of errors again. @@ -901,12 +900,6 @@ types, such as arrays, structures and unions are represented in a tree format. To expand or contract a complex data type, click @kbd{Mouse-2} on the tag to the left of the expression. -By default, watch expressions only display in the speedbar when the -GUD buffer is selected in the attached frame. If you want your watch -expressions to remain visible at all times then select the @samp{GUD} -radio button on the @samp{Speedbar->Displays} sub-menu using -@kbd{Mouse-3}. - @findex gdb-var-delete With the cursor over the root expression of a complex data type, type @kbd{D} to delete it from the speedbar diff --git a/man/files.texi b/man/files.texi index 6bf9a590a9d..5a072b4a46b 100644 --- a/man/files.texi +++ b/man/files.texi @@ -1288,7 +1288,7 @@ SCCS only if for some reason you cannot use RCS, or one of the higher-level systems such as CVS or GNU Arch. In the following, we discuss mainly RCS, SCCS and CVS. Nearly -everything said about CVS applies to Gnu Arch, Subversion and Meta-CVS +everything said about CVS applies to GNU Arch, Subversion and Meta-CVS as well. @node VC Concepts diff --git a/man/gnus.texi b/man/gnus.texi index 7ced947a5ce..1a66bd763e0 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -683,7 +683,7 @@ Browsing the Web * Ultimate:: The Ultimate Bulletin Board systems. * Web Archive:: Reading mailing list archived on web. * RSS:: Reading RDF site summary. -* Customizing w3:: Doing stuff to Emacs/w3 from Gnus. +* Customizing W3:: Doing stuff to Emacs/W3 from Gnus. @acronym{IMAP} @@ -8569,8 +8569,8 @@ Customization, emacs-mime, The Emacs MIME Manual}) to convert the can use include: @table @code -@item w3 -Use Emacs/w3. +@item W3 +Use Emacs/W3. @item w3m Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}. @@ -15093,8 +15093,9 @@ An integer specifying the minimum age, in seconds, of an article before it will be expired, or the symbol @code{never} to specify that articles should never be expired. If this parameter is not set, @code{nnmaildir} falls back to the usual -@code{nnmail-expiry-wait}(@code{-function}) variables (overrideable by -the @code{expiry-wait}(@code{-function}) group parameters. If you +@code{nnmail-expiry-wait}(@code{-function}) variables (the +@code{expiry-wait} group parameter overrides @code{nnmail-expiry-wait} +and makes @code{nnmail-expiry-wait-function} ineffective). If you wanted a value of 3 days, you could use something like @code{[(* 3 24 60 60)]}; @code{nnmaildir} will evaluate the form and use the result. An article's age is measured starting from the article file's @@ -15117,8 +15118,8 @@ the parameter belongs to, then the article is not expired at all. If you use the vector form, the first element is evaluated once for each article. So that form can refer to @code{nnmaildir-article-file-name}, etc., to decide where to put the -article. @emph{If this parameter is not set, @code{nnmaildir} does -not fall back to the @code{expiry-target} group parameter or the +article. @emph{Even if this parameter is not set, @code{nnmaildir} +does not fall back to the @code{expiry-target} group parameter or the @code{nnmail-expiry-target} variable.} @item read-only @@ -15534,10 +15535,11 @@ interfaces to these sources. * Ultimate:: The Ultimate Bulletin Board systems. * Web Archive:: Reading mailing list archived on web. * RSS:: Reading RDF site summary. -* Customizing w3:: Doing stuff to Emacs/w3 from Gnus. +* Customizing W3:: Doing stuff to Emacs/W3 from Gnus. @end menu -All the web sources require Emacs/w3 and the url library to work. +All the web sources require Emacs/W3 and the url library or those +alternatives to work. The main caveat with all these web sources is that they probably won't work for a very long time. Gleaning information from the @acronym{HTML} data @@ -15624,8 +15626,9 @@ make money off of advertisements, not to provide services to the community. Since @code{nnweb} washes the ads off all the articles, one might think that the providers might be somewhat miffed. We'll see. -You must have the @code{url} and @code{w3} package installed to be able -to use @code{nnweb}. +You must have the @code{url} and @code{W3} package or those alternatives +(try @code{customize-group} on the @samp{mm-url} variable group) +installed to be able to use @code{nnweb}. Virtual server variables: @@ -15845,9 +15848,9 @@ system because @acronym{RSS} uses UTF-8 for encoding non-@acronym{ASCII} text by default. It is also used by default for non-@acronym{ASCII} group names. -@kindex G R (Summary) -Use @kbd{G R} from the summary buffer to subscribe to a feed---you will -be prompted for the location, the title and the description of the feed. +@kindex G R (Group) +Use @kbd{G R} from the group buffer to subscribe to a feed---you will be +prompted for the location, the title and the description of the feed. The title, which allows any characters, will be used for the group name and the name of the group data file. The description can be omitted. @@ -15940,18 +15943,19 @@ summary buffer. (add-to-list 'nnmail-extra-headers nnrss-url-field) @end lisp -@node Customizing w3 -@subsection Customizing w3 -@cindex w3 +@node Customizing W3 +@subsection Customizing W3 +@cindex W3 @cindex html @cindex url @cindex Netscape -Gnus uses the url library to fetch web pages and Emacs/w3 to display web -pages. Emacs/w3 is documented in its own manual, but there are some -things that may be more relevant for Gnus users. +Gnus uses the url library to fetch web pages and Emacs/W3 (or those +alternatives) to display web pages. Emacs/W3 is documented in its own +manual, but there are some things that may be more relevant for Gnus +users. -For instance, a common question is how to make Emacs/w3 follow links +For instance, a common question is how to make Emacs/W3 follow links using the @code{browse-url} functions (which will call some external web browser like Netscape). Here's one way: @@ -15966,7 +15970,7 @@ browser like Netscape). Here's one way: (w3-fetch-orig url target))))) @end lisp -Put that in your @file{.emacs} file, and hitting links in w3-rendered +Put that in your @file{.emacs} file, and hitting links in W3-rendered @acronym{HTML} in the Gnus article buffers will use @code{browse-url} to follow the link. @@ -16559,7 +16563,7 @@ delete them. @cindex namespaces The @acronym{IMAP} protocol has a concept called namespaces, described -by the following text in the RFC: +by the following text in the RFC2060: @display 5.1.2. Mailbox Namespace Naming Convention @@ -16891,34 +16895,48 @@ totally ignored. @item article-begin This setting has to be present in all document type definitions. It -says what the beginning of each article looks like. +says what the beginning of each article looks like. To do more +complicated things that cannot be dealt with a simple regexp, you can +use @code{article-begin-function} instead of this. -@item head-begin-function -If present, this should be a function that moves point to the head of -the article. +@item article-begin-function +If present, this should be a function that moves point to the beginning +of each article. This setting overrides @code{article-begin}. -@item nndoc-head-begin +@item head-begin If present, this should be a regexp that matches the head of the -article. +article. To do more complicated things that cannot be dealt with a +simple regexp, you can use @code{head-begin-function} instead of this. -@item nndoc-head-end +@item head-begin-function +If present, this should be a function that moves point to the head of +the article. This setting overrides @code{head-begin}. + +@item head-end This should match the end of the head of the article. It defaults to @samp{^$}---the empty line. +@item body-begin +This should match the beginning of the body of the article. It defaults +to @samp{^\n}. To do more complicated things that cannot be dealt with +a simple regexp, you can use @code{body-begin-function} instead of this. + @item body-begin-function If present, this function should move point to the beginning of the body -of the article. +of the article. This setting overrides @code{body-begin}. -@item body-begin -This should match the beginning of the body of the article. It defaults -to @samp{^\n}. +@item body-end +If present, this should match the end of the body of the article. To do +more complicated things that cannot be dealt with a simple regexp, you +can use @code{body-end-function} instead of this. @item body-end-function If present, this function should move point to the end of the body of -the article. +the article. This setting overrides @code{body-end}. -@item body-end -If present, this should match the end of the body of the article. +@item file-begin +If present, this should match the beginning of the file. All text +before this regexp will be totally ignored. @item file-end If present, this should match the end of the file. All text after this @@ -16949,6 +16967,19 @@ understand. It is called with the article number as a parameter, and is expected to generate a nice head for the article in question. It is called when requesting the headers of all articles. +@item generate-article-function +If present, this function is called to generate an entire article that +Gnus can understand. It is called with the article number as a +parameter when requesting all articles. + +@item dissection-function +If present, this function is called to dissect a document by itself, +overriding @code{first-article}, @code{article-begin}, +@code{article-begin-function}, @code{head-begin}, +@code{head-begin-function}, @code{head-end}, @code{body-begin}, +@code{body-begin-function}, @code{body-end}, @code{body-end-function}, +@code{file-begin}, and @code{file-end}. + @end table Let's look at the most complicated example I can come up with---standard @@ -24388,7 +24419,7 @@ XEmacs is distributed as a collection of packages. You should install whatever packages the Gnus XEmacs package requires. The current requirements are @samp{gnus}, @samp{mail-lib}, @samp{xemacs-base}, @samp{eterm}, @samp{sh-script}, @samp{net-utils}, @samp{os-utils}, -@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{w3}, +@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{W3}, @samp{pgg}, @samp{mailcrypt}, @samp{ecrypto}, and @samp{sasl}. diff --git a/man/info.texi b/man/info.texi index 532478ca521..ce8bc6a2bf4 100644 --- a/man/info.texi +++ b/man/info.texi @@ -92,8 +92,8 @@ Started' chapter. This first part of this Info manual describes how to get around inside of Info. The second part of the manual describes various advanced Info commands. The third part briefly explains how to generate Info -files from Texinfo files, and describes how to write an Info as -distinct from a Texinfo file. +files from Texinfo files, and describes how to write an Info file +by hand. @ifnotinfo This manual is primarily designed for browsing with an Info reader @@ -954,7 +954,7 @@ by @key{RET} will do. The file's nodes are scanned in the order they are in the file, which has no necessary relationship to the order that they may be in the tree structure of menus and @samp{next} pointers. But normally the two orders are not very different. In any -case, you can always look at the echo area to find out what node you have +case, you can always look at the mode line to find out what node you have reached, if the header is not visible (this can happen, because @kbd{s} puts your cursor at the occurrence of the string, not at the beginning of the node). @@ -982,8 +982,8 @@ if the variable @code{Info-isearch-search} is non-@code{nil} @cindex searching Info indices @kindex i @r{(Info mode)} @findex Info-index - Since most subjects related to what the manual describes should be -indexed, you should try the index search first. The @kbd{i} command + Since most topics in the manual should be indexed, you should try +the index search first before the text search. The @kbd{i} command prompts you for a subject and then looks up that subject in the indices. If it finds an index entry with the subject you typed, it goes to the node to which that index entry points. You should browse @@ -991,13 +991,13 @@ through that node to see whether the issue you are looking for is described there. If it isn't, type @kbd{,} one or more times to go through additional index entries which match your subject. - The @kbd{i} command finds all index entries which include the string -you typed @emph{as a substring}. For each match, Info shows in the -echo area the full index entry it found. Often, the text of the full -index entry already gives you enough information to decide whether it -is relevant to what you are looking for, so we recommend that you read -what Info shows in the echo area before looking at the node it -displays. + The @kbd{i} command and subsequent @kbd{,} commands find all index +entries which include the string you typed @emph{as a substring}. +For each match, Info shows in the echo area the full index entry it +found. Often, the text of the full index entry already gives you +enough information to decide whether it is relevant to what you are +looking for, so we recommend that you read what Info shows in the echo +area before looking at the node it displays. Since @kbd{i} looks for a substring, you can search for subjects even if you are not sure how they are spelled in the index. For example, @@ -1010,20 +1010,18 @@ to catch index entries that refer to ``complete'', ``completion'', and options, and key sequences that the program provides. If you are looking for a description of a command, an option, or a key, just type their names when @kbd{i} prompts you for a topic. For example, if you -want to read the description of what the @kbd{C-f} key does, type -@kbd{i C - f @key{RET}}. Here @kbd{C-f} are 3 literal characters -@samp{C}, @samp{-}, and @samp{f}, not the ``Control-f'' command key -you type inside Emacs to run the command bound to @kbd{C-f}. +want to read the description of what the @kbd{C-l} key does, type +@kbd{iC-l@key{RET}} literally. In Emacs, @kbd{i} runs the command @code{Info-index}. @findex info-apropos @findex index-apropos -If you don't know what manual documents something, try the @kbd{M-x -info-apropos} command in Emacs, or the @kbd{M-x index-apropos} command -in the stand-alone reader. It prompts for a string and then looks up -that string in all the indices of all the Info documents installed on -your system. +If you aren't sure which manual documents the topic you are looking +for, try the @kbd{M-x info-apropos} command in Emacs, or the @kbd{M-x +index-apropos} command in the stand-alone reader. It prompts for +a string and then looks up that string in all the indices of all the +Info documents installed on your system. @node Go to node, Choose menu subtopic, Search Index, Advanced @comment node-name, next, previous, up @@ -1193,24 +1191,23 @@ this: @node Expert Info @chapter Info for Experts - This chapter explains how to write an Info as distinct from a -Texinfo file. However, in most cases, writing a Texinfo file is -better, since you can use it to make a printed manual or produce other -formats, such as HTML and DocBook, as well as for generating Info -files. + This chapter explains how to write an Info file by hand. However, +in most cases, writing a Texinfo file is better, since you can use it +to make a printed manual or produce other formats, such as HTML and +DocBook, as well as for generating Info files. -@code{makeinfo} is a utility that converts a Texinfo file into an Info -file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are -GNU Emacs functions that do the same. +The @code{makeinfo} command converts a Texinfo file into an Info file; +@code{texinfo-format-region} and @code{texinfo-format-buffer} are GNU +Emacs functions that do the same. @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU -Documentation Format}, to learn how to write a Texinfo file. +Documentation Format}, for how to write a Texinfo file. @xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation -Format}, to learn how to create an Info file from a Texinfo file. +Format}, for how to create an Info file from a Texinfo file. @xref{Installing an Info File,,, texinfo, Texinfo: The GNU -Documentation Format}, to learn how to install an Info file after you +Documentation Format}, for how to install an Info file after you have created one. However, if you want to edit an Info file manually and install it manually, diff --git a/man/misc.texi b/man/misc.texi index baebc6bf4d0..57a58fd1d3a 100644 --- a/man/misc.texi +++ b/man/misc.texi @@ -2022,6 +2022,9 @@ preserve certain buffers, customize the variable @code{desktop-clear-preserve-buffers-regexp}, whose value is a regular expression matching the names of buffers not to kill. + If you want to save minibuffer history from one session to +another, use the @code{savehist} library. + @node Recursive Edit, Emulation, Saving Emacs Sessions, Top @section Recursive Editing Levels @cindex recursive editing level diff --git a/man/viper.texi b/man/viper.texi index 237e2474540..572a3296d52 100644 --- a/man/viper.texi +++ b/man/viper.texi @@ -206,7 +206,7 @@ Emacs can edit several files at once. A file in Emacs is placed in a @dfn{buffer} that usually has the same name as the file. Buffers are also used for other purposes, such as shell interfaces, directory editing, etc. @xref{Dired,,Directory Editor,emacs,The -Gnu Emacs Manual}, for an example.@refill +GNU Emacs Manual}, for an example.@refill A buffer has a distinguished position called the @dfn{point}. A @dfn{point} is always between 2 characters, and is @dfn{looking at} @@ -2582,7 +2582,7 @@ above block should be commented out. Even though these commands are sometimes useful, they are no substitute for the powerful @emph{tag table} facility of Emacs. Viper's @kbd{:tag} command in a primitive interface to Emacs tags. @xref{Tags,Tags,Tags,emacs, -The Gnu Emacs Manual}, for more information on tags. +The GNU Emacs Manual}, for more information on tags. The following two commands are normally bound to a mouse click and are part of Viper. They work only if Emacs runs as an application under X diff --git a/src/ChangeLog b/src/ChangeLog index 30db0548172..61b658b6b88 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,62 @@ +2005-10-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * macterm.c (note_mouse_movement): Use PtInRect. + (XTread_socket): Also ignore mouse motion just before a button + release event. Don't process button release event when mouse is + not grabbed. + +2005-10-16 Masatake YAMATO <jet@gyve.org> + + * minibuf.c (Fdisplay_completion_list): Add new optional + argument COMMON_SUBSTRING. Bind `completion-common-substring' + to the optional argument during running `completion-setup-hook'. + +2005-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * mac.c [TARGET_API_MAC_CARBON] (get_cfstring_encoding_from_lisp): + Allow nil as argument. + [TARGET_API_MAC_CARBON] (Fmac_code_convert_string): Regard nil + for encoding arguments as UTF-16 in native byte order, no BOM. + + * macfns.c (Fx_create_frame): Add debugging code. + (Fx_show_tip): Set frame pixel width and height. + + * macterm.c (MAC_WINDOW_NORMAL_GC): Remove macro. + (FRAME_NORMAL_GC): New macro. + (mac_draw_line, mac_clear_area, mac_clear_window) + (mac_fill_rectangle, mac_draw_string, mac_draw_string_16) + (mac_draw_image_string, mac_draw_image_string_16): Rename from + XDrawLine, XClearArea, XClearWindow, XFillRectangle, XDrawString, + XDrawString16, XDrawImageString, and XDrawImageString16, respectively. + All uses changed. + (mac_draw_line, mac_erase_rectangle, mac_clear_area) + (mac_clear_window, mac_draw_bitmap, mac_draw_rectangle) + (mac_invert_rectangle, mac_draw_string_common, mac_draw_string) + (mac_draw_string_16, mac_draw_image_string) + (mac_draw_image_string_16, mac_copy_area, mac_copy_area_with_mask) + (mac_scroll_area): Drawing functions now take frame as destination. + All uses changed. + (mac_draw_string_common): Get port height with FRAME_PIXEL_HEIGHT. + (x_draw_fringe_bitmap): Set clipping area in face->gc. + + * macterm.h (mac_clear_area): Add extern. + +2005-10-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * macterm.c (note_mouse_movement, XTread_socket): Apply 2005-10-14 + changes for xterm.c. + + * w32term.c (note_mouse_movement, w32_read_socket): Likewise. + +2005-10-14 Kenichi Handa <handa@m17n.org> + + * search.c (search_buffer): Give up BM search on case-fold-search + if one of a target character has a case-equivalence of different + charset even if that target charcter is an ASCII. + + * casefiddle.c (casify_object): Fix for the case that case + conversion change the byte length. + 2005-10-14 Kim F. Storm <storm@cua.dk> * xterm.c (note_mouse_movement): Return 1 if mouse moved; 0 otherwise. @@ -177,7 +236,7 @@ (FRAME_MAC_WINDOW, FRAME_X_WINDOW): Use window_desc. * xfaces.c (x_create_gc, x_free_gc) [MAC_OS]: Add BLOCK_INPUT. - Add debug code. + Add debugging code. 2005-10-08 Kim F. Storm <storm@cua.dk> @@ -221,6 +280,11 @@ * xterm.c, w32term.c, macterm.c: Rename member for_overlaps_p in struct glyph_string to for_overlaps. +2005-10-04 Richard M. Stallman <rms@gnu.org> + + * alloc.c (refill_memory_reserve): Conditionalize the body, + not the function's existence. + 2005-10-04 Kim F. Storm <storm@cua.dk> * window.c (window_split_tree): New function. @@ -262,7 +326,7 @@ * keyboard.c (init_keyboard) [MAC_OSX]: Don't install SIGINT handler. * macfns.c (start_hourglass): Apply 2005-05-07 change for xfns.c. - (x_create_tip_frame) [GLYPH_DEBUG]: Uncomment debug code. + (x_create_tip_frame) [GLYPH_DEBUG]: Uncomment debugging code. (Fx_create_frame, x_create_tip_frame) [USE_ATSUI]: Try ATSUI-compatible 12pt Monaco font first. diff --git a/src/casefiddle.c b/src/casefiddle.c index 454d184b99b..dee68fcf8c0 100644 --- a/src/casefiddle.c +++ b/src/casefiddle.c @@ -92,7 +92,8 @@ casify_object (flag, obj) else if (!UPPERCASEP (c) && (!inword || flag != CASE_CAPITALIZE_UP)) c = UPCASE1 (c); - if (ASCII_BYTE_P (c) || (! multibyte && SINGLE_BYTE_CHAR_P (c))) + if ((ASCII_BYTE_P (c) && from_len == 1) + || (! multibyte && SINGLE_BYTE_CHAR_P (c))) SSET (obj, i, c); else { @@ -100,7 +101,10 @@ casify_object (flag, obj) if (from_len == to_len) CHAR_STRING (c, SDATA (obj) + i); else - Faset (obj, make_number (n), make_number (c)); + { + Faset (obj, make_number (n), make_number (c)); + len += to_len - from_len; + } } if ((int) flag >= (int) CASE_CAPITALIZE) inword = SYNTAX (c) == Sword; diff --git a/src/mac.c b/src/mac.c index 0d8c99ffb1e..4c8e78ade25 100644 --- a/src/mac.c +++ b/src/mac.c @@ -3411,7 +3411,7 @@ terminate_applescript() } /* Convert a lisp string to the 4 byte character code. */ - + OSType mac_get_code_from_arg(Lisp_Object arg, OSType defCode) { @@ -3419,7 +3419,7 @@ mac_get_code_from_arg(Lisp_Object arg, OSType defCode) if (NILP(arg)) { result = defCode; - } + } else { /* check type string */ @@ -3483,7 +3483,7 @@ DEFUN ("mac-get-file-creator", Fmac_get_file_creator, Smac_get_file_creator, 1, status = FSpGetFInfo (&fss, &finder_info); #endif - if (status == noErr) + if (status == noErr) { #ifdef MAC_OSX result = mac_get_object_from_code(((FileInfo*)&catalogInfo.finderInfo)->fileCreator); @@ -3538,7 +3538,7 @@ DEFUN ("mac-get-file-type", Fmac_get_file_type, Smac_get_file_type, 1, 1, 0, status = FSpGetFInfo (&fss, &finder_info); #endif - if (status == noErr) + if (status == noErr) { #ifdef MAC_OSX result = mac_get_object_from_code(((FileInfo*)&catalogInfo.finderInfo)->fileType); @@ -3596,7 +3596,7 @@ assumed. Return non-nil if successful. */) status = FSpGetFInfo (&fss, &finder_info); #endif - if (status == noErr) + if (status == noErr) { #ifdef MAC_OSX ((FileInfo*)&catalogInfo.finderInfo)->fileCreator = cCode; @@ -3656,7 +3656,7 @@ CODE must be a 4-character string. Return non-nil if successful. */) status = FSpGetFInfo (&fss, &finder_info); #endif - if (status == noErr) + if (status == noErr) { #ifdef MAC_OSX ((FileInfo*)&catalogInfo.finderInfo)->fileType = cCode; @@ -3968,10 +3968,13 @@ get_cfstring_encoding_from_lisp (obj) CFStringRef iana_name; CFStringEncoding encoding = kCFStringEncodingInvalidId; + if (NILP (obj)) + return kCFStringEncodingUnicode; + if (INTEGERP (obj)) return XINT (obj); - if (SYMBOLP (obj) && !NILP (obj) && !NILP (Fcoding_system_p (obj))) + if (SYMBOLP (obj) && !NILP (Fcoding_system_p (obj))) { Lisp_Object coding_spec, plist; @@ -4115,7 +4118,8 @@ DEFUN ("mac-code-convert-string", Fmac_code_convert_string, Smac_code_convert_st doc: /* Convert STRING from SOURCE encoding to TARGET encoding. The conversion is performed using the converter provided by the system. Each encoding is specified by either a coding system symbol, a mime -charset string, or an integer as a CFStringEncoding value. +charset string, or an integer as a CFStringEncoding value. Nil for +encoding means UTF-16 in native byte order, no byte order marker. On Mac OS X 10.2 and later, you can do Unicode Normalization by specifying the optional argument NORMALIZATION-FORM with a symbol NFD, NFKD, NFC, NFKC, HFS+D, or HFS+C. @@ -4126,7 +4130,6 @@ On successful conversion, return the result string, else return nil. */) Lisp_Object result = Qnil; CFStringEncoding src_encoding, tgt_encoding; CFStringRef str = NULL; - CFDataRef data = NULL; CHECK_STRING (string); if (!INTEGERP (source) && !STRINGP (source)) @@ -4148,7 +4151,7 @@ On successful conversion, return the result string, else return nil. */) if (src_encoding != kCFStringEncodingInvalidId && tgt_encoding != kCFStringEncodingInvalidId) str = CFStringCreateWithBytes (NULL, SDATA (string), SBYTES (string), - src_encoding, true); + src_encoding, !NILP (source)); #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 if (str) { @@ -4160,15 +4163,18 @@ On successful conversion, return the result string, else return nil. */) #endif if (str) { - data = CFStringCreateExternalRepresentation (NULL, str, - tgt_encoding, '\0'); + CFIndex str_len, buf_len; + + str_len = CFStringGetLength (str); + if (CFStringGetBytes (str, CFRangeMake (0, str_len), tgt_encoding, 0, + !NILP (target), NULL, 0, &buf_len) == str_len) + { + result = make_uninit_string (buf_len); + CFStringGetBytes (str, CFRangeMake (0, str_len), tgt_encoding, 0, + !NILP (target), SDATA (result), buf_len, NULL); + } CFRelease (str); } - if (data) - { - result = cfdata_to_lisp (data); - CFRelease (data); - } UNBLOCK_INPUT; diff --git a/src/macfns.c b/src/macfns.c index f0d07a9fe55..64e20af4a47 100644 --- a/src/macfns.c +++ b/src/macfns.c @@ -1745,8 +1745,7 @@ x_set_tool_bar_lines (f, value, oldval) int y = nlines * FRAME_LINE_HEIGHT (f); BLOCK_INPUT; - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - 0, y, width, height, 0); + mac_clear_area (f, 0, y, width, height); UNBLOCK_INPUT; if (WINDOWP (f->tool_bar_window)) @@ -2439,7 +2438,7 @@ This function is an internal primitive--use `make-frame' instead. */) frame = Qnil; GCPRO4 (parms, parent, name, frame); tem = mac_get_arg (parms, Qminibuffer, "minibuffer", "Minibuffer", - RES_TYPE_SYMBOL); + RES_TYPE_SYMBOL); if (EQ (tem, Qnone) || NILP (tem)) f = make_frame_without_minibuffer (Qnil, kb, display); else if (EQ (tem, Qonly)) @@ -2480,7 +2479,11 @@ This function is an internal primitive--use `make-frame' instead. */) if (! STRINGP (f->icon_name)) f->icon_name = Qnil; -/* FRAME_W32_DISPLAY_INFO (f) = dpyinfo; */ +/* FRAME_MAC_DISPLAY_INFO (f) = dpyinfo; */ +#if GLYPH_DEBUG + image_cache_refcount = FRAME_X_IMAGE_CACHE (f)->refcount; + dpyinfo_refcount = dpyinfo->reference_count; +#endif /* GLYPH_DEBUG */ #ifdef MULTI_KBOARD FRAME_KBOARD (f) = kb; #endif @@ -2606,9 +2609,10 @@ This function is an internal primitive--use `make-frame' instead. */) x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1), "menuBar", "MenuBar", RES_TYPE_NUMBER); x_default_parameter (f, parms, Qtool_bar_lines, make_number (1), - "toolBar", "ToolBar", RES_TYPE_NUMBER); + "toolBar", "ToolBar", RES_TYPE_NUMBER); x_default_parameter (f, parms, Qbuffer_predicate, Qnil, - "bufferPredicate", "BufferPredicate", RES_TYPE_SYMBOL); + "bufferPredicate", "BufferPredicate", + RES_TYPE_SYMBOL); x_default_parameter (f, parms, Qtitle, Qnil, "title", "Title", RES_TYPE_STRING); x_default_parameter (f, parms, Qfullscreen, Qnil, @@ -3593,7 +3597,7 @@ x_create_tip_frame (dpyinfo, parms, text) FRAME_FONTSET (f) = -1; f->icon_name = Qnil; - +/* FRAME_X_DISPLAY_INFO (f) = dpyinfo; */ #if GLYPH_DEBUG image_cache_refcount = FRAME_X_IMAGE_CACHE (f)->refcount; dpyinfo_refcount = dpyinfo->reference_count; @@ -4047,6 +4051,9 @@ Text larger than the specified size is clipped. */) BringToFront (FRAME_MAC_WINDOW (f)); UNBLOCK_INPUT; + FRAME_PIXEL_WIDTH (f) = width; + FRAME_PIXEL_HEIGHT (f) = height; + /* Draw into the window. */ w->must_be_updated_p = 1; update_single_window (w, 1); diff --git a/src/macterm.c b/src/macterm.c index 83561639cbf..a4fe2342a63 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -271,7 +271,7 @@ extern void menubar_selection_callback (FRAME_PTR, int); #define GC_BACK_COLOR(gc) (&(gc)->back_color) #define GC_FONT(gc) ((gc)->xgcv.font) #define GC_CLIP_REGION(gc) ((gc)->clip_region) -#define MAC_WINDOW_NORMAL_GC(w) (((mac_output *) GetWRefCon (w))->normal_gc) +#define FRAME_NORMAL_GC(f) ((f)->output_data.mac->normal_gc) static RgnHandle saved_port_clip_region = NULL; @@ -317,13 +317,12 @@ XFreePixmap (display, pixmap) /* Mac version of XDrawLine. */ static void -XDrawLine (display, w, gc, x1, y1, x2, y2) - Display *display; - WindowPtr w; +mac_draw_line (f, gc, x1, y1, x2, y2) + struct frame *f; GC gc; int x1, y1, x2, y2; { - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); RGBForeColor (GC_FORE_COLOR (gc)); @@ -358,15 +357,15 @@ mac_draw_line_to_pixmap (display, p, gc, x1, y1, x2, y2) static void -mac_erase_rectangle (w, gc, x, y, width, height) - WindowPtr w; +mac_erase_rectangle (f, gc, x, y, width, height) + struct frame *f; GC gc; int x, y; unsigned int width, height; { Rect r; - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); RGBBackColor (GC_BACK_COLOR (gc)); SetRect (&r, x, y, x + width, y + height); @@ -375,43 +374,40 @@ mac_erase_rectangle (w, gc, x, y, width, height) EraseRect (&r); mac_end_clip (GC_CLIP_REGION (gc)); - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); } /* Mac version of XClearArea. */ void -XClearArea (display, w, x, y, width, height, exposures) - Display *display; - WindowPtr w; +mac_clear_area (f, x, y, width, height) + struct frame *f; int x, y; unsigned int width, height; - int exposures; { - mac_erase_rectangle (w, MAC_WINDOW_NORMAL_GC (w), x, y, width, height); + mac_erase_rectangle (f, FRAME_NORMAL_GC (f), x, y, width, height); } /* Mac version of XClearWindow. */ static void -XClearWindow (display, w) - Display *display; - WindowPtr w; +mac_clear_window (f) + struct frame *f; { - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); #if TARGET_API_MAC_CARBON { Rect r; - GetWindowPortBounds (w, &r); + GetWindowPortBounds (FRAME_MAC_WINDOW (f), &r); EraseRect (&r); } #else /* not TARGET_API_MAC_CARBON */ - EraseRect (&(w->portRect)); + EraseRect (&(FRAME_MAC_WINDOW (f)->portRect)); #endif /* not TARGET_API_MAC_CARBON */ } @@ -419,9 +415,8 @@ XClearWindow (display, w) /* Mac replacement for XCopyArea. */ static void -mac_draw_bitmap (display, w, gc, x, y, width, height, bits, overlay_p) - Display *display; - WindowPtr w; +mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p) + struct frame *f; GC gc; int x, y, width, height; unsigned short *bits; @@ -434,7 +429,7 @@ mac_draw_bitmap (display, w, gc, x, y, width, height, bits, overlay_p) bitmap.baseAddr = (char *)bits; SetRect (&(bitmap.bounds), 0, 0, width, height); - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); RGBForeColor (GC_FORE_COLOR (gc)); RGBBackColor (GC_BACK_COLOR (gc)); @@ -442,17 +437,22 @@ mac_draw_bitmap (display, w, gc, x, y, width, height, bits, overlay_p) mac_begin_clip (GC_CLIP_REGION (gc)); #if TARGET_API_MAC_CARBON - LockPortBits (GetWindowPort (w)); - CopyBits (&bitmap, GetPortBitMapForCopyBits (GetWindowPort (w)), - &(bitmap.bounds), &r, overlay_p ? srcOr : srcCopy, 0); - UnlockPortBits (GetWindowPort (w)); + { + CGrafPtr port; + + GetPort (&port); + LockPortBits (port); + CopyBits (&bitmap, GetPortBitMapForCopyBits (port), + &(bitmap.bounds), &r, overlay_p ? srcOr : srcCopy, 0); + UnlockPortBits (port); + } #else /* not TARGET_API_MAC_CARBON */ - CopyBits (&bitmap, &(w->portBits), &(bitmap.bounds), &r, + CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r, overlay_p ? srcOr : srcCopy, 0); #endif /* not TARGET_API_MAC_CARBON */ mac_end_clip (GC_CLIP_REGION (gc)); - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); } @@ -569,16 +569,15 @@ XCreatePixmapFromBitmapData (display, w, data, width, height, fg, bg, depth) /* Mac replacement for XFillRectangle. */ static void -XFillRectangle (display, w, gc, x, y, width, height) - Display *display; - WindowPtr w; +mac_fill_rectangle (f, gc, x, y, width, height) + struct frame *f; GC gc; int x, y; unsigned int width, height; { Rect r; - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); RGBForeColor (GC_FORE_COLOR (gc)); SetRect (&r, x, y, x + width, y + height); @@ -589,46 +588,18 @@ XFillRectangle (display, w, gc, x, y, width, height) } -#if 0 /* TODO: figure out if we need to do this on Mac. */ -static void -mac_fill_rectangle_to_pixmap (display, p, gc, x, y, width, height) - Display *display; - Pixmap p; - GC gc; - int x, y; - unsigned int width, height; -{ - CGrafPtr old_port; - GDHandle old_gdh; - Rect r; - - GetGWorld (&old_port, &old_gdh); - SetGWorld (p, NULL); - RGBForeColor (GC_FORE_COLOR (gc)); - SetRect (&r, x, y, x + width, y + height); - - LockPixels (GetGWorldPixMap (p)); - PaintRect (&r); /* using foreground color of gc */ - UnlockPixels (GetGWorldPixMap (p)); - - SetGWorld (old_port, old_gdh); -} -#endif - - /* Mac replacement for XDrawRectangle: dest is a window. */ static void -mac_draw_rectangle (display, w, gc, x, y, width, height) - Display *display; - WindowPtr w; +mac_draw_rectangle (f, gc, x, y, width, height) + struct frame *f; GC gc; int x, y; unsigned int width, height; { Rect r; - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); RGBForeColor (GC_FORE_COLOR (gc)); SetRect (&r, x, y, x + width + 1, y + height + 1); @@ -639,35 +610,6 @@ mac_draw_rectangle (display, w, gc, x, y, width, height) } -#if 0 /* TODO: figure out if we need to do this on Mac. */ -/* Mac replacement for XDrawRectangle: dest is a Pixmap. */ - -static void -mac_draw_rectangle_to_pixmap (display, p, gc, x, y, width, height) - Display *display; - Pixmap p; - GC gc; - int x, y; - unsigned int width, height; -{ - CGrafPtr old_port; - GDHandle old_gdh; - Rect r; - - GetGWorld (&old_port, &old_gdh); - SetGWorld (p, NULL); - RGBForeColor (GC_FORE_COLOR (gc)); - SetRect (&r, x, y, x + width + 1, y + height + 1); - - LockPixels (GetGWorldPixMap (p)); - FrameRect (&r); /* using foreground color of gc */ - UnlockPixels (GetGWorldPixMap (p)); - - SetGWorld (old_port, old_gdh); -} -#endif - - #if USE_ATSUI static OSStatus atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) @@ -724,16 +666,16 @@ atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) } #endif + static void -mac_invert_rectangle (display, w, x, y, width, height) - Display *display; - WindowPtr w; +mac_invert_rectangle (f, x, y, width, height) + struct frame *f; int x, y; unsigned int width, height; { Rect r; - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); SetRect (&r, x, y, x + width, y + height); @@ -742,10 +684,8 @@ mac_invert_rectangle (display, w, x, y, width, height) static void -mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, - bytes_per_char) - Display *display; - WindowPtr w; +mac_draw_string_common (f, gc, x, y, buf, nchars, mode, bytes_per_char) + struct frame *f; GC gc; int x, y; char *buf; @@ -759,7 +699,7 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, } #endif - SetPortWindowPort (w); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); RGBForeColor (GC_FORE_COLOR (gc)); if (mode != srcOr) @@ -804,16 +744,13 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, { CGrafPtr port; CGContextRef context; - Rect rect; - float port_height; + float port_height = FRAME_PIXEL_HEIGHT (f); ATSUAttributeTag tags[] = {kATSUCGContextTag}; ByteCount sizes[] = {sizeof (CGContextRef)}; ATSUAttributeValuePtr values[] = {&context}; GetPort (&port); QDBeginCGContext (port, &context); - GetPortBounds (port, &rect); - port_height = rect.bottom - rect.top; if (gc->n_clip_rects) { CGContextTranslateCTM (context, 0, port_height); @@ -862,7 +799,7 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, #endif if (mode != srcOr) - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 if (!NILP(Vmac_use_core_graphics)) SwapQDTextFlags(savedFlags); @@ -873,73 +810,65 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, /* Mac replacement for XDrawString. */ static void -XDrawString (display, w, gc, x, y, buf, nchars) - Display *display; - WindowPtr w; +mac_draw_string (f, gc, x, y, buf, nchars) + struct frame *f; GC gc; int x, y; char *buf; int nchars; { - mac_draw_string_common (display, w, gc, x, y, buf, nchars, srcOr, 1); + mac_draw_string_common (f, gc, x, y, buf, nchars, srcOr, 1); } /* Mac replacement for XDrawString16. */ static void -XDrawString16 (display, w, gc, x, y, buf, nchars) - Display *display; - WindowPtr w; +mac_draw_string_16 (f, gc, x, y, buf, nchars) + struct frame *f; GC gc; int x, y; XChar2b *buf; int nchars; { - mac_draw_string_common (display, w, gc, x, y, (char *) buf, nchars, srcOr, - 2); + mac_draw_string_common (f, gc, x, y, (char *) buf, nchars, srcOr, 2); } /* Mac replacement for XDrawImageString. */ static void -XDrawImageString (display, w, gc, x, y, buf, nchars) - Display *display; - WindowPtr w; +mac_draw_image_string (f, gc, x, y, buf, nchars) + struct frame *f; GC gc; int x, y; char *buf; int nchars; { - mac_draw_string_common (display, w, gc, x, y, buf, nchars, srcCopy, 1); + mac_draw_string_common (f, gc, x, y, buf, nchars, srcCopy, 1); } /* Mac replacement for XDrawString16. */ static void -XDrawImageString16 (display, w, gc, x, y, buf, nchars) - Display *display; - WindowPtr w; +mac_draw_image_string_16 (f, gc, x, y, buf, nchars) + struct frame *f; GC gc; int x, y; XChar2b *buf; int nchars; { - mac_draw_string_common (display, w, gc, x, y, (char *) buf, nchars, srcCopy, - 2); + mac_draw_string_common (f, gc, x, y, (char *) buf, nchars, srcCopy, 2); } /* Mac replacement for XCopyArea: dest must be window. */ static void -mac_copy_area (display, src, dest, gc, src_x, src_y, width, height, dest_x, - dest_y) - Display *display; +mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y) Pixmap src; - WindowPtr dest; + struct frame *f; GC gc; int src_x, src_y; unsigned int width, height; @@ -947,7 +876,7 @@ mac_copy_area (display, src, dest, gc, src_x, src_y, width, height, dest_x, { Rect src_r, dest_r; - SetPortWindowPort (dest); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); @@ -958,28 +887,32 @@ mac_copy_area (display, src, dest, gc, src_x, src_y, width, height, dest_x, mac_begin_clip (GC_CLIP_REGION (gc)); LockPixels (GetGWorldPixMap (src)); #if TARGET_API_MAC_CARBON - LockPortBits (GetWindowPort (dest)); - CopyBits (GetPortBitMapForCopyBits (src), - GetPortBitMapForCopyBits (GetWindowPort (dest)), - &src_r, &dest_r, srcCopy, 0); - UnlockPortBits (GetWindowPort (dest)); + { + CGrafPtr port; + + GetPort (&port); + LockPortBits (port); + CopyBits (GetPortBitMapForCopyBits (src), + GetPortBitMapForCopyBits (port), + &src_r, &dest_r, srcCopy, 0); + UnlockPortBits (port); + } #else /* not TARGET_API_MAC_CARBON */ - CopyBits (&(((GrafPtr)src)->portBits), &(dest->portBits), + CopyBits (&(((GrafPtr)src)->portBits), &(FRAME_MAC_WINDOW (f)->portBits), &src_r, &dest_r, srcCopy, 0); #endif /* not TARGET_API_MAC_CARBON */ UnlockPixels (GetGWorldPixMap (src)); mac_end_clip (GC_CLIP_REGION (gc)); - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (dest))); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); } static void -mac_copy_area_with_mask (display, src, mask, dest, gc, src_x, src_y, +mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y, width, height, dest_x, dest_y) - Display *display; Pixmap src, mask; - WindowPtr dest; + struct frame *f; GC gc; int src_x, src_y; unsigned int width, height; @@ -987,7 +920,7 @@ mac_copy_area_with_mask (display, src, mask, dest, gc, src_x, src_y, { Rect src_r, dest_r; - SetPortWindowPort (dest); + SetPortWindowPort (FRAME_MAC_WINDOW (f)); SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); @@ -999,29 +932,33 @@ mac_copy_area_with_mask (display, src, mask, dest, gc, src_x, src_y, LockPixels (GetGWorldPixMap (src)); LockPixels (GetGWorldPixMap (mask)); #if TARGET_API_MAC_CARBON - LockPortBits (GetWindowPort (dest)); - CopyMask (GetPortBitMapForCopyBits (src), GetPortBitMapForCopyBits (mask), - GetPortBitMapForCopyBits (GetWindowPort (dest)), - &src_r, &src_r, &dest_r); - UnlockPortBits (GetWindowPort (dest)); + { + CGrafPtr port; + + GetPort (&port); + LockPortBits (port); + CopyMask (GetPortBitMapForCopyBits (src), GetPortBitMapForCopyBits (mask), + GetPortBitMapForCopyBits (port), + &src_r, &src_r, &dest_r); + UnlockPortBits (port); + } #else /* not TARGET_API_MAC_CARBON */ CopyMask (&(((GrafPtr)src)->portBits), &(((GrafPtr)mask)->portBits), - &(dest->portBits), &src_r, &src_r, &dest_r); + &(FRAME_MAC_WINDOW (f)->portBits), &src_r, &src_r, &dest_r); #endif /* not TARGET_API_MAC_CARBON */ UnlockPixels (GetGWorldPixMap (mask)); UnlockPixels (GetGWorldPixMap (src)); mac_end_clip (GC_CLIP_REGION (gc)); - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (dest))); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); } /* Mac replacement for XCopyArea: used only for scrolling. */ static void -mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y) - Display *display; - WindowPtr w; +mac_scroll_area (f, gc, src_x, src_y, width, height, dest_x, dest_y) + struct frame *f; GC gc; int src_x, src_y; unsigned int width, height; @@ -1032,11 +969,13 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y) RgnHandle dummy = NewRgn (); /* For avoiding update events. */ SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); - ScrollWindowRect (w, &src_r, dest_x - src_x, dest_y - src_y, + ScrollWindowRect (FRAME_MAC_WINDOW (f), + &src_r, dest_x - src_x, dest_y - src_y, kScrollWindowNoOptions, dummy); DisposeRgn (dummy); #else /* not TARGET_API_MAC_CARBON */ Rect src_r, dest_r; + WindowPtr w = FRAME_MAC_WINDOW (f); SetPort (w); @@ -1051,93 +990,11 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y) CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0); mac_end_clip (GC_CLIP_REGION (gc)); - RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); -#endif /* not TARGET_API_MAC_CARBON */ -} - - -#if 0 /* TODO: figure out if we need to do this on Mac. */ -/* Mac replacement for XCopyArea: dest must be Pixmap. */ - -static void -mac_copy_area_to_pixmap (display, src, dest, gc, src_x, src_y, width, height, - dest_x, dest_y) - Display *display; - Pixmap src, dest; - GC gc; - int src_x, src_y; - unsigned int width, height; - int dest_x, dest_y; -{ - CGrafPtr old_port; - GDHandle old_gdh; - Rect src_r, dest_r; - - GetGWorld (&old_port, &old_gdh); - SetGWorld (dest, NULL); - ForeColor (blackColor); - BackColor (whiteColor); - - SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); - SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); - - LockPixels (GetGWorldPixMap (src)); - LockPixels (GetGWorldPixMap (dest)); -#if TARGET_API_MAC_CARBON - CopyBits (GetPortBitMapForCopyBits (src), GetPortBitMapForCopyBits (dest), - &src_r, &dest_r, srcCopy, 0); -#else /* not TARGET_API_MAC_CARBON */ - CopyBits (&(((GrafPtr)src)->portBits), &(((GrafPtr)dest)->portBits), - &src_r, &dest_r, srcCopy, 0); + RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); #endif /* not TARGET_API_MAC_CARBON */ - UnlockPixels (GetGWorldPixMap (dest)); - UnlockPixels (GetGWorldPixMap (src)); - - SetGWorld (old_port, old_gdh); } -static void -mac_copy_area_with_mask_to_pixmap (display, src, mask, dest, gc, src_x, src_y, - width, height, dest_x, dest_y) - Display *display; - Pixmap src, mask, dest; - GC gc; - int src_x, src_y; - unsigned int width, height; - int dest_x, dest_y; -{ - CGrafPtr old_port; - GDHandle old_gdh; - Rect src_r, dest_r; - - GetGWorld (&old_port, &old_gdh); - SetGWorld (dest, NULL); - ForeColor (blackColor); - BackColor (whiteColor); - - SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); - SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); - - LockPixels (GetGWorldPixMap (src)); - LockPixels (GetGWorldPixMap (mask)); - LockPixels (GetGWorldPixMap (dest)); -#if TARGET_API_MAC_CARBON - CopyMask (GetPortBitMapForCopyBits (src), GetPortBitMapForCopyBits (mask), - GetPortBitMapForCopyBits (dest), &src_r, &src_r, &dest_r); -#else /* not TARGET_API_MAC_CARBON */ - CopyMask (&(((GrafPtr)src)->portBits), &(((GrafPtr)mask)->portBits), - &(((GrafPtr)dest)->portBits), &src_r, &src_r, &dest_r); -#endif /* not TARGET_API_MAC_CARBON */ - UnlockPixels (GetGWorldPixMap (dest)); - UnlockPixels (GetGWorldPixMap (mask)); - UnlockPixels (GetGWorldPixMap (src)); - - SetGWorld (old_port, old_gdh); -} -#endif - - /* Mac replacement for XChangeGC. */ static void @@ -1509,8 +1366,7 @@ mac_draw_vertical_window_border (w, x, y0, y1) XSetForeground (FRAME_MAC_DISPLAY (f), f->output_data.mac->normal_gc, face->foreground); - XDrawLine (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - f->output_data.mac->normal_gc, x, y0, x, y1); + mac_draw_line (f, f->output_data.mac->normal_gc, x, y0, x, y1); } /* End update of window W (which is equal to updated_window). @@ -1649,11 +1505,8 @@ x_after_update_window_line (desired_row) y -= width; BLOCK_INPUT; - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - 0, y, width, height, 0); - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - FRAME_PIXEL_WIDTH (f) - width, y, - width, height, 0); + mac_clear_area (f, 0, y, width, height); + mac_clear_area (f, FRAME_PIXEL_WIDTH (f) - width, y, width, height); UNBLOCK_INPUT; } } @@ -1672,8 +1525,6 @@ x_draw_fringe_bitmap (w, row, p) { struct frame *f = XFRAME (WINDOW_FRAME (w)); Display *display = FRAME_MAC_DISPLAY (f); - WindowPtr window = FRAME_MAC_WINDOW (f); - GC gc = f->output_data.mac->normal_gc; struct face *face = p->face; int rowY; @@ -1687,12 +1538,12 @@ x_draw_fringe_bitmap (w, row, p) int oldVH = row->visible_height; row->visible_height = p->h; row->y -= rowY - p->y; - x_clip_to_row (w, row, -1, gc); + x_clip_to_row (w, row, -1, face->gc); row->y = oldY; row->visible_height = oldVH; } else - x_clip_to_row (w, row, -1, gc); + x_clip_to_row (w, row, -1, face->gc); if (p->bx >= 0 && !p->overlay_p) { @@ -1707,7 +1558,7 @@ x_draw_fringe_bitmap (w, row, p) XSetForeground (FRAME_X_DISPLAY (f), face->gc, face->background); #endif - mac_erase_rectangle (window, face->gc, p->bx, p->by, p->nx, p->ny); + mac_erase_rectangle (f, face->gc, p->bx, p->by, p->nx, p->ny); #if 0 /* MAC_TODO: stipple */ if (!face->stipple) @@ -1726,12 +1577,12 @@ x_draw_fringe_bitmap (w, row, p) ? (p->overlay_p ? face->background : f->output_data.mac->cursor_pixel) : face->foreground)); - mac_draw_bitmap (display, window, face->gc, p->x, p->y, + mac_draw_bitmap (f, face->gc, p->x, p->y, p->wd, p->h, bits, p->overlay_p); XSetForeground (display, face->gc, gcv.foreground); } - mac_reset_clip_rectangles (display, gc); + mac_reset_clip_rectangles (display, face->gc); } @@ -2282,7 +2133,7 @@ x_clear_glyph_string_rect (s, x, y, w, h) struct glyph_string *s; int x, y, w, h; { - mac_erase_rectangle (s->window, s->gc, x, y, w, h); + mac_erase_rectangle (s->f, s->gc, x, y, w, h); } @@ -2364,9 +2215,8 @@ x_draw_glyph_string_foreground (s) for (i = 0; i < s->nchars; ++i) { struct glyph *g = s->first_glyph + i; - mac_draw_rectangle (s->display, s->window, - s->gc, x, s->y, g->pixel_width - 1, - s->height - 1); + mac_draw_rectangle (s->f, s->gc, x, s->y, + g->pixel_width - 1, s->height - 1); x += g->pixel_width; } } @@ -2403,21 +2253,21 @@ x_draw_glyph_string_foreground (s) || GC_FONT (s->gc)->mac_style #endif ) - XDrawString16 (s->display, s->window, s->gc, x, - s->ybase - boff, s->char2b, s->nchars); + mac_draw_string_16 (s->f, s->gc, x, s->ybase - boff, + s->char2b, s->nchars); else - XDrawString (s->display, s->window, s->gc, x, - s->ybase - boff, char1b, s->nchars); + mac_draw_string (s->f, s->gc, x, s->ybase - boff, + char1b, s->nchars); } #if defined (MAC_OS8) && !USE_ATSUI else { if (s->two_byte_p) - XDrawImageString16 (s->display, s->window, s->gc, x, - s->ybase - boff, s->char2b, s->nchars); + mac_draw_image_string_16 (s->f, s->gc, x, s->ybase - boff, + s->char2b, s->nchars); else - XDrawImageString (s->display, s->window, s->gc, x, - s->ybase - boff, char1b, s->nchars); + mac_draw_image_string (s->f, s->gc, x, s->ybase - boff, + char1b, s->nchars); } #endif } @@ -2449,16 +2299,16 @@ x_draw_composite_glyph_string_foreground (s) if (s->font_not_found_p) { if (s->gidx == 0) - mac_draw_rectangle (s->display, s->window, s->gc, x, s->y, - s->width - 1, s->height - 1); + mac_draw_rectangle (s->f, s->gc, x, s->y, + s->width - 1, s->height - 1); } else { for (i = 0; i < s->nchars; i++, ++s->gidx) - XDrawString16 (s->display, s->window, s->gc, - x + s->cmp->offsets[s->gidx * 2], - s->ybase - s->cmp->offsets[s->gidx * 2 + 1], - s->char2b + i, 1); + mac_draw_string_16 (s->f, s->gc, + x + s->cmp->offsets[s->gidx * 2], + s->ybase - s->cmp->offsets[s->gidx * 2 + 1], + s->char2b + i, 1); } } @@ -2814,7 +2664,6 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, Rect *clip_rect; { Display *dpy = FRAME_MAC_DISPLAY (f); - Window window = FRAME_MAC_WINDOW (f); int i; GC gc; @@ -2827,15 +2676,15 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, /* Top. */ if (top_p) for (i = 0; i < width; ++i) - XDrawLine (dpy, window, gc, - left_x + i * left_p, top_y + i, - right_x - i * right_p, top_y + i); + mac_draw_line (f, gc, + left_x + i * left_p, top_y + i, + right_x - i * right_p, top_y + i); /* Left. */ if (left_p) for (i = 0; i < width; ++i) - XDrawLine (dpy, window, gc, - left_x + i, top_y + i, left_x + i, bottom_y - i); + mac_draw_line (f, gc, + left_x + i, top_y + i, left_x + i, bottom_y - i); mac_reset_clip_rectangles (dpy, gc); if (raised_p) @@ -2847,15 +2696,15 @@ x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, /* Bottom. */ if (bot_p) for (i = 0; i < width; ++i) - XDrawLine (dpy, window, gc, - left_x + i * left_p, bottom_y - i, - right_x - i * right_p, bottom_y - i); + mac_draw_line (f, gc, + left_x + i * left_p, bottom_y - i, + right_x - i * right_p, bottom_y - i); /* Right. */ if (right_p) for (i = 0; i < width; ++i) - XDrawLine (dpy, window, gc, - right_x - i, top_y + i + 1, right_x - i, bottom_y - i - 1); + mac_draw_line (f, gc, + right_x - i, top_y + i + 1, right_x - i, bottom_y - i - 1); mac_reset_clip_rectangles (dpy, gc); } @@ -2882,22 +2731,22 @@ x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width, mac_set_clip_rectangles (s->display, s->gc, clip_rect, 1); /* Top. */ - XFillRectangle (s->display, s->window, s->gc, - left_x, top_y, right_x - left_x + 1, width); + mac_fill_rectangle (s->f, s->gc, left_x, top_y, + right_x - left_x + 1, width); /* Left. */ if (left_p) - XFillRectangle (s->display, s->window, s->gc, - left_x, top_y, width, bottom_y - top_y + 1); + mac_fill_rectangle (s->f, s->gc, left_x, top_y, + width, bottom_y - top_y + 1); /* Bottom. */ - XFillRectangle (s->display, s->window, s->gc, - left_x, bottom_y - width + 1, right_x - left_x + 1, width); + mac_fill_rectangle (s->f, s->gc, left_x, bottom_y - width + 1, + right_x - left_x + 1, width); /* Right. */ if (right_p) - XFillRectangle (s->display, s->window, s->gc, - right_x - width + 1, top_y, width, bottom_y - top_y + 1); + mac_fill_rectangle (s->f, s->gc, right_x - width + 1, + top_y, width, bottom_y - top_y + 1); XSetForeground (s->display, s->gc, xgcv.foreground); mac_reset_clip_rectangles (s->display, s->gc); @@ -2984,13 +2833,13 @@ x_draw_image_foreground (s) x_set_glyph_string_clipping (s); if (s->img->mask) - mac_copy_area_with_mask (s->display, s->img->pixmap, s->img->mask, - s->window, s->gc, s->slice.x, s->slice.y, + mac_copy_area_with_mask (s->img->pixmap, s->img->mask, + s->f, s->gc, s->slice.x, s->slice.y, s->slice.width, s->slice.height, x, y); else { - mac_copy_area (s->display, s->img->pixmap, - s->window, s->gc, s->slice.x, s->slice.y, + mac_copy_area (s->img->pixmap, + s->f, s->gc, s->slice.x, s->slice.y, s->slice.width, s->slice.height, x, y); /* When the image has a mask, we can expect that at @@ -3003,8 +2852,7 @@ x_draw_image_foreground (s) { int r = s->img->relief; if (r < 0) r = -r; - mac_draw_rectangle (s->display, s->window, s->gc, - x - r, y - r, + mac_draw_rectangle (s->f, s->gc, x - r, y - r, s->slice.width + r*2 - 1, s->slice.height + r*2 - 1); } @@ -3012,7 +2860,7 @@ x_draw_image_foreground (s) } else /* Draw a rectangle if image could not be loaded. */ - mac_draw_rectangle (s->display, s->window, s->gc, x, y, + mac_draw_rectangle (s->f, s->gc, x, y, s->slice.width - 1, s->slice.height - 1); } @@ -3070,70 +2918,6 @@ x_draw_image_relief (s) } -#if 0 /* TODO: figure out if we need to do this on Mac. */ -/* Draw the foreground of image glyph string S to PIXMAP. */ - -static void -x_draw_image_foreground_1 (s, pixmap) - struct glyph_string *s; - Pixmap pixmap; -{ - int x = 0; - int y = s->ybase - s->y - image_ascent (s->img, s->face, &s->slice); - - /* If first glyph of S has a left box line, start drawing it to the - right of that line. */ - if (s->face->box != FACE_NO_BOX - && s->first_glyph->left_box_line_p - && s->slice.x == 0) - x += abs (s->face->box_line_width); - - /* If there is a margin around the image, adjust x- and y-position - by that margin. */ - if (s->slice.x == 0) - x += s->img->hmargin; - if (s->slice.y == 0) - y += s->img->vmargin; - - if (s->img->pixmap) - { - if (s->img->mask) - mac_copy_area_with_mask_to_pixmap (s->display, s->img->pixmap, - s->img->mask, pixmap, s->gc, - s->slice.x, s->slice.y, - s->slice.width, s->slice.height, - x, y); - else - { - mac_copy_area_to_pixmap (s->display, s->img->pixmap, pixmap, s->gc, - s->slice.x, s->slice.y, - s->slice.width, s->slice.height, - x, y); - - /* When the image has a mask, we can expect that at - least part of a mouse highlight or a block cursor will - be visible. If the image doesn't have a mask, make - a block cursor visible by drawing a rectangle around - the image. I believe it's looking better if we do - nothing here for mouse-face. */ - if (s->hl == DRAW_CURSOR) - { - int r = s->img->relief; - if (r < 0) r = -r; - mac_draw_rectangle (s->display, s->window, s->gc, x - r, y - r, - s->slice.width + r*2 - 1, - s->slice.height + r*2 - 1); - } - } - } - else - /* Draw a rectangle if image could not be loaded. */ - mac_draw_rectangle_to_pixmap (s->display, pixmap, s->gc, x, y, - s->slice.width - 1, s->slice.height - 1); -} -#endif - - /* Draw part of the background of glyph string S. X, Y, W, and H give the rectangle to draw. */ @@ -3203,62 +2987,13 @@ x_draw_image_glyph_string (s) if (s->slice.y == 0) y += box_line_vwidth; -#if 0 /* TODO: figure out if we need to do this on Mac. */ - if (s->img->mask) - { - /* Create a pixmap as large as the glyph string. Fill it - with the background color. Copy the image to it, using - its mask. Copy the temporary pixmap to the display. */ - int depth = one_mac_display_info.n_planes; - - /* Create a pixmap as large as the glyph string. */ - pixmap = XCreatePixmap (s->display, s->window, - s->background_width, - s->height, depth); - - /* Fill the pixmap with the background color/stipple. */ -#if 0 /* TODO: stipple */ - if (s->stippled_p) - { - /* Fill background with a stipple pattern. */ - XSetFillStyle (s->display, s->gc, FillOpaqueStippled); - XFillRectangle (s->display, pixmap, s->gc, - 0, 0, s->background_width, s->height); - XSetFillStyle (s->display, s->gc, FillSolid); - } - else -#endif - { - XGCValues xgcv; - XGetGCValues (s->display, s->gc, GCForeground | GCBackground, - &xgcv); - XSetForeground (s->display, s->gc, xgcv.background); - mac_fill_rectangle_to_pixmap (s->display, pixmap, s->gc, - 0, 0, s->background_width, - s->height); - XSetForeground (s->display, s->gc, xgcv.foreground); - } - } - else -#endif - x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height); + x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height); s->background_filled_p = 1; } /* Draw the foreground. */ -#if 0 /* TODO: figure out if we need to do this on Mac. */ - if (pixmap != 0) - { - x_draw_image_foreground_1 (s, pixmap); - x_set_glyph_string_clipping (s); - mac_copy_area (s->display, pixmap, s->window, s->gc, - 0, 0, s->background_width, s->height, s->x, s->y); - XFreePixmap (s->display, pixmap); - } - else -#endif - x_draw_image_foreground (s); + x_draw_image_foreground (s); /* If we must draw a relief around the image, do it. */ if (s->img->relief @@ -3317,7 +3052,7 @@ x_draw_stretch_glyph_string (s) } else #endif /* MAC_TODO */ - mac_erase_rectangle (s->window, gc, x, y, w, h); + mac_erase_rectangle (s->f, gc, x, y, w, h); } } else if (!s->background_filled_p) @@ -3408,15 +3143,15 @@ x_draw_glyph_string (s) unsigned long dy = s->height - h; if (s->face->underline_defaulted_p) - XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy, - s->width, h); + mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + s->width, h); else { XGCValues xgcv; XGetGCValues (s->display, s->gc, GCForeground, &xgcv); XSetForeground (s->display, s->gc, s->face->underline_color); - XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy, - s->width, h); + mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + s->width, h); XSetForeground (s->display, s->gc, xgcv.foreground); } } @@ -3427,15 +3162,15 @@ x_draw_glyph_string (s) unsigned long dy = 0, h = 1; if (s->face->overline_color_defaulted_p) - XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy, - s->width, h); + mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + s->width, h); else { XGCValues xgcv; XGetGCValues (s->display, s->gc, GCForeground, &xgcv); XSetForeground (s->display, s->gc, s->face->overline_color); - XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy, - s->width, h); + mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + s->width, h); XSetForeground (s->display, s->gc, xgcv.foreground); } } @@ -3447,15 +3182,15 @@ x_draw_glyph_string (s) unsigned long dy = (s->height - h) / 2; if (s->face->strike_through_color_defaulted_p) - XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy, - s->width, h); + mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + s->width, h); else { XGCValues xgcv; XGetGCValues (s->display, s->gc, GCForeground, &xgcv); XSetForeground (s->display, s->gc, s->face->strike_through_color); - XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy, - s->width, h); + mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, + s->width, h); XSetForeground (s->display, s->gc, xgcv.foreground); } } @@ -3476,8 +3211,7 @@ mac_shift_glyphs_for_insert (f, x, y, width, height, shift_by) struct frame *f; int x, y, width, height, shift_by; { - mac_scroll_area (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - f->output_data.mac->normal_gc, + mac_scroll_area (f, f->output_data.mac->normal_gc, x, y, width, height, x + shift_by, y); } @@ -3515,7 +3249,7 @@ x_clear_frame () /* We don't set the output cursor here because there will always follow an explicit cursor_to. */ BLOCK_INPUT; - XClearWindow (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f)); + mac_clear_window (f); /* We have to clear the scroll bars, too. If we have changed colors or something like that, then they should be notified. */ @@ -3605,21 +3339,18 @@ XTflash (f) /* If window is tall, flash top and bottom line. */ if (height > 3 * FRAME_LINE_HEIGHT (f)) { - mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - flash_left, + mac_invert_rectangle (f, flash_left, (FRAME_INTERNAL_BORDER_WIDTH (f) + FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)), width, flash_height); - mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - flash_left, + mac_invert_rectangle (f, flash_left, (height - flash_height - FRAME_INTERNAL_BORDER_WIDTH (f)), width, flash_height); } else /* If it is short, flash it all. */ - mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), + mac_invert_rectangle (f, flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); x_flush (f); @@ -3659,21 +3390,18 @@ XTflash (f) /* If window is tall, flash top and bottom line. */ if (height > 3 * FRAME_LINE_HEIGHT (f)) { - mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - flash_left, + mac_invert_rectangle (f, flash_left, (FRAME_INTERNAL_BORDER_WIDTH (f) + FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)), width, flash_height); - mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - flash_left, + mac_invert_rectangle (f, flash_left, (height - flash_height - FRAME_INTERNAL_BORDER_WIDTH (f)), width, flash_height); } else /* If it is short, flash it all. */ - mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), + mac_invert_rectangle (f, flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); x_flush (f); @@ -3778,11 +3506,10 @@ x_scroll_run (w, run) updated_window = w; x_clear_cursor (w); - mac_scroll_area (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - f->output_data.mac->normal_gc, - x, from_y, - width, height, - x, to_y); + mac_scroll_area (f, f->output_data.mac->normal_gc, + x, from_y, + width, height, + x, to_y); UNBLOCK_INPUT; } @@ -4149,7 +3876,7 @@ x_get_keysym_name (keysym) static Point last_mouse_motion_position; static Lisp_Object last_mouse_motion_frame; -static void +static int note_mouse_movement (frame, pos) FRAME_PTR frame; Point *pos; @@ -4180,19 +3907,20 @@ note_mouse_movement (frame, pos) rif->define_frame_cursor (frame, frame->output_data.mac->nontext_cursor); } + return 1; } /* Has the mouse moved off the glyph it was on at the last sighting? */ - else if (pos->h < last_mouse_glyph.left - || pos->h >= last_mouse_glyph.right - || pos->v < last_mouse_glyph.top - || pos->v >= last_mouse_glyph.bottom) + if (!PtInRect (*pos, &last_mouse_glyph)) { frame->mouse_moved = 1; last_mouse_scroll_bar = Qnil; note_mouse_highlight (frame, pos->h, pos->v); /* Remember which glyph we're now on. */ remember_mouse_glyph (frame, pos->h, pos->v, &last_mouse_glyph); + return 1; } + + return 0; } @@ -4825,8 +4553,7 @@ XTset_vertical_scroll_bar (w, portion, whole, position) if (NILP (w->vertical_scroll_bar)) { BLOCK_INPUT; - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - left, top, width, height, 0); + mac_clear_area (f, left, top, width, height); UNBLOCK_INPUT; bar = x_scroll_bar_create (w, top, sb_left, sb_width, height, disp_top, disp_height); @@ -4850,14 +4577,7 @@ XTset_vertical_scroll_bar (w, portion, whole, position) { /* Since toolkit scroll bars are smaller than the space reserved for them on the frame, we have to clear "under" them. */ - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - left, top, width, height, 0); - -#if 0 - if (sb_left + sb_width >= FRAME_PIXEL_WIDTH (f)) - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - sb_left - 1, top, 1, height, 0); -#endif + mac_clear_area (f, left, top, width, height); HideControl (ch); MoveControl (ch, sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, disp_top); @@ -5290,7 +5010,7 @@ x_draw_hollow_cursor (w, row) /* Set clipping, draw the rectangle, and reset clipping again. */ x_clip_to_row (w, row, TEXT_AREA, gc); - mac_draw_rectangle (dpy, FRAME_MAC_WINDOW (f), gc, x, y, wd, h); + mac_draw_rectangle (f, gc, x, y, wd, h); mac_reset_clip_rectangles (dpy, gc); } @@ -5363,17 +5083,17 @@ x_draw_bar_cursor (w, row, width, kind) x_clip_to_row (w, row, TEXT_AREA, gc); if (kind == BAR_CURSOR) - XFillRectangle (dpy, window, gc, - WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), - WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y), - width, row->height); + mac_fill_rectangle (f, gc, + WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), + WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y), + width, row->height); else - XFillRectangle (dpy, window, gc, - WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), - WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y + - row->height - width), - cursor_glyph->pixel_width, - width); + mac_fill_rectangle (f, gc, + WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), + WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y + + row->height - width), + cursor_glyph->pixel_width, + width); mac_reset_clip_rectangles (dpy, gc); } @@ -5398,8 +5118,7 @@ mac_clear_frame_area (f, x, y, width, height) struct frame *f; int x, y, width, height; { - XClearArea (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), - x, y, width, height, 0); + mac_clear_area (f, x, y, width, height); } @@ -9799,7 +9518,8 @@ XTread_socket (sd, expected, hold_quit) } } - if (er.what != mouseDown && part_code != inContent) + if (er.what != mouseDown && + (part_code != inContent || dpyinfo->grabbed == 0)) break; switch (part_code) @@ -9922,12 +9642,6 @@ XTread_socket (sd, expected, hold_quit) { dpyinfo->grabbed |= (1 << inev.code); last_mouse_frame = f; - /* Ignore any mouse motion that happened - before this event; any subsequent - mouse-movement Emacs events should reflect - only motion after the ButtonPress. */ - if (f != 0) - f->mouse_moved = 0; if (!tool_bar_p) last_tool_bar_item = -1; @@ -9943,6 +9657,13 @@ XTread_socket (sd, expected, hold_quit) dpyinfo->grabbed &= ~(1 << inev.code); } + /* Ignore any mouse motion that happened before + this event; any subsequent mouse-movement Emacs + events should reflect only motion after the + ButtonPress. */ + if (f != 0) + f->mouse_moved = 0; + #ifdef USE_TOOLKIT_SCROLL_BARS if (inev.kind == MOUSE_CLICK_EVENT) #endif @@ -10031,8 +9752,7 @@ XTread_socket (sd, expected, hold_quit) er.where.h + 1, er.where.v + 1); #endif previous_help_echo_string = help_echo_string; - help_echo_string = help_echo_object = help_echo_window = Qnil; - help_echo_pos = -1; + help_echo_string = Qnil; if (dpyinfo->grabbed && last_mouse_frame && FRAME_LIVE_P (last_mouse_frame)) @@ -10091,7 +9811,8 @@ XTread_socket (sd, expected, hold_quit) last_window=window; } - note_mouse_movement (f, &mouse_pos); + if (!note_mouse_movement (f, &mouse_pos)) + help_echo_string = previous_help_echo_string; } } diff --git a/src/macterm.h b/src/macterm.h index ed645317990..ca6f82021fe 100644 --- a/src/macterm.h +++ b/src/macterm.h @@ -559,6 +559,8 @@ extern void XSetBackground P_ ((Display *, GC, unsigned long)); extern void XSetWindowBackground P_ ((Display *, WindowPtr, unsigned long)); extern void mac_draw_line_to_pixmap P_ ((Display *, Pixmap, GC, int, int, int, int)); +extern void mac_clear_area P_ ((struct frame *, int, int, + unsigned int, unsigned int)); extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *)); extern OSErr install_window_handler P_ ((WindowPtr)); extern void remove_window_handler P_ ((WindowPtr)); diff --git a/src/minibuf.c b/src/minibuf.c index a84f37cad21..9c0f4a09284 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -2357,7 +2357,7 @@ Return nil if there is no valid completion, else t. */) } DEFUN ("display-completion-list", Fdisplay_completion_list, Sdisplay_completion_list, - 1, 1, 0, + 1, 2, 0, doc: /* Display the list of completions, COMPLETIONS, using `standard-output'. Each element may be just a symbol or string or may be a list of two strings to be printed as if concatenated. @@ -2367,14 +2367,23 @@ alternative, the second serves as annotation. The actual completion alternatives, as inserted, are given `mouse-face' properties of `highlight'. At the end, this runs the normal hook `completion-setup-hook'. -It can find the completion buffer in `standard-output'. */) - (completions) +It can find the completion buffer in `standard-output'. +The optional second arg COMMON-SUBSTRING is a string. +It is used to put faces, `completions-first-difference` and +`completions-common-part' on the completion bufffer. The +`completions-common-part' face is put on the common substring +specified by COMMON-SUBSTRING. If COMMON-SUBSTRING is nil, +the faces are not put. +Internally, COMMON-SUBSTRING is bound to `completion-common-substring' +during running `completion-setup-hook'. */) + (completions, common_substring) Lisp_Object completions; + Lisp_Object common_substring; { Lisp_Object tail, elt; register int i; int column = 0; - struct gcpro gcpro1, gcpro2; + struct gcpro gcpro1, gcpro2, gcpro3; struct buffer *old = current_buffer; int first = 1; @@ -2383,7 +2392,7 @@ It can find the completion buffer in `standard-output'. */) except for ELT. ELT can be pointing to a string when terpri or Findent_to calls a change hook. */ elt = Qnil; - GCPRO2 (completions, elt); + GCPRO3 (completions, elt, common_substring); if (BUFFERP (Vstandard_output)) set_buffer_internal (XBUFFER (Vstandard_output)); @@ -2532,13 +2541,20 @@ It can find the completion buffer in `standard-output'. */) } } - UNGCPRO; - if (BUFFERP (Vstandard_output)) set_buffer_internal (old); if (!NILP (Vrun_hooks)) - call1 (Vrun_hooks, intern ("completion-setup-hook")); + { + int count1 = SPECPDL_INDEX (); + + specbind (intern ("completion-common-substring"), common_substring); + call1 (Vrun_hooks, intern ("completion-setup-hook")); + + unbind_to (count1, Qnil); + } + + UNGCPRO; return Qnil; } diff --git a/src/search.c b/src/search.c index aa7f6fda699..f60e6d0cfe2 100644 --- a/src/search.c +++ b/src/search.c @@ -1175,9 +1175,9 @@ search_buffer (string, pos, pos_byte, lim, lim_byte, n, unsigned char *patbuf; int multibyte = !NILP (current_buffer->enable_multibyte_characters); unsigned char *base_pat = SDATA (string); - /* Set to nozero if we find a non-ASCII char that need - translation. */ - int charset_base = 0; + /* Set to positive if we find a non-ASCII char that need + translation. Otherwise set to zero later. */ + int charset_base = -1; int boyer_moore_ok = 1; /* MULTIBYTE says whether the text to be searched is multibyte. @@ -1275,24 +1275,30 @@ search_buffer (string, pos, pos_byte, lim, lim_byte, n, always handle their translation. */ while (1) { - if (! ASCII_BYTE_P (inverse)) + if (ASCII_BYTE_P (inverse)) { - if (SINGLE_BYTE_CHAR_P (inverse)) - { - /* Boyer-moore search can't handle a - translation of an eight-bit - character. */ - boyer_moore_ok = 0; - break; - } - else if (charset_base == 0) - charset_base = inverse & ~CHAR_FIELD3_MASK; - else if ((inverse & ~CHAR_FIELD3_MASK) - != charset_base) + if (charset_base > 0) { boyer_moore_ok = 0; break; } + charset_base = 0; + } + else if (SINGLE_BYTE_CHAR_P (inverse)) + { + /* Boyer-moore search can't handle a + translation of an eight-bit + character. */ + boyer_moore_ok = 0; + break; + } + else if (charset_base < 0) + charset_base = inverse & ~CHAR_FIELD3_MASK; + else if ((inverse & ~CHAR_FIELD3_MASK) + != charset_base) + { + boyer_moore_ok = 0; + break; } if (c == inverse) break; @@ -1300,6 +1306,8 @@ search_buffer (string, pos, pos_byte, lim, lim_byte, n, } } } + if (charset_base < 0) + charset_base = 0; /* Store this character into the translated pattern. */ bcopy (str, pat, charlen); diff --git a/src/w32term.c b/src/w32term.c index 5f268867e8b..14b5d0ffb79 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -3204,7 +3204,7 @@ construct_drag_n_drop (result, msg, f) static MSG last_mouse_motion_event; static Lisp_Object last_mouse_motion_frame; -static void +static int note_mouse_movement (frame, msg) FRAME_PTR frame; MSG *msg; @@ -3221,13 +3221,14 @@ note_mouse_movement (frame, msg) frame->mouse_moved = 1; last_mouse_scroll_bar = Qnil; note_mouse_highlight (frame, -1, -1); + return 1; } /* Has the mouse moved off the glyph it was on at the last sighting? */ - else if (mouse_x < last_mouse_glyph.left - || mouse_x >= last_mouse_glyph.right - || mouse_y < last_mouse_glyph.top - || mouse_y >= last_mouse_glyph.bottom) + if (mouse_x < last_mouse_glyph.left + || mouse_x >= last_mouse_glyph.right + || mouse_y < last_mouse_glyph.top + || mouse_y >= last_mouse_glyph.bottom) { frame->mouse_moved = 1; last_mouse_scroll_bar = Qnil; @@ -3237,7 +3238,10 @@ note_mouse_movement (frame, msg) to keep track of the mouse for help_echo and highlighting at other times. */ remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph); + return 1; } + + return 0; } @@ -4314,6 +4318,7 @@ w32_read_socket (sd, expected, hold_quit) } previous_help_echo_string = help_echo_string; + help_echo_string = Qnil; if (dpyinfo->grabbed && last_mouse_frame && FRAME_LIVE_P (last_mouse_frame)) @@ -4352,7 +4357,8 @@ w32_read_socket (sd, expected, hold_quit) last_window=window; } - note_mouse_movement (f, &msg.msg); + if (!note_mouse_movement (f, &msg.msg)) + help_echo_string = previous_help_echo_string; } else { |