diff options
| author | Karoly Lorentey | 2004-03-07 15:30:22 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-03-07 15:30:22 +0000 |
| commit | 54e81dc64794f315efdf418518a5e00f419cbcbd (patch) | |
| tree | 4c2dc33f0c1e697b810298ba5e9972341c0d4240 | |
| parent | 4388f1016b80bd33a75481b28352ae6c456e386a (diff) | |
| parent | ee96c8385cf436bf308665e5d6c8fb16c761e8e1 (diff) | |
| download | emacs-54e81dc64794f315efdf418518a5e00f419cbcbd.tar.gz emacs-54e81dc64794f315efdf418518a5e00f419cbcbd.zip | |
Merged in changes from CVS HEAD
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-126
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-127
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-128
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-129
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-130
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-131
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-132
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-133
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-134
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-135
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-136
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-137
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-112
66 files changed, 1123 insertions, 519 deletions
| @@ -1,12 +1,15 @@ | |||
| 1 | 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * Makefile.in (maintainer-clean): Clean in the lisp dir as well. | ||
| 4 | (bootstrap): Use the new boostrap-prepare target in lisp. | ||
| 5 | |||
| 1 | 2004-02-18 Kim F. Storm <storm@cua.dk> | 6 | 2004-02-18 Kim F. Storm <storm@cua.dk> |
| 2 | 7 | ||
| 3 | * INSTALL.CVS: Add info about ssh/cvs related problems and | 8 | * INSTALL.CVS: Add info about ssh/cvs related problems and work-around. |
| 4 | work-around. | ||
| 5 | 9 | ||
| 6 | 2004-02-16 Eli Zaretskii <eliz@elta.co.il> | 10 | 2004-02-16 Eli Zaretskii <eliz@elta.co.il> |
| 7 | 11 | ||
| 8 | * make-dist: Don't link index.*perm and permute-index into | 12 | * make-dist: Don't link index.*perm and permute-index into tempdir. |
| 9 | tempdir. | ||
| 10 | 13 | ||
| 11 | 2004-02-14 Jonathan Yavner <jyavner@member.fsf.org> | 14 | 2004-02-14 Jonathan Yavner <jyavner@member.fsf.org> |
| 12 | 15 | ||
diff --git a/Makefile.in b/Makefile.in index cf572f25812..d7ed0676b0c 100644 --- a/Makefile.in +++ b/Makefile.in | |||
| @@ -2,8 +2,8 @@ | |||
| 2 | # DIST: make most of the changes to this file you might want, so try | 2 | # DIST: make most of the changes to this file you might want, so try |
| 3 | # DIST: that first. | 3 | # DIST: that first. |
| 4 | 4 | ||
| 5 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 5 | # Copyright (C) 1992,93,94,95,96,97,98,1999,2000,01,02,03,2004 |
| 6 | # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 6 | # Free Software Foundation, Inc. |
| 7 | 7 | ||
| 8 | # This file is part of GNU Emacs. | 8 | # This file is part of GNU Emacs. |
| 9 | 9 | ||
| @@ -634,6 +634,7 @@ maintainer-clean: FRC | |||
| 634 | -(cd lispref && $(MAKE) $(MFLAGS) maintainer-clean) | 634 | -(cd lispref && $(MAKE) $(MFLAGS) maintainer-clean) |
| 635 | -(cd lispintro && $(MAKE) $(MFLAGS) maintainer-clean) | 635 | -(cd lispintro && $(MAKE) $(MFLAGS) maintainer-clean) |
| 636 | (cd leim; $(MAKE) $(MFLAGS) maintainer-clean) | 636 | (cd leim; $(MAKE) $(MFLAGS) maintainer-clean) |
| 637 | (cd lisp; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 637 | ${top_distclean} | 638 | ${top_distclean} |
| 638 | 639 | ||
| 639 | ### This doesn't actually appear in the coding standards, but Karl | 640 | ### This doesn't actually appear in the coding standards, but Karl |
| @@ -734,7 +735,7 @@ maybe_bootstrap: | |||
| 734 | fi | 735 | fi |
| 735 | 736 | ||
| 736 | bootstrap: bootstrap-clean-before info FRC | 737 | bootstrap: bootstrap-clean-before info FRC |
| 737 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean) | 738 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap-prepare) |
| 738 | (cd src; $(MAKE) $(MFLAGS) bootstrap) | 739 | (cd src; $(MAKE) $(MFLAGS) bootstrap) |
| 739 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs${EXEEXT}) | 740 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs${EXEEXT}) |
| 740 | (cd src; $(MAKE) $(MFLAGS) mostlyclean) | 741 | (cd src; $(MAKE) $(MFLAGS) mostlyclean) |
| @@ -1826,6 +1826,11 @@ a match if part of it has a read-only property. | |||
| 1826 | configuration files. | 1826 | configuration files. |
| 1827 | 1827 | ||
| 1828 | * Lisp Changes in Emacs 21.4 | 1828 | * Lisp Changes in Emacs 21.4 |
| 1829 | |||
| 1830 | ** New macro with-local-quit temporarily sets inhibit-quit to nil for use | ||
| 1831 | around potentially blocking or long-running code in timers | ||
| 1832 | and post-command-hooks. | ||
| 1833 | |||
| 1829 | +++ | 1834 | +++ |
| 1830 | ** New face attribute `min-colors' can be used to tailor the face color | 1835 | ** New face attribute `min-colors' can be used to tailor the face color |
| 1831 | to the number of colors supported by a display, and define the | 1836 | to the number of colors supported by a display, and define the |
| @@ -1863,6 +1868,18 @@ for displaying the bitmap. | |||
| 1863 | identifying the current fringe bitmaps in the display line at a given | 1868 | identifying the current fringe bitmaps in the display line at a given |
| 1864 | buffer position. A nil value means no bitmap. | 1869 | buffer position. A nil value means no bitmap. |
| 1865 | 1870 | ||
| 1871 | ** Multiple overlay arrows can now be defined and managed via the new | ||
| 1872 | variable `overlay-arrow-variable-list'. It contains a list of | ||
| 1873 | varibles which contain overlay arrow position markers, including | ||
| 1874 | the original `overlay-arrow-position' variable. | ||
| 1875 | |||
| 1876 | Each variable on this list may have individual `overlay-arrow-string' | ||
| 1877 | and `overlay-arrow-bitmap' properties that specify an overlay arrow | ||
| 1878 | string (for non-window terminals) or fringe bitmap (for window | ||
| 1879 | systems) to display at the corresponding overlay arrow position. | ||
| 1880 | If either property is not set, the default `overlay-arrow-string' or | ||
| 1881 | 'overlay-arrow-fringe-bitmap' will be used. | ||
| 1882 | |||
| 1866 | +++ | 1883 | +++ |
| 1867 | ** New function `line-number-at-pos' returns line number of current | 1884 | ** New function `line-number-at-pos' returns line number of current |
| 1868 | line in current buffer, or if optional buffer position is given, line | 1885 | line in current buffer, or if optional buffer position is given, line |
diff --git a/etc/TUTORIAL.fr b/etc/TUTORIAL.fr index d678f0d44ce..953e9edb649 100644 --- a/etc/TUTORIAL.fr +++ b/etc/TUTORIAL.fr | |||
| @@ -638,7 +638,7 @@ fichiers mais la liste obtenue par C-x C-b. Le tampon "*Messages*" ne | |||
| 638 | correspond pas non plus à un fichier ; il contient la liste des | 638 | correspond pas non plus à un fichier ; il contient la liste des |
| 639 | messages apparus dans la ligne d'état pendant votre session Emacs. | 639 | messages apparus dans la ligne d'état pendant votre session Emacs. |
| 640 | 640 | ||
| 641 | >> Faites C-x C-b *Messages* <Entrée> pour visualiser le tampon des | 641 | >> Faites C-x b *Messages* <Entrée> pour visualiser le tampon des |
| 642 | messages. | 642 | messages. |
| 643 | Puis, faites C-x b TUTORIAL <Entrée> pour revenir à ce didacticiel. | 643 | Puis, faites C-x b TUTORIAL <Entrée> pour revenir à ce didacticiel. |
| 644 | 644 | ||
diff --git a/leim/ChangeLog b/leim/ChangeLog index 1b048bcddd7..2f44746ad7d 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2004-02-28 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * Makefile.in (all): Depends on ${WORLD} instead of ${TIT} and | ||
| 4 | ${MISC-DIC}. | ||
| 5 | (clean, mostlyclean): Don't delete *.elc distributed with tarball. | ||
| 6 | (maintainer-clean): Delete files that are not in CVS repository. | ||
| 7 | |||
| 8 | * makefile.nt (all): Depends on $(WORLD) instead of $(TIT) and | ||
| 9 | $(MISC-DIC). | ||
| 10 | (clean, mostlyclean): Don't delete *.elc distributed with tarball. | ||
| 11 | (maintainer-clean): Delete files that are not in CVS repository. | ||
| 12 | |||
| 13 | * makefile.w32-in (all): Depends on $(WORLD) instead of $(TIT) and | ||
| 14 | $(MISC-DIC). | ||
| 15 | (clean, mostlyclean): Don't delete *.elc distributed with tarball. | ||
| 16 | (maintainer-clean): Delete files that are not in CVS repository. | ||
| 17 | |||
| 1 | 2004-02-16 J,bi(Br,bt(Bme Marant <jmarant@nerim.net> (tiny change) | 18 | 2004-02-16 J,bi(Br,bt(Bme Marant <jmarant@nerim.net> (tiny change) |
| 2 | 19 | ||
| 3 | * Makefile.in (distclean maintainer-clean): Depend on clean. | 20 | * Makefile.in (distclean maintainer-clean): Depend on clean. |
diff --git a/leim/Makefile.in b/leim/Makefile.in index af20c278d3a..1ef0a2f3e93 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in | |||
| @@ -147,7 +147,7 @@ NON-TIT=${CHINESE-NON-TIT} ${JAPANESE} ${KOREAN} ${EUROPEAN} ${MISC} | |||
| 147 | .el.elc: | 147 | .el.elc: |
| 148 | ${RUN-EMACS} -f batch-byte-compile $< | 148 | ${RUN-EMACS} -f batch-byte-compile $< |
| 149 | 149 | ||
| 150 | all: ${BUILT-EMACS} ${SUBDIRS} ${TIT} ${MISC-DIC} leim-list.el | 150 | all: ${BUILT-EMACS} ${SUBDIRS} ${WORLD} leim-list.el |
| 151 | 151 | ||
| 152 | # To ensure that we can run Emacs. This target is ignored (never | 152 | # To ensure that we can run Emacs. This target is ignored (never |
| 153 | # being hit) if a user changes default value of EMACS. | 153 | # being hit) if a user changes default value of EMACS. |
| @@ -223,14 +223,17 @@ install: all | |||
| 223 | -chmod -R a+r ${INSTALLDIR} | 223 | -chmod -R a+r ${INSTALLDIR} |
| 224 | 224 | ||
| 225 | clean mostlyclean: | 225 | clean mostlyclean: |
| 226 | rm -f ${TIT} ${NON-TIT} ${WORLD} ${TIT:.elc=.el} \ | 226 | rm -f ${TIT} ${TIT:.elc=.el} ${MISC-DIC} ${MISC-DIC:.elc=.el} \ |
| 227 | ${MISC-DIC} ${MISC-DIC:.elc=.el} leim-list.el | 227 | leim-list.el |
| 228 | 228 | ||
| 229 | distclean maintainer-clean: clean | 229 | distclean: clean |
| 230 | if test -f stamp-subdir; then rm -rf ${SUBDIRS} stamp-subdir; fi | 230 | if test -f stamp-subdir; then rm -rf ${SUBDIRS} stamp-subdir; fi |
| 231 | rm -f Makefile | 231 | rm -f Makefile |
| 232 | 232 | ||
| 233 | extraclean: distclean | 233 | maintainer-clean: distclean |
| 234 | rm -f ${WORLD} | ||
| 235 | |||
| 236 | extraclean: maintainer-clean | ||
| 234 | -rm -f *~ \#* m/?*~ s/?*~ | 237 | -rm -f *~ \#* m/?*~ s/?*~ |
| 235 | 238 | ||
| 236 | # arch-tag: f666a939-8145-4d64-a6a6-cc1f61bd32ca | 239 | # arch-tag: f666a939-8145-4d64-a6a6-cc1f61bd32ca |
diff --git a/leim/makefile.nt b/leim/makefile.nt index 37939869f0c..41dc8e2030a 100644 --- a/leim/makefile.nt +++ b/leim/makefile.nt | |||
| @@ -132,7 +132,7 @@ WORLD=$(ASIA) $(EUROPEAN) $(MISC) | |||
| 132 | TIT=$(CHINESE_TIT) | 132 | TIT=$(CHINESE_TIT) |
| 133 | NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC) | 133 | NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC) |
| 134 | 134 | ||
| 135 | all: $(BUILT_EMACS) $(SUBDIRS) $(TIT) $(MISC_DIC) leim-list.el | 135 | all: $(BUILT_EMACS) $(SUBDIRS) $(WORLD) leim-list.el |
| 136 | 136 | ||
| 137 | # To ensure that we can run Emacs. This target is ignored (never | 137 | # To ensure that we can run Emacs. This target is ignored (never |
| 138 | # being hit) if a user changes default value of EMACS. | 138 | # being hit) if a user changes default value of EMACS. |
| @@ -196,11 +196,13 @@ clean mostlyclean: | |||
| 196 | for %%f in ($(TIT_EL:/=\)) do $(DEL) %%f | 196 | for %%f in ($(TIT_EL:/=\)) do $(DEL) %%f |
| 197 | for %%f in ($(MISC_DIC:/=\)) do $(DEL) %%f | 197 | for %%f in ($(MISC_DIC:/=\)) do $(DEL) %%f |
| 198 | for %%f in ($(MISC_DIC_EL:/=\)) do $(DEL) %%f | 198 | for %%f in ($(MISC_DIC_EL:/=\)) do $(DEL) %%f |
| 199 | for %%f in ($(WORLD:/=\)) do $(DEL) %%f | ||
| 200 | $(DEL) leim-list.el | 199 | $(DEL) leim-list.el |
| 201 | 200 | ||
| 202 | distclean maintainer-clean: | 201 | distclean: clean |
| 203 | if exist stamp-subdir $(DELTREE) $(SUBDIRS) | 202 | if exist stamp-subdir $(DELTREE) $(SUBDIRS) |
| 204 | $(DEL) stamp-subdir | 203 | $(DEL) stamp-subdir |
| 205 | 204 | ||
| 205 | maintainer-clean: distclean | ||
| 206 | for %%f in ($(WORLD:/=\)) do $(DEL) %%f | ||
| 207 | |||
| 206 | # arch-tag: cded53b4-4803-496b-8c05-7daff80e5b3b | 208 | # arch-tag: cded53b4-4803-496b-8c05-7daff80e5b3b |
diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in index 5d273377f12..f19aceb4f82 100644 --- a/leim/makefile.w32-in +++ b/leim/makefile.w32-in | |||
| @@ -142,7 +142,7 @@ NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC) | |||
| 142 | .el.elc: | 142 | .el.elc: |
| 143 | $(RUN_EMACS) -f batch-byte-compile $< | 143 | $(RUN_EMACS) -f batch-byte-compile $< |
| 144 | 144 | ||
| 145 | all: $(BUILT_EMACS) $(SUBDIRS) $(TIT) $(MISC_DIC) leim-list.el | 145 | all: $(BUILT_EMACS) $(SUBDIRS) $(WORLD) leim-list.el |
| 146 | 146 | ||
| 147 | # To ensure that we can run Emacs. This target is ignored (never | 147 | # To ensure that we can run Emacs. This target is ignored (never |
| 148 | # being hit) if a user changes default value of EMACS. | 148 | # being hit) if a user changes default value of EMACS. |
| @@ -192,14 +192,16 @@ install: all | |||
| 192 | 192 | ||
| 193 | clean mostlyclean: | 193 | clean mostlyclean: |
| 194 | - $(FOREACH) $(TIT) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | 194 | - $(FOREACH) $(TIT) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
| 195 | - $(FOREACH) $(WORLD) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | ||
| 196 | - $(FOREACH) $(MISC_DIC) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | 195 | - $(FOREACH) $(MISC_DIC) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
| 197 | - $(FOREACH) $(TIT:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | 196 | - $(FOREACH) $(TIT:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
| 198 | - $(FOREACH) $(MISC_DIC:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | 197 | - $(FOREACH) $(MISC_DIC:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
| 199 | - $(DEL) leim-list.el | 198 | - $(DEL) leim-list.el |
| 200 | 199 | ||
| 201 | distclean maintainer-clean: | 200 | distclean clean: |
| 202 | if exist stamp-subdir $(DELTREE) $(SUBDIRS) | 201 | if exist stamp-subdir $(DELTREE) $(SUBDIRS) |
| 203 | - $(DEL) stamp-subdir | 202 | - $(DEL) stamp-subdir |
| 204 | 203 | ||
| 204 | maintainer-clean: distclean | ||
| 205 | - $(FOREACH) $(WORLD) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | ||
| 206 | |||
| 205 | # arch-tag: 08250c45-fa9c-4f39-a175-a0c5c36dd67b | 207 | # arch-tag: 08250c45-fa9c-4f39-a175-a0c5c36dd67b |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 5758a6d0b89..9876b0b041a 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-03-01 Juanma Barranquero <lektu@terra.es> | ||
| 2 | |||
| 3 | * makefile.w32-in (obj): Add fringe.c. | ||
| 4 | |||
| 1 | 2004-02-14 Paul Eggert <eggert@twinsun.com> | 5 | 2004-02-14 Paul Eggert <eggert@twinsun.com> |
| 2 | 6 | ||
| 3 | * rcs2log: Work correctly if CVSROOT specifies :fork: or | 7 | * rcs2log: Work correctly if CVSROOT specifies :fork: or |
| @@ -9,7 +13,7 @@ | |||
| 9 | along with some related bugs I discovered by inspecting how | 13 | along with some related bugs I discovered by inspecting how |
| 10 | CVS itself parses $CVSROOT. | 14 | CVS itself parses $CVSROOT. |
| 11 | 15 | ||
| 12 | 2004-02-04 J,bi(Br,bt(Bme Marant <jmarant@nerim.net> (tiny) | 16 | 2004-02-04 J,bi(Br,bt(Bme Marant <jmarant@nerim.net> (tiny change) |
| 13 | 17 | ||
| 14 | * emacsclient.c (decode_options): Fix handling of alternate editor. | 18 | * emacsclient.c (decode_options): Fix handling of alternate editor. |
| 15 | 19 | ||
| @@ -1638,7 +1642,7 @@ | |||
| 1638 | Now used as element of a linked list. | 1642 | Now used as element of a linked list. |
| 1639 | (patterns, num_patterns): Global variables deleted. | 1643 | (patterns, num_patterns): Global variables deleted. |
| 1640 | (p_head): New global variable. | 1644 | (p_head): New global variable. |
| 1641 | (forced_lang): New global variable (replaces lang_func). | 1645 | (forced_lang): New global variable (replaces lang_func). |
| 1642 | (get_language_from_name, get_language_from_interpreter) | 1646 | (get_language_from_name, get_language_from_interpreter) |
| 1643 | (get_language_from_suffix): Semantics changed. All callers changed. | 1647 | (get_language_from_suffix): Semantics changed. All callers changed. |
| 1644 | (last_node): New global variable. | 1648 | (last_node): New global variable. |
| @@ -2902,7 +2906,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu> | |||
| 2902 | 2906 | ||
| 2903 | * etags.c (lowcase): Use the standard tolower function. | 2907 | * etags.c (lowcase): Use the standard tolower function. |
| 2904 | (substitute): Remove some wrong and some useless code related with | 2908 | (substitute): Remove some wrong and some useless code related with |
| 2905 | escape `\` character in regexp replacement string. | 2909 | escape '\' character in regexp replacement string. |
| 2906 | (TEX_defenv): Added part, appendix, entry, index. Removed typeout. | 2910 | (TEX_defenv): Added part, appendix, entry, index. Removed typeout. |
| 2907 | (lang_suffixes): New suffixes: .hpp for C++; .f90 for Fortran; | 2911 | (lang_suffixes): New suffixes: .hpp for C++; .f90 for Fortran; |
| 2908 | .bib, .ltx, .TeX for TeX (.bbl, .dtx removed); .ml for Lisp; | 2912 | .bib, .ltx, .TeX for TeX (.bbl, .dtx removed); .ml for Lisp; |
| @@ -3923,7 +3927,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu> | |||
| 3923 | 3927 | ||
| 3924 | 1994-02-17 Francesco Potorti` (pot@cnuce.cnr.it) | 3928 | 1994-02-17 Francesco Potorti` (pot@cnuce.cnr.it) |
| 3925 | 3929 | ||
| 3926 | * etags.c (--absolute-pathnames): option removed. | 3930 | * etags.c (--absolute-pathnames): Option removed. |
| 3927 | 3931 | ||
| 3928 | 1994-02-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) | 3932 | 1994-02-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) |
| 3929 | 3933 | ||
| @@ -4384,8 +4388,8 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu> | |||
| 4384 | 4388 | ||
| 4385 | 1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) | 4389 | 1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) |
| 4386 | 4390 | ||
| 4387 | * Makefile.in: (${archlibdir}): Use `(cd foo && pwd)` instead of | 4391 | * Makefile.in: (${archlibdir}): Use `(cd foo && pwd)' instead of |
| 4388 | `(cd foo ; pwd)` to get the canonical name of a directory; cd | 4392 | `(cd foo ; pwd)' to get the canonical name of a directory; cd |
| 4389 | might fail, and have pwd print out the current directory. | 4393 | might fail, and have pwd print out the current directory. |
| 4390 | 4394 | ||
| 4391 | * movemail.c [MAIL_USE_POP] (main): Don't use non-portable | 4395 | * movemail.c [MAIL_USE_POP] (main): Don't use non-portable |
| @@ -5070,7 +5074,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu> | |||
| 5070 | * etags.c (C_entries): Process token before handling end of line. | 5074 | * etags.c (C_entries): Process token before handling end of line. |
| 5071 | When inner loops reach end of line, just back up. | 5075 | When inner loops reach end of line, just back up. |
| 5072 | Let the real end of line processing happen in just one place. | 5076 | Let the real end of line processing happen in just one place. |
| 5073 | (consider_token): Likewise. | 5077 | (consider_token): Likewise. |
| 5074 | 5078 | ||
| 5075 | 1991-04-11 Jim Blandy (jimb@geech.gnu.ai.mit.edu) | 5079 | 1991-04-11 Jim Blandy (jimb@geech.gnu.ai.mit.edu) |
| 5076 | 5080 | ||
| @@ -5183,7 +5187,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu> | |||
| 5183 | 5187 | ||
| 5184 | 1990-03-14 Joseph Arceneaux (jla@churchy.ai.mit.edu) | 5188 | 1990-03-14 Joseph Arceneaux (jla@churchy.ai.mit.edu) |
| 5185 | 5189 | ||
| 5186 | * etags.c (getit): Recognize '$' as beginning identifiers. | 5190 | * etags.c (getit): Recognize '$' as beginning identifiers. |
| 5187 | 5191 | ||
| 5188 | 1990-02-22 David Lawrence (tale@pogo.ai.mit.edu) | 5192 | 1990-02-22 David Lawrence (tale@pogo.ai.mit.edu) |
| 5189 | 5193 | ||
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 6f92bd76ee8..20cf4727362 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in | |||
| @@ -126,7 +126,7 @@ $(BLD)/ctags.$(O): ctags.c | |||
| 126 | # | 126 | # |
| 127 | # From ..\src\makefile.nt. | 127 | # From ..\src\makefile.nt. |
| 128 | # | 128 | # |
| 129 | obj = abbrev.c alloc.c alloca.c buffer.c bytecode.c callint.c callproc.c casefiddle.c casetab.c category.c ccl.c charset.c cm.c cmds.c coding.c data.c dired.c dispnew.c doc.c doprnt.c editfns.c emacs.c eval.c fileio.c filelock.c filemode.c floatfns.c fns.c fontset.c frame.c gmalloc.c indent.c insdel.c intervals.c keyboard.c keymap.c lastfile.c lread.c macros.c marker.c minibuf.c print.c process.c ralloc.c regex.c region-cache.c scroll.c search.c sound.c strftime.c syntax.c sysdep.c term.c termcap.c textprop.c tparam.c undo.c unexw32.c vm-limit.c w32.c w32console.c w32fns.c w32heap.c w32inevt.c w32menu.c w32proc.c w32reg.c w32select.c w32term.c w32xfns.c window.c xdisp.c xfaces.c xfaces.c | 129 | obj = abbrev.c alloc.c alloca.c buffer.c bytecode.c callint.c callproc.c casefiddle.c casetab.c category.c ccl.c charset.c cm.c cmds.c coding.c data.c dired.c dispnew.c doc.c doprnt.c editfns.c emacs.c eval.c fileio.c filelock.c filemode.c floatfns.c fns.c fontset.c frame.c fringe.c gmalloc.c indent.c insdel.c intervals.c keyboard.c keymap.c lastfile.c lread.c macros.c marker.c minibuf.c print.c process.c ralloc.c regex.c region-cache.c scroll.c search.c sound.c strftime.c syntax.c sysdep.c term.c termcap.c textprop.c tparam.c undo.c unexw32.c vm-limit.c w32.c w32console.c w32fns.c w32heap.c w32inevt.c w32menu.c w32proc.c w32reg.c w32select.c w32term.c w32xfns.c window.c xdisp.c xfaces.c xfaces.c |
| 130 | # | 130 | # |
| 131 | # These are the lisp files that are loaded up in loadup.el | 131 | # These are the lisp files that are loaded up in loadup.el |
| 132 | # | 132 | # |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b945703cb57..63081ea5261 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,18 +1,140 @@ | |||
| 1 | 2004-03-05 Nick Roberts <nick@nick.uklinux.net> | ||
| 2 | |||
| 3 | * gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow | ||
| 4 | for the assembler buffer. | ||
| 5 | (gdb-assembler-custom): Position the overlay arrow. | ||
| 6 | (gdb-put-arrow, gdb-remove-arrow): Delete functions. | ||
| 7 | |||
| 8 | 2004-03-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 9 | |||
| 10 | * mail/sendmail.el (mail-mode): Set comment-start-skip. | ||
| 11 | |||
| 12 | * newcomment.el (uncomment-region): Allow non-terminated comment. | ||
| 13 | (comment-normalize-vars): Check the user-specified comstart marker. | ||
| 14 | |||
| 15 | 2004-03-04 Jesper Harder <harder@ifa.au.dk> | ||
| 16 | |||
| 17 | * sort.el (sort-columns): Don't use external 'sort' on ms-windows. | ||
| 18 | Otherwise, do use it if the region only contains font-lock text | ||
| 19 | properties. | ||
| 20 | |||
| 21 | 2004-03-04 Masatake YAMATO <jet@gyve.org> | ||
| 22 | |||
| 23 | * hexl.el (hexl-mode): Set `hexl-print-current-point-info' | ||
| 24 | as the callback function for eldoc. | ||
| 25 | (hexl-print-current-point-info): New function. | ||
| 26 | (hexl-current-address): Print the address in both decimal | ||
| 27 | and hexadecimal format. | ||
| 28 | |||
| 29 | 2004-03-04 Richard M. Stallman <rms@gnu.org> | ||
| 30 | |||
| 31 | * mail/rmail.el (rmail-convert-to-babyl-format): | ||
| 32 | Specify t for UNIBYTE when calling mail-unquote-printable-region. | ||
| 33 | |||
| 34 | * mail/mail-utils.el (mail-unquote-printable-region): | ||
| 35 | New arg UNIBYTE. | ||
| 36 | |||
| 37 | * startup.el (command-switch-alist): Doc fix. | ||
| 38 | |||
| 39 | * simple.el (undo): Temporarily set this-command to `undo-start', | ||
| 40 | then set it to `undo' once undo-start returns without error. | ||
| 41 | |||
| 42 | * simple.el (minibuffer-history-sexp-flag): Doc fix. | ||
| 43 | |||
| 44 | * simple.el (kill-line): Don't disregard trailing whitespace | ||
| 45 | in eol condition, if show-trailing-whitespace is set. | ||
| 46 | |||
| 47 | * mouse-sel.el (mouse-sel-has-been-enabled): New var. | ||
| 48 | (mouse-sel-mode): When enabling, set mouse-sel-has-been-enabled. | ||
| 49 | When disabling, restore old values only if mouse-sel-has-been-enabled. | ||
| 50 | |||
| 51 | * isearch.el (isearch-*-char): New arg WANT-BACKSLASH. | ||
| 52 | (isearch-{-char): New function. | ||
| 53 | (isearch-mode-map): Bind { to isearch-{-char. | ||
| 54 | |||
| 55 | * font-lock.el (lisp-font-lock-keywords-2): | ||
| 56 | Turn off the CL with-... and do-... general patterns. | ||
| 57 | Instead, recognize several specific with... and do... constructs. | ||
| 58 | |||
| 59 | * files.el (switch-to-buffer-other-window): | ||
| 60 | Bind same-window-buffer-names and same-window-regexps to nil. | ||
| 61 | (switch-to-buffer-other-frame): Likewise. | ||
| 62 | |||
| 63 | 2004-03-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 64 | |||
| 65 | * textmodes/fill.el (fill-comment-paragraph): Be more careful when | ||
| 66 | recognizing leading comment on code line. | ||
| 67 | |||
| 68 | 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 69 | |||
| 70 | * textmodes/fill.el (fill-paragraph): Don't check comment-start-skip, | ||
| 71 | only comment-start (in case the mode hasn't set it). | ||
| 72 | |||
| 73 | * Makefile.in (AUTOGENEL): New var. | ||
| 74 | (bootstrap-prepare): Rename from bootstrap-clean. | ||
| 75 | Don't remove elc files. | ||
| 76 | (maintainer-clean): New target. | ||
| 77 | |||
| 78 | * xml.el (xml-get-attribute-or-nil): Simplify. | ||
| 79 | |||
| 80 | 2004-03-02 Juri Linkov <juri@jurta.org> | ||
| 81 | |||
| 82 | * net/browse-url.el (browse-url-netscape, browse-url-mozilla) | ||
| 83 | (browse-url-galeon, browse-url-epiphany): Encode dollar signs in | ||
| 84 | URL to prevent their substitution with the environment variable | ||
| 85 | values by browsers. | ||
| 86 | |||
| 87 | 2004-03-03 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 88 | |||
| 89 | * ps-print.el: Doc fix. | ||
| 90 | (ps-print-version): New version number (6.6.3). | ||
| 91 | (ps-right-header, ps-right-footer, ps-left-header, ps-left-footer): | ||
| 92 | Docstring fix. | ||
| 93 | (ps-kill-emacs-check): Check if ps-print temporary buffer is killed | ||
| 94 | before printing. | ||
| 95 | (ps-time-stamp-yyyy-mm-dd): New fun. | ||
| 96 | (ps-time-stamp-iso8601): Alias for ps-time-stamp-yyyy-mm-dd. | ||
| 97 | |||
| 98 | 2004-03-02 Kim F. Storm <storm@cua.dk> | ||
| 99 | |||
| 100 | * gdb-ui.el (gdb-mouse-toggle-breakpoint): Remove debug message. | ||
| 101 | |||
| 102 | 2004-03-01 Juanma Barranquero <lektu@terra.es> | ||
| 103 | |||
| 104 | * allout.el (allout-rebullet-heading): Fix typo in docstring. | ||
| 105 | |||
| 106 | * desktop.el (desktop-file-version) | ||
| 107 | (desktop-after-read-hook): Fix typos. | ||
| 108 | (desktop-clear-preserve-buffers): Remove redundant info in | ||
| 109 | docstring already shown by the obsolescence message. | ||
| 110 | (desktop-truncate, desktop-internal-v2s) | ||
| 111 | (desktop-value-to-string): Change argument name to match docstring. | ||
| 112 | |||
| 113 | * emulation/tpu-edt.el (tpu-set-mark): Fix typo in docstring. | ||
| 114 | |||
| 115 | * eshell/em-smart.el (eshell-smart-maybe-jump-to-end): Fix typo in | ||
| 116 | docstring. | ||
| 117 | |||
| 118 | 2004-02-29 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 119 | |||
| 120 | * printing.el: Replace "As Is..." in PostScript file print/preview by | ||
| 121 | "No Preprocessing...". Suggested by Colin Marquardt | ||
| 122 | <marquardt@zmd.de>. | ||
| 123 | (pr-insert-section-4): Adjust buffer interface. | ||
| 124 | |||
| 1 | 2004-02-29 Kai Grossjohann <kai.grossjohann@gmx.net> | 125 | 2004-02-29 Kai Grossjohann <kai.grossjohann@gmx.net> |
| 2 | 126 | ||
| 3 | Version 2.0.39 of Tramp released. | 127 | Version 2.0.39 of Tramp released. |
| 4 | 128 | ||
| 5 | * net/tramp.el (tramp-handle-file-local-copy) | 129 | * net/tramp.el (tramp-handle-file-local-copy) |
| 6 | (tramp-handle-write-region, tramp-open-connection-rsh): Variable | 130 | (tramp-handle-write-region, tramp-open-connection-rsh): |
| 7 | name typo. Small change. From Patrick Tullmann | 131 | Variable name typo. Small change. From Patrick Tullmann |
| 8 | <tullmann@flux.utah.edu>. | 132 | <tullmann@flux.utah.edu>. |
| 9 | (tramp-process-connection-type): New variable. | 133 | (tramp-process-connection-type): New variable. |
| 10 | (tramp-maybe-open-connection): Use it. | 134 | (tramp-maybe-open-connection): Use it. |
| 11 | (tramp-do-copy-or-rename-via-buffer): Handle KEEP-DATE arg, if | 135 | (tramp-do-copy-or-rename-via-buffer): Handle KEEP-DATE arg if possible. |
| 12 | possible. | ||
| 13 | (tramp-touch): Set last-modified time of a remote file. | 136 | (tramp-touch): Set last-modified time of a remote file. |
| 14 | (tramp-handle-write-region): Say which function is used when | 137 | (tramp-handle-write-region): Say which function is used when encoding. |
| 15 | encoding. | ||
| 16 | 138 | ||
| 17 | 2004-02-29 Michael Albinus <Michael.Albinus@alcatel.de> | 139 | 2004-02-29 Michael Albinus <Michael.Albinus@alcatel.de> |
| 18 | 140 | ||
| @@ -28,7 +150,7 @@ | |||
| 28 | output. If it was received chunkwise, there have been problems. | 150 | output. If it was received chunkwise, there have been problems. |
| 29 | Remove the "prompt not found" error message; it is obvious. | 151 | Remove the "prompt not found" error message; it is obvious. |
| 30 | Simplify algorithm. | 152 | Simplify algorithm. |
| 31 | (tramp-smb-process-running): Removed. Since we acknowledge the | 153 | (tramp-smb-process-running): Remove. Since we acknowledge the |
| 32 | virtual prompt for shares, there's no need for distinction of | 154 | virtual prompt for shares, there's no need for distinction of |
| 33 | reading shares (process ends afterwards) and interactive mode of | 155 | reading shares (process ends afterwards) and interactive mode of |
| 34 | smblient. | 156 | smblient. |
| @@ -38,23 +160,21 @@ | |||
| 38 | (tramp-smb-maybe-open-connection): Set `process-connection-type' | 160 | (tramp-smb-maybe-open-connection): Set `process-connection-type' |
| 39 | to 'pty. Suggested by Piet van Oostrum <piet@cs.uu.nl>. | 161 | to 'pty. Suggested by Piet van Oostrum <piet@cs.uu.nl>. |
| 40 | (top-level): Setting default value in `tramp-default-method-alist' | 162 | (top-level): Setting default value in `tramp-default-method-alist' |
| 41 | corrected. Order of USER and HOST have been wrong. Nobody | 163 | corrected. Order of USER and HOST have been wrong. |
| 42 | claimed for months ... | 164 | Nobody complaimed for months ... |
| 43 | (tramp-smb-maybe-open-connection): Use | 165 | (tramp-smb-maybe-open-connection): Use `tramp-process-connection-type'. |
| 44 | `tramp-process-connection-type'. | 166 | (tramp-smb-open-connection): Clear password cache if login has failed. |
| 45 | (tramp-smb-open-connection): Clear password cache if login has | 167 | |
| 46 | failed. | 168 | * net/tramp.el (tramp-completion-mode) Don't check for 'xemacs' but |
| 47 | |||
| 48 | * net/tramp.el (tramp-completion-mode) Don't check for 'xemacs but | ||
| 49 | `tramp-unified-filenames'. | 169 | `tramp-unified-filenames'. |
| 50 | (tramp-completion-mode): Make test for XEmacs explicitely. | 170 | (tramp-completion-mode): Make test for XEmacs explicitely. |
| 51 | `event-to-character' can exists in Emacs packages too. Reported | 171 | `event-to-character' can exists in Emacs packages too. |
| 52 | by Matt Swift <swift@alum.mit.edu>. | 172 | Reported by Matt Swift <swift@alum.mit.edu>. |
| 53 | (tramp-buffer-name): Buffer name must contain the user if exists. | 173 | (tramp-buffer-name): Buffer name must contain the user if exists. |
| 54 | Reported by Adrian Phillips <a.phillips@met.no>. | 174 | Reported by Adrian Phillips <a.phillips@met.no>. |
| 55 | (tramp-do-copy-or-rename-file): Handle out-of-band methods. Call | 175 | (tramp-do-copy-or-rename-file): Handle out-of-band methods. |
| 56 | `tramp-do-copy-or-rename-file-out-of-band' this case. | 176 | Call `tramp-do-copy-or-rename-file-out-of-band' this case. |
| 57 | (tramp-do-copy-or-rename-file-out-of-band): Renamed from | 177 | (tramp-do-copy-or-rename-file-out-of-band): Rename from |
| 58 | `tramp-do-copy-or-rename-file-one-local', because it handles also | 178 | `tramp-do-copy-or-rename-file-one-local', because it handles also |
| 59 | the case both files use the same out-of-band method. | 179 | the case both files use the same out-of-band method. |
| 60 | Implementation added. | 180 | Implementation added. |
| @@ -70,16 +190,16 @@ | |||
| 70 | (tramp-completion-function-alist): It's a defvar now, because we | 190 | (tramp-completion-function-alist): It's a defvar now, because we |
| 71 | want to apply the optimized `tramp-set-completion-function' | 191 | want to apply the optimized `tramp-set-completion-function' |
| 72 | instead of a static list. | 192 | instead of a static list. |
| 73 | (tramp-set-completion-function): Implementation tuned. Avoid | 193 | (tramp-set-completion-function): Implementation tuned. |
| 74 | double entries, and entries where the function or the | 194 | Avoid double entries, and entries where the function or the |
| 75 | file/directory doesn't exist. | 195 | file/directory doesn't exist. |
| 76 | (tramp-parse-shostkeys, tramp-parse-sknownhosts): New functions | 196 | (tramp-parse-shostkeys, tramp-parse-sknownhosts): New functions |
| 77 | for SSH2. | 197 | for SSH2. |
| 78 | (tramp-file-name-handler-alist): Add `dired-compress-file' entry. | 198 | (tramp-file-name-handler-alist): Add `dired-compress-file' entry. |
| 79 | (tramp-handle-dired-compress-file): New function. | 199 | (tramp-handle-dired-compress-file): New function. |
| 80 | (tramp-async-proc): New variable. | 200 | (tramp-async-proc): New variable. |
| 81 | (tramp-handle-shell-command): Adding asynchronous processes. They | 201 | (tramp-handle-shell-command): Adding asynchronous processes. |
| 82 | are far from being perfect, but it works at least for | 202 | They are far from being perfect, but it works at least for |
| 83 | `find-grep-dired' and `find-name-dired' in Emacs 21.4. | 203 | `find-grep-dired' and `find-name-dired' in Emacs 21.4. |
| 84 | (top-level): Require password.el if visible. Should be mandatory | 204 | (top-level): Require password.el if visible. Should be mandatory |
| 85 | once No Gnus has found its way into (X)Emacs. | 205 | once No Gnus has found its way into (X)Emacs. |
| @@ -87,8 +207,8 @@ | |||
| 87 | `read-passwd' otherwise. `ange-ftp-read-passwd' isn't used as | 207 | `read-passwd' otherwise. `ange-ftp-read-passwd' isn't used as |
| 88 | fallback any longer. | 208 | fallback any longer. |
| 89 | (tramp-clear-passwd): New function. | 209 | (tramp-clear-passwd): New function. |
| 90 | (tramp-process-actions, tramp-process-multi-actions): Clear | 210 | (tramp-process-actions, tramp-process-multi-actions): |
| 91 | password cache if login has failed. | 211 | Clear password cache if login has failed. |
| 92 | 212 | ||
| 93 | * net/tramp-ftp.el (Commentary): Remove pointer to EFS. It has | 213 | * net/tramp-ftp.el (Commentary): Remove pointer to EFS. It has |
| 94 | its own module. | 214 | its own module. |
| @@ -119,8 +239,7 @@ | |||
| 119 | relative directory names. | 239 | relative directory names. |
| 120 | (dired-at-point-prompter): Treat directories as a directory, get | 240 | (dired-at-point-prompter): Treat directories as a directory, get |
| 121 | the directory component from files. | 241 | the directory component from files. |
| 122 | (ffap-string-at-point): Return string from region if region is | 242 | (ffap-string-at-point): Return string from region if region is active. |
| 123 | active. | ||
| 124 | (ffap-file-at-point): Remove redundant code. | 243 | (ffap-file-at-point): Remove redundant code. |
| 125 | 244 | ||
| 126 | 2004-02-28 Kim F. Storm <storm@cua.dk> | 245 | 2004-02-28 Kim F. Storm <storm@cua.dk> |
| @@ -140,8 +259,8 @@ | |||
| 140 | (gdb-put-breakpoint-icon): New defun which displays a breakpoint | 259 | (gdb-put-breakpoint-icon): New defun which displays a breakpoint |
| 141 | icon in fringe (if available), or else as icon or text in display | 260 | icon in fringe (if available), or else as icon or text in display |
| 142 | margin. Creates necessary icons in breakpoint-bitmap, | 261 | margin. Creates necessary icons in breakpoint-bitmap, |
| 143 | breakpoint-enabled-icon, and/or breakpoint-disabled-icon. Also | 262 | breakpoint-enabled-icon, and/or breakpoint-disabled-icon. |
| 144 | make left window margin if required. | 263 | Also make left window margin if required. |
| 145 | (gdb-remove-breakpoint-icons): New defun to remove breakpoint | 264 | (gdb-remove-breakpoint-icons): New defun to remove breakpoint |
| 146 | icons inserted by gdb-put-breakpoint-icon. Remove left margin if | 265 | icons inserted by gdb-put-breakpoint-icon. Remove left margin if |
| 147 | no longer needed. | 266 | no longer needed. |
| @@ -152,7 +271,7 @@ | |||
| 152 | 2004-02-27 Kevin Ryde <user42@zip.com.au> | 271 | 2004-02-27 Kevin Ryde <user42@zip.com.au> |
| 153 | 272 | ||
| 154 | * info-look.el: In scheme-mode symbol regexp, disallow backquote and | 273 | * info-look.el: In scheme-mode symbol regexp, disallow backquote and |
| 155 | comma, so that it DTRT in macros. | 274 | comma, so that it DTRT in macros. |
| 156 | 275 | ||
| 157 | 2004-02-27 Markus Rost <rost@mathematik.uni-bielefeld.de> | 276 | 2004-02-27 Markus Rost <rost@mathematik.uni-bielefeld.de> |
| 158 | 277 | ||
| @@ -170,11 +289,10 @@ | |||
| 170 | 289 | ||
| 171 | * font-lock.el (font-lock-comment-face, font-lock-string-face) | 290 | * font-lock.el (font-lock-comment-face, font-lock-string-face) |
| 172 | (font-lock-keyword-face, font-lock-function-name-face) | 291 | (font-lock-keyword-face, font-lock-function-name-face) |
| 173 | (font-lock-variable-name-face, font-lock-constant-face): Use | 292 | (font-lock-variable-name-face, font-lock-constant-face): |
| 174 | `min-colors'. | 293 | Use `min-colors'. |
| 175 | 294 | ||
| 176 | * isearch.el (isearch, isearch-lazy-highlight-face): Use | 295 | * isearch.el (isearch, isearch-lazy-highlight-face): Use `min-colors'. |
| 177 | `min-colors'. | ||
| 178 | 296 | ||
| 179 | 2004-02-25 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 297 | 2004-02-25 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 180 | 298 | ||
| @@ -191,8 +309,8 @@ | |||
| 191 | * ebnf-abn.el: New file, implements an ABNF parser. | 309 | * ebnf-abn.el: New file, implements an ABNF parser. |
| 192 | 310 | ||
| 193 | * ebnf2ps.el: Doc fix. Accept ABNF (Augmented BNF). New arrow shapes: | 311 | * ebnf2ps.el: Doc fix. Accept ABNF (Augmented BNF). New arrow shapes: |
| 194 | semi-up-hollow, semi-up-full, semi-down-hollow and semi-down-full. Fix | 312 | semi-up-hollow, semi-up-full, semi-down-hollow and semi-down-full. |
| 195 | a bug on productions like test = {"test"}* | ( "tt" ["test"] ). | 313 | Fix a bug on productions like test = {"test"}* | ( "tt" ["test"] ). |
| 196 | Reported by Markus Dreyer <mdreyer@ix.urz.uni-heidelberg.de>. | 314 | Reported by Markus Dreyer <mdreyer@ix.urz.uni-heidelberg.de>. |
| 197 | (ebnf-version): New version number (4.0). | 315 | (ebnf-version): New version number (4.0). |
| 198 | (ebnf-print-directory, ebnf-print-file, ebnf-spool-directory) | 316 | (ebnf-print-directory, ebnf-print-file, ebnf-spool-directory) |
| @@ -238,10 +356,9 @@ | |||
| 238 | (gdb-var-delete): Make interactive (really). | 356 | (gdb-var-delete): Make interactive (really). |
| 239 | (gdb-edit-value): Make non-interactive. | 357 | (gdb-edit-value): Make non-interactive. |
| 240 | 358 | ||
| 241 | * progmodes/gud.el (gud-install-speedbar-variables): Bind | 359 | * progmodes/gud.el (gud-speedbar-menu-items): |
| 242 | gdb-var-delete to "D". | 360 | Add gdb-var-delete and, indirectly, gdb-edit-value. |
| 243 | (gud-speedbar-menu-items): Add gdb-var-delete and, indirectly, | 361 | (gud-install-speedbar-variables): Bind gdb-var-delete to "D". |
| 244 | gdb-edit-value. | ||
| 245 | (gud-speedbar-buttons): Remove gdb-var-delete from tag-line. | 362 | (gud-speedbar-buttons): Remove gdb-var-delete from tag-line. |
| 246 | (gud-gdb-marker-filter): Add comment for annotations. | 363 | (gud-gdb-marker-filter): Add comment for annotations. |
| 247 | 364 | ||
| @@ -260,8 +377,7 @@ | |||
| 260 | 2004-02-21 Stephen Compall <s11@member.fsf.org> | 377 | 2004-02-21 Stephen Compall <s11@member.fsf.org> |
| 261 | 378 | ||
| 262 | * saveplace.el (save-place-forget-unreadable-files) | 379 | * saveplace.el (save-place-forget-unreadable-files) |
| 263 | (save-place-save-skipped, save-place-skip-check-regexp): New | 380 | (save-place-save-skipped, save-place-skip-check-regexp): New vars. |
| 264 | defcustoms. | ||
| 265 | (save-place-forget-unreadable-files): New function. | 381 | (save-place-forget-unreadable-files): New function. |
| 266 | (save-place-alist-to-file): Use it to filter out files that are | 382 | (save-place-alist-to-file): Use it to filter out files that are |
| 267 | no longer readable. | 383 | no longer readable. |
| @@ -293,7 +409,7 @@ | |||
| 293 | 409 | ||
| 294 | 2004-02-20 John Wiegley <johnw@newartisans.com> | 410 | 2004-02-20 John Wiegley <johnw@newartisans.com> |
| 295 | 411 | ||
| 296 | * eshell/em-pred.el (eshell-modifier-alist): Changed the "eval | 412 | * eshell/em-pred.el (eshell-modifier-alist): Change the "eval |
| 297 | again" modifier from 'e' to 'E', since 'e' is also used by the | 413 | again" modifier from 'e' to 'E', since 'e' is also used by the |
| 298 | "file extension" modifier. | 414 | "file extension" modifier. |
| 299 | 415 | ||
| @@ -312,8 +428,8 @@ | |||
| 312 | 428 | ||
| 313 | * gdb-ui.el (gdb-use-colon-colon-notation): Set default to nil for | 429 | * gdb-ui.el (gdb-use-colon-colon-notation): Set default to nil for |
| 314 | case of variables defined in compound statements. | 430 | case of variables defined in compound statements. |
| 315 | (gdb-setup-windows, gdb-source-info, gdb-source-info): Simplify | 431 | (gdb-setup-windows, gdb-source-info, gdb-source-info): |
| 316 | constructions using switch-to-buffer. | 432 | Simplify constructions using switch-to-buffer. |
| 317 | 433 | ||
| 318 | 2004-02-19 Simon Josefsson <jas@extundo.com> | 434 | 2004-02-19 Simon Josefsson <jas@extundo.com> |
| 319 | 435 | ||
| @@ -401,7 +517,7 @@ | |||
| 401 | * rmail-spam-filter.el: (vm-use-spam-filter) | 517 | * rmail-spam-filter.el: (vm-use-spam-filter) |
| 402 | (rsf-min-region-length-added-to-spam-list): New variables. | 518 | (rsf-min-region-length-added-to-spam-list): New variables. |
| 403 | (rsf-bbdb-auto-delete-spam-bbdb-entries): Rename from | 519 | (rsf-bbdb-auto-delete-spam-bbdb-entries): Rename from |
| 404 | rmail-bbdb-auto-delete-spam-entries. Added cc: to recipients for | 520 | rmail-bbdb-auto-delete-spam-entries. Add cc: to recipients for |
| 405 | spam testing. Don't delete spam message if automatic deletion | 521 | spam testing. Don't delete spam message if automatic deletion |
| 406 | after output via variable rmail-delete-after-output is turned on. | 522 | after output via variable rmail-delete-after-output is turned on. |
| 407 | (rsf-bbdb-dont-create-entries-for-deleted-messages): Rename from | 523 | (rsf-bbdb-dont-create-entries-for-deleted-messages): Rename from |
| @@ -571,6 +687,7 @@ | |||
| 571 | (diff, diff-backup): Use it. | 687 | (diff, diff-backup): Use it. |
| 572 | (diff): Clean up the args construction. Use backquote. | 688 | (diff): Clean up the args construction. Use backquote. |
| 573 | Use listp instead of consp to avoid putting a nil arg. | 689 | Use listp instead of consp to avoid putting a nil arg. |
| 690 | (diff): Add a revert-buffer function. | ||
| 574 | 691 | ||
| 575 | 2004-02-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 692 | 2004-02-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 576 | 693 | ||
| @@ -3061,7 +3178,7 @@ | |||
| 3061 | 3178 | ||
| 3062 | 2003-08-26 Glenn Morris <gmorris@ast.cam.ac.uk> | 3179 | 2003-08-26 Glenn Morris <gmorris@ast.cam.ac.uk> |
| 3063 | 3180 | ||
| 3064 | * mail/smtpmail.el Fix previous change: | 3181 | * mail/smtpmail.el: Fix previous change. |
| 3065 | (smtpmail-send-queued-mail): Set smtpmail-mail-address before | 3182 | (smtpmail-send-queued-mail): Set smtpmail-mail-address before |
| 3066 | calling smtpmail-via-smtp. | 3183 | calling smtpmail-via-smtp. |
| 3067 | (smtpmail-via-smtp): Add fall-back values for envelope-from. | 3184 | (smtpmail-via-smtp): Add fall-back values for envelope-from. |
diff --git a/lisp/Makefile.in b/lisp/Makefile.in index fad13704c3c..e1c6b779db2 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # Maintenance productions for the Lisp directory | 1 | # Maintenance productions for the Lisp directory |
| 2 | # Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. | 2 | # Copyright (C) 2000, 01, 03, 2004 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | # This file is part of GNU Emacs. | 4 | # This file is part of GNU Emacs. |
| 5 | 5 | ||
| @@ -110,6 +110,13 @@ DONTCOMPILE = \ | |||
| 110 | $(lisp)/term/wyse50.el \ | 110 | $(lisp)/term/wyse50.el \ |
| 111 | $(lisp)/version.el | 111 | $(lisp)/version.el |
| 112 | 112 | ||
| 113 | # Elisp files auto-generated. | ||
| 114 | AUTOGENEL = loaddefs.el \ | ||
| 115 | cus-load.el \ | ||
| 116 | finder-inf.el \ | ||
| 117 | subdirs.el \ | ||
| 118 | eshell/esh-groups.el | ||
| 119 | |||
| 113 | # Files to compile before others during a bootstrap. This is done to | 120 | # Files to compile before others during a bootstrap. This is done to |
| 114 | # speed up the bootstrap process. The CC files are compiled first | 121 | # speed up the bootstrap process. The CC files are compiled first |
| 115 | # because CC mode tweaks the compilation process, and requiring | 122 | # because CC mode tweaks the compilation process, and requiring |
| @@ -131,14 +138,14 @@ emacs = EMACSLOADPATH=$(lisp) $(EMACS) $(EMACSOPT) | |||
| 131 | 138 | ||
| 132 | setwins=subdirs=`find $$wd -type d -print`; \ | 139 | setwins=subdirs=`find $$wd -type d -print`; \ |
| 133 | for file in $$subdirs; do \ | 140 | for file in $$subdirs; do \ |
| 134 | case $$file in */Old | */RCS | */CVS | */CVS/* | */.arch-ids | */.arch-ids/* | */=* ) ;; \ | 141 | case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* ) ;; \ |
| 135 | *) wins="$$wins $$file" ;; \ | 142 | *) wins="$$wins $$file" ;; \ |
| 136 | esac; \ | 143 | esac; \ |
| 137 | done | 144 | done |
| 138 | 145 | ||
| 139 | setwins_almost=subdirs=`find $$wd -type d -print`; \ | 146 | setwins_almost=subdirs=`find $$wd -type d -print`; \ |
| 140 | for file in $$subdirs; do \ | 147 | for file in $$subdirs; do \ |
| 141 | case $$file in */Old | */RCS | */CVS | */CVS/* | */=* | */obsolete | */term ) ;; \ | 148 | case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* | */obsolete | */term ) ;; \ |
| 142 | *) wins="$$wins $$file" ;; \ | 149 | *) wins="$$wins $$file" ;; \ |
| 143 | esac; \ | 150 | esac; \ |
| 144 | done | 151 | done |
| @@ -294,11 +301,8 @@ $(lisp)/progmodes/cc-mode.elc: \ | |||
| 294 | # it's necessary for generating the binary (because loaddefs.el is an | 301 | # it's necessary for generating the binary (because loaddefs.el is an |
| 295 | # automatically generated file, we don't want to store it in the source | 302 | # automatically generated file, we don't want to store it in the source |
| 296 | # repository). | 303 | # repository). |
| 297 | # | ||
| 298 | # Remove compiled Lisp files so that bootstrap-emacs will be built from | ||
| 299 | # sources only. | ||
| 300 | 304 | ||
| 301 | bootstrap-clean: | 305 | bootstrap-prepare: |
| 302 | if test -x $(EMACS); then \ | 306 | if test -x $(EMACS); then \ |
| 303 | $(MAKE) $(MFLAGS) autoloads; \ | 307 | $(MAKE) $(MFLAGS) autoloads; \ |
| 304 | else \ | 308 | else \ |
| @@ -306,7 +310,9 @@ bootstrap-clean: | |||
| 306 | cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \ | 310 | cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \ |
| 307 | fi \ | 311 | fi \ |
| 308 | fi | 312 | fi |
| 309 | cd $(lisp); rm -f *.elc */*.elc | 313 | |
| 314 | maintainer-clean: | ||
| 315 | cd $(lisp); rm -f *.elc */*.elc $(AUTOGENEL) | ||
| 310 | 316 | ||
| 311 | # Generate/update files for the bootstrap process. | 317 | # Generate/update files for the bootstrap process. |
| 312 | 318 | ||
diff --git a/lisp/allout.el b/lisp/allout.el index 32ecb35e07e..bd5cd6c36ee 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | ;; Author: Ken Manheimer <klm@zope.com> | 5 | ;; Author: Ken Manheimer <klm@zope.com> |
| 6 | ;; Maintainer: Ken Manheimer <klm@zope.com> | 6 | ;; Maintainer: Ken Manheimer <klm@zope.com> |
| 7 | ;; Created: Dec 1991 - first release to usenet | 7 | ;; Created: Dec 1991 - first release to usenet |
| 8 | ;; Version: $Id: allout.el,v 1.45 2003/10/16 16:28:30 eliz Exp $|| | 8 | ;; Version: $Id: allout.el,v 1.46 2004/03/01 22:44:04 lektu Exp $|| |
| 9 | ;; Keywords: outlines mode wp languages | 9 | ;; Keywords: outlines mode wp languages |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| @@ -508,7 +508,7 @@ behavior." | |||
| 508 | ;;;_ : Version | 508 | ;;;_ : Version |
| 509 | ;;;_ = allout-version | 509 | ;;;_ = allout-version |
| 510 | (defvar allout-version | 510 | (defvar allout-version |
| 511 | (let ((rcs-rev "$Revision: 1.45 $")) | 511 | (let ((rcs-rev "$Revision: 1.46 $")) |
| 512 | (condition-case err | 512 | (condition-case err |
| 513 | (save-match-data | 513 | (save-match-data |
| 514 | (string-match "Revision: \\([0-9]+\\.[0-9]+\\)" rcs-rev) | 514 | (string-match "Revision: \\([0-9]+\\.[0-9]+\\)" rcs-rev) |
| @@ -3015,9 +3015,9 @@ Third arg NUMBER-CONTROL can force the prefix to or away from | |||
| 3015 | numbered form. It has effect only if `allout-numbered-bullet' is | 3015 | numbered form. It has effect only if `allout-numbered-bullet' is |
| 3016 | non-nil and soliciting was not explicitly invoked (via first arg). | 3016 | non-nil and soliciting was not explicitly invoked (via first arg). |
| 3017 | Its effect, numbering or denumbering, then depends on the setting | 3017 | Its effect, numbering or denumbering, then depends on the setting |
| 3018 | of the forth arg, INDEX. | 3018 | of the fourth arg, INDEX. |
| 3019 | 3019 | ||
| 3020 | If NUMBER-CONTROL is non-nil and forth arg INDEX is nil, then the | 3020 | If NUMBER-CONTROL is non-nil and fourth arg INDEX is nil, then the |
| 3021 | prefix of the topic is forced to be non-numbered. Null index and | 3021 | prefix of the topic is forced to be non-numbered. Null index and |
| 3022 | non-nil NUMBER-CONTROL forces denumbering. Non-nil INDEX (and | 3022 | non-nil NUMBER-CONTROL forces denumbering. Non-nil INDEX (and |
| 3023 | non-nil NUMBER-CONTROL) forces a numbered-prefix form. If non-nil | 3023 | non-nil NUMBER-CONTROL) forces a numbered-prefix form. If non-nil |
diff --git a/lisp/desktop.el b/lisp/desktop.el index 0cff5e5a21f..beac1f39005 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -90,7 +90,7 @@ | |||
| 90 | (mapcar 'require '(info dired reporter))) | 90 | (mapcar 'require '(info dired reporter))) |
| 91 | 91 | ||
| 92 | (defvar desktop-file-version "206" | 92 | (defvar desktop-file-version "206" |
| 93 | "Verion number of desktop file format. | 93 | "Version number of desktop file format. |
| 94 | Written into the desktop file and used at desktop read to provide | 94 | Written into the desktop file and used at desktop read to provide |
| 95 | backward compatibility.") | 95 | backward compatibility.") |
| 96 | 96 | ||
| @@ -163,7 +163,7 @@ May e.g. be used to show a dired buffer." | |||
| 163 | :group 'desktop) | 163 | :group 'desktop) |
| 164 | 164 | ||
| 165 | (defcustom desktop-after-read-hook nil | 165 | (defcustom desktop-after-read-hook nil |
| 166 | "Normal hook run after a sucessful `desktop-read'. | 166 | "Normal hook run after a successful `desktop-read'. |
| 167 | May e.g. be used to show a buffer list." | 167 | May e.g. be used to show a buffer list." |
| 168 | :type 'hook | 168 | :type 'hook |
| 169 | :group 'desktop) | 169 | :group 'desktop) |
| @@ -212,8 +212,7 @@ to the value obtained by evaluateing FORM." | |||
| 212 | ;; Maintained for backward compatibility | 212 | ;; Maintained for backward compatibility |
| 213 | (defcustom desktop-clear-preserve-buffers nil | 213 | (defcustom desktop-clear-preserve-buffers nil |
| 214 | "*List of buffer names that `desktop-clear' should not delete. | 214 | "*List of buffer names that `desktop-clear' should not delete. |
| 215 | This variable is maintained for backward compatibility only. Use | 215 | This variable is maintained for backward compatibility only." |
| 216 | `desktop-clear-preserve-buffers-regexp' instead." | ||
| 217 | :type '(repeat string) | 216 | :type '(repeat string) |
| 218 | :group 'desktop) | 217 | :group 'desktop) |
| 219 | (make-obsolete-variable 'desktop-clear-preserve-buffers | 218 | (make-obsolete-variable 'desktop-clear-preserve-buffers |
| @@ -349,9 +348,9 @@ this table." | |||
| 349 | "Hooks run after all buffers are loaded; intended for internal use.") | 348 | "Hooks run after all buffers are loaded; intended for internal use.") |
| 350 | 349 | ||
| 351 | ;; ---------------------------------------------------------------------------- | 350 | ;; ---------------------------------------------------------------------------- |
| 352 | (defun desktop-truncate (l n) | 351 | (defun desktop-truncate (list n) |
| 353 | "Truncate LIST to at most N elements destructively." | 352 | "Truncate LIST to at most N elements destructively." |
| 354 | (let ((here (nthcdr (1- n) l))) | 353 | (let ((here (nthcdr (1- n) list))) |
| 355 | (if (consp here) | 354 | (if (consp here) |
| 356 | (setcdr here nil)))) | 355 | (setcdr here nil)))) |
| 357 | 356 | ||
| @@ -424,22 +423,22 @@ is nil, ask the user where to save the desktop." | |||
| 424 | value))) | 423 | value))) |
| 425 | 424 | ||
| 426 | ;; ---------------------------------------------------------------------------- | 425 | ;; ---------------------------------------------------------------------------- |
| 427 | (defun desktop-internal-v2s (val) | 426 | (defun desktop-internal-v2s (value) |
| 428 | "Convert VALUE to a pair (QUOTE . TXT); (eval (read TXT)) gives VALUE. | 427 | "Convert VALUE to a pair (QUOTE . TXT); (eval (read TXT)) gives VALUE. |
| 429 | TXT is a string that when read and evaluated yields value. | 428 | TXT is a string that when read and evaluated yields value. |
| 430 | QUOTE may be `may' (value may be quoted), | 429 | QUOTE may be `may' (value may be quoted), |
| 431 | `must' (values must be quoted), or nil (value may not be quoted)." | 430 | `must' (values must be quoted), or nil (value may not be quoted)." |
| 432 | (cond | 431 | (cond |
| 433 | ((or (numberp val) (null val) (eq t val)) | 432 | ((or (numberp value) (null value) (eq t value)) |
| 434 | (cons 'may (prin1-to-string val))) | 433 | (cons 'may (prin1-to-string value))) |
| 435 | ((stringp val) | 434 | ((stringp value) |
| 436 | (let ((copy (copy-sequence val))) | 435 | (let ((copy (copy-sequence value))) |
| 437 | (set-text-properties 0 (length copy) nil copy) | 436 | (set-text-properties 0 (length copy) nil copy) |
| 438 | ;; Get rid of text properties because we cannot read them | 437 | ;; Get rid of text properties because we cannot read them |
| 439 | (cons 'may (prin1-to-string copy)))) | 438 | (cons 'may (prin1-to-string copy)))) |
| 440 | ((symbolp val) | 439 | ((symbolp value) |
| 441 | (cons 'must (prin1-to-string val))) | 440 | (cons 'must (prin1-to-string value))) |
| 442 | ((vectorp val) | 441 | ((vectorp value) |
| 443 | (let* ((special nil) | 442 | (let* ((special nil) |
| 444 | (pass1 (mapcar | 443 | (pass1 (mapcar |
| 445 | (lambda (el) | 444 | (lambda (el) |
| @@ -447,7 +446,7 @@ QUOTE may be `may' (value may be quoted), | |||
| 447 | (if (null (car res)) | 446 | (if (null (car res)) |
| 448 | (setq special t)) | 447 | (setq special t)) |
| 449 | res)) | 448 | res)) |
| 450 | val))) | 449 | value))) |
| 451 | (if special | 450 | (if special |
| 452 | (cons nil (concat "(vector " | 451 | (cons nil (concat "(vector " |
| 453 | (mapconcat (lambda (el) | 452 | (mapconcat (lambda (el) |
| @@ -458,8 +457,8 @@ QUOTE may be `may' (value may be quoted), | |||
| 458 | " ") | 457 | " ") |
| 459 | ")")) | 458 | ")")) |
| 460 | (cons 'may (concat "[" (mapconcat 'cdr pass1 " ") "]"))))) | 459 | (cons 'may (concat "[" (mapconcat 'cdr pass1 " ") "]"))))) |
| 461 | ((consp val) | 460 | ((consp value) |
| 462 | (let ((p val) | 461 | (let ((p value) |
| 463 | newlist | 462 | newlist |
| 464 | use-list* | 463 | use-list* |
| 465 | anynil) | 464 | anynil) |
| @@ -489,13 +488,13 @@ QUOTE may be `may' (value may be quoted), | |||
| 489 | ")")) | 488 | ")")) |
| 490 | (cons 'must | 489 | (cons 'must |
| 491 | (concat "(" (mapconcat 'cdr newlist " ") ")"))))) | 490 | (concat "(" (mapconcat 'cdr newlist " ") ")"))))) |
| 492 | ((subrp val) | 491 | ((subrp value) |
| 493 | (cons nil (concat "(symbol-function '" | 492 | (cons nil (concat "(symbol-function '" |
| 494 | (substring (prin1-to-string val) 7 -1) | 493 | (substring (prin1-to-string value) 7 -1) |
| 495 | ")"))) | 494 | ")"))) |
| 496 | ((markerp val) | 495 | ((markerp value) |
| 497 | (let ((pos (prin1-to-string (marker-position val))) | 496 | (let ((pos (prin1-to-string (marker-position value))) |
| 498 | (buf (prin1-to-string (buffer-name (marker-buffer val))))) | 497 | (buf (prin1-to-string (buffer-name (marker-buffer value))))) |
| 499 | (cons nil (concat "(let ((mk (make-marker)))" | 498 | (cons nil (concat "(let ((mk (make-marker)))" |
| 500 | " (add-hook 'desktop-delay-hook" | 499 | " (add-hook 'desktop-delay-hook" |
| 501 | " (list 'lambda '() (list 'set-marker mk " | 500 | " (list 'lambda '() (list 'set-marker mk " |
| @@ -504,12 +503,12 @@ QUOTE may be `may' (value may be quoted), | |||
| 504 | (cons 'may "\"Unprintable entity\"")))) | 503 | (cons 'may "\"Unprintable entity\"")))) |
| 505 | 504 | ||
| 506 | ;; ---------------------------------------------------------------------------- | 505 | ;; ---------------------------------------------------------------------------- |
| 507 | (defun desktop-value-to-string (val) | 506 | (defun desktop-value-to-string (value) |
| 508 | "Convert VALUE to a string that when read evaluates to the same value. | 507 | "Convert VALUE to a string that when read evaluates to the same value. |
| 509 | Not all types of values are supported." | 508 | Not all types of values are supported." |
| 510 | (let* ((print-escape-newlines t) | 509 | (let* ((print-escape-newlines t) |
| 511 | (float-output-format nil) | 510 | (float-output-format nil) |
| 512 | (quote.txt (desktop-internal-v2s val)) | 511 | (quote.txt (desktop-internal-v2s value)) |
| 513 | (quote (car quote.txt)) | 512 | (quote (car quote.txt)) |
| 514 | (txt (cdr quote.txt))) | 513 | (txt (cdr quote.txt))) |
| 515 | (if (eq quote 'must) | 514 | (if (eq quote 'must) |
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el index 8e290553a61..b164588d8f1 100644 --- a/lisp/emulation/tpu-edt.el +++ b/lisp/emulation/tpu-edt.el | |||
| @@ -551,7 +551,7 @@ version of Emacs." | |||
| 551 | (t (mark)))) | 551 | (t (mark)))) |
| 552 | 552 | ||
| 553 | (defun tpu-set-mark (pos) | 553 | (defun tpu-set-mark (pos) |
| 554 | "TPU-edt verion of the `set-mark' function. | 554 | "TPU-edt version of the `set-mark' function. |
| 555 | Sets the mark at POS and activates the region according to the | 555 | Sets the mark at POS and activates the region according to the |
| 556 | current version of Emacs." | 556 | current version of Emacs." |
| 557 | (set-mark pos) | 557 | (set-mark pos) |
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el index 6725f96cc84..fb539487204 100644 --- a/lisp/eshell/em-smart.el +++ b/lisp/eshell/em-smart.el | |||
| @@ -242,7 +242,7 @@ The options are `begin', `after' or `end'." | |||
| 242 | 242 | ||
| 243 | (defun eshell-smart-maybe-jump-to-end () | 243 | (defun eshell-smart-maybe-jump-to-end () |
| 244 | "Jump to the end of the input buffer. | 244 | "Jump to the end of the input buffer. |
| 245 | This is done whenever a command exits sucessfully and both the command | 245 | This is done whenever a command exits successfully and both the command |
| 246 | and the end of the buffer are still visible." | 246 | and the end of the buffer are still visible." |
| 247 | (when (and (= eshell-last-command-status 0) | 247 | (when (and (= eshell-last-command-status 0) |
| 248 | (if (eq eshell-review-quick-commands 'not-even-short-output) | 248 | (if (eq eshell-review-quick-commands 'not-even-short-output) |
diff --git a/lisp/files.el b/lisp/files.el index 3b178af029b..a63aea99114 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -855,7 +855,9 @@ do not put this buffer at the front of the list of recently selected ones. | |||
| 855 | This uses the function `display-buffer' as a subroutine; see its | 855 | This uses the function `display-buffer' as a subroutine; see its |
| 856 | documentation for additional customization information." | 856 | documentation for additional customization information." |
| 857 | (interactive "BSwitch to buffer in other window: ") | 857 | (interactive "BSwitch to buffer in other window: ") |
| 858 | (let ((pop-up-windows t)) | 858 | (let ((pop-up-windows t) |
| 859 | ;; Don't let these interfere. | ||
| 860 | same-window-buffer-names same-window-regexps) | ||
| 859 | (pop-to-buffer buffer t norecord))) | 861 | (pop-to-buffer buffer t norecord))) |
| 860 | 862 | ||
| 861 | (defun switch-to-buffer-other-frame (buffer &optional norecord) | 863 | (defun switch-to-buffer-other-frame (buffer &optional norecord) |
| @@ -866,7 +868,8 @@ do not put this buffer at the front of the list of recently selected ones. | |||
| 866 | This uses the function `display-buffer' as a subroutine; see its | 868 | This uses the function `display-buffer' as a subroutine; see its |
| 867 | documentation for additional customization information." | 869 | documentation for additional customization information." |
| 868 | (interactive "BSwitch to buffer in other frame: ") | 870 | (interactive "BSwitch to buffer in other frame: ") |
| 869 | (let ((pop-up-frames t)) | 871 | (let ((pop-up-frames t) |
| 872 | same-window-buffer-names same-window-regexps) | ||
| 870 | (pop-to-buffer buffer t norecord) | 873 | (pop-to-buffer buffer t norecord) |
| 871 | (raise-frame (window-frame (selected-window))))) | 874 | (raise-frame (window-frame (selected-window))))) |
| 872 | 875 | ||
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 4deacb9e87f..ad69cdd960c 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -1890,10 +1890,13 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item." | |||
| 1890 | "condition-case" "track-mouse" | 1890 | "condition-case" "track-mouse" |
| 1891 | "eval-after-load" "eval-and-compile" "eval-when-compile" | 1891 | "eval-after-load" "eval-and-compile" "eval-when-compile" |
| 1892 | "eval-when" | 1892 | "eval-when" |
| 1893 | "with-category-table" | ||
| 1893 | "with-current-buffer" "with-electric-help" | 1894 | "with-current-buffer" "with-electric-help" |
| 1895 | "with-local-quit" "with-no-warnings" | ||
| 1894 | "with-output-to-string" "with-output-to-temp-buffer" | 1896 | "with-output-to-string" "with-output-to-temp-buffer" |
| 1897 | "with-selected-window" "with-syntax-table" | ||
| 1895 | "with-temp-buffer" "with-temp-file" "with-temp-message" | 1898 | "with-temp-buffer" "with-temp-file" "with-temp-message" |
| 1896 | "with-timeout") t) | 1899 | "with-timeout" "with-timeout-handler") t) |
| 1897 | "\\>") | 1900 | "\\>") |
| 1898 | 1) | 1901 | 1) |
| 1899 | ;; | 1902 | ;; |
| @@ -1908,7 +1911,13 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item." | |||
| 1908 | "proclaim" "declaim" "declare" "symbol-macrolet" | 1911 | "proclaim" "declaim" "declare" "symbol-macrolet" |
| 1909 | "lexical-let" "lexical-let*" "flet" "labels" "compiler-let" | 1912 | "lexical-let" "lexical-let*" "flet" "labels" "compiler-let" |
| 1910 | "destructuring-bind" "macrolet" "tagbody" "block" | 1913 | "destructuring-bind" "macrolet" "tagbody" "block" |
| 1911 | "return" "return-from") t) | 1914 | "return" "return-from" |
| 1915 | "with-accessors" "with-compilation-unit" | ||
| 1916 | "with-condition-restarts" "with-hash-table-iterator" | ||
| 1917 | "with-input-from-string" "with-open-file" | ||
| 1918 | "with-open-stream" "with-output-to-string" | ||
| 1919 | "with-package-iterator" "with-simple-restart" | ||
| 1920 | "with-slots" "with-standard-io-syntax") t) | ||
| 1912 | "\\>") | 1921 | "\\>") |
| 1913 | 1) | 1922 | 1) |
| 1914 | ;; | 1923 | ;; |
| @@ -1933,8 +1942,11 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item." | |||
| 1933 | ;; ELisp and CLisp `&' keywords as types. | 1942 | ;; ELisp and CLisp `&' keywords as types. |
| 1934 | '("\\&\\sw+\\>" . font-lock-type-face) | 1943 | '("\\&\\sw+\\>" . font-lock-type-face) |
| 1935 | ;; | 1944 | ;; |
| 1936 | ;; CL `with-' and `do-' constructs | 1945 | ;;; This is too general -- rms. |
| 1937 | '("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face) | 1946 | ;;; A user complained that he has functions whose names start with `do' |
| 1947 | ;;; and that they get the wrong color. | ||
| 1948 | ;;; ;; CL `with-' and `do-' constructs | ||
| 1949 | ;;; '("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face) | ||
| 1938 | ))) | 1950 | ))) |
| 1939 | "Gaudy level highlighting for Lisp modes.") | 1951 | "Gaudy level highlighting for Lisp modes.") |
| 1940 | 1952 | ||
diff --git a/lisp/gdb-ui.el b/lisp/gdb-ui.el index 0040fb47f6e..85b03fbce40 100644 --- a/lisp/gdb-ui.el +++ b/lisp/gdb-ui.el | |||
| @@ -1087,7 +1087,6 @@ static char *magick[] = { | |||
| 1087 | (interactive "e") | 1087 | (interactive "e") |
| 1088 | (mouse-minibuffer-check event) | 1088 | (mouse-minibuffer-check event) |
| 1089 | (let ((posn (event-end event))) | 1089 | (let ((posn (event-end event))) |
| 1090 | (message "pt=%S posn=%S" (posn-point posn) posn) | ||
| 1091 | (if (numberp (posn-point posn)) | 1090 | (if (numberp (posn-point posn)) |
| 1092 | (with-selected-window (posn-window posn) | 1091 | (with-selected-window (posn-window posn) |
| 1093 | (save-excursion | 1092 | (save-excursion |
| @@ -1808,32 +1807,6 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1808 | left-margin-width | 1807 | left-margin-width |
| 1809 | right-margin-width)))) | 1808 | right-margin-width)))) |
| 1810 | 1809 | ||
| 1811 | (defun gdb-put-arrow (putstring pos) | ||
| 1812 | "Put arrow string PUTSTRING in the left margin in front of POS | ||
| 1813 | in the current buffer. PUTSTRING is displayed by putting an | ||
| 1814 | overlay into the current buffer with a `before-string' | ||
| 1815 | \"gdb-arrow\" that has a `display' property whose value is | ||
| 1816 | PUTSTRING. POS may be an integer or marker." | ||
| 1817 | (let ((gdb-string "gdb-arrow") | ||
| 1818 | (buffer (current-buffer))) | ||
| 1819 | (let ((overlay (make-overlay pos pos buffer)) | ||
| 1820 | (prop (list (list 'margin 'left-margin) putstring))) | ||
| 1821 | (put-text-property 0 (length gdb-string) 'display prop gdb-string) | ||
| 1822 | (overlay-put overlay 'put-arrow t) | ||
| 1823 | (overlay-put overlay 'before-string gdb-string)))) | ||
| 1824 | |||
| 1825 | (defun gdb-remove-arrow (&optional buffer) | ||
| 1826 | "Remove arrow in BUFFER. | ||
| 1827 | Remove only images that were put in BUFFER with calls to `put-arrow'. | ||
| 1828 | BUFFER nil or omitted means use the current buffer." | ||
| 1829 | (unless buffer | ||
| 1830 | (setq buffer (current-buffer))) | ||
| 1831 | (let ((overlays (overlays-in (point-min) (point-max)))) | ||
| 1832 | (while overlays | ||
| 1833 | (let ((overlay (car overlays))) | ||
| 1834 | (when (overlay-get overlay 'put-arrow) | ||
| 1835 | (delete-overlay overlay))) | ||
| 1836 | (setq overlays (cdr overlays))))) | ||
| 1837 | 1810 | ||
| 1838 | ;; | 1811 | ;; |
| 1839 | ;; Assembler buffer. | 1812 | ;; Assembler buffer. |
| @@ -1850,16 +1823,20 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1850 | 1823 | ||
| 1851 | (defun gdb-assembler-custom () | 1824 | (defun gdb-assembler-custom () |
| 1852 | (let ((buffer (gdb-get-buffer 'gdb-assembler-buffer)) | 1825 | (let ((buffer (gdb-get-buffer 'gdb-assembler-buffer)) |
| 1853 | (gdb-arrow-position 1) (address) (flag)) | 1826 | (pos 1) (address) (flag)) |
| 1854 | (with-current-buffer buffer | 1827 | (with-current-buffer buffer |
| 1855 | (if (not (equal gdb-current-address "main")) | 1828 | (if (not (equal gdb-current-address "main")) |
| 1856 | (progn | 1829 | (progn |
| 1857 | (gdb-remove-arrow) | ||
| 1858 | (goto-char (point-min)) | 1830 | (goto-char (point-min)) |
| 1859 | (if (re-search-forward gdb-current-address nil t) | 1831 | (if (re-search-forward gdb-current-address nil t) |
| 1860 | (progn | 1832 | (progn |
| 1861 | (setq gdb-arrow-position (point)) | 1833 | (setq pos (point)) |
| 1862 | (gdb-put-arrow "=>" (point)))))) | 1834 | (setq gdb-overlay-arrow-string "=>") |
| 1835 | (beginning-of-line) | ||
| 1836 | (or gdb-overlay-arrow-position | ||
| 1837 | (setq gdb-overlay-arrow-position (make-marker))) | ||
| 1838 | (set-marker gdb-overlay-arrow-position | ||
| 1839 | (point) (current-buffer)))))) | ||
| 1863 | ;; remove all breakpoint-icons in assembler buffer before updating. | 1840 | ;; remove all breakpoint-icons in assembler buffer before updating. |
| 1864 | (gdb-remove-breakpoint-icons (point-min) (point-max))) | 1841 | (gdb-remove-breakpoint-icons (point-min) (point-max))) |
| 1865 | (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) | 1842 | (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) |
| @@ -1880,7 +1857,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1880 | (if (re-search-forward address nil t) | 1857 | (if (re-search-forward address nil t) |
| 1881 | (gdb-put-breakpoint-icon (eq flag ?y)))))))) | 1858 | (gdb-put-breakpoint-icon (eq flag ?y)))))))) |
| 1882 | (if (not (equal gdb-current-address "main")) | 1859 | (if (not (equal gdb-current-address "main")) |
| 1883 | (set-window-point (get-buffer-window buffer) gdb-arrow-position)))) | 1860 | (set-window-point (get-buffer-window buffer) pos)))) |
| 1884 | 1861 | ||
| 1885 | (defvar gdb-assembler-mode-map | 1862 | (defvar gdb-assembler-mode-map |
| 1886 | (let ((map (make-sparse-keymap))) | 1863 | (let ((map (make-sparse-keymap))) |
| @@ -1893,6 +1870,8 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1893 | \\{gdb-assembler-mode-map}" | 1870 | \\{gdb-assembler-mode-map}" |
| 1894 | (setq major-mode 'gdb-assembler-mode) | 1871 | (setq major-mode 'gdb-assembler-mode) |
| 1895 | (setq mode-name "Machine") | 1872 | (setq mode-name "Machine") |
| 1873 | (push 'gdb-overlay-arrow-position overlay-arrow-variable-list) | ||
| 1874 | (setq gdb-overlay-arrow-position nil) | ||
| 1896 | (setq fringes-outside-margins t) | 1875 | (setq fringes-outside-margins t) |
| 1897 | (setq buffer-read-only t) | 1876 | (setq buffer-read-only t) |
| 1898 | (use-local-map gdb-assembler-mode-map) | 1877 | (use-local-map gdb-assembler-mode-map) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 60679f8250a..7fa3fb61ce5 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-03-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * message.el (message-mode): Set comment-start-skip. | ||
| 4 | |||
| 1 | 2004-02-08 Andreas Schwab <schwab@suse.de> | 5 | 2004-02-08 Andreas Schwab <schwab@suse.de> |
| 2 | 6 | ||
| 3 | * nnlistserv.el (nnlistserv-kk-wash-article): Fix paren nesting. | 7 | * nnlistserv.el (nnlistserv-kk-wash-article): Fix paren nesting. |
| @@ -30,8 +34,8 @@ | |||
| 30 | 34 | ||
| 31 | 2003-05-06 Jesper Harder <harder@ifa.au.dk> | 35 | 2003-05-06 Jesper Harder <harder@ifa.au.dk> |
| 32 | 36 | ||
| 33 | * gnus-cus.el (gnus-group-customize, gnus-score-parameters): Don't | 37 | * gnus-cus.el (gnus-group-customize, gnus-score-parameters): |
| 34 | quote nil and t in docstrings. | 38 | Don't quote nil and t in docstrings. |
| 35 | 39 | ||
| 36 | * gnus-score.el (gnus-score-lower-thread): Likewise. | 40 | * gnus-score.el (gnus-score-lower-thread): Likewise. |
| 37 | 41 | ||
| @@ -47,8 +51,7 @@ | |||
| 47 | 51 | ||
| 48 | 2003-02-18 Juanma Barranquero <lektu@terra.es> | 52 | 2003-02-18 Juanma Barranquero <lektu@terra.es> |
| 49 | 53 | ||
| 50 | * ietf-drums.el (ietf-drums-remove-whitespace): Fix character | 54 | * ietf-drums.el (ietf-drums-remove-whitespace): Fix character constant. |
| 51 | constant. | ||
| 52 | 55 | ||
| 53 | 2003-02-14 Juanma Barranquero <lektu@terra.es> | 56 | 2003-02-14 Juanma Barranquero <lektu@terra.es> |
| 54 | 57 | ||
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 8edb5142ddd..4c6284b6d85 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; message.el --- composing mail and news messages -*- coding: iso-latin-1 -*- | 1 | ;;; message.el --- composing mail and news messages -*- coding: iso-latin-1 -*- |
| 2 | ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 | 2 | ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004 |
| 3 | ;; Free Software Foundation, Inc. | 3 | ;; Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> | 5 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> |
| @@ -1531,7 +1531,10 @@ M-RET `message-newline-and-reformat' (break the line and reformat)." | |||
| 1531 | (set (make-local-variable 'message-mime-part) 0) | 1531 | (set (make-local-variable 'message-mime-part) 0) |
| 1532 | (message-setup-fill-variables) | 1532 | (message-setup-fill-variables) |
| 1533 | ;; Allow using comment commands to add/remove quoting. | 1533 | ;; Allow using comment commands to add/remove quoting. |
| 1534 | (set (make-local-variable 'comment-start) message-yank-prefix) | 1534 | (when message-yank-prefix |
| 1535 | (set (make-local-variable 'comment-start) message-yank-prefix) | ||
| 1536 | (set (make-local-variable 'comment-start-skip) | ||
| 1537 | (concat "^" (regexp-quote message-yank-prefix) "[ \t]*"))) | ||
| 1535 | ;;(when (fboundp 'mail-hist-define-keys) | 1538 | ;;(when (fboundp 'mail-hist-define-keys) |
| 1536 | ;; (mail-hist-define-keys)) | 1539 | ;; (mail-hist-define-keys)) |
| 1537 | (if (featurep 'xemacs) | 1540 | (if (featurep 'xemacs) |
diff --git a/lisp/help-at-pt.el b/lisp/help-at-pt.el index 3d01ed6d6b2..67a0af20359 100644 --- a/lisp/help-at-pt.el +++ b/lisp/help-at-pt.el | |||
| @@ -101,7 +101,7 @@ The value may be an integer or floating point number. | |||
| 101 | If a timer is already active, there are two ways to make the new | 101 | If a timer is already active, there are two ways to make the new |
| 102 | value take effect immediately. After setting the value, you can | 102 | value take effect immediately. After setting the value, you can |
| 103 | first call `help-at-pt-cancel-timer' and then set a new timer | 103 | first call `help-at-pt-cancel-timer' and then set a new timer |
| 104 | with `help-at-pt-set-timer' . Alternatively, you can set this | 104 | with `help-at-pt-set-timer'. Alternatively, you can set this |
| 105 | variable through Custom. This will not set a timer if none is | 105 | variable through Custom. This will not set a timer if none is |
| 106 | active, but if one is already active, Custom will make it use the | 106 | active, but if one is already active, Custom will make it use the |
| 107 | new value." | 107 | new value." |
diff --git a/lisp/hexl.el b/lisp/hexl.el index 413344fc375..40e3c929c59 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el | |||
| @@ -42,6 +42,8 @@ | |||
| 42 | 42 | ||
| 43 | ;;; Code: | 43 | ;;; Code: |
| 44 | 44 | ||
| 45 | (require 'eldoc) | ||
| 46 | |||
| 45 | ;; | 47 | ;; |
| 46 | ;; vars here | 48 | ;; vars here |
| 47 | ;; | 49 | ;; |
| @@ -236,6 +238,13 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode. | |||
| 236 | 238 | ||
| 237 | (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t) | 239 | (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t) |
| 238 | 240 | ||
| 241 | ;; Set a callback function for eldoc. | ||
| 242 | (set (make-variable-buffer-local 'eldoc-print-current-symbol-info-function) | ||
| 243 | 'hexl-print-current-point-info) | ||
| 244 | (eldoc-add-command-completions "hexl-") | ||
| 245 | (eldoc-remove-command "hexl-save-buffer" | ||
| 246 | "hexl-current-address") | ||
| 247 | |||
| 239 | (if hexl-follow-ascii (hexl-follow-ascii 1))) | 248 | (if hexl-follow-ascii (hexl-follow-ascii 1))) |
| 240 | (run-hooks 'hexl-mode-hook)) | 249 | (run-hooks 'hexl-mode-hook)) |
| 241 | 250 | ||
| @@ -361,9 +370,15 @@ Ask the user for confirmation." | |||
| 361 | (- current-column 41) | 370 | (- current-column 41) |
| 362 | (/ (- current-column (/ current-column 5)) 2)))) | 371 | (/ (- current-column (/ current-column 5)) 2)))) |
| 363 | (when (interactive-p) | 372 | (when (interactive-p) |
| 364 | (message "Current address is %d" hexl-address)) | 373 | (message "Current address is %d/0x%08x" hexl-address hexl-address)) |
| 365 | hexl-address)) | 374 | hexl-address)) |
| 366 | 375 | ||
| 376 | (defun hexl-print-current-point-info () | ||
| 377 | "Return current hexl-address in string. | ||
| 378 | This function is indented to be used as eldoc callback." | ||
| 379 | (let ((addr (hexl-current-address))) | ||
| 380 | (format "Current address is %d/0x%08x" addr addr))) | ||
| 381 | |||
| 367 | (defun hexl-address-to-marker (address) | 382 | (defun hexl-address-to-marker (address) |
| 368 | "Return buffer position for ADDRESS." | 383 | "Return buffer position for ADDRESS." |
| 369 | (interactive "nAddress: ") | 384 | (interactive "nAddress: ") |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 6eecd623cfd..91a2c34870d 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -301,6 +301,7 @@ Default value, nil, means edit the string instead." | |||
| 301 | ;; Nothing special for + because it matches at least once. | 301 | ;; Nothing special for + because it matches at least once. |
| 302 | (define-key map "*" 'isearch-*-char) | 302 | (define-key map "*" 'isearch-*-char) |
| 303 | (define-key map "?" 'isearch-*-char) | 303 | (define-key map "?" 'isearch-*-char) |
| 304 | (define-key map "{" 'isearch-{-char) | ||
| 304 | (define-key map "|" 'isearch-|-char) | 305 | (define-key map "|" 'isearch-|-char) |
| 305 | 306 | ||
| 306 | ;; Turned off because I find I expect to get the global definition--rms. | 307 | ;; Turned off because I find I expect to get the global definition--rms. |
| @@ -1186,21 +1187,30 @@ might return the position of the end of the line." | |||
| 1186 | (isearch-update)) | 1187 | (isearch-update)) |
| 1187 | 1188 | ||
| 1188 | 1189 | ||
| 1190 | (defun isearch-{-char () | ||
| 1191 | "Handle \{ specially in regexps." | ||
| 1192 | (interactive) | ||
| 1193 | (isearch-*-char t)) | ||
| 1194 | |||
| 1189 | ;; *, ?, and | chars can make a regexp more liberal. | 1195 | ;; *, ?, and | chars can make a regexp more liberal. |
| 1190 | ;; They can make a regexp match sooner or make it succeed instead of failing. | 1196 | ;; They can make a regexp match sooner or make it succeed instead of failing. |
| 1191 | ;; So go back to place last successful search started | 1197 | ;; So go back to place last successful search started |
| 1192 | ;; or to the last ^S/^R (barrier), whichever is nearer. | 1198 | ;; or to the last ^S/^R (barrier), whichever is nearer. |
| 1193 | ;; + needs no special handling because the string must match at least once. | 1199 | ;; + needs no special handling because the string must match at least once. |
| 1194 | 1200 | ||
| 1195 | (defun isearch-*-char () | 1201 | (defun isearch-*-char (&optional want-backslash) |
| 1196 | "Handle * and ? specially in regexps." | 1202 | "Handle * and ? specially in regexps. |
| 1203 | When WANT-BACKSLASH is non-nil, do special handling for \{." | ||
| 1197 | (interactive) | 1204 | (interactive) |
| 1198 | (if isearch-regexp | 1205 | (if isearch-regexp |
| 1199 | (let ((idx (length isearch-string))) | 1206 | (let ((idx (length isearch-string))) |
| 1200 | (while (and (> idx 0) | 1207 | (while (and (> idx 0) |
| 1201 | (eq (aref isearch-string (1- idx)) ?\\)) | 1208 | (eq (aref isearch-string (1- idx)) ?\\)) |
| 1202 | (setq idx (1- idx))) | 1209 | (setq idx (1- idx))) |
| 1203 | (when (= (mod (- (length isearch-string) idx) 2) 0) | 1210 | ;; * and ? are special when not preceded by \. |
| 1211 | ;; { is special when it is preceded by \. | ||
| 1212 | (when (= (mod (- (length isearch-string) idx) 2) | ||
| 1213 | (if want-backslash 1 0)) | ||
| 1204 | (setq isearch-adjusted t) | 1214 | (setq isearch-adjusted t) |
| 1205 | ;; Get the isearch-other-end from before the last search. | 1215 | ;; Get the isearch-other-end from before the last search. |
| 1206 | ;; We want to start from there, | 1216 | ;; We want to start from there, |
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el index 96a57b38f07..aecc87cf178 100644 --- a/lisp/mail/mail-utils.el +++ b/lisp/mail/mail-utils.el | |||
| @@ -108,11 +108,15 @@ we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=." | |||
| 108 | (apply 'concat (nreverse (cons (substring string i) strings)))))) | 108 | (apply 'concat (nreverse (cons (substring string i) strings)))))) |
| 109 | 109 | ||
| 110 | ;;;###autoload | 110 | ;;;###autoload |
| 111 | (defun mail-unquote-printable-region (beg end &optional wrapper noerror) | 111 | (defun mail-unquote-printable-region (beg end &optional wrapper noerror |
| 112 | unibyte) | ||
| 112 | "Undo the \"quoted printable\" encoding in buffer from BEG to END. | 113 | "Undo the \"quoted printable\" encoding in buffer from BEG to END. |
| 113 | If the optional argument WRAPPER is non-nil, | 114 | If the optional argument WRAPPER is non-nil, |
| 114 | we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=. | 115 | we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=. |
| 115 | If NOERROR is non-nil, return t if successful." | 116 | If NOERROR is non-nil, return t if successful. |
| 117 | If UNIBYTE is non-nil, insert converted characters as unibyte. | ||
| 118 | That is useful if you are going to character code decoding afterward, | ||
| 119 | as Rmail does." | ||
| 116 | (interactive "r\nP") | 120 | (interactive "r\nP") |
| 117 | (let (failed) | 121 | (let (failed) |
| 118 | (save-match-data | 122 | (save-match-data |
| @@ -131,13 +135,16 @@ If NOERROR is non-nil, return t if successful." | |||
| 131 | ((= (char-after (match-beginning 1)) ?=) | 135 | ((= (char-after (match-beginning 1)) ?=) |
| 132 | (replace-match "=")) | 136 | (replace-match "=")) |
| 133 | ((match-beginning 2) | 137 | ((match-beginning 2) |
| 134 | (replace-match | 138 | (let ((char (+ (* 16 (mail-unquote-printable-hexdigit |
| 135 | (make-string 1 | 139 | (char-after (match-beginning 2)))) |
| 136 | (+ (* 16 (mail-unquote-printable-hexdigit | 140 | (mail-unquote-printable-hexdigit |
| 137 | (char-after (match-beginning 2)))) | 141 | (char-after (1+ (match-beginning 2))))))) |
| 138 | (mail-unquote-printable-hexdigit | 142 | (if unibyte |
| 139 | (char-after (1+ (match-beginning 2)))))) | 143 | (progn |
| 140 | t t)) | 144 | (replace-match "") |
| 145 | ;; insert-char will insert this as unibyte, | ||
| 146 | (insert-char char 1)) | ||
| 147 | (replace-match (make-string 1 char) t t)))) | ||
| 141 | (noerror | 148 | (noerror |
| 142 | (setq failed t)) | 149 | (setq failed t)) |
| 143 | (t | 150 | (t |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 4090749d83e..c890ae6e6a0 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -1733,7 +1733,7 @@ It returns t if it got any new messages." | |||
| 1733 | (if quoted-printable-header-field-end | 1733 | (if quoted-printable-header-field-end |
| 1734 | (save-excursion | 1734 | (save-excursion |
| 1735 | (unless | 1735 | (unless |
| 1736 | (mail-unquote-printable-region header-end (point) nil t) | 1736 | (mail-unquote-printable-region header-end (point) nil t t) |
| 1737 | (message "Malformed MIME quoted-printable message")) | 1737 | (message "Malformed MIME quoted-printable message")) |
| 1738 | ;; Change "quoted-printable" to "8bit", | 1738 | ;; Change "quoted-printable" to "8bit", |
| 1739 | ;; to reflect the decoding we just did. | 1739 | ;; to reflect the decoding we just did. |
| @@ -1880,7 +1880,7 @@ It returns t if it got any new messages." | |||
| 1880 | (if quoted-printable-header-field-end | 1880 | (if quoted-printable-header-field-end |
| 1881 | (save-excursion | 1881 | (save-excursion |
| 1882 | (unless | 1882 | (unless |
| 1883 | (mail-unquote-printable-region header-end (point) nil t) | 1883 | (mail-unquote-printable-region header-end (point) nil t t) |
| 1884 | 1884 | ||
| 1885 | (message "Malformed MIME quoted-printable message")) | 1885 | (message "Malformed MIME quoted-printable message")) |
| 1886 | ;; Change "quoted-printable" to "8bit", | 1886 | ;; Change "quoted-printable" to "8bit", |
| @@ -1917,7 +1917,10 @@ It returns t if it got any new messages." | |||
| 1917 | (goto-char (point-min)) | 1917 | (goto-char (point-min)) |
| 1918 | (while (search-forward "\n\^_" nil t); single char | 1918 | (while (search-forward "\n\^_" nil t); single char |
| 1919 | (replace-match "\n^_")))); 2 chars: "^" and "_" | 1919 | (replace-match "\n^_")))); 2 chars: "^" and "_" |
| 1920 | (or (bolp) (newline)) ; in case we lost the final newline. | 1920 | ;; This is for malformed messages that don't end in newline. |
| 1921 | ;; There shouldn't be any, but some users say occasionally | ||
| 1922 | ;; there are some. | ||
| 1923 | (or (bolp) (newline)) | ||
| 1921 | (insert ?\^_) | 1924 | (insert ?\^_) |
| 1922 | (setq last-coding-system-used nil) | 1925 | (setq last-coding-system-used nil) |
| 1923 | (or rmail-enable-mime | 1926 | (or rmail-enable-mime |
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index c44ea46243a..932f52204c5 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; sendmail.el --- mail sending commands for Emacs. -*- byte-compile-dynamic: t -*- | 1 | ;;; sendmail.el --- mail sending commands for Emacs. -*- byte-compile-dynamic: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 86, 92, 93, 94, 95, 96, 98, 2000, 2001, 2002, 2003 | 3 | ;; Copyright (C) 1985, 86, 92, 93, 94, 95, 96, 98, 2000, 2001, 2002, 03, 2004 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -512,6 +512,9 @@ Turning on Mail mode runs the normal hooks `text-mode-hook' and | |||
| 512 | ;; Allow using comment commands to add/remove quoting (this only does | 512 | ;; Allow using comment commands to add/remove quoting (this only does |
| 513 | ;; anything if mail-yank-prefix is set to a non-nil value). | 513 | ;; anything if mail-yank-prefix is set to a non-nil value). |
| 514 | (set (make-local-variable 'comment-start) mail-yank-prefix) | 514 | (set (make-local-variable 'comment-start) mail-yank-prefix) |
| 515 | (if mail-yank-prefix | ||
| 516 | (set (make-local-variable 'comment-start-skip) | ||
| 517 | (concat "^" (regexp-quote mail-yank-prefix) "[ \t]*"))) | ||
| 515 | (make-local-variable 'adaptive-fill-regexp) | 518 | (make-local-variable 'adaptive-fill-regexp) |
| 516 | (setq adaptive-fill-regexp | 519 | (setq adaptive-fill-regexp |
| 517 | (concat "[ \t]*[-[:alnum:]]+>+[ \t]*\\|" | 520 | (concat "[ \t]*[-[:alnum:]]+>+[ \t]*\\|" |
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el index 92e837657f6..f9b90fbfc6a 100644 --- a/lisp/mouse-sel.el +++ b/lisp/mouse-sel.el | |||
| @@ -196,6 +196,9 @@ If nil, point will always be placed at the beginning of the region." | |||
| 196 | 196 | ||
| 197 | ;;=== User Command ======================================================== | 197 | ;;=== User Command ======================================================== |
| 198 | 198 | ||
| 199 | (defvar mouse-sel-has-been-enabled nil | ||
| 200 | "Non-nil if Mouse Sel mode has been enabled at least once.") | ||
| 201 | |||
| 199 | (defvar mouse-sel-original-bindings nil) | 202 | (defvar mouse-sel-original-bindings nil) |
| 200 | (defvar mouse-sel-original-interprogram-cut-function nil) | 203 | (defvar mouse-sel-original-interprogram-cut-function nil) |
| 201 | (defvar mouse-sel-original-interprogram-paste-function nil) | 204 | (defvar mouse-sel-original-interprogram-paste-function nil) |
| @@ -252,7 +255,8 @@ primary selection and region." | |||
| 252 | (setq mouse-sel-original-interprogram-cut-function | 255 | (setq mouse-sel-original-interprogram-cut-function |
| 253 | interprogram-cut-function | 256 | interprogram-cut-function |
| 254 | mouse-sel-original-interprogram-paste-function | 257 | mouse-sel-original-interprogram-paste-function |
| 255 | interprogram-paste-function) | 258 | interprogram-paste-function |
| 259 | mouse-sel-has-been-enabled t) | ||
| 256 | (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste) | 260 | (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste) |
| 257 | (setq interprogram-cut-function nil | 261 | (setq interprogram-cut-function nil |
| 258 | interprogram-paste-function nil)))) | 262 | interprogram-paste-function nil)))) |
| @@ -261,10 +265,13 @@ primary selection and region." | |||
| 261 | (remove-hook 'x-lost-selection-hooks 'mouse-sel-lost-selection-hook) | 265 | (remove-hook 'x-lost-selection-hooks 'mouse-sel-lost-selection-hook) |
| 262 | (dolist (binding mouse-sel-original-bindings) | 266 | (dolist (binding mouse-sel-original-bindings) |
| 263 | (global-set-key (car binding) (cdr binding))) | 267 | (global-set-key (car binding) (cdr binding))) |
| 264 | (setq interprogram-cut-function | 268 | ;; Restore the old values of these variables, |
| 265 | mouse-sel-original-interprogram-cut-function | 269 | ;; only if they were actually saved previously. |
| 266 | interprogram-paste-function | 270 | (if mouse-sel-has-been-enabled |
| 267 | mouse-sel-original-interprogram-paste-function))) | 271 | (setq interprogram-cut-function |
| 272 | mouse-sel-original-interprogram-cut-function | ||
| 273 | interprogram-paste-function | ||
| 274 | mouse-sel-original-interprogram-paste-function)))) | ||
| 268 | 275 | ||
| 269 | ;;=== Internal Variables/Constants ======================================== | 276 | ;;=== Internal Variables/Constants ======================================== |
| 270 | 277 | ||
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 5a25801458e..d590e8bb2a4 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -818,8 +818,8 @@ When called non-interactively, optional second argument NEW-WINDOW is | |||
| 818 | used instead of `browse-url-new-window-flag'." | 818 | used instead of `browse-url-new-window-flag'." |
| 819 | (interactive (browse-url-interactive-arg "URL: ")) | 819 | (interactive (browse-url-interactive-arg "URL: ")) |
| 820 | ;; URL encode any `confusing' characters in the URL. This needs to | 820 | ;; URL encode any `confusing' characters in the URL. This needs to |
| 821 | ;; include at least commas; presumably also close parens. | 821 | ;; include at least commas; presumably also close parens and dollars. |
| 822 | (while (string-match "[,)]" url) | 822 | (while (string-match "[,)$]" url) |
| 823 | (setq url (replace-match | 823 | (setq url (replace-match |
| 824 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) | 824 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) |
| 825 | (let* ((process-environment (browse-url-process-environment)) | 825 | (let* ((process-environment (browse-url-process-environment)) |
| @@ -889,8 +889,8 @@ When called non-interactively, optional second argument NEW-WINDOW is | |||
| 889 | used instead of `browse-url-new-window-flag'." | 889 | used instead of `browse-url-new-window-flag'." |
| 890 | (interactive (browse-url-interactive-arg "URL: ")) | 890 | (interactive (browse-url-interactive-arg "URL: ")) |
| 891 | ;; URL encode any `confusing' characters in the URL. This needs to | 891 | ;; URL encode any `confusing' characters in the URL. This needs to |
| 892 | ;; include at least commas; presumably also close parens. | 892 | ;; include at least commas; presumably also close parens and dollars. |
| 893 | (while (string-match "[,)]" url) | 893 | (while (string-match "[,)$]" url) |
| 894 | (setq url (replace-match | 894 | (setq url (replace-match |
| 895 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) | 895 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) |
| 896 | (let* ((process-environment (browse-url-process-environment)) | 896 | (let* ((process-environment (browse-url-process-environment)) |
| @@ -942,8 +942,8 @@ When called non-interactively, optional second argument NEW-WINDOW is | |||
| 942 | used instead of `browse-url-new-window-flag'." | 942 | used instead of `browse-url-new-window-flag'." |
| 943 | (interactive (browse-url-interactive-arg "URL: ")) | 943 | (interactive (browse-url-interactive-arg "URL: ")) |
| 944 | ;; URL encode any `confusing' characters in the URL. This needs to | 944 | ;; URL encode any `confusing' characters in the URL. This needs to |
| 945 | ;; include at least commas; presumably also close parens. | 945 | ;; include at least commas; presumably also close parens and dollars. |
| 946 | (while (string-match "[,)]" url) | 946 | (while (string-match "[,)$]" url) |
| 947 | (setq url (replace-match | 947 | (setq url (replace-match |
| 948 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) | 948 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) |
| 949 | (let* ((process-environment (browse-url-process-environment)) | 949 | (let* ((process-environment (browse-url-process-environment)) |
| @@ -991,8 +991,8 @@ When called non-interactively, optional second argument NEW-WINDOW is | |||
| 991 | used instead of `browse-url-new-window-flag'." | 991 | used instead of `browse-url-new-window-flag'." |
| 992 | (interactive (browse-url-interactive-arg "URL: ")) | 992 | (interactive (browse-url-interactive-arg "URL: ")) |
| 993 | ;; URL encode any `confusing' characters in the URL. This needs to | 993 | ;; URL encode any `confusing' characters in the URL. This needs to |
| 994 | ;; include at least commas; presumably also close parens. | 994 | ;; include at least commas; presumably also close parens and dollars. |
| 995 | (while (string-match "[,)]" url) | 995 | (while (string-match "[,)$]" url) |
| 996 | (setq url (replace-match | 996 | (setq url (replace-match |
| 997 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) | 997 | (format "%%%x" (string-to-char (match-string 0 url))) t t url))) |
| 998 | (let* ((process-environment (browse-url-process-environment)) | 998 | (let* ((process-environment (browse-url-process-environment)) |
diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 91943503f5e..1c9c0dfd4b6 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; newcomment.el --- (un)comment regions of buffers | 1 | ;;; newcomment.el --- (un)comment regions of buffers |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999,2000,2003 Free Software Foundation Inc. | 3 | ;; Copyright (C) 1999,2000,2003,2004 Free Software Foundation Inc. |
| 4 | 4 | ||
| 5 | ;; Author: code extracted from Emacs-20's simple.el | 5 | ;; Author: code extracted from Emacs-20's simple.el |
| 6 | ;; Maintainer: Stefan Monnier <monnier@cs.yale.edu> | 6 | ;; Maintainer: Stefan Monnier <monnier@cs.yale.edu> |
| @@ -251,8 +251,10 @@ this function before any other, so the rest of the code can assume that | |||
| 251 | the variables are properly set." | 251 | the variables are properly set." |
| 252 | (unless (and (not comment-start) noerror) | 252 | (unless (and (not comment-start) noerror) |
| 253 | (unless comment-start | 253 | (unless comment-start |
| 254 | (set (make-local-variable 'comment-start) | 254 | (let ((cs (read-string "No comment syntax is defined. Use: "))) |
| 255 | (read-string "No comment syntax is defined. Use: "))) | 255 | (if (zerop (length cs)) |
| 256 | (error "No comment syntax defined") | ||
| 257 | (set (make-local-variable 'comment-start) cs)))) | ||
| 256 | ;; comment-use-syntax | 258 | ;; comment-use-syntax |
| 257 | (when (eq comment-use-syntax 'undecided) | 259 | (when (eq comment-use-syntax 'undecided) |
| 258 | (set (make-local-variable 'comment-use-syntax) | 260 | (set (make-local-variable 'comment-use-syntax) |
| @@ -716,35 +718,9 @@ comment markers." | |||
| 716 | ;; Find the end of the comment. | 718 | ;; Find the end of the comment. |
| 717 | (ept (progn | 719 | (ept (progn |
| 718 | (goto-char spt) | 720 | (goto-char spt) |
| 719 | (unless | 721 | (unless (or (comment-forward) |
| 720 | (or | 722 | ;; Allow non-terminated comments. |
| 721 | (comment-forward) | 723 | (eobp)) |
| 722 | ;; Allow eob as comment-end instead of \n. | ||
| 723 | (and | ||
| 724 | (eobp) | ||
| 725 | (let ((s1 (aref (syntax-table) (char-after spt))) | ||
| 726 | (s2 (aref (syntax-table) | ||
| 727 | (or (char-after (1+ spt)) 0))) | ||
| 728 | (sn (aref (syntax-table) ?\n)) | ||
| 729 | (flag->b (car (string-to-syntax "> b"))) | ||
| 730 | (flag-1b (car (string-to-syntax " 1b"))) | ||
| 731 | (flag-2b (car (string-to-syntax " 2b")))) | ||
| 732 | (cond | ||
| 733 | ;; One-character comment-start terminated by | ||
| 734 | ;; \n. | ||
| 735 | ((and | ||
| 736 | (equal sn (string-to-syntax ">")) | ||
| 737 | (equal s1 (string-to-syntax "<"))) | ||
| 738 | (insert-char ?\n 1) | ||
| 739 | t) | ||
| 740 | ;; Two-character type b comment-start | ||
| 741 | ;; terminated by \n. | ||
| 742 | ((and | ||
| 743 | (= (logand (car sn) flag->b) flag->b) | ||
| 744 | (= (logand (car s1) flag-1b) flag-1b) | ||
| 745 | (= (logand (car s2) flag-2b) flag-2b)) | ||
| 746 | (insert-char ?\n 1) | ||
| 747 | t))))) | ||
| 748 | (error "Can't find the comment end")) | 724 | (error "Can't find the comment end")) |
| 749 | (point))) | 725 | (point))) |
| 750 | (box nil) | 726 | (box nil) |
diff --git a/lisp/pcvs-info.el b/lisp/pcvs-info.el index 6fa47b9e97c..52989e4c9c6 100644 --- a/lisp/pcvs-info.el +++ b/lisp/pcvs-info.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; pcvs-info.el --- internal representation of a fileinfo entry | 1 | ;;; pcvs-info.el --- internal representation of a fileinfo entry |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2004 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> | 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> |
| 6 | ;; Keywords: pcl-cvs | 7 | ;; Keywords: pcl-cvs |
| @@ -219,8 +220,8 @@ to confuse some users sometimes." | |||
| 219 | (file (cvs-fileinfo->file fileinfo)) | 220 | (file (cvs-fileinfo->file fileinfo)) |
| 220 | (default-directory (file-name-as-directory (expand-file-name dir))) | 221 | (default-directory (file-name-as-directory (expand-file-name dir))) |
| 221 | (files (directory-files "." nil | 222 | (files (directory-files "." nil |
| 222 | (concat "^" (regexp-quote cvs-bakprefix) | 223 | (concat "\\`" (regexp-quote cvs-bakprefix) |
| 223 | (regexp-quote file) "\\."))) | 224 | (regexp-quote file) "\\(\\.[0-9]+\\.[0-9]+\\)+\\'"))) |
| 224 | bf) | 225 | bf) |
| 225 | (dolist (f files bf) | 226 | (dolist (f files bf) |
| 226 | (when (and (file-readable-p f) | 227 | (when (and (file-readable-p f) |
diff --git a/lisp/printing.el b/lisp/printing.el index a9c1a925c94..6694805fcbd 100644 --- a/lisp/printing.el +++ b/lisp/printing.el | |||
| @@ -5,13 +5,13 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <vinicius@cpqd.com.br> | 6 | ;; Author: Vinicius Jose Latorre <vinicius@cpqd.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <vinicius@cpqd.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <vinicius@cpqd.com.br> |
| 8 | ;; Time-stamp: <2004/02/26 00:43:07 vinicius> | 8 | ;; Time-stamp: <2004/02/29 23:18:15 vinicius> |
| 9 | ;; Keywords: wp, print, PostScript | 9 | ;; Keywords: wp, print, PostScript |
| 10 | ;; Version: 6.7.2 | 10 | ;; Version: 6.7.2 |
| 11 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 11 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ |
| 12 | 12 | ||
| 13 | (defconst pr-version "6.7.2" | 13 | (defconst pr-version "6.7.2" |
| 14 | "printing.el, v 6.7.2 <2004/02/26 vinicius> | 14 | "printing.el, v 6.7.2 <2004/02/29 vinicius> |
| 15 | 15 | ||
| 16 | Please send all bug fixes and enhancements to | 16 | Please send all bug fixes and enhancements to |
| 17 | Vinicius Jose Latorre <vinicius@cpqd.com.br> | 17 | Vinicius Jose Latorre <vinicius@cpqd.com.br> |
| @@ -517,7 +517,7 @@ Please send all bug fixes and enhancements to | |||
| 517 | ;; 5 | Print >|---\ | |Despool... | | | 517 | ;; 5 | Print >|---\ | |Despool... | | |
| 518 | ;; 6 | Text Printer: name >|-\ | | +-----------+ | | 518 | ;; 6 | Text Printer: name >|-\ | | +-----------+ | |
| 519 | ;; +-----------------------------+ | | | +---------+ +------------+ | 519 | ;; +-----------------------------+ | | | +---------+ +------------+ |
| 520 | ;; III 7 |[ ]Landscape | | | \-|Directory| | As Is... | Ia | 520 | ;; III 7 |[ ]Landscape | | | \-|Directory| | No Prep... | Ia |
| 521 | ;; 8 |[ ]Print Header | | | |Buffer | +------------+ Ib | 521 | ;; 8 |[ ]Print Header | | | |Buffer | +------------+ Ib |
| 522 | ;; 9 |[ ]Print Header Frame | | | |Region | | name >|- C | 522 | ;; 9 |[ ]Print Header Frame | | | |Region | | name >|- C |
| 523 | ;; 10 |[ ]Line Number | | | +---------+ +------------+ | 523 | ;; 10 |[ ]Line Number | | | +---------+ +------------+ |
| @@ -581,8 +581,8 @@ Please send all bug fixes and enhancements to | |||
| 581 | ;; | 581 | ;; |
| 582 | ;; NOTE 2: There are the following options for PostScript file | 582 | ;; NOTE 2: There are the following options for PostScript file |
| 583 | ;; processing: | 583 | ;; processing: |
| 584 | ;; Ia. Print the file *as is*, that is, send it directly to | 584 | ;; Ia. Print the file *No Preprocessing*, that is, send it |
| 585 | ;; PostScript printer. | 585 | ;; directly to PostScript printer. |
| 586 | ;; Ib. PostScript utility processing selection. | 586 | ;; Ib. PostScript utility processing selection. |
| 587 | ;; See `pr-ps-utility-alist' and `pr-setting-database' for | 587 | ;; See `pr-ps-utility-alist' and `pr-setting-database' for |
| 588 | ;; documentation. | 588 | ;; documentation. |
| @@ -2415,7 +2415,7 @@ See `pr-ps-printer-alist'.") | |||
| 2415 | ["Other..." (pr-ps-mode-preview nil t) | 2415 | ["Other..." (pr-ps-mode-preview nil t) |
| 2416 | :keys "\\[pr-ps-mode-preview]"]) | 2416 | :keys "\\[pr-ps-mode-preview]"]) |
| 2417 | ("File" | 2417 | ("File" |
| 2418 | ["As Is..." (call-interactively 'pr-ps-file-preview) | 2418 | ["No Preprocessing..." (call-interactively 'pr-ps-file-preview) |
| 2419 | :keys "\\[pr-ps-file-preview]" | 2419 | :keys "\\[pr-ps-file-preview]" |
| 2420 | :help "Preview PostScript file"] | 2420 | :help "Preview PostScript file"] |
| 2421 | "--" | 2421 | "--" |
| @@ -2470,7 +2470,7 @@ See `pr-ps-printer-alist'.") | |||
| 2470 | ["Other..." (pr-ps-mode-ps-print nil t) | 2470 | ["Other..." (pr-ps-mode-ps-print nil t) |
| 2471 | :keys "\\[pr-ps-mode-ps-print]"]) | 2471 | :keys "\\[pr-ps-mode-ps-print]"]) |
| 2472 | ("File" | 2472 | ("File" |
| 2473 | ["As Is..." (call-interactively 'pr-ps-file-ps-print) | 2473 | ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print) |
| 2474 | :keys "\\[pr-ps-file-ps-print]" | 2474 | :keys "\\[pr-ps-file-ps-print]" |
| 2475 | :help "Send PostScript file to printer"] | 2475 | :help "Send PostScript file to printer"] |
| 2476 | "--" | 2476 | "--" |
| @@ -2624,7 +2624,7 @@ See `pr-ps-printer-alist'.") | |||
| 2624 | ["Other..." (pr-ps-mode-preview nil t) | 2624 | ["Other..." (pr-ps-mode-preview nil t) |
| 2625 | :keys "\\[pr-ps-mode-preview]"]) | 2625 | :keys "\\[pr-ps-mode-preview]"]) |
| 2626 | ("File" | 2626 | ("File" |
| 2627 | ["As Is..." (call-interactively 'pr-ps-file-preview) | 2627 | ["No Preprocessing..." (call-interactively 'pr-ps-file-preview) |
| 2628 | :keys "\\[pr-ps-file-preview]"] | 2628 | :keys "\\[pr-ps-file-preview]"] |
| 2629 | "--" | 2629 | "--" |
| 2630 | ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist] | 2630 | ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist] |
| @@ -2672,7 +2672,7 @@ See `pr-ps-printer-alist'.") | |||
| 2672 | ["Other..." (pr-ps-mode-ps-print nil t) | 2672 | ["Other..." (pr-ps-mode-ps-print nil t) |
| 2673 | :keys "\\[pr-ps-mode-ps-print]"]) | 2673 | :keys "\\[pr-ps-mode-ps-print]"]) |
| 2674 | ("File" | 2674 | ("File" |
| 2675 | ["As Is..." (call-interactively 'pr-ps-file-ps-print) | 2675 | ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print) |
| 2676 | :keys "\\[pr-ps-file-ps-print]"] | 2676 | :keys "\\[pr-ps-file-ps-print]"] |
| 2677 | "--" | 2677 | "--" |
| 2678 | ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist] | 2678 | ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist] |
| @@ -2861,7 +2861,7 @@ II 4 | Printify >|-----\\ |File >|--\\ +--------+ | |||
| 2861 | 5 | Print >|---\\ | |Despool... | | | 2861 | 5 | Print >|---\\ | |Despool... | | |
| 2862 | 6 | Text Printer: name >|-\\ | | +-----------+ | | 2862 | 6 | Text Printer: name >|-\\ | | +-----------+ | |
| 2863 | +-----------------------------+ | | | +---------+ +------------+ | 2863 | +-----------------------------+ | | | +---------+ +------------+ |
| 2864 | III 7 |[ ]Landscape | | | \\-|Directory| | As Is... | Ia | 2864 | III 7 |[ ]Landscape | | | \\-|Directory| | No Prep... | Ia |
| 2865 | 8 |[ ]Print Header | | | |Buffer | +------------+ Ib | 2865 | 8 |[ ]Print Header | | | |Buffer | +------------+ Ib |
| 2866 | 9 |[ ]Print Header Frame | | | |Region | | name >|- C | 2866 | 9 |[ ]Print Header Frame | | | |Region | | name >|- C |
| 2867 | 10 |[ ]Line Number | | | +---------+ +------------+ | 2867 | 10 |[ ]Line Number | | | +---------+ +------------+ |
| @@ -2923,8 +2923,8 @@ I. PostScript printing: | |||
| 2923 | switch from gnus *Summary* buffer first. | 2923 | switch from gnus *Summary* buffer first. |
| 2924 | 2924 | ||
| 2925 | NOTE 2: There are the following options for PostScript file processing: | 2925 | NOTE 2: There are the following options for PostScript file processing: |
| 2926 | Ia. Print the file *as is*, that is, send it directly to | 2926 | Ia. Print the file *No Preprocessing*, that is, send it |
| 2927 | PostScript printer. | 2927 | directly to PostScript printer. |
| 2928 | Ib. PostScript utility processing selection. | 2928 | Ib. PostScript utility processing selection. |
| 2929 | See `pr-ps-utility-alist' and `pr-setting-database' for | 2929 | See `pr-ps-utility-alist' and `pr-setting-database' for |
| 2930 | documentation. | 2930 | documentation. |
| @@ -3130,7 +3130,7 @@ The printing interface buffer has the following sections: | |||
| 3130 | NOTE 2: Don't forget to download and install the utilities declared on | 3130 | NOTE 2: Don't forget to download and install the utilities declared on |
| 3131 | `pr-ps-utility-alist'. | 3131 | `pr-ps-utility-alist'. |
| 3132 | 3132 | ||
| 3133 | * Use It AS-IS : | 3133 | * No Preprocessing: |
| 3134 | If it's turned on, don't use the PostScript utility to preprocess the | 3134 | If it's turned on, don't use the PostScript utility to preprocess the |
| 3135 | PostScript file before printing/previewing. | 3135 | PostScript file before printing/previewing. |
| 3136 | 3136 | ||
| @@ -5752,9 +5752,8 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order." | |||
| 5752 | (pr-choice-alist pr-ps-utility-alist) | 5752 | (pr-choice-alist pr-ps-utility-alist) |
| 5753 | "\n PostScript Utility : " | 5753 | "\n PostScript Utility : " |
| 5754 | " ") | 5754 | " ") |
| 5755 | ;; 1c. PostScript File: Use It AS-IS | 5755 | ;; 1c. PostScript File: No Preprocessing |
| 5756 | (pr-insert-toggle 'pr-i-ps-as-is " Use It ") | 5756 | (pr-insert-toggle 'pr-i-ps-as-is " No Preprocessing")) |
| 5757 | (pr-insert-italic "AS-IS")) | ||
| 5758 | 5757 | ||
| 5759 | 5758 | ||
| 5760 | (defun pr-insert-section-2 () | 5759 | (defun pr-insert-section-2 () |
| @@ -5882,7 +5881,8 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order." | |||
| 5882 | (pr-insert-toggle 'pr-print-using-ghostscript " Print via Ghostscript\n ") | 5881 | (pr-insert-toggle 'pr-print-using-ghostscript " Print via Ghostscript\n ") |
| 5883 | 5882 | ||
| 5884 | ;; 4. Settings: Upside-Down Page Parity | 5883 | ;; 4. Settings: Upside-Down Page Parity |
| 5885 | (pr-insert-toggle 'ps-print-upside-down " Upside-Down ") | 5884 | (pr-insert-toggle 'ps-print-upside-down " Upside-Down") |
| 5885 | (pr-insert-italic "\n\nSelect Pages : " 2 14) | ||
| 5886 | (pr-insert-menu "Page Parity" 'ps-even-or-odd-pages | 5886 | (pr-insert-menu "Page Parity" 'ps-even-or-odd-pages |
| 5887 | (mapcar #'(lambda (alist) | 5887 | (mapcar #'(lambda (alist) |
| 5888 | (list 'quote | 5888 | (list 'quote |
diff --git a/lisp/progmodes/ebnf-iso.el b/lisp/progmodes/ebnf-iso.el index 148f23d2cab..0d9977d7084 100644 --- a/lisp/progmodes/ebnf-iso.el +++ b/lisp/progmodes/ebnf-iso.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 8 | ;; Time-stamp: <2004/02/22 14:24:55 vinicius> | 8 | ;; Time-stamp: <2004/02/29 18:31:33 vinicius> |
| 9 | ;; Keywords: wp, ebnf, PostScript | 9 | ;; Keywords: wp, ebnf, PostScript |
| 10 | ;; Version: 1.7 | 10 | ;; Version: 1.7 |
| 11 | 11 | ||
| @@ -113,7 +113,8 @@ | |||
| 113 | ;; ISO EBNF accepts the characters given by <character> production above, | 113 | ;; ISO EBNF accepts the characters given by <character> production above, |
| 114 | ;; HORIZONTAL TAB (^I), VERTICAL TAB (^K), NEWLINE (^J or ^M) and FORM FEED | 114 | ;; HORIZONTAL TAB (^I), VERTICAL TAB (^K), NEWLINE (^J or ^M) and FORM FEED |
| 115 | ;; (^L), any other characters are illegal. But ebnf2ps accepts also the | 115 | ;; (^L), any other characters are illegal. But ebnf2ps accepts also the |
| 116 | ;; european 8-bit accentuated characters (from \240 to \377) and underscore. | 116 | ;; european 8-bit accentuated characters (from \240 to \377) and underscore |
| 117 | ;; (_). | ||
| 117 | ;; | 118 | ;; |
| 118 | ;; | 119 | ;; |
| 119 | ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 120 | ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
diff --git a/lisp/progmodes/ebnf-otz.el b/lisp/progmodes/ebnf-otz.el index aae8906c384..5c98677c334 100644 --- a/lisp/progmodes/ebnf-otz.el +++ b/lisp/progmodes/ebnf-otz.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 8 | ;; Time-stamp: <2004/02/22 14:24:37 vinicius> | 8 | ;; Time-stamp: <2004/02/29 18:40:14 vinicius> |
| 9 | ;; Keywords: wp, ebnf, PostScript | 9 | ;; Keywords: wp, ebnf, PostScript |
| 10 | ;; Version: 1.0 | 10 | ;; Version: 1.0 |
| 11 | 11 | ||
| @@ -38,6 +38,46 @@ | |||
| 38 | ;; See ebnf2ps.el for documentation. | 38 | ;; See ebnf2ps.el for documentation. |
| 39 | ;; | 39 | ;; |
| 40 | ;; | 40 | ;; |
| 41 | ;; Optimizations | ||
| 42 | ;; ------------- | ||
| 43 | ;; | ||
| 44 | ;; | ||
| 45 | ;; *To be implemented*: | ||
| 46 | ;; left recursion: | ||
| 47 | ;; A = B | A C B | A C D. ==> A = B {C (B | D)}*. | ||
| 48 | ;; | ||
| 49 | ;; right recursion: | ||
| 50 | ;; A = B | C A. ==> A = {C}* B. | ||
| 51 | ;; A = B | D | C A | E A. ==> A = { C | E }* ( B | D ). | ||
| 52 | ;; | ||
| 53 | ;; optional: | ||
| 54 | ;; A = B | C B. ==> A = [C] B. | ||
| 55 | ;; A = B | B C. ==> A = B [C]. | ||
| 56 | ;; A = D | B D | B C D. ==> A = [B [C]] D. | ||
| 57 | ;; | ||
| 58 | ;; | ||
| 59 | ;; *Already implemented*: | ||
| 60 | ;; left recursion: | ||
| 61 | ;; A = B | A C. ==> A = B {C}*. | ||
| 62 | ;; A = B | A B. ==> A = {B}+. | ||
| 63 | ;; A = | A B. ==> A = {B}*. | ||
| 64 | ;; A = B | A C B. ==> A = {B || C}+. | ||
| 65 | ;; A = B | D | A C | A E. ==> A = ( B | D ) { C | E }*. | ||
| 66 | ;; | ||
| 67 | ;; optional: | ||
| 68 | ;; A = B | . ==> A = [B]. | ||
| 69 | ;; A = | B . ==> A = [B]. | ||
| 70 | ;; | ||
| 71 | ;; factoration: | ||
| 72 | ;; A = B C | B D. ==> A = B (C | D). | ||
| 73 | ;; A = C B | D B. ==> A = (C | D) B. | ||
| 74 | ;; A = B C E | B D E. ==> A = B (C | D) E. | ||
| 75 | ;; | ||
| 76 | ;; none: | ||
| 77 | ;; A = B | C | . ==> A = B | C | . | ||
| 78 | ;; A = B | C A D. ==> A = B | C A D. | ||
| 79 | ;; | ||
| 80 | ;; | ||
| 41 | ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 81 | ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 42 | 82 | ||
| 43 | ;;; Code: | 83 | ;;; Code: |
diff --git a/lisp/progmodes/ebnf-yac.el b/lisp/progmodes/ebnf-yac.el index 199e076ad61..ff097b5195d 100644 --- a/lisp/progmodes/ebnf-yac.el +++ b/lisp/progmodes/ebnf-yac.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 8 | ;; Time-stamp: <2004/02/22 14:24:17 vinicius> | 8 | ;; Time-stamp: <2004/02/29 20:23:29 vinicius> |
| 9 | ;; Keywords: wp, ebnf, PostScript | 9 | ;; Keywords: wp, ebnf, PostScript |
| 10 | ;; Version: 1.2.1 | 10 | ;; Version: 1.2.1 |
| 11 | 11 | ||
| @@ -68,7 +68,7 @@ | |||
| 68 | ;; Name = "[A-Za-z][A-Za-z0-9_.]*". | 68 | ;; Name = "[A-Za-z][A-Za-z0-9_.]*". |
| 69 | ;; | 69 | ;; |
| 70 | ;; Comment = "/*" "any character, but the sequence \"*/\"" "*/" | 70 | ;; Comment = "/*" "any character, but the sequence \"*/\"" "*/" |
| 71 | ;; | "//" "any character" "\\n". | 71 | ;; | "//" "any character, but the newline \"\\n\"" "\\n". |
| 72 | ;; | 72 | ;; |
| 73 | ;; | 73 | ;; |
| 74 | ;; In other words, a valid Name begins with a letter (upper or lower case) | 74 | ;; In other words, a valid Name begins with a letter (upper or lower case) |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index f765b37c76a..5635a1b17f7 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; sh-script.el --- shell-script editing commands for Emacs | 1 | ;;; sh-script.el --- shell-script editing commands for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 94, 95, 96, 97, 1999, 2001, 2003 | 3 | ;; Copyright (C) 1993, 94, 95, 96, 97, 1999, 2001, 03, 2004 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Daniel Pfeiffer <occitan@esperanto.org> | 6 | ;; Author: Daniel Pfeiffer <occitan@esperanto.org> |
| @@ -917,7 +917,7 @@ be indented (i.e. a <<- was used rather than just <<)." | |||
| 917 | ;; Skip through one pattern | 917 | ;; Skip through one pattern |
| 918 | (while | 918 | (while |
| 919 | (or (/= 0 (skip-syntax-backward "w_")) | 919 | (or (/= 0 (skip-syntax-backward "w_")) |
| 920 | (/= 0 (skip-chars-backward "?[]*/\\")) | 920 | (/= 0 (skip-chars-backward "?[]*@/\\")) |
| 921 | (and (sh-is-quoted-p (1- (point))) | 921 | (and (sh-is-quoted-p (1- (point))) |
| 922 | (goto-char (- (point) 2))) | 922 | (goto-char (- (point) 2))) |
| 923 | (when (memq (char-before) '(?\" ?\')) | 923 | (when (memq (char-before) '(?\" ?\')) |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index e49d5f5d251..7cf9ec86f4a 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; ps-print.el --- print text from the buffer as PostScript | 1 | ;;; ps-print.el --- print text from the buffer as PostScript |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | 3 | ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
| 4 | ;; 2003 Free Software Foundation, Inc. | 4 | ;; 2003, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Jim Thompson (was <thompson@wg2.waii.com>) | 6 | ;; Author: Jim Thompson (was <thompson@wg2.waii.com>) |
| 7 | ;; Jacques Duthen (was <duthen@cegelec-red.fr>) | 7 | ;; Jacques Duthen (was <duthen@cegelec-red.fr>) |
| @@ -10,12 +10,12 @@ | |||
| 10 | ;; Maintainer: Kenichi Handa <handa@etl.go.jp> (multi-byte characters) | 10 | ;; Maintainer: Kenichi Handa <handa@etl.go.jp> (multi-byte characters) |
| 11 | ;; Vinicius Jose Latorre <viniciusjl@ig.com.br> | 11 | ;; Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 12 | ;; Keywords: wp, print, PostScript | 12 | ;; Keywords: wp, print, PostScript |
| 13 | ;; Time-stamp: <2003/07/10 19:19:12 vinicius> | 13 | ;; Time-stamp: <2004/02/29 00:07:55 vinicius> |
| 14 | ;; Version: 6.6.2 | 14 | ;; Version: 6.6.3 |
| 15 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 15 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ |
| 16 | 16 | ||
| 17 | (defconst ps-print-version "6.6.2" | 17 | (defconst ps-print-version "6.6.3" |
| 18 | "ps-print.el, v 6.6.2 <2003/07/10 vinicius> | 18 | "ps-print.el, v 6.6.3 <2004/02/29 vinicius> |
| 19 | 19 | ||
| 20 | Vinicius's last change version -- this file may have been edited as part of | 20 | Vinicius's last change version -- this file may have been edited as part of |
| 21 | Emacs without changes to the version number. When reporting bugs, please also | 21 | Emacs without changes to the version number. When reporting bugs, please also |
| @@ -1213,6 +1213,9 @@ Please send all bug fixes and enhancements to | |||
| 1213 | ;; | 1213 | ;; |
| 1214 | ;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br> | 1214 | ;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 1215 | ;; | 1215 | ;; |
| 1216 | ;; 20040229 | ||
| 1217 | ;; `ps-time-stamp-yyyy-mm-dd', `ps-time-stamp-iso8601' | ||
| 1218 | ;; | ||
| 1216 | ;; 20010619 | 1219 | ;; 20010619 |
| 1217 | ;; `ps-time-stamp-locale-default' | 1220 | ;; `ps-time-stamp-locale-default' |
| 1218 | ;; | 1221 | ;; |
| @@ -1261,7 +1264,7 @@ Please send all bug fixes and enhancements to | |||
| 1261 | ;; | 1264 | ;; |
| 1262 | ;; [keinichi] 19990509 Kein'ichi Handa <handa@etl.go.jp> | 1265 | ;; [keinichi] 19990509 Kein'ichi Handa <handa@etl.go.jp> |
| 1263 | ;; | 1266 | ;; |
| 1264 | ;; `ps-print-region-function' | 1267 | ;; `ps-print-region-function' |
| 1265 | ;; | 1268 | ;; |
| 1266 | ;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br> | 1269 | ;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 1267 | ;; | 1270 | ;; |
| @@ -1274,7 +1277,7 @@ Please send all bug fixes and enhancements to | |||
| 1274 | ;; | 1277 | ;; |
| 1275 | ;; [keinichi] 19980819 Kein'ichi Handa <handa@etl.go.jp> | 1278 | ;; [keinichi] 19980819 Kein'ichi Handa <handa@etl.go.jp> |
| 1276 | ;; | 1279 | ;; |
| 1277 | ;; Multi-byte buffer handling. | 1280 | ;; Multi-byte buffer handling. |
| 1278 | ;; | 1281 | ;; |
| 1279 | ;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br> | 1282 | ;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 1280 | ;; | 1283 | ;; |
| @@ -1370,9 +1373,11 @@ Please send all bug fixes and enhancements to | |||
| 1370 | ;; Thanks to David X Callaway <dxc@xprt.net> for helping debugging PostScript | 1373 | ;; Thanks to David X Callaway <dxc@xprt.net> for helping debugging PostScript |
| 1371 | ;; level 1 compatibility. | 1374 | ;; level 1 compatibility. |
| 1372 | ;; | 1375 | ;; |
| 1373 | ;; Thanks to Colin Marquardt <colin.marquardt@usa.alcatel.com> for upside-down, | 1376 | ;; Thanks to Colin Marquardt <colin.marquardt@usa.alcatel.com> for: |
| 1374 | ;; line number step, line number start and zebra stripe follow suggestions, and | 1377 | ;; - upside-down, line number step, line number start and zebra stripe |
| 1375 | ;; for XEmacs beta-tests. | 1378 | ;; follow suggestions. |
| 1379 | ;; - `ps-time-stamp-yyyy-mm-dd' and `ps-time-stamp-iso8601' suggestion. | ||
| 1380 | ;; - and for XEmacs beta-tests. | ||
| 1376 | ;; | 1381 | ;; |
| 1377 | ;; Thanks to Klaus Berndl <klaus.berndl@sdm.de> for user defined PostScript | 1382 | ;; Thanks to Klaus Berndl <klaus.berndl@sdm.de> for user defined PostScript |
| 1378 | ;; prologue code suggestion, for odd/even printing suggestion and for | 1383 | ;; prologue code suggestion, for odd/even printing suggestion and for |
| @@ -3111,7 +3116,9 @@ delimiters '(' and ')'. | |||
| 3111 | For symbols with bound functions, the function is called and should return a | 3116 | For symbols with bound functions, the function is called and should return a |
| 3112 | string to be inserted into the array. For symbols with bound values, the value | 3117 | string to be inserted into the array. For symbols with bound values, the value |
| 3113 | should be a string to be inserted into the array. In either case, function or | 3118 | should be a string to be inserted into the array. In either case, function or |
| 3114 | variable, the string value has PostScript string delimiters added to it." | 3119 | variable, the string value has PostScript string delimiters added to it. |
| 3120 | |||
| 3121 | If symbols are unbounded, they are silently ignored." | ||
| 3115 | :type '(repeat (choice :menu-tag "Left Header" | 3122 | :type '(repeat (choice :menu-tag "Left Header" |
| 3116 | :tag "Left Header" | 3123 | :tag "Left Header" |
| 3117 | string symbol)) | 3124 | string symbol)) |
| @@ -3135,6 +3142,11 @@ There are the following basic functions implemented: | |||
| 3135 | 3142 | ||
| 3136 | `ps-time-stamp-mon-dd-yyyy' Return date as \"Jun 18 2001\". | 3143 | `ps-time-stamp-mon-dd-yyyy' Return date as \"Jun 18 2001\". |
| 3137 | 3144 | ||
| 3145 | `ps-time-stamp-yyyy-mm-dd' Return date as \"2001-06-18\" (ISO | ||
| 3146 | date). | ||
| 3147 | |||
| 3148 | `ps-time-stamp-iso8601' Alias for `ps-time-stamp-yyyy-mm-dd'. | ||
| 3149 | |||
| 3138 | You can also create your own time stamp function by using `format-time-string' | 3150 | You can also create your own time stamp function by using `format-time-string' |
| 3139 | \(which see)." | 3151 | \(which see)." |
| 3140 | :type '(repeat (choice :menu-tag "Right Header" | 3152 | :type '(repeat (choice :menu-tag "Right Header" |
| @@ -3157,7 +3169,9 @@ string literals should be delimited with PostScript string delimiters '(' and | |||
| 3157 | For symbols with bound functions, the function is called and should return a | 3169 | For symbols with bound functions, the function is called and should return a |
| 3158 | string to be inserted into the array. For symbols with bound values, the value | 3170 | string to be inserted into the array. For symbols with bound values, the value |
| 3159 | should be a string to be inserted into the array. In either case, function or | 3171 | should be a string to be inserted into the array. In either case, function or |
| 3160 | variable, the string value has PostScript string delimiters added to it." | 3172 | variable, the string value has PostScript string delimiters added to it. |
| 3173 | |||
| 3174 | If symbols are unbounded, they are silently ignored." | ||
| 3161 | :version "21.1" | 3175 | :version "21.1" |
| 3162 | :type '(repeat (choice :menu-tag "Left Footer" | 3176 | :type '(repeat (choice :menu-tag "Left Footer" |
| 3163 | :tag "Left Footer" | 3177 | :tag "Left Footer" |
| @@ -3182,6 +3196,11 @@ There are the following basic functions implemented: | |||
| 3182 | 3196 | ||
| 3183 | `ps-time-stamp-mon-dd-yyyy' Return date as \"Jun 18 2001\". | 3197 | `ps-time-stamp-mon-dd-yyyy' Return date as \"Jun 18 2001\". |
| 3184 | 3198 | ||
| 3199 | `ps-time-stamp-yyyy-mm-dd' Return date as \"2001-06-18\" (ISO | ||
| 3200 | date). | ||
| 3201 | |||
| 3202 | `ps-time-stamp-iso8601' Alias for `ps-time-stamp-yyyy-mm-dd'. | ||
| 3203 | |||
| 3185 | You can also create your own time stamp function by using `format-time-string' | 3204 | You can also create your own time stamp function by using `format-time-string' |
| 3186 | \(which see)." | 3205 | \(which see)." |
| 3187 | :version "21.1" | 3206 | :version "21.1" |
| @@ -3694,6 +3713,15 @@ It can be retrieved with `(ps-get ALIST-SYM KEY)'." | |||
| 3694 | (format-time-string "%b %d %Y")) | 3713 | (format-time-string "%b %d %Y")) |
| 3695 | 3714 | ||
| 3696 | 3715 | ||
| 3716 | (defun ps-time-stamp-yyyy-mm-dd () | ||
| 3717 | "Return date as \"2001-06-18\" (ISO date)." | ||
| 3718 | (format-time-string "%Y-%m-%d")) | ||
| 3719 | |||
| 3720 | |||
| 3721 | (defalias 'ps-time-stamp-iso8601 'ps-time-stamp-yyyy-mm-dd | ||
| 3722 | "Alias for `ps-time-stamp-yyyy-mm-dd' (which see).") | ||
| 3723 | |||
| 3724 | |||
| 3697 | (defun ps-time-stamp-hh:mm:ss () | 3725 | (defun ps-time-stamp-hh:mm:ss () |
| 3698 | "Return time as \"17:28:31\"." | 3726 | "Return time as \"17:28:31\"." |
| 3699 | (format-time-string "%T")) | 3727 | (format-time-string "%T")) |
| @@ -6608,10 +6636,12 @@ If FACE is not a valid face name, it is used default face." | |||
| 6608 | (defun ps-kill-emacs-check () | 6636 | (defun ps-kill-emacs-check () |
| 6609 | (let (ps-buffer) | 6637 | (let (ps-buffer) |
| 6610 | (and (setq ps-buffer (get-buffer ps-spool-buffer-name)) | 6638 | (and (setq ps-buffer (get-buffer ps-spool-buffer-name)) |
| 6639 | (buffer-name ps-buffer) ; check if it's not killed | ||
| 6611 | (buffer-modified-p ps-buffer) | 6640 | (buffer-modified-p ps-buffer) |
| 6612 | (y-or-n-p "Unprinted PostScript waiting; print now? ") | 6641 | (y-or-n-p "Unprinted PostScript waiting; print now? ") |
| 6613 | (ps-despool)) | 6642 | (ps-despool)) |
| 6614 | (and (setq ps-buffer (get-buffer ps-spool-buffer-name)) | 6643 | (and (setq ps-buffer (get-buffer ps-spool-buffer-name)) |
| 6644 | (buffer-name ps-buffer) ; check if it's not killed | ||
| 6615 | (buffer-modified-p ps-buffer) | 6645 | (buffer-modified-p ps-buffer) |
| 6616 | (not (yes-or-no-p "Unprinted PostScript waiting; exit anyway? ")) | 6646 | (not (yes-or-no-p "Unprinted PostScript waiting; exit anyway? ")) |
| 6617 | (error "Unprinted PostScript")))) | 6647 | (error "Unprinted PostScript")))) |
diff --git a/lisp/simple.el b/lisp/simple.el index d3e189dbe13..1f710576fa9 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -739,11 +739,11 @@ to get different commands to edit and resubmit." | |||
| 739 | This is used for all minibuffer input | 739 | This is used for all minibuffer input |
| 740 | except when an alternate history list is specified.") | 740 | except when an alternate history list is specified.") |
| 741 | (defvar minibuffer-history-sexp-flag nil | 741 | (defvar minibuffer-history-sexp-flag nil |
| 742 | "Non-nil when doing history operations on the variable `command-history'. | 742 | "Control whether history list elements are expressions or strings. |
| 743 | More generally, indicates that the history list being acted on | 743 | If the value of this variable equals current minibuffer depth, |
| 744 | contains expressions rather than strings. | 744 | they are expressions; otherwise they are strings. |
| 745 | It is only valid if its value equals the current minibuffer depth, | 745 | \(That convention is designed to do the right thing fora |
| 746 | to handle recursive uses of the minibuffer.") | 746 | recursive uses of the minibuffer.)") |
| 747 | (setq minibuffer-history-variable 'minibuffer-history) | 747 | (setq minibuffer-history-variable 'minibuffer-history) |
| 748 | (setq minibuffer-history-position nil) | 748 | (setq minibuffer-history-position nil) |
| 749 | (defvar minibuffer-history-search-history nil) | 749 | (defvar minibuffer-history-search-history nil) |
| @@ -972,9 +972,13 @@ as an argument limits undo to changes within the current region." | |||
| 972 | ;; another undo command will find the undo history empty | 972 | ;; another undo command will find the undo history empty |
| 973 | ;; and will get another error. To begin undoing the undos, | 973 | ;; and will get another error. To begin undoing the undos, |
| 974 | ;; you must type some other command. | 974 | ;; you must type some other command. |
| 975 | (setq this-command 'undo) | ||
| 976 | (let ((modified (buffer-modified-p)) | 975 | (let ((modified (buffer-modified-p)) |
| 977 | (recent-save (recent-auto-save-p))) | 976 | (recent-save (recent-auto-save-p))) |
| 977 | ;; If we get an error in undo-start, | ||
| 978 | ;; the next command should not be a "consecutive undo". | ||
| 979 | ;; So set `this-command' to something other than `undo'. | ||
| 980 | (setq this-command 'undo-start) | ||
| 981 | |||
| 978 | (unless (eq last-command 'undo) | 982 | (unless (eq last-command 'undo) |
| 979 | (setq undo-in-region | 983 | (setq undo-in-region |
| 980 | (if transient-mark-mode mark-active (and arg (not (numberp arg))))) | 984 | (if transient-mark-mode mark-active (and arg (not (numberp arg))))) |
| @@ -983,6 +987,8 @@ as an argument limits undo to changes within the current region." | |||
| 983 | (undo-start)) | 987 | (undo-start)) |
| 984 | ;; get rid of initial undo boundary | 988 | ;; get rid of initial undo boundary |
| 985 | (undo-more 1)) | 989 | (undo-more 1)) |
| 990 | ;; If we got this far, the next command should be a consecutive undo. | ||
| 991 | (setq this-command 'undo) | ||
| 986 | ;; Check to see whether we're hitting a redo record, and if | 992 | ;; Check to see whether we're hitting a redo record, and if |
| 987 | ;; so, ask the user whether she wants to skip the redo/undo pair. | 993 | ;; so, ask the user whether she wants to skip the redo/undo pair. |
| 988 | (let ((equiv (gethash pending-undo-list undo-equiv-table))) | 994 | (let ((equiv (gethash pending-undo-list undo-equiv-table))) |
| @@ -2239,7 +2245,10 @@ even beep.)" | |||
| 2239 | (save-excursion | 2245 | (save-excursion |
| 2240 | (end-of-visible-line) (point)))) | 2246 | (end-of-visible-line) (point)))) |
| 2241 | (if (or (save-excursion | 2247 | (if (or (save-excursion |
| 2242 | (skip-chars-forward " \t" end) | 2248 | ;; If trailing whitespace is visible, |
| 2249 | ;; don't treat it as nothing. | ||
| 2250 | (unless show-trailing-whitespace | ||
| 2251 | (skip-chars-forward " \t" end)) | ||
| 2243 | (= (point) end)) | 2252 | (= (point) end)) |
| 2244 | (and kill-whole-line (bolp))) | 2253 | (and kill-whole-line (bolp))) |
| 2245 | (forward-visible-line 1) | 2254 | (forward-visible-line 1) |
diff --git a/lisp/sort.el b/lisp/sort.el index 541f598e7a5..76559f17288 100644 --- a/lisp/sort.el +++ b/lisp/sort.el | |||
| @@ -480,19 +480,30 @@ Use \\[untabify] to convert tabs to spaces before sorting." | |||
| 480 | (setq col-end (max col-beg1 col-end1)) | 480 | (setq col-end (max col-beg1 col-end1)) |
| 481 | (if (search-backward "\t" beg1 t) | 481 | (if (search-backward "\t" beg1 t) |
| 482 | (error "sort-columns does not work with tabs -- use M-x untabify")) | 482 | (error "sort-columns does not work with tabs -- use M-x untabify")) |
| 483 | (if (not (or (eq system-type 'vax-vms) | 483 | (if (not (or (memq system-type '(vax-vms windows-nt ms-dos)) |
| 484 | (text-properties-at beg1) | 484 | (let ((pos beg1) plist fontified) |
| 485 | (< (next-property-change beg1 nil end1) end1))) | 485 | (catch 'found |
| 486 | (while (< pos end1) | ||
| 487 | (setq plist (text-properties-at pos)) | ||
| 488 | (setq fontified (plist-get plist 'fontified)) | ||
| 489 | (while (consp plist) | ||
| 490 | (unless (or (eq (car plist) 'fontified) | ||
| 491 | (and (eq (car plist) 'face) | ||
| 492 | fontified)) | ||
| 493 | (throw 'found t)) | ||
| 494 | (setq plist (cddr plist))) | ||
| 495 | (setq pos (next-property-change pos nil end1))))))) | ||
| 486 | ;; Use the sort utility if we can; it is 4 times as fast. | 496 | ;; Use the sort utility if we can; it is 4 times as fast. |
| 487 | ;; Do not use it if there are any properties in the region, | 497 | ;; Do not use it if there are any non-font-lock properties |
| 488 | ;; since the sort utility would lose the properties. | 498 | ;; in the region, since the sort utility would lose the |
| 499 | ;; properties. | ||
| 489 | (let ((sort-args (list (if reverse "-rt\n" "-t\n") | 500 | (let ((sort-args (list (if reverse "-rt\n" "-t\n") |
| 490 | (concat "+0." (int-to-string col-start)) | 501 | (concat "+0." (int-to-string col-start)) |
| 491 | (concat "-0." (int-to-string col-end))))) | 502 | (concat "-0." (int-to-string col-end))))) |
| 492 | (when sort-fold-case | 503 | (when sort-fold-case |
| 493 | (push "-f" sort-args)) | 504 | (push "-f" sort-args)) |
| 494 | (apply #'call-process-region beg1 end1 "sort" t t nil sort-args)) | 505 | (apply #'call-process-region beg1 end1 "sort" t t nil sort-args)) |
| 495 | ;; On VMS, use Emacs's own facilities. | 506 | ;; On VMS and ms-windows, use Emacs's own facilities. |
| 496 | (save-excursion | 507 | (save-excursion |
| 497 | (save-restriction | 508 | (save-restriction |
| 498 | (narrow-to-region beg1 end1) | 509 | (narrow-to-region beg1 end1) |
diff --git a/lisp/startup.el b/lisp/startup.el index e79ea4407b1..3186c8a3c27 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -83,8 +83,8 @@ the startup message unless he personally acts to inhibit it." | |||
| 83 | (defvar command-switch-alist nil | 83 | (defvar command-switch-alist nil |
| 84 | "Alist of command-line switches. | 84 | "Alist of command-line switches. |
| 85 | Elements look like (SWITCH-STRING . HANDLER-FUNCTION). | 85 | Elements look like (SWITCH-STRING . HANDLER-FUNCTION). |
| 86 | HANDLER-FUNCTION receives switch name as sole arg; | 86 | HANDLER-FUNCTION receives the switch string as its sole argument; |
| 87 | remaining command-line args are in the variable `command-line-args-left'.") | 87 | the remaining command-line args are in the variable `command-line-args-left'.") |
| 88 | 88 | ||
| 89 | (defvar command-line-args-left nil | 89 | (defvar command-line-args-left nil |
| 90 | "List of command-line args not yet processed.") | 90 | "List of command-line args not yet processed.") |
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 5aded4a85e8..7a794d67c5e 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; fill.el --- fill commands for Emacs | 1 | ;;; fill.el --- fill commands for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985,86,92,94,95,96,97,1999,2001,02,2003 | 3 | ;; Copyright (C) 1985,86,92,94,95,96,97,1999,2001,02,03,2004 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -732,7 +732,7 @@ If `fill-paragraph-function' is nil, return the `fill-prefix' used for filling." | |||
| 732 | ;; Then try our syntax-aware filling code. | 732 | ;; Then try our syntax-aware filling code. |
| 733 | (and fill-paragraph-handle-comment | 733 | (and fill-paragraph-handle-comment |
| 734 | ;; Our code only handles \n-terminated comments right now. | 734 | ;; Our code only handles \n-terminated comments right now. |
| 735 | comment-start comment-start-skip (equal comment-end "") | 735 | comment-start (equal comment-end "") |
| 736 | (let ((fill-paragraph-handle-comment nil)) | 736 | (let ((fill-paragraph-handle-comment nil)) |
| 737 | (fill-comment-paragraph arg))) | 737 | (fill-comment-paragraph arg))) |
| 738 | ;; If it all fails, default to the good ol' text paragraph filling. | 738 | ;; If it all fails, default to the good ol' text paragraph filling. |
| @@ -822,7 +822,11 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." | |||
| 822 | (looking-at comment-re))) | 822 | (looking-at comment-re))) |
| 823 | ;; We may have gone too far. Go forward again. | 823 | ;; We may have gone too far. Go forward again. |
| 824 | (line-beginning-position | 824 | (line-beginning-position |
| 825 | (if (looking-at (concat ".*\\(?:" comment-start-skip "\\)")) | 825 | (if (progn |
| 826 | (goto-char | ||
| 827 | (or (comment-search-forward (line-end-position) t) | ||
| 828 | (point))) | ||
| 829 | (looking-at comment-re)) | ||
| 826 | 1 2)))) | 830 | 1 2)))) |
| 827 | ;; Find the beginning of the first line past the region to fill. | 831 | ;; Find the beginning of the first line past the region to fill. |
| 828 | (save-excursion | 832 | (save-excursion |
diff --git a/lisp/xml.el b/lisp/xml.el index dbd991f5583..61a79b37104 100644 --- a/lisp/xml.el +++ b/lisp/xml.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; xml.el --- XML parser | 1 | ;;; xml.el --- XML parser |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 01, 03, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Emmanuel Briot <briot@gnat.com> | 5 | ;; Author: Emmanuel Briot <briot@gnat.com> |
| 6 | ;; Maintainer: Mark A. Hershberger <mah@everybody.org> | 6 | ;; Maintainer: Mark A. Hershberger <mah@everybody.org> |
| @@ -109,10 +109,7 @@ CHILD-NAME should be a lower case symbol." | |||
| 109 | Return `nil' if the attribute was not found. | 109 | Return `nil' if the attribute was not found. |
| 110 | 110 | ||
| 111 | See also `xml-get-attribute'." | 111 | See also `xml-get-attribute'." |
| 112 | (when (xml-node-attributes node) | 112 | (cdr (assoc attribute (xml-node-attributes node)))) |
| 113 | (let ((value (assoc attribute (xml-node-attributes node)))) | ||
| 114 | (when value | ||
| 115 | (cdr value))))) | ||
| 116 | 113 | ||
| 117 | (defsubst xml-get-attribute (node attribute) | 114 | (defsubst xml-get-attribute (node attribute) |
| 118 | "Get from NODE the value of ATTRIBUTE. | 115 | "Get from NODE the value of ATTRIBUTE. |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index c71a5ad2b2f..01ab3c1bd8c 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2004-03-04 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * processes.texi: Fix typos. | ||
| 4 | |||
| 5 | * lists.texi (Building Lists): Minor clarification. | ||
| 6 | |||
| 7 | * hash.texi (Creating Hash): Correct the meaning of t for WEAK | ||
| 8 | in make-hash-table. | ||
| 9 | |||
| 1 | 2004-02-29 Juanma Barranquero <lektu@terra.es> | 10 | 2004-02-29 Juanma Barranquero <lektu@terra.es> |
| 2 | 11 | ||
| 3 | * makefile.w32-in (clean, maintainer-clean): Use $(DEL) instead of | 12 | * makefile.w32-in (clean, maintainer-clean): Use $(DEL) instead of |
diff --git a/lispref/abbrevs.texi b/lispref/abbrevs.texi index 33ebecd70e5..ff6cdf77c2e 100644 --- a/lispref/abbrevs.texi +++ b/lispref/abbrevs.texi | |||
| @@ -288,12 +288,12 @@ expansion. | |||
| 288 | @end defopt | 288 | @end defopt |
| 289 | 289 | ||
| 290 | @defvar abbrev-start-location | 290 | @defvar abbrev-start-location |
| 291 | This is a marker pointing to the buffer position for | 291 | The value of this variable is a marker pointing to the buffer position |
| 292 | @code{expand-abbrev} to use as the start of the next abbrev to be | 292 | for @code{expand-abbrev} to use as the start of the next abbrev to be |
| 293 | expanded. (@code{nil} means use the word before point instead.) | 293 | expanded. The value can also be @code{nil}, which means to use the |
| 294 | @code{abbrev-start-location} is set to @code{nil} each time | 294 | word before point instead. @code{abbrev-start-location} is set to |
| 295 | @code{expand-abbrev} is called. This variable is also set by | 295 | @code{nil} each time @code{expand-abbrev} is called. This variable is |
| 296 | @code{abbrev-prefix-mark}. | 296 | also set by @code{abbrev-prefix-mark}. |
| 297 | @end defvar | 297 | @end defvar |
| 298 | 298 | ||
| 299 | @defvar abbrev-start-location-buffer | 299 | @defvar abbrev-start-location-buffer |
diff --git a/lispref/hash.texi b/lispref/hash.texi index 3c4cb4df19c..bf4555d3903 100644 --- a/lispref/hash.texi +++ b/lispref/hash.texi | |||
| @@ -98,7 +98,7 @@ value in the hash table preserves it from garbage collection. | |||
| 98 | 98 | ||
| 99 | The value, @var{weak}, must be one of @code{nil}, @code{key}, | 99 | The value, @var{weak}, must be one of @code{nil}, @code{key}, |
| 100 | @code{value}, @code{key-or-value}, @code{key-and-value}, or @code{t} | 100 | @code{value}, @code{key-or-value}, @code{key-and-value}, or @code{t} |
| 101 | which is an alias for @code{key-or-value}. If @var{weak} is @code{key} | 101 | which is an alias for @code{key-and-value}. If @var{weak} is @code{key} |
| 102 | then the hash table does not prevent its keys from being collected as | 102 | then the hash table does not prevent its keys from being collected as |
| 103 | garbage (if they are not referenced anywhere else); if a particular key | 103 | garbage (if they are not referenced anywhere else); if a particular key |
| 104 | does get collected, the corresponding association is removed from the | 104 | does get collected, the corresponding association is removed from the |
diff --git a/lispref/lists.texi b/lispref/lists.texi index e3891f81971..41b3918de06 100644 --- a/lispref/lists.texi +++ b/lispref/lists.texi | |||
| @@ -448,11 +448,11 @@ interesting to note that @code{list} is used more times in the source | |||
| 448 | code for Emacs than @code{cons}. | 448 | code for Emacs than @code{cons}. |
| 449 | 449 | ||
| 450 | @defun cons object1 object2 | 450 | @defun cons object1 object2 |
| 451 | This function is the fundamental function for building new list | 451 | This function is the most basic function for building new list |
| 452 | structure. It creates a new cons cell, making @var{object1} the | 452 | structure. It creates a new cons cell, making @var{object1} the |
| 453 | @sc{car}, and @var{object2} the @sc{cdr}. It then returns the new cons | 453 | @sc{car}, and @var{object2} the @sc{cdr}. It then returns the new |
| 454 | cell. The arguments @var{object1} and @var{object2} may be any Lisp | 454 | cons cell. The arguments @var{object1} and @var{object2} may be any |
| 455 | objects, but most often @var{object2} is a list. | 455 | Lisp objects, but most often @var{object2} is a list. |
| 456 | 456 | ||
| 457 | @example | 457 | @example |
| 458 | @group | 458 | @group |
diff --git a/lispref/markers.texi b/lispref/markers.texi index 7f4ab1d2b78..859edb0b6b8 100644 --- a/lispref/markers.texi +++ b/lispref/markers.texi | |||
| @@ -337,9 +337,10 @@ text is inserted at its position. If @var{type} is @code{nil}, | |||
| 337 | This function reports the current insertion type of @var{marker}. | 337 | This function reports the current insertion type of @var{marker}. |
| 338 | @end defun | 338 | @end defun |
| 339 | 339 | ||
| 340 | Most functions that create markers, without explicitly specifying an | 340 | Most functions that create markers, without an argument allowing to |
| 341 | insertion type, create them with insertion type @code{nil}. Also, the | 341 | specify the insertion type, create them with insertion type |
| 342 | mark has, by default, insertion type @code{nil}. | 342 | @code{nil}. Also, the mark has, by default, insertion type |
| 343 | @code{nil}. | ||
| 343 | 344 | ||
| 344 | @node Moving Markers | 345 | @node Moving Markers |
| 345 | @section Moving Marker Positions | 346 | @section Moving Marker Positions |
diff --git a/lispref/processes.texi b/lispref/processes.texi index c76261908d7..7a7c19eef9f 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi | |||
| @@ -382,7 +382,7 @@ inputinput@point{} | |||
| 382 | 382 | ||
| 383 | @defun call-process-shell-command command &optional infile destination display &rest args | 383 | @defun call-process-shell-command command &optional infile destination display &rest args |
| 384 | This function executes the shell command @var{command} synchronously | 384 | This function executes the shell command @var{command} synchronously |
| 385 | in separate process. The final arguments @var{args} are additional | 385 | in a separate process. The final arguments @var{args} are additional |
| 386 | arguments to add at the end of @var{command}. The other arguments | 386 | arguments to add at the end of @var{command}. The other arguments |
| 387 | are handled as in @code{call-process}. | 387 | are handled as in @code{call-process}. |
| 388 | @end defun | 388 | @end defun |
| @@ -1512,7 +1512,7 @@ and @code{failed}. For a network server, the status is always | |||
| 1512 | @code{listen}. None of those values is possible for a real | 1512 | @code{listen}. None of those values is possible for a real |
| 1513 | subprocess. @xref{Process Information}. | 1513 | subprocess. @xref{Process Information}. |
| 1514 | 1514 | ||
| 1515 | You can stop and resume operation of a network processes by calling | 1515 | You can stop and resume operation of a network process by calling |
| 1516 | @code{stop-process} and @code{continue-process}. For a server | 1516 | @code{stop-process} and @code{continue-process}. For a server |
| 1517 | process, being stopped means not accepting new connections. (Up to 5 | 1517 | process, being stopped means not accepting new connections. (Up to 5 |
| 1518 | connection requests will be queued for when you resume the server; you | 1518 | connection requests will be queued for when you resume the server; you |
| @@ -1667,10 +1667,10 @@ meaning ask the system to allocate an unused port to listen on. | |||
| 1667 | @section Datagrams | 1667 | @section Datagrams |
| 1668 | @cindex datagrams | 1668 | @cindex datagrams |
| 1669 | 1669 | ||
| 1670 | A datagram connection communicates with individual packets | 1670 | A datagram connection communicates with individual packets rather |
| 1671 | rather than streams of data. Each call to @code{process-send} | 1671 | than streams of data. Each call to @code{process-send} sends one |
| 1672 | sends one datagram packet, and each datagram received results | 1672 | datagram packet (@pxref{Input to Processes}), and each datagram |
| 1673 | in one call to the filter function. | 1673 | received results in one call to the filter function. |
| 1674 | 1674 | ||
| 1675 | The datagram connection doesn't have to talk with the same remote | 1675 | The datagram connection doesn't have to talk with the same remote |
| 1676 | peer all the time. It has a @dfn{remote peer address} which specifies | 1676 | peer all the time. It has a @dfn{remote peer address} which specifies |
| @@ -1771,10 +1771,10 @@ in the local address space. | |||
| 1771 | @item | 1771 | @item |
| 1772 | An ``unsupported family'' address is represented by a cons | 1772 | An ``unsupported family'' address is represented by a cons |
| 1773 | @code{(@var{f} . @var{av})}, where @var{f} is the family number and | 1773 | @code{(@var{f} . @var{av})}, where @var{f} is the family number and |
| 1774 | @var{av} is a vector specifying the socket address using with one | 1774 | @var{av} is a vector specifying the socket address using one element |
| 1775 | element per address data byte. Do not rely on this format in portable | 1775 | per address data byte. Do not rely on this format in portable code, |
| 1776 | code, as it may depend on implementation defined constants, data | 1776 | as it may depend on implementation defined constants, data sizes, and |
| 1777 | sizes, and data structure alignment. | 1777 | data structure alignment. |
| 1778 | @end itemize | 1778 | @end itemize |
| 1779 | 1779 | ||
| 1780 | @item :nowait @var{bool} | 1780 | @item :nowait @var{bool} |
diff --git a/man/ChangeLog b/man/ChangeLog index a43729904a8..c949d6f2fea 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2004-03-04 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * search.texi (Regexps): Explain that ^ and $ have their | ||
| 4 | special meanings only in certain contexts. | ||
| 5 | |||
| 6 | * programs.texi (Expressions): Doc C-M-SPC as alias for C-M-@. | ||
| 7 | |||
| 8 | * mule.texi (Specify Coding): Doc C-x RET F. | ||
| 9 | |||
| 10 | * buffers.texi (Misc Buffer): Explain use of M-x rename-uniquely | ||
| 11 | for multiple compile and grep buffers. | ||
| 12 | (Indirect Buffers): Don't recommand clone-indirect-buffer | ||
| 13 | for multiple compile and grep buffers. | ||
| 14 | |||
| 1 | 2004-02-29 Simon Josefsson <jas@extundo.com> | 15 | 2004-02-29 Simon Josefsson <jas@extundo.com> |
| 2 | 16 | ||
| 3 | * smtpmail.texi (Authentication): Changed the list of supported | 17 | * smtpmail.texi (Authentication): Changed the list of supported |
diff --git a/man/buffers.texi b/man/buffers.texi index b03209cd01c..7f4c4f3f39e 100644 --- a/man/buffers.texi +++ b/man/buffers.texi | |||
| @@ -217,14 +217,18 @@ the new name as a minibuffer argument. There is no default. If you | |||
| 217 | specify a name that is in use for some other buffer, an error happens and | 217 | specify a name that is in use for some other buffer, an error happens and |
| 218 | no renaming is done. | 218 | no renaming is done. |
| 219 | 219 | ||
| 220 | @kbd{M-x rename-uniquely} renames the current buffer to a similar name | 220 | @kbd{M-x rename-uniquely} renames the current buffer to a similar |
| 221 | with a numeric suffix added to make it both different and unique. This | 221 | name with a numeric suffix added to make it both different and unique. |
| 222 | command does not need an argument. It is useful for creating multiple | 222 | This command does not need an argument. It is useful for creating |
| 223 | shell buffers: if you rename the @samp{*Shell*} buffer, then do @kbd{M-x | 223 | multiple shell buffers: if you rename the @samp{*Shell*} buffer, then |
| 224 | shell} again, it makes a new shell buffer named @samp{*Shell*}; | 224 | do @kbd{M-x shell} again, it makes a new shell buffer named |
| 225 | meanwhile, the old shell buffer continues to exist under its new name. | 225 | @samp{*Shell*}; meanwhile, the old shell buffer continues to exist |
| 226 | This method is also good for mail buffers, compilation buffers, and most | 226 | under its new name. This method is also good for mail buffers, |
| 227 | Emacs features that create special buffers with particular names. | 227 | compilation buffers, and most Emacs features that create special |
| 228 | buffers with particular names. (With some of these features, such as | ||
| 229 | @kbd{M-x compile}, @kbd{M-x grep} an @kbd{M-x info}, you need to | ||
| 230 | switch to some other buffer before using the command, in order for it | ||
| 231 | to make a different buffer.) | ||
| 228 | 232 | ||
| 229 | @findex view-buffer | 233 | @findex view-buffer |
| 230 | @kbd{M-x view-buffer} is much like @kbd{M-x view-file} (@pxref{Misc | 234 | @kbd{M-x view-buffer} is much like @kbd{M-x view-file} (@pxref{Misc |
| @@ -471,22 +475,21 @@ buffer, but killing an indirect buffer has no effect on its base buffer. | |||
| 471 | One way to use indirect buffers is to display multiple views of an | 475 | One way to use indirect buffers is to display multiple views of an |
| 472 | outline. @xref{Outline Views}. | 476 | outline. @xref{Outline Views}. |
| 473 | 477 | ||
| 474 | @cindex multiple @samp{*info*} and @samp{*Help*} buffers | ||
| 475 | A quick and handy way to make an indirect buffer is with the command | 478 | A quick and handy way to make an indirect buffer is with the command |
| 476 | @kbd{M-x clone-indirect-buffer}. It creates and selects an indirect | 479 | @kbd{M-x clone-indirect-buffer}. It creates and selects an indirect |
| 477 | buffer whose base buffer is the current buffer. With a numeric | 480 | buffer whose base buffer is the current buffer. With a numeric |
| 478 | argument, it prompts for the name of the indirect buffer; otherwise it | 481 | argument, it prompts for the name of the indirect buffer; otherwise it |
| 479 | defaults to the name of the current buffer, modifying it by adding a | 482 | defaults to the name of the current buffer, modifying it by adding a |
| 480 | @samp{<@var{n}>} prefix if required. @kbd{C-x 4 c} | 483 | @samp{<@var{n}>} suffix if required. @kbd{C-x 4 c} |
| 481 | (@code{clone-indirect-buffer-other-window}) works like @kbd{M-x | 484 | (@code{clone-indirect-buffer-other-window}) works like @kbd{M-x |
| 482 | clone-indirect-buffer}, but it selects the cloned buffer in another | 485 | clone-indirect-buffer}, but it selects the new buffer in another |
| 483 | window. These commands come in handy if you want to create new | 486 | window. |
| 484 | @samp{*info*} or @samp{*Help*} buffers, for example. | 487 | |
| 485 | 488 | The more general way to make an indirect buffer is with the command | |
| 486 | The more general way is with the command @kbd{M-x | 489 | @kbd{M-x make-indirect-buffer}. It creates an indirect buffer from |
| 487 | make-indirect-buffer}. It creates an indirect buffer from buffer | 490 | buffer @var{base-buffer}, under the name @var{indirect-name}. It |
| 488 | @var{base-buffer}, under the name @var{indirect-name}. It prompts for | 491 | prompts for both @var{base-buffer} and @var{indirect-name} using the |
| 489 | both @var{base-buffer} and @var{indirect-name} using the minibuffer. | 492 | minibuffer. |
| 490 | 493 | ||
| 491 | @node Buffer Convenience | 494 | @node Buffer Convenience |
| 492 | @section Convenience Features and Customization of Buffer Handling | 495 | @section Convenience Features and Customization of Buffer Handling |
diff --git a/man/mule.texi b/man/mule.texi index 73c589b330e..86349c0b40e 100644 --- a/man/mule.texi +++ b/man/mule.texi | |||
| @@ -917,6 +917,12 @@ subprocess input and output in the current buffer. | |||
| 917 | Use coding system @var{coding} for transferring selections to and from | 917 | Use coding system @var{coding} for transferring selections to and from |
| 918 | other programs through the window system. | 918 | other programs through the window system. |
| 919 | 919 | ||
| 920 | @item C-x @key{RET} F @var{coding} @key{RET} | ||
| 921 | Use coding system @var{coding} for encoding and decoding file | ||
| 922 | @emph{names}. This affects the use of non-ASCII characters in file | ||
| 923 | names. It has no effect on reading and writing the @emph{contents} of | ||
| 924 | files. | ||
| 925 | |||
| 920 | @item C-x @key{RET} X @var{coding} @key{RET} | 926 | @item C-x @key{RET} X @var{coding} @key{RET} |
| 921 | Use coding system @var{coding} for transferring @emph{one} | 927 | Use coding system @var{coding} for transferring @emph{one} |
| 922 | selection---the next one---to or from the window system. | 928 | selection---the next one---to or from the window system. |
| @@ -1044,12 +1050,16 @@ current language environment. | |||
| 1044 | 1050 | ||
| 1045 | @vindex file-name-coding-system | 1051 | @vindex file-name-coding-system |
| 1046 | @cindex file names with non-@acronym{ASCII} characters | 1052 | @cindex file names with non-@acronym{ASCII} characters |
| 1047 | The variable @code{file-name-coding-system} specifies a coding system | 1053 | @findex set-file-name-coding-system |
| 1048 | to use for encoding file names. If you set the variable to a coding | 1054 | @kindex C-x @key{RET} F |
| 1049 | system name (as a Lisp symbol or a string), Emacs encodes file names | 1055 | The variable @code{file-name-coding-system} specifies a coding |
| 1050 | using that coding system for all file operations. This makes it | 1056 | system to use for encoding file names. If you set the variable to a |
| 1051 | possible to use non-@acronym{ASCII} characters in file names---or, at least, those | 1057 | coding system name (as a Lisp symbol or a string), Emacs encodes file |
| 1052 | non-@acronym{ASCII} characters which the specified coding system can encode. | 1058 | names using that coding system for all file operations. This makes it |
| 1059 | possible to use non-@acronym{ASCII} characters in file names---or, at | ||
| 1060 | least, those non-@acronym{ASCII} characters which the specified coding | ||
| 1061 | system can encode. Use @kbd{C-x @key{RET} F} | ||
| 1062 | (@code{set-file-name-coding-system}) to specify this interactively. | ||
| 1053 | 1063 | ||
| 1054 | If @code{file-name-coding-system} is @code{nil}, Emacs uses a default | 1064 | If @code{file-name-coding-system} is @code{nil}, Emacs uses a default |
| 1055 | coding system determined by the selected language environment. In the | 1065 | coding system determined by the selected language environment. In the |
diff --git a/man/programs.texi b/man/programs.texi index 6b3776e0ac3..84f3e6f14f8 100644 --- a/man/programs.texi +++ b/man/programs.texi | |||
| @@ -641,6 +641,7 @@ Kill balanced expression forward (@code{kill-sexp}). | |||
| 641 | @item C-M-t | 641 | @item C-M-t |
| 642 | Transpose expressions (@code{transpose-sexps}). | 642 | Transpose expressions (@code{transpose-sexps}). |
| 643 | @item C-M-@@ | 643 | @item C-M-@@ |
| 644 | @itemx C-M-@key{SPC} | ||
| 644 | Put mark after following expression (@code{mark-sexp}). | 645 | Put mark after following expression (@code{mark-sexp}). |
| 645 | @end table | 646 | @end table |
| 646 | 647 | ||
| @@ -701,12 +702,14 @@ rather than doing nothing, transposes the balanced expressions ending | |||
| 701 | at or after point and the mark. | 702 | at or after point and the mark. |
| 702 | 703 | ||
| 703 | @kindex C-M-@@ | 704 | @kindex C-M-@@ |
| 705 | @kindex C-M-@key{SPC} | ||
| 704 | @findex mark-sexp | 706 | @findex mark-sexp |
| 705 | To set the region around the next balanced expression in the buffer, | 707 | To set the region around the next balanced expression in the buffer, |
| 706 | use @kbd{C-M-@@} (@code{mark-sexp}), which sets mark at the same place | 708 | use @kbd{C-M-@@} (@code{mark-sexp}), which sets mark at the same place |
| 707 | that @kbd{C-M-f} would move to. @kbd{C-M-@@} takes arguments like | 709 | that @kbd{C-M-f} would move to. @kbd{C-M-@@} takes arguments like |
| 708 | @kbd{C-M-f}. In particular, a negative argument is useful for putting | 710 | @kbd{C-M-f}. In particular, a negative argument is useful for putting |
| 709 | the mark at the beginning of the previous balanced expression. | 711 | the mark at the beginning of the previous balanced expression. |
| 712 | The alias @kbd{C-M-@key{SPC}} is equivalent to @kbd{C-M-@@}. | ||
| 710 | 713 | ||
| 711 | In languages that use infix operators, such as C, it is not possible | 714 | In languages that use infix operators, such as C, it is not possible |
| 712 | to recognize all balanced expressions as such because there can be | 715 | to recognize all balanced expressions as such because there can be |
diff --git a/man/search.texi b/man/search.texi index ef2d5776232..303074dcf0d 100644 --- a/man/search.texi +++ b/man/search.texi | |||
| @@ -576,10 +576,18 @@ beginning of a line in the text being matched. Otherwise it fails to | |||
| 576 | match anything. Thus, @samp{^foo} matches a @samp{foo} that occurs at | 576 | match anything. Thus, @samp{^foo} matches a @samp{foo} that occurs at |
| 577 | the beginning of a line. | 577 | the beginning of a line. |
| 578 | 578 | ||
| 579 | For historical compatibility reasons, @samp{^} can be used with this | ||
| 580 | meaning only at the beginning of the regular expression, or after | ||
| 581 | @samp{\(} or @samp{\|}. | ||
| 582 | |||
| 579 | @item @kbd{$} | 583 | @item @kbd{$} |
| 580 | is similar to @samp{^} but matches only at the end of a line. Thus, | 584 | is similar to @samp{^} but matches only at the end of a line. Thus, |
| 581 | @samp{x+$} matches a string of one @samp{x} or more at the end of a line. | 585 | @samp{x+$} matches a string of one @samp{x} or more at the end of a line. |
| 582 | 586 | ||
| 587 | For historical compatibility reasons, @samp{$} can be used with this | ||
| 588 | meaning only at the end of the regular expression, or before @samp{\)} | ||
| 589 | or @samp{\|}. | ||
| 590 | |||
| 583 | @item @kbd{\} | 591 | @item @kbd{\} |
| 584 | has two functions: it quotes the special characters (including | 592 | has two functions: it quotes the special characters (including |
| 585 | @samp{\}), and it introduces additional special constructs. | 593 | @samp{\}), and it introduces additional special constructs. |
diff --git a/src/ChangeLog b/src/ChangeLog index c1a63aab953..bb8ef04bc67 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,78 @@ | |||
| 1 | 2004-03-04 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition. | ||
| 4 | |||
| 5 | * window.c (Fdisplay_buffer): Doc fix. | ||
| 6 | |||
| 7 | * buffer.c (Fpop_to_buffer): Doc fix. | ||
| 8 | |||
| 9 | 2004-03-03 Kim F. Storm <storm@cua.dk> | ||
| 10 | |||
| 11 | * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row. | ||
| 12 | |||
| 13 | 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14 | |||
| 15 | * editfns.c (Ftranslate_region): Lisp_Object/int mixup. | ||
| 16 | |||
| 17 | 2004-03-02 Richard M. Stallman <rms@gnu.org> | ||
| 18 | |||
| 19 | * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc. | ||
| 20 | |||
| 21 | 2004-03-02 Kenichi Handa <handa@m17n.org> | ||
| 22 | |||
| 23 | * doc.c (Fsubstitute_command_keys): Fix counding bytes. | ||
| 24 | |||
| 25 | 2004-03-02 Kim F. Storm <storm@cua.dk> | ||
| 26 | |||
| 27 | * window.h (struct window): New member overlay_arrow_bitmap. | ||
| 28 | |||
| 29 | * window.c (make_window): Initialize overlay_arrow_bitmap. | ||
| 30 | |||
| 31 | * xdisp.c (Voverlay_arrow_variable_list): New variable to properly | ||
| 32 | implement and integrate multiple overlay arrows with redisplay. | ||
| 33 | (syms_of_xdisp): DEFVAR_LISP and initialize it. | ||
| 34 | (last_arrow_position, last_arrow_string): Replace by properties. | ||
| 35 | (Qlast_arrow_position, Qlast_arrow_string) | ||
| 36 | (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables. | ||
| 37 | (syms_of_xdisp): Intern and staticpro them. | ||
| 38 | (overlay_arrow_string_or_property, update_overlay_arrows) | ||
| 39 | (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p) | ||
| 40 | (overlay_arrow_at_row): New functions for multiple overlay arrows. | ||
| 41 | (redisplay_internal): Use them instead of directly accessing | ||
| 42 | Voverlay_arrow_position etc. for multiple overlay arrows. | ||
| 43 | (mark_window_display_accurate): Use update_overlay_arrows. | ||
| 44 | (try_cursor_movement): Use overlay_arrow_in_current_buffer_p. | ||
| 45 | (try_window_id): Use overlay_arrows_changed_p. | ||
| 46 | (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg. | ||
| 47 | (display_line): Use overlay_arrow_at_row to check multiple | ||
| 48 | overlay arrows, and get relevant overlay-arrow-string and | ||
| 49 | overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly. | ||
| 50 | (produce_image_glyph): Set pixel_width = 0 for fringe bitmap. | ||
| 51 | (syms_of_xdisp): Remove last_arrow_position and last_arrow_string. | ||
| 52 | |||
| 53 | * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set. | ||
| 54 | (update_window_fringes): Remove unused code. | ||
| 55 | |||
| 56 | 2004-03-01 Jason Rumney <jasonr@gnu.org> | ||
| 57 | |||
| 58 | * w32term.c (w32_read_socket): Fix last change to ButtonPress handling. | ||
| 59 | |||
| 60 | 2004-03-01 Juanma Barranquero <lektu@terra.es> | ||
| 61 | |||
| 62 | * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring. | ||
| 63 | |||
| 64 | * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies. | ||
| 65 | |||
| 66 | 2004-03-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 67 | |||
| 68 | * xfns.c (Fx_display_color_cells): Use number of planes to calculate | ||
| 69 | how many colors can be displayed. | ||
| 70 | |||
| 71 | 2004-03-01 Kenichi Handa <handa@m17n.org> | ||
| 72 | |||
| 73 | * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE | ||
| 74 | correctly. | ||
| 75 | |||
| 1 | 2004-02-28 Kim F. Storm <storm@cua.dk> | 76 | 2004-02-28 Kim F. Storm <storm@cua.dk> |
| 2 | 77 | ||
| 3 | * dispnew.c (update_window): Update header line also if there are | 78 | * dispnew.c (update_window): Update header line also if there are |
| @@ -11,11 +86,11 @@ | |||
| 11 | 86 | ||
| 12 | 2004-02-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 87 | 2004-02-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 13 | 88 | ||
| 14 | * xfns.c (x_window): Fixed indentation. | 89 | * xfns.c (x_window): Fix indentation. |
| 15 | 90 | ||
| 16 | * xterm.c (x_calc_absolute_position): Call x_real_positions | 91 | * xterm.c (x_calc_absolute_position): Call x_real_positions |
| 17 | to get WM window sizes and use those to calculate position. | 92 | to get WM window sizes and use those to calculate position. |
| 18 | (x_set_offset): Removed code commented out. | 93 | (x_set_offset): Remove code commented out. |
| 19 | 94 | ||
| 20 | 2004-02-28 Miles Bader <miles@gnu.org> | 95 | 2004-02-28 Miles Bader <miles@gnu.org> |
| 21 | 96 | ||
| @@ -39,7 +114,7 @@ | |||
| 39 | * keyboard.h (kbd_buffer_store_event_hold): Add prototype. | 114 | * keyboard.h (kbd_buffer_store_event_hold): Add prototype. |
| 40 | (gen_help_event): Fix prototype. | 115 | (gen_help_event): Fix prototype. |
| 41 | 116 | ||
| 42 | * macterm.c (XTread_socket): Remove bufp_r and | 117 | * macterm.c (XTread_socket): Remove bufp_r and |
| 43 | numcharsp args. Add hold_quit arg. | 118 | numcharsp args. Add hold_quit arg. |
| 44 | Rework to use just one, local, inev input_event. Store inev | 119 | Rework to use just one, local, inev input_event. Store inev |
| 45 | directly in fifo using kbd_buffer_store_event_hold. | 120 | directly in fifo using kbd_buffer_store_event_hold. |
| @@ -51,7 +126,7 @@ | |||
| 51 | initialize local hold_quit event to handle postponed quit event | 126 | initialize local hold_quit event to handle postponed quit event |
| 52 | (and store it if set by kbd_buffer_store_event_hold). | 127 | (and store it if set by kbd_buffer_store_event_hold). |
| 53 | 128 | ||
| 54 | * term.c (read_socket_hook): Fix arg list. | 129 | * term.c (read_socket_hook): Fix arg list. |
| 55 | 130 | ||
| 56 | * termhooks.h (read_socket_hook): Fix prototype. | 131 | * termhooks.h (read_socket_hook): Fix prototype. |
| 57 | 132 | ||
| @@ -73,9 +148,9 @@ | |||
| 73 | 148 | ||
| 74 | * xsmfns.c (x_session_check_input): Remove numchars arg. | 149 | * xsmfns.c (x_session_check_input): Remove numchars arg. |
| 75 | 150 | ||
| 76 | * xterm.c (x_focus_changed, x_detect_focus_change): Remove | 151 | * xterm.c (x_focus_changed, x_detect_focus_change): |
| 77 | numchars arg. Always store event into bufp arg. Return nothing. | 152 | Remove numchars arg. Always store event into bufp arg. |
| 78 | Callers changed accordingly. | 153 | Return nothing. Callers changed accordingly. |
| 79 | (glyph_rect): Simplify. | 154 | (glyph_rect): Simplify. |
| 80 | (STORE_KEYSYM_FOR_DEBUG): New macro. | 155 | (STORE_KEYSYM_FOR_DEBUG): New macro. |
| 81 | (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc. | 156 | (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc. |
| @@ -106,15 +181,14 @@ | |||
| 106 | * xterm.h (x_session_check_input): Fix prototype. | 181 | * xterm.h (x_session_check_input): Fix prototype. |
| 107 | 182 | ||
| 108 | 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 183 | 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 109 | 184 | ||
| 110 | * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework | 185 | * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'. |
| 111 | QuickTime'. | 186 | |
| 112 | |||
| 113 | * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in | 187 | * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in |
| 114 | macgui.h). | 188 | macgui.h). |
| 115 | 189 | ||
| 116 | * emacs.c (main) [HAVE_CARBON]: Call init_xfns. | 190 | * emacs.c (main) [HAVE_CARBON]: Call init_xfns. |
| 117 | 191 | ||
| 118 | * macgui.h [MAC_OSX]: Include Carbon/Carbon.h. | 192 | * macgui.h [MAC_OSX]: Include Carbon/Carbon.h. |
| 119 | (mktime, DEBUG, Z, free, malloc, realloc, max, min) | 193 | (mktime, DEBUG, Z, free, malloc, realloc, max, min) |
| 120 | (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h. | 194 | (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h. |
| @@ -123,18 +197,16 @@ | |||
| 123 | (Bitmap): Remove typedef. | 197 | (Bitmap): Remove typedef. |
| 124 | (Pixmap): Change int to GWorldPtr. | 198 | (Pixmap): Change int to GWorldPtr. |
| 125 | 199 | ||
| 126 | * macmenu.c [MAC_OSX]: Do not include Carbon/Carbon.h (now in | 200 | * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h). |
| 127 | macgui.h). | 201 | |
| 128 | 202 | * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h). | |
| 129 | * macterm.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in | 203 | (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG): |
| 130 | macgui.h). | 204 | New #define to extract 16-bit depth color components from unsigned |
| 131 | (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG): New | ||
| 132 | #define to extract 16-bit depth color components from unsigned | ||
| 133 | long representation. | 205 | long representation. |
| 134 | (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel | 206 | (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel |
| 135 | colors used for masks. | 207 | colors used for masks. |
| 136 | (struct mac_display_info): Add color_p. Remove n_cbits. | 208 | (struct mac_display_info): Add color_p. Remove n_cbits. |
| 137 | 209 | ||
| 138 | * macfns.c: Include sys/types.h and sys/stat.h. | 210 | * macfns.c: Include sys/types.h and sys/stat.h. |
| 139 | [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h). | 211 | [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h). |
| 140 | Include QuickTime/QuickTime.h. | 212 | Include QuickTime/QuickTime.h. |
| @@ -145,11 +217,11 @@ | |||
| 145 | (ZPixmap): New #define for compatibility with xfns.c. | 217 | (ZPixmap): New #define for compatibility with xfns.c. |
| 146 | (XGetImage, XPutPixel, XGetPixel, XDestroyImage) | 218 | (XGetImage, XPutPixel, XGetPixel, XDestroyImage) |
| 147 | (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image) | 219 | (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image) |
| 148 | (find_image_fsspec, image_load_qt_1, image_load_quicktime): New | 220 | (find_image_fsspec, image_load_qt_1, image_load_quicktime): |
| 149 | functions. | 221 | New functions. |
| 150 | (four_corners_best, x_create_x_image_and_pixmap) | 222 | (four_corners_best, x_create_x_image_and_pixmap) |
| 151 | (x_destroy_x_image, unwind_create_frame, x_disable_image, | 223 | (x_destroy_x_image, unwind_create_frame, x_disable_image) |
| 152 | (x_edge_detection, init_color_table, colors_in_color_table, | 224 | (x_edge_detection, init_color_table, colors_in_color_table) |
| 153 | (lookup_rgb_color, lookup_pixel_color, postprocess_image) | 225 | (lookup_rgb_color, lookup_pixel_color, postprocess_image) |
| 154 | (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image) | 226 | (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image) |
| 155 | (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors) | 227 | (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors) |
| @@ -168,14 +240,13 @@ | |||
| 168 | (enum pbm_keyword_index, pbm_format, enum png_keyword_index) | 240 | (enum pbm_keyword_index, pbm_format, enum png_keyword_index) |
| 169 | (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format) | 241 | (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format) |
| 170 | (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p) | 242 | (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p) |
| 171 | (enum gif_keyword_index, gif_format, gif_image_p): Sync with | 243 | (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c. |
| 172 | xfns.c. | ||
| 173 | (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with | 244 | (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with |
| 174 | #if 0. | 245 | #if 0. |
| 175 | (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with | 246 | (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with |
| 176 | #if 0. Free white_relief.gc and black_relief.gc. | 247 | #if 0. Free white_relief.gc and black_relief.gc. |
| 177 | (unwind_create_frame, x_emboss, x_laplace, x_edge_detection): New | 248 | (unwind_create_frame, x_emboss, x_laplace, x_edge_detection): |
| 178 | functions (from xfns.c). | 249 | New functions (from xfns.c). |
| 179 | (Fx_create_frame): Record unwind_create_frame. | 250 | (Fx_create_frame): Record unwind_create_frame. |
| 180 | (Fxw_display_color_p): Use dpyinfo->color_p. | 251 | (Fxw_display_color_p): Use dpyinfo->color_p. |
| 181 | (Fx_display_grayscale_p, Fx_display_planes): Don't use | 252 | (Fx_display_grayscale_p, Fx_display_planes): Don't use |
| @@ -187,14 +258,13 @@ | |||
| 187 | (Fimage_size, Fimage_mask_p, four_corners_best, image_background) | 258 | (Fimage_size, Fimage_mask_p, four_corners_best, image_background) |
| 188 | (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image) | 259 | (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image) |
| 189 | (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges) | 260 | (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges) |
| 190 | (image_background_transparent): New function (from xfns.c). Use | 261 | (image_background_transparent): New function (from xfns.c). |
| 191 | PIX_MASK_DRAW/PIX_MASK_RETAIN. | 262 | Use PIX_MASK_DRAW/PIX_MASK_RETAIN. |
| 192 | (image_load_quicktime): Add declaration. | 263 | (image_load_quicktime): Add declaration. |
| 193 | [MAC_OSX] (image_load_quartz2d): Likewise. | 264 | [MAC_OSX] (image_load_quartz2d): Likewise. |
| 194 | [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef. | 265 | [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef. |
| 195 | [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable. | 266 | [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable. |
| 196 | [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New | 267 | [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs. |
| 197 | functions. | ||
| 198 | (xbm_load_image_from_file, x_laplace_read_row) | 268 | (xbm_load_image_from_file, x_laplace_read_row) |
| 199 | (x_laplace_write_row, pbm_read_file): Remove functions. | 269 | (x_laplace_write_row, pbm_read_file): Remove functions. |
| 200 | [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p) | 270 | [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p) |
| @@ -203,23 +273,22 @@ | |||
| 203 | (lookup_rgb_color): Don't lookup color table. Just do gamma | 273 | (lookup_rgb_color): Don't lookup color table. Just do gamma |
| 204 | correction. | 274 | correction. |
| 205 | (COLOR_INTENSITY): New #define (from xfns.c). | 275 | (COLOR_INTENSITY): New #define (from xfns.c). |
| 206 | (x_disable_image): New function (from xfns.c). Use | 276 | (x_disable_image): New function (from xfns.c). |
| 207 | PIX_MASK_DRAW/PIX_MASK_RETAIN. | 277 | Use PIX_MASK_DRAW/PIX_MASK_RETAIN. |
| 208 | (x_build_heuristic_mask): Sync with xfns.c. Use | 278 | (x_build_heuristic_mask): Sync with xfns.c. |
| 209 | PIX_MASK_DRAW/PIX_MASK_RETAIN. | 279 | Use PIX_MASK_DRAW/PIX_MASK_RETAIN. |
| 210 | (HAVE_PBM): Remove #ifdef. | 280 | (HAVE_PBM): Remove #ifdef. |
| 211 | (pbm_load): Sync with xfns.c. Set img->width and img->height | 281 | (pbm_load): Sync with xfns.c. Set img->width and img->height |
| 212 | before IMAGE_BACKGROUND. | 282 | before IMAGE_BACKGROUND. |
| 213 | (png_image_p, png_load): Don't enclose declarations with #if | 283 | (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG. |
| 214 | HAVE_PNG. | ||
| 215 | (Qpng, enum png_keyword_index, png_format, png_type, png_image_p): | 284 | (Qpng, enum png_keyword_index, png_format, png_type, png_image_p): |
| 216 | Don't enclose with #if HAVE_PNG. | 285 | Don't enclose with #if HAVE_PNG. |
| 217 | [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a | 286 | [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a |
| 218 | symbol _CGImageCreateWithPNGDataProvider is defined. Otherwise | 287 | symbol _CGImageCreateWithPNGDataProvider is defined. |
| 219 | use image_load_quicktime. | 288 | Otherwise use image_load_quicktime. |
| 220 | [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime. | 289 | [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime. |
| 221 | [HAVE_PNG] (png_load): Sync with xfns.c. Use | 290 | [HAVE_PNG] (png_load): Sync with xfns.c. |
| 222 | PIX_MASK_DRAW/PIX_MASK_RETAIN. | 291 | Use PIX_MASK_DRAW/PIX_MASK_RETAIN. |
| 223 | (jpeg_image_p, jpeg_load): Don't enclose declarations with #if | 292 | (jpeg_image_p, jpeg_load): Don't enclose declarations with #if |
| 224 | HAVE_JPEG. | 293 | HAVE_JPEG. |
| 225 | (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type) | 294 | (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type) |
| @@ -232,11 +301,10 @@ | |||
| 232 | (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type) | 301 | (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type) |
| 233 | (tiff_image_p): Don't enclose with #if HAVE_TIFF. | 302 | (tiff_image_p): Don't enclose with #if HAVE_TIFF. |
| 234 | [!HAVE_TIFF] (tiff_load): Use image_load_quicktime. | 303 | [!HAVE_TIFF] (tiff_load): Use image_load_quicktime. |
| 235 | [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler): New | 304 | [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler): |
| 236 | functions (from xfns.c). | 305 | New functions (from xfns.c). |
| 237 | [HAVE_TIFF] (tiff_load): Sync with xfns.c. | 306 | [HAVE_TIFF] (tiff_load): Sync with xfns.c. |
| 238 | (gif_image_p, gif_load): Don't enclose declarations with #if | 307 | (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF. |
| 239 | HAVE_GIF. | ||
| 240 | (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p): | 308 | (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p): |
| 241 | Don't enclose with #if HAVE_GIF. | 309 | Don't enclose with #if HAVE_GIF. |
| 242 | [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is | 310 | [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is |
| @@ -253,12 +321,11 @@ | |||
| 253 | image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and | 321 | image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and |
| 254 | HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p. | 322 | HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p. |
| 255 | (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and | 323 | (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and |
| 256 | HAVE_PNG. Call EnterMovies to support animated gifs. Call | 324 | HAVE_PNG. Call EnterMovies to support animated gifs. |
| 257 | init_image_func_pointer to bind a symbol | 325 | Call init_image_func_pointer to bind a symbol |
| 258 | _CGImageCreateWithPNGDataProvider if it is defined. | 326 | _CGImageCreateWithPNGDataProvider if it is defined. |
| 259 | 327 | ||
| 260 | * macterm.c [MAC_OSX]: Do not include Carbon/Carbon.h (now in | 328 | * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h). |
| 261 | macgui.h). | ||
| 262 | (x_draw_bar_cursor): Sync declaration with xterm.c. | 329 | (x_draw_bar_cursor): Sync declaration with xterm.c. |
| 263 | (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area) | 330 | (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area) |
| 264 | (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen | 331 | (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen |
| @@ -266,16 +333,16 @@ | |||
| 266 | (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc. | 333 | (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc. |
| 267 | (mac_draw_line_to_pixmap, XCreatePixmap) | 334 | (mac_draw_line_to_pixmap, XCreatePixmap) |
| 268 | (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap) | 335 | (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap) |
| 269 | (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap): New | 336 | (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap): |
| 270 | functions. | 337 | New functions. |
| 271 | (mac_draw_bitmap) [TARGET_API_MAC_CARBON]: Use | 338 | (mac_draw_bitmap) [TARGET_API_MAC_CARBON]: |
| 272 | GetPortBitMapForCopyBits instead of the cast to Bitmap *. Cast | 339 | Use GetPortBitMapForCopyBits instead of the cast to Bitmap *. |
| 273 | bits to char *. | 340 | Cast bits to char *. |
| 274 | (reflect_byte): New function (from w32fns.c). | 341 | (reflect_byte): New function (from w32fns.c). |
| 275 | (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits | 342 | (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits |
| 276 | due to byte alignment. | 343 | due to byte alignment. |
| 277 | (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use | 344 | (mac_scroll_area) [TARGET_API_MAC_CARBON]: |
| 278 | GetPortBitMapForCopyBits instead of the cast to Bitmap *. | 345 | Use GetPortBitMapForCopyBits instead of the cast to Bitmap *. |
| 279 | (XSetForeground): Remove static (now used in macfns.c). | 346 | (XSetForeground): Remove static (now used in macfns.c). |
| 280 | (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c). | 347 | (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c). |
| 281 | (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c. | 348 | (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c. |
| @@ -293,18 +360,16 @@ | |||
| 293 | (x_free_frame_resources): New funcion (from xterm.c). | 360 | (x_free_frame_resources): New funcion (from xterm.c). |
| 294 | (XTread_socket): Call handle_tool_bar_click if mouse up/down event | 361 | (XTread_socket): Call handle_tool_bar_click if mouse up/down event |
| 295 | occurs in tool bar area. | 362 | occurs in tool bar area. |
| 296 | (mac_initialize_display_info): Remove dpyinfo->n_cbits. Set | 363 | (mac_initialize_display_info): Remove dpyinfo->n_cbits. |
| 297 | dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth. | 364 | Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth. |
| 298 | Initialize image cache. | 365 | Initialize image cache. |
| 299 | (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match): | 366 | (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match): |
| 300 | Enclose unused functions with #if 0. | 367 | Enclose unused functions with #if 0. |
| 301 | (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables. | 368 | (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables. |
| 302 | (decode_mac_font_name): New function to apply code conversions | 369 | (decode_mac_font_name): New function to apply code conversions |
| 303 | from a mac font name to an XLFD font name according to its script | 370 | from a mac font name to an XLFD font name according to its script code. |
| 304 | code. | ||
| 305 | (x_font_name_to_mac_font_name): Apply code conversion from an XLFD | 371 | (x_font_name_to_mac_font_name): Apply code conversion from an XLFD |
| 306 | font name to a mac font name according to REGISTRY and ENCODING | 372 | font name to a mac font name according to REGISTRY and ENCODING fields. |
| 307 | fields. | ||
| 308 | (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font | 373 | (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font |
| 309 | whose name starts with `.'. | 374 | whose name starts with `.'. |
| 310 | (init_font_name_table): Use decode_mac_font_name. Add both | 375 | (init_font_name_table): Use decode_mac_font_name. Add both |
| @@ -345,7 +410,7 @@ | |||
| 345 | * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked); | 410 | * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked); |
| 346 | BLOCK_INPUT can be nested, so it doesn't make much sense. | 411 | BLOCK_INPUT can be nested, so it doesn't make much sense. |
| 347 | 412 | ||
| 348 | 2004-02-24 Michael Mauger <mmaug@yahoo.com> | 413 | 2004-02-24 Michael Mauger <mmaug@yahoo.com> |
| 349 | 414 | ||
| 350 | * w32fns.c (slurp_file, xbm_scan, xbm_load_image) | 415 | * w32fns.c (slurp_file, xbm_scan, xbm_load_image) |
| 351 | (xbm_read_bitmap_data): Use unsigned char for image data. | 416 | (xbm_read_bitmap_data): Use unsigned char for image data. |
| @@ -363,8 +428,8 @@ | |||
| 363 | 428 | ||
| 364 | * emacs.c (USAGE1): Split into two halves. | 429 | * emacs.c (USAGE1): Split into two halves. |
| 365 | (USAGE2): Second half of the old USAGE1. | 430 | (USAGE2): Second half of the old USAGE1. |
| 366 | (USAGE3): Renamed from USAGE2. | 431 | (USAGE3): Rename from USAGE2. |
| 367 | (USAGE4): Renamed from USAGE3. | 432 | (USAGE4): Rename from USAGE3. |
| 368 | 433 | ||
| 369 | 2004-02-21 Juri Linkov <juri@jurta.org> | 434 | 2004-02-21 Juri Linkov <juri@jurta.org> |
| 370 | 435 | ||
| @@ -387,8 +452,8 @@ | |||
| 387 | in one call to read_socket_hook. Value is 8. | 452 | in one call to read_socket_hook. Value is 8. |
| 388 | (read_avail_input): Separate and rework handling of read_socket_hook | 453 | (read_avail_input): Separate and rework handling of read_socket_hook |
| 389 | and non-read_socket_hook cases. Use smaller input_event buffer | 454 | and non-read_socket_hook cases. Use smaller input_event buffer |
| 390 | in read_socket_hook case, and repeat if full buffer is read. Use | 455 | in read_socket_hook case, and repeat if full buffer is read. |
| 391 | new local variable 'discard' to skip input after C-g. | 456 | Use new local variable 'discard' to skip input after C-g. |
| 392 | In non-read_socket_hook case, just use a single input_event, and | 457 | In non-read_socket_hook case, just use a single input_event, and |
| 393 | call kbd_buffer_store_event on the fly for each character. | 458 | call kbd_buffer_store_event on the fly for each character. |
| 394 | 459 | ||
| @@ -595,7 +660,7 @@ | |||
| 595 | Add prototypes. | 660 | Add prototypes. |
| 596 | 661 | ||
| 597 | * macterm.c (mac_draw_bitmap): Add overlay_p arg. | 662 | * macterm.c (mac_draw_bitmap): Add overlay_p arg. |
| 598 | (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps; | 663 | (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps; |
| 599 | thanks to YAMAMOTO Mitsuharu for advice on how to do this. | 664 | thanks to YAMAMOTO Mitsuharu for advice on how to do this. |
| 600 | Use cursor color for displaying cursor in fringe. | 665 | Use cursor color for displaying cursor in fringe. |
| 601 | (x_redisplay_interface): Add null handlers for | 666 | (x_redisplay_interface): Add null handlers for |
| @@ -756,7 +821,7 @@ | |||
| 756 | 821 | ||
| 757 | * makefile.w32-in, w32fns.c: Add `default-printer-name' function. | 822 | * makefile.w32-in, w32fns.c: Add `default-printer-name' function. |
| 758 | 823 | ||
| 759 | 2004-01-27 Steven Tamm <steventamm@mac.com> | 824 | 2004-01-27 Steven Tamm <steventamm@mac.com> |
| 760 | 825 | ||
| 761 | * unexmacosx.c (unexec_copy): Do not copy more than was | 826 | * unexmacosx.c (unexec_copy): Do not copy more than was |
| 762 | requested to prevent overwriting during unexec. | 827 | requested to prevent overwriting during unexec. |
| @@ -767,7 +832,7 @@ | |||
| 767 | 832 | ||
| 768 | * process.h: Add extern to synch_process_termsig. | 833 | * process.h: Add extern to synch_process_termsig. |
| 769 | 834 | ||
| 770 | 2004-01-27 Steven Tamm <steventamm@mac.com> | 835 | 2004-01-27 Steven Tamm <steventamm@mac.com> |
| 771 | 836 | ||
| 772 | * macterm.c (make_mac_frame, make_mac_terminal_frame): | 837 | * macterm.c (make_mac_frame, make_mac_terminal_frame): |
| 773 | Move setting of scroll bars from make_mac_frame to | 838 | Move setting of scroll bars from make_mac_frame to |
| @@ -884,7 +949,7 @@ | |||
| 884 | 949 | ||
| 885 | * buffer.h (struct buffer): New member indicate_buffer_boundaries. | 950 | * buffer.h (struct buffer): New member indicate_buffer_boundaries. |
| 886 | 951 | ||
| 887 | * buffer.c (init_buffer_once): Set buffer_defaults and | 952 | * buffer.c (init_buffer_once): Set buffer_defaults and |
| 888 | buffer_local_flags for indicate_buffer_boundaries. | 953 | buffer_local_flags for indicate_buffer_boundaries. |
| 889 | (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro | 954 | (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro |
| 890 | default- variable for it. | 955 | default- variable for it. |
| @@ -1095,7 +1160,7 @@ | |||
| 1095 | to the definition of `signal' in the Elisp manual. | 1160 | to the definition of `signal' in the Elisp manual. |
| 1096 | * eval.c (Fsignal): Ditto. | 1161 | * eval.c (Fsignal): Ditto. |
| 1097 | 1162 | ||
| 1098 | 2003-12-29 James Clark <jjc@jclark.com> (tiny change) | 1163 | 2003-12-29 James Clark <jjc@jclark.com> (tiny change) |
| 1099 | 1164 | ||
| 1100 | * fns.c (internal_equal): Return t for two NaN arguments. | 1165 | * fns.c (internal_equal): Return t for two NaN arguments. |
| 1101 | 1166 | ||
| @@ -1221,7 +1286,7 @@ | |||
| 1221 | 1286 | ||
| 1222 | * minibuf.c (Fcompleting_read): Undo previous change. | 1287 | * minibuf.c (Fcompleting_read): Undo previous change. |
| 1223 | 1288 | ||
| 1224 | 2003-12-25 Lars Hansen <larsh@math.ku.dk> | 1289 | 2003-12-25 Lars Hansen <larsh@math.ku.dk> |
| 1225 | 1290 | ||
| 1226 | * dired.c (Fdirectory_files, Fdirectory_files_and_attributes): | 1291 | * dired.c (Fdirectory_files, Fdirectory_files_and_attributes): |
| 1227 | Arguments GCPRO'ed in call to file name handler. | 1292 | Arguments GCPRO'ed in call to file name handler. |
| @@ -1410,7 +1475,7 @@ | |||
| 1410 | * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new | 1475 | * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new |
| 1411 | mode_line_string and marginal_area_string parameters. | 1476 | mode_line_string and marginal_area_string parameters. |
| 1412 | 1477 | ||
| 1413 | 2003-11-22 Lars Hansen <larsh@math.ku.dk> | 1478 | 2003-11-22 Lars Hansen <larsh@math.ku.dk> |
| 1414 | 1479 | ||
| 1415 | * w32.c (struct the_group, getgrgid): Add. | 1480 | * w32.c (struct the_group, getgrgid): Add. |
| 1416 | * mac.c (struct my_group, getgrgid): Add. | 1481 | * mac.c (struct my_group, getgrgid): Add. |
| @@ -1504,7 +1569,7 @@ | |||
| 1504 | * frame.c (store_frame_param): | 1569 | * frame.c (store_frame_param): |
| 1505 | * fontset.c (Fset_fontset_font): | 1570 | * fontset.c (Fset_fontset_font): |
| 1506 | * emacs.c (shut_down_emacs): | 1571 | * emacs.c (shut_down_emacs): |
| 1507 | * ccl.c (ccl_driver): Remove period at end of error message. | 1572 | * ccl.c (ccl_driver): Remove period at end of error message. |
| 1508 | 1573 | ||
| 1509 | * config.in: Regenerate. | 1574 | * config.in: Regenerate. |
| 1510 | 1575 | ||
| @@ -1809,7 +1874,7 @@ | |||
| 1809 | Set BUF_INTERVALS (buffer)->up_obj when appropriate. | 1874 | Set BUF_INTERVALS (buffer)->up_obj when appropriate. |
| 1810 | Handle over_used when splitting UNDER. | 1875 | Handle over_used when splitting UNDER. |
| 1811 | 1876 | ||
| 1812 | 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 1877 | 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 1813 | 1878 | ||
| 1814 | * regex.c (regex_compile): Free the stack when returning from function. | 1879 | * regex.c (regex_compile): Free the stack when returning from function. |
| 1815 | 1880 | ||
| @@ -2064,7 +2129,7 @@ | |||
| 2064 | 2129 | ||
| 2065 | * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment. | 2130 | * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment. |
| 2066 | 2131 | ||
| 2067 | 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no> | 2132 | 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no> |
| 2068 | 2133 | ||
| 2069 | * xfns.c (Vgtk_version_string): New variable. | 2134 | * xfns.c (Vgtk_version_string): New variable. |
| 2070 | (syms_of_xfns): DEFVAR_LISP it. Provide gtk. | 2135 | (syms_of_xfns): DEFVAR_LISP it. Provide gtk. |
| @@ -3358,11 +3423,11 @@ | |||
| 3358 | (draw_fringe_bitmap): Rework to handle per-window fringes and new | 3423 | (draw_fringe_bitmap): Rework to handle per-window fringes and new |
| 3359 | fringe vs. display margin position. | 3424 | fringe vs. display margin position. |
| 3360 | (hscroll_window_tree): Use window_box_width instead of window_box. | 3425 | (hscroll_window_tree): Use window_box_width instead of window_box. |
| 3361 | (redisplay_window): Adapt to per-window scroll bars. | 3426 | (redisplay_window): Adapt to per-window scroll bars. |
| 3362 | (draw_glyphs): Rework to handle per-window fringes and scroll | 3427 | (draw_glyphs): Rework to handle per-window fringes and scroll |
| 3363 | bars, and new fringe vs. display margin position. | 3428 | bars, and new fringe vs. display margin position. |
| 3364 | Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left. | 3429 | Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left. |
| 3365 | (x_clear_end_of_line): Adapt to per-window fringes and scroll | 3430 | (x_clear_end_of_line): Adapt to per-window fringes and scroll |
| 3366 | bars, and new fringe vs. display margin position. Fix bug which | 3431 | bars, and new fringe vs. display margin position. Fix bug which |
| 3367 | increased total width of full_width rows by width of scroll bars | 3432 | increased total width of full_width rows by width of scroll bars |
| 3368 | although window's total width already includes that. | 3433 | although window's total width already includes that. |
| @@ -4429,7 +4494,7 @@ | |||
| 4429 | (w32_draw_window_cursor): New W32-specific functions for RIF. | 4494 | (w32_draw_window_cursor): New W32-specific functions for RIF. |
| 4430 | (w32_redisplay_interface): Add new members. | 4495 | (w32_redisplay_interface): Add new members. |
| 4431 | 4496 | ||
| 4432 | * w32gui.h (No_Cursor): Define as 0 for W32. | 4497 | * w32gui.h (No_Cursor): Define as 0 for W32. |
| 4433 | (XRectangle): Add X compatible rectangle type. | 4498 | (XRectangle): Add X compatible rectangle type. |
| 4434 | (NativeRectangle): Declare as RECT for W32. | 4499 | (NativeRectangle): Declare as RECT for W32. |
| 4435 | (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros. | 4500 | (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros. |
| @@ -5517,7 +5582,7 @@ | |||
| 5517 | 5582 | ||
| 5518 | * lisp.h: Declare Vx_resource_name extern. | 5583 | * lisp.h: Declare Vx_resource_name extern. |
| 5519 | 5584 | ||
| 5520 | * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT | 5585 | * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT |
| 5521 | for USE_GTK. | 5586 | for USE_GTK. |
| 5522 | (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK. | 5587 | (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK. |
| 5523 | 5588 | ||
| @@ -5904,12 +5969,12 @@ | |||
| 5904 | Its primary purpose at this time is to initialize the global variable | 5969 | Its primary purpose at this time is to initialize the global variable |
| 5905 | track_mouse_event_fn. | 5970 | track_mouse_event_fn. |
| 5906 | 5971 | ||
| 5907 | * w32fns.c (w32_wnd_proc): Remove initialization of | 5972 | * w32fns.c (w32_wnd_proc): Remove initialization of |
| 5908 | track_mouse_event_fn from the handler for the WM_SETFOCUS message. | 5973 | track_mouse_event_fn from the handler for the WM_SETFOCUS message. |
| 5909 | 5974 | ||
| 5910 | * w32fns.c (syms_of_w32fns): Call globals_of_w32fns. | 5975 | * w32fns.c (syms_of_w32fns): Call globals_of_w32fns. |
| 5911 | 5976 | ||
| 5912 | * w32menu.c (globals_of_w32menu): New function. Used to | 5977 | * w32menu.c (globals_of_w32menu): New function. Used to |
| 5913 | initialize those global variables that must always be initialized | 5978 | initialize those global variables that must always be initialized |
| 5914 | on startup even when the global variable initialized is non zero. | 5979 | on startup even when the global variable initialized is non zero. |
| 5915 | Its primary purpose at this time is to initialize the global | 5980 | Its primary purpose at this time is to initialize the global |
| @@ -11096,7 +11161,7 @@ | |||
| 11096 | 11161 | ||
| 11097 | 2001-12-03 Pavel Jan,Am(Bk <Pavel@Janik.cz> | 11162 | 2001-12-03 Pavel Jan,Am(Bk <Pavel@Janik.cz> |
| 11098 | 11163 | ||
| 11099 | * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option. | 11164 | * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option. |
| 11100 | 11165 | ||
| 11101 | 2001-12-02 Pavel Jan,Am(Bk <Pavel@Janik.cz> | 11166 | 2001-12-02 Pavel Jan,Am(Bk <Pavel@Janik.cz> |
| 11102 | 11167 | ||
diff --git a/src/buffer.c b/src/buffer.c index ad1dde93da7..27b12845c50 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -1675,8 +1675,9 @@ DEFUN ("pop-to-buffer", Fpop_to_buffer, Spop_to_buffer, 1, 3, 0, | |||
| 1675 | doc: /* Select buffer BUFFER in some window, preferably a different one. | 1675 | doc: /* Select buffer BUFFER in some window, preferably a different one. |
| 1676 | If BUFFER is nil, then some other buffer is chosen. | 1676 | If BUFFER is nil, then some other buffer is chosen. |
| 1677 | If `pop-up-windows' is non-nil, windows can be split to do this. | 1677 | If `pop-up-windows' is non-nil, windows can be split to do this. |
| 1678 | If optional second arg OTHER-WINDOW is non-nil, insist on finding another | 1678 | If optional second arg OTHER-WINDOW is nil, insist on finding another |
| 1679 | window even if BUFFER is already visible in the selected window. | 1679 | window even if BUFFER is already visible in the selected window, |
| 1680 | and ignore `same-window-regexps' and `same-window-buffer-names'. | ||
| 1680 | This uses the function `display-buffer' as a subroutine; see the documentation | 1681 | This uses the function `display-buffer' as a subroutine; see the documentation |
| 1681 | of `display-buffer' for additional customization information. | 1682 | of `display-buffer' for additional customization information. |
| 1682 | 1683 | ||
| @@ -821,7 +821,7 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int | |||
| 821 | start = strp; | 821 | start = strp; |
| 822 | start_idx = start - SDATA (string); | 822 | start_idx = start - SDATA (string); |
| 823 | 823 | ||
| 824 | while ((strp - SDATA (string) < SCHARS (string)) | 824 | while ((strp - SDATA (string) < SBYTES (string)) |
| 825 | && *strp != '}' && *strp != '>') | 825 | && *strp != '}' && *strp != '>') |
| 826 | strp++; | 826 | strp++; |
| 827 | 827 | ||
diff --git a/src/editfns.c b/src/editfns.c index 9a1ce81f316..51435af0bb2 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Lisp functions pertaining to editing. | 1 | /* Lisp functions pertaining to editing. |
| 2 | Copyright (C) 1985,86,87,89,93,94,95,96,97,98, 1999, 2000, 2001, 02, 2003 | 2 | Copyright (C) 1985,86,87,89,93,94,95,96,97,98,1999,2000,01,02,03,2004 |
| 3 | Free Software Foundation, Inc. | 3 | Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| @@ -2741,85 +2741,84 @@ DEFUN ("translate-region", Ftranslate_region, Stranslate_region, 3, 3, 0, | |||
| 2741 | doc: /* From START to END, translate characters according to TABLE. | 2741 | doc: /* From START to END, translate characters according to TABLE. |
| 2742 | TABLE is a string; the Nth character in it is the mapping | 2742 | TABLE is a string; the Nth character in it is the mapping |
| 2743 | for the character with code N. | 2743 | for the character with code N. |
| 2744 | This function does not alter multibyte characters. | ||
| 2745 | It returns the number of characters changed. */) | 2744 | It returns the number of characters changed. */) |
| 2746 | (start, end, table) | 2745 | (start, end, table) |
| 2747 | Lisp_Object start; | 2746 | Lisp_Object start; |
| 2748 | Lisp_Object end; | 2747 | Lisp_Object end; |
| 2749 | register Lisp_Object table; | 2748 | register Lisp_Object table; |
| 2750 | { | 2749 | { |
| 2751 | register int pos_byte, stop; /* Limits of the region. */ | ||
| 2752 | register unsigned char *tt; /* Trans table. */ | 2750 | register unsigned char *tt; /* Trans table. */ |
| 2753 | register int nc; /* New character. */ | 2751 | register int nc; /* New character. */ |
| 2754 | int cnt; /* Number of changes made. */ | 2752 | int cnt; /* Number of changes made. */ |
| 2755 | int size; /* Size of translate table. */ | 2753 | int size; /* Size of translate table. */ |
| 2756 | int pos; | 2754 | int pos, pos_byte; |
| 2757 | int multibyte = !NILP (current_buffer->enable_multibyte_characters); | 2755 | int multibyte = !NILP (current_buffer->enable_multibyte_characters); |
| 2756 | int string_multibyte; | ||
| 2758 | 2757 | ||
| 2759 | validate_region (&start, &end); | 2758 | validate_region (&start, &end); |
| 2760 | CHECK_STRING (table); | 2759 | CHECK_STRING (table); |
| 2761 | 2760 | ||
| 2762 | size = SBYTES (table); | 2761 | if (multibyte != (SCHARS (table) < SBYTES (table))) |
| 2762 | table = (multibyte | ||
| 2763 | ? string_make_multibyte (table) | ||
| 2764 | : string_make_unibyte (table)); | ||
| 2765 | string_multibyte = SCHARS (table) < SBYTES (table); | ||
| 2766 | |||
| 2767 | size = SCHARS (table); | ||
| 2763 | tt = SDATA (table); | 2768 | tt = SDATA (table); |
| 2764 | 2769 | ||
| 2765 | pos_byte = CHAR_TO_BYTE (XINT (start)); | ||
| 2766 | stop = CHAR_TO_BYTE (XINT (end)); | ||
| 2767 | modify_region (current_buffer, XINT (start), XINT (end)); | ||
| 2768 | pos = XINT (start); | 2770 | pos = XINT (start); |
| 2771 | pos_byte = CHAR_TO_BYTE (pos); | ||
| 2772 | modify_region (current_buffer, pos, XINT (end)); | ||
| 2769 | 2773 | ||
| 2770 | cnt = 0; | 2774 | cnt = 0; |
| 2771 | for (; pos_byte < stop; ) | 2775 | for (; pos < XINT (end); ) |
| 2772 | { | 2776 | { |
| 2773 | register unsigned char *p = BYTE_POS_ADDR (pos_byte); | 2777 | register unsigned char *p = BYTE_POS_ADDR (pos_byte); |
| 2774 | int len; | 2778 | unsigned char *str; |
| 2779 | int len, str_len; | ||
| 2775 | int oc; | 2780 | int oc; |
| 2776 | int pos_byte_next; | ||
| 2777 | 2781 | ||
| 2778 | if (multibyte) | 2782 | if (multibyte) |
| 2779 | oc = STRING_CHAR_AND_LENGTH (p, stop - pos_byte, len); | 2783 | oc = STRING_CHAR_AND_LENGTH (p, MAX_MULTIBYTE_LENGTH, len); |
| 2780 | else | 2784 | else |
| 2781 | oc = *p, len = 1; | 2785 | oc = *p, len = 1; |
| 2782 | pos_byte_next = pos_byte + len; | 2786 | if (oc < size) |
| 2783 | if (oc < size && len == 1) | ||
| 2784 | { | 2787 | { |
| 2785 | nc = tt[oc]; | 2788 | if (string_multibyte) |
| 2789 | { | ||
| 2790 | str = tt + string_char_to_byte (table, oc); | ||
| 2791 | nc = STRING_CHAR_AND_LENGTH (str, MAX_MULTIBYTE_LENGTH, str_len); | ||
| 2792 | } | ||
| 2793 | else | ||
| 2794 | { | ||
| 2795 | str = tt + oc; | ||
| 2796 | nc = tt[oc], str_len = 1; | ||
| 2797 | } | ||
| 2786 | if (nc != oc) | 2798 | if (nc != oc) |
| 2787 | { | 2799 | { |
| 2788 | /* Take care of the case where the new character | 2800 | if (len != str_len) |
| 2789 | combines with neighboring bytes. */ | ||
| 2790 | if (!ASCII_BYTE_P (nc) | ||
| 2791 | && (CHAR_HEAD_P (nc) | ||
| 2792 | ? ! CHAR_HEAD_P (FETCH_BYTE (pos_byte + 1)) | ||
| 2793 | : (pos_byte > BEG_BYTE | ||
| 2794 | && ! ASCII_BYTE_P (FETCH_BYTE (pos_byte - 1))))) | ||
| 2795 | { | 2801 | { |
| 2796 | Lisp_Object string; | 2802 | Lisp_Object string; |
| 2797 | 2803 | ||
| 2798 | string = make_multibyte_string (tt + oc, 1, 1); | ||
| 2799 | /* This is less efficient, because it moves the gap, | 2804 | /* This is less efficient, because it moves the gap, |
| 2800 | but it handles combining correctly. */ | 2805 | but it should multibyte characters correctly. */ |
| 2801 | replace_range (pos, pos + 1, string, | 2806 | string = make_multibyte_string (str, 1, str_len); |
| 2802 | 1, 0, 1); | 2807 | replace_range (pos, pos + 1, string, 1, 0, 1); |
| 2803 | pos_byte_next = CHAR_TO_BYTE (pos); | 2808 | len = str_len; |
| 2804 | if (pos_byte_next > pos_byte) | ||
| 2805 | /* Before combining happened. We should not | ||
| 2806 | increment POS. So, to cancel the later | ||
| 2807 | increment of POS, we decrease it now. */ | ||
| 2808 | pos--; | ||
| 2809 | else | ||
| 2810 | INC_POS (pos_byte_next); | ||
| 2811 | } | 2809 | } |
| 2812 | else | 2810 | else |
| 2813 | { | 2811 | { |
| 2814 | record_change (pos, 1); | 2812 | record_change (pos, 1); |
| 2815 | *p = nc; | 2813 | while (str_len-- > 0) |
| 2814 | *p++ = *str++; | ||
| 2816 | signal_after_change (pos, 1, 1); | 2815 | signal_after_change (pos, 1, 1); |
| 2817 | update_compositions (pos, pos + 1, CHECK_BORDER); | 2816 | update_compositions (pos, pos + 1, CHECK_BORDER); |
| 2818 | } | 2817 | } |
| 2819 | ++cnt; | 2818 | ++cnt; |
| 2820 | } | 2819 | } |
| 2821 | } | 2820 | } |
| 2822 | pos_byte = pos_byte_next; | 2821 | pos_byte += len; |
| 2823 | pos++; | 2822 | pos++; |
| 2824 | } | 2823 | } |
| 2825 | 2824 | ||
diff --git a/src/fringe.c b/src/fringe.c index b14668e8d7e..48a644707c6 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -637,7 +637,10 @@ draw_fringe_bitmap (w, row, left_p) | |||
| 637 | draw_fringe_bitmap_1 (w, row, left_p, overlay, NO_FRINGE_BITMAP); | 637 | draw_fringe_bitmap_1 (w, row, left_p, overlay, NO_FRINGE_BITMAP); |
| 638 | 638 | ||
| 639 | if (left_p && row->overlay_arrow_p) | 639 | if (left_p && row->overlay_arrow_p) |
| 640 | draw_fringe_bitmap_1 (w, row, 1, 1, OVERLAY_ARROW_BITMAP); | 640 | draw_fringe_bitmap_1 (w, row, 1, 1, |
| 641 | (w->overlay_arrow_bitmap | ||
| 642 | ? w->overlay_arrow_bitmap | ||
| 643 | : OVERLAY_ARROW_BITMAP)); | ||
| 641 | } | 644 | } |
| 642 | 645 | ||
| 643 | 646 | ||
| @@ -738,7 +741,7 @@ update_window_fringes (w, force_p) | |||
| 738 | { | 741 | { |
| 739 | unsigned indicate_bob_p, indicate_top_line_p; | 742 | unsigned indicate_bob_p, indicate_top_line_p; |
| 740 | unsigned indicate_eob_p, indicate_bottom_line_p; | 743 | unsigned indicate_eob_p, indicate_bottom_line_p; |
| 741 | 744 | ||
| 742 | row = w->desired_matrix->rows + rn; | 745 | row = w->desired_matrix->rows + rn; |
| 743 | if (!row->enabled_p) | 746 | if (!row->enabled_p) |
| 744 | row = w->current_matrix->rows + rn; | 747 | row = w->current_matrix->rows + rn; |
| @@ -747,7 +750,7 @@ update_window_fringes (w, force_p) | |||
| 747 | indicate_top_line_p = row->indicate_top_line_p; | 750 | indicate_top_line_p = row->indicate_top_line_p; |
| 748 | indicate_eob_p = row->indicate_eob_p; | 751 | indicate_eob_p = row->indicate_eob_p; |
| 749 | indicate_bottom_line_p = row->indicate_bottom_line_p; | 752 | indicate_bottom_line_p = row->indicate_bottom_line_p; |
| 750 | 753 | ||
| 751 | row->indicate_bob_p = row->indicate_top_line_p = 0; | 754 | row->indicate_bob_p = row->indicate_top_line_p = 0; |
| 752 | row->indicate_eob_p = row->indicate_bottom_line_p = 0; | 755 | row->indicate_eob_p = row->indicate_bottom_line_p = 0; |
| 753 | 756 | ||
| @@ -800,10 +803,6 @@ update_window_fringes (w, force_p) | |||
| 800 | left = row->left_user_fringe_bitmap; | 803 | left = row->left_user_fringe_bitmap; |
| 801 | left_face_id = row->left_user_fringe_face_id; | 804 | left_face_id = row->left_user_fringe_face_id; |
| 802 | } | 805 | } |
| 803 | #if 0 /* this is now done via an overlay */ | ||
| 804 | else if (row->overlay_arrow_p) | ||
| 805 | left = OVERLAY_ARROW_BITMAP; | ||
| 806 | #endif | ||
| 807 | else if (row->indicate_bob_p && boundary_pos <= 0) | 806 | else if (row->indicate_bob_p && boundary_pos <= 0) |
| 808 | left = ((row->indicate_eob_p && boundary_pos < 0) | 807 | left = ((row->indicate_eob_p && boundary_pos < 0) |
| 809 | ? LEFT_BRACKET_BITMAP : TOP_LEFT_ANGLE_BITMAP); | 808 | ? LEFT_BRACKET_BITMAP : TOP_LEFT_ANGLE_BITMAP); |
| @@ -882,7 +881,7 @@ update_window_fringes (w, force_p) | |||
| 882 | } | 881 | } |
| 883 | 882 | ||
| 884 | 883 | ||
| 885 | /* Compute actual fringe widths for frame F. | 884 | /* Compute actual fringe widths for frame F. |
| 886 | 885 | ||
| 887 | If REDRAW is 1, redraw F if the fringe settings was actually | 886 | If REDRAW is 1, redraw F if the fringe settings was actually |
| 888 | modified and F is visible. | 887 | modified and F is visible. |
| @@ -1099,7 +1098,7 @@ DEFUN ("define-fringe-bitmap", Fdefine_fringe_bitmap, Sdefine_fringe_bitmap, | |||
| 1099 | BITS is either a string or a vector of integers. | 1098 | BITS is either a string or a vector of integers. |
| 1100 | HEIGHT is height of bitmap. If HEIGHT is nil, use length of BITS. | 1099 | HEIGHT is height of bitmap. If HEIGHT is nil, use length of BITS. |
| 1101 | WIDTH must be an integer between 1 and 16, or nil which defaults to 8. | 1100 | WIDTH must be an integer between 1 and 16, or nil which defaults to 8. |
| 1102 | Optional forth arg ALIGN may be one of `top', `center', or `bottom', | 1101 | Optional fourth arg ALIGN may be one of `top', `center', or `bottom', |
| 1103 | indicating the positioning of the bitmap relative to the rows where it | 1102 | indicating the positioning of the bitmap relative to the rows where it |
| 1104 | is used; the default is to center the bitmap. Fourth arg may also be a | 1103 | is used; the default is to center the bitmap. Fourth arg may also be a |
| 1105 | list (ALIGN PERIODIC) where PERIODIC non-nil specifies that the bitmap | 1104 | list (ALIGN PERIODIC) where PERIODIC non-nil specifies that the bitmap |
| @@ -1133,7 +1132,7 @@ Return new bitmap number, or nil of no more free bitmap slots. */) | |||
| 1133 | fill2 = fb.height - h - fill1; | 1132 | fill2 = fb.height - h - fill1; |
| 1134 | } | 1133 | } |
| 1135 | } | 1134 | } |
| 1136 | 1135 | ||
| 1137 | if (NILP (width)) | 1136 | if (NILP (width)) |
| 1138 | fb.width = 8; | 1137 | fb.width = 8; |
| 1139 | else | 1138 | else |
| @@ -1220,7 +1219,7 @@ Return new bitmap number, or nil of no more free bitmap slots. */) | |||
| 1220 | 1219 | ||
| 1221 | DEFUN ("set-fringe-bitmap-face", Fset_fringe_bitmap_face, Sset_fringe_bitmap_face, | 1220 | DEFUN ("set-fringe-bitmap-face", Fset_fringe_bitmap_face, Sset_fringe_bitmap_face, |
| 1222 | 1, 2, 0, | 1221 | 1, 2, 0, |
| 1223 | doc: /* Set face for fringe bitmap FRINGE-ID to FACE. | 1222 | doc: /* Set face for fringe bitmap FRINGE-ID to FACE. |
| 1224 | If FACE is nil, reset face to default fringe face. */) | 1223 | If FACE is nil, reset face to default fringe face. */) |
| 1225 | (fringe_id, face) | 1224 | (fringe_id, face) |
| 1226 | Lisp_Object fringe_id, face; | 1225 | Lisp_Object fringe_id, face; |
| @@ -1247,7 +1246,7 @@ If FACE is nil, reset face to default fringe face. */) | |||
| 1247 | 1246 | ||
| 1248 | DEFUN ("fringe-bitmaps-at-pos", Ffringe_bitmaps_at_pos, Sfringe_bitmaps_at_pos, | 1247 | DEFUN ("fringe-bitmaps-at-pos", Ffringe_bitmaps_at_pos, Sfringe_bitmaps_at_pos, |
| 1249 | 0, 2, 0, | 1248 | 0, 2, 0, |
| 1250 | doc: /* Return fringe bitmaps of row containing position POS in window WINDOW. | 1249 | doc: /* Return fringe bitmaps of row containing position POS in window WINDOW. |
| 1251 | If WINDOW is nil, use selected window. If POS is nil, use value of point | 1250 | If WINDOW is nil, use selected window. If POS is nil, use value of point |
| 1252 | in that window. Return value is a cons (LEFT . RIGHT) where LEFT and RIGHT | 1251 | in that window. Return value is a cons (LEFT . RIGHT) where LEFT and RIGHT |
| 1253 | are the fringe bitmap numbers for the bitmaps in the left and right fringe, | 1252 | are the fringe bitmap numbers for the bitmaps in the left and right fringe, |
| @@ -1349,7 +1348,7 @@ w32_reset_fringes () | |||
| 1349 | { | 1348 | { |
| 1350 | /* Destroy row bitmaps. */ | 1349 | /* Destroy row bitmaps. */ |
| 1351 | int bt; | 1350 | int bt; |
| 1352 | 1351 | ||
| 1353 | for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) | 1352 | for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) |
| 1354 | rif->destroy_fringe_bitmap (bt); | 1353 | rif->destroy_fringe_bitmap (bt); |
| 1355 | } | 1354 | } |
diff --git a/src/indent.c b/src/indent.c index 1b3e5847510..32efcbd0cc7 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -1199,7 +1199,6 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1199 | = (INTEGERP (current_buffer->selective_display) | 1199 | = (INTEGERP (current_buffer->selective_display) |
| 1200 | ? XINT (current_buffer->selective_display) | 1200 | ? XINT (current_buffer->selective_display) |
| 1201 | : !NILP (current_buffer->selective_display) ? -1 : 0); | 1201 | : !NILP (current_buffer->selective_display) ? -1 : 0); |
| 1202 | int prev_hpos = 0; | ||
| 1203 | int selective_rlen | 1202 | int selective_rlen |
| 1204 | = (selective && dp && VECTORP (DISP_INVIS_VECTOR (dp)) | 1203 | = (selective && dp && VECTORP (DISP_INVIS_VECTOR (dp)) |
| 1205 | ? XVECTOR (DISP_INVIS_VECTOR (dp))->size : 0); | 1204 | ? XVECTOR (DISP_INVIS_VECTOR (dp))->size : 0); |
| @@ -1227,6 +1226,8 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1227 | int wide_column_end_hpos = 0; | 1226 | int wide_column_end_hpos = 0; |
| 1228 | int prev_pos; /* Previous buffer position. */ | 1227 | int prev_pos; /* Previous buffer position. */ |
| 1229 | int prev_pos_byte; /* Previous buffer position. */ | 1228 | int prev_pos_byte; /* Previous buffer position. */ |
| 1229 | int prev_hpos = 0; | ||
| 1230 | int prev_vpos = 0; | ||
| 1230 | int contin_hpos; /* HPOS of last column of continued line. */ | 1231 | int contin_hpos; /* HPOS of last column of continued line. */ |
| 1231 | int prev_tab_offset; /* Previous tab offset. */ | 1232 | int prev_tab_offset; /* Previous tab offset. */ |
| 1232 | 1233 | ||
| @@ -1275,6 +1276,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1275 | pos = prev_pos; | 1276 | pos = prev_pos; |
| 1276 | pos_byte = prev_pos_byte; | 1277 | pos_byte = prev_pos_byte; |
| 1277 | hpos = prev_hpos; | 1278 | hpos = prev_hpos; |
| 1279 | vpos = prev_vpos; | ||
| 1278 | tab_offset = prev_tab_offset; | 1280 | tab_offset = prev_tab_offset; |
| 1279 | } | 1281 | } |
| 1280 | break; | 1282 | break; |
| @@ -1384,6 +1386,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1384 | if (pos >= next_boundary) | 1386 | if (pos >= next_boundary) |
| 1385 | next_boundary = pos + 1; | 1387 | next_boundary = pos + 1; |
| 1386 | prev_hpos = width; | 1388 | prev_hpos = width; |
| 1389 | prev_vpos = vpos; | ||
| 1387 | prev_tab_offset = tab_offset; | 1390 | prev_tab_offset = tab_offset; |
| 1388 | } | 1391 | } |
| 1389 | } | 1392 | } |
| @@ -1416,6 +1419,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1416 | pos = prev_pos; | 1419 | pos = prev_pos; |
| 1417 | pos_byte = prev_pos_byte; | 1420 | pos_byte = prev_pos_byte; |
| 1418 | hpos = prev_hpos; | 1421 | hpos = prev_hpos; |
| 1422 | vpos = prev_vpos; | ||
| 1419 | tab_offset = prev_tab_offset; | 1423 | tab_offset = prev_tab_offset; |
| 1420 | 1424 | ||
| 1421 | /* NOTE on contin_hpos, hpos, and prev_hpos. | 1425 | /* NOTE on contin_hpos, hpos, and prev_hpos. |
| @@ -1436,10 +1440,6 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1436 | hpos = contin_hpos; | 1440 | hpos = contin_hpos; |
| 1437 | vpos = vpos - 1; | 1441 | vpos = vpos - 1; |
| 1438 | } | 1442 | } |
| 1439 | else if (c == '\n') | ||
| 1440 | /* If previous character is NEWLINE, | ||
| 1441 | set VPOS back to previous line */ | ||
| 1442 | vpos = vpos - 1; | ||
| 1443 | break; | 1443 | break; |
| 1444 | } | 1444 | } |
| 1445 | 1445 | ||
| @@ -1457,6 +1457,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1457 | pos = prev_pos; | 1457 | pos = prev_pos; |
| 1458 | pos_byte = prev_pos_byte; | 1458 | pos_byte = prev_pos_byte; |
| 1459 | hpos = prev_hpos; | 1459 | hpos = prev_hpos; |
| 1460 | vpos = prev_vpos; | ||
| 1460 | tab_offset = prev_tab_offset; | 1461 | tab_offset = prev_tab_offset; |
| 1461 | } | 1462 | } |
| 1462 | break; | 1463 | break; |
| @@ -1465,6 +1466,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1465 | break; | 1466 | break; |
| 1466 | 1467 | ||
| 1467 | prev_hpos = hpos; | 1468 | prev_hpos = hpos; |
| 1469 | prev_vpos = vpos; | ||
| 1468 | prev_pos = pos; | 1470 | prev_pos = pos; |
| 1469 | prev_pos_byte = pos_byte; | 1471 | prev_pos_byte = pos_byte; |
| 1470 | wide_column_end_hpos = 0; | 1472 | wide_column_end_hpos = 0; |
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 1007e3940b0..0c153b185d8 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -723,6 +723,21 @@ $(BLD)/frame.$(O) : \ | |||
| 723 | $(SRC)/w32term.h \ | 723 | $(SRC)/w32term.h \ |
| 724 | $(SRC)/window.h | 724 | $(SRC)/window.h |
| 725 | 725 | ||
| 726 | $(BLD)/fringe.$(O) : \ | ||
| 727 | $(SRC)/fringe.c \ | ||
| 728 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 729 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 730 | $(EMACS_ROOT)/src/config.h \ | ||
| 731 | $(SRC)/atimer.h \ | ||
| 732 | $(SRC)/blockinput.h \ | ||
| 733 | $(SRC)/buffer.h \ | ||
| 734 | $(SRC)/dispextern.h \ | ||
| 735 | $(SRC)/frame.h \ | ||
| 736 | $(SRC)/systime.h \ | ||
| 737 | $(SRC)/w32bdf.h \ | ||
| 738 | $(SRC)/w32gui.h \ | ||
| 739 | $(SRC)/window.h | ||
| 740 | |||
| 726 | $(BLD)/gmalloc.$(O) : \ | 741 | $(BLD)/gmalloc.$(O) : \ |
| 727 | $(SRC)/gmalloc.c \ | 742 | $(SRC)/gmalloc.c \ |
| 728 | $(EMACS_ROOT)/src/s/ms-w32.h \ | 743 | $(EMACS_ROOT)/src/s/ms-w32.h \ |
diff --git a/src/s/sol2-6.h b/src/s/sol2-6.h index a43443e48c2..3ba9ed1f5bd 100644 --- a/src/s/sol2-6.h +++ b/src/s/sol2-6.h | |||
| @@ -7,5 +7,10 @@ | |||
| 7 | #define UNEXEC unexsol.o | 7 | #define UNEXEC unexsol.o |
| 8 | #endif | 8 | #endif |
| 9 | 9 | ||
| 10 | /* "Dennis McRitchie" <dmcr@Princeton.EDU> reported failures | ||
| 11 | with GNU ld without this. */ | ||
| 12 | |||
| 13 | #define LD_SWITCH_SYSTEM_TEMACS -znocombreloc | ||
| 14 | |||
| 10 | /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca | 15 | /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca |
| 11 | (do not change this comment) */ | 16 | (do not change this comment) */ |
diff --git a/src/w32term.c b/src/w32term.c index c59dabc27b0..41c188a2414 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -4394,7 +4394,7 @@ w32_read_socket (sd, expected, hold_quit) | |||
| 4394 | 4394 | ||
| 4395 | if (tool_bar_p | 4395 | if (tool_bar_p |
| 4396 | || (dpyinfo->w32_focus_frame | 4396 | || (dpyinfo->w32_focus_frame |
| 4397 | && f == dpyinfo->w32_focus_frame)) | 4397 | && f != dpyinfo->w32_focus_frame)) |
| 4398 | inev.kind = NO_EVENT; | 4398 | inev.kind = NO_EVENT; |
| 4399 | } | 4399 | } |
| 4400 | 4400 | ||
diff --git a/src/window.c b/src/window.c index 7419239752a..0192aa4edf6 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -281,6 +281,7 @@ make_window () | |||
| 281 | p->fringes_outside_margins = Qnil; | 281 | p->fringes_outside_margins = Qnil; |
| 282 | p->scroll_bar_width = Qnil; | 282 | p->scroll_bar_width = Qnil; |
| 283 | p->vertical_scroll_bar_type = Qt; | 283 | p->vertical_scroll_bar_type = Qt; |
| 284 | p->overlay_arrow_bitmap = 0; | ||
| 284 | 285 | ||
| 285 | Vwindow_list = Qnil; | 286 | Vwindow_list = Qnil; |
| 286 | return val; | 287 | return val; |
| @@ -3269,9 +3270,10 @@ Returns the window displaying BUFFER. | |||
| 3269 | If `display-buffer-reuse-frames' is non-nil, and another frame is currently | 3270 | If `display-buffer-reuse-frames' is non-nil, and another frame is currently |
| 3270 | displaying BUFFER, then simply raise that frame. | 3271 | displaying BUFFER, then simply raise that frame. |
| 3271 | 3272 | ||
| 3272 | The variables `special-display-buffer-names', `special-display-regexps', | 3273 | The variables `special-display-buffer-names', |
| 3273 | `same-window-buffer-names', and `same-window-regexps' customize how certain | 3274 | `special-display-regexps', `same-window-buffer-names', and |
| 3274 | buffer names are handled. | 3275 | `same-window-regexps' customize how certain buffer names are handled. |
| 3276 | The latter two take effect only if NOT-THIS-WINDOW is t. | ||
| 3275 | 3277 | ||
| 3276 | If optional argument FRAME is `visible', search all visible frames. | 3278 | If optional argument FRAME is `visible', search all visible frames. |
| 3277 | If FRAME is 0, search all visible and iconified frames. | 3279 | If FRAME is 0, search all visible and iconified frames. |
diff --git a/src/window.h b/src/window.h index f45ca39bb93..ef81da43b4d 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -254,6 +254,9 @@ struct window | |||
| 254 | /* This is handy for undrawing the cursor. */ | 254 | /* This is handy for undrawing the cursor. */ |
| 255 | int phys_cursor_ascent, phys_cursor_height; | 255 | int phys_cursor_ascent, phys_cursor_height; |
| 256 | 256 | ||
| 257 | /* Alternate overlay-arrow-bitmap in this window. */ | ||
| 258 | int overlay_arrow_bitmap; | ||
| 259 | |||
| 257 | /* Non-zero means the cursor is currently displayed. This can be | 260 | /* Non-zero means the cursor is currently displayed. This can be |
| 258 | set to zero by functions overpainting the cursor image. */ | 261 | set to zero by functions overpainting the cursor image. */ |
| 259 | unsigned phys_cursor_on_p : 1; | 262 | unsigned phys_cursor_on_p : 1; |
diff --git a/src/xdisp.c b/src/xdisp.c index 67f21446320..bb7ce740a63 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -403,6 +403,13 @@ int multiple_frames; | |||
| 403 | 403 | ||
| 404 | Lisp_Object Vglobal_mode_string; | 404 | Lisp_Object Vglobal_mode_string; |
| 405 | 405 | ||
| 406 | |||
| 407 | /* List of variables (symbols) which hold markers for overlay arrows. | ||
| 408 | The symbols on this list are examined during redisplay to determine | ||
| 409 | where to display overlay arrows. */ | ||
| 410 | |||
| 411 | Lisp_Object Voverlay_arrow_variable_list; | ||
| 412 | |||
| 406 | /* Marker for where to display an arrow on top of the buffer text. */ | 413 | /* Marker for where to display an arrow on top of the buffer text. */ |
| 407 | 414 | ||
| 408 | Lisp_Object Voverlay_arrow_position; | 415 | Lisp_Object Voverlay_arrow_position; |
| @@ -411,11 +418,17 @@ Lisp_Object Voverlay_arrow_position; | |||
| 411 | 418 | ||
| 412 | Lisp_Object Voverlay_arrow_string; | 419 | Lisp_Object Voverlay_arrow_string; |
| 413 | 420 | ||
| 414 | /* Values of those variables at last redisplay. However, if | 421 | /* Values of those variables at last redisplay are stored as |
| 415 | Voverlay_arrow_position is a marker, last_arrow_position is its | 422 | properties on `overlay-arrow-position' symbol. However, if |
| 423 | Voverlay_arrow_position is a marker, last-arrow-position is its | ||
| 416 | numerical position. */ | 424 | numerical position. */ |
| 417 | 425 | ||
| 418 | static Lisp_Object last_arrow_position, last_arrow_string; | 426 | Lisp_Object Qlast_arrow_position, Qlast_arrow_string; |
| 427 | |||
| 428 | /* Alternative overlay-arrow-string and overlay-arrow-bitmap | ||
| 429 | properties on a symbol in overlay-arrow-variable-list. */ | ||
| 430 | |||
| 431 | Lisp_Object Qoverlay_arrow_string, Qoverlay_arrow_bitmap; | ||
| 419 | 432 | ||
| 420 | /* Like mode-line-format, but for the title bar on a visible frame. */ | 433 | /* Like mode-line-format, but for the title bar on a visible frame. */ |
| 421 | 434 | ||
| @@ -828,7 +841,8 @@ static struct text_pos display_prop_end P_ ((struct it *, Lisp_Object, | |||
| 828 | static int compute_window_start_on_continuation_line P_ ((struct window *)); | 841 | static int compute_window_start_on_continuation_line P_ ((struct window *)); |
| 829 | static Lisp_Object safe_eval_handler P_ ((Lisp_Object)); | 842 | static Lisp_Object safe_eval_handler P_ ((Lisp_Object)); |
| 830 | static void insert_left_trunc_glyphs P_ ((struct it *)); | 843 | static void insert_left_trunc_glyphs P_ ((struct it *)); |
| 831 | static struct glyph_row *get_overlay_arrow_glyph_row P_ ((struct window *)); | 844 | static struct glyph_row *get_overlay_arrow_glyph_row P_ ((struct window *, |
| 845 | Lisp_Object)); | ||
| 832 | static void extend_face_to_end_of_line P_ ((struct it *)); | 846 | static void extend_face_to_end_of_line P_ ((struct it *)); |
| 833 | static int append_space P_ ((struct it *, int)); | 847 | static int append_space P_ ((struct it *, int)); |
| 834 | static int make_cursor_line_fully_visible P_ ((struct window *)); | 848 | static int make_cursor_line_fully_visible P_ ((struct window *)); |
| @@ -9316,6 +9330,153 @@ redisplay () | |||
| 9316 | } | 9330 | } |
| 9317 | 9331 | ||
| 9318 | 9332 | ||
| 9333 | static Lisp_Object | ||
| 9334 | overlay_arrow_string_or_property (var, pbitmap) | ||
| 9335 | Lisp_Object var; | ||
| 9336 | int *pbitmap; | ||
| 9337 | { | ||
| 9338 | Lisp_Object pstr = Fget (var, Qoverlay_arrow_string); | ||
| 9339 | Lisp_Object bitmap; | ||
| 9340 | |||
| 9341 | if (pbitmap) | ||
| 9342 | { | ||
| 9343 | *pbitmap = 0; | ||
| 9344 | if (bitmap = Fget (var, Qoverlay_arrow_bitmap), INTEGERP (bitmap)) | ||
| 9345 | *pbitmap = XINT (bitmap); | ||
| 9346 | } | ||
| 9347 | |||
| 9348 | if (!NILP (pstr)) | ||
| 9349 | return pstr; | ||
| 9350 | return Voverlay_arrow_string; | ||
| 9351 | } | ||
| 9352 | |||
| 9353 | /* Return 1 if there are any overlay-arrows in current_buffer. */ | ||
| 9354 | static int | ||
| 9355 | overlay_arrow_in_current_buffer_p () | ||
| 9356 | { | ||
| 9357 | Lisp_Object vlist; | ||
| 9358 | |||
| 9359 | for (vlist = Voverlay_arrow_variable_list; | ||
| 9360 | CONSP (vlist); | ||
| 9361 | vlist = XCDR (vlist)) | ||
| 9362 | { | ||
| 9363 | Lisp_Object var = XCAR (vlist); | ||
| 9364 | Lisp_Object val; | ||
| 9365 | |||
| 9366 | if (!SYMBOLP (var)) | ||
| 9367 | continue; | ||
| 9368 | val = find_symbol_value (var); | ||
| 9369 | if (MARKERP (val) | ||
| 9370 | && current_buffer == XMARKER (val)->buffer) | ||
| 9371 | return 1; | ||
| 9372 | } | ||
| 9373 | return 0; | ||
| 9374 | } | ||
| 9375 | |||
| 9376 | |||
| 9377 | /* Return 1 if any overlay_arrows have moved or overlay-arrow-string | ||
| 9378 | has changed. */ | ||
| 9379 | |||
| 9380 | static int | ||
| 9381 | overlay_arrows_changed_p () | ||
| 9382 | { | ||
| 9383 | Lisp_Object vlist; | ||
| 9384 | |||
| 9385 | for (vlist = Voverlay_arrow_variable_list; | ||
| 9386 | CONSP (vlist); | ||
| 9387 | vlist = XCDR (vlist)) | ||
| 9388 | { | ||
| 9389 | Lisp_Object var = XCAR (vlist); | ||
| 9390 | Lisp_Object val, pstr; | ||
| 9391 | |||
| 9392 | if (!SYMBOLP (var)) | ||
| 9393 | continue; | ||
| 9394 | val = find_symbol_value (var); | ||
| 9395 | if (!MARKERP (val)) | ||
| 9396 | continue; | ||
| 9397 | if (! EQ (COERCE_MARKER (val), | ||
| 9398 | Fget (var, Qlast_arrow_position)) | ||
| 9399 | || ! (pstr = overlay_arrow_string_or_property (var, 0), | ||
| 9400 | EQ (pstr, Fget (var, Qlast_arrow_string)))) | ||
| 9401 | return 1; | ||
| 9402 | } | ||
| 9403 | return 0; | ||
| 9404 | } | ||
| 9405 | |||
| 9406 | /* Mark overlay arrows to be updated on next redisplay. */ | ||
| 9407 | |||
| 9408 | static void | ||
| 9409 | update_overlay_arrows (up_to_date) | ||
| 9410 | int up_to_date; | ||
| 9411 | { | ||
| 9412 | Lisp_Object vlist; | ||
| 9413 | |||
| 9414 | for (vlist = Voverlay_arrow_variable_list; | ||
| 9415 | CONSP (vlist); | ||
| 9416 | vlist = XCDR (vlist)) | ||
| 9417 | { | ||
| 9418 | Lisp_Object var = XCAR (vlist); | ||
| 9419 | |||
| 9420 | if (!SYMBOLP (var)) | ||
| 9421 | continue; | ||
| 9422 | |||
| 9423 | if (up_to_date) | ||
| 9424 | { | ||
| 9425 | Lisp_Object val = find_symbol_value (var); | ||
| 9426 | Fput (var, Qlast_arrow_position, | ||
| 9427 | COERCE_MARKER (val)); | ||
| 9428 | Fput (var, Qlast_arrow_string, | ||
| 9429 | overlay_arrow_string_or_property (var, 0)); | ||
| 9430 | } | ||
| 9431 | else if (up_to_date < 0 | ||
| 9432 | || !NILP (Fget (var, Qlast_arrow_position))) | ||
| 9433 | { | ||
| 9434 | Fput (var, Qlast_arrow_position, Qt); | ||
| 9435 | Fput (var, Qlast_arrow_string, Qt); | ||
| 9436 | } | ||
| 9437 | } | ||
| 9438 | } | ||
| 9439 | |||
| 9440 | |||
| 9441 | /* Return overlay arrow string at row, or nil. */ | ||
| 9442 | |||
| 9443 | static Lisp_Object | ||
| 9444 | overlay_arrow_at_row (f, row, pbitmap) | ||
| 9445 | struct frame *f; | ||
| 9446 | struct glyph_row *row; | ||
| 9447 | int *pbitmap; | ||
| 9448 | { | ||
| 9449 | Lisp_Object vlist; | ||
| 9450 | |||
| 9451 | for (vlist = Voverlay_arrow_variable_list; | ||
| 9452 | CONSP (vlist); | ||
| 9453 | vlist = XCDR (vlist)) | ||
| 9454 | { | ||
| 9455 | Lisp_Object var = XCAR (vlist); | ||
| 9456 | Lisp_Object val; | ||
| 9457 | |||
| 9458 | if (!SYMBOLP (var)) | ||
| 9459 | continue; | ||
| 9460 | |||
| 9461 | val = find_symbol_value (var); | ||
| 9462 | |||
| 9463 | if (MARKERP (val) | ||
| 9464 | && current_buffer == XMARKER (val)->buffer | ||
| 9465 | && (MATRIX_ROW_START_CHARPOS (row) == marker_position (val))) | ||
| 9466 | { | ||
| 9467 | val = overlay_arrow_string_or_property (var, pbitmap); | ||
| 9468 | if (FRAME_WINDOW_P (f)) | ||
| 9469 | return Qt; | ||
| 9470 | else if (STRINGP (val)) | ||
| 9471 | return val; | ||
| 9472 | break; | ||
| 9473 | } | ||
| 9474 | } | ||
| 9475 | |||
| 9476 | *pbitmap = 0; | ||
| 9477 | return Qnil; | ||
| 9478 | } | ||
| 9479 | |||
| 9319 | /* Return 1 if point moved out of or into a composition. Otherwise | 9480 | /* Return 1 if point moved out of or into a composition. Otherwise |
| 9320 | return 0. PREV_BUF and PREV_PT are the last point buffer and | 9481 | return 0. PREV_BUF and PREV_PT are the last point buffer and |
| 9321 | position. BUF and PT are the current point buffer and position. */ | 9482 | position. BUF and PT are the current point buffer and position. */ |
| @@ -9595,8 +9756,7 @@ redisplay_internal (preserve_echo_area) | |||
| 9595 | 9756 | ||
| 9596 | /* If specs for an arrow have changed, do thorough redisplay | 9757 | /* If specs for an arrow have changed, do thorough redisplay |
| 9597 | to ensure we remove any arrow that should no longer exist. */ | 9758 | to ensure we remove any arrow that should no longer exist. */ |
| 9598 | if (! EQ (COERCE_MARKER (Voverlay_arrow_position), last_arrow_position) | 9759 | if (overlay_arrows_changed_p ()) |
| 9599 | || ! EQ (Voverlay_arrow_string, last_arrow_string)) | ||
| 9600 | consider_all_windows_p = windows_or_buffers_changed = 1; | 9760 | consider_all_windows_p = windows_or_buffers_changed = 1; |
| 9601 | 9761 | ||
| 9602 | /* Normally the message* functions will have already displayed and | 9762 | /* Normally the message* functions will have already displayed and |
| @@ -10056,11 +10216,7 @@ redisplay_internal (preserve_echo_area) | |||
| 10056 | CHARPOS (this_line_start_pos) = 0; | 10216 | CHARPOS (this_line_start_pos) = 0; |
| 10057 | 10217 | ||
| 10058 | /* Let the overlay arrow be updated the next time. */ | 10218 | /* Let the overlay arrow be updated the next time. */ |
| 10059 | if (!NILP (last_arrow_position)) | 10219 | update_overlay_arrows (0); |
| 10060 | { | ||
| 10061 | last_arrow_position = Qt; | ||
| 10062 | last_arrow_string = Qt; | ||
| 10063 | } | ||
| 10064 | 10220 | ||
| 10065 | /* If we pause after scrolling, some rows in the current | 10221 | /* If we pause after scrolling, some rows in the current |
| 10066 | matrices of some windows are not valid. */ | 10222 | matrices of some windows are not valid. */ |
| @@ -10076,8 +10232,8 @@ redisplay_internal (preserve_echo_area) | |||
| 10076 | consider_all_windows_p is set. */ | 10232 | consider_all_windows_p is set. */ |
| 10077 | mark_window_display_accurate_1 (w, 1); | 10233 | mark_window_display_accurate_1 (w, 1); |
| 10078 | 10234 | ||
| 10079 | last_arrow_position = COERCE_MARKER (Voverlay_arrow_position); | 10235 | /* Say overlay arrows are up to date. */ |
| 10080 | last_arrow_string = Voverlay_arrow_string; | 10236 | update_overlay_arrows (1); |
| 10081 | 10237 | ||
| 10082 | if (FRAME_DISPLAY (sf)->frame_up_to_date_hook != 0) | 10238 | if (FRAME_DISPLAY (sf)->frame_up_to_date_hook != 0) |
| 10083 | FRAME_DISPLAY (sf)->frame_up_to_date_hook (sf); | 10239 | FRAME_DISPLAY (sf)->frame_up_to_date_hook (sf); |
| @@ -10273,16 +10429,14 @@ mark_window_display_accurate (window, accurate_p) | |||
| 10273 | 10429 | ||
| 10274 | if (accurate_p) | 10430 | if (accurate_p) |
| 10275 | { | 10431 | { |
| 10276 | last_arrow_position = COERCE_MARKER (Voverlay_arrow_position); | 10432 | update_overlay_arrows (1); |
| 10277 | last_arrow_string = Voverlay_arrow_string; | ||
| 10278 | } | 10433 | } |
| 10279 | else | 10434 | else |
| 10280 | { | 10435 | { |
| 10281 | /* Force a thorough redisplay the next time by setting | 10436 | /* Force a thorough redisplay the next time by setting |
| 10282 | last_arrow_position and last_arrow_string to t, which is | 10437 | last_arrow_position and last_arrow_string to t, which is |
| 10283 | unequal to any useful value of Voverlay_arrow_... */ | 10438 | unequal to any useful value of Voverlay_arrow_... */ |
| 10284 | last_arrow_position = Qt; | 10439 | update_overlay_arrows (-1); |
| 10285 | last_arrow_string = Qt; | ||
| 10286 | } | 10440 | } |
| 10287 | } | 10441 | } |
| 10288 | 10442 | ||
| @@ -11033,8 +11187,7 @@ try_cursor_movement (window, startp, scroll_step) | |||
| 11033 | && INTEGERP (w->window_end_vpos) | 11187 | && INTEGERP (w->window_end_vpos) |
| 11034 | && XFASTINT (w->window_end_vpos) < w->current_matrix->nrows | 11188 | && XFASTINT (w->window_end_vpos) < w->current_matrix->nrows |
| 11035 | && (FRAME_WINDOW_P (f) | 11189 | && (FRAME_WINDOW_P (f) |
| 11036 | || !MARKERP (Voverlay_arrow_position) | 11190 | || !overlay_arrow_in_current_buffer_p ())) |
| 11037 | || current_buffer != XMARKER (Voverlay_arrow_position)->buffer)) | ||
| 11038 | { | 11191 | { |
| 11039 | int this_scroll_margin; | 11192 | int this_scroll_margin; |
| 11040 | struct glyph_row *row = NULL; | 11193 | struct glyph_row *row = NULL; |
| @@ -12786,8 +12939,7 @@ try_window_id (w) | |||
| 12786 | GIVE_UP (10); | 12939 | GIVE_UP (10); |
| 12787 | 12940 | ||
| 12788 | /* Can use this if overlay arrow position and or string have changed. */ | 12941 | /* Can use this if overlay arrow position and or string have changed. */ |
| 12789 | if (!EQ (last_arrow_position, COERCE_MARKER (Voverlay_arrow_position)) | 12942 | if (overlay_arrows_changed_p ()) |
| 12790 | || !EQ (last_arrow_string, Voverlay_arrow_string)) | ||
| 12791 | GIVE_UP (12); | 12943 | GIVE_UP (12); |
| 12792 | 12944 | ||
| 12793 | 12945 | ||
| @@ -13724,14 +13876,15 @@ usage: (trace-to-stderr STRING &rest OBJECTS) */) | |||
| 13724 | arrow. Only used for non-window-redisplay windows. */ | 13876 | arrow. Only used for non-window-redisplay windows. */ |
| 13725 | 13877 | ||
| 13726 | static struct glyph_row * | 13878 | static struct glyph_row * |
| 13727 | get_overlay_arrow_glyph_row (w) | 13879 | get_overlay_arrow_glyph_row (w, overlay_arrow_string) |
| 13728 | struct window *w; | 13880 | struct window *w; |
| 13881 | Lisp_Object overlay_arrow_string; | ||
| 13729 | { | 13882 | { |
| 13730 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 13883 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 13731 | struct buffer *buffer = XBUFFER (w->buffer); | 13884 | struct buffer *buffer = XBUFFER (w->buffer); |
| 13732 | struct buffer *old = current_buffer; | 13885 | struct buffer *old = current_buffer; |
| 13733 | const unsigned char *arrow_string = SDATA (Voverlay_arrow_string); | 13886 | const unsigned char *arrow_string = SDATA (overlay_arrow_string); |
| 13734 | int arrow_len = SCHARS (Voverlay_arrow_string); | 13887 | int arrow_len = SCHARS (overlay_arrow_string); |
| 13735 | const unsigned char *arrow_end = arrow_string + arrow_len; | 13888 | const unsigned char *arrow_end = arrow_string + arrow_len; |
| 13736 | const unsigned char *p; | 13889 | const unsigned char *p; |
| 13737 | struct it it; | 13890 | struct it it; |
| @@ -13758,7 +13911,7 @@ get_overlay_arrow_glyph_row (w) | |||
| 13758 | 13911 | ||
| 13759 | /* Get its face. */ | 13912 | /* Get its face. */ |
| 13760 | ilisp = make_number (p - arrow_string); | 13913 | ilisp = make_number (p - arrow_string); |
| 13761 | face = Fget_text_property (ilisp, Qface, Voverlay_arrow_string); | 13914 | face = Fget_text_property (ilisp, Qface, overlay_arrow_string); |
| 13762 | it.face_id = compute_char_face (f, it.c, face); | 13915 | it.face_id = compute_char_face (f, it.c, face); |
| 13763 | 13916 | ||
| 13764 | /* Compute its width, get its glyphs. */ | 13917 | /* Compute its width, get its glyphs. */ |
| @@ -14197,6 +14350,8 @@ display_line (it) | |||
| 14197 | struct it *it; | 14350 | struct it *it; |
| 14198 | { | 14351 | { |
| 14199 | struct glyph_row *row = it->glyph_row; | 14352 | struct glyph_row *row = it->glyph_row; |
| 14353 | int overlay_arrow_bitmap; | ||
| 14354 | Lisp_Object overlay_arrow_string; | ||
| 14200 | 14355 | ||
| 14201 | /* We always start displaying at hpos zero even if hscrolled. */ | 14356 | /* We always start displaying at hpos zero even if hscrolled. */ |
| 14202 | xassert (it->hpos == 0 && it->current_x == 0); | 14357 | xassert (it->hpos == 0 && it->current_x == 0); |
| @@ -14592,17 +14747,16 @@ display_line (it) | |||
| 14592 | mark this glyph row as the one containing the overlay arrow. | 14747 | mark this glyph row as the one containing the overlay arrow. |
| 14593 | This is clearly a mess with variable size fonts. It would be | 14748 | This is clearly a mess with variable size fonts. It would be |
| 14594 | better to let it be displayed like cursors under X. */ | 14749 | better to let it be displayed like cursors under X. */ |
| 14595 | if (MARKERP (Voverlay_arrow_position) | 14750 | if (! overlay_arrow_seen |
| 14596 | && current_buffer == XMARKER (Voverlay_arrow_position)->buffer | 14751 | && (overlay_arrow_string |
| 14597 | && (MATRIX_ROW_START_CHARPOS (row) | 14752 | = overlay_arrow_at_row (it->f, row, &overlay_arrow_bitmap), |
| 14598 | == marker_position (Voverlay_arrow_position)) | 14753 | !NILP (overlay_arrow_string))) |
| 14599 | && STRINGP (Voverlay_arrow_string) | ||
| 14600 | && ! overlay_arrow_seen) | ||
| 14601 | { | 14754 | { |
| 14602 | /* Overlay arrow in window redisplay is a fringe bitmap. */ | 14755 | /* Overlay arrow in window redisplay is a fringe bitmap. */ |
| 14603 | if (!FRAME_WINDOW_P (it->f)) | 14756 | if (!FRAME_WINDOW_P (it->f)) |
| 14604 | { | 14757 | { |
| 14605 | struct glyph_row *arrow_row = get_overlay_arrow_glyph_row (it->w); | 14758 | struct glyph_row *arrow_row |
| 14759 | = get_overlay_arrow_glyph_row (it->w, overlay_arrow_string); | ||
| 14606 | struct glyph *glyph = arrow_row->glyphs[TEXT_AREA]; | 14760 | struct glyph *glyph = arrow_row->glyphs[TEXT_AREA]; |
| 14607 | struct glyph *arrow_end = glyph + arrow_row->used[TEXT_AREA]; | 14761 | struct glyph *arrow_end = glyph + arrow_row->used[TEXT_AREA]; |
| 14608 | struct glyph *p = row->glyphs[TEXT_AREA]; | 14762 | struct glyph *p = row->glyphs[TEXT_AREA]; |
| @@ -14626,6 +14780,7 @@ display_line (it) | |||
| 14626 | } | 14780 | } |
| 14627 | 14781 | ||
| 14628 | overlay_arrow_seen = 1; | 14782 | overlay_arrow_seen = 1; |
| 14783 | it->w->overlay_arrow_bitmap = overlay_arrow_bitmap; | ||
| 14629 | row->overlay_arrow_p = 1; | 14784 | row->overlay_arrow_p = 1; |
| 14630 | } | 14785 | } |
| 14631 | 14786 | ||
| @@ -17707,6 +17862,9 @@ produce_image_glyph (it) | |||
| 17707 | if (it->image_id < 0) | 17862 | if (it->image_id < 0) |
| 17708 | { | 17863 | { |
| 17709 | /* Fringe bitmap. */ | 17864 | /* Fringe bitmap. */ |
| 17865 | it->ascent = it->phys_ascent = 0; | ||
| 17866 | it->descent = it->phys_descent = 0; | ||
| 17867 | it->pixel_width = 0; | ||
| 17710 | it->nglyphs = 0; | 17868 | it->nglyphs = 0; |
| 17711 | return; | 17869 | return; |
| 17712 | } | 17870 | } |
| @@ -21433,10 +21591,15 @@ syms_of_xdisp () | |||
| 21433 | list_of_error = Fcons (intern ("error"), Qnil); | 21591 | list_of_error = Fcons (intern ("error"), Qnil); |
| 21434 | staticpro (&list_of_error); | 21592 | staticpro (&list_of_error); |
| 21435 | 21593 | ||
| 21436 | last_arrow_position = Qnil; | 21594 | Qlast_arrow_position = intern ("last-arrow-position"); |
| 21437 | last_arrow_string = Qnil; | 21595 | staticpro (&Qlast_arrow_position); |
| 21438 | staticpro (&last_arrow_position); | 21596 | Qlast_arrow_string = intern ("last-arrow-string"); |
| 21439 | staticpro (&last_arrow_string); | 21597 | staticpro (&Qlast_arrow_string); |
| 21598 | |||
| 21599 | Qoverlay_arrow_string = intern ("overlay-arrow-string"); | ||
| 21600 | staticpro (&Qoverlay_arrow_string); | ||
| 21601 | Qoverlay_arrow_bitmap = intern ("overlay-arrow-bitmap"); | ||
| 21602 | staticpro (&Qoverlay_arrow_bitmap); | ||
| 21440 | 21603 | ||
| 21441 | echo_buffer[0] = echo_buffer[1] = Qnil; | 21604 | echo_buffer[0] = echo_buffer[1] = Qnil; |
| 21442 | staticpro (&echo_buffer[0]); | 21605 | staticpro (&echo_buffer[0]); |
| @@ -21500,9 +21663,17 @@ See also `overlay-arrow-string'. */); | |||
| 21500 | Voverlay_arrow_position = Qnil; | 21663 | Voverlay_arrow_position = Qnil; |
| 21501 | 21664 | ||
| 21502 | DEFVAR_LISP ("overlay-arrow-string", &Voverlay_arrow_string, | 21665 | DEFVAR_LISP ("overlay-arrow-string", &Voverlay_arrow_string, |
| 21503 | doc: /* String to display as an arrow. See also `overlay-arrow-position'. */); | 21666 | doc: /* String to display as an arrow in non-window frames. |
| 21667 | See also `overlay-arrow-position'. */); | ||
| 21504 | Voverlay_arrow_string = Qnil; | 21668 | Voverlay_arrow_string = Qnil; |
| 21505 | 21669 | ||
| 21670 | DEFVAR_LISP ("overlay-arrow-variable-list", &Voverlay_arrow_variable_list, | ||
| 21671 | doc: /* List of variables (symbols) which hold markers for overlay arrows. | ||
| 21672 | The symbols on this list are examined during redisplay to determine | ||
| 21673 | where to display overlay arrows. */); | ||
| 21674 | Voverlay_arrow_variable_list | ||
| 21675 | = Fcons (intern ("overlay-arrow-position"), Qnil); | ||
| 21676 | |||
| 21506 | DEFVAR_INT ("scroll-step", &scroll_step, | 21677 | DEFVAR_INT ("scroll-step", &scroll_step, |
| 21507 | doc: /* *The number of lines to try scrolling a window by when point moves out. | 21678 | doc: /* *The number of lines to try scrolling a window by when point moves out. |
| 21508 | If that fails to bring point back on frame, point is centered instead. | 21679 | If that fails to bring point back on frame, point is centered instead. |
diff --git a/src/xfns.c b/src/xfns.c index 9f21cc98502..b2b16defdbd 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -3762,8 +3762,17 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3762 | { | 3762 | { |
| 3763 | struct x_display_info *dpyinfo = check_x_display_info (display); | 3763 | struct x_display_info *dpyinfo = check_x_display_info (display); |
| 3764 | 3764 | ||
| 3765 | return make_number (DisplayCells (dpyinfo->display, | 3765 | int nr_planes = DisplayPlanes (dpyinfo->display, |
| 3766 | XScreenNumberOfScreen (dpyinfo->screen))); | 3766 | XScreenNumberOfScreen (dpyinfo->screen)); |
| 3767 | |||
| 3768 | /* Truncate nr_planes to 24 to avoid integer overflow. | ||
| 3769 | Some displays says 32, but only 24 bits are actually significant. | ||
| 3770 | There are only very few and rare video cards that have more than | ||
| 3771 | 24 significant bits. Also 24 bits is more than 16 million colors, | ||
| 3772 | it "should be enough for everyone". */ | ||
| 3773 | if (nr_planes > 24) nr_planes = 24; | ||
| 3774 | |||
| 3775 | return make_number (1 << nr_planes); | ||
| 3767 | } | 3776 | } |
| 3768 | 3777 | ||
| 3769 | DEFUN ("x-server-max-request-size", Fx_server_max_request_size, | 3778 | DEFUN ("x-server-max-request-size", Fx_server_max_request_size, |