aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKaroly Lorentey2005-07-10 19:23:59 +0000
committerKaroly Lorentey2005-07-10 19:23:59 +0000
commitcc7d6d6f6d422efeba9934486bdf7b418391660f (patch)
tree695ceaedc1ae0410347235eac9119f8bca382e2b /lisp
parente519a50bf7b0d7074f07ce492abb3cd544f79f59 (diff)
parent43b557d50704df1dc45cc201a5596c05b62a6178 (diff)
downloademacs-cc7d6d6f6d422efeba9934486bdf7b418391660f.tar.gz
emacs-cc7d6d6f6d422efeba9934486bdf7b418391660f.zip
Merged from miles@gnu.org--gnu-2005 (patch 470-473)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-470 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-471 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-472 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-473 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-376
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog169
-rw-r--r--lisp/battery.el87
-rw-r--r--lisp/emulation/tpu-edt.el715
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/hi-lock.el12
-rw-r--r--lisp/international/mule-cmds.el14
-rw-r--r--lisp/international/mule.el12
-rw-r--r--lisp/international/utf-16.el5
-rw-r--r--lisp/mh-e/ChangeLog4
-rw-r--r--lisp/progmodes/flymake.el14
-rw-r--r--lisp/progmodes/gud.el1
-rw-r--r--lisp/progmodes/hideif.el6
-rw-r--r--lisp/url/ChangeLog4
-rw-r--r--lisp/w32-vars.el2
14 files changed, 593 insertions, 456 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 747117a279b..a40afc7733a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,56 @@
12005-07-07 Kenichi Handa <handa@m17n.org>
2
3 * international/mule.el (make-coding-system): Describe
4 `ascii-incompatible' property in the docstring.
5 (set-file-name-coding-system): Signal an error if coding-system is
6 ascii-incompatible.
7 (set-keyboard-coding-system): Likewise.
8
9 * international/mule-cmds.el (set-default-coding-systems): Don't
10 set default-file-name-coding-system and
11 default-keyboard-coding-system if coding-system is
12 ASCII-incompatible.
13
14 * international/utf-16.el: Declare that all UTF-16-based coding
15 systems ASCII-incompatible.
16
172005-07-07 Nick Roberts <nickrob@snap.net.nz>
18
19 * progmodes/gud.el: Require font-lock for displaying errors.
20 Used by gdb-ui.el.
21
222005-07-07 Juanma Barranquero <lekktu@gmail.com>
23
24 * hi-lock.el (hi-lock-find-patterns): Protect also against invalid
25 values for the pattern lists which are `read'able but not
26 `append'able (like symbols).
27
282005-07-06 Richard M. Stallman <rms@gnu.org>
29
30 * progmodes/flymake.el (flymake-float-time): Instead of
31 with-no-warnings, test for xemacs.
32 (flymake-replace-regexp-in-string): Test fboundp of replace-in-string
33 to avoid warning.
34
352005-07-06 Juanma Barranquero <lekktu@gmail.com>
36
37 * w32-vars.el (w32-fixed-font-alist): Fix typo in `defcustom' tag.
38
392005-07-05 Lute Kamstra <lute@gnu.org>
40
41 * battery.el: Add support for Darwin (with much debugging help
42 from Samuel Lauber <sam124@operamail.com>).
43 (battery-status-function, battery-echo-area-format)
44 (battery-mode-line-format): Add support for pmset on Darwin.
45 (battery-load-low, battery-load-critical): New user options.
46 (battery-pmset): New function.
47
482005-07-05 Lute Kamstra <lute@gnu.org>
49
50 Update FSF's address in GPL notices.
51
52 * textmodes/page-ext.el: Update FSF's address.
53
12005-07-04 Stefan Monnier <monnier@iro.umontreal.ca> 542005-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2 55
3 * emacs-lisp/lisp-mode.el (lisp-mode-variables): Prevent adaptive 56 * emacs-lisp/lisp-mode.el (lisp-mode-variables): Prevent adaptive
@@ -352,7 +405,7 @@
352 font-lock-regexp-backslash. Doc fix. 405 font-lock-regexp-backslash. Doc fix.
353 (font-lock-regexp-backslash-grouping-construct): Rename from 406 (font-lock-regexp-backslash-grouping-construct): Rename from
354 font-lock-regexp-backslash-construct. Doc fix. 407 font-lock-regexp-backslash-construct. Doc fix.
355 (lisp-font-lock-keywords-2): Fix highlighting of ELisp regexp 408 (lisp-font-lock-keywords-2): Fix highlighting of Elisp regexp
356 grouping constructs. 409 grouping constructs.
357 410
3582005-07-02 Eli Zaretskii <eliz@gnu.org> 4112005-07-02 Eli Zaretskii <eliz@gnu.org>
@@ -628,7 +681,7 @@
628 (facemenu-get-face): Delete function. 681 (facemenu-get-face): Delete function.
629 (facemenu-set-face-from-menu): Don't call facemenu-get-face. 682 (facemenu-set-face-from-menu): Don't call facemenu-get-face.
630 (facemenu-add-new-color): Make second argument mandatory. 683 (facemenu-add-new-color): Make second argument mandatory.
631 Create the approprate face and return it. Simplify. 684 Create the appropriate face and return it. Simplify.
632 (facemenu-set-foreground, facemenu-set-background): Don't check if 685 (facemenu-set-foreground, facemenu-set-background): Don't check if
633 color is defined. Use return value of facemenu-add-new-color. 686 color is defined. Use return value of facemenu-add-new-color.
634 687
@@ -2338,7 +2391,7 @@
2338 2391
23392005-05-30 Juanma Barranquero <lekktu@gmail.com> 23922005-05-30 Juanma Barranquero <lekktu@gmail.com>
2340 2393
2341 * thumbs.el (thumbs-thumbname): The resulting thubname now 2394 * thumbs.el (thumbs-thumbname): The resulting thumbname now
2342 includes a hash value to improve its uniqueness, and has a ".jpg" 2395 includes a hash value to improve its uniqueness, and has a ".jpg"
2343 extension. Also, it is now a valid filename on all systems. 2396 extension. Also, it is now a valid filename on all systems.
2344 (thumbs-make-thumb): Use `let', not `let*'. 2397 (thumbs-make-thumb): Use `let', not `let*'.
@@ -2704,7 +2757,7 @@
2704 (gdb-get-selected-frame): Rename from gdb-get-current-frame. 2757 (gdb-get-selected-frame): Rename from gdb-get-current-frame.
2705 (gdb-frame-number): Rename from gdb-current-stack-level. 2758 (gdb-frame-number): Rename from gdb-current-stack-level.
2706 (gdb-ann3): Match new mode-name for disassembly buffer. 2759 (gdb-ann3): Match new mode-name for disassembly buffer.
2707 Extend initialisation of variables. 2760 Extend initialization of variables.
2708 (gdb-post-prompt): Update disassembly from gdb-frame-handler. 2761 (gdb-post-prompt): Update disassembly from gdb-frame-handler.
2709 (gdb-memory-mode): Use mouse-face in header line. 2762 (gdb-memory-mode): Use mouse-face in header line.
2710 (gdb-assembler-buffer-name): Call it disassembly and give frame 2763 (gdb-assembler-buffer-name): Call it disassembly and give frame
@@ -3207,7 +3260,7 @@
3207 overlay initializations. 3260 overlay initializations.
3208 (reftex-highlight): Use `reftex-move-overlay'. 3261 (reftex-highlight): Use `reftex-move-overlay'.
3209 (reftex-unhighlight): Use `reftex-delete-overlay'. 3262 (reftex-unhighlight): Use `reftex-delete-overlay'.
3210 (reftex-uniq): Funktion removed. Use `reftex-uniquify' instead. 3263 (reftex-uniq): Function removed. Use `reftex-uniquify' instead.
3211 (reftex-access-search-path): Use `reftex-uniquify' instead of 3264 (reftex-access-search-path): Use `reftex-uniquify' instead of
3212 `reftex-uniq' 3265 `reftex-uniq'
3213 3266
@@ -3866,7 +3919,7 @@
3866 3919
3867 * progmodes/gud.el: Move code for GUD tooltips from tooltip.el. 3920 * progmodes/gud.el: Move code for GUD tooltips from tooltip.el.
3868 (require): CL needed to compile case. 3921 (require): CL needed to compile case.
3869 (gud-tooltip-mode): Use to toggle GUD tooltips unstead of 3922 (gud-tooltip-mode): Use to toggle GUD tooltips instead of
3870 tooltip-gud-tips-p. Make it a minor-mode. 3923 tooltip-gud-tips-p. Make it a minor-mode.
3871 (gud-find-file): Only prepare GUD tooltips if gud-tooltip-mode is t. 3924 (gud-find-file): Only prepare GUD tooltips if gud-tooltip-mode is t.
3872 (gud-menu-map): GUD tooltips use gud-tooltip-mode now. 3925 (gud-menu-map): GUD tooltips use gud-tooltip-mode now.
@@ -4011,7 +4064,7 @@
4011 4064
40122005-05-04 Nick Roberts <nickrob@snap.net.nz> 40652005-05-04 Nick Roberts <nickrob@snap.net.nz>
4013 4066
4014 * progmodes/cmacexp.el (c-macro-preprocessor): Update for Mac OSX. 4067 * progmodes/cmacexp.el (c-macro-preprocessor): Update for Mac OS X.
4015 4068
40162005-05-04 Richard M. Stallman <rms@gnu.org> 40692005-05-04 Richard M. Stallman <rms@gnu.org>
4017 4070
@@ -4208,7 +4261,7 @@
42082005-04-30 Nick Roberts <nickrob@snap.net.nz> 42612005-04-30 Nick Roberts <nickrob@snap.net.nz>
4209 4262
4210 * progmodes/cc-mode.el (cc-create-define-alist): Check that file 4263 * progmodes/cc-mode.el (cc-create-define-alist): Check that file
4211 exists. Initialise cc-define-alist. 4264 exists. Initialize cc-define-alist.
4212 (c-mode): Add cc-create-define-alist locally to after-save-hook. 4265 (c-mode): Add cc-create-define-alist locally to after-save-hook.
4213 If there is no file (Macroexpansion) don't create an alist. 4266 If there is no file (Macroexpansion) don't create an alist.
4214 4267
@@ -4300,7 +4353,7 @@
4300 4353
4301 * progmodes/cc-mode.el (cc-create-define-alist): New function. 4354 * progmodes/cc-mode.el (cc-create-define-alist): New function.
4302 (cc-define-alist): New variable. 4355 (cc-define-alist): New variable.
4303 (c-mode): Make it local and initialise it. 4356 (c-mode): Make it local and initialize it.
4304 4357
4305 * progmodes/gdb-ui.el (gdb-active-process): New variable. 4358 * progmodes/gdb-ui.el (gdb-active-process): New variable.
4306 (gdb-exited): New function. 4359 (gdb-exited): New function.
@@ -4831,7 +4884,7 @@
4831 (org-last-todo-state-is-todo): New variable. 4884 (org-last-todo-state-is-todo): New variable.
4832 (org-todo): Set `org-last-todo-state-is-todo'. 4885 (org-todo): Set `org-last-todo-state-is-todo'.
4833 (org-agenda-todo): Change face according to 4886 (org-agenda-todo): Change face according to
4834 `org-last-todo-state-is-todo'. And change other lines refering to 4887 `org-last-todo-state-is-todo'. And change other lines referring to
4835 the same entry. 4888 the same entry.
4836 (org-calendar-goto-agenda): New command. 4889 (org-calendar-goto-agenda): New command.
4837 (org-calendar-to-agenda-key): New option. 4890 (org-calendar-to-agenda-key): New option.
@@ -5713,7 +5766,7 @@
5713 5766
57142005-03-30 Nick Roberts <nickrob@snap.net.nz> 57672005-03-30 Nick Roberts <nickrob@snap.net.nz>
5715 5768
5716 * progmodes/gud.el (gdb): (Re)-initialise gud-filter-pending-text. 5769 * progmodes/gud.el (gdb): (Re)-initialize gud-filter-pending-text.
5717 (gud-filter-pending-text): Move in front of gdb. 5770 (gud-filter-pending-text): Move in front of gdb.
5718 (gud-overlay-arrow-position): New variable. 5771 (gud-overlay-arrow-position): New variable.
5719 (gud-sentinel, gud-display-line): Use it in place of 5772 (gud-sentinel, gud-display-line): Use it in place of
@@ -6318,7 +6371,7 @@
63182005-03-19 Michael R. Mauger <mmaug@yahoo.com> 63712005-03-19 Michael R. Mauger <mmaug@yahoo.com>
6319 6372
6320 * recentf.el (recentf-cleanup-remote): New variable. 6373 * recentf.el (recentf-cleanup-remote): New variable.
6321 (recentf-cleanup): Use it to conditionally check availablity of 6374 (recentf-cleanup): Use it to conditionally check availability of
6322 remote files. 6375 remote files.
6323 6376
63242005-03-19 Joe Edmonds <joe-bugs-debian-org@elem.com> (tiny change) 63772005-03-19 Joe Edmonds <joe-bugs-debian-org@elem.com> (tiny change)
@@ -6595,7 +6648,7 @@
6595 * simple.el (next-line, previous-line): Add optional try-vscroll 6648 * simple.el (next-line, previous-line): Add optional try-vscroll
6596 arg to recognize interactive use. Pass it on to line-move. 6649 arg to recognize interactive use. Pass it on to line-move.
6597 (line-move): Don't perform auto-window-vscroll when defining or 6650 (line-move): Don't perform auto-window-vscroll when defining or
6598 executing keyboard macro to ensure consistent behaviour. 6651 executing keyboard macro to ensure consistent behavior.
6599 6652
66002005-03-13 Stefan Monnier <monnier@iro.umontreal.ca> 66532005-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
6601 6654
@@ -6691,7 +6744,7 @@
6691 * tooltip.el (tooltip-mode): Use define-minor-mode and simplify. 6744 * tooltip.el (tooltip-mode): Use define-minor-mode and simplify.
6692 (tooltip-activate-mouse-motions-if-enabled): Use dolist. 6745 (tooltip-activate-mouse-motions-if-enabled): Use dolist.
6693 (tooltip-gud-tips): Simplify. 6746 (tooltip-gud-tips): Simplify.
6694 (tooltip-gud-tips-p): Remove superflouous :set. 6747 (tooltip-gud-tips-p): Remove superfluous :set.
6695 (tooltip-gud-modes): Add fortran-mode. 6748 (tooltip-gud-modes): Add fortran-mode.
6696 (gdb-tooltip-print): Remove newline for tooltip-use-echo-area. 6749 (gdb-tooltip-print): Remove newline for tooltip-use-echo-area.
6697 6750
@@ -7844,7 +7897,7 @@
7844 * progmodes/gdb-ui.el (gdb-info-breakpoints-custom) 7897 * progmodes/gdb-ui.el (gdb-info-breakpoints-custom)
7845 (gdb-goto-breakpoint): Make breakpoint handling work on template 7898 (gdb-goto-breakpoint): Make breakpoint handling work on template
7846 functions in C++. Reported by Martin Reed <mjreed@essex.ac.uk> 7899 functions in C++. Reported by Martin Reed <mjreed@essex.ac.uk>
7847 (gdb-assembler-custom): Update to recognise breakpoint information 7900 (gdb-assembler-custom): Update to recognize breakpoint information
7848 added on 2005-01-19. 7901 added on 2005-01-19.
7849 7902
78502005-01-28 Stefan Monnier <monnier@iro.umontreal.ca> 79032005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -8013,7 +8066,7 @@
80132005-01-19 Steven Tamm <steventamm@mac.com> 80662005-01-19 Steven Tamm <steventamm@mac.com>
8014 8067
8015 * term/mac-win.el (process-connection-type): Use new 8068 * term/mac-win.el (process-connection-type): Use new
8016 operating-system-release variable to use ptys on Darwin 7 (OSX 8069 operating-system-release variable to use ptys on Darwin 7 (OS X
8017 10.3) when using carbon build. 8070 10.3) when using carbon build.
8018 8071
80192005-01-19 Jay Belanger <belanger@truman.edu> 80722005-01-19 Jay Belanger <belanger@truman.edu>
@@ -9502,7 +9555,7 @@
9502 9555
95032004-12-11 Dan Nicolaescu <dann@ics.uci.edu> 95562004-12-11 Dan Nicolaescu <dann@ics.uci.edu>
9504 9557
9505 * term.el (term-termcap-format): Synchronyze with terminfo. 9558 * term.el (term-termcap-format): Synchronize with terminfo.
9506 (term-emulate-terminal): Handle reset. 9559 (term-emulate-terminal): Handle reset.
9507 (term-reset-terminal): New function. 9560 (term-reset-terminal): New function.
9508 9561
@@ -12610,7 +12663,7 @@
12610 12663
126112004-10-06 Nick Roberts <nickrob@snap.net.nz> 126642004-10-06 Nick Roberts <nickrob@snap.net.nz>
12612 12665
12613 * progmodes/gdb-ui.el (gdb-ann3): (Re-)initialise gdb-input-queue. 12666 * progmodes/gdb-ui.el (gdb-ann3): (Re-)initialize gdb-input-queue.
12614 12667
126152004-10-06 John Paul Wallington <jpw@gnu.org> 126682004-10-06 John Paul Wallington <jpw@gnu.org>
12616 12669
@@ -12773,7 +12826,7 @@
12773 (term-mode): Set `indent-tabs-mode' to nil. 12826 (term-mode): Set `indent-tabs-mode' to nil.
12774 (term-paste): New function to be bound to S-insert. 12827 (term-paste): New function to be bound to S-insert.
12775 (term-send-del, term-send-backspace): Change the strings sent. 12828 (term-send-del, term-send-backspace): Change the strings sent.
12776 (term-termcap-format): Synchronyze with etc/e/eterm.ti. 12829 (term-termcap-format): Synchronize with etc/e/eterm.ti.
12777 (term-handle-colors-array): Fix handling of underline and reverse. 12830 (term-handle-colors-array): Fix handling of underline and reverse.
12778 (term-handle-ansi-escape): Do not handle smcup/rmcup. Add comments. 12831 (term-handle-ansi-escape): Do not handle smcup/rmcup. Add comments.
12779 (term-erase-in-line): Fix comparison. 12832 (term-erase-in-line): Fix comparison.
@@ -12836,7 +12889,7 @@
12836 easter, not all easter holidays. Various Easter holidays moved to 12889 easter, not all easter holidays. Various Easter holidays moved to
12837 `christian-holidays' variable in calendar.el. 12890 `christian-holidays' variable in calendar.el.
12838 * calendar/calendar.el (christian-holidays): Adapt for new 12891 * calendar/calendar.el (christian-holidays): Adapt for new
12839 behaviour of `holiday-advent' and `holiday-easter-etc' functions. 12892 behavior of `holiday-advent' and `holiday-easter-etc' functions.
12840 12893
128412004-09-23 Kim F. Storm <storm@cua.dk> 128942004-09-23 Kim F. Storm <storm@cua.dk>
12842 12895
@@ -13003,14 +13056,14 @@
13003 13056
13004 * term.el (term-down): Perform vertical motion if DOWN is negative. 13057 * term.el (term-down): Perform vertical motion if DOWN is negative.
13005 (term-exec-1): Set both TERMCAP and TERMINFO unconditionally. 13058 (term-exec-1): Set both TERMCAP and TERMINFO unconditionally.
13006 (term-termcap-format): Synchronyze with the eterm terminfo entry 13059 (term-termcap-format): Synchronize with the eterm terminfo entry
13007 in etc/e/eterm.ti. 13060 in etc/e/eterm.ti.
13008 (term-handle-colors-array): If the current foreground or 13061 (term-handle-colors-array): If the current foreground or
13009 background are zero (i.e. unspecified), use the foreground and 13062 background are zero (i.e. unspecified), use the foreground and
13010 background of the default face for reverse video. 13063 background of the default face for reverse video.
13011 (term-ansi-at-eval-string, term-ansi-default-fg) 13064 (term-ansi-at-eval-string, term-ansi-default-fg)
13012 (term-ansi-default-bg, term-ansi-current-temp): Delete unused variable. 13065 (term-ansi-default-bg, term-ansi-current-temp): Delete unused variable.
13013 (term-mem): Delete ununsed function. 13066 (term-mem): Delete unused function.
13014 (term-protocol-version): Increment. 13067 (term-protocol-version): Increment.
13015 (term-current-face): Set to default. 13068 (term-current-face): Set to default.
13016 13069
@@ -13282,7 +13335,7 @@
13282 length, ps-mule-string-char -> aref, ps-mule-next-index -> 1+, 13335 length, ps-mule-string-char -> aref, ps-mule-next-index -> 1+,
13283 ps-mule-next-point -> 1+). 13336 ps-mule-next-point -> 1+).
13284 13337
13285 * composite.el (encode-composition-rule): Add autoload cooky. 13338 * composite.el (encode-composition-rule): Add autoload cookie.
13286 13339
132872004-09-07 Luc Teirlinck <teirllm@auburn.edu> 133402004-09-07 Luc Teirlinck <teirllm@auburn.edu>
13288 13341
@@ -13669,7 +13722,7 @@
13669 * simple.el (shell-command-on-region): New arg DISPLAY-ERROR-BUFFER 13722 * simple.el (shell-command-on-region): New arg DISPLAY-ERROR-BUFFER
13670 controls whether to display the error buffer. 13723 controls whether to display the error buffer.
13671 13724
13672 * ps-mule.el: Delete compatibility code for old Emacses. 13725 * ps-mule.el: Delete compatibility code for old Emacsen.
13673 (ps-mule-find-wrappoint): Don't use chars-in-region. 13726 (ps-mule-find-wrappoint): Don't use chars-in-region.
13674 13727
13675 * frame.el (display-mouse-p, display-selections-p): 13728 * frame.el (display-mouse-p, display-selections-p):
@@ -13965,7 +14018,7 @@
13965 the buffer has no recorded last modification time. Return t in 14018 the buffer has no recorded last modification time. Return t in
13966 case the visiting file doesn't exist. Suggested by Luc Teirlinck 14019 case the visiting file doesn't exist. Suggested by Luc Teirlinck
13967 <teirllm@auburn.edu>. 14020 <teirllm@auburn.edu>.
13968 (tramp-handle-write-region): Pass modtime explicitely to 14021 (tramp-handle-write-region): Pass modtime explicitly to
13969 `set-visited-file-modtime', because filename can be different 14022 `set-visited-file-modtime', because filename can be different
13970 from (buffer-file-name) if `file-precious-flag' is set. 14023 from (buffer-file-name) if `file-precious-flag' is set.
13971 `set-visited-file-modtime' must be called always when `visit' is t 14024 `set-visited-file-modtime' must be called always when `visit' is t
@@ -14221,7 +14274,7 @@
14221 since Emacs 22.1 only (XEmacs has it). Implementation rewritten 14274 since Emacs 22.1 only (XEmacs has it). Implementation rewritten
14222 in order to avoid this function. 14275 in order to avoid this function.
14223 (tramp-handle-write-region): Set current buffer. If connection 14276 (tramp-handle-write-region): Set current buffer. If connection
14224 wasn't open, `file-modes' has changed it accidently. Reported by 14277 wasn't open, `file-modes' has changed it accidentally. Reported by
14225 David Kastrup <dak@gnu.org>. 14278 David Kastrup <dak@gnu.org>.
14226 (tramp-enter-password, tramp-read-passwd): New arguments USER and 14279 (tramp-enter-password, tramp-read-passwd): New arguments USER and
14227 HOST. 14280 HOST.
@@ -14381,11 +14434,11 @@
14381 number of symbols used. 14434 number of symbols used.
14382 (xml-skip-dtd): Change to use xml-parse-dtd but set 14435 (xml-skip-dtd): Change to use xml-parse-dtd but set
14383 xml-validating-parsing to nil. 14436 xml-validating-parsing to nil.
14384 (xml-parse-dtd): Parse entity deleclarations in DOCTYPEs. 14437 (xml-parse-dtd): Parse entity declarations in DOCTYPEs.
14385 (xml-substitute-entity): Remove in favor of new entity substitution. 14438 (xml-substitute-entity): Remove in favor of new entity substitution.
14386 (xml-substitute-special): Rewrite in to substitute complex 14439 (xml-substitute-special): Rewrite in to substitute complex
14387 entities from DOCTYPE declarations. 14440 entities from DOCTYPE declarations.
14388 (xml-parse-fragment): Parse fragments from entity deleclarations. 14441 (xml-parse-fragment): Parse fragments from entity declarations.
14389 (xml-parse-region, xml-parse-tag, xml-parse-attlist) 14442 (xml-parse-region, xml-parse-tag, xml-parse-attlist)
14390 (xml-parse-dtd, xml-substitute-special): Make validity checks 14443 (xml-parse-dtd, xml-substitute-special): Make validity checks
14391 conditioned on xml-validating-parser. Add "Not Well Formed" to 14444 conditioned on xml-validating-parser. Add "Not Well Formed" to
@@ -14448,7 +14501,7 @@
14448 * iimage.el (turn-on-iimage-mode, iimage-mode): Add autoload cookies. 14501 * iimage.el (turn-on-iimage-mode, iimage-mode): Add autoload cookies.
14449 (iimage-mode-image-search-path): New user option to search the 14502 (iimage-mode-image-search-path): New user option to search the
14450 image file. 14503 image file.
14451 (iimage-locate-file): New funcion. Emacs21.3 or earlier does not 14504 (iimage-locate-file): New function. Emacs21.3 or earlier does not
14452 have locate-file. 14505 have locate-file.
14453 (iimage-mode-buffer): Use it. 14506 (iimage-mode-buffer): Use it.
14454 14507
@@ -14828,7 +14881,7 @@
14828 (utf-8-post-read-conversion): Narrow to region properly. 14881 (utf-8-post-read-conversion): Narrow to region properly.
14829 If utf-translate-cjk-mode is on, load tables if necessary. 14882 If utf-translate-cjk-mode is on, load tables if necessary.
14830 Call utf-8-compose with hash-table arg if necessary. 14883 Call utf-8-compose with hash-table arg if necessary.
14831 Call XXX-compose-region instead of XXX-post-read-convesion. 14884 Call XXX-compose-region instead of XXX-post-read-conversion.
14832 (utf-8-pre-write-conversion): New function. 14885 (utf-8-pre-write-conversion): New function.
14833 (mule-utf-8): Include CJK charsets in safe-charsets if 14886 (mule-utf-8): Include CJK charsets in safe-charsets if
14834 utf-translate-cjk-mode is on. Add pre-write-conversion. 14887 utf-translate-cjk-mode is on. Add pre-write-conversion.
@@ -15102,7 +15155,7 @@
15102 15155
151032004-06-04 Mario Lang <mlang@delysid.org> 151562004-06-04 Mario Lang <mlang@delysid.org>
15104 15157
15105 * battery.el (battery-linux-proc-acpi): `mA' was hardcored, but some 15158 * battery.el (battery-linux-proc-acpi): `mA' was hardcoded, but some
15106 systems appear to use mW, make the code handle this. Fix a 15159 systems appear to use mW, make the code handle this. Fix a
15107 division-by-zero bug while at it, and handle kernels with 15160 division-by-zero bug while at it, and handle kernels with
15108 a slightly different layout in /proc/acpi. 15161 a slightly different layout in /proc/acpi.
@@ -15246,7 +15299,7 @@
152462004-05-30 Michael Albinus <michael.albinus@gmx.de> 152992004-05-30 Michael Albinus <michael.albinus@gmx.de>
15247 15300
15248 * files.el (file-remote-p): Apply file name handler for operation 15301 * files.el (file-remote-p): Apply file name handler for operation
15249 `file-remote-p'. It isn' a property any longer. 15302 `file-remote-p'. It isn't a property any longer.
15250 (file-relative-name): `fh' and `fd' get the required value via 15303 (file-relative-name): `fh' and `fd' get the required value via
15251 `find-file-name-handler' already. 15304 `find-file-name-handler' already.
15252 15305
@@ -15573,7 +15626,7 @@
15573 (gdb-buffer-type, gdb-input-queue, gdb-prompting) 15626 (gdb-buffer-type, gdb-input-queue, gdb-prompting)
15574 (gdb-output-sink, gdb-current-item, gdb-pending-triggers): 15627 (gdb-output-sink, gdb-current-item, gdb-pending-triggers):
15575 Change from local to global gdb variable set. 15628 Change from local to global gdb variable set.
15576 (gdb-ann3): Initialise above gdb variable set. 15629 (gdb-ann3): Initialize above gdb variable set.
15577 (gdb-var-update, gdb-var-update-handler, gdb-enqueue-input) 15630 (gdb-var-update, gdb-var-update-handler, gdb-enqueue-input)
15578 (gdb-dequeue-input, gdb-source, gdb-pre-prompt, gdb-prompt) 15631 (gdb-dequeue-input, gdb-source, gdb-pre-prompt, gdb-prompt)
15579 (gdb-subprompt, gdb-starting, gdb-stopping, gdb-frame-begin) 15632 (gdb-subprompt, gdb-starting, gdb-stopping, gdb-frame-begin)
@@ -15861,7 +15914,7 @@
15861 15914
158622004-05-12 Kenichi Handa <handa@m17n.org> 159152004-05-12 Kenichi Handa <handa@m17n.org>
15863 15916
15864 * descr-text.el: Require quail at comile time. 15917 * descr-text.el: Require quail at compile time.
15865 (describe-char): If an input method is on and it supports the 15918 (describe-char): If an input method is on and it supports the
15866 character, show how to input it. 15919 character, show how to input it.
15867 15920
@@ -16247,7 +16300,7 @@
16247 16300
16248 * emacs/lisp/progmodes/sql.el (sql-xemacs-p, sql-emacs19-p) 16301 * emacs/lisp/progmodes/sql.el (sql-xemacs-p, sql-emacs19-p)
16249 (sql-emacs20-p): Remove. 16302 (sql-emacs20-p): Remove.
16250 (sql-mode-syntax-table): Use shared GNU EMacs/XEmacs syntax. 16303 (sql-mode-syntax-table): Use shared GNU Emacs/XEmacs syntax.
16251 (sql-builtin-face, sql-doc-face): Remove. 16304 (sql-builtin-face, sql-doc-face): Remove.
16252 (sql-mode-ansi-font-lock-keywords) 16305 (sql-mode-ansi-font-lock-keywords)
16253 (sql-mode-oracle-font-lock-keywords) 16306 (sql-mode-oracle-font-lock-keywords)
@@ -16685,7 +16738,7 @@
16685 either a character representation of an event or an event 16738 either a character representation of an event or an event
16686 description list. 16739 description list.
16687 16740
16688 * type-break.el: Capitalise Emacs and Lisp. 16741 * type-break.el: Capitalize Emacs and Lisp.
16689 (type-break-good-break-interval, type-break-demo-boring-stats) 16742 (type-break-good-break-interval, type-break-demo-boring-stats)
16690 (type-break-terse-messages, type-break-file-name): New defcustoms. 16743 (type-break-terse-messages, type-break-file-name): New defcustoms.
16691 (type-break-post-command-hook) 16744 (type-break-post-command-hook)
@@ -16693,7 +16746,7 @@
16693 (type-break-interval-start, type-break-auto-save-file-name): New vars. 16746 (type-break-interval-start, type-break-auto-save-file-name): New vars.
16694 (type-break-mode): Document type-break-good-break-interval and the 16747 (type-break-mode): Document type-break-good-break-interval and the
16695 "session" file. Schedule break according to the session file. 16748 "session" file. Schedule break according to the session file.
16696 Kill session file buffer on exit. Organise for save-some-buffers 16749 Kill session file buffer on exit. Organize for save-some-buffers
16697 to always save the session file. 16750 to always save the session file.
16698 (type-break-mode-line-message-mode, type-break-query-mode): 16751 (type-break-mode-line-message-mode, type-break-query-mode):
16699 Uppercase arguments. 16752 Uppercase arguments.
@@ -17155,7 +17208,7 @@
17155 (gdb-frame-breakpoints-buffer, gdb-frame-stack-buffer) 17208 (gdb-frame-breakpoints-buffer, gdb-frame-stack-buffer)
17156 (gdb-frame-threads-buffer, gdb-frame-registers-buffer) 17209 (gdb-frame-threads-buffer, gdb-frame-registers-buffer)
17157 (gdb-frame-locals-buffer, gdb-frame-gdb-buffer) 17210 (gdb-frame-locals-buffer, gdb-frame-gdb-buffer)
17158 (gdb-frame-assembler-buffer): Improve behaviour with 17211 (gdb-frame-assembler-buffer): Improve behavior with
17159 multiple frames. 17212 multiple frames.
17160 (gdb-display-buffer): Extend search to all visible frames. 17213 (gdb-display-buffer): Extend search to all visible frames.
17161 17214
@@ -17831,7 +17884,7 @@
17831 17884
178322004-03-31 Luc Teirlinck <teirllm@auburn.edu> 178852004-03-31 Luc Teirlinck <teirllm@auburn.edu>
17833 17886
17834 * autorevert.el: Delete obsolete autoload's and defvar's. 17887 * autorevert.el: Delete obsolete autoloads and defvars.
17835 (auto-revert-check-vc-info): New user option. 17888 (auto-revert-check-vc-info): New user option.
17836 (auto-revert-vc-cvs-file-version, auto-revert-vc-buffer-p) 17889 (auto-revert-vc-cvs-file-version, auto-revert-vc-buffer-p)
17837 (auto-revert-handler-vc): Delete. 17890 (auto-revert-handler-vc): Delete.
@@ -17960,7 +18013,7 @@
17960 18013
17961 * strokes.el (strokes-global-set-stroke-string): New function. 18014 * strokes.el (strokes-global-set-stroke-string): New function.
17962 (strokes-list-strokes): Cope with strings, not just commands. 18015 (strokes-list-strokes): Cope with strings, not just commands.
17963 Set foreground colour of image. 18016 Set foreground color of image.
17964 (strokes-global-set-stroke): Doc fix. 18017 (strokes-global-set-stroke): Doc fix.
17965 18018
179662004-03-26 Luc Teirlinck <teirllm@auburn.edu> 180192004-03-26 Luc Teirlinck <teirllm@auburn.edu>
@@ -18061,7 +18114,7 @@
18061 18114
18062 * descr-text.el (describe-property-list): Add a button 18115 * descr-text.el (describe-property-list): Add a button
18063 for `face' property that calls `describe-face'. 18116 for `face' property that calls `describe-face'.
18064 Suggested by luis fernandes <elf@ee.ryerson.ca> 18117 Suggested by Luis Fernandes <elf@ee.ryerson.ca>
18065 18118
18066 * international/mule.el (keyboard-coding-system): 18119 * international/mule.el (keyboard-coding-system):
18067 * kmacro.el (kmacro-call-macro): Fix docstring. 18120 * kmacro.el (kmacro-call-macro): Fix docstring.
@@ -18442,7 +18495,7 @@
18442 (ruler-mode-left-scroll-bar-cols): Use `scroll-bar-columns'. 18495 (ruler-mode-left-scroll-bar-cols): Use `scroll-bar-columns'.
18443 (ruler-mode-ruler-function): New variable. 18496 (ruler-mode-ruler-function): New variable.
18444 (ruler-mode-header-line-format): Call `ruler-mode-ruler-function' 18497 (ruler-mode-header-line-format): Call `ruler-mode-ruler-function'
18445 if the value for `ruler-mode-ruler-function'is given. 18498 if the value for `ruler-mode-ruler-function' is given.
18446 18499
18447 * hexl.el (hexl-mode-hook): Make the hook customizable. 18500 * hexl.el (hexl-mode-hook): Make the hook customizable.
18448 (hexl-address-area, hexl-ascii-area): New customize variables. 18501 (hexl-address-area, hexl-ascii-area): New customize variables.
@@ -18816,7 +18869,7 @@
18816 18869
18817 * net/tramp.el (tramp-completion-mode) Don't check for 'xemacs' but 18870 * net/tramp.el (tramp-completion-mode) Don't check for 'xemacs' but
18818 `tramp-unified-filenames'. 18871 `tramp-unified-filenames'.
18819 (tramp-completion-mode): Make test for XEmacs explicitely. 18872 (tramp-completion-mode): Make test for XEmacs explicitly.
18820 `event-to-character' can exists in Emacs packages too. 18873 `event-to-character' can exists in Emacs packages too.
18821 Reported by Matt Swift <swift@alum.mit.edu>. 18874 Reported by Matt Swift <swift@alum.mit.edu>.
18822 (tramp-buffer-name): Buffer name must contain the user if exists. 18875 (tramp-buffer-name): Buffer name must contain the user if exists.
@@ -19289,7 +19342,7 @@
19289 * ses.el: Use "ses--" prefixes for buffer-local variables. 19342 * ses.el: Use "ses--" prefixes for buffer-local variables.
19290 Use (point-min) instead of 1, even when we know the buffer 19343 Use (point-min) instead of 1, even when we know the buffer
19291 is unnarrowed. 19344 is unnarrowed.
19292 (ses-build-load-map): Delete. Distribute its content to defconst's for 19345 (ses-build-load-map): Delete. Distribute its content to defconsts for
19293 the three maps. 19346 the three maps.
19294 (ses-menu, ses-header-line-menu): New menus. 19347 (ses-menu, ses-header-line-menu): New menus.
19295 (ses-mode-map): Use them. 19348 (ses-mode-map): Use them.
@@ -19411,7 +19464,7 @@
19411 minibuffer windows. 19464 minibuffer windows.
19412 19465
19413 * progmodes/grep.el (grep-regexp-alist): Allow :, \t and ( 19466 * progmodes/grep.el (grep-regexp-alist): Allow :, \t and (
19414 in file names, as long as it is unabmiguous. 19467 in file names, as long as it is unambiguous.
19415 19468
194162004-02-08 Andreas Schwab <schwab@suse.de> 194692004-02-08 Andreas Schwab <schwab@suse.de>
19417 19470
@@ -19884,7 +19937,7 @@
19884 19937
19885 * calendar/appt.el: Update copyright and commentary. 19938 * calendar/appt.el: Update copyright and commentary.
19886 (appt-issue-message): Make obsolete. 19939 (appt-issue-message): Make obsolete.
19887 (appt-visible, appt-msg-window): Make obsolete, in favour of 19940 (appt-visible, appt-msg-window): Make obsolete, in favor of
19888 appt-display-format. 19941 appt-display-format.
19889 (appt-display-mode-line, appt-display-duration) 19942 (appt-display-mode-line, appt-display-duration)
19890 (appt-display-diary, appt-time-msg-list, appt-mode-string) 19943 (appt-display-diary, appt-time-msg-list, appt-mode-string)
@@ -20275,7 +20328,7 @@
20275 20328
20276 * gdb-ui.el (gdb-prompt): Change filter for level 3 annotations, 20329 * gdb-ui.el (gdb-prompt): Change filter for level 3 annotations,
20277 if necessary. 20330 if necessary.
20278 (gdb-ann3): New function. Initialise M-x gdb as for M-x gdba if 20331 (gdb-ann3): New function. Initialize M-x gdb as for M-x gdba if
20279 annotations are detected. 20332 annotations are detected.
20280 (gud-gdba-marker-filter): Use global variable gud-marker-acc 20333 (gud-gdba-marker-filter): Use global variable gud-marker-acc
20281 instead of a local one to allow transition from 20334 instead of a local one to allow transition from
@@ -22287,7 +22340,7 @@
22287 * calendar/calendar.el (diary-file, diary-file-name-prefix) 22340 * calendar/calendar.el (diary-file, diary-file-name-prefix)
22288 (european-calendar-style, diary-date-forms) 22341 (european-calendar-style, diary-date-forms)
22289 (calendar-day-name-array, calendar-month-name-array): Doc change. 22342 (calendar-day-name-array, calendar-month-name-array): Doc change.
22290 (generate-calendar-month): Adapt for new behaviour of 22343 (generate-calendar-month): Adapt for new behavior of
22291 `calendar-day-name' function. 22344 `calendar-day-name' function.
22292 (calendar-abbrev-length, calendar-day-abbrev-array) 22345 (calendar-abbrev-length, calendar-day-abbrev-array)
22293 (calendar-month-abbrev-array): New variables. 22346 (calendar-month-abbrev-array): New variables.
@@ -22295,39 +22348,39 @@
22295 (calendar-day-name, calendar-month-name): Use new abbrev arrays, 22348 (calendar-day-name, calendar-month-name): Use new abbrev arrays,
22296 rather than fixing abbrevs at some width. Calling syntax change. 22349 rather than fixing abbrevs at some width. Calling syntax change.
22297 (calendar-make-alist): Use abbrev arrays. Calling syntax change. 22350 (calendar-make-alist): Use abbrev arrays. Calling syntax change.
22298 (calendar-date-string): Adapt for new behaviours of 22351 (calendar-date-string): Adapt for new behaviors of
22299 `calendar-day-name' and `calendar-month-name' functions. 22352 `calendar-day-name' and `calendar-month-name' functions.
22300 22353
22301 * calendar/diary-lib.el (list-diary-entries): Adapt for new 22354 * calendar/diary-lib.el (list-diary-entries): Adapt for new
22302 behaviour of `calendar-day-name' and `calendar-month-name' functions. 22355 behavior of `calendar-day-name' and `calendar-month-name' functions.
22303 (diary-name-pattern): Use abbrev arrays, rather than fixing 22356 (diary-name-pattern): Use abbrev arrays, rather than fixing
22304 abbrevs at three chars. Calling syntax change. 22357 abbrevs at three chars. Calling syntax change.
22305 (mark-diary-entries): Adapt for new behaviours of 22358 (mark-diary-entries): Adapt for new behaviors of
22306 `diary-name-pattern' and `calendar-make-alist' functions. 22359 `diary-name-pattern' and `calendar-make-alist' functions.
22307 (fancy-diary-font-lock-keywords): Adapt for new behaviour of 22360 (fancy-diary-font-lock-keywords): Adapt for new behavior of
22308 `diary-name-pattern' function. 22361 `diary-name-pattern' function.
22309 (font-lock-diary-date-forms): Use abbrev arrays, rather than 22362 (font-lock-diary-date-forms): Use abbrev arrays, rather than
22310 fixing abbrevs at three chars. Calling syntax change. 22363 fixing abbrevs at three chars. Calling syntax change.
22311 (cal-hebrew, cal-islam): Require when compiling. 22364 (cal-hebrew, cal-islam): Require when compiling.
22312 (diary-font-lock-keywords): Adapt for new behaviour of 22365 (diary-font-lock-keywords): Adapt for new behavior of
22313 `font-lock-diary-date-forms' function. 22366 `font-lock-diary-date-forms' function.
22314 22367
22315 * calendar/cal-hebrew.el: Reposition some code so defined before used. 22368 * calendar/cal-hebrew.el: Reposition some code so defined before used.
22316 (calendar-hebrew-month-name-array-common-year) 22369 (calendar-hebrew-month-name-array-common-year)
22317 (calendar-hebrew-month-name-array-leap-year): Add doc strings. 22370 (calendar-hebrew-month-name-array-leap-year): Add doc strings.
22318 (list-hebrew-diary-entries): Adapt for new behaviours of 22371 (list-hebrew-diary-entries): Adapt for new behaviors of
22319 `calendar-day-name' and `add-to-diary-list' functions. 22372 `calendar-day-name' and `add-to-diary-list' functions.
22320 (mark-hebrew-diary-entries): Adapt for new behaviours of 22373 (mark-hebrew-diary-entries): Adapt for new behaviors of
22321 `diary-name-pattern' and `calendar-make-alist' functions. 22374 `diary-name-pattern' and `calendar-make-alist' functions.
22322 22375
22323 * calendar/cal-islam.el (calendar-islamic-month-name-array): 22376 * calendar/cal-islam.el (calendar-islamic-month-name-array):
22324 Add doc string. 22377 Add doc string.
22325 (list-islamic-diary-entries): Adapt for new behaviours of 22378 (list-islamic-diary-entries): Adapt for new behaviors of
22326 `calendar-day-name' and `add-to-diary-list' functions. 22379 `calendar-day-name' and `add-to-diary-list' functions.
22327 (mark-islamic-diary-entries): Adapt for new behaviours of 22380 (mark-islamic-diary-entries): Adapt for new behaviors of
22328 `diary-name-pattern' and `calendar-make-alist' functions. 22381 `diary-name-pattern' and `calendar-make-alist' functions.
22329 22382
22330 * calendar/cal-menu.el (cal-menu-update): Adapt for new behaviour of 22383 * calendar/cal-menu.el (cal-menu-update): Adapt for new behavior of
22331 `calendar-month-name' function. 22384 `calendar-month-name' function.
22332 22385
22333 * calendar/cal-coptic.el (coptic-name): defvar rather than defconst. 22386 * calendar/cal-coptic.el (coptic-name): defvar rather than defconst.
diff --git a/lisp/battery.el b/lisp/battery.el
index cd6f7933c4e..2ae6607f8ef 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -25,9 +25,10 @@
25 25
26;;; Commentary: 26;;; Commentary:
27 27
28;; There is at present support for interpreting the new `/proc/apm' 28;; There is at present support for GNU/Linux and OS X. This library
29;; file format of Linux version 1.3.58 or newer and for the `/proc/acpi/' 29;; supports both the `/proc/apm' file format of Linux version 1.3.58
30;; directory structure of Linux 2.4.20 and 2.6. 30;; or newer and the `/proc/acpi/' directory structure of Linux 2.4.20
31;; and 2.6. Darwin (OS X) is supported by using the `pmset' program.
31 32
32;;; Code: 33;;; Code:
33 34
@@ -46,7 +47,13 @@
46 'battery-linux-proc-apm) 47 'battery-linux-proc-apm)
47 ((and (eq system-type 'gnu/linux) 48 ((and (eq system-type 'gnu/linux)
48 (file-directory-p "/proc/acpi/battery")) 49 (file-directory-p "/proc/acpi/battery"))
49 'battery-linux-proc-acpi)) 50 'battery-linux-proc-acpi)
51 ((and (eq system-type 'darwin)
52 (ignore-errors
53 (with-temp-buffer
54 (and (eq (call-process "pmset" nil t nil "-g" "ps") 0)
55 (> (buffer-size) 0)))))
56 'battery-pmset))
50 "*Function for getting battery status information. 57 "*Function for getting battery status information.
51The function has to return an alist of conversion definitions. 58The function has to return an alist of conversion definitions.
52Its cons cells are of the form 59Its cons cells are of the form
@@ -62,7 +69,9 @@ introduced by a `%' character in a control string."
62 (cond ((eq battery-status-function 'battery-linux-proc-apm) 69 (cond ((eq battery-status-function 'battery-linux-proc-apm)
63 "Power %L, battery %B (%p%% load, remaining time %t)") 70 "Power %L, battery %B (%p%% load, remaining time %t)")
64 ((eq battery-status-function 'battery-linux-proc-acpi) 71 ((eq battery-status-function 'battery-linux-proc-acpi)
65 "Power %L, battery %B at %r (%p%% load, remaining time %t)")) 72 "Power %L, battery %B at %r (%p%% load, remaining time %t)")
73 ((eq battery-status-function 'battery-pmset)
74 "%L power, battery %B (%p%% load, remaining time %t)"))
66 "*Control string formatting the string to display in the echo area. 75 "*Control string formatting the string to display in the echo area.
67Ordinary characters in the control string are printed as-is, while 76Ordinary characters in the control string are printed as-is, while
68conversion specifications introduced by a `%' character in the control 77conversion specifications introduced by a `%' character in the control
@@ -79,7 +88,9 @@ string are substituted as defined by the current value of the variable
79 (cond ((eq battery-status-function 'battery-linux-proc-apm) 88 (cond ((eq battery-status-function 'battery-linux-proc-apm)
80 "[%b%p%%]") 89 "[%b%p%%]")
81 ((eq battery-status-function 'battery-linux-proc-acpi) 90 ((eq battery-status-function 'battery-linux-proc-acpi)
82 "[%b%p%%,%d°C]")) 91 "[%b%p%%,%d°C]")
92 ((eq battery-status-function 'battery-pmset)
93 "[%b%p%%]"))
83 "*Control string formatting the string to display in the mode line. 94 "*Control string formatting the string to display in the mode line.
84Ordinary characters in the control string are printed as-is, while 95Ordinary characters in the control string are printed as-is, while
85conversion specifications introduced by a `%' character in the control 96conversion specifications introduced by a `%' character in the control
@@ -93,6 +104,18 @@ string are substituted as defined by the current value of the variable
93 :type 'integer 104 :type 'integer
94 :group 'battery) 105 :group 'battery)
95 106
107(defcustom battery-load-low 25
108 "*Upper bound of low battery load percentage.
109A battery load percentage below this number is considered low."
110 :type 'integer
111 :group 'battery)
112
113(defcustom battery-load-critical 10
114 "*Upper bound of critical battery load percentage.
115A battery load percentage below this number is considered critical."
116 :type 'integer
117 :group 'battery)
118
96(defvar battery-update-timer nil 119(defvar battery-update-timer nil
97 "Interval timer object.") 120 "Interval timer object.")
98 121
@@ -343,6 +366,58 @@ The following %-sequences are provided:
343 "N/A"))))) 366 "N/A")))))
344 367
345 368
369;;; `pmset' interface for Darwin (OS X).
370
371(defun battery-pmset ()
372 "Get battery status information using `pmset'.
373
374The following %-sequences are provided:
375%L Power source (verbose)
376%B Battery status (verbose)
377%b Battery status, empty means high, `-' means low,
378 `!' means critical, and `+' means charging
379%p Battery load percentage
380%h Remaining time in hours
381%m Remaining time in minutes
382%t Remaining time in the form `h:min'"
383 (let (power-source load-percentage battery-status battery-status-symbol
384 remaining-time hours minutes)
385 (with-temp-buffer
386 (ignore-errors (call-process "pmset" nil t nil "-g" "ps"))
387 (goto-char (point-min))
388 (when (re-search-forward "Currentl?y drawing from '\\(AC\\|Battery\\) Power'" nil t)
389 (setq power-source (match-string 1))
390 (when (re-search-forward "^ -InternalBattery-0[ \t]+" nil t)
391 (when (looking-at "\\([0-9]\\{1,3\\}\\)%")
392 (setq load-percentage (match-string 1))
393 (goto-char (match-end 0))
394 (cond ((looking-at "; charging")
395 (setq battery-status "charging"
396 battery-status-symbol "+"))
397 ((< (string-to-number load-percentage) battery-load-low)
398 (setq battery-status "low"
399 battery-status-symbol "-"))
400 ((< (string-to-number load-percentage) battery-load-critical)
401 (setq battery-status "critical"
402 battery-status-symbol "!"))
403 (t
404 (setq battery-status "high"
405 battery-status-symbol "")))
406 (when (re-search-forward "\\(\\([0-9]+\\):\\([0-9]+\\)\\) remaining" nil t)
407 (setq remaining-time (match-string 1))
408 (let ((h (string-to-number (match-string 2)))
409 (m (string-to-number (match-string 3))))
410 (setq hours (number-to-string (+ h (if (< m 30) 0 1)))
411 minutes (number-to-string (+ (* h 60) m)))))))))
412 (list (cons ?L (or power-source "N/A"))
413 (cons ?p (or load-percentage "N/A"))
414 (cons ?B (or battery-status "N/A"))
415 (cons ?b (or battery-status-symbol ""))
416 (cons ?h (or hours "N/A"))
417 (cons ?m (or minutes "N/A"))
418 (cons ?t (or remaining-time "N/A")))))
419
420
346;;; Private functions. 421;;; Private functions.
347 422
348(defun battery-format (format alist) 423(defun battery-format (format alist)
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el
index a9a690648fc..3c18e2f608f 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/emulation/tpu-edt.el
@@ -265,8 +265,16 @@
265;; than the emulated TPU commands. Also, it works only in the forward 265;; than the emulated TPU commands. Also, it works only in the forward
266;; direction, regardless of the current TPU-edt direction. 266;; direction, regardless of the current TPU-edt direction.
267 267
268;;; Todo/Bugs:
269
270;; We shouldn't use vt100 ESC sequences since it is uselessly fighting
271;; against function-key-map. Better use real key names.
272
268;;; Code: 273;;; Code:
269 274
275;; we use picture-mode functions
276(require 'picture)
277
270(defgroup tpu nil 278(defgroup tpu nil
271 "Emacs emulating TPU emulating EDT." 279 "Emacs emulating TPU emulating EDT."
272 :prefix "tpu-" 280 :prefix "tpu-"
@@ -316,29 +324,270 @@
316;;; 324;;;
317;;; Global Keymaps 325;;; Global Keymaps
318;;; 326;;;
319(defvar CSI-map (make-sparse-keymap) 327(defvar CSI-map
328 (let ((map (make-sparse-keymap)))
329 (define-key map "A" 'tpu-previous-line) ; up
330 (define-key map "B" 'tpu-next-line) ; down
331 (define-key map "D" 'tpu-backward-char) ; left
332 (define-key map "C" 'tpu-forward-char) ; right
333
334 (define-key map "1~" 'tpu-search) ; Find
335 (define-key map "2~" 'tpu-paste) ; Insert Here
336 (define-key map "3~" 'tpu-cut) ; Remove
337 (define-key map "4~" 'tpu-select) ; Select
338 (define-key map "5~" 'tpu-scroll-window-down) ; Prev Screen
339 (define-key map "6~" 'tpu-scroll-window-up) ; Next Screen
340
341 (define-key map "11~" 'nil) ; F1
342 (define-key map "12~" 'nil) ; F2
343 (define-key map "13~" 'nil) ; F3
344 (define-key map "14~" 'nil) ; F4
345 (define-key map "15~" 'nil) ; F5
346 (define-key map "17~" 'nil) ; F6
347 (define-key map "18~" 'nil) ; F7
348 (define-key map "19~" 'nil) ; F8
349 (define-key map "20~" 'nil) ; F9
350 (define-key map "21~" 'tpu-exit) ; F10
351 (define-key map "23~" 'tpu-insert-escape) ; F11 (ESC)
352 (define-key map "24~" 'tpu-next-beginning-of-line) ; F12 (BS)
353 (define-key map "25~" 'tpu-delete-previous-word) ; F13 (LF)
354 (define-key map "26~" 'tpu-toggle-overwrite-mode) ; F14
355 (define-key map "28~" 'tpu-help) ; HELP
356 (define-key map "29~" 'execute-extended-command) ; DO
357 (define-key map "31~" 'tpu-goto-breadcrumb) ; F17
358 (define-key map "32~" 'nil) ; F18
359 (define-key map "33~" 'nil) ; F19
360 (define-key map "34~" 'nil) ; F20
361 map)
320 "Maps the CSI function keys on the VT100 keyboard. 362 "Maps the CSI function keys on the VT100 keyboard.
321CSI is DEC's name for the sequence <ESC>[.") 363CSI is DEC's name for the sequence <ESC>[.")
322 364
323(defvar SS3-map (make-sparse-keymap) 365(defvar GOLD-CSI-map
324 "Maps the SS3 function keys on the VT100 keyboard. 366 (let ((map (make-sparse-keymap)))
325SS3 is DEC's name for the sequence <ESC>O.") 367 (define-key map "A" 'tpu-move-to-beginning) ; up-arrow
368 (define-key map "B" 'tpu-move-to-end) ; down-arrow
369 (define-key map "C" 'end-of-line) ; right-arrow
370 (define-key map "D" 'beginning-of-line) ; left-arrow
371
372 (define-key map "1~" 'nil) ; Find
373 (define-key map "2~" 'nil) ; Insert Here
374 (define-key map "3~" 'tpu-store-text) ; Remove
375 (define-key map "4~" 'tpu-unselect) ; Select
376 (define-key map "5~" 'tpu-previous-window) ; Prev Screen
377 (define-key map "6~" 'tpu-next-window) ; Next Screen
378
379 (define-key map "11~" 'nil) ; F1
380 (define-key map "12~" 'nil) ; F2
381 (define-key map "13~" 'nil) ; F3
382 (define-key map "14~" 'nil) ; F4
383 (define-key map "16~" 'nil) ; F5
384 (define-key map "17~" 'nil) ; F6
385 (define-key map "18~" 'nil) ; F7
386 (define-key map "19~" 'nil) ; F8
387 (define-key map "20~" 'nil) ; F9
388 (define-key map "21~" 'nil) ; F10
389 (define-key map "23~" 'nil) ; F11
390 (define-key map "24~" 'nil) ; F12
391 (define-key map "25~" 'nil) ; F13
392 (define-key map "26~" 'nil) ; F14
393 (define-key map "28~" 'describe-bindings) ; HELP
394 (define-key map "29~" 'nil) ; DO
395 (define-key map "31~" 'tpu-drop-breadcrumb) ; F17
396 (define-key map "32~" 'nil) ; F18
397 (define-key map "33~" 'nil) ; F19
398 (define-key map "34~" 'nil) ; F20
399 map)
400 "Maps the function keys on the VT100 keyboard preceded by GOLD-CSI.")
401
402(defvar GOLD-SS3-map
403 (let ((map (make-sparse-keymap)))
404 (define-key map "A" 'tpu-move-to-beginning) ; up-arrow
405 (define-key map "B" 'tpu-move-to-end) ; down-arrow
406 (define-key map "C" 'end-of-line) ; right-arrow
407 (define-key map "D" 'beginning-of-line) ; left-arrow
408
409 (define-key map "P" 'keyboard-quit) ; PF1
410 (define-key map "Q" 'help-for-help) ; PF2
411 (define-key map "R" 'tpu-search) ; PF3
412 (define-key map "S" 'tpu-undelete-lines) ; PF4
413 (define-key map "p" 'open-line) ; KP0
414 (define-key map "q" 'tpu-change-case) ; KP1
415 (define-key map "r" 'tpu-delete-to-eol) ; KP2
416 (define-key map "s" 'tpu-special-insert) ; KP3
417 (define-key map "t" 'tpu-move-to-end) ; KP4
418 (define-key map "u" 'tpu-move-to-beginning) ; KP5
419 (define-key map "v" 'tpu-paste) ; KP6
420 (define-key map "w" 'execute-extended-command) ; KP7
421 (define-key map "x" 'tpu-fill) ; KP8
422 (define-key map "y" 'tpu-replace) ; KP9
423 (define-key map "m" 'tpu-undelete-words) ; KP-
424 (define-key map "l" 'tpu-undelete-char) ; KP,
425 (define-key map "n" 'tpu-unselect) ; KP.
426 (define-key map "M" 'tpu-substitute) ; KPenter
427 map)
428 "Maps the function keys on the VT100 keyboard preceded by GOLD-SS3.")
326 429
327(defvar GOLD-map (make-keymap) 430(defvar GOLD-map
431 (let ((map (make-keymap)))
432 (define-key map "\e[" GOLD-CSI-map) ; GOLD-CSI map
433 (define-key map "\eO" GOLD-SS3-map) ; GOLD-SS3 map
434 ;;
435 (define-key map "\C-A" 'tpu-toggle-overwrite-mode) ; ^A
436 (define-key map "\C-B" 'nil) ; ^B
437 (define-key map "\C-C" 'nil) ; ^C
438 (define-key map "\C-D" 'nil) ; ^D
439 (define-key map "\C-E" 'nil) ; ^E
440 (define-key map "\C-F" 'set-visited-file-name) ; ^F
441 (define-key map "\C-g" 'keyboard-quit) ; safety first
442 (define-key map "\C-h" 'delete-other-windows) ; BS
443 (define-key map "\C-i" 'other-window) ; TAB
444 (define-key map "\C-J" 'nil) ; ^J
445 (define-key map "\C-K" 'tpu-define-macro-key) ; ^K
446 (define-key map "\C-l" 'downcase-region) ; ^L
447 (define-key map "\C-M" 'nil) ; ^M
448 (define-key map "\C-N" 'nil) ; ^N
449 (define-key map "\C-O" 'nil) ; ^O
450 (define-key map "\C-P" 'nil) ; ^P
451 (define-key map "\C-Q" 'nil) ; ^Q
452 (define-key map "\C-R" 'nil) ; ^R
453 (define-key map "\C-S" 'nil) ; ^S
454 (define-key map "\C-T" 'tpu-toggle-control-keys) ; ^T
455 (define-key map "\C-u" 'upcase-region) ; ^U
456 (define-key map "\C-V" 'nil) ; ^V
457 (define-key map "\C-w" 'tpu-write-current-buffers) ; ^W
458 (define-key map "\C-X" 'nil) ; ^X
459 (define-key map "\C-Y" 'nil) ; ^Y
460 (define-key map "\C-Z" 'nil) ; ^Z
461 (define-key map " " 'undo) ; SPC
462 (define-key map "!" 'nil) ; !
463 (define-key map "#" 'nil) ; #
464 (define-key map "$" 'tpu-add-at-eol) ; $
465 (define-key map "%" 'tpu-goto-percent) ; %
466 (define-key map "&" 'nil) ; &
467 (define-key map "(" 'nil) ; (
468 (define-key map ")" 'nil) ; )
469 (define-key map "*" 'tpu-toggle-regexp) ; *
470 (define-key map "+" 'nil) ; +
471 (define-key map "," 'tpu-goto-breadcrumb) ; ,
472 (define-key map "-" 'negative-argument) ; -
473 (define-key map "." 'tpu-drop-breadcrumb) ; .
474 (define-key map "/" 'tpu-emacs-replace) ; /
475 (define-key map "0" 'digit-argument) ; 0
476 (define-key map "1" 'digit-argument) ; 1
477 (define-key map "2" 'digit-argument) ; 2
478 (define-key map "3" 'digit-argument) ; 3
479 (define-key map "4" 'digit-argument) ; 4
480 (define-key map "5" 'digit-argument) ; 5
481 (define-key map "6" 'digit-argument) ; 6
482 (define-key map "7" 'digit-argument) ; 7
483 (define-key map "8" 'digit-argument) ; 8
484 (define-key map "9" 'digit-argument) ; 9
485 (define-key map ":" 'nil) ; :
486 (define-key map ";" 'tpu-trim-line-ends) ; ;
487 (define-key map "<" 'nil) ; <
488 (define-key map "=" 'nil) ; =
489 (define-key map ">" 'nil) ; >
490 (define-key map "?" 'tpu-spell-check) ; ?
491 (define-key map "A" 'tpu-toggle-newline-and-indent) ; A
492 (define-key map "B" 'tpu-next-buffer) ; B
493 (define-key map "C" 'repeat-complex-command) ; C
494 (define-key map "D" 'shell-command) ; D
495 (define-key map "E" 'tpu-exit) ; E
496 (define-key map "F" 'tpu-set-cursor-free) ; F
497 (define-key map "G" 'tpu-get) ; G
498 (define-key map "H" 'nil) ; H
499 (define-key map "I" 'tpu-include) ; I
500 (define-key map "K" 'tpu-kill-buffer) ; K
501 (define-key map "L" 'tpu-what-line) ; L
502 (define-key map "M" 'buffer-menu) ; M
503 (define-key map "N" 'tpu-next-file-buffer) ; N
504 (define-key map "O" 'occur) ; O
505 (define-key map "P" 'lpr-buffer) ; P
506 (define-key map "Q" 'tpu-quit) ; Q
507 (define-key map "R" 'tpu-toggle-rectangle) ; R
508 (define-key map "S" 'replace) ; S
509 (define-key map "T" 'tpu-line-to-top-of-window) ; T
510 (define-key map "U" 'undo) ; U
511 (define-key map "V" 'tpu-version) ; V
512 (define-key map "W" 'save-buffer) ; W
513 (define-key map "X" 'tpu-save-all-buffers-kill-emacs) ; X
514 (define-key map "Y" 'copy-region-as-kill) ; Y
515 (define-key map "Z" 'suspend-emacs) ; Z
516 (define-key map "[" 'blink-matching-open) ; [
517 (define-key map "\\" 'nil) ; \
518 (define-key map "]" 'blink-matching-open) ; ]
519 (define-key map "^" 'tpu-add-at-bol) ; ^
520 (define-key map "_" 'split-window-vertically) ; -
521 (define-key map "`" 'what-line) ; `
522 (define-key map "a" 'tpu-toggle-newline-and-indent) ; a
523 (define-key map "b" 'tpu-next-buffer) ; b
524 (define-key map "c" 'repeat-complex-command) ; c
525 (define-key map "d" 'shell-command) ; d
526 (define-key map "e" 'tpu-exit) ; e
527 (define-key map "f" 'tpu-set-cursor-free) ; f
528 (define-key map "g" 'tpu-get) ; g
529 (define-key map "h" 'nil) ; h
530 (define-key map "i" 'tpu-include) ; i
531 (define-key map "k" 'tpu-kill-buffer) ; k
532 (define-key map "l" 'goto-line) ; l
533 (define-key map "m" 'buffer-menu) ; m
534 (define-key map "n" 'tpu-next-file-buffer) ; n
535 (define-key map "o" 'occur) ; o
536 (define-key map "p" 'lpr-region) ; p
537 (define-key map "q" 'tpu-quit) ; q
538 (define-key map "r" 'tpu-toggle-rectangle) ; r
539 (define-key map "s" 'replace) ; s
540 (define-key map "t" 'tpu-line-to-top-of-window) ; t
541 (define-key map "u" 'undo) ; u
542 (define-key map "v" 'tpu-version) ; v
543 (define-key map "w" 'save-buffer) ; w
544 (define-key map "x" 'tpu-save-all-buffers-kill-emacs) ; x
545 (define-key map "y" 'copy-region-as-kill) ; y
546 (define-key map "z" 'suspend-emacs) ; z
547 (define-key map "{" 'nil) ; {
548 (define-key map "|" 'split-window-horizontally) ; |
549 (define-key map "}" 'nil) ; }
550 (define-key map "~" 'exchange-point-and-mark) ; ~
551 (define-key map "\177" 'delete-window) ; <X]
552 map)
328 "Maps the function keys on the VT100 keyboard preceded by PF1. 553 "Maps the function keys on the VT100 keyboard preceded by PF1.
329GOLD is the ASCII 7-bit escape sequence <ESC>OP.") 554GOLD is the ASCII 7-bit escape sequence <ESC>OP.")
330 555
331(defvar GOLD-CSI-map (make-sparse-keymap) 556(defvar SS3-map
332 "Maps the function keys on the VT100 keyboard preceded by GOLD-CSI.") 557 (let ((map (make-sparse-keymap)))
333 558 (define-key map "P" GOLD-map) ; GOLD map
334(defvar GOLD-SS3-map (make-sparse-keymap) 559 ;;
335 "Maps the function keys on the VT100 keyboard preceded by GOLD-SS3.") 560 (define-key map "A" 'tpu-previous-line) ; up
561 (define-key map "B" 'tpu-next-line) ; down
562 (define-key map "C" 'tpu-forward-char) ; right
563 (define-key map "D" 'tpu-backward-char) ; left
564
565 (define-key map "Q" 'tpu-help) ; PF2
566 (define-key map "R" 'tpu-search-again) ; PF3
567 (define-key map "S" 'tpu-delete-current-line) ; PF4
568 (define-key map "p" 'tpu-line) ; KP0
569 (define-key map "q" 'tpu-word) ; KP1
570 (define-key map "r" 'tpu-end-of-line) ; KP2
571 (define-key map "s" 'tpu-char) ; KP3
572 (define-key map "t" 'tpu-advance-direction) ; KP4
573 (define-key map "u" 'tpu-backup-direction) ; KP5
574 (define-key map "v" 'tpu-cut) ; KP6
575 (define-key map "w" 'tpu-page) ; KP7
576 (define-key map "x" 'tpu-scroll-window) ; KP8
577 (define-key map "y" 'tpu-append-region) ; KP9
578 (define-key map "m" 'tpu-delete-current-word) ; KP-
579 (define-key map "l" 'tpu-delete-current-char) ; KP,
580 (define-key map "n" 'tpu-select) ; KP.
581 (define-key map "M" 'newline) ; KPenter
582 map)
583 "Maps the SS3 function keys on the VT100 keyboard.
584SS3 is DEC's name for the sequence <ESC>O.")
336 585
337(defvar tpu-global-map nil "TPU-edt global keymap.") 586(defvar tpu-global-map nil "TPU-edt global keymap.")
338(defvar tpu-original-global-map global-map 587(defvar tpu-original-global-map global-map
339 "Original global keymap.") 588 "Original non-TPU global keymap.")
340 589
341(and tpu-lucid-emacs-p 590(and (not (boundp 'minibuffer-local-ns-map))
342 (defvar minibuffer-local-ns-map (make-sparse-keymap) 591 (defvar minibuffer-local-ns-map (make-sparse-keymap)
343 "Hack to give Lucid Emacs the same maps as ordinary Emacs.")) 592 "Hack to give Lucid Emacs the same maps as ordinary Emacs."))
344 593
@@ -346,9 +595,6 @@ GOLD is the ASCII 7-bit escape sequence <ESC>OP.")
346;;; 595;;;
347;;; Global Variables 596;;; Global Variables
348;;; 597;;;
349(defvar tpu-edt-mode nil
350 "If non-nil, TPU-edt mode is active.")
351
352(defvar tpu-last-replaced-text "" 598(defvar tpu-last-replaced-text ""
353 "Last text deleted by a TPU-edt replace command.") 599 "Last text deleted by a TPU-edt replace command.")
354(defvar tpu-last-deleted-region "" 600(defvar tpu-last-deleted-region ""
@@ -433,26 +679,14 @@ GOLD is the ASCII 7-bit escape sequence <ESC>OP.")
433 679
434(defun tpu-set-mode-line (for-tpu) 680(defun tpu-set-mode-line (for-tpu)
435 "Set ``minor-mode-alist'' for TPU-edt, or reset it to default Emacs." 681 "Set ``minor-mode-alist'' for TPU-edt, or reset it to default Emacs."
436 (cond ((not for-tpu) 682 (let ((entries '((tpu-newline-and-indent-p tpu-newline-and-indent-string)
437 (setq minor-mode-alist tpu-original-mm-alist)) 683 (tpu-rectangular-p tpu-rectangle-string)
438 (t 684 (tpu-direction-string tpu-direction-string)
439 (or (assq 'tpu-newline-and-indent-p minor-mode-alist) 685 (tpu-mark-flag tpu-mark-flag))))
440 (setq minor-mode-alist 686 (dolist (entry entries)
441 (cons '(tpu-newline-and-indent-p 687 (if for-tpu
442 tpu-newline-and-indent-string) 688 (add-to-list 'minor-mode-alist entry)
443 minor-mode-alist))) 689 (setq minor-mode-alist (remove entry minor-mode-alist))))))
444 (or (assq 'tpu-rectangular-p minor-mode-alist)
445 (setq minor-mode-alist
446 (cons '(tpu-rectangular-p tpu-rectangle-string)
447 minor-mode-alist)))
448 (or (assq 'tpu-direction-string minor-mode-alist)
449 (setq minor-mode-alist
450 (cons '(tpu-direction-string tpu-direction-string)
451 minor-mode-alist)))
452 (or (assq 'tpu-mark-flag minor-mode-alist)
453 (setq minor-mode-alist
454 (cons '(tpu-mark-flag tpu-mark-flag)
455 minor-mode-alist))))))
456 690
457(defun tpu-update-mode-line nil 691(defun tpu-update-mode-line nil
458 "Make sure mode-line in the current buffer reflects all changes." 692 "Make sure mode-line in the current buffer reflects all changes."
@@ -482,7 +716,7 @@ GOLD is the ASCII 7-bit escape sequence <ESC>OP.")
482 "Set markers at match beginning and end." 716 "Set markers at match beginning and end."
483 ;; Add one to beginning mark so it stays with the first character of 717 ;; Add one to beginning mark so it stays with the first character of
484 ;; the string even if characters are added just before the string. 718 ;; the string even if characters are added just before the string.
485 (setq tpu-match-beginning-mark (copy-marker (1+ (match-beginning 0)))) 719 (setq tpu-match-beginning-mark (copy-marker (match-beginning 0) t))
486 (setq tpu-match-end-mark (copy-marker (match-end 0)))) 720 (setq tpu-match-end-mark (copy-marker (match-end 0))))
487 721
488(defun tpu-unset-match nil 722(defun tpu-unset-match nil
@@ -492,7 +726,7 @@ GOLD is the ASCII 7-bit escape sequence <ESC>OP.")
492 726
493(defun tpu-match-beginning nil 727(defun tpu-match-beginning nil
494 "Returns the location of the last match beginning." 728 "Returns the location of the last match beginning."
495 (1- (marker-position tpu-match-beginning-mark))) 729 (marker-position tpu-match-beginning-mark))
496 730
497(defun tpu-match-end nil 731(defun tpu-match-end nil
498 "Returns the location of the last match end." 732 "Returns the location of the last match end."
@@ -508,10 +742,10 @@ Otherwise sets the tpu-match markers to nil and returns nil."
508 ;; beginning, end, and point are equal. 742 ;; beginning, end, and point are equal.
509 (cond ((and 743 (cond ((and
510 (equal (marker-buffer tpu-match-beginning-mark) (current-buffer)) 744 (equal (marker-buffer tpu-match-beginning-mark) (current-buffer))
511 (>= (point) (1- (marker-position tpu-match-beginning-mark))) 745 (>= (point) (marker-position tpu-match-beginning-mark))
512 (or 746 (or
513 (< (point) (marker-position tpu-match-end-mark)) 747 (< (point) (marker-position tpu-match-end-mark))
514 (and (= (1- (marker-position tpu-match-beginning-mark)) 748 (and (= (marker-position tpu-match-beginning-mark)
515 (marker-position tpu-match-end-mark)) 749 (marker-position tpu-match-end-mark))
516 (= (marker-position tpu-match-end-mark) (point))))) t) 750 (= (marker-position tpu-match-end-mark) (point))))) t)
517 (t 751 (t
@@ -521,12 +755,11 @@ Otherwise sets the tpu-match markers to nil and returns nil."
521 "Show the values of the match markers." 755 "Show the values of the match markers."
522 (interactive) 756 (interactive)
523 (if (markerp tpu-match-beginning-mark) 757 (if (markerp tpu-match-beginning-mark)
524 (let ((beg (marker-position tpu-match-beginning-mark))) 758 (message "(%s, %s) in %s -- current %s in %s"
525 (message "(%s, %s) in %s -- current %s in %s" 759 (marker-position tpu-match-beginning-mark)
526 (if beg (1- beg) nil) 760 (marker-position tpu-match-end-mark)
527 (marker-position tpu-match-end-mark) 761 (marker-buffer tpu-match-end-mark)
528 (marker-buffer tpu-match-end-mark) 762 (point) (current-buffer))))
529 (point) (current-buffer)))))
530 763
531 764
532;;; 765;;;
@@ -549,7 +782,9 @@ version of Emacs."
549Sets the mark at POS and activates the region according to the 782Sets the mark at POS and activates the region according to the
550current version of Emacs." 783current version of Emacs."
551 (set-mark pos) 784 (set-mark pos)
552 (and tpu-lucid-emacs-p pos (zmacs-activate-region))) 785 ;; We use a separate `if' for the fboundp so the byte-compiler notices it
786 ;; and doesn't complain about the subsequent call.
787 (if (fboundp 'zmacs-activate-region) (if pos (zmacs-activate-region))))
553 788
554(defun tpu-string-prompt (prompt history-symbol) 789(defun tpu-string-prompt (prompt history-symbol)
555 "Read a string with PROMPT." 790 "Read a string with PROMPT."
@@ -775,8 +1010,12 @@ This is useful for inserting control characters."
775;;; Command and Function Aliases 1010;;; Command and Function Aliases
776;;; 1011;;;
777;;;###autoload 1012;;;###autoload
778(defalias 'tpu-edt-mode 'tpu-edt-on) 1013(define-minor-mode tpu-edt-mode
779(defalias 'TPU-EDT-MODE 'tpu-edt-on) 1014 "TPU/edt emulation."
1015 :global t
1016 (if tpu-edt-mode (tpu-edt-on) (tpu-edt-off)))
1017
1018(defalias 'TPU-EDT-MODE 'tpu-edt-mode)
780 1019
781;;;###autoload 1020;;;###autoload
782(defalias 'tpu-edt 'tpu-edt-on) 1021(defalias 'tpu-edt 'tpu-edt-on)
@@ -1164,7 +1403,7 @@ The search is performed in the current direction."
1164(defun tpu-set-search (&optional arg) 1403(defun tpu-set-search (&optional arg)
1165 "Set the search functions and set the search direction to the current 1404 "Set the search functions and set the search direction to the current
1166direction. If an argument is specified, don't set the search direction." 1405direction. If an argument is specified, don't set the search direction."
1167 (if (not arg) (setq tpu-searching-forward (if tpu-advance t nil))) 1406 (if (not arg) (setq tpu-searching-forward tpu-advance))
1168 (cond (tpu-searching-forward 1407 (cond (tpu-searching-forward
1169 (cond (tpu-regexp-p 1408 (cond (tpu-regexp-p
1170 (fset 'tpu-emacs-search 're-search-forward) 1409 (fset 'tpu-emacs-search 're-search-forward)
@@ -1217,7 +1456,7 @@ direction. If an argument is specified, don't set the search direction."
1217 "%sSearch failed: \"%s\"" 1456 "%sSearch failed: \"%s\""
1218 (if tpu-regexp-p "RE " "") tpu-search-last-string))))))))) 1457 (if tpu-regexp-p "RE " "") tpu-search-last-string)))))))))
1219 1458
1220(fset 'tpu-search-internal-core (symbol-function 'tpu-search-internal)) 1459(defalias 'tpu-search-internal-core (symbol-function 'tpu-search-internal))
1221 1460
1222(defun tpu-check-search-case (string) 1461(defun tpu-check-search-case (string)
1223 "Returns t if string contains upper case." 1462 "Returns t if string contains upper case."
@@ -2005,278 +2244,23 @@ Accepts a prefix argument for the number of tpu-pan-columns to scroll."
2005 2244
2006 2245
2007;;; 2246;;;
2008;;; Define keymaps
2009;;;
2010(define-key SS3-map "P" GOLD-map) ; GOLD map
2011(define-key GOLD-map "\e[" GOLD-CSI-map) ; GOLD-CSI map
2012(define-key GOLD-map "\eO" GOLD-SS3-map) ; GOLD-SS3 map
2013
2014
2015;;;
2016;;; CSI-map key definitions
2017;;;
2018(define-key CSI-map "A" 'tpu-previous-line) ; up
2019(define-key CSI-map "B" 'tpu-next-line) ; down
2020(define-key CSI-map "D" 'tpu-backward-char) ; left
2021(define-key CSI-map "C" 'tpu-forward-char) ; right
2022
2023(define-key CSI-map "1~" 'tpu-search) ; Find
2024(define-key CSI-map "2~" 'tpu-paste) ; Insert Here
2025(define-key CSI-map "3~" 'tpu-cut) ; Remove
2026(define-key CSI-map "4~" 'tpu-select) ; Select
2027(define-key CSI-map "5~" 'tpu-scroll-window-down) ; Prev Screen
2028(define-key CSI-map "6~" 'tpu-scroll-window-up) ; Next Screen
2029
2030(define-key CSI-map "11~" 'nil) ; F1
2031(define-key CSI-map "12~" 'nil) ; F2
2032(define-key CSI-map "13~" 'nil) ; F3
2033(define-key CSI-map "14~" 'nil) ; F4
2034(define-key CSI-map "15~" 'nil) ; F5
2035(define-key CSI-map "17~" 'nil) ; F6
2036(define-key CSI-map "18~" 'nil) ; F7
2037(define-key CSI-map "19~" 'nil) ; F8
2038(define-key CSI-map "20~" 'nil) ; F9
2039(define-key CSI-map "21~" 'tpu-exit) ; F10
2040(define-key CSI-map "23~" 'tpu-insert-escape) ; F11 (ESC)
2041(define-key CSI-map "24~" 'tpu-next-beginning-of-line) ; F12 (BS)
2042(define-key CSI-map "25~" 'tpu-delete-previous-word) ; F13 (LF)
2043(define-key CSI-map "26~" 'tpu-toggle-overwrite-mode) ; F14
2044(define-key CSI-map "28~" 'tpu-help) ; HELP
2045(define-key CSI-map "29~" 'execute-extended-command) ; DO
2046(define-key CSI-map "31~" 'tpu-goto-breadcrumb) ; F17
2047(define-key CSI-map "32~" 'nil) ; F18
2048(define-key CSI-map "33~" 'nil) ; F19
2049(define-key CSI-map "34~" 'nil) ; F20
2050
2051
2052;;;
2053;;; SS3-map key definitions
2054;;;
2055(define-key SS3-map "A" 'tpu-previous-line) ; up
2056(define-key SS3-map "B" 'tpu-next-line) ; down
2057(define-key SS3-map "C" 'tpu-forward-char) ; right
2058(define-key SS3-map "D" 'tpu-backward-char) ; left
2059
2060(define-key SS3-map "Q" 'tpu-help) ; PF2
2061(define-key SS3-map "R" 'tpu-search-again) ; PF3
2062(define-key SS3-map "S" 'tpu-delete-current-line) ; PF4
2063(define-key SS3-map "p" 'tpu-line) ; KP0
2064(define-key SS3-map "q" 'tpu-word) ; KP1
2065(define-key SS3-map "r" 'tpu-end-of-line) ; KP2
2066(define-key SS3-map "s" 'tpu-char) ; KP3
2067(define-key SS3-map "t" 'tpu-advance-direction) ; KP4
2068(define-key SS3-map "u" 'tpu-backup-direction) ; KP5
2069(define-key SS3-map "v" 'tpu-cut) ; KP6
2070(define-key SS3-map "w" 'tpu-page) ; KP7
2071(define-key SS3-map "x" 'tpu-scroll-window) ; KP8
2072(define-key SS3-map "y" 'tpu-append-region) ; KP9
2073(define-key SS3-map "m" 'tpu-delete-current-word) ; KP-
2074(define-key SS3-map "l" 'tpu-delete-current-char) ; KP,
2075(define-key SS3-map "n" 'tpu-select) ; KP.
2076(define-key SS3-map "M" 'newline) ; KPenter
2077
2078
2079;;;
2080;;; GOLD-map key definitions
2081;;;
2082(define-key GOLD-map "\C-A" 'tpu-toggle-overwrite-mode) ; ^A
2083(define-key GOLD-map "\C-B" 'nil) ; ^B
2084(define-key GOLD-map "\C-C" 'nil) ; ^C
2085(define-key GOLD-map "\C-D" 'nil) ; ^D
2086(define-key GOLD-map "\C-E" 'nil) ; ^E
2087(define-key GOLD-map "\C-F" 'set-visited-file-name) ; ^F
2088(define-key GOLD-map "\C-g" 'keyboard-quit) ; safety first
2089(define-key GOLD-map "\C-h" 'delete-other-windows) ; BS
2090(define-key GOLD-map "\C-i" 'other-window) ; TAB
2091(define-key GOLD-map "\C-J" 'nil) ; ^J
2092(define-key GOLD-map "\C-K" 'tpu-define-macro-key) ; ^K
2093(define-key GOLD-map "\C-l" 'downcase-region) ; ^L
2094(define-key GOLD-map "\C-M" 'nil) ; ^M
2095(define-key GOLD-map "\C-N" 'nil) ; ^N
2096(define-key GOLD-map "\C-O" 'nil) ; ^O
2097(define-key GOLD-map "\C-P" 'nil) ; ^P
2098(define-key GOLD-map "\C-Q" 'nil) ; ^Q
2099(define-key GOLD-map "\C-R" 'nil) ; ^R
2100(define-key GOLD-map "\C-S" 'nil) ; ^S
2101(define-key GOLD-map "\C-T" 'tpu-toggle-control-keys) ; ^T
2102(define-key GOLD-map "\C-u" 'upcase-region) ; ^U
2103(define-key GOLD-map "\C-V" 'nil) ; ^V
2104(define-key GOLD-map "\C-w" 'tpu-write-current-buffers) ; ^W
2105(define-key GOLD-map "\C-X" 'nil) ; ^X
2106(define-key GOLD-map "\C-Y" 'nil) ; ^Y
2107(define-key GOLD-map "\C-Z" 'nil) ; ^Z
2108(define-key GOLD-map " " 'undo) ; SPC
2109(define-key GOLD-map "!" 'nil) ; !
2110(define-key GOLD-map "#" 'nil) ; #
2111(define-key GOLD-map "$" 'tpu-add-at-eol) ; $
2112(define-key GOLD-map "%" 'tpu-goto-percent) ; %
2113(define-key GOLD-map "&" 'nil) ; &
2114(define-key GOLD-map "(" 'nil) ; (
2115(define-key GOLD-map ")" 'nil) ; )
2116(define-key GOLD-map "*" 'tpu-toggle-regexp) ; *
2117(define-key GOLD-map "+" 'nil) ; +
2118(define-key GOLD-map "," 'tpu-goto-breadcrumb) ; ,
2119(define-key GOLD-map "-" 'negative-argument) ; -
2120(define-key GOLD-map "." 'tpu-drop-breadcrumb) ; .
2121(define-key GOLD-map "/" 'tpu-emacs-replace) ; /
2122(define-key GOLD-map "0" 'digit-argument) ; 0
2123(define-key GOLD-map "1" 'digit-argument) ; 1
2124(define-key GOLD-map "2" 'digit-argument) ; 2
2125(define-key GOLD-map "3" 'digit-argument) ; 3
2126(define-key GOLD-map "4" 'digit-argument) ; 4
2127(define-key GOLD-map "5" 'digit-argument) ; 5
2128(define-key GOLD-map "6" 'digit-argument) ; 6
2129(define-key GOLD-map "7" 'digit-argument) ; 7
2130(define-key GOLD-map "8" 'digit-argument) ; 8
2131(define-key GOLD-map "9" 'digit-argument) ; 9
2132(define-key GOLD-map ":" 'nil) ; :
2133(define-key GOLD-map ";" 'tpu-trim-line-ends) ; ;
2134(define-key GOLD-map "<" 'nil) ; <
2135(define-key GOLD-map "=" 'nil) ; =
2136(define-key GOLD-map ">" 'nil) ; >
2137(define-key GOLD-map "?" 'tpu-spell-check) ; ?
2138(define-key GOLD-map "A" 'tpu-toggle-newline-and-indent) ; A
2139(define-key GOLD-map "B" 'tpu-next-buffer) ; B
2140(define-key GOLD-map "C" 'repeat-complex-command) ; C
2141(define-key GOLD-map "D" 'shell-command) ; D
2142(define-key GOLD-map "E" 'tpu-exit) ; E
2143(define-key GOLD-map "F" 'tpu-set-cursor-free) ; F
2144(define-key GOLD-map "G" 'tpu-get) ; G
2145(define-key GOLD-map "H" 'nil) ; H
2146(define-key GOLD-map "I" 'tpu-include) ; I
2147(define-key GOLD-map "K" 'tpu-kill-buffer) ; K
2148(define-key GOLD-map "L" 'tpu-what-line) ; L
2149(define-key GOLD-map "M" 'buffer-menu) ; M
2150(define-key GOLD-map "N" 'tpu-next-file-buffer) ; N
2151(define-key GOLD-map "O" 'occur) ; O
2152(define-key GOLD-map "P" 'lpr-buffer) ; P
2153(define-key GOLD-map "Q" 'tpu-quit) ; Q
2154(define-key GOLD-map "R" 'tpu-toggle-rectangle) ; R
2155(define-key GOLD-map "S" 'replace) ; S
2156(define-key GOLD-map "T" 'tpu-line-to-top-of-window) ; T
2157(define-key GOLD-map "U" 'undo) ; U
2158(define-key GOLD-map "V" 'tpu-version) ; V
2159(define-key GOLD-map "W" 'save-buffer) ; W
2160(define-key GOLD-map "X" 'tpu-save-all-buffers-kill-emacs) ; X
2161(define-key GOLD-map "Y" 'copy-region-as-kill) ; Y
2162(define-key GOLD-map "Z" 'suspend-emacs) ; Z
2163(define-key GOLD-map "[" 'blink-matching-open) ; [
2164(define-key GOLD-map "\\" 'nil) ; \
2165(define-key GOLD-map "]" 'blink-matching-open) ; ]
2166(define-key GOLD-map "^" 'tpu-add-at-bol) ; ^
2167(define-key GOLD-map "_" 'split-window-vertically) ; -
2168(define-key GOLD-map "`" 'what-line) ; `
2169(define-key GOLD-map "a" 'tpu-toggle-newline-and-indent) ; a
2170(define-key GOLD-map "b" 'tpu-next-buffer) ; b
2171(define-key GOLD-map "c" 'repeat-complex-command) ; c
2172(define-key GOLD-map "d" 'shell-command) ; d
2173(define-key GOLD-map "e" 'tpu-exit) ; e
2174(define-key GOLD-map "f" 'tpu-set-cursor-free) ; f
2175(define-key GOLD-map "g" 'tpu-get) ; g
2176(define-key GOLD-map "h" 'nil) ; h
2177(define-key GOLD-map "i" 'tpu-include) ; i
2178(define-key GOLD-map "k" 'tpu-kill-buffer) ; k
2179(define-key GOLD-map "l" 'goto-line) ; l
2180(define-key GOLD-map "m" 'buffer-menu) ; m
2181(define-key GOLD-map "n" 'tpu-next-file-buffer) ; n
2182(define-key GOLD-map "o" 'occur) ; o
2183(define-key GOLD-map "p" 'lpr-region) ; p
2184(define-key GOLD-map "q" 'tpu-quit) ; q
2185(define-key GOLD-map "r" 'tpu-toggle-rectangle) ; r
2186(define-key GOLD-map "s" 'replace) ; s
2187(define-key GOLD-map "t" 'tpu-line-to-top-of-window) ; t
2188(define-key GOLD-map "u" 'undo) ; u
2189(define-key GOLD-map "v" 'tpu-version) ; v
2190(define-key GOLD-map "w" 'save-buffer) ; w
2191(define-key GOLD-map "x" 'tpu-save-all-buffers-kill-emacs) ; x
2192(define-key GOLD-map "y" 'copy-region-as-kill) ; y
2193(define-key GOLD-map "z" 'suspend-emacs) ; z
2194(define-key GOLD-map "{" 'nil) ; {
2195(define-key GOLD-map "|" 'split-window-horizontally) ; |
2196(define-key GOLD-map "}" 'nil) ; }
2197(define-key GOLD-map "~" 'exchange-point-and-mark) ; ~
2198(define-key GOLD-map "\177" 'delete-window) ; <X]
2199
2200
2201;;;
2202;;; GOLD-CSI-map key definitions
2203;;;
2204(define-key GOLD-CSI-map "A" 'tpu-move-to-beginning) ; up-arrow
2205(define-key GOLD-CSI-map "B" 'tpu-move-to-end) ; down-arrow
2206(define-key GOLD-CSI-map "C" 'end-of-line) ; right-arrow
2207(define-key GOLD-CSI-map "D" 'beginning-of-line) ; left-arrow
2208
2209(define-key GOLD-CSI-map "1~" 'nil) ; Find
2210(define-key GOLD-CSI-map "2~" 'nil) ; Insert Here
2211(define-key GOLD-CSI-map "3~" 'tpu-store-text) ; Remove
2212(define-key GOLD-CSI-map "4~" 'tpu-unselect) ; Select
2213(define-key GOLD-CSI-map "5~" 'tpu-previous-window) ; Prev Screen
2214(define-key GOLD-CSI-map "6~" 'tpu-next-window) ; Next Screen
2215
2216(define-key GOLD-CSI-map "11~" 'nil) ; F1
2217(define-key GOLD-CSI-map "12~" 'nil) ; F2
2218(define-key GOLD-CSI-map "13~" 'nil) ; F3
2219(define-key GOLD-CSI-map "14~" 'nil) ; F4
2220(define-key GOLD-CSI-map "16~" 'nil) ; F5
2221(define-key GOLD-CSI-map "17~" 'nil) ; F6
2222(define-key GOLD-CSI-map "18~" 'nil) ; F7
2223(define-key GOLD-CSI-map "19~" 'nil) ; F8
2224(define-key GOLD-CSI-map "20~" 'nil) ; F9
2225(define-key GOLD-CSI-map "21~" 'nil) ; F10
2226(define-key GOLD-CSI-map "23~" 'nil) ; F11
2227(define-key GOLD-CSI-map "24~" 'nil) ; F12
2228(define-key GOLD-CSI-map "25~" 'nil) ; F13
2229(define-key GOLD-CSI-map "26~" 'nil) ; F14
2230(define-key GOLD-CSI-map "28~" 'describe-bindings) ; HELP
2231(define-key GOLD-CSI-map "29~" 'nil) ; DO
2232(define-key GOLD-CSI-map "31~" 'tpu-drop-breadcrumb) ; F17
2233(define-key GOLD-CSI-map "32~" 'nil) ; F18
2234(define-key GOLD-CSI-map "33~" 'nil) ; F19
2235(define-key GOLD-CSI-map "34~" 'nil) ; F20
2236
2237
2238;;;
2239;;; GOLD-SS3-map key definitions
2240;;;
2241(define-key GOLD-SS3-map "A" 'tpu-move-to-beginning) ; up-arrow
2242(define-key GOLD-SS3-map "B" 'tpu-move-to-end) ; down-arrow
2243(define-key GOLD-SS3-map "C" 'end-of-line) ; right-arrow
2244(define-key GOLD-SS3-map "D" 'beginning-of-line) ; left-arrow
2245
2246(define-key GOLD-SS3-map "P" 'keyboard-quit) ; PF1
2247(define-key GOLD-SS3-map "Q" 'help-for-help) ; PF2
2248(define-key GOLD-SS3-map "R" 'tpu-search) ; PF3
2249(define-key GOLD-SS3-map "S" 'tpu-undelete-lines) ; PF4
2250(define-key GOLD-SS3-map "p" 'open-line) ; KP0
2251(define-key GOLD-SS3-map "q" 'tpu-change-case) ; KP1
2252(define-key GOLD-SS3-map "r" 'tpu-delete-to-eol) ; KP2
2253(define-key GOLD-SS3-map "s" 'tpu-special-insert) ; KP3
2254(define-key GOLD-SS3-map "t" 'tpu-move-to-end) ; KP4
2255(define-key GOLD-SS3-map "u" 'tpu-move-to-beginning) ; KP5
2256(define-key GOLD-SS3-map "v" 'tpu-paste) ; KP6
2257(define-key GOLD-SS3-map "w" 'execute-extended-command) ; KP7
2258(define-key GOLD-SS3-map "x" 'tpu-fill) ; KP8
2259(define-key GOLD-SS3-map "y" 'tpu-replace) ; KP9
2260(define-key GOLD-SS3-map "m" 'tpu-undelete-words) ; KP-
2261(define-key GOLD-SS3-map "l" 'tpu-undelete-char) ; KP,
2262(define-key GOLD-SS3-map "n" 'tpu-unselect) ; KP.
2263(define-key GOLD-SS3-map "M" 'tpu-substitute) ; KPenter
2264
2265
2266;;;
2267;;; Minibuffer map additions to make KP_enter = RET 2247;;; Minibuffer map additions to make KP_enter = RET
2268;;; 2248;;;
2269(define-key minibuffer-local-map "\eOM" 'exit-minibuffer) 2249;; Standard Emacs settings under xterm in function-key-map map
2270(define-key minibuffer-local-ns-map "\eOM" 'exit-minibuffer) 2250;; "\eOM" to [kp-enter] and [kp-enter] to RET, but since the output of the map
2271(define-key minibuffer-local-completion-map "\eOM" 'exit-minibuffer) 2251;; is not fed back into the map, the key stays as kp-enter :-(.
2272(define-key minibuffer-local-must-match-map "\eOM" 'minibuffer-complete-and-exit) 2252(define-key minibuffer-local-map [kp-enter] 'exit-minibuffer)
2253;; These are not necessary because they are inherited.
2254;; (define-key minibuffer-local-ns-map [kp-enter] 'exit-minibuffer)
2255;; (define-key minibuffer-local-completion-map [kp-enter] 'exit-minibuffer)
2256(define-key minibuffer-local-must-match-map [kp-enter] 'minibuffer-complete-and-exit)
2273 2257
2274 2258
2275;;; 2259;;;
2276;;; Minibuffer map additions to set search direction 2260;;; Minibuffer map additions to set search direction
2277;;; 2261;;;
2278(define-key minibuffer-local-map "\eOt" 'tpu-search-forward-exit) 2262(define-key minibuffer-local-map "\eOt" 'tpu-search-forward-exit) ;KP4
2279(define-key minibuffer-local-map "\eOu" 'tpu-search-backward-exit) 2263(define-key minibuffer-local-map "\eOu" 'tpu-search-backward-exit) ;KP5
2280 2264
2281 2265
2282;;; 2266;;;
@@ -2306,9 +2290,7 @@ Accepts a prefix argument for the number of tpu-pan-columns to scroll."
2306 (doit (or tpu emacs))) 2290 (doit (or tpu emacs)))
2307 (cond (doit 2291 (cond (doit
2308 (if emacs (setq tpu-global-map (copy-keymap global-map))) 2292 (if emacs (setq tpu-global-map (copy-keymap global-map)))
2309 (let ((map (if tpu 2293 (let ((map (if tpu tpu-global-map tpu-original-global-map)))
2310 (copy-keymap tpu-global-map)
2311 (copy-keymap tpu-original-global-map))))
2312 2294
2313 (define-key global-map "\C-\\" (lookup-key map "\C-\\")) ; ^\ 2295 (define-key global-map "\C-\\" (lookup-key map "\C-\\")) ; ^\
2314 (define-key global-map "\C-a" (lookup-key map "\C-a")) ; ^A 2296 (define-key global-map "\C-a" (lookup-key map "\C-a")) ; ^A
@@ -2352,23 +2334,23 @@ Accepts a prefix argument for the number of tpu-pan-columns to scroll."
2352(defun tpu-arrow-history nil 2334(defun tpu-arrow-history nil
2353 "Modify minibuffer maps to use arrows for history recall." 2335 "Modify minibuffer maps to use arrows for history recall."
2354 (interactive) 2336 (interactive)
2355 (let ((loc (where-is-internal 'tpu-previous-line)) (cur nil)) 2337 (dolist (cur (where-is-internal 'tpu-previous-line))
2356 (while (setq cur (car loc)) 2338 (define-key read-expression-map cur 'tpu-previous-history-element)
2357 (define-key read-expression-map cur 'tpu-previous-history-element) 2339 (define-key minibuffer-local-map cur 'tpu-previous-history-element)
2358 (define-key minibuffer-local-map cur 'tpu-previous-history-element) 2340 ;; These are inherited anyway. --Stef
2359 (define-key minibuffer-local-ns-map cur 'tpu-previous-history-element) 2341 ;; (define-key minibuffer-local-ns-map cur 'tpu-previous-history-element)
2360 (define-key minibuffer-local-completion-map cur 'tpu-previous-history-element) 2342 ;; (define-key minibuffer-local-completion-map cur 'tpu-previous-history-element)
2361 (define-key minibuffer-local-must-match-map cur 'tpu-previous-history-element) 2343 ;; (define-key minibuffer-local-must-match-map cur 'tpu-previous-history-element)
2362 (setq loc (cdr loc))) 2344 )
2363 2345
2364 (setq loc (where-is-internal 'tpu-next-line)) 2346 (dolist (cur (where-is-internal 'tpu-next-line))
2365 (while (setq cur (car loc)) 2347 (define-key read-expression-map cur 'tpu-next-history-element)
2366 (define-key read-expression-map cur 'tpu-next-history-element) 2348 (define-key minibuffer-local-map cur 'tpu-next-history-element)
2367 (define-key minibuffer-local-map cur 'tpu-next-history-element) 2349 ;; These are inherited anyway. --Stef
2368 (define-key minibuffer-local-ns-map cur 'tpu-next-history-element) 2350 ;; (define-key minibuffer-local-ns-map cur 'tpu-next-history-element)
2369 (define-key minibuffer-local-completion-map cur 'tpu-next-history-element) 2351 ;; (define-key minibuffer-local-completion-map cur 'tpu-next-history-element)
2370 (define-key minibuffer-local-must-match-map cur 'tpu-next-history-element) 2352 ;; (define-key minibuffer-local-must-match-map cur 'tpu-next-history-element)
2371 (setq loc (cdr loc))))) 2353 ))
2372 2354
2373 2355
2374;;; 2356;;;
@@ -2461,46 +2443,39 @@ If FILE is nil, try to load a default file. The default file names are
2461;;; Start and Stop TPU-edt 2443;;; Start and Stop TPU-edt
2462;;; 2444;;;
2463;;;###autoload 2445;;;###autoload
2464(defun tpu-edt-on nil 2446(defun tpu-edt-on ()
2465 "Turn on TPU/edt emulation." 2447 "Turn on TPU/edt emulation."
2466 (interactive) 2448 (interactive)
2467 (cond 2449 (and window-system (tpu-load-xkeys nil))
2468 ((not tpu-edt-mode) 2450 (tpu-arrow-history)
2469 ;; we use picture-mode functions 2451 (transient-mark-mode t)
2470 (require 'picture) 2452 (add-hook 'post-command-hook 'tpu-search-highlight)
2471 (tpu-set-control-keys) 2453 (tpu-set-mode-line t)
2472 (and window-system (tpu-load-xkeys nil)) 2454 (tpu-advance-direction)
2473 (tpu-arrow-history) 2455 ;; set page delimiter, display line truncation, and scrolling like TPU
2474 (transient-mark-mode t) 2456 (setq-default page-delimiter "\f")
2475 (add-hook 'post-command-hook 'tpu-search-highlight) 2457 (setq-default truncate-lines t)
2476 (tpu-set-mode-line t) 2458 (setq scroll-step 1)
2477 (tpu-advance-direction) 2459 (setq global-map (copy-keymap global-map))
2478 ;; set page delimiter, display line truncation, and scrolling like TPU 2460 (tpu-set-control-keys)
2479 (setq-default page-delimiter "\f") 2461 (define-key global-map "\e[" CSI-map)
2480 (setq-default truncate-lines t) 2462 (define-key global-map "\eO" SS3-map)
2481 (setq scroll-step 1) 2463 (setq tpu-edt-mode t))
2482 (setq tpu-original-global-map global-map) 2464
2483 (setq global-map (copy-keymap global-map)) 2465(defun tpu-edt-off ()
2484 (define-key global-map "\e[" CSI-map)
2485 (define-key global-map "\eO" SS3-map)
2486 (setq tpu-edt-mode t))))
2487
2488(defun tpu-edt-off nil
2489 "Turn off TPU/edt emulation. Note that the keypad is left on." 2466 "Turn off TPU/edt emulation. Note that the keypad is left on."
2490 (interactive) 2467 (interactive)
2491 (cond 2468 (tpu-reset-control-keys nil)
2492 (tpu-edt-mode 2469 (remove-hook 'post-command-hook 'tpu-search-highlight)
2493 (tpu-reset-control-keys nil) 2470 (tpu-set-mode-line nil)
2494 (remove-hook 'post-command-hook 'tpu-search-highlight) 2471 (setq-default page-delimiter "^\f")
2495 (tpu-set-mode-line nil) 2472 (setq-default truncate-lines nil)
2496 (setq-default page-delimiter "^\f") 2473 (setq scroll-step 0)
2497 (setq-default truncate-lines nil) 2474 (setq global-map tpu-original-global-map)
2498 (setq scroll-step 0) 2475 (use-global-map global-map)
2499 (setq global-map tpu-original-global-map) 2476 (setq tpu-edt-mode nil))
2500 (use-global-map global-map)
2501 (setq tpu-edt-mode nil))))
2502 2477
2503(provide 'tpu-edt) 2478(provide 'tpu-edt)
2504 2479
2505;;; arch-tag: f3dfe61c-2cbd-4f73-b9cc-eb215020b857 2480;; arch-tag: f3dfe61c-2cbd-4f73-b9cc-eb215020b857
2506;;; tpu-edt.el ends here 2481;;; tpu-edt.el ends here
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 5ffcbb0810b..053ce91dad9 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
12005-07-04 Lute Kamstra <lute@gnu.org>
2
3 Update FSF's address in GPL notices.
4
12005-07-04 Juanma Barranquero <lekktu@gmail.com> 52005-07-04 Juanma Barranquero <lekktu@gmail.com>
2 6
3 * gnus.el (gnus-exit): 7 * gnus.el (gnus-exit):
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index c649ed8d465..d7aec9112bc 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -557,14 +557,10 @@ Optional argument END is maximum excursion."
557 (beginning-of-line) 557 (beginning-of-line)
558 (while (and (re-search-forward target-regexp (+ (point) 100) t) 558 (while (and (re-search-forward target-regexp (+ (point) 100) t)
559 (not (looking-at "\\s-*end"))) 559 (not (looking-at "\\s-*end")))
560 (let ((patterns 560 (condition-case nil
561 (condition-case nil 561 (setq all-patterns (append (read (current-buffer)) all-patterns))
562 (read (current-buffer)) 562 (error (message "Invalid pattern list expression at %d"
563 (error (message 563 (hi-lock-current-line)))))))
564 (format "Could not read expression at %d"
565 (hi-lock-current-line))) nil))))
566 (if patterns
567 (setq all-patterns (append patterns all-patterns)))))))
568 (when hi-lock-mode (hi-lock-set-file-patterns all-patterns)) 564 (when hi-lock-mode (hi-lock-set-file-patterns all-patterns))
569 (if (interactive-p) 565 (if (interactive-p)
570 (message (format "Hi-lock added %d patterns." (length all-patterns))))))) 566 (message (format "Hi-lock added %d patterns." (length all-patterns)))))))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index a24d45e9c30..e9c22a47d8e 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -321,9 +321,11 @@ This sets the following coding systems:
321 o coding system of a newly created buffer 321 o coding system of a newly created buffer
322 o default coding system for subprocess I/O 322 o default coding system for subprocess I/O
323This also sets the following values: 323This also sets the following values:
324 o default value used as `file-name-coding-system' for converting file names. 324 o default value used as `file-name-coding-system' for converting file names
325 if CODING-SYSTEM is ASCII-compatible.
325 o default value for the command `set-terminal-coding-system' (not on MSDOS) 326 o default value for the command `set-terminal-coding-system' (not on MSDOS)
326 o default value for the command `set-keyboard-coding-system'." 327 o default value for the command `set-keyboard-coding-system'
328 if CODING-SYSTEM is ASCII-compatible.."
327 (check-coding-system coding-system) 329 (check-coding-system coding-system)
328 (setq-default buffer-file-coding-system coding-system) 330 (setq-default buffer-file-coding-system coding-system)
329 (if (fboundp 'ucs-set-table-for-input) 331 (if (fboundp 'ucs-set-table-for-input)
@@ -331,14 +333,18 @@ This also sets the following values:
331 (or (local-variable-p 'buffer-file-coding-system buffer) 333 (or (local-variable-p 'buffer-file-coding-system buffer)
332 (ucs-set-table-for-input buffer)))) 334 (ucs-set-table-for-input buffer))))
333 335
334 (if (and default-enable-multibyte-characters (not (eq system-type 'darwin))) 336 (if (and default-enable-multibyte-characters (not (eq system-type 'darwin))
337 (or (not coding-system)
338 (not (coding-system-get coding-system 'ascii-incompatible))))
335 ;; The file-name coding system on Darwin systems is always utf-8. 339 ;; The file-name coding system on Darwin systems is always utf-8.
336 (setq default-file-name-coding-system coding-system)) 340 (setq default-file-name-coding-system coding-system))
337 ;; If coding-system is nil, honor that on MS-DOS as well, so 341 ;; If coding-system is nil, honor that on MS-DOS as well, so
338 ;; that they could reset the terminal coding system. 342 ;; that they could reset the terminal coding system.
339 (unless (and (eq window-system 'pc) coding-system) 343 (unless (and (eq window-system 'pc) coding-system)
340 (setq default-terminal-coding-system coding-system)) 344 (setq default-terminal-coding-system coding-system))
341 (setq default-keyboard-coding-system coding-system) 345 (if (or (not coding-system)
346 (not (coding-system-get coding-system 'ascii-incompatible)))
347 (setq default-keyboard-coding-system coding-system))
342 ;; Preserve eol-type from existing default-process-coding-systems. 348 ;; Preserve eol-type from existing default-process-coding-systems.
343 ;; On non-unix-like systems in particular, these may have been set 349 ;; On non-unix-like systems in particular, these may have been set
344 ;; carefully by the user, or by the startup code, to deal with the 350 ;; carefully by the user, or by the startup code, to deal with the
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 198ebaa4ef7..0c7c6f84480 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -839,6 +839,12 @@ following properties are recognized:
839 If the value is non-nil, the coding system preserves composition 839 If the value is non-nil, the coding system preserves composition
840 information. 840 information.
841 841
842 o ascii-incompatible
843
844 If the value is non-nil, the coding system is not compatible
845 with ASCII, which means it encodes or decodes ASCII character
846 string to the different byte sequence.
847
842These properties are set in PLIST, a property list. This function 848These properties are set in PLIST, a property list. This function
843also sets properties `coding-category' and `alias-coding-systems' 849also sets properties `coding-category' and `alias-coding-systems'
844automatically. 850automatically.
@@ -1191,6 +1197,9 @@ It actually just set the variable `file-name-coding-system' (which
1191see) to CODING-SYSTEM." 1197see) to CODING-SYSTEM."
1192 (interactive "zCoding system for file names (default, nil): ") 1198 (interactive "zCoding system for file names (default, nil): ")
1193 (check-coding-system coding-system) 1199 (check-coding-system coding-system)
1200 (if (and coding-system
1201 (coding-system-get coding-system 'ascii-incompatible))
1202 (error "%s is not ASCII-compatible" coding-system))
1194 (setq file-name-coding-system coding-system)) 1203 (setq file-name-coding-system coding-system))
1195 1204
1196(defvar default-terminal-coding-system nil 1205(defvar default-terminal-coding-system nil
@@ -1254,6 +1263,9 @@ The setting has no effect on graphical displays."
1254 (setq coding-system default-keyboard-coding-system)) 1263 (setq coding-system default-keyboard-coding-system))
1255 (if coding-system 1264 (if coding-system
1256 (setq default-keyboard-coding-system coding-system)) 1265 (setq default-keyboard-coding-system coding-system))
1266 (if (and coding-system
1267 (coding-system-get coding-system 'ascii-incompatible))
1268 (error "%s is not ASCII-compatible" coding-system))
1257 (set-keyboard-coding-system-internal coding-system display) 1269 (set-keyboard-coding-system-internal coding-system display)
1258 (setq keyboard-coding-system coding-system) 1270 (setq keyboard-coding-system coding-system)
1259 (encoded-kbd-setup-display display)) 1271 (encoded-kbd-setup-display display))
diff --git a/lisp/international/utf-16.el b/lisp/international/utf-16.el
index 65730e553b9..bbe2ab37bd8 100644
--- a/lisp/international/utf-16.el
+++ b/lisp/international/utf-16.el
@@ -504,6 +504,7 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER).")
504 '(ccl-decode-mule-utf-16le . ccl-encode-mule-utf-16le) 504 '(ccl-decode-mule-utf-16le . ccl-encode-mule-utf-16le)
505 `(,@props 505 `(,@props
506 (post-read-conversion . utf-8-post-read-conversion) 506 (post-read-conversion . utf-8-post-read-conversion)
507 (ascii-incompatible . t)
507 (mime-charset . utf-16le))) 508 (mime-charset . utf-16le)))
508 509
509 (make-coding-system 510 (make-coding-system
@@ -515,6 +516,7 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER).")
515 '(ccl-decode-mule-utf-16be . ccl-encode-mule-utf-16be) 516 '(ccl-decode-mule-utf-16be . ccl-encode-mule-utf-16be)
516 `(,@props 517 `(,@props
517 (post-read-conversion . utf-8-post-read-conversion) 518 (post-read-conversion . utf-8-post-read-conversion)
519 (ascii-incompatible . t)
518 (mime-charset . utf-16be))) 520 (mime-charset . utf-16be)))
519 521
520 (make-coding-system 522 (make-coding-system
@@ -528,6 +530,7 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER).")
528 `(,@props 530 `(,@props
529 (post-read-conversion . utf-8-post-read-conversion) 531 (post-read-conversion . utf-8-post-read-conversion)
530 (coding-category . coding-category-utf-16-le) 532 (coding-category . coding-category-utf-16-le)
533 (ascii-incompatible . t)
531 (mime-charset . utf-16))) 534 (mime-charset . utf-16)))
532 535
533 (make-coding-system 536 (make-coding-system
@@ -541,6 +544,7 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER).")
541 `(,@props 544 `(,@props
542 (post-read-conversion . utf-8-post-read-conversion) 545 (post-read-conversion . utf-8-post-read-conversion)
543 (coding-category . coding-category-utf-16-be) 546 (coding-category . coding-category-utf-16-be)
547 (ascii-incompatible . t)
544 (mime-charset . utf-16))) 548 (mime-charset . utf-16)))
545 549
546 (make-coding-system 550 (make-coding-system
@@ -553,6 +557,7 @@ sequence representing U+FFFD (REPLACEMENT CHARACTER).")
553 `(,@props 557 `(,@props
554 (post-read-conversion . mule-utf-16-post-read-conversion) 558 (post-read-conversion . mule-utf-16-post-read-conversion)
555 (coding-category . coding-category-utf-16-be) 559 (coding-category . coding-category-utf-16-be)
560 (ascii-incompatible . t)
556 (mime-charset . utf-16))) 561 (mime-charset . utf-16)))
557) 562)
558 563
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 91d9e057263..db3de56d8b4 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,7 @@
12005-07-04 Lute Kamstra <lute@gnu.org>
2
3 Update FSF's address in GPL notices.
4
12005-06-17 Lute Kamstra <lute@gnu.org> 52005-06-17 Lute Kamstra <lute@gnu.org>
2 6
3 * mh-customize.el (mh-folder-body-face, mh-folder-cur-msg-face) 7 * mh-customize.el (mh-folder-body-face, mh-folder-cur-msg-face)
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 0fb5411e798..4c5f3ad12b9 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -64,15 +64,15 @@
64(defalias 'flymake-float-time 64(defalias 'flymake-float-time
65 (if (fboundp 'float-time) 65 (if (fboundp 'float-time)
66 'float-time 66 'float-time
67 (with-no-warnings 67 (if (featurep 'xemacs)
68 (lambda () 68 (lambda ()
69 (multiple-value-bind (s0 s1 s2) (current-time) 69 (multiple-value-bind (s0 s1 s2) (current-time)
70 (+ (* (float (ash 1 16)) s0) (float s1) (* 0.0000001 s2))))))) 70 (+ (* (float (ash 1 16)) s0) (float s1) (* 0.0000001 s2)))))))
71 71
72(defsubst flymake-replace-regexp-in-string (regexp rep str) 72(defsubst flymake-replace-regexp-in-string (regexp rep str)
73 (if (fboundp 'replace-regexp-in-string) 73 (if (fboundp 'replace-in-string)
74 (replace-regexp-in-string regexp rep str) 74 (replace-in-string str regexp rep)
75 (replace-in-string str regexp rep))) 75 (replace-regexp-in-string regexp rep str)))
76 76
77(defun flymake-split-string (str pattern) 77(defun flymake-split-string (str pattern)
78 "Split STR into a list of substrings bounded by PATTERN. 78 "Split STR into a list of substrings bounded by PATTERN.
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 9b8e51dda5f..50644383667 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -43,6 +43,7 @@
43 43
44(require 'comint) 44(require 'comint)
45(require 'etags) 45(require 'etags)
46(require 'font-lock)
46 47
47;; ====================================================================== 48;; ======================================================================
48;; GUD commands must be visible in C buffers visited by GUD 49;; GUD commands must be visible in C buffers visited by GUD
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 94dad8874e9..35524b4a363 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -960,7 +960,9 @@ Return as (TOP . BOTTOM) the extent of ifdef block."
960 "Set `hide-ifdef-env' to the define list specified by NAME." 960 "Set `hide-ifdef-env' to the define list specified by NAME."
961 (interactive 961 (interactive
962 (list (completing-read "Use define list: " 962 (list (completing-read "Use define list: "
963 hide-ifdef-define-alist nil t))) 963 (mapcar (lambda (x) (symbol-name (car x)))
964 hide-ifdef-define-alist)
965 nil t)))
964 (if (stringp name) (setq name (intern name))) 966 (if (stringp name) (setq name (intern name)))
965 (let ((define-list (assoc name hide-ifdef-define-alist))) 967 (let ((define-list (assoc name hide-ifdef-define-alist)))
966 (if define-list 968 (if define-list
@@ -972,5 +974,5 @@ Return as (TOP . BOTTOM) the extent of ifdef block."
972 974
973(provide 'hideif) 975(provide 'hideif)
974 976
975;;; arch-tag: c6381d17-a59a-483a-b945-658f22277981 977;; arch-tag: c6381d17-a59a-483a-b945-658f22277981
976;;; hideif.el ends here 978;;; hideif.el ends here
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 7e1f8c1fe24..0313379814f 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,7 @@
12005-07-04 Lute Kamstra <lute@gnu.org>
2
3 Update FSF's address in GPL notices.
4
12005-07-04 Juanma Barranquero <lekktu@gmail.com> 52005-07-04 Juanma Barranquero <lekktu@gmail.com>
2 6
3 * url-history.el (url-history-track): Doc fix. 7 * url-history.el (url-history-track): Doc fix.
diff --git a/lisp/w32-vars.el b/lisp/w32-vars.el
index 5c6741a3f3e..8e998b9968d 100644
--- a/lisp/w32-vars.el
+++ b/lisp/w32-vars.el
@@ -143,7 +143,7 @@ menu if the variable `w32-use-w32-font-dialog' is nil."
143 (string :tag "Title") 143 (string :tag "Title")
144 (repeat :inline t 144 (repeat :inline t
145 (choice :tag "" 145 (choice :tag ""
146 (const :tag "Seperator" ("")) 146 (const :tag "Separator" (""))
147 (list :tag "Font Entry" 147 (list :tag "Font Entry"
148 (string :tag "Menu text") 148 (string :tag "Menu text")
149 (string :tag "Font"))))))) 149 (string :tag "Font")))))))